decocms 4.542.0 → 4.542.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (402) hide show
  1. package/dist/client/assets/{ActiveShapeUtils-ppN64tl0.js → ActiveShapeUtils-CTNIR1uo.js} +1 -1
  2. package/dist/client/assets/{AlertCircle-RV4AM_8y.js → AlertCircle-Hdww5hle.js} +1 -1
  3. package/dist/client/assets/{AreaChart-B5eHYCMZ.js → AreaChart-C_-vf7HG.js} +1 -1
  4. package/dist/client/assets/{ArrowLeft-XO66B9Td.js → ArrowLeft-BdhX_ELF.js} +1 -1
  5. package/dist/client/assets/{ArrowUp-DpQ-09y4.js → ArrowUp-B0V8Iire.js} +1 -1
  6. package/dist/client/assets/{BarChart-rvb3yNLn.js → BarChart-CGQa-jmR.js} +1 -1
  7. package/dist/client/assets/{Building02-NRzC_IEp.js → Building02-CIOqUK8u.js} +1 -1
  8. package/dist/client/assets/{CartesianChart-BVsrzbFJ.js → CartesianChart-CJ4c9OjY.js} +1 -1
  9. package/dist/client/assets/{CategoricalChart-64zykerQ.js → CategoricalChart-B7pVoKsa.js} +1 -1
  10. package/dist/client/assets/{CheckCircle-CfYD_Bi6.js → CheckCircle-Oy-r5wrn.js} +1 -1
  11. package/dist/client/assets/{ChevronSelectorVertical-C5MARPJN.js → ChevronSelectorVertical-4o-RZGZG.js} +1 -1
  12. package/dist/client/assets/{ChevronUp-xR4eZngE.js → ChevronUp-yEhXqYsc.js} +1 -1
  13. package/dist/client/assets/{Copy01-Dy1KrWO0.js → Copy01-DZu9JdFR.js} +1 -1
  14. package/dist/client/assets/{CreditCard01-DVN26JVZ.js → CreditCard01-e2iuA4b6.js} +1 -1
  15. package/dist/client/assets/{DotsVertical-CncVW4wJ.js → DotsVertical-2jz8M_Ab.js} +1 -1
  16. package/dist/client/assets/{ErrorBarContext-C5dp8Quc.js → ErrorBarContext-pdbVvNIr.js} +1 -1
  17. package/dist/client/assets/{Globe04-BxFc3HLH.js → Globe04-Dv-Q1UFe.js} +1 -1
  18. package/dist/client/assets/{Image01-CaawlkVR.js → Image01-Csw8Eb7F.js} +1 -1
  19. package/dist/client/assets/{Key01-FaGRi3tG.js → Key01-nj-094nh.js} +1 -1
  20. package/dist/client/assets/{Link01-B_YWUHoH.js → Link01-DIQIHWyZ.js} +1 -1
  21. package/dist/client/assets/{LinkBroken01-z_Mm0CSf.js → LinkBroken01-DiqXlFxy.js} +1 -1
  22. package/dist/client/assets/{Minus-yAYwM_Ty.js → Minus-DGpW2R_Y.js} +1 -1
  23. package/dist/client/assets/{Monitor01-Bl7f7T5L.js → Monitor01-6lmVgqwN.js} +1 -1
  24. package/dist/client/assets/{Play-OByKGnTy.js → Play-Bw1hrhzw.js} +1 -1
  25. package/dist/client/assets/{Plus-Ccck99Do.js → Plus-BQ-ZwSoF.js} +1 -1
  26. package/dist/client/assets/{ReferenceLine-BxNBuCjR.js → ReferenceLine-D96IaFnI.js} +1 -1
  27. package/dist/client/assets/{SearchMd-BAGHgvYw.js → SearchMd-CcFldd9q.js} +1 -1
  28. package/dist/client/assets/{Sector-BCmuavOw.js → Sector-Lv3mbSoh.js} +1 -1
  29. package/dist/client/assets/{ShoppingBag01-BhoOjVkp.js → ShoppingBag01-Dt2W1jQn.js} +1 -1
  30. package/dist/client/assets/{Sun-CZRF_565.js → Sun-BCEy54hJ.js} +1 -1
  31. package/dist/client/assets/{SwitchHorizontal01-Ce37vA9c.js → SwitchHorizontal01-ZVZ1PW_K.js} +1 -1
  32. package/dist/client/assets/{Tool01-CHLDtlIL.js → Tool01-DamUcObd.js} +1 -1
  33. package/dist/client/assets/{Trash01-BQBP0tUM.js → Trash01-CA_m_Fs0.js} +1 -1
  34. package/dist/client/assets/{Upload01-D_q00M49.js → Upload01-COlXo8Rs.js} +1 -1
  35. package/dist/client/assets/{UserSquare-BSsT3MHy.js → UserSquare-TWw3zsr7.js} +1 -1
  36. package/dist/client/assets/{Users01-C6bE7RDt.js → Users01-CqKKJKeH.js} +1 -1
  37. package/dist/client/assets/{XClose-BjZnEBvF.js → XClose-BLrzcEcC.js} +1 -1
  38. package/dist/client/assets/{Zap-CHuT8W6R.js → Zap-CbyRjfWs.js} +1 -1
  39. package/dist/client/assets/{ZoomOut-CBOWQYet.js → ZoomOut-C8TxwIPG.js} +1 -1
  40. package/dist/client/assets/{access-gate-BU0Til0A.js → access-gate-RZ9GSyUJ.js} +1 -1
  41. package/dist/client/assets/{add-connection-dialog-BB5lDWHR.js → add-connection-dialog-BVaDiahz.js} +1 -1
  42. package/dist/client/assets/{agent-analytics-DvRSJxx0.js → agent-analytics-Cdw0YBIV.js} +1 -1
  43. package/dist/client/assets/agent-app-CgNxZEzb.js +1 -0
  44. package/dist/client/assets/{agent-assets-DtVY4a5g.js → agent-assets-C6qXUWEv.js} +1 -1
  45. package/dist/client/assets/{agent-automation-DcUA7Zto.js → agent-automation-N0vyewKq.js} +1 -1
  46. package/dist/client/assets/{agent-automations-C9tGxGRj.js → agent-automations-U4KLp_Jm.js} +1 -1
  47. package/dist/client/assets/{agent-calendar-D4_LWZH3.js → agent-calendar-VlbI2j-J.js} +1 -1
  48. package/dist/client/assets/{agent-connect-sources-BJ3ZDaf3.js → agent-connect-sources-DzR95Lay.js} +1 -1
  49. package/dist/client/assets/agent-deck-SnZhc8k8.js +1 -0
  50. package/dist/client/assets/{agent-e2e-Cn5SS6MS.js → agent-e2e-7b8bEJgs.js} +1 -1
  51. package/dist/client/assets/agent-experiments-DqhQbvgt.js +1 -0
  52. package/dist/client/assets/{agent-file-W_Lb3P1H.js → agent-file-qAGeJ5wq.js} +1 -1
  53. package/dist/client/assets/{agent-hosting-CP_GZV0j.js → agent-hosting-ZktfT8aB.js} +1 -1
  54. package/dist/client/assets/{agent-icon-nQ1AH9dU.js → agent-icon-rBB7-3Iv.js} +1 -1
  55. package/dist/client/assets/agent-library-5yOHhp5F.js +1 -0
  56. package/dist/client/assets/agent-library-file-Cj3Cwkh2.js +1 -0
  57. package/dist/client/assets/agent-monitor-Bywg_SMe.js +1 -0
  58. package/dist/client/assets/{agent-overview-BlaBQIjD.js → agent-overview-C1fHYueD.js} +1 -1
  59. package/dist/client/assets/{agent-releases-CAYqdnuz.js → agent-releases-BUlnts0m.js} +1 -1
  60. package/dist/client/assets/agent-settings-CQR-A0mU.js +1 -0
  61. package/dist/client/assets/{agent-site-editor-dBOL06nH.js → agent-site-editor-BxGyQ1GG.js} +1 -1
  62. package/dist/client/assets/agent-site-editor-code-lC9bSMmG.js +2 -0
  63. package/dist/client/assets/agent-site-editor-content-Bshm0mLR.js +1 -0
  64. package/dist/client/assets/agent-site-editor-preview-DnlcRwFX.js +1 -0
  65. package/dist/client/assets/agent-view-DbVFezEQ.js +1 -0
  66. package/dist/client/assets/{agent-view-guard-B4NqxjMv.js → agent-view-guard-CrSlBYGa.js} +1 -1
  67. package/dist/client/assets/{agents-list-DYMJQcr6.js → agents-list-DQMpcCgV.js} +1 -1
  68. package/dist/client/assets/{ai-providers-Ci2k4cWf.js → ai-providers-DmJhCIXK.js} +1 -1
  69. package/dist/client/assets/{alert-Bsjmz-OK.js → alert-Bg73iQHm.js} +1 -1
  70. package/dist/client/assets/{analytics-sections-Nw_65a4t.js → analytics-sections-COL0BtKA.js} +1 -1
  71. package/dist/client/assets/api-keys-l4aX0wsP.js +1 -0
  72. package/dist/client/assets/{api-keys-D4BF_tKg.js → api-keys-yf9_DOP2.js} +1 -1
  73. package/dist/client/assets/{app-editor-hRLD7Ehq.js → app-editor-BoAUsCRl.js} +1 -1
  74. package/dist/client/assets/{asset-utils-BSDCnt-j.js → asset-utils-BrDvPrYv.js} +1 -1
  75. package/dist/client/assets/{auth-CK6AyRu5.js → auth-DPUc_dnx.js} +1 -1
  76. package/dist/client/assets/{auth-catchall-CJTrtQsq.js → auth-catchall-3vQklB_P.js} +1 -1
  77. package/dist/client/assets/{auth-entry-CPeTN7o5.js → auth-entry-DzHbwDpa.js} +1 -1
  78. package/dist/client/assets/{auth-split-layout-BGf8-EnP.js → auth-split-layout-CrNUjCQ4.js} +1 -1
  79. package/dist/client/assets/{authenticate-and-persist-oauth-Bb8BBbsA.js → authenticate-and-persist-oauth-RWTag1bK.js} +1 -1
  80. package/dist/client/assets/{automation-list-row-B9IR9kWn.js → automation-list-row-DJWeWPbv.js} +1 -1
  81. package/dist/client/assets/{automation-runs-DnR9pxm5.js → automation-runs-C9XEPlIV.js} +1 -1
  82. package/dist/client/assets/{automations-Bxg30h3H.js → automations-Dhk5JOxd.js} +1 -1
  83. package/dist/client/assets/{autosend-DTWIjCgK.js → autosend-Bw00xJf9.js} +1 -1
  84. package/dist/client/assets/{badge-BV7rxTvN.js → badge-BWAFo8iB.js} +1 -1
  85. package/dist/client/assets/{block-document-CQARMaA2.js → block-document-D_ARyc6Z.js} +1 -1
  86. package/dist/client/assets/{blocks-preview-workspace-context-C2nnj0H9.js → blocks-preview-workspace-context-Bhzld3G9.js} +1 -1
  87. package/dist/client/assets/{blocks-tab-states-DhR3pyff.js → blocks-tab-states-Bujj2Oag.js} +1 -1
  88. package/dist/client/assets/{blog-schema-YJUL-tEX.js → blog-schema-B3FO_Ydd.js} +1 -1
  89. package/dist/client/assets/{buckets-C4JU-8qW.js → buckets-D-TerXqE.js} +1 -1
  90. package/dist/client/assets/{build-improve-prompt-doc-Bv3kayMV.js → build-improve-prompt-doc-D_iuDFLq.js} +1 -1
  91. package/dist/client/assets/{calendar-ym6zGcEl.js → calendar-BRFOK1aQ.js} +1 -1
  92. package/dist/client/assets/{capability-load-error-7V5aWr5c.js → capability-load-error-BNI4R8XO.js} +1 -1
  93. package/dist/client/assets/{category-editor-CdId4wR5.js → category-editor-bZgzbes6.js} +1 -1
  94. package/dist/client/assets/{cdn-tab-2DyF7VRR.js → cdn-tab-BqJVJvQQ.js} +1 -1
  95. package/dist/client/assets/{chart-eh3rIFzp.js → chart-Q09A7KSZ.js} +1 -1
  96. package/dist/client/assets/{chat-context-kqrW-XPR.js → chat-context-DR3uLV2w.js} +1 -1
  97. package/dist/client/assets/{chat-draft-CRTo5XoS.js → chat-draft-CKNXk7gm.js} +1 -1
  98. package/dist/client/assets/{checkbox-aDQexY19.js → checkbox-b8t24adl.js} +1 -1
  99. package/dist/client/assets/{choose-editor-D9t0sU_N.js → choose-editor-TtuwIl9O.js} +1 -1
  100. package/dist/client/assets/{cli-auth-success-BSvz1123.js → cli-auth-success-Dt-ivrkY.js} +1 -1
  101. package/dist/client/assets/{client-icons-DGnfsAP4.js → client-icons-3S2BKupf.js} +1 -1
  102. package/dist/client/assets/{cms-settings-editor-BCSWQ-Po.js → cms-settings-editor-CoL1CtIi.js} +1 -1
  103. package/dist/client/assets/{collapsible-Cx6KFD5C.js → collapsible-BHetx99z.js} +1 -1
  104. package/dist/client/assets/{collection-detail-ZxhaHEpw.js → collection-detail-C551YHre.js} +1 -1
  105. package/dist/client/assets/{collection-display-button-Bswg3uCR.js → collection-display-button-BjEhoX6t.js} +1 -1
  106. package/dist/client/assets/{collection-search-B3vfcK1n.js → collection-search-2lwiZ_Gf.js} +1 -1
  107. package/dist/client/assets/{collection-table-wrapper-Cs4FMkXQ.js → collection-table-wrapper-TIbTouTp.js} +1 -1
  108. package/dist/client/assets/{collection-tabs-BdhCjBRd.js → collection-tabs-DNvFQjqm.js} +1 -1
  109. package/dist/client/assets/{combobox-DXDZmm8e.js → combobox-CMpxb7Mm.js} +1 -1
  110. package/dist/client/assets/{command-De9pJLwH.js → command-CermhoTd.js} +1 -1
  111. package/dist/client/assets/{companion-mcps-section-B-ueLE1c.js → companion-mcps-section-CM4OIzwX.js} +1 -1
  112. package/dist/client/assets/{companions-core-DzyeM-yJ.js → companions-core-PpXpxfgQ.js} +1 -1
  113. package/dist/client/assets/{config-Bakd4Y8w.js → config-VQsUFgqz.js} +1 -1
  114. package/dist/client/assets/{connect-BMYdSTT8.js → connect-BfWqzz_9.js} +1 -1
  115. package/dist/client/assets/{connect-layout-BpMetD5F.js → connect-layout-F601-RNu.js} +1 -1
  116. package/dist/client/assets/{connect-source-dialog-BkUskMwn.js → connect-source-dialog-CBx-6nzq.js} +1 -1
  117. package/dist/client/assets/{connection-C-NllGni.js → connection-DrOf5a8e.js} +1 -1
  118. package/dist/client/assets/{connection-card-DZD_rAWh.js → connection-card-CZBuUPP_.js} +1 -1
  119. package/dist/client/assets/{connection-detail-BRz9FZ83.js → connection-detail-DPF8YmLk.js} +1 -1
  120. package/dist/client/assets/{connection-form-helpers-DmavsUyJ.js → connection-form-helpers-D3sfjZA_.js} +1 -1
  121. package/dist/client/assets/{connections-Cj6HJEn1.js → connections-lrErrE5H.js} +1 -1
  122. package/dist/client/assets/{content-tab-DkKuIDyy.js → content-tab-DruH5Km_.js} +3 -3
  123. package/dist/client/assets/{context-C2r290S4.js → context-DmRBBX5q.js} +1 -1
  124. package/dist/client/assets/{context-menu-CiH3Gj0R.js → context-menu-Biz9RPI-.js} +1 -1
  125. package/dist/client/assets/{context-shell-BwT70eIn.js → context-shell-CnZGomwI.js} +3 -3
  126. package/dist/client/assets/{core.esm-DQyn-kJS.js → core.esm-Dennsttt.js} +1 -1
  127. package/dist/client/assets/{create-organization-dialog-CiZys2Ku.js → create-organization-dialog-wSFwPaJG.js} +1 -1
  128. package/dist/client/assets/{daily-pulse-CMy69HGI.js → daily-pulse-A6f95wwZ.js} +1 -1
  129. package/dist/client/assets/{discover-DQ9dXI7n.js → discover-DU-Rzely.js} +1 -1
  130. package/dist/client/assets/{domain-settings-5g_MWfwe.js → domain-settings-Bnb_ZtIt.js} +1 -1
  131. package/dist/client/assets/{drawer-DDmudFbW.js → drawer-CuUzaTfw.js} +1 -1
  132. package/dist/client/assets/{editor-BqqnxL88.js → editor-CJ37wKUc.js} +1 -1
  133. package/dist/client/assets/{editor-classes-D-ez-qBv.js → editor-classes-yEQ_KPvG.js} +1 -1
  134. package/dist/client/assets/{empty-state-iEpXVBwd.js → empty-state-DXBACaDC.js} +1 -1
  135. package/dist/client/assets/{empty-state-C7LII3ZM.js → empty-state-DhRsvQHO.js} +1 -1
  136. package/dist/client/assets/{experiments-tab-DGo_lvyv.js → experiments-tab-Bx6GaOJU.js} +1 -1
  137. package/dist/client/assets/{experiments-tab-choice-B_rL9_Nx.js → experiments-tab-choice-B1sDnY5T.js} +1 -1
  138. package/dist/client/assets/{extract-connection-data-DYwFbKkm.js → extract-connection-data-DOpfeyzI.js} +1 -1
  139. package/dist/client/assets/{feature-gate-E1LoWMx3.js → feature-gate-FbVbvaij.js} +1 -1
  140. package/dist/client/assets/{feature-paywall-CDMJv8wq.js → feature-paywall-CdkGt72v.js} +1 -1
  141. package/dist/client/assets/{file-explorer-CsD267WS.js → file-explorer-BfjvwZGe.js} +1 -1
  142. package/dist/client/assets/{file-preview-Cj5pBQv2.js → file-preview-CpUVcTEC.js} +1 -1
  143. package/dist/client/assets/{file-share-button-DOup2WzD.js → file-share-button-BFGgw9L9.js} +1 -1
  144. package/dist/client/assets/{file-type-icon-BgzyV542.js → file-type-icon-BkRHeWVz.js} +1 -1
  145. package/dist/client/assets/{folder-icon-DY3kBxQc.js → folder-icon-CEWb3RvH.js} +1 -1
  146. package/dist/client/assets/{form-gDNfP07W.js → form-RFg7ydwN.js} +1 -1
  147. package/dist/client/assets/{general-CWpdg4Hl.js → general-CCnErHaD.js} +1 -1
  148. package/dist/client/assets/{github-icon-DAxkwypb.js → github-icon-CfOxQ_kk.js} +1 -1
  149. package/dist/client/assets/github-repo-scope-CiKlF-H0.js +1 -0
  150. package/dist/client/assets/{held-block-view-C3Ird9F-.js → held-block-view-B1ZTgtaf.js} +3 -3
  151. package/dist/client/assets/{home-TaMnsEq5.js → home-d4IkLgAU.js} +1 -1
  152. package/dist/client/assets/{hosted-publish-feedback-CVQKURab.js → hosted-publish-feedback-CaaC9Yio.js} +1 -1
  153. package/dist/client/assets/{icon-button-CTmBGRaQ.js → icon-button-DUX8uev-.js} +1 -1
  154. package/dist/client/assets/{index-D3fuewCp.js → index-AhdOdumU.js} +1 -1
  155. package/dist/client/assets/{index-Cbe7caeT.js → index-BN1wxwBE.js} +1 -1
  156. package/dist/client/assets/{index-DGoeX32I.js → index-BU3lM1Xe.js} +1 -1
  157. package/dist/client/assets/{index-CFDA2Gyk.js → index-CYvmYTza.js} +1 -1
  158. package/dist/client/assets/{index-CzqNFJgA.js → index-CaPLCDO_.js} +1 -1
  159. package/dist/client/assets/{index-Cjtut9JA.js → index-CuP8z21G.js} +1 -1
  160. package/dist/client/assets/{index-BWpKrclg.js → index-Cw6ilRLN.js} +3 -3
  161. package/dist/client/assets/{index-G8_ivZDF.js → index-DF_kVaV9.js} +1 -1
  162. package/dist/client/assets/{index-DKRm_nGH.js → index-DiHVaqTW.js} +1 -1
  163. package/dist/client/assets/{index-C-GH7ZUH.js → index-DiqyTQYB.js} +1 -1
  164. package/dist/client/assets/{index-CXhEXTV0.js → index-DnZM2vOx.js} +1 -1
  165. package/dist/client/assets/{index-15xKR9ar.js → index-GbZ7cHim.js} +1 -1
  166. package/dist/client/assets/{index-Qn_AZuwz.js → index-KnmovUVi.js} +1 -1
  167. package/dist/client/assets/{index-ylByMMZI.js → index-ZjFFuBzo.js} +1 -1
  168. package/dist/client/assets/{index-lchr3O79.js → index-nea5NUvS.js} +1 -1
  169. package/dist/client/assets/{index-redirect-COc2iMJs.js → index-redirect-D8gnMr4D.js} +1 -1
  170. package/dist/client/assets/{infiniteQueryObserver-CbIPWgZj.js → infiniteQueryObserver-r2g3Rufl.js} +1 -1
  171. package/dist/client/assets/{infra-billing-gMBDswwS.js → infra-billing-xKdFu2DK.js} +1 -1
  172. package/dist/client/assets/{input-CgS5sNmj.js → input-B3t37gB5.js} +1 -1
  173. package/dist/client/assets/{input-Cf50b9sU.js → input-BiNlRIkN.js} +3 -3
  174. package/dist/client/assets/{integration-icon-BQ9jVlvt.js → integration-icon-BvuUEHwl.js} +1 -1
  175. package/dist/client/assets/{jira-icon-CzGOnWKo.js → jira-icon-C17_Jc2B.js} +1 -1
  176. package/dist/client/assets/{label-DzRNwB_s.js → label-DvonkoXD.js} +1 -1
  177. package/dist/client/assets/{layout-d2_2jbV9.js → layout-BiaPlBt-.js} +1 -1
  178. package/dist/client/assets/{legacy-agents-deep-CyFzwt79.js → legacy-agents-deep-DV5Zxfa8.js} +1 -1
  179. package/dist/client/assets/{legacy-main-redirect-B0hY-Z0B.js → legacy-main-redirect-3QdAqV_c.js} +1 -1
  180. package/dist/client/assets/library-DNyXivcG.js +1 -0
  181. package/dist/client/assets/{library-tab-cQd24fFO.js → library-tab-Nfz-0YaQ.js} +1 -1
  182. package/dist/client/assets/{login-BB7FreRC.js → login-bITsid_u.js} +1 -1
  183. package/dist/client/assets/{markdown-CkZaCBow.js → markdown-Bnq_rauO.js} +1 -1
  184. package/dist/client/assets/{mcp-app-renderer-BVLr3WK6.js → mcp-app-renderer-D9bP7Uyj.js} +1 -1
  185. package/dist/client/assets/{mcp-oauth-KJGfGjkD.js → mcp-oauth-B1sQYgh4.js} +1 -1
  186. package/dist/client/assets/{mcp-oauth-DWlxkjKx.js → mcp-oauth-zW9MaFGn.js} +1 -1
  187. package/dist/client/assets/{members-BvQ1xqU5.js → members-CXI65xvm.js} +1 -1
  188. package/dist/client/assets/{memory-_Oguj4if.js → memory-C-guhabj.js} +1 -1
  189. package/dist/client/assets/{mini-report-page-BC7L0ipE.js → mini-report-page-C9o2eyOe.js} +1 -1
  190. package/dist/client/assets/{mock-board-BC3rEvaU.js → mock-board-BShoWwXR.js} +3 -3
  191. package/dist/client/assets/{monaco-editor-zzUPRyBn.js → monaco-editor-DP1-rJ0v.js} +1 -1
  192. package/dist/client/assets/{monitoring-ilB7hU6H.js → monitoring-CqLCuFHk.js} +1 -1
  193. package/dist/client/assets/{monitoring-stats-row-DZ9HvRuy.js → monitoring-stats-row-BRnhkE0A.js} +1 -1
  194. package/dist/client/assets/{multi-select-D2pKycte.js → multi-select-ID8vWjv8.js} +1 -1
  195. package/dist/client/assets/{mustache-BBgPaDqo.js → mustache-nJjvu1VV.js} +1 -1
  196. package/dist/client/assets/{named-rule-uses-8PEXqP7W.js → named-rule-uses-BHC4DlIQ.js} +1 -1
  197. package/dist/client/assets/{new-project-dialog-Dd5pVssc.js → new-project-dialog-4twV8Y4C.js} +1 -1
  198. package/dist/client/assets/{oauth-callback-ai-provider-zp6PPNfP.js → oauth-callback-ai-provider-Da3_ca8D.js} +1 -1
  199. package/dist/client/assets/{oauth-callback-DIj2YLwh.js → oauth-callback-h0NUpdOX.js} +1 -1
  200. package/dist/client/assets/{onboarding-CSUeJ8OK.js → onboarding-CvFXVvAB.js} +1 -1
  201. package/dist/client/assets/{openai-conversation-CT9LWWrS.js → openai-conversation-9-S9iWS8.js} +1 -1
  202. package/dist/client/assets/{optimistic-project-sidebar-views-BhoNMrVo.js → optimistic-project-sidebar-views-B65im_4W.js} +1 -1
  203. package/dist/client/assets/{order-monitor-day-D-Ti4NDE.js → order-monitor-day-GXa0K2fU.js} +1 -1
  204. package/dist/client/assets/{organization-choice-Bs2Llr3r.js → organization-choice-DKpl7kTn.js} +1 -1
  205. package/dist/client/assets/{orgs-Bs_15YVG.js → orgs-Dt-LNqWF.js} +1 -1
  206. package/dist/client/assets/{page-seo-form-DizfAl8r.js → page-seo-form-DzjOyYJI.js} +1 -1
  207. package/dist/client/assets/{pair-BFVxcKKp.js → pair-BwKW0A4I.js} +1 -1
  208. package/dist/client/assets/{parse-sections-BVn3AvAz.js → parse-sections-C3Hmwt0I.js} +1 -1
  209. package/dist/client/assets/{plan-_57doTJd.js → plan-BJIbgrS0.js} +1 -1
  210. package/dist/client/assets/{plan-ladder-DVSwNgR2.js → plan-ladder-DIPGMFy3.js} +1 -1
  211. package/dist/client/assets/{plan-usage-card-B64WjIMI.js → plan-usage-card-OrJ6ndWB.js} +1 -1
  212. package/dist/client/assets/{popover-ClEv7Zyf.js → popover-N-Tbv2Q_.js} +1 -1
  213. package/dist/client/assets/{post-calendar-CMHuZuip.js → post-calendar-BN2880sO.js} +1 -1
  214. package/dist/client/assets/{post-editor-CqgW2_fW.js → post-editor-SZ0T52l-.js} +1 -1
  215. package/dist/client/assets/{preview-content-BSsfQ6ZE.js → preview-content-BrY4N22Q.js} +1 -1
  216. package/dist/client/assets/{preview-dialog-DBnDC8gE.js → preview-dialog-DNkXNQe2.js} +1 -1
  217. package/dist/client/assets/{preview-panel-DQBuS4_f.js → preview-panel-BeRdNuZC.js} +1 -1
  218. package/dist/client/assets/{preview-tab-_86kIh0E.js → preview-tab-EJWXb_JS.js} +3 -3
  219. package/dist/client/assets/{product-picker-dialog-C8oMVTn6.js → product-picker-dialog-DJW0OQ7t.js} +1 -1
  220. package/dist/client/assets/{profile-Bsx5sLNH.js → profile-p2CkJE0T.js} +1 -1
  221. package/dist/client/assets/{project-app-view-C5QghQe6.js → project-app-view-C_EMPbo0.js} +1 -1
  222. package/dist/client/assets/{project-apps-oe6VMb11.js → project-apps-CbCNo3Qh.js} +1 -1
  223. package/dist/client/assets/{project-feed-DAjFP_Ib.js → project-feed-BOoFoesM.js} +1 -1
  224. package/dist/client/assets/{project-icon-BKeF243f.js → project-icon-BRvDYuEF.js} +1 -1
  225. package/dist/client/assets/project-reports-Ckw4gPRj.js +1 -0
  226. package/dist/client/assets/project-tasks-DIs0LJKu.js +1 -0
  227. package/dist/client/assets/{projects-BaKJExhs.js → projects-DxaWyr4c.js} +1 -1
  228. package/dist/client/assets/{projects-empty-state-B_kHw_MZ.js → projects-empty-state-q_kUg5xI.js} +1 -1
  229. package/dist/client/assets/{prompts-Br3MvaH9.js → prompts-ORkU8nSR.js} +1 -1
  230. package/dist/client/assets/{provision-repo-scoped-github-connection-lckxpDHD.js → provision-repo-scoped-github-connection-DoOuHltS.js} +1 -1
  231. package/dist/client/assets/record-editor-C9Hk9gzX.js +1 -0
  232. package/dist/client/assets/{redirect-editor-CSg_SJ3I.js → redirect-editor-DTFg1kOc.js} +1 -1
  233. package/dist/client/assets/{releases-api-DwHPczFb.js → releases-api-MmQe-HE4.js} +1 -1
  234. package/dist/client/assets/{reports-iqRQlH1z.js → reports-C3nGzDLE.js} +1 -1
  235. package/dist/client/assets/reports-DpW566Gg.js +1 -0
  236. package/dist/client/assets/{reports-onboarding-Bm9Wvkaq.js → reports-onboarding-D8qOl7n6.js} +1 -1
  237. package/dist/client/assets/{reports-tab-DesQ1SQx.js → reports-tab-BRsFQ8_g.js} +2 -2
  238. package/dist/client/assets/{repositories-DUBWep32.js → repositories-DWS1FNsz.js} +1 -1
  239. package/dist/client/assets/repositories-rpqjpzkl.js +1 -0
  240. package/dist/client/assets/{repository-binding-Bpq6heaQ.js → repository-binding-PeMGXqSl.js} +1 -1
  241. package/dist/client/assets/{repository-import-picker-DxJJpcCz.js → repository-import-picker-BMJ3biNs.js} +1 -1
  242. package/dist/client/assets/{repository-picker-P8Asvsk4.js → repository-picker-XiErYA7B.js} +1 -1
  243. package/dist/client/assets/{require-capability-B-uxpRvL.js → require-capability-42JNP4Dw.js} +1 -1
  244. package/dist/client/assets/{required-auth-layout-DYZU5vk_.js → required-auth-layout-DsfiOlyN.js} +1 -1
  245. package/dist/client/assets/{reset-password-Bs_JmNWK.js → reset-password-CsAEO5bw.js} +1 -1
  246. package/dist/client/assets/{resizable-vbjrp9Su.js → resizable-XQP8BK4_.js} +1 -1
  247. package/dist/client/assets/{resolve-tab-icon-CzFxm7IQ.js → resolve-tab-icon-CguQjH43.js} +1 -1
  248. package/dist/client/assets/{review-settings-CsHCgNLm.js → review-settings-U2xSoSbC.js} +1 -1
  249. package/dist/client/assets/{roles-C-6Op6OQ.js → roles-DZFrq3cC.js} +1 -1
  250. package/dist/client/assets/route-BeAt5Jxq.js +1 -0
  251. package/dist/client/assets/{route-Cr42SuLO.js → route-C-GIqs4Z.js} +1 -1
  252. package/dist/client/assets/{route-Bdui6QXz.js → route-DKXnO--k.js} +1 -1
  253. package/dist/client/assets/{sandbox-lifecycle-context-D9eDp86x.js → sandbox-lifecycle-context-DB7MI-hA.js} +1 -1
  254. package/dist/client/assets/{schema-DzZBw0EW.js → schema-CB30E7Gi.js} +1 -1
  255. package/dist/client/assets/{schema-Cd1llToh.js → schema-DGh8triY.js} +1 -1
  256. package/dist/client/assets/{scroll-area-CwuazZb5.js → scroll-area-BhjyScQp.js} +1 -1
  257. package/dist/client/assets/{search-input-D2iQ_3lu.js → search-input-CnMfC6Ib.js} +1 -1
  258. package/dist/client/assets/{search-toggle-Cw7hl_Xx.js → search-toggle-BsT7rhT7.js} +1 -1
  259. package/dist/client/assets/{secret-picker-Ct1DoTR9.js → secret-picker-DRe1iXLV.js} +1 -1
  260. package/dist/client/assets/{secrets-CBPyw7ba.js → secrets-Cm-nUiVG.js} +1 -1
  261. package/dist/client/assets/{section-array-field-BXLl3jB0.js → section-array-field-CowajgIO.js} +1 -1
  262. package/dist/client/assets/{sections-DRD1aU5D.js → sections-DN1XjEty.js} +1 -1
  263. package/dist/client/assets/{sections-editor-B628EbZ4.js → sections-editor-KyiXwNg4.js} +1 -1
  264. package/dist/client/assets/{select-BMteQTWS.js → select-IRnWfSEI.js} +1 -1
  265. package/dist/client/assets/{select-model-ujDDmA_R.js → select-model-_tURUtw8.js} +1 -1
  266. package/dist/client/assets/{seo-editor-nXgc_X38.js → seo-editor-DQuBtXMq.js} +1 -1
  267. package/dist/client/assets/{separator-l2LsOpLi.js → separator-AD4s_4vt.js} +1 -1
  268. package/dist/client/assets/settings-tab-Cyi9Dt5w.js +1 -0
  269. package/dist/client/assets/{sheet-BW-FxyJZ.js → sheet-CLT2kz10.js} +1 -1
  270. package/dist/client/assets/{shell-layout-BbFvnpcf.js → shell-layout-CdKs-SVX.js} +1 -1
  271. package/dist/client/assets/{site-draft-actions-9GNFURGo.js → site-draft-actions-K5CCMVX6.js} +1 -1
  272. package/dist/client/assets/{site-draft-view-DhCorNAk.js → site-draft-view-Dzca4Bar.js} +2 -2
  273. package/dist/client/assets/site-editor-B1tNbOKR.js +1 -0
  274. package/dist/client/assets/{site-editor-toast-QHleRFN5.js → site-editor-toast-MdEv_oKc.js} +1 -1
  275. package/dist/client/assets/{skills-ApZ_uT4M.js → skills-DIJP95gf.js} +1 -1
  276. package/dist/client/assets/{slider-DtzvJZ1j.js → slider-BOLJxYF2.js} +1 -1
  277. package/dist/client/assets/{sortable.esm-DNzjY6xb.js → sortable.esm-CIFqofWL.js} +1 -1
  278. package/dist/client/assets/{sso-Con6Y9JD.js → sso-DqMDaenE.js} +1 -1
  279. package/dist/client/assets/{suggestion-BgdlUdcB.js → suggestion-tz-f65fQ.js} +1 -1
  280. package/dist/client/assets/{switch-Bv0wLEBx.js → switch-D45dHrK3.js} +1 -1
  281. package/dist/client/assets/{symbol-CJoI4vsX.js → symbol-Femlxd_m.js} +1 -1
  282. package/dist/client/assets/{synced-repos-Bdx0Lzti.js → synced-repos-45QejDcI.js} +1 -1
  283. package/dist/client/assets/{tab-icon-glyph-CSlj-TVq.js → tab-icon-glyph-pt4s2Grb.js} +1 -1
  284. package/dist/client/assets/{table-CheWM6KL.js → table-Daq1_j7m.js} +1 -1
  285. package/dist/client/assets/{tabs-CjWwohzM.js → tabs-DBG72Yee.js} +1 -1
  286. package/dist/client/assets/{task-assignee-avatar-DwSiTsoy.js → task-assignee-avatar-DrrfJr__.js} +1 -1
  287. package/dist/client/assets/{task-board-L6ZGzY-s.js → task-board-DSKYQnUa.js} +1 -1
  288. package/dist/client/assets/{task-route-D7Tzzgt_.js → task-route-D46EYWzc.js} +1 -1
  289. package/dist/client/assets/{task-status-FHJjKh4u.js → task-status-CJpXljEZ.js} +1 -1
  290. package/dist/client/assets/{taskboard-analytics-kV8i_37N.js → taskboard-analytics-COtnoUXH.js} +1 -1
  291. package/dist/client/assets/{tasks-3fvPlwxK.js → tasks-D5O8k4au.js} +1 -1
  292. package/dist/client/assets/tasks-Dkj9k49d.js +1 -0
  293. package/dist/client/assets/{textarea-BNvvIWSZ.js → textarea-B3VJ1IVc.js} +1 -1
  294. package/dist/client/assets/{thread-analytics-DOn_63z0.js → thread-analytics-yTtiboMK.js} +1 -1
  295. package/dist/client/assets/{thread-intent-DjvP3GsU.js → thread-intent-CAWCzeoG.js} +1 -1
  296. package/dist/client/assets/{thread-route-BOOkt7de.js → thread-route-BZQyZ1gL.js} +1 -1
  297. package/dist/client/assets/{thread-route-B3uNqVbb.js → thread-route-C3He_naw.js} +1 -1
  298. package/dist/client/assets/{thread-sheet-body-sjcfE700.js → thread-sheet-body-vk26kAGI.js} +1 -1
  299. package/dist/client/assets/{time-range-picker-BostqQTB.js → time-range-picker-Dwtk68FK.js} +1 -1
  300. package/dist/client/assets/{toggle-group-BAFBdL9F.js → toggle-group-BtOmVjMF.js} +1 -1
  301. package/dist/client/assets/{tool-namespace-CG1Oreso.js → tool-namespace-COirY7s5.js} +1 -1
  302. package/dist/client/assets/{toolbar-icon-button-CnXJyVJt.js → toolbar-icon-button-as98rium.js} +1 -1
  303. package/dist/client/assets/{tooltip-D2ANqV2w.js → tooltip-g1j6c67B.js} +1 -1
  304. package/dist/client/assets/{tooltipContext-DvKfbID4.js → tooltipContext-CLvPoHx0.js} +1 -1
  305. package/dist/client/assets/{track-BA-6upge.js → track-CbG7q0Jx.js} +1 -1
  306. package/dist/client/assets/{types-BNmsSext.js → types-C_kLVB_R.js} +1 -1
  307. package/dist/client/assets/{url-slug-DcB6_J0W.js → url-slug-DFbBJdJJ.js} +1 -1
  308. package/dist/client/assets/{usage-stats-I2nqy87E.js → usage-stats-CO_PzmjR.js} +1 -1
  309. package/dist/client/assets/{use-ai-providers-BcLfhqAn.js → use-ai-providers-UYArMe6s.js} +1 -1
  310. package/dist/client/assets/{use-apply-named-rule-CdtINk0A.js → use-apply-named-rule-DjUylbM_.js} +1 -1
  311. package/dist/client/assets/{use-automations-DX8SlLEI.js → use-automations-fhgNtkrI.js} +1 -1
  312. package/dist/client/assets/{use-autosave-c4cGzjJa.js → use-autosave-VNB60wel.js} +1 -1
  313. package/dist/client/assets/{use-chat-layout-state-CyqukwDV.js → use-chat-layout-state-uzyWoT7E.js} +1 -1
  314. package/dist/client/assets/{use-clock-tick-CXtcWsca.js → use-clock-tick-Bbl4jizB.js} +1 -1
  315. package/dist/client/assets/{use-cms-publish-actions-BDOdjoX5.js → use-cms-publish-actions-Oa0EZQ0t.js} +1 -1
  316. package/dist/client/assets/{use-connect-companion-pjD5dMZl.js → use-connect-companion-BinIX0nI.js} +1 -1
  317. package/dist/client/assets/{use-connection-CZNQu-z2.js → use-connection-BeEdNRHa.js} +1 -1
  318. package/dist/client/assets/{use-copy-Bq-mz0ld.js → use-copy-Dk3cEiBB.js} +1 -1
  319. package/dist/client/assets/{use-create-virtual-mcp-BVwiobb2.js → use-create-virtual-mcp-CcnOX0WT.js} +1 -1
  320. package/dist/client/assets/{use-date-fns-locale-CLYhNSnw.js → use-date-fns-locale-CpjJIfQT.js} +1 -1
  321. package/dist/client/assets/{use-debounced-autosave-Cxe8yde_.js → use-debounced-autosave-QN0_xGaq.js} +1 -1
  322. package/dist/client/assets/{use-debounced-value-CqLWq6L2.js → use-debounced-value-Cg3pn3hJ.js} +1 -1
  323. package/dist/client/assets/{use-deco-credits-C26dK60_.js → use-deco-credits-C5r8tKZH.js} +1 -1
  324. package/dist/client/assets/{use-decopilot-events-Dg011Qgn.js → use-decopilot-events-D7GIEyuu.js} +1 -1
  325. package/dist/client/assets/{use-delete-connection-DzeFDNj4.js → use-delete-connection-Cx5vGSZR.js} +1 -1
  326. package/dist/client/assets/{use-deployment-admin-COukxauw.js → use-deployment-admin-DVUkJw7-.js} +1 -1
  327. package/dist/client/assets/{use-entitlements-Bxptpo8e.js → use-entitlements-C4tNpLNZ.js} +1 -1
  328. package/dist/client/assets/{use-fast-preview-draft-url-DWrGmO4E.js → use-fast-preview-draft-url-C2yv-JdA.js} +1 -1
  329. package/dist/client/assets/{use-file-configs-DAoix9gu.js → use-file-configs-C8WLQuJ_.js} +1 -1
  330. package/dist/client/assets/{use-inbox-feed-CEHyMhUC.js → use-inbox-feed-CmYEHjcJ.js} +1 -1
  331. package/dist/client/assets/{use-infinite-scroll-CojsIRJO.js → use-infinite-scroll-dtUi5Sm6.js} +1 -1
  332. package/dist/client/assets/{use-join-requests-GMVGPaSk.js → use-join-requests-CACMdSxj.js} +1 -1
  333. package/dist/client/assets/{use-main-panel-tabs-DXx3VvH2.js → use-main-panel-tabs-6UM-eEDy.js} +1 -1
  334. package/dist/client/assets/{use-mcp-auth-status-CvV54_ol.js → use-mcp-auth-status-nCZ8OnbU.js} +1 -1
  335. package/dist/client/assets/{use-mcp-client-zIBQco5Q.js → use-mcp-client-CvhC1TIJ.js} +1 -1
  336. package/dist/client/assets/{use-mcp-prompts-XayY9yfQ.js → use-mcp-prompts-BWsIl6wX.js} +1 -1
  337. package/dist/client/assets/{use-mcp-tools-BmZF8fTN.js → use-mcp-tools-I_UsR8Xf.js} +1 -1
  338. package/dist/client/assets/{use-mobile-CoPLJ8cu.js → use-mobile-CKqq0hw6.js} +1 -1
  339. package/dist/client/assets/{use-move-blocks-Ck5rS_vn.js → use-move-blocks-D5l0lx5X.js} +1 -1
  340. package/dist/client/assets/{use-navigate-to-agent-DqWY18b4.js → use-navigate-to-agent-X54xBbs-.js} +1 -1
  341. package/dist/client/assets/{use-org-fs-B4wvUwJj.js → use-org-fs-wk2PRaOo.js} +1 -1
  342. package/dist/client/assets/{use-org-repo-syncs-D-0WnIj6.js → use-org-repo-syncs-ON_B-I08.js} +1 -1
  343. package/dist/client/assets/{use-org-sso-sTi3oL5_.js → use-org-sso-1YltyqLi.js} +1 -1
  344. package/dist/client/assets/{use-organization-roles-DXXkhsvq.js → use-organization-roles-CxgWGtCR.js} +1 -1
  345. package/dist/client/assets/{use-organization-settings-D_5fr-OI.js → use-organization-settings-BFBXS4UG.js} +1 -1
  346. package/dist/client/assets/{use-panel-navigate-nriEb2Qz.js → use-panel-navigate-DzWclIwL.js} +1 -1
  347. package/dist/client/assets/{use-project-native-view-presence-Bdl4n5BM.js → use-project-native-view-presence-B8VDwbCS.js} +1 -1
  348. package/dist/client/assets/{use-project-scope-CdqclLu1.js → use-project-scope-Bq5GrrDd.js} +1 -1
  349. package/dist/client/assets/{use-recent-apps-6oU0G5sy.js → use-recent-apps-DBlZNiUD.js} +1 -1
  350. package/dist/client/assets/{use-releases-CjPNvHz7.js → use-releases-Dth9LHEU.js} +1 -1
  351. package/dist/client/assets/{use-reports-diagnostic-CbLn3JeW.js → use-reports-diagnostic-Do0xVL-L.js} +1 -1
  352. package/dist/client/assets/{use-sandbox-events-C3mgE5Ut.js → use-sandbox-events-vz4ehPML.js} +1 -1
  353. package/dist/client/assets/{use-secrets-DMgYR7J2.js → use-secrets-Byq7_LZ0.js} +1 -1
  354. package/dist/client/assets/{use-section-preview-base-CJSLbEeV.js → use-section-preview-base-Bi-N531T.js} +1 -1
  355. package/dist/client/assets/{use-session-runtime-HJpkQoy0.js → use-session-runtime-C29BLCO5.js} +1 -1
  356. package/dist/client/assets/{use-sidebar-collapsed-DGKLEITN.js → use-sidebar-collapsed-CC40xbK2.js} +1 -1
  357. package/dist/client/assets/{use-tags-C5S50qhF.js → use-tags-DsgZua5i.js} +1 -1
  358. package/dist/client/assets/{use-task-board-analytics-BhLHNvA-.js → use-task-board-analytics-BTfxOx5Z.js} +1 -1
  359. package/dist/client/assets/{use-task-board-events-CWQQpnEy.js → use-task-board-events-BQ73Mjf5.js} +1 -1
  360. package/dist/client/assets/{use-task-board-item-prs-a7ezuDRL.js → use-task-board-item-prs-D1aN1p6d.js} +1 -1
  361. package/dist/client/assets/{use-task-board-prompts-DonCfR5m.js → use-task-board-prompts-CaMiqHjx.js} +1 -1
  362. package/dist/client/assets/{use-task-metadata-MAOPH7xT.js → use-task-metadata-RAKFvADU.js} +1 -1
  363. package/dist/client/assets/{use-thread-analytics-B2fKyMxQ.js → use-thread-analytics-UYwynn2f.js} +1 -1
  364. package/dist/client/assets/{use-thread-outputs-vH0sJUqm.js → use-thread-outputs-DsSeydeQ.js} +1 -1
  365. package/dist/client/assets/useInfiniteQuery-qZeYk4so.js +1 -0
  366. package/dist/client/assets/{useQueries-Qve4MUYw.js → useQueries-BxilFdP8.js} +1 -1
  367. package/dist/client/assets/useSuspenseInfiniteQuery-CTPa_bH3.js +1 -0
  368. package/dist/client/assets/{users-DHtbHEKw.js → users-CfzZpC_f.js} +1 -1
  369. package/dist/client/assets/{utils-BoR7m7ir.js → utils-CFwQd3Dj.js} +1 -1
  370. package/dist/client/assets/{variant-calendar-DSZCP6Sl.js → variant-calendar-DAzhjaCK.js} +1 -1
  371. package/dist/client/assets/{variant-matcher-override-Cvh79vYa.js → variant-matcher-override-KA8G6wne.js} +1 -1
  372. package/dist/client/assets/{view-header-DTW0kjf6.js → view-header-D4T3g6Y4.js} +1 -1
  373. package/dist/client/assets/{virtual-mcp-RiqyMxQd.js → virtual-mcp-CJAqxDe2.js} +1 -1
  374. package/dist/client/assets/{watch-sse-pool-6veZzsu7.js → watch-sse-pool-BxinXtVa.js} +1 -1
  375. package/dist/client/index.html +1 -1
  376. package/dist/server/server.js +2 -2
  377. package/package.json +1 -1
  378. package/dist/client/assets/agent-app-B0uhmcWv.js +0 -1
  379. package/dist/client/assets/agent-deck-CACa1iZR.js +0 -1
  380. package/dist/client/assets/agent-experiments-TwOhraCy.js +0 -1
  381. package/dist/client/assets/agent-library-BvH-Q75b.js +0 -1
  382. package/dist/client/assets/agent-library-file-BC8zk1Dl.js +0 -1
  383. package/dist/client/assets/agent-monitor-UYQNblqG.js +0 -1
  384. package/dist/client/assets/agent-settings-Lu1EqGNe.js +0 -1
  385. package/dist/client/assets/agent-site-editor-code-BAyfkSPu.js +0 -2
  386. package/dist/client/assets/agent-site-editor-content-CKgCOX3-.js +0 -1
  387. package/dist/client/assets/agent-site-editor-preview-B9oFLAt2.js +0 -1
  388. package/dist/client/assets/agent-view-D-sscasX.js +0 -1
  389. package/dist/client/assets/api-keys-D_tuzPJP.js +0 -1
  390. package/dist/client/assets/github-repo-scope-ByTYKy_L.js +0 -1
  391. package/dist/client/assets/library-CS74d8fl.js +0 -1
  392. package/dist/client/assets/project-reports-uzkOMqSE.js +0 -1
  393. package/dist/client/assets/project-tasks-jNTlksUk.js +0 -1
  394. package/dist/client/assets/record-editor-B5oAS_5D.js +0 -1
  395. package/dist/client/assets/reports-CL4pYm69.js +0 -1
  396. package/dist/client/assets/repositories-C-WO-gxz.js +0 -1
  397. package/dist/client/assets/route-BlJ-TDEK.js +0 -1
  398. package/dist/client/assets/settings-tab-Cj4D3Abl.js +0 -1
  399. package/dist/client/assets/site-editor-8rMP2pUf.js +0 -1
  400. package/dist/client/assets/tasks-BImUOCfZ.js +0 -1
  401. package/dist/client/assets/useInfiniteQuery-CFafSHXd.js +0 -1
  402. package/dist/client/assets/useSuspenseInfiniteQuery-D_oVQ9bL.js +0 -1
@@ -599,7 +599,7 @@ ${G}
599
599
  ${Z}:`]}}function $L$($){switch($){case"stop":return"stop";case"length":return"length";case"content_filter":return"content-filter";case"function_call":case"tool_calls":return"tool-calls";default:return"other"}}function ok4($){return!("error"in $)&&$.choices.some((Z)=>Z.text.length>0)}function W51($){let Z=encodeURIComponent($);return Z==="."?"%252E":Z===".."?"%252E%252E":Z}function XC4($){return YC4.some((Z)=>$.startsWith(Z))}function JC4($){var Z;return(Z=QC4[$])!=null?Z:$.startsWith("gpt-image-")?10:1}function XL$($,Z,Q){if($==null)return{};let Y={};if($.image_tokens!=null){let X=Math.floor($.image_tokens/Q),J=$.image_tokens-X*(Q-1);Y.imageTokens=Z===Q-1?J:X}if($.text_tokens!=null){let X=Math.floor($.text_tokens/Q),J=$.text_tokens-X*(Q-1);Y.textTokens=Z===Q-1?J:X}return Y}async function HC4($,Z){if(!$)return;if($.type==="url")return X10($.url,{abortSignal:Z});let Q=$.data instanceof Uint8Array?$.data:WZ($.data);return new Blob([Q],{type:$.mediaType})}function w51($){var Z,Q,Y,X,J,G;if($==null)return VN();let{input_tokens:W,output_tokens:K}=$,H=(Q=(Z=$.input_tokens_details)==null?void 0:Z.cached_tokens)!=null?Q:0,F=(X=(Y=$.input_tokens_details)==null?void 0:Y.cache_write_tokens)!=null?X:void 0,U=(G=(J=$.output_tokens_details)==null?void 0:J.reasoning_tokens)!=null?G:0;return{inputTokens:{total:W,noCache:W-H-(F!=null?F:0),cacheRead:H,cacheWrite:F},outputTokens:{total:K,text:K-U,reasoning:U},raw:$}}function pU0({finishReason:$,hasFunctionCall:Z}){switch($){case void 0:case null:return Z?"tool-calls":"stop";case"max_output_tokens":return"length";case"content_filter":return"content-filter";default:return Z?"tool-calls":"other"}}function WS4($){if(typeof $.type!=="string"||!JS4.has($.type))return!1;if($.type!=="response.output_item.added"&&$.type!=="response.output_item.done")return!0;if(!EQ($.item)||typeof $.item.type!=="string")return!0;return GS4.has($.item.type)}function HS4($){if($.provider==null)throw Error("OpenAI model is missing provider after workflow deserialization.");return{...$,provider:$.provider,url:typeof $.url==="function"?$.url:({path:Z})=>{if($.baseURL==null)throw Error("OpenAI model is missing baseURL after workflow deserialization.");return`${$.baseURL}${Z}`},headers:typeof $.headers==="function"?$.headers:$.headers==null?void 0:()=>$.headers}}function R51({providerOptions:$,providerOptionsName:Z}){var Q;let Y=(Q=$==null?void 0:$[Z])==null?void 0:Q.parallelToolCall;if(!TK(Y)||typeof Y.itemId!=="string"||typeof Y.toolCallId!=="string"||typeof Y.toolName!=="string"||typeof Y.input!=="string"||typeof Y.index!=="number"||!Number.isInteger(Y.index)||typeof Y.count!=="number"||!Number.isInteger(Y.count)||Y.index<0||Y.count<=Y.index)return;return Y}function M51({toolName:$,tools:Z}){return $===GL$&&!Z.some((Q)=>Q.name===GL$)}async function KL$({toolCall:$,tools:Z,providerOptionsName:Q,itemId:Y}){if(!M51({toolName:$.toolName,tools:Z}))return;let X=await m5({text:$.input});if(!X.success||!TK(X.value))return;let J=X.value.tool_uses;if(!Array.isArray(J)||J.length===0)return;let G=new Set(Z.map((K)=>K.name)),W=[];for(let[K,H]of J.entries()){if(!TK(H))return;let{recipient_name:F,parameters:U}=H;if(typeof F!=="string"||!F.startsWith(WL$)||!TK(U))return;let N=F.slice(WL$.length);if(N.length===0||!G.has(N))return;W.push({type:"tool-call",toolCallId:`${$.toolCallId}_${K}`,toolName:N,input:JSON.stringify(U),providerMetadata:{[Q]:{parallelToolCall:{itemId:Y,toolCallId:$.toolCallId,toolName:$.toolName,input:$.input,index:K,count:J.length}}}})}return W}function FS4($){return JSON.stringify($===void 0?{}:$)}function HL$($){return $==null?void 0:$.type==="program"?{type:"program",caller_id:$.callerId}:$}async function FL$({output:$,toolName:Z,outputSchemaToolNames:Q,promptCacheBreakpoint:Y,providerOptionsName:X,warnings:J}){var G;let W=Q==null?void 0:Q.has(Z),K=(H)=>Y==null?H:[{type:"input_text",text:H,prompt_cache_breakpoint:Y}];switch($.type){case"text":case"error-text":return K(W?JSON.stringify($.value):$.value);case"execution-denied":{let H=(G=$.reason)!=null?G:"Tool call execution denied.";return K(W?JSON.stringify(H):H)}case"json":case"error-json":return K(JSON.stringify($.value));case"content":return $.value.map((H)=>{var F,U,N;let B=cE(H.providerOptions,X);switch(H.type){case"text":return{type:"input_text",text:H.text,...B!=null&&{prompt_cache_breakpoint:B}};case"file":{let D=wY(H.mediaType),O=(U=(F=H.providerOptions)==null?void 0:F[X])==null?void 0:U.imageDetail;if(H.data.type==="reference"){let j=EY({reference:H.data.reference,provider:X});if(D==="image")return{type:"input_image",file_id:j,detail:O,...B!=null&&{prompt_cache_breakpoint:B}};return{type:"input_file",file_id:j,...B!=null&&{prompt_cache_breakpoint:B}}}if(H.data.type==="data"){let j=KZ({part:H});if(D==="image")return{type:"input_image",image_url:`data:${j};base64,${H4(H.data.data)}`,detail:O,...B!=null&&{prompt_cache_breakpoint:B}};return{type:"input_file",filename:(N=H.filename)!=null?N:"data",file_data:`data:${j};base64,${H4(H.data.data)}`,...B!=null&&{prompt_cache_breakpoint:B}}}if(H.data.type==="url"){if(D==="image")return{type:"input_image",image_url:H.data.url.toString(),detail:O,...B!=null&&{prompt_cache_breakpoint:B}};return{type:"input_file",file_url:H.data.url.toString(),...B!=null&&{prompt_cache_breakpoint:B}}}J.push({type:"other",message:`unsupported tool content part type: ${H.type} with data type: ${H.data.type}`});return}default:{J.push({type:"other",message:`unsupported tool content part type: ${H.type}`});return}}}).filter(AE)}}function V51($,Z){return $.itemId===Z.itemId&&$.toolCallId===Z.toolCallId&&$.toolName===Z.toolName&&$.input===Z.input&&$.count===Z.count}function US4({prompt:$,providerOptionsName:Z}){let Q=new Map;for(let X of $){if(X.role!=="tool")continue;for(let J of X.content){if(J.type!=="tool-result")continue;let G=R51({providerOptions:J.providerOptions,providerOptionsName:Z});if(G==null)continue;let W=Q.get(G.toolCallId);if(W==null){Q.set(G.toolCallId,{metadata:G,results:new Map([[G.index,J]]),invalid:!1});continue}if(!V51(W.metadata,G)||W.results.has(G.index)){W.invalid=!0;continue}W.results.set(G.index,J)}}let Y=new Map;for(let[X,J]of Q){if(J.invalid||J.results.size!==J.metadata.count)continue;let G=Array.from({length:J.metadata.count},(W,K)=>J.results.get(K));if(G.every(AE))Y.set(X,{metadata:J.metadata,results:G})}return Y}function cE($,Z){var Q;return(Q=$==null?void 0:$[Z])==null?void 0:Q.promptCacheBreakpoint}function F51({output:$,toolResultProviderOptions:Z,providerOptionsName:Q}){var Y;return $.type==="content"?void 0:(Y=cE($.providerOptions,Q))!=null?Y:cE(Z,Q)}function UL$($,Z){if(!Z)return!1;return Z.some((Q)=>$.startsWith(Q))}async function NS4({prompt:$,toolNameMapping:Z,systemMessageMode:Q,providerOptionsName:Y,explicitMessageItemType:X=!1,fileIdPrefixes:J,passThroughUnsupportedFiles:G=!1,store:W,hasConversation:K=!1,hasPreviousResponseId:H=!1,hasLocalShellTool:F=!1,hasShellTool:U=!1,hasApplyPatchTool:N=!1,hasComputerTool:B=!1,toolSearchToolName:D,customProviderToolNames:O,outputSchemaToolNames:j}){var w,E,P,T,z,A,M,f,S,V,v,b,u,m,i,G0,I0,X0,H0,s,o,r,Q0,J0,u0,C0,Y1,i0,j0,E0,m0,B1,H1,_0,c0,p0,k1,K0,h,U0,N0,q0;let y0=[],T1=[],Q8=new Set,k$=new Set,R4=K||H?US4({prompt:$,providerOptionsName:Y}):new Map,Y8=new Set,d6=new Set;for(let{role:c8,content:Z5,providerOptions:g9}of $)switch(c8){case"system":{switch(Q){case"system":{let a0=cE(g9,Y);y0.push({...X&&{type:"message"},role:"system",content:a0==null?Z5:[{type:"input_text",text:Z5,prompt_cache_breakpoint:a0}]});break}case"developer":{let a0=cE(g9,Y);y0.push({...X&&{type:"message"},role:"developer",content:a0==null?Z5:[{type:"input_text",text:Z5,prompt_cache_breakpoint:a0}]});break}case"remove":{T1.push({type:"other",message:"system messages are removed for this model"});break}default:throw Error(`Unsupported system message mode: ${Q}`)}break}case"user":{y0.push({...X&&{type:"message"},role:"user",content:Z5.map((a0,P1)=>{var d$,o1,L$,h8,D5;switch(a0.type){case"text":{let B4=cE(a0.providerOptions,Y);return{type:"input_text",text:a0.text,...B4!=null&&{prompt_cache_breakpoint:B4}}}case"file":{let B4=cE(a0.providerOptions,Y);switch(a0.data.type){case"reference":{let F$=EY({reference:a0.data.reference,provider:Y});if(wY(a0.mediaType)==="image")return{type:"input_image",file_id:F$,detail:(o1=(d$=a0.providerOptions)==null?void 0:d$[Y])==null?void 0:o1.imageDetail,...B4!=null&&{prompt_cache_breakpoint:B4}};return{type:"input_file",file_id:F$,...B4!=null&&{prompt_cache_breakpoint:B4}}}case"text":throw new X$({functionality:"text file parts"});case"url":case"data":if(wY(a0.mediaType)==="image")return{type:"input_image",...a0.data.type==="url"?{image_url:a0.data.url.toString()}:typeof a0.data.data==="string"&&UL$(a0.data.data,J)?{file_id:a0.data.data}:{image_url:`data:${KZ({part:a0})};base64,${H4(a0.data.data)}`},detail:(h8=(L$=a0.providerOptions)==null?void 0:L$[Y])==null?void 0:h8.imageDetail,...B4!=null&&{prompt_cache_breakpoint:B4}};else{if(a0.data.type==="url")return{type:"input_file",file_url:a0.data.url.toString(),...B4!=null&&{prompt_cache_breakpoint:B4}};let C8=KZ({part:a0});if(C8!=="application/pdf"&&!G)throw new X$({functionality:`file part media type ${C8}`});return{type:"input_file",...typeof a0.data.data==="string"&&UL$(a0.data.data,J)?{file_id:a0.data.data}:{filename:(D5=a0.filename)!=null?D5:C8==="application/pdf"?`part-${P1}.pdf`:`part-${P1}`,file_data:`data:${C8};base64,${H4(a0.data.data)}`},...B4!=null&&{prompt_cache_breakpoint:B4}}}}}}})});break}case"assistant":{let a0={};for(let P1 of Z5)switch(P1.type){case"text":{let d$=(w=P1.providerOptions)==null?void 0:w[Y],o1=d$==null?void 0:d$.itemId,L$=d$==null?void 0:d$.phase;if(K&&o1!=null)break;if(W&&o1!=null){y0.push({type:"item_reference",id:o1});break}y0.push({...X&&{type:"message"},role:"assistant",content:P1.text,...L$!=null&&{phase:L$}});break}case"tool-call":{let d$=R51({providerOptions:P1.providerOptions,providerOptionsName:Y}),o1=d$==null?void 0:R4.get(d$.toolCallId);if(d$!=null&&o1!=null&&V51(o1.metadata,d$)){if(!Y8.has(o1.metadata.toolCallId)){if(Y8.add(o1.metadata.toolCallId),!K)y0.push({type:"function_call",call_id:o1.metadata.toolCallId,name:o1.metadata.toolName,arguments:o1.metadata.input})}break}let L$=(A=(P=(E=P1.providerOptions)==null?void 0:E[Y])==null?void 0:P.itemId)!=null?A:(z=(T=P1.providerMetadata)==null?void 0:T[Y])==null?void 0:z.itemId,h8=(v=(f=(M=P1.providerOptions)==null?void 0:M[Y])==null?void 0:f.namespace)!=null?v:(V=(S=P1.providerMetadata)==null?void 0:S[Y])==null?void 0:V.namespace,D5=(G0=(u=(b=P1.providerOptions)==null?void 0:b[Y])==null?void 0:u.async)!=null?G0:(i=(m=P1.providerMetadata)==null?void 0:m[Y])==null?void 0:i.async,B4=(X0=(I0=P1.providerOptions)==null?void 0:I0[Y])==null?void 0:X0.caller;if((B4==null?void 0:B4.type)==="program")k$.add(P1.toolCallId);if(K&&L$!=null)break;let F$=Z.toProviderToolName(P1.toolName);if(P1.toolName===D){if(W&&L$!=null){y0.push({type:"item_reference",id:L$});break}let X8=typeof P1.input==="string"?await e00({text:P1.input,schema:L51}):await U8({value:P1.input,schema:L51}),E$=X8.call_id!=null?"client":"server";y0.push({type:"tool_search_call",id:L$!=null?L$:P1.toolCallId,execution:E$,call_id:(H0=X8.call_id)!=null?H0:null,status:"completed",arguments:X8.arguments});break}if(F$==="programmatic_tool_calling"){if(W&&L$!=null){y0.push({type:"item_reference",id:L$});break}let X8=await U8({value:P1.input,schema:uL$});y0.push({type:"program",id:L$!=null?L$:P1.toolCallId,call_id:P1.toolCallId,code:X8.code,fingerprint:X8.fingerprint});break}if(P1.providerExecuted){if(W&&L$!=null)y0.push({type:"item_reference",id:L$});if(W||!U||F$!=="shell")break}let C8=F&&F$==="local_shell"||U&&F$==="shell"||N&&F$==="apply_patch"||B&&F$==="computer"||((s=O==null?void 0:O.has(F$))!=null?s:!1);if(H&&W&&L$!=null&&C8)break;if(W&&L$!=null&&C8){y0.push({type:"item_reference",id:L$});break}if(F&&F$==="local_shell"){let X8=await U8({value:P1.input,schema:yL$});y0.push({type:"local_shell_call",call_id:P1.toolCallId,id:L$,action:{type:"exec",command:X8.action.command,timeout_ms:X8.action.timeoutMs,user:X8.action.user,working_directory:X8.action.workingDirectory,env:X8.action.env}});break}if(U&&F$==="shell"){let X8=await U8({value:P1.input,schema:hL$});y0.push({type:"shell_call",call_id:P1.toolCallId,id:L$,status:"completed",action:{commands:X8.action.commands,timeout_ms:X8.action.timeoutMs,max_output_length:X8.action.maxOutputLength}});break}if(N&&F$==="apply_patch"){let X8=await U8({value:P1.input,schema:CL$});y0.push({type:"apply_patch_call",call_id:X8.callId,id:L$,status:"completed",operation:X8.operation});break}if(B&&F$==="computer"){let X8=await U8({value:P1.input,schema:vL$});y0.push({type:"computer_call",call_id:P1.toolCallId,id:L$,status:X8.status,actions:X8.actions.map((E$)=>{switch(E$.type){case"click":case"double_click":case"move":return{...E$,keys:E$.keys};case"drag":return{...E$,keys:E$.keys};case"scroll":return{type:"scroll",x:E$.x,y:E$.y,scroll_x:E$.scrollX,scroll_y:E$.scrollY,keys:E$.keys};default:return E$}}),pending_safety_checks:X8.pendingSafetyChecks.map((E$)=>({id:E$.id,code:E$.code,message:E$.message}))});break}if(O==null?void 0:O.has(F$)){y0.push({type:"custom_tool_call",call_id:P1.toolCallId,name:F$,input:typeof P1.input==="string"?P1.input:JSON.stringify(P1.input),...D5!=null&&{async:D5},id:L$});break}y0.push({type:"function_call",call_id:P1.toolCallId,name:F$,arguments:FS4(P1.input),...D5!=null&&{async:D5},...h8!=null&&{namespace:h8},...B4!=null&&{caller:HL$(B4)}});break}case"tool-result":{if(P1.output.type==="execution-denied"||P1.output.type==="json"&&typeof P1.output.value==="object"&&P1.output.value!=null&&"type"in P1.output.value&&P1.output.value.type==="execution-denied")break;if(K)break;let d$=Z.toProviderToolName(P1.toolName);if(P1.toolName===D){let o1=(C0=(u0=(r=(o=P1.providerOptions)==null?void 0:o[Y])==null?void 0:r.itemId)!=null?u0:(J0=(Q0=P1.providerMetadata)==null?void 0:Q0[Y])==null?void 0:J0.itemId)!=null?C0:P1.toolCallId;if(W)y0.push({type:"item_reference",id:o1});else if(P1.output.type==="json"){let L$=await U8({value:P1.output.value,schema:O51});y0.push({type:"tool_search_output",id:o1,execution:"server",call_id:null,status:"completed",tools:L$.tools})}break}if(d$==="programmatic_tool_calling"){let o1=(B1=(m0=(i0=(Y1=P1.providerOptions)==null?void 0:Y1[Y])==null?void 0:i0.itemId)!=null?m0:(E0=(j0=P1.providerMetadata)==null?void 0:j0[Y])==null?void 0:E0.itemId)!=null?B1:P1.toolCallId;if(W)y0.push({type:"item_reference",id:o1});else if(P1.output.type==="json"){let L$=await U8({value:P1.output.value,schema:lL$});y0.push({type:"program_output",id:o1,call_id:P1.toolCallId,result:L$.result,status:L$.status})}break}if(U&&d$==="shell"){if(P1.output.type==="json"){let o1=await U8({value:P1.output.value,schema:D51});y0.push({type:"shell_call_output",call_id:P1.toolCallId,output:o1.output.map((L$)=>({stdout:L$.stdout,stderr:L$.stderr,outcome:L$.outcome.type==="timeout"?{type:"timeout"}:{type:"exit",exit_code:L$.outcome.exitCode}}))})}break}if(W){let o1=(c0=(_0=(H1=P1.providerOptions)==null?void 0:H1[Y])==null?void 0:_0.itemId)!=null?c0:P1.toolCallId;y0.push({type:"item_reference",id:o1})}else T1.push({type:"other",message:`Results for OpenAI tool ${P1.toolName} are not sent to the API when store is false`});break}case"reasoning":{let d$=await x$({provider:Y,providerOptions:P1.providerOptions,schema:BS4}),o1=d$==null?void 0:d$.itemId;if((K||H)&&o1!=null)break;if(o1!=null){let L$=a0[o1];if(W){if(L$===void 0)y0.push({type:"item_reference",id:o1}),a0[o1]={type:"reasoning",id:o1,summary:[]}}else{let h8=[];if(P1.text.length>0)h8.push({type:"summary_text",text:P1.text});else if(L$!==void 0)T1.push({type:"other",message:`Cannot append empty reasoning part to existing reasoning sequence. Skipping reasoning part: ${JSON.stringify(P1)}.`});if(L$===void 0)a0[o1]={type:"reasoning",id:o1,encrypted_content:d$==null?void 0:d$.reasoningEncryptedContent,summary:h8},y0.push(a0[o1]);else if(L$.summary.push(...h8),(d$==null?void 0:d$.reasoningEncryptedContent)!=null)L$.encrypted_content=d$.reasoningEncryptedContent}}else{let L$=d$==null?void 0:d$.reasoningEncryptedContent;if(L$!=null){let h8=[];if(P1.text.length>0)h8.push({type:"summary_text",text:P1.text});y0.push({type:"reasoning",encrypted_content:L$,summary:h8})}else T1.push({type:"other",message:`Non-OpenAI reasoning parts are not supported. Skipping reasoning part: ${JSON.stringify(P1)}.`})}break}case"custom":{if(P1.kind==="openai.compaction"){let d$=(p0=P1.providerOptions)==null?void 0:p0[Y],o1=d$==null?void 0:d$.itemId;if(K&&o1!=null)break;if(W&&o1!=null){y0.push({type:"item_reference",id:o1});break}let L$=d$==null?void 0:d$.encryptedContent;if(o1!=null)y0.push({type:"compaction",id:o1,encrypted_content:L$})}break}}break}case"tool":{for(let a0 of Z5){if(a0.type==="tool-approval-response"){let F$=a0;if(Q8.has(F$.approvalId))continue;if(Q8.add(F$.approvalId),W&&!K&&!H)y0.push({type:"item_reference",id:F$.approvalId});y0.push({type:"mcp_approval_response",approval_request_id:F$.approvalId,approve:F$.approved});continue}let P1=R51({providerOptions:a0.providerOptions,providerOptionsName:Y}),d$=P1==null?void 0:R4.get(P1.toolCallId);if(P1!=null&&d$!=null&&V51(d$.metadata,P1)){if(!d6.has(d$.metadata.toolCallId)){d6.add(d$.metadata.toolCallId);let F$=await Promise.all(d$.results.map(async(E$)=>{let P9=F51({output:E$.output,toolResultProviderOptions:E$.providerOptions,providerOptionsName:Y});return{output:await FL$({output:E$.output,toolName:E$.toolName,outputSchemaToolNames:j,providerOptionsName:Y,warnings:T1}),promptCacheBreakpoint:P9}})),C8=F$.map(({output:E$})=>typeof E$==="string"?E$:JSON.stringify(E$)),X8=F$.some(({promptCacheBreakpoint:E$})=>E$!=null);y0.push({type:"function_call_output",call_id:d$.metadata.toolCallId,output:X8?C8.map((E$,P9)=>({type:"input_text",text:P9===0?E$:`
600
600
  ${E$}`,...F$[P9].promptCacheBreakpoint!=null&&{prompt_cache_breakpoint:F$[P9].promptCacheBreakpoint}})):C8.join(`
601
601
  `)})}continue}let o1=a0.output;if(o1.type==="execution-denied"){if((K0=(k1=o1.providerOptions)==null?void 0:k1.openai)==null?void 0:K0.approvalId)continue}let L$=Z.toProviderToolName(a0.toolName);if(a0.toolName===D&&o1.type==="json"){let F$=await U8({value:o1.value,schema:O51});y0.push({type:"tool_search_output",execution:"client",call_id:a0.toolCallId,status:"completed",tools:F$.tools});continue}if(F&&L$==="local_shell"&&o1.type==="json"){let F$=await U8({value:o1.value,schema:gL$});y0.push({type:"local_shell_call_output",call_id:a0.toolCallId,output:F$.output});continue}if(U&&L$==="shell"&&o1.type==="json"){let F$=await U8({value:o1.value,schema:D51});y0.push({type:"shell_call_output",call_id:a0.toolCallId,output:F$.output.map((C8)=>({stdout:C8.stdout,stderr:C8.stderr,outcome:C8.outcome.type==="timeout"?{type:"timeout"}:{type:"exit",exit_code:C8.outcome.exitCode}}))});continue}if(N&&a0.toolName==="apply_patch"&&o1.type==="json"){let F$=await U8({value:o1.value,schema:SL$});y0.push({type:"apply_patch_call_output",call_id:a0.toolCallId,status:F$.status,output:F$.output});continue}if(B&&L$==="computer"&&o1.type==="json"){let F$=await U8({value:o1.value,schema:bL$});y0.push({type:"computer_call_output",call_id:a0.toolCallId,output:{type:"computer_screenshot",image_url:F$.output.imageUrl,file_id:F$.output.fileId,detail:F$.output.detail},acknowledged_safety_checks:(h=F$.acknowledgedSafetyChecks)==null?void 0:h.map((C8)=>({id:C8.id,code:C8.code,message:C8.message}))});continue}if(O==null?void 0:O.has(L$)){let F$=F51({output:o1,toolResultProviderOptions:a0.providerOptions,providerOptionsName:Y}),C8=(E$)=>F$==null?E$:[{type:"input_text",text:E$,prompt_cache_breakpoint:F$}],X8;switch(o1.type){case"text":case"error-text":X8=C8(o1.value);break;case"execution-denied":X8=C8((U0=o1.reason)!=null?U0:"Tool call execution denied.");break;case"json":case"error-json":X8=C8(JSON.stringify(o1.value));break;case"content":X8=o1.value.map((E$)=>{var P9,aQ,tZ;let Y0=cE(E$.providerOptions,Y);switch(E$.type){case"text":return{type:"input_text",text:E$.text,...Y0!=null&&{prompt_cache_breakpoint:Y0}};case"file":{let S0=wY(E$.mediaType),v1=(aQ=(P9=E$.providerOptions)==null?void 0:P9[Y])==null?void 0:aQ.imageDetail;if(E$.data.type==="data"){let d8=KZ({part:E$});if(S0==="image")return{type:"input_image",image_url:`data:${d8};base64,${H4(E$.data.data)}`,detail:v1,...Y0!=null&&{prompt_cache_breakpoint:Y0}};return{type:"input_file",filename:(tZ=E$.filename)!=null?tZ:"data",file_data:`data:${d8};base64,${H4(E$.data.data)}`,...Y0!=null&&{prompt_cache_breakpoint:Y0}}}if(E$.data.type==="url"){if(S0==="image")return{type:"input_image",image_url:E$.data.url.toString(),detail:v1,...Y0!=null&&{prompt_cache_breakpoint:Y0}};return{type:"input_file",file_url:E$.data.url.toString(),...Y0!=null&&{prompt_cache_breakpoint:Y0}}}T1.push({type:"other",message:`unsupported custom tool content part type: ${E$.type} with data type: ${E$.data.type}`});return}default:T1.push({type:"other",message:`unsupported custom tool content part type: ${E$.type}`});return}}).filter(AE);break;default:X8=""}y0.push({type:"custom_tool_call_output",call_id:a0.toolCallId,output:X8});continue}let h8=(q0=(N0=a0.providerOptions)==null?void 0:N0[Y])==null?void 0:q0.caller;if(o1.type==="execution-denied"&&((h8==null?void 0:h8.type)==="program"||k$.has(a0.toolCallId)))throw new X$({functionality:"execution-denied results for programmatic tool calls"});let D5=await FL$({output:o1,toolName:a0.toolName,outputSchemaToolNames:j,promptCacheBreakpoint:F51({output:o1,toolResultProviderOptions:a0.providerOptions,providerOptionsName:Y}),providerOptionsName:Y,warnings:T1}),B4=HL$(h8);y0.push({type:"function_call_output",call_id:a0.toolCallId,output:D5,...B4!=null&&{caller:B4}})}break}default:throw Error(`Unsupported role: ${c8}`)}if(!W&&y0.some((c8)=>("type"in c8)&&c8.type==="reasoning"&&c8.encrypted_content==null))T1.push({type:"other",message:"Reasoning parts without encrypted content are not supported when store is false. Skipping reasoning parts."}),y0=y0.filter((c8)=>!("type"in c8)||c8.type!=="reasoning"||c8.encrypted_content!=null);return{input:y0,warnings:T1}}async function LS4({tools:$,toolChoice:Z,allowedTools:Q,toolNameMapping:Y,customProviderToolNames:X,outputSchemaToolNames:J,supportsAsyncToolCalling:G=!0}){var W,K,H,F;$=($==null?void 0:$.length)?$:void 0;let U=[];if($==null)return{tools:void 0,toolChoice:void 0,toolWarnings:U};let N=[],B=new Map,D=X!=null?X:new Set,O=new Map,j=new Map,w=(P,T,z)=>{if(O.set(P,T),z==null||z===P)return;let A=j.get(z);if(A==null)j.set(z,T);else if(A!=="ambiguous"&&!OS4(A,T))j.set(z,"ambiguous")};for(let P of $)switch(P.type){case"function":{let T=(W=P.providerOptions)==null?void 0:W.openai;if((T==null?void 0:T.outputSchema)!=null)J==null||J.add(P.name);let z=wS4({tool:P,options:T,toolWarnings:U,async:DL$({value:T==null?void 0:T.async,supportsAsyncToolCalling:G,toolName:P.name,toolWarnings:U})}),A=T==null?void 0:T.namespace;if(A==null)N.push(z);else{let M=B.get(A.name);if(M==null)M={type:"namespace",name:A.name,description:A.description,tools:[]},B.set(A.name,M),N.push(M);else if(M.description!==A.description)throw new X$({functionality:`conflicting descriptions for OpenAI tool namespace "${A.name}"`});M.tools.push(z)}w(P.name,A!=null?{supported:!1,reason:"tools inside an OpenAI tool namespace are not visible to tool_choice.allowed_tools"}:(T==null?void 0:T.deferLoading)===!0?{supported:!1,reason:"deferred tools are not visible to tool_choice.allowed_tools"}:{supported:!0,entry:{type:"function",name:P.name}},void 0);break}case"provider":{let T=N.length;switch(P.id){case"openai.file_search":{let z=await U8({value:P.args,schema:qC4});N.push({type:"file_search",vector_store_ids:z.vectorStoreIds,max_num_results:z.maxNumResults,ranking_options:z.ranking?{ranker:z.ranking.ranker,score_threshold:z.ranking.scoreThreshold}:void 0,filters:z.filters});break}case"openai.local_shell":{N.push({type:"local_shell"});break}case"openai.shell":{let z=await U8({value:P.args,schema:bC4});N.push({type:"shell",...z.environment&&{environment:ES4(z.environment)}});break}case"openai.apply_patch":{N.push({type:"apply_patch"});break}case"openai.computer":{N.push({type:"computer"});break}case"openai.web_search_preview":{let z=await U8({value:P.args,schema:dC4});N.push({type:"web_search_preview",search_context_size:z.searchContextSize,user_location:z.userLocation});break}case"openai.web_search":{let z=await U8({value:P.args,schema:hC4});N.push({type:"web_search",filters:z.filters!=null?{allowed_domains:z.filters.allowedDomains,blocked_domains:z.filters.blockedDomains}:void 0,external_web_access:z.externalWebAccess,search_context_size:z.searchContextSize,user_location:z.userLocation});break}case"openai.code_interpreter":{let z=await U8({value:P.args,schema:DC4});N.push({type:"code_interpreter",container:z.container==null?{type:"auto",file_ids:void 0}:typeof z.container==="string"?z.container:{type:"auto",file_ids:z.container.fileIds}});break}case"openai.image_generation":{let z=await U8({value:P.args,schema:VC4});N.push({type:"image_generation",action:z.action,background:z.background,input_fidelity:z.inputFidelity,input_image_mask:z.inputImageMask?{file_id:z.inputImageMask.fileId,image_url:z.inputImageMask.imageUrl}:void 0,model:z.model,moderation:z.moderation,partial_images:z.partialImages,quality:z.quality,output_compression:z.outputCompression,output_format:z.outputFormat,size:z.size});break}case"openai.mcp":{let z=await U8({value:P.args,schema:tC4}),A=(S)=>({tool_names:S.toolNames}),M=z.requireApproval,f=M==null?void 0:typeof M==="string"?M:M.never!=null?{never:A(M.never)}:void 0;N.push({type:"mcp",server_label:z.serverLabel,allowed_tools:Array.isArray(z.allowedTools)?z.allowedTools:z.allowedTools?{read_only:z.allowedTools.readOnly,tool_names:z.allowedTools.toolNames}:void 0,authorization:z.authorization,connector_id:z.connectorId,headers:z.headers,require_approval:f!=null?f:"never",server_description:z.serverDescription,server_url:z.serverUrl});break}case"openai.custom":{let z=await U8({value:P.args,schema:PC4});N.push({type:"custom",name:P.name,description:z.description,...DL$({value:z.async,supportsAsyncToolCalling:G,toolName:P.name,toolWarnings:U})!=null?{async:z.async}:{},format:z.format}),D.add(P.name);break}case"openai.programmatic_tool_calling":{N.push({type:"programmatic_tool_calling"});break}case"openai.tool_search":{let z=await U8({value:P.args,schema:fC4});N.push({type:"tool_search",...z.execution!=null?{execution:z.execution}:{},...z.description!=null?{description:z.description}:{},...z.parameters!=null?{parameters:z.parameters}:{}});break}}if(N.length>T){let z=N[T];w(P.name,jS4(z),Y==null?void 0:Y.toProviderToolName(P.name))}break}default:U.push({type:"unsupported",feature:`function tool ${P}`});break}if(Q!=null){let P=[],T=[];for(let z of Q.toolNames){let A=O.get(z),M=A!=null?A:j.get(z);if(A!=null&&j.has(z))U.push({type:"unsupported",feature:`allowedTools entry "${z}"`,details:"this name is both a tool name and the provider tool name of another tool in this request; the tool with this name is allowed"});if(M==="ambiguous"){U.push({type:"unsupported",feature:`allowedTools entry "${z}"`,details:"several tools in this request share this provider tool name; use the tool name from the tools for this request instead"}),T.push(z);continue}if(M==null){U.push({type:"unsupported",feature:`allowedTools entry "${z}"`,details:"the tool is not part of the tools for this request and is sent as a function tool"}),P.push({type:"function",name:(K=Y==null?void 0:Y.toProviderToolName(z))!=null?K:z});continue}if(!M.supported){U.push({type:"unsupported",feature:`allowedTools entry "${z}"`,details:`${M.reason}; the tool is removed from the allowed tools`}),T.push(z);continue}P.push(M.entry)}if(P.length===0)throw new X$({functionality:`allowedTools with only tools that cannot be allow-listed (${T.join(", ")})`});return{tools:N,toolChoice:{type:"allowed_tools",mode:(H=Q.mode)!=null?H:"auto",tools:P},toolWarnings:U}}if(Z==null)return{tools:N,toolChoice:void 0,toolWarnings:U};let E=Z.type;switch(E){case"auto":case"none":case"required":return{tools:N,toolChoice:E,toolWarnings:U};case"tool":{let P=(F=Y==null?void 0:Y.toProviderToolName(Z.toolName))!=null?F:Z.toolName;return{tools:N,toolChoice:P==="code_interpreter"||P==="file_search"||P==="image_generation"||P==="web_search_preview"||P==="web_search"||P==="mcp"||P==="apply_patch"||P==="computer"||P==="programmatic_tool_calling"?{type:P}:D.has(P)?{type:"custom",name:P}:{type:"function",name:P},toolWarnings:U}}default:throw new X$({functionality:`tool choice type: ${E}`})}}function BL$($){switch($.type){case"mcp":return`mcp:${$.server_label}`;case"function":case"custom":return`${$.type}:${$.name}`;default:return $.type}}function OS4($,Z){if($.supported&&Z.supported)return BL$($.entry)===BL$(Z.entry);if(!$.supported&&!Z.supported)return $.reason===Z.reason;return!1}function jS4($){switch($.type){case"custom":return{supported:!0,entry:{type:"custom",name:$.name}};case"mcp":return{supported:!0,entry:{type:"mcp",server_label:$.server_label}};case"file_search":case"web_search":case"web_search_preview":case"image_generation":case"code_interpreter":case"computer":case"apply_patch":case"shell":case"local_shell":case"programmatic_tool_calling":return{supported:!0,entry:{type:$.type}};default:return{supported:!1,reason:`OpenAI does not support ${$.type} tools in tool_choice.allowed_tools`}}}function wS4({tool:$,options:Z,toolWarnings:Q,async:Y}){var X;let J=Z==null?void 0:Z.deferLoading,G=k$0($.inputSchema),W=(Z==null?void 0:Z.outputSchema)!=null?k$0(Z.outputSchema):void 0;return Q.push(...G.warnings,...(X=W==null?void 0:W.warnings)!=null?X:[]),{type:"function",name:$.name,description:$.description,parameters:G.schema,...Y!=null?{async:Y}:{},...$.strict!=null?{strict:$.strict}:{},...J!=null?{defer_loading:J}:{},...(Z==null?void 0:Z.allowedCallers)!=null?{allowed_callers:Z.allowedCallers}:{},...(Z==null?void 0:Z.outputSchema)!=null?{output_schema:W==null?void 0:W.schema}:{}}}function DL$({value:$,supportsAsyncToolCalling:Z,toolName:Q,toolWarnings:Y}){if($!==!0||Z)return $;Y.push({type:"unsupported",feature:`async tool calling for "${Q}"`,details:"Async tool calling is only supported by GPT-6 and later models."});return}function ES4($){if($.type==="containerReference")return{type:"container_reference",container_id:$.containerId};if($.type==="containerAuto"){let Q=$;return{type:"container_auto",file_ids:Q.fileIds,memory_limit:Q.memoryLimit,network_policy:Q.networkPolicy==null?void 0:Q.networkPolicy.type==="disabled"?{type:"disabled"}:{type:"allowlist",allowed_domains:Q.networkPolicy.allowedDomains,domain_secrets:Q.networkPolicy.domainSecrets},skills:PS4(Q.skills)}}return{type:"local",skills:$.skills}}function PS4($){return $==null?void 0:$.map((Z)=>{var Q,Y;return Z.type==="skillReference"?{type:"skill_reference",skill_id:EY({reference:(Q=Z.providerReference)!=null?Q:{},provider:"openai"}),version:(Y=Z.version)!=null?Y:"latest"}:{type:"inline",name:Z.name,description:Z.description,source:{type:"base64",media_type:Z.source.mediaType,data:Z.source.data}}})}function LL$($){var Z,Q;let Y={};for(let X of $){if(X.role!=="assistant")continue;for(let J of X.content){if(J.type!=="tool-call")continue;let G=(Q=(Z=J.providerOptions)==null?void 0:Z.openai)==null?void 0:Q.approvalRequestId;if(G!=null)Y[G]=J.toolCallId}}return Y}function zS4($){switch($.type){case"click":return{type:"click",button:$.button,x:$.x,y:$.y,...$.keys!=null&&{keys:$.keys}};case"double_click":return{type:"double_click",x:$.x,y:$.y,...$.keys!=null&&{keys:$.keys}};case"drag":return{type:"drag",path:$.path,...$.keys!=null&&{keys:$.keys}};case"keypress":return $;case"move":return{type:"move",x:$.x,y:$.y,...$.keys!=null&&{keys:$.keys}};case"screenshot":return $;case"scroll":return{type:"scroll",x:$.x,y:$.y,scrollX:$.scroll_x,scrollY:$.scroll_y,...$.keys!=null&&{keys:$.keys}};case"type":return $;case"wait":return $}}function OL$({action:$,actions:Z,pending_safety_checks:Q,status:Y}){var X;return{actions:(Z!=null?Z:$!=null?[$]:[]).map(zS4),pendingSafetyChecks:(X=Q==null?void 0:Q.map((J)=>({id:J.id,...J.code!=null&&{code:J.code},...J.message!=null&&{message:J.message}})))!=null?X:[],status:Y}}function AS4($){return $.type==="response.output_text.delta"}function TS4($){let Z=RS4($);return Z!=null&&Array.isArray(Z.choices)&&typeof Z.type!=="string"}function qS4({value:$,cause:Z,url:Q,requestBodyValues:Y,responseHeaders:X}){return new j8({message:"Received a Chat Completions stream while using the OpenAI Responses API. The default OpenAI provider model uses the Responses API. If your custom baseURL targets a Chat Completions-compatible endpoint, use openai.chat('model-id') or createOpenAI(...).chat('model-id') instead. You can also use @ai-sdk/openai-compatible for OpenAI-compatible providers.",url:Q,requestBodyValues:Y,responseHeaders:X,responseBody:JSON.stringify($),cause:Z,data:$,isRetryable:!1})}function RS4($){return typeof $==="object"&&$!=null?$:void 0}function MS4($){return $.type==="response.output_item.done"}function VS4($){return $.type==="response.completed"||$.type==="response.incomplete"}function jL$($){return $.type==="response.failed"}function IS4($){return $.type==="response.created"}function kS4($){return $.type==="response.function_call_arguments.delta"}function CS4($){return $.type==="response.custom_tool_call_input.delta"}function SS4($){return $.type==="response.image_generation_call.partial_image"}function _S4($){return $.type==="response.code_interpreter_call_code.delta"}function vS4($){return $.type==="response.code_interpreter_call_code.done"}function bS4($){return $.type==="response.apply_patch_call_operation_diff.delta"}function xS4($){return $.type==="response.apply_patch_call_operation_diff.done"}function wL$($){return $.type==="response.output_item.added"}function fS4($){return $.type==="response.output_text.annotation.added"}function EL$($){return $.type==="error"}function yS4($){return $.type==="response.in_progress"}function gS4($){return!($.type==="response.created"||$.type==="response.in_progress"||$.type==="response.failed"||$.type==="error"||$.type==="unknown_chunk")}function I51($){var Z;if($==null)return{};switch($.type){case"search":return{action:{type:"search",query:(Z=$.query)!=null?Z:void 0,...$.queries!=null&&{queries:$.queries}},...$.sources!=null&&{sources:$.sources}};case"open_page":return{action:{type:"openPage",url:$.url}};case"find_in_page":return{action:{type:"findInPage",url:$.url,pattern:$.pattern}}}}function Oq($){return JSON.stringify($).slice(1,-1)}function uS4($){for(let Z of $){let Q=Z.type;if(Q!=="text")throw new X$({functionality:`batch request type: ${Q}`,message:`The OpenAI Batch API does not support batch requests with type "${Q}".`})}}function dS4($){var Z;let Q=(Z=$[0])==null?void 0:Z.modelId;for(let Y of $)if(Y.modelId!==Q)throw new l8({argument:"requests",message:`The OpenAI Batch API requires all requests in a batch to use the same model. Found "${Q}" and "${Y.modelId}".`})}function dU0($){var Z,Q,Y;let X=pS4($.status),J=(Q=(Z=$.errors)==null?void 0:Z.data)==null?void 0:Q[0],G=nS4($.request_counts),W=k51($.created_at),K=k51($.expires_at);return{status:X,rawStatus:$.status,...G!=null?{requestCounts:G}:{},...J!=null?{error:{message:(Y=J.message)!=null?Y:"OpenAI batch failed.",...J.code!=null?{code:J.code}:{}}}:{},...W!=null?{createdAt:W}:{},...K!=null?{expiresAt:K}:{}}}function pS4($){switch($){case"completed":return"completed";case"failed":case"expired":case"cancelled":return"failed";case"validating":case"in_progress":case"finalizing":case"cancelling":default:return"pending"}}function nS4($){let Z=$==null?void 0:$.total,Q=$==null?void 0:$.completed,Y=$==null?void 0:$.failed;return TE({total:Z,pending:Z!=null&&Q!=null&&Y!=null?Z-Q-Y:void 0,completed:Q,failed:Y})}function k51($){if($==null||!Number.isFinite($))return;let Z=new Date($*1000);return Number.isNaN(Z.getTime())?void 0:Z.toISOString()}async function tS4({body:$,statusCode:Z}){var Q;let Y=await i4({value:$,schema:tU0});if(!Y.success)return{message:`OpenAI batch request failed with status code ${Z}.`,statusCode:Z};return{message:Y.value.error.message,type:(Q=Y.value.error.type)!=null?Q:void 0,code:Y.value.error.code!=null?String(Y.value.error.code):void 0,statusCode:Z}}async function oS4($){var Z,Q,Y,X,J,G,W,K;let H=await i4({value:$,schema:mL$});if(!H.success)return{success:!1,error:{message:"OpenAI returned an invalid Responses batch result.",code:"invalid_response"}};let F=H.value;if(F.error!=null)return{success:!1,error:{message:F.error.message,type:F.error.type,code:F.error.code}};if(F.output==null){let O=(Z=F.incomplete_details)==null?void 0:Z.reason;return{success:!1,error:{message:O!=null?`OpenAI Responses returned no output (${O}).`:"OpenAI Responses returned no output.",code:"invalid_response"}}}let U=[],N=[],B=!1;for(let O of F.output)switch(O.type){case"reasoning":{let j=O.summary.length>0?O.summary:[{type:"summary_text",text:""}];for(let w of j)U.push({type:"reasoning",text:w.text,providerMetadata:{openai:{itemId:O.id,reasoningEncryptedContent:(Q=O.encrypted_content)!=null?Q:null}}});break}case"message":{for(let j of O.content)if(U.push({type:"text",text:j.text}),j.logprobs!=null)N.push(j.logprobs);break}case"function_call":B=!0,U.push({type:"tool-call",toolCallId:O.call_id,toolName:O.name,input:O.arguments,providerMetadata:{openai:{itemId:O.id,...O.namespace!=null&&{namespace:O.namespace},...O.caller!=null&&{caller:O.caller.type==="program"?{type:"program",callerId:O.caller.caller_id}:O.caller}}}});break;case"custom_tool_call":B=!0,U.push({type:"tool-call",toolCallId:O.call_id,toolName:O.name,input:JSON.stringify(O.input),providerMetadata:{openai:{itemId:O.id}}});break;case"web_search_call":U.push({type:"tool-call",toolCallId:O.id,toolName:"web_search",input:"{}",providerExecuted:!0,dynamic:!0}),U.push({type:"tool-result",toolCallId:O.id,toolName:"web_search",result:I51(O.action),dynamic:!0});break;case"file_search_call":U.push({type:"tool-call",toolCallId:O.id,toolName:"file_search",input:"{}",providerExecuted:!0,dynamic:!0}),U.push({type:"tool-result",toolCallId:O.id,toolName:"file_search",result:{queries:O.queries,results:(X=(Y=O.results)==null?void 0:Y.map((j)=>({attributes:j.attributes,fileId:j.file_id,filename:j.filename,score:j.score,text:j.text})))!=null?X:null},dynamic:!0});break;case"code_interpreter_call":U.push({type:"tool-call",toolCallId:O.id,toolName:"code_interpreter",input:JSON.stringify({code:O.code,containerId:O.container_id}),providerExecuted:!0,dynamic:!0}),U.push({type:"tool-result",toolCallId:O.id,toolName:"code_interpreter",result:{outputs:O.outputs},dynamic:!0});break;default:return{success:!1,error:{message:`OpenAI returned an unsupported "${O.type}" output item in an AI SDK text batch.`,code:"unsupported_content"}}}let D={openai:{responseId:F.id,...N.length>0?{logprobs:N}:{},...typeof F.service_tier==="string"?{serviceTier:F.service_tier}:{},...((J=F.reasoning)==null?void 0:J.context)!=null?{reasoningContext:F.reasoning.context}:{}}};return{success:!0,result:{content:U,finishReason:{unified:pU0({finishReason:(G=F.incomplete_details)==null?void 0:G.reason,hasFunctionCall:B}),raw:(K=(W=F.incomplete_details)==null?void 0:W.reason)!=null?K:void 0},usage:w51(F.usage),response:{id:F.id,timestamp:F.created_at!=null?new Date(F.created_at*1000):void 0,modelId:F.model},providerMetadata:D,warnings:[]}}}function C51($,Z,Q="websocket"){var Y,X,J,G,W,K;for(let N of Object.keys($))if(!["instructions","voice","inputAudioFormat","outputAudioFormat","providerOptions"].includes(N))throw new X$({functionality:`OpenAI Live session setting: ${N}`});if(_K.object({delegation:_K.object({type:_K.literal("responses")})}).safeParse((Y=$.providerOptions)==null?void 0:Y.openai).success)throw new X$({functionality:"OpenAI Live Responses delegation; only client delegation is supported"});let H=aS4.parse((J=(X=$.providerOptions)==null?void 0:X.openai)!=null?J:{});if(H.client!==void 0&&Q!=="webrtc")throw new X$({functionality:"OpenAI Live client permissions outside WebRTC startup"});if(H.voice!=null&&$.voice!=null)throw new l8({argument:"voice",message:"Choose either voice or providerOptions.openai.voice."});if(Q==="webrtc"&&($.inputAudioFormat!==void 0||$.outputAudioFormat!==void 0))throw new X$({functionality:"Fixed audio formats for OpenAI Live WebRTC; audio is negotiated through SDP"});let F=$.inputAudioFormat==null?void 0:AL$.parse($.inputAudioFormat),U=$.outputAudioFormat==null?void 0:AL$.parse($.outputAudioFormat);if(F!=null&&U!=null&&(F.type!==U.type||F.rate!==U.rate))throw new l8({argument:"outputAudioFormat",message:"OpenAI Live requires the same input and output audio format."});return{model:Z,...$.instructions!==void 0?{instructions:$.instructions}:{},audio:{...Q==="websocket"?{format:(G=F!=null?F:U)!=null?G:{type:"audio/pcm",rate:24000}}:{},output:{voice:(K=(W=H.voice)!=null?W:$.voice)!=null?K:"marin"}},...H.delegation!==void 0?{delegation:H.delegation}:{},...H.client!==void 0?{client:{data_channel:{...H.client.dataChannel.allowedClientEvents!==void 0?{allowed_client_events:H.client.dataChannel.allowedClientEvents}:{},...H.client.dataChannel.allowedServerEvents!==void 0?{allowed_server_events:H.client.dataChannel.allowedServerEvents==="all"?"all":H.client.dataChannel.allowedServerEvents.map((N)=>({type:N.type,...N.responseEvent!==void 0?{response_event:N.responseEvent}:{}}))}:{}}}}:{},...H.input!==void 0?{input:H.input}:{},...H.store!==void 0?{store:H.store}:{}}}function Z_4(){return($)=>tL$($)}function tL$($){return[Q_4($)]}function Q_4($){var Z,Q,Y,X,J,G,W,K,H,F;let U=$_4.safeParse($);if(U.success&&!eS4.has(U.data.type))return{type:"custom",rawType:U.data.type,raw:$};let N=nL$.safeParse($);if(!N.success)return{type:"error",code:"invalid_server_event",message:"Invalid OpenAI Live server event.",raw:$};let B=N.data;if("start_ms"in B&&B.end_ms<B.start_ms)return{type:"error",code:"invalid_server_event",message:"Invalid OpenAI Live event time interval.",raw:$};switch(B.type){case"session.started":return{type:"session-started",sessionId:B.session.id,delegationMode:((Z=B.session.delegation)==null?void 0:Z.type)==="responses"?"provider":"client",raw:$};case"session.closed":return{type:"session-closed",sessionId:(Q=B.session)==null?void 0:Q.id,usage:B.usage,reason:B.reason,raw:$};case"session.usage.updated":return{type:"session-usage",usage:B.usage,contextWindowUsageRatio:(Y=B.context_window)==null?void 0:Y.usage_ratio,raw:$};case"session.output_audio.delta":return{type:"audio-chunk",delta:B.delta,raw:$};case"session.input_transcript.delta":case"session.output_transcript.delta":return{type:"transcript-fragment",speaker:B.type==="session.input_transcript.delta"?"user":"assistant",delta:B.delta,startMs:B.start_ms,endMs:B.end_ms,raw:$};case"session.delegation.created":return{type:"delegation-created",delegationId:B.delegation.id,target:B.delegation.target==="responses"?"provider":(X=B.delegation.target)!=null?X:void 0,offsetMs:(J=B.offset_ms)!=null?J:void 0,...B.delegation.response_id!=null?{responseId:B.delegation.response_id}:{},raw:$};case"error":return{type:"error",message:B.error.message,code:(G=B.error.code)!=null?G:void 0,clientEventId:(W=B.error.client_event_id)!=null?W:void 0,raw:$};case"session.updated":return{type:"command-acknowledged",command:"session.update",clientEventId:(K=B.client_event_id)!=null?K:void 0,raw:$};case"session.input_audio.muted":case"session.input_audio.unmuted":return{type:"command-acknowledged",command:B.type.slice(0,-1),clientEventId:(H=B.client_event_id)!=null?H:void 0,raw:$};case"session.instructions.appended":case"session.thinking.appended":case"session.commentary.appended":return{type:"command-acknowledged",command:B.type.slice(0,-2),clientEventId:(F=B.client_event_id)!=null?F:void 0,raw:$}}}function Y_4($,Z){var Q,Y,X;let J="eventId"in $&&$.eventId!==void 0?{event_id:$.eventId}:{};switch($.type){case"session-start":return{type:"session.start",session:C51($.config,Z),...J};case"session-update":throw new X$({functionality:"OpenAI Live session-update; startup settings are immutable; use context-append or input-audio-mute/input-audio-unmute"});case"session-close":return{type:"session.close",...J};case"input-audio-append":return{type:"session.input_audio.append",audio:$.audio,...J};case"input-audio-mute":return{type:"session.input_audio.mute",...J};case"input-audio-unmute":return{type:"session.input_audio.unmute",...J};case"context-append":{let G=l$.object({content:l$.string(),delegationId:l$.string().min(1).nullable()}).parse($);return{type:`session.${(X=l$.strictObject({channel:l$.enum(["instructions","thinking","commentary"]).optional()}).parse((Y=(Q=$.providerOptions)==null?void 0:Q.openai)!=null?Y:{}).channel)!=null?X:"thinking"}.append`,content:G.content,delegation_id:G.delegationId,...J}}default:throw new X$({functionality:`OpenAI Live command: ${$.type}; use continuous audio and context-append instead of voice-turn commands`})}}function J_4($){var Z,Q,Y,X,J,G,W,K,H,F,U,N,B,D,O,j,w,E,P,T,z;let A=$,M=A.type;switch(M){case"session.created":return{type:"session-created",sessionId:(Z=A.session)==null?void 0:Z.id,raw:$};case"session.updated":return{type:"session-updated",raw:$};case"input_audio_buffer.speech_started":return{type:"speech-started",itemId:A.item_id,raw:$};case"input_audio_buffer.speech_stopped":return{type:"speech-stopped",itemId:A.item_id,raw:$};case"input_audio_buffer.committed":return{type:"audio-committed",itemId:A.item_id,previousItemId:A.previous_item_id,raw:$};case"conversation.item.added":return{type:"conversation-item-added",itemId:(Y=(Q=A.item)==null?void 0:Q.id)!=null?Y:A.item_id,item:A.item,raw:$};case"conversation.item.input_audio_transcription.completed":return{type:"input-transcription-completed",itemId:A.item_id,transcript:(X=A.transcript)!=null?X:"",raw:$};case"response.created":return{type:"response-created",responseId:(G=(J=A.response)==null?void 0:J.id)!=null?G:A.response_id,raw:$};case"response.done":return{type:"response-done",responseId:(K=(W=A.response)==null?void 0:W.id)!=null?K:A.response_id,status:(F=(H=A.response)==null?void 0:H.status)!=null?F:"completed",raw:$};case"response.output_item.added":return{type:"output-item-added",responseId:A.response_id,itemId:(N=(U=A.item)==null?void 0:U.id)!=null?N:A.item_id,raw:$};case"response.output_item.done":return{type:"output-item-done",responseId:A.response_id,itemId:(D=(B=A.item)==null?void 0:B.id)!=null?D:A.item_id,raw:$};case"response.content_part.added":return{type:"content-part-added",responseId:A.response_id,itemId:A.item_id,raw:$};case"response.content_part.done":return{type:"content-part-done",responseId:A.response_id,itemId:A.item_id,raw:$};case"response.output_audio.delta":return{type:"audio-delta",responseId:A.response_id,itemId:A.item_id,delta:A.delta,raw:$};case"response.output_audio.done":return{type:"audio-done",responseId:A.response_id,itemId:A.item_id,raw:$};case"response.output_audio_transcript.delta":return{type:"audio-transcript-delta",responseId:A.response_id,itemId:A.item_id,delta:A.delta,raw:$};case"response.output_audio_transcript.done":return{type:"audio-transcript-done",responseId:A.response_id,itemId:A.item_id,transcript:A.transcript,raw:$};case"response.output_text.delta":return{type:"text-delta",responseId:A.response_id,itemId:A.item_id,delta:A.delta,raw:$};case"response.output_text.done":return{type:"text-done",responseId:A.response_id,itemId:A.item_id,text:A.text,raw:$};case"response.function_call_arguments.delta":return{type:"function-call-arguments-delta",responseId:A.response_id,itemId:A.item_id,callId:A.call_id,delta:A.delta,raw:$};case"response.function_call_arguments.done":return{type:"function-call-arguments-done",responseId:A.response_id,itemId:A.item_id,callId:A.call_id,name:A.name,arguments:A.arguments,raw:$};case"error":return{type:"error",message:(w=(j=(O=A.error)==null?void 0:O.message)!=null?j:A.message)!=null?w:"Unknown error",code:(P=(E=A.error)==null?void 0:E.code)!=null?P:A.code,clientEventId:(z=(T=A.error)==null?void 0:T.event_id)!=null?z:void 0,raw:$};default:return{type:"custom",rawType:M,raw:$}}}function G_4($,Z){switch($.type){case"session-update":return{type:"session.update",session:_51($.config,Z),...$.eventId!=null?{event_id:$.eventId}:{}};case"input-audio-append":return{type:"input_audio_buffer.append",audio:$.audio,...$.eventId!=null?{event_id:$.eventId}:{}};case"input-audio-commit":return{type:"input_audio_buffer.commit"};case"input-audio-clear":return{type:"input_audio_buffer.clear"};case"conversation-item-create":{let Q=$.item;switch(Q.type){case"text-message":return{type:"conversation.item.create",item:{type:"message",role:Q.role,content:[{type:"input_text",text:Q.text}]}};case"audio-message":return{type:"conversation.item.create",item:{type:"message",role:Q.role,content:[{type:"input_audio",audio:Q.audio}]}};case"function-call-output":return{type:"conversation.item.create",item:{type:"function_call_output",call_id:Q.callId,output:Q.output}}}break}case"conversation-item-truncate":return{type:"conversation.item.truncate",item_id:$.itemId,content_index:$.contentIndex,audio_end_ms:$.audioEndMs};case"response-create":return{type:"response.create",...$.options!=null?{response:{...$.options.modalities!=null?{output_modalities:$.options.modalities}:{},...$.options.instructions!=null?{instructions:$.options.instructions}:{},...$.options.metadata!=null?{metadata:$.options.metadata}:{}}}:{}};case"response-cancel":return{type:"response.cancel"}}}function _51($,Z){var Q;let Y={type:"realtime",model:Z};if($.instructions!=null)Y.instructions=$.instructions;if($.outputModalities!=null)Y.output_modalities=$.outputModalities;let X={};if($.inputAudioFormat!=null||$.inputAudioTranscription!=null||$.turnDetection!=null){let J={};if($.inputAudioFormat!=null)J.format={type:$.inputAudioFormat.type,...$.inputAudioFormat.rate!=null?{rate:$.inputAudioFormat.rate}:{}};if($.turnDetection!=null)if($.turnDetection.type==="disabled")J.turn_detection=null;else{let G={type:$.turnDetection.type==="server-vad"?"server_vad":"semantic_vad"};if($.turnDetection.threshold!=null)G.threshold=$.turnDetection.threshold;if($.turnDetection.silenceDurationMs!=null)G.silence_duration_ms=$.turnDetection.silenceDurationMs;if($.turnDetection.prefixPaddingMs!=null)G.prefix_padding_ms=$.turnDetection.prefixPaddingMs;J.turn_detection=G}if($.inputAudioTranscription!=null)J.transcription={model:(Q=$.inputAudioTranscription.model)!=null?Q:"gpt-realtime-whisper",...$.inputAudioTranscription.language!=null?{language:$.inputAudioTranscription.language}:{},...$.inputAudioTranscription.prompt!=null?{prompt:$.inputAudioTranscription.prompt}:{}};X.input=J}if($.outputAudioFormat!=null||$.voice!=null){let J={};if($.outputAudioFormat!=null)J.format={type:$.outputAudioFormat.type,...$.outputAudioFormat.rate!=null?{rate:$.outputAudioFormat.rate}:{}};if($.voice!=null)J.voice=$.voice;X.output=J}if(Object.keys(X).length>0)Y.audio=X;if($.tools!=null&&$.tools.length>0)Y.tools=$.tools.map((J)=>({type:J.type,name:J.name,description:J.description,parameters:J.parameters})),Y.tool_choice="auto";if($.providerOptions!=null)Object.assign(Y,$.providerOptions);return Y}function H_4($,{api:Z}={}){if(Z!==void 0){if(Z!=="live"&&Z!=="realtime")throw new l8({argument:"api",message:'OpenAI realtime api must be "live" or "realtime".'});return Z}return K_4.some((Q)=>Q===$)?"live":"realtime"}function F_4($){let Z=(Q,Y)=>{let X=H_4(Q,Y),J={...$,provider:`${$.provider}.${X}`};return X==="live"?new RL$(Q,J):new W_4(Q,J)};return Object.assign(Z,{getToken:async(Q)=>{let Y=Z(Q.model,Q);if(Y instanceof RL$)throw new X$({functionality:"Short-lived OpenAI credentials for the Live API. Use server WebSocket setup via getServerWebSocketConfig() with a server-side API key instead."});let X=await Y.doCreateClientSecret({sessionConfig:Q.sessionConfig,expiresAfterSeconds:Q.expiresAfterSeconds});return{token:X.token,url:X.url,expiresAt:X.expiresAt}}})}function VL$($){return $==="gpt-realtime-whisper"||$.startsWith("gpt-realtime-whisper-")}function L_4({webSocket:$,url:Z,headers:Q,sessionUpdate:Y,language:X,warnings:J,audio:G,abortSignal:W,includeRawChunks:K}){let H=!1,F=()=>{};return new ReadableStream({start:(U)=>{let N=j_4(Q),B,D;F=(E)=>{if(B!=null)B.cancel().catch(()=>{});else G.cancel().catch(()=>{});D==null||D.close(E)};let O=(E)=>{if(H)return;H=!0,F(),U.error(E)},j=(E,P)=>{if(H)return;if(H=!0,P!=null)U.enqueue({type:"transcript-final",id:P,text:E});U.enqueue({type:"finish",text:E,segments:[],language:X}),U.close(),F(1000)},w=async(E)=>{B=G.getReader();try{while(!0){let{done:P,value:T}=await B.read();if(P||H)break;E.send(JSON.stringify({type:"input_audio_buffer.append",audio:H4(T)})),await TN(E)}}finally{B.releaseLock(),B=void 0}if(!H)E.send(JSON.stringify({type:"input_audio_buffer.commit"}))};D=qN({url:Z,protocols:N.protocols,headers:N.headers,webSocket:$,abortSignal:W,onAbort:O,onProcessingError:O,onOpen:(E)=>{U.enqueue({type:"stream-start",warnings:J}),E.send(JSON.stringify(Y)),w(E).catch(O)},onMessageText:async(E)=>{var P,T,z,A;let M=await m5({text:E});if(!M.success)return;let f=M.value;if(K)U.enqueue({type:"raw",rawValue:f});switch(f.type){case"conversation.item.input_audio_transcription.delta":{U.enqueue({type:"transcript-delta",id:f.item_id,delta:(P=f.delta)!=null?P:""});break}case"conversation.item.input_audio_transcription.completed":{j((T=f.transcript)!=null?T:"",f.item_id);break}case"error":{O(Error((A=(z=f.error)==null?void 0:z.message)!=null?A:"OpenAI realtime error"));break}}},onSocketError:()=>{O(Error("OpenAI realtime transcription error"))},onClose:()=>{if(H)return;H=!0,F(),U.close()}})},cancel:()=>{if(H)return;H=!0,F()}})}function O_4({modelId:$,inputAudioFormat:Z,providerOptions:Q}){var Y,X;return{type:"session.update",session:{type:"transcription",audio:{input:{format:{type:Z.type,...Z.rate!=null?{rate:Z.rate}:{}},transcription:{model:$,...(Q==null?void 0:Q.language)!=null?{language:Q.language}:{},...((Y=Q==null?void 0:Q.streaming)==null?void 0:Y.delay)!=null?{delay:Q.streaming.delay}:{}},turn_detection:null}},...((X=Q==null?void 0:Q.streaming)==null?void 0:X.include)!=null?{include:Q.streaming.include}:{}}}}function j_4($){var Z;let Q;for(let[X,J]of Object.entries($))if(X.toLowerCase()==="authorization"&&J!=null)Q=J;let Y=(Z=Q==null?void 0:Q.match(/^bearer\s+(.+)$/i))==null?void 0:Z[1];if(Y==null)return{protocols:["realtime"],headers:$};return{protocols:["realtime",`openai-insecure-api-key.${Y}`],headers:Object.fromEntries(Object.entries($).filter(([X])=>X.toLowerCase()!=="authorization"))}}function z_4({webSocket:$,url:Z,headers:Q,sessionUpdate:Y,warnings:X,audio:J,abortSignal:G,includeRawChunks:W}){let K=!1,H=()=>{};return new ReadableStream({start:(F)=>{let U=q_4(Q),N,B,D="",O="";H=(P)=>{if(N!=null)N.cancel().catch(()=>{});else J.cancel().catch(()=>{});B==null||B.close(P)};let j=(P)=>{if(K)return;K=!0,H(),F.error(P)},w=()=>{if(K)return;if(K=!0,D!=="")F.enqueue({type:"source-transcript-final",text:D});if(O!=="")F.enqueue({type:"output-text-final",text:O});F.enqueue({type:"finish",sourceText:D,outputText:O,usage:void 0}),F.close(),H(1000)},E=async(P)=>{N=J.getReader();try{while(!0){let{done:T,value:z}=await N.read();if(T||K)break;P.send(JSON.stringify({type:"session.input_audio_buffer.append",audio:H4(z)})),await TN(P)}}finally{N.releaseLock(),N=void 0}if(!K)P.send(JSON.stringify({type:"session.close"}))};B=qN({url:Z,protocols:U.protocols,headers:U.headers,webSocket:$,abortSignal:G,onAbort:j,onProcessingError:j,onOpen:(P)=>{F.enqueue({type:"stream-start",warnings:X}),P.send(JSON.stringify(Y)),E(P).catch(j)},onMessageText:async(P)=>{var T,z,A,M,f,S;if(K)return;let V=await m5({text:P});if(!V.success)return;let v=V.value;if(W)F.enqueue({type:"raw",rawValue:v});switch(v.type){case"session.output_audio.delta":{if(v.delta)F.enqueue({type:"audio",audio:v.delta});break}case"session.output_transcript.delta":{O+=(T=v.delta)!=null?T:"",F.enqueue({type:"output-text-delta",delta:(z=v.delta)!=null?z:""});break}case"session.input_transcript.delta":{D+=(A=v.delta)!=null?A:"",F.enqueue({type:"source-transcript-delta",delta:(M=v.delta)!=null?M:""});break}case"session.closed":{w();break}case"error":{F.enqueue({type:"error",error:Error((S=(f=v.error)==null?void 0:f.message)!=null?S:"OpenAI realtime error")});break}}},onSocketError:()=>{j(Error("OpenAI realtime translation error"))},onClose:({code:P,reason:T})=>{if(K)return;j(Error(`OpenAI realtime translation WebSocket closed unexpectedly before finishing (code ${P!=null?P:"unknown"}${T?`, reason: ${T}`:""}).`))}})},cancel:()=>{if(K)return;K=!0,H()}})}function A_4({targetLanguage:$}){return{type:"session.update",session:{audio:{input:{transcription:{model:"gpt-realtime-whisper"},noise_reduction:null},output:{language:$}}}}}function T_4($){if($.type!=="audio/pcm"||$.rate!=null&&$.rate!==24000)throw new l8({argument:"inputAudioFormat",message:"The OpenAI Realtime translation API only supports 24kHz 16-bit PCM input audio."})}function q_4($){var Z;let Q;for(let[X,J]of Object.entries($))if(X.toLowerCase()==="authorization"&&J!=null)Q=J;let Y=(Z=Q==null?void 0:Q.match(/^bearer\s+(.+)$/i))==null?void 0:Z[1];if(Y==null)return{protocols:["realtime"],headers:$};return{protocols:["realtime",`openai-insecure-api-key.${Y}`],headers:Object.fromEntries(Object.entries($).filter(([X])=>X.toLowerCase()!=="authorization"))}}function wq($={}){var Z,Q;let Y=(Z=RE(kF0(kN({settingValue:$.baseURL,environmentVariableName:"OPENAI_BASE_URL"}))))!=null?Z:"https://api.openai.com/v1",X=(Q=$.name)!=null?Q:"openai",J=()=>D9({Authorization:`Bearer ${Bd({apiKey:$.apiKey,environmentVariableName:"OPENAI_API_KEY",description:"OpenAI"})}`,"OpenAI-Organization":$.organization,"OpenAI-Project":$.project,...$.headers},`ai-sdk/openai/${V_4}`),G=(P)=>new ck4(P,{provider:`${X}.chat`,url:({path:T})=>`${Y}${T}`,headers:J,fetch:$.fetch}),W=(P)=>new tk4(P,{provider:`${X}.completion`,url:({path:T})=>`${Y}${T}`,headers:J,fetch:$.fetch}),K=(P)=>new rk4(P,{provider:`${X}.embedding`,url:({path:T})=>`${Y}${T}`,headers:J,fetch:$.fetch}),H=(P)=>new KC4(P,{provider:`${X}.image`,url:({path:T})=>`${Y}${T}`,headers:J,fetch:$.fetch}),F=(P)=>new D_4(P,{provider:`${X}.transcription`,url:({path:T})=>`${Y}${T}`,headers:J,fetch:$.fetch,webSocket:$.webSocket}),U=(P)=>new P_4(P,{provider:`${X}.speech-translation`,url:({path:T})=>`${Y}${T}`,headers:J,fetch:$.fetch,webSocket:$.webSocket}),N=(P)=>new N_4(P,{provider:`${X}.speech`,url:({path:T})=>`${Y}${T}`,headers:J,fetch:$.fetch}),B=()=>new ZC4({provider:`${X}.files`,baseURL:Y,headers:J,fetch:$.fetch}),D=()=>new M_4({provider:`${X}.skills`,url:({path:P})=>`${Y}${P}`,headers:J,fetch:$.fetch}),O=(P)=>{if(new.target)throw Error("The OpenAI model function cannot be called with the new keyword.");return j(P)},j=(P)=>{return new iL$(P,{provider:`${X}.responses`,baseURL:Y,url:({path:T})=>`${Y}${T}`,headers:J,fetch:$.fetch,fileIdPrefixes:["file-"]})},w=()=>new cS4({provider:`${X}.batch`,config:{provider:`${X}.responses`,baseURL:Y,url:({path:P})=>`${Y}${P}`,headers:J,fetch:$.fetch,fileIdPrefixes:["file-"]}}),E=function(P){return O(P)};return E.specificationVersion="v4",E.languageModel=O,E.chat=G,E.completion=W,E.responses=j,E.evaluationModel=(P)=>new Od({model:j(P),provider:`${X}.evaluation`}),E.embedding=K,E.embeddingModel=K,E.textEmbedding=K,E.textEmbeddingModel=K,E.image=H,E.imageModel=H,E.transcription=F,E.transcriptionModel=F,E.translation=U,E.speechTranslationModel=U,E.speech=N,E.speechModel=N,E.files=B,E.skills=D,E.experimental_batch=w,E.experimental_realtime=F_4({provider:X,baseURL:Y,headers:J,fetch:$.fetch}),E.tools=ZS4,E}var tU0,p9,hk4,uk4,lk4,ck4,pk4,nk4,ZL$,tk4,sk4,ak4,QL$,rk4,iU0,ek4,$C4,ZC4=class{constructor($){this.config=$,this.specificationVersion="v4"}get provider(){return this.config.provider}getFileId($){let Z=$.openai;if(Z==null||Z.trim()==="")throw new l8({argument:"file",message:"file reference is missing an 'openai' file id."});return Z}getHeaders($){return _1(this.config.headers(),$)}async uploadFile({data:$,mediaType:Z,filename:Q,abortSignal:Y,headers:X,providerOptions:J}){var G,W,K;let H;try{H=await x$({provider:"openai",providerOptions:J,schema:$C4})}catch(D){if($.type==="stream")await $.stream.cancel(D).catch(()=>{});throw D}let F=(G=H==null?void 0:H.purpose)!=null?G:"assistants",U=this.getHeaders(X),N=`${this.config.baseURL}/files`,B;if($.type==="stream"){let D=[{type:"field",name:"purpose",value:F}];if((H==null?void 0:H.expiresAfter)!=null)D.push({type:"field",name:"expires_after[anchor]",value:"created_at"},{type:"field",name:"expires_after[seconds]",value:String(H.expiresAfter)});D.push({type:"file",name:"file",filename:Q,mediaType:Z,content:$.stream}),{value:B}=await qF$({url:N,headers:U,parts:D,failedResponseHandler:p9,successfulResponseHandler:V1(iU0),abortSignal:Y,fetch:this.config.fetch})}else{let D=MN($),O=new Blob([D],{type:Z}),j=new FormData;if(Q!=null)j.append("file",O,Q);else j.append("file",O);if(j.append("purpose",F),(H==null?void 0:H.expiresAfter)!=null)j.append("expires_after[anchor]","created_at"),j.append("expires_after[seconds]",String(H.expiresAfter));({value:B}=await qK({url:N,headers:U,formData:j,failedResponseHandler:p9,successfulResponseHandler:V1(iU0),abortSignal:Y,fetch:this.config.fetch}))}return{warnings:[],providerReference:{openai:B.id},...((W=B.filename)!=null?W:Q)?{filename:(K=B.filename)!=null?K:Q}:{},...Z!=null?{mediaType:Z}:{},...B.bytes!=null?{byteSize:B.bytes}:{},...B.created_at!=null?{createdAt:new Date(B.created_at*1000)}:{},...B.expires_at!=null?{expiresAt:new Date(B.expires_at*1000)}:{},providerMetadata:{openai:this.toFileMetadata(B)}}}async getFileMetadata({file:$,abortSignal:Z,headers:Q}){let Y=this.getFileId($),{value:X}=await u6({url:`${this.config.baseURL}/files/${W51(Y)}`,headers:this.getHeaders(Q),failedResponseHandler:p9,successfulResponseHandler:V1(iU0),abortSignal:Z,fetch:this.config.fetch,validateUrl:!1});return{warnings:[],providerReference:{openai:X.id},...X.filename!=null?{filename:X.filename}:{},...X.bytes!=null?{byteSize:X.bytes}:{},...X.created_at!=null?{createdAt:new Date(X.created_at*1000)}:{},...X.expires_at!=null?{expiresAt:new Date(X.expires_at*1000)}:{},providerMetadata:{openai:this.toFileMetadata(X)}}}async downloadFile({file:$,abortSignal:Z,headers:Q}){var Y;let X=this.getFileId($),{value:J,responseHeaders:G}=await u6({url:`${this.config.baseURL}/files/${W51(X)}/content`,headers:this.getHeaders(Q),failedResponseHandler:p9,successfulResponseHandler:CF$(),abortSignal:Z,fetch:this.config.fetch,validateUrl:!1}),W=(Y=G==null?void 0:G["content-type"])==null?void 0:Y.split(";")[0].trim();return{warnings:[],content:J,...W?{mediaType:W}:{}}}async deleteFile({file:$,abortSignal:Z,headers:Q}){let Y=this.getFileId($),{value:X}=await WF$({url:`${this.config.baseURL}/files/${W51(Y)}`,headers:this.getHeaders(Q),failedResponseHandler:p9,successfulResponseHandler:V1(ek4),abortSignal:Z,fetch:this.config.fetch});return{warnings:[],providerReference:{openai:X.id},deleted:X.deleted}}toFileMetadata($){return{...$.filename!=null?{filename:$.filename}:{},...$.purpose!=null?{purpose:$.purpose}:{},...$.bytes!=null?{bytes:$.bytes}:{},...$.created_at!=null?{createdAt:$.created_at}:{},...$.status!=null?{status:$.status}:{},...$.expires_at!=null?{expiresAt:$.expires_at}:{}}}},YL$,QC4,YC4,b51,FW9,GC4,WC4,KC4,CL$,SL$,BW9,FC4,UC4,NC4,BC4,DC4,LC4,OC4=($={})=>{return LC4($)},_L$,jC4,vL$,bL$,wC4,EC4=($={})=>wC4($),PC4,zC4,AC4,TC4=($)=>AC4($),xL$,fL$,qC4,RC4,MC4,VC4,IC4,kC4,CC4,SC4=($={})=>{return CC4($)},yL$,gL$,_C4,hL$,D51,vC4,bC4,xC4,fC4,L51,O51,yC4,gC4=($={})=>yC4($),hC4,uC4,lC4,mC4,cC4=($={})=>mC4($),dC4,iC4,pC4,nC4,j51,tC4,oC4,sC4,aC4,rC4=($)=>aC4($),uL$,lL$,eC4,$S4=()=>iT(eC4({}),{type:"provider",prepareProviderOptions:($)=>{var Z;let Q=$==null?void 0:$.openai;return{...$,openai:{...Q,allowedCallers:[...new Set([...(Z=Q==null?void 0:Q.allowedCallers)!=null?Z:[],"programmatic"])]}}}}),ZS4,sd,K51,E51,QS4,JL$,P51,z51,A51,T51,q51,YS4,XS4,JS4,GS4,KS4,mL$,GL$="parallel",WL$="functions.",BS4,cL$=20,DS4,eW9,NL$,dL$,iL$,PL$="/v1/responses",hS4=172800,zL$,pL$=()=>s6.object({id:s6.string(),status:s6.string(),output_file_id:s6.string().nullish(),error_file_id:s6.string().nullish(),created_at:s6.number().nullish(),expires_at:s6.number().nullish(),request_counts:s6.object({total:s6.number().nullish(),completed:s6.number().nullish(),failed:s6.number().nullish()}).nullish(),errors:s6.object({data:s6.array(s6.object({code:s6.string().nullish(),message:s6.string().nullish()})).nullish()}).nullish()}),U51,lS4,mS4,cS4=class{constructor($){this.options=$,this.specificationVersion="v4",this.supportedUrls=dL$,this.provider=$.provider}async doStartBatch($){var Z,Q,Y,X,J,G;uS4($.requests),dS4($.requests);let W=[],K=$.webhookUrl==null?[]:[{warning:{type:"unsupported",feature:"webhookUrl",details:"The OpenAI Batch API does not support per-batch webhook URLs."}}],H=await this.parseBatchProviderOptions($.providerOptions),F=(Z=H==null?void 0:H.inputFileExpiresAfter)!=null?Z:hS4;for(let w of $.requests){let E=await this.prepareRequest(w);W.push(JSON.stringify({custom_id:w.id,method:"POST",url:PL$,body:E.body}),`
602
- `);for(let P of E.warnings)K.push({requestId:w.id,warning:P});for(let P of(Q=w.options.tools)!=null?Q:[])if(P.type==="provider"&&!iS4.has(P.id))K.push({requestId:w.id,warning:{type:"unsupported",feature:`batch result conversion for tool "${P.name}"`,details:"OpenAI may return output for this tool that AI SDK text batches cannot currently convert."}})}let U="batch.jsonl",N=new Blob(W,{type:"application/jsonl"});W.length=0;let B=new FormData;B.append("file",N,U),B.append("purpose","batch"),B.append("expires_after[anchor]","created_at"),B.append("expires_after[seconds]",String(F));let{value:D}=await Dd({url:this.getUrl("/files"),headers:_1((X=(Y=this.options.config).headers)==null?void 0:X.call(Y),$.headers),body:{content:B,values:{purpose:"batch","expires_after[anchor]":"created_at","expires_after[seconds]":String(F),file:{name:U,type:N.type,size:N.size}}},failedResponseHandler:p9,successfulResponseHandler:V1(iU0),abortSignal:$.abortSignal,fetch:this.options.config.fetch}),{value:O}=await J$({url:this.getUrl("/batches"),headers:_1((G=(J=this.options.config).headers)==null?void 0:G.call(J),$.headers),body:{input_file_id:D.id,endpoint:PL$,completion_window:"24h"},failedResponseHandler:p9,successfulResponseHandler:V1(U51),abortSignal:$.abortSignal,fetch:this.options.config.fetch}),j=k51(D.expires_at);return{batchId:O.id,...dU0(O),providerMetadata:{openai:{inputFileId:D.id,...j!=null?{inputFileExpiresAt:j}:{}}},warnings:K}}async parseBatchProviderOptions($){let Z=this.options.config.provider.includes("azure")?"azure":"openai",Q=await x$({provider:Z,providerOptions:$,schema:zL$});if(Q==null&&Z!=="openai")Q=await x$({provider:"openai",providerOptions:$,schema:zL$});return Q}async doGetBatchStatus($){let Z=await this.retrieveBatch($);return dU0(Z)}async doCancelBatch($){var Z,Q;return await J$({url:this.getUrl(`/batches/${encodeURIComponent($.batchId)}/cancel`),headers:_1((Q=(Z=this.options.config).headers)==null?void 0:Q.call(Z),$.headers),body:{},failedResponseHandler:p9,successfulResponseHandler:V1(U51),abortSignal:$.abortSignal,fetch:this.options.config.fetch}),{}}async doListBatches($){var Z,Q;let Y=new URL(this.getUrl("/batches"));if($.limit!=null)Y.searchParams.set("limit",String($.limit));if($.cursor!=null)Y.searchParams.set("after",$.cursor);let{value:X}=await u6({url:Y.toString(),headers:_1((Q=(Z=this.options.config).headers)==null?void 0:Q.call(Z),$.headers),failedResponseHandler:p9,successfulResponseHandler:V1(mS4),abortSignal:$.abortSignal,fetch:this.options.config.fetch,validateUrl:!1});return{batches:X.data.map((J)=>({batchId:J.id,...dU0(J)})),...X.has_more&&X.last_id!=null?{nextCursor:X.last_id}:{}}}async doGetBatchResults($){let Z=await this.retrieveBatch($),Q=dU0(Z);if(Q.status==="pending")throw new l8({argument:"batchId",message:`OpenAI batch "${$.batchId}" is not complete.`});let Y=[Z.output_file_id,Z.error_file_id].filter((J)=>J!=null);if(Q.status==="completed"&&Y.length===0)throw new M9({data:Z,message:`OpenAI batch "${$.batchId}" completed without batch output.`});let X=this.iterateBatchResults({fileIds:Y,options:$});return RN(X)}async retrieveBatch($){var Z,Q;let{value:Y}=await u6({url:this.getUrl(`/batches/${encodeURIComponent($.batchId)}`),headers:_1((Q=(Z=this.options.config).headers)==null?void 0:Q.call(Z),$.headers),failedResponseHandler:p9,successfulResponseHandler:V1(U51),abortSignal:$.abortSignal,fetch:this.options.config.fetch,validateUrl:!1});return Y}async*iterateBatchResults({fileIds:$,options:Z}){var Q,Y;for(let X of $){let{value:J}=await u6({url:this.getUrl(`/files/${encodeURIComponent(X)}/content`),headers:_1((Y=(Q=this.options.config).headers)==null?void 0:Y.call(Q),Z.headers),failedResponseHandler:p9,successfulResponseHandler:qE(lS4),abortSignal:Z.abortSignal,fetch:this.options.config.fetch,validateUrl:!1});for await(let G of J)yield await this.convertResultLine(G)}}async convertResultLine($){if($.error!=null){let Q={message:$.error.message,code:$.error.code};if($.error.code==="batch_cancelled")return{type:"text",id:$.custom_id,status:"cancelled",error:Q};if($.error.code==="batch_expired")return{type:"text",id:$.custom_id,status:"expired",error:Q};return{type:"text",id:$.custom_id,status:"failed",error:Q}}if($.response==null)return{type:"text",id:$.custom_id,status:"failed",error:{message:"OpenAI returned a batch result without a response or error.",code:"invalid_batch_result"}};if($.response.status_code<200||$.response.status_code>=300)return{type:"text",id:$.custom_id,status:"failed",error:await tS4({body:$.response.body,statusCode:$.response.status_code})};let Z=await oS4($.response.body);if(!Z.success)return{type:"text",id:$.custom_id,status:"failed",error:Z.error};return{type:"text",id:$.custom_id,status:"succeeded",result:Z.result}}async prepareRequest($){let{args:Z,warnings:Q}=await iL$.prepareRequest({modelId:$.modelId,config:this.options.config,options:$.options});return{body:Z,warnings:Q}}getUrl($){return this.options.config.url({path:$,modelId:""})}},iS4,sS4,aS4,AL$,S51,rS4,TL$,qL$,nU0,N51,nL$,eS4,$_4,X_4,RL$=class{constructor($,Z){this.modelId=$,this.config=Z,this.specificationVersion="v4",this.capabilities={conversation:"continuous",transports:["websocket","webrtc"],connections:["server-websocket","webrtc"],startup:"session-start",finalization:"session-close"}}get provider(){return this.config.provider}getWebRTCConfig(){return{dataChannelLabel:"oai-events"}}getServerWebSocketConfig(){let $=new URL(`${this.config.baseURL}/live/sessions`);$.protocol=$.protocol==="http:"?"ws:":"wss:";let Z={};for(let[Q,Y]of Object.entries(this.config.headers()))if(Y!==void 0)Z[Q]=Y;return{url:$.toString(),headers:Z}}async doCreateWebRTCSession({sdp:$,sessionConfig:Z={},abortSignal:Q}){let Y=C51(Z,this.modelId,"webrtc"),{value:X}=await J$({url:`${this.config.baseURL}/live/sessions`,headers:this.config.headers(),body:{session:Y,transport:{type:"webrtc",sdp:jq.string().min(1).parse($)}},failedResponseHandler:p9,successfulResponseHandler:V1(X_4),abortSignal:Q,fetch:this.config.fetch});return{sessionId:X.session.id,sdp:X.transport.sdp}}parseServerEvent($){return tL$($)}createServerEventParser(){return Z_4()}serializeClientEvent($){return Y_4($,this.modelId)}buildSessionConfig($){return C51($,this.modelId)}},W_4=class{constructor($,Z){this.specificationVersion="v4",this.modelId=$,this.provider=Z.provider,this.config=Z}async doCreateClientSecret($){var Z;let Q=(Z=this.config.fetch)!=null?Z:fetch,Y=`${this.config.baseURL}/realtime/client_secrets`,X=$.sessionConfig!=null?_51($.sessionConfig,this.modelId):{type:"realtime",model:this.modelId},J=await Q(Y,{method:"POST",headers:{...this.config.headers(),"Content-Type":"application/json"},body:JSON.stringify({session:X,...$.expiresAfterSeconds!=null?{expires_after:{anchor:"created_at",seconds:$.expiresAfterSeconds}}:{}})});if(!J.ok){let W=await J.text();throw Error(`OpenAI realtime client secret request failed: ${J.status} ${W}`)}let G=await J.json();return{token:G.value,url:`wss://${new URL(this.config.baseURL).host}/v1/realtime?model=${encodeURIComponent(this.modelId)}`,expiresAt:G.expires_at}}getWebSocketConfig($){return{url:$.url,protocols:["realtime",`openai-insecure-api-key.${$.token}`]}}parseServerEvent($){return J_4($)}serializeClientEvent($){return G_4($,this.modelId)}buildSessionConfig($){return _51($,this.modelId)}},K_4,U_4,N_4,B_4,ML$,IL$,D_4,E_4,P_4,R_4,MK9,M_4=class{constructor($){this.config=$,this.specificationVersion="v4"}get provider(){return this.config.provider}async uploadSkill($){let Z=[];if($.displayTitle!=null)Z.push({type:"unsupported",feature:"displayTitle"});let Q=new FormData;for(let X of $.files){let J=MN(X.data);Q.append("files[]",new Blob([J]),X.path)}let{value:Y}=await qK({url:this.config.url({path:"/skills"}),headers:_1(this.config.headers()),formData:Q,failedResponseHandler:p9,successfulResponseHandler:V1(R_4),fetch:this.config.fetch});return{providerReference:{openai:Y.id},...Y.name!=null?{name:Y.name}:{},...Y.description!=null?{description:Y.description}:{},...Y.latest_version!=null?{latestVersion:Y.latest_version}:{},providerMetadata:{openai:{...Y.default_version!=null?{defaultVersion:Y.default_version}:{},...Y.created_at!=null?{createdAt:Y.created_at}:{},...Y.updated_at!=null?{updatedAt:Y.updated_at}:{}}},warnings:Z}}},V_4="4.0.71",VK9;var oU0=L(()=>{P0();_F0();E1();P0();P0();E1();P0();P0();E1();P0();P0();P0();P0();E1();E1();P0();P0();E1();P0();P0();P0();E1();P0();P0();P0();E1();P0();P0();P0();P0();P0();P0();P0();P0();P0();P0();P0();P0();P0();P0();P0();P0();P0();P0();P0();E1();P0();P0();P0();E1();P0();E1();P0();E1();P0();P0();E1();P0();E1();P0();E1();E1();P0();P0();E1();P0();P0();P0();E1();P0();P0();P0();P0();tU0=mE.object({error:mE.object({message:mE.string(),type:mE.string().nullish(),param:mE.any().nullish(),code:mE.union([mE.string(),mE.number()]).nullish()})}),p9=x4({errorSchema:tU0,errorToMessage:($)=>$.error.message});hk4=W0(()=>e(I1.object({id:I1.string().nullish(),created:I1.number().nullish(),model:I1.string().nullish(),choices:I1.array(I1.object({message:I1.object({role:I1.literal("assistant").nullish(),content:I1.string().nullish(),tool_calls:I1.array(I1.object({id:I1.string().nullish(),type:I1.literal("function"),function:I1.object({name:I1.string(),arguments:I1.string()})})).nullish(),annotations:I1.array(I1.object({type:I1.literal("url_citation"),url_citation:I1.object({start_index:I1.number(),end_index:I1.number(),url:I1.string(),title:I1.string()})})).nullish()}),index:I1.number(),logprobs:I1.object({content:I1.array(I1.object({token:I1.string(),logprob:I1.number(),top_logprobs:I1.array(I1.object({token:I1.string(),logprob:I1.number()}))})).nullish()}).nullish(),finish_reason:I1.string().nullish()})),usage:I1.object({prompt_tokens:I1.number().nullish(),completion_tokens:I1.number().nullish(),total_tokens:I1.number().nullish(),prompt_tokens_details:I1.object({cached_tokens:I1.number().nullish(),cache_write_tokens:I1.number().nullish()}).nullish(),completion_tokens_details:I1.object({reasoning_tokens:I1.number().nullish(),accepted_prediction_tokens:I1.number().nullish(),rejected_prediction_tokens:I1.number().nullish()}).nullish()}).nullish()}))),uk4=W0(()=>e(I1.union([I1.object({id:I1.string().nullish(),created:I1.number().nullish(),model:I1.string().nullish(),choices:I1.array(I1.object({delta:I1.object({role:I1.enum(["assistant"]).nullish(),content:I1.string().nullish(),tool_calls:I1.array(I1.object({index:I1.number(),id:I1.string().nullish(),type:I1.literal("function").nullish(),function:I1.object({name:I1.string().nullish(),arguments:I1.string().nullish()})})).nullish(),annotations:I1.array(I1.object({type:I1.literal("url_citation"),url_citation:I1.object({start_index:I1.number(),end_index:I1.number(),url:I1.string(),title:I1.string()})})).nullish()}).nullish(),logprobs:I1.object({content:I1.array(I1.object({token:I1.string(),logprob:I1.number(),top_logprobs:I1.array(I1.object({token:I1.string(),logprob:I1.number()}))})).nullish()}).nullish(),finish_reason:I1.string().nullish(),index:I1.number()})),usage:I1.object({prompt_tokens:I1.number().nullish(),completion_tokens:I1.number().nullish(),total_tokens:I1.number().nullish(),prompt_tokens_details:I1.object({cached_tokens:I1.number().nullish(),cache_write_tokens:I1.number().nullish()}).nullish(),completion_tokens_details:I1.object({reasoning_tokens:I1.number().nullish(),accepted_prediction_tokens:I1.number().nullish(),rejected_prediction_tokens:I1.number().nullish()}).nullish()}).nullish()}),tU0]))),lk4=W0(()=>e(I5.object({logitBias:I5.record(I5.coerce.number(),I5.number()).optional(),logprobs:I5.union([I5.boolean(),I5.number()]).optional(),parallelToolCalls:I5.boolean().optional(),user:I5.string().optional(),reasoningEffort:I5.enum(["none","minimal","low","medium","high","xhigh","max"]).optional(),maxCompletionTokens:I5.number().optional(),store:I5.boolean().optional(),metadata:I5.record(I5.string().max(64),I5.string().max(512)).optional(),prediction:I5.record(I5.string(),I5.any()).optional(),serviceTier:I5.enum(["auto","flex","priority","fast","ultrafast","default"]).optional(),strictJsonSchema:I5.boolean().optional(),textVerbosity:I5.enum(["low","medium","high"]).optional(),promptCacheKey:I5.string().optional(),promptCacheOptions:I5.object({mode:I5.enum(["implicit","explicit"]).optional(),ttl:I5.literal("30m").optional()}).optional(),promptCacheRetention:I5.enum(["in_memory","24h"]).optional(),safetyIdentifier:I5.string().optional(),systemMessageMode:I5.enum(["system","developer","remove"]).optional(),forceReasoning:I5.boolean().optional()})));ck4=class ${constructor(Z,Q){this.specificationVersion="v4",this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=Z,this.config=Q}static[W4](Z){return f4({modelId:Z.modelId,config:Z.config})}static[K4](Z){return new $(Z.modelId,Z.config)}get provider(){return this.config.provider}async getArgs({prompt:Z,maxOutputTokens:Q,temperature:Y,topP:X,topK:J,frequencyPenalty:G,presencePenalty:W,stopSequences:K,responseFormat:H,seed:F,tools:U,toolChoice:N,reasoning:B,providerOptions:D}){var O,j,w,E,P,T;let z=[],A=(O=await x$({provider:"openai",providerOptions:D,schema:lk4}))!=null?O:{},M=kL$(this.modelId),f=(j=A.reasoningEffort)!=null?j:CL(B)?B:void 0;if(f!=null&&M.supportedReasoningEfforts!=null&&!M.supportedReasoningEfforts.includes(f))z.push({type:"unsupported",feature:"reasoningEffort",details:`${this.modelId} only supports the following reasoning efforts: ${M.supportedReasoningEfforts.join(", ")}`}),f=void 0;let S=(w=A.forceReasoning)!=null?w:M.isReasoningModel;if(J!=null)z.push({type:"unsupported",feature:"topK"});let{messages:V,warnings:v}=gk4({prompt:Z,systemMessageMode:(E=A.systemMessageMode)!=null?E:S?"developer":M.systemMessageMode});z.push(...v);let b=(P=A.strictJsonSchema)!=null?P:!0,u=(H==null?void 0:H.type)==="json"&&H.schema!=null?k$0(H.schema):void 0;if(u!=null)z.push(...u.warnings);let m={model:this.modelId,logit_bias:A.logitBias,logprobs:A.logprobs===!0||typeof A.logprobs==="number"?!0:void 0,top_logprobs:typeof A.logprobs==="number"?A.logprobs:typeof A.logprobs==="boolean"?A.logprobs?0:void 0:void 0,user:A.user,parallel_tool_calls:A.parallelToolCalls,max_tokens:Q,temperature:Y,top_p:X,frequency_penalty:G,presence_penalty:W,response_format:(H==null?void 0:H.type)==="json"?u!=null?{type:"json_schema",json_schema:{schema:u.schema,strict:b,name:(T=H.name)!=null?T:"response",description:H.description}}:{type:"json_object"}:void 0,stop:K,seed:F,verbosity:A.textVerbosity,max_completion_tokens:A.maxCompletionTokens,store:A.store,metadata:A.metadata,prediction:A.prediction,reasoning_effort:f,service_tier:A.serviceTier,prompt_cache_key:A.promptCacheKey,prompt_cache_options:A.promptCacheOptions,prompt_cache_retention:A.promptCacheRetention,safety_identifier:A.safetyIdentifier,messages:V};if(M.supportedReasoningEfforts!=null&&m.prompt_cache_retention!=null)m.prompt_cache_retention=void 0,z.push({type:"unsupported",feature:"promptCacheRetention",details:"promptCacheRetention is not supported by GPT-6 and later models; use promptCacheOptions instead"});if(S){if(f!=="none"||!M.supportsNonReasoningParameters){if(m.temperature!=null)m.temperature=void 0,z.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for reasoning models"});if(m.top_p!=null)m.top_p=void 0,z.push({type:"unsupported",feature:"topP",details:"topP is not supported for reasoning models"});if(m.logprobs!=null)m.logprobs=void 0,z.push({type:"other",message:"logprobs is not supported for reasoning models"})}if(m.frequency_penalty!=null)m.frequency_penalty=void 0,z.push({type:"unsupported",feature:"frequencyPenalty",details:"frequencyPenalty is not supported for reasoning models"});if(m.presence_penalty!=null)m.presence_penalty=void 0,z.push({type:"unsupported",feature:"presencePenalty",details:"presencePenalty is not supported for reasoning models"});if(m.logit_bias!=null)m.logit_bias=void 0,z.push({type:"other",message:"logitBias is not supported for reasoning models"});if(m.top_logprobs!=null)m.top_logprobs=void 0,z.push({type:"other",message:"topLogprobs is not supported for reasoning models"});if(m.max_tokens!=null){if(m.max_completion_tokens==null)m.max_completion_tokens=m.max_tokens;m.max_tokens=void 0}}else if(this.modelId.startsWith("gpt-4o-search-preview")||this.modelId.startsWith("gpt-4o-mini-search-preview")){if(m.temperature!=null)m.temperature=void 0,z.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for the search preview models and has been removed."})}if(A.serviceTier==="flex"&&!M.supportsFlexProcessing)z.push({type:"unsupported",feature:"serviceTier",details:"flex processing is only available for o3, o4-mini, and gpt-5 models"}),m.service_tier=void 0;if((A.serviceTier==="priority"||A.serviceTier==="fast")&&!M.supportsPriorityProcessing)z.push({type:"unsupported",feature:"serviceTier",details:"priority processing is only available for supported models (gpt-4, gpt-5, gpt-5-mini, o3, o4-mini) and requires Enterprise access. gpt-5-nano is not supported"}),m.service_tier=void 0;let{tools:i,toolChoice:G0,toolWarnings:I0}=mk4({tools:U,toolChoice:N});return{args:{...m,tools:i,tool_choice:G0},warnings:[...z,...I0]}}async doGenerate(Z){var Q,Y,X,J,G,W,K;let{args:H,warnings:F}=await this.getArgs(Z),{responseHeaders:U,value:N,rawValue:B}=await J$({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:_1((Y=(Q=this.config).headers)==null?void 0:Y.call(Q),Z.headers),body:H,failedResponseHandler:p9,successfulResponseHandler:V1(hk4),abortSignal:Z.abortSignal,fetch:this.config.fetch}),D=N.choices[0];if(D==null)throw new M9({data:B,message:"Response did not contain any choices."});let O=[],j=D.message.content;if(j!=null&&j.length>0)O.push({type:"text",text:j});for(let P of(X=D.message.tool_calls)!=null?X:[])O.push({type:"tool-call",toolCallId:P.id||Z4(),toolName:P.function.name,input:P.function.arguments});for(let P of(J=D.message.annotations)!=null?J:[])O.push({type:"source",sourceType:"url",id:Z4(),url:P.url_citation.url,title:P.url_citation.title});let w=(G=N.usage)==null?void 0:G.completion_tokens_details,E={openai:{}};if((w==null?void 0:w.accepted_prediction_tokens)!=null)E.openai.acceptedPredictionTokens=w==null?void 0:w.accepted_prediction_tokens;if((w==null?void 0:w.rejected_prediction_tokens)!=null)E.openai.rejectedPredictionTokens=w==null?void 0:w.rejected_prediction_tokens;if(((W=D.logprobs)==null?void 0:W.content)!=null)E.openai.logprobs=D.logprobs.content;return{content:O,finishReason:{unified:rD$(D.finish_reason),raw:(K=D.finish_reason)!=null?K:void 0},usage:aD$(N.usage),request:{body:H},response:{...X51(N),headers:U,body:B},warnings:F,providerMetadata:E}}async doStream(Z){var Q,Y;let{args:X,warnings:J}=await this.getArgs(Z),G={...X,stream:!0,stream_options:{include_usage:!0}},W=this.config.url({path:"/chat/completions",modelId:this.modelId}),{responseHeaders:K,value:H}=await J$({url:W,headers:_1((Y=(Q=this.config).headers)==null?void 0:Y.call(Q),Z.headers),body:G,failedResponseHandler:p9,successfulResponseHandler:UX(uk4),abortSignal:Z.abortSignal,fetch:this.config.fetch}),F=await v51({stream:H,getError:(E)=>("error"in E)?E.error:void 0,isOutputChunk:dk4,url:W,requestBodyValues:G,responseHeaders:K}),U,N={unified:"other",raw:void 0},B=void 0,D=!1,O=!1,j={openai:{}};return{stream:F.pipeThrough(new TransformStream({start(E){U=new vF$(E,{generateId:Z4,typeValidation:"if-present"}),E.enqueue({type:"stream-start",warnings:J})},transform(E,P){var T,z,A,M,f,S;if(Z.includeRawChunks)P.enqueue({type:"raw",rawValue:E.rawValue});if(!E.success){N={unified:"error",raw:void 0},P.enqueue({type:"error",error:E.error});return}let V=E.value;if("error"in V){N={unified:"error",raw:void 0},P.enqueue({type:"error",error:(T=I$0(V.error))!=null?T:V.error});return}if(!D){let u=X51(V);if(Object.values(u).some(Boolean))D=!0,P.enqueue({type:"response-metadata",...X51(V)})}if(V.usage!=null){if(B=V.usage,((z=V.usage.completion_tokens_details)==null?void 0:z.accepted_prediction_tokens)!=null)j.openai.acceptedPredictionTokens=(A=V.usage.completion_tokens_details)==null?void 0:A.accepted_prediction_tokens;if(((M=V.usage.completion_tokens_details)==null?void 0:M.rejected_prediction_tokens)!=null)j.openai.rejectedPredictionTokens=(f=V.usage.completion_tokens_details)==null?void 0:f.rejected_prediction_tokens}let v=V.choices[0];if((v==null?void 0:v.finish_reason)!=null)N={unified:rD$(v.finish_reason),raw:v.finish_reason};if(((S=v==null?void 0:v.logprobs)==null?void 0:S.content)!=null)j.openai.logprobs=v.logprobs.content;if((v==null?void 0:v.delta)==null)return;let b=v.delta;if(b.content!=null){if(!O)P.enqueue({type:"text-start",id:"0"}),O=!0;P.enqueue({type:"text-delta",id:"0",delta:b.content})}if(b.tool_calls!=null)for(let u of b.tool_calls)U.processDelta(u);if(b.annotations!=null)for(let u of b.annotations)P.enqueue({type:"source",sourceType:"url",id:Z4(),url:u.url_citation.url,title:u.url_citation.title})},flush(E){if(O)E.enqueue({type:"text-end",id:"0"});U.flush(),E.enqueue({type:"finish",finishReason:N,usage:aD$(B),...j!=null?{providerMetadata:j}:{}})}})),request:{body:G},response:{headers:K}}}};pk4=W0(()=>e(n8.object({id:n8.string().nullish(),created:n8.number().nullish(),model:n8.string().nullish(),choices:n8.array(n8.object({text:n8.string(),finish_reason:n8.string(),logprobs:n8.object({tokens:n8.array(n8.string()),token_logprobs:n8.array(n8.number()),top_logprobs:n8.array(n8.record(n8.string(),n8.number())).nullish()}).nullish()})),usage:n8.object({prompt_tokens:n8.number(),completion_tokens:n8.number(),total_tokens:n8.number()}).nullish()}))),nk4=W0(()=>e(n8.union([n8.object({id:n8.string().nullish(),created:n8.number().nullish(),model:n8.string().nullish(),choices:n8.array(n8.object({text:n8.string(),finish_reason:n8.string().nullish(),index:n8.number(),logprobs:n8.object({tokens:n8.array(n8.string()),token_logprobs:n8.array(n8.number()),top_logprobs:n8.array(n8.record(n8.string(),n8.number())).nullish()}).nullish()})),usage:n8.object({prompt_tokens:n8.number(),completion_tokens:n8.number(),total_tokens:n8.number()}).nullish()}),tU0]))),ZL$=W0(()=>e(dN.object({echo:dN.boolean().optional(),logitBias:dN.record(dN.string(),dN.number()).optional(),suffix:dN.string().optional(),user:dN.string().optional(),logprobs:dN.union([dN.boolean(),dN.number()]).optional()}))),tk4=class ${constructor(Z,Q){this.specificationVersion="v4",this.supportedUrls={},this.modelId=Z,this.config=Q}get providerOptionsName(){return this.config.provider.split(".")[0].trim()}static[W4](Z){return f4({modelId:Z.modelId,config:Z.config})}static[K4](Z){return new $(Z.modelId,Z.config)}get provider(){return this.config.provider}async getArgs({prompt:Z,maxOutputTokens:Q,temperature:Y,topP:X,topK:J,frequencyPenalty:G,presencePenalty:W,stopSequences:K,responseFormat:H,tools:F,toolChoice:U,seed:N,providerOptions:B}){let D=[],O={...await x$({provider:"openai",providerOptions:B,schema:ZL$}),...await x$({provider:this.providerOptionsName,providerOptions:B,schema:ZL$})};if(J!=null)D.push({type:"unsupported",feature:"topK"});if(F==null?void 0:F.length)D.push({type:"unsupported",feature:"tools"});if(U!=null)D.push({type:"unsupported",feature:"toolChoice"});if(H!=null&&H.type!=="text")D.push({type:"unsupported",feature:"responseFormat",details:"JSON response format is not supported."});let{prompt:j,stopSequences:w}=ik4({prompt:Z}),E=[...w!=null?w:[],...K!=null?K:[]];return{args:{model:this.modelId,echo:O.echo,logit_bias:O.logitBias,logprobs:(O==null?void 0:O.logprobs)===!0?0:(O==null?void 0:O.logprobs)===!1?void 0:O==null?void 0:O.logprobs,suffix:O.suffix,user:O.user,max_tokens:Q,temperature:Y,top_p:X,frequency_penalty:G,presence_penalty:W,seed:N,prompt:j,stop:E.length>0?E:void 0},warnings:D}}async doGenerate(Z){var Q,Y,X;let{args:J,warnings:G}=await this.getArgs(Z),{responseHeaders:W,value:K,rawValue:H}=await J$({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:_1((Y=(Q=this.config).headers)==null?void 0:Y.call(Q),Z.headers),body:J,failedResponseHandler:p9,successfulResponseHandler:V1(pk4),abortSignal:Z.abortSignal,fetch:this.config.fetch}),F=K.choices[0],U={openai:{}};if(F.logprobs!=null)U.openai.logprobs=F.logprobs;return{content:[{type:"text",text:F.text}],usage:eD$(K.usage),finishReason:{unified:$L$(F.finish_reason),raw:(X=F.finish_reason)!=null?X:void 0},request:{body:J},response:{...$10(K),headers:W,body:H},providerMetadata:U,warnings:G}}async doStream(Z){var Q,Y;let{args:X,warnings:J}=await this.getArgs(Z),G={...X,stream:!0,stream_options:{include_usage:!0}},W=this.config.url({path:"/completions",modelId:this.modelId}),{responseHeaders:K,value:H}=await J$({url:W,headers:_1((Y=(Q=this.config).headers)==null?void 0:Y.call(Q),Z.headers),body:G,failedResponseHandler:p9,successfulResponseHandler:UX(nk4),abortSignal:Z.abortSignal,fetch:this.config.fetch}),F=await v51({stream:H,getError:(j)=>("error"in j)?j.error:void 0,isOutputChunk:ok4,url:W,requestBodyValues:G,responseHeaders:K}),U={unified:"other",raw:void 0},N={openai:{}},B=void 0,D=!0;return{stream:F.pipeThrough(new TransformStream({start(j){j.enqueue({type:"stream-start",warnings:J})},transform(j,w){var E;if(Z.includeRawChunks)w.enqueue({type:"raw",rawValue:j.rawValue});if(!j.success){U={unified:"error",raw:void 0},w.enqueue({type:"error",error:j.error});return}let P=j.value;if("error"in P){U={unified:"error",raw:void 0},w.enqueue({type:"error",error:(E=I$0(P.error))!=null?E:P.error});return}if(D)D=!1,w.enqueue({type:"response-metadata",...$10(P)}),w.enqueue({type:"text-start",id:"0"});if(P.usage!=null)B=P.usage;let T=P.choices[0];if((T==null?void 0:T.finish_reason)!=null)U={unified:$L$(T.finish_reason),raw:T.finish_reason};if((T==null?void 0:T.logprobs)!=null)N.openai.logprobs=T.logprobs;if((T==null?void 0:T.text)!=null&&T.text.length>0)w.enqueue({type:"text-delta",id:"0",delta:T.text})},flush(j){if(!D)j.enqueue({type:"text-end",id:"0"});j.enqueue({type:"finish",finishReason:U,providerMetadata:N,usage:eD$(B)})}})),request:{body:G},response:{headers:K}}}};sk4=W0(()=>e(J51.object({dimensions:J51.number().optional(),user:J51.string().optional()}))),ak4=W0(()=>e(Lq.object({data:Lq.array(Lq.object({embedding:Lq.array(Lq.number())})),usage:Lq.object({prompt_tokens:Lq.number()}).nullish()}))),rk4=class ${constructor(Z,Q){this.specificationVersion="v4",this.maxEmbeddingsPerCall=2048,this[QL$]=300000,this.supportsParallelCalls=!0,this.modelId=Z,this.config=Q}static[(QL$=OF$,W4)](Z){return f4({modelId:Z.modelId,config:Z.config})}static[K4](Z){return new $(Z.modelId,Z.config)}get provider(){return this.config.provider}async doEmbed({values:Z,headers:Q,abortSignal:Y,providerOptions:X}){var J,G,W;if(Z.length>this.maxEmbeddingsPerCall)throw new jF0({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:Z});let K=(J=await x$({provider:"openai",providerOptions:X,schema:sk4}))!=null?J:{},{responseHeaders:H,value:F,rawValue:U}=await J$({url:this.config.url({path:"/embeddings",modelId:this.modelId}),headers:_1((W=(G=this.config).headers)==null?void 0:W.call(G),Q),body:{model:this.modelId,input:Z,encoding_format:"float",dimensions:K.dimensions,user:K.user},failedResponseHandler:p9,successfulResponseHandler:V1(ak4),abortSignal:Y,fetch:this.config.fetch});return{warnings:[],embeddings:F.data.map((N)=>N.embedding),usage:F.usage?{tokens:F.usage.prompt_tokens}:void 0,response:{headers:H,body:U}}}},iU0=W0(()=>e($W.object({id:$W.string(),object:$W.string().nullish(),bytes:$W.number().nullish(),created_at:$W.number().nullish(),filename:$W.string().nullish(),purpose:$W.string().nullish(),status:$W.string().nullish(),expires_at:$W.number().nullish()}))),ek4=W0(()=>e($W.object({id:$W.string(),object:$W.string().nullish(),deleted:$W.boolean()}))),$C4=W0(()=>e(G51.object({purpose:G51.string().optional(),expiresAfter:G51.number().optional()})));YL$=W0(()=>e(TY.object({created:TY.number().nullish(),data:TY.array(TY.object({b64_json:TY.string(),revised_prompt:TY.string().nullish()})),background:TY.string().nullish(),output_format:TY.string().nullish(),size:TY.string().nullish(),quality:TY.string().nullish(),usage:TY.object({input_tokens:TY.number().nullish(),output_tokens:TY.number().nullish(),total_tokens:TY.number().nullish(),input_tokens_details:TY.object({image_tokens:TY.number().nullish(),text_tokens:TY.number().nullish()}).nullish()}).nullish()}))),QC4={"dall-e-3":1,"dall-e-2":10,"gpt-image-1":10,"gpt-image-1-mini":10,"gpt-image-1.5":10,"gpt-image-2":10,"gpt-image-2.5-flare":10,"gpt-image-2.5-flare-2026-09-08":10,"gpt-image-2.5-sunburst":10,"gpt-image-2.5-sunburst-2026-09-08":10,"chatgpt-image-latest":10},YC4=["chatgpt-image-","gpt-image-"];b51=mL.object({quality:mL.enum(["standard","hd","low","medium","high","xhigh","max","auto"]).optional(),background:mL.enum(["transparent","opaque","auto"]).optional(),outputFormat:mL.enum(["png","jpeg","webp"]).optional(),outputCompression:mL.number().int().min(0).max(100).optional(),user:mL.string().optional()}),FW9=W0(()=>e(b51)),GC4=W0(()=>e(b51.extend({style:mL.enum(["vivid","natural"]).optional(),moderation:mL.enum(["auto","low"]).optional()}))),WC4=W0(()=>e(b51.extend({inputFidelity:mL.enum(["high","low"]).optional()}))),KC4=class ${constructor(Z,Q){this.modelId=Z,this.config=Q,this.specificationVersion="v4"}static[W4](Z){return f4({modelId:Z.modelId,config:Z.config})}static[K4](Z){return new $(Z.modelId,Z.config)}get maxImagesPerCall(){return JC4(this.modelId)}get provider(){return this.config.provider}async doGenerate({prompt:Z,files:Q,mask:Y,n:X,size:J,aspectRatio:G,seed:W,providerOptions:K,headers:H,abortSignal:F}){var U,N,B,D,O,j,w,E,P,T,z,A,M,f,S;let V=[];if(G!=null)V.push({type:"unsupported",feature:"aspectRatio",details:"This model does not support aspect ratio. Use `size` instead."});if(W!=null)V.push({type:"unsupported",feature:"seed"});let v=(B=(N=(U=this.config._internal)==null?void 0:U.currentDate)==null?void 0:N.call(U))!=null?B:new Date;if(Q!=null){let i=(D=await x$({provider:"openai",providerOptions:K,schema:WC4}))!=null?D:{},{value:G0,responseHeaders:I0}=await qK({url:this.config.url({path:"/images/edits",modelId:this.modelId}),headers:_1((j=(O=this.config).headers)==null?void 0:j.call(O),H),formData:JF$({model:this.modelId,prompt:Z,image:await Promise.all(Q.map((X0)=>X0.type==="file"?new Blob([X0.data instanceof Uint8Array?new Blob([X0.data],{type:X0.mediaType}):new Blob([WZ(X0.data)],{type:X0.mediaType})],{type:X0.mediaType}):X10(X0.url,{abortSignal:F}))),mask:Y!=null?await HC4(Y,F):void 0,n:X,size:J,quality:i.quality,background:i.background,output_format:i.outputFormat,output_compression:i.outputCompression,input_fidelity:i.inputFidelity,user:i.user}),failedResponseHandler:p9,successfulResponseHandler:V1(YL$),abortSignal:F,fetch:this.config.fetch});return{images:G0.data.map((X0)=>X0.b64_json),warnings:V,usage:G0.usage!=null?{inputTokens:(w=G0.usage.input_tokens)!=null?w:void 0,outputTokens:(E=G0.usage.output_tokens)!=null?E:void 0,totalTokens:(P=G0.usage.total_tokens)!=null?P:void 0}:void 0,response:{timestamp:v,modelId:this.modelId,headers:I0},providerMetadata:{openai:{images:G0.data.map((X0,H0)=>{var s,o,r,Q0,J0,u0;return{...X0.revised_prompt?{revisedPrompt:X0.revised_prompt}:{},created:(s=G0.created)!=null?s:void 0,size:(o=G0.size)!=null?o:void 0,quality:(r=G0.quality)!=null?r:void 0,background:(Q0=G0.background)!=null?Q0:void 0,outputFormat:(J0=G0.output_format)!=null?J0:void 0,...XL$((u0=G0.usage)==null?void 0:u0.input_tokens_details,H0,G0.data.length)}})}}}}let b=(T=await x$({provider:"openai",providerOptions:K,schema:GC4}))!=null?T:{},{value:u,responseHeaders:m}=await J$({url:this.config.url({path:"/images/generations",modelId:this.modelId}),headers:_1((A=(z=this.config).headers)==null?void 0:A.call(z),H),body:{model:this.modelId,prompt:Z,n:X,size:J,quality:b.quality,style:b.style,background:b.background,moderation:b.moderation,output_format:b.outputFormat,output_compression:b.outputCompression,user:b.user,...!XC4(this.modelId)?{response_format:"b64_json"}:{}},failedResponseHandler:p9,successfulResponseHandler:V1(YL$),abortSignal:F,fetch:this.config.fetch});return{images:u.data.map((i)=>i.b64_json),warnings:V,usage:u.usage!=null?{inputTokens:(M=u.usage.input_tokens)!=null?M:void 0,outputTokens:(f=u.usage.output_tokens)!=null?f:void 0,totalTokens:(S=u.usage.total_tokens)!=null?S:void 0}:void 0,response:{timestamp:v,modelId:this.modelId,headers:m},providerMetadata:{openai:{images:u.data.map((i,G0)=>{var I0,X0,H0,s,o,r;return{...i.revised_prompt?{revisedPrompt:i.revised_prompt}:{},created:(I0=u.created)!=null?I0:void 0,size:(X0=u.size)!=null?X0:void 0,quality:(H0=u.quality)!=null?H0:void 0,background:(s=u.background)!=null?s:void 0,outputFormat:(o=u.output_format)!=null?o:void 0,...XL$((r=u.usage)==null?void 0:r.input_tokens_details,G0,u.data.length)}})}}}}};CL$=W0(()=>e(AQ.object({callId:AQ.string(),operation:AQ.discriminatedUnion("type",[AQ.object({type:AQ.literal("create_file"),path:AQ.string(),diff:AQ.string()}),AQ.object({type:AQ.literal("delete_file"),path:AQ.string()}),AQ.object({type:AQ.literal("update_file"),path:AQ.string(),diff:AQ.string()})])}))),SL$=W0(()=>e(AQ.object({status:AQ.enum(["completed","failed"]),output:AQ.string().optional()}))),BW9=W0(()=>e(AQ.object({}))),FC4=SN({id:"openai.apply_patch",inputSchema:CL$,outputSchema:SL$}),UC4=FC4,NC4=W0(()=>e(TQ.object({code:TQ.string().nullish(),containerId:TQ.string()}))),BC4=W0(()=>e(TQ.object({outputs:TQ.array(TQ.discriminatedUnion("type",[TQ.object({type:TQ.literal("logs"),logs:TQ.string()}),TQ.object({type:TQ.literal("image"),url:TQ.string()})])).nullish()}))),DC4=W0(()=>e(TQ.object({container:TQ.union([TQ.string(),TQ.object({fileIds:TQ.array(TQ.string()).optional()})]).optional()}))),LC4=n$({id:"openai.code_interpreter",inputSchema:NC4,outputSchema:BC4}),_L$=j$.object({id:j$.string(),code:j$.string().optional(),message:j$.string().optional()}),jC4=j$.discriminatedUnion("type",[j$.object({type:j$.literal("click"),button:j$.enum(["left","right","wheel","back","forward"]),x:j$.number(),y:j$.number(),keys:j$.array(j$.string()).optional()}),j$.object({type:j$.literal("double_click"),x:j$.number(),y:j$.number(),keys:j$.array(j$.string()).optional()}),j$.object({type:j$.literal("drag"),path:j$.array(j$.object({x:j$.number(),y:j$.number()})),keys:j$.array(j$.string()).optional()}),j$.object({type:j$.literal("keypress"),keys:j$.array(j$.string())}),j$.object({type:j$.literal("move"),x:j$.number(),y:j$.number(),keys:j$.array(j$.string()).optional()}),j$.object({type:j$.literal("screenshot")}),j$.object({type:j$.literal("scroll"),x:j$.number(),y:j$.number(),scrollX:j$.number(),scrollY:j$.number(),keys:j$.array(j$.string()).optional()}),j$.object({type:j$.literal("type"),text:j$.string()}),j$.object({type:j$.literal("wait")})]),vL$=W0(()=>e(j$.object({actions:j$.array(jC4),pendingSafetyChecks:j$.array(_L$),status:j$.enum(["in_progress","completed","incomplete"])}))),bL$=W0(()=>e(j$.object({output:j$.union([j$.object({type:j$.literal("computer_screenshot"),imageUrl:j$.string(),fileId:j$.string().optional(),detail:j$.enum(["auto","low","high","original"]).optional()}),j$.object({type:j$.literal("computer_screenshot"),fileId:j$.string(),imageUrl:j$.string().optional(),detail:j$.enum(["auto","low","high","original"]).optional()})]),acknowledgedSafetyChecks:j$.array(_L$).optional()}))),wC4=SN({id:"openai.computer",inputSchema:vL$,outputSchema:bL$}),PC4=W0(()=>e(bF.object({description:bF.string().optional(),async:bF.boolean().optional(),format:bF.union([bF.object({type:bF.literal("grammar"),syntax:bF.enum(["regex","lark"]),definition:bF.string()}),bF.object({type:bF.literal("text")})]).optional()}))),zC4=W0(()=>e(bF.string())),AC4=vZ({id:"openai.custom",inputSchema:zC4}),xL$=D6.object({key:D6.string(),type:D6.enum(["eq","ne","gt","gte","lt","lte","in","nin"]),value:D6.union([D6.string(),D6.number(),D6.boolean(),D6.array(D6.string())])}),fL$=D6.object({type:D6.enum(["and","or"]),filters:D6.array(D6.union([xL$,D6.lazy(()=>fL$)]))}),qC4=W0(()=>e(D6.object({vectorStoreIds:D6.array(D6.string()),maxNumResults:D6.number().optional(),ranking:D6.object({ranker:D6.string().optional(),scoreThreshold:D6.number().optional()}).optional(),filters:D6.union([xL$,fL$]).optional()}))),RC4=W0(()=>e(D6.object({queries:D6.array(D6.string()),results:D6.array(D6.object({attributes:D6.record(D6.string(),D6.unknown()),fileId:D6.string(),filename:D6.string(),score:D6.number(),text:D6.string()})).nullable()}))),MC4=n$({id:"openai.file_search",inputSchema:D6.object({}),outputSchema:RC4}),VC4=W0(()=>e(a7.object({action:a7.enum(["generate","edit","auto"]).optional(),background:a7.enum(["auto","opaque","transparent"]).optional(),inputFidelity:a7.enum(["low","high"]).optional(),inputImageMask:a7.object({fileId:a7.string().optional(),imageUrl:a7.string().optional()}).optional(),model:a7.string().optional(),moderation:a7.enum(["auto","low"]).optional(),outputCompression:a7.number().int().min(0).max(100).optional(),outputFormat:a7.enum(["png","jpeg","webp"]).optional(),partialImages:a7.number().int().min(0).max(3).optional(),quality:a7.enum(["auto","low","medium","high","xhigh","max"]).optional(),size:a7.union([a7.enum(["1024x1024","1024x1536","1536x1024","auto"]),a7.string().regex(/^\d+x\d+$/)]).optional()}).strict())),IC4=W0(()=>e(a7.object({}))),kC4=W0(()=>e(a7.object({result:a7.string()}))),CC4=n$({id:"openai.image_generation",inputSchema:IC4,outputSchema:kC4}),yL$=W0(()=>e(eG.object({action:eG.object({type:eG.literal("exec"),command:eG.array(eG.string()),timeoutMs:eG.number().optional(),user:eG.string().optional(),workingDirectory:eG.string().optional(),env:eG.record(eG.string(),eG.string()).optional()})}))),gL$=W0(()=>e(eG.object({output:eG.string()}))),_C4=SN({id:"openai.local_shell",inputSchema:yL$,outputSchema:gL$}),hL$=W0(()=>e(h$.object({action:h$.object({commands:h$.array(h$.string()),timeoutMs:h$.number().optional(),maxOutputLength:h$.number().optional()})}))),D51=W0(()=>e(h$.object({output:h$.array(h$.object({stdout:h$.string(),stderr:h$.string(),outcome:h$.discriminatedUnion("type",[h$.object({type:h$.literal("timeout")}),h$.object({type:h$.literal("exit"),exitCode:h$.number()})])}))}))),vC4=h$.array(h$.discriminatedUnion("type",[h$.object({type:h$.literal("skillReference"),providerReference:h$.record(h$.string(),h$.string()),version:h$.string().optional()}),h$.object({type:h$.literal("inline"),name:h$.string(),description:h$.string(),source:h$.object({type:h$.literal("base64"),mediaType:h$.literal("application/zip"),data:h$.string()})})])).optional(),bC4=W0(()=>e(h$.object({environment:h$.union([h$.object({type:h$.literal("containerAuto"),fileIds:h$.array(h$.string()).optional(),memoryLimit:h$.enum(["1g","4g","16g","64g"]).optional(),networkPolicy:h$.discriminatedUnion("type",[h$.object({type:h$.literal("disabled")}),h$.object({type:h$.literal("allowlist"),allowedDomains:h$.array(h$.string()),domainSecrets:h$.array(h$.object({domain:h$.string(),name:h$.string(),value:h$.string()})).optional()})]).optional(),skills:vC4}),h$.object({type:h$.literal("containerReference"),containerId:h$.string()}),h$.object({type:h$.literal("local").optional(),skills:h$.array(h$.object({name:h$.string(),description:h$.string(),path:h$.string()})).optional()})]).optional()}))),xC4=SN({id:"openai.shell",inputSchema:hL$,outputSchema:D51}),fC4=W0(()=>e(S3.object({execution:S3.enum(["server","client"]).optional(),description:S3.string().optional(),parameters:S3.record(S3.string(),S3.unknown()).optional()}))),L51=W0(()=>e(S3.object({arguments:S3.unknown().optional(),call_id:S3.string().nullish()}))),O51=W0(()=>e(S3.object({tools:S3.array(S3.record(S3.string(),S3.unknown()))}))),yC4=SN({id:"openai.tool_search",inputSchema:L51,outputSchema:O51}),hC4=W0(()=>e(p4.object({externalWebAccess:p4.boolean().optional(),filters:p4.object({allowedDomains:p4.array(p4.string()).optional(),blockedDomains:p4.array(p4.string()).optional()}).optional(),searchContextSize:p4.enum(["low","medium","high"]).optional(),userLocation:p4.object({type:p4.literal("approximate"),country:p4.string().optional(),city:p4.string().optional(),region:p4.string().optional(),timezone:p4.string().optional()}).optional()}))),uC4=W0(()=>e(p4.object({}))),lC4=W0(()=>e(p4.object({action:p4.discriminatedUnion("type",[p4.object({type:p4.literal("search"),query:p4.string().optional(),queries:p4.array(p4.string()).optional()}),p4.object({type:p4.literal("openPage"),url:p4.string().nullish()}),p4.object({type:p4.literal("findInPage"),url:p4.string().nullish(),pattern:p4.string().nullish()})]).optional(),sources:p4.array(p4.discriminatedUnion("type",[p4.object({type:p4.literal("url"),url:p4.string()}),p4.object({type:p4.literal("api"),name:p4.string()})])).optional()}))),mC4=n$({id:"openai.web_search",inputSchema:uC4,outputSchema:lC4}),dC4=W0(()=>e(Y7.object({searchContextSize:Y7.enum(["low","medium","high"]).optional(),userLocation:Y7.object({type:Y7.literal("approximate"),country:Y7.string().optional(),city:Y7.string().optional(),region:Y7.string().optional(),timezone:Y7.string().optional()}).optional()}))),iC4=W0(()=>e(Y7.object({}))),pC4=W0(()=>e(Y7.object({action:Y7.discriminatedUnion("type",[Y7.object({type:Y7.literal("search"),query:Y7.string().optional()}),Y7.object({type:Y7.literal("openPage"),url:Y7.string().nullish()}),Y7.object({type:Y7.literal("findInPage"),url:Y7.string().nullish(),pattern:Y7.string().nullish()})]).optional()}))),nC4=n$({id:"openai.web_search_preview",inputSchema:iC4,outputSchema:pC4}),j51=j4.lazy(()=>j4.union([j4.string(),j4.number(),j4.boolean(),j4.null(),j4.array(j51),j4.record(j4.string(),j51)])),tC4=W0(()=>e(j4.object({serverLabel:j4.string(),allowedTools:j4.union([j4.array(j4.string()),j4.object({readOnly:j4.boolean().optional(),toolNames:j4.array(j4.string()).optional()})]).optional(),authorization:j4.string().optional(),connectorId:j4.string().optional(),headers:j4.record(j4.string(),j4.string()).optional(),requireApproval:j4.union([j4.enum(["always","never"]),j4.object({never:j4.object({toolNames:j4.array(j4.string()).optional()}).optional()})]).optional(),serverDescription:j4.string().optional(),serverUrl:j4.string().optional()}).refine(($)=>$.serverUrl!=null||$.connectorId!=null,"One of serverUrl or connectorId must be provided."))),oC4=W0(()=>e(j4.object({}))),sC4=W0(()=>e(j4.object({type:j4.literal("call"),serverLabel:j4.string(),name:j4.string(),arguments:j4.string(),output:j4.string().nullish(),error:j4.union([j4.string(),j51]).optional()}))),aC4=n$({id:"openai.mcp",inputSchema:oC4,outputSchema:sC4}),uL$=W0(()=>e(od.object({code:od.string(),fingerprint:od.string()}))),lL$=W0(()=>e(od.object({result:od.string(),status:od.enum(["completed","incomplete"])}))),eC4=n$({id:"openai.programmatic_tool_calling",inputSchema:uL$,outputSchema:lL$,supportsDeferredResults:!0}),ZS4={applyPatch:UC4,customTool:TC4,codeInterpreter:OC4,computer:EC4,fileSearch:MC4,imageGeneration:SC4,localShell:_C4,shell:xC4,webSearchPreview:nC4,webSearch:cC4,mcp:rC4,programmaticToolCalling:$S4,toolSearch:gC4};sd=q.lazy(()=>q.union([q.string(),q.number(),q.boolean(),q.null(),q.array(sd),q.record(q.string(),sd.optional())])),K51=q.record(q.string(),sd.optional()),E51=q.intersection(K51,q.object({input_tokens:q.number(),input_tokens_details:q.intersection(K51,q.object({cached_tokens:q.number().nullish(),cache_write_tokens:q.number().nullish(),orchestration_input_tokens:q.number().nullish(),orchestration_input_cached_tokens:q.number().nullish()})).nullish(),output_tokens:q.number(),output_tokens_details:q.intersection(K51,q.object({reasoning_tokens:q.number().nullish(),orchestration_output_tokens:q.number().nullish()})).nullish(),total_tokens:q.number().optional()})),QS4=q.object({id:q.string(),code:q.string().nullish(),message:q.string().nullish()}),JL$=q.discriminatedUnion("type",[q.object({type:q.literal("click"),button:q.enum(["left","right","wheel","back","forward"]),x:q.number(),y:q.number(),keys:q.array(q.string()).nullish()}),q.object({type:q.literal("double_click"),x:q.number(),y:q.number(),keys:q.array(q.string()).nullish()}),q.object({type:q.literal("drag"),path:q.array(q.object({x:q.number(),y:q.number()})),keys:q.array(q.string()).nullish()}),q.object({type:q.literal("keypress"),keys:q.array(q.string())}),q.object({type:q.literal("move"),x:q.number(),y:q.number(),keys:q.array(q.string()).nullish()}),q.object({type:q.literal("screenshot")}),q.object({type:q.literal("scroll"),x:q.number(),y:q.number(),scroll_x:q.number(),scroll_y:q.number(),keys:q.array(q.string()).nullish()}),q.object({type:q.literal("type"),text:q.string()}),q.object({type:q.literal("wait")})]),P51=q.object({type:q.literal("computer_call"),id:q.string(),call_id:q.string().nullish(),status:q.enum(["in_progress","completed","incomplete"]),action:JL$.nullish(),actions:q.array(JL$).nullish(),pending_safety_checks:q.array(QS4).nullish()}),z51=q.discriminatedUnion("type",[q.object({type:q.literal("direct")}),q.object({type:q.literal("program"),caller_id:q.string()})]),A51=q.object({type:q.literal("program"),id:q.string(),call_id:q.string(),code:q.string(),fingerprint:q.string()}),T51=q.object({type:q.literal("program_output"),id:q.string(),call_id:q.string(),result:q.string(),status:q.enum(["completed","incomplete"])}),q51=q.object({type:q.literal("local_shell_call"),id:q.string(),call_id:q.string(),action:q.object({type:q.literal("exec"),command:q.array(q.string()),timeout_ms:q.number().optional(),user:q.string().optional(),working_directory:q.string().optional(),env:q.record(q.string(),q.string()).optional()})}),YS4=q.object({type:q.literal("error"),sequence_number:q.number(),error:q.object({type:q.string(),code:q.string(),message:q.string(),param:q.string().nullish()})}),XS4=q.object({type:q.literal("error"),sequence_number:q.number(),code:q.string().nullish(),message:q.string(),param:q.string().nullish()}),JS4=new Set(["error","response.apply_patch_call_operation_diff.delta","response.apply_patch_call_operation_diff.done","response.code_interpreter_call_code.delta","response.code_interpreter_call_code.done","response.completed","response.created","response.custom_tool_call_input.delta","response.failed","response.function_call_arguments.delta","response.function_call_arguments.done","response.image_generation_call.partial_image","response.in_progress","response.incomplete","response.output_item.added","response.output_item.done","response.output_text.annotation.added","response.output_text.delta","response.reasoning_summary_part.added","response.reasoning_summary_part.done","response.reasoning_summary_text.delta"]),GS4=new Set(["apply_patch_call","code_interpreter_call","compaction","computer_call","custom_tool_call","file_search_call","function_call","image_generation_call","local_shell_call","mcp_approval_request","mcp_call","mcp_list_tools","message","program","program_output","reasoning","shell_call","shell_call_output","tool_search_call","tool_search_output","web_search_call"]);KS4=W0(()=>e(q.union([q.object({type:q.literal("response.output_text.delta"),item_id:q.string(),output_index:q.number().nullish(),delta:q.string(),logprobs:q.array(q.object({token:q.string(),logprob:q.number(),top_logprobs:q.array(q.object({token:q.string(),logprob:q.number()}))})).nullish()}),q.object({type:q.enum(["response.completed","response.incomplete"]),response:q.object({incomplete_details:q.object({reason:q.string()}).nullish(),usage:E51.nullish(),reasoning:q.object({context:q.string().nullish()}).nullish(),service_tier:q.string().nullish()})}),q.object({type:q.literal("response.failed"),sequence_number:q.number(),response:q.object({error:q.object({code:q.string().nullish(),message:q.string()}).nullish(),incomplete_details:q.object({reason:q.string()}).nullish(),usage:E51.nullish(),reasoning:q.object({context:q.string().nullish()}).nullish(),service_tier:q.string().nullish()})}),q.object({type:q.literal("response.created"),response:q.object({id:q.string(),created_at:q.number(),model:q.string(),service_tier:q.string().nullish()})}),q.object({type:q.literal("response.in_progress"),response:q.object({id:q.string(),created_at:q.number(),model:q.string(),service_tier:q.string().nullish()})}),q.object({type:q.literal("response.output_item.added"),output_index:q.number(),item:q.discriminatedUnion("type",[q.object({type:q.literal("message"),id:q.string(),phase:q.enum(["commentary","final_answer"]).nullish()}),q.object({type:q.literal("reasoning"),id:q.string(),encrypted_content:q.string().nullish()}),q.object({type:q.literal("function_call"),id:q.string(),call_id:q.string(),name:q.string(),arguments:q.string(),async:q.boolean().nullish(),namespace:q.string().nullish(),caller:z51.nullish()}),A51,T51,q.object({type:q.literal("web_search_call"),id:q.string(),status:q.string()}),P51,q.object({type:q.literal("file_search_call"),id:q.string()}),q51,q.object({type:q.literal("image_generation_call"),id:q.string()}),q.object({type:q.literal("code_interpreter_call"),id:q.string(),container_id:q.string(),code:q.string().nullable(),outputs:q.array(q.discriminatedUnion("type",[q.object({type:q.literal("logs"),logs:q.string()}),q.object({type:q.literal("image"),url:q.string()})])).nullable(),status:q.string()}),q.object({type:q.literal("mcp_call"),id:q.string(),status:q.string(),approval_request_id:q.string().nullish()}),q.object({type:q.literal("mcp_list_tools"),id:q.string()}),q.object({type:q.literal("mcp_approval_request"),id:q.string()}),q.object({type:q.literal("apply_patch_call"),id:q.string(),call_id:q.string(),status:q.enum(["in_progress","completed"]),operation:q.discriminatedUnion("type",[q.object({type:q.literal("create_file"),path:q.string(),diff:q.string()}),q.object({type:q.literal("delete_file"),path:q.string()}),q.object({type:q.literal("update_file"),path:q.string(),diff:q.string()})])}),q.object({type:q.literal("custom_tool_call"),id:q.string(),call_id:q.string(),name:q.string(),input:q.string(),async:q.boolean().nullish()}),q.object({type:q.literal("shell_call"),id:q.string(),call_id:q.string(),status:q.enum(["in_progress","completed","incomplete"]),action:q.object({commands:q.array(q.string())})}),q.object({type:q.literal("compaction"),id:q.string(),encrypted_content:q.string().nullish()}),q.object({type:q.literal("shell_call_output"),id:q.string(),call_id:q.string(),status:q.enum(["in_progress","completed","incomplete"]),output:q.array(q.object({stdout:q.string(),stderr:q.string(),outcome:q.discriminatedUnion("type",[q.object({type:q.literal("timeout")}),q.object({type:q.literal("exit"),exit_code:q.number()})])}))}),q.object({type:q.literal("tool_search_call"),id:q.string(),execution:q.enum(["server","client"]),call_id:q.string().nullable(),status:q.enum(["in_progress","completed","incomplete"]),arguments:q.unknown()}),q.object({type:q.literal("tool_search_output"),id:q.string(),execution:q.enum(["server","client"]),call_id:q.string().nullable(),status:q.enum(["in_progress","completed","incomplete"]),tools:q.array(q.record(q.string(),sd.optional()))})])}),q.object({type:q.literal("response.output_item.done"),output_index:q.number(),item:q.discriminatedUnion("type",[q.object({type:q.literal("message"),id:q.string(),phase:q.enum(["commentary","final_answer"]).nullish()}),q.object({type:q.literal("reasoning"),id:q.string(),encrypted_content:q.string().nullish()}),q.object({type:q.literal("function_call"),id:q.string(),call_id:q.string(),name:q.string(),arguments:q.string(),async:q.boolean().nullish(),status:q.enum(["in_progress","completed","incomplete"]),namespace:q.string().nullish(),caller:z51.nullish()}),A51,T51,q.object({type:q.literal("custom_tool_call"),id:q.string(),call_id:q.string(),name:q.string(),input:q.string(),async:q.boolean().nullish(),status:q.literal("completed")}),q.object({type:q.literal("code_interpreter_call"),id:q.string(),code:q.string().nullable(),container_id:q.string(),outputs:q.array(q.discriminatedUnion("type",[q.object({type:q.literal("logs"),logs:q.string()}),q.object({type:q.literal("image"),url:q.string()})])).nullable()}),q.object({type:q.literal("image_generation_call"),id:q.string(),result:q.string()}),q.object({type:q.literal("web_search_call"),id:q.string(),status:q.string(),action:q.discriminatedUnion("type",[q.object({type:q.literal("search"),query:q.string().nullish(),queries:q.array(q.string()).nullish(),sources:q.array(q.discriminatedUnion("type",[q.object({type:q.literal("url"),url:q.string()}),q.object({type:q.literal("api"),name:q.string()})])).nullish()}),q.object({type:q.literal("open_page"),url:q.string().nullish()}),q.object({type:q.literal("find_in_page"),url:q.string().nullish(),pattern:q.string().nullish()})]).nullish()}),q.object({type:q.literal("file_search_call"),id:q.string(),queries:q.array(q.string()),results:q.array(q.object({attributes:q.record(q.string(),q.union([q.string(),q.number(),q.boolean()])),file_id:q.string(),filename:q.string(),score:q.number(),text:q.string()})).nullish()}),q51,P51,q.object({type:q.literal("mcp_call"),id:q.string(),status:q.string(),arguments:q.string(),name:q.string(),server_label:q.string(),output:q.string().nullish(),error:q.union([q.string(),q.object({type:q.string().optional(),code:q.union([q.number(),q.string()]).optional(),message:q.string().optional()}).loose()]).nullish(),approval_request_id:q.string().nullish()}),q.object({type:q.literal("mcp_list_tools"),id:q.string(),server_label:q.string(),tools:q.array(q.object({name:q.string(),description:q.string().optional(),input_schema:q.any(),annotations:q.record(q.string(),q.unknown()).optional()})),error:q.union([q.string(),q.object({type:q.string().optional(),code:q.union([q.number(),q.string()]).optional(),message:q.string().optional()}).loose()]).optional()}),q.object({type:q.literal("mcp_approval_request"),id:q.string(),server_label:q.string(),name:q.string(),arguments:q.string(),approval_request_id:q.string().optional()}),q.object({type:q.literal("apply_patch_call"),id:q.string(),call_id:q.string(),status:q.enum(["in_progress","completed"]),operation:q.discriminatedUnion("type",[q.object({type:q.literal("create_file"),path:q.string(),diff:q.string()}),q.object({type:q.literal("delete_file"),path:q.string()}),q.object({type:q.literal("update_file"),path:q.string(),diff:q.string()})])}),q.object({type:q.literal("shell_call"),id:q.string(),call_id:q.string(),status:q.enum(["in_progress","completed","incomplete"]),action:q.object({commands:q.array(q.string())})}),q.object({type:q.literal("compaction"),id:q.string(),encrypted_content:q.string()}),q.object({type:q.literal("shell_call_output"),id:q.string(),call_id:q.string(),status:q.enum(["in_progress","completed","incomplete"]),output:q.array(q.object({stdout:q.string(),stderr:q.string(),outcome:q.discriminatedUnion("type",[q.object({type:q.literal("timeout")}),q.object({type:q.literal("exit"),exit_code:q.number()})])}))}),q.object({type:q.literal("tool_search_call"),id:q.string(),execution:q.enum(["server","client"]),call_id:q.string().nullable(),status:q.enum(["in_progress","completed","incomplete"]),arguments:q.unknown()}),q.object({type:q.literal("tool_search_output"),id:q.string(),execution:q.enum(["server","client"]),call_id:q.string().nullable(),status:q.enum(["in_progress","completed","incomplete"]),tools:q.array(q.record(q.string(),sd.optional()))})])}),q.object({type:q.literal("response.function_call_arguments.delta"),item_id:q.string(),output_index:q.number(),delta:q.string()}),q.object({type:q.literal("response.function_call_arguments.done"),item_id:q.string(),output_index:q.number(),arguments:q.string()}),q.object({type:q.literal("response.custom_tool_call_input.delta"),item_id:q.string(),output_index:q.number(),delta:q.string()}),q.object({type:q.literal("response.image_generation_call.partial_image"),item_id:q.string(),output_index:q.number(),partial_image_b64:q.string()}),q.object({type:q.literal("response.code_interpreter_call_code.delta"),item_id:q.string(),output_index:q.number(),delta:q.string()}),q.object({type:q.literal("response.code_interpreter_call_code.done"),item_id:q.string(),output_index:q.number(),code:q.string()}),q.object({type:q.literal("response.output_text.annotation.added"),annotation:q.discriminatedUnion("type",[q.object({type:q.literal("url_citation"),start_index:q.number(),end_index:q.number(),url:q.string(),title:q.string()}),q.object({type:q.literal("file_citation"),file_id:q.string(),filename:q.string(),index:q.number()}),q.object({type:q.literal("container_file_citation"),container_id:q.string(),file_id:q.string(),filename:q.string(),start_index:q.number(),end_index:q.number()}),q.object({type:q.literal("file_path"),file_id:q.string(),index:q.number()})])}),q.object({type:q.literal("response.reasoning_summary_part.added"),item_id:q.string(),output_index:q.number().nullish(),summary_index:q.number()}),q.object({type:q.literal("response.reasoning_summary_text.delta"),item_id:q.string(),output_index:q.number().nullish(),summary_index:q.number(),delta:q.string()}),q.object({type:q.literal("response.reasoning_summary_part.done"),item_id:q.string(),output_index:q.number().nullish(),summary_index:q.number()}),q.object({type:q.literal("response.apply_patch_call_operation_diff.delta"),item_id:q.string(),output_index:q.number(),delta:q.string(),obfuscation:q.string().nullish()}),q.object({type:q.literal("response.apply_patch_call_operation_diff.done"),item_id:q.string(),output_index:q.number(),diff:q.string()}),YS4,XS4,q.object({type:q.string()}).loose().refine(($)=>!WS4($),{message:"Known response chunk failed schema validation"}).transform(($)=>({type:"unknown_chunk",message:$.type}))]))),mL$=W0(()=>e(q.object({id:q.string().optional(),created_at:q.number().optional(),error:q.object({message:q.string(),type:q.string(),param:q.string().nullish(),code:q.string()}).nullish(),model:q.string().optional(),output:q.array(q.discriminatedUnion("type",[q.object({type:q.literal("message"),role:q.literal("assistant"),id:q.string(),phase:q.enum(["commentary","final_answer"]).nullish(),content:q.array(q.object({type:q.literal("output_text"),text:q.string(),logprobs:q.array(q.object({token:q.string(),logprob:q.number(),top_logprobs:q.array(q.object({token:q.string(),logprob:q.number()}))})).nullish(),annotations:q.array(q.discriminatedUnion("type",[q.object({type:q.literal("url_citation"),start_index:q.number(),end_index:q.number(),url:q.string(),title:q.string()}),q.object({type:q.literal("file_citation"),file_id:q.string(),filename:q.string(),index:q.number()}),q.object({type:q.literal("container_file_citation"),container_id:q.string(),file_id:q.string(),filename:q.string(),start_index:q.number(),end_index:q.number()}),q.object({type:q.literal("file_path"),file_id:q.string(),index:q.number()})]))}))}),q.object({type:q.literal("web_search_call"),id:q.string(),status:q.string(),action:q.discriminatedUnion("type",[q.object({type:q.literal("search"),query:q.string().nullish(),queries:q.array(q.string()).nullish(),sources:q.array(q.discriminatedUnion("type",[q.object({type:q.literal("url"),url:q.string()}),q.object({type:q.literal("api"),name:q.string()})])).nullish()}),q.object({type:q.literal("open_page"),url:q.string().nullish()}),q.object({type:q.literal("find_in_page"),url:q.string().nullish(),pattern:q.string().nullish()})]).nullish()}),q.object({type:q.literal("file_search_call"),id:q.string(),queries:q.array(q.string()),results:q.array(q.object({attributes:q.record(q.string(),q.union([q.string(),q.number(),q.boolean()])),file_id:q.string(),filename:q.string(),score:q.number(),text:q.string()})).nullish()}),q.object({type:q.literal("code_interpreter_call"),id:q.string(),code:q.string().nullable(),container_id:q.string(),outputs:q.array(q.discriminatedUnion("type",[q.object({type:q.literal("logs"),logs:q.string()}),q.object({type:q.literal("image"),url:q.string()})])).nullable()}),q.object({type:q.literal("image_generation_call"),id:q.string(),result:q.string()}),q51,q.object({type:q.literal("function_call"),call_id:q.string(),name:q.string(),arguments:q.string(),id:q.string(),async:q.boolean().nullish(),namespace:q.string().nullish(),caller:z51.nullish()}),A51,T51,q.object({type:q.literal("custom_tool_call"),call_id:q.string(),name:q.string(),input:q.string(),id:q.string(),async:q.boolean().nullish()}),P51,q.object({type:q.literal("reasoning"),id:q.string(),encrypted_content:q.string().nullish(),summary:q.array(q.object({type:q.literal("summary_text"),text:q.string()}))}),q.object({type:q.literal("mcp_call"),id:q.string(),status:q.string(),arguments:q.string(),name:q.string(),server_label:q.string(),output:q.string().nullish(),error:q.union([q.string(),q.object({type:q.string().optional(),code:q.union([q.number(),q.string()]).optional(),message:q.string().optional()}).loose()]).nullish(),approval_request_id:q.string().nullish()}),q.object({type:q.literal("mcp_list_tools"),id:q.string(),server_label:q.string(),tools:q.array(q.object({name:q.string(),description:q.string().optional(),input_schema:q.any(),annotations:q.record(q.string(),q.unknown()).optional()})),error:q.union([q.string(),q.object({type:q.string().optional(),code:q.union([q.number(),q.string()]).optional(),message:q.string().optional()}).loose()]).optional()}),q.object({type:q.literal("mcp_approval_request"),id:q.string(),server_label:q.string(),name:q.string(),arguments:q.string(),approval_request_id:q.string().optional()}),q.object({type:q.literal("apply_patch_call"),id:q.string(),call_id:q.string(),status:q.enum(["in_progress","completed"]),operation:q.discriminatedUnion("type",[q.object({type:q.literal("create_file"),path:q.string(),diff:q.string()}),q.object({type:q.literal("delete_file"),path:q.string()}),q.object({type:q.literal("update_file"),path:q.string(),diff:q.string()})])}),q.object({type:q.literal("shell_call"),id:q.string(),call_id:q.string(),status:q.enum(["in_progress","completed","incomplete"]),action:q.object({commands:q.array(q.string())})}),q.object({type:q.literal("compaction"),id:q.string(),encrypted_content:q.string()}),q.object({type:q.literal("shell_call_output"),id:q.string(),call_id:q.string(),status:q.enum(["in_progress","completed","incomplete"]),output:q.array(q.object({stdout:q.string(),stderr:q.string(),outcome:q.discriminatedUnion("type",[q.object({type:q.literal("timeout")}),q.object({type:q.literal("exit"),exit_code:q.number()})])}))}),q.object({type:q.literal("tool_search_call"),id:q.string(),execution:q.enum(["server","client"]),call_id:q.string().nullable(),status:q.enum(["in_progress","completed","incomplete"]),arguments:q.unknown()}),q.object({type:q.literal("tool_search_output"),id:q.string(),execution:q.enum(["server","client"]),call_id:q.string().nullable(),status:q.enum(["in_progress","completed","incomplete"]),tools:q.array(q.record(q.string(),sd.optional()))})])).optional(),service_tier:q.string().nullish(),reasoning:q.object({context:q.string().nullish()}).nullish(),incomplete_details:q.object({reason:q.string()}).nullish(),usage:E51.nullish()})));BS4=H51.object({itemId:H51.string().nullish(),reasoningEncryptedContent:H51.string().nullish()}),DS4=["o1","o1-2024-12-17","o3","o3-2025-04-16","o3-mini","o3-mini-2025-01-31","o4-mini","o4-mini-2025-04-16","gpt-5","gpt-5-2025-08-07","gpt-5-codex","gpt-5-mini","gpt-5-mini-2025-08-07","gpt-5-nano","gpt-5-nano-2025-08-07","gpt-5-pro","gpt-5-pro-2025-10-06","gpt-5.1","gpt-5.1-chat-latest","gpt-5.1-codex-mini","gpt-5.1-codex","gpt-5.1-codex-max","gpt-5.2","gpt-5.2-chat-latest","gpt-5.2-pro","gpt-5.2-codex","gpt-5.3-chat-latest","gpt-5.3-codex","gpt-5.4","gpt-5.4-2026-03-05","gpt-5.4-mini","gpt-5.4-mini-2026-03-17","gpt-5.4-nano","gpt-5.4-nano-2026-03-17","gpt-5.4-pro","gpt-5.4-pro-2026-03-05","gpt-5.5","gpt-5.5-2026-04-23","gpt-5.6","gpt-5.6-luna","gpt-5.6-sol","gpt-5.6-terra","gpt-6-astra"],eW9=["gpt-4.1","gpt-4.1-2025-04-14","gpt-4.1-mini","gpt-4.1-mini-2025-04-14","gpt-4.1-nano","gpt-4.1-nano-2025-04-14","gpt-4o","gpt-4o-2024-05-13","gpt-4o-2024-08-06","gpt-4o-2024-11-20","gpt-4o-audio-preview","gpt-4o-audio-preview-2024-12-17","gpt-4o-search-preview","gpt-4o-search-preview-2025-03-11","gpt-4o-mini-search-preview","gpt-4o-mini-search-preview-2025-03-11","gpt-4o-mini","gpt-4o-mini-2024-07-18","gpt-3.5-turbo-0125","gpt-3.5-turbo","gpt-3.5-turbo-1106","gpt-5-chat-latest",...DS4],NL$=W0(()=>e(Q4.object({conversation:Q4.string().nullish(),include:Q4.array(Q4.enum(["reasoning.encrypted_content","file_search_call.results","web_search_call.results","message.output_text.logprobs"])).nullish(),includeWebSearchSources:Q4.boolean().optional(),instructions:Q4.string().nullish(),logprobs:Q4.union([Q4.boolean(),Q4.number().min(1).max(cL$)]).optional(),maxToolCalls:Q4.number().nullish(),metadata:Q4.any().nullish(),parallelToolCalls:Q4.boolean().nullish(),previousResponseId:Q4.string().nullish(),promptCacheKey:Q4.string().nullish(),promptCacheOptions:Q4.object({mode:Q4.enum(["implicit","explicit"]).optional(),ttl:Q4.literal("30m").optional()}).optional(),promptCacheRetention:Q4.enum(["in_memory","24h"]).nullish(),reasoningEffort:Q4.string().nullish(),reasoningEffortUpdate:Q4.enum(["low","medium","high","xhigh","max"]).optional(),reasoningMode:Q4.enum(["standard","pro"]).optional(),reasoningContext:Q4.enum(["auto","current_turn","all_turns"]).optional(),reasoningSummary:Q4.string().nullish(),safetyIdentifier:Q4.string().nullish(),serviceTier:Q4.enum(["auto","flex","priority","fast","ultrafast","default"]).nullish(),store:Q4.boolean().nullish(),passThroughUnsupportedFiles:Q4.boolean().optional(),strictJsonSchema:Q4.boolean().nullish(),textVerbosity:Q4.enum(["low","medium","high"]).nullish(),truncation:Q4.enum(["auto","disabled"]).nullish(),user:Q4.string().nullish(),systemMessageMode:Q4.enum(["system","developer","remove"]).optional(),forceReasoning:Q4.boolean().optional(),contextManagement:Q4.array(Q4.object({type:Q4.literal("compaction"),compactThreshold:Q4.number()})).nullish(),compactionTrigger:Q4.boolean().optional(),allowedTools:Q4.object({toolNames:Q4.array(Q4.string()).min(1),mode:Q4.enum(["auto","required"]).optional()}).optional()})));dL$={"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/]},iL$=class ${constructor(Z,Q){this.specificationVersion="v4",this.supportedUrls=dL$,this.modelId=Z,this.config=Q}static[W4](Z){return f4({modelId:Z.modelId,config:Z.config})}static[K4](Z){return new $(Z.modelId,HS4(Z.config))}get provider(){return this.config.provider}static async prepareRequest({modelId:Z,config:Q,options:{maxOutputTokens:Y,temperature:X,stopSequences:J,topP:G,topK:W,presencePenalty:K,frequencyPenalty:H,seed:F,prompt:U,reasoning:N,providerOptions:B,tools:D,toolChoice:O,responseFormat:j}}){var w,E,P,T,z,A,M,f,S,V,v,b,u,m;let i=[],G0=kL$(Z);if(W!=null)i.push({type:"unsupported",feature:"topK"});if(F!=null)i.push({type:"unsupported",feature:"seed"});if(K!=null)i.push({type:"unsupported",feature:"presencePenalty"});if(H!=null)i.push({type:"unsupported",feature:"frequencyPenalty"});if(J!=null)i.push({type:"unsupported",feature:"stopSequences"});let I0=Q.provider.includes("azure")?"azure":"openai",X0=await x$({provider:I0,providerOptions:B,schema:NL$});if(X0==null&&I0!=="openai")X0=await x$({provider:"openai",providerOptions:B,schema:NL$});let H0=(w=X0==null?void 0:X0.reasoningEffort)!=null?w:CL(N)?N:void 0;if(H0!=null&&G0.supportedReasoningEfforts!=null&&!G0.supportedReasoningEfforts.includes(H0))i.push({type:"unsupported",feature:"reasoningEffort",details:`${Z} only supports the following reasoning efforts: ${G0.supportedReasoningEfforts.join(", ")}`}),H0=void 0;let s=(X0==null?void 0:X0.reasoningSummary)!==void 0?X0.reasoningSummary:H0!=null&&H0!=="none"?"detailed":void 0,o=(E=X0==null?void 0:X0.forceReasoning)!=null?E:G0.isReasoningModel;if((X0==null?void 0:X0.conversation)&&(X0==null?void 0:X0.previousResponseId))i.push({type:"unsupported",feature:"conversation",details:"conversation and previousResponseId cannot be used together"});let r=Ud({tools:D,providerToolNames:{"openai.code_interpreter":"code_interpreter","openai.computer":"computer","openai.file_search":"file_search","openai.image_generation":"image_generation","openai.local_shell":"local_shell","openai.shell":"shell","openai.web_search":"web_search","openai.web_search_preview":"web_search_preview","openai.mcp":"mcp","openai.apply_patch":"apply_patch","openai.tool_search":"tool_search","openai.programmatic_tool_calling":"programmatic_tool_calling"}}),Q0=new Set,J0=new Set,{tools:u0,toolChoice:C0,toolWarnings:Y1}=await LS4({tools:D,toolChoice:O,allowedTools:(P=X0==null?void 0:X0.allowedTools)!=null?P:void 0,toolNameMapping:r,customProviderToolNames:Q0,outputSchemaToolNames:J0,supportsAsyncToolCalling:G0.supportsAsyncToolCalling}),{input:i0,warnings:j0}=await NS4({prompt:U,toolNameMapping:r,systemMessageMode:(T=X0==null?void 0:X0.systemMessageMode)!=null?T:o?"developer":G0.systemMessageMode,providerOptionsName:I0,explicitMessageItemType:Q.explicitMessageItemType,fileIdPrefixes:Q.fileIdPrefixes,passThroughUnsupportedFiles:(z=X0==null?void 0:X0.passThroughUnsupportedFiles)!=null?z:!1,store:(A=X0==null?void 0:X0.store)!=null?A:!0,hasConversation:(X0==null?void 0:X0.conversation)!=null,hasPreviousResponseId:(X0==null?void 0:X0.previousResponseId)!=null,hasLocalShellTool:k1("openai.local_shell"),hasShellTool:k1("openai.shell"),hasApplyPatchTool:k1("openai.apply_patch"),hasComputerTool:k1("openai.computer"),toolSearchToolName:p0("openai.tool_search"),customProviderToolNames:Q0.size>0?Q0:void 0,outputSchemaToolNames:J0.size>0?J0:void 0});i.push(...j0);let E0=X0==null?void 0:X0.reasoningEffortUpdate,m0=E0==null||G0.supportsConfigurationUpdate&&(X0==null?void 0:X0.reasoningMode)!=="pro"&&(X0==null?void 0:X0.contextManagement)==null&&(X0==null?void 0:X0.truncation)!=="auto";if(E0!=null&&!m0)i.push({type:"unsupported",feature:"reasoningEffortUpdate",details:!G0.supportsConfigurationUpdate?"reasoningEffortUpdate is only supported by GPT-6 and later models":"reasoningEffortUpdate requires standard reasoning mode without automatic compaction or automatic truncation"});else if(E0!=null)i0.unshift({type:"configuration_update",reasoning:{effort:E0}});if(X0==null?void 0:X0.compactionTrigger)i0.push({type:"compaction_trigger"});let B1=(M=X0==null?void 0:X0.strictJsonSchema)!=null?M:!0,H1=(j==null?void 0:j.type)==="json"&&j.schema!=null?k$0(j.schema):void 0;if(H1!=null)i.push(...H1.warnings);let _0=X0==null?void 0:X0.include;function c0(T1){if(_0==null)_0=[T1];else if(!_0.includes(T1))_0=[..._0,T1]}function p0(T1){var Q8;return(Q8=D==null?void 0:D.find((k$)=>k$.type==="provider"&&k$.id===T1))==null?void 0:Q8.name}function k1(T1){return p0(T1)!=null}let K0=typeof(X0==null?void 0:X0.logprobs)==="number"?X0==null?void 0:X0.logprobs:(X0==null?void 0:X0.logprobs)===!0?cL$:void 0;if(K0)c0("message.output_text.logprobs");let h=(f=D==null?void 0:D.find((T1)=>T1.type==="provider"&&(T1.id==="openai.web_search"||T1.id==="openai.web_search_preview")))==null?void 0:f.name;if(h&&Q.supportsWebSearchSourcesInclude!==!1&&(X0==null?void 0:X0.includeWebSearchSources)!==!1)c0("web_search_call.action.sources");if(k1("openai.code_interpreter"))c0("code_interpreter_call.outputs");let U0=X0==null?void 0:X0.store;if(U0===!1&&o)c0("reasoning.encrypted_content");let N0={model:Z,input:i0,temperature:X,top_p:G,max_output_tokens:Y,...((j==null?void 0:j.type)==="json"||(X0==null?void 0:X0.textVerbosity))&&{text:{...(j==null?void 0:j.type)==="json"&&{format:H1!=null?{type:"json_schema",strict:B1,name:(S=j.name)!=null?S:"response",description:j.description,schema:H1.schema}:{type:"json_object"}},...(X0==null?void 0:X0.textVerbosity)&&{verbosity:X0.textVerbosity}}},conversation:X0==null?void 0:X0.conversation,max_tool_calls:X0==null?void 0:X0.maxToolCalls,metadata:X0==null?void 0:X0.metadata,parallel_tool_calls:X0==null?void 0:X0.parallelToolCalls,previous_response_id:X0==null?void 0:X0.previousResponseId,store:U0,user:X0==null?void 0:X0.user,instructions:X0==null?void 0:X0.instructions,service_tier:X0==null?void 0:X0.serviceTier,include:_0,prompt_cache_key:X0==null?void 0:X0.promptCacheKey,prompt_cache_options:X0==null?void 0:X0.promptCacheOptions,prompt_cache_retention:X0==null?void 0:X0.promptCacheRetention,safety_identifier:X0==null?void 0:X0.safetyIdentifier,top_logprobs:K0,truncation:X0==null?void 0:X0.truncation,...(X0==null?void 0:X0.contextManagement)&&{context_management:X0.contextManagement.map((T1)=>({type:T1.type,compact_threshold:T1.compactThreshold}))},...o&&(H0!=null||s!=null||(X0==null?void 0:X0.reasoningMode)!=null||(X0==null?void 0:X0.reasoningContext)!=null)&&{reasoning:{...H0!=null&&{effort:H0},...s!=null&&{summary:s},...(X0==null?void 0:X0.reasoningMode)!=null&&{mode:X0.reasoningMode},...(X0==null?void 0:X0.reasoningContext)!=null&&{context:X0.reasoningContext}}}};if(G0.supportsConfigurationUpdate&&N0.prompt_cache_retention!=null)N0.prompt_cache_retention=void 0,i.push({type:"unsupported",feature:"promptCacheRetention",details:"promptCacheRetention is not supported by GPT-6 and later models; use promptCacheOptions instead"});if(o){if(!(H0==="none"&&G0.supportsNonReasoningParameters)){if(N0.temperature!=null)N0.temperature=void 0,i.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for reasoning models"});if(N0.top_p!=null)N0.top_p=void 0,i.push({type:"unsupported",feature:"topP",details:"topP is not supported for reasoning models"});if(G0.supportedReasoningEfforts!=null&&(N0.top_logprobs!=null||((V=N0.include)==null?void 0:V.includes("message.output_text.logprobs")))){N0.top_logprobs=void 0;let T1=(v=N0.include)==null?void 0:v.filter((Q8)=>Q8!=="message.output_text.logprobs");N0.include=T1!=null&&T1.length>0?T1:void 0,i.push({type:"unsupported",feature:"logprobs",details:"logprobs is not supported for reasoning models"})}}}else{if((X0==null?void 0:X0.reasoningEffort)!=null)i.push({type:"unsupported",feature:"reasoningEffort",details:"reasoningEffort is not supported for non-reasoning models"});if((X0==null?void 0:X0.reasoningSummary)!=null)i.push({type:"unsupported",feature:"reasoningSummary",details:"reasoningSummary is not supported for non-reasoning models"});if((X0==null?void 0:X0.reasoningMode)!=null)i.push({type:"unsupported",feature:"reasoningMode",details:"reasoningMode is not supported for non-reasoning models"});if((X0==null?void 0:X0.reasoningContext)!=null)i.push({type:"unsupported",feature:"reasoningContext",details:"reasoningContext is not supported for non-reasoning models"})}if((X0==null?void 0:X0.serviceTier)==="flex"&&!G0.supportsFlexProcessing)i.push({type:"unsupported",feature:"serviceTier",details:"flex processing is only available for o3, o4-mini, and gpt-5 models"}),delete N0.service_tier;if(((X0==null?void 0:X0.serviceTier)==="priority"||(X0==null?void 0:X0.serviceTier)==="fast")&&!G0.supportsPriorityProcessing)i.push({type:"unsupported",feature:"serviceTier",details:"priority processing is only available for supported models (gpt-4, gpt-5, gpt-5-mini, o3, o4-mini) and requires Enterprise access. gpt-5-nano is not supported"}),delete N0.service_tier;let q0=(m=(u=(b=D==null?void 0:D.find((T1)=>T1.type==="provider"&&T1.id==="openai.shell"))==null?void 0:b.args)==null?void 0:u.environment)==null?void 0:m.type,y0=q0==="containerAuto"||q0==="containerReference";return{webSearchToolName:h,args:{...N0,tools:u0,tool_choice:C0},warnings:[...i,...Y1],store:U0,toolNameMapping:r,providerOptionsName:I0,isShellProviderExecuted:y0}}getArgs(Z){return $.prepareRequest({modelId:this.modelId,config:this.config,options:Z})}async doGenerate(Z){var Q,Y,X,J,G,W,K,H,F,U,N,B,D,O,j,w,E,P,T,z,A,M,f,S,V,v,b,u,m,i,G0,I0,X0,H0;let{args:s,warnings:o,webSearchToolName:r,toolNameMapping:Q0,providerOptionsName:J0,isShellProviderExecuted:u0}=await this.getArgs(Z),C0=this.config.url({path:"/responses",modelId:this.modelId}),Y1=LL$(Z.prompt),{responseHeaders:i0,value:j0,rawValue:E0}=await J$({url:C0,headers:_1((Y=(Q=this.config).headers)==null?void 0:Y.call(Q),Z.headers),body:s,failedResponseHandler:p9,successfulResponseHandler:V1(mL$),abortSignal:Z.abortSignal,fetch:this.config.fetch});if(j0.error)throw new j8({message:j0.error.message,url:C0,requestBodyValues:s,statusCode:400,responseHeaders:i0,responseBody:E0,isRetryable:!1});if(j0.output==null){let K0=(X=j0.incomplete_details)==null?void 0:X.reason;throw new j8({message:K0?`Responses API returned no output (${K0})`:"Responses API returned no output",url:C0,requestBodyValues:s,statusCode:500,responseHeaders:i0,responseBody:E0,isRetryable:!1})}let m0=[],B1=[],H1=(G=(J=Z.tools)==null?void 0:J.filter((K0)=>K0.type==="function"))!=null?G:[],_0=!1,c0=[];for(let K0 of j0.output)switch(K0.type){case"reasoning":{if(K0.summary.length===0)K0.summary.push({type:"summary_text",text:""});for(let h of K0.summary)m0.push({type:"reasoning",text:h.text,providerMetadata:{[J0]:{itemId:K0.id,reasoningEncryptedContent:(W=K0.encrypted_content)!=null?W:null}}});break}case"image_generation_call":{m0.push({type:"tool-call",toolCallId:K0.id,toolName:Q0.toCustomToolName("image_generation"),input:"{}",providerExecuted:!0}),m0.push({type:"tool-result",toolCallId:K0.id,toolName:Q0.toCustomToolName("image_generation"),result:{result:K0.result}});break}case"tool_search_call":{let h=(K=K0.call_id)!=null?K:K0.id,U0=K0.execution==="server";if(U0)c0.push(h);m0.push({type:"tool-call",toolCallId:h,toolName:Q0.toCustomToolName("tool_search"),input:JSON.stringify({arguments:K0.arguments,call_id:K0.call_id}),...U0?{providerExecuted:!0}:{},providerMetadata:{[J0]:{itemId:K0.id}}});break}case"tool_search_output":{let h=(F=(H=K0.call_id)!=null?H:c0.shift())!=null?F:K0.id;m0.push({type:"tool-result",toolCallId:h,toolName:Q0.toCustomToolName("tool_search"),result:{tools:K0.tools},providerMetadata:{[J0]:{itemId:K0.id}}});break}case"local_shell_call":{m0.push({type:"tool-call",toolCallId:K0.call_id,toolName:Q0.toCustomToolName("local_shell"),input:JSON.stringify({action:K0.action}),providerMetadata:{[J0]:{itemId:K0.id}}});break}case"shell_call":{m0.push({type:"tool-call",toolCallId:K0.call_id,toolName:Q0.toCustomToolName("shell"),input:JSON.stringify({action:{commands:K0.action.commands}}),...u0&&{providerExecuted:!0},providerMetadata:{[J0]:{itemId:K0.id}}});break}case"shell_call_output":{m0.push({type:"tool-result",toolCallId:K0.call_id,toolName:Q0.toCustomToolName("shell"),result:{output:K0.output.map((h)=>({stdout:h.stdout,stderr:h.stderr,outcome:h.outcome.type==="exit"?{type:"exit",exitCode:h.outcome.exit_code}:{type:"timeout"}}))}});break}case"message":{for(let h of K0.content){if(((N=(U=Z.providerOptions)==null?void 0:U[J0])==null?void 0:N.logprobs)&&h.logprobs)B1.push(h.logprobs);let U0={itemId:K0.id,...K0.phase!=null&&{phase:K0.phase},...h.annotations.length>0&&{annotations:h.annotations}};m0.push({type:"text",text:h.text,providerMetadata:{[J0]:U0}});for(let N0 of h.annotations)if(N0.type==="url_citation")m0.push({type:"source",sourceType:"url",id:(O=(D=(B=this.config).generateId)==null?void 0:D.call(B))!=null?O:Z4(),url:N0.url,title:N0.title});else if(N0.type==="file_citation")m0.push({type:"source",sourceType:"document",id:(E=(w=(j=this.config).generateId)==null?void 0:w.call(j))!=null?E:Z4(),mediaType:"text/plain",title:N0.filename,filename:N0.filename,providerMetadata:{[J0]:{type:N0.type,fileId:N0.file_id,index:N0.index}}});else if(N0.type==="container_file_citation")m0.push({type:"source",sourceType:"document",id:(z=(T=(P=this.config).generateId)==null?void 0:T.call(P))!=null?z:Z4(),mediaType:"text/plain",title:N0.filename,filename:N0.filename,providerMetadata:{[J0]:{type:N0.type,fileId:N0.file_id,containerId:N0.container_id}}});else if(N0.type==="file_path")m0.push({type:"source",sourceType:"document",id:(f=(M=(A=this.config).generateId)==null?void 0:M.call(A))!=null?f:Z4(),mediaType:"application/octet-stream",title:N0.file_id,filename:N0.file_id,providerMetadata:{[J0]:{type:N0.type,fileId:N0.file_id,index:N0.index}}})}break}case"function_call":{_0=!0;let h=await KL$({toolCall:{toolCallId:K0.call_id,toolName:K0.name,input:K0.arguments},tools:H1,providerOptionsName:J0,itemId:K0.id});if(h!=null){m0.push(...h);break}m0.push({type:"tool-call",toolCallId:K0.call_id,toolName:K0.name,input:K0.arguments,providerMetadata:{[J0]:{itemId:K0.id,...K0.async!=null&&{async:K0.async},...K0.namespace!=null&&{namespace:K0.namespace},...K0.caller!=null&&{caller:K0.caller.type==="program"?{type:"program",callerId:K0.caller.caller_id}:K0.caller}}}});break}case"program":{m0.push({type:"tool-call",toolCallId:K0.call_id,toolName:Q0.toCustomToolName("programmatic_tool_calling"),input:JSON.stringify({code:K0.code,fingerprint:K0.fingerprint}),providerExecuted:!0,providerMetadata:{[J0]:{itemId:K0.id}}});break}case"program_output":{m0.push({type:"tool-result",toolCallId:K0.call_id,toolName:Q0.toCustomToolName("programmatic_tool_calling"),result:{result:K0.result,status:K0.status},providerMetadata:{[J0]:{itemId:K0.id}}});break}case"custom_tool_call":{_0=!0;let h=Q0.toCustomToolName(K0.name);m0.push({type:"tool-call",toolCallId:K0.call_id,toolName:h,input:JSON.stringify(K0.input),providerMetadata:{[J0]:{itemId:K0.id,...K0.async!=null&&{async:K0.async}}}});break}case"web_search_call":{m0.push({type:"tool-call",toolCallId:K0.id,toolName:Q0.toCustomToolName(r!=null?r:"web_search"),input:JSON.stringify({}),providerExecuted:!0}),m0.push({type:"tool-result",toolCallId:K0.id,toolName:Q0.toCustomToolName(r!=null?r:"web_search"),result:I51(K0.action)});break}case"mcp_call":{let h=K0.approval_request_id!=null?(S=Y1[K0.approval_request_id])!=null?S:K0.id:K0.id,U0=`mcp.${K0.name}`;m0.push({type:"tool-call",toolCallId:h,toolName:U0,input:K0.arguments,providerExecuted:!0,dynamic:!0}),m0.push({type:"tool-result",toolCallId:h,toolName:U0,result:{type:"call",serverLabel:K0.server_label,name:K0.name,arguments:K0.arguments,...K0.output!=null?{output:K0.output}:{},...K0.error!=null?{error:K0.error}:{}},providerMetadata:{[J0]:{itemId:K0.id}}});break}case"mcp_list_tools":break;case"mcp_approval_request":{let h=(V=K0.approval_request_id)!=null?V:K0.id,U0=(u=(b=(v=this.config).generateId)==null?void 0:b.call(v))!=null?u:Z4(),N0=`mcp.${K0.name}`;m0.push({type:"tool-call",toolCallId:U0,toolName:N0,input:K0.arguments,providerExecuted:!0,dynamic:!0}),m0.push({type:"tool-approval-request",approvalId:h,toolCallId:U0});break}case"computer_call":{if(K0.call_id==null){m0.push({type:"tool-call",toolCallId:K0.id,toolName:Q0.toCustomToolName("computer_use"),input:"",providerExecuted:!0}),m0.push({type:"tool-result",toolCallId:K0.id,toolName:Q0.toCustomToolName("computer_use"),result:{type:"computer_use_tool_result",status:K0.status}});break}_0=!0;let h=Q0.toCustomToolName("computer");m0.push({type:"tool-call",toolCallId:K0.call_id,toolName:h,input:JSON.stringify(OL$(K0)),providerMetadata:{[J0]:{itemId:K0.id}}});break}case"file_search_call":{m0.push({type:"tool-call",toolCallId:K0.id,toolName:Q0.toCustomToolName("file_search"),input:"{}",providerExecuted:!0}),m0.push({type:"tool-result",toolCallId:K0.id,toolName:Q0.toCustomToolName("file_search"),result:{queries:K0.queries,results:(i=(m=K0.results)==null?void 0:m.map((h)=>({attributes:h.attributes,fileId:h.file_id,filename:h.filename,score:h.score,text:h.text})))!=null?i:null}});break}case"code_interpreter_call":{m0.push({type:"tool-call",toolCallId:K0.id,toolName:Q0.toCustomToolName("code_interpreter"),input:JSON.stringify({code:K0.code,containerId:K0.container_id}),providerExecuted:!0}),m0.push({type:"tool-result",toolCallId:K0.id,toolName:Q0.toCustomToolName("code_interpreter"),result:{outputs:K0.outputs}});break}case"apply_patch_call":{_0=!0,m0.push({type:"tool-call",toolCallId:K0.call_id,toolName:Q0.toCustomToolName("apply_patch"),input:JSON.stringify({callId:K0.call_id,operation:K0.operation}),providerMetadata:{[J0]:{itemId:K0.id}}});break}case"compaction":{m0.push({type:"custom",kind:"openai.compaction",providerMetadata:{[J0]:{type:"compaction",itemId:K0.id,encryptedContent:K0.encrypted_content}}});break}}let p0={[J0]:{responseId:j0.id,...B1.length>0?{logprobs:B1}:{},...typeof j0.service_tier==="string"?{serviceTier:j0.service_tier}:{},...((G0=j0.reasoning)==null?void 0:G0.context)!=null?{reasoningContext:j0.reasoning.context}:{}}},k1=j0.usage;return{content:m0,finishReason:{unified:pU0({finishReason:(I0=j0.incomplete_details)==null?void 0:I0.reason,hasFunctionCall:_0}),raw:(H0=(X0=j0.incomplete_details)==null?void 0:X0.reason)!=null?H0:void 0},usage:w51(k1),request:{body:s},response:{id:j0.id,timestamp:new Date(j0.created_at*1000),modelId:j0.model,headers:i0,body:E0},providerMetadata:p0,warnings:o}}async doStream(Z){var Q,Y,X,J;let{args:G,warnings:W,webSearchToolName:K,toolNameMapping:H,store:F,providerOptionsName:U,isShellProviderExecuted:N}=await this.getArgs(Z),B=this.config.url({path:"/responses",modelId:this.modelId}),{responseHeaders:D,value:O}=await J$({url:B,headers:_1((Y=(Q=this.config).headers)==null?void 0:Y.call(Q),Z.headers),body:{...G,stream:!0},failedResponseHandler:p9,successfulResponseHandler:UX(KS4),abortSignal:Z.abortSignal,fetch:this.config.fetch}),j=await v51({stream:O,getError:(o)=>EL$(o)||jL$(o)&&o.response.error!=null?o:void 0,isOutputChunk:gS4,isAcceptedChunk:yS4,url:B,requestBodyValues:G,responseHeaders:D}),w=this,E=LL$(Z.prompt),P=(J=(X=Z.tools)==null?void 0:X.filter((o)=>o.type==="function"))!=null?J:[],T=new Map,z={unified:"other",raw:void 0},A=void 0,M=[],f=null,S={},V=[],v,b=!1,u={},m={},i=({itemId:o,outputIndex:r})=>{var Q0;return r==null?o:(Q0=m[r])!=null?Q0:o},G0,I0,X0=[],H0=!1;return{stream:j.pipeThrough(new TransformStream({start(o){o.enqueue({type:"stream-start",warnings:W})},transform(o,r){var Q0,J0,u0,C0,Y1,i0,j0,E0,m0,B1,H1,_0,c0,p0,k1,K0,h,U0,N0,q0,y0,T1,Q8,k$,R4,Y8,d6,c8,Z5,g9,a0,P1,d$,o1,L$,h8,D5,B4,F$,C8,X8,E$,P9,aQ,tZ;if(Z.includeRawChunks)r.enqueue({type:"raw",rawValue:o.rawValue});if(!o.success){let S0=TS4(o.rawValue)?qS4({value:o.rawValue,cause:o.error,url:B,requestBodyValues:G,responseHeaders:D}):o.error;H0=!0,z={unified:"error",raw:void 0},r.enqueue({type:"error",error:S0});return}let Y0=o.value;if(wL$(Y0)){if(Y0.item.type==="function_call"){let S0=M51({toolName:Y0.item.name,tools:P});if(S[Y0.output_index]={toolName:Y0.item.name,toolCallId:Y0.item.call_id,suppressInputStreaming:S0,bufferedInputDeltas:S0?[]:void 0,async:Y0.item.async},!S0)r.enqueue({type:"tool-input-start",id:Y0.item.call_id,toolName:Y0.item.name})}else if(Y0.item.type==="custom_tool_call"){let S0=H.toCustomToolName(Y0.item.name);S[Y0.output_index]={toolName:S0,toolCallId:Y0.item.call_id,async:Y0.item.async},r.enqueue({type:"tool-input-start",id:Y0.item.call_id,toolName:S0})}else if(Y0.item.type==="web_search_call")S[Y0.output_index]={toolName:H.toCustomToolName(K!=null?K:"web_search"),toolCallId:Y0.item.id},r.enqueue({type:"tool-input-start",id:Y0.item.id,toolName:H.toCustomToolName(K!=null?K:"web_search"),providerExecuted:!0}),r.enqueue({type:"tool-input-end",id:Y0.item.id}),r.enqueue({type:"tool-call",toolCallId:Y0.item.id,toolName:H.toCustomToolName(K!=null?K:"web_search"),input:JSON.stringify({}),providerExecuted:!0});else if(Y0.item.type==="computer_call"){let S0=(Q0=Y0.item.call_id)!=null?Q0:Y0.item.id;S[Y0.output_index]={toolName:H.toCustomToolName("computer"),toolCallId:S0},r.enqueue({type:"tool-input-start",id:S0,toolName:H.toCustomToolName("computer")})}else if(Y0.item.type==="code_interpreter_call")S[Y0.output_index]={toolName:H.toCustomToolName("code_interpreter"),toolCallId:Y0.item.id,codeInterpreter:{containerId:Y0.item.container_id}},r.enqueue({type:"tool-input-start",id:Y0.item.id,toolName:H.toCustomToolName("code_interpreter"),providerExecuted:!0}),r.enqueue({type:"tool-input-delta",id:Y0.item.id,delta:`{"containerId":"${Y0.item.container_id}","code":"`});else if(Y0.item.type==="file_search_call")r.enqueue({type:"tool-call",toolCallId:Y0.item.id,toolName:H.toCustomToolName("file_search"),input:"{}",providerExecuted:!0});else if(Y0.item.type==="image_generation_call")r.enqueue({type:"tool-call",toolCallId:Y0.item.id,toolName:H.toCustomToolName("image_generation"),input:"{}",providerExecuted:!0});else if(Y0.item.type==="tool_search_call"){let S0=Y0.item.id,v1=H.toCustomToolName("tool_search"),d8=Y0.item.execution==="server";if(S[Y0.output_index]={toolName:v1,toolCallId:S0,toolSearchExecution:(J0=Y0.item.execution)!=null?J0:"server"},d8)r.enqueue({type:"tool-input-start",id:S0,toolName:v1,providerExecuted:!0})}else if(Y0.item.type==="tool_search_output");else if(Y0.item.type==="mcp_call"||Y0.item.type==="mcp_list_tools"||Y0.item.type==="mcp_approval_request");else if(Y0.item.type==="apply_patch_call"){let{call_id:S0,operation:v1}=Y0.item;if(S[Y0.output_index]={toolName:H.toCustomToolName("apply_patch"),toolCallId:S0,applyPatch:{hasDiff:v1.type==="delete_file",endEmitted:v1.type==="delete_file"}},r.enqueue({type:"tool-input-start",id:S0,toolName:H.toCustomToolName("apply_patch")}),v1.type==="delete_file"){let d8=JSON.stringify({callId:S0,operation:v1});r.enqueue({type:"tool-input-delta",id:S0,delta:d8}),r.enqueue({type:"tool-input-end",id:S0})}else r.enqueue({type:"tool-input-delta",id:S0,delta:`{"callId":"${Oq(S0)}","operation":{"type":"${Oq(v1.type)}","path":"${Oq(v1.path)}","diff":"`})}else if(Y0.item.type==="shell_call")S[Y0.output_index]={toolName:H.toCustomToolName("shell"),toolCallId:Y0.item.call_id};else if(Y0.item.type==="shell_call_output");else if(Y0.item.type==="message")m[Y0.output_index]=Y0.item.id,V.splice(0,V.length),v=(u0=Y0.item.phase)!=null?u0:void 0,r.enqueue({type:"text-start",id:Y0.item.id,providerMetadata:{[U]:{itemId:Y0.item.id,...Y0.item.phase!=null&&{phase:Y0.item.phase}}}});else if(wL$(Y0)&&Y0.item.type==="reasoning")m[Y0.output_index]=Y0.item.id,u[Y0.item.id]={encryptedContent:Y0.item.encrypted_content,summaryParts:{0:"active"}},r.enqueue({type:"reasoning-start",id:`${Y0.item.id}:0`,providerMetadata:{[U]:{itemId:Y0.item.id,reasoningEncryptedContent:(C0=Y0.item.encrypted_content)!=null?C0:null}}})}else if(MS4(Y0)){if(Y0.item.type==="message"){let S0=i({itemId:Y0.item.id,outputIndex:Y0.output_index}),v1=(Y1=Y0.item.phase)!=null?Y1:v;v=void 0,r.enqueue({type:"text-end",id:S0,providerMetadata:{[U]:{itemId:S0,...v1!=null&&{phase:v1},...V.length>0&&{annotations:V}}}}),m[Y0.output_index]=void 0}else if(Y0.item.type==="function_call"){let S0=Y0.item,v1=S[Y0.output_index];S[Y0.output_index]=void 0,b=!0;let d8=(i0=v1==null?void 0:v1.suppressInputStreaming)!=null?i0:M51({toolName:S0.name,tools:P}),x=()=>{var p;if(d8){r.enqueue({type:"tool-input-start",id:S0.call_id,toolName:S0.name});let n=(p=v1==null?void 0:v1.bufferedInputDeltas)!=null?p:[];if(n.length>0)for(let R of n)r.enqueue({type:"tool-input-delta",id:S0.call_id,delta:R});else if(S0.arguments.length>0)r.enqueue({type:"tool-input-delta",id:S0.call_id,delta:S0.arguments})}r.enqueue({type:"tool-input-end",id:S0.call_id,...S0.namespace!=null&&{providerMetadata:{[U]:{namespace:S0.namespace}}}}),r.enqueue({type:"tool-call",toolCallId:S0.call_id,toolName:S0.name,input:S0.arguments,providerMetadata:{[U]:{itemId:S0.id,...S0.async!=null?{async:S0.async}:(v1==null?void 0:v1.async)!=null?{async:v1.async}:{},...S0.namespace!=null&&{namespace:S0.namespace},...S0.caller!=null&&{caller:S0.caller.type==="program"?{type:"program",callerId:S0.caller.caller_id}:S0.caller}}}})};if(!d8){x();return}return KL$({toolCall:{toolCallId:S0.call_id,toolName:S0.name,input:S0.arguments},tools:P,providerOptionsName:U,itemId:S0.id}).then((p)=>{if(p==null){x();return}for(let n of p)r.enqueue({type:"tool-input-start",id:n.toolCallId,toolName:n.toolName}),r.enqueue({type:"tool-input-delta",id:n.toolCallId,delta:n.input}),r.enqueue({type:"tool-input-end",id:n.toolCallId}),r.enqueue(n)})}else if(Y0.item.type==="program")r.enqueue({type:"tool-call",toolCallId:Y0.item.call_id,toolName:H.toCustomToolName("programmatic_tool_calling"),input:JSON.stringify({code:Y0.item.code,fingerprint:Y0.item.fingerprint}),providerExecuted:!0,providerMetadata:{[U]:{itemId:Y0.item.id}}});else if(Y0.item.type==="program_output")r.enqueue({type:"tool-result",toolCallId:Y0.item.call_id,toolName:H.toCustomToolName("programmatic_tool_calling"),result:{result:Y0.item.result,status:Y0.item.status},providerMetadata:{[U]:{itemId:Y0.item.id}}});else if(Y0.item.type==="custom_tool_call"){let S0=S[Y0.output_index];S[Y0.output_index]=void 0,b=!0;let v1=H.toCustomToolName(Y0.item.name);r.enqueue({type:"tool-input-end",id:Y0.item.call_id}),r.enqueue({type:"tool-call",toolCallId:Y0.item.call_id,toolName:v1,input:JSON.stringify(Y0.item.input),providerMetadata:{[U]:{itemId:Y0.item.id,...Y0.item.async!=null?{async:Y0.item.async}:(S0==null?void 0:S0.async)!=null?{async:S0.async}:{}}}})}else if(Y0.item.type==="web_search_call")S[Y0.output_index]=void 0,r.enqueue({type:"tool-result",toolCallId:Y0.item.id,toolName:H.toCustomToolName(K!=null?K:"web_search"),result:I51(Y0.item.action)});else if(Y0.item.type==="computer_call"){if(S[Y0.output_index]=void 0,Y0.item.call_id==null){r.enqueue({type:"tool-input-end",id:Y0.item.id}),r.enqueue({type:"tool-call",toolCallId:Y0.item.id,toolName:H.toCustomToolName("computer_use"),input:"",providerExecuted:!0}),r.enqueue({type:"tool-result",toolCallId:Y0.item.id,toolName:H.toCustomToolName("computer_use"),result:{type:"computer_use_tool_result",status:Y0.item.status}});return}b=!0;let S0=H.toCustomToolName("computer"),v1=JSON.stringify(OL$(Y0.item));r.enqueue({type:"tool-input-delta",id:Y0.item.call_id,delta:v1}),r.enqueue({type:"tool-input-end",id:Y0.item.call_id}),r.enqueue({type:"tool-call",toolCallId:Y0.item.call_id,toolName:S0,input:v1,providerMetadata:{[U]:{itemId:Y0.item.id}}})}else if(Y0.item.type==="file_search_call")S[Y0.output_index]=void 0,r.enqueue({type:"tool-result",toolCallId:Y0.item.id,toolName:H.toCustomToolName("file_search"),result:{queries:Y0.item.queries,results:(E0=(j0=Y0.item.results)==null?void 0:j0.map((S0)=>({attributes:S0.attributes,fileId:S0.file_id,filename:S0.filename,score:S0.score,text:S0.text})))!=null?E0:null}});else if(Y0.item.type==="code_interpreter_call")S[Y0.output_index]=void 0,r.enqueue({type:"tool-result",toolCallId:Y0.item.id,toolName:H.toCustomToolName("code_interpreter"),result:{outputs:Y0.item.outputs}});else if(Y0.item.type==="image_generation_call")r.enqueue({type:"tool-result",toolCallId:Y0.item.id,toolName:H.toCustomToolName("image_generation"),result:{result:Y0.item.result}});else if(Y0.item.type==="tool_search_call"){let S0=S[Y0.output_index],v1=Y0.item.execution==="server";if(S0!=null){let d8=v1?S0.toolCallId:(m0=Y0.item.call_id)!=null?m0:Y0.item.id;if(v1)X0.push(d8);else r.enqueue({type:"tool-input-start",id:d8,toolName:S0.toolName});r.enqueue({type:"tool-input-end",id:d8}),r.enqueue({type:"tool-call",toolCallId:d8,toolName:S0.toolName,input:JSON.stringify({arguments:Y0.item.arguments,call_id:v1?null:d8}),...v1?{providerExecuted:!0}:{},providerMetadata:{[U]:{itemId:Y0.item.id}}})}S[Y0.output_index]=void 0}else if(Y0.item.type==="tool_search_output"){let S0=(H1=(B1=Y0.item.call_id)!=null?B1:X0.shift())!=null?H1:Y0.item.id;r.enqueue({type:"tool-result",toolCallId:S0,toolName:H.toCustomToolName("tool_search"),result:{tools:Y0.item.tools},providerMetadata:{[U]:{itemId:Y0.item.id}}})}else if(Y0.item.type==="mcp_call"){S[Y0.output_index]=void 0;let S0=(_0=Y0.item.approval_request_id)!=null?_0:void 0,v1=S0!=null?(p0=(c0=T.get(S0))!=null?c0:E[S0])!=null?p0:Y0.item.id:Y0.item.id,d8=`mcp.${Y0.item.name}`;r.enqueue({type:"tool-call",toolCallId:v1,toolName:d8,input:Y0.item.arguments,providerExecuted:!0,dynamic:!0}),r.enqueue({type:"tool-result",toolCallId:v1,toolName:d8,result:{type:"call",serverLabel:Y0.item.server_label,name:Y0.item.name,arguments:Y0.item.arguments,...Y0.item.output!=null?{output:Y0.item.output}:{},...Y0.item.error!=null?{error:Y0.item.error}:{}},providerMetadata:{[U]:{itemId:Y0.item.id}}})}else if(Y0.item.type==="mcp_list_tools")S[Y0.output_index]=void 0;else if(Y0.item.type==="apply_patch_call"){let S0=S[Y0.output_index];if((S0==null?void 0:S0.applyPatch)&&!S0.applyPatch.endEmitted&&Y0.item.operation.type!=="delete_file"){if(!S0.applyPatch.hasDiff)r.enqueue({type:"tool-input-delta",id:S0.toolCallId,delta:Oq(Y0.item.operation.diff)});r.enqueue({type:"tool-input-delta",id:S0.toolCallId,delta:'"}}'}),r.enqueue({type:"tool-input-end",id:S0.toolCallId}),S0.applyPatch.endEmitted=!0}if(S0&&Y0.item.status==="completed")b=!0,r.enqueue({type:"tool-call",toolCallId:S0.toolCallId,toolName:H.toCustomToolName("apply_patch"),input:JSON.stringify({callId:Y0.item.call_id,operation:Y0.item.operation}),providerMetadata:{[U]:{itemId:Y0.item.id}}});S[Y0.output_index]=void 0}else if(Y0.item.type==="mcp_approval_request"){S[Y0.output_index]=void 0;let S0=(h=(K0=(k1=w.config).generateId)==null?void 0:K0.call(k1))!=null?h:Z4(),v1=(U0=Y0.item.approval_request_id)!=null?U0:Y0.item.id;T.set(v1,S0);let d8=`mcp.${Y0.item.name}`;r.enqueue({type:"tool-call",toolCallId:S0,toolName:d8,input:Y0.item.arguments,providerExecuted:!0,dynamic:!0}),r.enqueue({type:"tool-approval-request",approvalId:v1,toolCallId:S0})}else if(Y0.item.type==="local_shell_call")S[Y0.output_index]=void 0,r.enqueue({type:"tool-call",toolCallId:Y0.item.call_id,toolName:H.toCustomToolName("local_shell"),input:JSON.stringify({action:{type:"exec",command:Y0.item.action.command,timeoutMs:Y0.item.action.timeout_ms,user:Y0.item.action.user,workingDirectory:Y0.item.action.working_directory,env:Y0.item.action.env}}),providerMetadata:{[U]:{itemId:Y0.item.id}}});else if(Y0.item.type==="shell_call")S[Y0.output_index]=void 0,r.enqueue({type:"tool-call",toolCallId:Y0.item.call_id,toolName:H.toCustomToolName("shell"),input:JSON.stringify({action:{commands:Y0.item.action.commands}}),...N&&{providerExecuted:!0},providerMetadata:{[U]:{itemId:Y0.item.id}}});else if(Y0.item.type==="shell_call_output")r.enqueue({type:"tool-result",toolCallId:Y0.item.call_id,toolName:H.toCustomToolName("shell"),result:{output:Y0.item.output.map((S0)=>({stdout:S0.stdout,stderr:S0.stderr,outcome:S0.outcome.type==="exit"?{type:"exit",exitCode:S0.outcome.exit_code}:{type:"timeout"}}))}});else if(Y0.item.type==="reasoning"){let S0=i({itemId:Y0.item.id,outputIndex:Y0.output_index}),v1=u[S0];if(v1!=null){let d8=Object.entries(v1.summaryParts).filter(([x,p])=>p==="active"||p==="can-conclude").map(([x])=>x);for(let x of d8)r.enqueue({type:"reasoning-end",id:`${S0}:${x}`,providerMetadata:{[U]:{itemId:S0,reasoningEncryptedContent:(N0=Y0.item.encrypted_content)!=null?N0:null}}});delete u[S0]}m[Y0.output_index]=void 0}else if(Y0.item.type==="compaction")r.enqueue({type:"custom",kind:"openai.compaction",providerMetadata:{[U]:{type:"compaction",itemId:Y0.item.id,encryptedContent:Y0.item.encrypted_content}}})}else if(kS4(Y0)){let S0=S[Y0.output_index];if(S0!=null)if(S0.suppressInputStreaming)(q0=S0.bufferedInputDeltas)==null||q0.push(Y0.delta);else r.enqueue({type:"tool-input-delta",id:S0.toolCallId,delta:Y0.delta})}else if(CS4(Y0)){let S0=S[Y0.output_index];if(S0!=null)r.enqueue({type:"tool-input-delta",id:S0.toolCallId,delta:Y0.delta})}else if(bS4(Y0)){let S0=S[Y0.output_index];if(S0==null?void 0:S0.applyPatch)r.enqueue({type:"tool-input-delta",id:S0.toolCallId,delta:Oq(Y0.delta)}),S0.applyPatch.hasDiff=!0}else if(xS4(Y0)){let S0=S[Y0.output_index];if((S0==null?void 0:S0.applyPatch)&&!S0.applyPatch.endEmitted){if(!S0.applyPatch.hasDiff)r.enqueue({type:"tool-input-delta",id:S0.toolCallId,delta:Oq(Y0.diff)}),S0.applyPatch.hasDiff=!0;r.enqueue({type:"tool-input-delta",id:S0.toolCallId,delta:'"}}'}),r.enqueue({type:"tool-input-end",id:S0.toolCallId}),S0.applyPatch.endEmitted=!0}}else if(SS4(Y0))r.enqueue({type:"tool-result",toolCallId:Y0.item_id,toolName:H.toCustomToolName("image_generation"),result:{result:Y0.partial_image_b64},preliminary:!0});else if(_S4(Y0)){let S0=S[Y0.output_index];if(S0!=null)r.enqueue({type:"tool-input-delta",id:S0.toolCallId,delta:Oq(Y0.delta)})}else if(vS4(Y0)){let S0=S[Y0.output_index];if(S0!=null)r.enqueue({type:"tool-input-delta",id:S0.toolCallId,delta:'"}'}),r.enqueue({type:"tool-input-end",id:S0.toolCallId}),r.enqueue({type:"tool-call",toolCallId:S0.toolCallId,toolName:H.toCustomToolName("code_interpreter"),input:JSON.stringify({code:Y0.code,containerId:S0.codeInterpreter.containerId}),providerExecuted:!0})}else if(IS4(Y0))f=Y0.response.id,r.enqueue({type:"response-metadata",id:Y0.response.id,timestamp:new Date(Y0.response.created_at*1000),modelId:Y0.response.model});else if(AS4(Y0)){let S0=i({itemId:Y0.item_id,outputIndex:Y0.output_index});if(r.enqueue({type:"text-delta",id:S0,delta:Y0.delta}),((T1=(y0=Z.providerOptions)==null?void 0:y0[U])==null?void 0:T1.logprobs)&&Y0.logprobs)M.push(Y0.logprobs)}else if(Y0.type==="response.reasoning_summary_part.added"){let S0=i({itemId:Y0.item_id,outputIndex:Y0.output_index});if(Y0.summary_index>0){let v1=u[S0];if(v1!=null){v1.summaryParts[Y0.summary_index]="active";for(let d8 of Object.keys(v1.summaryParts))if(v1.summaryParts[d8]==="can-conclude")r.enqueue({type:"reasoning-end",id:`${S0}:${d8}`,providerMetadata:{[U]:{itemId:S0}}}),v1.summaryParts[d8]="concluded";r.enqueue({type:"reasoning-start",id:`${S0}:${Y0.summary_index}`,providerMetadata:{[U]:{itemId:S0,reasoningEncryptedContent:(Q8=v1.encryptedContent)!=null?Q8:null}}})}}}else if(Y0.type==="response.reasoning_summary_text.delta"){let S0=i({itemId:Y0.item_id,outputIndex:Y0.output_index});r.enqueue({type:"reasoning-delta",id:`${S0}:${Y0.summary_index}`,delta:Y0.delta,providerMetadata:{[U]:{itemId:S0}}})}else if(Y0.type==="response.reasoning_summary_part.done"){let S0=i({itemId:Y0.item_id,outputIndex:Y0.output_index}),v1=u[S0];if(v1!=null)if(F)r.enqueue({type:"reasoning-end",id:`${S0}:${Y0.summary_index}`,providerMetadata:{[U]:{itemId:S0}}}),v1.summaryParts[Y0.summary_index]="concluded";else v1.summaryParts[Y0.summary_index]="can-conclude"}else if(VS4(Y0)){if(!H0)z={unified:pU0({finishReason:(k$=Y0.response.incomplete_details)==null?void 0:k$.reason,hasFunctionCall:b}),raw:(Y8=(R4=Y0.response.incomplete_details)==null?void 0:R4.reason)!=null?Y8:void 0};if(A=(d6=Y0.response.usage)!=null?d6:void 0,typeof Y0.response.service_tier==="string")G0=Y0.response.service_tier;if(((c8=Y0.response.reasoning)==null?void 0:c8.context)!=null)I0=Y0.response.reasoning.context}else if(jL$(Y0)){let S0=(Z5=Y0.response.incomplete_details)==null?void 0:Z5.reason;if(z={unified:S0?pU0({finishReason:S0,hasFunctionCall:b}):"error",raw:S0!=null?S0:"error"},A=(g9=Y0.response.usage)!=null?g9:void 0,((a0=Y0.response.reasoning)==null?void 0:a0.context)!=null)I0=Y0.response.reasoning.context;if(!H0&&Y0.response.error!=null){H0=!0;let v1={type:"response.failed",sequence_number:Y0.sequence_number,response:{error:Y0.response.error,incomplete_details:Y0.response.incomplete_details,service_tier:Y0.response.service_tier}};r.enqueue({type:"error",error:(P1=I$0(v1))!=null?P1:v1})}}else if(fS4(Y0)){if(V.push(Y0.annotation),Y0.annotation.type==="url_citation")r.enqueue({type:"source",sourceType:"url",id:(L$=(o1=(d$=w.config).generateId)==null?void 0:o1.call(d$))!=null?L$:Z4(),url:Y0.annotation.url,title:Y0.annotation.title});else if(Y0.annotation.type==="file_citation")r.enqueue({type:"source",sourceType:"document",id:(B4=(D5=(h8=w.config).generateId)==null?void 0:D5.call(h8))!=null?B4:Z4(),mediaType:"text/plain",title:Y0.annotation.filename,filename:Y0.annotation.filename,providerMetadata:{[U]:{type:Y0.annotation.type,fileId:Y0.annotation.file_id,index:Y0.annotation.index}}});else if(Y0.annotation.type==="container_file_citation")r.enqueue({type:"source",sourceType:"document",id:(X8=(C8=(F$=w.config).generateId)==null?void 0:C8.call(F$))!=null?X8:Z4(),mediaType:"text/plain",title:Y0.annotation.filename,filename:Y0.annotation.filename,providerMetadata:{[U]:{type:Y0.annotation.type,fileId:Y0.annotation.file_id,containerId:Y0.annotation.container_id}}});else if(Y0.annotation.type==="file_path")r.enqueue({type:"source",sourceType:"document",id:(aQ=(P9=(E$=w.config).generateId)==null?void 0:P9.call(E$))!=null?aQ:Z4(),mediaType:"application/octet-stream",title:Y0.annotation.file_id,filename:Y0.annotation.file_id,providerMetadata:{[U]:{type:Y0.annotation.type,fileId:Y0.annotation.file_id,index:Y0.annotation.index}}})}else if(EL$(Y0))H0=!0,z={unified:"error",raw:"error"},r.enqueue({type:"error",error:(tZ=I$0(Y0))!=null?tZ:Y0})},flush(o){var r;for(let J0 of Object.values(S)){if(!(J0==null?void 0:J0.suppressInputStreaming))continue;o.enqueue({type:"tool-input-start",id:J0.toolCallId,toolName:J0.toolName});for(let u0 of(r=J0.bufferedInputDeltas)!=null?r:[])o.enqueue({type:"tool-input-delta",id:J0.toolCallId,delta:u0})}let Q0={[U]:{responseId:f,...M.length>0?{logprobs:M}:{},...G0!==void 0?{serviceTier:G0}:{},...I0!==void 0?{reasoningContext:I0}:{}}};o.enqueue({type:"finish",finishReason:z,usage:w51(A),providerMetadata:Q0})}})),request:{body:G},response:{headers:D}}}};zL$=W0(()=>e(s6.object({inputFileExpiresAfter:s6.number().int().min(3600).max(2592000).optional()})));U51=W0(()=>e(pL$())),lS4=W0(()=>e(s6.object({custom_id:s6.string(),response:s6.object({status_code:s6.number(),request_id:s6.string().nullish(),body:s6.unknown()}).nullish(),error:s6.object({code:s6.string(),message:s6.string()}).nullish()}))),mS4=W0(()=>e(s6.object({data:s6.array(pL$()),has_more:s6.boolean(),last_id:s6.string().nullish()})));iS4=new Set(["openai.code_interpreter","openai.custom","openai.file_search","openai.web_search","openai.web_search_preview"]);sS4=I6.strictObject({type:I6.string(),responseEvent:I6.string().optional()}).refine(($)=>$.type==="response.event"===($.responseEvent!==void 0),"responseEvent is required for response.event and forbidden for other event types."),aS4=I6.strictObject({client:I6.strictObject({dataChannel:I6.strictObject({allowedClientEvents:I6.union([I6.literal("all"),I6.array(I6.string())]).optional(),allowedServerEvents:I6.union([I6.literal("all"),I6.array(sS4)]).optional()})}).optional(),delegation:I6.strictObject({type:I6.literal("client")}).nullable().optional(),input:I6.array(I6.discriminatedUnion("role",[I6.strictObject({type:I6.literal("message"),role:I6.enum(["developer","user"]),content:I6.tuple([I6.strictObject({type:I6.literal("input_text"),text:I6.string()})])}),I6.strictObject({type:I6.literal("message"),role:I6.literal("assistant"),content:I6.tuple([I6.strictObject({type:I6.enum(["text","output_text"]),text:I6.string()})])})])).max(128).optional(),store:I6.boolean().optional(),voice:I6.strictObject({id:I6.string().min(1)}).optional()}),AL$=_K.union([_K.strictObject({type:_K.literal("audio/pcm"),rate:_K.union([_K.literal(16000),_K.literal(24000)])}),_K.strictObject({type:_K.enum(["audio/pcma","audio/pcmu"]),rate:_K.literal(8000)})]);S51=l$.object({id:l$.string().min(1)}),rS4=S51.extend({delegation:l$.object({type:l$.enum(["client","responses"])}).nullish()}),TL$=l$.object({seconds:l$.number().nonnegative()}),qL$={delta:l$.string(),start_ms:l$.number().nonnegative(),end_ms:l$.number().nonnegative()},nU0={client_event_id:l$.string().nullish()},N51={...nU0,start_ms:l$.number().nonnegative(),end_ms:l$.number().nonnegative()},nL$=l$.discriminatedUnion("type",[l$.object({type:l$.literal("session.started"),session:rS4}),l$.object({type:l$.literal("session.closed"),session:S51.nullish(),usage:TL$,reason:l$.string()}),l$.object({type:l$.literal("session.usage.updated"),usage:TL$,context_window:l$.object({usage_ratio:l$.number().min(0).max(1)}).nullish()}),l$.object({type:l$.literal("session.output_audio.delta"),delta:l$.string()}),l$.object({type:l$.literal("session.input_transcript.delta"),...qL$}),l$.object({type:l$.literal("session.output_transcript.delta"),...qL$}),l$.object({type:l$.literal("session.delegation.created"),offset_ms:l$.number().nonnegative().nullish(),delegation:l$.object({id:l$.string().min(1),target:l$.enum(["client","responses"]).nullish(),response_id:l$.string().min(1).nullish()})}),l$.object({type:l$.literal("session.updated"),session:S51,...nU0}),l$.object({type:l$.literal("session.input_audio.muted"),...nU0}),l$.object({type:l$.literal("session.input_audio.unmuted"),...nU0}),l$.object({type:l$.literal("session.instructions.appended"),...N51}),l$.object({type:l$.literal("session.thinking.appended"),...N51}),l$.object({type:l$.literal("session.commentary.appended"),...N51}),l$.object({type:l$.literal("error"),error:l$.object({message:l$.string(),code:l$.string().nullish(),client_event_id:l$.string().nullish()})})]),eS4=new Set(nL$.options.map(($)=>$.shape.type.value)),$_4=l$.object({type:l$.string()});X_4=jq.object({session:jq.object({id:jq.string().min(1)}),transport:jq.object({type:jq.literal("webrtc"),sdp:jq.string().min(1)})});K_4=["gpt-live-1"];U_4=W0(()=>e(B51.object({instructions:B51.string().nullish(),speed:B51.number().min(0.25).max(4).default(1).nullish()}))),N_4=class ${constructor(Z,Q){this.modelId=Z,this.config=Q,this.specificationVersion="v4"}static[W4](Z){return f4({modelId:Z.modelId,config:Z.config})}static[K4](Z){return new $(Z.modelId,Z.config)}get provider(){return this.config.provider}async getArgs({text:Z,voice:Q="alloy",outputFormat:Y="mp3",speed:X,instructions:J,language:G,providerOptions:W}){let K=[],H=await x$({provider:"openai",providerOptions:W,schema:U_4}),F={model:this.modelId,input:Z,voice:Q,response_format:"mp3",speed:X,instructions:J};if(Y)if(["mp3","opus","aac","flac","wav","pcm"].includes(Y))F.response_format=Y;else K.push({type:"unsupported",feature:"outputFormat",details:`Unsupported output format: ${Y}. Using mp3 instead.`});if(H){let U={};for(let N in U){let B=U[N];if(B!==void 0)F[N]=B}}if(G)K.push({type:"unsupported",feature:"language",details:`OpenAI speech models do not support language selection. Language parameter "${G}" was ignored.`});return{requestBody:F,warnings:K}}async doGenerate(Z){var Q,Y,X,J,G;let W=(X=(Y=(Q=this.config._internal)==null?void 0:Q.currentDate)==null?void 0:Y.call(Q))!=null?X:new Date,{requestBody:K,warnings:H}=await this.getArgs(Z),{value:F,responseHeaders:U,rawValue:N}=await J$({url:this.config.url({path:"/audio/speech",modelId:this.modelId}),headers:_1((G=(J=this.config).headers)==null?void 0:G.call(J),Z.headers),body:K,failedResponseHandler:p9,successfulResponseHandler:kF$(),abortSignal:Z.abortSignal,fetch:this.config.fetch});return{audio:F,warnings:H,request:{body:JSON.stringify(K)},response:{timestamp:W,modelId:this.modelId,headers:U,body:N}}}},B_4=W0(()=>e(J5.object({text:J5.string(),language:J5.string().nullish(),duration:J5.number().nullish(),words:J5.array(J5.object({word:J5.string(),start:J5.number(),end:J5.number()})).nullish(),segments:J5.array(J5.union([J5.object({id:J5.number(),seek:J5.number(),start:J5.number(),end:J5.number(),text:J5.string(),tokens:J5.array(J5.number()),temperature:J5.number(),avg_logprob:J5.number(),compression_ratio:J5.number(),no_speech_prob:J5.number()}),J5.object({type:J5.literal("transcript.text.segment"),id:J5.string(),start:J5.number(),end:J5.number(),text:J5.string(),speaker:J5.string()})])).nullish()}))),ML$=W0(()=>e(P7.object({include:P7.array(P7.string()).optional(),language:P7.string().optional(),prompt:P7.string().optional(),temperature:P7.number().min(0).max(1).default(0).optional(),timestampGranularities:P7.array(P7.enum(["word","segment"])).default(["segment"]).optional(),responseFormat:P7.enum(["json","verbose_json","diarized_json"]).optional(),chunkingStrategy:P7.union([P7.literal("auto"),P7.object({type:P7.literal("server_vad"),threshold:P7.number().min(0).max(1).optional(),prefixPaddingMs:P7.number().int().min(0).optional(),silenceDurationMs:P7.number().int().min(0).optional()})]).optional(),streaming:P7.object({delay:P7.enum(["minimal","low","medium","high","xhigh"]).optional(),include:P7.array(P7.string()).optional()}).optional()})));IL$={afrikaans:"af",arabic:"ar",armenian:"hy",azerbaijani:"az",belarusian:"be",bosnian:"bs",bulgarian:"bg",catalan:"ca",chinese:"zh",croatian:"hr",czech:"cs",danish:"da",dutch:"nl",english:"en",estonian:"et",finnish:"fi",french:"fr",galician:"gl",german:"de",greek:"el",hebrew:"he",hindi:"hi",hungarian:"hu",icelandic:"is",indonesian:"id",italian:"it",japanese:"ja",kannada:"kn",kazakh:"kk",korean:"ko",latvian:"lv",lithuanian:"lt",macedonian:"mk",malay:"ms",marathi:"mr",maori:"mi",nepali:"ne",norwegian:"no",persian:"fa",polish:"pl",portuguese:"pt",romanian:"ro",russian:"ru",serbian:"sr",slovak:"sk",slovenian:"sl",spanish:"es",swahili:"sw",swedish:"sv",tagalog:"tl",tamil:"ta",thai:"th",turkish:"tr",ukrainian:"uk",urdu:"ur",vietnamese:"vi",welsh:"cy"},D_4=class ${constructor(Z,Q){this.modelId=Z,this.config=Q,this.specificationVersion="v4"}static[W4](Z){return f4({modelId:Z.modelId,config:Z.config})}static[K4](Z){return new $(Z.modelId,Z.config)}get provider(){return this.config.provider}async getArgs({audio:Z,mediaType:Q,providerOptions:Y}){var X,J;let G=[],W=await x$({provider:"openai",providerOptions:Y,schema:ML$}),K=new FormData,H=Z instanceof Uint8Array?new Blob([Z]):new Blob([WZ(Z)]);K.append("model",this.modelId);let F=EF$(Q);if(K.append("file",new File([H],"audio",{type:Q}),`audio.${F}`),this.modelId==="whisper-1")K.append("response_format","verbose_json");let U=this.modelId==="gpt-4o-transcribe-diarize",N=(X=W==null?void 0:W.chunkingStrategy)!=null?X:U?"auto":void 0;if(W){let B=["gpt-4o-transcribe","gpt-4o-mini-transcribe"].includes(this.modelId),D={include:W.include,language:W.language,prompt:W.prompt,...this.modelId!=="whisper-1"&&{response_format:(J=W.responseFormat)!=null?J:U?"diarized_json":B?"json":"verbose_json"},temperature:W.temperature,timestamp_granularities:W.timestampGranularities};for(let[O,j]of Object.entries(D))if(j!=null)if(Array.isArray(j))for(let w of j)K.append(`${O}[]`,String(w));else K.append(O,String(j))}else if(U)K.append("response_format","diarized_json");if(N!=null)K.append("chunking_strategy",typeof N==="string"?N:JSON.stringify({type:N.type,...N.threshold!=null&&{threshold:N.threshold},...N.prefixPaddingMs!=null&&{prefix_padding_ms:N.prefixPaddingMs},...N.silenceDurationMs!=null&&{silence_duration_ms:N.silenceDurationMs}}));return{formData:K,warnings:G}}async doGenerate(Z){var Q,Y,X,J,G,W,K,H,F,U,N;if(VL$(this.modelId))throw new X$({functionality:`non-streaming transcription with ${this.modelId}`});let B=(X=(Y=(Q=this.config._internal)==null?void 0:Q.currentDate)==null?void 0:Y.call(Q))!=null?X:new Date,{formData:D,warnings:O}=await this.getArgs(Z),{value:j,responseHeaders:w,rawValue:E}=await qK({url:this.config.url({path:"/audio/transcriptions",modelId:this.modelId}),headers:_1((G=(J=this.config).headers)==null?void 0:G.call(J),Z.headers),formData:D,failedResponseHandler:p9,successfulResponseHandler:V1(B_4),abortSignal:Z.abortSignal,fetch:this.config.fetch}),P=j.language!=null&&j.language in IL$?IL$[j.language]:void 0,T=(W=j.segments)==null?void 0:W.flatMap((z)=>("speaker"in z)?[{text:z.text,startSecond:z.start,endSecond:z.end,speaker:z.speaker}]:[]);return{text:j.text,segments:(U=(F=(K=j.segments)==null?void 0:K.map((z)=>({text:z.text,startSecond:z.start,endSecond:z.end})))!=null?F:(H=j.words)==null?void 0:H.map((z)=>({text:z.word,startSecond:z.start,endSecond:z.end})))!=null?U:[],language:P,durationInSeconds:(N=j.duration)!=null?N:void 0,warnings:O,response:{timestamp:B,modelId:this.modelId,headers:w,body:E},...T!=null&&T.length>0&&{providerMetadata:{openai:{segments:T}}}}}async doStream(Z){var Q,Y,X,J,G,W,K;if(!VL$(this.modelId))throw new X$({functionality:`streaming transcription with ${this.modelId}`});let H=(X=(Y=(Q=this.config._internal)==null?void 0:Q.currentDate)==null?void 0:Y.call(Q))!=null?X:new Date,F=await x$({provider:"openai",providerOptions:Z.providerOptions,schema:ML$}),U=[],N=(G=(J=Z.providerOptions)==null?void 0:J.openai)!=null?G:{};for(let O of["include","prompt","temperature","timestampGranularities"])if(N[O]!=null)U.push({type:"unsupported",feature:`providerOptions.openai.${O}`,details:`OpenAI streaming transcription does not support ${O}.`});let B=_1((K=(W=this.config).headers)==null?void 0:K.call(W),Z.headers),D=O_4({modelId:this.modelId,inputAudioFormat:Z.inputAudioFormat,providerOptions:F});return{request:{body:D},response:{timestamp:H,modelId:this.modelId},stream:L_4({webSocket:this.config.webSocket,url:PF0(this.config.url({path:"/realtime?intent=transcription",modelId:this.modelId})),headers:B,sessionUpdate:D,language:F==null?void 0:F.language,warnings:U,audio:Z.audio,abortSignal:Z.abortSignal,includeRawChunks:Z.includeRawChunks})}}};E_4=W0(()=>e(w_4.object({}))),P_4=class ${constructor(Z,Q){this.modelId=Z,this.config=Q,this.specificationVersion="v4"}static[W4](Z){return f4({modelId:Z.modelId,config:Z.config})}static[K4](Z){return new $(Z.modelId,Z.config)}get provider(){return this.config.provider}async doStream(Z){var Q,Y,X,J,G;if(Z.targetLanguage==null)throw new l8({argument:"targetLanguage",message:`targetLanguage is required for translation model '${this.modelId}'.`});let W=(X=(Y=(Q=this.config._internal)==null?void 0:Q.currentDate)==null?void 0:Y.call(Q))!=null?X:new Date;await x$({provider:"openai",providerOptions:Z.providerOptions,schema:E_4});let K=[];if(T_4(Z.inputAudioFormat),Z.sourceLanguage!=null)K.push({type:"unsupported",feature:"sourceLanguage",details:"The OpenAI Realtime translation API auto-detects the source language and does not accept a source language."});if(Z.outputAudioFormat!=null)K.push({type:"unsupported",feature:"outputAudioFormat",details:"The OpenAI Realtime translation API always outputs 24kHz 16-bit PCM audio and does not accept an output audio format."});let H=_1((G=(J=this.config).headers)==null?void 0:G.call(J),Z.headers),F=A_4({targetLanguage:Z.targetLanguage});return{request:{body:F},response:{timestamp:W,modelId:this.modelId},stream:z_4({webSocket:this.config.webSocket,url:PF0(this.config.url({path:`/realtime/translations?model=${encodeURIComponent(this.modelId)}`,modelId:this.modelId})),headers:H,sessionUpdate:F,warnings:K,audio:Z.audio,abortSignal:Z.abortSignal,includeRawChunks:Z.includeRawChunks})}}};R_4=W0(()=>e(ZW.object({id:ZW.string(),name:ZW.string().nullish(),description:ZW.string().nullish(),default_version:ZW.string().nullish(),latest_version:ZW.string().nullish(),created_at:ZW.number(),updated_at:ZW.number().nullish()}))),MK9=W0(()=>e(ZW.object({id:ZW.string(),version:ZW.string().nullish(),name:ZW.string().nullish(),description:ZW.string().nullish()})));VK9=wq()});function k_4($){return HN("LLMAPI listModels",`${oL$}/models`,{headers:{Authorization:`Bearer ${$||"not-needed"}`},signal:AbortSignal.timeout(15000)})}var oL$="https://api.llmapi.ai/v1",I_4="https://llmapi.ai/wp-content/uploads/2026/01/Frame-2085662993.png",sL$;var aL$=L(()=>{oU0();PT();sL$={info:{id:"llmapi",name:"LLMAPI",description:"One API key, 400+ models across every provider",logo:I_4},supportedMethods:["api-key"],create($){let Z=wq({apiKey:$||"not-needed",baseURL:oL$,name:"llmapi"}),Q=Object.assign((...Y)=>Z.chat(...Y),Z,{languageModel:Z.chat});return{info:this.info,aiSdk:Q,async listModels(){let Y=await k_4($);if(!Y.ok)await WX("LLMAPI listModels",Y);let{data:X}=await BY("LLMAPI listModels",Y);return X.filter((J)=>typeof J.id==="string"&&J.id.length>0).map((J)=>{let G=J.architecture??{},W=!!J.reasoning_levels?.length||!!J.providers?.some((K)=>K.reasoning);return{providerId:"llmapi",modelId:J.id,title:J.name||J.id,description:J.description??null,logo:null,capabilities:Vc(G.input_modalities??[],G.output_modalities??[],J.supported_parameters,W?["reasoning"]:[]),limits:{contextWindow:J.context_length??0,maxOutputTokens:null},costs:{input:Number(J.pricing?.prompt)||0,output:Number(J.pricing?.completion)||0}}})}}}}});function C_4($,Z){return HN("OpenAI-compatible listModels",`${$}/models`,{headers:Z,signal:AbortSignal.timeout(15000)})}function S_4($){let Z=JSON.parse($);if(!Z.baseUrl||typeof Z.baseUrl!=="string")throw Error("Invalid OpenAI-compatible credential: missing baseUrl field");let Q=Z.baseUrl.replace(/\/+$/,"");if(!Q.endsWith("/v1"))Q+="/v1";return{baseUrl:Q,apiKey:Z.apiKey??""}}var __4="https://assets.decocache.com/decocms/d138aa7e-5b8c-4821-9e64-6aff40df2cdc/ChatGPT_logo.svg",rL$;var eL$=L(()=>{oU0();PT();rL$={info:{id:"openai-compatible",name:"OpenAI Compatible",description:"Custom OpenAI-compatible endpoint",logo:__4},supportedMethods:["api-key"],create($){let{baseUrl:Z,apiKey:Q}=S_4($),Y=wq({baseURL:Z,apiKey:Q||"not-needed",name:"openai-compatible"}),X=Object.assign((...J)=>Y.chat(...J),Y,{languageModel:Y.chat});return{info:this.info,aiSdk:X,async listModels(){let J={};if(Q)J.Authorization=`Bearer ${Q}`;let G=await C_4(Z,J);if(!G.ok)await WX("OpenAI-compatible listModels",G);return(await BY("OpenAI-compatible listModels",G)).data.filter((K)=>typeof K.id==="string"&&K.id.length>0).map((K)=>({providerId:"openai-compatible",modelId:K.id,title:K.id,description:K.owned_by?`Owned by ${K.owned_by}`:null,logo:null,capabilities:[],limits:null,costs:null}))}}}}});function k9(){return{...B0().aiGatewayEnabled&&{deco:Y00},anthropic:nB$,google:nD$,openrouter:kK0,llmapi:sL$,"openai-compatible":rL$}}var vK=L(()=>{tB$();tD$();aL$();eL$();M01();X00();l1()});function x_4($,Z,Q){RL($,Z,Q)}function f_4($,Z,Q){ML($,Z,Q)}function f51($){C$0.delete($)}async function sU0($,Z){if(!B0().plansEnabled)return null;if(!B0().aiGatewayEnabled)return null;let Q=C$0.get(Z);if(Q&&Date.now()-Q.at<ZO$)return Q.value;let Y=x51.get(Z);if(Y)return Y;let X=y_4($,Z,Q).finally(()=>{x51.delete(Z)});return x51.set(Z,X),X}async function y_4($,Z,Q){let Y=k9().deco;if(!Y?.getEntitlements)return null;if(!$)return $O$(Z,Q);try{let X=await ZX($),{features:J,usage:G,modelPins:W,credits:K}=await Y.getEntitlements(X,Z);if(!J||typeof J!=="object")throw new zT(502);let H={features:J,modelPins:W,usageState:G?.state??null,creditsUsd:K?.remainingUsd??null};return x_4(C$0,Z,H),f_4(C$0,b_4,ZO$),H}catch(X){let J=X instanceof zT&&X.isDefinitive,G=X instanceof zT&&X.isDormant,W={organizationId:Z,servedStale:!!Q,status:X instanceof zT?X.status:null,error:X instanceof Error?X.message:String(X)};if(G);else if(J)console.error("[Plans] entitlements REFUSED by the gateway \u2014 gates fail OPEN for every org until this is fixed (check STUDIO_JWT_SECRET and STUDIO_PROVISION_SECRET_KEY against the gateway's MESH_JWT_SECRET and STUDIO_PROVISION_KEY)",W);else console.warn("[Plans] entitlements lookup failed (gateway unreachable) \u2014 gates fail OPEN",W);return $O$(Z,Q)}}function $O$($,Z){if(Z&&Date.now()-Z.at>=v_4)return C$0.delete($),null;return Z?.value??null}async function qQ($,Z,Q){let Y=await sU0(y51($),Z);return g51(Y?.features??null,Q)}async function QO$($,Z,Q){let Y=await sU0($,Z);return g51(Y?.features??null,Q)}function y51($){return $.auth.user?.id??$.auth.apiKey?.userId}function g51($,Z){if(!$)return!0;return $[Z]===!0}function g_4($,Z){if($!=="exhausted")return!1;return!(Z!==null&&Z>0)}async function bK($,Z,Q){let Y=await sU0(y51($),Z);if(!g_4(Y?.usageState??null,Y?.creditsUsd??null))return;throw new aU0(`${Q} is paused: this organization has used its monthly AI allowance`)}async function YO$($,Z,Q){let Y=await sU0(y51($),Z);if(!Y)return null;if(g51(Y.features,"model_choice"))return null;return Y.modelPins?.[Q]??null}var iN,ZO$=60000,v_4=600000,C$0,b_4=1e4,x51,aU0;var _3=L(()=>{jQ();vK();X00();oU();l1();iN=class iN extends N6{feature;code="feature_not_in_plan";constructor($,Z){super($);this.feature=Z;this.name="FeatureNotInPlanError"}};C$0=new Map;x51=new Map;aU0=class aU0 extends N6{code="ai_budget_exhausted";constructor($){super($);this.name="AiBudgetExhaustedError"}}});function XO$($){let{ctx:Z,toolName:Q,organizationId:Y,durationMs:X,isError:J}=$,G={"tool.name":Q,"organization.id":Y,status:J?"error":"success"};Z.meter.createHistogram("studio_tool.execution.duration",{description:"Duration of in-process Studio tool executions in milliseconds",unit:"ms"}).record(X,G),Z.meter.createCounter("studio_tool.execution.count",{description:"Number of in-process Studio tool executions"}).add(1,G)}import{SpanStatusCode as JO$}from"@opentelemetry/api";function l($){return{...$,execute:async(Z,Q,Y)=>{let X=performance.now(),J=!1;return await Q.timings.measure(`tool.${$.name}`,async()=>Q.tracer.startActiveSpan(`tool.${$.name}`,{attributes:{"tool.name":$.name,"organization.id":Q.organization?.id??"system","user.id":Q.auth.user?.id??Q.auth.apiKey?.userId??"anonymous"}},async(G)=>{try{Q.toolName=$.name,Q.access.setToolName?.($.name);let W=Q.organization?.id;if(W&&!bK$($.name)&&await BF0(Q.db,W))throw new s00(`This organization is blocked: ${$.name} is unavailable until the block is resolved`);if(($.requiresFeature||$.requiresAiBudget)&&!W)console.warn(`[Plans] ${$.name} declares a plan gate but no organization is in scope \u2014 running UNGATED`);if($.requiresFeature&&W&&!await qQ(Q,W,$.requiresFeature))throw new iN(`${$.name} needs the ${$.requiresFeature} feature, which this organization's plan does not include`,$.requiresFeature);if($.requiresAiBudget&&W)await bK(Q,W,$.name);let K=await $.handler(Z,Q,Y);return G.setStatus({code:JO$.OK}),K}catch(W){throw J=!0,G.setStatus({code:JO$.ERROR,message:W.message}),G.recordException(W),W}finally{XO$({ctx:Q,toolName:$.name,organizationId:Q.organization?.id??"system",durationMs:performance.now()-X,isError:J}),G.end()}}))}}}var A0=L(()=>{dT();_3()});function Z0($){if(!$.organization)throw Error("This operation requires organization scope");return $.organization}function k0($){return $.auth.user?.id??$.auth.apiKey?.userId}function pN($){return!!($.auth.user||$.auth.apiKey)}function t($){if(!pN($))throw Error("Authentication required")}import{z as F4}from"zod";var WO$,GO$=1000,h_4=500,KO$,HO$,FO$,UO$,NO$,BO$,DO$,LO$,OO$,jO$;var ad=L(()=>{WO$=F4.record(F4.string(),F4.array(F4.string())),KO$=F4.record(F4.string(),F4.array(F4.string()).max(h_4)).refine(($)=>Object.keys($).length<=GO$,{message:`Permissions cannot grant more than ${GO$} resources`}),HO$=F4.object({id:F4.string().describe("Unique identifier for the API key"),name:F4.string().describe("Human-readable name for the API key"),userId:F4.string().describe("ID of the user who owns this API key"),permissions:WO$.describe('Permissions granted to this API key. Format: { resource: [actions] } where resource is "self" for management tools or "conn_<UUID>" for connection-specific tools. Example: { "self": ["API_KEY_CREATE"], "conn_abc123": ["SEND_MESSAGE"] }'),expiresAt:F4.string().datetime().nullable().optional().describe("Expiration date of the API key (ISO 8601)"),createdAt:F4.string().datetime().describe("When the API key was created (ISO 8601)")}),FO$=F4.object({name:F4.string().min(1).max(64).describe("Human-readable name for the API key"),permissions:KO$.describe(`Permissions to grant (REQUIRED \u2014 there is no implicit default). Format: { resource: [actions] }. Resource is "self" for management tools or "conn_<UUID>" for connection-specific tools. Actions are tool names (e.g., ["ORGANIZATION_GET"]) or ["*"] for all. Example: { "self": ["ORGANIZATION_GET", "COLLECTION_CONNECTIONS_LIST"] }. The key is authorized solely by this allowlist; the creator's role does not widen it.`),expiresIn:F4.number().positive().optional().describe("Expiration time in seconds. If not provided, key never expires."),metadata:F4.record(F4.string(),F4.unknown()).optional().describe("Additional metadata to store with the API key")}),UO$=F4.object({id:F4.string().describe("Unique identifier for the API key"),name:F4.string().describe("Human-readable name for the API key"),key:F4.string().describe("The actual API key value. STORE THIS SECURELY - it will not be shown again!"),permissions:WO$.describe('Permissions granted to this API key. Format: { resource: [actions] } where resource is "self" for management tools or "conn_<UUID>" for connection-specific tools'),expiresAt:F4.string().datetime().nullable().optional().describe("Expiration date of the API key (ISO 8601)"),createdAt:F4.string().datetime().describe("When the API key was created (ISO 8601)")}),NO$=F4.object({}),BO$=F4.object({items:F4.array(HO$).describe("List of API keys (without key values)")}),DO$=F4.object({keyId:F4.string().describe("ID of the API key to update"),name:F4.string().min(1).max(64).optional().describe("New name for the API key"),permissions:KO$.optional().describe('New permissions. Format: { resource: [actions] } where resource is "self" for management tools or "conn_<UUID>" for connection-specific tools. Actions are tool names or "*" for all. Example: { "self": ["API_KEY_CREATE"] }. Replaces existing permissions.'),metadata:F4.record(F4.string(),F4.unknown()).optional().describe("New metadata. Replaces existing metadata.")}),LO$=F4.object({item:HO$.describe("The updated API key (without key value)")}),OO$=F4.object({keyId:F4.string().describe("ID of the API key to delete")}),jO$=F4.object({success:F4.boolean().describe("Whether the deletion was successful"),keyId:F4.string().describe("ID of the deleted API key")})});var h51;var wO$=L(()=>{W6();A0();ad();h51=l({name:"API_KEY_CREATE",description:"Create an API key with scoped permissions. The key value is returned only once \u2014 store it immediately.",annotations:{title:"Create API Key",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:FO$,outputSchema:UO$,handler:async($,Z)=>{t(Z),await Z.access.check();let Q=await Z.boundAuth.apiKey.create({name:$.name,permissions:$.permissions,expiresIn:$.expiresIn,metadata:{...$.metadata,organization:Z.organization}}),Y=Q.expiresAt?Q.expiresAt instanceof Date?Q.expiresAt.toISOString():Q.expiresAt:null,X=Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt,J=k0(Z);if(J)m1.capture({distinctId:J,event:"api_key_created",...Z.organization?.id?{groups:{organization:Z.organization.id}}:{},properties:{key_id:Q.id,key_name:Q.name??$.name,organization_id:Z.organization?.id,has_expiry:!!Y}});return{id:Q.id,name:Q.name??$.name,key:Q.key,permissions:Q.permissions??{},expiresAt:Y,createdAt:X}}})});var u51;var EO$=L(()=>{W6();A0();ad();u51=l({name:"API_KEY_DELETE",description:"Delete and instantly revoke an API key. Cannot be undone.",annotations:{title:"Delete API Key",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:OO$,outputSchema:jO$,handler:async($,Z)=>{t(Z),await Z.access.check();let Q=k0(Z);if(!Q)throw Error("User ID required to delete API key");let X=(await Z.boundAuth.apiKey.list())?.find((K)=>K.id===$.keyId);if(!X)throw Error("API key not found");let G=X.metadata?.organization?.id,W=Z.organization?.id;if(G!==W)throw Error("Cannot delete API key from another organization");if(await Z.boundAuth.apiKey.delete($.keyId),W)m1.capture({distinctId:Q,event:"api_key_deleted",groups:{organization:W},properties:{key_id:$.keyId,organization_id:W}});return{success:!0,keyId:$.keyId}}})});var l51;var PO$=L(()=>{A0();ad();l51=l({name:"API_KEY_LIST",description:"List API keys for the current user in the current organization. Returns metadata only \u2014 key values are never shown after creation.",annotations:{title:"List API Keys",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:NO$,outputSchema:BO$,handler:async($,Z)=>{t(Z),await Z.access.check();let Q=await Z.boundAuth.apiKey.list(),Y=Z.organization?.id;return{items:(Q??[]).filter((J)=>{return J.metadata?.organization?.id===Y}).map((J)=>({id:J.id,name:J.name??"Unnamed Key",userId:J.userId,permissions:J.permissions??{},expiresAt:J.expiresAt?J.expiresAt instanceof Date?J.expiresAt.toISOString():J.expiresAt:null,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt}))}}})});var m51;var zO$=L(()=>{A0();ad();m51=l({name:"API_KEY_UPDATE",description:"Update an API key's name, permissions, or metadata. The key value cannot be changed or retrieved.",annotations:{title:"Update API Key",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:DO$,outputSchema:LO$,handler:async($,Z)=>{if(t(Z),await Z.access.check(),!k0(Z))throw Error("User ID required to update API key");let X=(await Z.boundAuth.apiKey.list())?.find((H)=>H.id===$.keyId);if(!X)throw Error(`API key not found: ${$.keyId}`);let G=X.metadata?.organization?.id,W=Z.organization?.id;if(G!==W)throw Error("Cannot update API key from another organization");let K=await Z.boundAuth.apiKey.update({keyId:$.keyId,name:$.name,permissions:$.permissions,metadata:{...$.metadata,organization:Z.organization}});if(!K)throw Error(`Failed to update API key: ${$.keyId}`);return{item:{id:K.id,name:K.name??$.name??"Unnamed Key",userId:K.userId,permissions:K.permissions??{},expiresAt:K.expiresAt?K.expiresAt instanceof Date?K.expiresAt.toISOString():K.expiresAt:null,createdAt:K.createdAt instanceof Date?K.createdAt.toISOString():K.createdAt}}}})});var AO$=L(()=>{wO$();EO$();PO$();zO$();ad()});function cL($){let Z=$.trim();if(!Z)return{ok:!1,error:"Enter a website URL."};let Q=l_4.test(Z),Y=m_4.test(Z),X=c_4.test(Z);if(Q&&!Y&&!X)return{ok:!1,error:"Use an HTTP or HTTPS website URL."};let J=Y?Z:`https://${Z}`,G;try{G=new URL(J)}catch{return{ok:!1,error:"Enter a valid website URL."}}if(G.protocol!=="http:"&&G.protocol!=="https:")return{ok:!1,error:"Use an HTTP or HTTPS website URL."};let W=G.hostname.split(".");if(W.length<2||W.some((K)=>!K||!d_4.test(K)))return{ok:!1,error:"Enter a valid website URL."};return G.protocol="https:",{ok:!0,value:G.origin}}function c51($){if(!$)return null;let Z=cL($);return Z.ok?new URL(Z.value).hostname:null}var l_4,m_4,c_4,d_4;var rd=L(()=>{l_4=/^[a-zA-Z][a-zA-Z\d+.-]*:/,m_4=/^[a-zA-Z][a-zA-Z\d+.-]*:\/\//,c_4=/^[^\s/:?#]+\.[^\s/:?#]+:\d+(?:[/?#]|$)/,d_4=/^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$/i});import{z as v3}from"zod";function rU0($){return{repository_id:$.repositoryId,provider:$.provider,host:$.host,path:$.path,default_branch:$.defaultBranch??null,web_url:$.webUrl??null}}function TO$($){let Z=i_4.safeParse($);if(!Z.success)return null;return{repositoryId:Z.data.repository_id,provider:Z.data.provider,host:Z.data.host,path:Z.data.path,defaultBranch:Z.data.default_branch??null,webUrl:Z.data.web_url??null}}function eU0($){return $.provider==="github"&&$.host.toLowerCase()==="github.com"?$.path:null}var d51,i_4;var $N0=L(()=>{d51=v3.object({repositoryId:v3.string().min(1),provider:v3.enum(["github","gitlab","bitbucket"]),host:v3.string().min(1),path:v3.string().min(1),defaultBranch:v3.string().nullable().optional(),webUrl:v3.string().nullable().optional()}),i_4=v3.object({repository_id:v3.string().min(1),provider:v3.enum(["github","gitlab","bitbucket"]),host:v3.string().min(1),path:v3.string().min(1),default_branch:v3.string().nullable().optional(),web_url:v3.string().nullable().optional()})});import{z as RQ}from"zod";function xK($){if($.baseUrl)return $.baseUrl.replace(/\/+$/,"");return(($.settings??B0()).reportsInternalApiUrl??p_4).replace(/\/+$/,"")}function RO$($={}){return`${xK($)}/api/v2/mcp`}function dE($){let Z=$.apiKey??($.settings??B0()).reportsInternalApiKey;if(!Z)throw Error("REPORTS_INTERNAL_API_KEY (or the legacy COMMERCE_DISCOVERY_INTERNAL_API_KEY) is required to set up reports.");return Z}function S$0($){return new URL($).hostname}function t_4($){return $==="ownership_unverified"||$==="already_claimed_by_other_org"}function o_4($,Z={}){switch($){case"ownership_unverified":{let Q=Z.email?`O e-mail ${Z.email}`:"Este e-mail",Y=Z.domain?` ${Z.domain}`:" este site";return`${Q} n\xE3o tem permiss\xE3o para reivindicar${Y}. Use um e-mail do dom\xEDnio do site ou pe\xE7a ao suporte para autorizar seu dom\xEDnio.`}case"already_claimed_by_other_org":return"Este site j\xE1 pertence a outra organiza\xE7\xE3o. Fale com o suporte para transferir o acesso.";case"unknown":return"N\xE3o foi poss\xEDvel configurar o Reports. Tente novamente ou fale com o suporte.";default:return $}}async function s_4($){let Z=await ed($);return t_4(Z?.error)?Z.error:"unknown"}async function ed($){let Z=await $.text().catch(()=>"");if(!Z)return;try{return JSON.parse(Z)}catch{return}}async function QN0($){let Z=`Reports auth failed with status ${$.status}.`,Q=await $.text().catch(()=>"");if(!Q)return Z;try{let Y=JSON.parse(Q),X=typeof Y.error==="string"?Y.error:typeof Y.message==="string"?Y.message:null;return X?`Reports auth failed: ${X}.`:Z}catch{return Z}}async function VO$($,Z={}){let Q=xK(Z),Y=dE(Z),X=Z.fetchImpl??fetch,J=S$0($.siteUrl),G=`${Q}/api/v2/internal/diagnostics/${encodeURIComponent(J)}/upgrade`,W=await X(G,{method:"POST",headers:{Authorization:`Bearer ${Y}`,"Content-Type":"application/json"},body:JSON.stringify({org_id:$.orgId,...$.orgName?{name:$.orgName}:{},...$.email?{email:$.email}:{},...$.reportUrl?{report_url:$.reportUrl}:{}}),signal:AbortSignal.timeout(ZN0)});if(!W.ok){let H=await s_4(W);throw new MO$(H,{email:$.email,domain:J})}let K=n_4.safeParse(await ed(W));if(!K.success)throw Error("Reports auth response did not include a token.");return{authorizationToken:K.data.token}}async function IO$($,Z={}){let Q=xK(Z),Y=dE(Z),X=Z.fetchImpl??fetch,J=S$0($.siteUrl),G=`${Q}/api/v2/internal/diagnostics/${encodeURIComponent(J)}/bindings`,W=await X(G,{method:"POST",headers:{Authorization:`Bearer ${Y}`,"Content-Type":"application/json"},body:JSON.stringify({org_id:$.orgId,provider:$.provider,resource_id:$.resourceId}),signal:AbortSignal.timeout(ZN0)});if(W.status===409)return{ok:!1,reason:"resource_already_bound",detail:"Este recurso j\xE1 est\xE1 vinculado a outra loja. Se ele \xE9 seu, fale com o suporte para revis\xE3o manual."};if(W.status===422){let H=qO$.safeParse(await ed(W));return{ok:!1,reason:H.success?H.data.reason??"verification_failed":"verification_failed",detail:(H.success?H.data.detail:void 0)??"N\xE3o foi poss\xEDvel verificar o acesso a este recurso."}}if(!W.ok)throw Error(await QN0(W));let K=qO$.safeParse(await ed(W));if(!K.success||!K.data.binding)throw Error("Reports bind response did not include a binding.");return{ok:!0,resourceId:K.data.binding.resource_id,evidence:K.data.binding.evidence}}async function kO$($,Z={}){let Q=xK(Z),Y=dE(Z),X=Z.fetchImpl??fetch,J=S$0($.siteUrl),G=`${Q}/api/v2/internal/diagnostics/${encodeURIComponent(J)}/run`,W=await X(G,{method:"POST",headers:{Authorization:`Bearer ${Y}`,"Content-Type":"application/json"},body:JSON.stringify({org_id:$.orgId,...$.repository?{repository:rU0($.repository)}:{},...$.githubRepositoryPath?{github_repo:$.githubRepositoryPath}:{}}),signal:AbortSignal.timeout(ZN0)});if(W.status===409)return{triggered:!1,reason:"not_upgraded"};if(!W.ok)throw Error(await QN0(W));return{triggered:!0}}async function CO$($,Z,Q){try{return await $8(async()=>{let Y=await $(Z,{...Q,signal:AbortSignal.timeout(ZN0)});if(Y.status>=500||Y.status===429)throw new i51(await QN0(Y));return Y},{maxAttempts:3,minTimeout:200,maxTimeout:2000,multiplier:2,jitter:1,isRetriable:(Y)=>Y instanceof i51})}catch(Y){if(Y instanceof Y5&&Y.cause instanceof Error)throw Y.cause;throw Y}}async function SO$($,Z={}){let Q=xK(Z),Y=dE(Z),X=Z.fetchImpl??fetch,J=S$0($.siteUrl),G=`${Q}/api/v2/internal/diagnostics/${encodeURIComponent(J)}/connections/status?org_id=${encodeURIComponent($.orgId)}`,W=await CO$(X,G,{method:"GET",headers:{Authorization:`Bearer ${Y}`}});if(W.status===404||W.status===409)return{providers:{},claimed:!1};if(!W.ok)throw Error(await QN0(W));let K=a_4.safeParse(await ed(W));return{providers:K.success?K.data.providers:{},claimed:!0}}async function _O$($,Z={}){let Q=xK(Z),Y=dE(Z),X=Z.fetchImpl??fetch,J=S$0($.siteUrl),G=`${Q}/api/v2/internal/diagnostics/${encodeURIComponent(J)}/unlink`,W=await CO$(X,G,{method:"POST",headers:{Authorization:`Bearer ${Y}`,"Content-Type":"application/json"},body:JSON.stringify({org_id:$.orgId})});if(!W.ok)throw Error(`Reports unlink failed with status ${W.status}.`);let K=r_4.safeParse(await ed(W));if(!K.success)throw Error("Reports unlink response did not say whether it unlinked.");return K.data}var p_4,ZN0=15000,n_4,qO$,MO$,i51,a_4,r_4;var dL=L(()=>{q8();g$();$N0();l1();p_4=new URL(V9$).origin,n_4=RQ.object({token:RQ.string().min(1)}),qO$=RQ.object({binding:RQ.object({resource_id:RQ.string(),evidence:RQ.string()}).optional(),reason:RQ.string().optional(),detail:RQ.string().optional()});MO$=class MO$ extends Error{code;constructor($,Z={}){super(o_4($,Z));this.name="ReportsClaimError",this.code=$}};i51=class i51 extends Error{};a_4=RQ.object({providers:RQ.record(RQ.string(),RQ.object({connected:RQ.boolean(),via:RQ.enum(["oauth","sa"]).nullable(),resource:RQ.string().nullable()}))});r_4=RQ.object({unlinked:RQ.boolean(),reason:RQ.string().optional()})});import{z as QW}from"zod";var e_4,$v4,p51;var vO$=L(()=>{rd();A0();dL();e_4=QW.object({siteUrl:QW.string().min(1).describe("Website URL of the store being bound."),provider:QW.enum(["ga4","gsc"]).describe("Which Google source to bind: ga4 (Analytics) or gsc (Search Console)."),resourceId:QW.string().min(1).describe("The resource id the client typed: GA4 numeric property id, or GSC site (sc-domain:example.com or https://example.com/).")}),$v4=QW.discriminatedUnion("ok",[QW.object({ok:QW.literal(!0),resourceId:QW.string(),evidence:QW.string()}),QW.object({ok:QW.literal(!1),reason:QW.string(),detail:QW.string()})]),p51=l({name:"REPORTS_BIND",description:"Bind a GA4 property or GSC site to the org's store via the shared service account (consent-free lane). The client grants deco-reader@\u2026 access to the resource and provides its id; Deco Score verifies the resource belongs to this domain before persisting. Returns ok:false with an actionable pt-BR detail when verification fails or the resource is already bound elsewhere.",annotations:{title:"Bind Deco Score Data Source",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!0},inputSchema:e_4,outputSchema:$v4,handler:async($,Z)=>{t(Z);let Q=Z0(Z);await Z.access.check("REPORTS_BIND","COMMERCE_DISCOVERY_BIND");let Y=cL($.siteUrl);if(!Y.ok)throw Error(Y.error);return IO$({siteUrl:Y.value,orgId:Q.id,provider:$.provider,resourceId:$.resourceId.trim()})}})});import{z as nN}from"zod";var Zv4,Qv4,n51;var bO$=L(()=>{rd();A0();dL();Zv4=nN.object({siteUrl:nN.string().min(1).describe("Website URL of the store to inspect.")}),Qv4=nN.object({providers:nN.record(nN.string(),nN.object({connected:nN.boolean(),via:nN.enum(["oauth","sa"]).nullable(),resource:nN.string().nullable()})),claimed:nN.boolean().describe("False when the site isn't claimed/upgraded for this org \u2014 providers is then empty because the status is unreadable, NOT because nothing is connected. The UI must warn instead of rendering existing bindings as disconnected.")}),n51=l({name:"REPORTS_CONNECTION_STATUS",description:"Read per-provider connection status (ga4/gsc/vtex) for the org's store \u2014 { connected, via: oauth|sa, resource }. The single source of truth for whether a data source is connected, unifying the OAuth (Studio vault) and shared-SA binding lanes. Read-only.",annotations:{title:"Deco Score Connection Status",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!0},inputSchema:Zv4,outputSchema:Qv4,handler:async($,Z)=>{t(Z);let Q=Z0(Z);await Z.access.check("REPORTS_CONNECTION_STATUS","COMMERCE_DISCOVERY_CONNECTION_STATUS");let Y=cL($.siteUrl);if(!Y.ok)throw Error(Y.error);return SO$({siteUrl:Y.value,orgId:Q.id})}})});import{z as iE}from"zod";function Gv4($){let Z=Jv4.safeParse($),Q=Z.success?Z.data:void 0,Y=(Q?TO$(Q.repository):void 0)??void 0,X=Q&&typeof Q.github_repo==="string"&&Q.github_repo.length>0?Q.github_repo:void 0;return{repository:Y??void 0,githubRepositoryPath:(Y?eU0(Y):X)??void 0}}var Yv4,Xv4,Jv4,t51;var xO$=L(()=>{q8();$N0();rd();A0();dL();Yv4=iE.object({siteUrl:iE.string().min(1).describe("Website URL to run the diagnostic for.")}),Xv4=iE.object({triggered:iE.boolean(),reason:iE.string().optional()}),Jv4=iE.object({repository:iE.unknown().optional(),github_repo:iE.string().optional()}).passthrough().nullable().optional();t51=l({name:"REPORTS_RUN",description:"Trigger the Deco Score run for the current organization's store. Call once the data sources (GA4/GSC/VTEX) are connected \u2014 this run resolves credentials and produces the enriched Deco Score.",annotations:{title:"Run Deco Score",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!0},inputSchema:Yv4,outputSchema:Xv4,requiresFeature:"diagnostic_enriched",requiresAiBudget:!0,handler:async($,Z)=>{t(Z);let Q=Z0(Z);await Z.access.check("REPORTS_RUN","COMMERCE_DISCOVERY_RUN");let Y=cL($.siteUrl);if(!Y.ok)throw Error(Y.error);let X=o8.REPORTS(Q.id),J=await Z.storage.connections.findById(X,Q.id),{repository:G,githubRepositoryPath:W}=Gv4(J?.configuration_state);return kO$({siteUrl:Y.value,orgId:Q.id,repository:G,githubRepositoryPath:W})}})});import{z as G5}from"zod";var Wv4,_$0,Kv4,Hv4,Fv4,Uv4,fO$,yO$,tN,v$0;var gO$=L(()=>{Wv4=["github","gitlab","bitbucket"],_$0=G5.enum(Wv4),Kv4=["github_app","oauth","token","github_cli"],Hv4=G5.enum(Kv4),Fv4=["active","revoked"],Uv4=G5.enum(Fv4),fO$=G5.object({provider:_$0,host:G5.string().min(1).describe("Provider host, e.g. github.com"),path:G5.string().min(1).describe("Full namespace path, e.g. owner/name or group/sub/project")}),yO$=G5.object({id:G5.string(),organizationId:G5.string(),type:_$0,host:G5.string(),authKind:Hv4,externalAccountId:G5.string().describe("Provider-side account identity: installation id (GitHub App), user/group id (GitLab) or user/workspace uuid (Bitbucket)."),login:G5.string().describe("Display login of the account/namespace"),avatarUrl:G5.string().nullable(),installationId:G5.number().nullable().describe("GitHub App installation id; null for other auth kinds."),status:Uv4,createdAt:G5.string(),updatedAt:G5.string()}),tN=G5.string().regex(/^[a-z][a-z0-9-]{0,31}$/,"lowercase letters, digits and dashes only"),v$0=G5.object({id:G5.string(),organizationId:G5.string(),accountId:G5.string().nullable().describe("Credential-holding account; null for anonymous public clones."),provider:_$0,host:G5.string(),path:G5.string(),externalId:G5.string().nullable().describe("Provider repository/project id, when known."),defaultBranch:G5.string().nullable(),webUrl:G5.string(),visibility:G5.enum(["public","private","internal"]).nullable(),sandboxImage:tN.describe("Sandbox image this repository's sandboxes boot from."),monitorDeploys:G5.boolean().describe("Its default-branch pushes show on the Monitor's Deploys tab."),createdAt:G5.string(),updatedAt:G5.string()})});function Dv4($){let Z=$.toLowerCase();if(Z==="github.com"||Z==="www.github.com")return"github";if(Z==="gitlab.com"||Z==="www.gitlab.com")return"gitlab";if(Z==="bitbucket.org"||Z==="www.bitbucket.org")return"bitbucket";if(/(^|[.-])gitlab([.-]|$)/.test(Z))return"gitlab";return null}function hO$($){let Z=$.toLowerCase();return Z.startsWith("www.")?Z.slice(4):Z}function wX($,Z){let Q=$.trim();if(!Q)return null;let Y,X,J=/^(?:[\w.-]+@)?([\w.-]+(?::\d+)?):(?!\/\/)(.+)$/.exec(Q);if(J&&!/^[a-z][a-z0-9+.-]*:\/\//i.test(Q))Y=J[1],X=J[2];else if(/^[a-z][a-z0-9+.-]*:\/\//i.test(Q)){let F;try{F=new URL(Q)}catch{return null}if(!/^(https?|ssh|git)(\+ssh)?:$/.test(F.protocol))return null;Y=F.host,X=F.pathname}else if(Z?.provider)Y=Z.host??YN0[Z.provider],X=Q;else return null;Y=hO$(Y);let G=Z?.provider??Dv4(Y);if(!G)return null;let W=X.split("/").map((F)=>F.trim()).filter(Boolean),K=W.indexOf("-");if(K>=0)W=W.slice(0,K);if(Bv4.has(G))W=W.slice(0,2);if(W.length<2)return null;let H=W[W.length-1];if(W[W.length-1]=H.replace(/\.git$/i,""),W.some((F)=>F.length===0||F==="."||F===".."))return null;return{provider:G,host:Y,path:W.join("/")}}function xF($){return`${$.host.toLowerCase()}/${$.path.toLowerCase()}`}function o51($){let Z=$.path.split("/");return Z[Z.length-1]??$.path}function Lv4($){let Z=$.path.lastIndexOf("/");return Z<0?"":$.path.slice(0,Z)}function k5($){return{owner:Lv4($),name:o51($)}}function b3($){return`https://${$.host}/${$.path}`}function b$0($,Z){let Q=`${$.host}/${$.path}.git`;if(!Z)return`https://${Q}`;return`https://${Nv4[$.provider]}:${encodeURIComponent(Z)}@${Q}`}function iL($,Z){let Q=hO$(Z);switch($){case"github":return Q==="github.com"?"https://api.github.com":`https://${Q}/api/v3`;case"gitlab":return`https://${Q}/api/v4`;case"bitbucket":return"https://api.bitbucket.org/2.0"}}function $i($,Z){return{provider:"github",host:YN0.github,path:`${$}/${Z}`}}var YN0,Nv4,Bv4;var s51=L(()=>{YN0={github:"github.com",gitlab:"gitlab.com",bitbucket:"bitbucket.org"},Nv4={github:"x-access-token",gitlab:"oauth2",bitbucket:"x-token-auth"},Bv4=new Set(["github","bitbucket"])});function fK($,Z){return`${b3($)}/${Ov4[$.provider]}/${Z}`}function wv4($){let Z=$.toLowerCase();return jv4[Z]??Z}function mO$($,Z,Q){let Y=Number($[3]);if(!Number.isSafeInteger(Y)||Y<=0)return null;let X=wv4($[1]),J=$[2],G=Z?decodeURIComponent(J):J;if(/^\d+$/.test(G))return null;let W=`https://${X}/${G}`,K=wX(W)??(Q?wX(W,{provider:Q}):null);if(!K)return null;return{repo:K,number:Y,url:fK(K,Y)}}function XN0($){let Z=$.trim();if(!Z)return null;for(let{re:Q,api:Y,provider:X}of lO$){let J=Q.exec(Z),G=J?mO$(J,Y===!0,X):null;if(G)return G}return null}function a51($){let Z=$.length>uO$?$.slice(0,uO$):$;for(let{re:Q,api:Y,provider:X}of lO$){let J=Q.exec(Z),G=J?mO$(J,Y===!0,X):null;if(G)return G}return null}var Ov4,lO$,jv4,uO$=200000;var r51=L(()=>{s51();Ov4={github:"pull",gitlab:"-/merge_requests",bitbucket:"pull-requests"};lO$=[{re:/https?:\/\/([^/\s"']+)\/([^\s"']+?)\/-\/merge_requests\/(\d+)/,provider:"gitlab"},{re:/https?:\/\/([^/\s"']+)\/([^/\s"']+\/[^/\s"']+)\/pull\/(\d+)/},{re:/https?:\/\/([^/\s"']+)\/([^/\s"']+\/[^/\s"']+)\/pull-requests\/(\d+)/},{re:/https?:\/\/([^/\s"']+)\/repos\/([^/\s"']+\/[^/\s"']+)\/pulls\/(\d+)/,api:!0},{re:/https?:\/\/([^/\s"']+)\/api\/v4\/projects\/([^/\s"']+)\/merge_requests\/(\d+)/,api:!0,provider:"gitlab"},{re:/https?:\/\/([^/\s"']+)\/2\.0\/repositories\/([^/\s"']+\/[^/\s"']+)\/pullrequests\/(\d+)/,api:!0}],jv4={"api.github.com":"github.com","api.bitbucket.org":"bitbucket.org"}});function cO$($){return e51[$]}function $91($,Z){return e51[$].checkoutCommand.replace("{number}",String(Z))}function dO$($,Z){let{abbreviation:Q,numberSigil:Y}=e51[$];return`${Q} ${Y}${Z}`}var e51;var iO$=L(()=>{e51={github:{name:"GitHub",cli:"gh",changeRequest:"pull request",abbreviation:"PR",createCommand:"gh pr create",checkoutCommand:"gh pr checkout {number}",numberSigil:"#"},gitlab:{name:"GitLab",cli:"glab",changeRequest:"merge request",abbreviation:"MR",createCommand:"glab mr create",checkoutCommand:"glab mr checkout {number}",numberSigil:"!"},bitbucket:{name:"Bitbucket",cli:null,changeRequest:"pull request",abbreviation:"PR",createCommand:`curl -fsS -X POST -H "Authorization: Bearer $BITBUCKET_TOKEN" -H "Content-Type: application/json" https://api.bitbucket.org/2.0/repositories/<workspace>/<repo>/pullrequests -d '{"title":"<title>","source":{"branch":{"name":"<branch>"}},"destination":{"branch":{"name":"<base>"}}}'`,checkoutCommand:"git fetch origin <source branch> && git checkout <source branch>",numberSigil:"#"}}});var n4=L(()=>{gO$();s51();r51();iO$()});function JN0(){let $=new Map;function Z(Y,X){let J=$.get(X);if(J)return J;let G=(async()=>{let W=await Y(),K=new c7({name:`outbound-client-${X}`,version:"1.0.0"},{capabilities:{tasks:{list:{},cancel:{},requests:{tool:{call:{}}}}},jsonSchemaValidator:SZ});K.onclose=()=>{$.delete(X)};try{await K.connect(W)}catch(H){throw await W.close?.().catch(()=>{}),H}return K})().catch((W)=>{throw $.delete(X),W});return $.set(X,G),G}return Object.assign(Z,{[Symbol.asyncDispose]:async()=>{let Y=[];for(let[X,J]of $)Y.push(J.then((G)=>G.close()).catch(()=>{}));await Promise.all(Y),$.clear()}})}var Z91=L(()=>{DN();zJ()});function pO$($){let Z=new u00({command:$.command,args:$.args,env:$.env,cwd:$.cwd,stderr:"pipe"}),Q=$.name||$.id,Y="\x1B[2m",X="\x1B[0m";return Z.stderr?.on("data",(J)=>{let G=J.toString().trimEnd();if(G)console.error(`${G} \x1B[2m[${Q}]\x1B[0m`)}),Z}var nO$=L(()=>{J81()});var Zi=300000,pE=5000,GN0=1e4,Q91=3,Y91=30000,tO$=65000,WN0=1000,Qi=3,oO$=5,sO$=60000,aO$=300000,X91=60000;var J91=y((rO$)=>{Object.defineProperty(rO$,"__esModule",{value:!0});rO$.kvPrefix=rO$.KvWatchInclude=void 0;rO$.KvWatchInclude={LastValue:"",AllHistory:"history",UpdatesOnly:"updates"};rO$.kvPrefix="KV_"});var Fj$=y((Kj$)=>{Object.defineProperty(Kj$,"__esModule",{value:!0});Kj$.KvStatusImpl=Kj$.Bucket=Kj$.Kvm=Kj$.kvOperationHdr=void 0;Kj$.Base64KeyCodec=Pv4;Kj$.NoopKvCodecs=G91;Kj$.defaultBucketOpts=Zj$;Kj$.validateKey=Qj$;Kj$.validateSearchKey=Yj$;Kj$.hasWildcards=Xj$;Kj$.validateBucket=KN0;var UZ=AG(),L9=jX0(),FZ=J91();function Pv4(){let $=(Z,Q)=>{let Y=[];for(let X of Z.split("."))switch(X){case">":case"*":Y.push(X);break;default:Y.push(Q(X));break}return Y.join(".")};return{encode(Z){return $(Z,btoa)},decode(Z){return $(Z,atob)}}}function G91(){return{key:{encode($){return $},decode($){return $}},value:{encode($){return typeof $==="string"?new TextEncoder().encode($):$},decode($){return $}}}}function Zj$(){return{replicas:1,history:1,timeout:2000,max_bytes:-1,maxValueSize:-1,codec:G91(),storage:L9.StorageType.File}}Kj$.kvOperationHdr="KV-Operation";var $j$="$KV",zv4=/^[-/=.\w]+$/,Av4=/^[-/=.>*\w]+$/,Tv4=/^[-\w]+$/;function Qj$($){if($.startsWith(".")||$.endsWith(".")||!zv4.test($))throw Error(`invalid key: ${$}`)}function Yj$($){if($.startsWith(".")||$.endsWith(".")||$.includes("..")||!Av4.test($))throw Error(`invalid key: ${$}`)}function Xj$($){if($.startsWith(".")||$.endsWith("."))throw Error(`invalid key: ${$}`);let Z=$.split("."),Q=!1;for(let Y=0;Y<Z.length;Y++)switch(Z[Y]){case"*":Q=!0;break;case">":if(Y!==Z.length-1)throw Error(`invalid key: ${$}`);Q=!0;break;default:}return Q}function KN0($){if(!Tv4.test($))throw Error(`invalid bucket name: ${$}`)}class Jj${js;constructor($){this.js=(0,L9.toJetStreamClient)($)}create($,Z={}){return this.#$($,Z)}open($,Z={}){return Z.bindOnly=!0,this.#$($,Z)}#$($,Z={}){let{ok:Q,min:Y}=this.js.nc.features.get(UZ.Feature.JS_KV);if(!Q)return Promise.reject(Error(`kv is only supported on servers ${Y} or better`));if(Z.bindOnly)return Yi.bind(this.js,$,Z);return Yi.create(this.js,$,Z)}list(){let $=(Q)=>{let X=Q.streams.filter((G)=>{return G.config.name.startsWith(FZ.kvPrefix)});X.forEach((G)=>{G.config.sealed=G.config.sealed||!1,G.config.deny_delete=G.config.deny_delete||!1,G.config.deny_purge=G.config.deny_purge||!1,G.config.allow_rollup_hdrs=G.config.allow_rollup_hdrs||!1});let J="";if(X.length)J=this.js.nc.info?.cluster??"";return X.map((G)=>{return new HN0(G,J)})},Z=`${this.js.prefix}.STREAM.LIST`;return new L9.ListerImpl(Z,$,this.js)}}Kj$.Kvm=Jj$;class Yi{js;jsm;stream;bucket;direct;codec;prefix;editPrefix;useJsPrefix;_prefixLen;constructor($,Z,Q){KN0($),this.js=Z,this.jsm=Q,this.bucket=$,this.prefix=$j$,this.editPrefix="",this.useJsPrefix=!1,this._prefixLen=0}static async create($,Z,Q={}){KN0(Z);let Y=await $.jetstreamManager(),X=new Yi(Z,$,Y);return await X.init(Q),X}static async bind($,Z,Q={}){let Y=$.getOptions()?.checkAPI||Q.bindOnly===!1,X=await $.jetstreamManager(Y),J={config:{allow_direct:Q.allow_direct}};KN0(Z);let G=new Yi(Z,$,X);return J.config.name=Q.streamName??G.bucketName(),Object.assign(G,J),G.stream=J.config.name,G.codec=Q.codec||G91(),G.direct=J.config.allow_direct??!1,G.initializePrefixes(J),G}async init($={}){let Z=Object.assign(Zj$(),$);this.codec=Z.codec;let Q={};if(this.stream=Q.name=$.streamName??this.bucketName(),Q.retention=L9.RetentionPolicy.Limits,Q.max_msgs_per_subject=Z.history,Z.max_bytes)Q.max_bytes=Z.max_bytes;if(Q.max_msg_size=Z.maxValueSize,Q.storage=Z.storage,$.placement)Q.placement=$.placement;if($.republish)Q.republish=$.republish;if($.description)Q.description=$.description;if($.markerTTL)Q.allow_msg_ttl=!0,Q.subject_delete_marker_ttl=(0,UZ.nanos)(Z.markerTTL);if($.mirror){let H=Object.assign({},$.mirror);if(!H.name.startsWith(FZ.kvPrefix))H.name=`${FZ.kvPrefix}${H.name}`;Q.mirror=H,Q.mirror_direct=!0}else if($.sources){let H=$.sources.map((F)=>{let U=Object.assign({},F),N=U.name.startsWith(FZ.kvPrefix)?U.name.substring(FZ.kvPrefix.length):U.name;if(!U.name.startsWith(FZ.kvPrefix))U.name=`${FZ.kvPrefix}${U.name}`;if(!F.external&&N!==this.bucket)U.subject_transforms=[{src:`$KV.${N}.>`,dest:`$KV.${this.bucket}.>`}];return U});Q.sources=H,Q.subjects=[this.subjectForBucket()]}else Q.subjects=[this.subjectForBucket()];if($.metadata)Q.metadata=$.metadata;if(typeof $.compression==="boolean")Q.compression=$.compression?L9.StoreCompression.S2:L9.StoreCompression.None;let Y=this.js.nc,X=Y.getServerVersion(),J=X?(0,UZ.compare)(X,(0,UZ.parseSemVer)("2.7.2"))>=0:!1;Q.discard=J?L9.DiscardPolicy.New:L9.DiscardPolicy.Old;let{ok:G,min:W}=Y.features.get(UZ.Feature.JS_ALLOW_DIRECT);if(!G&&$.allow_direct===!0){let H=X?`${X.major}.${X.minor}.${X.micro}`:"unknown";return Promise.reject(Error(`allow_direct is not available on server version ${H} - requires ${W}`))}if($.allow_direct=typeof $.allow_direct==="boolean"?$.allow_direct:G,Q.allow_direct=$.allow_direct,this.direct=Q.allow_direct,Q.num_replicas=Z.replicas,Z.ttl)Q.max_age=(0,UZ.nanos)(Z.ttl);Q.allow_rollup_hdrs=!0;let K;try{if(K=await this.jsm.streams.info(Q.name),!K.config.allow_direct&&this.direct===!0)this.direct=!1}catch(H){if(H.message==="stream not found")K=await this.jsm.streams.add(Q);else throw H}this.initializePrefixes(K)}initializePrefixes($){this._prefixLen=0,this.prefix=`$KV.${this.bucket}`,this.useJsPrefix=this.js.apiPrefix!=="$JS.API";let{mirror:Z}=$.config;if(Z){let Q=Z.name;if(Q.startsWith(FZ.kvPrefix))Q=Q.substring(FZ.kvPrefix.length);if(Z.external&&Z.external.api!==""){let Y=Z.name.substring(FZ.kvPrefix.length);this.useJsPrefix=!1,this.prefix=`$KV.${Y}`,this.editPrefix=`${Z.external.api}.$KV.${Q}`}else this.editPrefix=this.prefix}}bucketName(){return this.stream??`${FZ.kvPrefix}${this.bucket}`}subjectForBucket(){return`${this.prefix}.${this.bucket}.>`}subjectForKey($,Z=!1){let Q=[];if(Z){if(this.useJsPrefix)Q.push(this.js.apiPrefix);if(this.editPrefix!=="")Q.push(this.editPrefix);else Q.push(this.prefix)}else if(this.prefix)Q.push(this.prefix);return Q.push($),Q.join(".")}fullKeyName($){if(this.prefix!=="")return`${this.prefix}.${$}`;return`${$j$}.${this.bucket}.${$}`}get prefixLen(){if(this._prefixLen===0)this._prefixLen=this.prefix.length+1;return this._prefixLen}encodeKey($){let Z=[];for(let Q of $.split("."))switch(Q){case">":case"*":Z.push(Q);break;default:Z.push(this.codec.key.encode(Q));break}return Z.join(".")}decodeKey($){let Z=[];for(let Q of $.split("."))switch(Q){case">":case"*":Z.push(Q);break;default:Z.push(this.codec.key.decode(Q));break}return Z.join(".")}validateKey=Qj$;validateSearchKey=Yj$;hasWildcards=Xj$;close(){return Promise.resolve()}dataLen($,Z){let Q=Z?Z.get(L9.JsHeaders.MessageSizeHdr)||"":"";if(Q!=="")return parseInt(Q,10);return $.length}smToEntry($){return new Gj$(this.bucket,this.prefixLen,$,this.codec)}jmToWatchEntry($,Z){return new Wj$(this.bucket,this.prefixLen,$,Z,this.codec)}async create($,Z,Q){let Y;try{let J={previousSeq:0},G=await this._put($,Z,J,Q);return Promise.resolve(G)}catch(J){if(Y=J,J instanceof L9.JetStreamApiError){let G=J;if(G.code!==L9.JetStreamApiCodes.StreamWrongLastSequence&&G.code!==L9.JetStreamApiCodes.StreamWrongLastSequenceUnknown)return Promise.reject(J)}}let X=0;try{let J=await this.get($);if(J?.operation==="DEL"||J?.operation==="PURGE")return X=J!==null?J.revision:0,this._put($,Z,{previousSeq:X},Q);else return Promise.reject(Y)}catch(J){return Promise.reject(J)}}update($,Z,Q,Y){if(Q<=0)throw Error("version must be greater than 0");return this.put($,Z,{previousSeq:Q,timeout:Y})}async _put($,Z,Q={},Y){let X=this.encodeKey($);this.validateKey(X),Z=this.codec.value.encode(Z);let J={timeout:Q?.timeout};if(Q.previousSeq!==void 0){let G=(0,UZ.headers)();J.headers=G,G.set(L9.PubHeaders.ExpectedLastSubjectSequenceHdr,`${Q.previousSeq}`)}if(Y)(J.headers||(0,UZ.headers)()).set(L9.PubHeaders.MessageTTL,Y);try{return(await this.js.publish(this.subjectForKey(X,!0),Z,J)).seq}catch(G){return Promise.reject(G)}}put($,Z,Q={}){return this._put($,Z,Q)}async get($,Z){let Q=this.encodeKey($);this.validateKey(Q);let Y={last_by_subj:this.subjectForKey(Q)};if(Z&&Z.revision>0)Y={seq:Z.revision};let X=null;try{if(this.direct)X=await this.jsm.direct.getMessage(this.bucketName(),Y);else X=await this.jsm.streams.getMessage(this.bucketName(),Y);if(X===null)return null;let J=this.smToEntry(X);if(J.rawKey!==Q)return null;return J}catch(J){throw J}}purge($,Z){return this._deleteOrPurge($,"PURGE",Z)}delete($,Z){return this._deleteOrPurge($,"DEL",Z)}async purgeDeletes($=1800000){let Z=[],Q=await this.history({key:">"});await(async()=>{for await(let G of Q)if(G.operation==="DEL"||G.operation==="PURGE")Z.push(G)})().then(),Q.stop();let Y=Date.now()-$,X=Z.map((G)=>{let W=this.subjectForKey(G.key);if(G.created.getTime()>=Y)return this.jsm.streams.purge(this.stream,{filter:W,keep:1});else return this.jsm.streams.purge(this.stream,{filter:W,keep:0})}),J=await Promise.all(X);return J.unshift({success:!0,purged:0}),J.reduce((G,W)=>{return G.purged+=W.purged,G})}async _deleteOrPurge($,Z,Q){if(!this.hasWildcards($))return this._doDeleteOrPurge($,Z,Q);let Y=await this.keys($),X=[];for await(let J of Y)if(X.push(this._doDeleteOrPurge(J,Z)),X.length===100)await Promise.all(X),X.length=0;if(X.length>0)await Promise.all(X)}async _doDeleteOrPurge($,Z,Q){let Y=this.encodeKey($);this.validateKey(Y);let X=(0,UZ.headers)();if(X.set(Kj$.kvOperationHdr,Z),Z==="PURGE"){let J=Q;if(X.set(L9.JsHeaders.RollupHdr,L9.JsHeaders.RollupValueSubject),typeof J?.ttl==="string"&&J.ttl!=="")X.set(L9.PubHeaders.MessageTTL,`${J.ttl}`)}if(Q?.previousSeq)X.set(L9.PubHeaders.ExpectedLastSubjectSequenceHdr,`${Q.previousSeq}`);await this.js.publish(this.subjectForKey(Y,!0),UZ.Empty,{headers:X})}_buildCC($,Z,Q={}){let X=(!Array.isArray($)?[$]:$).map((W)=>{let K=this.encodeKey(W);return this.validateSearchKey(W),this.fullKeyName(K)}),J=L9.DeliverPolicy.LastPerSubject;if(Z===FZ.KvWatchInclude.AllHistory)J=L9.DeliverPolicy.All;if(Z===FZ.KvWatchInclude.UpdatesOnly)J=L9.DeliverPolicy.New;let G=void 0;if(X.length===1)G=X[0],X=void 0;return Object.assign({deliver_policy:J,ack_policy:L9.AckPolicy.None,filter_subjects:X,filter_subject:G,flow_control:!0,idle_heartbeat:(0,UZ.nanos)(5000)},Q)}remove($){return this.purge($)}async history($={}){let Z=$.key??">",Q={};Q.headers_only=$.headers_only||!1;let Y=new UZ.QueuedIteratorImpl,X=()=>{Y.stop()},J=this._buildCC(Z,FZ.KvWatchInclude.AllHistory,Q),G=await this.js.consumers.getPushConsumer(this.stream,J);if(Y._data=G,(await G.info(!0)).num_pending===0)return Y.push(X),Y;let K=await G.consume({callback:(H)=>{let F=this.jmToWatchEntry(H,!1);if(Y.push(F),Y.received++,H.info.pending===0)Y.push(X)}});return K.closed().then(()=>{Y.push(X)}),(async()=>{for await(let H of K.status())switch(H.type){case"heartbeat":Y.push(()=>{Y.stop()});break}})().then(),Y.iterClosed.then(()=>{K.stop()}),Y}canSetWatcherName(){let $=this.js.nc,{ok:Z}=$.features.get(UZ.Feature.JS_NEW_CONSUMER_CREATE_API);return Z}async watch($={}){let Z=$.key??">",Q=new UZ.QueuedIteratorImpl,Y={};Y.headers_only=$.headers_only||!1;let X=FZ.KvWatchInclude.LastValue;if($.include===FZ.KvWatchInclude.AllHistory)X=FZ.KvWatchInclude.AllHistory;else if($.include===FZ.KvWatchInclude.UpdatesOnly)X=FZ.KvWatchInclude.UpdatesOnly;let J=$.ignoreDeletes===!0,G=this._buildCC(Z,X,Y);if(G.name=`KV_WATCHER_${UZ.nuid.next()}`,$.resumeFromRevision&&$.resumeFromRevision>0)G.deliver_policy=L9.DeliverPolicy.StartSequence,G.opt_start_seq=$.resumeFromRevision;let W=await this.js.consumers.getPushConsumer(this.stream,G),H=(await W.info(!0)).num_pending,F=X===FZ.KvWatchInclude.UpdatesOnly||H===0;Q._data=W;let U=0,N=await W.consume({callback:(B)=>{if(!F)U++,F=U>=H;let D=this.jmToWatchEntry(B,F);if(J&&D.operation==="DEL")return;Q.push(D),Q.received++}});return Q.iterClosed.then(()=>{N.stop()}),N.closed().then(()=>{Q.push(()=>{Q.stop()})}),Q}async keys($=">"){let Z=new UZ.QueuedIteratorImpl,Q=this._buildCC($,FZ.KvWatchInclude.LastValue,{headers_only:!0}),Y=await this.js.consumers.getPushConsumer(this.stream,Q);if((await Y.info()).num_pending===0)return Z.stop(),Z;Z._data=Y;let J=await Y.consume({callback:(G)=>{let W=G.headers?.get(Kj$.kvOperationHdr);if(W!=="DEL"&&W!=="PURGE"){let K=this.decodeKey(G.subject.substring(this.prefixLen));Z.push(K)}if(G.info.pending===0)J.stop()}});return(async()=>{for await(let G of J.status())switch(G.type){case"heartbeat":Z.push(()=>{Z.stop()});break}})().then(),J.closed().then(()=>{Z.push(()=>{Z.stop()})}),Z.iterClosed.then(()=>{J.stop()}),Z}purgeBucket($){return this.jsm.streams.purge(this.bucketName(),$)}destroy(){return this.jsm.streams.delete(this.bucketName())}async status(){let Z=this.js.nc.info?.cluster??"",Q=this.bucketName(),Y=await this.jsm.streams.info(Q);return new HN0(Y,Z)}}Kj$.Bucket=Yi;class HN0{si;cluster;constructor($,Z=""){this.si=$,this.cluster=Z}get bucket(){return this.si.config.name.startsWith(FZ.kvPrefix)?this.si.config.name.substring(FZ.kvPrefix.length):this.si.config.name}get values(){return this.si.state.messages}get history(){return this.si.config.max_msgs_per_subject}get ttl(){return(0,UZ.millis)(this.si.config.max_age)}get markerTTL(){if(typeof this.si.config.subject_delete_marker_ttl==="number")return(0,UZ.millis)(this.si.config.subject_delete_marker_ttl);return 0}get bucket_location(){return this.cluster}get backingStore(){return this.si.config.storage}get storage(){return this.si.config.storage}get replicas(){return this.si.config.num_replicas}get description(){return this.si.config.description??""}get maxBucketSize(){return this.si.config.max_bytes}get maxValueSize(){return this.si.config.max_msg_size}get max_bytes(){return this.si.config.max_bytes}get placement(){return this.si.config.placement||{cluster:"",tags:[]}}get placementCluster(){return this.si.config.placement?.cluster??""}get republish(){return this.si.config.republish??{src:"",dest:""}}get streamInfo(){return this.si}get size(){return this.si.state.bytes}get metadata(){return this.si.config.metadata??{}}get compression(){if(this.si.config.compression)return this.si.config.compression!==L9.StoreCompression.None;return!1}}Kj$.KvStatusImpl=HN0;class Gj${bucket;sm;prefixLen;codec;constructor($,Z,Q,Y){this.bucket=$,this.prefixLen=Z,this.sm=Q,this.codec=Y}get rawKey(){return this.sm.subject.substring(this.prefixLen)}get key(){return this.codec.key.decode(this.rawKey)}get value(){return this.codec.value.decode(this.sm.data)}get delta(){return 0}get created(){return this.sm.time}get revision(){return this.sm.seq}get operation(){if(this.sm.header?.has("Nats-Marker-Reason")){if(this.sm.header?.get("Nats-Marker-Reason")==="MaxAge")return"PURGE"}return this.sm.header?.get(Kj$.kvOperationHdr)||"PUT"}get length(){let $=this.sm.header.get(L9.JsHeaders.MessageSizeHdr)||"";if($!=="")return parseInt($,10);return this.sm.data.length}json($){return JSON.parse(UZ.TD.decode(this.value),$)}string(){return UZ.TD.decode(this.value)}}class Wj${bucket;sm;prefixLen;update;codec;constructor($,Z,Q,Y,X){this.bucket=$,this.prefixLen=Z,this.sm=Q,this.update=Y,this.codec=X}get rawKey(){return this.sm.subject.substring(this.prefixLen)}get key(){return this.codec.key.decode(this.rawKey)}get value(){return this.codec.value.decode(this.sm.data)}get created(){return new Date((0,UZ.millis)(this.sm.info.timestampNanos))}get revision(){return this.sm.seq}get operation(){if(this.sm.headers?.has("Nats-Marker-Reason")){if(this.sm.headers?.get("Nats-Marker-Reason")==="MaxAge")return"PURGE"}return this.sm.headers?.get(Kj$.kvOperationHdr)||"PUT"}get delta(){return this.sm.info.pending}get length(){let $=this.sm.headers?.get(L9.JsHeaders.MessageSizeHdr)||"";if($!=="")return parseInt($,10);return this.sm.data.length}get isUpdate(){return this.update}json($){return JSON.parse(UZ.TD.decode(this.value),$)}string(){return UZ.TD.decode(this.value)}}});var W91=y((fF)=>{Object.defineProperty(fF,"__esModule",{value:!0});fF.validateKey=fF.validateBucket=fF.NoopKvCodecs=fF.Kvm=fF.defaultBucketOpts=fF.Bucket=fF.Base64KeyCodec=fF.KvWatchInclude=fF.kvPrefix=void 0;var Uj$=J91();Object.defineProperty(fF,"kvPrefix",{enumerable:!0,get:function(){return Uj$.kvPrefix}});Object.defineProperty(fF,"KvWatchInclude",{enumerable:!0,get:function(){return Uj$.KvWatchInclude}});var Eq=Fj$();Object.defineProperty(fF,"Base64KeyCodec",{enumerable:!0,get:function(){return Eq.Base64KeyCodec}});Object.defineProperty(fF,"Bucket",{enumerable:!0,get:function(){return Eq.Bucket}});Object.defineProperty(fF,"defaultBucketOpts",{enumerable:!0,get:function(){return Eq.defaultBucketOpts}});Object.defineProperty(fF,"Kvm",{enumerable:!0,get:function(){return Eq.Kvm}});Object.defineProperty(fF,"NoopKvCodecs",{enumerable:!0,get:function(){return Eq.NoopKvCodecs}});Object.defineProperty(fF,"validateBucket",{enumerable:!0,get:function(){return Eq.validateBucket}});Object.defineProperty(fF,"validateKey",{enumerable:!0,get:function(){return Eq.validateKey}})});var Pq=y((nE)=>{Object.defineProperty(nE,"__esModule",{value:!0});nE.NoopKvCodecs=nE.Kvm=nE.defaultBucketOpts=nE.Bucket=nE.Base64KeyCodec=nE.KvWatchInclude=void 0;var bv4=W91();Object.defineProperty(nE,"KvWatchInclude",{enumerable:!0,get:function(){return bv4.KvWatchInclude}});var f$0=W91();Object.defineProperty(nE,"Base64KeyCodec",{enumerable:!0,get:function(){return f$0.Base64KeyCodec}});Object.defineProperty(nE,"Bucket",{enumerable:!0,get:function(){return f$0.Bucket}});Object.defineProperty(nE,"defaultBucketOpts",{enumerable:!0,get:function(){return f$0.defaultBucketOpts}});Object.defineProperty(nE,"Kvm",{enumerable:!0,get:function(){return f$0.Kvm}});Object.defineProperty(nE,"NoopKvCodecs",{enumerable:!0,get:function(){return f$0.NoopKvCodecs}})});function tE(){let $=new TextEncoder,Z=new TextDecoder;return{encode:(Q)=>$.encode(JSON.stringify(Q)),decode:(Q)=>JSON.parse(Z.decode(Q))}}class K91{options;kv=null;codec=tE();selfKeySuffix;constructor($){this.options=$;this.selfKeySuffix=`.v${$.selfListVersion.replace(/[^-/_=.a-zA-Z0-9]/g,"_")}`}async init($){if($){this.kv=$;return}let Z=this.options.getJetStream();if(!Z)return;this.kv=await new Bj$.Kvm(Z).create(fv4,{storage:Nj$.StorageType.Memory,ttl:yv4,max_bytes:gv4})}key($,Z){let Q=`${$}.${Z}`;return Z.endsWith("_self")?Q+this.selfKeySuffix:Q}async get($,Z){if(!this.kv)return null;try{let Q=await this.kv.get(this.key($,Z));if(!Q?.value?.length)return null;if(Q.operation==="DEL"||Q.operation==="PURGE")return null;return this.codec.decode(Q.value)}catch{return null}}async set($,Z,Q){if(!this.kv)return;try{await this.kv.put(this.key($,Z),this.codec.encode(Q))}catch{}}async invalidate($){if(!this.kv)return;await Promise.all(["tools","resources","prompts"].map(async(Q)=>{try{await this.kv.delete(this.key(Q,$))}catch{}}))}teardown(){this.kv=null}}function hv4($,Z,Q){if(Q<=0)return!0;if($===void 0)return!0;return Z-$>=Q}function Dj$($){let Z=["tools","resources","prompts"];for(let Q of Z){let Y=`${Q}:${$}`;UN0.delete(Y),g$0.delete(Y)}}function FN0($){return $ instanceof x1&&$.code===u1.MethodNotFound}function uv4($){return $ instanceof x1&&$.code===-32000&&/connection closed/i.test($.message)}async function sN($,Z,Q,Y,X,J=0){if(!Y)try{return await Q()}catch(H){if(FN0(H))return[];return y$0.add(1,{type:$,outcome:"error",stage:"no_cache"}),null}let G=`${$}:${Z}`,W=await Y.get($,Z);if(W===null)try{let H=await Q();return Y.set($,Z,H).catch(()=>{}),UN0.set(G,Date.now()),y$0.add(1,{type:$,outcome:"miss",stage:"miss"}),H}catch(H){if(FN0(H))return Y.set($,Z,[]).catch(()=>{}),[];return y$0.add(1,{type:$,outcome:"error",stage:"miss"}),null}if(y$0.add(1,{type:$,outcome:"hit",stage:"hit"}),hv4(UN0.get(G),Date.now(),J)&&!g$0.has(G)){g$0.add(G),UN0.set(G,Date.now());let H=Q().then((F)=>Y.set($,Z,F)).catch((F)=>{if(FN0(F)||uv4(F)){if(FN0(F))Y.set($,Z,[]).catch(()=>{});return}y$0.add(1,{type:$,outcome:"error",stage:"revalidation"})}).finally(()=>g$0.delete(G));X?.(H)}return W}function H91($){Lj$=$}function n9(){return Lj$}var Nj$,Bj$,y$0,fv4="DECOCMS_MCP_LISTS_V2",yv4=600000,gv4=134217728,g$0,UN0,oN=30000,Lj$=null;var IJ=L(()=>{CZ();y6();Nj$=_(nH(),1),Bj$=_(Pq(),1),y$0=W$.createCounter("mcp_list_cache.fetches",{description:"MCP list cache fetch outcomes (hit, miss, error)",unit:"{fetches}"});g$0=new Set;W$.createObservableGauge("mcp_list_cache.pending_revalidations",{description:"In-flight background MCP list revalidations on this pod",unit:"{revalidations}"}).addCallback(($)=>$.observe(g$0.size));UN0=new Map});async function lv4($,Z,Q){let Y=$.organization?.id;if(!$.boundAuth?.isApiKeyPrincipal||!Y||$.auth.permissionsOrganizationId!==Y)return!1;for(let[X,J]of Object.entries($.auth.permissions??{})){if(!J.includes("*")&&!J.includes(Q))continue;let G=await $.storage.virtualMcps.findById(X,Y);if(G?.organization_id!==Y||G.status!=="active")continue;let W=G.connections.find((K)=>K.connection_id===Z);if(W&&(W.selected_tools==null||W.selected_tools.includes(Q)))return!0}return!1}var NN0;var Oj$=L(()=>{IJ();jQ();zJ();NN0=class NN0 extends dc{options;constructor($,Z){super($);this.options=Z}toolsListPromise=null;fetchToolsFromServer(){if(!this.toolsListPromise)this.toolsListPromise=new Promise(($)=>{let Z=`auth-tools-${Date.now()}`,Q=this.innerTransport.onmessage,Y=(J)=>{clearTimeout(X),this.innerTransport.onmessage=Q,this.toolsListPromise=null,$(J)},X=setTimeout(()=>Y(null),pE);this.innerTransport.onmessage=(J)=>{if("id"in J&&J.id===Z)if("result"in J){let G=J.result?.tools??null;Y(G)}else Y(null);else Q?.(J)},this.innerTransport.send({jsonrpc:"2.0",id:Z,method:"tools/list",params:{}}).catch(()=>Y(null))});return this.toolsListPromise}async ensureToolsMap(){let $=this.options.cache??n9(),Z=await sN("tools",this.options.connection.id,async()=>{let Q=await this.fetchToolsFromServer();if(Q===null)throw Error("Failed to fetch tools list");return Q},$,(Q)=>this.options.ctx.pendingRevalidations.push(Q),oN);if(!Z)return new Map;return new Map(Z.map((Q)=>[Q.name,Q]))}async handleOutgoingMessage($){if(!this.isRequest($))return this.innerTransport.send($);let Z=$;if(Z.method==="tools/call")await this.authorizeToolCall(Z),this.stripMetaFromArguments(Z);return this.innerTransport.send($)}async authorizeToolCall($){if(this.options.superUser)return;let Q=$.params.name,{ctx:Y,connection:X}=this.options;if(await this.isPublicTool(Q))return;if(!Y.auth.user?.id&&!Y.auth.apiKey?.id)throw Error("Authentication required. Please provide a valid OAuth token or API key.");let J=async()=>{return(await this.ensureToolsMap()).get(Q)?._meta},G=new cT(Y.auth.user?.id??Y.auth.apiKey?.userId,Q,Y.boundAuth,Y.organization?.role??Y.auth.user?.role,X.id,J,Y.organization?.id,!1);try{await G.check(Q)}catch(W){if(W instanceof N6&&await lv4(Y,X.id,Q))return;throw W}}async isPublicTool($){let Q=(await this.ensureToolsMap()).get($);if(!Q?._meta)return!1;return EN(Q._meta)?.public_tool===!0}stripMetaFromArguments($){let Z=$.params;if(Z.arguments&&"_meta"in Z.arguments){let{_meta:Q,...Y}=Z.arguments;Z.arguments=Y}}}});class F91{redact($){if($===null||$===void 0)return $;if(typeof $==="string")return this.redactString($);if(Array.isArray($))return $.map((Z)=>this.redact(Z));if(typeof $==="object"){let Z={};for(let[Q,Y]of Object.entries($)){let X=this.redactString(Q);Z[X]=this.redact(Y)}return Z}return $}redactString($){return $.replace(cv4,(Z,...Q)=>{let Y=Q[Q.length-1];if(Y){for(let X of mv4)if(Y[X]!=null)return`[REDACTED:${X}]`}return Z})}}var mv4,cv4;var jj$=L(()=>{mv4=["jwt","api_key","email","credit_card","ssn"],cv4=new RegExp(["(?<jwt>eyJ[A-Za-z0-9-_]+\\.eyJ[A-Za-z0-9-_]+\\.[A-Za-z0-9-_.+/=]*)",`(?<api_key>(?:api[_-]?key|token|secret|password)\\s*[:=]\\s*['"]?[\\w-]{16,}['"]?|bearer\\s+['"]?[\\w-]{16,}['"]?)`,"(?<email>(?<![a-zA-Z0-9._%+-])[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,})","(?<credit_card>\\b\\d{4}[- ]?\\d{4}[- ]?\\d{4}[- ]?\\d{4}\\b)","(?<ssn>\\b\\d{3}-\\d{2}-\\d{4}\\b)"].join("|"),"gi")});import{SeverityNumber as wj$}from"@opentelemetry/api-logs";function BN0($,Z){try{if(!$.organizationId)return;let Q=U91.redactString(kl(JSON.stringify($.toolArguments??{}))),Y=U91.redactString(kl(JSON.stringify($.result??{}))),X=$.errorMessage?U91.redactString(kl($.errorMessage)):"";oR1().emit({severityNumber:$.isError?wj$.ERROR:wj$.INFO,severityText:$.isError?"ERROR":"INFO",body:$.toolName,attributes:{[J6.TYPE]:$.type??Ja,[J6.ORGANIZATION_ID]:$.organizationId,[J6.CONNECTION_ID]:$.connectionId,[J6.CONNECTION_TITLE]:"",[J6.TOOL_NAME]:$.toolName,[J6.INPUT]:Q,[J6.OUTPUT]:Y,[J6.IS_ERROR]:$.isError,[J6.ERROR_MESSAGE]:X,[J6.DURATION_MS]:$.duration,[J6.USER_ID]:$.userId||"",[J6.REQUEST_ID]:$.requestId,[J6.USER_AGENT]:$.userAgent||"",[J6.VIRTUAL_MCP_ID]:$.virtualMcpId||"",[J6.PROPERTIES]:$.properties?JSON.stringify($.properties):""},context:Z})}catch{}}var U91;var N91=L(()=>{ah0();jj$();aW();sh0();U91=new F91});function Ej$($){let{ctx:Z,organizationId:Q,connectionId:Y,toolName:X,durationMs:J,isError:G}=$;if(!Q||!Y||!X)return;let W={"tool.name":X,"organization.id":Q,"connection.id":Y,status:G?"error":"success","error.type":G?$.errorType||"Error":""};Z.meter.createHistogram("tool.execution.duration",{description:"Duration of tool executions in milliseconds",unit:"ms"}).record(J,W),Z.meter.createCounter("tool.execution.count",{description:"Number of tool executions"}).add(1,W)}function Pj$($){if(!$||typeof $!=="object"||!$.isError)return;let Z=$.content;if(!Array.isArray(Z))return;for(let Q of Z)if(Q&&typeof Q==="object"&&"type"in Q&&Q.type==="text"&&"text"in Q&&typeof Q.text==="string")return Q.text;return}function zj$($){if(!$)return;let Z=$._meta;if(!Z||typeof Z!=="object"||Array.isArray(Z))return;let Q=Z.properties;if(!Q||typeof Q!=="object"||Array.isArray(Q))return;let Y={};for(let[X,J]of Object.entries(Q)){if(Object.keys(Y).length>=B91)break;if(typeof J==="string"&&X.length<=h$0&&J.length<=h$0)Y[X]=J}return Object.keys(Y).length>0?Y:void 0}function Aj$($,Z){if(!$&&!Z)return;if(!$)return Z;if(!Z)return $;return{...Z,...$}}var Tj$=L(()=>{yF()});import{trace as dv4,context as qj$}from"@opentelemetry/api";var iv4=500,DN0;var Rj$=L(()=>{zJ();N91();Tj$();DN0=class DN0 extends dc{options;inflightRequests=new Map;requestContext;constructor($,Z){super($);this.options=Z;this.requestContext=qj$.active()}async handleOutgoingMessage($){if(this.isRequest($)){let Z=$;this.onRequestStart(Z)}return this.innerTransport.send($)}handleIncomingMessage($){if(this.isResponse($)){let Z=$;this.onResponseEnd(Z)}this.onmessage?.($)}onRequestStart($){let{ctx:Z,connectionId:Q}=this.options,Y,X;if($.method==="tools/call"&&$.params){let G=$.params;Y=G.name,X=G.arguments}let J;if($.method==="tools/call"&&Y)J=Z.tracer.startSpan("mcp.proxy.callTool",{attributes:{"connection.id":Q,"tool.name":Y,"request.id":Z.metadata.requestId,"jsonrpc.id":$.id,"jsonrpc.method":$.method}},this.requestContext);if($.id!==null&&$.id!==void 0){if(!this.inflightRequests.has($.id)&&this.inflightRequests.size>=iv4){let G=this.inflightRequests.keys().next().value;if(G!==void 0)this.inflightRequests.get(G)?.span?.end(),this.inflightRequests.delete(G)}this.inflightRequests.set($.id,{startTime:Date.now(),method:$.method,toolName:Y,toolArguments:X,span:J})}}onResponseEnd($){if($.id===null||$.id===void 0)return;let Z=this.inflightRequests.get($.id);if(!Z)return;let{ctx:Q,connectionId:Y}=this.options,{startTime:X,method:J,toolName:G,toolArguments:W,span:K}=Z,H=Date.now()-X;if(this.inflightRequests.delete($.id),J!=="tools/call"||!G)return;let F=Q.organization?.id??"",U="error"in $,N=U?$.error:$.result,B=U?{content:[{type:"text",text:$.error?.message||"Unknown error"}],isError:!0}:N,D=U||B?.isError===!0,O=U?$.error?.message:void 0,j=Pj$(B)||null;if(Q.meter.createHistogram("connection.proxy.duration").record(H,{"connection.id":Y,"organization.id":F,"tool.name":G,status:D?"error":"success"}),D)Q.meter.createCounter("connection.proxy.errors").add(1,{"connection.id":Y,"organization.id":F,"tool.name":G,error:O??j??void 0});else Q.meter.createCounter("connection.proxy.requests").add(1,{"connection.id":Y,"organization.id":F,"tool.name":G,status:"success"});if(F)Ej$({ctx:Q,organizationId:F,connectionId:Y,toolName:G,durationMs:H,isError:D,errorType:U?"RemoteError":D?"ToolError":""});if(K){if(D)K.recordException(Error(O??j??"Tool error"));let w=zj$(W),E=Aj$(Q.metadata.properties,w),P=dv4.setSpan(qj$.active(),K);BN0({organizationId:Q.organization?.id??"",connectionId:Y,toolName:G,toolArguments:W,result:B,duration:H,isError:D,errorMessage:j,userId:Q.auth.user?.id||Q.auth.apiKey?.userId||null,requestId:Q.metadata.requestId,userAgent:Q.metadata.userAgent||null,virtualMcpId:this.options.virtualMcpId||null,properties:E||null},P),K.end()}}async close(){for(let $ of this.inflightRequests.values())if($.span)$.span.setAttributes({"transport.closed":!0}),$.span.end();return this.inflightRequests.clear(),super.close()}}});var Mj$=L(()=>{zJ();Oj$();Rj$()});function Vj$($,Z){return _H0($,(Q)=>new NN0(Q,{ctx:Z.ctx,connection:Z.connection,superUser:Z.superUser}),(Q)=>new DN0(Q,{ctx:Z.ctx,connectionId:Z.connectionId,virtualMcpId:Z.virtualMcpId}))}async function Ij$($,Z,Q=!1){let Y=$.id,X=Z.connectionId&&Z.connectionId!==Y?Z.connectionId:void 0;switch($.connection_type){case"STDIO":{if(!B0().localMode)throw Error("STDIO connections are only available in local mode (--local-mode).");let J=$.connection_headers;if(!ZN(J))throw Error("STDIO connection missing parameters");let G=pO$({id:Y,name:$.title,command:J.command,args:J.args,env:J.envVars,cwd:J.cwd});return G=Vj$(G,{ctx:Z,connection:$,superUser:Q,connectionId:Y,virtualMcpId:X}),pv4(()=>G,Y)}case"HTTP":case"Websocket":case"SSE":{if(!$.connection_url)throw Error(`${$.connection_type} connection missing URL`);let J=$.connection_url,G=$.connection_type==="SSE"?(W,K)=>new bT(W,{requestInit:{headers:K}}):(W,K)=>new LN(W,{requestInit:{headers:K}});return Z.getOrCreateClient(async()=>{let W=await Cj$($,Z,Q),K=$.connection_headers;if(K&&"headers"in K)Object.assign(W,Wd(K.headers));let H=G(new URL(J),W);return H=Vj$(H,{ctx:Z,connection:$,superUser:Q,connectionId:Y,virtualMcpId:X}),H},Y)}default:throw Error(`Unknown connection type: ${$.connection_type}`)}}var pv4;var kj$=L(()=>{l1();jN();rH0();Jd();QF0();Z91();nO$();Mj$();pv4=JN0()});function L91($){if(!$)return!1;let Z=u$0.join("|");return new RegExp(`permission\\s+"?(?:${Z})"?\\s+is not allowed`,"i").test($)||/permissions exceed what the github app/i.test($)}function Sj$($){let Z={...$};for(let Q of u$0)Z[Q]="read";return Z}async function _j$($,Z){let Q={...Z};for(;;){let Y=await $(Q);if(!Y.isError)return{result:Y,grantedPermissions:Q};let X=Y.content?.find((K)=>K.type==="text")?.text,J=u$0.find((K)=>(K in Q));if(!J||!L91(X))return{result:Y,grantedPermissions:Q};let{[J]:G,...W}=Q;Q=W}}function nv4($){if(!$||typeof $!=="object"||Array.isArray($))return LN0;let Z=$;if(Object.values(Z).some((Q)=>typeof Q!=="string"))return LN0;return Z}function tv4($){if(typeof $!=="number"||!Number.isFinite($)||!Number.isInteger($)||$<=0)return;return $}function NZ($){let Z=$.metadata?.repoScope;if(!Z||typeof Z.installationId!=="number"||!Number.isFinite(Z.installationId)||!Number.isInteger(Z.installationId)||Z.installationId<=0||typeof Z.owner!=="string"||typeof Z.repo!=="string"||Z.owner.length===0||Z.repo.length===0)return null;let Q=tv4(Z.repositoryId);return{sourceConnectionId:typeof Z.sourceConnectionId==="string"?Z.sourceConnectionId:void 0,installationId:Z.installationId,repositoryId:Q,owner:Z.owner,repo:Z.repo,permissions:nv4(Z.permissions),grantProvider:Z.grantProvider==="github-mcp"?"github-mcp":void 0}}function oE($){return $.metadata?.orgShared===!0}function vj$($){let Z=new Set,Q=[];for(let Y of $??[]){if(Y.status!=="active")continue;let X=NZ(Y);if(X===null)continue;let J=D91(X.owner,X.repo);if(Z.has(J))continue;Z.add(J),Q.push(`${X.owner}/${X.repo}`)}return Q}function ON0($,Z,Q){let Y=D91(Z,Q),X=($??[]).filter((J)=>{if(J.status&&J.status!=="active")return!1;let G=NZ(J);return G!==null&&D91(G.owner,G.repo)===Y});return X.find(oE)??X[0]??null}var LN0,u$0,D91=($,Z)=>`${$}/${Z}`.toLowerCase();var x3=L(()=>{LN0={contents:"write",metadata:"read",pull_requests:"write",issues:"write",checks:"read",deployments:"read",statuses:"read"},u$0=["statuses","deployments","checks"]});function pL($){return $.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")}function jN0($){let Z=2166136261;for(let Q=0;Q<$.length;Q++)Z=Math.imul(Z^$.charCodeAt(Q),16777619);return`a${(Z>>>0).toString(36).padStart(6,"0").slice(-6)}`}function wN0($){if($&&typeof $==="object"&&"gatewayClientId"in $&&typeof $.gatewayClientId==="string")return $.gatewayClientId;return}function EN0($,Z){if(!Z)return $;let Q=`${jN0(Z)}_`;return $.startsWith(Q)?$.slice(Q.length):$}function ov4($){return $.split(/[-_]/).map((Z)=>Z?Z.charAt(0).toUpperCase()+Z.slice(1):Z).join(" ")}function sv4($,Z,Q){let Y,X=new Promise((J,G)=>{Y=setTimeout(()=>G(Error(Q)),Z)});return Promise.race([$,X]).finally(()=>clearTimeout(Y))}var zq;var bj$=L(()=>{DN();zq=class zq extends c7{static MAX_PAGES_PER_CLIENT=1000;static DEFAULT_LIST_TIMEOUT_MS=30000;clients;slugToKey=new Map;resolvedClients=new Map;toolsCache=null;resourcesCache=null;resourceTemplatesCache=null;promptsCache=null;resourceRouteMap=new Map;listTimeoutMs;constructor($,Z){super(Z?.clientInfo??{name:"gateway-client",version:"1.0.0"},{capabilities:Z?.capabilities});this.clients=$,this.listTimeoutMs=Z?.listTimeoutMs??zq.DEFAULT_LIST_TIMEOUT_MS;for(let Q of Object.keys($)){let Y=jN0(Q);if(this.slugToKey.has(Y))throw Error(`GatewayClient: duplicate namespace code "${Y}" from keys "${this.slugToKey.get(Y)}" and "${Q}"`);this.slugToKey.set(Y,Q)}}namespace($,Z){return`${jN0($)}_${Z}`}async resolveNamespacedTarget($,Z,Q){let Y=$.indexOf("_");if(Y!==-1){let X=$.slice(0,Y),J=this.slugToKey.get(X);if(J)return[J,$.slice(Y+1)]}for(let X of await Q()){let J=wN0(X._meta);if(!J)continue;if(EN0(X.name,J)===$)return[J,$]}if(Y===-1)throw Error(`GatewayClient: could not resolve ${Z} "${$}" \u2014 no namespace prefix and not found in any client`);throw Error(`GatewayClient: unknown namespace "${$.slice(0,Y)}" in "${$}" and not found by original name in any client`)}resolveToolTarget($){return this.resolveNamespacedTarget($,"tool",async()=>(await this.listTools()).tools)}resolvePromptTarget($){return this.resolveNamespacedTarget($,"prompt",async()=>(await this.listPrompts()).prompts)}resolveClient($){let Z=this.resolvedClients.get($);if(Z)return Z;let Q=this.clients[$];if(!Q)return Promise.reject(Error(`GatewayClient: unknown client key "${$}"`));let Y=Q.client,X;try{X=typeof Y==="function"?Promise.resolve(Y()):Promise.resolve(Y)}catch(G){return Promise.reject(G)}let J=X.catch((G)=>{throw this.resolvedClients.delete($),G});return this.resolvedClients.set($,J),J}getResolvedClient($){return this.resolveClient($)}async listFromClient($,Z,Q){try{return await sv4((async()=>{let Y=await this.resolveClient($);return await Z(Y)})(),this.listTimeoutMs,`timed out after ${this.listTimeoutMs}ms`)}catch(Y){return console.warn(`GatewayClient: skipping ${Q} from client "${$}" \u2014 ${Y?.message??Y}`),[]}}listFromAllClients($,Z){return Promise.all(Object.entries(this.clients).map(async([Q,Y])=>[Q,Y,await this.listFromClient(Q,(X)=>$(X,Q),Z)]))}async paginate($,Z,Q){let Y=[],X,J=0;do{let G=await Q(X);Y.push(...G.items),X=G.nextCursor,J++}while(X&&J<zq.MAX_PAGES_PER_CLIENT);if(X)console.warn(`GatewayClient: client "${$}" exceeded ${zq.MAX_PAGES_PER_CLIENT} pages listing ${Z} \u2014 truncating`);return Y}fetchAllTools($,Z){return this.paginate(Z,"tools",async(Q)=>{let Y=await $.listTools(Q?{cursor:Q}:void 0);return{items:Y.tools,nextCursor:Y.nextCursor}})}fetchAllResources($,Z){return this.paginate(Z,"resources",async(Q)=>{let Y=await $.listResources(Q?{cursor:Q}:void 0);return{items:Y.resources,nextCursor:Y.nextCursor}})}fetchAllResourceTemplates($,Z){return this.paginate(Z,"resource templates",async(Q)=>{let Y=await $.listResourceTemplates(Q?{cursor:Q}:void 0);return{items:Y.resourceTemplates,nextCursor:Y.nextCursor}})}fetchAllPrompts($,Z){return this.paginate(Z,"prompts",async(Q)=>{let Y=await $.listPrompts(Q?{cursor:Q}:void 0);return{items:Y.prompts,nextCursor:Y.nextCursor}})}listTools($,Z){if(!this.toolsCache)this.toolsCache=this.aggregateTools();return this.toolsCache}async aggregateTools(){let $=[],Z=await this.listFromAllClients((Q,Y)=>this.fetchAllTools(Q,Y),"tools");for(let[Q,Y,X]of Z){let J=Y.tools,G=J?new Set(J):null;for(let W of X){if(G&&!G.has(W.name))continue;$.push({...W,name:this.namespace(Q,W.name),_meta:{...W._meta??{},gatewayClientId:Q}})}}return{tools:$}}listResources($,Z){if(!this.resourcesCache)this.resourcesCache=this.aggregateResources();return this.resourcesCache}async aggregateResources(){let $=new Set,Z=[],Q=new Map,Y=await this.listFromAllClients((X,J)=>this.fetchAllResources(X,J),"resources");for(let[X,J,G]of Y){let W=J.resources,K=W?new Set(W):null;for(let H of G){if(K&&!K.has(H.uri)&&!(H.name&&K.has(H.name)))continue;if($.has(H.uri)){console.warn(`GatewayClient: duplicate resource "${H.uri}" from client "${X}" \u2014 skipping`);continue}$.add(H.uri),Q.set(H.uri,X),Z.push({...H,_meta:{...H._meta??{},gatewayClientId:X}})}}return this.resourceRouteMap=Q,{resources:Z}}listResourceTemplates($,Z){if(!this.resourceTemplatesCache)this.resourceTemplatesCache=this.aggregateResourceTemplates();return this.resourceTemplatesCache}async aggregateResourceTemplates(){let $=new Set,Z=[],Q=await this.listFromAllClients((Y,X)=>this.fetchAllResourceTemplates(Y,X),"resource templates");for(let[Y,X,J]of Q)for(let G of J){if($.has(G.uriTemplate)){console.warn(`GatewayClient: duplicate resource template "${G.uriTemplate}" from client "${Y}" \u2014 skipping`);continue}$.add(G.uriTemplate),Z.push({...G,_meta:{...G._meta??{},gatewayClientId:Y}})}return{resourceTemplates:Z}}listPrompts($,Z){if(!this.promptsCache)this.promptsCache=this.aggregatePrompts();return this.promptsCache}async aggregatePrompts(){let $=[],Z=await this.listFromAllClients((Q,Y)=>this.fetchAllPrompts(Q,Y),"prompts");for(let[Q,Y,X]of Z){let J=Y.prompts,G=J?new Set(J):null;for(let W of X){if(G&&!G.has(W.name))continue;$.push({...W,name:this.namespace(Q,W.name),title:W.title??ov4(W.name),_meta:{...W._meta??{},gatewayClientId:Q}})}}return{prompts:$}}async callTool($,Z,Q){let[Y,X]=await this.resolveToolTarget($.name);return(await this.resolveClient(Y)).callTool({...$,name:X},Z,Q)}async readResource($,Z){let Q=await this.resolveResourceRoute($.uri);return(await this.resolveClient(Q)).readResource($)}async getPrompt($,Z){let[Q,Y]=await this.resolvePromptTarget($.name);return(await this.resolveClient(Q)).getPrompt({...$,name:Y})}async resolveResourceRoute($){let Z=this.resourceRouteMap.get($);if(Z)return Z;if(this.resourcesCache=null,await this.listResources(),Z=this.resourceRouteMap.get($),Z)return Z;throw Error(`GatewayClient: resource "${$}" not found in any upstream client`)}getServerCapabilities(){return{tools:{},resources:{},prompts:{}}}getInstructions(){return}refresh(){this.toolsCache=null,this.resourcesCache=null,this.resourceTemplatesCache=null,this.promptsCache=null}async close(){let $=[...this.resolvedClients.values()].map((Z)=>Z.then((Q)=>Q.close()).catch(()=>{}));await Promise.allSettled($),await super.close()}}});var PN0=L(()=>{bj$()});function j91($){return pL($)}function rv4($,Z){let Q=pL(Z)||"prompt";return`${String($).padStart(av4,"0")}-${Q}`}async function w91($,Z,Q){try{await $.delete(zN0,j91(Z),{actor:Q})}catch(Y){console.error("[agent-prompts] failed to delete prompts",{agentId:Z,err:Y})}}async function AN0($,Z,Q,Y){let X=j91(Z);await w91($,Z,Q),await Promise.all(Y.slice(0,O91).map(async(J,G)=>{let W=rv4(G,J.title),K={name:W,title:J.title,description:J.description,text:J.text};try{await $.write(zN0,`${X}/${W}.json`,JSON.stringify(K),{actor:Q,contentType:"application/json"})}catch(H){console.error("[agent-prompts] failed to seed prompt",{agentId:Z,name:W,err:H})}}))}async function xj$($,Z){let Q=j91(Z),Y;try{Y=await $.listDir(zN0,Q)}catch{return[]}let X=Y.filter((G)=>G.kind==="file"&&G.path.endsWith(".json")).slice(0,O91),J=[];for(let G of X)try{let W=await $.read(zN0,G.path),K=JSON.parse(new TextDecoder().decode(W));if(K&&typeof K.name==="string"&&typeof K.title==="string"&&typeof K.text==="string")J.push(K)}catch{}return J}var zN0="agent-prompts",O91=20,av4;var l$0=L(()=>{PN0();av4=String(O91-1).length});function TN0($){let Z=sE.get($);if(!Z||Z.state==="CLOSED")return;if(Z.state==="HALF_OPEN"){if(Z.halfOpenInFlight){if(Date.now()-Z.halfOpenStartedAt<tO$)throw new Xi($,0)}Z.halfOpenInFlight=!0,Z.halfOpenStartedAt=Date.now();return}let Q=Date.now()-Z.lastFailureTime;if(Q>=Y91){Z.state="HALF_OPEN",Z.halfOpenInFlight=!0,Z.halfOpenStartedAt=Date.now();return}throw new Xi($,Y91-Q)}function qN0($){sE.delete($)}function RN0($){let Z=sE.get($);if(!Z){ev4(),sE.set($,{state:1>=Q91?"OPEN":"CLOSED",consecutiveFailures:1,lastFailureTime:Date.now(),halfOpenInFlight:!1,halfOpenStartedAt:0});return}if(Z.consecutiveFailures++,Z.lastFailureTime=Date.now(),Z.halfOpenInFlight=!1,Z.consecutiveFailures>=Q91)Z.state="OPEN"}function ev4(){if(sE.size<WN0)return;let $=null,Z=1/0;for(let[Q,Y]of sE)if(Y.lastFailureTime<Z)Z=Y.lastFailureTime,$=Q;if($)sE.delete($)}var sE,Xi;var E91=L(()=>{y6();sE=new Map;W$.createObservableGauge("mcp_circuit_breaker.circuits",{description:"MCP connection circuits by state (open, half_open)",unit:"{circuits}"}).addCallback(($)=>{let Z=0,Q=0;for(let Y of sE.values())if(Y.state==="OPEN")Z++;else if(Y.state==="HALF_OPEN")Q++;$.observe(Z,{state:"open"}),$.observe(Q,{state:"half_open"})});Xi=class Xi extends Error{cooldownRemainingMs;constructor($,Z){super(`Connection ${$} circuit breaker is open \u2014 downstream server unreachable. `+`Retry in ${Math.ceil(Z/1000)}s.`);this.name="CircuitOpenError",this.cooldownRemainingMs=Z}}});function Ji(...$){if(Yb4)console.log("[mcp-read-cache]",...$)}function Xb4($){return $.kind==="org"?"org":`u:${$.userId}`}function P91($){if($===null||typeof $!=="object")return JSON.stringify($)??"null";if(Array.isArray($))return`[${$.map(P91).join(",")}]`;return`{${Object.keys($).sort().map((Q)=>`${JSON.stringify(Q)}:${P91($[Q])}`).join(",")}}`}class IN0{config;maxEntries;now;maxTotalBytes;store=new Map;revalidating=new Set;totalBytes=0;byConnection=new Map;constructor($=$b4,Z=Zb4,Q=()=>Date.now(),Y=Qb4){this.config=$;this.maxEntries=Z;this.now=Q;this.maxTotalBytes=Y}stats(){return{entries:this.store.size,bytes:this.totalBytes}}deleteKey($){let Z=this.store.get($);if(Z){this.store.delete($),this.totalBytes-=Z.bytes;let Q=this.byConnection.get(Z.connectionId);if(Q){if(Q.delete($),Q.size===0)this.byConnection.delete(Z.connectionId)}}}key($,Z,Q,Y){return`${Z}:${Xb4(Q)}:${$}:${P91(Y)}`}storeSet($,Z,Q,Y,X){let J;try{J=JSON.stringify(Q).length}catch{Ji("SKIP non-serializable",$);return}if(J>X){Ji("SKIP oversize",$,`${J}b > cap ${X}b`);return}this.deleteKey($);while(this.store.size>0&&(this.store.size>=this.maxEntries||this.totalBytes+J>this.maxTotalBytes)){let W=this.store.keys().next().value;if(W===void 0)break;this.deleteKey(W)}this.store.set($,{value:Q,storedAt:Y,bytes:J,connectionId:Z}),this.totalBytes+=J;let G=this.byConnection.get(Z);if(!G)G=new Set,this.byConnection.set(Z,G);G.add($)}async fetch($){let{type:Z,connectionId:Q,scope:Y,params:X,fetchLive:J,shouldCache:G,onRevalidation:W}=$,K=this.config[Z],H=this.key(Z,Q,Y,X),F=this.now(),U=this.store.get(H),N=U?F-U.storedAt:1/0;if(!U||N>K.maxStaleMs){MN0.add(1,{type:Z,outcome:"miss"}),Ji(U?"EXPIRED":"MISS",H);let B=await J();if(G?.(B)??!0)this.storeSet(H,Q,B,this.now(),K.maxValueBytes);else Ji("NOT-CACHED (shouldCache=false)",H);return B}if(this.store.delete(H),this.store.set(H,U),N>K.revalidateAfterMs&&!this.revalidating.has(H)){MN0.add(1,{type:Z,outcome:"stale"}),Ji("STALE \u2192 serve + revalidate",H,`age=${N}ms`),this.revalidating.add(H);let B=J().then((D)=>{if(G?.(D)??!0)this.storeSet(H,Q,D,this.now(),K.maxValueBytes)}).catch(()=>{MN0.add(1,{type:Z,outcome:"error"})}).finally(()=>this.revalidating.delete(H));W?.(B)}else MN0.add(1,{type:Z,outcome:"hit"}),Ji("HIT",H,`age=${N}ms`);return U.value}invalidate($){let Z=this.byConnection.get($);if(!Z)return;for(let Q of[...Z])this.deleteKey(Q)}}function A91(){return B0().mcpCacheEnabled}function kN0(){return A91()?z91:null}var MN0,VN0=1024,fj$,$b4,Zb4=2000,Qb4,Yb4,z91;var m$0=L(()=>{y6();l1();MN0=W$.createCounter("mcp_read_cache.fetches",{description:"MCP read cache outcomes (hit, stale, miss, error)",unit:"{fetches}"}),fj$=VN0*VN0,$b4={"tools/call":{revalidateAfterMs:30000,maxStaleMs:300000,maxValueBytes:512*VN0},"resources/read":{revalidateAfterMs:60000,maxStaleMs:300000,maxValueBytes:4*fj$},"prompts/get":{revalidateAfterMs:60000,maxStaleMs:300000,maxValueBytes:512*VN0}},Qb4=256*fj$,Yb4=typeof process<"u"&&!!process.env?.MCP_CACHE_DEBUG;z91=new IN0;W$.createObservableGauge("mcp_read_cache.entries",{description:"Current entry count in the per-pod MCP read cache",unit:"{entries}"}).addCallback(($)=>$.observe(z91.stats().entries));W$.createObservableGauge("mcp_read_cache.bytes",{description:"Approximate total bytes held in the per-pod MCP read cache",unit:"By"}).addCallback(($)=>$.observe(z91.stats().bytes))});function uj$(){if(yj$)return;yj$=!0;try{gj$=W$.createCounter("virtual_mcp.aggregate_cache.lookups",{description:"Virtual MCP aggregate tool-list cache lookups by outcome (hit, miss, expired)",unit:"{lookups}"}),hj$=W$.createCounter("virtual_mcp.aggregate_cache.evictions",{description:"Virtual MCP aggregate tool-list cache entries dropped, by reason (capacity, invalidated, failed)",unit:"{entries}"}),W$.createObservableGauge("virtual_mcp.aggregate_cache.entries",{description:"Live entries in this pod's Virtual MCP aggregate tool-list cache",unit:"{entries}"}).addCallback(($)=>$.observe(yK.size))}catch($){console.error("[aggregate-cache] failed to register metrics:",$)}}function T91($){uj$(),gj$?.add(1,{outcome:$})}function q91($,Z=1){if(Z<=0)return;uj$(),hj$?.add(Z,{reason:$})}function lj$($){return[$.virtualMcpId??"",$.userId??"",$.superUser?"su":"",[...$.connectionIds].sort().join(",")].join("|")}function mj$($){let Z=yK.get($);if(!Z)return T91("miss"),null;if(Date.now()-Z.at>=Jb4)return yK.delete($),T91("expired"),null;return T91("hit"),Z.value}function cj$($,Z,Q){let Y=Q.catch((J)=>{if(yK.get($)?.value===Y)yK.delete($),q91("failed");throw J});yK.delete($),yK.set($,{at:Date.now(),deps:Z,value:Y});let X=0;while(yK.size>Gb4){let J=yK.keys().next();if(J.done)break;yK.delete(J.value),X++}return q91("capacity",X),Y}function dj$($){let Z=0;for(let[Q,Y]of yK)if(Y.deps.includes($))yK.delete(Q),Z++;q91("invalidated",Z)}var Jb4=30000,Gb4=500,yK,gj$=null,hj$=null,yj$=!1;var R91=L(()=>{y6();yK=new Map});function nj$($){kN0()?.invalidate($),Dj$($),dj$($)}function Gi($){nj$($);let Z=M91?.();if(!Z)return;try{Z.publish(ij$,Wb4.encode(JSON.stringify({connectionId:$,originId:pj$})))}catch(Q){console.warn("[McpCacheInvalidation] publish failed (non-critical):",Q)}}function tj$($){if(M91=$,c$0)return;let Z=$();if(!Z)return;c$0=Z.subscribe(ij$),(async()=>{for await(let Q of c$0)try{let Y=JSON.parse(Kb4.decode(Q.data));if(Y.originId===pj$)continue;nj$(Y.connectionId)}catch{}})().catch(console.error)}function oj$(){c$0?.unsubscribe(),c$0=null,M91=void 0}var ij$="studio.mcp-cache.invalidate",pj$,Wb4,Kb4,M91,c$0=null;var d$0=L(()=>{m$0();IJ();R91();pj$=crypto.randomUUID(),Wb4=new TextEncoder,Kb4=new TextDecoder});function V91($){if($===null)return"null";if(Array.isArray($))return"array";return typeof $}function Hb4($,Z){if(Z==="integer")return typeof $==="number"&&Number.isInteger($);return V91($)===Z}function Fb4($,Z){if(Z==="object"||Z==="array"){let Q;try{Q=JSON.parse($)}catch{return}return V91(Q)===Z?Q:void 0}if(Z==="boolean"){if($==="true")return!0;if($==="false")return!1;return}if(Z==="number"||Z==="integer"){if($.trim()==="")return;let Q=Number($);if(!Number.isFinite(Q))return;if(Z==="integer"&&!Number.isInteger(Q))return;return Q}return}function sj$($,Z){if(!$?.properties||!Z)return null;let Q=!1,Y={...Z};for(let[X,J]of Object.entries(Z)){if(typeof J!=="string")continue;let G=$.properties[X]?.type;if(!G||G==="string")continue;let W=Fb4(J,G);if(W===void 0)continue;Y[X]=W,Q=!0}return Q?Y:null}function I91($,Z,Q){let Y=Object.keys(Q??{}),X=Z?.required??[],J=X.filter((H)=>!Y.includes(H)),G=(H)=>{let F=Z?.properties?.[H]?.type;return F?`${H} (${F})`:H},W=Y.filter((H)=>{let F=Z?.properties?.[H]?.type;return F!=null&&!Hb4(Q?.[H],F)}).map((H)=>`${H} (expected ${Z?.properties?.[H]?.type}, got ${V91(Q?.[H])})`);return[`Invalid arguments for "${$}".`,X.length?`Required: ${X.map(G).join(", ")}.`:"",`You sent: ${Y.length?Y.join(", "):"(none)"}.`,J.length?`Missing required: ${J.join(", ")}.`:"",W.length?`Wrong type: ${W.join(", ")}.`:""].filter(Boolean).join(" ")}function aj$($,Z,Q,Y){if(!($ instanceof x1)||$.code!==u1.InvalidParams)return $;if(!Z)return $;let X=I91(Z,Q,Y),J=$.message.replace(/^MCP error -?\d+: /,"");return new x1(u1.InvalidParams,`${J}
602
+ `);for(let P of E.warnings)K.push({requestId:w.id,warning:P});for(let P of(Q=w.options.tools)!=null?Q:[])if(P.type==="provider"&&!iS4.has(P.id))K.push({requestId:w.id,warning:{type:"unsupported",feature:`batch result conversion for tool "${P.name}"`,details:"OpenAI may return output for this tool that AI SDK text batches cannot currently convert."}})}let U="batch.jsonl",N=new Blob(W,{type:"application/jsonl"});W.length=0;let B=new FormData;B.append("file",N,U),B.append("purpose","batch"),B.append("expires_after[anchor]","created_at"),B.append("expires_after[seconds]",String(F));let{value:D}=await Dd({url:this.getUrl("/files"),headers:_1((X=(Y=this.options.config).headers)==null?void 0:X.call(Y),$.headers),body:{content:B,values:{purpose:"batch","expires_after[anchor]":"created_at","expires_after[seconds]":String(F),file:{name:U,type:N.type,size:N.size}}},failedResponseHandler:p9,successfulResponseHandler:V1(iU0),abortSignal:$.abortSignal,fetch:this.options.config.fetch}),{value:O}=await J$({url:this.getUrl("/batches"),headers:_1((G=(J=this.options.config).headers)==null?void 0:G.call(J),$.headers),body:{input_file_id:D.id,endpoint:PL$,completion_window:"24h"},failedResponseHandler:p9,successfulResponseHandler:V1(U51),abortSignal:$.abortSignal,fetch:this.options.config.fetch}),j=k51(D.expires_at);return{batchId:O.id,...dU0(O),providerMetadata:{openai:{inputFileId:D.id,...j!=null?{inputFileExpiresAt:j}:{}}},warnings:K}}async parseBatchProviderOptions($){let Z=this.options.config.provider.includes("azure")?"azure":"openai",Q=await x$({provider:Z,providerOptions:$,schema:zL$});if(Q==null&&Z!=="openai")Q=await x$({provider:"openai",providerOptions:$,schema:zL$});return Q}async doGetBatchStatus($){let Z=await this.retrieveBatch($);return dU0(Z)}async doCancelBatch($){var Z,Q;return await J$({url:this.getUrl(`/batches/${encodeURIComponent($.batchId)}/cancel`),headers:_1((Q=(Z=this.options.config).headers)==null?void 0:Q.call(Z),$.headers),body:{},failedResponseHandler:p9,successfulResponseHandler:V1(U51),abortSignal:$.abortSignal,fetch:this.options.config.fetch}),{}}async doListBatches($){var Z,Q;let Y=new URL(this.getUrl("/batches"));if($.limit!=null)Y.searchParams.set("limit",String($.limit));if($.cursor!=null)Y.searchParams.set("after",$.cursor);let{value:X}=await u6({url:Y.toString(),headers:_1((Q=(Z=this.options.config).headers)==null?void 0:Q.call(Z),$.headers),failedResponseHandler:p9,successfulResponseHandler:V1(mS4),abortSignal:$.abortSignal,fetch:this.options.config.fetch,validateUrl:!1});return{batches:X.data.map((J)=>({batchId:J.id,...dU0(J)})),...X.has_more&&X.last_id!=null?{nextCursor:X.last_id}:{}}}async doGetBatchResults($){let Z=await this.retrieveBatch($),Q=dU0(Z);if(Q.status==="pending")throw new l8({argument:"batchId",message:`OpenAI batch "${$.batchId}" is not complete.`});let Y=[Z.output_file_id,Z.error_file_id].filter((J)=>J!=null);if(Q.status==="completed"&&Y.length===0)throw new M9({data:Z,message:`OpenAI batch "${$.batchId}" completed without batch output.`});let X=this.iterateBatchResults({fileIds:Y,options:$});return RN(X)}async retrieveBatch($){var Z,Q;let{value:Y}=await u6({url:this.getUrl(`/batches/${encodeURIComponent($.batchId)}`),headers:_1((Q=(Z=this.options.config).headers)==null?void 0:Q.call(Z),$.headers),failedResponseHandler:p9,successfulResponseHandler:V1(U51),abortSignal:$.abortSignal,fetch:this.options.config.fetch,validateUrl:!1});return Y}async*iterateBatchResults({fileIds:$,options:Z}){var Q,Y;for(let X of $){let{value:J}=await u6({url:this.getUrl(`/files/${encodeURIComponent(X)}/content`),headers:_1((Y=(Q=this.options.config).headers)==null?void 0:Y.call(Q),Z.headers),failedResponseHandler:p9,successfulResponseHandler:qE(lS4),abortSignal:Z.abortSignal,fetch:this.options.config.fetch,validateUrl:!1});for await(let G of J)yield await this.convertResultLine(G)}}async convertResultLine($){if($.error!=null){let Q={message:$.error.message,code:$.error.code};if($.error.code==="batch_cancelled")return{type:"text",id:$.custom_id,status:"cancelled",error:Q};if($.error.code==="batch_expired")return{type:"text",id:$.custom_id,status:"expired",error:Q};return{type:"text",id:$.custom_id,status:"failed",error:Q}}if($.response==null)return{type:"text",id:$.custom_id,status:"failed",error:{message:"OpenAI returned a batch result without a response or error.",code:"invalid_batch_result"}};if($.response.status_code<200||$.response.status_code>=300)return{type:"text",id:$.custom_id,status:"failed",error:await tS4({body:$.response.body,statusCode:$.response.status_code})};let Z=await oS4($.response.body);if(!Z.success)return{type:"text",id:$.custom_id,status:"failed",error:Z.error};return{type:"text",id:$.custom_id,status:"succeeded",result:Z.result}}async prepareRequest($){let{args:Z,warnings:Q}=await iL$.prepareRequest({modelId:$.modelId,config:this.options.config,options:$.options});return{body:Z,warnings:Q}}getUrl($){return this.options.config.url({path:$,modelId:""})}},iS4,sS4,aS4,AL$,S51,rS4,TL$,qL$,nU0,N51,nL$,eS4,$_4,X_4,RL$=class{constructor($,Z){this.modelId=$,this.config=Z,this.specificationVersion="v4",this.capabilities={conversation:"continuous",transports:["websocket","webrtc"],connections:["server-websocket","webrtc"],startup:"session-start",finalization:"session-close"}}get provider(){return this.config.provider}getWebRTCConfig(){return{dataChannelLabel:"oai-events"}}getServerWebSocketConfig(){let $=new URL(`${this.config.baseURL}/live/sessions`);$.protocol=$.protocol==="http:"?"ws:":"wss:";let Z={};for(let[Q,Y]of Object.entries(this.config.headers()))if(Y!==void 0)Z[Q]=Y;return{url:$.toString(),headers:Z}}async doCreateWebRTCSession({sdp:$,sessionConfig:Z={},abortSignal:Q}){let Y=C51(Z,this.modelId,"webrtc"),{value:X}=await J$({url:`${this.config.baseURL}/live/sessions`,headers:this.config.headers(),body:{session:Y,transport:{type:"webrtc",sdp:jq.string().min(1).parse($)}},failedResponseHandler:p9,successfulResponseHandler:V1(X_4),abortSignal:Q,fetch:this.config.fetch});return{sessionId:X.session.id,sdp:X.transport.sdp}}parseServerEvent($){return tL$($)}createServerEventParser(){return Z_4()}serializeClientEvent($){return Y_4($,this.modelId)}buildSessionConfig($){return C51($,this.modelId)}},W_4=class{constructor($,Z){this.specificationVersion="v4",this.modelId=$,this.provider=Z.provider,this.config=Z}async doCreateClientSecret($){var Z;let Q=(Z=this.config.fetch)!=null?Z:fetch,Y=`${this.config.baseURL}/realtime/client_secrets`,X=$.sessionConfig!=null?_51($.sessionConfig,this.modelId):{type:"realtime",model:this.modelId},J=await Q(Y,{method:"POST",headers:{...this.config.headers(),"Content-Type":"application/json"},body:JSON.stringify({session:X,...$.expiresAfterSeconds!=null?{expires_after:{anchor:"created_at",seconds:$.expiresAfterSeconds}}:{}})});if(!J.ok){let W=await J.text();throw Error(`OpenAI realtime client secret request failed: ${J.status} ${W}`)}let G=await J.json();return{token:G.value,url:`wss://${new URL(this.config.baseURL).host}/v1/realtime?model=${encodeURIComponent(this.modelId)}`,expiresAt:G.expires_at}}getWebSocketConfig($){return{url:$.url,protocols:["realtime",`openai-insecure-api-key.${$.token}`]}}parseServerEvent($){return J_4($)}serializeClientEvent($){return G_4($,this.modelId)}buildSessionConfig($){return _51($,this.modelId)}},K_4,U_4,N_4,B_4,ML$,IL$,D_4,E_4,P_4,R_4,MK9,M_4=class{constructor($){this.config=$,this.specificationVersion="v4"}get provider(){return this.config.provider}async uploadSkill($){let Z=[];if($.displayTitle!=null)Z.push({type:"unsupported",feature:"displayTitle"});let Q=new FormData;for(let X of $.files){let J=MN(X.data);Q.append("files[]",new Blob([J]),X.path)}let{value:Y}=await qK({url:this.config.url({path:"/skills"}),headers:_1(this.config.headers()),formData:Q,failedResponseHandler:p9,successfulResponseHandler:V1(R_4),fetch:this.config.fetch});return{providerReference:{openai:Y.id},...Y.name!=null?{name:Y.name}:{},...Y.description!=null?{description:Y.description}:{},...Y.latest_version!=null?{latestVersion:Y.latest_version}:{},providerMetadata:{openai:{...Y.default_version!=null?{defaultVersion:Y.default_version}:{},...Y.created_at!=null?{createdAt:Y.created_at}:{},...Y.updated_at!=null?{updatedAt:Y.updated_at}:{}}},warnings:Z}}},V_4="4.0.71",VK9;var oU0=L(()=>{P0();_F0();E1();P0();P0();E1();P0();P0();E1();P0();P0();P0();P0();E1();E1();P0();P0();E1();P0();P0();P0();E1();P0();P0();P0();E1();P0();P0();P0();P0();P0();P0();P0();P0();P0();P0();P0();P0();P0();P0();P0();P0();P0();P0();P0();E1();P0();P0();P0();E1();P0();E1();P0();E1();P0();P0();E1();P0();E1();P0();E1();E1();P0();P0();E1();P0();P0();P0();E1();P0();P0();P0();P0();tU0=mE.object({error:mE.object({message:mE.string(),type:mE.string().nullish(),param:mE.any().nullish(),code:mE.union([mE.string(),mE.number()]).nullish()})}),p9=x4({errorSchema:tU0,errorToMessage:($)=>$.error.message});hk4=W0(()=>e(I1.object({id:I1.string().nullish(),created:I1.number().nullish(),model:I1.string().nullish(),choices:I1.array(I1.object({message:I1.object({role:I1.literal("assistant").nullish(),content:I1.string().nullish(),tool_calls:I1.array(I1.object({id:I1.string().nullish(),type:I1.literal("function"),function:I1.object({name:I1.string(),arguments:I1.string()})})).nullish(),annotations:I1.array(I1.object({type:I1.literal("url_citation"),url_citation:I1.object({start_index:I1.number(),end_index:I1.number(),url:I1.string(),title:I1.string()})})).nullish()}),index:I1.number(),logprobs:I1.object({content:I1.array(I1.object({token:I1.string(),logprob:I1.number(),top_logprobs:I1.array(I1.object({token:I1.string(),logprob:I1.number()}))})).nullish()}).nullish(),finish_reason:I1.string().nullish()})),usage:I1.object({prompt_tokens:I1.number().nullish(),completion_tokens:I1.number().nullish(),total_tokens:I1.number().nullish(),prompt_tokens_details:I1.object({cached_tokens:I1.number().nullish(),cache_write_tokens:I1.number().nullish()}).nullish(),completion_tokens_details:I1.object({reasoning_tokens:I1.number().nullish(),accepted_prediction_tokens:I1.number().nullish(),rejected_prediction_tokens:I1.number().nullish()}).nullish()}).nullish()}))),uk4=W0(()=>e(I1.union([I1.object({id:I1.string().nullish(),created:I1.number().nullish(),model:I1.string().nullish(),choices:I1.array(I1.object({delta:I1.object({role:I1.enum(["assistant"]).nullish(),content:I1.string().nullish(),tool_calls:I1.array(I1.object({index:I1.number(),id:I1.string().nullish(),type:I1.literal("function").nullish(),function:I1.object({name:I1.string().nullish(),arguments:I1.string().nullish()})})).nullish(),annotations:I1.array(I1.object({type:I1.literal("url_citation"),url_citation:I1.object({start_index:I1.number(),end_index:I1.number(),url:I1.string(),title:I1.string()})})).nullish()}).nullish(),logprobs:I1.object({content:I1.array(I1.object({token:I1.string(),logprob:I1.number(),top_logprobs:I1.array(I1.object({token:I1.string(),logprob:I1.number()}))})).nullish()}).nullish(),finish_reason:I1.string().nullish(),index:I1.number()})),usage:I1.object({prompt_tokens:I1.number().nullish(),completion_tokens:I1.number().nullish(),total_tokens:I1.number().nullish(),prompt_tokens_details:I1.object({cached_tokens:I1.number().nullish(),cache_write_tokens:I1.number().nullish()}).nullish(),completion_tokens_details:I1.object({reasoning_tokens:I1.number().nullish(),accepted_prediction_tokens:I1.number().nullish(),rejected_prediction_tokens:I1.number().nullish()}).nullish()}).nullish()}),tU0]))),lk4=W0(()=>e(I5.object({logitBias:I5.record(I5.coerce.number(),I5.number()).optional(),logprobs:I5.union([I5.boolean(),I5.number()]).optional(),parallelToolCalls:I5.boolean().optional(),user:I5.string().optional(),reasoningEffort:I5.enum(["none","minimal","low","medium","high","xhigh","max"]).optional(),maxCompletionTokens:I5.number().optional(),store:I5.boolean().optional(),metadata:I5.record(I5.string().max(64),I5.string().max(512)).optional(),prediction:I5.record(I5.string(),I5.any()).optional(),serviceTier:I5.enum(["auto","flex","priority","fast","ultrafast","default"]).optional(),strictJsonSchema:I5.boolean().optional(),textVerbosity:I5.enum(["low","medium","high"]).optional(),promptCacheKey:I5.string().optional(),promptCacheOptions:I5.object({mode:I5.enum(["implicit","explicit"]).optional(),ttl:I5.literal("30m").optional()}).optional(),promptCacheRetention:I5.enum(["in_memory","24h"]).optional(),safetyIdentifier:I5.string().optional(),systemMessageMode:I5.enum(["system","developer","remove"]).optional(),forceReasoning:I5.boolean().optional()})));ck4=class ${constructor(Z,Q){this.specificationVersion="v4",this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=Z,this.config=Q}static[W4](Z){return f4({modelId:Z.modelId,config:Z.config})}static[K4](Z){return new $(Z.modelId,Z.config)}get provider(){return this.config.provider}async getArgs({prompt:Z,maxOutputTokens:Q,temperature:Y,topP:X,topK:J,frequencyPenalty:G,presencePenalty:W,stopSequences:K,responseFormat:H,seed:F,tools:U,toolChoice:N,reasoning:B,providerOptions:D}){var O,j,w,E,P,T;let z=[],A=(O=await x$({provider:"openai",providerOptions:D,schema:lk4}))!=null?O:{},M=kL$(this.modelId),f=(j=A.reasoningEffort)!=null?j:CL(B)?B:void 0;if(f!=null&&M.supportedReasoningEfforts!=null&&!M.supportedReasoningEfforts.includes(f))z.push({type:"unsupported",feature:"reasoningEffort",details:`${this.modelId} only supports the following reasoning efforts: ${M.supportedReasoningEfforts.join(", ")}`}),f=void 0;let S=(w=A.forceReasoning)!=null?w:M.isReasoningModel;if(J!=null)z.push({type:"unsupported",feature:"topK"});let{messages:V,warnings:v}=gk4({prompt:Z,systemMessageMode:(E=A.systemMessageMode)!=null?E:S?"developer":M.systemMessageMode});z.push(...v);let b=(P=A.strictJsonSchema)!=null?P:!0,u=(H==null?void 0:H.type)==="json"&&H.schema!=null?k$0(H.schema):void 0;if(u!=null)z.push(...u.warnings);let m={model:this.modelId,logit_bias:A.logitBias,logprobs:A.logprobs===!0||typeof A.logprobs==="number"?!0:void 0,top_logprobs:typeof A.logprobs==="number"?A.logprobs:typeof A.logprobs==="boolean"?A.logprobs?0:void 0:void 0,user:A.user,parallel_tool_calls:A.parallelToolCalls,max_tokens:Q,temperature:Y,top_p:X,frequency_penalty:G,presence_penalty:W,response_format:(H==null?void 0:H.type)==="json"?u!=null?{type:"json_schema",json_schema:{schema:u.schema,strict:b,name:(T=H.name)!=null?T:"response",description:H.description}}:{type:"json_object"}:void 0,stop:K,seed:F,verbosity:A.textVerbosity,max_completion_tokens:A.maxCompletionTokens,store:A.store,metadata:A.metadata,prediction:A.prediction,reasoning_effort:f,service_tier:A.serviceTier,prompt_cache_key:A.promptCacheKey,prompt_cache_options:A.promptCacheOptions,prompt_cache_retention:A.promptCacheRetention,safety_identifier:A.safetyIdentifier,messages:V};if(M.supportedReasoningEfforts!=null&&m.prompt_cache_retention!=null)m.prompt_cache_retention=void 0,z.push({type:"unsupported",feature:"promptCacheRetention",details:"promptCacheRetention is not supported by GPT-6 and later models; use promptCacheOptions instead"});if(S){if(f!=="none"||!M.supportsNonReasoningParameters){if(m.temperature!=null)m.temperature=void 0,z.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for reasoning models"});if(m.top_p!=null)m.top_p=void 0,z.push({type:"unsupported",feature:"topP",details:"topP is not supported for reasoning models"});if(m.logprobs!=null)m.logprobs=void 0,z.push({type:"other",message:"logprobs is not supported for reasoning models"})}if(m.frequency_penalty!=null)m.frequency_penalty=void 0,z.push({type:"unsupported",feature:"frequencyPenalty",details:"frequencyPenalty is not supported for reasoning models"});if(m.presence_penalty!=null)m.presence_penalty=void 0,z.push({type:"unsupported",feature:"presencePenalty",details:"presencePenalty is not supported for reasoning models"});if(m.logit_bias!=null)m.logit_bias=void 0,z.push({type:"other",message:"logitBias is not supported for reasoning models"});if(m.top_logprobs!=null)m.top_logprobs=void 0,z.push({type:"other",message:"topLogprobs is not supported for reasoning models"});if(m.max_tokens!=null){if(m.max_completion_tokens==null)m.max_completion_tokens=m.max_tokens;m.max_tokens=void 0}}else if(this.modelId.startsWith("gpt-4o-search-preview")||this.modelId.startsWith("gpt-4o-mini-search-preview")){if(m.temperature!=null)m.temperature=void 0,z.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for the search preview models and has been removed."})}if(A.serviceTier==="flex"&&!M.supportsFlexProcessing)z.push({type:"unsupported",feature:"serviceTier",details:"flex processing is only available for o3, o4-mini, and gpt-5 models"}),m.service_tier=void 0;if((A.serviceTier==="priority"||A.serviceTier==="fast")&&!M.supportsPriorityProcessing)z.push({type:"unsupported",feature:"serviceTier",details:"priority processing is only available for supported models (gpt-4, gpt-5, gpt-5-mini, o3, o4-mini) and requires Enterprise access. gpt-5-nano is not supported"}),m.service_tier=void 0;let{tools:i,toolChoice:G0,toolWarnings:I0}=mk4({tools:U,toolChoice:N});return{args:{...m,tools:i,tool_choice:G0},warnings:[...z,...I0]}}async doGenerate(Z){var Q,Y,X,J,G,W,K;let{args:H,warnings:F}=await this.getArgs(Z),{responseHeaders:U,value:N,rawValue:B}=await J$({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:_1((Y=(Q=this.config).headers)==null?void 0:Y.call(Q),Z.headers),body:H,failedResponseHandler:p9,successfulResponseHandler:V1(hk4),abortSignal:Z.abortSignal,fetch:this.config.fetch}),D=N.choices[0];if(D==null)throw new M9({data:B,message:"Response did not contain any choices."});let O=[],j=D.message.content;if(j!=null&&j.length>0)O.push({type:"text",text:j});for(let P of(X=D.message.tool_calls)!=null?X:[])O.push({type:"tool-call",toolCallId:P.id||Z4(),toolName:P.function.name,input:P.function.arguments});for(let P of(J=D.message.annotations)!=null?J:[])O.push({type:"source",sourceType:"url",id:Z4(),url:P.url_citation.url,title:P.url_citation.title});let w=(G=N.usage)==null?void 0:G.completion_tokens_details,E={openai:{}};if((w==null?void 0:w.accepted_prediction_tokens)!=null)E.openai.acceptedPredictionTokens=w==null?void 0:w.accepted_prediction_tokens;if((w==null?void 0:w.rejected_prediction_tokens)!=null)E.openai.rejectedPredictionTokens=w==null?void 0:w.rejected_prediction_tokens;if(((W=D.logprobs)==null?void 0:W.content)!=null)E.openai.logprobs=D.logprobs.content;return{content:O,finishReason:{unified:rD$(D.finish_reason),raw:(K=D.finish_reason)!=null?K:void 0},usage:aD$(N.usage),request:{body:H},response:{...X51(N),headers:U,body:B},warnings:F,providerMetadata:E}}async doStream(Z){var Q,Y;let{args:X,warnings:J}=await this.getArgs(Z),G={...X,stream:!0,stream_options:{include_usage:!0}},W=this.config.url({path:"/chat/completions",modelId:this.modelId}),{responseHeaders:K,value:H}=await J$({url:W,headers:_1((Y=(Q=this.config).headers)==null?void 0:Y.call(Q),Z.headers),body:G,failedResponseHandler:p9,successfulResponseHandler:UX(uk4),abortSignal:Z.abortSignal,fetch:this.config.fetch}),F=await v51({stream:H,getError:(E)=>("error"in E)?E.error:void 0,isOutputChunk:dk4,url:W,requestBodyValues:G,responseHeaders:K}),U,N={unified:"other",raw:void 0},B=void 0,D=!1,O=!1,j={openai:{}};return{stream:F.pipeThrough(new TransformStream({start(E){U=new vF$(E,{generateId:Z4,typeValidation:"if-present"}),E.enqueue({type:"stream-start",warnings:J})},transform(E,P){var T,z,A,M,f,S;if(Z.includeRawChunks)P.enqueue({type:"raw",rawValue:E.rawValue});if(!E.success){N={unified:"error",raw:void 0},P.enqueue({type:"error",error:E.error});return}let V=E.value;if("error"in V){N={unified:"error",raw:void 0},P.enqueue({type:"error",error:(T=I$0(V.error))!=null?T:V.error});return}if(!D){let u=X51(V);if(Object.values(u).some(Boolean))D=!0,P.enqueue({type:"response-metadata",...X51(V)})}if(V.usage!=null){if(B=V.usage,((z=V.usage.completion_tokens_details)==null?void 0:z.accepted_prediction_tokens)!=null)j.openai.acceptedPredictionTokens=(A=V.usage.completion_tokens_details)==null?void 0:A.accepted_prediction_tokens;if(((M=V.usage.completion_tokens_details)==null?void 0:M.rejected_prediction_tokens)!=null)j.openai.rejectedPredictionTokens=(f=V.usage.completion_tokens_details)==null?void 0:f.rejected_prediction_tokens}let v=V.choices[0];if((v==null?void 0:v.finish_reason)!=null)N={unified:rD$(v.finish_reason),raw:v.finish_reason};if(((S=v==null?void 0:v.logprobs)==null?void 0:S.content)!=null)j.openai.logprobs=v.logprobs.content;if((v==null?void 0:v.delta)==null)return;let b=v.delta;if(b.content!=null){if(!O)P.enqueue({type:"text-start",id:"0"}),O=!0;P.enqueue({type:"text-delta",id:"0",delta:b.content})}if(b.tool_calls!=null)for(let u of b.tool_calls)U.processDelta(u);if(b.annotations!=null)for(let u of b.annotations)P.enqueue({type:"source",sourceType:"url",id:Z4(),url:u.url_citation.url,title:u.url_citation.title})},flush(E){if(O)E.enqueue({type:"text-end",id:"0"});U.flush(),E.enqueue({type:"finish",finishReason:N,usage:aD$(B),...j!=null?{providerMetadata:j}:{}})}})),request:{body:G},response:{headers:K}}}};pk4=W0(()=>e(n8.object({id:n8.string().nullish(),created:n8.number().nullish(),model:n8.string().nullish(),choices:n8.array(n8.object({text:n8.string(),finish_reason:n8.string(),logprobs:n8.object({tokens:n8.array(n8.string()),token_logprobs:n8.array(n8.number()),top_logprobs:n8.array(n8.record(n8.string(),n8.number())).nullish()}).nullish()})),usage:n8.object({prompt_tokens:n8.number(),completion_tokens:n8.number(),total_tokens:n8.number()}).nullish()}))),nk4=W0(()=>e(n8.union([n8.object({id:n8.string().nullish(),created:n8.number().nullish(),model:n8.string().nullish(),choices:n8.array(n8.object({text:n8.string(),finish_reason:n8.string().nullish(),index:n8.number(),logprobs:n8.object({tokens:n8.array(n8.string()),token_logprobs:n8.array(n8.number()),top_logprobs:n8.array(n8.record(n8.string(),n8.number())).nullish()}).nullish()})),usage:n8.object({prompt_tokens:n8.number(),completion_tokens:n8.number(),total_tokens:n8.number()}).nullish()}),tU0]))),ZL$=W0(()=>e(dN.object({echo:dN.boolean().optional(),logitBias:dN.record(dN.string(),dN.number()).optional(),suffix:dN.string().optional(),user:dN.string().optional(),logprobs:dN.union([dN.boolean(),dN.number()]).optional()}))),tk4=class ${constructor(Z,Q){this.specificationVersion="v4",this.supportedUrls={},this.modelId=Z,this.config=Q}get providerOptionsName(){return this.config.provider.split(".")[0].trim()}static[W4](Z){return f4({modelId:Z.modelId,config:Z.config})}static[K4](Z){return new $(Z.modelId,Z.config)}get provider(){return this.config.provider}async getArgs({prompt:Z,maxOutputTokens:Q,temperature:Y,topP:X,topK:J,frequencyPenalty:G,presencePenalty:W,stopSequences:K,responseFormat:H,tools:F,toolChoice:U,seed:N,providerOptions:B}){let D=[],O={...await x$({provider:"openai",providerOptions:B,schema:ZL$}),...await x$({provider:this.providerOptionsName,providerOptions:B,schema:ZL$})};if(J!=null)D.push({type:"unsupported",feature:"topK"});if(F==null?void 0:F.length)D.push({type:"unsupported",feature:"tools"});if(U!=null)D.push({type:"unsupported",feature:"toolChoice"});if(H!=null&&H.type!=="text")D.push({type:"unsupported",feature:"responseFormat",details:"JSON response format is not supported."});let{prompt:j,stopSequences:w}=ik4({prompt:Z}),E=[...w!=null?w:[],...K!=null?K:[]];return{args:{model:this.modelId,echo:O.echo,logit_bias:O.logitBias,logprobs:(O==null?void 0:O.logprobs)===!0?0:(O==null?void 0:O.logprobs)===!1?void 0:O==null?void 0:O.logprobs,suffix:O.suffix,user:O.user,max_tokens:Q,temperature:Y,top_p:X,frequency_penalty:G,presence_penalty:W,seed:N,prompt:j,stop:E.length>0?E:void 0},warnings:D}}async doGenerate(Z){var Q,Y,X;let{args:J,warnings:G}=await this.getArgs(Z),{responseHeaders:W,value:K,rawValue:H}=await J$({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:_1((Y=(Q=this.config).headers)==null?void 0:Y.call(Q),Z.headers),body:J,failedResponseHandler:p9,successfulResponseHandler:V1(pk4),abortSignal:Z.abortSignal,fetch:this.config.fetch}),F=K.choices[0],U={openai:{}};if(F.logprobs!=null)U.openai.logprobs=F.logprobs;return{content:[{type:"text",text:F.text}],usage:eD$(K.usage),finishReason:{unified:$L$(F.finish_reason),raw:(X=F.finish_reason)!=null?X:void 0},request:{body:J},response:{...$10(K),headers:W,body:H},providerMetadata:U,warnings:G}}async doStream(Z){var Q,Y;let{args:X,warnings:J}=await this.getArgs(Z),G={...X,stream:!0,stream_options:{include_usage:!0}},W=this.config.url({path:"/completions",modelId:this.modelId}),{responseHeaders:K,value:H}=await J$({url:W,headers:_1((Y=(Q=this.config).headers)==null?void 0:Y.call(Q),Z.headers),body:G,failedResponseHandler:p9,successfulResponseHandler:UX(nk4),abortSignal:Z.abortSignal,fetch:this.config.fetch}),F=await v51({stream:H,getError:(j)=>("error"in j)?j.error:void 0,isOutputChunk:ok4,url:W,requestBodyValues:G,responseHeaders:K}),U={unified:"other",raw:void 0},N={openai:{}},B=void 0,D=!0;return{stream:F.pipeThrough(new TransformStream({start(j){j.enqueue({type:"stream-start",warnings:J})},transform(j,w){var E;if(Z.includeRawChunks)w.enqueue({type:"raw",rawValue:j.rawValue});if(!j.success){U={unified:"error",raw:void 0},w.enqueue({type:"error",error:j.error});return}let P=j.value;if("error"in P){U={unified:"error",raw:void 0},w.enqueue({type:"error",error:(E=I$0(P.error))!=null?E:P.error});return}if(D)D=!1,w.enqueue({type:"response-metadata",...$10(P)}),w.enqueue({type:"text-start",id:"0"});if(P.usage!=null)B=P.usage;let T=P.choices[0];if((T==null?void 0:T.finish_reason)!=null)U={unified:$L$(T.finish_reason),raw:T.finish_reason};if((T==null?void 0:T.logprobs)!=null)N.openai.logprobs=T.logprobs;if((T==null?void 0:T.text)!=null&&T.text.length>0)w.enqueue({type:"text-delta",id:"0",delta:T.text})},flush(j){if(!D)j.enqueue({type:"text-end",id:"0"});j.enqueue({type:"finish",finishReason:U,providerMetadata:N,usage:eD$(B)})}})),request:{body:G},response:{headers:K}}}};sk4=W0(()=>e(J51.object({dimensions:J51.number().optional(),user:J51.string().optional()}))),ak4=W0(()=>e(Lq.object({data:Lq.array(Lq.object({embedding:Lq.array(Lq.number())})),usage:Lq.object({prompt_tokens:Lq.number()}).nullish()}))),rk4=class ${constructor(Z,Q){this.specificationVersion="v4",this.maxEmbeddingsPerCall=2048,this[QL$]=300000,this.supportsParallelCalls=!0,this.modelId=Z,this.config=Q}static[(QL$=OF$,W4)](Z){return f4({modelId:Z.modelId,config:Z.config})}static[K4](Z){return new $(Z.modelId,Z.config)}get provider(){return this.config.provider}async doEmbed({values:Z,headers:Q,abortSignal:Y,providerOptions:X}){var J,G,W;if(Z.length>this.maxEmbeddingsPerCall)throw new jF0({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:Z});let K=(J=await x$({provider:"openai",providerOptions:X,schema:sk4}))!=null?J:{},{responseHeaders:H,value:F,rawValue:U}=await J$({url:this.config.url({path:"/embeddings",modelId:this.modelId}),headers:_1((W=(G=this.config).headers)==null?void 0:W.call(G),Q),body:{model:this.modelId,input:Z,encoding_format:"float",dimensions:K.dimensions,user:K.user},failedResponseHandler:p9,successfulResponseHandler:V1(ak4),abortSignal:Y,fetch:this.config.fetch});return{warnings:[],embeddings:F.data.map((N)=>N.embedding),usage:F.usage?{tokens:F.usage.prompt_tokens}:void 0,response:{headers:H,body:U}}}},iU0=W0(()=>e($W.object({id:$W.string(),object:$W.string().nullish(),bytes:$W.number().nullish(),created_at:$W.number().nullish(),filename:$W.string().nullish(),purpose:$W.string().nullish(),status:$W.string().nullish(),expires_at:$W.number().nullish()}))),ek4=W0(()=>e($W.object({id:$W.string(),object:$W.string().nullish(),deleted:$W.boolean()}))),$C4=W0(()=>e(G51.object({purpose:G51.string().optional(),expiresAfter:G51.number().optional()})));YL$=W0(()=>e(TY.object({created:TY.number().nullish(),data:TY.array(TY.object({b64_json:TY.string(),revised_prompt:TY.string().nullish()})),background:TY.string().nullish(),output_format:TY.string().nullish(),size:TY.string().nullish(),quality:TY.string().nullish(),usage:TY.object({input_tokens:TY.number().nullish(),output_tokens:TY.number().nullish(),total_tokens:TY.number().nullish(),input_tokens_details:TY.object({image_tokens:TY.number().nullish(),text_tokens:TY.number().nullish()}).nullish()}).nullish()}))),QC4={"dall-e-3":1,"dall-e-2":10,"gpt-image-1":10,"gpt-image-1-mini":10,"gpt-image-1.5":10,"gpt-image-2":10,"gpt-image-2.5-flare":10,"gpt-image-2.5-flare-2026-09-08":10,"gpt-image-2.5-sunburst":10,"gpt-image-2.5-sunburst-2026-09-08":10,"chatgpt-image-latest":10},YC4=["chatgpt-image-","gpt-image-"];b51=mL.object({quality:mL.enum(["standard","hd","low","medium","high","xhigh","max","auto"]).optional(),background:mL.enum(["transparent","opaque","auto"]).optional(),outputFormat:mL.enum(["png","jpeg","webp"]).optional(),outputCompression:mL.number().int().min(0).max(100).optional(),user:mL.string().optional()}),FW9=W0(()=>e(b51)),GC4=W0(()=>e(b51.extend({style:mL.enum(["vivid","natural"]).optional(),moderation:mL.enum(["auto","low"]).optional()}))),WC4=W0(()=>e(b51.extend({inputFidelity:mL.enum(["high","low"]).optional()}))),KC4=class ${constructor(Z,Q){this.modelId=Z,this.config=Q,this.specificationVersion="v4"}static[W4](Z){return f4({modelId:Z.modelId,config:Z.config})}static[K4](Z){return new $(Z.modelId,Z.config)}get maxImagesPerCall(){return JC4(this.modelId)}get provider(){return this.config.provider}async doGenerate({prompt:Z,files:Q,mask:Y,n:X,size:J,aspectRatio:G,seed:W,providerOptions:K,headers:H,abortSignal:F}){var U,N,B,D,O,j,w,E,P,T,z,A,M,f,S;let V=[];if(G!=null)V.push({type:"unsupported",feature:"aspectRatio",details:"This model does not support aspect ratio. Use `size` instead."});if(W!=null)V.push({type:"unsupported",feature:"seed"});let v=(B=(N=(U=this.config._internal)==null?void 0:U.currentDate)==null?void 0:N.call(U))!=null?B:new Date;if(Q!=null){let i=(D=await x$({provider:"openai",providerOptions:K,schema:WC4}))!=null?D:{},{value:G0,responseHeaders:I0}=await qK({url:this.config.url({path:"/images/edits",modelId:this.modelId}),headers:_1((j=(O=this.config).headers)==null?void 0:j.call(O),H),formData:JF$({model:this.modelId,prompt:Z,image:await Promise.all(Q.map((X0)=>X0.type==="file"?new Blob([X0.data instanceof Uint8Array?new Blob([X0.data],{type:X0.mediaType}):new Blob([WZ(X0.data)],{type:X0.mediaType})],{type:X0.mediaType}):X10(X0.url,{abortSignal:F}))),mask:Y!=null?await HC4(Y,F):void 0,n:X,size:J,quality:i.quality,background:i.background,output_format:i.outputFormat,output_compression:i.outputCompression,input_fidelity:i.inputFidelity,user:i.user}),failedResponseHandler:p9,successfulResponseHandler:V1(YL$),abortSignal:F,fetch:this.config.fetch});return{images:G0.data.map((X0)=>X0.b64_json),warnings:V,usage:G0.usage!=null?{inputTokens:(w=G0.usage.input_tokens)!=null?w:void 0,outputTokens:(E=G0.usage.output_tokens)!=null?E:void 0,totalTokens:(P=G0.usage.total_tokens)!=null?P:void 0}:void 0,response:{timestamp:v,modelId:this.modelId,headers:I0},providerMetadata:{openai:{images:G0.data.map((X0,H0)=>{var s,o,r,Q0,J0,u0;return{...X0.revised_prompt?{revisedPrompt:X0.revised_prompt}:{},created:(s=G0.created)!=null?s:void 0,size:(o=G0.size)!=null?o:void 0,quality:(r=G0.quality)!=null?r:void 0,background:(Q0=G0.background)!=null?Q0:void 0,outputFormat:(J0=G0.output_format)!=null?J0:void 0,...XL$((u0=G0.usage)==null?void 0:u0.input_tokens_details,H0,G0.data.length)}})}}}}let b=(T=await x$({provider:"openai",providerOptions:K,schema:GC4}))!=null?T:{},{value:u,responseHeaders:m}=await J$({url:this.config.url({path:"/images/generations",modelId:this.modelId}),headers:_1((A=(z=this.config).headers)==null?void 0:A.call(z),H),body:{model:this.modelId,prompt:Z,n:X,size:J,quality:b.quality,style:b.style,background:b.background,moderation:b.moderation,output_format:b.outputFormat,output_compression:b.outputCompression,user:b.user,...!XC4(this.modelId)?{response_format:"b64_json"}:{}},failedResponseHandler:p9,successfulResponseHandler:V1(YL$),abortSignal:F,fetch:this.config.fetch});return{images:u.data.map((i)=>i.b64_json),warnings:V,usage:u.usage!=null?{inputTokens:(M=u.usage.input_tokens)!=null?M:void 0,outputTokens:(f=u.usage.output_tokens)!=null?f:void 0,totalTokens:(S=u.usage.total_tokens)!=null?S:void 0}:void 0,response:{timestamp:v,modelId:this.modelId,headers:m},providerMetadata:{openai:{images:u.data.map((i,G0)=>{var I0,X0,H0,s,o,r;return{...i.revised_prompt?{revisedPrompt:i.revised_prompt}:{},created:(I0=u.created)!=null?I0:void 0,size:(X0=u.size)!=null?X0:void 0,quality:(H0=u.quality)!=null?H0:void 0,background:(s=u.background)!=null?s:void 0,outputFormat:(o=u.output_format)!=null?o:void 0,...XL$((r=u.usage)==null?void 0:r.input_tokens_details,G0,u.data.length)}})}}}}};CL$=W0(()=>e(AQ.object({callId:AQ.string(),operation:AQ.discriminatedUnion("type",[AQ.object({type:AQ.literal("create_file"),path:AQ.string(),diff:AQ.string()}),AQ.object({type:AQ.literal("delete_file"),path:AQ.string()}),AQ.object({type:AQ.literal("update_file"),path:AQ.string(),diff:AQ.string()})])}))),SL$=W0(()=>e(AQ.object({status:AQ.enum(["completed","failed"]),output:AQ.string().optional()}))),BW9=W0(()=>e(AQ.object({}))),FC4=SN({id:"openai.apply_patch",inputSchema:CL$,outputSchema:SL$}),UC4=FC4,NC4=W0(()=>e(TQ.object({code:TQ.string().nullish(),containerId:TQ.string()}))),BC4=W0(()=>e(TQ.object({outputs:TQ.array(TQ.discriminatedUnion("type",[TQ.object({type:TQ.literal("logs"),logs:TQ.string()}),TQ.object({type:TQ.literal("image"),url:TQ.string()})])).nullish()}))),DC4=W0(()=>e(TQ.object({container:TQ.union([TQ.string(),TQ.object({fileIds:TQ.array(TQ.string()).optional()})]).optional()}))),LC4=n$({id:"openai.code_interpreter",inputSchema:NC4,outputSchema:BC4}),_L$=j$.object({id:j$.string(),code:j$.string().optional(),message:j$.string().optional()}),jC4=j$.discriminatedUnion("type",[j$.object({type:j$.literal("click"),button:j$.enum(["left","right","wheel","back","forward"]),x:j$.number(),y:j$.number(),keys:j$.array(j$.string()).optional()}),j$.object({type:j$.literal("double_click"),x:j$.number(),y:j$.number(),keys:j$.array(j$.string()).optional()}),j$.object({type:j$.literal("drag"),path:j$.array(j$.object({x:j$.number(),y:j$.number()})),keys:j$.array(j$.string()).optional()}),j$.object({type:j$.literal("keypress"),keys:j$.array(j$.string())}),j$.object({type:j$.literal("move"),x:j$.number(),y:j$.number(),keys:j$.array(j$.string()).optional()}),j$.object({type:j$.literal("screenshot")}),j$.object({type:j$.literal("scroll"),x:j$.number(),y:j$.number(),scrollX:j$.number(),scrollY:j$.number(),keys:j$.array(j$.string()).optional()}),j$.object({type:j$.literal("type"),text:j$.string()}),j$.object({type:j$.literal("wait")})]),vL$=W0(()=>e(j$.object({actions:j$.array(jC4),pendingSafetyChecks:j$.array(_L$),status:j$.enum(["in_progress","completed","incomplete"])}))),bL$=W0(()=>e(j$.object({output:j$.union([j$.object({type:j$.literal("computer_screenshot"),imageUrl:j$.string(),fileId:j$.string().optional(),detail:j$.enum(["auto","low","high","original"]).optional()}),j$.object({type:j$.literal("computer_screenshot"),fileId:j$.string(),imageUrl:j$.string().optional(),detail:j$.enum(["auto","low","high","original"]).optional()})]),acknowledgedSafetyChecks:j$.array(_L$).optional()}))),wC4=SN({id:"openai.computer",inputSchema:vL$,outputSchema:bL$}),PC4=W0(()=>e(bF.object({description:bF.string().optional(),async:bF.boolean().optional(),format:bF.union([bF.object({type:bF.literal("grammar"),syntax:bF.enum(["regex","lark"]),definition:bF.string()}),bF.object({type:bF.literal("text")})]).optional()}))),zC4=W0(()=>e(bF.string())),AC4=vZ({id:"openai.custom",inputSchema:zC4}),xL$=D6.object({key:D6.string(),type:D6.enum(["eq","ne","gt","gte","lt","lte","in","nin"]),value:D6.union([D6.string(),D6.number(),D6.boolean(),D6.array(D6.string())])}),fL$=D6.object({type:D6.enum(["and","or"]),filters:D6.array(D6.union([xL$,D6.lazy(()=>fL$)]))}),qC4=W0(()=>e(D6.object({vectorStoreIds:D6.array(D6.string()),maxNumResults:D6.number().optional(),ranking:D6.object({ranker:D6.string().optional(),scoreThreshold:D6.number().optional()}).optional(),filters:D6.union([xL$,fL$]).optional()}))),RC4=W0(()=>e(D6.object({queries:D6.array(D6.string()),results:D6.array(D6.object({attributes:D6.record(D6.string(),D6.unknown()),fileId:D6.string(),filename:D6.string(),score:D6.number(),text:D6.string()})).nullable()}))),MC4=n$({id:"openai.file_search",inputSchema:D6.object({}),outputSchema:RC4}),VC4=W0(()=>e(a7.object({action:a7.enum(["generate","edit","auto"]).optional(),background:a7.enum(["auto","opaque","transparent"]).optional(),inputFidelity:a7.enum(["low","high"]).optional(),inputImageMask:a7.object({fileId:a7.string().optional(),imageUrl:a7.string().optional()}).optional(),model:a7.string().optional(),moderation:a7.enum(["auto","low"]).optional(),outputCompression:a7.number().int().min(0).max(100).optional(),outputFormat:a7.enum(["png","jpeg","webp"]).optional(),partialImages:a7.number().int().min(0).max(3).optional(),quality:a7.enum(["auto","low","medium","high","xhigh","max"]).optional(),size:a7.union([a7.enum(["1024x1024","1024x1536","1536x1024","auto"]),a7.string().regex(/^\d+x\d+$/)]).optional()}).strict())),IC4=W0(()=>e(a7.object({}))),kC4=W0(()=>e(a7.object({result:a7.string()}))),CC4=n$({id:"openai.image_generation",inputSchema:IC4,outputSchema:kC4}),yL$=W0(()=>e(eG.object({action:eG.object({type:eG.literal("exec"),command:eG.array(eG.string()),timeoutMs:eG.number().optional(),user:eG.string().optional(),workingDirectory:eG.string().optional(),env:eG.record(eG.string(),eG.string()).optional()})}))),gL$=W0(()=>e(eG.object({output:eG.string()}))),_C4=SN({id:"openai.local_shell",inputSchema:yL$,outputSchema:gL$}),hL$=W0(()=>e(h$.object({action:h$.object({commands:h$.array(h$.string()),timeoutMs:h$.number().optional(),maxOutputLength:h$.number().optional()})}))),D51=W0(()=>e(h$.object({output:h$.array(h$.object({stdout:h$.string(),stderr:h$.string(),outcome:h$.discriminatedUnion("type",[h$.object({type:h$.literal("timeout")}),h$.object({type:h$.literal("exit"),exitCode:h$.number()})])}))}))),vC4=h$.array(h$.discriminatedUnion("type",[h$.object({type:h$.literal("skillReference"),providerReference:h$.record(h$.string(),h$.string()),version:h$.string().optional()}),h$.object({type:h$.literal("inline"),name:h$.string(),description:h$.string(),source:h$.object({type:h$.literal("base64"),mediaType:h$.literal("application/zip"),data:h$.string()})})])).optional(),bC4=W0(()=>e(h$.object({environment:h$.union([h$.object({type:h$.literal("containerAuto"),fileIds:h$.array(h$.string()).optional(),memoryLimit:h$.enum(["1g","4g","16g","64g"]).optional(),networkPolicy:h$.discriminatedUnion("type",[h$.object({type:h$.literal("disabled")}),h$.object({type:h$.literal("allowlist"),allowedDomains:h$.array(h$.string()),domainSecrets:h$.array(h$.object({domain:h$.string(),name:h$.string(),value:h$.string()})).optional()})]).optional(),skills:vC4}),h$.object({type:h$.literal("containerReference"),containerId:h$.string()}),h$.object({type:h$.literal("local").optional(),skills:h$.array(h$.object({name:h$.string(),description:h$.string(),path:h$.string()})).optional()})]).optional()}))),xC4=SN({id:"openai.shell",inputSchema:hL$,outputSchema:D51}),fC4=W0(()=>e(S3.object({execution:S3.enum(["server","client"]).optional(),description:S3.string().optional(),parameters:S3.record(S3.string(),S3.unknown()).optional()}))),L51=W0(()=>e(S3.object({arguments:S3.unknown().optional(),call_id:S3.string().nullish()}))),O51=W0(()=>e(S3.object({tools:S3.array(S3.record(S3.string(),S3.unknown()))}))),yC4=SN({id:"openai.tool_search",inputSchema:L51,outputSchema:O51}),hC4=W0(()=>e(p4.object({externalWebAccess:p4.boolean().optional(),filters:p4.object({allowedDomains:p4.array(p4.string()).optional(),blockedDomains:p4.array(p4.string()).optional()}).optional(),searchContextSize:p4.enum(["low","medium","high"]).optional(),userLocation:p4.object({type:p4.literal("approximate"),country:p4.string().optional(),city:p4.string().optional(),region:p4.string().optional(),timezone:p4.string().optional()}).optional()}))),uC4=W0(()=>e(p4.object({}))),lC4=W0(()=>e(p4.object({action:p4.discriminatedUnion("type",[p4.object({type:p4.literal("search"),query:p4.string().optional(),queries:p4.array(p4.string()).optional()}),p4.object({type:p4.literal("openPage"),url:p4.string().nullish()}),p4.object({type:p4.literal("findInPage"),url:p4.string().nullish(),pattern:p4.string().nullish()})]).optional(),sources:p4.array(p4.discriminatedUnion("type",[p4.object({type:p4.literal("url"),url:p4.string()}),p4.object({type:p4.literal("api"),name:p4.string()})])).optional()}))),mC4=n$({id:"openai.web_search",inputSchema:uC4,outputSchema:lC4}),dC4=W0(()=>e(Y7.object({searchContextSize:Y7.enum(["low","medium","high"]).optional(),userLocation:Y7.object({type:Y7.literal("approximate"),country:Y7.string().optional(),city:Y7.string().optional(),region:Y7.string().optional(),timezone:Y7.string().optional()}).optional()}))),iC4=W0(()=>e(Y7.object({}))),pC4=W0(()=>e(Y7.object({action:Y7.discriminatedUnion("type",[Y7.object({type:Y7.literal("search"),query:Y7.string().optional()}),Y7.object({type:Y7.literal("openPage"),url:Y7.string().nullish()}),Y7.object({type:Y7.literal("findInPage"),url:Y7.string().nullish(),pattern:Y7.string().nullish()})]).optional()}))),nC4=n$({id:"openai.web_search_preview",inputSchema:iC4,outputSchema:pC4}),j51=j4.lazy(()=>j4.union([j4.string(),j4.number(),j4.boolean(),j4.null(),j4.array(j51),j4.record(j4.string(),j51)])),tC4=W0(()=>e(j4.object({serverLabel:j4.string(),allowedTools:j4.union([j4.array(j4.string()),j4.object({readOnly:j4.boolean().optional(),toolNames:j4.array(j4.string()).optional()})]).optional(),authorization:j4.string().optional(),connectorId:j4.string().optional(),headers:j4.record(j4.string(),j4.string()).optional(),requireApproval:j4.union([j4.enum(["always","never"]),j4.object({never:j4.object({toolNames:j4.array(j4.string()).optional()}).optional()})]).optional(),serverDescription:j4.string().optional(),serverUrl:j4.string().optional()}).refine(($)=>$.serverUrl!=null||$.connectorId!=null,"One of serverUrl or connectorId must be provided."))),oC4=W0(()=>e(j4.object({}))),sC4=W0(()=>e(j4.object({type:j4.literal("call"),serverLabel:j4.string(),name:j4.string(),arguments:j4.string(),output:j4.string().nullish(),error:j4.union([j4.string(),j51]).optional()}))),aC4=n$({id:"openai.mcp",inputSchema:oC4,outputSchema:sC4}),uL$=W0(()=>e(od.object({code:od.string(),fingerprint:od.string()}))),lL$=W0(()=>e(od.object({result:od.string(),status:od.enum(["completed","incomplete"])}))),eC4=n$({id:"openai.programmatic_tool_calling",inputSchema:uL$,outputSchema:lL$,supportsDeferredResults:!0}),ZS4={applyPatch:UC4,customTool:TC4,codeInterpreter:OC4,computer:EC4,fileSearch:MC4,imageGeneration:SC4,localShell:_C4,shell:xC4,webSearchPreview:nC4,webSearch:cC4,mcp:rC4,programmaticToolCalling:$S4,toolSearch:gC4};sd=q.lazy(()=>q.union([q.string(),q.number(),q.boolean(),q.null(),q.array(sd),q.record(q.string(),sd.optional())])),K51=q.record(q.string(),sd.optional()),E51=q.intersection(K51,q.object({input_tokens:q.number(),input_tokens_details:q.intersection(K51,q.object({cached_tokens:q.number().nullish(),cache_write_tokens:q.number().nullish(),orchestration_input_tokens:q.number().nullish(),orchestration_input_cached_tokens:q.number().nullish()})).nullish(),output_tokens:q.number(),output_tokens_details:q.intersection(K51,q.object({reasoning_tokens:q.number().nullish(),orchestration_output_tokens:q.number().nullish()})).nullish(),total_tokens:q.number().optional()})),QS4=q.object({id:q.string(),code:q.string().nullish(),message:q.string().nullish()}),JL$=q.discriminatedUnion("type",[q.object({type:q.literal("click"),button:q.enum(["left","right","wheel","back","forward"]),x:q.number(),y:q.number(),keys:q.array(q.string()).nullish()}),q.object({type:q.literal("double_click"),x:q.number(),y:q.number(),keys:q.array(q.string()).nullish()}),q.object({type:q.literal("drag"),path:q.array(q.object({x:q.number(),y:q.number()})),keys:q.array(q.string()).nullish()}),q.object({type:q.literal("keypress"),keys:q.array(q.string())}),q.object({type:q.literal("move"),x:q.number(),y:q.number(),keys:q.array(q.string()).nullish()}),q.object({type:q.literal("screenshot")}),q.object({type:q.literal("scroll"),x:q.number(),y:q.number(),scroll_x:q.number(),scroll_y:q.number(),keys:q.array(q.string()).nullish()}),q.object({type:q.literal("type"),text:q.string()}),q.object({type:q.literal("wait")})]),P51=q.object({type:q.literal("computer_call"),id:q.string(),call_id:q.string().nullish(),status:q.enum(["in_progress","completed","incomplete"]),action:JL$.nullish(),actions:q.array(JL$).nullish(),pending_safety_checks:q.array(QS4).nullish()}),z51=q.discriminatedUnion("type",[q.object({type:q.literal("direct")}),q.object({type:q.literal("program"),caller_id:q.string()})]),A51=q.object({type:q.literal("program"),id:q.string(),call_id:q.string(),code:q.string(),fingerprint:q.string()}),T51=q.object({type:q.literal("program_output"),id:q.string(),call_id:q.string(),result:q.string(),status:q.enum(["completed","incomplete"])}),q51=q.object({type:q.literal("local_shell_call"),id:q.string(),call_id:q.string(),action:q.object({type:q.literal("exec"),command:q.array(q.string()),timeout_ms:q.number().optional(),user:q.string().optional(),working_directory:q.string().optional(),env:q.record(q.string(),q.string()).optional()})}),YS4=q.object({type:q.literal("error"),sequence_number:q.number(),error:q.object({type:q.string(),code:q.string(),message:q.string(),param:q.string().nullish()})}),XS4=q.object({type:q.literal("error"),sequence_number:q.number(),code:q.string().nullish(),message:q.string(),param:q.string().nullish()}),JS4=new Set(["error","response.apply_patch_call_operation_diff.delta","response.apply_patch_call_operation_diff.done","response.code_interpreter_call_code.delta","response.code_interpreter_call_code.done","response.completed","response.created","response.custom_tool_call_input.delta","response.failed","response.function_call_arguments.delta","response.function_call_arguments.done","response.image_generation_call.partial_image","response.in_progress","response.incomplete","response.output_item.added","response.output_item.done","response.output_text.annotation.added","response.output_text.delta","response.reasoning_summary_part.added","response.reasoning_summary_part.done","response.reasoning_summary_text.delta"]),GS4=new Set(["apply_patch_call","code_interpreter_call","compaction","computer_call","custom_tool_call","file_search_call","function_call","image_generation_call","local_shell_call","mcp_approval_request","mcp_call","mcp_list_tools","message","program","program_output","reasoning","shell_call","shell_call_output","tool_search_call","tool_search_output","web_search_call"]);KS4=W0(()=>e(q.union([q.object({type:q.literal("response.output_text.delta"),item_id:q.string(),output_index:q.number().nullish(),delta:q.string(),logprobs:q.array(q.object({token:q.string(),logprob:q.number(),top_logprobs:q.array(q.object({token:q.string(),logprob:q.number()}))})).nullish()}),q.object({type:q.enum(["response.completed","response.incomplete"]),response:q.object({incomplete_details:q.object({reason:q.string()}).nullish(),usage:E51.nullish(),reasoning:q.object({context:q.string().nullish()}).nullish(),service_tier:q.string().nullish()})}),q.object({type:q.literal("response.failed"),sequence_number:q.number(),response:q.object({error:q.object({code:q.string().nullish(),message:q.string()}).nullish(),incomplete_details:q.object({reason:q.string()}).nullish(),usage:E51.nullish(),reasoning:q.object({context:q.string().nullish()}).nullish(),service_tier:q.string().nullish()})}),q.object({type:q.literal("response.created"),response:q.object({id:q.string(),created_at:q.number(),model:q.string(),service_tier:q.string().nullish()})}),q.object({type:q.literal("response.in_progress"),response:q.object({id:q.string(),created_at:q.number(),model:q.string(),service_tier:q.string().nullish()})}),q.object({type:q.literal("response.output_item.added"),output_index:q.number(),item:q.discriminatedUnion("type",[q.object({type:q.literal("message"),id:q.string(),phase:q.enum(["commentary","final_answer"]).nullish()}),q.object({type:q.literal("reasoning"),id:q.string(),encrypted_content:q.string().nullish()}),q.object({type:q.literal("function_call"),id:q.string(),call_id:q.string(),name:q.string(),arguments:q.string(),async:q.boolean().nullish(),namespace:q.string().nullish(),caller:z51.nullish()}),A51,T51,q.object({type:q.literal("web_search_call"),id:q.string(),status:q.string()}),P51,q.object({type:q.literal("file_search_call"),id:q.string()}),q51,q.object({type:q.literal("image_generation_call"),id:q.string()}),q.object({type:q.literal("code_interpreter_call"),id:q.string(),container_id:q.string(),code:q.string().nullable(),outputs:q.array(q.discriminatedUnion("type",[q.object({type:q.literal("logs"),logs:q.string()}),q.object({type:q.literal("image"),url:q.string()})])).nullable(),status:q.string()}),q.object({type:q.literal("mcp_call"),id:q.string(),status:q.string(),approval_request_id:q.string().nullish()}),q.object({type:q.literal("mcp_list_tools"),id:q.string()}),q.object({type:q.literal("mcp_approval_request"),id:q.string()}),q.object({type:q.literal("apply_patch_call"),id:q.string(),call_id:q.string(),status:q.enum(["in_progress","completed"]),operation:q.discriminatedUnion("type",[q.object({type:q.literal("create_file"),path:q.string(),diff:q.string()}),q.object({type:q.literal("delete_file"),path:q.string()}),q.object({type:q.literal("update_file"),path:q.string(),diff:q.string()})])}),q.object({type:q.literal("custom_tool_call"),id:q.string(),call_id:q.string(),name:q.string(),input:q.string(),async:q.boolean().nullish()}),q.object({type:q.literal("shell_call"),id:q.string(),call_id:q.string(),status:q.enum(["in_progress","completed","incomplete"]),action:q.object({commands:q.array(q.string())})}),q.object({type:q.literal("compaction"),id:q.string(),encrypted_content:q.string().nullish()}),q.object({type:q.literal("shell_call_output"),id:q.string(),call_id:q.string(),status:q.enum(["in_progress","completed","incomplete"]),output:q.array(q.object({stdout:q.string(),stderr:q.string(),outcome:q.discriminatedUnion("type",[q.object({type:q.literal("timeout")}),q.object({type:q.literal("exit"),exit_code:q.number()})])}))}),q.object({type:q.literal("tool_search_call"),id:q.string(),execution:q.enum(["server","client"]),call_id:q.string().nullable(),status:q.enum(["in_progress","completed","incomplete"]),arguments:q.unknown()}),q.object({type:q.literal("tool_search_output"),id:q.string(),execution:q.enum(["server","client"]),call_id:q.string().nullable(),status:q.enum(["in_progress","completed","incomplete"]),tools:q.array(q.record(q.string(),sd.optional()))})])}),q.object({type:q.literal("response.output_item.done"),output_index:q.number(),item:q.discriminatedUnion("type",[q.object({type:q.literal("message"),id:q.string(),phase:q.enum(["commentary","final_answer"]).nullish()}),q.object({type:q.literal("reasoning"),id:q.string(),encrypted_content:q.string().nullish()}),q.object({type:q.literal("function_call"),id:q.string(),call_id:q.string(),name:q.string(),arguments:q.string(),async:q.boolean().nullish(),status:q.enum(["in_progress","completed","incomplete"]),namespace:q.string().nullish(),caller:z51.nullish()}),A51,T51,q.object({type:q.literal("custom_tool_call"),id:q.string(),call_id:q.string(),name:q.string(),input:q.string(),async:q.boolean().nullish(),status:q.literal("completed")}),q.object({type:q.literal("code_interpreter_call"),id:q.string(),code:q.string().nullable(),container_id:q.string(),outputs:q.array(q.discriminatedUnion("type",[q.object({type:q.literal("logs"),logs:q.string()}),q.object({type:q.literal("image"),url:q.string()})])).nullable()}),q.object({type:q.literal("image_generation_call"),id:q.string(),result:q.string()}),q.object({type:q.literal("web_search_call"),id:q.string(),status:q.string(),action:q.discriminatedUnion("type",[q.object({type:q.literal("search"),query:q.string().nullish(),queries:q.array(q.string()).nullish(),sources:q.array(q.discriminatedUnion("type",[q.object({type:q.literal("url"),url:q.string()}),q.object({type:q.literal("api"),name:q.string()})])).nullish()}),q.object({type:q.literal("open_page"),url:q.string().nullish()}),q.object({type:q.literal("find_in_page"),url:q.string().nullish(),pattern:q.string().nullish()})]).nullish()}),q.object({type:q.literal("file_search_call"),id:q.string(),queries:q.array(q.string()),results:q.array(q.object({attributes:q.record(q.string(),q.union([q.string(),q.number(),q.boolean()])),file_id:q.string(),filename:q.string(),score:q.number(),text:q.string()})).nullish()}),q51,P51,q.object({type:q.literal("mcp_call"),id:q.string(),status:q.string(),arguments:q.string(),name:q.string(),server_label:q.string(),output:q.string().nullish(),error:q.union([q.string(),q.object({type:q.string().optional(),code:q.union([q.number(),q.string()]).optional(),message:q.string().optional()}).loose()]).nullish(),approval_request_id:q.string().nullish()}),q.object({type:q.literal("mcp_list_tools"),id:q.string(),server_label:q.string(),tools:q.array(q.object({name:q.string(),description:q.string().optional(),input_schema:q.any(),annotations:q.record(q.string(),q.unknown()).optional()})),error:q.union([q.string(),q.object({type:q.string().optional(),code:q.union([q.number(),q.string()]).optional(),message:q.string().optional()}).loose()]).optional()}),q.object({type:q.literal("mcp_approval_request"),id:q.string(),server_label:q.string(),name:q.string(),arguments:q.string(),approval_request_id:q.string().optional()}),q.object({type:q.literal("apply_patch_call"),id:q.string(),call_id:q.string(),status:q.enum(["in_progress","completed"]),operation:q.discriminatedUnion("type",[q.object({type:q.literal("create_file"),path:q.string(),diff:q.string()}),q.object({type:q.literal("delete_file"),path:q.string()}),q.object({type:q.literal("update_file"),path:q.string(),diff:q.string()})])}),q.object({type:q.literal("shell_call"),id:q.string(),call_id:q.string(),status:q.enum(["in_progress","completed","incomplete"]),action:q.object({commands:q.array(q.string())})}),q.object({type:q.literal("compaction"),id:q.string(),encrypted_content:q.string()}),q.object({type:q.literal("shell_call_output"),id:q.string(),call_id:q.string(),status:q.enum(["in_progress","completed","incomplete"]),output:q.array(q.object({stdout:q.string(),stderr:q.string(),outcome:q.discriminatedUnion("type",[q.object({type:q.literal("timeout")}),q.object({type:q.literal("exit"),exit_code:q.number()})])}))}),q.object({type:q.literal("tool_search_call"),id:q.string(),execution:q.enum(["server","client"]),call_id:q.string().nullable(),status:q.enum(["in_progress","completed","incomplete"]),arguments:q.unknown()}),q.object({type:q.literal("tool_search_output"),id:q.string(),execution:q.enum(["server","client"]),call_id:q.string().nullable(),status:q.enum(["in_progress","completed","incomplete"]),tools:q.array(q.record(q.string(),sd.optional()))})])}),q.object({type:q.literal("response.function_call_arguments.delta"),item_id:q.string(),output_index:q.number(),delta:q.string()}),q.object({type:q.literal("response.function_call_arguments.done"),item_id:q.string(),output_index:q.number(),arguments:q.string()}),q.object({type:q.literal("response.custom_tool_call_input.delta"),item_id:q.string(),output_index:q.number(),delta:q.string()}),q.object({type:q.literal("response.image_generation_call.partial_image"),item_id:q.string(),output_index:q.number(),partial_image_b64:q.string()}),q.object({type:q.literal("response.code_interpreter_call_code.delta"),item_id:q.string(),output_index:q.number(),delta:q.string()}),q.object({type:q.literal("response.code_interpreter_call_code.done"),item_id:q.string(),output_index:q.number(),code:q.string()}),q.object({type:q.literal("response.output_text.annotation.added"),annotation:q.discriminatedUnion("type",[q.object({type:q.literal("url_citation"),start_index:q.number(),end_index:q.number(),url:q.string(),title:q.string()}),q.object({type:q.literal("file_citation"),file_id:q.string(),filename:q.string(),index:q.number()}),q.object({type:q.literal("container_file_citation"),container_id:q.string(),file_id:q.string(),filename:q.string(),start_index:q.number(),end_index:q.number()}),q.object({type:q.literal("file_path"),file_id:q.string(),index:q.number()})])}),q.object({type:q.literal("response.reasoning_summary_part.added"),item_id:q.string(),output_index:q.number().nullish(),summary_index:q.number()}),q.object({type:q.literal("response.reasoning_summary_text.delta"),item_id:q.string(),output_index:q.number().nullish(),summary_index:q.number(),delta:q.string()}),q.object({type:q.literal("response.reasoning_summary_part.done"),item_id:q.string(),output_index:q.number().nullish(),summary_index:q.number()}),q.object({type:q.literal("response.apply_patch_call_operation_diff.delta"),item_id:q.string(),output_index:q.number(),delta:q.string(),obfuscation:q.string().nullish()}),q.object({type:q.literal("response.apply_patch_call_operation_diff.done"),item_id:q.string(),output_index:q.number(),diff:q.string()}),YS4,XS4,q.object({type:q.string()}).loose().refine(($)=>!WS4($),{message:"Known response chunk failed schema validation"}).transform(($)=>({type:"unknown_chunk",message:$.type}))]))),mL$=W0(()=>e(q.object({id:q.string().optional(),created_at:q.number().optional(),error:q.object({message:q.string(),type:q.string(),param:q.string().nullish(),code:q.string()}).nullish(),model:q.string().optional(),output:q.array(q.discriminatedUnion("type",[q.object({type:q.literal("message"),role:q.literal("assistant"),id:q.string(),phase:q.enum(["commentary","final_answer"]).nullish(),content:q.array(q.object({type:q.literal("output_text"),text:q.string(),logprobs:q.array(q.object({token:q.string(),logprob:q.number(),top_logprobs:q.array(q.object({token:q.string(),logprob:q.number()}))})).nullish(),annotations:q.array(q.discriminatedUnion("type",[q.object({type:q.literal("url_citation"),start_index:q.number(),end_index:q.number(),url:q.string(),title:q.string()}),q.object({type:q.literal("file_citation"),file_id:q.string(),filename:q.string(),index:q.number()}),q.object({type:q.literal("container_file_citation"),container_id:q.string(),file_id:q.string(),filename:q.string(),start_index:q.number(),end_index:q.number()}),q.object({type:q.literal("file_path"),file_id:q.string(),index:q.number()})]))}))}),q.object({type:q.literal("web_search_call"),id:q.string(),status:q.string(),action:q.discriminatedUnion("type",[q.object({type:q.literal("search"),query:q.string().nullish(),queries:q.array(q.string()).nullish(),sources:q.array(q.discriminatedUnion("type",[q.object({type:q.literal("url"),url:q.string()}),q.object({type:q.literal("api"),name:q.string()})])).nullish()}),q.object({type:q.literal("open_page"),url:q.string().nullish()}),q.object({type:q.literal("find_in_page"),url:q.string().nullish(),pattern:q.string().nullish()})]).nullish()}),q.object({type:q.literal("file_search_call"),id:q.string(),queries:q.array(q.string()),results:q.array(q.object({attributes:q.record(q.string(),q.union([q.string(),q.number(),q.boolean()])),file_id:q.string(),filename:q.string(),score:q.number(),text:q.string()})).nullish()}),q.object({type:q.literal("code_interpreter_call"),id:q.string(),code:q.string().nullable(),container_id:q.string(),outputs:q.array(q.discriminatedUnion("type",[q.object({type:q.literal("logs"),logs:q.string()}),q.object({type:q.literal("image"),url:q.string()})])).nullable()}),q.object({type:q.literal("image_generation_call"),id:q.string(),result:q.string()}),q51,q.object({type:q.literal("function_call"),call_id:q.string(),name:q.string(),arguments:q.string(),id:q.string(),async:q.boolean().nullish(),namespace:q.string().nullish(),caller:z51.nullish()}),A51,T51,q.object({type:q.literal("custom_tool_call"),call_id:q.string(),name:q.string(),input:q.string(),id:q.string(),async:q.boolean().nullish()}),P51,q.object({type:q.literal("reasoning"),id:q.string(),encrypted_content:q.string().nullish(),summary:q.array(q.object({type:q.literal("summary_text"),text:q.string()}))}),q.object({type:q.literal("mcp_call"),id:q.string(),status:q.string(),arguments:q.string(),name:q.string(),server_label:q.string(),output:q.string().nullish(),error:q.union([q.string(),q.object({type:q.string().optional(),code:q.union([q.number(),q.string()]).optional(),message:q.string().optional()}).loose()]).nullish(),approval_request_id:q.string().nullish()}),q.object({type:q.literal("mcp_list_tools"),id:q.string(),server_label:q.string(),tools:q.array(q.object({name:q.string(),description:q.string().optional(),input_schema:q.any(),annotations:q.record(q.string(),q.unknown()).optional()})),error:q.union([q.string(),q.object({type:q.string().optional(),code:q.union([q.number(),q.string()]).optional(),message:q.string().optional()}).loose()]).optional()}),q.object({type:q.literal("mcp_approval_request"),id:q.string(),server_label:q.string(),name:q.string(),arguments:q.string(),approval_request_id:q.string().optional()}),q.object({type:q.literal("apply_patch_call"),id:q.string(),call_id:q.string(),status:q.enum(["in_progress","completed"]),operation:q.discriminatedUnion("type",[q.object({type:q.literal("create_file"),path:q.string(),diff:q.string()}),q.object({type:q.literal("delete_file"),path:q.string()}),q.object({type:q.literal("update_file"),path:q.string(),diff:q.string()})])}),q.object({type:q.literal("shell_call"),id:q.string(),call_id:q.string(),status:q.enum(["in_progress","completed","incomplete"]),action:q.object({commands:q.array(q.string())})}),q.object({type:q.literal("compaction"),id:q.string(),encrypted_content:q.string()}),q.object({type:q.literal("shell_call_output"),id:q.string(),call_id:q.string(),status:q.enum(["in_progress","completed","incomplete"]),output:q.array(q.object({stdout:q.string(),stderr:q.string(),outcome:q.discriminatedUnion("type",[q.object({type:q.literal("timeout")}),q.object({type:q.literal("exit"),exit_code:q.number()})])}))}),q.object({type:q.literal("tool_search_call"),id:q.string(),execution:q.enum(["server","client"]),call_id:q.string().nullable(),status:q.enum(["in_progress","completed","incomplete"]),arguments:q.unknown()}),q.object({type:q.literal("tool_search_output"),id:q.string(),execution:q.enum(["server","client"]),call_id:q.string().nullable(),status:q.enum(["in_progress","completed","incomplete"]),tools:q.array(q.record(q.string(),sd.optional()))})])).optional(),service_tier:q.string().nullish(),reasoning:q.object({context:q.string().nullish()}).nullish(),incomplete_details:q.object({reason:q.string()}).nullish(),usage:E51.nullish()})));BS4=H51.object({itemId:H51.string().nullish(),reasoningEncryptedContent:H51.string().nullish()}),DS4=["o1","o1-2024-12-17","o3","o3-2025-04-16","o3-mini","o3-mini-2025-01-31","o4-mini","o4-mini-2025-04-16","gpt-5","gpt-5-2025-08-07","gpt-5-codex","gpt-5-mini","gpt-5-mini-2025-08-07","gpt-5-nano","gpt-5-nano-2025-08-07","gpt-5-pro","gpt-5-pro-2025-10-06","gpt-5.1","gpt-5.1-chat-latest","gpt-5.1-codex-mini","gpt-5.1-codex","gpt-5.1-codex-max","gpt-5.2","gpt-5.2-chat-latest","gpt-5.2-pro","gpt-5.2-codex","gpt-5.3-chat-latest","gpt-5.3-codex","gpt-5.4","gpt-5.4-2026-03-05","gpt-5.4-mini","gpt-5.4-mini-2026-03-17","gpt-5.4-nano","gpt-5.4-nano-2026-03-17","gpt-5.4-pro","gpt-5.4-pro-2026-03-05","gpt-5.5","gpt-5.5-2026-04-23","gpt-5.6","gpt-5.6-luna","gpt-5.6-sol","gpt-5.6-terra","gpt-6-astra"],eW9=["gpt-4.1","gpt-4.1-2025-04-14","gpt-4.1-mini","gpt-4.1-mini-2025-04-14","gpt-4.1-nano","gpt-4.1-nano-2025-04-14","gpt-4o","gpt-4o-2024-05-13","gpt-4o-2024-08-06","gpt-4o-2024-11-20","gpt-4o-audio-preview","gpt-4o-audio-preview-2024-12-17","gpt-4o-search-preview","gpt-4o-search-preview-2025-03-11","gpt-4o-mini-search-preview","gpt-4o-mini-search-preview-2025-03-11","gpt-4o-mini","gpt-4o-mini-2024-07-18","gpt-3.5-turbo-0125","gpt-3.5-turbo","gpt-3.5-turbo-1106","gpt-5-chat-latest",...DS4],NL$=W0(()=>e(Q4.object({conversation:Q4.string().nullish(),include:Q4.array(Q4.enum(["reasoning.encrypted_content","file_search_call.results","web_search_call.results","message.output_text.logprobs"])).nullish(),includeWebSearchSources:Q4.boolean().optional(),instructions:Q4.string().nullish(),logprobs:Q4.union([Q4.boolean(),Q4.number().min(1).max(cL$)]).optional(),maxToolCalls:Q4.number().nullish(),metadata:Q4.any().nullish(),parallelToolCalls:Q4.boolean().nullish(),previousResponseId:Q4.string().nullish(),promptCacheKey:Q4.string().nullish(),promptCacheOptions:Q4.object({mode:Q4.enum(["implicit","explicit"]).optional(),ttl:Q4.literal("30m").optional()}).optional(),promptCacheRetention:Q4.enum(["in_memory","24h"]).nullish(),reasoningEffort:Q4.string().nullish(),reasoningEffortUpdate:Q4.enum(["low","medium","high","xhigh","max"]).optional(),reasoningMode:Q4.enum(["standard","pro"]).optional(),reasoningContext:Q4.enum(["auto","current_turn","all_turns"]).optional(),reasoningSummary:Q4.string().nullish(),safetyIdentifier:Q4.string().nullish(),serviceTier:Q4.enum(["auto","flex","priority","fast","ultrafast","default"]).nullish(),store:Q4.boolean().nullish(),passThroughUnsupportedFiles:Q4.boolean().optional(),strictJsonSchema:Q4.boolean().nullish(),textVerbosity:Q4.enum(["low","medium","high"]).nullish(),truncation:Q4.enum(["auto","disabled"]).nullish(),user:Q4.string().nullish(),systemMessageMode:Q4.enum(["system","developer","remove"]).optional(),forceReasoning:Q4.boolean().optional(),contextManagement:Q4.array(Q4.object({type:Q4.literal("compaction"),compactThreshold:Q4.number()})).nullish(),compactionTrigger:Q4.boolean().optional(),allowedTools:Q4.object({toolNames:Q4.array(Q4.string()).min(1),mode:Q4.enum(["auto","required"]).optional()}).optional()})));dL$={"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/]},iL$=class ${constructor(Z,Q){this.specificationVersion="v4",this.supportedUrls=dL$,this.modelId=Z,this.config=Q}static[W4](Z){return f4({modelId:Z.modelId,config:Z.config})}static[K4](Z){return new $(Z.modelId,HS4(Z.config))}get provider(){return this.config.provider}static async prepareRequest({modelId:Z,config:Q,options:{maxOutputTokens:Y,temperature:X,stopSequences:J,topP:G,topK:W,presencePenalty:K,frequencyPenalty:H,seed:F,prompt:U,reasoning:N,providerOptions:B,tools:D,toolChoice:O,responseFormat:j}}){var w,E,P,T,z,A,M,f,S,V,v,b,u,m;let i=[],G0=kL$(Z);if(W!=null)i.push({type:"unsupported",feature:"topK"});if(F!=null)i.push({type:"unsupported",feature:"seed"});if(K!=null)i.push({type:"unsupported",feature:"presencePenalty"});if(H!=null)i.push({type:"unsupported",feature:"frequencyPenalty"});if(J!=null)i.push({type:"unsupported",feature:"stopSequences"});let I0=Q.provider.includes("azure")?"azure":"openai",X0=await x$({provider:I0,providerOptions:B,schema:NL$});if(X0==null&&I0!=="openai")X0=await x$({provider:"openai",providerOptions:B,schema:NL$});let H0=(w=X0==null?void 0:X0.reasoningEffort)!=null?w:CL(N)?N:void 0;if(H0!=null&&G0.supportedReasoningEfforts!=null&&!G0.supportedReasoningEfforts.includes(H0))i.push({type:"unsupported",feature:"reasoningEffort",details:`${Z} only supports the following reasoning efforts: ${G0.supportedReasoningEfforts.join(", ")}`}),H0=void 0;let s=(X0==null?void 0:X0.reasoningSummary)!==void 0?X0.reasoningSummary:H0!=null&&H0!=="none"?"detailed":void 0,o=(E=X0==null?void 0:X0.forceReasoning)!=null?E:G0.isReasoningModel;if((X0==null?void 0:X0.conversation)&&(X0==null?void 0:X0.previousResponseId))i.push({type:"unsupported",feature:"conversation",details:"conversation and previousResponseId cannot be used together"});let r=Ud({tools:D,providerToolNames:{"openai.code_interpreter":"code_interpreter","openai.computer":"computer","openai.file_search":"file_search","openai.image_generation":"image_generation","openai.local_shell":"local_shell","openai.shell":"shell","openai.web_search":"web_search","openai.web_search_preview":"web_search_preview","openai.mcp":"mcp","openai.apply_patch":"apply_patch","openai.tool_search":"tool_search","openai.programmatic_tool_calling":"programmatic_tool_calling"}}),Q0=new Set,J0=new Set,{tools:u0,toolChoice:C0,toolWarnings:Y1}=await LS4({tools:D,toolChoice:O,allowedTools:(P=X0==null?void 0:X0.allowedTools)!=null?P:void 0,toolNameMapping:r,customProviderToolNames:Q0,outputSchemaToolNames:J0,supportsAsyncToolCalling:G0.supportsAsyncToolCalling}),{input:i0,warnings:j0}=await NS4({prompt:U,toolNameMapping:r,systemMessageMode:(T=X0==null?void 0:X0.systemMessageMode)!=null?T:o?"developer":G0.systemMessageMode,providerOptionsName:I0,explicitMessageItemType:Q.explicitMessageItemType,fileIdPrefixes:Q.fileIdPrefixes,passThroughUnsupportedFiles:(z=X0==null?void 0:X0.passThroughUnsupportedFiles)!=null?z:!1,store:(A=X0==null?void 0:X0.store)!=null?A:!0,hasConversation:(X0==null?void 0:X0.conversation)!=null,hasPreviousResponseId:(X0==null?void 0:X0.previousResponseId)!=null,hasLocalShellTool:k1("openai.local_shell"),hasShellTool:k1("openai.shell"),hasApplyPatchTool:k1("openai.apply_patch"),hasComputerTool:k1("openai.computer"),toolSearchToolName:p0("openai.tool_search"),customProviderToolNames:Q0.size>0?Q0:void 0,outputSchemaToolNames:J0.size>0?J0:void 0});i.push(...j0);let E0=X0==null?void 0:X0.reasoningEffortUpdate,m0=E0==null||G0.supportsConfigurationUpdate&&(X0==null?void 0:X0.reasoningMode)!=="pro"&&(X0==null?void 0:X0.contextManagement)==null&&(X0==null?void 0:X0.truncation)!=="auto";if(E0!=null&&!m0)i.push({type:"unsupported",feature:"reasoningEffortUpdate",details:!G0.supportsConfigurationUpdate?"reasoningEffortUpdate is only supported by GPT-6 and later models":"reasoningEffortUpdate requires standard reasoning mode without automatic compaction or automatic truncation"});else if(E0!=null)i0.unshift({type:"configuration_update",reasoning:{effort:E0}});if(X0==null?void 0:X0.compactionTrigger)i0.push({type:"compaction_trigger"});let B1=(M=X0==null?void 0:X0.strictJsonSchema)!=null?M:!0,H1=(j==null?void 0:j.type)==="json"&&j.schema!=null?k$0(j.schema):void 0;if(H1!=null)i.push(...H1.warnings);let _0=X0==null?void 0:X0.include;function c0(T1){if(_0==null)_0=[T1];else if(!_0.includes(T1))_0=[..._0,T1]}function p0(T1){var Q8;return(Q8=D==null?void 0:D.find((k$)=>k$.type==="provider"&&k$.id===T1))==null?void 0:Q8.name}function k1(T1){return p0(T1)!=null}let K0=typeof(X0==null?void 0:X0.logprobs)==="number"?X0==null?void 0:X0.logprobs:(X0==null?void 0:X0.logprobs)===!0?cL$:void 0;if(K0)c0("message.output_text.logprobs");let h=(f=D==null?void 0:D.find((T1)=>T1.type==="provider"&&(T1.id==="openai.web_search"||T1.id==="openai.web_search_preview")))==null?void 0:f.name;if(h&&Q.supportsWebSearchSourcesInclude!==!1&&(X0==null?void 0:X0.includeWebSearchSources)!==!1)c0("web_search_call.action.sources");if(k1("openai.code_interpreter"))c0("code_interpreter_call.outputs");let U0=X0==null?void 0:X0.store;if(U0===!1&&o)c0("reasoning.encrypted_content");let N0={model:Z,input:i0,temperature:X,top_p:G,max_output_tokens:Y,...((j==null?void 0:j.type)==="json"||(X0==null?void 0:X0.textVerbosity))&&{text:{...(j==null?void 0:j.type)==="json"&&{format:H1!=null?{type:"json_schema",strict:B1,name:(S=j.name)!=null?S:"response",description:j.description,schema:H1.schema}:{type:"json_object"}},...(X0==null?void 0:X0.textVerbosity)&&{verbosity:X0.textVerbosity}}},conversation:X0==null?void 0:X0.conversation,max_tool_calls:X0==null?void 0:X0.maxToolCalls,metadata:X0==null?void 0:X0.metadata,parallel_tool_calls:X0==null?void 0:X0.parallelToolCalls,previous_response_id:X0==null?void 0:X0.previousResponseId,store:U0,user:X0==null?void 0:X0.user,instructions:X0==null?void 0:X0.instructions,service_tier:X0==null?void 0:X0.serviceTier,include:_0,prompt_cache_key:X0==null?void 0:X0.promptCacheKey,prompt_cache_options:X0==null?void 0:X0.promptCacheOptions,prompt_cache_retention:X0==null?void 0:X0.promptCacheRetention,safety_identifier:X0==null?void 0:X0.safetyIdentifier,top_logprobs:K0,truncation:X0==null?void 0:X0.truncation,...(X0==null?void 0:X0.contextManagement)&&{context_management:X0.contextManagement.map((T1)=>({type:T1.type,compact_threshold:T1.compactThreshold}))},...o&&(H0!=null||s!=null||(X0==null?void 0:X0.reasoningMode)!=null||(X0==null?void 0:X0.reasoningContext)!=null)&&{reasoning:{...H0!=null&&{effort:H0},...s!=null&&{summary:s},...(X0==null?void 0:X0.reasoningMode)!=null&&{mode:X0.reasoningMode},...(X0==null?void 0:X0.reasoningContext)!=null&&{context:X0.reasoningContext}}}};if(G0.supportsConfigurationUpdate&&N0.prompt_cache_retention!=null)N0.prompt_cache_retention=void 0,i.push({type:"unsupported",feature:"promptCacheRetention",details:"promptCacheRetention is not supported by GPT-6 and later models; use promptCacheOptions instead"});if(o){if(!(H0==="none"&&G0.supportsNonReasoningParameters)){if(N0.temperature!=null)N0.temperature=void 0,i.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for reasoning models"});if(N0.top_p!=null)N0.top_p=void 0,i.push({type:"unsupported",feature:"topP",details:"topP is not supported for reasoning models"});if(G0.supportedReasoningEfforts!=null&&(N0.top_logprobs!=null||((V=N0.include)==null?void 0:V.includes("message.output_text.logprobs")))){N0.top_logprobs=void 0;let T1=(v=N0.include)==null?void 0:v.filter((Q8)=>Q8!=="message.output_text.logprobs");N0.include=T1!=null&&T1.length>0?T1:void 0,i.push({type:"unsupported",feature:"logprobs",details:"logprobs is not supported for reasoning models"})}}}else{if((X0==null?void 0:X0.reasoningEffort)!=null)i.push({type:"unsupported",feature:"reasoningEffort",details:"reasoningEffort is not supported for non-reasoning models"});if((X0==null?void 0:X0.reasoningSummary)!=null)i.push({type:"unsupported",feature:"reasoningSummary",details:"reasoningSummary is not supported for non-reasoning models"});if((X0==null?void 0:X0.reasoningMode)!=null)i.push({type:"unsupported",feature:"reasoningMode",details:"reasoningMode is not supported for non-reasoning models"});if((X0==null?void 0:X0.reasoningContext)!=null)i.push({type:"unsupported",feature:"reasoningContext",details:"reasoningContext is not supported for non-reasoning models"})}if((X0==null?void 0:X0.serviceTier)==="flex"&&!G0.supportsFlexProcessing)i.push({type:"unsupported",feature:"serviceTier",details:"flex processing is only available for o3, o4-mini, and gpt-5 models"}),delete N0.service_tier;if(((X0==null?void 0:X0.serviceTier)==="priority"||(X0==null?void 0:X0.serviceTier)==="fast")&&!G0.supportsPriorityProcessing)i.push({type:"unsupported",feature:"serviceTier",details:"priority processing is only available for supported models (gpt-4, gpt-5, gpt-5-mini, o3, o4-mini) and requires Enterprise access. gpt-5-nano is not supported"}),delete N0.service_tier;let q0=(m=(u=(b=D==null?void 0:D.find((T1)=>T1.type==="provider"&&T1.id==="openai.shell"))==null?void 0:b.args)==null?void 0:u.environment)==null?void 0:m.type,y0=q0==="containerAuto"||q0==="containerReference";return{webSearchToolName:h,args:{...N0,tools:u0,tool_choice:C0},warnings:[...i,...Y1],store:U0,toolNameMapping:r,providerOptionsName:I0,isShellProviderExecuted:y0}}getArgs(Z){return $.prepareRequest({modelId:this.modelId,config:this.config,options:Z})}async doGenerate(Z){var Q,Y,X,J,G,W,K,H,F,U,N,B,D,O,j,w,E,P,T,z,A,M,f,S,V,v,b,u,m,i,G0,I0,X0,H0;let{args:s,warnings:o,webSearchToolName:r,toolNameMapping:Q0,providerOptionsName:J0,isShellProviderExecuted:u0}=await this.getArgs(Z),C0=this.config.url({path:"/responses",modelId:this.modelId}),Y1=LL$(Z.prompt),{responseHeaders:i0,value:j0,rawValue:E0}=await J$({url:C0,headers:_1((Y=(Q=this.config).headers)==null?void 0:Y.call(Q),Z.headers),body:s,failedResponseHandler:p9,successfulResponseHandler:V1(mL$),abortSignal:Z.abortSignal,fetch:this.config.fetch});if(j0.error)throw new j8({message:j0.error.message,url:C0,requestBodyValues:s,statusCode:400,responseHeaders:i0,responseBody:E0,isRetryable:!1});if(j0.output==null){let K0=(X=j0.incomplete_details)==null?void 0:X.reason;throw new j8({message:K0?`Responses API returned no output (${K0})`:"Responses API returned no output",url:C0,requestBodyValues:s,statusCode:500,responseHeaders:i0,responseBody:E0,isRetryable:!1})}let m0=[],B1=[],H1=(G=(J=Z.tools)==null?void 0:J.filter((K0)=>K0.type==="function"))!=null?G:[],_0=!1,c0=[];for(let K0 of j0.output)switch(K0.type){case"reasoning":{if(K0.summary.length===0)K0.summary.push({type:"summary_text",text:""});for(let h of K0.summary)m0.push({type:"reasoning",text:h.text,providerMetadata:{[J0]:{itemId:K0.id,reasoningEncryptedContent:(W=K0.encrypted_content)!=null?W:null}}});break}case"image_generation_call":{m0.push({type:"tool-call",toolCallId:K0.id,toolName:Q0.toCustomToolName("image_generation"),input:"{}",providerExecuted:!0}),m0.push({type:"tool-result",toolCallId:K0.id,toolName:Q0.toCustomToolName("image_generation"),result:{result:K0.result}});break}case"tool_search_call":{let h=(K=K0.call_id)!=null?K:K0.id,U0=K0.execution==="server";if(U0)c0.push(h);m0.push({type:"tool-call",toolCallId:h,toolName:Q0.toCustomToolName("tool_search"),input:JSON.stringify({arguments:K0.arguments,call_id:K0.call_id}),...U0?{providerExecuted:!0}:{},providerMetadata:{[J0]:{itemId:K0.id}}});break}case"tool_search_output":{let h=(F=(H=K0.call_id)!=null?H:c0.shift())!=null?F:K0.id;m0.push({type:"tool-result",toolCallId:h,toolName:Q0.toCustomToolName("tool_search"),result:{tools:K0.tools},providerMetadata:{[J0]:{itemId:K0.id}}});break}case"local_shell_call":{m0.push({type:"tool-call",toolCallId:K0.call_id,toolName:Q0.toCustomToolName("local_shell"),input:JSON.stringify({action:K0.action}),providerMetadata:{[J0]:{itemId:K0.id}}});break}case"shell_call":{m0.push({type:"tool-call",toolCallId:K0.call_id,toolName:Q0.toCustomToolName("shell"),input:JSON.stringify({action:{commands:K0.action.commands}}),...u0&&{providerExecuted:!0},providerMetadata:{[J0]:{itemId:K0.id}}});break}case"shell_call_output":{m0.push({type:"tool-result",toolCallId:K0.call_id,toolName:Q0.toCustomToolName("shell"),result:{output:K0.output.map((h)=>({stdout:h.stdout,stderr:h.stderr,outcome:h.outcome.type==="exit"?{type:"exit",exitCode:h.outcome.exit_code}:{type:"timeout"}}))}});break}case"message":{for(let h of K0.content){if(((N=(U=Z.providerOptions)==null?void 0:U[J0])==null?void 0:N.logprobs)&&h.logprobs)B1.push(h.logprobs);let U0={itemId:K0.id,...K0.phase!=null&&{phase:K0.phase},...h.annotations.length>0&&{annotations:h.annotations}};m0.push({type:"text",text:h.text,providerMetadata:{[J0]:U0}});for(let N0 of h.annotations)if(N0.type==="url_citation")m0.push({type:"source",sourceType:"url",id:(O=(D=(B=this.config).generateId)==null?void 0:D.call(B))!=null?O:Z4(),url:N0.url,title:N0.title});else if(N0.type==="file_citation")m0.push({type:"source",sourceType:"document",id:(E=(w=(j=this.config).generateId)==null?void 0:w.call(j))!=null?E:Z4(),mediaType:"text/plain",title:N0.filename,filename:N0.filename,providerMetadata:{[J0]:{type:N0.type,fileId:N0.file_id,index:N0.index}}});else if(N0.type==="container_file_citation")m0.push({type:"source",sourceType:"document",id:(z=(T=(P=this.config).generateId)==null?void 0:T.call(P))!=null?z:Z4(),mediaType:"text/plain",title:N0.filename,filename:N0.filename,providerMetadata:{[J0]:{type:N0.type,fileId:N0.file_id,containerId:N0.container_id}}});else if(N0.type==="file_path")m0.push({type:"source",sourceType:"document",id:(f=(M=(A=this.config).generateId)==null?void 0:M.call(A))!=null?f:Z4(),mediaType:"application/octet-stream",title:N0.file_id,filename:N0.file_id,providerMetadata:{[J0]:{type:N0.type,fileId:N0.file_id,index:N0.index}}})}break}case"function_call":{_0=!0;let h=await KL$({toolCall:{toolCallId:K0.call_id,toolName:K0.name,input:K0.arguments},tools:H1,providerOptionsName:J0,itemId:K0.id});if(h!=null){m0.push(...h);break}m0.push({type:"tool-call",toolCallId:K0.call_id,toolName:K0.name,input:K0.arguments,providerMetadata:{[J0]:{itemId:K0.id,...K0.async!=null&&{async:K0.async},...K0.namespace!=null&&{namespace:K0.namespace},...K0.caller!=null&&{caller:K0.caller.type==="program"?{type:"program",callerId:K0.caller.caller_id}:K0.caller}}}});break}case"program":{m0.push({type:"tool-call",toolCallId:K0.call_id,toolName:Q0.toCustomToolName("programmatic_tool_calling"),input:JSON.stringify({code:K0.code,fingerprint:K0.fingerprint}),providerExecuted:!0,providerMetadata:{[J0]:{itemId:K0.id}}});break}case"program_output":{m0.push({type:"tool-result",toolCallId:K0.call_id,toolName:Q0.toCustomToolName("programmatic_tool_calling"),result:{result:K0.result,status:K0.status},providerMetadata:{[J0]:{itemId:K0.id}}});break}case"custom_tool_call":{_0=!0;let h=Q0.toCustomToolName(K0.name);m0.push({type:"tool-call",toolCallId:K0.call_id,toolName:h,input:JSON.stringify(K0.input),providerMetadata:{[J0]:{itemId:K0.id,...K0.async!=null&&{async:K0.async}}}});break}case"web_search_call":{m0.push({type:"tool-call",toolCallId:K0.id,toolName:Q0.toCustomToolName(r!=null?r:"web_search"),input:JSON.stringify({}),providerExecuted:!0}),m0.push({type:"tool-result",toolCallId:K0.id,toolName:Q0.toCustomToolName(r!=null?r:"web_search"),result:I51(K0.action)});break}case"mcp_call":{let h=K0.approval_request_id!=null?(S=Y1[K0.approval_request_id])!=null?S:K0.id:K0.id,U0=`mcp.${K0.name}`;m0.push({type:"tool-call",toolCallId:h,toolName:U0,input:K0.arguments,providerExecuted:!0,dynamic:!0}),m0.push({type:"tool-result",toolCallId:h,toolName:U0,result:{type:"call",serverLabel:K0.server_label,name:K0.name,arguments:K0.arguments,...K0.output!=null?{output:K0.output}:{},...K0.error!=null?{error:K0.error}:{}},providerMetadata:{[J0]:{itemId:K0.id}}});break}case"mcp_list_tools":break;case"mcp_approval_request":{let h=(V=K0.approval_request_id)!=null?V:K0.id,U0=(u=(b=(v=this.config).generateId)==null?void 0:b.call(v))!=null?u:Z4(),N0=`mcp.${K0.name}`;m0.push({type:"tool-call",toolCallId:U0,toolName:N0,input:K0.arguments,providerExecuted:!0,dynamic:!0}),m0.push({type:"tool-approval-request",approvalId:h,toolCallId:U0});break}case"computer_call":{if(K0.call_id==null){m0.push({type:"tool-call",toolCallId:K0.id,toolName:Q0.toCustomToolName("computer_use"),input:"",providerExecuted:!0}),m0.push({type:"tool-result",toolCallId:K0.id,toolName:Q0.toCustomToolName("computer_use"),result:{type:"computer_use_tool_result",status:K0.status}});break}_0=!0;let h=Q0.toCustomToolName("computer");m0.push({type:"tool-call",toolCallId:K0.call_id,toolName:h,input:JSON.stringify(OL$(K0)),providerMetadata:{[J0]:{itemId:K0.id}}});break}case"file_search_call":{m0.push({type:"tool-call",toolCallId:K0.id,toolName:Q0.toCustomToolName("file_search"),input:"{}",providerExecuted:!0}),m0.push({type:"tool-result",toolCallId:K0.id,toolName:Q0.toCustomToolName("file_search"),result:{queries:K0.queries,results:(i=(m=K0.results)==null?void 0:m.map((h)=>({attributes:h.attributes,fileId:h.file_id,filename:h.filename,score:h.score,text:h.text})))!=null?i:null}});break}case"code_interpreter_call":{m0.push({type:"tool-call",toolCallId:K0.id,toolName:Q0.toCustomToolName("code_interpreter"),input:JSON.stringify({code:K0.code,containerId:K0.container_id}),providerExecuted:!0}),m0.push({type:"tool-result",toolCallId:K0.id,toolName:Q0.toCustomToolName("code_interpreter"),result:{outputs:K0.outputs}});break}case"apply_patch_call":{_0=!0,m0.push({type:"tool-call",toolCallId:K0.call_id,toolName:Q0.toCustomToolName("apply_patch"),input:JSON.stringify({callId:K0.call_id,operation:K0.operation}),providerMetadata:{[J0]:{itemId:K0.id}}});break}case"compaction":{m0.push({type:"custom",kind:"openai.compaction",providerMetadata:{[J0]:{type:"compaction",itemId:K0.id,encryptedContent:K0.encrypted_content}}});break}}let p0={[J0]:{responseId:j0.id,...B1.length>0?{logprobs:B1}:{},...typeof j0.service_tier==="string"?{serviceTier:j0.service_tier}:{},...((G0=j0.reasoning)==null?void 0:G0.context)!=null?{reasoningContext:j0.reasoning.context}:{}}},k1=j0.usage;return{content:m0,finishReason:{unified:pU0({finishReason:(I0=j0.incomplete_details)==null?void 0:I0.reason,hasFunctionCall:_0}),raw:(H0=(X0=j0.incomplete_details)==null?void 0:X0.reason)!=null?H0:void 0},usage:w51(k1),request:{body:s},response:{id:j0.id,timestamp:new Date(j0.created_at*1000),modelId:j0.model,headers:i0,body:E0},providerMetadata:p0,warnings:o}}async doStream(Z){var Q,Y,X,J;let{args:G,warnings:W,webSearchToolName:K,toolNameMapping:H,store:F,providerOptionsName:U,isShellProviderExecuted:N}=await this.getArgs(Z),B=this.config.url({path:"/responses",modelId:this.modelId}),{responseHeaders:D,value:O}=await J$({url:B,headers:_1((Y=(Q=this.config).headers)==null?void 0:Y.call(Q),Z.headers),body:{...G,stream:!0},failedResponseHandler:p9,successfulResponseHandler:UX(KS4),abortSignal:Z.abortSignal,fetch:this.config.fetch}),j=await v51({stream:O,getError:(o)=>EL$(o)||jL$(o)&&o.response.error!=null?o:void 0,isOutputChunk:gS4,isAcceptedChunk:yS4,url:B,requestBodyValues:G,responseHeaders:D}),w=this,E=LL$(Z.prompt),P=(J=(X=Z.tools)==null?void 0:X.filter((o)=>o.type==="function"))!=null?J:[],T=new Map,z={unified:"other",raw:void 0},A=void 0,M=[],f=null,S={},V=[],v,b=!1,u={},m={},i=({itemId:o,outputIndex:r})=>{var Q0;return r==null?o:(Q0=m[r])!=null?Q0:o},G0,I0,X0=[],H0=!1;return{stream:j.pipeThrough(new TransformStream({start(o){o.enqueue({type:"stream-start",warnings:W})},transform(o,r){var Q0,J0,u0,C0,Y1,i0,j0,E0,m0,B1,H1,_0,c0,p0,k1,K0,h,U0,N0,q0,y0,T1,Q8,k$,R4,Y8,d6,c8,Z5,g9,a0,P1,d$,o1,L$,h8,D5,B4,F$,C8,X8,E$,P9,aQ,tZ;if(Z.includeRawChunks)r.enqueue({type:"raw",rawValue:o.rawValue});if(!o.success){let S0=TS4(o.rawValue)?qS4({value:o.rawValue,cause:o.error,url:B,requestBodyValues:G,responseHeaders:D}):o.error;H0=!0,z={unified:"error",raw:void 0},r.enqueue({type:"error",error:S0});return}let Y0=o.value;if(wL$(Y0)){if(Y0.item.type==="function_call"){let S0=M51({toolName:Y0.item.name,tools:P});if(S[Y0.output_index]={toolName:Y0.item.name,toolCallId:Y0.item.call_id,suppressInputStreaming:S0,bufferedInputDeltas:S0?[]:void 0,async:Y0.item.async},!S0)r.enqueue({type:"tool-input-start",id:Y0.item.call_id,toolName:Y0.item.name})}else if(Y0.item.type==="custom_tool_call"){let S0=H.toCustomToolName(Y0.item.name);S[Y0.output_index]={toolName:S0,toolCallId:Y0.item.call_id,async:Y0.item.async},r.enqueue({type:"tool-input-start",id:Y0.item.call_id,toolName:S0})}else if(Y0.item.type==="web_search_call")S[Y0.output_index]={toolName:H.toCustomToolName(K!=null?K:"web_search"),toolCallId:Y0.item.id},r.enqueue({type:"tool-input-start",id:Y0.item.id,toolName:H.toCustomToolName(K!=null?K:"web_search"),providerExecuted:!0}),r.enqueue({type:"tool-input-end",id:Y0.item.id}),r.enqueue({type:"tool-call",toolCallId:Y0.item.id,toolName:H.toCustomToolName(K!=null?K:"web_search"),input:JSON.stringify({}),providerExecuted:!0});else if(Y0.item.type==="computer_call"){let S0=(Q0=Y0.item.call_id)!=null?Q0:Y0.item.id;S[Y0.output_index]={toolName:H.toCustomToolName("computer"),toolCallId:S0},r.enqueue({type:"tool-input-start",id:S0,toolName:H.toCustomToolName("computer")})}else if(Y0.item.type==="code_interpreter_call")S[Y0.output_index]={toolName:H.toCustomToolName("code_interpreter"),toolCallId:Y0.item.id,codeInterpreter:{containerId:Y0.item.container_id}},r.enqueue({type:"tool-input-start",id:Y0.item.id,toolName:H.toCustomToolName("code_interpreter"),providerExecuted:!0}),r.enqueue({type:"tool-input-delta",id:Y0.item.id,delta:`{"containerId":"${Y0.item.container_id}","code":"`});else if(Y0.item.type==="file_search_call")r.enqueue({type:"tool-call",toolCallId:Y0.item.id,toolName:H.toCustomToolName("file_search"),input:"{}",providerExecuted:!0});else if(Y0.item.type==="image_generation_call")r.enqueue({type:"tool-call",toolCallId:Y0.item.id,toolName:H.toCustomToolName("image_generation"),input:"{}",providerExecuted:!0});else if(Y0.item.type==="tool_search_call"){let S0=Y0.item.id,v1=H.toCustomToolName("tool_search"),d8=Y0.item.execution==="server";if(S[Y0.output_index]={toolName:v1,toolCallId:S0,toolSearchExecution:(J0=Y0.item.execution)!=null?J0:"server"},d8)r.enqueue({type:"tool-input-start",id:S0,toolName:v1,providerExecuted:!0})}else if(Y0.item.type==="tool_search_output");else if(Y0.item.type==="mcp_call"||Y0.item.type==="mcp_list_tools"||Y0.item.type==="mcp_approval_request");else if(Y0.item.type==="apply_patch_call"){let{call_id:S0,operation:v1}=Y0.item;if(S[Y0.output_index]={toolName:H.toCustomToolName("apply_patch"),toolCallId:S0,applyPatch:{hasDiff:v1.type==="delete_file",endEmitted:v1.type==="delete_file"}},r.enqueue({type:"tool-input-start",id:S0,toolName:H.toCustomToolName("apply_patch")}),v1.type==="delete_file"){let d8=JSON.stringify({callId:S0,operation:v1});r.enqueue({type:"tool-input-delta",id:S0,delta:d8}),r.enqueue({type:"tool-input-end",id:S0})}else r.enqueue({type:"tool-input-delta",id:S0,delta:`{"callId":"${Oq(S0)}","operation":{"type":"${Oq(v1.type)}","path":"${Oq(v1.path)}","diff":"`})}else if(Y0.item.type==="shell_call")S[Y0.output_index]={toolName:H.toCustomToolName("shell"),toolCallId:Y0.item.call_id};else if(Y0.item.type==="shell_call_output");else if(Y0.item.type==="message")m[Y0.output_index]=Y0.item.id,V.splice(0,V.length),v=(u0=Y0.item.phase)!=null?u0:void 0,r.enqueue({type:"text-start",id:Y0.item.id,providerMetadata:{[U]:{itemId:Y0.item.id,...Y0.item.phase!=null&&{phase:Y0.item.phase}}}});else if(wL$(Y0)&&Y0.item.type==="reasoning")m[Y0.output_index]=Y0.item.id,u[Y0.item.id]={encryptedContent:Y0.item.encrypted_content,summaryParts:{0:"active"}},r.enqueue({type:"reasoning-start",id:`${Y0.item.id}:0`,providerMetadata:{[U]:{itemId:Y0.item.id,reasoningEncryptedContent:(C0=Y0.item.encrypted_content)!=null?C0:null}}})}else if(MS4(Y0)){if(Y0.item.type==="message"){let S0=i({itemId:Y0.item.id,outputIndex:Y0.output_index}),v1=(Y1=Y0.item.phase)!=null?Y1:v;v=void 0,r.enqueue({type:"text-end",id:S0,providerMetadata:{[U]:{itemId:S0,...v1!=null&&{phase:v1},...V.length>0&&{annotations:V}}}}),m[Y0.output_index]=void 0}else if(Y0.item.type==="function_call"){let S0=Y0.item,v1=S[Y0.output_index];S[Y0.output_index]=void 0,b=!0;let d8=(i0=v1==null?void 0:v1.suppressInputStreaming)!=null?i0:M51({toolName:S0.name,tools:P}),x=()=>{var p;if(d8){r.enqueue({type:"tool-input-start",id:S0.call_id,toolName:S0.name});let n=(p=v1==null?void 0:v1.bufferedInputDeltas)!=null?p:[];if(n.length>0)for(let R of n)r.enqueue({type:"tool-input-delta",id:S0.call_id,delta:R});else if(S0.arguments.length>0)r.enqueue({type:"tool-input-delta",id:S0.call_id,delta:S0.arguments})}r.enqueue({type:"tool-input-end",id:S0.call_id,...S0.namespace!=null&&{providerMetadata:{[U]:{namespace:S0.namespace}}}}),r.enqueue({type:"tool-call",toolCallId:S0.call_id,toolName:S0.name,input:S0.arguments,providerMetadata:{[U]:{itemId:S0.id,...S0.async!=null?{async:S0.async}:(v1==null?void 0:v1.async)!=null?{async:v1.async}:{},...S0.namespace!=null&&{namespace:S0.namespace},...S0.caller!=null&&{caller:S0.caller.type==="program"?{type:"program",callerId:S0.caller.caller_id}:S0.caller}}}})};if(!d8){x();return}return KL$({toolCall:{toolCallId:S0.call_id,toolName:S0.name,input:S0.arguments},tools:P,providerOptionsName:U,itemId:S0.id}).then((p)=>{if(p==null){x();return}for(let n of p)r.enqueue({type:"tool-input-start",id:n.toolCallId,toolName:n.toolName}),r.enqueue({type:"tool-input-delta",id:n.toolCallId,delta:n.input}),r.enqueue({type:"tool-input-end",id:n.toolCallId}),r.enqueue(n)})}else if(Y0.item.type==="program")r.enqueue({type:"tool-call",toolCallId:Y0.item.call_id,toolName:H.toCustomToolName("programmatic_tool_calling"),input:JSON.stringify({code:Y0.item.code,fingerprint:Y0.item.fingerprint}),providerExecuted:!0,providerMetadata:{[U]:{itemId:Y0.item.id}}});else if(Y0.item.type==="program_output")r.enqueue({type:"tool-result",toolCallId:Y0.item.call_id,toolName:H.toCustomToolName("programmatic_tool_calling"),result:{result:Y0.item.result,status:Y0.item.status},providerMetadata:{[U]:{itemId:Y0.item.id}}});else if(Y0.item.type==="custom_tool_call"){let S0=S[Y0.output_index];S[Y0.output_index]=void 0,b=!0;let v1=H.toCustomToolName(Y0.item.name);r.enqueue({type:"tool-input-end",id:Y0.item.call_id}),r.enqueue({type:"tool-call",toolCallId:Y0.item.call_id,toolName:v1,input:JSON.stringify(Y0.item.input),providerMetadata:{[U]:{itemId:Y0.item.id,...Y0.item.async!=null?{async:Y0.item.async}:(S0==null?void 0:S0.async)!=null?{async:S0.async}:{}}}})}else if(Y0.item.type==="web_search_call")S[Y0.output_index]=void 0,r.enqueue({type:"tool-result",toolCallId:Y0.item.id,toolName:H.toCustomToolName(K!=null?K:"web_search"),result:I51(Y0.item.action)});else if(Y0.item.type==="computer_call"){if(S[Y0.output_index]=void 0,Y0.item.call_id==null){r.enqueue({type:"tool-input-end",id:Y0.item.id}),r.enqueue({type:"tool-call",toolCallId:Y0.item.id,toolName:H.toCustomToolName("computer_use"),input:"",providerExecuted:!0}),r.enqueue({type:"tool-result",toolCallId:Y0.item.id,toolName:H.toCustomToolName("computer_use"),result:{type:"computer_use_tool_result",status:Y0.item.status}});return}b=!0;let S0=H.toCustomToolName("computer"),v1=JSON.stringify(OL$(Y0.item));r.enqueue({type:"tool-input-delta",id:Y0.item.call_id,delta:v1}),r.enqueue({type:"tool-input-end",id:Y0.item.call_id}),r.enqueue({type:"tool-call",toolCallId:Y0.item.call_id,toolName:S0,input:v1,providerMetadata:{[U]:{itemId:Y0.item.id}}})}else if(Y0.item.type==="file_search_call")S[Y0.output_index]=void 0,r.enqueue({type:"tool-result",toolCallId:Y0.item.id,toolName:H.toCustomToolName("file_search"),result:{queries:Y0.item.queries,results:(E0=(j0=Y0.item.results)==null?void 0:j0.map((S0)=>({attributes:S0.attributes,fileId:S0.file_id,filename:S0.filename,score:S0.score,text:S0.text})))!=null?E0:null}});else if(Y0.item.type==="code_interpreter_call")S[Y0.output_index]=void 0,r.enqueue({type:"tool-result",toolCallId:Y0.item.id,toolName:H.toCustomToolName("code_interpreter"),result:{outputs:Y0.item.outputs}});else if(Y0.item.type==="image_generation_call")r.enqueue({type:"tool-result",toolCallId:Y0.item.id,toolName:H.toCustomToolName("image_generation"),result:{result:Y0.item.result}});else if(Y0.item.type==="tool_search_call"){let S0=S[Y0.output_index],v1=Y0.item.execution==="server";if(S0!=null){let d8=v1?S0.toolCallId:(m0=Y0.item.call_id)!=null?m0:Y0.item.id;if(v1)X0.push(d8);else r.enqueue({type:"tool-input-start",id:d8,toolName:S0.toolName});r.enqueue({type:"tool-input-end",id:d8}),r.enqueue({type:"tool-call",toolCallId:d8,toolName:S0.toolName,input:JSON.stringify({arguments:Y0.item.arguments,call_id:v1?null:d8}),...v1?{providerExecuted:!0}:{},providerMetadata:{[U]:{itemId:Y0.item.id}}})}S[Y0.output_index]=void 0}else if(Y0.item.type==="tool_search_output"){let S0=(H1=(B1=Y0.item.call_id)!=null?B1:X0.shift())!=null?H1:Y0.item.id;r.enqueue({type:"tool-result",toolCallId:S0,toolName:H.toCustomToolName("tool_search"),result:{tools:Y0.item.tools},providerMetadata:{[U]:{itemId:Y0.item.id}}})}else if(Y0.item.type==="mcp_call"){S[Y0.output_index]=void 0;let S0=(_0=Y0.item.approval_request_id)!=null?_0:void 0,v1=S0!=null?(p0=(c0=T.get(S0))!=null?c0:E[S0])!=null?p0:Y0.item.id:Y0.item.id,d8=`mcp.${Y0.item.name}`;r.enqueue({type:"tool-call",toolCallId:v1,toolName:d8,input:Y0.item.arguments,providerExecuted:!0,dynamic:!0}),r.enqueue({type:"tool-result",toolCallId:v1,toolName:d8,result:{type:"call",serverLabel:Y0.item.server_label,name:Y0.item.name,arguments:Y0.item.arguments,...Y0.item.output!=null?{output:Y0.item.output}:{},...Y0.item.error!=null?{error:Y0.item.error}:{}},providerMetadata:{[U]:{itemId:Y0.item.id}}})}else if(Y0.item.type==="mcp_list_tools")S[Y0.output_index]=void 0;else if(Y0.item.type==="apply_patch_call"){let S0=S[Y0.output_index];if((S0==null?void 0:S0.applyPatch)&&!S0.applyPatch.endEmitted&&Y0.item.operation.type!=="delete_file"){if(!S0.applyPatch.hasDiff)r.enqueue({type:"tool-input-delta",id:S0.toolCallId,delta:Oq(Y0.item.operation.diff)});r.enqueue({type:"tool-input-delta",id:S0.toolCallId,delta:'"}}'}),r.enqueue({type:"tool-input-end",id:S0.toolCallId}),S0.applyPatch.endEmitted=!0}if(S0&&Y0.item.status==="completed")b=!0,r.enqueue({type:"tool-call",toolCallId:S0.toolCallId,toolName:H.toCustomToolName("apply_patch"),input:JSON.stringify({callId:Y0.item.call_id,operation:Y0.item.operation}),providerMetadata:{[U]:{itemId:Y0.item.id}}});S[Y0.output_index]=void 0}else if(Y0.item.type==="mcp_approval_request"){S[Y0.output_index]=void 0;let S0=(h=(K0=(k1=w.config).generateId)==null?void 0:K0.call(k1))!=null?h:Z4(),v1=(U0=Y0.item.approval_request_id)!=null?U0:Y0.item.id;T.set(v1,S0);let d8=`mcp.${Y0.item.name}`;r.enqueue({type:"tool-call",toolCallId:S0,toolName:d8,input:Y0.item.arguments,providerExecuted:!0,dynamic:!0}),r.enqueue({type:"tool-approval-request",approvalId:v1,toolCallId:S0})}else if(Y0.item.type==="local_shell_call")S[Y0.output_index]=void 0,r.enqueue({type:"tool-call",toolCallId:Y0.item.call_id,toolName:H.toCustomToolName("local_shell"),input:JSON.stringify({action:{type:"exec",command:Y0.item.action.command,timeoutMs:Y0.item.action.timeout_ms,user:Y0.item.action.user,workingDirectory:Y0.item.action.working_directory,env:Y0.item.action.env}}),providerMetadata:{[U]:{itemId:Y0.item.id}}});else if(Y0.item.type==="shell_call")S[Y0.output_index]=void 0,r.enqueue({type:"tool-call",toolCallId:Y0.item.call_id,toolName:H.toCustomToolName("shell"),input:JSON.stringify({action:{commands:Y0.item.action.commands}}),...N&&{providerExecuted:!0},providerMetadata:{[U]:{itemId:Y0.item.id}}});else if(Y0.item.type==="shell_call_output")r.enqueue({type:"tool-result",toolCallId:Y0.item.call_id,toolName:H.toCustomToolName("shell"),result:{output:Y0.item.output.map((S0)=>({stdout:S0.stdout,stderr:S0.stderr,outcome:S0.outcome.type==="exit"?{type:"exit",exitCode:S0.outcome.exit_code}:{type:"timeout"}}))}});else if(Y0.item.type==="reasoning"){let S0=i({itemId:Y0.item.id,outputIndex:Y0.output_index}),v1=u[S0];if(v1!=null){let d8=Object.entries(v1.summaryParts).filter(([x,p])=>p==="active"||p==="can-conclude").map(([x])=>x);for(let x of d8)r.enqueue({type:"reasoning-end",id:`${S0}:${x}`,providerMetadata:{[U]:{itemId:S0,reasoningEncryptedContent:(N0=Y0.item.encrypted_content)!=null?N0:null}}});delete u[S0]}m[Y0.output_index]=void 0}else if(Y0.item.type==="compaction")r.enqueue({type:"custom",kind:"openai.compaction",providerMetadata:{[U]:{type:"compaction",itemId:Y0.item.id,encryptedContent:Y0.item.encrypted_content}}})}else if(kS4(Y0)){let S0=S[Y0.output_index];if(S0!=null)if(S0.suppressInputStreaming)(q0=S0.bufferedInputDeltas)==null||q0.push(Y0.delta);else r.enqueue({type:"tool-input-delta",id:S0.toolCallId,delta:Y0.delta})}else if(CS4(Y0)){let S0=S[Y0.output_index];if(S0!=null)r.enqueue({type:"tool-input-delta",id:S0.toolCallId,delta:Y0.delta})}else if(bS4(Y0)){let S0=S[Y0.output_index];if(S0==null?void 0:S0.applyPatch)r.enqueue({type:"tool-input-delta",id:S0.toolCallId,delta:Oq(Y0.delta)}),S0.applyPatch.hasDiff=!0}else if(xS4(Y0)){let S0=S[Y0.output_index];if((S0==null?void 0:S0.applyPatch)&&!S0.applyPatch.endEmitted){if(!S0.applyPatch.hasDiff)r.enqueue({type:"tool-input-delta",id:S0.toolCallId,delta:Oq(Y0.diff)}),S0.applyPatch.hasDiff=!0;r.enqueue({type:"tool-input-delta",id:S0.toolCallId,delta:'"}}'}),r.enqueue({type:"tool-input-end",id:S0.toolCallId}),S0.applyPatch.endEmitted=!0}}else if(SS4(Y0))r.enqueue({type:"tool-result",toolCallId:Y0.item_id,toolName:H.toCustomToolName("image_generation"),result:{result:Y0.partial_image_b64},preliminary:!0});else if(_S4(Y0)){let S0=S[Y0.output_index];if(S0!=null)r.enqueue({type:"tool-input-delta",id:S0.toolCallId,delta:Oq(Y0.delta)})}else if(vS4(Y0)){let S0=S[Y0.output_index];if(S0!=null)r.enqueue({type:"tool-input-delta",id:S0.toolCallId,delta:'"}'}),r.enqueue({type:"tool-input-end",id:S0.toolCallId}),r.enqueue({type:"tool-call",toolCallId:S0.toolCallId,toolName:H.toCustomToolName("code_interpreter"),input:JSON.stringify({code:Y0.code,containerId:S0.codeInterpreter.containerId}),providerExecuted:!0})}else if(IS4(Y0))f=Y0.response.id,r.enqueue({type:"response-metadata",id:Y0.response.id,timestamp:new Date(Y0.response.created_at*1000),modelId:Y0.response.model});else if(AS4(Y0)){let S0=i({itemId:Y0.item_id,outputIndex:Y0.output_index});if(r.enqueue({type:"text-delta",id:S0,delta:Y0.delta}),((T1=(y0=Z.providerOptions)==null?void 0:y0[U])==null?void 0:T1.logprobs)&&Y0.logprobs)M.push(Y0.logprobs)}else if(Y0.type==="response.reasoning_summary_part.added"){let S0=i({itemId:Y0.item_id,outputIndex:Y0.output_index});if(Y0.summary_index>0){let v1=u[S0];if(v1!=null){v1.summaryParts[Y0.summary_index]="active";for(let d8 of Object.keys(v1.summaryParts))if(v1.summaryParts[d8]==="can-conclude")r.enqueue({type:"reasoning-end",id:`${S0}:${d8}`,providerMetadata:{[U]:{itemId:S0}}}),v1.summaryParts[d8]="concluded";r.enqueue({type:"reasoning-start",id:`${S0}:${Y0.summary_index}`,providerMetadata:{[U]:{itemId:S0,reasoningEncryptedContent:(Q8=v1.encryptedContent)!=null?Q8:null}}})}}}else if(Y0.type==="response.reasoning_summary_text.delta"){let S0=i({itemId:Y0.item_id,outputIndex:Y0.output_index});r.enqueue({type:"reasoning-delta",id:`${S0}:${Y0.summary_index}`,delta:Y0.delta,providerMetadata:{[U]:{itemId:S0}}})}else if(Y0.type==="response.reasoning_summary_part.done"){let S0=i({itemId:Y0.item_id,outputIndex:Y0.output_index}),v1=u[S0];if(v1!=null)if(F)r.enqueue({type:"reasoning-end",id:`${S0}:${Y0.summary_index}`,providerMetadata:{[U]:{itemId:S0}}}),v1.summaryParts[Y0.summary_index]="concluded";else v1.summaryParts[Y0.summary_index]="can-conclude"}else if(VS4(Y0)){if(!H0)z={unified:pU0({finishReason:(k$=Y0.response.incomplete_details)==null?void 0:k$.reason,hasFunctionCall:b}),raw:(Y8=(R4=Y0.response.incomplete_details)==null?void 0:R4.reason)!=null?Y8:void 0};if(A=(d6=Y0.response.usage)!=null?d6:void 0,typeof Y0.response.service_tier==="string")G0=Y0.response.service_tier;if(((c8=Y0.response.reasoning)==null?void 0:c8.context)!=null)I0=Y0.response.reasoning.context}else if(jL$(Y0)){let S0=(Z5=Y0.response.incomplete_details)==null?void 0:Z5.reason;if(z={unified:S0?pU0({finishReason:S0,hasFunctionCall:b}):"error",raw:S0!=null?S0:"error"},A=(g9=Y0.response.usage)!=null?g9:void 0,((a0=Y0.response.reasoning)==null?void 0:a0.context)!=null)I0=Y0.response.reasoning.context;if(!H0&&Y0.response.error!=null){H0=!0;let v1={type:"response.failed",sequence_number:Y0.sequence_number,response:{error:Y0.response.error,incomplete_details:Y0.response.incomplete_details,service_tier:Y0.response.service_tier}};r.enqueue({type:"error",error:(P1=I$0(v1))!=null?P1:v1})}}else if(fS4(Y0)){if(V.push(Y0.annotation),Y0.annotation.type==="url_citation")r.enqueue({type:"source",sourceType:"url",id:(L$=(o1=(d$=w.config).generateId)==null?void 0:o1.call(d$))!=null?L$:Z4(),url:Y0.annotation.url,title:Y0.annotation.title});else if(Y0.annotation.type==="file_citation")r.enqueue({type:"source",sourceType:"document",id:(B4=(D5=(h8=w.config).generateId)==null?void 0:D5.call(h8))!=null?B4:Z4(),mediaType:"text/plain",title:Y0.annotation.filename,filename:Y0.annotation.filename,providerMetadata:{[U]:{type:Y0.annotation.type,fileId:Y0.annotation.file_id,index:Y0.annotation.index}}});else if(Y0.annotation.type==="container_file_citation")r.enqueue({type:"source",sourceType:"document",id:(X8=(C8=(F$=w.config).generateId)==null?void 0:C8.call(F$))!=null?X8:Z4(),mediaType:"text/plain",title:Y0.annotation.filename,filename:Y0.annotation.filename,providerMetadata:{[U]:{type:Y0.annotation.type,fileId:Y0.annotation.file_id,containerId:Y0.annotation.container_id}}});else if(Y0.annotation.type==="file_path")r.enqueue({type:"source",sourceType:"document",id:(aQ=(P9=(E$=w.config).generateId)==null?void 0:P9.call(E$))!=null?aQ:Z4(),mediaType:"application/octet-stream",title:Y0.annotation.file_id,filename:Y0.annotation.file_id,providerMetadata:{[U]:{type:Y0.annotation.type,fileId:Y0.annotation.file_id,index:Y0.annotation.index}}})}else if(EL$(Y0))H0=!0,z={unified:"error",raw:"error"},r.enqueue({type:"error",error:(tZ=I$0(Y0))!=null?tZ:Y0})},flush(o){var r;for(let J0 of Object.values(S)){if(!(J0==null?void 0:J0.suppressInputStreaming))continue;o.enqueue({type:"tool-input-start",id:J0.toolCallId,toolName:J0.toolName});for(let u0 of(r=J0.bufferedInputDeltas)!=null?r:[])o.enqueue({type:"tool-input-delta",id:J0.toolCallId,delta:u0})}let Q0={[U]:{responseId:f,...M.length>0?{logprobs:M}:{},...G0!==void 0?{serviceTier:G0}:{},...I0!==void 0?{reasoningContext:I0}:{}}};o.enqueue({type:"finish",finishReason:z,usage:w51(A),providerMetadata:Q0})}})),request:{body:G},response:{headers:D}}}};zL$=W0(()=>e(s6.object({inputFileExpiresAfter:s6.number().int().min(3600).max(2592000).optional()})));U51=W0(()=>e(pL$())),lS4=W0(()=>e(s6.object({custom_id:s6.string(),response:s6.object({status_code:s6.number(),request_id:s6.string().nullish(),body:s6.unknown()}).nullish(),error:s6.object({code:s6.string(),message:s6.string()}).nullish()}))),mS4=W0(()=>e(s6.object({data:s6.array(pL$()),has_more:s6.boolean(),last_id:s6.string().nullish()})));iS4=new Set(["openai.code_interpreter","openai.custom","openai.file_search","openai.web_search","openai.web_search_preview"]);sS4=I6.strictObject({type:I6.string(),responseEvent:I6.string().optional()}).refine(($)=>$.type==="response.event"===($.responseEvent!==void 0),"responseEvent is required for response.event and forbidden for other event types."),aS4=I6.strictObject({client:I6.strictObject({dataChannel:I6.strictObject({allowedClientEvents:I6.union([I6.literal("all"),I6.array(I6.string())]).optional(),allowedServerEvents:I6.union([I6.literal("all"),I6.array(sS4)]).optional()})}).optional(),delegation:I6.strictObject({type:I6.literal("client")}).nullable().optional(),input:I6.array(I6.discriminatedUnion("role",[I6.strictObject({type:I6.literal("message"),role:I6.enum(["developer","user"]),content:I6.tuple([I6.strictObject({type:I6.literal("input_text"),text:I6.string()})])}),I6.strictObject({type:I6.literal("message"),role:I6.literal("assistant"),content:I6.tuple([I6.strictObject({type:I6.enum(["text","output_text"]),text:I6.string()})])})])).max(128).optional(),store:I6.boolean().optional(),voice:I6.strictObject({id:I6.string().min(1)}).optional()}),AL$=_K.union([_K.strictObject({type:_K.literal("audio/pcm"),rate:_K.union([_K.literal(16000),_K.literal(24000)])}),_K.strictObject({type:_K.enum(["audio/pcma","audio/pcmu"]),rate:_K.literal(8000)})]);S51=l$.object({id:l$.string().min(1)}),rS4=S51.extend({delegation:l$.object({type:l$.enum(["client","responses"])}).nullish()}),TL$=l$.object({seconds:l$.number().nonnegative()}),qL$={delta:l$.string(),start_ms:l$.number().nonnegative(),end_ms:l$.number().nonnegative()},nU0={client_event_id:l$.string().nullish()},N51={...nU0,start_ms:l$.number().nonnegative(),end_ms:l$.number().nonnegative()},nL$=l$.discriminatedUnion("type",[l$.object({type:l$.literal("session.started"),session:rS4}),l$.object({type:l$.literal("session.closed"),session:S51.nullish(),usage:TL$,reason:l$.string()}),l$.object({type:l$.literal("session.usage.updated"),usage:TL$,context_window:l$.object({usage_ratio:l$.number().min(0).max(1)}).nullish()}),l$.object({type:l$.literal("session.output_audio.delta"),delta:l$.string()}),l$.object({type:l$.literal("session.input_transcript.delta"),...qL$}),l$.object({type:l$.literal("session.output_transcript.delta"),...qL$}),l$.object({type:l$.literal("session.delegation.created"),offset_ms:l$.number().nonnegative().nullish(),delegation:l$.object({id:l$.string().min(1),target:l$.enum(["client","responses"]).nullish(),response_id:l$.string().min(1).nullish()})}),l$.object({type:l$.literal("session.updated"),session:S51,...nU0}),l$.object({type:l$.literal("session.input_audio.muted"),...nU0}),l$.object({type:l$.literal("session.input_audio.unmuted"),...nU0}),l$.object({type:l$.literal("session.instructions.appended"),...N51}),l$.object({type:l$.literal("session.thinking.appended"),...N51}),l$.object({type:l$.literal("session.commentary.appended"),...N51}),l$.object({type:l$.literal("error"),error:l$.object({message:l$.string(),code:l$.string().nullish(),client_event_id:l$.string().nullish()})})]),eS4=new Set(nL$.options.map(($)=>$.shape.type.value)),$_4=l$.object({type:l$.string()});X_4=jq.object({session:jq.object({id:jq.string().min(1)}),transport:jq.object({type:jq.literal("webrtc"),sdp:jq.string().min(1)})});K_4=["gpt-live-1"];U_4=W0(()=>e(B51.object({instructions:B51.string().nullish(),speed:B51.number().min(0.25).max(4).default(1).nullish()}))),N_4=class ${constructor(Z,Q){this.modelId=Z,this.config=Q,this.specificationVersion="v4"}static[W4](Z){return f4({modelId:Z.modelId,config:Z.config})}static[K4](Z){return new $(Z.modelId,Z.config)}get provider(){return this.config.provider}async getArgs({text:Z,voice:Q="alloy",outputFormat:Y="mp3",speed:X,instructions:J,language:G,providerOptions:W}){let K=[],H=await x$({provider:"openai",providerOptions:W,schema:U_4}),F={model:this.modelId,input:Z,voice:Q,response_format:"mp3",speed:X,instructions:J};if(Y)if(["mp3","opus","aac","flac","wav","pcm"].includes(Y))F.response_format=Y;else K.push({type:"unsupported",feature:"outputFormat",details:`Unsupported output format: ${Y}. Using mp3 instead.`});if(H){let U={};for(let N in U){let B=U[N];if(B!==void 0)F[N]=B}}if(G)K.push({type:"unsupported",feature:"language",details:`OpenAI speech models do not support language selection. Language parameter "${G}" was ignored.`});return{requestBody:F,warnings:K}}async doGenerate(Z){var Q,Y,X,J,G;let W=(X=(Y=(Q=this.config._internal)==null?void 0:Q.currentDate)==null?void 0:Y.call(Q))!=null?X:new Date,{requestBody:K,warnings:H}=await this.getArgs(Z),{value:F,responseHeaders:U,rawValue:N}=await J$({url:this.config.url({path:"/audio/speech",modelId:this.modelId}),headers:_1((G=(J=this.config).headers)==null?void 0:G.call(J),Z.headers),body:K,failedResponseHandler:p9,successfulResponseHandler:kF$(),abortSignal:Z.abortSignal,fetch:this.config.fetch});return{audio:F,warnings:H,request:{body:JSON.stringify(K)},response:{timestamp:W,modelId:this.modelId,headers:U,body:N}}}},B_4=W0(()=>e(J5.object({text:J5.string(),language:J5.string().nullish(),duration:J5.number().nullish(),words:J5.array(J5.object({word:J5.string(),start:J5.number(),end:J5.number()})).nullish(),segments:J5.array(J5.union([J5.object({id:J5.number(),seek:J5.number(),start:J5.number(),end:J5.number(),text:J5.string(),tokens:J5.array(J5.number()),temperature:J5.number(),avg_logprob:J5.number(),compression_ratio:J5.number(),no_speech_prob:J5.number()}),J5.object({type:J5.literal("transcript.text.segment"),id:J5.string(),start:J5.number(),end:J5.number(),text:J5.string(),speaker:J5.string()})])).nullish()}))),ML$=W0(()=>e(P7.object({include:P7.array(P7.string()).optional(),language:P7.string().optional(),prompt:P7.string().optional(),temperature:P7.number().min(0).max(1).default(0).optional(),timestampGranularities:P7.array(P7.enum(["word","segment"])).default(["segment"]).optional(),responseFormat:P7.enum(["json","verbose_json","diarized_json"]).optional(),chunkingStrategy:P7.union([P7.literal("auto"),P7.object({type:P7.literal("server_vad"),threshold:P7.number().min(0).max(1).optional(),prefixPaddingMs:P7.number().int().min(0).optional(),silenceDurationMs:P7.number().int().min(0).optional()})]).optional(),streaming:P7.object({delay:P7.enum(["minimal","low","medium","high","xhigh"]).optional(),include:P7.array(P7.string()).optional()}).optional()})));IL$={afrikaans:"af",arabic:"ar",armenian:"hy",azerbaijani:"az",belarusian:"be",bosnian:"bs",bulgarian:"bg",catalan:"ca",chinese:"zh",croatian:"hr",czech:"cs",danish:"da",dutch:"nl",english:"en",estonian:"et",finnish:"fi",french:"fr",galician:"gl",german:"de",greek:"el",hebrew:"he",hindi:"hi",hungarian:"hu",icelandic:"is",indonesian:"id",italian:"it",japanese:"ja",kannada:"kn",kazakh:"kk",korean:"ko",latvian:"lv",lithuanian:"lt",macedonian:"mk",malay:"ms",marathi:"mr",maori:"mi",nepali:"ne",norwegian:"no",persian:"fa",polish:"pl",portuguese:"pt",romanian:"ro",russian:"ru",serbian:"sr",slovak:"sk",slovenian:"sl",spanish:"es",swahili:"sw",swedish:"sv",tagalog:"tl",tamil:"ta",thai:"th",turkish:"tr",ukrainian:"uk",urdu:"ur",vietnamese:"vi",welsh:"cy"},D_4=class ${constructor(Z,Q){this.modelId=Z,this.config=Q,this.specificationVersion="v4"}static[W4](Z){return f4({modelId:Z.modelId,config:Z.config})}static[K4](Z){return new $(Z.modelId,Z.config)}get provider(){return this.config.provider}async getArgs({audio:Z,mediaType:Q,providerOptions:Y}){var X,J;let G=[],W=await x$({provider:"openai",providerOptions:Y,schema:ML$}),K=new FormData,H=Z instanceof Uint8Array?new Blob([Z]):new Blob([WZ(Z)]);K.append("model",this.modelId);let F=EF$(Q);if(K.append("file",new File([H],"audio",{type:Q}),`audio.${F}`),this.modelId==="whisper-1")K.append("response_format","verbose_json");let U=this.modelId==="gpt-4o-transcribe-diarize",N=(X=W==null?void 0:W.chunkingStrategy)!=null?X:U?"auto":void 0;if(W){let B=["gpt-4o-transcribe","gpt-4o-mini-transcribe"].includes(this.modelId),D={include:W.include,language:W.language,prompt:W.prompt,...this.modelId!=="whisper-1"&&{response_format:(J=W.responseFormat)!=null?J:U?"diarized_json":B?"json":"verbose_json"},temperature:W.temperature,timestamp_granularities:W.timestampGranularities};for(let[O,j]of Object.entries(D))if(j!=null)if(Array.isArray(j))for(let w of j)K.append(`${O}[]`,String(w));else K.append(O,String(j))}else if(U)K.append("response_format","diarized_json");if(N!=null)K.append("chunking_strategy",typeof N==="string"?N:JSON.stringify({type:N.type,...N.threshold!=null&&{threshold:N.threshold},...N.prefixPaddingMs!=null&&{prefix_padding_ms:N.prefixPaddingMs},...N.silenceDurationMs!=null&&{silence_duration_ms:N.silenceDurationMs}}));return{formData:K,warnings:G}}async doGenerate(Z){var Q,Y,X,J,G,W,K,H,F,U,N;if(VL$(this.modelId))throw new X$({functionality:`non-streaming transcription with ${this.modelId}`});let B=(X=(Y=(Q=this.config._internal)==null?void 0:Q.currentDate)==null?void 0:Y.call(Q))!=null?X:new Date,{formData:D,warnings:O}=await this.getArgs(Z),{value:j,responseHeaders:w,rawValue:E}=await qK({url:this.config.url({path:"/audio/transcriptions",modelId:this.modelId}),headers:_1((G=(J=this.config).headers)==null?void 0:G.call(J),Z.headers),formData:D,failedResponseHandler:p9,successfulResponseHandler:V1(B_4),abortSignal:Z.abortSignal,fetch:this.config.fetch}),P=j.language!=null&&j.language in IL$?IL$[j.language]:void 0,T=(W=j.segments)==null?void 0:W.flatMap((z)=>("speaker"in z)?[{text:z.text,startSecond:z.start,endSecond:z.end,speaker:z.speaker}]:[]);return{text:j.text,segments:(U=(F=(K=j.segments)==null?void 0:K.map((z)=>({text:z.text,startSecond:z.start,endSecond:z.end})))!=null?F:(H=j.words)==null?void 0:H.map((z)=>({text:z.word,startSecond:z.start,endSecond:z.end})))!=null?U:[],language:P,durationInSeconds:(N=j.duration)!=null?N:void 0,warnings:O,response:{timestamp:B,modelId:this.modelId,headers:w,body:E},...T!=null&&T.length>0&&{providerMetadata:{openai:{segments:T}}}}}async doStream(Z){var Q,Y,X,J,G,W,K;if(!VL$(this.modelId))throw new X$({functionality:`streaming transcription with ${this.modelId}`});let H=(X=(Y=(Q=this.config._internal)==null?void 0:Q.currentDate)==null?void 0:Y.call(Q))!=null?X:new Date,F=await x$({provider:"openai",providerOptions:Z.providerOptions,schema:ML$}),U=[],N=(G=(J=Z.providerOptions)==null?void 0:J.openai)!=null?G:{};for(let O of["include","prompt","temperature","timestampGranularities"])if(N[O]!=null)U.push({type:"unsupported",feature:`providerOptions.openai.${O}`,details:`OpenAI streaming transcription does not support ${O}.`});let B=_1((K=(W=this.config).headers)==null?void 0:K.call(W),Z.headers),D=O_4({modelId:this.modelId,inputAudioFormat:Z.inputAudioFormat,providerOptions:F});return{request:{body:D},response:{timestamp:H,modelId:this.modelId},stream:L_4({webSocket:this.config.webSocket,url:PF0(this.config.url({path:"/realtime?intent=transcription",modelId:this.modelId})),headers:B,sessionUpdate:D,language:F==null?void 0:F.language,warnings:U,audio:Z.audio,abortSignal:Z.abortSignal,includeRawChunks:Z.includeRawChunks})}}};E_4=W0(()=>e(w_4.object({}))),P_4=class ${constructor(Z,Q){this.modelId=Z,this.config=Q,this.specificationVersion="v4"}static[W4](Z){return f4({modelId:Z.modelId,config:Z.config})}static[K4](Z){return new $(Z.modelId,Z.config)}get provider(){return this.config.provider}async doStream(Z){var Q,Y,X,J,G;if(Z.targetLanguage==null)throw new l8({argument:"targetLanguage",message:`targetLanguage is required for translation model '${this.modelId}'.`});let W=(X=(Y=(Q=this.config._internal)==null?void 0:Q.currentDate)==null?void 0:Y.call(Q))!=null?X:new Date;await x$({provider:"openai",providerOptions:Z.providerOptions,schema:E_4});let K=[];if(T_4(Z.inputAudioFormat),Z.sourceLanguage!=null)K.push({type:"unsupported",feature:"sourceLanguage",details:"The OpenAI Realtime translation API auto-detects the source language and does not accept a source language."});if(Z.outputAudioFormat!=null)K.push({type:"unsupported",feature:"outputAudioFormat",details:"The OpenAI Realtime translation API always outputs 24kHz 16-bit PCM audio and does not accept an output audio format."});let H=_1((G=(J=this.config).headers)==null?void 0:G.call(J),Z.headers),F=A_4({targetLanguage:Z.targetLanguage});return{request:{body:F},response:{timestamp:W,modelId:this.modelId},stream:z_4({webSocket:this.config.webSocket,url:PF0(this.config.url({path:`/realtime/translations?model=${encodeURIComponent(this.modelId)}`,modelId:this.modelId})),headers:H,sessionUpdate:F,warnings:K,audio:Z.audio,abortSignal:Z.abortSignal,includeRawChunks:Z.includeRawChunks})}}};R_4=W0(()=>e(ZW.object({id:ZW.string(),name:ZW.string().nullish(),description:ZW.string().nullish(),default_version:ZW.string().nullish(),latest_version:ZW.string().nullish(),created_at:ZW.number(),updated_at:ZW.number().nullish()}))),MK9=W0(()=>e(ZW.object({id:ZW.string(),version:ZW.string().nullish(),name:ZW.string().nullish(),description:ZW.string().nullish()})));VK9=wq()});function k_4($){return HN("LLMAPI listModels",`${oL$}/models`,{headers:{Authorization:`Bearer ${$||"not-needed"}`},signal:AbortSignal.timeout(15000)})}var oL$="https://api.llmapi.ai/v1",I_4="https://llmapi.ai/wp-content/uploads/2026/01/Frame-2085662993.png",sL$;var aL$=L(()=>{oU0();PT();sL$={info:{id:"llmapi",name:"LLMAPI",description:"One API key, 400+ models across every provider",logo:I_4},supportedMethods:["api-key"],create($){let Z=wq({apiKey:$||"not-needed",baseURL:oL$,name:"llmapi"}),Q=Object.assign((...Y)=>Z.chat(...Y),Z,{languageModel:Z.chat});return{info:this.info,aiSdk:Q,async listModels(){let Y=await k_4($);if(!Y.ok)await WX("LLMAPI listModels",Y);let{data:X}=await BY("LLMAPI listModels",Y);return X.filter((J)=>typeof J.id==="string"&&J.id.length>0).map((J)=>{let G=J.architecture??{},W=!!J.reasoning_levels?.length||!!J.providers?.some((K)=>K.reasoning);return{providerId:"llmapi",modelId:J.id,title:J.name||J.id,description:J.description??null,logo:null,capabilities:Vc(G.input_modalities??[],G.output_modalities??[],J.supported_parameters,W?["reasoning"]:[]),limits:{contextWindow:J.context_length??0,maxOutputTokens:null},costs:{input:Number(J.pricing?.prompt)||0,output:Number(J.pricing?.completion)||0}}})}}}}});function C_4($,Z){return HN("OpenAI-compatible listModels",`${$}/models`,{headers:Z,signal:AbortSignal.timeout(15000)})}function S_4($){let Z=JSON.parse($);if(!Z.baseUrl||typeof Z.baseUrl!=="string")throw Error("Invalid OpenAI-compatible credential: missing baseUrl field");let Q=Z.baseUrl.replace(/\/+$/,"");if(!Q.endsWith("/v1"))Q+="/v1";return{baseUrl:Q,apiKey:Z.apiKey??""}}var __4="https://assets.decocache.com/decocms/d138aa7e-5b8c-4821-9e64-6aff40df2cdc/ChatGPT_logo.svg",rL$;var eL$=L(()=>{oU0();PT();rL$={info:{id:"openai-compatible",name:"OpenAI Compatible",description:"Custom OpenAI-compatible endpoint",logo:__4},supportedMethods:["api-key"],create($){let{baseUrl:Z,apiKey:Q}=S_4($),Y=wq({baseURL:Z,apiKey:Q||"not-needed",name:"openai-compatible"}),X=Object.assign((...J)=>Y.chat(...J),Y,{languageModel:Y.chat});return{info:this.info,aiSdk:X,async listModels(){let J={};if(Q)J.Authorization=`Bearer ${Q}`;let G=await C_4(Z,J);if(!G.ok)await WX("OpenAI-compatible listModels",G);return(await BY("OpenAI-compatible listModels",G)).data.filter((K)=>typeof K.id==="string"&&K.id.length>0).map((K)=>({providerId:"openai-compatible",modelId:K.id,title:K.id,description:K.owned_by?`Owned by ${K.owned_by}`:null,logo:null,capabilities:[],limits:null,costs:null}))}}}}});function k9(){return{...B0().aiGatewayEnabled&&{deco:Y00},anthropic:nB$,google:nD$,openrouter:kK0,llmapi:sL$,"openai-compatible":rL$}}var vK=L(()=>{tB$();tD$();aL$();eL$();M01();X00();l1()});function x_4($,Z,Q){RL($,Z,Q)}function f_4($,Z,Q){ML($,Z,Q)}function f51($){C$0.delete($)}async function sU0($,Z){if(!B0().plansEnabled)return null;if(!B0().aiGatewayEnabled)return null;let Q=C$0.get(Z);if(Q&&Date.now()-Q.at<ZO$)return Q.value;let Y=x51.get(Z);if(Y)return Y;let X=y_4($,Z,Q).finally(()=>{x51.delete(Z)});return x51.set(Z,X),X}async function y_4($,Z,Q){let Y=k9().deco;if(!Y?.getEntitlements)return null;if(!$)return $O$(Z,Q);try{let X=await ZX($),{features:J,usage:G,modelPins:W,credits:K}=await Y.getEntitlements(X,Z);if(!J||typeof J!=="object")throw new zT(502);let H={features:J,modelPins:W,usageState:G?.state??null,creditsUsd:K?.remainingUsd??null};return x_4(C$0,Z,H),f_4(C$0,b_4,ZO$),H}catch(X){let J=X instanceof zT&&X.isDefinitive,G=X instanceof zT&&X.isDormant,W={organizationId:Z,servedStale:!!Q,status:X instanceof zT?X.status:null,error:X instanceof Error?X.message:String(X)};if(G);else if(J)console.error("[Plans] entitlements REFUSED by the gateway \u2014 gates fail OPEN for every org until this is fixed (check STUDIO_JWT_SECRET and STUDIO_PROVISION_SECRET_KEY against the gateway's MESH_JWT_SECRET and STUDIO_PROVISION_KEY)",W);else console.warn("[Plans] entitlements lookup failed (gateway unreachable) \u2014 gates fail OPEN",W);return $O$(Z,Q)}}function $O$($,Z){if(Z&&Date.now()-Z.at>=v_4)return C$0.delete($),null;return Z?.value??null}async function qQ($,Z,Q){let Y=await sU0(y51($),Z);return g51(Y?.features??null,Q)}async function QO$($,Z,Q){let Y=await sU0($,Z);return g51(Y?.features??null,Q)}function y51($){return $.auth.user?.id??$.auth.apiKey?.userId}function g51($,Z){if(!$)return!0;return $[Z]===!0}function g_4($,Z){if($!=="exhausted")return!1;return!(Z!==null&&Z>0)}async function bK($,Z,Q){let Y=await sU0(y51($),Z);if(!g_4(Y?.usageState??null,Y?.creditsUsd??null))return;throw new aU0(`${Q} is paused: this organization has used its monthly AI allowance`)}async function YO$($,Z,Q){let Y=await sU0(y51($),Z);if(!Y)return null;if(g51(Y.features,"model_choice"))return null;return Y.modelPins?.[Q]??null}var iN,ZO$=60000,v_4=600000,C$0,b_4=1e4,x51,aU0;var _3=L(()=>{jQ();vK();X00();oU();l1();iN=class iN extends N6{feature;code="feature_not_in_plan";constructor($,Z){super($);this.feature=Z;this.name="FeatureNotInPlanError"}};C$0=new Map;x51=new Map;aU0=class aU0 extends N6{code="ai_budget_exhausted";constructor($){super($);this.name="AiBudgetExhaustedError"}}});function XO$($){let{ctx:Z,toolName:Q,organizationId:Y,durationMs:X,isError:J}=$,G={"tool.name":Q,"organization.id":Y,status:J?"error":"success"};Z.meter.createHistogram("studio_tool.execution.duration",{description:"Duration of in-process Studio tool executions in milliseconds",unit:"ms"}).record(X,G),Z.meter.createCounter("studio_tool.execution.count",{description:"Number of in-process Studio tool executions"}).add(1,G)}import{SpanStatusCode as JO$}from"@opentelemetry/api";function l($){return{...$,execute:async(Z,Q,Y)=>{let X=performance.now(),J=!1;return await Q.timings.measure(`tool.${$.name}`,async()=>Q.tracer.startActiveSpan(`tool.${$.name}`,{attributes:{"tool.name":$.name,"organization.id":Q.organization?.id??"system","user.id":Q.auth.user?.id??Q.auth.apiKey?.userId??"anonymous"}},async(G)=>{try{Q.toolName=$.name,Q.access.setToolName?.($.name);let W=Q.organization?.id;if(W&&!bK$($.name)&&await BF0(Q.db,W))throw new s00(`This organization is blocked: ${$.name} is unavailable until the block is resolved`);if(($.requiresFeature||$.requiresAiBudget)&&!W)console.warn(`[Plans] ${$.name} declares a plan gate but no organization is in scope \u2014 running UNGATED`);if($.requiresFeature&&W&&!await qQ(Q,W,$.requiresFeature))throw new iN(`${$.name} needs the ${$.requiresFeature} feature, which this organization's plan does not include`,$.requiresFeature);if($.requiresAiBudget&&W)await bK(Q,W,$.name);let K=await $.handler(Z,Q,Y);return G.setStatus({code:JO$.OK}),K}catch(W){throw J=!0,G.setStatus({code:JO$.ERROR,message:W.message}),G.recordException(W),W}finally{XO$({ctx:Q,toolName:$.name,organizationId:Q.organization?.id??"system",durationMs:performance.now()-X,isError:J}),G.end()}}))}}}var A0=L(()=>{dT();_3()});function Z0($){if(!$.organization)throw Error("This operation requires organization scope");return $.organization}function k0($){return $.auth.user?.id??$.auth.apiKey?.userId}function pN($){return!!($.auth.user||$.auth.apiKey)}function t($){if(!pN($))throw Error("Authentication required")}import{z as F4}from"zod";var WO$,GO$=1000,h_4=500,KO$,HO$,FO$,UO$,NO$,BO$,DO$,LO$,OO$,jO$;var ad=L(()=>{WO$=F4.record(F4.string(),F4.array(F4.string())),KO$=F4.record(F4.string(),F4.array(F4.string()).max(h_4)).refine(($)=>Object.keys($).length<=GO$,{message:`Permissions cannot grant more than ${GO$} resources`}),HO$=F4.object({id:F4.string().describe("Unique identifier for the API key"),name:F4.string().describe("Human-readable name for the API key"),userId:F4.string().describe("ID of the user who owns this API key"),permissions:WO$.describe('Permissions granted to this API key. Format: { resource: [actions] } where resource is "self" for management tools or "conn_<UUID>" for connection-specific tools. Example: { "self": ["API_KEY_CREATE"], "conn_abc123": ["SEND_MESSAGE"] }'),expiresAt:F4.string().datetime().nullable().optional().describe("Expiration date of the API key (ISO 8601)"),createdAt:F4.string().datetime().describe("When the API key was created (ISO 8601)")}),FO$=F4.object({name:F4.string().min(1).max(64).describe("Human-readable name for the API key"),permissions:KO$.describe(`Permissions to grant (REQUIRED \u2014 there is no implicit default). Format: { resource: [actions] }. Resource is "self" for management tools or "conn_<UUID>" for connection-specific tools. Actions are tool names (e.g., ["ORGANIZATION_GET"]) or ["*"] for all. Example: { "self": ["ORGANIZATION_GET", "COLLECTION_CONNECTIONS_LIST"] }. The key is authorized solely by this allowlist; the creator's role does not widen it.`),expiresIn:F4.number().positive().optional().describe("Expiration time in seconds. If not provided, key never expires."),metadata:F4.record(F4.string(),F4.unknown()).optional().describe("Additional metadata to store with the API key")}),UO$=F4.object({id:F4.string().describe("Unique identifier for the API key"),name:F4.string().describe("Human-readable name for the API key"),key:F4.string().describe("The actual API key value. STORE THIS SECURELY - it will not be shown again!"),permissions:WO$.describe('Permissions granted to this API key. Format: { resource: [actions] } where resource is "self" for management tools or "conn_<UUID>" for connection-specific tools'),expiresAt:F4.string().datetime().nullable().optional().describe("Expiration date of the API key (ISO 8601)"),createdAt:F4.string().datetime().describe("When the API key was created (ISO 8601)")}),NO$=F4.object({}),BO$=F4.object({items:F4.array(HO$).describe("List of API keys (without key values)")}),DO$=F4.object({keyId:F4.string().describe("ID of the API key to update"),name:F4.string().min(1).max(64).optional().describe("New name for the API key"),permissions:KO$.optional().describe('New permissions. Format: { resource: [actions] } where resource is "self" for management tools or "conn_<UUID>" for connection-specific tools. Actions are tool names or "*" for all. Example: { "self": ["API_KEY_CREATE"] }. Replaces existing permissions.'),metadata:F4.record(F4.string(),F4.unknown()).optional().describe("New metadata. Replaces existing metadata.")}),LO$=F4.object({item:HO$.describe("The updated API key (without key value)")}),OO$=F4.object({keyId:F4.string().describe("ID of the API key to delete")}),jO$=F4.object({success:F4.boolean().describe("Whether the deletion was successful"),keyId:F4.string().describe("ID of the deleted API key")})});var h51;var wO$=L(()=>{W6();A0();ad();h51=l({name:"API_KEY_CREATE",description:"Create an API key with scoped permissions. The key value is returned only once \u2014 store it immediately.",annotations:{title:"Create API Key",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:FO$,outputSchema:UO$,handler:async($,Z)=>{t(Z),await Z.access.check();let Q=await Z.boundAuth.apiKey.create({name:$.name,permissions:$.permissions,expiresIn:$.expiresIn,metadata:{...$.metadata,organization:Z.organization}}),Y=Q.expiresAt?Q.expiresAt instanceof Date?Q.expiresAt.toISOString():Q.expiresAt:null,X=Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt,J=k0(Z);if(J)m1.capture({distinctId:J,event:"api_key_created",...Z.organization?.id?{groups:{organization:Z.organization.id}}:{},properties:{key_id:Q.id,key_name:Q.name??$.name,organization_id:Z.organization?.id,has_expiry:!!Y}});return{id:Q.id,name:Q.name??$.name,key:Q.key,permissions:Q.permissions??{},expiresAt:Y,createdAt:X}}})});var u51;var EO$=L(()=>{W6();A0();ad();u51=l({name:"API_KEY_DELETE",description:"Delete and instantly revoke an API key. Cannot be undone.",annotations:{title:"Delete API Key",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:OO$,outputSchema:jO$,handler:async($,Z)=>{t(Z),await Z.access.check();let Q=k0(Z);if(!Q)throw Error("User ID required to delete API key");let X=(await Z.boundAuth.apiKey.list())?.find((K)=>K.id===$.keyId);if(!X)throw Error("API key not found");let G=X.metadata?.organization?.id,W=Z.organization?.id;if(G!==W)throw Error("Cannot delete API key from another organization");if(await Z.boundAuth.apiKey.delete($.keyId),W)m1.capture({distinctId:Q,event:"api_key_deleted",groups:{organization:W},properties:{key_id:$.keyId,organization_id:W}});return{success:!0,keyId:$.keyId}}})});var l51;var PO$=L(()=>{A0();ad();l51=l({name:"API_KEY_LIST",description:"List API keys for the current user in the current organization. Returns metadata only \u2014 key values are never shown after creation.",annotations:{title:"List API Keys",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:NO$,outputSchema:BO$,handler:async($,Z)=>{t(Z),await Z.access.check();let Q=await Z.boundAuth.apiKey.list(),Y=Z.organization?.id;return{items:(Q??[]).filter((J)=>{return J.metadata?.organization?.id===Y}).map((J)=>({id:J.id,name:J.name??"Unnamed Key",userId:J.userId,permissions:J.permissions??{},expiresAt:J.expiresAt?J.expiresAt instanceof Date?J.expiresAt.toISOString():J.expiresAt:null,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt}))}}})});var m51;var zO$=L(()=>{A0();ad();m51=l({name:"API_KEY_UPDATE",description:"Update an API key's name, permissions, or metadata. The key value cannot be changed or retrieved.",annotations:{title:"Update API Key",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:DO$,outputSchema:LO$,handler:async($,Z)=>{if(t(Z),await Z.access.check(),!k0(Z))throw Error("User ID required to update API key");let X=(await Z.boundAuth.apiKey.list())?.find((H)=>H.id===$.keyId);if(!X)throw Error(`API key not found: ${$.keyId}`);let G=X.metadata?.organization?.id,W=Z.organization?.id;if(G!==W)throw Error("Cannot update API key from another organization");let K=await Z.boundAuth.apiKey.update({keyId:$.keyId,name:$.name,permissions:$.permissions,metadata:{...$.metadata,organization:Z.organization}});if(!K)throw Error(`Failed to update API key: ${$.keyId}`);return{item:{id:K.id,name:K.name??$.name??"Unnamed Key",userId:K.userId,permissions:K.permissions??{},expiresAt:K.expiresAt?K.expiresAt instanceof Date?K.expiresAt.toISOString():K.expiresAt:null,createdAt:K.createdAt instanceof Date?K.createdAt.toISOString():K.createdAt}}}})});var AO$=L(()=>{wO$();EO$();PO$();zO$();ad()});function cL($){let Z=$.trim();if(!Z)return{ok:!1,error:"Enter a website URL."};let Q=l_4.test(Z),Y=m_4.test(Z),X=c_4.test(Z);if(Q&&!Y&&!X)return{ok:!1,error:"Use an HTTP or HTTPS website URL."};let J=Y?Z:`https://${Z}`,G;try{G=new URL(J)}catch{return{ok:!1,error:"Enter a valid website URL."}}if(G.protocol!=="http:"&&G.protocol!=="https:")return{ok:!1,error:"Use an HTTP or HTTPS website URL."};let W=G.hostname.split(".");if(W.length<2||W.some((K)=>!K||!d_4.test(K)))return{ok:!1,error:"Enter a valid website URL."};return G.protocol="https:",{ok:!0,value:G.origin}}function c51($){if(!$)return null;let Z=cL($);return Z.ok?new URL(Z.value).hostname:null}var l_4,m_4,c_4,d_4;var rd=L(()=>{l_4=/^[a-zA-Z][a-zA-Z\d+.-]*:/,m_4=/^[a-zA-Z][a-zA-Z\d+.-]*:\/\//,c_4=/^[^\s/:?#]+\.[^\s/:?#]+:\d+(?:[/?#]|$)/,d_4=/^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$/i});import{z as v3}from"zod";function rU0($){return{repository_id:$.repositoryId,provider:$.provider,host:$.host,path:$.path,default_branch:$.defaultBranch??null,web_url:$.webUrl??null}}function TO$($){let Z=i_4.safeParse($);if(!Z.success)return null;return{repositoryId:Z.data.repository_id,provider:Z.data.provider,host:Z.data.host,path:Z.data.path,defaultBranch:Z.data.default_branch??null,webUrl:Z.data.web_url??null}}function eU0($){return $.provider==="github"&&$.host.toLowerCase()==="github.com"?$.path:null}var d51,i_4;var $N0=L(()=>{d51=v3.object({repositoryId:v3.string().min(1),provider:v3.enum(["github","gitlab","bitbucket"]),host:v3.string().min(1),path:v3.string().min(1),defaultBranch:v3.string().nullable().optional(),webUrl:v3.string().nullable().optional()}),i_4=v3.object({repository_id:v3.string().min(1),provider:v3.enum(["github","gitlab","bitbucket"]),host:v3.string().min(1),path:v3.string().min(1),default_branch:v3.string().nullable().optional(),web_url:v3.string().nullable().optional()})});import{z as RQ}from"zod";function xK($){if($.baseUrl)return $.baseUrl.replace(/\/+$/,"");return(($.settings??B0()).reportsInternalApiUrl??p_4).replace(/\/+$/,"")}function RO$($={}){return`${xK($)}/api/v2/mcp`}function dE($){let Z=$.apiKey??($.settings??B0()).reportsInternalApiKey;if(!Z)throw Error("REPORTS_INTERNAL_API_KEY (or the legacy COMMERCE_DISCOVERY_INTERNAL_API_KEY) is required to set up reports.");return Z}function S$0($){return new URL($).hostname}function t_4($){return $==="ownership_unverified"||$==="already_claimed_by_other_org"}function o_4($,Z={}){switch($){case"ownership_unverified":{let Q=Z.email?`O e-mail ${Z.email}`:"Este e-mail",Y=Z.domain?` ${Z.domain}`:" este site";return`${Q} n\xE3o tem permiss\xE3o para reivindicar${Y}. Use um e-mail do dom\xEDnio do site ou pe\xE7a ao suporte para autorizar seu dom\xEDnio.`}case"already_claimed_by_other_org":return"Este site j\xE1 pertence a outra organiza\xE7\xE3o. Fale com o suporte para transferir o acesso.";case"unknown":return"N\xE3o foi poss\xEDvel configurar o Reports. Tente novamente ou fale com o suporte.";default:return $}}async function s_4($){let Z=await ed($);return t_4(Z?.error)?Z.error:"unknown"}async function ed($){let Z=await $.text().catch(()=>"");if(!Z)return;try{return JSON.parse(Z)}catch{return}}async function QN0($){let Z=`Reports auth failed with status ${$.status}.`,Q=await $.text().catch(()=>"");if(!Q)return Z;try{let Y=JSON.parse(Q),X=typeof Y.error==="string"?Y.error:typeof Y.message==="string"?Y.message:null;return X?`Reports auth failed: ${X}.`:Z}catch{return Z}}async function VO$($,Z={}){let Q=xK(Z),Y=dE(Z),X=Z.fetchImpl??fetch,J=S$0($.siteUrl),G=`${Q}/api/v2/internal/diagnostics/${encodeURIComponent(J)}/upgrade`,W=await X(G,{method:"POST",headers:{Authorization:`Bearer ${Y}`,"Content-Type":"application/json"},body:JSON.stringify({org_id:$.orgId,...$.orgName?{name:$.orgName}:{},...$.email?{email:$.email}:{},...$.reportUrl?{report_url:$.reportUrl}:{}}),signal:AbortSignal.timeout(ZN0)});if(!W.ok){let H=await s_4(W);throw new MO$(H,{email:$.email,domain:J})}let K=n_4.safeParse(await ed(W));if(!K.success)throw Error("Reports auth response did not include a token.");return{authorizationToken:K.data.token}}async function IO$($,Z={}){let Q=xK(Z),Y=dE(Z),X=Z.fetchImpl??fetch,J=S$0($.siteUrl),G=`${Q}/api/v2/internal/diagnostics/${encodeURIComponent(J)}/bindings`,W=await X(G,{method:"POST",headers:{Authorization:`Bearer ${Y}`,"Content-Type":"application/json"},body:JSON.stringify({org_id:$.orgId,provider:$.provider,resource_id:$.resourceId}),signal:AbortSignal.timeout(ZN0)});if(W.status===409)return{ok:!1,reason:"resource_already_bound",detail:"Este recurso j\xE1 est\xE1 vinculado a outra loja. Se ele \xE9 seu, fale com o suporte para revis\xE3o manual."};if(W.status===422){let H=qO$.safeParse(await ed(W));return{ok:!1,reason:H.success?H.data.reason??"verification_failed":"verification_failed",detail:(H.success?H.data.detail:void 0)??"N\xE3o foi poss\xEDvel verificar o acesso a este recurso."}}if(!W.ok)throw Error(await QN0(W));let K=qO$.safeParse(await ed(W));if(!K.success||!K.data.binding)throw Error("Reports bind response did not include a binding.");return{ok:!0,resourceId:K.data.binding.resource_id,evidence:K.data.binding.evidence}}async function kO$($,Z={}){let Q=xK(Z),Y=dE(Z),X=Z.fetchImpl??fetch,J=S$0($.siteUrl),G=`${Q}/api/v2/internal/diagnostics/${encodeURIComponent(J)}/run`,W=await X(G,{method:"POST",headers:{Authorization:`Bearer ${Y}`,"Content-Type":"application/json"},body:JSON.stringify({org_id:$.orgId,...$.repository?{repository:rU0($.repository)}:{},...$.githubRepositoryPath?{github_repo:$.githubRepositoryPath}:{}}),signal:AbortSignal.timeout(ZN0)});if(W.status===409)return{triggered:!1,reason:"not_upgraded"};if(!W.ok)throw Error(await QN0(W));return{triggered:!0}}async function CO$($,Z,Q){try{return await $8(async()=>{let Y=await $(Z,{...Q,signal:AbortSignal.timeout(ZN0)});if(Y.status>=500||Y.status===429)throw new i51(await QN0(Y));return Y},{maxAttempts:3,minTimeout:200,maxTimeout:2000,multiplier:2,jitter:1,isRetriable:(Y)=>Y instanceof i51})}catch(Y){if(Y instanceof Y5&&Y.cause instanceof Error)throw Y.cause;throw Y}}async function SO$($,Z={}){let Q=xK(Z),Y=dE(Z),X=Z.fetchImpl??fetch,J=S$0($.siteUrl),G=`${Q}/api/v2/internal/diagnostics/${encodeURIComponent(J)}/connections/status?org_id=${encodeURIComponent($.orgId)}`,W=await CO$(X,G,{method:"GET",headers:{Authorization:`Bearer ${Y}`}});if(W.status===404||W.status===409)return{providers:{},claimed:!1};if(!W.ok)throw Error(await QN0(W));let K=a_4.safeParse(await ed(W));return{providers:K.success?K.data.providers:{},claimed:!0}}async function _O$($,Z={}){let Q=xK(Z),Y=dE(Z),X=Z.fetchImpl??fetch,J=S$0($.siteUrl),G=`${Q}/api/v2/internal/diagnostics/${encodeURIComponent(J)}/unlink`,W=await CO$(X,G,{method:"POST",headers:{Authorization:`Bearer ${Y}`,"Content-Type":"application/json"},body:JSON.stringify({org_id:$.orgId})});if(!W.ok)throw Error(`Reports unlink failed with status ${W.status}.`);let K=r_4.safeParse(await ed(W));if(!K.success)throw Error("Reports unlink response did not say whether it unlinked.");return K.data}var p_4,ZN0=15000,n_4,qO$,MO$,i51,a_4,r_4;var dL=L(()=>{q8();g$();$N0();l1();p_4=new URL(V9$).origin,n_4=RQ.object({token:RQ.string().min(1)}),qO$=RQ.object({binding:RQ.object({resource_id:RQ.string(),evidence:RQ.string()}).optional(),reason:RQ.string().optional(),detail:RQ.string().optional()});MO$=class MO$ extends Error{code;constructor($,Z={}){super(o_4($,Z));this.name="ReportsClaimError",this.code=$}};i51=class i51 extends Error{};a_4=RQ.object({providers:RQ.record(RQ.string(),RQ.object({connected:RQ.boolean(),via:RQ.enum(["oauth","sa"]).nullable(),resource:RQ.string().nullable()}))});r_4=RQ.object({unlinked:RQ.boolean(),reason:RQ.string().optional()})});import{z as QW}from"zod";var e_4,$v4,p51;var vO$=L(()=>{rd();A0();dL();e_4=QW.object({siteUrl:QW.string().min(1).describe("Website URL of the store being bound."),provider:QW.enum(["ga4","gsc"]).describe("Which Google source to bind: ga4 (Analytics) or gsc (Search Console)."),resourceId:QW.string().min(1).describe("The resource id the client typed: GA4 numeric property id, or GSC site (sc-domain:example.com or https://example.com/).")}),$v4=QW.discriminatedUnion("ok",[QW.object({ok:QW.literal(!0),resourceId:QW.string(),evidence:QW.string()}),QW.object({ok:QW.literal(!1),reason:QW.string(),detail:QW.string()})]),p51=l({name:"REPORTS_BIND",description:"Bind a GA4 property or GSC site to the org's store via the shared service account (consent-free lane). The client grants deco-reader@\u2026 access to the resource and provides its id; Deco Score verifies the resource belongs to this domain before persisting. Returns ok:false with an actionable pt-BR detail when verification fails or the resource is already bound elsewhere.",annotations:{title:"Bind Deco Score Data Source",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!0},inputSchema:e_4,outputSchema:$v4,handler:async($,Z)=>{t(Z);let Q=Z0(Z);await Z.access.check("REPORTS_BIND","COMMERCE_DISCOVERY_BIND");let Y=cL($.siteUrl);if(!Y.ok)throw Error(Y.error);return IO$({siteUrl:Y.value,orgId:Q.id,provider:$.provider,resourceId:$.resourceId.trim()})}})});import{z as nN}from"zod";var Zv4,Qv4,n51;var bO$=L(()=>{rd();A0();dL();Zv4=nN.object({siteUrl:nN.string().min(1).describe("Website URL of the store to inspect.")}),Qv4=nN.object({providers:nN.record(nN.string(),nN.object({connected:nN.boolean(),via:nN.enum(["oauth","sa"]).nullable(),resource:nN.string().nullable()})),claimed:nN.boolean().describe("False when the site isn't claimed/upgraded for this org \u2014 providers is then empty because the status is unreadable, NOT because nothing is connected. The UI must warn instead of rendering existing bindings as disconnected.")}),n51=l({name:"REPORTS_CONNECTION_STATUS",description:"Read per-provider connection status (ga4/gsc/vtex) for the org's store \u2014 { connected, via: oauth|sa, resource }. The single source of truth for whether a data source is connected, unifying the OAuth (Studio vault) and shared-SA binding lanes. Read-only.",annotations:{title:"Deco Score Connection Status",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!0},inputSchema:Zv4,outputSchema:Qv4,handler:async($,Z)=>{t(Z);let Q=Z0(Z);await Z.access.check("REPORTS_CONNECTION_STATUS","COMMERCE_DISCOVERY_CONNECTION_STATUS");let Y=cL($.siteUrl);if(!Y.ok)throw Error(Y.error);return SO$({siteUrl:Y.value,orgId:Q.id})}})});import{z as iE}from"zod";function Gv4($){let Z=Jv4.safeParse($),Q=Z.success?Z.data:void 0,Y=(Q?TO$(Q.repository):void 0)??void 0,X=Q&&typeof Q.github_repo==="string"&&Q.github_repo.length>0?Q.github_repo:void 0;return{repository:Y??void 0,githubRepositoryPath:(Y?eU0(Y):X)??void 0}}var Yv4,Xv4,Jv4,t51;var xO$=L(()=>{q8();$N0();rd();A0();dL();Yv4=iE.object({siteUrl:iE.string().min(1).describe("Website URL to run the diagnostic for.")}),Xv4=iE.object({triggered:iE.boolean(),reason:iE.string().optional()}),Jv4=iE.object({repository:iE.unknown().optional(),github_repo:iE.string().optional()}).passthrough().nullable().optional();t51=l({name:"REPORTS_RUN",description:"Trigger the Deco Score run for the current organization's store. Call once the data sources (GA4/GSC/VTEX) are connected \u2014 this run resolves credentials and produces the enriched Deco Score.",annotations:{title:"Run Deco Score",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!0},inputSchema:Yv4,outputSchema:Xv4,requiresFeature:"diagnostic_enriched",requiresAiBudget:!0,handler:async($,Z)=>{t(Z);let Q=Z0(Z);await Z.access.check("REPORTS_RUN","COMMERCE_DISCOVERY_RUN");let Y=cL($.siteUrl);if(!Y.ok)throw Error(Y.error);let X=o8.REPORTS(Q.id),J=await Z.storage.connections.findById(X,Q.id),{repository:G,githubRepositoryPath:W}=Gv4(J?.configuration_state);return kO$({siteUrl:Y.value,orgId:Q.id,repository:G,githubRepositoryPath:W})}})});import{z as G5}from"zod";var Wv4,_$0,Kv4,Hv4,Fv4,Uv4,fO$,yO$,tN,v$0;var gO$=L(()=>{Wv4=["github","gitlab","bitbucket"],_$0=G5.enum(Wv4),Kv4=["github_app","oauth","token","github_cli"],Hv4=G5.enum(Kv4),Fv4=["active","revoked"],Uv4=G5.enum(Fv4),fO$=G5.object({provider:_$0,host:G5.string().min(1).describe("Provider host, e.g. github.com"),path:G5.string().min(1).describe("Full namespace path, e.g. owner/name or group/sub/project")}),yO$=G5.object({id:G5.string(),organizationId:G5.string(),type:_$0,host:G5.string(),authKind:Hv4,externalAccountId:G5.string().describe("Provider-side account identity: installation id (GitHub App), user/group id (GitLab) or user/workspace uuid (Bitbucket)."),login:G5.string().describe("Display login of the account/namespace"),avatarUrl:G5.string().nullable(),installationId:G5.number().nullable().describe("GitHub App installation id; null for other auth kinds."),status:Uv4,createdAt:G5.string(),updatedAt:G5.string()}),tN=G5.string().regex(/^[a-z][a-z0-9-]{0,31}$/,"lowercase letters, digits and dashes only"),v$0=G5.object({id:G5.string(),organizationId:G5.string(),accountId:G5.string().nullable().describe("Credential-holding account; null for anonymous public clones."),provider:_$0,host:G5.string(),path:G5.string(),externalId:G5.string().nullable().describe("Provider repository/project id, when known."),defaultBranch:G5.string().nullable(),webUrl:G5.string(),visibility:G5.enum(["public","private","internal"]).nullable(),sandboxImage:tN.describe("Sandbox image this repository's sandboxes boot from."),monitorDeploys:G5.boolean().describe("Its default-branch pushes show on the Monitor's Deploys tab."),createdAt:G5.string(),updatedAt:G5.string()})});function Dv4($){let Z=$.toLowerCase();if(Z==="github.com"||Z==="www.github.com")return"github";if(Z==="gitlab.com"||Z==="www.gitlab.com")return"gitlab";if(Z==="bitbucket.org"||Z==="www.bitbucket.org")return"bitbucket";if(/(^|[.-])gitlab([.-]|$)/.test(Z))return"gitlab";return null}function hO$($){let Z=$.toLowerCase();return Z.startsWith("www.")?Z.slice(4):Z}function wX($,Z){let Q=$.trim();if(!Q)return null;let Y,X,J=/^(?:[\w.-]+@)?([\w.-]+(?::\d+)?):(?!\/\/)(.+)$/.exec(Q);if(J&&!/^[a-z][a-z0-9+.-]*:\/\//i.test(Q))Y=J[1],X=J[2];else if(/^[a-z][a-z0-9+.-]*:\/\//i.test(Q)){let F;try{F=new URL(Q)}catch{return null}if(!/^(https?|ssh|git)(\+ssh)?:$/.test(F.protocol))return null;Y=F.host,X=F.pathname}else if(Z?.provider)Y=Z.host??YN0[Z.provider],X=Q;else return null;Y=hO$(Y);let G=Z?.provider??Dv4(Y);if(!G)return null;let W=X.split("/").map((F)=>F.trim()).filter(Boolean),K=W.indexOf("-");if(K>=0)W=W.slice(0,K);if(Bv4.has(G))W=W.slice(0,2);if(W.length<2)return null;let H=W[W.length-1];if(W[W.length-1]=H.replace(/\.git$/i,""),W.some((F)=>F.length===0||F==="."||F===".."))return null;return{provider:G,host:Y,path:W.join("/")}}function xF($){return`${$.host.toLowerCase()}/${$.path.toLowerCase()}`}function o51($){let Z=$.path.split("/");return Z[Z.length-1]??$.path}function Lv4($){let Z=$.path.lastIndexOf("/");return Z<0?"":$.path.slice(0,Z)}function k5($){return{owner:Lv4($),name:o51($)}}function b3($){return`https://${$.host}/${$.path}`}function b$0($,Z){let Q=`${$.host}/${$.path}.git`;if(!Z)return`https://${Q}`;return`https://${Nv4[$.provider]}:${encodeURIComponent(Z)}@${Q}`}function iL($,Z){let Q=hO$(Z);switch($){case"github":return Q==="github.com"?"https://api.github.com":`https://${Q}/api/v3`;case"gitlab":return`https://${Q}/api/v4`;case"bitbucket":return"https://api.bitbucket.org/2.0"}}function $i($,Z){return{provider:"github",host:YN0.github,path:`${$}/${Z}`}}var YN0,Nv4,Bv4;var s51=L(()=>{YN0={github:"github.com",gitlab:"gitlab.com",bitbucket:"bitbucket.org"},Nv4={github:"x-access-token",gitlab:"oauth2",bitbucket:"x-token-auth"},Bv4=new Set(["github","bitbucket"])});function fK($,Z){return`${b3($)}/${Ov4[$.provider]}/${Z}`}function wv4($){let Z=$.toLowerCase();return jv4[Z]??Z}function mO$($,Z,Q){let Y=Number($[3]);if(!Number.isSafeInteger(Y)||Y<=0)return null;let X=wv4($[1]),J=$[2],G=Z?decodeURIComponent(J):J;if(/^\d+$/.test(G))return null;let W=`https://${X}/${G}`,K=wX(W)??(Q?wX(W,{provider:Q}):null);if(!K)return null;return{repo:K,number:Y,url:fK(K,Y)}}function XN0($){let Z=$.trim();if(!Z)return null;for(let{re:Q,api:Y,provider:X}of lO$){let J=Q.exec(Z),G=J?mO$(J,Y===!0,X):null;if(G)return G}return null}function a51($){let Z=$.length>uO$?$.slice(0,uO$):$;for(let{re:Q,api:Y,provider:X}of lO$){let J=Q.exec(Z),G=J?mO$(J,Y===!0,X):null;if(G)return G}return null}var Ov4,lO$,jv4,uO$=200000;var r51=L(()=>{s51();Ov4={github:"pull",gitlab:"-/merge_requests",bitbucket:"pull-requests"};lO$=[{re:/https?:\/\/([^/\s"']+)\/([^\s"']+?)\/-\/merge_requests\/(\d+)/,provider:"gitlab"},{re:/https?:\/\/([^/\s"']+)\/([^/\s"']+\/[^/\s"']+)\/pull\/(\d+)/},{re:/https?:\/\/([^/\s"']+)\/([^/\s"']+\/[^/\s"']+)\/pull-requests\/(\d+)/},{re:/https?:\/\/([^/\s"']+)\/repos\/([^/\s"']+\/[^/\s"']+)\/pulls\/(\d+)/,api:!0},{re:/https?:\/\/([^/\s"']+)\/api\/v4\/projects\/([^/\s"']+)\/merge_requests\/(\d+)/,api:!0,provider:"gitlab"},{re:/https?:\/\/([^/\s"']+)\/2\.0\/repositories\/([^/\s"']+\/[^/\s"']+)\/pullrequests\/(\d+)/,api:!0}],jv4={"api.github.com":"github.com","api.bitbucket.org":"bitbucket.org"}});function cO$($){return e51[$]}function $91($,Z){return e51[$].checkoutCommand.replace("{number}",String(Z))}function dO$($,Z){let{abbreviation:Q,numberSigil:Y}=e51[$];return`${Q} ${Y}${Z}`}var e51;var iO$=L(()=>{e51={github:{name:"GitHub",cli:"gh",changeRequest:"pull request",abbreviation:"PR",createCommand:"gh pr create",checkoutCommand:"gh pr checkout {number}",numberSigil:"#"},gitlab:{name:"GitLab",cli:"glab",changeRequest:"merge request",abbreviation:"MR",createCommand:"glab mr create",checkoutCommand:"glab mr checkout {number}",numberSigil:"!"},bitbucket:{name:"Bitbucket",cli:null,changeRequest:"pull request",abbreviation:"PR",createCommand:`curl -fsS -X POST -H "Authorization: Bearer $BITBUCKET_TOKEN" -H "Content-Type: application/json" https://api.bitbucket.org/2.0/repositories/<workspace>/<repo>/pullrequests -d '{"title":"<title>","source":{"branch":{"name":"<branch>"}},"destination":{"branch":{"name":"<base>"}}}'`,checkoutCommand:"git fetch origin <source branch> && git checkout <source branch>",numberSigil:"#"}}});var n4=L(()=>{gO$();s51();r51();iO$()});function JN0(){let $=new Map;function Z(Y,X){let J=$.get(X);if(J)return J;let G=(async()=>{let W=await Y(),K=new c7({name:`outbound-client-${X}`,version:"1.0.0"},{capabilities:{tasks:{list:{},cancel:{},requests:{tool:{call:{}}}}},jsonSchemaValidator:SZ});K.onclose=()=>{$.delete(X)};try{await K.connect(W)}catch(H){throw await W.close?.().catch(()=>{}),H}return K})().catch((W)=>{throw $.delete(X),W});return $.set(X,G),G}return Object.assign(Z,{[Symbol.asyncDispose]:async()=>{let Y=[];for(let[X,J]of $)Y.push(J.then((G)=>G.close()).catch(()=>{}));await Promise.all(Y),$.clear()}})}var Z91=L(()=>{DN();zJ()});function pO$($){let Z=new u00({command:$.command,args:$.args,env:$.env,cwd:$.cwd,stderr:"pipe"}),Q=$.name||$.id,Y="\x1B[2m",X="\x1B[0m";return Z.stderr?.on("data",(J)=>{let G=J.toString().trimEnd();if(G)console.error(`${G} \x1B[2m[${Q}]\x1B[0m`)}),Z}var nO$=L(()=>{J81()});var Zi=300000,pE=5000,GN0=1e4,Q91=3,Y91=30000,tO$=65000,WN0=1000,Qi=3,oO$=5,sO$=60000,aO$=300000,X91=60000;var J91=y((rO$)=>{Object.defineProperty(rO$,"__esModule",{value:!0});rO$.kvPrefix=rO$.KvWatchInclude=void 0;rO$.KvWatchInclude={LastValue:"",AllHistory:"history",UpdatesOnly:"updates"};rO$.kvPrefix="KV_"});var Fj$=y((Kj$)=>{Object.defineProperty(Kj$,"__esModule",{value:!0});Kj$.KvStatusImpl=Kj$.Bucket=Kj$.Kvm=Kj$.kvOperationHdr=void 0;Kj$.Base64KeyCodec=Pv4;Kj$.NoopKvCodecs=G91;Kj$.defaultBucketOpts=Zj$;Kj$.validateKey=Qj$;Kj$.validateSearchKey=Yj$;Kj$.hasWildcards=Xj$;Kj$.validateBucket=KN0;var UZ=AG(),L9=jX0(),FZ=J91();function Pv4(){let $=(Z,Q)=>{let Y=[];for(let X of Z.split("."))switch(X){case">":case"*":Y.push(X);break;default:Y.push(Q(X));break}return Y.join(".")};return{encode(Z){return $(Z,btoa)},decode(Z){return $(Z,atob)}}}function G91(){return{key:{encode($){return $},decode($){return $}},value:{encode($){return typeof $==="string"?new TextEncoder().encode($):$},decode($){return $}}}}function Zj$(){return{replicas:1,history:1,timeout:2000,max_bytes:-1,maxValueSize:-1,codec:G91(),storage:L9.StorageType.File}}Kj$.kvOperationHdr="KV-Operation";var $j$="$KV",zv4=/^[-/=.\w]+$/,Av4=/^[-/=.>*\w]+$/,Tv4=/^[-\w]+$/;function Qj$($){if($.startsWith(".")||$.endsWith(".")||!zv4.test($))throw Error(`invalid key: ${$}`)}function Yj$($){if($.startsWith(".")||$.endsWith(".")||$.includes("..")||!Av4.test($))throw Error(`invalid key: ${$}`)}function Xj$($){if($.startsWith(".")||$.endsWith("."))throw Error(`invalid key: ${$}`);let Z=$.split("."),Q=!1;for(let Y=0;Y<Z.length;Y++)switch(Z[Y]){case"*":Q=!0;break;case">":if(Y!==Z.length-1)throw Error(`invalid key: ${$}`);Q=!0;break;default:}return Q}function KN0($){if(!Tv4.test($))throw Error(`invalid bucket name: ${$}`)}class Jj${js;constructor($){this.js=(0,L9.toJetStreamClient)($)}create($,Z={}){return this.#$($,Z)}open($,Z={}){return Z.bindOnly=!0,this.#$($,Z)}#$($,Z={}){let{ok:Q,min:Y}=this.js.nc.features.get(UZ.Feature.JS_KV);if(!Q)return Promise.reject(Error(`kv is only supported on servers ${Y} or better`));if(Z.bindOnly)return Yi.bind(this.js,$,Z);return Yi.create(this.js,$,Z)}list(){let $=(Q)=>{let X=Q.streams.filter((G)=>{return G.config.name.startsWith(FZ.kvPrefix)});X.forEach((G)=>{G.config.sealed=G.config.sealed||!1,G.config.deny_delete=G.config.deny_delete||!1,G.config.deny_purge=G.config.deny_purge||!1,G.config.allow_rollup_hdrs=G.config.allow_rollup_hdrs||!1});let J="";if(X.length)J=this.js.nc.info?.cluster??"";return X.map((G)=>{return new HN0(G,J)})},Z=`${this.js.prefix}.STREAM.LIST`;return new L9.ListerImpl(Z,$,this.js)}}Kj$.Kvm=Jj$;class Yi{js;jsm;stream;bucket;direct;codec;prefix;editPrefix;useJsPrefix;_prefixLen;constructor($,Z,Q){KN0($),this.js=Z,this.jsm=Q,this.bucket=$,this.prefix=$j$,this.editPrefix="",this.useJsPrefix=!1,this._prefixLen=0}static async create($,Z,Q={}){KN0(Z);let Y=await $.jetstreamManager(),X=new Yi(Z,$,Y);return await X.init(Q),X}static async bind($,Z,Q={}){let Y=$.getOptions()?.checkAPI||Q.bindOnly===!1,X=await $.jetstreamManager(Y),J={config:{allow_direct:Q.allow_direct}};KN0(Z);let G=new Yi(Z,$,X);return J.config.name=Q.streamName??G.bucketName(),Object.assign(G,J),G.stream=J.config.name,G.codec=Q.codec||G91(),G.direct=J.config.allow_direct??!1,G.initializePrefixes(J),G}async init($={}){let Z=Object.assign(Zj$(),$);this.codec=Z.codec;let Q={};if(this.stream=Q.name=$.streamName??this.bucketName(),Q.retention=L9.RetentionPolicy.Limits,Q.max_msgs_per_subject=Z.history,Z.max_bytes)Q.max_bytes=Z.max_bytes;if(Q.max_msg_size=Z.maxValueSize,Q.storage=Z.storage,$.placement)Q.placement=$.placement;if($.republish)Q.republish=$.republish;if($.description)Q.description=$.description;if($.markerTTL)Q.allow_msg_ttl=!0,Q.subject_delete_marker_ttl=(0,UZ.nanos)(Z.markerTTL);if($.mirror){let H=Object.assign({},$.mirror);if(!H.name.startsWith(FZ.kvPrefix))H.name=`${FZ.kvPrefix}${H.name}`;Q.mirror=H,Q.mirror_direct=!0}else if($.sources){let H=$.sources.map((F)=>{let U=Object.assign({},F),N=U.name.startsWith(FZ.kvPrefix)?U.name.substring(FZ.kvPrefix.length):U.name;if(!U.name.startsWith(FZ.kvPrefix))U.name=`${FZ.kvPrefix}${U.name}`;if(!F.external&&N!==this.bucket)U.subject_transforms=[{src:`$KV.${N}.>`,dest:`$KV.${this.bucket}.>`}];return U});Q.sources=H,Q.subjects=[this.subjectForBucket()]}else Q.subjects=[this.subjectForBucket()];if($.metadata)Q.metadata=$.metadata;if(typeof $.compression==="boolean")Q.compression=$.compression?L9.StoreCompression.S2:L9.StoreCompression.None;let Y=this.js.nc,X=Y.getServerVersion(),J=X?(0,UZ.compare)(X,(0,UZ.parseSemVer)("2.7.2"))>=0:!1;Q.discard=J?L9.DiscardPolicy.New:L9.DiscardPolicy.Old;let{ok:G,min:W}=Y.features.get(UZ.Feature.JS_ALLOW_DIRECT);if(!G&&$.allow_direct===!0){let H=X?`${X.major}.${X.minor}.${X.micro}`:"unknown";return Promise.reject(Error(`allow_direct is not available on server version ${H} - requires ${W}`))}if($.allow_direct=typeof $.allow_direct==="boolean"?$.allow_direct:G,Q.allow_direct=$.allow_direct,this.direct=Q.allow_direct,Q.num_replicas=Z.replicas,Z.ttl)Q.max_age=(0,UZ.nanos)(Z.ttl);Q.allow_rollup_hdrs=!0;let K;try{if(K=await this.jsm.streams.info(Q.name),!K.config.allow_direct&&this.direct===!0)this.direct=!1}catch(H){if(H.message==="stream not found")K=await this.jsm.streams.add(Q);else throw H}this.initializePrefixes(K)}initializePrefixes($){this._prefixLen=0,this.prefix=`$KV.${this.bucket}`,this.useJsPrefix=this.js.apiPrefix!=="$JS.API";let{mirror:Z}=$.config;if(Z){let Q=Z.name;if(Q.startsWith(FZ.kvPrefix))Q=Q.substring(FZ.kvPrefix.length);if(Z.external&&Z.external.api!==""){let Y=Z.name.substring(FZ.kvPrefix.length);this.useJsPrefix=!1,this.prefix=`$KV.${Y}`,this.editPrefix=`${Z.external.api}.$KV.${Q}`}else this.editPrefix=this.prefix}}bucketName(){return this.stream??`${FZ.kvPrefix}${this.bucket}`}subjectForBucket(){return`${this.prefix}.${this.bucket}.>`}subjectForKey($,Z=!1){let Q=[];if(Z){if(this.useJsPrefix)Q.push(this.js.apiPrefix);if(this.editPrefix!=="")Q.push(this.editPrefix);else Q.push(this.prefix)}else if(this.prefix)Q.push(this.prefix);return Q.push($),Q.join(".")}fullKeyName($){if(this.prefix!=="")return`${this.prefix}.${$}`;return`${$j$}.${this.bucket}.${$}`}get prefixLen(){if(this._prefixLen===0)this._prefixLen=this.prefix.length+1;return this._prefixLen}encodeKey($){let Z=[];for(let Q of $.split("."))switch(Q){case">":case"*":Z.push(Q);break;default:Z.push(this.codec.key.encode(Q));break}return Z.join(".")}decodeKey($){let Z=[];for(let Q of $.split("."))switch(Q){case">":case"*":Z.push(Q);break;default:Z.push(this.codec.key.decode(Q));break}return Z.join(".")}validateKey=Qj$;validateSearchKey=Yj$;hasWildcards=Xj$;close(){return Promise.resolve()}dataLen($,Z){let Q=Z?Z.get(L9.JsHeaders.MessageSizeHdr)||"":"";if(Q!=="")return parseInt(Q,10);return $.length}smToEntry($){return new Gj$(this.bucket,this.prefixLen,$,this.codec)}jmToWatchEntry($,Z){return new Wj$(this.bucket,this.prefixLen,$,Z,this.codec)}async create($,Z,Q){let Y;try{let J={previousSeq:0},G=await this._put($,Z,J,Q);return Promise.resolve(G)}catch(J){if(Y=J,J instanceof L9.JetStreamApiError){let G=J;if(G.code!==L9.JetStreamApiCodes.StreamWrongLastSequence&&G.code!==L9.JetStreamApiCodes.StreamWrongLastSequenceUnknown)return Promise.reject(J)}}let X=0;try{let J=await this.get($);if(J?.operation==="DEL"||J?.operation==="PURGE")return X=J!==null?J.revision:0,this._put($,Z,{previousSeq:X},Q);else return Promise.reject(Y)}catch(J){return Promise.reject(J)}}update($,Z,Q,Y){if(Q<=0)throw Error("version must be greater than 0");return this.put($,Z,{previousSeq:Q,timeout:Y})}async _put($,Z,Q={},Y){let X=this.encodeKey($);this.validateKey(X),Z=this.codec.value.encode(Z);let J={timeout:Q?.timeout};if(Q.previousSeq!==void 0){let G=(0,UZ.headers)();J.headers=G,G.set(L9.PubHeaders.ExpectedLastSubjectSequenceHdr,`${Q.previousSeq}`)}if(Y)(J.headers||(0,UZ.headers)()).set(L9.PubHeaders.MessageTTL,Y);try{return(await this.js.publish(this.subjectForKey(X,!0),Z,J)).seq}catch(G){return Promise.reject(G)}}put($,Z,Q={}){return this._put($,Z,Q)}async get($,Z){let Q=this.encodeKey($);this.validateKey(Q);let Y={last_by_subj:this.subjectForKey(Q)};if(Z&&Z.revision>0)Y={seq:Z.revision};let X=null;try{if(this.direct)X=await this.jsm.direct.getMessage(this.bucketName(),Y);else X=await this.jsm.streams.getMessage(this.bucketName(),Y);if(X===null)return null;let J=this.smToEntry(X);if(J.rawKey!==Q)return null;return J}catch(J){throw J}}purge($,Z){return this._deleteOrPurge($,"PURGE",Z)}delete($,Z){return this._deleteOrPurge($,"DEL",Z)}async purgeDeletes($=1800000){let Z=[],Q=await this.history({key:">"});await(async()=>{for await(let G of Q)if(G.operation==="DEL"||G.operation==="PURGE")Z.push(G)})().then(),Q.stop();let Y=Date.now()-$,X=Z.map((G)=>{let W=this.subjectForKey(G.key);if(G.created.getTime()>=Y)return this.jsm.streams.purge(this.stream,{filter:W,keep:1});else return this.jsm.streams.purge(this.stream,{filter:W,keep:0})}),J=await Promise.all(X);return J.unshift({success:!0,purged:0}),J.reduce((G,W)=>{return G.purged+=W.purged,G})}async _deleteOrPurge($,Z,Q){if(!this.hasWildcards($))return this._doDeleteOrPurge($,Z,Q);let Y=await this.keys($),X=[];for await(let J of Y)if(X.push(this._doDeleteOrPurge(J,Z)),X.length===100)await Promise.all(X),X.length=0;if(X.length>0)await Promise.all(X)}async _doDeleteOrPurge($,Z,Q){let Y=this.encodeKey($);this.validateKey(Y);let X=(0,UZ.headers)();if(X.set(Kj$.kvOperationHdr,Z),Z==="PURGE"){let J=Q;if(X.set(L9.JsHeaders.RollupHdr,L9.JsHeaders.RollupValueSubject),typeof J?.ttl==="string"&&J.ttl!=="")X.set(L9.PubHeaders.MessageTTL,`${J.ttl}`)}if(Q?.previousSeq)X.set(L9.PubHeaders.ExpectedLastSubjectSequenceHdr,`${Q.previousSeq}`);await this.js.publish(this.subjectForKey(Y,!0),UZ.Empty,{headers:X})}_buildCC($,Z,Q={}){let X=(!Array.isArray($)?[$]:$).map((W)=>{let K=this.encodeKey(W);return this.validateSearchKey(W),this.fullKeyName(K)}),J=L9.DeliverPolicy.LastPerSubject;if(Z===FZ.KvWatchInclude.AllHistory)J=L9.DeliverPolicy.All;if(Z===FZ.KvWatchInclude.UpdatesOnly)J=L9.DeliverPolicy.New;let G=void 0;if(X.length===1)G=X[0],X=void 0;return Object.assign({deliver_policy:J,ack_policy:L9.AckPolicy.None,filter_subjects:X,filter_subject:G,flow_control:!0,idle_heartbeat:(0,UZ.nanos)(5000)},Q)}remove($){return this.purge($)}async history($={}){let Z=$.key??">",Q={};Q.headers_only=$.headers_only||!1;let Y=new UZ.QueuedIteratorImpl,X=()=>{Y.stop()},J=this._buildCC(Z,FZ.KvWatchInclude.AllHistory,Q),G=await this.js.consumers.getPushConsumer(this.stream,J);if(Y._data=G,(await G.info(!0)).num_pending===0)return Y.push(X),Y;let K=await G.consume({callback:(H)=>{let F=this.jmToWatchEntry(H,!1);if(Y.push(F),Y.received++,H.info.pending===0)Y.push(X)}});return K.closed().then(()=>{Y.push(X)}),(async()=>{for await(let H of K.status())switch(H.type){case"heartbeat":Y.push(()=>{Y.stop()});break}})().then(),Y.iterClosed.then(()=>{K.stop()}),Y}canSetWatcherName(){let $=this.js.nc,{ok:Z}=$.features.get(UZ.Feature.JS_NEW_CONSUMER_CREATE_API);return Z}async watch($={}){let Z=$.key??">",Q=new UZ.QueuedIteratorImpl,Y={};Y.headers_only=$.headers_only||!1;let X=FZ.KvWatchInclude.LastValue;if($.include===FZ.KvWatchInclude.AllHistory)X=FZ.KvWatchInclude.AllHistory;else if($.include===FZ.KvWatchInclude.UpdatesOnly)X=FZ.KvWatchInclude.UpdatesOnly;let J=$.ignoreDeletes===!0,G=this._buildCC(Z,X,Y);if(G.name=`KV_WATCHER_${UZ.nuid.next()}`,$.resumeFromRevision&&$.resumeFromRevision>0)G.deliver_policy=L9.DeliverPolicy.StartSequence,G.opt_start_seq=$.resumeFromRevision;let W=await this.js.consumers.getPushConsumer(this.stream,G),H=(await W.info(!0)).num_pending,F=X===FZ.KvWatchInclude.UpdatesOnly||H===0;Q._data=W;let U=0,N=await W.consume({callback:(B)=>{if(!F)U++,F=U>=H;let D=this.jmToWatchEntry(B,F);if(J&&D.operation==="DEL")return;Q.push(D),Q.received++}});return Q.iterClosed.then(()=>{N.stop()}),N.closed().then(()=>{Q.push(()=>{Q.stop()})}),Q}async keys($=">"){let Z=new UZ.QueuedIteratorImpl,Q=this._buildCC($,FZ.KvWatchInclude.LastValue,{headers_only:!0}),Y=await this.js.consumers.getPushConsumer(this.stream,Q);if((await Y.info()).num_pending===0)return Z.stop(),Z;Z._data=Y;let J=await Y.consume({callback:(G)=>{let W=G.headers?.get(Kj$.kvOperationHdr);if(W!=="DEL"&&W!=="PURGE"){let K=this.decodeKey(G.subject.substring(this.prefixLen));Z.push(K)}if(G.info.pending===0)J.stop()}});return(async()=>{for await(let G of J.status())switch(G.type){case"heartbeat":Z.push(()=>{Z.stop()});break}})().then(),J.closed().then(()=>{Z.push(()=>{Z.stop()})}),Z.iterClosed.then(()=>{J.stop()}),Z}purgeBucket($){return this.jsm.streams.purge(this.bucketName(),$)}destroy(){return this.jsm.streams.delete(this.bucketName())}async status(){let Z=this.js.nc.info?.cluster??"",Q=this.bucketName(),Y=await this.jsm.streams.info(Q);return new HN0(Y,Z)}}Kj$.Bucket=Yi;class HN0{si;cluster;constructor($,Z=""){this.si=$,this.cluster=Z}get bucket(){return this.si.config.name.startsWith(FZ.kvPrefix)?this.si.config.name.substring(FZ.kvPrefix.length):this.si.config.name}get values(){return this.si.state.messages}get history(){return this.si.config.max_msgs_per_subject}get ttl(){return(0,UZ.millis)(this.si.config.max_age)}get markerTTL(){if(typeof this.si.config.subject_delete_marker_ttl==="number")return(0,UZ.millis)(this.si.config.subject_delete_marker_ttl);return 0}get bucket_location(){return this.cluster}get backingStore(){return this.si.config.storage}get storage(){return this.si.config.storage}get replicas(){return this.si.config.num_replicas}get description(){return this.si.config.description??""}get maxBucketSize(){return this.si.config.max_bytes}get maxValueSize(){return this.si.config.max_msg_size}get max_bytes(){return this.si.config.max_bytes}get placement(){return this.si.config.placement||{cluster:"",tags:[]}}get placementCluster(){return this.si.config.placement?.cluster??""}get republish(){return this.si.config.republish??{src:"",dest:""}}get streamInfo(){return this.si}get size(){return this.si.state.bytes}get metadata(){return this.si.config.metadata??{}}get compression(){if(this.si.config.compression)return this.si.config.compression!==L9.StoreCompression.None;return!1}}Kj$.KvStatusImpl=HN0;class Gj${bucket;sm;prefixLen;codec;constructor($,Z,Q,Y){this.bucket=$,this.prefixLen=Z,this.sm=Q,this.codec=Y}get rawKey(){return this.sm.subject.substring(this.prefixLen)}get key(){return this.codec.key.decode(this.rawKey)}get value(){return this.codec.value.decode(this.sm.data)}get delta(){return 0}get created(){return this.sm.time}get revision(){return this.sm.seq}get operation(){if(this.sm.header?.has("Nats-Marker-Reason")){if(this.sm.header?.get("Nats-Marker-Reason")==="MaxAge")return"PURGE"}return this.sm.header?.get(Kj$.kvOperationHdr)||"PUT"}get length(){let $=this.sm.header.get(L9.JsHeaders.MessageSizeHdr)||"";if($!=="")return parseInt($,10);return this.sm.data.length}json($){return JSON.parse(UZ.TD.decode(this.value),$)}string(){return UZ.TD.decode(this.value)}}class Wj${bucket;sm;prefixLen;update;codec;constructor($,Z,Q,Y,X){this.bucket=$,this.prefixLen=Z,this.sm=Q,this.update=Y,this.codec=X}get rawKey(){return this.sm.subject.substring(this.prefixLen)}get key(){return this.codec.key.decode(this.rawKey)}get value(){return this.codec.value.decode(this.sm.data)}get created(){return new Date((0,UZ.millis)(this.sm.info.timestampNanos))}get revision(){return this.sm.seq}get operation(){if(this.sm.headers?.has("Nats-Marker-Reason")){if(this.sm.headers?.get("Nats-Marker-Reason")==="MaxAge")return"PURGE"}return this.sm.headers?.get(Kj$.kvOperationHdr)||"PUT"}get delta(){return this.sm.info.pending}get length(){let $=this.sm.headers?.get(L9.JsHeaders.MessageSizeHdr)||"";if($!=="")return parseInt($,10);return this.sm.data.length}get isUpdate(){return this.update}json($){return JSON.parse(UZ.TD.decode(this.value),$)}string(){return UZ.TD.decode(this.value)}}});var W91=y((fF)=>{Object.defineProperty(fF,"__esModule",{value:!0});fF.validateKey=fF.validateBucket=fF.NoopKvCodecs=fF.Kvm=fF.defaultBucketOpts=fF.Bucket=fF.Base64KeyCodec=fF.KvWatchInclude=fF.kvPrefix=void 0;var Uj$=J91();Object.defineProperty(fF,"kvPrefix",{enumerable:!0,get:function(){return Uj$.kvPrefix}});Object.defineProperty(fF,"KvWatchInclude",{enumerable:!0,get:function(){return Uj$.KvWatchInclude}});var Eq=Fj$();Object.defineProperty(fF,"Base64KeyCodec",{enumerable:!0,get:function(){return Eq.Base64KeyCodec}});Object.defineProperty(fF,"Bucket",{enumerable:!0,get:function(){return Eq.Bucket}});Object.defineProperty(fF,"defaultBucketOpts",{enumerable:!0,get:function(){return Eq.defaultBucketOpts}});Object.defineProperty(fF,"Kvm",{enumerable:!0,get:function(){return Eq.Kvm}});Object.defineProperty(fF,"NoopKvCodecs",{enumerable:!0,get:function(){return Eq.NoopKvCodecs}});Object.defineProperty(fF,"validateBucket",{enumerable:!0,get:function(){return Eq.validateBucket}});Object.defineProperty(fF,"validateKey",{enumerable:!0,get:function(){return Eq.validateKey}})});var Pq=y((nE)=>{Object.defineProperty(nE,"__esModule",{value:!0});nE.NoopKvCodecs=nE.Kvm=nE.defaultBucketOpts=nE.Bucket=nE.Base64KeyCodec=nE.KvWatchInclude=void 0;var bv4=W91();Object.defineProperty(nE,"KvWatchInclude",{enumerable:!0,get:function(){return bv4.KvWatchInclude}});var f$0=W91();Object.defineProperty(nE,"Base64KeyCodec",{enumerable:!0,get:function(){return f$0.Base64KeyCodec}});Object.defineProperty(nE,"Bucket",{enumerable:!0,get:function(){return f$0.Bucket}});Object.defineProperty(nE,"defaultBucketOpts",{enumerable:!0,get:function(){return f$0.defaultBucketOpts}});Object.defineProperty(nE,"Kvm",{enumerable:!0,get:function(){return f$0.Kvm}});Object.defineProperty(nE,"NoopKvCodecs",{enumerable:!0,get:function(){return f$0.NoopKvCodecs}})});function tE(){let $=new TextEncoder,Z=new TextDecoder;return{encode:(Q)=>$.encode(JSON.stringify(Q)),decode:(Q)=>JSON.parse(Z.decode(Q))}}class K91{options;kv=null;codec=tE();selfKeySuffix;constructor($){this.options=$;this.selfKeySuffix=`.v${$.selfListVersion.replace(/[^-/_=.a-zA-Z0-9]/g,"_")}`}async init($){if($){this.kv=$;return}let Z=this.options.getJetStream();if(!Z)return;this.kv=await new Bj$.Kvm(Z).create(fv4,{storage:Nj$.StorageType.Memory,ttl:yv4,max_bytes:gv4})}key($,Z){let Q=`${$}.${Z}`;return Z.endsWith("_self")?Q+this.selfKeySuffix:Q}async get($,Z){if(!this.kv)return null;try{let Q=await this.kv.get(this.key($,Z));if(!Q?.value?.length)return null;if(Q.operation==="DEL"||Q.operation==="PURGE")return null;return this.codec.decode(Q.value)}catch{return null}}async set($,Z,Q){if(!this.kv)return;try{await this.kv.put(this.key($,Z),this.codec.encode(Q))}catch{}}async invalidate($){if(!this.kv)return;await Promise.all(["tools","resources","prompts"].map(async(Q)=>{try{await this.kv.delete(this.key(Q,$))}catch{}}))}teardown(){this.kv=null}}function hv4($,Z,Q){if(Q<=0)return!0;if($===void 0)return!0;return Z-$>=Q}function Dj$($){let Z=["tools","resources","prompts"];for(let Q of Z){let Y=`${Q}:${$}`;UN0.delete(Y),g$0.delete(Y)}}function FN0($){return $ instanceof x1&&$.code===u1.MethodNotFound}function uv4($){return $ instanceof x1&&$.code===-32000&&/connection closed/i.test($.message)}async function sN($,Z,Q,Y,X,J=0){if(!Y)try{return await Q()}catch(H){if(FN0(H))return[];return y$0.add(1,{type:$,outcome:"error",stage:"no_cache"}),null}let G=`${$}:${Z}`,W=await Y.get($,Z);if(W===null)try{let H=await Q();return Y.set($,Z,H).catch(()=>{}),UN0.set(G,Date.now()),y$0.add(1,{type:$,outcome:"miss",stage:"miss"}),H}catch(H){if(FN0(H))return Y.set($,Z,[]).catch(()=>{}),[];return y$0.add(1,{type:$,outcome:"error",stage:"miss"}),null}if(y$0.add(1,{type:$,outcome:"hit",stage:"hit"}),hv4(UN0.get(G),Date.now(),J)&&!g$0.has(G)){g$0.add(G),UN0.set(G,Date.now());let H=Q().then((F)=>Y.set($,Z,F)).catch((F)=>{if(FN0(F)||uv4(F)){if(FN0(F))Y.set($,Z,[]).catch(()=>{});return}y$0.add(1,{type:$,outcome:"error",stage:"revalidation"})}).finally(()=>g$0.delete(G));X?.(H)}return W}function H91($){Lj$=$}function n9(){return Lj$}var Nj$,Bj$,y$0,fv4="DECOCMS_MCP_LISTS_V2",yv4=600000,gv4=134217728,g$0,UN0,oN=30000,Lj$=null;var IJ=L(()=>{CZ();y6();Nj$=_(nH(),1),Bj$=_(Pq(),1),y$0=W$.createCounter("mcp_list_cache.fetches",{description:"MCP list cache fetch outcomes (hit, miss, error)",unit:"{fetches}"});g$0=new Set;W$.createObservableGauge("mcp_list_cache.pending_revalidations",{description:"In-flight background MCP list revalidations on this pod",unit:"{revalidations}"}).addCallback(($)=>$.observe(g$0.size));UN0=new Map});async function lv4($,Z,Q){let Y=$.organization?.id;if(!$.boundAuth?.isApiKeyPrincipal||!Y||$.auth.permissionsOrganizationId!==Y)return!1;for(let[X,J]of Object.entries($.auth.permissions??{})){if(!J.includes("*")&&!J.includes(Q))continue;let G=await $.storage.virtualMcps.findById(X,Y);if(G?.organization_id!==Y||G.status!=="active")continue;let W=G.connections.find((K)=>K.connection_id===Z);if(W&&(W.selected_tools==null||W.selected_tools.includes(Q)))return!0}return!1}var NN0;var Oj$=L(()=>{IJ();jQ();zJ();NN0=class NN0 extends dc{options;constructor($,Z){super($);this.options=Z}toolsListPromise=null;fetchToolsFromServer(){if(!this.toolsListPromise)this.toolsListPromise=new Promise(($)=>{let Z=`auth-tools-${Date.now()}`,Q=this.innerTransport.onmessage,Y=(J)=>{clearTimeout(X),this.innerTransport.onmessage=Q,this.toolsListPromise=null,$(J)},X=setTimeout(()=>Y(null),pE);this.innerTransport.onmessage=(J)=>{if("id"in J&&J.id===Z)if("result"in J){let G=J.result?.tools??null;Y(G)}else Y(null);else Q?.(J)},this.innerTransport.send({jsonrpc:"2.0",id:Z,method:"tools/list",params:{}}).catch(()=>Y(null))});return this.toolsListPromise}async ensureToolsMap(){let $=this.options.cache??n9(),Z=await sN("tools",this.options.connection.id,async()=>{let Q=await this.fetchToolsFromServer();if(Q===null)throw Error("Failed to fetch tools list");return Q},$,(Q)=>this.options.ctx.pendingRevalidations.push(Q),oN);if(!Z)return new Map;return new Map(Z.map((Q)=>[Q.name,Q]))}async handleOutgoingMessage($){if(!this.isRequest($))return this.innerTransport.send($);let Z=$;if(Z.method==="tools/call")await this.authorizeToolCall(Z),this.stripMetaFromArguments(Z);return this.innerTransport.send($)}async authorizeToolCall($){if(this.options.superUser)return;let Q=$.params.name,{ctx:Y,connection:X}=this.options;if(await this.isPublicTool(Q))return;if(!Y.auth.user?.id&&!Y.auth.apiKey?.id)throw Error("Authentication required. Please provide a valid OAuth token or API key.");let J=async()=>{return(await this.ensureToolsMap()).get(Q)?._meta},G=new cT(Y.auth.user?.id??Y.auth.apiKey?.userId,Q,Y.boundAuth,Y.organization?.role??Y.auth.user?.role,X.id,J,Y.organization?.id,!1);try{await G.check(Q)}catch(W){if(W instanceof N6&&await lv4(Y,X.id,Q))return;throw W}}async isPublicTool($){let Q=(await this.ensureToolsMap()).get($);if(!Q?._meta)return!1;return EN(Q._meta)?.public_tool===!0}stripMetaFromArguments($){let Z=$.params;if(Z.arguments&&"_meta"in Z.arguments){let{_meta:Q,...Y}=Z.arguments;Z.arguments=Y}}}});class F91{redact($){if($===null||$===void 0)return $;if(typeof $==="string")return this.redactString($);if(Array.isArray($))return $.map((Z)=>this.redact(Z));if(typeof $==="object"){let Z={};for(let[Q,Y]of Object.entries($)){let X=this.redactString(Q);Z[X]=this.redact(Y)}return Z}return $}redactString($){return $.replace(cv4,(Z,...Q)=>{let Y=Q[Q.length-1];if(Y){for(let X of mv4)if(Y[X]!=null)return`[REDACTED:${X}]`}return Z})}}var mv4,cv4;var jj$=L(()=>{mv4=["jwt","api_key","email","credit_card","ssn"],cv4=new RegExp(["(?<jwt>eyJ[A-Za-z0-9-_]+\\.eyJ[A-Za-z0-9-_]+\\.[A-Za-z0-9-_.+/=]*)",`(?<api_key>(?:api[_-]?key|token|secret|password)\\s*[:=]\\s*['"]?[\\w-]{16,}['"]?|bearer\\s+['"]?[\\w-]{16,}['"]?)`,"(?<email>(?<![a-zA-Z0-9._%+-])[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,})","(?<credit_card>\\b\\d{4}[- ]?\\d{4}[- ]?\\d{4}[- ]?\\d{4}\\b)","(?<ssn>\\b\\d{3}-\\d{2}-\\d{4}\\b)"].join("|"),"gi")});import{SeverityNumber as wj$}from"@opentelemetry/api-logs";function BN0($,Z){try{if(!$.organizationId)return;let Q=U91.redactString(kl(JSON.stringify($.toolArguments??{}))),Y=U91.redactString(kl(JSON.stringify($.result??{}))),X=$.errorMessage?U91.redactString(kl($.errorMessage)):"";oR1().emit({severityNumber:$.isError?wj$.ERROR:wj$.INFO,severityText:$.isError?"ERROR":"INFO",body:$.toolName,attributes:{[J6.TYPE]:$.type??Ja,[J6.ORGANIZATION_ID]:$.organizationId,[J6.CONNECTION_ID]:$.connectionId,[J6.CONNECTION_TITLE]:"",[J6.TOOL_NAME]:$.toolName,[J6.INPUT]:Q,[J6.OUTPUT]:Y,[J6.IS_ERROR]:$.isError,[J6.ERROR_MESSAGE]:X,[J6.DURATION_MS]:$.duration,[J6.USER_ID]:$.userId||"",[J6.REQUEST_ID]:$.requestId,[J6.USER_AGENT]:$.userAgent||"",[J6.VIRTUAL_MCP_ID]:$.virtualMcpId||"",[J6.PROPERTIES]:$.properties?JSON.stringify($.properties):""},context:Z})}catch{}}var U91;var N91=L(()=>{ah0();jj$();aW();sh0();U91=new F91});function Ej$($){let{ctx:Z,organizationId:Q,connectionId:Y,toolName:X,durationMs:J,isError:G}=$;if(!Q||!Y||!X)return;let W={"tool.name":X,"organization.id":Q,"connection.id":Y,status:G?"error":"success","error.type":G?$.errorType||"Error":""};Z.meter.createHistogram("tool.execution.duration",{description:"Duration of tool executions in milliseconds",unit:"ms"}).record(J,W),Z.meter.createCounter("tool.execution.count",{description:"Number of tool executions"}).add(1,W)}function Pj$($){if(!$||typeof $!=="object"||!$.isError)return;let Z=$.content;if(!Array.isArray(Z))return;for(let Q of Z)if(Q&&typeof Q==="object"&&"type"in Q&&Q.type==="text"&&"text"in Q&&typeof Q.text==="string")return Q.text;return}function zj$($){if(!$)return;let Z=$._meta;if(!Z||typeof Z!=="object"||Array.isArray(Z))return;let Q=Z.properties;if(!Q||typeof Q!=="object"||Array.isArray(Q))return;let Y={};for(let[X,J]of Object.entries(Q)){if(Object.keys(Y).length>=B91)break;if(typeof J==="string"&&X.length<=h$0&&J.length<=h$0)Y[X]=J}return Object.keys(Y).length>0?Y:void 0}function Aj$($,Z){if(!$&&!Z)return;if(!$)return Z;if(!Z)return $;return{...Z,...$}}var Tj$=L(()=>{yF()});import{trace as dv4,context as qj$}from"@opentelemetry/api";var iv4=500,DN0;var Rj$=L(()=>{zJ();N91();Tj$();DN0=class DN0 extends dc{options;inflightRequests=new Map;requestContext;constructor($,Z){super($);this.options=Z;this.requestContext=qj$.active()}async handleOutgoingMessage($){if(this.isRequest($)){let Z=$;this.onRequestStart(Z)}return this.innerTransport.send($)}handleIncomingMessage($){if(this.isResponse($)){let Z=$;this.onResponseEnd(Z)}this.onmessage?.($)}onRequestStart($){let{ctx:Z,connectionId:Q}=this.options,Y,X;if($.method==="tools/call"&&$.params){let G=$.params;Y=G.name,X=G.arguments}let J;if($.method==="tools/call"&&Y)J=Z.tracer.startSpan("mcp.proxy.callTool",{attributes:{"connection.id":Q,"tool.name":Y,"request.id":Z.metadata.requestId,"jsonrpc.id":$.id,"jsonrpc.method":$.method}},this.requestContext);if($.id!==null&&$.id!==void 0){if(!this.inflightRequests.has($.id)&&this.inflightRequests.size>=iv4){let G=this.inflightRequests.keys().next().value;if(G!==void 0)this.inflightRequests.get(G)?.span?.end(),this.inflightRequests.delete(G)}this.inflightRequests.set($.id,{startTime:Date.now(),method:$.method,toolName:Y,toolArguments:X,span:J})}}onResponseEnd($){if($.id===null||$.id===void 0)return;let Z=this.inflightRequests.get($.id);if(!Z)return;let{ctx:Q,connectionId:Y}=this.options,{startTime:X,method:J,toolName:G,toolArguments:W,span:K}=Z,H=Date.now()-X;if(this.inflightRequests.delete($.id),J!=="tools/call"||!G)return;let F=Q.organization?.id??"",U="error"in $,N=U?$.error:$.result,B=U?{content:[{type:"text",text:$.error?.message||"Unknown error"}],isError:!0}:N,D=U||B?.isError===!0,O=U?$.error?.message:void 0,j=Pj$(B)||null;if(Q.meter.createHistogram("connection.proxy.duration").record(H,{"connection.id":Y,"organization.id":F,"tool.name":G,status:D?"error":"success"}),D)Q.meter.createCounter("connection.proxy.errors").add(1,{"connection.id":Y,"organization.id":F,"tool.name":G,error:O??j??void 0});else Q.meter.createCounter("connection.proxy.requests").add(1,{"connection.id":Y,"organization.id":F,"tool.name":G,status:"success"});if(F)Ej$({ctx:Q,organizationId:F,connectionId:Y,toolName:G,durationMs:H,isError:D,errorType:U?"RemoteError":D?"ToolError":""});if(K){if(D)K.recordException(Error(O??j??"Tool error"));let w=zj$(W),E=Aj$(Q.metadata.properties,w),P=dv4.setSpan(qj$.active(),K);BN0({organizationId:Q.organization?.id??"",connectionId:Y,toolName:G,toolArguments:W,result:B,duration:H,isError:D,errorMessage:j,userId:Q.auth.user?.id||Q.auth.apiKey?.userId||null,requestId:Q.metadata.requestId,userAgent:Q.metadata.userAgent||null,virtualMcpId:this.options.virtualMcpId||null,properties:E||null},P),K.end()}}async close(){for(let $ of this.inflightRequests.values())if($.span)$.span.setAttributes({"transport.closed":!0}),$.span.end();return this.inflightRequests.clear(),super.close()}}});var Mj$=L(()=>{zJ();Oj$();Rj$()});function Vj$($,Z){return _H0($,(Q)=>new NN0(Q,{ctx:Z.ctx,connection:Z.connection,superUser:Z.superUser}),(Q)=>new DN0(Q,{ctx:Z.ctx,connectionId:Z.connectionId,virtualMcpId:Z.virtualMcpId}))}async function Ij$($,Z,Q=!1){let Y=$.id,X=Z.connectionId&&Z.connectionId!==Y?Z.connectionId:void 0;switch($.connection_type){case"STDIO":{if(!B0().localMode)throw Error("STDIO connections are only available in local mode (--local-mode).");let J=$.connection_headers;if(!ZN(J))throw Error("STDIO connection missing parameters");let G=pO$({id:Y,name:$.title,command:J.command,args:J.args,env:J.envVars,cwd:J.cwd});return G=Vj$(G,{ctx:Z,connection:$,superUser:Q,connectionId:Y,virtualMcpId:X}),pv4(()=>G,Y)}case"HTTP":case"Websocket":case"SSE":{if(!$.connection_url)throw Error(`${$.connection_type} connection missing URL`);let J=$.connection_url,G=$.connection_type==="SSE"?(W,K)=>new bT(W,{requestInit:{headers:K}}):(W,K)=>new LN(W,{requestInit:{headers:K}});return Z.getOrCreateClient(async()=>{let W=await Cj$($,Z,Q),K=$.connection_headers;if(K&&"headers"in K)Object.assign(W,Wd(K.headers));let H=G(new URL(J),W);return H=Vj$(H,{ctx:Z,connection:$,superUser:Q,connectionId:Y,virtualMcpId:X}),H},Y)}default:throw Error(`Unknown connection type: ${$.connection_type}`)}}var pv4;var kj$=L(()=>{l1();jN();rH0();Jd();QF0();Z91();nO$();Mj$();pv4=JN0()});function L91($){if(!$)return!1;let Z=u$0.join("|");return new RegExp(`permission\\s+"?(?:${Z})"?\\s+is not allowed`,"i").test($)||/permissions exceed what the github app|permissions requested are not granted to this installation/i.test($)}function Sj$($){let Z={...$};for(let Q of u$0)Z[Q]="read";return Z}async function _j$($,Z){let Q={...Z};for(;;){let Y=await $(Q);if(!Y.isError)return{result:Y,grantedPermissions:Q};let X=Y.content?.find((K)=>K.type==="text")?.text,J=u$0.find((K)=>(K in Q));if(!J||!L91(X))return{result:Y,grantedPermissions:Q};let{[J]:G,...W}=Q;Q=W}}function nv4($){if(!$||typeof $!=="object"||Array.isArray($))return LN0;let Z=$;if(Object.values(Z).some((Q)=>typeof Q!=="string"))return LN0;return Z}function tv4($){if(typeof $!=="number"||!Number.isFinite($)||!Number.isInteger($)||$<=0)return;return $}function NZ($){let Z=$.metadata?.repoScope;if(!Z||typeof Z.installationId!=="number"||!Number.isFinite(Z.installationId)||!Number.isInteger(Z.installationId)||Z.installationId<=0||typeof Z.owner!=="string"||typeof Z.repo!=="string"||Z.owner.length===0||Z.repo.length===0)return null;let Q=tv4(Z.repositoryId);return{sourceConnectionId:typeof Z.sourceConnectionId==="string"?Z.sourceConnectionId:void 0,installationId:Z.installationId,repositoryId:Q,owner:Z.owner,repo:Z.repo,permissions:nv4(Z.permissions),grantProvider:Z.grantProvider==="github-mcp"?"github-mcp":void 0}}function oE($){return $.metadata?.orgShared===!0}function vj$($){let Z=new Set,Q=[];for(let Y of $??[]){if(Y.status!=="active")continue;let X=NZ(Y);if(X===null)continue;let J=D91(X.owner,X.repo);if(Z.has(J))continue;Z.add(J),Q.push(`${X.owner}/${X.repo}`)}return Q}function ON0($,Z,Q){let Y=D91(Z,Q),X=($??[]).filter((J)=>{if(J.status&&J.status!=="active")return!1;let G=NZ(J);return G!==null&&D91(G.owner,G.repo)===Y});return X.find(oE)??X[0]??null}var LN0,u$0,D91=($,Z)=>`${$}/${Z}`.toLowerCase();var x3=L(()=>{LN0={contents:"write",metadata:"read",pull_requests:"write",issues:"write",checks:"read",deployments:"read",statuses:"read"},u$0=["statuses","deployments","checks"]});function pL($){return $.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")}function jN0($){let Z=2166136261;for(let Q=0;Q<$.length;Q++)Z=Math.imul(Z^$.charCodeAt(Q),16777619);return`a${(Z>>>0).toString(36).padStart(6,"0").slice(-6)}`}function wN0($){if($&&typeof $==="object"&&"gatewayClientId"in $&&typeof $.gatewayClientId==="string")return $.gatewayClientId;return}function EN0($,Z){if(!Z)return $;let Q=`${jN0(Z)}_`;return $.startsWith(Q)?$.slice(Q.length):$}function ov4($){return $.split(/[-_]/).map((Z)=>Z?Z.charAt(0).toUpperCase()+Z.slice(1):Z).join(" ")}function sv4($,Z,Q){let Y,X=new Promise((J,G)=>{Y=setTimeout(()=>G(Error(Q)),Z)});return Promise.race([$,X]).finally(()=>clearTimeout(Y))}var zq;var bj$=L(()=>{DN();zq=class zq extends c7{static MAX_PAGES_PER_CLIENT=1000;static DEFAULT_LIST_TIMEOUT_MS=30000;clients;slugToKey=new Map;resolvedClients=new Map;toolsCache=null;resourcesCache=null;resourceTemplatesCache=null;promptsCache=null;resourceRouteMap=new Map;listTimeoutMs;constructor($,Z){super(Z?.clientInfo??{name:"gateway-client",version:"1.0.0"},{capabilities:Z?.capabilities});this.clients=$,this.listTimeoutMs=Z?.listTimeoutMs??zq.DEFAULT_LIST_TIMEOUT_MS;for(let Q of Object.keys($)){let Y=jN0(Q);if(this.slugToKey.has(Y))throw Error(`GatewayClient: duplicate namespace code "${Y}" from keys "${this.slugToKey.get(Y)}" and "${Q}"`);this.slugToKey.set(Y,Q)}}namespace($,Z){return`${jN0($)}_${Z}`}async resolveNamespacedTarget($,Z,Q){let Y=$.indexOf("_");if(Y!==-1){let X=$.slice(0,Y),J=this.slugToKey.get(X);if(J)return[J,$.slice(Y+1)]}for(let X of await Q()){let J=wN0(X._meta);if(!J)continue;if(EN0(X.name,J)===$)return[J,$]}if(Y===-1)throw Error(`GatewayClient: could not resolve ${Z} "${$}" \u2014 no namespace prefix and not found in any client`);throw Error(`GatewayClient: unknown namespace "${$.slice(0,Y)}" in "${$}" and not found by original name in any client`)}resolveToolTarget($){return this.resolveNamespacedTarget($,"tool",async()=>(await this.listTools()).tools)}resolvePromptTarget($){return this.resolveNamespacedTarget($,"prompt",async()=>(await this.listPrompts()).prompts)}resolveClient($){let Z=this.resolvedClients.get($);if(Z)return Z;let Q=this.clients[$];if(!Q)return Promise.reject(Error(`GatewayClient: unknown client key "${$}"`));let Y=Q.client,X;try{X=typeof Y==="function"?Promise.resolve(Y()):Promise.resolve(Y)}catch(G){return Promise.reject(G)}let J=X.catch((G)=>{throw this.resolvedClients.delete($),G});return this.resolvedClients.set($,J),J}getResolvedClient($){return this.resolveClient($)}async listFromClient($,Z,Q){try{return await sv4((async()=>{let Y=await this.resolveClient($);return await Z(Y)})(),this.listTimeoutMs,`timed out after ${this.listTimeoutMs}ms`)}catch(Y){return console.warn(`GatewayClient: skipping ${Q} from client "${$}" \u2014 ${Y?.message??Y}`),[]}}listFromAllClients($,Z){return Promise.all(Object.entries(this.clients).map(async([Q,Y])=>[Q,Y,await this.listFromClient(Q,(X)=>$(X,Q),Z)]))}async paginate($,Z,Q){let Y=[],X,J=0;do{let G=await Q(X);Y.push(...G.items),X=G.nextCursor,J++}while(X&&J<zq.MAX_PAGES_PER_CLIENT);if(X)console.warn(`GatewayClient: client "${$}" exceeded ${zq.MAX_PAGES_PER_CLIENT} pages listing ${Z} \u2014 truncating`);return Y}fetchAllTools($,Z){return this.paginate(Z,"tools",async(Q)=>{let Y=await $.listTools(Q?{cursor:Q}:void 0);return{items:Y.tools,nextCursor:Y.nextCursor}})}fetchAllResources($,Z){return this.paginate(Z,"resources",async(Q)=>{let Y=await $.listResources(Q?{cursor:Q}:void 0);return{items:Y.resources,nextCursor:Y.nextCursor}})}fetchAllResourceTemplates($,Z){return this.paginate(Z,"resource templates",async(Q)=>{let Y=await $.listResourceTemplates(Q?{cursor:Q}:void 0);return{items:Y.resourceTemplates,nextCursor:Y.nextCursor}})}fetchAllPrompts($,Z){return this.paginate(Z,"prompts",async(Q)=>{let Y=await $.listPrompts(Q?{cursor:Q}:void 0);return{items:Y.prompts,nextCursor:Y.nextCursor}})}listTools($,Z){if(!this.toolsCache)this.toolsCache=this.aggregateTools();return this.toolsCache}async aggregateTools(){let $=[],Z=await this.listFromAllClients((Q,Y)=>this.fetchAllTools(Q,Y),"tools");for(let[Q,Y,X]of Z){let J=Y.tools,G=J?new Set(J):null;for(let W of X){if(G&&!G.has(W.name))continue;$.push({...W,name:this.namespace(Q,W.name),_meta:{...W._meta??{},gatewayClientId:Q}})}}return{tools:$}}listResources($,Z){if(!this.resourcesCache)this.resourcesCache=this.aggregateResources();return this.resourcesCache}async aggregateResources(){let $=new Set,Z=[],Q=new Map,Y=await this.listFromAllClients((X,J)=>this.fetchAllResources(X,J),"resources");for(let[X,J,G]of Y){let W=J.resources,K=W?new Set(W):null;for(let H of G){if(K&&!K.has(H.uri)&&!(H.name&&K.has(H.name)))continue;if($.has(H.uri)){console.warn(`GatewayClient: duplicate resource "${H.uri}" from client "${X}" \u2014 skipping`);continue}$.add(H.uri),Q.set(H.uri,X),Z.push({...H,_meta:{...H._meta??{},gatewayClientId:X}})}}return this.resourceRouteMap=Q,{resources:Z}}listResourceTemplates($,Z){if(!this.resourceTemplatesCache)this.resourceTemplatesCache=this.aggregateResourceTemplates();return this.resourceTemplatesCache}async aggregateResourceTemplates(){let $=new Set,Z=[],Q=await this.listFromAllClients((Y,X)=>this.fetchAllResourceTemplates(Y,X),"resource templates");for(let[Y,X,J]of Q)for(let G of J){if($.has(G.uriTemplate)){console.warn(`GatewayClient: duplicate resource template "${G.uriTemplate}" from client "${Y}" \u2014 skipping`);continue}$.add(G.uriTemplate),Z.push({...G,_meta:{...G._meta??{},gatewayClientId:Y}})}return{resourceTemplates:Z}}listPrompts($,Z){if(!this.promptsCache)this.promptsCache=this.aggregatePrompts();return this.promptsCache}async aggregatePrompts(){let $=[],Z=await this.listFromAllClients((Q,Y)=>this.fetchAllPrompts(Q,Y),"prompts");for(let[Q,Y,X]of Z){let J=Y.prompts,G=J?new Set(J):null;for(let W of X){if(G&&!G.has(W.name))continue;$.push({...W,name:this.namespace(Q,W.name),title:W.title??ov4(W.name),_meta:{...W._meta??{},gatewayClientId:Q}})}}return{prompts:$}}async callTool($,Z,Q){let[Y,X]=await this.resolveToolTarget($.name);return(await this.resolveClient(Y)).callTool({...$,name:X},Z,Q)}async readResource($,Z){let Q=await this.resolveResourceRoute($.uri);return(await this.resolveClient(Q)).readResource($)}async getPrompt($,Z){let[Q,Y]=await this.resolvePromptTarget($.name);return(await this.resolveClient(Q)).getPrompt({...$,name:Y})}async resolveResourceRoute($){let Z=this.resourceRouteMap.get($);if(Z)return Z;if(this.resourcesCache=null,await this.listResources(),Z=this.resourceRouteMap.get($),Z)return Z;throw Error(`GatewayClient: resource "${$}" not found in any upstream client`)}getServerCapabilities(){return{tools:{},resources:{},prompts:{}}}getInstructions(){return}refresh(){this.toolsCache=null,this.resourcesCache=null,this.resourceTemplatesCache=null,this.promptsCache=null}async close(){let $=[...this.resolvedClients.values()].map((Z)=>Z.then((Q)=>Q.close()).catch(()=>{}));await Promise.allSettled($),await super.close()}}});var PN0=L(()=>{bj$()});function j91($){return pL($)}function rv4($,Z){let Q=pL(Z)||"prompt";return`${String($).padStart(av4,"0")}-${Q}`}async function w91($,Z,Q){try{await $.delete(zN0,j91(Z),{actor:Q})}catch(Y){console.error("[agent-prompts] failed to delete prompts",{agentId:Z,err:Y})}}async function AN0($,Z,Q,Y){let X=j91(Z);await w91($,Z,Q),await Promise.all(Y.slice(0,O91).map(async(J,G)=>{let W=rv4(G,J.title),K={name:W,title:J.title,description:J.description,text:J.text};try{await $.write(zN0,`${X}/${W}.json`,JSON.stringify(K),{actor:Q,contentType:"application/json"})}catch(H){console.error("[agent-prompts] failed to seed prompt",{agentId:Z,name:W,err:H})}}))}async function xj$($,Z){let Q=j91(Z),Y;try{Y=await $.listDir(zN0,Q)}catch{return[]}let X=Y.filter((G)=>G.kind==="file"&&G.path.endsWith(".json")).slice(0,O91),J=[];for(let G of X)try{let W=await $.read(zN0,G.path),K=JSON.parse(new TextDecoder().decode(W));if(K&&typeof K.name==="string"&&typeof K.title==="string"&&typeof K.text==="string")J.push(K)}catch{}return J}var zN0="agent-prompts",O91=20,av4;var l$0=L(()=>{PN0();av4=String(O91-1).length});function TN0($){let Z=sE.get($);if(!Z||Z.state==="CLOSED")return;if(Z.state==="HALF_OPEN"){if(Z.halfOpenInFlight){if(Date.now()-Z.halfOpenStartedAt<tO$)throw new Xi($,0)}Z.halfOpenInFlight=!0,Z.halfOpenStartedAt=Date.now();return}let Q=Date.now()-Z.lastFailureTime;if(Q>=Y91){Z.state="HALF_OPEN",Z.halfOpenInFlight=!0,Z.halfOpenStartedAt=Date.now();return}throw new Xi($,Y91-Q)}function qN0($){sE.delete($)}function RN0($){let Z=sE.get($);if(!Z){ev4(),sE.set($,{state:1>=Q91?"OPEN":"CLOSED",consecutiveFailures:1,lastFailureTime:Date.now(),halfOpenInFlight:!1,halfOpenStartedAt:0});return}if(Z.consecutiveFailures++,Z.lastFailureTime=Date.now(),Z.halfOpenInFlight=!1,Z.consecutiveFailures>=Q91)Z.state="OPEN"}function ev4(){if(sE.size<WN0)return;let $=null,Z=1/0;for(let[Q,Y]of sE)if(Y.lastFailureTime<Z)Z=Y.lastFailureTime,$=Q;if($)sE.delete($)}var sE,Xi;var E91=L(()=>{y6();sE=new Map;W$.createObservableGauge("mcp_circuit_breaker.circuits",{description:"MCP connection circuits by state (open, half_open)",unit:"{circuits}"}).addCallback(($)=>{let Z=0,Q=0;for(let Y of sE.values())if(Y.state==="OPEN")Z++;else if(Y.state==="HALF_OPEN")Q++;$.observe(Z,{state:"open"}),$.observe(Q,{state:"half_open"})});Xi=class Xi extends Error{cooldownRemainingMs;constructor($,Z){super(`Connection ${$} circuit breaker is open \u2014 downstream server unreachable. `+`Retry in ${Math.ceil(Z/1000)}s.`);this.name="CircuitOpenError",this.cooldownRemainingMs=Z}}});function Ji(...$){if(Yb4)console.log("[mcp-read-cache]",...$)}function Xb4($){return $.kind==="org"?"org":`u:${$.userId}`}function P91($){if($===null||typeof $!=="object")return JSON.stringify($)??"null";if(Array.isArray($))return`[${$.map(P91).join(",")}]`;return`{${Object.keys($).sort().map((Q)=>`${JSON.stringify(Q)}:${P91($[Q])}`).join(",")}}`}class IN0{config;maxEntries;now;maxTotalBytes;store=new Map;revalidating=new Set;totalBytes=0;byConnection=new Map;constructor($=$b4,Z=Zb4,Q=()=>Date.now(),Y=Qb4){this.config=$;this.maxEntries=Z;this.now=Q;this.maxTotalBytes=Y}stats(){return{entries:this.store.size,bytes:this.totalBytes}}deleteKey($){let Z=this.store.get($);if(Z){this.store.delete($),this.totalBytes-=Z.bytes;let Q=this.byConnection.get(Z.connectionId);if(Q){if(Q.delete($),Q.size===0)this.byConnection.delete(Z.connectionId)}}}key($,Z,Q,Y){return`${Z}:${Xb4(Q)}:${$}:${P91(Y)}`}storeSet($,Z,Q,Y,X){let J;try{J=JSON.stringify(Q).length}catch{Ji("SKIP non-serializable",$);return}if(J>X){Ji("SKIP oversize",$,`${J}b > cap ${X}b`);return}this.deleteKey($);while(this.store.size>0&&(this.store.size>=this.maxEntries||this.totalBytes+J>this.maxTotalBytes)){let W=this.store.keys().next().value;if(W===void 0)break;this.deleteKey(W)}this.store.set($,{value:Q,storedAt:Y,bytes:J,connectionId:Z}),this.totalBytes+=J;let G=this.byConnection.get(Z);if(!G)G=new Set,this.byConnection.set(Z,G);G.add($)}async fetch($){let{type:Z,connectionId:Q,scope:Y,params:X,fetchLive:J,shouldCache:G,onRevalidation:W}=$,K=this.config[Z],H=this.key(Z,Q,Y,X),F=this.now(),U=this.store.get(H),N=U?F-U.storedAt:1/0;if(!U||N>K.maxStaleMs){MN0.add(1,{type:Z,outcome:"miss"}),Ji(U?"EXPIRED":"MISS",H);let B=await J();if(G?.(B)??!0)this.storeSet(H,Q,B,this.now(),K.maxValueBytes);else Ji("NOT-CACHED (shouldCache=false)",H);return B}if(this.store.delete(H),this.store.set(H,U),N>K.revalidateAfterMs&&!this.revalidating.has(H)){MN0.add(1,{type:Z,outcome:"stale"}),Ji("STALE \u2192 serve + revalidate",H,`age=${N}ms`),this.revalidating.add(H);let B=J().then((D)=>{if(G?.(D)??!0)this.storeSet(H,Q,D,this.now(),K.maxValueBytes)}).catch(()=>{MN0.add(1,{type:Z,outcome:"error"})}).finally(()=>this.revalidating.delete(H));W?.(B)}else MN0.add(1,{type:Z,outcome:"hit"}),Ji("HIT",H,`age=${N}ms`);return U.value}invalidate($){let Z=this.byConnection.get($);if(!Z)return;for(let Q of[...Z])this.deleteKey(Q)}}function A91(){return B0().mcpCacheEnabled}function kN0(){return A91()?z91:null}var MN0,VN0=1024,fj$,$b4,Zb4=2000,Qb4,Yb4,z91;var m$0=L(()=>{y6();l1();MN0=W$.createCounter("mcp_read_cache.fetches",{description:"MCP read cache outcomes (hit, stale, miss, error)",unit:"{fetches}"}),fj$=VN0*VN0,$b4={"tools/call":{revalidateAfterMs:30000,maxStaleMs:300000,maxValueBytes:512*VN0},"resources/read":{revalidateAfterMs:60000,maxStaleMs:300000,maxValueBytes:4*fj$},"prompts/get":{revalidateAfterMs:60000,maxStaleMs:300000,maxValueBytes:512*VN0}},Qb4=256*fj$,Yb4=typeof process<"u"&&!!process.env?.MCP_CACHE_DEBUG;z91=new IN0;W$.createObservableGauge("mcp_read_cache.entries",{description:"Current entry count in the per-pod MCP read cache",unit:"{entries}"}).addCallback(($)=>$.observe(z91.stats().entries));W$.createObservableGauge("mcp_read_cache.bytes",{description:"Approximate total bytes held in the per-pod MCP read cache",unit:"By"}).addCallback(($)=>$.observe(z91.stats().bytes))});function uj$(){if(yj$)return;yj$=!0;try{gj$=W$.createCounter("virtual_mcp.aggregate_cache.lookups",{description:"Virtual MCP aggregate tool-list cache lookups by outcome (hit, miss, expired)",unit:"{lookups}"}),hj$=W$.createCounter("virtual_mcp.aggregate_cache.evictions",{description:"Virtual MCP aggregate tool-list cache entries dropped, by reason (capacity, invalidated, failed)",unit:"{entries}"}),W$.createObservableGauge("virtual_mcp.aggregate_cache.entries",{description:"Live entries in this pod's Virtual MCP aggregate tool-list cache",unit:"{entries}"}).addCallback(($)=>$.observe(yK.size))}catch($){console.error("[aggregate-cache] failed to register metrics:",$)}}function T91($){uj$(),gj$?.add(1,{outcome:$})}function q91($,Z=1){if(Z<=0)return;uj$(),hj$?.add(Z,{reason:$})}function lj$($){return[$.virtualMcpId??"",$.userId??"",$.superUser?"su":"",[...$.connectionIds].sort().join(",")].join("|")}function mj$($){let Z=yK.get($);if(!Z)return T91("miss"),null;if(Date.now()-Z.at>=Jb4)return yK.delete($),T91("expired"),null;return T91("hit"),Z.value}function cj$($,Z,Q){let Y=Q.catch((J)=>{if(yK.get($)?.value===Y)yK.delete($),q91("failed");throw J});yK.delete($),yK.set($,{at:Date.now(),deps:Z,value:Y});let X=0;while(yK.size>Gb4){let J=yK.keys().next();if(J.done)break;yK.delete(J.value),X++}return q91("capacity",X),Y}function dj$($){let Z=0;for(let[Q,Y]of yK)if(Y.deps.includes($))yK.delete(Q),Z++;q91("invalidated",Z)}var Jb4=30000,Gb4=500,yK,gj$=null,hj$=null,yj$=!1;var R91=L(()=>{y6();yK=new Map});function nj$($){kN0()?.invalidate($),Dj$($),dj$($)}function Gi($){nj$($);let Z=M91?.();if(!Z)return;try{Z.publish(ij$,Wb4.encode(JSON.stringify({connectionId:$,originId:pj$})))}catch(Q){console.warn("[McpCacheInvalidation] publish failed (non-critical):",Q)}}function tj$($){if(M91=$,c$0)return;let Z=$();if(!Z)return;c$0=Z.subscribe(ij$),(async()=>{for await(let Q of c$0)try{let Y=JSON.parse(Kb4.decode(Q.data));if(Y.originId===pj$)continue;nj$(Y.connectionId)}catch{}})().catch(console.error)}function oj$(){c$0?.unsubscribe(),c$0=null,M91=void 0}var ij$="studio.mcp-cache.invalidate",pj$,Wb4,Kb4,M91,c$0=null;var d$0=L(()=>{m$0();IJ();R91();pj$=crypto.randomUUID(),Wb4=new TextEncoder,Kb4=new TextDecoder});function V91($){if($===null)return"null";if(Array.isArray($))return"array";return typeof $}function Hb4($,Z){if(Z==="integer")return typeof $==="number"&&Number.isInteger($);return V91($)===Z}function Fb4($,Z){if(Z==="object"||Z==="array"){let Q;try{Q=JSON.parse($)}catch{return}return V91(Q)===Z?Q:void 0}if(Z==="boolean"){if($==="true")return!0;if($==="false")return!1;return}if(Z==="number"||Z==="integer"){if($.trim()==="")return;let Q=Number($);if(!Number.isFinite(Q))return;if(Z==="integer"&&!Number.isInteger(Q))return;return Q}return}function sj$($,Z){if(!$?.properties||!Z)return null;let Q=!1,Y={...Z};for(let[X,J]of Object.entries(Z)){if(typeof J!=="string")continue;let G=$.properties[X]?.type;if(!G||G==="string")continue;let W=Fb4(J,G);if(W===void 0)continue;Y[X]=W,Q=!0}return Q?Y:null}function I91($,Z,Q){let Y=Object.keys(Q??{}),X=Z?.required??[],J=X.filter((H)=>!Y.includes(H)),G=(H)=>{let F=Z?.properties?.[H]?.type;return F?`${H} (${F})`:H},W=Y.filter((H)=>{let F=Z?.properties?.[H]?.type;return F!=null&&!Hb4(Q?.[H],F)}).map((H)=>`${H} (expected ${Z?.properties?.[H]?.type}, got ${V91(Q?.[H])})`);return[`Invalid arguments for "${$}".`,X.length?`Required: ${X.map(G).join(", ")}.`:"",`You sent: ${Y.length?Y.join(", "):"(none)"}.`,J.length?`Missing required: ${J.join(", ")}.`:"",W.length?`Wrong type: ${W.join(", ")}.`:""].filter(Boolean).join(" ")}function aj$($,Z,Q,Y){if(!($ instanceof x1)||$.code!==u1.InvalidParams)return $;if(!Z)return $;let X=I91(Z,Q,Y),J=$.message.replace(/^MCP error -?\d+: /,"");return new x1(u1.InvalidParams,`${J}
603
603
 
604
604
  ${X}`,$.data)}function CN0($){let Z=$;if(!Z||Z.isError!==!0||!Array.isArray(Z.content))return null;let Q=Z.content.map((Y)=>Y?.type==="text"?Y.text:null).filter((Y)=>typeof Y==="string").join(`
605
605
  `);return/MCP error -32602|Input validation error/.test(Q)?Q:null}function rj$($,Z){let Q=$;return{...Q,content:(Q.content??[]).map((Y,X)=>X===0&&Y?.type==="text"?{...Y,text:`${Y.text}
@@ -4568,7 +4568,7 @@ ${X}`:`${Y}
4568
4568
 
4569
4569
  ${X}
4570
4570
  ${J.slice(Y.length).trimStart()}`}function qE8($){return $?.match(rF5)?.[1]?.toLowerCase()??null}async function QU5($,Z,Q){let[Y,X]=await Promise.all([$.client.listDecofileEntries(Z,$.packagePath),$.client.listDecofileEntries(Q,$.packagePath)]),J=new Map(KW(Y,$.packagePath).map((H)=>[H.path,H.sha])),G=KW(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 TE8($,Z){try{return await XY0($.client,$.packagePath,Z)}catch(Q){if(Q instanceof l2)return null;throw Q}}async function RE8($,Z,Q){let Y=JO($.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([TE8($,Z),TE8($,Q)]);return G!==W}async function ME8($,Z){if(!eB0(Z))throw new Dl;if(!await Iq1($.store,$.site,Z))throw new Dl}async function VE8($,Z){await ME8($,Z);let Q=await C5($.client,$.mainBranch);return RE8($,Q,Z)}async function IE8($,Z,Q={},Y={}){await ME8($,Z);let X=await $.client.readCommit(Z);if(!X)throw new Dl;let J=await C5($.client,$.mainBranch),G=await QU5($,J,Z);if(G.changes.length===0)return{result:"up-to-date"};let W=await RE8($,J,Z);if(W)console.info("hosted reapply: schema differs",{site:$.site,target:Z,head:J});let K=await kq1($,J,G,ZU5(X,Z,Q.coAuthor));return{result:"merged",sha:K,release:await Uh0($,K,Y),schemaChanged:W}}var Dl,aF5="Reapplied-From",rF5;var bq1=L(()=>{Tp();W5();pK();KB();GY0();Fh0();AE8();Dl=class Dl extends Error{constructor(){super("This commit has no release");this.name="NotPublishedError"}};rF5=/^Reapplied-From:\s*([0-9a-f]{40})\s*$/im});async function kE8($,Z,Q){let[Y,X,J]=await Promise.all([JY0($.store,$.site),O2$($.store,$.site),Z.listCommits({ref:$.mainBranch,since:XU5,cursor:Q,limit:YU5})]),G=new Map(J.items.map((H)=>[H.sha,H.date])),W=J.items.map((H)=>qE8(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 CE8($){let Z=await C5($.client,$.mainBranch),Q=await Cq1($,Z);return Sq1($,{revision:Z,schemaHash:Q,publishedAt:new Date().toISOString()})}var YU5=50,XU5="1970-01-01T00:00:00Z";var SE8=L(()=>{W5();KB();GY0();bq1()});function _E8($){return`site-tokens:${$}`}function JU5($){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 vE8($){return crypto.subtle.importKey("pkcs8",Buffer.from($,"base64"),{name:"Ed25519"},!1,["sign"])}async function GU5($,Z){let Q=(J)=>xq1(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}.${xq1(X)}`}function bE8($){let Z=async(Q,Y)=>JU5(await $.kv.get(Q,_E8(Y)));return{list:Z,async issue(Q,Y){let X=await Z(Q,Y),J={kid:xq1(crypto.getRandomValues(new Uint8Array(16))),iat:Math.floor(Date.now()/1000)},G=await GU5(await $.signingKey(),{site:Y,...J});return await $.kv.set(Q,_E8(Y),{tokens:[...X,J]}),{token:G,record:J}}}}var xq1=($)=>Buffer.from($ instanceof Uint8Array?$:new Uint8Array($)).toString("base64url");function KU5(){let $=iq();return $?{store:$,purge:Wh0()}:null}async function jh0($){let Z=$.var.delivery();if(!Z)return null;let Q=$.get("hostedProject"),Y=await $.var.repoClientFor($.var.studioContext,Q.organizationId,Q.repository);return{client:Y,packagePath:Q.packagePath,mainBranch:await Y.getDefaultBranch(),store:Z.store,purge:Z.purge,site:Q.site,previewHosts:await Kh0({site:Q.site,metadata:Q.metadata,domains:$.var.siteDomains})}}function xE8($){let Z=B0().siteTokenSigningKey;if(!Z)return null;return bE8({kv:$.var.studioContext.storage.kv,signingKey:()=>vE8(Z)})}function ps($,Z){let Q=Z instanceof Error?Z.message:String(Z);if(Z instanceof l2)return $.json({error:Q},409);if(Z instanceof Nh0)return console.error("hosted: latest.json update failed",{error:Q}),$.json({error:"latest-update-failed"},502);let Y=y3(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 fE8($={}){let Z=new $1,Q=$.repoClientFor??h3,Y=$.insightsFor??PE$,X=$.delivery??KU5;return Z.use("*",async(J,G)=>{J.set("repoClientFor",Q),J.set("delivery",X),J.set("siteDomains",$.siteDomains),await G()}),Z.use("/:virtualMcpId/*",WU5),Z.get("/:virtualMcpId/releases",async(J)=>{try{let G=await jh0(J);if(!G)return J.json(Oh0,503);let W=J.get("hostedProject"),K=await Y(J.var.studioContext,W.organizationId,W.repository);return J.json(await kE8(G,K,J.req.query("cursor")??null),200,{"Cache-Control":"no-store"})}catch(G){return ps(J,G)}}),Z.post("/:virtualMcpId/releases/retry",async(J)=>{try{let G=await jh0(J);if(!G)return J.json(Oh0,503);let W=await J.req.json().catch(()=>({})),K=await CE8(G),H=J.var.studioContext.auth?.user?.id;if(typeof W.branch==="string"&&W.branch&&typeof W.draftEtag==="string"&&W.draftEtag&&H){let F=J.get("hostedProject");await _q1(G,YD0({kv:J.var.studioContext.storage.kv,store:G.store}),{organizationId:F.organizationId,virtualMcpId:F.virtualMcpId,branch:W.branch,site:F.site,editor:H},W.draftEtag)}return J.json({current:K})}catch(G){return ps(J,G)}}),Z.get("/:virtualMcpId/releases/:sha/reapply",async(J)=>{try{let G=await jh0(J);if(!G)return J.json(Oh0,503);return J.json({schemaChanged:await VE8(G,J.req.param("sha"))})}catch(G){if(G instanceof Dl)return J.json({error:G.message},404);return ps(J,G)}}),Z.post("/:virtualMcpId/releases/:sha/reapply",async(J)=>{try{let G=await jh0(J);if(!G)return J.json(Oh0,503);let W=await IE8(G,J.req.param("sha"),{coAuthor:DO(J.var.studioContext)});return J.json(W)}catch(G){if(G instanceof Dl)return J.json({error:G.message},404);if(G instanceof Bl)return J.json({error:"main-moved"},409);return ps(J,G)}}),Z.get("/:virtualMcpId/site-tokens",async(J)=>{let G=J.get("hostedProject"),W=xE8(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=xE8(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 pq(K,G.packagePath,await K.getDefaultBranch());if(await ui(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 ps(J,K)}}),Z}var WU5,Oh0;var yE8=L(()=>{uF();H8();ig0();_3();lF();W5();KB();Pq1();XD0();GY0();Vq1();Fh0();SE8();bq1();s40();nq();hi();l1();dP();WU5=vs(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(!CQ(await e7(Q),X))return $.json({error:"Virtual MCP not found"},404);let G=J.metadata??null,W=BW(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 GD0({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 ps($,H)}let K=await JD0(Q.storage.orgSites,X,Y.id);if(!K)return $.json(gi,409);return $.set("hostedProject",{organizationId:Y.id,virtualMcpId:X,site:K,packagePath:HB(G),repository:W,metadata:G}),Z()}),Oh0={error:"hosted delivery not configured"}});var gE8=($)=>{let Z=new $1;if(Z.use("*",Qs),Z.use("*",cN8),Z.route("/",lN8($.voiceSessions)),Z.route("/",ty0()),Z.route("/",vB8()),Z.route("/",iB8()),Z.route("/",IB8()),Z.route("/",oO8()),Z.route("/",aO8()),Z.route("/",lO8()),Z.route("/",nO8()),Z.route("/",cO8()),Z.route("/",mg0()),Z.route("/tools",Xj8()),Z.route("/",Zj8()),Z.route("/",zO8({kvStorage:$.kvStorage})),Z.route("/",EO8()),Z.route("/fs",_O8({getConnection:$.getNatsConnection})),Z.route("/sandbox",qw8()),Z.route("/decofile",jE8()),Z.route("/hosted",fE8()),Z.route("/",gO8()),Z.route("/",bO8()),Z.route("/deco-sites",sy0()),Z.route("/hosting",$B8()),Z.route("/monitor",jB8()),Z.route("/order-monitor",qB8()),Z.route("/sso",my0()),Z.route("/",cg0({tokenStorage:$.tokenStorage,automationEventDispatcher:$.automationEventDispatcher})),Z.route("/webhooks",oN8()),$.mountDevAssets)Z.route("/dev-assets",Gg0({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 vT1)Z.use(`${Q}/:threadId`,$.mcpAuth);Z.route("/",vG8()),Z.get("/mcp/:gateway?/:connectionId/.well-known/oauth-protected-resource/*",$.betterAuthProtectedResourceHandler),Z.get("/mcp/.well-known/oauth-protected-resource",$.betterAuthProtectedResourceHandler);for(let Q of vT1)Z.route(Q,fO8());return Z.route("/mcp",Gx0()),Z.route("/mcp/self",gg0()),Z.route("/mcp",Hx0()),Z.all("/oauth-proxy/:connectionId/*",$.oauthProxyHandler),Z.get("/watch",$.watchHandler),Z};var hE8=L(()=>{H8();mN8();dN8();Sy0();sN8();GA1();ZB8();wB8();RB8();Wg0();v2();ZA1();bB8();NA1();PO8();AO8();vO8();xO8();HZ0();p21();Fx0();_T1();yO8();hO8();mO8();dO8();fT1();sO8();rO8();Qj8();yT1();Jj8();gT1();Wx0();Rw8();wE8();yE8()});import{z as Ll}from"zod";class fq1{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 mE8.Kvm(wh0.jetstream($)).create("STUDIO_VOICE_SESSIONS",{storage:wh0.StorageType.Memory,ttl:cE8.nanos(vO),max_bytes:10485760}).catch((Z)=>{throw this.kvPromise=void 0,Z}),this.kvPromise}async conversationAgent($){let Z=await this.kv(),Q=`agent.${$.conversationKey}`,Y=Date.now()+45000;while(Date.now()<Y){let X=await Z.get(Q),J=X?.operation==="PUT"?lE8.parse(X.json()):null;if(J?.state==="ready")return J.agentId;if(J?.state==="creating"&&J.expiresAt>Date.now()){await G$(200);continue}let G=uE8.encode(JSON.stringify({state:"creating",expiresAt:Date.now()+40000})),W;try{W=X&&J?await Z.update(Q,G,X.revision):await Z.create(Q,G)}catch{await G$(200);continue}try{let K=await $.ensureConversationAgent();return await Z.update(Q,uE8.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"?lE8.parse(G.json()):null;if(G&&W?.state==="ready"&&W.agentId===Q)await X.delete(J,{previousSeq:G.revision}).catch(()=>{});throw Y}}}var wh0,mE8,cE8,uE8,lE8;var dE8=L(()=>{F3();bB();g$();wh0=_(nH(),1),mE8=_(Pq(),1),cE8=_(UA(),1),uE8=new TextEncoder,lE8=Ll.discriminatedUnion("state",[Ll.object({state:Ll.literal("ready"),agentId:Ll.string()}),Ll.object({state:Ll.literal("creating"),expiresAt:Ll.number()})])});import{z as ns}from"zod";function HU5($){return{model:$.model,instructions:`${Gi$}
4571
- Start in ${$.language==="pt"?"Brazilian Portuguese":"English"}, and follow the user's language.`,delegation:{type:"client"},audio:{output:{voice:$.voice}},store:!1}}class yq1{config;constructor($){this.config=$}async createSession(){return{provider:"openai",transport:"webrtc"}}async negotiate($){let Z=await fetch("https://api.openai.com/v1/live/sessions",{method:"POST",headers:{Authorization:`Bearer ${this.config.apiKey}`,"Content-Type":"application/json","OpenAI-Safety-Identifier":$.safetyIdentifier},body:JSON.stringify({session:HU5({...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:ns.object({session:ns.object({id:ns.string().min(1)}),transport:ns.object({type:ns.literal("webrtc"),sdp:ns.string().min(1).max(1e5)})}).parse(await Z.json()).transport.sdp}}}var iE8=L(()=>{bB()});var pE8;var nE8=L(()=>{pE8=[{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 gq1($){return{conversation_config:{agent:{first_message:"",language:"en",prompt:{prompt:Xi$,llm:$.conversationModel,thinking_budget:0,max_tokens:512,tools:pE8.map((Z)=>({...Z,type:"client",expects_response:!0,response_timeout_secs:Z.name==="delegate_to_agent"?20:5,...Z.name==="delegate_to_agent"?{execution_mode:"async",interruption_mode:"allow",pre_tool_speech:"off"}:{}}))}},asr:{provider:"scribe_realtime",quality:"high"},turn:{turn_eagerness:"normal",turn_timeout:-1,silence_end_call_timeout:-1},tts:{voice_id:$.voiceId,model_id:$.model},conversation:{max_duration_seconds:vO/1000,client_events:["audio","interruption","user_transcript","agent_response","client_tool_call","vad_score"]}},platform_settings:{auth:{enable_auth:!0},privacy:{record_voice:!1,retention_days:1,delete_audio:!0,delete_transcript_and_pii:!0},overrides:{conversation_config_override:{agent:{language:!0}}}}}}var tE8=L(()=>{bB();nE8()});import{z as rJ}from"zod";import{createHash as FU5,createHmac as UU5}from"crypto";class Eh0{config;conversationKey;configurationKey;constructor($){this.config=$;this.configurationKey=FU5("sha256").update(JSON.stringify(gq1($))).digest("hex"),this.conversationKey=UU5("sha256",$.apiKey).update(this.configurationKey).digest("hex")}forConversationModel($){return $===this.config.conversationModel?this:new Eh0({...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}=rJ.object({agents:rJ.array(rJ.object({agent_id:rJ.string(),name:rJ.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 rJ.object({platform_settings:rJ.object({auth:rJ.object({enable_auth:rJ.literal(!0)})})}).parse(await J.json()),Y.agent_id}let X=await this.request("/convai/agents/create",{name:$,...gq1(this.config)},AbortSignal.timeout(15000));return rJ.object({agent_id:rJ.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 rJ.object({token:rJ.string().min(1)}).parse(await Z.json()).token}async createTranscriptionToken(){let $=await this.request("/single-use-token/realtime_scribe",{},AbortSignal.timeout(15000));return rJ.object({token:rJ.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 oE8=L(()=>{tE8()});import{createHmac as NU5,timingSafeEqual as BU5}from"crypto";import{z as ts}from"zod";function aE8($,Z){if(!Z)throw Error("Voice requires a shared authentication secret");return NU5("sha256",Z).update(`studio-voice-session:v1:${$}`).digest("base64url")}function rE8($,Z){let Q=Buffer.from(JSON.stringify(sE8.parse($))).toString("base64url");return`${Q}.${aE8(Q,Z)}`}function eE8($,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(aE8(X,Z)),W=Buffer.from(J);if(W.length!==G.length||!BU5(W,G))return null;try{let K=sE8.safeParse(JSON.parse(Buffer.from(X,"base64url").toString()));if(!K.success||K.data.expiresAt<=Q||K.data.expiresAt>Q+vO)return null;return K.data}catch{return null}}var sE8;var $P8=L(()=>{bB();sE8=ts.object({sessionId:ts.string().uuid(),organizationId:ts.string().min(1).max(256),userId:ts.string().min(1).max(256),threadId:ts.string().min(1).max(256),expiresAt:ts.number().int().positive()})});import{z as hq1}from"zod";function ZP8($,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 uq1.parse({provider:Q,model:Z?.voice_model??(Q==="openai"?$.openaiLiveModel:$.elevenlabsConversationModel)})}var uq1;var QP8=L(()=>{uq1=hq1.object({provider:hq1.enum(["elevenlabs","openai"]),model:hq1.string().trim().min(1).max(128)})});import{createHash as DU5}from"crypto";import{z as os}from"zod";function ss($){return`user.${DU5("sha256").update(JSON.stringify([$.organizationId,$.userId])).digest("hex")}`}class mq1{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 YP8.Kvm(zh0.jetstream($)).create("STUDIO_VOICE_SESSIONS",{storage:zh0.StorageType.Memory,ttl:XP8.nanos(vO),max_bytes:10485760}).catch((Z)=>{throw this.kvPromise=void 0,Z}),this.kvPromise}adapter(){if(!this.deps.adapter)throw new R1(503,{message:"Voice is not configured on this deployment"});return this.deps.adapter}async create($,Z=!1,Q="en",Y){let X;if(Z)try{X=ZP8(this.deps.defaults,Y)}catch{throw new R1(503,{message:"Voice configuration is invalid"})}let J=X?this.deps.conversationAdapters[X.provider]:this.adapter();if(!J)throw new R1(503,{message:"Voice is not configured on this deployment"});let G={...$,sessionId:crypto.randomUUID(),expiresAt:Date.now()+vO},W=rE8(G,this.deps.secret),K=await this.kv(),H=ss(G),F=await K.get(H),U=F?.operation==="PUT"?Ph0.parse(F.json()):null,N=lq1.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:ss($)});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=eE8(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=ss(Q),J=await Y.get(X),G=J?.operation==="PUT"?Ph0.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,lq1.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=ss(X);for(let W=0;;W++){let K=await J.get(G),H=K?.operation==="PUT"?Ph0.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,lq1.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(ss($));if(Q?.operation==="PUT"&&Ph0.parse(Q.json()).sessionId===$.sessionId)await Z.delete(ss($),{previousSeq:Q.revision})}async revoke($,Z){await this.release(this.authorize($,Z))}}var zh0,YP8,XP8,Ph0,lq1;var JP8=L(()=>{F3();bB();$P8();QP8();zh0=_(nH(),1),YP8=_(Pq(),1),XP8=_(UA(),1),Ph0=os.object({sessionId:os.string().uuid(),expiresAt:os.number(),connected:os.boolean().optional(),conversation:uq1.optional(),characters:os.number().int().nonnegative(),requests:os.number().int().nonnegative()}),lq1=new TextEncoder});import{z as c1}from"zod";function wD($,Z="invalid_request_error",Q=null,Y=null){return{error:{message:$,type:Z,param:Q,code:Y}}}function qU5($){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 RU5($,Z,Q){try{return JSON.parse($)}catch{throw new KP8(`Invalid JSON in tool call arguments for function '${Q}' (tool_call_id: ${Z}): ${$}`)}}function MU5($){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:RU5(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 VU5($){let Z=$.map((Q)=>{let Y=Q.function.parameters?CN(Q.function.parameters):CN({type:"object",properties:{}});return[Q.function.name,a$({description:Q.function.description,inputSchema:Y})]});return Object.fromEntries(Z)}function IU5($){if(!$)return;return{openai:{response_format:$}}}function kU5(){return`chatcmpl-${crypto.randomUUID().replace(/-/g,"").substring(0,29)}`}function GP8($,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 WP8($){if($==="tool-calls")return"tool_calls";if($==="length")return"length";return"stop"}var LU5=256,OU5,jU5,wU5,EU5,PU5,zU5,AU5,TU5,KP8,HP8,FP8;var UP8=L(()=>{u4();H8();_s();LU();OU5=c1.object({type:c1.literal("function"),function:c1.object({name:c1.string(),description:c1.string().optional(),parameters:c1.record(c1.string(),c1.unknown()).optional()})}),jU5=c1.object({id:c1.string(),type:c1.literal("function"),function:c1.object({name:c1.string(),arguments:c1.string()})}),wU5=c1.discriminatedUnion("role",[c1.object({role:c1.literal("system"),content:c1.string(),name:c1.string().optional()}),c1.object({role:c1.literal("user"),content:c1.union([c1.string(),c1.array(c1.union([c1.object({type:c1.literal("text"),text:c1.string()}),c1.object({type:c1.literal("image_url"),image_url:c1.object({url:c1.string(),detail:c1.string().optional()})})]))]),name:c1.string().optional()}),c1.object({role:c1.literal("assistant"),content:c1.string().nullable().optional(),name:c1.string().optional(),tool_calls:c1.array(jU5).optional()}),c1.object({role:c1.literal("tool"),content:c1.string(),tool_call_id:c1.string()})]),EU5=c1.object({type:c1.literal("text")}),PU5=c1.object({type:c1.literal("json_object")}),zU5=c1.object({type:c1.literal("json_schema"),json_schema:c1.object({name:c1.string(),description:c1.string().optional(),schema:c1.record(c1.string(),c1.unknown()),strict:c1.boolean().optional()})}),AU5=c1.union([EU5,PU5,zU5]),TU5=c1.object({model:c1.string().describe("Format: 'model_id' or 'credential_id:model_id'"),messages:c1.array(wU5),stream:c1.boolean().optional().default(!1),temperature:c1.number().min(0).max(2).optional(),max_tokens:c1.number().positive().optional(),top_p:c1.number().min(0).max(1).optional(),frequency_penalty:c1.number().min(-2).max(2).optional(),presence_penalty:c1.number().min(-2).max(2).optional(),stop:c1.union([c1.string(),c1.array(c1.string())]).optional(),tools:c1.array(OU5).optional(),tool_choice:c1.union([c1.literal("auto"),c1.literal("none"),c1.literal("required"),c1.object({type:c1.literal("function"),function:c1.object({name:c1.string()})})]).optional(),response_format:AU5.optional(),user:c1.string().optional()});KP8=class KP8 extends Error{constructor($){super($);this.name="MessageConversionError"}};HP8=new $1;HP8.post("/:org/v1/chat/completions",async($)=>{let Z=$.get("studioContext"),Q=$.req.param("org");try{if(!Z.auth.apiKey?.id)return $.json(wD("API key authentication required. Provide a valid API key via Authorization header.","authentication_error"),401);if(!Z.organization)return $.json(wD("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(wD("Organization mismatch. The API key's organization does not match the requested organization.","invalid_request_error","organization"),403);let Y=await $.req.json(),X=TU5.safeParse(Y);if(!X.success){let j=X.error.issues[0]??{message:"Invalid request",path:[]};return $.json(wD(`Invalid request: ${j.message}`,"invalid_request_error",j.path.length>0?j.path.join("."):null),400)}let J=X.data,G=qU5(J.model);if(!G)return $.json(wD("Invalid model format. Expected 'model_id' or 'credential_id:model_id' (e.g., 'claude-sonnet-4-6' or 'key_abc123:claude-sonnet-4-6')","invalid_request_error","model"),400);let{credentialId:W}=G,{modelId:K}=G;if(!W){let w=(await Z.storage.aiProviderKeys.list({organizationId:Z.organization.id})).find((E)=>DT(E.providerId));if(!w)return $.json(wD("No AI provider credentials configured for this organization. Add a credential in settings or specify one explicitly via 'credential_id:model_id'.","invalid_request_error","model"),400);W=w.id}let H;try{H=await Z.aiProviders.activate(W,Z.organization.id)}catch{return $.json(wD(`AI provider credential not found or inaccessible: ${W}`,"invalid_request_error","model"),404)}let F=H.aiSdk.languageModel(K),U=MU5(J.messages),N=J.tools?VU5(J.tools):void 0,B=IU5(J.response_format),D=kU5(),O=Math.floor(Date.now()/1000);if(J.stream)return Sj($,async(j)=>{let w=GP8(F,U,N,J,B,$.req.raw.signal);try{let E=Rn(w),P=!1,T=0,z="",A=async()=>{if(z.length===0)return;let M=z;z="",await j.writeSSE({data:JSON.stringify({id:D,object:"chat.completion.chunk",created:O,model:J.model,choices:[{index:0,delta:{content:M},finish_reason:null}]})})};for await(let M of E.stream){if(!P&&(M.type==="text-delta"||M.type==="tool-call"))await j.writeSSE({data:JSON.stringify({id:D,object:"chat.completion.chunk",created:O,model:J.model,choices:[{index:0,delta:{role:"assistant",content:""},finish_reason:null}]})}),P=!0;if(M.type==="text-delta"){if(z+=M.text,z.length>=LU5)await A()}else if(M.type==="tool-call"){await A();let f=T++;await j.writeSSE({data:JSON.stringify({id:D,object:"chat.completion.chunk",created:O,model:J.model,choices:[{index:0,delta:{tool_calls:[{index:f,id:M.toolCallId,type:"function",function:{name:M.toolName,arguments:JSON.stringify(M.input)}}]},finish_reason:null}]})})}else if(M.type==="finish")await A(),await j.writeSSE({data:JSON.stringify({id:D,object:"chat.completion.chunk",created:O,model:J.model,choices:[{index:0,delta:{},finish_reason:WP8(M.finishReason)}],usage:M.totalUsage?{prompt_tokens:M.totalUsage.inputTokens??0,completion_tokens:M.totalUsage.outputTokens??0,total_tokens:M.totalUsage.totalTokens??0}:void 0})})}await A(),await j.writeSSE({data:"[DONE]"})}catch(E){let P=E;console.error("[openai-compat:stream] Error:",P.message),await j.writeSSE({data:JSON.stringify({error:{message:P.message,type:"server_error"}})})}});else{let j=GP8(F,U,N,J,B,$.req.raw.signal),w=await fO(j),E={role:"assistant",content:w.text||null};if(w.toolCalls&&w.toolCalls.length>0)E.tool_calls=w.toolCalls.map((P)=>({id:P.toolCallId,type:"function",function:{name:P.toolName,arguments:JSON.stringify("input"in P?P.input:{})}})),E.content=null;return $.json({id:D,object:"chat.completion",created:O,model:J.model,choices:[{index:0,message:E,finish_reason:WP8(w.finishReason)}],usage:{prompt_tokens:w.usage?.inputTokens??0,completion_tokens:w.usage?.outputTokens??0,total_tokens:w.usage?.totalTokens??0}})}}catch(Y){let X=Y;if(X.name==="AbortError")return $.json(wD("Request aborted","invalid_request_error"),400);if(X.name==="MessageConversionError")return $.json(wD(X.message,"invalid_request_error","messages"),400);return console.error("[openai-compat] Error:",X.message,X.stack),$.json(wD(X.message,"server_error"),500)}});FP8=HP8});function CU5($){if(typeof $!=="object"||$===null)return!1;let Q=$.repository?.url;return typeof Q==="string"&&Q.length>0}function NP8(){let $=new $1;return $.use("*",async(Z,Q)=>{await Q(),Z.header("Cache-Control","private, no-store"),Z.header("Vary","Cookie")}),$.get("/",async(Z)=>{let Q=Z.get("studioContext"),Y=k0(Q);if(!Y)return Z.json({error:"Authentication required"},401);let J=(Z.req.query("site")??"").trim().toLowerCase();if(!l5(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||_9(H))continue;let F=await Q.storage.virtualMcps.list(H.id);for(let U of F){if(fT(U)!==J)continue;if(!CU5(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 BP8=L(()=>{H8();HX()});var Ah0;var cq1=L(()=>{Ah0={name:"decocms",version:"4.542.0",description:"Deco CMS \u2014 Self-hostable MCP Gateway for managing AI connections and tools",author:"Deco team",repository:{type:"git",url:"git+https://github.com/decocms/studio.git",directory:"apps/api"},bugs:{url:"https://github.com/decocms/studio/issues"},type:"module",bin:{deco:"./dist/server/cli.js"},files:["dist/**/*"],scripts:{dev:"bun run dev:server","dev:server":"NODE_ENV=development bun --env-file=.env --watch run src/index.ts",build:"bun run build:server","build:server":"bun run scripts/bundle-server-script.ts --dist ./dist/server","generate:tool-contracts":"bun run scripts/generate-tool-contracts.ts","db:migrate":"bun run ./dist/server/migrate.js","db:migrate:dbos":"bun run ./dist/server/migrate-dbos.js",check:"tsc --noEmit",start:"bun run ./dist/server/server.js",migrate:"bun run src/database/migrate.ts","migrate:dbos":"bun run src/database/migrate-dbos.ts",test:"bun test src","better-auth:migrate":"bunx --bun @better-auth/cli migrate -y --config src/auth/index.ts",prepublishOnly:"bun run --cwd=../.. build:studio"},optionalDependencies:{"@duckdb/node-api":"^1.5.0-r.1"},dependencies:{"@ai-sdk/anthropic":"^4.0.58","@ai-sdk/google":"^4.0.76","@ai-sdk/openai":"^4.0.71","@anthropic-ai/sdk":"^0.105.0","@aws-sdk/client-s3":"^3.1013.0","@aws-sdk/client-sts":"^3.1013.0","@aws-sdk/lib-storage":"^3.1013.0","@aws-sdk/s3-request-presigner":"^3.1013.0","@clickhouse/client":"^1.8.1","@dbos-inc/dbos-sdk":"^4.21.6","@nats-io/jetstream":"3.4.0","@nats-io/kv":"3.4.0","@nats-io/nats-core":"3.4.0","@nats-io/transport-node":"3.4.0","@openrouter/ai-sdk-provider":"^3.1.0","@opentelemetry/core":"^2.6.0",kysely:"^0.28.12","posthog-node":"^5.0.0"},devDependencies:{"@ai-sdk/provider":"^4.0.17","@better-auth/sso":"1.4.1","@decocms/better-auth":"1.5.17","@decocms/bindings":"workspace:*","@decocms/blocks":"8.8.0","@decocms/mcp-utils":"workspace:*","@decocms/runtime":"workspace:*","@decocms/sandbox":"workspace:*","@decocms/shared":"workspace:*","@jitl/quickjs-wasmfile-release-sync":"0.31.0","@modelcontextprotocol/sdk":"1.29.0","@opentelemetry/api":"^1.9.0","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/exporter-logs-otlp-proto":"^0.211.0","@opentelemetry/exporter-prometheus":"^0.208.0","@opentelemetry/exporter-trace-otlp-proto":"^0.207.0","@opentelemetry/instrumentation-runtime-node":"^0.24.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-metrics":"^2.2.0","@opentelemetry/sdk-node":"^0.207.0","@opentelemetry/sdk-trace-base":"^2.5.0","@types/bun":"^1.3.1","@types/google.maps":"^3.65.2","@types/pg":"^8.15.6","@types/react-syntax-highlighter":"^15.5.13","@vercel/nft":"^1.1.1",ai:"^7.0.107","better-auth":"1.4.22",croner:"^9.1.0",degit:"^2.8.4",hono:"^4.10.7",jose:"^6.0.11",nanoid:"^5.1.6",pg:"^8.16.3",typescript:"^7.0.2",typescript5:"npm:typescript@^5.9.3",zod:"4.3.6"},homepage:"https://github.com/decocms/studio",keywords:["mcp","model-context-protocol","ai","gateway","self-hosted","tools"],license:"MIT",publishConfig:{access:"public"}}});function vU5(){let $=process.env.POSTHOG_KEY;if(!$)return null;return{key:$,host:process.env.POSTHOG_HOST??_U5}}var DP8,_U5="https://ph.studio.decocms.com",LP8;var OP8=L(()=>{H8();Ee();ph();B9();l1();wU();C21();cq1();DP8=new $1;DP8.get("/",($)=>{let Z={version:Ah0.version,theme:S4$(),...WF().logo&&{logo:WF().logo},...tO()&&{internalUrl:S8$()},...B0().enableDecoImport&&{enableDecoImport:!0},hostingEnabled:!!B0().controlplaneRestUrl&&!!B0().controlplaneServiceToken,hostingControlPlaneGa:B0().hostingControlPlaneGa,monitorEnabled:!!B0().clickhouseAnalyticsUrl&&!!B0().clickhouseAnalyticsPassword,monitorGa:B0().monitorGa,orderMonitorEnabled:!!B0().orderMonitorIngestUrl&&oJ(),plansEnabled:B0().plansEnabled,auth:CU8(),posthog:vU5(),googleMapsApiKey:process.env.GOOGLE_MAPS_API_KEY?.trim()||null,runtime:{agentSandbox:bU()}};return $.header("Cache-Control","no-store"),$.json({success:!0,config:Z})});LP8=DP8});import{z as M$}from"zod";var bU5,jP8;var wP8=L(()=>{bU5=M$.object({check_id:M$.string(),title:M$.string(),description:M$.string().optional(),impact:M$.string().optional(),why:M$.string().optional(),category:M$.string(),severity:M$.string(),value_band:M$.string().optional(),value_driver:M$.string().optional(),controllability:M$.string().optional(),pages:M$.array(M$.string()),tasks:M$.array(M$.string()),evidence:M$.string(),sample_scope:M$.string().optional(),sources:M$.array(M$.string())}),jP8=M$.object({domain:M$.string(),brand:M$.string(),favicon:M$.string().optional(),scanned_at:M$.string().nullable(),lang:M$.string(),score:M$.number().nullable(),band:M$.string().nullable(),totals:M$.object({measured:M$.number(),registry_total:M$.number(),passed:M$.number(),failed:M$.number(),blocked:M$.number()}),buckets:M$.array(M$.object({id:M$.enum(["critical","important","worth"]),label:M$.string(),items:M$.array(bU5)})),passing:M$.object({count:M$.number(),items:M$.array(M$.object({check_id:M$.string(),title:M$.string()}))}),not_measured:M$.object({count:M$.number(),groups:M$.array(M$.object({reason:M$.string(),label:M$.string(),count:M$.number(),checks:M$.array(M$.string())}))}),categories:M$.array(M$.object({key:M$.string(),label:M$.string(),score:M$.number().nullable(),band:M$.string().nullable(),pass:M$.number(),fail:M$.number()})),screenshots:M$.array(M$.object({url:M$.string(),page_type:M$.string().optional(),viewport:M$.enum(["desktop","mobile"]),image_url:M$.string()}))})});function EP8($,Z,Q){let Y=Q?`?${new URLSearchParams({lang:Q}).toString()}`:"";return`${xK({})}/api/v2/public/diagnostics/${encodeURIComponent($)}/onepager${Z}${Y}`}async function Th0($,Z={}){let Q=await fetch(EP8($,"",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 jP8.parse(await Q.json())}async function PP8($,Z={}){let Q=await fetch(EP8($,".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 dq1=L(()=>{wP8();dL()});import{join as zP8}from"path";async function fU5($){try{let Z=await Th0($,{signal:AbortSignal.timeout(xU5)});if(!Z?.scanned_at)return null;return{brand:Z.brand.trim()||rw1($),...Z.score!==null?{score:Z.score}:{}}}catch{return null}}function DG($){return $.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll('"',"&quot;")}function yU5($,Z){let Q=Tu($),Y=Z?.brand?.trim()||rw1(Q),X=kJ8(Q,128),G=`${(B0().baseUrl??"https://studio.decocms.com").replace(/\/+$/,"")}/report/${encodeURIComponent(Q)}`,{title:W,description:K}=CJ8({brand:Y,domain:Q,score:Z?.score}),H=`${G}/og.png`,F=`${Y} Deco Score by decocms`;return[`<title>${DG(W)}</title>`,`<meta name="description" content="${DG(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="${DG(W)}" />`,`<meta property="og:description" content="${DG(K)}" />`,`<meta property="og:url" content="${DG(G)}" />`,`<meta property="og:image" content="${DG(H)}" />`,'<meta property="og:image:width" content="1200" />','<meta property="og:image:height" content="630" />',`<meta property="og:image:alt" content="${DG(F)}" />`,'<meta name="twitter:card" content="summary_large_image" />',`<meta name="twitter:title" content="${DG(W)}" />`,`<meta name="twitter:description" content="${DG(K)}" />`,`<meta name="twitter:image" content="${DG(H)}" />`,`<meta name="twitter:image:alt" content="${DG(F)}" />`,`<link rel="canonical" href="${DG(G)}" />`,`<link rel="alternate" type="text/markdown" href="${DG(G)}.md" />`,`<link rel="icon" href="${DG(X)}" sizes="any" />`].join(`
4571
+ Start in ${$.language==="pt"?"Brazilian Portuguese":"English"}, and follow the user's language.`,delegation:{type:"client"},audio:{output:{voice:$.voice}},store:!1}}class yq1{config;constructor($){this.config=$}async createSession(){return{provider:"openai",transport:"webrtc"}}async negotiate($){let Z=await fetch("https://api.openai.com/v1/live/sessions",{method:"POST",headers:{Authorization:`Bearer ${this.config.apiKey}`,"Content-Type":"application/json","OpenAI-Safety-Identifier":$.safetyIdentifier},body:JSON.stringify({session:HU5({...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:ns.object({session:ns.object({id:ns.string().min(1)}),transport:ns.object({type:ns.literal("webrtc"),sdp:ns.string().min(1).max(1e5)})}).parse(await Z.json()).transport.sdp}}}var iE8=L(()=>{bB()});var pE8;var nE8=L(()=>{pE8=[{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 gq1($){return{conversation_config:{agent:{first_message:"",language:"en",prompt:{prompt:Xi$,llm:$.conversationModel,thinking_budget:0,max_tokens:512,tools:pE8.map((Z)=>({...Z,type:"client",expects_response:!0,response_timeout_secs:Z.name==="delegate_to_agent"?20:5,...Z.name==="delegate_to_agent"?{execution_mode:"async",interruption_mode:"allow",pre_tool_speech:"off"}:{}}))}},asr:{provider:"scribe_realtime",quality:"high"},turn:{turn_eagerness:"normal",turn_timeout:-1,silence_end_call_timeout:-1},tts:{voice_id:$.voiceId,model_id:$.model},conversation:{max_duration_seconds:vO/1000,client_events:["audio","interruption","user_transcript","agent_response","client_tool_call","vad_score"]}},platform_settings:{auth:{enable_auth:!0},privacy:{record_voice:!1,retention_days:1,delete_audio:!0,delete_transcript_and_pii:!0},overrides:{conversation_config_override:{agent:{language:!0}}}}}}var tE8=L(()=>{bB();nE8()});import{z as rJ}from"zod";import{createHash as FU5,createHmac as UU5}from"crypto";class Eh0{config;conversationKey;configurationKey;constructor($){this.config=$;this.configurationKey=FU5("sha256").update(JSON.stringify(gq1($))).digest("hex"),this.conversationKey=UU5("sha256",$.apiKey).update(this.configurationKey).digest("hex")}forConversationModel($){return $===this.config.conversationModel?this:new Eh0({...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}=rJ.object({agents:rJ.array(rJ.object({agent_id:rJ.string(),name:rJ.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 rJ.object({platform_settings:rJ.object({auth:rJ.object({enable_auth:rJ.literal(!0)})})}).parse(await J.json()),Y.agent_id}let X=await this.request("/convai/agents/create",{name:$,...gq1(this.config)},AbortSignal.timeout(15000));return rJ.object({agent_id:rJ.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 rJ.object({token:rJ.string().min(1)}).parse(await Z.json()).token}async createTranscriptionToken(){let $=await this.request("/single-use-token/realtime_scribe",{},AbortSignal.timeout(15000));return rJ.object({token:rJ.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 oE8=L(()=>{tE8()});import{createHmac as NU5,timingSafeEqual as BU5}from"crypto";import{z as ts}from"zod";function aE8($,Z){if(!Z)throw Error("Voice requires a shared authentication secret");return NU5("sha256",Z).update(`studio-voice-session:v1:${$}`).digest("base64url")}function rE8($,Z){let Q=Buffer.from(JSON.stringify(sE8.parse($))).toString("base64url");return`${Q}.${aE8(Q,Z)}`}function eE8($,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(aE8(X,Z)),W=Buffer.from(J);if(W.length!==G.length||!BU5(W,G))return null;try{let K=sE8.safeParse(JSON.parse(Buffer.from(X,"base64url").toString()));if(!K.success||K.data.expiresAt<=Q||K.data.expiresAt>Q+vO)return null;return K.data}catch{return null}}var sE8;var $P8=L(()=>{bB();sE8=ts.object({sessionId:ts.string().uuid(),organizationId:ts.string().min(1).max(256),userId:ts.string().min(1).max(256),threadId:ts.string().min(1).max(256),expiresAt:ts.number().int().positive()})});import{z as hq1}from"zod";function ZP8($,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 uq1.parse({provider:Q,model:Z?.voice_model??(Q==="openai"?$.openaiLiveModel:$.elevenlabsConversationModel)})}var uq1;var QP8=L(()=>{uq1=hq1.object({provider:hq1.enum(["elevenlabs","openai"]),model:hq1.string().trim().min(1).max(128)})});import{createHash as DU5}from"crypto";import{z as os}from"zod";function ss($){return`user.${DU5("sha256").update(JSON.stringify([$.organizationId,$.userId])).digest("hex")}`}class mq1{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 YP8.Kvm(zh0.jetstream($)).create("STUDIO_VOICE_SESSIONS",{storage:zh0.StorageType.Memory,ttl:XP8.nanos(vO),max_bytes:10485760}).catch((Z)=>{throw this.kvPromise=void 0,Z}),this.kvPromise}adapter(){if(!this.deps.adapter)throw new R1(503,{message:"Voice is not configured on this deployment"});return this.deps.adapter}async create($,Z=!1,Q="en",Y){let X;if(Z)try{X=ZP8(this.deps.defaults,Y)}catch{throw new R1(503,{message:"Voice configuration is invalid"})}let J=X?this.deps.conversationAdapters[X.provider]:this.adapter();if(!J)throw new R1(503,{message:"Voice is not configured on this deployment"});let G={...$,sessionId:crypto.randomUUID(),expiresAt:Date.now()+vO},W=rE8(G,this.deps.secret),K=await this.kv(),H=ss(G),F=await K.get(H),U=F?.operation==="PUT"?Ph0.parse(F.json()):null,N=lq1.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:ss($)});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=eE8(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=ss(Q),J=await Y.get(X),G=J?.operation==="PUT"?Ph0.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,lq1.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=ss(X);for(let W=0;;W++){let K=await J.get(G),H=K?.operation==="PUT"?Ph0.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,lq1.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(ss($));if(Q?.operation==="PUT"&&Ph0.parse(Q.json()).sessionId===$.sessionId)await Z.delete(ss($),{previousSeq:Q.revision})}async revoke($,Z){await this.release(this.authorize($,Z))}}var zh0,YP8,XP8,Ph0,lq1;var JP8=L(()=>{F3();bB();$P8();QP8();zh0=_(nH(),1),YP8=_(Pq(),1),XP8=_(UA(),1),Ph0=os.object({sessionId:os.string().uuid(),expiresAt:os.number(),connected:os.boolean().optional(),conversation:uq1.optional(),characters:os.number().int().nonnegative(),requests:os.number().int().nonnegative()}),lq1=new TextEncoder});import{z as c1}from"zod";function wD($,Z="invalid_request_error",Q=null,Y=null){return{error:{message:$,type:Z,param:Q,code:Y}}}function qU5($){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 RU5($,Z,Q){try{return JSON.parse($)}catch{throw new KP8(`Invalid JSON in tool call arguments for function '${Q}' (tool_call_id: ${Z}): ${$}`)}}function MU5($){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:RU5(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 VU5($){let Z=$.map((Q)=>{let Y=Q.function.parameters?CN(Q.function.parameters):CN({type:"object",properties:{}});return[Q.function.name,a$({description:Q.function.description,inputSchema:Y})]});return Object.fromEntries(Z)}function IU5($){if(!$)return;return{openai:{response_format:$}}}function kU5(){return`chatcmpl-${crypto.randomUUID().replace(/-/g,"").substring(0,29)}`}function GP8($,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 WP8($){if($==="tool-calls")return"tool_calls";if($==="length")return"length";return"stop"}var LU5=256,OU5,jU5,wU5,EU5,PU5,zU5,AU5,TU5,KP8,HP8,FP8;var UP8=L(()=>{u4();H8();_s();LU();OU5=c1.object({type:c1.literal("function"),function:c1.object({name:c1.string(),description:c1.string().optional(),parameters:c1.record(c1.string(),c1.unknown()).optional()})}),jU5=c1.object({id:c1.string(),type:c1.literal("function"),function:c1.object({name:c1.string(),arguments:c1.string()})}),wU5=c1.discriminatedUnion("role",[c1.object({role:c1.literal("system"),content:c1.string(),name:c1.string().optional()}),c1.object({role:c1.literal("user"),content:c1.union([c1.string(),c1.array(c1.union([c1.object({type:c1.literal("text"),text:c1.string()}),c1.object({type:c1.literal("image_url"),image_url:c1.object({url:c1.string(),detail:c1.string().optional()})})]))]),name:c1.string().optional()}),c1.object({role:c1.literal("assistant"),content:c1.string().nullable().optional(),name:c1.string().optional(),tool_calls:c1.array(jU5).optional()}),c1.object({role:c1.literal("tool"),content:c1.string(),tool_call_id:c1.string()})]),EU5=c1.object({type:c1.literal("text")}),PU5=c1.object({type:c1.literal("json_object")}),zU5=c1.object({type:c1.literal("json_schema"),json_schema:c1.object({name:c1.string(),description:c1.string().optional(),schema:c1.record(c1.string(),c1.unknown()),strict:c1.boolean().optional()})}),AU5=c1.union([EU5,PU5,zU5]),TU5=c1.object({model:c1.string().describe("Format: 'model_id' or 'credential_id:model_id'"),messages:c1.array(wU5),stream:c1.boolean().optional().default(!1),temperature:c1.number().min(0).max(2).optional(),max_tokens:c1.number().positive().optional(),top_p:c1.number().min(0).max(1).optional(),frequency_penalty:c1.number().min(-2).max(2).optional(),presence_penalty:c1.number().min(-2).max(2).optional(),stop:c1.union([c1.string(),c1.array(c1.string())]).optional(),tools:c1.array(OU5).optional(),tool_choice:c1.union([c1.literal("auto"),c1.literal("none"),c1.literal("required"),c1.object({type:c1.literal("function"),function:c1.object({name:c1.string()})})]).optional(),response_format:AU5.optional(),user:c1.string().optional()});KP8=class KP8 extends Error{constructor($){super($);this.name="MessageConversionError"}};HP8=new $1;HP8.post("/:org/v1/chat/completions",async($)=>{let Z=$.get("studioContext"),Q=$.req.param("org");try{if(!Z.auth.apiKey?.id)return $.json(wD("API key authentication required. Provide a valid API key via Authorization header.","authentication_error"),401);if(!Z.organization)return $.json(wD("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(wD("Organization mismatch. The API key's organization does not match the requested organization.","invalid_request_error","organization"),403);let Y=await $.req.json(),X=TU5.safeParse(Y);if(!X.success){let j=X.error.issues[0]??{message:"Invalid request",path:[]};return $.json(wD(`Invalid request: ${j.message}`,"invalid_request_error",j.path.length>0?j.path.join("."):null),400)}let J=X.data,G=qU5(J.model);if(!G)return $.json(wD("Invalid model format. Expected 'model_id' or 'credential_id:model_id' (e.g., 'claude-sonnet-4-6' or 'key_abc123:claude-sonnet-4-6')","invalid_request_error","model"),400);let{credentialId:W}=G,{modelId:K}=G;if(!W){let w=(await Z.storage.aiProviderKeys.list({organizationId:Z.organization.id})).find((E)=>DT(E.providerId));if(!w)return $.json(wD("No AI provider credentials configured for this organization. Add a credential in settings or specify one explicitly via 'credential_id:model_id'.","invalid_request_error","model"),400);W=w.id}let H;try{H=await Z.aiProviders.activate(W,Z.organization.id)}catch{return $.json(wD(`AI provider credential not found or inaccessible: ${W}`,"invalid_request_error","model"),404)}let F=H.aiSdk.languageModel(K),U=MU5(J.messages),N=J.tools?VU5(J.tools):void 0,B=IU5(J.response_format),D=kU5(),O=Math.floor(Date.now()/1000);if(J.stream)return Sj($,async(j)=>{let w=GP8(F,U,N,J,B,$.req.raw.signal);try{let E=Rn(w),P=!1,T=0,z="",A=async()=>{if(z.length===0)return;let M=z;z="",await j.writeSSE({data:JSON.stringify({id:D,object:"chat.completion.chunk",created:O,model:J.model,choices:[{index:0,delta:{content:M},finish_reason:null}]})})};for await(let M of E.stream){if(!P&&(M.type==="text-delta"||M.type==="tool-call"))await j.writeSSE({data:JSON.stringify({id:D,object:"chat.completion.chunk",created:O,model:J.model,choices:[{index:0,delta:{role:"assistant",content:""},finish_reason:null}]})}),P=!0;if(M.type==="text-delta"){if(z+=M.text,z.length>=LU5)await A()}else if(M.type==="tool-call"){await A();let f=T++;await j.writeSSE({data:JSON.stringify({id:D,object:"chat.completion.chunk",created:O,model:J.model,choices:[{index:0,delta:{tool_calls:[{index:f,id:M.toolCallId,type:"function",function:{name:M.toolName,arguments:JSON.stringify(M.input)}}]},finish_reason:null}]})})}else if(M.type==="finish")await A(),await j.writeSSE({data:JSON.stringify({id:D,object:"chat.completion.chunk",created:O,model:J.model,choices:[{index:0,delta:{},finish_reason:WP8(M.finishReason)}],usage:M.totalUsage?{prompt_tokens:M.totalUsage.inputTokens??0,completion_tokens:M.totalUsage.outputTokens??0,total_tokens:M.totalUsage.totalTokens??0}:void 0})})}await A(),await j.writeSSE({data:"[DONE]"})}catch(E){let P=E;console.error("[openai-compat:stream] Error:",P.message),await j.writeSSE({data:JSON.stringify({error:{message:P.message,type:"server_error"}})})}});else{let j=GP8(F,U,N,J,B,$.req.raw.signal),w=await fO(j),E={role:"assistant",content:w.text||null};if(w.toolCalls&&w.toolCalls.length>0)E.tool_calls=w.toolCalls.map((P)=>({id:P.toolCallId,type:"function",function:{name:P.toolName,arguments:JSON.stringify("input"in P?P.input:{})}})),E.content=null;return $.json({id:D,object:"chat.completion",created:O,model:J.model,choices:[{index:0,message:E,finish_reason:WP8(w.finishReason)}],usage:{prompt_tokens:w.usage?.inputTokens??0,completion_tokens:w.usage?.outputTokens??0,total_tokens:w.usage?.totalTokens??0}})}}catch(Y){let X=Y;if(X.name==="AbortError")return $.json(wD("Request aborted","invalid_request_error"),400);if(X.name==="MessageConversionError")return $.json(wD(X.message,"invalid_request_error","messages"),400);return console.error("[openai-compat] Error:",X.message,X.stack),$.json(wD(X.message,"server_error"),500)}});FP8=HP8});function CU5($){if(typeof $!=="object"||$===null)return!1;let Q=$.repository?.url;return typeof Q==="string"&&Q.length>0}function NP8(){let $=new $1;return $.use("*",async(Z,Q)=>{await Q(),Z.header("Cache-Control","private, no-store"),Z.header("Vary","Cookie")}),$.get("/",async(Z)=>{let Q=Z.get("studioContext"),Y=k0(Q);if(!Y)return Z.json({error:"Authentication required"},401);let J=(Z.req.query("site")??"").trim().toLowerCase();if(!l5(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||_9(H))continue;let F=await Q.storage.virtualMcps.list(H.id);for(let U of F){if(fT(U)!==J)continue;if(!CU5(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 BP8=L(()=>{H8();HX()});var Ah0;var cq1=L(()=>{Ah0={name:"decocms",version:"4.542.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.8.0","@decocms/mcp-utils":"workspace:*","@decocms/runtime":"workspace:*","@decocms/sandbox":"workspace:*","@decocms/shared":"workspace:*","@jitl/quickjs-wasmfile-release-sync":"0.31.0","@modelcontextprotocol/sdk":"1.29.0","@opentelemetry/api":"^1.9.0","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/exporter-logs-otlp-proto":"^0.211.0","@opentelemetry/exporter-prometheus":"^0.208.0","@opentelemetry/exporter-trace-otlp-proto":"^0.207.0","@opentelemetry/instrumentation-runtime-node":"^0.24.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-metrics":"^2.2.0","@opentelemetry/sdk-node":"^0.207.0","@opentelemetry/sdk-trace-base":"^2.5.0","@types/bun":"^1.3.1","@types/google.maps":"^3.65.2","@types/pg":"^8.15.6","@types/react-syntax-highlighter":"^15.5.13","@vercel/nft":"^1.1.1",ai:"^7.0.107","better-auth":"1.4.22",croner:"^9.1.0",degit:"^2.8.4",hono:"^4.10.7",jose:"^6.0.11",nanoid:"^5.1.6",pg:"^8.16.3",typescript:"^7.0.2",typescript5:"npm:typescript@^5.9.3",zod:"4.3.6"},homepage:"https://github.com/decocms/studio",keywords:["mcp","model-context-protocol","ai","gateway","self-hosted","tools"],license:"MIT",publishConfig:{access:"public"}}});function vU5(){let $=process.env.POSTHOG_KEY;if(!$)return null;return{key:$,host:process.env.POSTHOG_HOST??_U5}}var DP8,_U5="https://ph.studio.decocms.com",LP8;var OP8=L(()=>{H8();Ee();ph();B9();l1();wU();C21();cq1();DP8=new $1;DP8.get("/",($)=>{let Z={version:Ah0.version,theme:S4$(),...WF().logo&&{logo:WF().logo},...tO()&&{internalUrl:S8$()},...B0().enableDecoImport&&{enableDecoImport:!0},hostingEnabled:!!B0().controlplaneRestUrl&&!!B0().controlplaneServiceToken,hostingControlPlaneGa:B0().hostingControlPlaneGa,monitorEnabled:!!B0().clickhouseAnalyticsUrl&&!!B0().clickhouseAnalyticsPassword,monitorGa:B0().monitorGa,orderMonitorEnabled:!!B0().orderMonitorIngestUrl&&oJ(),plansEnabled:B0().plansEnabled,auth:CU8(),posthog:vU5(),googleMapsApiKey:process.env.GOOGLE_MAPS_API_KEY?.trim()||null,runtime:{agentSandbox:bU()}};return $.header("Cache-Control","no-store"),$.json({success:!0,config:Z})});LP8=DP8});import{z as M$}from"zod";var bU5,jP8;var wP8=L(()=>{bU5=M$.object({check_id:M$.string(),title:M$.string(),description:M$.string().optional(),impact:M$.string().optional(),why:M$.string().optional(),category:M$.string(),severity:M$.string(),value_band:M$.string().optional(),value_driver:M$.string().optional(),controllability:M$.string().optional(),pages:M$.array(M$.string()),tasks:M$.array(M$.string()),evidence:M$.string(),sample_scope:M$.string().optional(),sources:M$.array(M$.string())}),jP8=M$.object({domain:M$.string(),brand:M$.string(),favicon:M$.string().optional(),scanned_at:M$.string().nullable(),lang:M$.string(),score:M$.number().nullable(),band:M$.string().nullable(),totals:M$.object({measured:M$.number(),registry_total:M$.number(),passed:M$.number(),failed:M$.number(),blocked:M$.number()}),buckets:M$.array(M$.object({id:M$.enum(["critical","important","worth"]),label:M$.string(),items:M$.array(bU5)})),passing:M$.object({count:M$.number(),items:M$.array(M$.object({check_id:M$.string(),title:M$.string()}))}),not_measured:M$.object({count:M$.number(),groups:M$.array(M$.object({reason:M$.string(),label:M$.string(),count:M$.number(),checks:M$.array(M$.string())}))}),categories:M$.array(M$.object({key:M$.string(),label:M$.string(),score:M$.number().nullable(),band:M$.string().nullable(),pass:M$.number(),fail:M$.number()})),screenshots:M$.array(M$.object({url:M$.string(),page_type:M$.string().optional(),viewport:M$.enum(["desktop","mobile"]),image_url:M$.string()}))})});function EP8($,Z,Q){let Y=Q?`?${new URLSearchParams({lang:Q}).toString()}`:"";return`${xK({})}/api/v2/public/diagnostics/${encodeURIComponent($)}/onepager${Z}${Y}`}async function Th0($,Z={}){let Q=await fetch(EP8($,"",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 jP8.parse(await Q.json())}async function PP8($,Z={}){let Q=await fetch(EP8($,".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 dq1=L(()=>{wP8();dL()});import{join as zP8}from"path";async function fU5($){try{let Z=await Th0($,{signal:AbortSignal.timeout(xU5)});if(!Z?.scanned_at)return null;return{brand:Z.brand.trim()||rw1($),...Z.score!==null?{score:Z.score}:{}}}catch{return null}}function DG($){return $.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll('"',"&quot;")}function yU5($,Z){let Q=Tu($),Y=Z?.brand?.trim()||rw1(Q),X=kJ8(Q,128),G=`${(B0().baseUrl??"https://studio.decocms.com").replace(/\/+$/,"")}/report/${encodeURIComponent(Q)}`,{title:W,description:K}=CJ8({brand:Y,domain:Q,score:Z?.score}),H=`${G}/og.png`,F=`${Y} Deco Score by decocms`;return[`<title>${DG(W)}</title>`,`<meta name="description" content="${DG(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="${DG(W)}" />`,`<meta property="og:description" content="${DG(K)}" />`,`<meta property="og:url" content="${DG(G)}" />`,`<meta property="og:image" content="${DG(H)}" />`,'<meta property="og:image:width" content="1200" />','<meta property="og:image:height" content="630" />',`<meta property="og:image:alt" content="${DG(F)}" />`,'<meta name="twitter:card" content="summary_large_image" />',`<meta name="twitter:title" content="${DG(W)}" />`,`<meta name="twitter:description" content="${DG(K)}" />`,`<meta name="twitter:image" content="${DG(H)}" />`,`<meta name="twitter:image:alt" content="${DG(F)}" />`,`<link rel="canonical" href="${DG(G)}" />`,`<link rel="alternate" type="text/markdown" href="${DG(G)}.md" />`,`<link rel="icon" href="${DG(X)}" sizes="any" />`].join(`
4572
4572
  `)}function gU5($,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}
4573
4573
  </head>`)}function AP8($){let Z=new $1;return Z.get("/:domain/og.png",async(Q)=>{let Y=Tu(Q.req.param("domain")),X=async()=>{let J=$?Bun.file(zP8($,"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(`${xK({})}/api/v2/public/diagnostics/${encodeURIComponent(Y)}/og.png`,{signal:AbortSignal.timeout(hU5)}),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=Tu(Q.req.param("file").replace(/\.md$/,""));try{let X=await PP8(Y,{lang:Q.req.query("lang")?.trim()||void 0,signal:AbortSignal.timeout(uU5)});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=$?zP8($,"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 fU5(Tu(Y)),K=yU5(Y,W);return Q.html(gU5(G,K),200,{"Cache-Control":"public, max-age=0, s-maxage=300"})}catch{return Q.html(G)}}),Z}var xU5=2500,hU5=1e4,uU5=1e4;var TP8=L(()=>{H8();dL();dq1();l1()});function qh0($,Z){return fetch(`${xK({})}${$}`,Z)}async function lU5($,Z){let Q=await Th0($,{lang:Z});if(!Q)return{status:"not_found",report:null};return Q.scanned_at?{status:"ready",report:Q}:{status:"empty",report:null}}function dU5($){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 mU5,cU5=8192,bj,qP8=async($,Z)=>{if(!$.get("reportUser"))return $.json({error:"Authentication required"},401);await Z();return},RP8;var MP8=L(()=>{H8();FG();ZH();dL();dq1();mU5=new Set(["complete","errored","terminated","unknown"]);bj=new $1;bj.use("*",async($,Z)=>{let Q=await U4.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});bj.use("/link-token/*",qP8);bj.use("/suggest",qP8);bj.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 lU5(Z,Q))}catch{return $.json({error:"report read failed"},502)}});bj.post("/run",b6({maxSize:cU5,onError:($)=>$.json({error:"request body too large"},413)}),async($)=>{let Z=$.get("reportUser"),Q;try{Q=await $.req.json()}catch{return $.json({error:"invalid JSON"},400)}let{domain:Y,distinctId:X}=dU5(Q);if(!Y)return $.json({error:"domain is required"},400);let J=Z?.email;try{let G=await qh0("/api/v2/diagnostics/run",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${dE({})}`},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)}});bj.get("/status",async($)=>{let Z=$.req.query("id");if(!Z)return $.json({error:"id is required"},400);try{let Q=await qh0(`/api/v2/diagnostics/status?id=${encodeURIComponent(Z)}`,{headers:{Authorization:`Bearer ${dE({})}`}});if(!Q.ok)return $.json({error:`status HTTP ${Q.status}`},502);let X=(await Q.json()).status??"unknown",J={done:mU5.has(X),status:X};return $.json(J)}catch{return $.json({error:"status failed"},502)}});bj.get("/link-token/:id",async($)=>{let Z=$.req.param("id");try{let Q=await qh0(`/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)}});bj.get("/suggest",async($)=>{let Z=($.req.query("q")??"").trim().slice(0,64);if(Z.length<2)return $.json({suggestions:[]});try{let Q=await qh0(`/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:[]})}});RP8=bj});var iU5=1048576,iq1;var VP8=L(()=>{H8();FG();l1();L21();iq1=new $1;iq1.post("/webhook",b6({maxSize:iU5,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(!cF8(Q,$.req.header("stripe-signature"),Z))return $.json({error:"invalid signature"},400);let X=dF8(Q);if(!X)return $.json({error:"invalid payload"},400);let J=await iF8(X);return console.log("stripe webhook",{eventId:X.id,type:X.type,livemode:X.livemode,...J}),$.json({received:!0})})});import{timingSafeEqual as pU5}from"crypto";function oU5($,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 pU5(Buffer.from(X),Buffer.from(Y))}function sU5($,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 IP8($){let Z=new $1;return Z.post("/webhook",b6({maxSize:nU5,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(!oU5(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"&&!tU5.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 n60().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=sU5(J??"",G);if(W.length===0)return Q.json({ok:!0,ignored:"no-pr"});let K=await aU5($,W);return Q.json({ok:!0,refreshed:K})}),Z}async function aU5($,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 K.storage.demoBoard.frozenItemIds(G.organizationId)).has(G.taskBoardItemId))continue;if(await Gv0(K,G.organizationId,G.taskBoardItemId)!==null)Q++}catch(W){console.error(`[github-webhook] pr card refresh failed for ${G.taskBoardItemId}:`,W)}}return Q}var nU5=5242880,tU5;var kP8=L(()=>{H8();FG();xX();I7();tU5=new Set(["check_suite","issue_comment"])});import{DBOS as nq1,SchedulerMode as rU5}from"@dbos-inc/dbos-sdk";async function $N5(){try{return await ZN5()}catch($){return console.warn(`[sandbox-credential-push] push failed: ${$ instanceof Error?$.message:String($)}`),null}}async function ZN5(){if(!p60())return null;let[{RemoteSandboxProvider:$},{SandboxProviderRouter:Z}]=await Promise.all([Promise.resolve().then(() => (nK1(),pK1)),Promise.resolve().then(() => (iK1(),dK1))]),Q=await n60(),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=ym$({sandboxes:J,pools:G,records:await gm$(X,J,G),legacyPools:IC0(process.env.STUDIO_SANDBOX_TENANT_POOLS),now:W}),{batches:H,failed:F}=await hm$(K,oO0(X,new NJ(B0().encryptionKey)),{now:W,orgFsLifetimeMs:SC0}),U=0,N=0,B=0;for(let D of H)try{let O=await Y.pushCredentials(D);U+=O.stored,N+=O.kept}catch(O){B++,console.warn(`[sandbox-credential-push] a push batch failed: ${O instanceof Error?O.message:String(O)}`)}return{sandboxes:J.length,pushed:U,kept:N,refused:K.refused,failed:F+B}}async function QN5($,Z){let Q=await nq1.runStep($N5,{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 CP8(){if(pq1)return;if(!B0().agentSandboxEnabled||!p60())return;pq1=nq1.registerWorkflow(QN5,{name:"sandboxCredentialPushWorkflow"}),nq1.registerScheduled(pq1,{name:"sandboxCredentialPushWorkflow",crontab:eU5,mode:rU5.ExactlyOncePerIntervalWhenActive})}var eU5="1,11,21,31,41,51 * * * *",pq1=null;var SP8=L(()=>{bG();Sw();_31();_C0();kC0();xX();l1()});function _P8($){let Z=new wj($.db,new NJ($.encryptionKey)),Q=new $1;return Q.get("/attachments/:token",async(Y)=>{let X=Pr$(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 vP8=L(()=>{H8();Sw();TU1();gO()});function Rh0(){try{return B0().jiraSettleSeconds*1000}catch{return mz}}function bP8($,Z){let Q=Z.windowMs??mz,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=YN5($,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 YN5($,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 tq1=L(()=>{sO();l1()});function xP8($){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 oq1($,Z,Q){if(!Z.enabled)return"disabled";let Y=Z.organizationId,X=new QQ(Z.siteUrl,Z.email,Z.apiToken),J=bP8(await X.listStatusChanges(Q.issueId),{changeId:Q.changelogId,now:Q.now,windowMs:Rh0()});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:lz(N)})),H=H48(K)&&Z.boardId?K48(await X.getBoardColumnStatusIds(Z.boardId),W.id,G.toId):null,F=W48(K,W.name,H);if(!F)return"no_rule";if(!await $.storage.jiraIntegrations.claimTrigger(Y,Q.issueId,G.id))return"duplicate";return await BH({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 sq1=L(()=>{NU();gO();Ut();tq1()});import{DBOS as d2,SchedulerMode as XN5}from"@dbos-inc/dbos-sdk";function fP8($){rq1=$}function $R1(){if(!rq1)throw Error("[jira-trigger] runtime not initialized \u2014 setJiraTriggerSweepRuntime() must run before the workflow fires");return rq1}function ZR1(){let $=$R1();return new wj($.db,new NJ($.encryptionKey))}async function HN5($){try{let Z=await ZR1().getById($);if(!Z?.enabled||!Z.boardId)return{integrationId:$,fired:0};let Q=await gY($R1().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 "-${GN5}m"`,W=0,K;for(let H=0;H<WN5;H++){let F=await X.searchIssues({jql:G,nextPageToken:K});for(let U of F.issues)if(await oq1(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 FN5($,Z){let Q=await d2.runStep(()=>ZR1().listEnabledIds(),{name:"loadJiraIntegrations"});if(Q.length===0)return;let Y=await Promise.all(Q.map((X)=>d2.runStep(()=>HN5(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 UN5($,Z){try{let Q=await ZR1().getById($);if(!Q?.enabled)return"disabled";let Y=await gY($R1().db,Q.organizationId);if(!Y)return"disabled";let X=await oq1(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 NN5($,Z){await d2.sleep(Rh0()+KN5),await d2.runStep(()=>UN5($,Z),{name:"settleJiraMove"})}async function yP8($,Z){if(!eq1)throw Error("[jira-trigger] settle workflow is not registered");await d2.startWorkflow(eq1,{workflowID:`jira-settle:${$}:${Z.changelogId}`})($,Z)}function gP8(){if(aq1)return;eq1=d2.registerWorkflow(NN5,{name:"jiraSettleWorkflow"}),aq1=d2.registerWorkflow(FN5,{name:"jiraTriggerSweepWorkflow"}),d2.registerScheduled(aq1,{name:"jiraTriggerSweepWorkflow",crontab:JN5,mode:XN5.ExactlyOncePerIntervalWhenActive})}var JN5="*/5 * * * *",GN5=20,WN5=5,KN5=5000,rq1=null,eq1=null,aq1=null;var QR1=L(()=>{Sw();dO();gO();tq1();sq1()});function hP8($){let Z=new wj($.db,new NJ($.encryptionKey)),Q=Sz($.db);async function Y(J,G){let W=xP8(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 yP8(K.id,W)}let X=new $1;return X.post("/webhook/:secret",b6({maxSize:BN5}),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 BN5=1048576;var uP8=L(()=>{H8();FG();Sw();QR1();sq1();p50()});function lP8($,Z){if(Z.startsWith("text/html")||Z.startsWith("image/svg"))$.set("Content-Security-Policy","sandbox allow-scripts allow-modals allow-same-origin")}var mP8,DN5,LN5,cP8;var dP8=L(()=>{H8();F3();rn();qi();mP8=new $1,DN5=["range","if-none-match","if-modified-since"],LN5=["content-type","content-length","content-range","accept-ranges","etag","last-modified"];mP8.get("/:org/files/*",async($)=>{let Z=$.get("studioContext"),Q=Z.organization?.id;if(!Z.auth?.user?.id){if(Zs($))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 S90(Y,Z);if(!X)throw new R1(503,{message:"Object storage not configured"});if(X.startsWith("data:")&&cK()){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 lP8(N,H),new Response(U,{status:200,headers:N})}let J=new Headers;for(let K of DN5){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 LN5){let H=G.headers.get(K);if(H)W.set(K,H)}return W.set("Cache-Control","private, max-age=86400"),lP8(W,W.get("content-type")??""),new Response(G.body,{status:G.status,headers:W})});cP8=mP8});var HY0=y((Ol)=>{var ON5=Ol&&Ol.__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]}),jN5=Ol&&Ol.__exportStar||function($,Z){for(var Q in $)if(Q!=="default"&&!Object.prototype.hasOwnProperty.call(Z,Q))ON5(Z,$,Q)};Object.defineProperty(Ol,"__esModule",{value:!0});jN5(AG(),Ol)});var nP8=y((iP8)=>{Object.defineProperty(iP8,"__esModule",{value:!0});iP8.version=void 0;iP8.version="3.4.0"});var sP8=y((ED)=>{var wN5=ED&&ED.__importDefault||function($){return $&&$.__esModule?$:{default:$}};Object.defineProperty(ED,"__esModule",{value:!0});ED.NodeTransport=ED.VERSION=void 0;ED.nodeResolveHost=qN5;var H9=HY0(),EN5=M0("net"),YR1=M0("tls"),PN5=M0("path"),tP8=M0("fs"),zN5=wN5(M0("dns")),AN5=nP8();ED.VERSION=AN5.version;var TN5="nats.js";class oP8{socket;version;lang;yields=[];signal=(0,H9.deferred)();closedNotification=(0,H9.deferred)();options;connected=!1;tlsName="";done=!1;closeError;constructor(){this.lang=TN5,this.version=ED.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,H9.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 H9.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 H9.errors.ConnectionError("error connecting - node provided an undefined error");let{code:G}=J,W=G==="ECONNREFUSED"?new H9.errors.ConnectionError("connection refused",{cause:J}):J;throw this.socket?.destroy(),W}}dial($){let Z=(0,H9.deferred)(),Q,Y=(0,EN5.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,H9.deferred)(),Z;return this.socket.on("data",(Q)=>{this.yields.push(Q);let Y=H9.DataBuffer.concat(...this.yields),X=(0,H9.extractProtocolMessage)(Y);if(X!=="")try{let J=H9.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,H9.deferred)();try{if($=(0,PN5.resolve)($),!(0,tP8.existsSync)($))Z.reject(Error(`${$} doesn't exist`));(0,tP8.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,H9.extend)(Q,this.options.tls,X)}catch(X){return Promise.reject(new H9.errors.ConnectionError(X.message,{cause:X}))}let Y=(0,H9.deferred)();try{let X=(0,YR1.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 H9.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,H9.extend)(Z,this.options.tls,Y)}catch(Y){return Promise.reject(new H9.errors.ConnectionError(Y.message,{cause:Y}))}let Q=(0,H9.deferred)();try{let Y=(0,YR1.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 H9.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,H9.render)($[Z])}`);yield $[Z]}if(this.done)break;else if(this.yields.length===0)$.length=0,this.yields=$,this.signal=(0,H9.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 YR1.TLSSocket}_send($){if(this.isClosed||this.socket===void 0)return Promise.resolve();if(this.options.debug)console.info(`< ${(0,H9.render)($)}`);let Z=(0,H9.deferred)();try{this.socket.write($,(Q)=>{if(Q){if(this.options.debug)console.error(`!!! ${(0,H9.render)($)}: ${Q}`);return Z.reject(Q)}return Z.resolve()})}catch(Q){if(this.options.debug)console.error(`!!! ${(0,H9.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}}ED.NodeTransport=oP8;function qN5($){let Z=(0,H9.deferred)();return zN5.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 Zz8=y(($z8)=>{Object.defineProperty($z8,"__esModule",{value:!0});$z8.connect=RN5;var aP8=sP8(),rP8=HY0(),eP8=HY0();function RN5($={}){if((0,eP8.hasWsProtocol)($))return Promise.reject(eP8.errors.InvalidArgumentError.format("servers","node client doesn't support websockets, use the 'wsconnect' function instead"));return(0,rP8.setTransportFactory)({factory:()=>{return new aP8.NodeTransport},dnsResolveFn:aP8.nodeResolveHost}),rP8.NatsConnectionImpl.connect($)}});var Qz8=y((xj)=>{var VN5=xj&&xj.__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]}),IN5=xj&&xj.__exportStar||function($,Z){for(var Q in $)if(Q!=="default"&&!Object.prototype.hasOwnProperty.call(Z,Q))VN5(Z,$,Q)};Object.defineProperty(xj,"__esModule",{value:!0});xj.connect=void 0;var kN5=Zz8();Object.defineProperty(xj,"connect",{enumerable:!0,get:function(){return kN5.connect}});IN5(HY0(),xj)});function Jz8($){let Z=$?.connectFn??vN5,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:_N5,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=b7(SN5,CN5,D-1,2,0.5);await G$(O)}}return{init(N,B){if(X)return;X=!0,J=!1;let D=B?.creds?Mh0.credsAuthenticator(new TextEncoder().encode(B.creds)):B?.user?Mh0.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=Xz8.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 vN5($){return Yz8.connect($)}var Mh0,Yz8,Xz8,CN5=100,SN5=3000,_N5=3000;var Gz8=L(()=>{g$();Mh0=_(UA(),1),Yz8=_(Qz8(),1),Xz8=_(nH(),1)});function Vh0($,Z){return`${$}.${Z}`}class XR1{cache;constructor($){this.cache=WB({ttlMs:$?.ttlMs??bN5,maxSize:$?.maxSize??xN5})}async get($,Z){return this.cache.get(Vh0($,Z))??null}async set($,Z,Q){this.cache.set(Vh0($,Z),Q)}async invalidate($,Z){this.cache.delete(Vh0($,Z)),this.cache.delete(Vh0($,`${Z}:decisions`))}teardown(){this.cache.clear()}}var bN5=600000,xN5=5000;var Wz8=()=>{};function Ih0($,Z){return`${$}:${Z}`}function JR1($){let Z=WB({ttlMs:$?.ttlMs??fN5,maxSize:$?.maxSize??yN5}),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(Kz8,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(Ih0(K,H))},set(K,H,F){Z.set(Ih0(K,H),F)},invalidate(K,H){Z.delete(Ih0(K,H)),W(K,H)},start(){if(G)return;let K=Q?.();if(!K)return;G=K.subscribe(Kz8),(async()=>{for await(let H of G)try{let F=JSON.parse(J.decode(H.data));if(F.originId===Y)continue;Z.delete(Ih0(F.organizationId,F.keyId))}catch{}})().catch(console.error)},teardown(){G?.unsubscribe(),G=null,Z.clear()}}}var Kz8="studio.ai-provider-keys.invalidate",fN5=30000,yN5=5000;var Hz8=()=>{};class GR1{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 Fz8=($)=>{let Z;return()=>Z??=$()},WR1,KR1;var Uz8=L(()=>{y6();WR1=Fz8(()=>W$.createHistogram("decopilot.stream.encode_ms",{description:"Per-chunk JSON.stringify+encode time for decopilot stream",unit:"ms"})),KR1=Fz8(()=>W$.createCounter("decopilot.stream.published_chunks",{description:"Logical decopilot stream chunks published to JetStream",unit:"{chunks}"}))});function dN5($=Dz8){return{name:nB,subjects:[`${LD1}.>`],storage:SU.StorageType.File,max_age:uN5,max_bytes:mN5,max_msgs_per_subject:cN5,discard:SU.DiscardPolicy.Old,retention:SU.RetentionPolicy.Limits,duplicate_window:lN5,num_replicas:$}}class Lz8{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 Nz8($){let Z=Bz8.headers();for(let[Q,Y]of Object.entries($))Z.set(Q,Y);return Z}function tN5($,Z){let Q=0;return{publish(Y,X,J,G){Y.publish(X,J,G?{headers:G}:void 0).catch((W)=>{if(Q++,hN5().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 oN5($,Z){return $.info?.cluster?Z:1}function sN5($){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 HR1{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=dN5(X);try{await Y.streams.info(nB),await Y.streams.update(nB,J)}catch(G){if(G instanceof Error&&G.message.includes("stream not found"))await Y.streams.add(J),await Y.streams.update(nB,J);else if(G instanceof Error&&/can ?not change.*storage|storage type/i.test(G.message))await Y.streams.delete(nB),await Y.streams.add(J);else throw G}},Q=await $8(async()=>{let Y=this.options.getJetStreamManager?await this.options.getJetStreamManager():await SU.jetstreamManager($),X=oN5($,Dz8);try{await Z(Y,X)}catch(J){if(X<=1||!sN5(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:Ft});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=tN5(Z,Y),G=!1,W=()=>{if(G)return;G=!0;let H=f88(Z);X.publish(H.subject,H.data).catch(()=>{})};Q.addEventListener("abort",W,{once:!0});let K=(H)=>{let F=performance.now(),U=jD1(H,{runId:Z}),N=performance.now()-F;WR1().record(N),KR1().add(1,{"org.id":Y??"unknown"}),nN5?.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?Nz8(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(),pN5)console.warn(JSON.stringify({msg:"decopilot-stream-diag",event:"pump-done",taskId:Z,publishedChunks:U,publishErrors:J.errorCount}))}if(N!==void 0)throw N})()}async publishSerialized($,Z){try{return await $8(()=>$.publish(Z.subject,Z.data,{...Z.headers?{headers:Nz8(Z.headers)}:{},...Z.msgId?{msgID:Z.msgId}:{}}),{maxAttempts:6,minTimeout:250,maxTimeout:5000,jitter:0.5,isRetriable:Ft}),!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=jD1(Z,{runId:$,dedup:Q});WR1().record(performance.now()-X),KR1().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=x88({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"?SU.DeliverPolicy.New:SU.DeliverPolicy.All,J=Q?.closeOnDone??!1,G=uz($),W;try{W=await $8(async()=>{return(await Y.consumers.get(nB,{filter_subjects:G,deliver_policy:X})).consume()},{maxAttempts:6,minTimeout:250,maxTimeout:5000,jitter:0.5,isRetriable:Ft})}catch(O){return console.warn("[Decopilot] JetStream tail unavailable (non-critical):",O?.message??O),null}let F=Qb0({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(rv0()).pipeThrough(ev0()).getReader(),U=!1,N=()=>{if(U)return;U=!0;try{F.releaseLock()}catch{}},B=!1,D=()=>{if(B)return;B=!0,W.stop(),F.cancel().catch(()=>{}),N()};return Z?.addEventListener("abort",D,{once:!0}),new ReadableStream({async pull(O){for(;;){let{done:j,value:w}=await F.read();if(j){D(),O.close();return}let E=w;if(E.kind==="done"){if(J){D(),O.close();return}continue}O.enqueue(E.chunk);return}},cancel(){D()}})}purge($){if(!this.jsm)return;this.jsm.streams.purge(nB,{filter:uz($)}).catch(()=>{})}teardown(){this.js=null,this.jsm=null}}var SU,Bz8,gN5=($)=>{let Z;return()=>Z??=$()},hN5,uN5=86400000000000,lN5=120000000000,mN5=4294967296,Dz8,cN5=500000,iN5,pN5,nN5;var Oz8=L(()=>{g$();wD1();Yb0();$b0();y6();Uz8();SU=_(nH(),1),Bz8=_(UA(),1),hN5=gN5(()=>W$.createCounter("decopilot.stream.publish_errors",{description:"Number of JetStream publish failures for decopilot stream chunks",unit:"{errors}"})),Dz8=Math.max(1,Number(process.env.DECOPILOT_STREAM_REPLICAS??3)||3);iN5=process.env.STREAM_ENCODE_TRACE==="1",pN5=process.env.DECOPILOT_STREAM_TRACE==="1";nN5=iN5?new Lz8:null});function kh0($,Z,Q,Y){if(!Y)return!1;return $.emit(Z,QN(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 jz8=L(()=>{q8()});class FR1{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 aN5($,Z,Q={}){let Y=$.startsWith("thread:")?XU($,Q):$;return[...new Set([Z,Y].filter((X)=>!!X))]}async function UR1($,Z){let Q=Z.organizationId;try{let Y=await $.storage.taskBoard.linkedThreadIds(Z.id,Q);for(let X of Y){let J=await JU($,X);if(!J?.owner||!J?.name)continue;let G=await $.storage.threads.get(X),W=await vB($,{threadId:X,runBranch:G?.branch}),K=await w80($,Q,eN0(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=aN5(W,await ZS0($,X),{flat:Dh(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 iJ(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 wz8=L(()=>{W5();yQ();I7()});async function Ez8($,Z,Q){let Y=Z.organizationId;if(!dJ(Z))return!1;if(!ch(Q))return!1;if(!await Tc($,Y,ae))return!1;if(await $.storage.taskBoard.hasHumanRejectedDone(Z.id,Y))return!1;let X=Q1.shipped,J=await $.storage.taskBoard.update(Z.id,Y,{status:X},Z.updatedBy);return await J9($,{taskBoardItemId:Z.id,action:"status_changed",actorId:null,data:{from:Z.status,to:X,reason:"pr_merged"}}),r$(Y,J),console.log(`[task-board-review-sweeper] ${Z.id}: linked PR already merged \u2014 moved to ${X}`),!0}var Pz8=L(()=>{D3();I8();hX();cn();UU();F5()});function zz8($,Z){return Z-$>=QB5}class NR1{taskBoard;contextFactory;options;timer=null;running=!1;cursor=null;constructor($,Z,Q={}){this.taskBoard=$;this.contextFactory=Z;this.options=Q}start(){if(this.timer)return;let $=this.options.intervalMs??rN5;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??$B5,Q=this.options.itemIntervalMs??eN5,Y=new Date(Date.now()-Q),X=await this.taskBoard.listItemsPendingReview(Z,this.cursor,Y),J=X.at(-1);this.cursor=X.length===Z&&J?{updatedAt:J.updatedAt,id:J.id}:null;for(let{id:G,organizationId:W}of X)try{if(await this.reconcileItem(G,W,Y))$++}catch(K){console.error(`[task-board-review-sweeper] ${G} failed`,K)}await this.reapAbandonedThreads(Z),$+=await this.dispatchDueRetries(Z),await this.reactToUnhandledFailures(Z),$+=await this.settleFinishedRunsWithoutPr(Z,Y)}catch(Z){console.error("[task-board-review-sweeper] sweep failed",Z)}finally{this.running=!1}return $}async reapAbandonedThreads($){try{let Z=await this.taskBoard.failAbandonedLinkedThreads($,new Date(Date.now()-OU1),{neverStarted:iN1,stalled:xB1});for(let Q of Z)console.warn(`[task-board-review-sweeper] failed abandoned thread ${Q.threadId} on ${Q.itemId}`)}catch(Z){console.error("[task-board-review-sweeper] reaping failed",Z)}}async reactToUnhandledFailures($){let Z=await this.taskBoard.listItemsStuckAfterFailure($,new Date(Date.now()-YB5));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 dN1(this.taskBoard,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!==Q1.progress||dJ(W)||W.assigneeId!==u$)continue;let K=await this.contextFactory(J,W.assignedBy??W.createdBy);if(!K)continue;if(await UR1(K,W)){if(await this.taskBoard.clearSweepBudget(X,J),await this.reconcileItem(X,J,Z))Q++;continue}if(!zz8(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,Q1.review,W.updatedBy);if(!F)continue;await this.taskBoard.recordActivity({taskBoardItemId:X,action:"status_changed",actorId:null,data:{from:Q1.progress,to:Q1.review,reason:H}}).catch(()=>{}),r$(J,F),await cB(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!==Q1.progress||G.assigneeId!==u$)continue;let W=await this.contextFactory(X,G.assignedBy??G.createdBy);if(!W)continue;await iO(W,G,{runClass:"retry"}),Z++,console.warn(`[task-board-review-sweeper] re-dispatched ${Y} after a failure (attempt ${J})`)}catch(G){console.error(`[task-board-review-sweeper] retry dispatch for ${Y} failed`,G),await this.taskBoard.scheduleRunRetry(Y,X,J,new Date(Date.now()+ZB5)).catch((W)=>console.error(`[task-board-review-sweeper] re-arming ${Y} failed`,W))}return Z}async handOffReviewWithoutPr($,Z){let Q=await this.taskBoard.listActivity(Z.id,Z.organizationId);if(!zz8(BL(Q,Z.reviewCycleStartedAt),Date.now()))return;await cB($,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(!dJ(Y))return!1;let X=Y.assigneeId===u$,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 UR1(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 nn(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 Ez8(G,Y,W))return!0;if(!X)return!1;if(await x08(G,Y))return!0;if(!uN1(W))return!1;return await pn(G,Y,{previewMatchesHead:lN1(W)}),!0}dispose(){if(this.timer)clearInterval(this.timer),this.timer=null}}var rN5=60000,eN5=300000,$B5=50,ZB5=60000,QB5=900000,YB5=120000;var Az8=L(()=>{I8();a_0();wz8();dB();an();UU();Pz8();F5();pN1();fB1();I7();Q90()});async function Tz8($,Z,Q=mz){return await Rz8($,Z,Q,{})}async function qz8($,Z,Q,Y=mz){return await Rz8($,Q,Y,{activityId:Z})}async function Rz8($,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-XB5),settledBefore:new Date(Z-Q),limit:JB5,...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 GB5($.taskBoard,K,Q);for(let U of H){if(!U48(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 GB5($,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?N48(X,Q):Z.from}var XB5=1800000,JB5=200;var Mz8=L(()=>{sO()});import{DBOS as i2,DBOSClient as WB5,SchedulerMode as KB5}from"@dbos-inc/dbos-sdk";function Vz8($){fj=$}async function UB5($){if(!fj)return 0;try{return await qz8(fj,$,Date.now(),fj.settleMs)}catch(Z){return console.error(`[automations] settling board move ${$} failed`,Z),0}}async function NB5(){if(!fj)return 0;try{return await Tz8(fj,Date.now(),fj.settleMs)}catch($){return console.error("[automations] board transition sweep failed",$),0}}async function BB5($){await i2.sleep((fj?.settleMs??mz)+FB5),await i2.runStep(()=>UB5($),{name:"settleBoardMove"})}async function DB5($,Z){let Q=await i2.runStep(()=>NB5(),{name:"sweepBoardMoves"});if(Q>0)console.log(`[automations] board transition sweep fired ${Q} trigger(s) the settle wait missed`)}async function kz8($){let Z=fj;if(!Z||!DR1)return;if(!await Z.automations.hasActiveBoardColumnTrigger($.taskBoardItemId,$.to))return;let Q=`board-settle:${$.activityId}`;if(!i2.isWithinWorkflow()){await i2.startWorkflow(DR1,{workflowID:Q,queueName:r2})($.activityId);return}let Y=await WB5.create({systemDatabaseUrl:Z.systemDatabaseUrl,systemDatabaseSchemaName:"dbos",systemDatabasePoolSize:1});try{await Y.enqueue({workflowName:Iz8,queueName:r2,workflowID:Q},$.activityId)}finally{await Y.destroy()}}function Cz8(){if(BR1)return;DR1=i2.registerWorkflow(BB5,{name:Iz8}),BR1=i2.registerWorkflow(DB5,{name:"boardTransitionSweepWorkflow"}),i2.registerScheduled(BR1,{name:"boardTransitionSweepWorkflow",crontab:HB5,mode:KB5.ExactlyOncePerIntervalWhenActive})}var HB5="*/5 * * * *",FB5=2000,fj=null,Iz8="boardTransitionSettleWorkflow",DR1=null,BR1=null;var Sz8=L(()=>{sO();Mz8()});import{readdir as LB5,rm as Ch0}from"fs/promises";import{join as Sh0}from"path";async function _h0($){let Z=new Date;Z.setUTCDate(Z.getUTCDate()-OB5),Z.setUTCHours(0,0,0,0);let Q=0;try{let Y=await jl($);for(let X of Y)if(/^\d{4}$/.test(X))Q+=await _z8($,X,Z);else if(!X.startsWith(".")){let J=Sh0($,X),G=await jl(J);for(let K of G){if(!/^\d{4}$/.test(K))continue;Q+=await _z8(J,K,Z)}if((await jl(J)).length===0)await Ch0(J,{recursive:!0,force:!0})}}catch(Y){console.warn("monitoring retention cleanup failed:",Y)}return Q}async function _z8($,Z,Q){let Y=0,X=Sh0($,Z),J=await jl(X);for(let W of J){if(!/^\d{2}$/.test(W))continue;let K=Sh0(X,W),H=await jl(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=Sh0(K,U);await Ch0(B,{recursive:!0,force:!0}),Y++}}if((await jl(K)).length===0)await Ch0(K,{recursive:!0,force:!0})}if((await jl(X)).length===0)await Ch0(X,{recursive:!0,force:!0});return Y}async function jl($){try{return(await LB5($)).filter((Q)=>!Q.startsWith("."))}catch{return[]}}var OB5=30;var LR1=()=>{};import{DBOS as OR1,SchedulerMode as jB5}from"@dbos-inc/dbos-sdk";async function EB5(){let $=[hH(),Ml(),ID()],Z=0;for(let Q of $)try{Z+=await _h0(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 PB5($,Z){await OR1.runStep(()=>EB5(),{name:"monitoringRetention"})}function bz8(){if(vz8)return;vz8=!0;let $=OR1.registerWorkflow(PB5,{name:"monitoringRetentionWorkflow"});OR1.registerScheduled($,{name:"monitoringRetentionWorkflow",crontab:wB5,mode:jB5.ExactlyOncePerIntervalWhenActive})}var wB5="23 4 * * *",vz8=!1;var xz8=L(()=>{aW();LR1()});function fz8($){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 hY.create();X.auth.user={id:Q,role:Y.role},X.organization={id:Y.orgId,slug:Y.orgSlug,name:Y.orgName};let J=await zP($.db,Z,Y.role);return X.boundAuth=sz1({auth:X.authInstance,headers:new Headers,role:Y.role,permissions:J,userId:Q}),X.access=new cT(Q,void 0,X.boundAuth,Y.role,"self"),yz(X,{id:Y.orgId,slug:Y.orgSlug}),X}}var yz8=L(()=>{jQ();yF()});function gz8(){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=FY0(N.params.name),D=N.params.arguments||{},O=Object.keys(D).map((w)=>FY0(w)),j=O.length>0?O.slice(0,3).join(",")+(O.length>3?"\u2026":""):"";J=`${E9.tool}${B}${E9.dim}(${j})${E9.reset}`}else if(N.method)J=`${E9.dim}${FY0(N.method)}${E9.reset}`}}catch{}}let W=FY0(X);if(X.startsWith("/mcp/conn_")){let F=X.split("/")[2]??"";W=`/mcp/${E9.mcp}${FY0(F.slice(0,12))}\u2026${E9.reset}`}else if(X==="/mcp")W=`${E9.mcp}/mcp${E9.reset}`;else if(X==="/mcp/registry")W=`${E9.mcp}/mcp/registry${E9.reset}`;let K=AB5(Y),H=G?"\u25C0":"\u2190";console.log(`${E9.dim}${H}${E9.reset} ${K}${Y}${E9.reset} ${W}${J?` ${J}`:""}`);try{await Z()}finally{let F=Date.now()-Q,U=$.res.status,N=zB5(U),B=F<1000?`${F}ms`:`${(F/1000).toFixed(1)}s`,D=G?"\u25B6":"\u2192";console.log(`${E9.dim}${D}${E9.reset} ${K}${Y}${E9.reset} ${W}${J?` ${J}`:""} ${N}${U}${E9.reset} ${E9.duration}${B}${E9.reset}`)}}}var E9,zB5=($)=>{if($>=500)return E9.serverError;if($>=400)return E9.clientError;if($>=300)return E9.redirect;return E9.ok},AB5=($)=>{return E9[$]||E9.reset},FY0=($)=>{return $.replace(/\r/g,"").replace(/\n/g,"").replace(/\x1b\[[0-9;]*m/g,"").replace(/[\x00-\x1f\x7f-\x9f]/g,"")};var hz8=L(()=>{E9={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 cz8}from"crypto";import{mkdir as TB5,readdir as qB5,rm as uz8,stat as dz8}from"fs/promises";import{join as wR1,relative as RB5}from"path";import{z as W8}from"zod";function pz8($){let Z=$.replace(/[^a-zA-Z0-9_-]/g,"_");return wR1(MB5,Z)}function nz8($){return $.replace(/^\/+/,"").replace(/\.\./g,"")}function jR1($,Z){let Q=pz8($),Y=nz8(Z);return wR1(Q,Y)}function VB5($,Z,Q,Y){let X=B0().encryptionKey||"dev-secret",J=`${$}:${Z}:${Q}:${Y}`;return cz8("sha256",X).update(J).digest("hex")}function mz8($,Z,Q,Y,X){let J=Math.floor(Date.now()/1000)+Y,G=VB5(Z,Q,J,X),W=new URL(`/api/dev-assets/${Z}/${nz8(Q)}`,$);return W.searchParams.set("expires",J.toString()),W.searchParams.set("signature",G),W.searchParams.set("method",X),W.toString()}function tz8($,Z,Q){let Y=`${$}:${Z.getTime()}:${Q}`;return`"${cz8("md5","etag").update(Y).digest("hex")}"`}async function oz8($,Z,Q,Y,X){try{let J=await qB5($,{withFileTypes:!0});for(let G of J){let W=wR1($,G.name),H=RB5(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 oz8(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 dz8(W);X.objects.push({key:H,size:F.size,lastModified:F.mtime.toISOString(),etag:tz8(W,F.mtime,F.size)})}catch{}}}}catch{}}function sz8($,Z){let Y=Z0($).id;return[{name:"LIST_OBJECTS",description:"List objects in the local assets directory with pagination support",inputSchema:W8.object({prefix:W8.string().optional(),maxKeys:W8.number().optional().default(1000),continuationToken:W8.string().optional(),delimiter:W8.string().optional()}),outputSchema:W8.object({objects:W8.array(W8.object({key:W8.string(),size:W8.number(),lastModified:W8.string(),etag:W8.string()})),nextContinuationToken:W8.string().optional(),isTruncated:W8.boolean(),commonPrefixes:W8.array(W8.string()).optional()}),handler:async(X)=>{let J=X,G=J.prefix||"",W=J.maxKeys??1000,K=J.delimiter,H=J.continuationToken,F=pz8(Y);await TB5(F,{recursive:!0});let U={objects:[],commonPrefixes:new Set};await oz8(F,F,G,K,U),U.objects.sort((j,w)=>j.key.localeCompare(w.key));let N=0;if(H){if(N=U.objects.findIndex((j)=>j.key>H),N===-1)N=U.objects.length}let B=U.objects.slice(N,N+W),D=N+W<U.objects.length,O=D?B[B.length-1]?.key:void 0;return{objects:B,isTruncated:D,nextContinuationToken:O,commonPrefixes:Array.from(U.commonPrefixes).sort()}}},{name:"GET_OBJECT_METADATA",description:"Get metadata for a file in the local assets directory",inputSchema:W8.object({key:W8.string()}),outputSchema:W8.object({contentType:W8.string().optional(),contentLength:W8.number(),lastModified:W8.string(),etag:W8.string(),metadata:W8.record(W8.string(),W8.string()).optional()}),handler:async(X)=>{let J=X,G=jR1(Y,J.key),W=await dz8(G);return{contentType:FA1(J.key),contentLength:W.size,lastModified:W.mtime.toISOString(),etag:tz8(G,W.mtime,W.size)}}},{name:"GET_PRESIGNED_URL",description:"Generate a presigned URL for downloading a file from local storage",inputSchema:W8.object({key:W8.string(),expiresIn:W8.number().optional()}),outputSchema:W8.object({url:W8.string(),expiresIn:W8.number()}),handler:async(X)=>{let J=X,G=Jj(J.expiresIn,lz8);return{url:mz8(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:W8.object({key:W8.string(),expiresIn:W8.number().optional(),contentType:W8.string().optional()}),outputSchema:W8.object({url:W8.string(),expiresIn:W8.number()}),handler:async(X)=>{let J=X,G=Jj(J.expiresIn,lz8);return{url:mz8(Z,Y,J.key,G,"PUT"),expiresIn:G}}},{name:"DELETE_OBJECT",description:"Delete a single file from local storage",inputSchema:W8.object({key:W8.string()}),outputSchema:W8.object({success:W8.boolean(),key:W8.string()}),handler:async(X)=>{let J=X,G=jR1(Y,J.key);try{return await uz8(G),{success:!0,key:J.key}}catch{return{success:!1,key:J.key}}}},{name:"DELETE_OBJECTS",description:"Delete multiple files from local storage",inputSchema:W8.object({keys:W8.array(W8.string()).max(1000)}),outputSchema:W8.object({deleted:W8.array(W8.string()),errors:W8.array(W8.object({key:W8.string(),message:W8.string()}))}),handler:async(X)=>{let J=X,G=[],W=[];return await Promise.all(J.keys.map(async(K)=>{let H=jR1(Y,K);try{await uz8(H),G.push(K)}catch(F){W.push({key:K,message:F instanceof Error?F.message:"Unknown error"})}})),{deleted:G,errors:W}}}]}async function ER1($,Z,Q){let Y=sz8(Z,Q),X=new FE({name:"dev-assets-mcp",version:"1.0.0"},{capabilities:{tools:{}},jsonSchemaValidator:SZ});for(let G of Y){let W="shape"in G.inputSchema?G.inputSchema.shape:W8.object({}).shape,K=G.outputSchema&&"shape"in G.outputSchema?G.outputSchema.shape:W8.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 SW({enableJsonResponse:$.headers.get("Accept")?.includes("application/json")??!1});return await X.connect(J),TH(X,J,$,"mcp:dev-assets")}async function az8($,Z,Q,Y){let J=sz8(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 MB5="./data/assets",lz8=3600,iz8,rz8;var ez8=L(()=>{l1();kt();H8();vH0();It();zJ();Gj();Wg0();iz8=new $1;iz8.all("/",async($)=>{let Z=$.get("studioContext"),Q=new URL($.req.url),Y=`${Q.protocol}//${Q.host}`;return ER1($.req.raw,Z,Y)});rz8=iz8});var $28={};P6($28,{mountDevRoutes:()=>IB5});function IB5($,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 ER1(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 az8(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",rz8);let Q=new $1;Q.use("*",VU({mountPath:"/api/dev-assets"})),Q.route("/",Gg0({orgFromPath:!1})),$.route("/api/dev-assets",Q)}var Z28=L(()=>{H8();QA1();Wg0();ez8()});var U28={};P6(U28,{watchHandler:()=>F28,resolveVoiceSigningSecret:()=>W28,resolveCorsOrigin:()=>K28,isSsoExemptPath:()=>G28,isAllowedOAuthRedirectUri:()=>H28,createApp:()=>hB5});import{readFileSync as kB5}from"fs";import{randomBytes as CB5}from"crypto";import{PrometheusSerializer as SB5}from"@opentelemetry/exporter-prometheus";import{DBOS as PD}from"@dbos-inc/dbos-sdk";import{oAuthDiscoveryMetadata as bB5,oAuthProtectedResourceMetadata as xB5}from"better-auth/plugins";async function _B5($){let Z=$.connect(),Q;try{Q=await Promise.race([Z,Y28(Q28)])}catch{return Z.then((Y)=>Y.release(!0)).catch(()=>{}),!1}try{return await Promise.race([Q.query("SELECT 1"),Y28(Q28)]),Q.release(),!0}catch{return Q.release(!0),!1}}function Y28($){return new Promise((Z,Q)=>setTimeout(()=>Q(Error("pg health-check timeout")),$))}function G28($){return $.startsWith("/api/org-sso/")||/^\/api\/[^/]+\/sso\//.test($)||$.startsWith("/api/auth/")||$.startsWith("/api/tools/management")||$.startsWith("/oauth-proxy/")||/^\/api\/[^/]+\/oauth-proxy\//.test($)||$.startsWith(`${hy0}/`)||$.startsWith(`${vy0}/`)}function W28($){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)"),CB5(32).toString("base64")}function K28($,{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 H28($,Z){return $.origin===new URL(Z).origin||$.hostname==="localhost"}async function hB5($={}){let Z=$.database??E8(),Q=!1;_6.stop().catch((h)=>{console.error("[SSEHub] Error stopping previous broadcast (HMR cleanup):",h)});let Y,X,J,G,W=new XR1,K,H,F,U=null;if($.disableNats)K=JR1(),Y={get:async()=>null,set:async()=>{},invalidate:async()=>{},teardown:()=>{}},X=null,J=null,G=new KZ0,H={start:async()=>{},broadcast:()=>{},stop:async()=>{}},F={init:async()=>{},pump:(h)=>{return(async()=>{let U0=h.getReader();try{while(!0){let{done:N0}=await U0.read();if(N0)break}}catch{}finally{U0.releaseLock()}})()},publishRawChunk:async()=>!1,publishDone:async()=>!1,createTailStream:async()=>null,purge:()=>{},teardown:()=>{}};else{U=Jz8();let h=B0().natsCredsPath,U0;if(h)try{U0=kB5(h,"utf8")}catch(k$){console.error(`[app] failed to read NATS_CREDS at ${h}; connecting anonymously`,k$)}U.init(B0().natsUrls,{creds:U0,user:B0().natsUser,password:B0().natsPassword});let N0=A91()?new K91({getJetStream:()=>U.getJetStream(),selfListVersion:Ah0.version}):null;N0?.init().catch(()=>{}),Y=N0;let q0=new TZ1({getJetStream:()=>U.getJetStream()});q0.init().catch(()=>{}),X=q0;let y0=new dh(bN1,{getJetStream:()=>U.getJetStream()}),T1=new dh(Y90,{getJetStream:()=>U.getJetStream()});y0.init().catch(()=>{}),T1.init().catch(()=>{}),J={reads:y0,cards:T1};let Q8=new mO1({getJetStream:()=>U.getJetStream()});Q8.init().catch(()=>{}),G=Q8,K=JR1({getConnection:()=>U.getConnection()}),H=new GR1({getConnection:()=>U.getConnection()}),F=new HR1({getConnection:()=>U.getConnection(),getJetStream:()=>U.getJetStream()}),UU8(U),U.onReady(()=>{N0?.init().catch((k$)=>{console.error("[McpListCache] Deferred init failed:",k$)}),q0.init().catch((k$)=>{console.error("[SkillCatalogCache] Deferred init failed:",k$)}),y0.init().catch((k$)=>{console.error("[PrReadCache] Deferred init failed:",k$)}),T1.init().catch((k$)=>{console.error("[PrCardCache] Deferred init failed:",k$)}),Q8.init().catch((k$)=>{console.error("[ConnectionCircuitStore] Deferred init failed:",k$)}),K.start(),tj$(()=>U.getConnection()),F.init().catch((k$)=>{console.warn("[Decopilot] StreamBuffer init failed (late-join disabled):",k$)})})}if(p2)await p2();H91(Y),RZ1(X),X71(()=>U?.getConnection()??null),xN1(J),cO1(G);let B={storage:new un(Z.db),sseHub:_6,onThreadFinished:async(h,U0)=>on(new UH(Z.db),h,U0)},D=new hB1(B),O=new r70(Z.db),j=new FR1(O);j.start(),E48(H),H.start((h)=>{mv0(h),D.execute({type:"CANCEL",taskId:h}).catch((U0)=>{console.error("[Decopilot] CancelBroadcast execute failed:",U0)})}).catch((h)=>{console.error("[Decopilot] CancelBroadcast start failed:",h)}),U?.onReady(()=>{H.start().catch((h)=>{console.error("[CancelBroadcast] Deferred start failed:",h)})});let w=()=>U?.getConnection()??null;s21(w),U?.onReady(()=>s21(w)),qj1(w),U?.onReady(()=>qj1(w)),F.init().catch((h)=>{console.warn("[Decopilot] StreamBuffer init failed, attach/late-join disabled:",h)}),p2=async()=>{await D.stopAll(),D.dispose(),j.dispose(),H.stop().catch(()=>{}),SN8(),F.teardown(),Y?.teardown(),X?.teardown(),J?.reads.teardown(),J?.cards.teardown(),W.teardown(),K.teardown(),oj$(),G.teardown(),H91(null),RZ1(null),X71(null),xN1(null),cO1(null)};let E=new $1;if(E.use("*",hO1({enabled:(h)=>$s(h,"debug")==="1"})),E.use("*",$u0),E.use("/*",GU8({origin:(h,U0)=>K28(h,{baseUrl:B0().baseUrl,requestOrigin:new URL(U0.req.url).origin}),credentials:!0,allowMethods:["GET","POST","PUT","DELETE","OPTIONS"],allowHeaders:["Content-Type","Authorization","mcp-protocol-version"],exposeHeaders:["WWW-Authenticate"]})),E.use("*",async(h,U0)=>{if(await U0(),h.req.path.includes("/files/"))return;if(h.req.path.includes("/fs/")&&h.req.path.endsWith("/read"))return;h.header("X-Frame-Options","DENY"),h.header("Content-Security-Policy","frame-ancestors 'none'")}),B0().nodeEnv==="development")E.use("*",gz8());E.use("*",async(h,U0)=>{if(await U0(),Ga(h.req.path))return;if(h.res.status>=500){let q0=await h.res.clone().text();console.error(`[5xx Response] ${h.req.method} ${h.req.path} - ${h.res.status}:`,q0)}}),E.get($J.HEALTH,(h)=>{if(Q)return h.json({status:"shutting_down"},503);return h.json({status:"ok"})}),E.get($J.HEALTH_LIVE,(h)=>{return h.json({status:"ok"})}),E.get($J.HEALTH_READY,async(h)=>{if(Q)return h.json({status:"shutting_down"},503);let U0={};if(U0.postgres={status:await _B5(Z.pool)?"up":"down"},U)U0.nats=U.isConnected()?{status:"up"}:{status:"down"};else U0.nats={status:"down"};let N0=U0.postgres.status==="up",q0=N0?200:503;return h.json({status:N0?"ready":"not_ready",services:U0},q0)}),E.get($J.METRICS,async(h)=>{try{let U0=await Xu0.collect(),N0=vB5.serialize(U0.resourceMetrics);return h.text(N0,200,{"Content-Type":"text/plain; version=0.0.4; charset=utf-8"})}catch(U0){return console.error("Failed to collect metrics:",U0),h.text("# Error collecting metrics",500)}});let P=1800000;E.get(`${$J.DBOS_QUEUE_DEPTH_PREFIX}:queueName`,async(h)=>{let U0=h.req.param("queueName");if(!fB5.has(U0))return h.json({error:`Unknown queue: ${U0}`},404);let[N0,q0]=await Promise.all([PD.listQueuedWorkflows({queueName:U0,status:"ENQUEUED",loadInput:!1,loadOutput:!1}),PD.listQueuedWorkflows({queueName:U0,status:"PENDING",loadInput:!1,loadOutput:!1,dequeuedAfter:new Date(Date.now()-P).toISOString()})]);return h.json({queue_length:N0.length,in_flight:q0.length})}),E.route("/api/config",LP8),E.route("/api/_reports",RP8),E.route("/api/_stripe",iq1),E.route("/api/_github",IP8({taskBoard:()=>m,contextFactory:()=>b})),E.route("/api/_git",Ls);let T={db:Z.db,encryptionKey:B0().encryptionKey};E.route("/api/_jira",hP8(T)),E.route("/api/_jira",_P8(T)),E.route("/report",AP8($.clientDir)),E.route("/api/auth/custom",SU8),E.all("/api/auth/admin/*",wN8),E.all("/api/auth/*",async(h)=>{return await U4.handler(h.req.raw)});let z=_G8();z.use("/.well-known/oauth-protected-resource/mcp/:connectionId",HQ0),z.use("/mcp/:connectionId/.well-known/oauth-protected-resource",HQ0),E.route("/",z),E.get("/.well-known/oauth-protected-resource/api/:org/mcp/:connectionId",hZ0),E.route("/",yG8()),E.use("/oauth-proxy/:connectionId/*",HQ0),E.all("/oauth-proxy/:connectionId/*",X28);let A=async(h)=>{let N0=await yB5()(h.req.raw),q0=await N0.json();return Response.json(q0,N0)};E.use("/mcp/:gateway?/:connectionId/.well-known/oauth-protected-resource/*",HQ0),E.get("/mcp/:gateway?/:connectionId/.well-known/oauth-protected-resource/*",A);let M=async(h)=>{let N0=await gB5()(h.req.raw),q0=await N0.json();return Response.json(q0,N0)};E.get("/.well-known/oauth-authorization-server/*/:gateway?/:connectionId?",M);let f=KU8({ttlMs:120000}),S=await jF8({db:Z.db,auth:U4,encryption:{key:B0().encryptionKey},observability:{tracer:dj,meter:W$},modelListCache:W,providerKeyCache:K,memberRoleCache:f});hY.set(S),w8$({db:Z.db,baseUrl:z5()}),wF8({db:Z.db}),AF8({db:Z.db}),MF8({db:Z.db}),gF8({db:Z.db}),pF8({db:Z.db}),fP8({db:Z.db,encryptionKey:B0().encryptionKey}),Re$({db:Z.db}),rF8({db:Z.db}),K08({db:Z.db});let V=Sz(Z.db),v=new o70(Z.db),b=fz8({db:Z.db});tD1({storage:V,studioContextFactory:b,orgContextFactory:(h)=>gY(Z.db,h),systemDatabaseUrl:_e(B0().databaseUrl,B0().databasePgSsl)}),CD1({systemDatabaseUrl:_e(B0().databaseUrl,B0().databasePgSsl),studioContextFactory:b,deps:{runRegistry:D,cancelBroadcast:H,streamBuffer:F,sseHub:_6}}),qD1({dispatchRunFn:I88,studioContextFactory:b,deps:{runRegistry:D,cancelBroadcast:H,streamBuffer:F,sseHub:_6}});let u=new un(Z.db),m=new UH(Z.db),i=new NR1(m,b);if(B0().taskBoardReviewSweeperEnabled){i.start();let h=p2;p2=async()=>{await h?.(),i.dispose()}}Vz8({automations:V,taskBoard:m,fire:BH,systemDatabaseUrl:_e(B0().databaseUrl,B0().databasePgSsl),settleMs:B0().boardTransitionSettleSeconds*1000}),ue$(kz8),o88({getJetStream:()=>U?.getJetStream()??null,getJetStreamManager:async()=>{let h=U?.getConnection();return h?await J28.jetstreamManager(h):null},messageParts:u.messageParts(),resolveRun:async(h)=>{let U0=await Z.db.selectFrom("threads").select(["organization_id","created_by","message_storage_version","status","run_fence_token","title"]).where("id","=",h).executeTakeFirst();return U0?{orgId:U0.organization_id,createdBy:U0.created_by,version:U0.message_storage_version??1,status:U0.status,runFenceToken:U0.run_fence_token,title:U0.title??null}:null},completeRunIfNotCompleted:async(h,U0)=>{let N0=await u.completeRunIfNotCompleted(h,U0);if(kh0(_6,U0,h,N0),N0)await on(m,h,U0);return N0},markRunRequiresAction:async(h,U0)=>{let N0=await u.requiresActionIfInProgress(h,U0);return kh0(_6,U0,h,N0),N0},markRunFailed:async(h,U0,N0,q0)=>{let y0=await u.markRunFailed(h,U0,N0,q0);if(kh0(_6,U0,h,y0),y0)await on(m,h,U0);return y0},clearSynthesizedError:async(h,U0)=>{await u.messageParts().replaceMessageParts(h,hz(h,U0),[])},persistTitle:(h,U0,N0)=>u.update(h,U0,{title:N0}),onTitleUpdated:async({runId:h,orgId:U0,title:N0})=>{let q0=await u.get(h,U0).catch(()=>null);_6.emit(U0,QN(h,q0?.status??"in_progress",{title:N0,virtualMcpId:q0?.virtual_mcp_id??void 0,createdBy:q0?.created_by,triggerId:q0?.trigger_id,branch:q0?.branch??null,harnessId:q0?.harness_id??void 0,createdAt:q0?.created_at,updatedAt:q0?.updated_at}))},bumpProgress:async({runId:h,orgId:U0})=>{await u.bumpProgress(h,U0)},recordCompleted:async({runId:h,orgId:U0,distinctId:N0,usage:q0})=>{m1.capture({distinctId:N0,event:"chat_message_completed",groups:{organization:U0},properties:{organization_id:U0,thread_id:h,transport:"projector",input_tokens:q0.inputTokens,output_tokens:q0.outputTokens,total_tokens:q0.totalTokens}})},recordFailed:async({runId:h,orgId:U0,distinctId:N0,reason:q0,kind:y0})=>{m1.capture({distinctId:N0,event:"chat_message_failed",groups:{organization:U0},properties:{organization_id:U0,thread_id:h,transport:"projector",error_category:y0,error_message:q0}})},purgeRun:async(h)=>{F.purge(h)}}),a$8({studioContextFactory:b,systemDatabaseUrl:_e(B0().databaseUrl,B0().databasePgSsl),streamBuffer:F}),bz8(),E8$(),PF8(),qF8(),IF8(),uF8(),tF8(),gP8(),Cz8(),Ce$(),$U8(),H08(),CP8();let G0=async(h,U0,N0)=>{let q0=await V.findById(h,U0);if(!q0)throw Error("Automation not found");return eD1({automationId:q0.id,organizationId:q0.organization_id,triggerId:null})},I0=new Ws(V,({automation:h,trigger:U0,contextMessages:N0,idempotencyKey:q0})=>BH({automationId:h.id,organizationId:h.organization_id,triggerId:U0.id,contextMessages:N0},{idempotencyKey:q0})),X0=[hH(),Ml(),ID()];for(let h of X0)_h0(h).then(()=>{}).catch((U0)=>console.error("[monitoring] Retention cleanup failed:",U0));let H0=()=>U4.api.deleteAllExpiredApiKeys().catch((h)=>console.error("[auth] Expired API key cleanup failed:",h));H0(),setInterval(H0,86400000).unref(),E.use("*",async(h,U0)=>{if(rh0(h.req.path))return U0();let N0={measure:async(y0,T1)=>{AH(h,y0);try{return await T1()}finally{_W(h,y0)}}},q0=await hY.create(h.req.raw,{timings:N0});q0.automationRunner=G0,h.set("studioContext",q0);try{await U0()}finally{let y0=q0.pendingRevalidations;if(y0.length>0)Promise.race([Promise.allSettled(y0),G$(30000)]).catch((Q8)=>console.error("[studio] revalidation cleanup error:",Q8))}}),E.use("/api/:org/decopilot/*",Qs),E.use("/api/:org/v1/*",Qs),E.use("/api/:org/files/*",Qs),E.use("*",async(h,U0)=>{if(G28(h.req.path))return U0();let N0=h.get("studioContext");if(!N0?.organization?.id||!N0?.auth?.user?.id)return U0();if(!(await N0.storage.orgSsoConfig.getByOrgId(N0.organization.id))?.enforced)return U0();if(!await N0.storage.orgSsoSessions.isValid(N0.auth.user.id,N0.organization.id))return h.json({error:"SSO authentication required for this organization"},403);return U0()});let s=new $1;s.use("*",VU({mountPath:"/api/org-sso"})),s.route("/",my0()),E.route("/api/org-sso",s),E.get("/api/tools/management",(h)=>{return h.json({tools:we,grouped:GT()})}),E.use("/mcp/*",async(h,U0)=>{AH(h,"mcp");try{return await U0()}finally{_W(h,"mcp")}});let o=async(h,U0)=>{let N0=h.var.studioContext;if(!N0.auth.user?.id&&!N0.auth.apiKey?.id){let q0=new URL(h.req.url),y0=h.req.header("x-forwarded-proto")?.split(",")[0]?.trim(),T1=y0?`${y0}://${q0.host}`:q0.origin;return h.res=new Response(null,{status:401,headers:{"WWW-Authenticate":`Bearer realm="mcp",resource_metadata="${T1}${q0.pathname}/.well-known/oauth-protected-resource"`}})}return await U0()};if(E.use("/mcp/:connectionId?",o),E.use("/mcp/gateway/:virtualMcpId?",o),E.use("/mcp/virtual-mcp/:virtualMcpId?",o),E.use("/mcp/self",o),cK()){let{mountDevRoutes:h}=(Z28(),uh0($28));h(E,o)}let r=new $1;r.use("*",VU({mountPath:"/mcp"})),r.route("/",Gx0()),E.route("/mcp",r);let Q0=new $1;Q0.use("*",VU({mountPath:"/mcp/self"})),Q0.route("/",gg0()),E.route("/mcp/self",Q0);let J0=new $1;J0.use("*",VU({mountPath:"/mcp"})),J0.route("/",Hx0()),E.route("/mcp",J0),E.use("/api/:org/models/*",async(h,U0)=>{AH(h,"llm_models");try{return await U0()}finally{_W(h,"llm_models")}});let u0=yN8({cancelBroadcast:H,streamBuffer:F,runRegistry:D});E.route("/api",u0),E.route("/api",cP8);let C0=new $1;C0.use("*",VU({mountPath:"/api"})),C0.route("/",mg0()),E.route("/api",C0),E.route("/api",FP8);let Y1=new $1;Y1.use("*",VU({mountPath:"/api"})),Y1.route("/",cg0({tokenStorage:v,automationEventDispatcher:I0})),E.route("/api",Y1);let i0=new s70(Z.db),j0=new $1;j0.use("*",VU({mountPath:"/api"})),j0.route("/",ty0()),E.route("/api",j0),E.route("/api/deco-sites",rN8());let E0=new $1;E0.use("*",VU({mountPath:"/api/deco-sites"})),E0.route("/",sy0()),E.route("/api/deco-sites",E0),E.route(hy0,EN8()),E.route(iO8,tO8()),E.route("/api/_editor-resolve",NP8()),E.route(yU8,gU8()),E.route(vy0,eU8());let m0=B0(),B1=m0.elevenlabsApiKey?new Eh0({apiKey:m0.elevenlabsApiKey,model:m0.elevenlabsVoiceModel,conversationModel:m0.elevenlabsConversationModel,voiceId:m0.elevenlabsVoiceId}):null,H1={openai:m0.openaiLiveApiKey?new yq1({apiKey:m0.openaiLiveApiKey,voice:m0.openaiLiveVoice}):null,elevenlabs:B1?new fq1(B1,()=>U?.getConnection()??null):null},_0=new mq1({adapter:B1,conversationAdapters:H1,defaults:m0,secret:W28(m0),getConnection:()=>U?.getConnection()??null}),c0=gE8({voiceSessions:_0,kvStorage:i0,runRegistry:D,streamBuffer:F,sseHub:_6,cancelBroadcast:H,tokenStorage:v,automationEventDispatcher:I0,mountDevAssets:cK(),mcpAuth:o,oauthProxyHandler:X28,watchHandler:F28,betterAuthProtectedResourceHandler:A,getNatsConnection:()=>U?.getConnection()??null});return E.route("/api/:org",c0),E.notFound((h)=>{return h.json({error:"Not Found",path:h.req.path},404)}),E.onError(hN8),Object.assign(E,{markShuttingDown:()=>{Q=!0},shutdown:async()=>{if(console.log("[shutdown] Stopping workers..."),await Promise.allSettled([_6.stop(),p2?Promise.resolve(p2()).finally(()=>{p2=null}):Promise.resolve()]),U)await U.drain().catch((h)=>console.error("[shutdown] NATS drain error:",h));console.log("[shutdown] Flushing telemetry..."),await $3().catch((h)=>console.error("[shutdown] Telemetry flush error:",h)),console.log("[shutdown] Closing database..."),await n5$(Z).catch((h)=>console.error("[shutdown] Database close error:",h)),console.log("[shutdown] Cleanup complete.")},initDbos:async()=>{await PD.registerQueue(wG,{partitionQueue:!0,concurrency:iD1,minPollingIntervalMs:pD1}),await PD.registerQueue(sW,{partitionQueue:!0,concurrency:ID1,priorityEnabled:!0}),await PD.registerQueue(RD,{workerConcurrency:B0().decopilotMaxConcurrentHostedRuns,priorityEnabled:!0}),await PD.registerQueue(MD,{workerConcurrency:B0().sandboxMaxConcurrentHostedRuns,priorityEnabled:!0}),await PD.registerQueue(cj,{partitionQueue:!0,concurrency:s$8}),await PD.registerQueue(a2,W08),await PD.registerQueue(r2),await YA1(V),await Promise.allSettled(["automations-gate","automations-global","jira-push"].map((h)=>PD.deleteQueue(h))),await nD1(Z.pool),SK$().catch((h)=>{console.error("[studio-pack-backfill] failed:",h)}),Ac(Z.db).catch((h)=>{console.error("[automations] built-in seed failed:",h)}),P8$().catch((h)=>{console.error("[org-fs] public-sets boot sync kick failed:",h)})}})}var J28,Q28=5000,p2=null,X28=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 hY.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 Go(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=QP1(await W.json());if(!K)K=H.origin;let N=await uZ0(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=fG8(D);if(O)return O;let j=new URL(D),w=new URL($.req.url);if(j.search=w.search,Y==="authorize"){let v=j.searchParams.get("redirect_uri");if(v){let b=B0().baseUrl??w.origin;try{if(!H28(new URL(v),b))return $.json({error:"invalid_request",error_description:"redirect_uri is not allowed"},400)}catch{return $.json({error:"invalid_request",error_description:"redirect_uri is malformed"},400)}j.searchParams.set("redirect_uri",v)}if(j.searchParams.has("resource"))j.searchParams.set("resource",U);if(QU8(G.connection_url))j.searchParams.set("auto_personal","true"),j.searchParams.set("force_new","true");return $.redirect(j.toString(),302)}let E={Accept:$.req.header("Accept")||"application/json"},P=$.req.header("Content-Type");if(P)E["Content-Type"]=P;let T=$.req.header("Authorization");if(T)E.Authorization=T;let z,A=null,M=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 i=atob(T.slice(6).trim()),G0=i.indexOf(":");if(G0!==-1){let I0=decodeURIComponent(i.slice(0,G0)),X0=decodeURIComponent(i.slice(G0+1));A=I0||null,M=X0||null}}catch{}let v=await $.req.formData();if(v.has("resource"))v.set("resource",U);let b=v.get("client_id"),u=v.get("client_secret");if(typeof b==="string"&&b)A=b;if(typeof u==="string"&&u)M=u;let m=new URLSearchParams;for(let[i,G0]of v.entries())m.append(i,G0.toString());z=m.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(),u={};try{u=b?JSON.parse(b):{}}catch{z=b}let m=typeof u==="object"&&u!==null&&!Array.isArray(u);if(z===void 0&&!m)z=b;if(z===void 0){let i=u,G0=i.metadata&&typeof i.metadata==="object"?i.metadata:{};i.metadata={...G0,organization_id:G.organization_id,...v?.slug?{organization_slug:v.slug}:{},...v?.name?{organization_name:v.name}:{}},z=JSON.stringify(i),E["Content-Type"]="application/json"}}else z=$.req.raw.body??void 0;let f=await fetch(j.toString(),{method:$.req.method,headers:E,body:z,duplex:"half",redirect:"manual"}),S=new Headers,V=["connection","keep-alive","transfer-encoding","content-encoding","content-length"];for(let[v,b]of f.headers.entries())if(!V.includes(v.toLowerCase()))S.set(v,b);if(Y==="token"&&f.ok){let v=await f.text();try{let b=JSON.parse(v);if(typeof b.access_token==="string"&&b.access_token){let u=typeof b.expires_in==="number"?new Date(Date.now()+b.expires_in*1000):null,m=null;try{m=await J2(G.connection_url)??D}catch{m=D}let i={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:u,clientId:A,clientSecret:M,tokenEndpoint:m};await new Y9(X.db,X.vault).upsert(i)}}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})},F28=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&&(!lB(Y)||!await mB(Z)))return $.json({error:"forbidden"},403);let W=G?x_0:Y;if(G)cO({action:"watch_all_orgs",actorUserId:Q,actorOrgId:Y,targetOrgId:"all"});let K=crypto.randomUUID();return Sj($,async(H)=>{if(await H.writeSSE({event:"connected",data:JSON.stringify({listenerId:K,organizationId:Y,typePatterns:J,connectedAt:new Date().toISOString()})}),!_6.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(()=>{_6.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),_6.remove(W,K)})},30000);await new Promise((N)=>{H.onAbort(()=>{clearInterval(U),_6.remove(W,K),N()})})})},vB5,fB5,yB5=()=>xB5(U4),gB5=()=>bB5(U4);var N28=L(()=>{g$();l1();z8$();zF8();RF8();kF8();lF8();oF8();OZ0();HN1();ZU8();Q90();B9();qi();q8();H8();ky0();WU8();uO1();ZH();yF();T21();bG();y6();W6();C21();hU8();$N8();y21();PN8();p21();$A1();ZA1();lK();lZ0();QA1();uN8();Sy0();hE8();dE8();iE8();oE8();JP8();GA1();Wx0();HZ0();UP8();Fx0();gT1();BP8();fT1();OP8();TP8();MP8();VP8();kP8();SP8();vP8();uP8();QR1();NA1();dP8();yT1();_T1();RY0();Gz8();cq1();IJ();WB0();f80();yN1();m$0();d$0();iO1();Wz8();Hz8();a21();Oz8();_v0();jz8();r50();mO();F5();bz1();Az8();Sz8();D3();dO();xz8();KF0();LR1();aW();XA1();uO();AD1();KF0();g90();p50();Ez1();yz8();xw();hz8();_s();T21();ln();Wt();cv0();J28=_(nH(),1);vB5=new SB5,fB5=new Set([wG,sW,RD,MD,cj,a2])});var O28={};P6(O28,{resolveClientDir:()=>pB5,resolveAssetPathWithTraversalCheck:()=>L28,isPathWithinDirectory:()=>D28,createAssetHandler:()=>nB5});import{resolve as UY0,dirname as uB5,join as lB5,extname as mB5,basename as cB5,sep as B28}from"path";function dB5($,Z){if($===Z||cB5($)==="index.html")return{"Cache-Control":"no-cache"};if($.includes(`${B28}assets${B28}`))return{"Cache-Control":"public, max-age=31536000, immutable"};return{}}function D28($,Z){let Q=UY0(Z),Y=UY0($);return Y===Q||Y.startsWith(Q+"/")}function L28({requestPath:$,clientDir:Z}){let Q=$.startsWith("/")?$.slice(1):$,Y=UY0(Z,Q);if(!D28(Y,Z))return null;return Y}function pB5($,Z="../client"){let Q=new URL($),Y=uB5(Q.pathname);return UY0(Y,Z)}function nB5($={}){let{env:Z="production",clientDir:Q=iB5,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=L28({requestPath:W,clientDir:Q});if(!K)return null;let H=lB5(K,"index.html"),F=UY0(Q,"index.html"),U=J.headers.get("accept"),B=U?.includes("text/html")||U?.includes("*/*")&&["",".html"].includes(mB5(K))?[H,F]:[];for(let D of[K,...B])try{let O=Bun.file(D);if(await O.exists())return new Response(O,{headers:dB5(D,F)})}catch{}if(W.includes("/assets/"))return new Response("Not Found",{status:404,headers:{"Cache-Control":"no-store"}});return null}}var iB5="./dist/client";var j28=()=>{};var w28={};P6(w28,{tryUpgradePreviewWs:()=>YD5,tryHandlePreviewHttp:()=>eB5,previewWebSocketHandler:()=>XD5,parsePreviewBaseDomain:()=>rB5,isPreviewWsData:()=>vh0,extractHandleFromHost:()=>PR1});function sB5($){if($.method!=="GET")return!1;return($.headers.get("accept")??"").includes("text/html")}function aB5(){return new Response(oB5,{status:503,headers:{"content-type":"text/html; charset=utf-8","cache-control":"no-store","retry-after":"1","access-control-allow-origin":"*"}})}function rB5($){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 PR1($,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 eB5($,Z){let Q=PR1($.headers.get("host"),Z.baseDomain);if(!Q)return null;let{handle:Y,slug:X}=g31(Q),J=await Z.getRunner();if(!J)return BY0(503,"preview proxy not configured");let G=await J.proxyPreviewRequest(Y,X?QD5($,X):$);if(G.headers.get(tp)&&sB5($))return aB5();return G.headers.delete(tp),G}function ZD5($){return{protocols:$.upstreamProtocols,headers:{[y31]:$.appSlug}}}function QD5($,Z){let Q=new Headers($.headers);return Q.set(y31,Z),new Request($,{headers:Q})}function BY0($,Z){return new Response(JSON.stringify({error:Z}),{status:$,headers:{"content-type":"application/json","access-control-allow-origin":"*"}})}function vh0($){return typeof $==="object"&&$!==null&&$.kind==="preview"}async function YD5($,Z,Q){if(($.headers.get("upgrade")??"").toLowerCase()!=="websocket")return null;let Y=PR1($.headers.get("host"),Q.baseDomain);if(!Y)return null;let{handle:X,slug:J}=g31(Y),G=await Q.getRunner();if(!G)return BY0(503,"preview proxy not configured");let W=await G.resolvePreviewUpstreamUrl(X);if(!W)return BY0(404,"sandbox not found");let K=new URL($.url);if(K.pathname.startsWith("/_sandbox"))return BY0(404,"not found");let H=`${W.replace(/^http/,"ws")}${K.pathname}${K.search}`,F=$.headers.get("sec-websocket-protocol"),U=F?F.split(",").map((D)=>D.trim()).filter(Boolean):[],N={kind:"preview",upstreamUrl:H,upstreamProtocols:U,...J?{appSlug:J}:{},pending:[],upstream:null,closed:!1};if(!Z.upgrade($,{data:N}))return BY0(426,"upgrade failed");return}function NY0($,Z,Q,Y){if(Z.closed)return;Z.closed=!0;try{$.close(Q,Y)}catch{}try{Z.upstream?.close()}catch{}}var tB5=256,oB5='<!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>',$D5,XD5;var E28=L(()=>{h60();$D5=WebSocket;XD5={open($){let Z=$.data;if(!vh0(Z))return;let Q;try{Q=Z.appSlug?new $D5(Z.upstreamUrl,ZD5(Z)):Z.upstreamProtocols.length>0?new WebSocket(Z.upstreamUrl,Z.upstreamProtocols):new WebSocket(Z.upstreamUrl)}catch(Y){console.warn(`[preview-ws] failed to dial upstream ${Z.upstreamUrl}: ${Y instanceof Error?Y.message:String(Y)}`),NY0($,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)=>{NY0($,Z,Y.code||1000,Y.reason||"")}),Q.addEventListener("error",()=>{NY0($,Z,1011,"upstream error")})},message($,Z){let Q=$.data;if(!vh0(Q))return;let Y=Q.upstream;if(Y&&Y.readyState===WebSocket.OPEN){Y.send(Z);return}if(Q.pending.length>=tB5){NY0($,Q,1011,"preview ws backlog overflow");return}Q.pending.push(Z)},close($){let Z=$.data;if(!vh0(Z))return;NY0($,Z,1000,"")}}});g$();var vR1="14";function bR1($){return{name:"decocms",systemDatabaseUrl:$.systemDatabaseUrl,systemDatabaseSchemaName:"dbos",systemDatabasePoolSize:$.poolSize,runAdminServer:!1,executorID:$.executorID,applicationVersion:vR1,...$.listenQueues!==void 0?{listenQueues:$.listenQueues}:{}}}g$();import y28 from"pg";var xR1=8314027461559302n,g28=600000,h28=500;async function fR1($,Z){let{databaseUrl:Q,lockTimeoutMs:Y=g28}=$,X=$.log??((K)=>console.log(K)),J=new y28.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",[xR1.toString()])).rows[0]?.locked===!0,W)break;if(Date.now()-G>=Y)throw Error(`Timed out after ${Y}ms waiting for the DBOS migration lock. Another process is still migrating the dbos schema; this pod will restart and retry.`);await G$(h28)}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)",[xR1.toString()])}catch{}await J.end().catch(()=>{})}}l1();dh0();y6();function yA8(){let $=(process.env.BUN_OPTIONS??"").split(/\s+/).filter(Boolean);return[...process.argv.slice(1),...$]}function Wu0($,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 wM1(){let $=yA8();if($.includes("--cpu-prof")){console.log(JSON.stringify({msg:"cpu-profiling-active",dir:Wu0($,"--cpu-prof-dir")??process.cwd(),name:Wu0($,"--cpu-prof-name"),markdown:$.includes("--cpu-prof-md"),intervalUs:Number(Wu0($,"--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.'}))}Fu0();var IY0;function VM1(){if(process.env.HEAP_WATCH!=="1")return()=>{};let $=Number(process.env.HEAP_WATCH_INTERVAL_MS??60000),Z=async()=>{let Q=ZA();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(()=>{}),IY0=setInterval(()=>void Z().catch(()=>{}),$),IY0.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(IY0)clearInterval(IY0)}}import*as uA8 from"bun:jsc";var{startSamplingProfiler:lA8,samplingProfilerStackTraces:mA8}=uA8;function IM1(){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{lA8()}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=mA8()?.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 kM1(){wM1();let $=[VM1(),MM1(),IM1()];return()=>{for(let Z of $)Z()}}import{existsSync as ND5}from"fs";var tW=B0();LM1();var{DBOS:DY0,DBOSClient:JD5}=await import("@dbos-inc/dbos-sdk");function MR1($,Z){if(!Z)return $;let Q=new URL($);if(!Q.searchParams.has("sslmode"))Q.searchParams.set("sslmode","verify-full");return Q.toString()}var GD5=[wG,sW,RD,MD,cj,a2,r2],WD5=tW.dispatchRole==="worker"?GD5:tW.dispatchRole==="api"?[]:void 0;DY0.setConfig(bR1({systemDatabaseUrl:MR1(tW.databaseUrl,tW.databasePgSsl),poolSize:tW.dbosPoolSize,executorID:tW.podName,listenQueues:WD5}));var{createApp:KD5}=await Promise.resolve().then(() => (N28(),U28)),{isServerPath:HD5}=await Promise.resolve().then(() => (RY0(),rR1)),{createAssetHandler:FD5,resolveClientDir:q28}=await Promise.resolve().then(() => (j28(),O28)),UD5=tW.port,P28=q28(import.meta.url,"../client"),R28=ND5(P28)?P28:q28(import.meta.url,"../dist/client"),BD5=FD5({clientDir:R28,isServerPath:HD5}),DD5={"X-Frame-Options":"DENY","Content-Security-Policy":"frame-ancestors 'none'"};function LD5($){let Z=new Headers($.headers);for(let[Q,Y]of Object.entries(DD5))Z.set(Q,Y);return new Response($.body,{status:$.status,statusText:$.statusText,headers:Z})}var{parsePreviewBaseDomain:OD5,tryHandlePreviewHttp:jD5,tryUpgradePreviewWs:wD5,previewWebSocketHandler:zR1,isPreviewWsData:AR1}=await Promise.resolve().then(() => (E28(),w28)),{getOrInitSharedRunner:M28}=await Promise.resolve().then(() => (xX(),$d$)),V28=OD5(process.env.STUDIO_SANDBOX_PREVIEW_URL_PATTERN),z28={baseDomain:V28??"",getRunner:M28};if(process.env.STUDIO_SANDBOX_TENANT_POOLS?.trim())M28().catch(($)=>{console.warn("[lifecycle] eager sandbox provider init for tenant pools failed:",$ instanceof Error?$.message:String($))});var bh0=await KD5({clientDir:R28}),TR1=process.env.DBOS_CONDUCTOR_KEY?.trim(),A28=process.env.DBOS_CONDUCTOR_URL?.trim();await fR1({databaseUrl:MR1(tW.databaseUrl,tW.databasePgSsl)},()=>DY0.launch({...TR1?{conductorKey:TR1}:{},...TR1&&A28?{conductorURL:A28}:{}}));console.log(`[dbos] application version: ${DY0.applicationVersion}`);var qR1=5,RR1=0;await $8(async()=>{RR1++;try{return await bh0.initDbos()}catch($){let Z=RR1>=qR1?"giving up":"retrying";throw console.warn(`[dbos] initDbos attempt ${RR1}/${qR1} failed, ${Z}`,$),$}},{maxAttempts:qR1,minTimeout:1000,maxTimeout:1e4,jitter:0.5});var ED5=Bun.serve({idleTimeout:0,port:UD5,hostname:"0.0.0.0",fetch:async($,Z)=>{if(V28){let Y=await wD5($,Z,z28);if(Y===void 0)return;if(Y)return Y;let X=await jD5($,z28);if(X)return X}let Q=await BD5($);if(Q)return LD5(Q);return bh0.fetch($,{server:Z})},websocket:{open($){if(AR1($.data))zR1.open($)},message($,Z){if(AR1($.data))zR1.message($,Z)},close($){if(AR1($.data))zR1.close($)}},development:!1}),PD5=kM1();if(tW.localMode)Promise.resolve().then(() => (ph(),Rv0)).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(() => (ph(),Rv0));Z()}catch{}});var T28=!1;async function zD5($){let Z;try{Z=await JD5.create({systemDatabaseUrl:MR1(tW.databaseUrl,tW.databasePgSsl),systemDatabaseSchemaName:"dbos"});let Q=await Z.listWorkflows({status:"PENDING",queueName:sW,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:sW}),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 xh0($){if(T28)return;T28=!0,console.log(`
4574
4574
  [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{PD5(),bh0.markShuttingDown();let J=yR1(tW.dispatchRole,Q,process.env.SHUTDOWN_DRAIN_MS);await G$(J),await ED5.stop(!0);let G=DY0.executorID;await DY0.shutdown(),await zD5(G),await bh0.shutdown()}catch(J){console.error("[shutdown] Error during shutdown:",J),X=1}clearTimeout(Y),process.exit(X)}process.on("SIGTERM",()=>xh0("SIGTERM"));process.on("SIGINT",()=>xh0("SIGINT"));process.on("SIGHUP",()=>xh0("SIGHUP"));process.on("unhandledRejection",($)=>{console.error("[process] Unhandled rejection:",$)});process.on("uncaughtException",($)=>{console.error("[process] Uncaught exception:",$),xh0("uncaughtException")});