@decocms/mesh 2.113.0 → 2.114.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (209) hide show
  1. package/dist/client/assets/{AlertCircle-CooHa8Dx.js → AlertCircle-FL98lGLa.js} +1 -1
  2. package/dist/client/assets/{AlertOctagon-Dbg9uZyB.js → AlertOctagon-B33KdaLi.js} +1 -1
  3. package/dist/client/assets/{AlertTriangle-Ca8IB5bL.js → AlertTriangle-DteHmOG1.js} +1 -1
  4. package/dist/client/assets/{ArrowLeft-DIF2VO2W.js → ArrowLeft-CMuGBwkE.js} +1 -1
  5. package/dist/client/assets/{ArrowUp-DgvOdNkG.js → ArrowUp-xougxkbC.js} +1 -1
  6. package/dist/client/assets/{Check-DGXJXTap.js → Check-BY-DCpO_.js} +1 -1
  7. package/dist/client/assets/{CheckCircle-DDajcDWB.js → CheckCircle-CpXx2avT.js} +1 -1
  8. package/dist/client/assets/{CheckDone01-CnxPjvi4.js → CheckDone01-DJLuFHxJ.js} +1 -1
  9. package/dist/client/assets/{CheckVerified02-Iy-LVhoI.js → CheckVerified02-Cqu-AawR.js} +1 -1
  10. package/dist/client/assets/{ChevronDown-Di42C1UO.js → ChevronDown-FdgQzkaa.js} +1 -1
  11. package/dist/client/assets/{ChevronRight-BNn59ko7.js → ChevronRight-DYxU3E_q.js} +1 -1
  12. package/dist/client/assets/{Clock-BLkZwDYw.js → Clock-Drw10Mc_.js} +1 -1
  13. package/dist/client/assets/{Code01-DooPA--K.js → Code01-CowHxp14.js} +1 -1
  14. package/dist/client/assets/{Container-C1CLnDNL.js → Container-B7qKC3EI.js} +1 -1
  15. package/dist/client/assets/{Copy01-rucQ3PSp.js → Copy01-B_7d0dwb.js} +1 -1
  16. package/dist/client/assets/{Dataflow03-DY9MPHye.js → Dataflow03-Cf4yDkKR.js} +1 -1
  17. package/dist/client/assets/{DotsHorizontal-CxkCXGJv.js → DotsHorizontal-CqtaWGEh.js} +1 -1
  18. package/dist/client/assets/{DotsVertical-NXfqoXCN.js → DotsVertical-qEJ2g9HJ.js} +1 -1
  19. package/dist/client/assets/{Download01-f5vnFohs.js → Download01-IPqVm26W.js} +1 -1
  20. package/dist/client/assets/{Edit01-CxGjhFGJ.js → Edit01-CUcmwNxC.js} +1 -1
  21. package/dist/client/assets/{Eye-CmK33jvc.js → Eye-Rq15dwoo.js} +1 -1
  22. package/dist/client/assets/{File02-Bs24RCQ6.js → File02-DPSlzBxh.js} +1 -1
  23. package/dist/client/assets/{File06-XfbhoM8r.js → File06-xsY7vCFb.js} +1 -1
  24. package/dist/client/assets/{FilterLines-Gpro-d22.js → FilterLines-CJgE2bmA.js} +1 -1
  25. package/dist/client/assets/{Globe01-CspKYhQJ.js → Globe01-BuKzbzrx.js} +1 -1
  26. package/dist/client/assets/{Globe02-DcNEoN4R.js → Globe02-BIRPCTiD.js} +1 -1
  27. package/dist/client/assets/{Grid01-DkGxNKPL.js → Grid01-CcUd9dpu.js} +1 -1
  28. package/dist/client/assets/{Hash02-DFSzHnWN.js → Hash02-BAkYwsUS.js} +1 -1
  29. package/dist/client/assets/{Home02-CccWHOVS.js → Home02-CyX62jfB.js} +1 -1
  30. package/dist/client/assets/{Image01-F0dDnjWb.js → Image01-CiGMIZf1.js} +1 -1
  31. package/dist/client/assets/{Inbox01-rhXjoTLG.js → Inbox01-CxlDy_Yy.js} +1 -1
  32. package/dist/client/assets/{InfoCircle-DDMndy6f.js → InfoCircle-BBQwzN3e.js} +1 -1
  33. package/dist/client/assets/{Key01-BoEk45CQ.js → Key01-CcfhRF0P.js} +1 -1
  34. package/dist/client/assets/{LinkExternal01-6fiITYn6.js → LinkExternal01-CHfE9mil.js} +1 -1
  35. package/dist/client/assets/{List-DLWOvAOP.js → List-BkcTlONj.js} +1 -1
  36. package/dist/client/assets/{Loading01-BGpLDRYx.js → Loading01-CWwskqmx.js} +1 -1
  37. package/dist/client/assets/{Lock01-CkEZCQ8T.js → Lock01-C-e30A69.js} +1 -1
  38. package/dist/client/assets/{Pin01-CSZOSQvf.js → Pin01-DNrhTTs3.js} +1 -1
  39. package/dist/client/assets/{Play-Ck339o9D.js → Play-sMJsBLST.js} +1 -1
  40. package/dist/client/assets/{Plus-BB0XqcsP.js → Plus-7gpDbhJy.js} +1 -1
  41. package/dist/client/assets/{RefreshCcw01-BlblCD0d.js → RefreshCcw01-BzY8N8T3.js} +1 -1
  42. package/dist/client/assets/{RefreshCw01-C2HUNviY.js → RefreshCw01-dI5kYugT.js} +1 -1
  43. package/dist/client/assets/{Save01-j7EMqYuR.js → Save01-C9jVAZgo.js} +1 -1
  44. package/dist/client/assets/{SearchMd-CguhhQVb.js → SearchMd-BMO4jqwv.js} +1 -1
  45. package/dist/client/assets/{Settings01-jz5w4e3w.js → Settings01-CRoxTuTO.js} +1 -1
  46. package/dist/client/assets/{Share07-DA5hMI-c.js → Share07-DFdDYoqj.js} +1 -1
  47. package/dist/client/assets/Shield01-DymehiLu.js +1 -0
  48. package/dist/client/assets/{Terminal-B6KzedA2.js → Terminal-zi42zfXM.js} +1 -1
  49. package/dist/client/assets/{Tool01-BPh57jnm.js → Tool01-lC4M_AmN.js} +1 -1
  50. package/dist/client/assets/{Trash01-DGjvH5rG.js → Trash01-BKhksYCP.js} +1 -1
  51. package/dist/client/assets/{Upload01-BWKtoN2l.js → Upload01-CorstXj2.js} +1 -1
  52. package/dist/client/assets/{Users03-DWNrz1Vr.js → Users03-B6oew679.js} +1 -1
  53. package/dist/client/assets/{XCircle-VzD2IKvZ.js → XCircle-WTPrrNWD.js} +1 -1
  54. package/dist/client/assets/{XClose-quksRQbf.js → XClose-DoKE29TG.js} +1 -1
  55. package/dist/client/assets/{agent-connections-preview-DO3HZtWQ.js → agent-connections-preview-DybZ18X5.js} +1 -1
  56. package/dist/client/assets/agent-detail-DncXhd81.js +1 -0
  57. package/dist/client/assets/agents-D-4jcSt1.js +1 -0
  58. package/dist/client/assets/{alert-dialog-BobozgbA.js → alert-dialog-Dm7Md3Yk.js} +1 -1
  59. package/dist/client/assets/{auth-catchall-Bg2u42FQ.js → auth-catchall-DHQTu60x.js} +1 -1
  60. package/dist/client/assets/avatar-B-mPVtLH.js +1 -0
  61. package/dist/client/assets/{badge-Ba42zrft.js → badge-Bt6C7wEJ.js} +1 -1
  62. package/dist/client/assets/{binder-XSlHh33G.js → binder-BvXUsKRF.js} +1 -1
  63. package/dist/client/assets/breadcrumb-Cipoy1eR.js +1 -0
  64. package/dist/client/assets/button-Bl7hMmCe.js +1 -0
  65. package/dist/client/assets/card-BMQBEGUR.js +1 -0
  66. package/dist/client/assets/{checkbox-BgqFPCG8.js → checkbox-C-nrBu1T.js} +1 -1
  67. package/dist/client/assets/{circle-alert-D1V0DFvr.js → circle-alert-DYoRV5F7.js} +1 -1
  68. package/dist/client/assets/{collection-detail-tuOZUkEg.js → collection-detail-x0pDfnG2.js} +3 -3
  69. package/dist/client/assets/{collection-tab-DpQw4w-_.js → collection-tab-CMJJpUjs.js} +1 -1
  70. package/dist/client/assets/{collection-table-wrapper-Dwsrv-is.js → collection-table-wrapper-DS44ibQ8.js} +1 -1
  71. package/dist/client/assets/{collection-tabs-BxPjmpup.js → collection-tabs-Dyc14WST.js} +1 -1
  72. package/dist/client/assets/{command-eII6FM4T.js → command-DGGP5Edh.js} +1 -1
  73. package/dist/client/assets/{connect-CjbgNw43.js → connect-BqPwKrDp.js} +1 -1
  74. package/dist/client/assets/{connection-card-B-vaA7In.js → connection-card-B_yTVrCB.js} +1 -1
  75. package/dist/client/assets/connection-detail-BHwcydrH.js +1 -0
  76. package/dist/client/assets/connections-C2FniOCy.js +1 -0
  77. package/dist/client/assets/constants-B9b2QjkO.js +1 -0
  78. package/dist/client/assets/{constants-DTZgxhQr.js → constants-DY_BU6PR.js} +1 -1
  79. package/dist/client/assets/{create-organization-dialog-_ENRfzh2.js → create-organization-dialog-BmtVHISe.js} +1 -1
  80. package/dist/client/assets/{create-project-dialog-CkoSW_Yw.js → create-project-dialog-DFYOBIMM.js} +1 -1
  81. package/dist/client/assets/dialog-BTs7spED.js +1 -0
  82. package/dist/client/assets/{dropdown-menu-DwhvTSoj.js → dropdown-menu-Dk3PdiLq.js} +1 -1
  83. package/dist/client/assets/dynamic-plugin-layout-C8tDNw7E.js +1 -0
  84. package/dist/client/assets/empty-state-BrrA9jzc.js +1 -0
  85. package/dist/client/assets/{empty-state-CUSdR_G_.js → empty-state-yzpNvfA-.js} +1 -1
  86. package/dist/client/assets/{env-vars-editor-CX-fJfxt.js → env-vars-editor-CxFtbjNH.js} +1 -1
  87. package/dist/client/assets/{error-boundary-Di0tQXdv.js → error-boundary-GB3TovJQ.js} +1 -1
  88. package/dist/client/assets/{extract-connection-data-Dd3BvcTW.js → extract-connection-data-Cjm6QMzJ.js} +1 -1
  89. package/dist/client/assets/{file-browser-CyYYn3HQ.js → file-browser-CeBgj9Bh.js} +2 -2
  90. package/dist/client/assets/{form-DIsigMsk.js → form-Dxe8J4dP.js} +1 -1
  91. package/dist/client/assets/{grid-view-BsAPFz5e.js → grid-view-qfkYjNIX.js} +1 -1
  92. package/dist/client/assets/{home-DoBwFvBu.js → home-C39nGjR7.js} +1 -1
  93. package/dist/client/assets/index-48TFsA2Q.css +1 -0
  94. package/dist/client/assets/{index-BVrm4rGn.js → index-B2KxLjHq.js} +1 -1
  95. package/dist/client/assets/{index-CMu5spRk.js → index-BOlMuTYA.js} +6 -6
  96. package/dist/client/assets/index-BrH9wXxf.js +1 -0
  97. package/dist/client/assets/{index-qSvnMMX3.js → index-BuPkfOh7.js} +1 -1
  98. package/dist/client/assets/{index-Cs0vYfu9.js → index-CLUeNS9F.js} +1 -1
  99. package/dist/client/assets/{index-DeBwK236.js → index-CSf23Q8F.js} +5 -5
  100. package/dist/client/assets/index-CzSiUwwv.js +218 -0
  101. package/dist/client/assets/{index-NEbz2HQu.js → index-DVHOzh7f.js} +1 -1
  102. package/dist/client/assets/{index-CDwFwb7Q.js → index-Dps5khDb.js} +1 -1
  103. package/dist/client/assets/{infiniteQueryObserver-DbZCUgr5.js → infiniteQueryObserver-Ctmp4byY.js} +1 -1
  104. package/dist/client/assets/{input-Cw77piS4.js → input-CAPxG1rh.js} +1 -1
  105. package/dist/client/assets/{integration-icon-D3fWRQzh.js → integration-icon-jbm4PmZt.js} +1 -1
  106. package/dist/client/assets/{label-CUy1x9Fc.js → label-A7ibpcPd.js} +1 -1
  107. package/dist/client/assets/{layout-BPYuOiPI.js → layout-DHncYg0M.js} +1 -1
  108. package/dist/client/assets/{localstorage-keys-DRPmjZks.js → localstorage-keys-Cc9e53sU.js} +1 -1
  109. package/dist/client/assets/{login-CUcM51_h.js → login-C4VFa6jD.js} +1 -1
  110. package/dist/client/assets/{markdown-BUX5ABnz.js → markdown-DTO-ngpn.js} +1 -1
  111. package/dist/client/assets/{mcp-oauth-Da77-kcD.js → mcp-oauth-lMxJpMMH.js} +1 -1
  112. package/dist/client/assets/{mcp-server-card-DcZS4AhS.js → mcp-server-card-C-sPhXVX.js} +1 -1
  113. package/dist/client/assets/mcp-server-detail-BtO9BwQ6.js +2 -0
  114. package/dist/client/assets/members-Dh31vMll.js +3 -0
  115. package/dist/client/assets/{monitoring-DINJ4pYy.js → monitoring-D0DgTEcy.js} +1 -1
  116. package/dist/client/assets/monitoring-dashboard-edit-DCcFalwQ.js +1 -0
  117. package/dist/client/assets/{monitoring-dashboard-view-B53vWJlZ.js → monitoring-dashboard-view-CuFcYaD_.js} +1 -1
  118. package/dist/client/assets/{oauth-callback-Dsqe_oXS.js → oauth-callback-DKWROL5U.js} +1 -1
  119. package/dist/client/assets/{page-BKBuf2HE.js → page-BpCfHp43.js} +1 -1
  120. package/dist/client/assets/page-CoIEp87I.js +1 -0
  121. package/dist/client/assets/{plugin-empty-state-D_Z6xsRD.js → plugin-empty-state-DMdw5AKa.js} +1 -1
  122. package/dist/client/assets/{plugin-empty-state-Cdi0lxlF.js → plugin-empty-state-DfPCNHNV.js} +1 -1
  123. package/dist/client/assets/{plugin-header-D_XJF06t.js → plugin-header-CVaBr8-j.js} +1 -1
  124. package/dist/client/assets/{plugin-header-DGLeYRv9.js → plugin-header-DqwJE7vc.js} +1 -1
  125. package/dist/client/assets/{popover-C8z2ljXJ.js → popover-Ca9Cyzf7.js} +1 -1
  126. package/dist/client/assets/{project-layout-gRYIrnzO.js → project-layout-F2YJOnzp.js} +1 -1
  127. package/dist/client/assets/project-settings-DwtLH_vq.js +1 -0
  128. package/dist/client/assets/projects-list-DPMlGsBe.js +1 -0
  129. package/dist/client/assets/{readme-viewer-DSTuLgLE.js → readme-viewer-D5RieYNW.js} +1 -1
  130. package/dist/client/assets/registry-layout-BrhYm9Dr.js +5 -0
  131. package/dist/client/assets/{registry-utils-D8FLO1oI.js → registry-utils--fif7P3x.js} +1 -1
  132. package/dist/client/assets/{reports-layout-NWBpDTNI.js → reports-layout-9yNTvI9o.js} +1 -1
  133. package/dist/client/assets/{reset-password-BEvAUHxp.js → reset-password-FRWYt8ap.js} +1 -1
  134. package/dist/client/assets/{resizable-Q_6VrAvM.js → resizable-DKtpdeB3.js} +1 -1
  135. package/dist/client/assets/{save-actions-DnatwzCI.js → save-actions-DH-J_-0b.js} +1 -1
  136. package/dist/client/assets/{scroll-area--Dl42eG7.js → scroll-area-BfJ2ZkbI.js} +1 -1
  137. package/dist/client/assets/{select-DmOdy-_2.js → select-CKDoCTJO.js} +1 -1
  138. package/dist/client/assets/shell-layout-DkuDKL8p.js +3 -0
  139. package/dist/client/assets/{spinner-BFe5KsON.js → spinner-B-FWJ8nx.js} +1 -1
  140. package/dist/client/assets/{store-invite-B6QzkY9D.js → store-invite-1HxdtnDC.js} +1 -1
  141. package/dist/client/assets/{switch-BTNdX6uT.js → switch-ySGmS6Zx.js} +1 -1
  142. package/dist/client/assets/{table-m7xKes0i.js → table-DGDNn7mH.js} +1 -1
  143. package/dist/client/assets/tasks-BuxJd7k9.js +1 -0
  144. package/dist/client/assets/{textarea-1ZAkAqPs.js → textarea-COGwSIgK.js} +1 -1
  145. package/dist/client/assets/{time-range-picker-S5DXdK6J.js → time-range-picker-hBuoR0m0.js} +1 -1
  146. package/dist/client/assets/{toggle-group-B4gd2g4g.js → toggle-group-RO8j2kDd.js} +1 -1
  147. package/dist/client/assets/{tools-list-BYJP7wdj.js → tools-list-CBpacE22.js} +1 -1
  148. package/dist/client/assets/tooltip-CLbmwjfd.js +1 -0
  149. package/dist/client/assets/topbar-portal-BHxVS8Tl.js +1 -0
  150. package/dist/client/assets/typewriter-title-C4OcGX3b.js +16 -0
  151. package/dist/client/assets/{use-binding-CAtjL1rr.js → use-binding-D36c91MK.js} +1 -1
  152. package/dist/client/assets/{use-connection-BRwTI0xk.js → use-connection-CdIwTzRh.js} +1 -1
  153. package/dist/client/assets/{use-copy-BnGNgGbL.js → use-copy-BZqI2HfR.js} +1 -1
  154. package/dist/client/assets/{use-create-virtual-mcp-BIn6DTPa.js → use-create-virtual-mcp-DKrayFIg.js} +1 -1
  155. package/dist/client/assets/{use-deco-chat-open-CWPuucLF.js → use-deco-chat-open-BuMsTBnv.js} +3 -3
  156. package/dist/client/assets/{use-install-from-registry-GZkHb-J_.js → use-install-from-registry-kn39eg4d.js} +1 -1
  157. package/dist/client/assets/{use-list-state-CLqJqhda.js → use-list-state-CYucxtoX.js} +1 -1
  158. package/dist/client/assets/{use-llm-BToIG9lg.js → use-llm-CX9QGbjZ.js} +1 -1
  159. package/dist/client/assets/{use-mcp-prompts-C28zFdyF.js → use-mcp-prompts-DMC1gnwj.js} +1 -1
  160. package/dist/client/assets/{use-mcp-tools-CnGq7c_h.js → use-mcp-tools-SZ1hgrkZ.js} +1 -1
  161. package/dist/client/assets/{use-organization-settings-BVsgnOKP.js → use-organization-settings-1mU06z41.js} +1 -1
  162. package/dist/client/assets/{use-project-pPGjnPtH.js → use-project-CsuhSK50.js} +1 -1
  163. package/dist/client/assets/use-view-mode-CVN4cPaD.js +1 -0
  164. package/dist/client/assets/{use-virtual-mcp-C67SrK4s.js → use-virtual-mcp-CqdRLJoL.js} +1 -1
  165. package/dist/client/assets/useInfiniteQuery-Bd_PpC7_.js +1 -0
  166. package/dist/client/assets/{useMutation-BLWSoXAi.js → useMutation-BYl8vvsl.js} +1 -1
  167. package/dist/client/assets/useQuery-CTct6gOY.js +1 -0
  168. package/dist/client/assets/useSuspenseInfiniteQuery-DJZPFUMY.js +1 -0
  169. package/dist/client/assets/workflow-CMJomw9A.js +1 -0
  170. package/dist/client/index.html +2 -2
  171. package/dist/server/cli.js +3 -3
  172. package/dist/server/migrate.js +3 -3
  173. package/dist/server/server.js +3 -3
  174. package/package.json +1 -1
  175. package/dist/client/assets/Settings02-BEGJoXOf.js +0 -1
  176. package/dist/client/assets/X-hlRWRdLd.js +0 -1
  177. package/dist/client/assets/agent-detail-Dm90C1dq.js +0 -1
  178. package/dist/client/assets/agents-Dp1lzRWx.js +0 -1
  179. package/dist/client/assets/avatar-DzNBuwvQ.js +0 -1
  180. package/dist/client/assets/breadcrumb-DVboj9hZ.js +0 -1
  181. package/dist/client/assets/button-BvpGJmwj.js +0 -1
  182. package/dist/client/assets/card-DUyr2anf.js +0 -1
  183. package/dist/client/assets/connection-detail-1_ZQMYvG.js +0 -1
  184. package/dist/client/assets/connections-DSsqgW7V.js +0 -1
  185. package/dist/client/assets/constants-BXsR0e2f.js +0 -1
  186. package/dist/client/assets/dialog-Djb2_yQ3.js +0 -1
  187. package/dist/client/assets/dynamic-plugin-layout-gS11xmZg.js +0 -1
  188. package/dist/client/assets/empty-state-CfAcFJ3T.js +0 -1
  189. package/dist/client/assets/index-hmLeN6Cx.css +0 -1
  190. package/dist/client/assets/index-p5ek_T2U.js +0 -218
  191. package/dist/client/assets/index-r3RmHcg-.js +0 -1
  192. package/dist/client/assets/mcp-server-detail-BsuSFuH9.js +0 -2
  193. package/dist/client/assets/members-Dt-WMWXs.js +0 -3
  194. package/dist/client/assets/monitoring-dashboard-edit-ViuWKC7f.js +0 -1
  195. package/dist/client/assets/page-BLmopBsr.js +0 -1
  196. package/dist/client/assets/project-settings-iakvSAMp.js +0 -1
  197. package/dist/client/assets/projects-list-BTf0o0Dw.js +0 -1
  198. package/dist/client/assets/registry-layout-D0ZI3R-w.js +0 -5
  199. package/dist/client/assets/shell-layout-DaVrqTvl.js +0 -12
  200. package/dist/client/assets/tasks-B817iTsv.js +0 -1
  201. package/dist/client/assets/tooltip-w4nyO9EM.js +0 -1
  202. package/dist/client/assets/topbar-portal-DFijBXBE.js +0 -1
  203. package/dist/client/assets/typewriter-title-fwTbDCyQ.js +0 -16
  204. package/dist/client/assets/use-mobile-Dl83qL71.js +0 -1
  205. package/dist/client/assets/use-view-mode-BC3VVzlU.js +0 -1
  206. package/dist/client/assets/useInfiniteQuery-CL1DQ1B_.js +0 -1
  207. package/dist/client/assets/useQuery-CoMTdc_B.js +0 -1
  208. package/dist/client/assets/useSuspenseInfiniteQuery-BEcP523_.js +0 -1
  209. package/dist/client/assets/workflow-D3d1tCTr.js +0 -1
@@ -1062,7 +1062,7 @@ data:
1062
1062
  `;if(J)G+=`id: ${J}
1063
1063
  `;return G+=`data: ${JSON.stringify(X)}
1064
1064
 
1065
- `,Y.enqueue(Q.encode(G)),!0}catch{return!1}}handleUnsupportedRequest(){return new Response(JSON.stringify({jsonrpc:"2.0",error:{code:-32000,message:"Method not allowed."},id:null}),{status:405,headers:{Allow:"GET, POST, DELETE","Content-Type":"application/json"}})}async handlePostRequest(Y,Q){try{let X=Y.headers.get("accept");if(!X?.includes("application/json")||!X.includes("text/event-stream"))return this.createJsonErrorResponse(406,-32000,"Not Acceptable: Client must accept both application/json and text/event-stream");let J=Y.headers.get("content-type");if(!J||!J.includes("application/json"))return this.createJsonErrorResponse(415,-32000,"Unsupported Media Type: Content-Type must be application/json");let G={headers:Object.fromEntries(Y.headers.entries())},K;if(Q?.parsedBody!==void 0)K=Q.parsedBody;else try{K=await Y.json()}catch{return this.createJsonErrorResponse(400,-32700,"Parse error: Invalid JSON")}let W;try{if(Array.isArray(K))W=K.map((L)=>gG.parse(L));else W=[gG.parse(K)]}catch{return this.createJsonErrorResponse(400,-32700,"Parse error: Invalid JSON-RPC message")}let Z=W.some(_J1);if(Z){if(this._initialized&&this.sessionId!==void 0)return this.createJsonErrorResponse(400,-32600,"Invalid Request: Server already initialized");if(W.length>1)return this.createJsonErrorResponse(400,-32600,"Invalid Request: Only one initialization request is allowed");if(this.sessionId=this.sessionIdGenerator?.(),this._initialized=!0,this.sessionId&&this._onsessioninitialized)await Promise.resolve(this._onsessioninitialized(this.sessionId))}if(!Z){let L=this.validateSession(Y);if(L)return L;let A=this.validateProtocolVersion(Y);if(A)return A}if(!W.some(uK)){for(let L of W)this.onmessage?.(L,{authInfo:Q?.authInfo,requestInfo:G});return new Response(null,{status:202})}let $=crypto.randomUUID(),F=W.find((L)=>_J1(L)),V=F?F.params.protocolVersion:Y.headers.get("mcp-protocol-version")??Q70;if(this._enableJsonResponse)return new Promise((L)=>{this._streamMapping.set($,{resolveJson:L,cleanup:()=>{this._streamMapping.delete($)}});for(let A of W)if(uK(A))this._requestToStreamMapping.set(A.id,$);for(let A of W)this.onmessage?.(A,{authInfo:Q?.authInfo,requestInfo:G})});let q=new TextEncoder,U,z=new ReadableStream({start:(L)=>{U=L},cancel:()=>{this._streamMapping.delete($)}}),D={"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"};if(this.sessionId!==void 0)D["mcp-session-id"]=this.sessionId;for(let L of W)if(uK(L))this._streamMapping.set($,{controller:U,encoder:q,cleanup:()=>{this._streamMapping.delete($);try{U.close()}catch{}}}),this._requestToStreamMapping.set(L.id,$);await this.writePrimingEvent(U,q,$,V);for(let L of W){let A,E;if(uK(L)&&this._eventStore&&V>="2025-11-25")A=()=>{this.closeSSEStream(L.id)},E=()=>{this.closeStandaloneSSEStream()};this.onmessage?.(L,{authInfo:Q?.authInfo,requestInfo:G,closeSSEStream:A,closeStandaloneSSEStream:E})}return new Response(z,{status:200,headers:D})}catch(X){return this.onerror?.(X),this.createJsonErrorResponse(400,-32700,"Parse error",{data:String(X)})}}async handleDeleteRequest(Y){let Q=this.validateSession(Y);if(Q)return Q;let X=this.validateProtocolVersion(Y);if(X)return X;return await Promise.resolve(this._onsessionclosed?.(this.sessionId)),await this.close(),new Response(null,{status:200})}validateSession(Y){if(this.sessionIdGenerator===void 0)return;if(!this._initialized)return this.createJsonErrorResponse(400,-32000,"Bad Request: Server not initialized");let Q=Y.headers.get("mcp-session-id");if(!Q)return this.createJsonErrorResponse(400,-32000,"Bad Request: Mcp-Session-Id header is required");if(Q!==this.sessionId)return this.createJsonErrorResponse(404,-32001,"Session not found");return}validateProtocolVersion(Y){let Q=Y.headers.get("mcp-protocol-version");if(Q!==null&&!Qz.includes(Q))return this.createJsonErrorResponse(400,-32000,`Bad Request: Unsupported protocol version: ${Q} (supported versions: ${Qz.join(", ")})`);return}async close(){this._streamMapping.forEach(({cleanup:Y})=>{Y()}),this._streamMapping.clear(),this._requestResponseMap.clear(),this.onclose?.()}closeSSEStream(Y){let Q=this._requestToStreamMapping.get(Y);if(!Q)return;let X=this._streamMapping.get(Q);if(X)X.cleanup()}closeStandaloneSSEStream(){let Y=this._streamMapping.get(this._standaloneSseStreamId);if(Y)Y.cleanup()}async send(Y,Q){let X=Q?.relatedRequestId;if(UZ(Y)||xL(Y))X=Y.id;if(X===void 0){if(UZ(Y)||xL(Y))throw Error("Cannot send a response on a standalone SSE stream unless resuming a previous client request");let K;if(this._eventStore)K=await this._eventStore.storeEvent(this._standaloneSseStreamId,Y);let W=this._streamMapping.get(this._standaloneSseStreamId);if(W===void 0)return;if(W.controller&&W.encoder)this.writeSSEEvent(W.controller,W.encoder,Y,K);return}let J=this._requestToStreamMapping.get(X);if(!J)throw Error(`No connection established for request ID: ${String(X)}`);let G=this._streamMapping.get(J);if(!this._enableJsonResponse&&G?.controller&&G?.encoder){let K;if(this._eventStore)K=await this._eventStore.storeEvent(J,Y);this.writeSSEEvent(G.controller,G.encoder,Y,K)}if(UZ(Y)||xL(Y)){this._requestResponseMap.set(X,Y);let K=Array.from(this._requestToStreamMapping.entries()).filter(([Z,H])=>H===J).map(([Z])=>Z);if(K.every((Z)=>this._requestResponseMap.has(Z))){if(!G)throw Error(`No connection established for request ID: ${String(X)}`);if(this._enableJsonResponse&&G.resolveJson){let Z={"Content-Type":"application/json"};if(this.sessionId!==void 0)Z["mcp-session-id"]=this.sessionId;let H=K.map(($)=>this._requestResponseMap.get($));if(H.length===1)G.resolveJson(new Response(JSON.stringify(H[0]),{status:200,headers:Z}));else G.resolveJson(new Response(JSON.stringify(H),{status:200,headers:Z}))}else G.cleanup();for(let Z of K)this._requestResponseMap.delete(Z),this._requestToStreamMapping.delete(Z)}}}}var yS=k(()=>{vQ()});var vj0="SELF",kn=(Y)=>{return typeof Y==="object"&&Y!==null&&"handler"in Y&&"events"in Y&&typeof Y.handler==="function"&&Array.isArray(Y.events)},_j0=(Y)=>{return typeof Y==="object"&&Y!==null&&"handler"in Y&&"events"in Y&&typeof Y.handler==="function"&&Array.isArray(Y.events)},kj0="::",yj0=(Y)=>{let Q=Y.indexOf(kj0);if(Q===-1)return null;let X=Y.substring(0,Q),J=Y.substring(Q+kj0.length);return[X,J]},mP6=(Y)=>{if(!Y.startsWith("cron/"))return null;let Q=Y.substring(5),X=Q.indexOf("/");if(X===-1)return null;let J=Q.substring(0,X),G=Q.substring(X+1);return[J,G]},fj0=(Y)=>{if(kn(Y))return[];return Object.keys(Y)},lP6=(Y,Q)=>{if(kn(Y))return Y.events;let X=Y[Q];if(!X)return[];if(_j0(X))return X.events;return Object.keys(X)},Sn=(Y,Q,X)=>{if(Y===vj0){if(!X)return console.warn("[Event] SELF binding used but no connectionId available"),null;return X}let J=Q[Y];if(!CV1(J))return console.warn(`[Event] Binding "${Y}" not found in state`),null;return J.value},dP6=(Y,Q,X)=>{let J=Q;if(kn(Y)){let K=[];for(let W of Y.events){let Z=yj0(W);if(!Z){console.warn(`[Event] Global handler event "${W}" must be prefixed with BINDING:: (e.g., "SELF::${W}" or "DATABASE::${W}")`);continue}let[H,$]=Z,F=Sn(H,J,X);if(!F)continue;K.push({eventType:$,publisher:F})}return K}let G=[];for(let K of fj0(Y)){let W=Sn(K,J,X);if(!W)continue;let Z=lP6(Y,K);for(let H of Z)G.push({eventType:H,publisher:W})}return G},pP6=(Y)=>{let Q=new Map;for(let X of Y){let J=X.source,G=Q.get(J)||[];G.push(X),Q.set(J,G)}return Q},cP6=(Y)=>{let Q=new Map;for(let X of Y){let J=X.type,G=Q.get(J)||[];G.push(X),Q.set(J,G)}return Q},nP6=(Y)=>{let Q={},X={},J=!1,G=0,K=[];for(let W of Y){if(W.results)Object.assign(X,W.results);if(W.success===!1){if(J=!0,W.error)K.push(W.error)}if(W.processedCount!==void 0)G+=W.processedCount}if(Object.keys(X).length>0)Q.results=X;if(Q.success=!J,K.length>0)Q.error=K.join("; ");if(G>0)Q.processedCount=G;return Q},iP6=async(Y,Q,X,J,G)=>{let K=J;if(kn(Y)){let F=new Set;for(let q of Y.events){let U=yj0(q);if(!U)continue;let[z,D]=U,L=Sn(z,K,G);if(!L)continue;F.add(`${L}:${D}`)}let V=Q.filter((q)=>{let U=`${q.source}:${q.type}`;return F.has(U)});if(V.length===0)return{success:!0};try{return await Y.handler({events:V},X)}catch(q){return{success:!1,error:q instanceof Error?q.message:String(q)}}}let W=new Map;for(let F of fj0(Y)){let V=Sn(F,K,G);if(V)W.set(V,F)}let Z=pP6(Q),H=[];for(let[F,V]of Z){let q=W.get(F);if(!q)continue;let U=Y[q];if(!U)continue;if(_j0(U)){H.push((async()=>{try{return await U.handler({events:V},X)}catch(L){let A={};for(let E of V)A[E.id]={success:!1,error:L instanceof Error?L.message:String(L)};return{results:A}}})());continue}let z=U,D=cP6(V);for(let[L,A]of D){let E=z[L];if(!E)continue;H.push((async()=>{try{let T=await E({events:A},X),C={};for(let P of A)C[P.id]=T;return{results:C}}catch(T){let C={};for(let P of A)C[P.id]={success:!1,error:T instanceof Error?T.message:String(T)};return{results:C}}})())}}let $=await Promise.all(H);if($.length===0)return{success:!0};return nP6($)},vn;var vV1=k(()=>{Cn();vn={subscriptions:dP6,execute:iP6,parseCron:mP6}});function x$(Y){return{...Y,execute:(Q)=>{return Y.execute({...Q,runtimeContext:fS(Q.runtimeContext)})}}}function _V1(Y){return Y&&"streamable"in Y&&Y.streamable===!0}var fS=(Y)=>{let Q=US.getStore();if(!Q){if(Y)return Y;throw Error("Missing context, did you forget to call State.bind?")}return Q},aP6=(Y,Q)=>{let X=Q;return typeof X[Y]<"u"?X[Y]:Q?.MESH_REQUEST_CONTEXT?.state?.[Y]},rP6=({events:Y,configuration:{state:Q,scopes:X,onChange:J}={}}={})=>{let G=Q?B.toJSONSchema(Q):{type:"object",properties:{}},K=String(Y?.bus??"EVENT_BUS");return[...J||Y?[x$({id:"ON_MCP_CONFIGURATION",description:"MCP Configuration On Change",inputSchema:B.object({state:Q??B.unknown(),scopes:B.array(B.string()).describe("Array of scopes in format 'KEY::SCOPE' (e.g., 'GMAIL::GetCurrentUser')")}),outputSchema:B.object({}),execute:async(W)=>{let Z=W.context.state;await J?.(W.runtimeContext.env,{state:Z,scopes:W.context.scopes});let H=aP6(K,W.runtimeContext.env);if(Y&&Z&&H){let $=W.runtimeContext.env.MESH_REQUEST_CONTEXT?.connectionId,F=vn.subscriptions(Y?.handlers??{},Z,$);if(await H.EVENT_SYNC_SUBSCRIPTIONS({subscriptions:F}),$){let V=F.filter((q)=>q.eventType.startsWith("cron/")&&q.publisher===$);await Promise.all(V.map(async(q)=>{let U=vn.parseCron(q.eventType);if(U){let[,z]=U;await H.EVENT_PUBLISH({type:q.eventType,cron:z})}}))}}return Promise.resolve({})}})]:[],...Y?.handlers?[x$({id:"ON_EVENTS",description:"Receive and process CloudEvents from the event bus. Returns per-event or batch results.",inputSchema:Rn,outputSchema:In,execute:async(W)=>{let Z=W.runtimeContext.env,H=Z.MESH_REQUEST_CONTEXT?.state,$=Z.MESH_REQUEST_CONTEXT?.connectionId;return vn.execute(Y.handlers,W.context.events,Z,H,$)}})]:[],x$({id:"MCP_CONFIGURATION",description:"MCP Configuration",inputSchema:B.object({}),outputSchema:B.object({stateSchema:B.unknown(),scopes:B.array(B.string()).optional()}),execute:()=>{return Promise.resolve({stateSchema:G,scopes:[...X??[],...Y?[`${K}::EVENT_SYNC_SUBSCRIPTIONS`]:[]]})}})]},bj0=(Y)=>{let Q=async(G)=>{await Y.before?.(G);let K=new Bz({name:"@deco/mcp-api",version:"1.0.0"},{capabilities:{tools:{},prompts:{},resources:{}}}),Z=await(typeof Y.tools==="function"?Y.tools:async(q)=>{if(typeof Y.tools==="function")return await Y.tools(q);return await Promise.all(Y.tools?.flatMap(async(U)=>{let D=await U(q);if(Array.isArray(D))return D;return[D]})??[]).then((U)=>U.flat())})(G);Z.push(...rP6(Y));for(let q of Z)K.registerTool(q.id,{_meta:{streamable:_V1(q),...q._meta??{}},description:q.description,annotations:q.annotations,inputSchema:q.inputSchema&&"shape"in q.inputSchema?q.inputSchema.shape:B.object({}).shape,outputSchema:_V1(q)?B.object({bytes:B.record(B.string(),B.number())}).shape:q.outputSchema&&typeof q.outputSchema==="object"&&("shape"in q.outputSchema)?q.outputSchema.shape:B.object({}).shape},async(U)=>{let z=await q.execute({context:U,runtimeContext:fS()});if(_V1(q)&&z instanceof Response)return{structuredContent:{streamable:!0,status:z.status,statusText:z.statusText},content:[{type:"text",text:`Streaming response: ${z.status} ${z.statusText}`}]};return{structuredContent:z,content:[{type:"text",text:JSON.stringify(z)}]}});let $=await(typeof Y.prompts==="function"?Y.prompts:async(q)=>{if(typeof Y.prompts==="function")return await Y.prompts(q);return await Promise.all(Y.prompts?.flatMap(async(U)=>{let D=await U(q);if(Array.isArray(D))return D;return[D]})??[]).then((U)=>U.flat())})(G);for(let q of $)K.registerPrompt(q.name,{title:q.title,description:q.description,argsSchema:q.argsSchema?q.argsSchema:B.object({}).shape},async(U)=>{return await q.execute({args:U,runtimeContext:fS()})});let V=await(typeof Y.resources==="function"?Y.resources:async(q)=>{if(typeof Y.resources==="function")return await Y.resources(q);return await Promise.all(Y.resources?.flatMap(async(U)=>{let D=await U(q);if(Array.isArray(D))return D;return[D]})??[]).then((U)=>U.flat())})(G);for(let q of V)K.resource(q.name,q.uri,{description:q.description,mimeType:q.mimeType},async(U)=>{let z=await q.read({uri:U,runtimeContext:fS()}),D={uri:z.uri};if(z.mimeType)D.mimeType=z.mimeType;if(z.text!==void 0)return{contents:[{uri:z.uri,mimeType:z.mimeType,text:z.text}]};else if(z.blob!==void 0)return{contents:[{uri:z.uri,mimeType:z.mimeType,blob:z.blob}]};return{contents:[{uri:z.uri,mimeType:z.mimeType,text:""}]}});return{server:K,tools:Z,prompts:$,resources:V}};return{fetch:async(G,K)=>{let{server:W}=await Q(K),Z=new h$;await W.connect(Z);try{let H=await Z.handleRequest(G),$=H.headers.get("content-type");if(!($?.includes("text/event-stream")||$?.includes("application/json-rpc"))){console.debug("[MCP Transport] Closing transport for non-streaming response");try{await Z.close?.()}catch{}}else console.debug("[MCP Transport] Keeping transport open for streaming response (Content-Type: %s)",$);return H}catch(H){console.debug("[MCP Transport] Closing transport due to error:",H instanceof Error?H.message:H);try{await Z.close?.()}catch{}throw H}},callTool:async({toolCallId:G,toolCallInput:K})=>{let W=US.getStore();if(!W)throw Error("Missing state, did you forget to call State.bind?");let Z=W?.env,{tools:H}=await Q(Z),F=H.find((V)=>V.id===G)?.execute;if(!F)throw Error(`Tool ${G} not found or does not have an execute function`);return F({context:K,runtimeContext:fS()})}}};var _n=k(()=>{_S();bm();yS();i1();vV1();RV1();vV1()});var oP6=({env:Y,server:Q,url:X})=>{Y.SELF=new Proxy({},{get:(J,G)=>{if(G==="toJSON")return null;return async(K)=>{return await Q.callTool({toolCallId:G,toolCallInput:K})}}}),Y.IS_LOCAL=(X?.startsWith("http://localhost")||X?.startsWith("http://127.0.0.1"))??!1},hj0=(Y)=>()=>{return{...Y??{}}},sP6=({env:Y,server:Q,tokenOrContext:X,url:J,authToken:G})=>{let K=Y,W=G?G.split(" ")[1]:void 0,Z;if(typeof X==="string"){let H=m9(X),$=H.metadata??{};Z={authorization:W,state:H.state??$.state??{},token:X,meshUrl:H.meshUrl??$.meshUrl,connectionId:H.connectionId??$.connectionId,organizationId:H.organizationId??$.organizationId,ensureAuthenticated:hj0(H.user??H.sub)}}else if(typeof X==="object"){Z=X;let H=m9(X.token),$=H.metadata??{},F=H.appName;Z.authorization??=W,Z.callerApp=F,Z.connectionId??=H.connectionId??$.connectionId,Z.ensureAuthenticated=hj0(H.user??H.sub)}else Z={state:{},authorization:W,token:void 0,meshUrl:void 0,connectionId:void 0,ensureAuthenticated:()=>{throw Error("Unauthorized")}};return K.MESH_REQUEST_CONTEXT=Z,Z.state=Jj0(Z),oP6({env:K,server:Q,url:J}),K},tP6,xj0=(Y)=>{let Q=bj0(Y),X=Y.cors??tP6,J=Y.oauth,G=J?Vj0(J):null,K=async(W,Z,H)=>{let $=new URL(W.url);if(G){if($.pathname==="/.well-known/oauth-protected-resource"||$.pathname==="/mcp/.well-known/oauth-protected-resource")return G.handleProtectedResourceMetadata(W);if($.pathname==="/.well-known/oauth-authorization-server")return G.handleAuthorizationServerMetadata(W);if($.pathname==="/authorize")return G.handleAuthorize(W);if($.pathname==="/oauth/callback")return G.handleOAuthCallback(W);if($.pathname==="/token"&&W.method==="POST")return G.handleToken(W);if(($.pathname==="/register"||$.pathname==="/mcp/register")&&W.method==="POST")return G.handleClientRegistration(W)}if($.pathname==="/mcp"){if(W.method==="GET")return new Response("Method not allowed",{status:405});if(G&&!G.hasAuth(W)){let F=W.clone();try{if((await F.json())?.method!=="tools/list")return G.createUnauthorizedResponse(W)}catch{return G.createUnauthorizedResponse(W)}}return Q.fetch(W,Z,H)}if($.pathname.startsWith("/mcp/call-tool")){let F=$.pathname.split("/").pop();if(!F)return new Response("Not found",{status:404});let V=await W.json(),q=await Q.callTool({toolCallId:F,toolCallInput:V});if(q instanceof Response)return q;return new Response(JSON.stringify(q),{headers:{"Content-Type":"application/json"}})}return Y.fetch?.(W,Z,H)||new Response("Not found",{status:404})};return{fetch:async(W,Z,H)=>{if(new URL(W.url).pathname==="/_healthcheck")return new Response("OK",{status:200});if(X!==!1&&W.method==="OPTIONS")return Wj0(W,X??{});let $=sP6({authToken:W.headers.get("authorization")??null,env:{...process.env,...Z},server:Q,tokenOrContext:W.headers.get("x-mesh-token")??void 0,url:W.url}),F=await US.run({req:W,env:$,ctx:H},async()=>await K(W,$,H));if(X!==!1)return Zj0(F,W,X??{});return F}}};var gj0=k(()=>{VG();Cn();Kj0();RV1();_n();_n();Cn();EV1();tP6={origin:(Y)=>{if(Y.includes("localhost")||Y.includes("127.0.0.1"))return Y;return Y},credentials:!0,allowMethods:["GET","POST","PUT","DELETE","OPTIONS"],allowHeaders:["Content-Type","Authorization","mcp-protocol-version"]}});function yn(Y){return Buffer.from(String(Y),"utf8").toString("base64")}function bn(Y){if(!Y)return null;try{let Q=Buffer.from(Y,"base64").toString("utf8"),X=Number.parseInt(Q,10);return Number.isNaN(X)||X<0?null:X}catch{return null}}function NX(Y){if(!Y?.length)return[];return Array.from(new Set(Y.map((Q)=>Q.trim()).filter((Q)=>Q.length>0).map((Q)=>Q.toLowerCase())))}function kD(Y){if(!Y)return[];return NX(Y.split(","))}function hn(Y,Q){if(!Y)return Q;try{return JSON.parse(Y)}catch{return Q}}function xn(Y){return Y?.["mcp.mesh"]??{}}function gn(Y){return Y.length?Y.join(","):null}function eP6(Y,Q){if(!Q?.length)return;let X=Y;for(let J of Q){if(X===null||X===void 0)return;if(typeof X!=="object")return;X=X[J]}return X}function YE6(Y,Q,X){if(!Q)return!1;if(Q==="eq")return Y===X;if(Q==="contains"||Q==="like"){let J=String(Y??"").toLowerCase(),G=String(X??"").toLowerCase();return J.includes(G)}if(Q==="in"){if(!Array.isArray(X))return!1;return X.includes(Y)}if(Q==="gt")return Number(Y)>Number(X);if(Q==="gte")return Number(Y)>=Number(X);if(Q==="lt")return Number(Y)<Number(X);if(Q==="lte")return Number(Y)<=Number(X);return!1}function bS(Y,Q){if(!Q)return!0;if(Array.isArray(Q.conditions)&&Q.conditions.length){if(Q.operator==="and")return Q.conditions.every((X)=>bS(Y,X));if(Q.operator==="or")return Q.conditions.some((X)=>bS(Y,X));if(Q.operator==="not")return!Q.conditions.some((X)=>bS(Y,X))}return YE6(eP6(Y,Q.field),Q.operator,Q.value)}class hS{db;constructor(Y){this.db=Y}async create(Y){let Q=new Date().toISOString(),X=Y._meta??{},J=xn(X),G=NX(J.tags),K=NX(J.categories),W={id:Y.id,organization_id:Y.organization_id,title:Y.title,description:Y.description??null,server_json:JSON.stringify(Y.server),meta_json:JSON.stringify(X),tags:gn(G),categories:gn(K),is_public:Y.is_public?1:0,is_unlisted:Y.is_unlisted?1:0,created_at:Q,updated_at:Q,created_by:Y.created_by??null};await this.db.insertInto("private_registry_item").values(W).execute();let Z=await this.findById(Y.organization_id,Y.id);if(!Z)throw Error(`Failed to create registry item "${Y.id}"`);return Z}async findById(Y,Q){let X=await this.db.selectFrom("private_registry_item").selectAll().where("organization_id","=",Y).where("id","=",Q).executeTakeFirst();return X?this.deserialize(X):null}async findByIdOrName(Y,Q){let X=await this.findById(Y,Q);if(X)return X;let J=await this.db.selectFrom("private_registry_item").selectAll().where("organization_id","=",Y).where("title","=",Q).executeTakeFirst();return J?this.deserialize(J):null}async update(Y,Q,X){let J=await this.findById(Y,Q);if(!J)throw Error(`Registry item not found: ${Q}`);let G=X._meta??J._meta??{},K=xn(G),W=NX(K.tags),Z=NX(K.categories),H={updated_at:new Date().toISOString()};if(X.title!==void 0)H.title=X.title;if(X.description!==void 0)H.description=X.description;if(X.server!==void 0)H.server_json=JSON.stringify(X.server);if(X._meta!==void 0)H.meta_json=JSON.stringify(X._meta);if(X._meta!==void 0)H.tags=gn(W),H.categories=gn(Z);if(X.is_public!==void 0)H.is_public=X.is_public?1:0;if(X.is_unlisted!==void 0)H.is_unlisted=X.is_unlisted?1:0;await this.db.updateTable("private_registry_item").set(H).where("organization_id","=",Y).where("id","=",Q).execute();let $=await this.findById(Y,Q);if(!$)throw Error(`Registry item not found after update: ${Q}`);return $}async delete(Y,Q){let X=await this.findById(Y,Q);if(!X)return null;return await this.db.deleteFrom("private_registry_item").where("organization_id","=",Y).where("id","=",Q).execute(),X}async list(Y,Q={}){let X=this.db.selectFrom("private_registry_item").selectAll().where("organization_id","=",Y).orderBy("created_at","desc");if(!Q.includeUnlisted)X=X.where("is_unlisted","=",0);let G=(await X.execute()).map((z)=>this.deserialize(z)),K=NX(Q.tags),W=NX(Q.categories),Z=G.filter((z)=>{let D=xn(z._meta),L=NX(D.tags),A=NX(D.categories),E=K.length===0||K.every((P)=>L.includes(P)),T=W.length===0||W.every((P)=>A.includes(P)),C=bS(z,Q.where);return E&&T&&C}),$=bn(Q.cursor)??Q.offset??0,F=Q.limit??24,V=Z.slice($,$+F),q=$+F<Z.length,U=q?yn($+F):void 0;return{items:V,totalCount:Z.length,hasMore:q,nextCursor:U}}async listPublic(Y,Q={}){let J=(await this.db.selectFrom("private_registry_item").selectAll().where("organization_id","=",Y).where("is_public","=",1).where("is_unlisted","=",0).orderBy("created_at","desc").execute()).map((U)=>this.deserialize(U)),G=NX(Q.tags),K=NX(Q.categories),W=J.filter((U)=>{let z=xn(U._meta),D=NX(z.tags),L=NX(z.categories),A=G.length===0||G.every((C)=>D.includes(C)),E=K.length===0||K.every((C)=>L.includes(C)),T=bS(U,Q.where);return A&&E&&T}),H=bn(Q.cursor)??Q.offset??0,$=Q.limit??24,F=W.slice(H,H+$),V=H+$<W.length,q=V?yn(H+$):void 0;return{items:F,totalCount:W.length,hasMore:V,nextCursor:q}}async getFilters(Y,Q){let X=this.db.selectFrom("private_registry_item").select(["tags","categories"]).where("organization_id","=",Y);if(Q?.publicOnly)X=X.where("is_public","=",1);if(!Q?.includeUnlisted)X=X.where("is_unlisted","=",0);let J=await X.execute(),G=new Map,K=new Map;for(let Z of J){for(let H of kD(Z.tags))G.set(H,(G.get(H)??0)+1);for(let H of kD(Z.categories))K.set(H,(K.get(H)??0)+1)}let W=(Z)=>Array.from(Z.entries()).map(([H,$])=>({value:H,count:$})).sort((H,$)=>H.value.localeCompare($.value));return{tags:W(G),categories:W(K)}}async search(Y,Q={},X){let J=this.db.selectFrom("private_registry_item").select(["id","title","description","meta_json","server_json","tags","categories","is_public","is_unlisted"]).where("organization_id","=",Y).orderBy("created_at","desc");if(X?.publicOnly)J=J.where("is_public","=",1);if(!X?.includeUnlisted)J=J.where("is_unlisted","=",0);let G=await J.execute(),K=Q.query?.trim().toLowerCase(),W=NX(Q.tags),Z=NX(Q.categories),H=G.filter((L)=>{if(K){let A=hn(L.server_json,{}),T=hn(L.meta_json,{})?.["mcp.mesh"]?.short_description??"";if(![L.id,L.title,L.description??"",A.name??"",A.description??"",T].join(" ").toLowerCase().includes(K))return!1}if(W.length>0){let A=NX(kD(L.tags));if(!W.every((E)=>A.includes(E)))return!1}if(Z.length>0){let A=NX(kD(L.categories));if(!Z.every((E)=>A.includes(E)))return!1}return!0}),F=bn(Q.cursor)??0,V=Q.limit??20,q=H.slice(F,F+V),U=F+V<H.length,z=U?yn(F+V):void 0;return{items:q.map((L)=>({id:L.id,title:L.title,tags:kD(L.tags),categories:kD(L.categories),is_public:L.is_public===1,is_unlisted:L.is_unlisted===1})),totalCount:H.length,hasMore:U,nextCursor:z}}deserialize(Y){let Q=hn(Y.server_json,{}),X=hn(Y.meta_json,{});return{id:Y.id,name:typeof Q.name==="string"?Q.name:void 0,title:Y.title,description:Y.description,_meta:X,server:Q,is_public:Y.is_public===1,is_unlisted:Y.is_unlisted===1,created_at:Y.created_at,updated_at:Y.updated_at,...Y.created_by?{created_by:Y.created_by}:{}}}}var yV1=()=>{};var un,QE6,mn,uZ,fV1,XE6,gq,qw,LG,vD,bV1,uj0,hV1,mj0,xV1,lj0,gV1,dj0,Bw,JE6,xS,GE6,ln,uV1,pj0,cj0,mV1,nj0,ij0,aj0,rj0,oj0,sj0,tj0,ej0,WE6,lV1,YS0,QS0,dV1,XS0;var cY=k(()=>{NG();i1();un=B.object({name:B.string(),title:B.string().optional(),description:B.string().optional(),version:B.string().optional(),websiteUrl:B.string().optional(),icons:B.array(B.object({src:B.string()})).optional(),remotes:B.array(B.object({type:B.string().optional(),url:B.string().optional(),name:B.string().optional(),title:B.string().optional(),description:B.string().optional()})).optional(),packages:B.array(B.object({identifier:B.string(),version:B.string().optional()})).optional(),repository:B.object({url:B.string().optional(),source:B.string().optional(),subfolder:B.string().optional()}).optional()}),QE6=B.object({name:B.string(),description:B.string().nullable().optional()}),mn=B.object({"mcp.mesh":B.object({verified:B.boolean().optional(),tags:B.array(B.string()).optional(),categories:B.array(B.string()).optional(),friendly_name:B.string().nullable().optional(),short_description:B.string().max(160).nullable().optional(),owner:B.string().nullable().optional(),readme:B.string().max(50000).nullable().optional(),readme_url:B.string().url().nullable().optional(),has_remote:B.boolean().optional(),has_oauth:B.boolean().optional(),tools:B.array(QE6).optional()}).optional()}).catchall(B.unknown()),uZ=B.object({id:B.string(),name:B.string().optional(),title:B.string(),description:B.string().nullable().optional(),_meta:mn.optional(),server:un,is_public:B.boolean().optional(),created_at:B.string(),updated_at:B.string(),created_by:B.string().optional()}),fV1=B.object({id:B.string(),title:B.string(),description:B.string().nullable().optional(),_meta:mn.optional(),server:un,is_public:B.boolean().optional()}),XE6=B.object({title:B.string().optional(),description:B.string().nullable().optional(),_meta:mn.optional(),server:un.optional(),is_public:B.boolean().optional()}),gq=gZ.extend({tags:B.array(B.string()).optional().describe("Filter by tags (AND semantics)"),categories:B.array(B.string()).optional().describe("Filter by categories (AND semantics)"),cursor:B.string().optional().describe("Pagination cursor")}).describe("List registry items with optional filtering and pagination."),qw=B.object({items:B.array(uZ),totalCount:B.number(),hasMore:B.boolean().optional(),nextCursor:B.string().optional()}),LG=B.object({id:B.string().optional().describe("Registry item ID"),name:B.string().optional().describe("Registry item name (alias for id)")}).refine((Y)=>Y.id||Y.name,{message:"At least one of 'id' or 'name' is required"}).describe("Get a registry item by ID or name."),vD=B.object({item:uZ.nullable()}),bV1=B.object({data:fV1}),uj0=B.object({item:uZ}),hV1=B.object({items:B.array(fV1).min(1)}),mj0=B.object({created:B.number(),errors:B.array(B.object({id:B.string(),error:B.string()}))}),xV1=B.object({id:B.string(),data:XE6}),lj0=B.object({item:uZ}),gV1=B.object({id:B.string()}),dj0=B.object({item:uZ}),Bw=B.object({tags:B.array(B.object({value:B.string(),count:B.number()})),categories:B.array(B.object({value:B.string(),count:B.number()}))}),JE6=B.enum(["description","short_description","tags","categories","readme"]),xS=B.object({query:B.string().optional().describe("Free-text search across id, title, description, server name"),tags:B.array(B.string()).optional().describe("Filter by tags (AND)"),categories:B.array(B.string()).optional().describe("Filter by categories (AND)"),limit:B.number().int().min(1).max(100).optional().describe("Max results (default 20)"),cursor:B.string().optional().describe("Pagination cursor")}).describe("Lightweight search returning minimal fields (id, title, tags, categories, is_public)."),GE6=B.object({id:B.string(),title:B.string(),tags:B.array(B.string()),categories:B.array(B.string()),is_public:B.boolean()}),ln=B.object({items:B.array(GE6),totalCount:B.number(),hasMore:B.boolean().optional(),nextCursor:B.string().optional()}),uV1=B.object({type:JE6.describe("Which content to generate"),llmConnectionId:B.string().describe("Connection ID of a language model"),modelId:B.string().describe("Model ID to use"),context:B.object({name:B.string().optional(),provider:B.string().optional(),url:B.string().optional(),owner:B.string().optional(),repositoryUrl:B.string().optional(),description:B.string().optional(),shortDescription:B.string().optional(),tags:B.array(B.string()).optional(),categories:B.array(B.string()).optional(),availableTags:B.array(B.string()).optional(),availableCategories:B.array(B.string()).optional(),tools:B.array(B.object({name:B.string(),description:B.string().nullable().optional()})).optional()})}),pj0=B.object({result:B.string().optional(),items:B.array(B.string()).optional()}),cj0=B.enum(["pending","approved","rejected"]),mV1=B.object({id:B.string(),organization_id:B.string(),requested_id:B.string().nullable().optional(),status:cj0,title:B.string(),description:B.string().nullable().optional(),_meta:mn.optional(),server:un,requester_name:B.string().nullable().optional(),requester_email:B.string().nullable().optional(),reviewer_notes:B.string().nullable().optional(),created_at:B.string(),updated_at:B.string()}),nj0=B.object({status:cj0.optional(),limit:B.number().int().min(1).max(200).optional(),offset:B.number().int().min(0).optional(),sortBy:B.enum(["created_at","title"]).optional(),sortDirection:B.enum(["asc","desc"]).optional()}),ij0=B.object({items:B.array(mV1),totalCount:B.number()}),aj0=B.object({id:B.string(),status:B.enum(["approved","rejected"]),reviewerNotes:B.string().nullable().optional()}),rj0=B.object({item:mV1}),oj0=B.object({pending:B.number()}),sj0=B.object({id:B.string()}),tj0=B.object({item:mV1.nullable()}),ej0=B.object({data:fV1,requester:B.object({name:B.string().optional(),email:B.string().email().optional()}).optional()}),WE6=B.object({id:B.string(),name:B.string(),prefix:B.string(),createdAt:B.string()}),lV1=B.object({name:B.string().min(1).max(64).describe("A descriptive name for this key")}),YS0=B.object({id:B.string(),name:B.string(),prefix:B.string(),key:B.string().describe("The full API key \u2014 shown only once!"),createdAt:B.string()}),QS0=B.object({items:B.array(WE6)}),dV1=B.object({keyId:B.string()}),XS0=B.object({success:B.boolean(),keyId:B.string()})});function ZE6(Y,Q){let X=x$({id:"COLLECTION_REGISTRY_APP_LIST",description:"List public registry items",inputSchema:gq,outputSchema:qw,execute:async({context:Z})=>{return await Y.listPublic(Q,{limit:Z.limit,offset:Z.offset,cursor:Z.cursor,tags:Z.tags,categories:Z.categories,where:Z.where})}}),J=x$({id:"COLLECTION_REGISTRY_APP_GET",description:"Get a public registry item by ID or name",inputSchema:LG,outputSchema:vD,execute:async({context:Z})=>{let H=Z.id??Z.name;if(!H)return{item:null};let $=await Y.findByIdOrName(Q,H);if($&&$.is_public)return{item:$};return{item:null}}}),G=x$({id:"COLLECTION_REGISTRY_APP_VERSIONS",description:"Get available versions of a public registry item",inputSchema:LG,outputSchema:B.object({versions:B.array(vD.shape.item)}),execute:async({context:Z})=>{let H=Z.id??Z.name;if(!H)return{versions:[]};let $=await Y.findByIdOrName(Q,H);if($&&$.is_public)return{versions:[$]};return{versions:[]}}}),K=x$({id:"COLLECTION_REGISTRY_APP_SEARCH",description:"Search public registry items returning minimal data (id, title, tags, categories, is_public). Use this instead of LIST when you need to find items efficiently without loading full details.",inputSchema:xS,outputSchema:ln,execute:async({context:Z})=>{return await Y.search(Q,Z,{publicOnly:!0})}}),W=x$({id:"COLLECTION_REGISTRY_APP_FILTERS",description:"Get available tags and categories for public registry items",inputSchema:B.object({}),outputSchema:Bw,execute:async()=>{return await Y.getFilters(Q,{publicOnly:!0})}});return[X,K,J,G,W]}function pV1(Y,Q){let X=Q.db,J=new hS(X);Y.all("/org/:orgSlug/registry/*",async(G)=>{let K=G.req.param("orgSlug");console.log(`[Public Registry MCP] Request for org slug: ${K}, path: ${G.req.path}`);let W=await X.selectFrom("organization").select(["id","slug","name"]).where("slug","=",K).executeTakeFirst();if(console.log("[Public Registry MCP] Found org:",W),!W)return console.log(`[Public Registry MCP] Organization not found: ${K}`),G.json({error:"Organization not found"},404);let Z=ZE6(J,W.id),H=xj0({tools:()=>Z}),$=new URL(G.req.url),F=G.req.path.replace(`/org/${K}/registry`,""),V=new URL(F||"/",$.origin);$.searchParams.forEach((z,D)=>{V.searchParams.set(D,z)}),console.log(`[Public Registry MCP] Rewriting ${$.pathname} to ${V.pathname}`);let q=new Request(V.toString(),{method:G.req.method,headers:G.req.raw.headers,body:G.req.method!=="GET"&&G.req.method!=="HEAD"?G.req.raw.body:void 0}),U={organizationId:W.id,db:X,MESH_REQUEST_CONTEXT:{},MESH_APP_DEPLOYMENT_ID:"public-registry",IS_LOCAL:!1};return await H.fetch(q,U,G)})}var JS0=k(()=>{gj0();_n();i1();yV1();cY()});import{randomUUID as KE6}from"crypto";function GS0(Y,Q){if(!Y)return Q;try{return JSON.parse(Y)}catch{return Q}}class gS{db;constructor(Y){this.db=Y}async createOrUpdate(Y){let Q=new Date().toISOString(),X=await this.findPendingByRequestedId(Y.organization_id,Y.requested_id);if(X){let W={title:Y.title,description:Y.description??null,server_json:JSON.stringify(Y.server),meta_json:Y._meta?JSON.stringify(Y._meta):null,requester_name:Y.requester_name??null,requester_email:Y.requester_email??null,updated_at:Q};await this.db.updateTable("private_registry_publish_request").set(W).where("organization_id","=",Y.organization_id).where("id","=",X.id).execute();let Z=await this.findById(Y.organization_id,X.id);if(!Z)throw Error("Failed to update publish request");return Z}let J=KE6(),G={id:J,organization_id:Y.organization_id,requested_id:Y.requested_id,status:"pending",title:Y.title,description:Y.description??null,server_json:JSON.stringify(Y.server),meta_json:Y._meta?JSON.stringify(Y._meta):null,requester_name:Y.requester_name??null,requester_email:Y.requester_email??null,reviewer_notes:null,created_at:Q,updated_at:Q};await this.db.insertInto("private_registry_publish_request").values(G).execute();let K=await this.findById(Y.organization_id,J);if(!K)throw Error("Failed to create publish request");return K}async findPendingByRequestedId(Y,Q){let X=await this.db.selectFrom("private_registry_publish_request").selectAll().where("organization_id","=",Y).where("requested_id","=",Q).where("status","=","pending").executeTakeFirst();return X?this.deserialize(X):null}async findById(Y,Q){let X=await this.db.selectFrom("private_registry_publish_request").selectAll().where("organization_id","=",Y).where("id","=",Q).executeTakeFirst();return X?this.deserialize(X):null}async list(Y,Q={}){let X=this.db.selectFrom("private_registry_publish_request").selectAll().where("organization_id","=",Y),J=this.db.selectFrom("private_registry_publish_request").select(($)=>$.fn.countAll().as("count")).where("organization_id","=",Y);if(Q.status)X=X.where("status","=",Q.status),J=J.where("status","=",Q.status);let G=await J.executeTakeFirst(),K=Number(G?.count??0),W=Q.sortBy??"created_at",Z=Q.sortDirection??"desc";if(W==="title")X=X.orderBy("title",Z);else X=X.orderBy("created_at",Z);return{items:(await X.limit(Q.limit??24).offset(Q.offset??0).execute()).map(($)=>this.deserialize($)),totalCount:K}}async updateStatus(Y,Q,X,J){let G={status:X,updated_at:new Date().toISOString(),reviewer_notes:J??null};await this.db.updateTable("private_registry_publish_request").set(G).where("organization_id","=",Y).where("id","=",Q).execute();let K=await this.findById(Y,Q);if(!K)throw Error(`Publish request not found: ${Q}`);return K}async countPending(Y){let Q=await this.db.selectFrom("private_registry_publish_request").select((X)=>X.fn.countAll().as("count")).where("organization_id","=",Y).where("status","=","pending").executeTakeFirst();return Number(Q?.count??0)}async delete(Y,Q){let X=await this.findById(Y,Q);if(!X)return null;return await this.db.deleteFrom("private_registry_publish_request").where("organization_id","=",Y).where("id","=",Q).execute(),X}deserialize(Y){return{id:Y.id,organization_id:Y.organization_id,requested_id:Y.requested_id??null,status:Y.status,title:Y.title,description:Y.description,_meta:GS0(Y.meta_json,{}),server:GS0(Y.server_json,{name:""}),requester_name:Y.requester_name,requester_email:Y.requester_email,reviewer_notes:Y.reviewer_notes,created_at:Y.created_at,updated_at:Y.updated_at}}}var cV1=()=>{};import{randomUUID as HE6}from"crypto";async function WS0(Y){let X=new TextEncoder().encode(Y),J=await crypto.subtle.digest("SHA-256",X);return Array.from(new Uint8Array(J)).map((K)=>K.toString(16).padStart(2,"0")).join("")}function $E6(){let Y=new Uint8Array(32);return crypto.getRandomValues(Y),`prk_${Array.from(Y).map((X)=>X.toString(16).padStart(2,"0")).join("")}`}class uS{db;constructor(Y){this.db=Y}async generate(Y,Q){let X=HE6(),J=$E6(),G=await WS0(J),K=J.slice(0,12),W=new Date().toISOString();return await this.db.insertInto("private_registry_publish_api_key").values({id:X,organization_id:Y,name:Q,key_hash:G,prefix:K,created_at:W}).execute(),{entity:{id:X,organization_id:Y,name:Q,prefix:K,created_at:W},key:J}}async list(Y){return await this.db.selectFrom("private_registry_publish_api_key").select(["id","organization_id","name","prefix","created_at"]).where("organization_id","=",Y).orderBy("created_at","desc").execute()}async revoke(Y,Q){return(await this.db.deleteFrom("private_registry_publish_api_key").where("organization_id","=",Y).where("id","=",Q).execute()).length>0}async validate(Y,Q){let X=await WS0(Q),J=await this.db.selectFrom("private_registry_publish_api_key").select(["id"]).where("organization_id","=",Y).where("key_hash","=",X).executeTakeFirst();return Boolean(J)}async hasKeys(Y){let Q=await this.db.selectFrom("private_registry_publish_api_key").select((X)=>X.fn.countAll().as("count")).where("organization_id","=",Y).executeTakeFirst();return Number(Q?.count??0)>0}}var nV1=()=>{};import{sql as FE6}from"kysely";import{randomUUID as ZS0}from"crypto";async function qE6(Y){let Q=new Date().toISOString(),X=ZS0(),J=RY.SELF(Y.organizationId),G="registry.publish_request.created",K={requestId:Y.request.id,requestedId:Y.request.requested_id,title:Y.request.title,status:Y.request.status,createdAt:Y.request.created_at,requester:{name:Y.request.requester_name,email:Y.request.requester_email}};await Y.db.insertInto("events").values({id:X,organization_id:Y.organizationId,type:"registry.publish_request.created",source:J,specversion:"1.0",subject:Y.request.id,time:Q,datacontenttype:"application/json",dataschema:null,data:JSON.stringify(K),cron:null,status:"pending",attempts:0,last_error:null,next_retry_at:null,created_at:Q,updated_at:Q}).execute();let W=await Y.db.selectFrom("event_subscriptions").select(["id"]).where("organization_id","=",Y.organizationId).where("enabled","=",1).where("event_type","=","registry.publish_request.created").where((Z)=>Z.or([Z("publisher","is",null),Z("publisher","=",J)])).execute();if(W.length>0)await Y.db.insertInto("event_deliveries").values(W.map((Z)=>({id:ZS0(),event_id:X,subscription_id:Z.id,status:"pending",attempts:0,last_error:null,delivered_at:null,next_retry_at:null,created_at:Q}))).execute();try{await FE6`SELECT pg_notify('mesh_events', ${X})`.execute(Y.db)}catch{}}async function BE6(Y,Q){let J=(await Y.selectFrom("organization").select(["id"]).where("id","=",Q).execute())[0];if(J?.id)return J.id;return(await Y.selectFrom("organization").select(["id"]).where("slug","=",Q).execute())[0]?.id??null}async function UE6(Y,Q){let X=await Y.selectFrom("project_plugin_configs").innerJoin("projects","projects.id","project_plugin_configs.project_id").select(["project_plugin_configs.settings as settings"]).where("projects.organization_id","=",Q).where("project_plugin_configs.plugin_id","=",kH).execute();for(let J of X){let G=J.settings,K=typeof G==="string"?(()=>{try{return JSON.parse(G)}catch{return{}}})():G??{};if(K.acceptPublishRequests===!0){let W=K.rateLimitWindow==="minute"?"minute":"hour",Z=K.rateLimitMax,H=typeof Z==="number"&&Number.isFinite(Z)&&Z>=1?Math.floor(Z):HS0;return{acceptPublishRequests:!0,requireApiToken:K.requireApiToken===!0,rateLimitEnabled:K.rateLimitEnabled===void 0?KS0:K.rateLimitEnabled===!0,rateLimitWindow:W,rateLimitMax:H}}}return{acceptPublishRequests:!1,requireApiToken:!1,rateLimitEnabled:KS0,rateLimitWindow:VE6,rateLimitMax:HS0}}async function zE6(Y,Q,X){let J=X==="minute"?60000:3600000,G=new Date(Date.now()-J).toISOString(),K=await Y.selectFrom("private_registry_publish_request").select((W)=>W.fn.countAll().as("count")).where("organization_id","=",Q).where("created_at",">=",G).executeTakeFirst();return Number(K?.count??0)}async function DE6(Y,Q,X,J){let G=await Y.selectFrom("private_registry_item").select(["id","title"]).where("organization_id","=",Q).where((K)=>K.or([K("id","=",X),K("title","=",J)])).executeTakeFirst();return G?{id:String(G.id),title:String(G.title)}:null}function iV1(Y,Q){let{db:X,db:J}=Q,G=new gS(J),K=new uS(J);Y.post("/org/:orgRef/registry/publish-request",async(W)=>{let Z=W.req.param("orgRef"),H=await BE6(X,Z);if(!H)return W.json({error:"Organization not found"},404);let $=await UE6(X,H);if(!$.acceptPublishRequests)return W.json({error:"Publish requests are not enabled for this registry."},403);if($.requireApiToken){let z=W.req.header("Authorization"),D=z?.startsWith("Bearer ")?z.slice(7).trim():null;if(!D)return W.json({error:"API key required. Use Authorization: Bearer <key>"},401);if(!await K.validate(H,D))return W.json({error:"Invalid API key"},401)}if($.rateLimitEnabled){if(await zE6(J,H,$.rateLimitWindow)>=$.rateLimitMax)return W.json({error:"Too many publish requests. Please try again later.",retryAfterSeconds:$.rateLimitWindow==="minute"?60:3600},429)}let F;try{F=await W.req.json()}catch{return W.json({error:"Invalid JSON body"},400)}let V=ej0.safeParse(F);if(!V.success)return W.json({error:"Invalid publish request payload",details:B.treeifyError(V.error)},400);let q=await DE6(J,H,V.data.data.id,V.data.data.title);if(q)return W.json({error:"A registry item with the same id or title already exists. Please use a different name/id.",conflict:q},409);let U=await G.createOrUpdate({organization_id:H,requested_id:V.data.data.id,title:V.data.data.title,description:V.data.data.description??null,_meta:V.data.data._meta,server:V.data.data.server,requester_name:V.data.requester?.name??null,requester_email:V.data.requester?.email??null});try{await qE6({db:X,organizationId:H,request:U})}catch(z){console.warn("[private-registry] failed to emit publish-request event:",z)}return W.json({id:U.id,requested_id:U.requested_id,status:U.status},201)})}var KS0=!0,VE6="hour",HS0=100;var $S0=k(()=>{IY();i1();RD();cV1();nV1();cY()});var FS0=k(()=>{JS0();$S0()});function VS0(Y){aV1=Y}function S4(){if(!aV1)throw Error(`Plugin storage not initialized. Make sure the "${kH}" plugin is enabled.`);return aV1}async function OE6(Y){if(!Y.organization)throw Error("Organization context required");return await Y.access.check(),Y}function t4(Y,Q){return async(X,J)=>{let G=await OE6(J);return Q(X,G)}}function NE6(Y){if(!Y)return{};if(typeof Y==="string")try{return JSON.parse(Y)}catch{return{}}if(typeof Y==="object")return Y;return{}}async function mS(Y,Q){let J=(await Y.db.selectFrom("project_plugin_configs").innerJoin("projects","projects.id","project_plugin_configs.project_id").select(["project_plugin_configs.settings as settings"]).where("projects.organization_id","=",Q).where("project_plugin_configs.plugin_id","=",kH).execute()).map((K)=>NE6(K.settings)),G={acceptPublishRequests:J.some((K)=>K.acceptPublishRequests===!0),requireApiToken:J.some((K)=>K.requireApiToken===!0),storePrivateOnly:J.some((K)=>K.storePrivateOnly===!0)};if(G.acceptPublishRequests||G.requireApiToken||G.storePrivateOnly)return G;for(let K of J)if(Object.keys(K).length>0)return K;return{}}var aV1=null;var J9=k(()=>{RD()});import{randomUUID as qS0}from"crypto";function BS0(Y,Q){if(!Y)return Q;try{return JSON.parse(Y)}catch{return Q}}class rV1{db;constructor(Y){this.db=Y}async create(Y){let Q=qS0(),X=new Date().toISOString(),J={id:Q,organization_id:Y.organization_id,status:Y.status??"pending",config_snapshot:Y.config_snapshot?JSON.stringify(Y.config_snapshot):null,total_items:Y.total_items??0,tested_items:0,passed_items:0,failed_items:0,skipped_items:0,current_item_id:null,started_at:Y.started_at??null,finished_at:null,created_at:X};await this.db.insertInto("private_registry_monitor_run").values(J).execute();let G=await this.findById(Y.organization_id,Q);if(!G)throw Error(`Failed to create monitor run ${Q}`);return G}async findById(Y,Q){let X=await this.db.selectFrom("private_registry_monitor_run").selectAll().where("organization_id","=",Y).where("id","=",Q).executeTakeFirst();return X?this.deserializeRun(X):null}async list(Y,Q={}){let X=this.db.selectFrom("private_registry_monitor_run").selectAll().where("organization_id","=",Y),J=this.db.selectFrom("private_registry_monitor_run").select((Z)=>Z.fn.countAll().as("count")).where("organization_id","=",Y);if(Q.status)X=X.where("status","=",Q.status),J=J.where("status","=",Q.status);let G=await J.executeTakeFirst(),K=Number(G?.count??0);return{items:(await X.orderBy("created_at","desc").limit(Q.limit??24).offset(Q.offset??0).execute()).map((Z)=>this.deserializeRun(Z)),totalCount:K}}async update(Y,Q,X){let J={};if(X.total_items!==void 0)J.total_items=X.total_items;if(X.status!==void 0)J.status=X.status;if(X.tested_items!==void 0)J.tested_items=X.tested_items;if(X.passed_items!==void 0)J.passed_items=X.passed_items;if(X.failed_items!==void 0)J.failed_items=X.failed_items;if(X.skipped_items!==void 0)J.skipped_items=X.skipped_items;if(X.current_item_id!==void 0)J.current_item_id=X.current_item_id;if(X.started_at!==void 0)J.started_at=X.started_at;if(X.finished_at!==void 0)J.finished_at=X.finished_at;await this.db.updateTable("private_registry_monitor_run").set(J).where("organization_id","=",Y).where("id","=",Q).execute();let G=await this.findById(Y,Q);if(!G)throw Error(`Monitor run not found: ${Q}`);return G}deserializeRun(Y){return{id:Y.id,organization_id:Y.organization_id,status:Y.status,config_snapshot:BS0(Y.config_snapshot,null),total_items:Number(Y.total_items??0),tested_items:Number(Y.tested_items??0),passed_items:Number(Y.passed_items??0),failed_items:Number(Y.failed_items??0),skipped_items:Number(Y.skipped_items??0),current_item_id:Y.current_item_id,started_at:Y.started_at,finished_at:Y.finished_at,created_at:Y.created_at}}}class oV1{db;constructor(Y){this.db=Y}async create(Y){let Q=qS0(),X=new Date().toISOString(),J={id:Q,run_id:Y.run_id,organization_id:Y.organization_id,item_id:Y.item_id,item_title:Y.item_title,status:Y.status,error_message:Y.error_message??null,connection_ok:Y.connection_ok?1:0,tools_listed:Y.tools_listed?1:0,tool_results:Y.tool_results?JSON.stringify(Y.tool_results):null,agent_summary:Y.agent_summary??null,duration_ms:Y.duration_ms??0,action_taken:Y.action_taken??"none",tested_at:X};await this.db.insertInto("private_registry_monitor_result").values(J).execute();let G=await this.findById(Y.organization_id,Q);if(!G)throw Error("Failed to create test result");return G}async findById(Y,Q){let X=await this.db.selectFrom("private_registry_monitor_result").selectAll().where("organization_id","=",Y).where("id","=",Q).executeTakeFirst();return X?this.deserialize(X):null}async listByRun(Y,Q,X={}){let J=this.db.selectFrom("private_registry_monitor_result").selectAll().where("organization_id","=",Y).where("run_id","=",Q),G=this.db.selectFrom("private_registry_monitor_result").select((H)=>H.fn.countAll().as("count")).where("organization_id","=",Y).where("run_id","=",Q);if(X.status)J=J.where("status","=",X.status),G=G.where("status","=",X.status);let K=await G.executeTakeFirst(),W=Number(K?.count??0);return{items:(await J.orderBy("tested_at","desc").limit(X.limit??50).offset(X.offset??0).execute()).map((H)=>this.deserialize(H)),totalCount:W}}async update(Y,Q,X){let J={};if(X.status!==void 0)J.status=X.status;if(X.error_message!==void 0)J.error_message=X.error_message;if(X.connection_ok!==void 0)J.connection_ok=X.connection_ok?1:0;if(X.tools_listed!==void 0)J.tools_listed=X.tools_listed?1:0;if(X.tool_results!==void 0)J.tool_results=JSON.stringify(X.tool_results);if(X.agent_summary!==void 0)J.agent_summary=X.agent_summary;if(X.duration_ms!==void 0)J.duration_ms=X.duration_ms;if(X.action_taken!==void 0)J.action_taken=X.action_taken;await this.db.updateTable("private_registry_monitor_result").set(J).where("organization_id","=",Y).where("id","=",Q).execute();let G=await this.findById(Y,Q);if(!G)throw Error(`Monitor result not found: ${Q}`);return G}deserialize(Y){return{id:Y.id,run_id:Y.run_id,organization_id:Y.organization_id,item_id:Y.item_id,item_title:Y.item_title,status:Y.status,error_message:Y.error_message,connection_ok:Y.connection_ok===1,tools_listed:Y.tools_listed===1,tool_results:BS0(Y.tool_results,[]),agent_summary:Y.agent_summary,duration_ms:Number(Y.duration_ms??0),action_taken:Y.action_taken,tested_at:Y.tested_at}}}var US0=()=>{};import{randomUUID as LE6}from"crypto";class sV1{db;constructor(Y){this.db=Y}async findByItemId(Y,Q){let X=await this.db.selectFrom("private_registry_monitor_connection").selectAll().where("organization_id","=",Y).where("item_id","=",Q).executeTakeFirst();return X?this.deserialize(X):null}async list(Y){return(await this.db.selectFrom("private_registry_monitor_connection").selectAll().where("organization_id","=",Y).orderBy("updated_at","desc").execute()).map((X)=>this.deserialize(X))}async findByConnectionId(Y,Q){let X=await this.db.selectFrom("private_registry_monitor_connection").selectAll().where("organization_id","=",Y).where("connection_id","=",Q).executeTakeFirst();return X?this.deserialize(X):null}async upsert(Y){let Q=await this.findByItemId(Y.organization_id,Y.item_id),X=new Date().toISOString();if(!Q){let G={id:LE6(),organization_id:Y.organization_id,item_id:Y.item_id,connection_id:Y.connection_id,auth_status:Y.auth_status??"none",created_at:X,updated_at:X};await this.db.insertInto("private_registry_monitor_connection").values(G).execute()}else{let G={connection_id:Y.connection_id,auth_status:Y.auth_status??Q.auth_status,updated_at:X};await this.db.updateTable("private_registry_monitor_connection").set(G).where("organization_id","=",Y.organization_id).where("item_id","=",Y.item_id).execute()}let J=await this.findByItemId(Y.organization_id,Y.item_id);if(!J)throw Error("Failed to save monitor connection");return J}async updateAuthStatus(Y,Q,X){return await this.db.updateTable("private_registry_monitor_connection").set({auth_status:X,updated_at:new Date().toISOString()}).where("organization_id","=",Y).where("item_id","=",Q).execute(),this.findByItemId(Y,Q)}deserialize(Y){return{id:Y.id,organization_id:Y.organization_id,item_id:Y.item_id,connection_id:Y.connection_id,auth_status:Y.auth_status,created_at:Y.created_at,updated_at:Y.updated_at}}}var zS0=()=>{};function DS0(Y){let Q=Y.db,X={items:new hS(Q),publishRequests:new gS(Q),publishApiKeys:new uS(Q),monitorRuns:new rV1(Q),monitorResults:new oV1(Q),monitorConnections:new sV1(Q)};return VS0(X),X}var OS0=k(()=>{J9();yV1();cV1();nV1();US0();zS0()});var NS0;var LS0=k(()=>{cY();J9();NS0={name:"REGISTRY_ITEM_BULK_CREATE",description:"Create many private registry items at once",inputSchema:hV1,outputSchema:mj0,handler:t4(hV1,async(Y,Q)=>{let X=S4(),J=[],G=0;for(let K of Y.items)try{await X.items.create({...K,organization_id:Q.organization.id,created_by:Q.auth.user?.id??null}),G+=1}catch(W){J.push({id:K.id,error:W instanceof Error?W.message:"Unknown error"})}return{created:G,errors:J}})}});function ME6(Y){return Array.from(new Set(Y.map((Q)=>Q.trim().toLowerCase()).filter((Q)=>Q.length>0)))}function AE6(Y){let X=Y.structuredContent?.content?.filter((J)=>J.type==="text"&&typeof J.text==="string").map((J)=>J.text??"").join(`
1065
+ `,Y.enqueue(Q.encode(G)),!0}catch{return!1}}handleUnsupportedRequest(){return new Response(JSON.stringify({jsonrpc:"2.0",error:{code:-32000,message:"Method not allowed."},id:null}),{status:405,headers:{Allow:"GET, POST, DELETE","Content-Type":"application/json"}})}async handlePostRequest(Y,Q){try{let X=Y.headers.get("accept");if(!X?.includes("application/json")||!X.includes("text/event-stream"))return this.createJsonErrorResponse(406,-32000,"Not Acceptable: Client must accept both application/json and text/event-stream");let J=Y.headers.get("content-type");if(!J||!J.includes("application/json"))return this.createJsonErrorResponse(415,-32000,"Unsupported Media Type: Content-Type must be application/json");let G={headers:Object.fromEntries(Y.headers.entries())},K;if(Q?.parsedBody!==void 0)K=Q.parsedBody;else try{K=await Y.json()}catch{return this.createJsonErrorResponse(400,-32700,"Parse error: Invalid JSON")}let W;try{if(Array.isArray(K))W=K.map((L)=>gG.parse(L));else W=[gG.parse(K)]}catch{return this.createJsonErrorResponse(400,-32700,"Parse error: Invalid JSON-RPC message")}let Z=W.some(_J1);if(Z){if(this._initialized&&this.sessionId!==void 0)return this.createJsonErrorResponse(400,-32600,"Invalid Request: Server already initialized");if(W.length>1)return this.createJsonErrorResponse(400,-32600,"Invalid Request: Only one initialization request is allowed");if(this.sessionId=this.sessionIdGenerator?.(),this._initialized=!0,this.sessionId&&this._onsessioninitialized)await Promise.resolve(this._onsessioninitialized(this.sessionId))}if(!Z){let L=this.validateSession(Y);if(L)return L;let A=this.validateProtocolVersion(Y);if(A)return A}if(!W.some(uK)){for(let L of W)this.onmessage?.(L,{authInfo:Q?.authInfo,requestInfo:G});return new Response(null,{status:202})}let $=crypto.randomUUID(),F=W.find((L)=>_J1(L)),V=F?F.params.protocolVersion:Y.headers.get("mcp-protocol-version")??Q70;if(this._enableJsonResponse)return new Promise((L)=>{this._streamMapping.set($,{resolveJson:L,cleanup:()=>{this._streamMapping.delete($)}});for(let A of W)if(uK(A))this._requestToStreamMapping.set(A.id,$);for(let A of W)this.onmessage?.(A,{authInfo:Q?.authInfo,requestInfo:G})});let q=new TextEncoder,U,z=new ReadableStream({start:(L)=>{U=L},cancel:()=>{this._streamMapping.delete($)}}),D={"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"};if(this.sessionId!==void 0)D["mcp-session-id"]=this.sessionId;for(let L of W)if(uK(L))this._streamMapping.set($,{controller:U,encoder:q,cleanup:()=>{this._streamMapping.delete($);try{U.close()}catch{}}}),this._requestToStreamMapping.set(L.id,$);await this.writePrimingEvent(U,q,$,V);for(let L of W){let A,E;if(uK(L)&&this._eventStore&&V>="2025-11-25")A=()=>{this.closeSSEStream(L.id)},E=()=>{this.closeStandaloneSSEStream()};this.onmessage?.(L,{authInfo:Q?.authInfo,requestInfo:G,closeSSEStream:A,closeStandaloneSSEStream:E})}return new Response(z,{status:200,headers:D})}catch(X){return this.onerror?.(X),this.createJsonErrorResponse(400,-32700,"Parse error",{data:String(X)})}}async handleDeleteRequest(Y){let Q=this.validateSession(Y);if(Q)return Q;let X=this.validateProtocolVersion(Y);if(X)return X;return await Promise.resolve(this._onsessionclosed?.(this.sessionId)),await this.close(),new Response(null,{status:200})}validateSession(Y){if(this.sessionIdGenerator===void 0)return;if(!this._initialized)return this.createJsonErrorResponse(400,-32000,"Bad Request: Server not initialized");let Q=Y.headers.get("mcp-session-id");if(!Q)return this.createJsonErrorResponse(400,-32000,"Bad Request: Mcp-Session-Id header is required");if(Q!==this.sessionId)return this.createJsonErrorResponse(404,-32001,"Session not found");return}validateProtocolVersion(Y){let Q=Y.headers.get("mcp-protocol-version");if(Q!==null&&!Qz.includes(Q))return this.createJsonErrorResponse(400,-32000,`Bad Request: Unsupported protocol version: ${Q} (supported versions: ${Qz.join(", ")})`);return}async close(){this._streamMapping.forEach(({cleanup:Y})=>{Y()}),this._streamMapping.clear(),this._requestResponseMap.clear(),this.onclose?.()}closeSSEStream(Y){let Q=this._requestToStreamMapping.get(Y);if(!Q)return;let X=this._streamMapping.get(Q);if(X)X.cleanup()}closeStandaloneSSEStream(){let Y=this._streamMapping.get(this._standaloneSseStreamId);if(Y)Y.cleanup()}async send(Y,Q){let X=Q?.relatedRequestId;if(UZ(Y)||xL(Y))X=Y.id;if(X===void 0){if(UZ(Y)||xL(Y))throw Error("Cannot send a response on a standalone SSE stream unless resuming a previous client request");let K;if(this._eventStore)K=await this._eventStore.storeEvent(this._standaloneSseStreamId,Y);let W=this._streamMapping.get(this._standaloneSseStreamId);if(W===void 0)return;if(W.controller&&W.encoder)this.writeSSEEvent(W.controller,W.encoder,Y,K);return}let J=this._requestToStreamMapping.get(X);if(!J)throw Error(`No connection established for request ID: ${String(X)}`);let G=this._streamMapping.get(J);if(!this._enableJsonResponse&&G?.controller&&G?.encoder){let K;if(this._eventStore)K=await this._eventStore.storeEvent(J,Y);this.writeSSEEvent(G.controller,G.encoder,Y,K)}if(UZ(Y)||xL(Y)){this._requestResponseMap.set(X,Y);let K=Array.from(this._requestToStreamMapping.entries()).filter(([Z,H])=>H===J).map(([Z])=>Z);if(K.every((Z)=>this._requestResponseMap.has(Z))){if(!G)throw Error(`No connection established for request ID: ${String(X)}`);if(this._enableJsonResponse&&G.resolveJson){let Z={"Content-Type":"application/json"};if(this.sessionId!==void 0)Z["mcp-session-id"]=this.sessionId;let H=K.map(($)=>this._requestResponseMap.get($));if(H.length===1)G.resolveJson(new Response(JSON.stringify(H[0]),{status:200,headers:Z}));else G.resolveJson(new Response(JSON.stringify(H),{status:200,headers:Z}))}else G.cleanup();for(let Z of K)this._requestResponseMap.delete(Z),this._requestToStreamMapping.delete(Z)}}}}var yS=k(()=>{vQ()});var vj0="SELF",kn=(Y)=>{return typeof Y==="object"&&Y!==null&&"handler"in Y&&"events"in Y&&typeof Y.handler==="function"&&Array.isArray(Y.events)},_j0=(Y)=>{return typeof Y==="object"&&Y!==null&&"handler"in Y&&"events"in Y&&typeof Y.handler==="function"&&Array.isArray(Y.events)},kj0="::",yj0=(Y)=>{let Q=Y.indexOf(kj0);if(Q===-1)return null;let X=Y.substring(0,Q),J=Y.substring(Q+kj0.length);return[X,J]},mP6=(Y)=>{if(!Y.startsWith("cron/"))return null;let Q=Y.substring(5),X=Q.indexOf("/");if(X===-1)return null;let J=Q.substring(0,X),G=Q.substring(X+1);return[J,G]},fj0=(Y)=>{if(kn(Y))return[];return Object.keys(Y)},lP6=(Y,Q)=>{if(kn(Y))return Y.events;let X=Y[Q];if(!X)return[];if(_j0(X))return X.events;return Object.keys(X)},Sn=(Y,Q,X)=>{if(Y===vj0){if(!X)return console.warn("[Event] SELF binding used but no connectionId available"),null;return X}let J=Q[Y];if(!CV1(J))return console.warn(`[Event] Binding "${Y}" not found in state`),null;return J.value},dP6=(Y,Q,X)=>{let J=Q;if(kn(Y)){let K=[];for(let W of Y.events){let Z=yj0(W);if(!Z){console.warn(`[Event] Global handler event "${W}" must be prefixed with BINDING:: (e.g., "SELF::${W}" or "DATABASE::${W}")`);continue}let[H,$]=Z,F=Sn(H,J,X);if(!F)continue;K.push({eventType:$,publisher:F})}return K}let G=[];for(let K of fj0(Y)){let W=Sn(K,J,X);if(!W)continue;let Z=lP6(Y,K);for(let H of Z)G.push({eventType:H,publisher:W})}return G},pP6=(Y)=>{let Q=new Map;for(let X of Y){let J=X.source,G=Q.get(J)||[];G.push(X),Q.set(J,G)}return Q},cP6=(Y)=>{let Q=new Map;for(let X of Y){let J=X.type,G=Q.get(J)||[];G.push(X),Q.set(J,G)}return Q},nP6=(Y)=>{let Q={},X={},J=!1,G=0,K=[];for(let W of Y){if(W.results)Object.assign(X,W.results);if(W.success===!1){if(J=!0,W.error)K.push(W.error)}if(W.processedCount!==void 0)G+=W.processedCount}if(Object.keys(X).length>0)Q.results=X;if(Q.success=!J,K.length>0)Q.error=K.join("; ");if(G>0)Q.processedCount=G;return Q},iP6=async(Y,Q,X,J,G)=>{let K=J;if(kn(Y)){let F=new Set;for(let q of Y.events){let U=yj0(q);if(!U)continue;let[z,D]=U,L=Sn(z,K,G);if(!L)continue;F.add(`${L}:${D}`)}let V=Q.filter((q)=>{let U=`${q.source}:${q.type}`;return F.has(U)});if(V.length===0)return{success:!0};try{return await Y.handler({events:V},X)}catch(q){return{success:!1,error:q instanceof Error?q.message:String(q)}}}let W=new Map;for(let F of fj0(Y)){let V=Sn(F,K,G);if(V)W.set(V,F)}let Z=pP6(Q),H=[];for(let[F,V]of Z){let q=W.get(F);if(!q)continue;let U=Y[q];if(!U)continue;if(_j0(U)){H.push((async()=>{try{return await U.handler({events:V},X)}catch(L){let A={};for(let E of V)A[E.id]={success:!1,error:L instanceof Error?L.message:String(L)};return{results:A}}})());continue}let z=U,D=cP6(V);for(let[L,A]of D){let E=z[L];if(!E)continue;H.push((async()=>{try{let T=await E({events:A},X),C={};for(let P of A)C[P.id]=T;return{results:C}}catch(T){let C={};for(let P of A)C[P.id]={success:!1,error:T instanceof Error?T.message:String(T)};return{results:C}}})())}}let $=await Promise.all(H);if($.length===0)return{success:!0};return nP6($)},vn;var vV1=k(()=>{Cn();vn={subscriptions:dP6,execute:iP6,parseCron:mP6}});function x$(Y){return{...Y,execute:(Q)=>{return Y.execute({...Q,runtimeContext:fS(Q.runtimeContext)})}}}function _V1(Y){return Y&&"streamable"in Y&&Y.streamable===!0}var fS=(Y)=>{let Q=US.getStore();if(!Q){if(Y)return Y;throw Error("Missing context, did you forget to call State.bind?")}return Q},aP6=(Y,Q)=>{let X=Q;return typeof X[Y]<"u"?X[Y]:Q?.MESH_REQUEST_CONTEXT?.state?.[Y]},rP6=({events:Y,configuration:{state:Q,scopes:X,onChange:J}={}}={})=>{let G=Q?B.toJSONSchema(Q):{type:"object",properties:{}},K=String(Y?.bus??"EVENT_BUS");return[...J||Y?[x$({id:"ON_MCP_CONFIGURATION",description:"MCP Configuration On Change",inputSchema:B.object({state:Q??B.unknown(),scopes:B.array(B.string()).describe("Array of scopes in format 'KEY::SCOPE' (e.g., 'GMAIL::GetCurrentUser')")}),outputSchema:B.object({}),execute:async(W)=>{let Z=W.context.state;await J?.(W.runtimeContext.env,{state:Z,scopes:W.context.scopes});let H=aP6(K,W.runtimeContext.env);if(Y&&Z&&H){let $=W.runtimeContext.env.MESH_REQUEST_CONTEXT?.connectionId,F=vn.subscriptions(Y?.handlers??{},Z,$);if(await H.EVENT_SYNC_SUBSCRIPTIONS({subscriptions:F}),$){let V=F.filter((q)=>q.eventType.startsWith("cron/")&&q.publisher===$);await Promise.all(V.map(async(q)=>{let U=vn.parseCron(q.eventType);if(U){let[,z]=U;await H.EVENT_PUBLISH({type:q.eventType,cron:z})}}))}}return Promise.resolve({})}})]:[],...Y?.handlers?[x$({id:"ON_EVENTS",description:"Receive and process CloudEvents from the event bus. Returns per-event or batch results.",inputSchema:Rn,outputSchema:In,execute:async(W)=>{let Z=W.runtimeContext.env,H=Z.MESH_REQUEST_CONTEXT?.state,$=Z.MESH_REQUEST_CONTEXT?.connectionId;return vn.execute(Y.handlers,W.context.events,Z,H,$)}})]:[],x$({id:"MCP_CONFIGURATION",description:"MCP Configuration",inputSchema:B.object({}),outputSchema:B.object({stateSchema:B.unknown(),scopes:B.array(B.string()).optional()}),execute:()=>{return Promise.resolve({stateSchema:G,scopes:[...X??[],...Y?[`${K}::EVENT_SYNC_SUBSCRIPTIONS`]:[]]})}})]},bj0=(Y)=>{let Q=async(G)=>{await Y.before?.(G);let K=new Bz({name:"@deco/mcp-api",version:"1.0.0"},{capabilities:{tools:{},prompts:{},resources:{}}}),Z=await(typeof Y.tools==="function"?Y.tools:async(q)=>{if(typeof Y.tools==="function")return await Y.tools(q);return await Promise.all(Y.tools?.flatMap(async(U)=>{let D=await U(q);if(Array.isArray(D))return D;return[D]})??[]).then((U)=>U.flat())})(G);Z.push(...rP6(Y));for(let q of Z)K.registerTool(q.id,{_meta:{streamable:_V1(q),...q._meta??{}},description:q.description,annotations:q.annotations,inputSchema:q.inputSchema&&"shape"in q.inputSchema?q.inputSchema.shape:B.object({}).shape,outputSchema:_V1(q)?B.object({bytes:B.record(B.string(),B.number())}).shape:q.outputSchema&&typeof q.outputSchema==="object"&&("shape"in q.outputSchema)?q.outputSchema.shape:void 0},async(U)=>{let z=await q.execute({context:U,runtimeContext:fS()});if(_V1(q)&&z instanceof Response)return{structuredContent:{streamable:!0,status:z.status,statusText:z.statusText},content:[{type:"text",text:`Streaming response: ${z.status} ${z.statusText}`}]};return{structuredContent:z,content:[{type:"text",text:JSON.stringify(z)}]}});let $=await(typeof Y.prompts==="function"?Y.prompts:async(q)=>{if(typeof Y.prompts==="function")return await Y.prompts(q);return await Promise.all(Y.prompts?.flatMap(async(U)=>{let D=await U(q);if(Array.isArray(D))return D;return[D]})??[]).then((U)=>U.flat())})(G);for(let q of $)K.registerPrompt(q.name,{title:q.title,description:q.description,argsSchema:q.argsSchema?q.argsSchema:B.object({}).shape},async(U)=>{return await q.execute({args:U,runtimeContext:fS()})});let V=await(typeof Y.resources==="function"?Y.resources:async(q)=>{if(typeof Y.resources==="function")return await Y.resources(q);return await Promise.all(Y.resources?.flatMap(async(U)=>{let D=await U(q);if(Array.isArray(D))return D;return[D]})??[]).then((U)=>U.flat())})(G);for(let q of V)K.resource(q.name,q.uri,{description:q.description,mimeType:q.mimeType},async(U)=>{let z=await q.read({uri:U,runtimeContext:fS()}),D={uri:z.uri};if(z.mimeType)D.mimeType=z.mimeType;if(z.text!==void 0)return{contents:[{uri:z.uri,mimeType:z.mimeType,text:z.text}]};else if(z.blob!==void 0)return{contents:[{uri:z.uri,mimeType:z.mimeType,blob:z.blob}]};return{contents:[{uri:z.uri,mimeType:z.mimeType,text:""}]}});return{server:K,tools:Z,prompts:$,resources:V}};return{fetch:async(G,K)=>{let{server:W}=await Q(K),Z=new h$;await W.connect(Z);try{let H=await Z.handleRequest(G),$=H.headers.get("content-type");if(!($?.includes("text/event-stream")||$?.includes("application/json-rpc"))){console.debug("[MCP Transport] Closing transport for non-streaming response");try{await Z.close?.()}catch{}}else console.debug("[MCP Transport] Keeping transport open for streaming response (Content-Type: %s)",$);return H}catch(H){console.debug("[MCP Transport] Closing transport due to error:",H instanceof Error?H.message:H);try{await Z.close?.()}catch{}throw H}},callTool:async({toolCallId:G,toolCallInput:K})=>{let W=US.getStore();if(!W)throw Error("Missing state, did you forget to call State.bind?");let Z=W?.env,{tools:H}=await Q(Z),F=H.find((V)=>V.id===G)?.execute;if(!F)throw Error(`Tool ${G} not found or does not have an execute function`);return F({context:K,runtimeContext:fS()})}}};var _n=k(()=>{_S();bm();yS();i1();vV1();RV1();vV1()});var oP6=({env:Y,server:Q,url:X})=>{Y.SELF=new Proxy({},{get:(J,G)=>{if(G==="toJSON")return null;return async(K)=>{return await Q.callTool({toolCallId:G,toolCallInput:K})}}}),Y.IS_LOCAL=(X?.startsWith("http://localhost")||X?.startsWith("http://127.0.0.1"))??!1},hj0=(Y)=>()=>{return{...Y??{}}},sP6=({env:Y,server:Q,tokenOrContext:X,url:J,authToken:G})=>{let K=Y,W=G?G.split(" ")[1]:void 0,Z;if(typeof X==="string"){let H=m9(X),$=H.metadata??{};Z={authorization:W,state:H.state??$.state??{},token:X,meshUrl:H.meshUrl??$.meshUrl,connectionId:H.connectionId??$.connectionId,organizationId:H.organizationId??$.organizationId,ensureAuthenticated:hj0(H.user??H.sub)}}else if(typeof X==="object"){Z=X;let H=m9(X.token),$=H.metadata??{},F=H.appName;Z.authorization??=W,Z.callerApp=F,Z.connectionId??=H.connectionId??$.connectionId,Z.ensureAuthenticated=hj0(H.user??H.sub)}else Z={state:{},authorization:W,token:void 0,meshUrl:void 0,connectionId:void 0,ensureAuthenticated:()=>{throw Error("Unauthorized")}};return K.MESH_REQUEST_CONTEXT=Z,Z.state=Jj0(Z),oP6({env:K,server:Q,url:J}),K},tP6,xj0=(Y)=>{let Q=bj0(Y),X=Y.cors??tP6,J=Y.oauth,G=J?Vj0(J):null,K=async(W,Z,H)=>{let $=new URL(W.url);if(G){if($.pathname==="/.well-known/oauth-protected-resource"||$.pathname==="/mcp/.well-known/oauth-protected-resource")return G.handleProtectedResourceMetadata(W);if($.pathname==="/.well-known/oauth-authorization-server")return G.handleAuthorizationServerMetadata(W);if($.pathname==="/authorize")return G.handleAuthorize(W);if($.pathname==="/oauth/callback")return G.handleOAuthCallback(W);if($.pathname==="/token"&&W.method==="POST")return G.handleToken(W);if(($.pathname==="/register"||$.pathname==="/mcp/register")&&W.method==="POST")return G.handleClientRegistration(W)}if($.pathname==="/mcp"){if(W.method==="GET")return new Response("Method not allowed",{status:405});if(G&&!G.hasAuth(W)){let F=W.clone();try{if((await F.json())?.method!=="tools/list")return G.createUnauthorizedResponse(W)}catch{return G.createUnauthorizedResponse(W)}}return Q.fetch(W,Z,H)}if($.pathname.startsWith("/mcp/call-tool")){let F=$.pathname.split("/").pop();if(!F)return new Response("Not found",{status:404});let V=await W.json(),q=await Q.callTool({toolCallId:F,toolCallInput:V});if(q instanceof Response)return q;return new Response(JSON.stringify(q),{headers:{"Content-Type":"application/json"}})}return Y.fetch?.(W,Z,H)||new Response("Not found",{status:404})};return{fetch:async(W,Z,H)=>{if(new URL(W.url).pathname==="/_healthcheck")return new Response("OK",{status:200});if(X!==!1&&W.method==="OPTIONS")return Wj0(W,X??{});let $=sP6({authToken:W.headers.get("authorization")??null,env:{...process.env,...Z},server:Q,tokenOrContext:W.headers.get("x-mesh-token")??void 0,url:W.url}),F=await US.run({req:W,env:$,ctx:H},async()=>await K(W,$,H));if(X!==!1)return Zj0(F,W,X??{});return F}}};var gj0=k(()=>{VG();Cn();Kj0();RV1();_n();_n();Cn();EV1();tP6={origin:(Y)=>{if(Y.includes("localhost")||Y.includes("127.0.0.1"))return Y;return Y},credentials:!0,allowMethods:["GET","POST","PUT","DELETE","OPTIONS"],allowHeaders:["Content-Type","Authorization","mcp-protocol-version"]}});function yn(Y){return Buffer.from(String(Y),"utf8").toString("base64")}function bn(Y){if(!Y)return null;try{let Q=Buffer.from(Y,"base64").toString("utf8"),X=Number.parseInt(Q,10);return Number.isNaN(X)||X<0?null:X}catch{return null}}function NX(Y){if(!Y?.length)return[];return Array.from(new Set(Y.map((Q)=>Q.trim()).filter((Q)=>Q.length>0).map((Q)=>Q.toLowerCase())))}function kD(Y){if(!Y)return[];return NX(Y.split(","))}function hn(Y,Q){if(!Y)return Q;try{return JSON.parse(Y)}catch{return Q}}function xn(Y){return Y?.["mcp.mesh"]??{}}function gn(Y){return Y.length?Y.join(","):null}function eP6(Y,Q){if(!Q?.length)return;let X=Y;for(let J of Q){if(X===null||X===void 0)return;if(typeof X!=="object")return;X=X[J]}return X}function YE6(Y,Q,X){if(!Q)return!1;if(Q==="eq")return Y===X;if(Q==="contains"||Q==="like"){let J=String(Y??"").toLowerCase(),G=String(X??"").toLowerCase();return J.includes(G)}if(Q==="in"){if(!Array.isArray(X))return!1;return X.includes(Y)}if(Q==="gt")return Number(Y)>Number(X);if(Q==="gte")return Number(Y)>=Number(X);if(Q==="lt")return Number(Y)<Number(X);if(Q==="lte")return Number(Y)<=Number(X);return!1}function bS(Y,Q){if(!Q)return!0;if(Array.isArray(Q.conditions)&&Q.conditions.length){if(Q.operator==="and")return Q.conditions.every((X)=>bS(Y,X));if(Q.operator==="or")return Q.conditions.some((X)=>bS(Y,X));if(Q.operator==="not")return!Q.conditions.some((X)=>bS(Y,X))}return YE6(eP6(Y,Q.field),Q.operator,Q.value)}class hS{db;constructor(Y){this.db=Y}async create(Y){let Q=new Date().toISOString(),X=Y._meta??{},J=xn(X),G=NX(J.tags),K=NX(J.categories),W={id:Y.id,organization_id:Y.organization_id,title:Y.title,description:Y.description??null,server_json:JSON.stringify(Y.server),meta_json:JSON.stringify(X),tags:gn(G),categories:gn(K),is_public:Y.is_public?1:0,is_unlisted:Y.is_unlisted?1:0,created_at:Q,updated_at:Q,created_by:Y.created_by??null};await this.db.insertInto("private_registry_item").values(W).execute();let Z=await this.findById(Y.organization_id,Y.id);if(!Z)throw Error(`Failed to create registry item "${Y.id}"`);return Z}async findById(Y,Q){let X=await this.db.selectFrom("private_registry_item").selectAll().where("organization_id","=",Y).where("id","=",Q).executeTakeFirst();return X?this.deserialize(X):null}async findByIdOrName(Y,Q){let X=await this.findById(Y,Q);if(X)return X;let J=await this.db.selectFrom("private_registry_item").selectAll().where("organization_id","=",Y).where("title","=",Q).executeTakeFirst();return J?this.deserialize(J):null}async update(Y,Q,X){let J=await this.findById(Y,Q);if(!J)throw Error(`Registry item not found: ${Q}`);let G=X._meta??J._meta??{},K=xn(G),W=NX(K.tags),Z=NX(K.categories),H={updated_at:new Date().toISOString()};if(X.title!==void 0)H.title=X.title;if(X.description!==void 0)H.description=X.description;if(X.server!==void 0)H.server_json=JSON.stringify(X.server);if(X._meta!==void 0)H.meta_json=JSON.stringify(X._meta);if(X._meta!==void 0)H.tags=gn(W),H.categories=gn(Z);if(X.is_public!==void 0)H.is_public=X.is_public?1:0;if(X.is_unlisted!==void 0)H.is_unlisted=X.is_unlisted?1:0;await this.db.updateTable("private_registry_item").set(H).where("organization_id","=",Y).where("id","=",Q).execute();let $=await this.findById(Y,Q);if(!$)throw Error(`Registry item not found after update: ${Q}`);return $}async delete(Y,Q){let X=await this.findById(Y,Q);if(!X)return null;return await this.db.deleteFrom("private_registry_item").where("organization_id","=",Y).where("id","=",Q).execute(),X}async list(Y,Q={}){let X=this.db.selectFrom("private_registry_item").selectAll().where("organization_id","=",Y).orderBy("created_at","desc");if(!Q.includeUnlisted)X=X.where("is_unlisted","=",0);let G=(await X.execute()).map((z)=>this.deserialize(z)),K=NX(Q.tags),W=NX(Q.categories),Z=G.filter((z)=>{let D=xn(z._meta),L=NX(D.tags),A=NX(D.categories),E=K.length===0||K.every((P)=>L.includes(P)),T=W.length===0||W.every((P)=>A.includes(P)),C=bS(z,Q.where);return E&&T&&C}),$=bn(Q.cursor)??Q.offset??0,F=Q.limit??24,V=Z.slice($,$+F),q=$+F<Z.length,U=q?yn($+F):void 0;return{items:V,totalCount:Z.length,hasMore:q,nextCursor:U}}async listPublic(Y,Q={}){let J=(await this.db.selectFrom("private_registry_item").selectAll().where("organization_id","=",Y).where("is_public","=",1).where("is_unlisted","=",0).orderBy("created_at","desc").execute()).map((U)=>this.deserialize(U)),G=NX(Q.tags),K=NX(Q.categories),W=J.filter((U)=>{let z=xn(U._meta),D=NX(z.tags),L=NX(z.categories),A=G.length===0||G.every((C)=>D.includes(C)),E=K.length===0||K.every((C)=>L.includes(C)),T=bS(U,Q.where);return A&&E&&T}),H=bn(Q.cursor)??Q.offset??0,$=Q.limit??24,F=W.slice(H,H+$),V=H+$<W.length,q=V?yn(H+$):void 0;return{items:F,totalCount:W.length,hasMore:V,nextCursor:q}}async getFilters(Y,Q){let X=this.db.selectFrom("private_registry_item").select(["tags","categories"]).where("organization_id","=",Y);if(Q?.publicOnly)X=X.where("is_public","=",1);if(!Q?.includeUnlisted)X=X.where("is_unlisted","=",0);let J=await X.execute(),G=new Map,K=new Map;for(let Z of J){for(let H of kD(Z.tags))G.set(H,(G.get(H)??0)+1);for(let H of kD(Z.categories))K.set(H,(K.get(H)??0)+1)}let W=(Z)=>Array.from(Z.entries()).map(([H,$])=>({value:H,count:$})).sort((H,$)=>H.value.localeCompare($.value));return{tags:W(G),categories:W(K)}}async search(Y,Q={},X){let J=this.db.selectFrom("private_registry_item").select(["id","title","description","meta_json","server_json","tags","categories","is_public","is_unlisted"]).where("organization_id","=",Y).orderBy("created_at","desc");if(X?.publicOnly)J=J.where("is_public","=",1);if(!X?.includeUnlisted)J=J.where("is_unlisted","=",0);let G=await J.execute(),K=Q.query?.trim().toLowerCase(),W=NX(Q.tags),Z=NX(Q.categories),H=G.filter((L)=>{if(K){let A=hn(L.server_json,{}),T=hn(L.meta_json,{})?.["mcp.mesh"]?.short_description??"";if(![L.id,L.title,L.description??"",A.name??"",A.description??"",T].join(" ").toLowerCase().includes(K))return!1}if(W.length>0){let A=NX(kD(L.tags));if(!W.every((E)=>A.includes(E)))return!1}if(Z.length>0){let A=NX(kD(L.categories));if(!Z.every((E)=>A.includes(E)))return!1}return!0}),F=bn(Q.cursor)??0,V=Q.limit??20,q=H.slice(F,F+V),U=F+V<H.length,z=U?yn(F+V):void 0;return{items:q.map((L)=>({id:L.id,title:L.title,tags:kD(L.tags),categories:kD(L.categories),is_public:L.is_public===1,is_unlisted:L.is_unlisted===1})),totalCount:H.length,hasMore:U,nextCursor:z}}deserialize(Y){let Q=hn(Y.server_json,{}),X=hn(Y.meta_json,{});return{id:Y.id,name:typeof Q.name==="string"?Q.name:void 0,title:Y.title,description:Y.description,_meta:X,server:Q,is_public:Y.is_public===1,is_unlisted:Y.is_unlisted===1,created_at:Y.created_at,updated_at:Y.updated_at,...Y.created_by?{created_by:Y.created_by}:{}}}}var yV1=()=>{};var un,QE6,mn,uZ,fV1,XE6,gq,qw,LG,vD,bV1,uj0,hV1,mj0,xV1,lj0,gV1,dj0,Bw,JE6,xS,GE6,ln,uV1,pj0,cj0,mV1,nj0,ij0,aj0,rj0,oj0,sj0,tj0,ej0,WE6,lV1,YS0,QS0,dV1,XS0;var cY=k(()=>{NG();i1();un=B.object({name:B.string(),title:B.string().optional(),description:B.string().optional(),version:B.string().optional(),websiteUrl:B.string().optional(),icons:B.array(B.object({src:B.string()})).optional(),remotes:B.array(B.object({type:B.string().optional(),url:B.string().optional(),name:B.string().optional(),title:B.string().optional(),description:B.string().optional()})).optional(),packages:B.array(B.object({identifier:B.string(),version:B.string().optional()})).optional(),repository:B.object({url:B.string().optional(),source:B.string().optional(),subfolder:B.string().optional()}).optional()}),QE6=B.object({name:B.string(),description:B.string().nullable().optional()}),mn=B.object({"mcp.mesh":B.object({verified:B.boolean().optional(),tags:B.array(B.string()).optional(),categories:B.array(B.string()).optional(),friendly_name:B.string().nullable().optional(),short_description:B.string().max(160).nullable().optional(),owner:B.string().nullable().optional(),readme:B.string().max(50000).nullable().optional(),readme_url:B.string().url().nullable().optional(),has_remote:B.boolean().optional(),has_oauth:B.boolean().optional(),tools:B.array(QE6).optional()}).optional()}).catchall(B.unknown()),uZ=B.object({id:B.string(),name:B.string().optional(),title:B.string(),description:B.string().nullable().optional(),_meta:mn.optional(),server:un,is_public:B.boolean().optional(),created_at:B.string(),updated_at:B.string(),created_by:B.string().optional()}),fV1=B.object({id:B.string(),title:B.string(),description:B.string().nullable().optional(),_meta:mn.optional(),server:un,is_public:B.boolean().optional()}),XE6=B.object({title:B.string().optional(),description:B.string().nullable().optional(),_meta:mn.optional(),server:un.optional(),is_public:B.boolean().optional()}),gq=gZ.extend({tags:B.array(B.string()).optional().describe("Filter by tags (AND semantics)"),categories:B.array(B.string()).optional().describe("Filter by categories (AND semantics)"),cursor:B.string().optional().describe("Pagination cursor")}).describe("List registry items with optional filtering and pagination."),qw=B.object({items:B.array(uZ),totalCount:B.number(),hasMore:B.boolean().optional(),nextCursor:B.string().optional()}),LG=B.object({id:B.string().optional().describe("Registry item ID"),name:B.string().optional().describe("Registry item name (alias for id)")}).refine((Y)=>Y.id||Y.name,{message:"At least one of 'id' or 'name' is required"}).describe("Get a registry item by ID or name."),vD=B.object({item:uZ.nullable()}),bV1=B.object({data:fV1}),uj0=B.object({item:uZ}),hV1=B.object({items:B.array(fV1).min(1)}),mj0=B.object({created:B.number(),errors:B.array(B.object({id:B.string(),error:B.string()}))}),xV1=B.object({id:B.string(),data:XE6}),lj0=B.object({item:uZ}),gV1=B.object({id:B.string()}),dj0=B.object({item:uZ}),Bw=B.object({tags:B.array(B.object({value:B.string(),count:B.number()})),categories:B.array(B.object({value:B.string(),count:B.number()}))}),JE6=B.enum(["description","short_description","tags","categories","readme"]),xS=B.object({query:B.string().optional().describe("Free-text search across id, title, description, server name"),tags:B.array(B.string()).optional().describe("Filter by tags (AND)"),categories:B.array(B.string()).optional().describe("Filter by categories (AND)"),limit:B.number().int().min(1).max(100).optional().describe("Max results (default 20)"),cursor:B.string().optional().describe("Pagination cursor")}).describe("Lightweight search returning minimal fields (id, title, tags, categories, is_public)."),GE6=B.object({id:B.string(),title:B.string(),tags:B.array(B.string()),categories:B.array(B.string()),is_public:B.boolean()}),ln=B.object({items:B.array(GE6),totalCount:B.number(),hasMore:B.boolean().optional(),nextCursor:B.string().optional()}),uV1=B.object({type:JE6.describe("Which content to generate"),llmConnectionId:B.string().describe("Connection ID of a language model"),modelId:B.string().describe("Model ID to use"),context:B.object({name:B.string().optional(),provider:B.string().optional(),url:B.string().optional(),owner:B.string().optional(),repositoryUrl:B.string().optional(),description:B.string().optional(),shortDescription:B.string().optional(),tags:B.array(B.string()).optional(),categories:B.array(B.string()).optional(),availableTags:B.array(B.string()).optional(),availableCategories:B.array(B.string()).optional(),tools:B.array(B.object({name:B.string(),description:B.string().nullable().optional()})).optional()})}),pj0=B.object({result:B.string().optional(),items:B.array(B.string()).optional()}),cj0=B.enum(["pending","approved","rejected"]),mV1=B.object({id:B.string(),organization_id:B.string(),requested_id:B.string().nullable().optional(),status:cj0,title:B.string(),description:B.string().nullable().optional(),_meta:mn.optional(),server:un,requester_name:B.string().nullable().optional(),requester_email:B.string().nullable().optional(),reviewer_notes:B.string().nullable().optional(),created_at:B.string(),updated_at:B.string()}),nj0=B.object({status:cj0.optional(),limit:B.number().int().min(1).max(200).optional(),offset:B.number().int().min(0).optional(),sortBy:B.enum(["created_at","title"]).optional(),sortDirection:B.enum(["asc","desc"]).optional()}),ij0=B.object({items:B.array(mV1),totalCount:B.number()}),aj0=B.object({id:B.string(),status:B.enum(["approved","rejected"]),reviewerNotes:B.string().nullable().optional()}),rj0=B.object({item:mV1}),oj0=B.object({pending:B.number()}),sj0=B.object({id:B.string()}),tj0=B.object({item:mV1.nullable()}),ej0=B.object({data:fV1,requester:B.object({name:B.string().optional(),email:B.string().email().optional()}).optional()}),WE6=B.object({id:B.string(),name:B.string(),prefix:B.string(),createdAt:B.string()}),lV1=B.object({name:B.string().min(1).max(64).describe("A descriptive name for this key")}),YS0=B.object({id:B.string(),name:B.string(),prefix:B.string(),key:B.string().describe("The full API key \u2014 shown only once!"),createdAt:B.string()}),QS0=B.object({items:B.array(WE6)}),dV1=B.object({keyId:B.string()}),XS0=B.object({success:B.boolean(),keyId:B.string()})});function ZE6(Y,Q){let X=x$({id:"COLLECTION_REGISTRY_APP_LIST",description:"List public registry items",inputSchema:gq,outputSchema:qw,execute:async({context:Z})=>{return await Y.listPublic(Q,{limit:Z.limit,offset:Z.offset,cursor:Z.cursor,tags:Z.tags,categories:Z.categories,where:Z.where})}}),J=x$({id:"COLLECTION_REGISTRY_APP_GET",description:"Get a public registry item by ID or name",inputSchema:LG,outputSchema:vD,execute:async({context:Z})=>{let H=Z.id??Z.name;if(!H)return{item:null};let $=await Y.findByIdOrName(Q,H);if($&&$.is_public)return{item:$};return{item:null}}}),G=x$({id:"COLLECTION_REGISTRY_APP_VERSIONS",description:"Get available versions of a public registry item",inputSchema:LG,outputSchema:B.object({versions:B.array(vD.shape.item)}),execute:async({context:Z})=>{let H=Z.id??Z.name;if(!H)return{versions:[]};let $=await Y.findByIdOrName(Q,H);if($&&$.is_public)return{versions:[$]};return{versions:[]}}}),K=x$({id:"COLLECTION_REGISTRY_APP_SEARCH",description:"Search public registry items returning minimal data (id, title, tags, categories, is_public). Use this instead of LIST when you need to find items efficiently without loading full details.",inputSchema:xS,outputSchema:ln,execute:async({context:Z})=>{return await Y.search(Q,Z,{publicOnly:!0})}}),W=x$({id:"COLLECTION_REGISTRY_APP_FILTERS",description:"Get available tags and categories for public registry items",inputSchema:B.object({}),outputSchema:Bw,execute:async()=>{return await Y.getFilters(Q,{publicOnly:!0})}});return[X,K,J,G,W]}function pV1(Y,Q){let X=Q.db,J=new hS(X);Y.all("/org/:orgSlug/registry/*",async(G)=>{let K=G.req.param("orgSlug");console.log(`[Public Registry MCP] Request for org slug: ${K}, path: ${G.req.path}`);let W=await X.selectFrom("organization").select(["id","slug","name"]).where("slug","=",K).executeTakeFirst();if(console.log("[Public Registry MCP] Found org:",W),!W)return console.log(`[Public Registry MCP] Organization not found: ${K}`),G.json({error:"Organization not found"},404);let Z=ZE6(J,W.id),H=xj0({tools:()=>Z}),$=new URL(G.req.url),F=G.req.path.replace(`/org/${K}/registry`,""),V=new URL(F||"/",$.origin);$.searchParams.forEach((z,D)=>{V.searchParams.set(D,z)}),console.log(`[Public Registry MCP] Rewriting ${$.pathname} to ${V.pathname}`);let q=new Request(V.toString(),{method:G.req.method,headers:G.req.raw.headers,body:G.req.method!=="GET"&&G.req.method!=="HEAD"?G.req.raw.body:void 0}),U={organizationId:W.id,db:X,MESH_REQUEST_CONTEXT:{},MESH_APP_DEPLOYMENT_ID:"public-registry",IS_LOCAL:!1};return await H.fetch(q,U,G)})}var JS0=k(()=>{gj0();_n();i1();yV1();cY()});import{randomUUID as KE6}from"crypto";function GS0(Y,Q){if(!Y)return Q;try{return JSON.parse(Y)}catch{return Q}}class gS{db;constructor(Y){this.db=Y}async createOrUpdate(Y){let Q=new Date().toISOString(),X=await this.findPendingByRequestedId(Y.organization_id,Y.requested_id);if(X){let W={title:Y.title,description:Y.description??null,server_json:JSON.stringify(Y.server),meta_json:Y._meta?JSON.stringify(Y._meta):null,requester_name:Y.requester_name??null,requester_email:Y.requester_email??null,updated_at:Q};await this.db.updateTable("private_registry_publish_request").set(W).where("organization_id","=",Y.organization_id).where("id","=",X.id).execute();let Z=await this.findById(Y.organization_id,X.id);if(!Z)throw Error("Failed to update publish request");return Z}let J=KE6(),G={id:J,organization_id:Y.organization_id,requested_id:Y.requested_id,status:"pending",title:Y.title,description:Y.description??null,server_json:JSON.stringify(Y.server),meta_json:Y._meta?JSON.stringify(Y._meta):null,requester_name:Y.requester_name??null,requester_email:Y.requester_email??null,reviewer_notes:null,created_at:Q,updated_at:Q};await this.db.insertInto("private_registry_publish_request").values(G).execute();let K=await this.findById(Y.organization_id,J);if(!K)throw Error("Failed to create publish request");return K}async findPendingByRequestedId(Y,Q){let X=await this.db.selectFrom("private_registry_publish_request").selectAll().where("organization_id","=",Y).where("requested_id","=",Q).where("status","=","pending").executeTakeFirst();return X?this.deserialize(X):null}async findById(Y,Q){let X=await this.db.selectFrom("private_registry_publish_request").selectAll().where("organization_id","=",Y).where("id","=",Q).executeTakeFirst();return X?this.deserialize(X):null}async list(Y,Q={}){let X=this.db.selectFrom("private_registry_publish_request").selectAll().where("organization_id","=",Y),J=this.db.selectFrom("private_registry_publish_request").select(($)=>$.fn.countAll().as("count")).where("organization_id","=",Y);if(Q.status)X=X.where("status","=",Q.status),J=J.where("status","=",Q.status);let G=await J.executeTakeFirst(),K=Number(G?.count??0),W=Q.sortBy??"created_at",Z=Q.sortDirection??"desc";if(W==="title")X=X.orderBy("title",Z);else X=X.orderBy("created_at",Z);return{items:(await X.limit(Q.limit??24).offset(Q.offset??0).execute()).map(($)=>this.deserialize($)),totalCount:K}}async updateStatus(Y,Q,X,J){let G={status:X,updated_at:new Date().toISOString(),reviewer_notes:J??null};await this.db.updateTable("private_registry_publish_request").set(G).where("organization_id","=",Y).where("id","=",Q).execute();let K=await this.findById(Y,Q);if(!K)throw Error(`Publish request not found: ${Q}`);return K}async countPending(Y){let Q=await this.db.selectFrom("private_registry_publish_request").select((X)=>X.fn.countAll().as("count")).where("organization_id","=",Y).where("status","=","pending").executeTakeFirst();return Number(Q?.count??0)}async delete(Y,Q){let X=await this.findById(Y,Q);if(!X)return null;return await this.db.deleteFrom("private_registry_publish_request").where("organization_id","=",Y).where("id","=",Q).execute(),X}deserialize(Y){return{id:Y.id,organization_id:Y.organization_id,requested_id:Y.requested_id??null,status:Y.status,title:Y.title,description:Y.description,_meta:GS0(Y.meta_json,{}),server:GS0(Y.server_json,{name:""}),requester_name:Y.requester_name,requester_email:Y.requester_email,reviewer_notes:Y.reviewer_notes,created_at:Y.created_at,updated_at:Y.updated_at}}}var cV1=()=>{};import{randomUUID as HE6}from"crypto";async function WS0(Y){let X=new TextEncoder().encode(Y),J=await crypto.subtle.digest("SHA-256",X);return Array.from(new Uint8Array(J)).map((K)=>K.toString(16).padStart(2,"0")).join("")}function $E6(){let Y=new Uint8Array(32);return crypto.getRandomValues(Y),`prk_${Array.from(Y).map((X)=>X.toString(16).padStart(2,"0")).join("")}`}class uS{db;constructor(Y){this.db=Y}async generate(Y,Q){let X=HE6(),J=$E6(),G=await WS0(J),K=J.slice(0,12),W=new Date().toISOString();return await this.db.insertInto("private_registry_publish_api_key").values({id:X,organization_id:Y,name:Q,key_hash:G,prefix:K,created_at:W}).execute(),{entity:{id:X,organization_id:Y,name:Q,prefix:K,created_at:W},key:J}}async list(Y){return await this.db.selectFrom("private_registry_publish_api_key").select(["id","organization_id","name","prefix","created_at"]).where("organization_id","=",Y).orderBy("created_at","desc").execute()}async revoke(Y,Q){return(await this.db.deleteFrom("private_registry_publish_api_key").where("organization_id","=",Y).where("id","=",Q).execute()).length>0}async validate(Y,Q){let X=await WS0(Q),J=await this.db.selectFrom("private_registry_publish_api_key").select(["id"]).where("organization_id","=",Y).where("key_hash","=",X).executeTakeFirst();return Boolean(J)}async hasKeys(Y){let Q=await this.db.selectFrom("private_registry_publish_api_key").select((X)=>X.fn.countAll().as("count")).where("organization_id","=",Y).executeTakeFirst();return Number(Q?.count??0)>0}}var nV1=()=>{};import{sql as FE6}from"kysely";import{randomUUID as ZS0}from"crypto";async function qE6(Y){let Q=new Date().toISOString(),X=ZS0(),J=RY.SELF(Y.organizationId),G="registry.publish_request.created",K={requestId:Y.request.id,requestedId:Y.request.requested_id,title:Y.request.title,status:Y.request.status,createdAt:Y.request.created_at,requester:{name:Y.request.requester_name,email:Y.request.requester_email}};await Y.db.insertInto("events").values({id:X,organization_id:Y.organizationId,type:"registry.publish_request.created",source:J,specversion:"1.0",subject:Y.request.id,time:Q,datacontenttype:"application/json",dataschema:null,data:JSON.stringify(K),cron:null,status:"pending",attempts:0,last_error:null,next_retry_at:null,created_at:Q,updated_at:Q}).execute();let W=await Y.db.selectFrom("event_subscriptions").select(["id"]).where("organization_id","=",Y.organizationId).where("enabled","=",1).where("event_type","=","registry.publish_request.created").where((Z)=>Z.or([Z("publisher","is",null),Z("publisher","=",J)])).execute();if(W.length>0)await Y.db.insertInto("event_deliveries").values(W.map((Z)=>({id:ZS0(),event_id:X,subscription_id:Z.id,status:"pending",attempts:0,last_error:null,delivered_at:null,next_retry_at:null,created_at:Q}))).execute();try{await FE6`SELECT pg_notify('mesh_events', ${X})`.execute(Y.db)}catch{}}async function BE6(Y,Q){let J=(await Y.selectFrom("organization").select(["id"]).where("id","=",Q).execute())[0];if(J?.id)return J.id;return(await Y.selectFrom("organization").select(["id"]).where("slug","=",Q).execute())[0]?.id??null}async function UE6(Y,Q){let X=await Y.selectFrom("project_plugin_configs").innerJoin("projects","projects.id","project_plugin_configs.project_id").select(["project_plugin_configs.settings as settings"]).where("projects.organization_id","=",Q).where("project_plugin_configs.plugin_id","=",kH).execute();for(let J of X){let G=J.settings,K=typeof G==="string"?(()=>{try{return JSON.parse(G)}catch{return{}}})():G??{};if(K.acceptPublishRequests===!0){let W=K.rateLimitWindow==="minute"?"minute":"hour",Z=K.rateLimitMax,H=typeof Z==="number"&&Number.isFinite(Z)&&Z>=1?Math.floor(Z):HS0;return{acceptPublishRequests:!0,requireApiToken:K.requireApiToken===!0,rateLimitEnabled:K.rateLimitEnabled===void 0?KS0:K.rateLimitEnabled===!0,rateLimitWindow:W,rateLimitMax:H}}}return{acceptPublishRequests:!1,requireApiToken:!1,rateLimitEnabled:KS0,rateLimitWindow:VE6,rateLimitMax:HS0}}async function zE6(Y,Q,X){let J=X==="minute"?60000:3600000,G=new Date(Date.now()-J).toISOString(),K=await Y.selectFrom("private_registry_publish_request").select((W)=>W.fn.countAll().as("count")).where("organization_id","=",Q).where("created_at",">=",G).executeTakeFirst();return Number(K?.count??0)}async function DE6(Y,Q,X,J){let G=await Y.selectFrom("private_registry_item").select(["id","title"]).where("organization_id","=",Q).where((K)=>K.or([K("id","=",X),K("title","=",J)])).executeTakeFirst();return G?{id:String(G.id),title:String(G.title)}:null}function iV1(Y,Q){let{db:X,db:J}=Q,G=new gS(J),K=new uS(J);Y.post("/org/:orgRef/registry/publish-request",async(W)=>{let Z=W.req.param("orgRef"),H=await BE6(X,Z);if(!H)return W.json({error:"Organization not found"},404);let $=await UE6(X,H);if(!$.acceptPublishRequests)return W.json({error:"Publish requests are not enabled for this registry."},403);if($.requireApiToken){let z=W.req.header("Authorization"),D=z?.startsWith("Bearer ")?z.slice(7).trim():null;if(!D)return W.json({error:"API key required. Use Authorization: Bearer <key>"},401);if(!await K.validate(H,D))return W.json({error:"Invalid API key"},401)}if($.rateLimitEnabled){if(await zE6(J,H,$.rateLimitWindow)>=$.rateLimitMax)return W.json({error:"Too many publish requests. Please try again later.",retryAfterSeconds:$.rateLimitWindow==="minute"?60:3600},429)}let F;try{F=await W.req.json()}catch{return W.json({error:"Invalid JSON body"},400)}let V=ej0.safeParse(F);if(!V.success)return W.json({error:"Invalid publish request payload",details:B.treeifyError(V.error)},400);let q=await DE6(J,H,V.data.data.id,V.data.data.title);if(q)return W.json({error:"A registry item with the same id or title already exists. Please use a different name/id.",conflict:q},409);let U=await G.createOrUpdate({organization_id:H,requested_id:V.data.data.id,title:V.data.data.title,description:V.data.data.description??null,_meta:V.data.data._meta,server:V.data.data.server,requester_name:V.data.requester?.name??null,requester_email:V.data.requester?.email??null});try{await qE6({db:X,organizationId:H,request:U})}catch(z){console.warn("[private-registry] failed to emit publish-request event:",z)}return W.json({id:U.id,requested_id:U.requested_id,status:U.status},201)})}var KS0=!0,VE6="hour",HS0=100;var $S0=k(()=>{IY();i1();RD();cV1();nV1();cY()});var FS0=k(()=>{JS0();$S0()});function VS0(Y){aV1=Y}function S4(){if(!aV1)throw Error(`Plugin storage not initialized. Make sure the "${kH}" plugin is enabled.`);return aV1}async function OE6(Y){if(!Y.organization)throw Error("Organization context required");return await Y.access.check(),Y}function t4(Y,Q){return async(X,J)=>{let G=await OE6(J);return Q(X,G)}}function NE6(Y){if(!Y)return{};if(typeof Y==="string")try{return JSON.parse(Y)}catch{return{}}if(typeof Y==="object")return Y;return{}}async function mS(Y,Q){let J=(await Y.db.selectFrom("project_plugin_configs").innerJoin("projects","projects.id","project_plugin_configs.project_id").select(["project_plugin_configs.settings as settings"]).where("projects.organization_id","=",Q).where("project_plugin_configs.plugin_id","=",kH).execute()).map((K)=>NE6(K.settings)),G={acceptPublishRequests:J.some((K)=>K.acceptPublishRequests===!0),requireApiToken:J.some((K)=>K.requireApiToken===!0),storePrivateOnly:J.some((K)=>K.storePrivateOnly===!0)};if(G.acceptPublishRequests||G.requireApiToken||G.storePrivateOnly)return G;for(let K of J)if(Object.keys(K).length>0)return K;return{}}var aV1=null;var J9=k(()=>{RD()});import{randomUUID as qS0}from"crypto";function BS0(Y,Q){if(!Y)return Q;try{return JSON.parse(Y)}catch{return Q}}class rV1{db;constructor(Y){this.db=Y}async create(Y){let Q=qS0(),X=new Date().toISOString(),J={id:Q,organization_id:Y.organization_id,status:Y.status??"pending",config_snapshot:Y.config_snapshot?JSON.stringify(Y.config_snapshot):null,total_items:Y.total_items??0,tested_items:0,passed_items:0,failed_items:0,skipped_items:0,current_item_id:null,started_at:Y.started_at??null,finished_at:null,created_at:X};await this.db.insertInto("private_registry_monitor_run").values(J).execute();let G=await this.findById(Y.organization_id,Q);if(!G)throw Error(`Failed to create monitor run ${Q}`);return G}async findById(Y,Q){let X=await this.db.selectFrom("private_registry_monitor_run").selectAll().where("organization_id","=",Y).where("id","=",Q).executeTakeFirst();return X?this.deserializeRun(X):null}async list(Y,Q={}){let X=this.db.selectFrom("private_registry_monitor_run").selectAll().where("organization_id","=",Y),J=this.db.selectFrom("private_registry_monitor_run").select((Z)=>Z.fn.countAll().as("count")).where("organization_id","=",Y);if(Q.status)X=X.where("status","=",Q.status),J=J.where("status","=",Q.status);let G=await J.executeTakeFirst(),K=Number(G?.count??0);return{items:(await X.orderBy("created_at","desc").limit(Q.limit??24).offset(Q.offset??0).execute()).map((Z)=>this.deserializeRun(Z)),totalCount:K}}async update(Y,Q,X){let J={};if(X.total_items!==void 0)J.total_items=X.total_items;if(X.status!==void 0)J.status=X.status;if(X.tested_items!==void 0)J.tested_items=X.tested_items;if(X.passed_items!==void 0)J.passed_items=X.passed_items;if(X.failed_items!==void 0)J.failed_items=X.failed_items;if(X.skipped_items!==void 0)J.skipped_items=X.skipped_items;if(X.current_item_id!==void 0)J.current_item_id=X.current_item_id;if(X.started_at!==void 0)J.started_at=X.started_at;if(X.finished_at!==void 0)J.finished_at=X.finished_at;await this.db.updateTable("private_registry_monitor_run").set(J).where("organization_id","=",Y).where("id","=",Q).execute();let G=await this.findById(Y,Q);if(!G)throw Error(`Monitor run not found: ${Q}`);return G}deserializeRun(Y){return{id:Y.id,organization_id:Y.organization_id,status:Y.status,config_snapshot:BS0(Y.config_snapshot,null),total_items:Number(Y.total_items??0),tested_items:Number(Y.tested_items??0),passed_items:Number(Y.passed_items??0),failed_items:Number(Y.failed_items??0),skipped_items:Number(Y.skipped_items??0),current_item_id:Y.current_item_id,started_at:Y.started_at,finished_at:Y.finished_at,created_at:Y.created_at}}}class oV1{db;constructor(Y){this.db=Y}async create(Y){let Q=qS0(),X=new Date().toISOString(),J={id:Q,run_id:Y.run_id,organization_id:Y.organization_id,item_id:Y.item_id,item_title:Y.item_title,status:Y.status,error_message:Y.error_message??null,connection_ok:Y.connection_ok?1:0,tools_listed:Y.tools_listed?1:0,tool_results:Y.tool_results?JSON.stringify(Y.tool_results):null,agent_summary:Y.agent_summary??null,duration_ms:Y.duration_ms??0,action_taken:Y.action_taken??"none",tested_at:X};await this.db.insertInto("private_registry_monitor_result").values(J).execute();let G=await this.findById(Y.organization_id,Q);if(!G)throw Error("Failed to create test result");return G}async findById(Y,Q){let X=await this.db.selectFrom("private_registry_monitor_result").selectAll().where("organization_id","=",Y).where("id","=",Q).executeTakeFirst();return X?this.deserialize(X):null}async listByRun(Y,Q,X={}){let J=this.db.selectFrom("private_registry_monitor_result").selectAll().where("organization_id","=",Y).where("run_id","=",Q),G=this.db.selectFrom("private_registry_monitor_result").select((H)=>H.fn.countAll().as("count")).where("organization_id","=",Y).where("run_id","=",Q);if(X.status)J=J.where("status","=",X.status),G=G.where("status","=",X.status);let K=await G.executeTakeFirst(),W=Number(K?.count??0);return{items:(await J.orderBy("tested_at","desc").limit(X.limit??50).offset(X.offset??0).execute()).map((H)=>this.deserialize(H)),totalCount:W}}async update(Y,Q,X){let J={};if(X.status!==void 0)J.status=X.status;if(X.error_message!==void 0)J.error_message=X.error_message;if(X.connection_ok!==void 0)J.connection_ok=X.connection_ok?1:0;if(X.tools_listed!==void 0)J.tools_listed=X.tools_listed?1:0;if(X.tool_results!==void 0)J.tool_results=JSON.stringify(X.tool_results);if(X.agent_summary!==void 0)J.agent_summary=X.agent_summary;if(X.duration_ms!==void 0)J.duration_ms=X.duration_ms;if(X.action_taken!==void 0)J.action_taken=X.action_taken;await this.db.updateTable("private_registry_monitor_result").set(J).where("organization_id","=",Y).where("id","=",Q).execute();let G=await this.findById(Y,Q);if(!G)throw Error(`Monitor result not found: ${Q}`);return G}deserialize(Y){return{id:Y.id,run_id:Y.run_id,organization_id:Y.organization_id,item_id:Y.item_id,item_title:Y.item_title,status:Y.status,error_message:Y.error_message,connection_ok:Y.connection_ok===1,tools_listed:Y.tools_listed===1,tool_results:BS0(Y.tool_results,[]),agent_summary:Y.agent_summary,duration_ms:Number(Y.duration_ms??0),action_taken:Y.action_taken,tested_at:Y.tested_at}}}var US0=()=>{};import{randomUUID as LE6}from"crypto";class sV1{db;constructor(Y){this.db=Y}async findByItemId(Y,Q){let X=await this.db.selectFrom("private_registry_monitor_connection").selectAll().where("organization_id","=",Y).where("item_id","=",Q).executeTakeFirst();return X?this.deserialize(X):null}async list(Y){return(await this.db.selectFrom("private_registry_monitor_connection").selectAll().where("organization_id","=",Y).orderBy("updated_at","desc").execute()).map((X)=>this.deserialize(X))}async findByConnectionId(Y,Q){let X=await this.db.selectFrom("private_registry_monitor_connection").selectAll().where("organization_id","=",Y).where("connection_id","=",Q).executeTakeFirst();return X?this.deserialize(X):null}async upsert(Y){let Q=await this.findByItemId(Y.organization_id,Y.item_id),X=new Date().toISOString();if(!Q){let G={id:LE6(),organization_id:Y.organization_id,item_id:Y.item_id,connection_id:Y.connection_id,auth_status:Y.auth_status??"none",created_at:X,updated_at:X};await this.db.insertInto("private_registry_monitor_connection").values(G).execute()}else{let G={connection_id:Y.connection_id,auth_status:Y.auth_status??Q.auth_status,updated_at:X};await this.db.updateTable("private_registry_monitor_connection").set(G).where("organization_id","=",Y.organization_id).where("item_id","=",Y.item_id).execute()}let J=await this.findByItemId(Y.organization_id,Y.item_id);if(!J)throw Error("Failed to save monitor connection");return J}async updateAuthStatus(Y,Q,X){return await this.db.updateTable("private_registry_monitor_connection").set({auth_status:X,updated_at:new Date().toISOString()}).where("organization_id","=",Y).where("item_id","=",Q).execute(),this.findByItemId(Y,Q)}deserialize(Y){return{id:Y.id,organization_id:Y.organization_id,item_id:Y.item_id,connection_id:Y.connection_id,auth_status:Y.auth_status,created_at:Y.created_at,updated_at:Y.updated_at}}}var zS0=()=>{};function DS0(Y){let Q=Y.db,X={items:new hS(Q),publishRequests:new gS(Q),publishApiKeys:new uS(Q),monitorRuns:new rV1(Q),monitorResults:new oV1(Q),monitorConnections:new sV1(Q)};return VS0(X),X}var OS0=k(()=>{J9();yV1();cV1();nV1();US0();zS0()});var NS0;var LS0=k(()=>{cY();J9();NS0={name:"REGISTRY_ITEM_BULK_CREATE",description:"Create many private registry items at once",inputSchema:hV1,outputSchema:mj0,handler:t4(hV1,async(Y,Q)=>{let X=S4(),J=[],G=0;for(let K of Y.items)try{await X.items.create({...K,organization_id:Q.organization.id,created_by:Q.auth.user?.id??null}),G+=1}catch(W){J.push({id:K.id,error:W instanceof Error?W.message:"Unknown error"})}return{created:G,errors:J}})}});function ME6(Y){return Array.from(new Set(Y.map((Q)=>Q.trim().toLowerCase()).filter((Q)=>Q.length>0)))}function AE6(Y){let X=Y.structuredContent?.content?.filter((J)=>J.type==="text"&&typeof J.text==="string").map((J)=>J.text??"").join(`
1066
1066
  `).trim();if(X)return X;return Y.content?.filter((J)=>J.type==="text"&&typeof J.text==="string").map((J)=>J.text??"").join(`
1067
1067
  `).trim()??""}function wE6(Y){let Q=Y.context,X=JSON.stringify({name:Q.name??"",provider:Q.provider??"",url:Q.url??"",owner:Q.owner??"",repositoryUrl:Q.repositoryUrl??"",description:Q.description??"",shortDescription:Q.shortDescription??"",tags:Q.tags??[],categories:Q.categories??[],availableTags:Q.availableTags??[],availableCategories:Q.availableCategories??[],tools:Q.tools??[]},null,2);if(Y.type==="description")return{system:"You are an assistant that writes concise MCP registry descriptions.",user:`Use the context below to write a clear English description for this MCP server.
1068
1068
  Rules:
@@ -1108,7 +1108,7 @@ Error message: ${lZ(X)}`,cause:X});this[Lv0]=!0,this.value=Q,this.context=J}stat
1108
1108
  ]))`;continue}}if(J.s&&G[$]==="."){K+=Z?`${G[$]}\r
1109
1109
  `:`[${G[$]}\r
1110
1110
  ]`;continue}if(K+=G[$],G[$]==="\\")W=!0;else if(Z&&G[$]==="]")Z=!1;else if(!Z&&G[$]==="[")Z=!0}try{new RegExp(K)}catch($){return console.warn(`Could not convert regex pattern at ${Q.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),Y.source}return K}function O_0(Y,Q){var X,J,G,K,W,Z;let H={type:"object",additionalProperties:(X=M9(Y.valueType._def,{...Q,currentPath:[...Q.currentPath,"additionalProperties"]}))!=null?X:Q.allowedAdditionalProperties};if(((J=Y.keyType)==null?void 0:J._def.typeName)===t1.ZodString&&((G=Y.keyType._def.checks)==null?void 0:G.length)){let{type:$,...F}=D_0(Y.keyType._def,Q);return{...H,propertyNames:F}}else if(((K=Y.keyType)==null?void 0:K._def.typeName)===t1.ZodEnum)return{...H,propertyNames:{enum:Y.keyType._def.values}};else if(((W=Y.keyType)==null?void 0:W._def.typeName)===t1.ZodBranded&&Y.keyType._def.type._def.typeName===t1.ZodString&&((Z=Y.keyType._def.type._def.checks)==null?void 0:Z.length)){let{type:$,...F}=U_0(Y.keyType._def,Q);return{...H,propertyNames:F}}return H}function FC6(Y,Q){if(Q.mapStrategy==="record")return O_0(Y,Q);let X=M9(Y.keyType._def,{...Q,currentPath:[...Q.currentPath,"items","items","0"]})||$7(),J=M9(Y.valueType._def,{...Q,currentPath:[...Q.currentPath,"items","items","1"]})||$7();return{type:"array",maxItems:125,items:{type:"array",items:[X,J],minItems:2,maxItems:2}}}function VC6(Y){let Q=Y.values,J=Object.keys(Y.values).filter((K)=>{return typeof Q[Q[K]]!=="number"}).map((K)=>Q[K]),G=Array.from(new Set(J.map((K)=>typeof K)));return{type:G.length===1?G[0]==="string"?"string":"number":["string","number"],enum:J}}function qC6(){return{not:$7()}}function BC6(){return{type:"null"}}function UC6(Y,Q){let X=Y.options instanceof Map?Array.from(Y.options.values()):Y.options;if(X.every((J)=>(J._def.typeName in mq1)&&(!J._def.checks||!J._def.checks.length))){let J=X.reduce((G,K)=>{let W=mq1[K._def.typeName];return W&&!G.includes(W)?[...G,W]:G},[]);return{type:J.length>1?J:J[0]}}else if(X.every((J)=>J._def.typeName==="ZodLiteral"&&!J.description)){let J=X.reduce((G,K)=>{let W=typeof K._def.value;switch(W){case"string":case"number":case"boolean":return[...G,W];case"bigint":return[...G,"integer"];case"object":if(K._def.value===null)return[...G,"null"];case"symbol":case"undefined":case"function":default:return G}},[]);if(J.length===X.length){let G=J.filter((K,W,Z)=>Z.indexOf(K)===W);return{type:G.length>1?G:G[0],enum:X.reduce((K,W)=>{return K.includes(W._def.value)?K:[...K,W._def.value]},[])}}}else if(X.every((J)=>J._def.typeName==="ZodEnum"))return{type:"string",enum:X.reduce((J,G)=>[...J,...G._def.values.filter((K)=>!J.includes(K))],[])};return zC6(Y,Q)}function DC6(Y,Q){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(Y.innerType._def.typeName)&&(!Y.innerType._def.checks||!Y.innerType._def.checks.length))return{type:[mq1[Y.innerType._def.typeName],"null"]};let X=M9(Y.innerType._def,{...Q,currentPath:[...Q.currentPath,"anyOf","0"]});return X&&{anyOf:[X,{type:"null"}]}}function OC6(Y){let Q={type:"number"};if(!Y.checks)return Q;for(let X of Y.checks)switch(X.kind){case"int":Q.type="integer";break;case"min":if(X.inclusive)Q.minimum=X.value;else Q.exclusiveMinimum=X.value;break;case"max":if(X.inclusive)Q.maximum=X.value;else Q.exclusiveMaximum=X.value;break;case"multipleOf":Q.multipleOf=X.value;break}return Q}function NC6(Y,Q){let X={type:"object",properties:{}},J=[],G=Y.shape();for(let W in G){let Z=G[W];if(Z===void 0||Z._def===void 0)continue;let H=MC6(Z),$=M9(Z._def,{...Q,currentPath:[...Q.currentPath,"properties",W],propertyPath:[...Q.currentPath,"properties",W]});if($===void 0)continue;if(X.properties[W]=$,!H)J.push(W)}if(J.length)X.required=J;let K=LC6(Y,Q);if(K!==void 0)X.additionalProperties=K;return X}function LC6(Y,Q){if(Y.catchall._def.typeName!=="ZodNever")return M9(Y.catchall._def,{...Q,currentPath:[...Q.currentPath,"additionalProperties"]});switch(Y.unknownKeys){case"passthrough":return Q.allowedAdditionalProperties;case"strict":return Q.rejectedAdditionalProperties;case"strip":return Q.removeAdditionalStrategy==="strict"?Q.allowedAdditionalProperties:Q.rejectedAdditionalProperties}}function MC6(Y){try{return Y.isOptional()}catch(Q){return!0}}function PC6(Y,Q){return M9(Y.type._def,Q)}function EC6(Y,Q){let J={type:"array",uniqueItems:!0,items:M9(Y.valueType._def,{...Q,currentPath:[...Q.currentPath,"items"]})};if(Y.minSize)J.minItems=Y.minSize.value;if(Y.maxSize)J.maxItems=Y.maxSize.value;return J}function TC6(Y,Q){if(Y.rest)return{type:"array",minItems:Y.items.length,items:Y.items.map((X,J)=>M9(X._def,{...Q,currentPath:[...Q.currentPath,"items",`${J}`]})).reduce((X,J)=>J===void 0?X:[...X,J],[]),additionalItems:M9(Y.rest._def,{...Q,currentPath:[...Q.currentPath,"additionalItems"]})};else return{type:"array",minItems:Y.items.length,maxItems:Y.items.length,items:Y.items.map((X,J)=>M9(X._def,{...Q,currentPath:[...Q.currentPath,"items",`${J}`]})).reduce((X,J)=>J===void 0?X:[...X,J],[])}}function CC6(){return{not:$7()}}function RC6(){return $7()}function M9(Y,Q,X=!1){var J;let G=Q.seen.get(Y);if(Q.override){let H=(J=Q.override)==null?void 0:J.call(Q,Y,Q,G,X);if(H!==rT6)return H}if(G&&!X){let H=kC6(G,Q);if(H!==void 0)return H}let K={def:Y,path:Q.currentPath,jsonSchema:void 0};Q.seen.set(Y,K);let W=jC6(Y,Y.typeName,Q),Z=typeof W==="function"?M9(W(),Q):W;if(Z)vC6(Y,Q,Z);if(Q.postProcess){let H=Q.postProcess(Z,Y,Q);return K.jsonSchema=Z,H}return K.jsonSchema=Z,Z}function VQ(Y){let Q;return()=>{if(Q==null)Q=Y();return Q}}function CW(Y,{validate:Q}={}){return{[lq1]:!0,_type:void 0,get jsonSchema(){if(typeof Y==="function")Y=Y();return Y},validate:Q}}function fC6(Y){return typeof Y==="object"&&Y!==null&&lq1 in Y&&Y[lq1]===!0&&"jsonSchema"in Y&&"validate"in Y}function hH(Y){return Y==null?CW({properties:{},additionalProperties:!1}):fC6(Y)?Y:("~standard"in Y)?Y["~standard"].vendor==="zod"?m8(Y):bC6(Y):Y()}function bC6(Y){return CW(()=>nq1(Y["~standard"].jsonSchema.input({target:"draft-07"})),{validate:async(Q)=>{let X=await Y["~standard"].validate(Q);return"value"in X?{success:!0,value:X.value}:{success:!1,error:new AG({value:Q,cause:X.issues})}}})}function hC6(Y,Q){var X;let J=(X=Q==null?void 0:Q.useReferences)!=null?X:!1;return CW(()=>yC6(Y,{$refStrategy:J?"root":"none"}),{validate:async(G)=>{let K=await Y.safeParseAsync(G);return K.success?{success:!0,value:K.data}:{success:!1,error:K.error}}})}function xC6(Y,Q){var X;let J=(X=Q==null?void 0:Q.useReferences)!=null?X:!1;return CW(()=>nq1(bK(Y,{target:"draft-7",io:"input",reused:J?"ref":"inline"})),{validate:async(G)=>{let K=await TL(Y,G);return K.success?{success:!0,value:K.data}:{success:!1,error:K.error}}})}function gC6(Y){return"_zod"in Y}function m8(Y,Q){if(gC6(Y))return xC6(Y,Q);else return hC6(Y,Q)}async function xH({value:Y,schema:Q,context:X}){let J=await T5({value:Y,schema:Q,context:X});if(!J.success)throw AG.wrap({value:Y,cause:J.error,context:X});return J.value}async function T5({value:Y,schema:Q,context:X}){let J=hH(Q);try{if(J.validate==null)return{success:!0,value:Y,rawValue:Y};let G=await J.validate(Y);if(G.success)return{success:!0,value:G.value,rawValue:Y};return{success:!1,error:AG.wrap({value:Y,cause:G.error,context:X}),rawValue:Y}}catch(G){return{success:!1,error:AG.wrap({value:Y,cause:G,context:X}),rawValue:Y}}}async function uC6({text:Y,schema:Q}){try{let X=B_0(Y);if(Q==null)return X;return xH({value:X,schema:Q})}catch(X){if(oS.isInstance(X)||AG.isInstance(X))throw X;throw new oS({text:Y,cause:X})}}async function wG({text:Y,schema:Q}){try{let X=B_0(Y);if(Q==null)return{success:!0,value:X,rawValue:X};return await T5({value:X,schema:Q})}catch(X){return{success:!1,error:oS.isInstance(X)?X:new oS({text:Y,cause:X}),rawValue:void 0}}}function Li({stream:Y,schema:Q}){return Y.pipeThrough(new TextDecoderStream).pipeThrough(new $z).pipeThrough(new TransformStream({async transform({data:X},J){if(X==="[DONE]")return;J.enqueue(await wG({text:X,schema:Q}))}}))}function vJ(Y){return Y}function Mi({id:Y,inputSchema:Q,outputSchema:X,supportsDeferredResults:J}){return({execute:G,needsApproval:K,toModelOutput:W,onInputStart:Z,onInputDelta:H,onInputAvailable:$,...F})=>vJ({type:"provider",id:Y,args:F,inputSchema:Q,outputSchema:X,execute:G,needsApproval:K,toModelOutput:W,onInputStart:Z,onInputDelta:H,onInputAvailable:$,supportsDeferredResults:J})}async function TQ(Y){if(typeof Y==="function")Y=Y();return Promise.resolve(Y)}function L_0(Y){return Y==null?void 0:Y.replace(/\/$/,"")}function dC6(Y){return Y!=null&&typeof Y[Symbol.asyncIterator]==="function"}async function*M_0({execute:Y,input:Q,options:X}){let J=Y(Q,X);if(dC6(J)){let G;for await(let K of J)G=K,yield{type:"preliminary",output:K};yield{type:"final",output:G}}else yield{type:"final",output:await J}}var uD=class{constructor(){this.status={type:"pending"},this._resolve=void 0,this._reject=void 0}get promise(){if(this._promise)return this._promise;return this._promise=new Promise((Y,Q)=>{if(this.status.type==="resolved")Y(this.status.value);else if(this.status.type==="rejected")Q(this.status.error);this._resolve=Y,this._reject=Q}),this._promise}resolve(Y){var Q;if(this.status={type:"resolved",value:Y},this._promise)(Q=this._resolve)==null||Q.call(this,Y)}reject(Y){var Q;if(this.status={type:"rejected",error:Y},this._promise)(Q=this._reject)==null||Q.call(this,Y)}isResolved(){return this.status.type==="resolved"}isRejected(){return this.status.type==="rejected"}isPending(){return this.status.type==="pending"}},xT6,gT6,Z_0="AI_DownloadError",K_0,uT6,Y_0,Q_0,Cw,dq1=2147483648,bH=({prefix:Y,size:Q=16,alphabet:X="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",separator:J="-"}={})=>{let G=()=>{let K=X.length,W=Array(Q);for(let Z=0;Z<Q;Z++)W[Z]=X[Math.random()*K|0];return W.join("")};if(Y==null)return G;if(X.includes(J))throw new kv0({argument:"separator",message:`The separator "${J}" must not be part of the alphabet "${X}".`});return()=>`${Y}${J}${G()}`},pq1,mT6,lT6,F_0="4.0.15",cT6=()=>globalThis.fetch,cq1=async({url:Y,headers:Q={},successfulResponseHandler:X,failedResponseHandler:J,abortSignal:G,fetch:K=cT6()})=>{try{let W=await K(Y,{method:"GET",headers:d$(Q,`ai-sdk/provider-utils/${F_0}`,Ni()),signal:G}),Z=sS(W);if(!W.ok){let H;try{H=await J({response:W,url:Y,requestBodyValues:{}})}catch($){if(u$($)||d9.isInstance($))throw $;throw new d9({message:"Failed to process error response",cause:$,statusCode:W.status,url:Y,responseHeaders:Z,requestBodyValues:{}})}throw H.value}try{return await X({response:W,url:Y,requestBodyValues:{}})}catch(H){if(H instanceof Error){if(u$(H)||d9.isInstance(H))throw H}throw new d9({message:"Failed to process successful response",cause:H,statusCode:W.status,url:Y,responseHeaders:Z,requestBodyValues:{}})}}catch(W){throw $_0({error:W,url:Y,requestBodyValues:{}})}},nT6,iT6,rT6,J_0,oT6=(Y)=>typeof Y==="string"?{...J_0,name:Y}:{...J_0,...Y},YC6=(Y,Q)=>{return M9(Y.innerType._def,Q)},QC6=(Y)=>{let Q={type:"integer",format:"unix-time"};for(let X of Y.checks)switch(X.kind){case"min":Q.minimum=X.value;break;case"max":Q.maximum=X.value;break}return Q},WC6=(Y)=>{if("type"in Y&&Y.type==="string")return!1;return"allOf"in Y},gq1=void 0,dZ,HC6,mq1,zC6=(Y,Q)=>{let X=(Y.options instanceof Map?Array.from(Y.options.values()):Y.options).map((J,G)=>M9(J._def,{...Q,currentPath:[...Q.currentPath,"anyOf",`${G}`]})).filter((J)=>!!J&&(!Q.strictUnions||typeof J==="object"&&Object.keys(J).length>0));return X.length?{anyOf:X}:void 0},AC6=(Y,Q)=>{var X;if(Q.currentPath.toString()===((X=Q.propertyPath)==null?void 0:X.toString()))return M9(Y.innerType._def,Q);let J=M9(Y.innerType._def,{...Q,currentPath:[...Q.currentPath,"anyOf","1"]});return J?{anyOf:[{not:$7()},J]}:$7()},wC6=(Y,Q)=>{if(Q.pipeStrategy==="input")return M9(Y.in._def,Q);else if(Q.pipeStrategy==="output")return M9(Y.out._def,Q);let X=M9(Y.in._def,{...Q,currentPath:[...Q.currentPath,"allOf","0"]}),J=M9(Y.out._def,{...Q,currentPath:[...Q.currentPath,"allOf",X?"1":"0"]});return{allOf:[X,J].filter((G)=>G!==void 0)}},IC6=(Y,Q)=>{return M9(Y.innerType._def,Q)},jC6=(Y,Q,X)=>{switch(Q){case t1.ZodString:return D_0(Y,X);case t1.ZodNumber:return OC6(Y);case t1.ZodObject:return NC6(Y,X);case t1.ZodBigInt:return tT6(Y);case t1.ZodBoolean:return eT6();case t1.ZodDate:return z_0(Y,X);case t1.ZodUndefined:return CC6();case t1.ZodNull:return BC6();case t1.ZodArray:return sT6(Y,X);case t1.ZodUnion:case t1.ZodDiscriminatedUnion:return UC6(Y,X);case t1.ZodIntersection:return ZC6(Y,X);case t1.ZodTuple:return TC6(Y,X);case t1.ZodRecord:return O_0(Y,X);case t1.ZodLiteral:return KC6(Y);case t1.ZodEnum:return GC6(Y);case t1.ZodNativeEnum:return VC6(Y);case t1.ZodNullable:return DC6(Y,X);case t1.ZodOptional:return AC6(Y,X);case t1.ZodMap:return FC6(Y,X);case t1.ZodSet:return EC6(Y,X);case t1.ZodLazy:return()=>Y.getter()._def;case t1.ZodPromise:return PC6(Y,X);case t1.ZodNaN:case t1.ZodNever:return qC6();case t1.ZodEffects:return JC6(Y,X);case t1.ZodAny:return $7();case t1.ZodUnknown:return RC6();case t1.ZodDefault:return XC6(Y,X);case t1.ZodBranded:return U_0(Y,X);case t1.ZodReadonly:return IC6(Y,X);case t1.ZodCatch:return YC6(Y,X);case t1.ZodPipeline:return wC6(Y,X);case t1.ZodFunction:case t1.ZodVoid:case t1.ZodSymbol:return;default:return((J)=>{return})(Q)}},SC6=(Y,Q)=>{let X=0;for(;X<Y.length&&X<Q.length;X++)if(Y[X]!==Q[X])break;return[(Y.length-X).toString(),...Q.slice(X)].join("/")},kC6=(Y,Q)=>{switch(Q.$refStrategy){case"root":return{$ref:Y.path.join("/")};case"relative":return{$ref:SC6(Q.currentPath,Y.path)};case"none":case"seen":{if(Y.path.length<Q.currentPath.length&&Y.path.every((X,J)=>Q.currentPath[J]===X))return console.warn(`Recursive reference detected at ${Q.currentPath.join("/")}! Defaulting to any`),$7();return Q.$refStrategy==="seen"?$7():void 0}}},vC6=(Y,Q,X)=>{if(Y.description)X.description=Y.description;return X},_C6=(Y)=>{let Q=oT6(Y),X=Q.name!==void 0?[...Q.basePath,Q.definitionPath,Q.name]:Q.basePath;return{...Q,currentPath:X,propertyPath:void 0,seen:new Map(Object.entries(Q.definitions).map(([J,G])=>[G._def,{def:G._def,path:[...Q.basePath,Q.definitionPath,J],jsonSchema:void 0}]))}},yC6=(Y,Q)=>{var X;let J=_C6(Q),G=typeof Q==="object"&&Q.definitions?Object.entries(Q.definitions).reduce(($,[F,V])=>{var q;return{...$,[F]:(q=M9(V._def,{...J,currentPath:[...J.basePath,J.definitionPath,F]},!0))!=null?q:$7()}},{}):void 0,K=typeof Q==="string"?Q:(Q==null?void 0:Q.nameStrategy)==="title"?void 0:Q==null?void 0:Q.name,W=(X=M9(Y._def,K===void 0?J:{...J,currentPath:[...J.basePath,J.definitionPath,K]},!1))!=null?X:$7(),Z=typeof Q==="object"&&Q.name!==void 0&&Q.nameStrategy==="title"?Q.name:void 0;if(Z!==void 0)W.title=Z;let H=K===void 0?G?{...W,[J.definitionPath]:G}:W:{$ref:[...J.$refStrategy==="relative"?[]:J.basePath,J.definitionPath,K].join("/"),[J.definitionPath]:{...G,[K]:W}};return H.$schema="http://json-schema.org/draft-07/schema#",H},lq1,mC6=()=>globalThis.fetch,p$=async({url:Y,headers:Q,body:X,failedResponseHandler:J,successfulResponseHandler:G,abortSignal:K,fetch:W})=>lC6({url:Y,headers:{"Content-Type":"application/json",...Q},body:{content:JSON.stringify(X),values:X},failedResponseHandler:J,successfulResponseHandler:G,abortSignal:K,fetch:W}),lC6=async({url:Y,headers:Q={},body:X,successfulResponseHandler:J,failedResponseHandler:G,abortSignal:K,fetch:W=mC6()})=>{try{let Z=await W(Y,{method:"POST",headers:d$(Q,`ai-sdk/provider-utils/${F_0}`,Ni()),body:X.content,signal:K}),H=sS(Z);if(!Z.ok){let $;try{$=await G({response:Z,url:Y,requestBodyValues:X.values})}catch(F){if(u$(F)||d9.isInstance(F))throw F;throw new d9({message:"Failed to process error response",cause:F,statusCode:Z.status,url:Y,responseHeaders:H,requestBodyValues:X.values})}throw $.value}try{return await J({response:Z,url:Y,requestBodyValues:X.values})}catch($){if($ instanceof Error){if(u$($)||d9.isInstance($))throw $}throw new d9({message:"Failed to process successful response",cause:$,statusCode:Z.status,url:Y,responseHeaders:H,requestBodyValues:X.values})}}catch(Z){throw $_0({error:Z,url:Y,requestBodyValues:X.values})}},RW=({errorSchema:Y,errorToMessage:Q,isRetryable:X})=>async({response:J,url:G,requestBodyValues:K})=>{let W=await J.text(),Z=sS(J);if(W.trim()==="")return{responseHeaders:Z,value:new d9({message:J.statusText,url:G,requestBodyValues:K,statusCode:J.status,responseHeaders:Z,responseBody:W,isRetryable:X==null?void 0:X(J)})};try{let H=await uC6({text:W,schema:Y});return{responseHeaders:Z,value:new d9({message:Q(H),url:G,requestBodyValues:K,statusCode:J.status,responseHeaders:Z,responseBody:W,data:H,isRetryable:X==null?void 0:X(J,H)})}}catch(H){return{responseHeaders:Z,value:new d9({message:J.statusText,url:G,requestBodyValues:K,statusCode:J.status,responseHeaders:Z,responseBody:W,isRetryable:X==null?void 0:X(J)})}}},N_0=(Y)=>async({response:Q})=>{let X=sS(Q);if(Q.body==null)throw new Iv0({});return{responseHeaders:X,value:Li({stream:Q.body,schema:Y})}},c$=(Y)=>async({response:Q,url:X,requestBodyValues:J})=>{let G=await Q.text(),K=await wG({text:G,schema:Y}),W=sS(Q);if(!K.success)throw new d9({message:"Invalid JSON response",cause:K.error,statusCode:Q.status,responseHeaders:W,responseBody:G,url:X,requestBodyValues:J});return{responseHeaders:W,value:K.value,rawValue:K.rawValue}};var Y8=k(()=>{S8();S8();S8();S8();S8();S8();S8();r6();GV();GV();GV();jm();S8();S8();({btoa:xT6,atob:gT6}=globalThis);K_0=`vercel.ai.error.${Z_0}`,uT6=Symbol.for(K_0),Cw=class extends(Q_0=W4,Y_0=uT6,Q_0){constructor({url:Y,statusCode:Q,statusText:X,cause:J,message:G=J==null?`Failed to download ${Y}: ${Q} ${X}`:`Failed to download ${Y}: ${J}`}){super({name:Z_0,message:G,cause:J});this[Y_0]=!0,this.url=Y,this.statusCode=Q,this.statusText=X}static isInstance(Y){return W4.hasMarker(Y,K_0)}};pq1=bH();mT6=["fetch failed","failed to fetch"],lT6=["ConnectionRefused","ConnectionClosed","FailedToOpenSocket","ECONNRESET","ECONNREFUSED","ETIMEDOUT","EPIPE"];nT6=/"__proto__"\s*:/,iT6=/"constructor"\s*:/;rT6=Symbol("Let zodToJsonSchema decide on which parser to use"),J_0={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",strictUnions:!1,definitions:{},errorMessages:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref"};dZ={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>{if(gq1===void 0)gq1=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return gq1},uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};HC6=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");mq1={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};lq1=Symbol.for("vercel.ai.schema")});var aq1=R((B19,P_0)=>{var{defineProperty:iq1,getOwnPropertyDescriptor:pC6,getOwnPropertyNames:cC6}=Object,nC6=Object.prototype.hasOwnProperty,iC6=(Y,Q)=>{for(var X in Q)iq1(Y,X,{get:Q[X],enumerable:!0})},aC6=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of cC6(Q))if(!nC6.call(Y,G)&&G!==X)iq1(Y,G,{get:()=>Q[G],enumerable:!(J=pC6(Q,G))||J.enumerable})}return Y},rC6=(Y)=>aC6(iq1({},"__esModule",{value:!0}),Y),A_0={};iC6(A_0,{SYMBOL_FOR_REQ_CONTEXT:()=>w_0,getContext:()=>oC6});P_0.exports=rC6(A_0);var w_0=Symbol.for("@vercel/request-context");function oC6(){return globalThis[w_0]?.get?.()??{}}});var eS=R((U19,C_0)=>{var{defineProperty:rq1,getOwnPropertyDescriptor:sC6,getOwnPropertyNames:tC6}=Object,eC6=Object.prototype.hasOwnProperty,YR6=(Y,Q)=>{for(var X in Q)rq1(Y,X,{get:Q[X],enumerable:!0})},QR6=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of tC6(Q))if(!eC6.call(Y,G)&&G!==X)rq1(Y,G,{get:()=>Q[G],enumerable:!(J=sC6(Q,G))||J.enumerable})}return Y},XR6=(Y)=>QR6(rq1({},"__esModule",{value:!0}),Y),E_0={};YR6(E_0,{VercelOidcTokenError:()=>T_0});C_0.exports=XR6(E_0);class T_0 extends Error{constructor(Y,Q){super(Y);this.name="VercelOidcTokenError",this.cause=Q}toString(){if(this.cause)return`${this.name}: ${this.message}: ${this.cause}`;return`${this.name}: ${this.message}`}}});var S_0=R((z19,j_0)=>{var{create:JR6,defineProperty:Ai,getOwnPropertyDescriptor:GR6,getOwnPropertyNames:WR6,getPrototypeOf:ZR6}=Object,KR6=Object.prototype.hasOwnProperty,HR6=(Y,Q)=>{for(var X in Q)Ai(Y,X,{get:Q[X],enumerable:!0})},R_0=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of WR6(Q))if(!KR6.call(Y,G)&&G!==X)Ai(Y,G,{get:()=>Q[G],enumerable:!(J=GR6(Q,G))||J.enumerable})}return Y},sq1=(Y,Q,X)=>(X=Y!=null?JR6(ZR6(Y)):{},R_0(Q||!Y||!Y.__esModule?Ai(X,"default",{value:Y,enumerable:!0}):X,Y)),$R6=(Y)=>R_0(Ai({},"__esModule",{value:!0}),Y),I_0={};HR6(I_0,{findRootDir:()=>qR6,getUserDataDir:()=>BR6});j_0.exports=$R6(I_0);var Yk=sq1(P1("path")),FR6=sq1(P1("fs")),oq1=sq1(P1("os")),VR6=eS();function qR6(){try{let Y=process.cwd();while(Y!==Yk.default.dirname(Y)){let Q=Yk.default.join(Y,".vercel");if(FR6.default.existsSync(Q))return Y;Y=Yk.default.dirname(Y)}}catch(Y){throw new VR6.VercelOidcTokenError("Token refresh only supported in node server environments")}return null}function BR6(){if(process.env.XDG_DATA_HOME)return process.env.XDG_DATA_HOME;switch(oq1.default.platform()){case"darwin":return Yk.default.join(oq1.default.homedir(),"Library/Application Support");case"linux":return Yk.default.join(oq1.default.homedir(),".local/share");case"win32":if(process.env.LOCALAPPDATA)return process.env.LOCALAPPDATA;return null;default:return null}}});var h_0=R((D19,b_0)=>{var{create:UR6,defineProperty:wi,getOwnPropertyDescriptor:zR6,getOwnPropertyNames:DR6,getPrototypeOf:OR6}=Object,NR6=Object.prototype.hasOwnProperty,LR6=(Y,Q)=>{for(var X in Q)wi(Y,X,{get:Q[X],enumerable:!0})},k_0=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of DR6(Q))if(!NR6.call(Y,G)&&G!==X)wi(Y,G,{get:()=>Q[G],enumerable:!(J=zR6(Q,G))||J.enumerable})}return Y},v_0=(Y,Q,X)=>(X=Y!=null?UR6(OR6(Y)):{},k_0(Q||!Y||!Y.__esModule?wi(X,"default",{value:Y,enumerable:!0}):X,Y)),MR6=(Y)=>k_0(wi({},"__esModule",{value:!0}),Y),__0={};LR6(__0,{isValidAccessToken:()=>ER6,readAuthConfig:()=>wR6,writeAuthConfig:()=>PR6});b_0.exports=MR6(__0);var Qk=v_0(P1("fs")),y_0=v_0(P1("path")),AR6=Pi();function f_0(){let Y=(0,AR6.getVercelDataDir)();if(!Y)throw Error(`Unable to find Vercel CLI data directory. Your platform: ${process.platform}. Supported: darwin, linux, win32.`);return y_0.join(Y,"auth.json")}function wR6(){try{let Y=f_0();if(!Qk.existsSync(Y))return null;let Q=Qk.readFileSync(Y,"utf8");if(!Q)return null;return JSON.parse(Q)}catch(Y){return null}}function PR6(Y){let Q=f_0(),X=y_0.dirname(Q);if(!Qk.existsSync(X))Qk.mkdirSync(X,{mode:504,recursive:!0});Qk.writeFileSync(Q,JSON.stringify(Y,null,2),{mode:384})}function ER6(Y){if(!Y.token)return!1;if(typeof Y.expiresAt!=="number")return!0;let Q=Math.floor(Date.now()/1000);return Y.expiresAt>=Q}});var m_0=R((O19,u_0)=>{var{defineProperty:YB1,getOwnPropertyDescriptor:TR6,getOwnPropertyNames:CR6}=Object,RR6=Object.prototype.hasOwnProperty,IR6=(Y,Q)=>{for(var X in Q)YB1(Y,X,{get:Q[X],enumerable:!0})},jR6=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of CR6(Q))if(!RR6.call(Y,G)&&G!==X)YB1(Y,G,{get:()=>Q[G],enumerable:!(J=TR6(Q,G))||J.enumerable})}return Y},SR6=(Y)=>jR6(YB1({},"__esModule",{value:!0}),Y),x_0={};IR6(x_0,{processTokenResponse:()=>fR6,refreshTokenRequest:()=>yR6});u_0.exports=SR6(x_0);var tq1=P1("os"),kR6="https://vercel.com",vR6="cl_HYyOPBNtFMfHhaUn9L4QPfTZz6TP47bp",g_0=`@vercel/oidc node-${process.version} ${(0,tq1.platform)()} (${(0,tq1.arch)()}) ${(0,tq1.hostname)()}`,eq1=null;async function _R6(){if(eq1)return eq1;let Y=`${kR6}/.well-known/openid-configuration`,Q=await fetch(Y,{headers:{"user-agent":g_0}});if(!Q.ok)throw Error("Failed to discover OAuth endpoints");let X=await Q.json();if(!X||typeof X.token_endpoint!=="string")throw Error("Invalid OAuth discovery response");let J=X.token_endpoint;return eq1=J,J}async function yR6(Y){let Q=await _R6();return await fetch(Q,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","user-agent":g_0},body:new URLSearchParams({client_id:vR6,grant_type:"refresh_token",...Y})})}async function fR6(Y){let Q=await Y.json();if(!Y.ok){let X=typeof Q==="object"&&Q&&"error"in Q?String(Q.error):"Token refresh failed";return[Error(X)]}if(typeof Q!=="object"||Q===null)return[Error("Invalid token response")];if(typeof Q.access_token!=="string")return[Error("Missing access_token in response")];if(Q.token_type!=="Bearer")return[Error("Invalid token_type in response")];if(typeof Q.expires_in!=="number")return[Error("Missing expires_in in response")];return[null,Q]}});var Pi=R((N19,n_0)=>{var{create:bR6,defineProperty:Ei,getOwnPropertyDescriptor:hR6,getOwnPropertyNames:xR6,getPrototypeOf:gR6}=Object,uR6=Object.prototype.hasOwnProperty,mR6=(Y,Q)=>{for(var X in Q)Ei(Y,X,{get:Q[X],enumerable:!0})},d_0=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of xR6(Q))if(!uR6.call(Y,G)&&G!==X)Ei(Y,G,{get:()=>Q[G],enumerable:!(J=hR6(Q,G))||J.enumerable})}return Y},p_0=(Y,Q,X)=>(X=Y!=null?bR6(gR6(Y)):{},d_0(Q||!Y||!Y.__esModule?Ei(X,"default",{value:Y,enumerable:!0}):X,Y)),lR6=(Y)=>d_0(Ei({},"__esModule",{value:!0}),Y),c_0={};mR6(c_0,{assertVercelOidcTokenResponse:()=>QB1,findProjectInfo:()=>nR6,getTokenPayload:()=>rR6,getVercelCliToken:()=>pR6,getVercelDataDir:()=>dR6,getVercelOidcToken:()=>cR6,isExpired:()=>oR6,loadToken:()=>aR6,saveToken:()=>iR6});n_0.exports=lR6(c_0);var Xk=p_0(P1("path")),mD=p_0(P1("fs")),jw=eS(),Ti=S_0(),Iw=h_0(),l_0=m_0();function dR6(){let Q=(0,Ti.getUserDataDir)();if(!Q)return null;return Xk.join(Q,"com.vercel.cli")}async function pR6(){let Y=(0,Iw.readAuthConfig)();if(!Y)return null;if((0,Iw.isValidAccessToken)(Y))return Y.token||null;if(!Y.refreshToken)return(0,Iw.writeAuthConfig)({}),null;try{let Q=await(0,l_0.refreshTokenRequest)({refresh_token:Y.refreshToken}),[X,J]=await(0,l_0.processTokenResponse)(Q);if(X||!J)return(0,Iw.writeAuthConfig)({}),null;let G={token:J.access_token,expiresAt:Math.floor(Date.now()/1000)+J.expires_in};if(J.refresh_token)G.refreshToken=J.refresh_token;return(0,Iw.writeAuthConfig)(G),G.token??null}catch(Q){return(0,Iw.writeAuthConfig)({}),null}}async function cR6(Y,Q,X){let J=`https://api.vercel.com/v1/projects/${Q}/token?source=vercel-oidc-refresh${X?`&teamId=${X}`:""}`,G=await fetch(J,{method:"POST",headers:{Authorization:`Bearer ${Y}`}});if(!G.ok)throw new jw.VercelOidcTokenError(`Failed to refresh OIDC token: ${G.statusText}`);let K=await G.json();return QB1(K),K}function QB1(Y){if(!Y||typeof Y!=="object")throw TypeError("Vercel OIDC token is malformed. Expected an object. Please run `vc env pull` and try again");if(!("token"in Y)||typeof Y.token!=="string")throw TypeError("Vercel OIDC token is malformed. Expected a string-valued token property. Please run `vc env pull` and try again")}function nR6(){let Y=(0,Ti.findRootDir)();if(!Y)throw new jw.VercelOidcTokenError("Unable to find project root directory. Have you linked your project with `vc link?`");let Q=Xk.join(Y,".vercel","project.json");if(!mD.existsSync(Q))throw new jw.VercelOidcTokenError("project.json not found, have you linked your project with `vc link?`");let X=JSON.parse(mD.readFileSync(Q,"utf8"));if(typeof X.projectId!=="string"&&typeof X.orgId!=="string")throw TypeError("Expected a string-valued projectId property. Try running `vc link` to re-link your project.");return{projectId:X.projectId,teamId:X.orgId}}function iR6(Y,Q){let X=(0,Ti.getUserDataDir)();if(!X)throw new jw.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let J=Xk.join(X,"com.vercel.token",`${Q}.json`),G=JSON.stringify(Y);mD.mkdirSync(Xk.dirname(J),{mode:504,recursive:!0}),mD.writeFileSync(J,G),mD.chmodSync(J,432);return}function aR6(Y){let Q=(0,Ti.getUserDataDir)();if(!Q)throw new jw.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let X=Xk.join(Q,"com.vercel.token",`${Y}.json`);if(!mD.existsSync(X))return null;let J=JSON.parse(mD.readFileSync(X,"utf8"));return QB1(J),J}function rR6(Y){let Q=Y.split(".");if(Q.length!==3)throw new jw.VercelOidcTokenError("Invalid token. Please run `vc env pull` and try again");let X=Q[1].replace(/-/g,"+").replace(/_/g,"/"),J=X.padEnd(X.length+(4-X.length%4)%4,"=");return JSON.parse(Buffer.from(J,"base64").toString("utf8"))}function oR6(Y){return Y.exp*1000<Date.now()}});var r_0=R((L19,a_0)=>{var{defineProperty:JB1,getOwnPropertyDescriptor:sR6,getOwnPropertyNames:tR6}=Object,eR6=Object.prototype.hasOwnProperty,YI6=(Y,Q)=>{for(var X in Q)JB1(Y,X,{get:Q[X],enumerable:!0})},QI6=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of tR6(Q))if(!eR6.call(Y,G)&&G!==X)JB1(Y,G,{get:()=>Q[G],enumerable:!(J=sR6(Q,G))||J.enumerable})}return Y},XI6=(Y)=>QI6(JB1({},"__esModule",{value:!0}),Y),i_0={};YI6(i_0,{refreshToken:()=>JI6});a_0.exports=XI6(i_0);var XB1=eS(),lD=Pi();async function JI6(){let{projectId:Y,teamId:Q}=(0,lD.findProjectInfo)(),X=(0,lD.loadToken)(Y);if(!X||(0,lD.isExpired)((0,lD.getTokenPayload)(X.token))){let J=await(0,lD.getVercelCliToken)();if(!J)throw new XB1.VercelOidcTokenError("Failed to refresh OIDC token: Log in to Vercel CLI and link your project with `vc link`");if(!Y)throw new XB1.VercelOidcTokenError("Failed to refresh OIDC token: Try re-linking your project with `vc link`");if(X=await(0,lD.getVercelOidcToken)(J,Y,Q),!X)throw new XB1.VercelOidcTokenError("Failed to refresh OIDC token");(0,lD.saveToken)(X,Y)}process.env.VERCEL_OIDC_TOKEN=X.token;return}});var t_0=R((M19,s_0)=>{var{defineProperty:WB1,getOwnPropertyDescriptor:GI6,getOwnPropertyNames:WI6}=Object,ZI6=Object.prototype.hasOwnProperty,KI6=(Y,Q)=>{for(var X in Q)WB1(Y,X,{get:Q[X],enumerable:!0})},HI6=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of WI6(Q))if(!ZI6.call(Y,G)&&G!==X)WB1(Y,G,{get:()=>Q[G],enumerable:!(J=GI6(Q,G))||J.enumerable})}return Y},$I6=(Y)=>HI6(WB1({},"__esModule",{value:!0}),Y),o_0={};KI6(o_0,{getVercelOidcToken:()=>qI6,getVercelOidcTokenSync:()=>GB1});s_0.exports=$I6(o_0);var FI6=aq1(),VI6=eS();async function qI6(){let Y="",Q;try{Y=GB1()}catch(X){Q=X}try{let[{getTokenPayload:X,isExpired:J},{refreshToken:G}]=await Promise.all([await Promise.resolve().then(() => j6(Pi())),await Promise.resolve().then(() => j6(r_0()))]);if(!Y||J(X(Y)))await G(),Y=GB1()}catch(X){let J=Q instanceof Error?Q.message:"";if(X instanceof Error)J=`${J}
1111
- ${X.message}`;if(J)throw new VI6.VercelOidcTokenError(J);throw X}return Y}function GB1(){let Y=(0,FI6.getContext)().headers?.["x-vercel-oidc-token"]??process.env.VERCEL_OIDC_TOKEN;if(!Y)throw Error("The 'x-vercel-oidc-token' header is missing from the request. Do you have the OIDC option enabled in the Vercel project settings?");return Y}});var KB1=R((A19,Qy0)=>{var{defineProperty:ZB1,getOwnPropertyDescriptor:BI6,getOwnPropertyNames:UI6}=Object,zI6=Object.prototype.hasOwnProperty,DI6=(Y,Q)=>{for(var X in Q)ZB1(Y,X,{get:Q[X],enumerable:!0})},OI6=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of UI6(Q))if(!zI6.call(Y,G)&&G!==X)ZB1(Y,G,{get:()=>Q[G],enumerable:!(J=BI6(Q,G))||J.enumerable})}return Y},NI6=(Y)=>OI6(ZB1({},"__esModule",{value:!0}),Y),Yy0={};DI6(Yy0,{getContext:()=>LI6.getContext,getVercelOidcToken:()=>e_0.getVercelOidcToken,getVercelOidcTokenSync:()=>e_0.getVercelOidcTokenSync});Qy0.exports=NI6(Yy0);var e_0=t_0(),LI6=aq1()});async function Py0({response:Y,statusCode:Q,defaultMessage:X="Gateway request failed",cause:J,authMethod:G}){var K;let W=await T5({value:Y,schema:vI6});if(!W.success){let V=typeof Y==="object"&&Y!==null&&"generationId"in Y?Y.generationId:void 0;return new kI6({message:`Invalid error response format: ${X}`,statusCode:Q,response:Y,validationError:W.error,cause:J,generationId:V})}let Z=W.value,H=Z.error.type,$=Z.error.message,F=(K=Z.generationId)!=null?K:void 0;switch(H){case"authentication_error":return Ci.createContextualError({apiKeyProvided:G==="api-key",oidcTokenProvided:G==="oidc",statusCode:Q,cause:J,generationId:F});case"invalid_request_error":return new PI6({message:$,statusCode:Q,cause:J,generationId:F});case"rate_limit_exceeded":return new TI6({message:$,statusCode:Q,cause:J,generationId:F});case"model_not_found":{let V=await T5({value:Z.error.param,schema:RI6});return new II6({message:$,statusCode:Q,modelId:V.success?V.value.modelId:void 0,cause:J,generationId:F})}case"internal_server_error":return new Ly0({message:$,statusCode:Q,cause:J,generationId:F});default:return new Ly0({message:$,statusCode:Q,cause:J,generationId:F})}}function Iy0(Y){if(!(Y instanceof Error))return!1;let Q=Y.code;if(typeof Q==="string")return["UND_ERR_HEADERS_TIMEOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_CONNECT_TIMEOUT"].includes(Q);return!1}async function n$(Y,Q){var X;if(C5.isInstance(Y))return Y;if(Iy0(Y))return Ry0.createTimeoutError({originalMessage:Y instanceof Error?Y.message:"Unknown error",cause:Y});if(d9.isInstance(Y)){if(Y.cause&&Iy0(Y.cause))return Ry0.createTimeoutError({originalMessage:Y.message,cause:Y});return await Py0({response:yI6(Y),statusCode:(X=Y.statusCode)!=null?X:500,defaultMessage:"Gateway request failed",cause:Y,authMethod:Q})}return await Py0({response:{},statusCode:500,defaultMessage:Y instanceof Error?`Gateway request failed: ${Y.message}`:"Unknown Gateway error",cause:Y,authMethod:Q})}function yI6(Y){if(Y.data!==void 0)return Y.data;if(Y.responseBody!=null)try{return JSON.parse(Y.responseBody)}catch(Q){return Y.responseBody}return{}}async function dD(Y){let Q=await T5({value:Y[xy0],schema:fI6});return Q.success?Q.value:void 0}function Sy0(Y){if(Y.type==="file"&&Y.data instanceof Uint8Array)return{...Y,data:l$(Y.data)};return Y}function iI6(Y){if(Y.type==="file"&&Y.data instanceof Uint8Array)return{...Y,data:l$(Y.data)};return Y}async function Kj6(){var Y;return(Y=gy0.getContext().headers)==null?void 0:Y["x-vercel-id"]}function Fj6(Y={}){var Q,X;let J=null,G=null,K=(Q=Y.metadataCacheRefreshMillis)!=null?Q:300000,W=0,Z=(X=L_0(Y.baseURL))!=null?X:"https://ai-gateway.vercel.sh/v3/ai",H=async()=>{try{let D=await Vj6(Y);return d$({Authorization:`Bearer ${D.token}`,"ai-gateway-protocol-version":$j6,[xy0]:D.authMethod,...Y.headers},`ai-sdk/gateway/${Hj6}`)}catch(D){throw Ci.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:D})}},$=()=>{let D=tS({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),L=tS({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),A=tS({settingValue:void 0,environmentVariableName:"VERCEL_REGION"});return async()=>{let E=await Kj6();return{...D&&{"ai-o11y-deployment-id":D},...L&&{"ai-o11y-environment":L},...A&&{"ai-o11y-region":A},...E&&{"ai-o11y-request-id":E}}}},F=(D)=>{return new xI6(D,{provider:"gateway",baseURL:Z,headers:H,fetch:Y.fetch,o11yHeaders:$()})},V=async()=>{var D,L,A;let E=(A=(L=(D=Y._internal)==null?void 0:D.currentDate)==null?void 0:L.call(D).getTime())!=null?A:Date.now();if(!J||E-W>K)W=E,J=new jy0({baseURL:Z,headers:H,fetch:Y.fetch}).getAvailableModels().then((T)=>{return G=T,T}).catch(async(T)=>{throw await n$(T,await dD(await H()))});return G?Promise.resolve(G):J},q=async()=>{return new jy0({baseURL:Z,headers:H,fetch:Y.fetch}).getCredits().catch(async(D)=>{throw await n$(D,await dD(await H()))})},U=function(D){if(new.target)throw Error("The Gateway Provider model function cannot be called with the new keyword.");return F(D)};U.specificationVersion="v3",U.getAvailableModels=V,U.getCredits=q,U.imageModel=(D)=>{return new mI6(D,{provider:"gateway",baseURL:Z,headers:H,fetch:Y.fetch,o11yHeaders:$()})},U.languageModel=F;let z=(D)=>{return new gI6(D,{provider:"gateway",baseURL:Z,headers:H,fetch:Y.fetch,o11yHeaders:$()})};return U.embeddingModel=z,U.textEmbeddingModel=z,U.videoModel=(D)=>{return new nI6(D,{provider:"gateway",baseURL:Z,headers:H,fetch:Y.fetch,o11yHeaders:$()})},U.chat=U.languageModel,U.embedding=U.embeddingModel,U.image=U.imageModel,U.video=U.videoModel,U.tools=Zj6,U}async function Vj6(Y){let Q=tS({settingValue:Y.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});if(Q)return{token:Q,authMethod:"api-key"};return{token:await uy0.getVercelOidcToken(),authMethod:"oidc"}}var gy0,uy0,MI6="vercel.ai.gateway.error",HB1,Xy0,Jy0,C5,ky0="GatewayAuthenticationError",AI6,Gy0,Wy0,Zy0,Ci,vy0="GatewayInvalidRequestError",wI6,Ky0,Hy0,$y0,PI6,_y0="GatewayRateLimitError",EI6,Fy0,Vy0,qy0,TI6,yy0="GatewayModelNotFoundError",CI6,By0,RI6,Uy0,zy0,II6,fy0="GatewayInternalServerError",jI6,Dy0,Oy0,Ny0,Ly0,by0="GatewayResponseError",SI6,My0,Ay0,wy0,kI6,vI6,hy0="GatewayTimeoutError",_I6,Ey0,Ty0,Cy0,Ry0,xy0="ai-gateway-auth-method",fI6,jy0=class{constructor(Y){this.config=Y}async getAvailableModels(){try{let{value:Y}=await cq1({url:`${this.config.baseURL}/config`,headers:await TQ(this.config.headers()),successfulResponseHandler:c$(bI6),failedResponseHandler:RW({errorSchema:B.any(),errorToMessage:(Q)=>Q}),fetch:this.config.fetch});return Y}catch(Y){throw await n$(Y)}}async getCredits(){try{let Y=new URL(this.config.baseURL),{value:Q}=await cq1({url:`${Y.origin}/v1/credits`,headers:await TQ(this.config.headers()),successfulResponseHandler:c$(hI6),failedResponseHandler:RW({errorSchema:B.any(),errorToMessage:(X)=>X}),fetch:this.config.fetch});return Q}catch(Y){throw await n$(Y)}}},bI6,hI6,xI6=class{constructor(Y,Q){this.modelId=Y,this.config=Q,this.specificationVersion="v3",this.supportedUrls={"*/*":[/.*/]}}get provider(){return this.config.provider}async getArgs(Y){let{abortSignal:Q,...X}=Y;return{args:this.maybeEncodeFileParts(X),warnings:[]}}async doGenerate(Y){let{args:Q,warnings:X}=await this.getArgs(Y),{abortSignal:J}=Y,G=await TQ(this.config.headers());try{let{responseHeaders:K,value:W,rawValue:Z}=await p$({url:this.getUrl(),headers:m$(G,Y.headers,this.getModelConfigHeaders(this.modelId,!1),await TQ(this.config.o11yHeaders)),body:Q,successfulResponseHandler:c$(B.any()),failedResponseHandler:RW({errorSchema:B.any(),errorToMessage:(H)=>H}),...J&&{abortSignal:J},fetch:this.config.fetch});return{...W,request:{body:Q},response:{headers:K,body:Z},warnings:X}}catch(K){throw await n$(K,await dD(G))}}async doStream(Y){let{args:Q,warnings:X}=await this.getArgs(Y),{abortSignal:J}=Y,G=await TQ(this.config.headers());try{let{value:K,responseHeaders:W}=await p$({url:this.getUrl(),headers:m$(G,Y.headers,this.getModelConfigHeaders(this.modelId,!0),await TQ(this.config.o11yHeaders)),body:Q,successfulResponseHandler:N_0(B.any()),failedResponseHandler:RW({errorSchema:B.any(),errorToMessage:(Z)=>Z}),...J&&{abortSignal:J},fetch:this.config.fetch});return{stream:K.pipeThrough(new TransformStream({start(Z){if(X.length>0)Z.enqueue({type:"stream-start",warnings:X})},transform(Z,H){if(Z.success){let $=Z.value;if($.type==="raw"&&!Y.includeRawChunks)return;if($.type==="response-metadata"&&$.timestamp&&typeof $.timestamp==="string")$.timestamp=new Date($.timestamp);H.enqueue($)}else H.error(Z.error)}})),request:{body:Q},response:{headers:W}}}catch(K){throw await n$(K,await dD(G))}}isFilePart(Y){return Y&&typeof Y==="object"&&"type"in Y&&Y.type==="file"}maybeEncodeFileParts(Y){for(let Q of Y.prompt)for(let X of Q.content)if(this.isFilePart(X)){let J=X;if(J.data instanceof Uint8Array){let G=Uint8Array.from(J.data),K=Buffer.from(G).toString("base64");J.data=new URL(`data:${J.mediaType||"application/octet-stream"};base64,${K}`)}}return Y}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders(Y,Q){return{"ai-language-model-specification-version":"3","ai-language-model-id":Y,"ai-language-model-streaming":String(Q)}}},gI6=class{constructor(Y,Q){this.modelId=Y,this.config=Q,this.specificationVersion="v3",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}get provider(){return this.config.provider}async doEmbed({values:Y,headers:Q,abortSignal:X,providerOptions:J}){var G;let K=await TQ(this.config.headers());try{let{responseHeaders:W,value:Z,rawValue:H}=await p$({url:this.getUrl(),headers:m$(K,Q!=null?Q:{},this.getModelConfigHeaders(),await TQ(this.config.o11yHeaders)),body:{values:Y,...J?{providerOptions:J}:{}},successfulResponseHandler:c$(uI6),failedResponseHandler:RW({errorSchema:B.any(),errorToMessage:($)=>$}),...X&&{abortSignal:X},fetch:this.config.fetch});return{embeddings:Z.embeddings,usage:(G=Z.usage)!=null?G:void 0,providerMetadata:Z.providerMetadata,response:{headers:W,body:H},warnings:[]}}catch(W){throw await n$(W,await dD(K))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"3","ai-model-id":this.modelId}}},uI6,mI6=class{constructor(Y,Q){this.modelId=Y,this.config=Q,this.specificationVersion="v3",this.maxImagesPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate({prompt:Y,n:Q,size:X,aspectRatio:J,seed:G,files:K,mask:W,providerOptions:Z,headers:H,abortSignal:$}){var F,V,q,U;let z=await TQ(this.config.headers());try{let{responseHeaders:D,value:L,rawValue:A}=await p$({url:this.getUrl(),headers:m$(z,H!=null?H:{},this.getModelConfigHeaders(),await TQ(this.config.o11yHeaders)),body:{prompt:Y,n:Q,...X&&{size:X},...J&&{aspectRatio:J},...G&&{seed:G},...Z&&{providerOptions:Z},...K&&{files:K.map((E)=>Sy0(E))},...W&&{mask:Sy0(W)}},successfulResponseHandler:c$(cI6),failedResponseHandler:RW({errorSchema:B.any(),errorToMessage:(E)=>E}),...$&&{abortSignal:$},fetch:this.config.fetch});return{images:L.images,warnings:(F=L.warnings)!=null?F:[],providerMetadata:L.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:D},...L.usage!=null&&{usage:{inputTokens:(V=L.usage.inputTokens)!=null?V:void 0,outputTokens:(q=L.usage.outputTokens)!=null?q:void 0,totalTokens:(U=L.usage.totalTokens)!=null?U:void 0}}}}catch(D){throw await n$(D,await dD(z))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"3","ai-model-id":this.modelId}}},lI6,dI6,pI6,cI6,nI6=class{constructor(Y,Q){this.modelId=Y,this.config=Q,this.specificationVersion="v3",this.maxVideosPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate({prompt:Y,n:Q,aspectRatio:X,resolution:J,duration:G,fps:K,seed:W,image:Z,providerOptions:H,headers:$,abortSignal:F}){var V;let q=await TQ(this.config.headers());try{let{responseHeaders:U,value:z}=await p$({url:this.getUrl(),headers:m$(q,$!=null?$:{},this.getModelConfigHeaders(),await TQ(this.config.o11yHeaders),{accept:"text/event-stream"}),body:{prompt:Y,n:Q,...X&&{aspectRatio:X},...J&&{resolution:J},...G&&{duration:G},...K&&{fps:K},...W&&{seed:W},...H&&{providerOptions:H},...Z&&{image:iI6(Z)}},successfulResponseHandler:async({response:D,url:L,requestBodyValues:A})=>{if(D.body==null)throw new d9({message:"SSE response body is empty",url:L,requestBodyValues:A,statusCode:D.status});let T=Li({stream:D.body,schema:sI6}).getReader(),{done:C,value:P}=await T.read();if(T.releaseLock(),C||!P)throw new d9({message:"SSE stream ended without a data event",url:L,requestBodyValues:A,statusCode:D.status});if(!P.success)throw new d9({message:"Failed to parse video SSE event",cause:P.error,url:L,requestBodyValues:A,statusCode:D.status});let I=P.value;if(I.type==="error")throw new d9({message:I.message,statusCode:I.statusCode,url:L,requestBodyValues:A,responseHeaders:Object.fromEntries([...D.headers]),responseBody:JSON.stringify(I),data:{error:{message:I.message,type:I.errorType,param:I.param}}});return{value:{videos:I.videos,warnings:I.warnings,providerMetadata:I.providerMetadata},responseHeaders:Object.fromEntries([...D.headers])}},failedResponseHandler:RW({errorSchema:B.any(),errorToMessage:(D)=>D}),...F&&{abortSignal:F},fetch:this.config.fetch});return{videos:z.videos,warnings:(V=z.warnings)!=null?V:[],providerMetadata:z.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:U}}}catch(U){throw await n$(U,await dD(q))}}getUrl(){return`${this.config.baseURL}/video-model`}getModelConfigHeaders(){return{"ai-video-model-specification-version":"3","ai-model-id":this.modelId}}},aI6,rI6,oI6,sI6,tI6,eI6,Yj6,Qj6=(Y={})=>Yj6(Y),Xj6,Jj6,Gj6,Wj6=(Y={})=>Gj6(Y),Zj6,Hj6="3.0.53",$j6="0.0.1",my0;var $B1=k(()=>{Y8();S8();r6();r6();Y8();Y8();r6();Y8();Y8();r6();Y8();r6();Y8();r6();Y8();r6();S8();Y8();r6();Y8();i1();Y8();i1();Y8();gy0=j6(KB1(),1),uy0=j6(KB1(),1),HB1=Symbol.for(MI6),C5=class Y extends(Jy0=Error,Xy0=HB1,Jy0){constructor({message:Q,statusCode:X=500,cause:J,generationId:G}){super(G?`${Q} [${G}]`:Q);this[Xy0]=!0,this.statusCode=X,this.cause=J,this.generationId=G}static isInstance(Q){return Y.hasMarker(Q)}static hasMarker(Q){return typeof Q==="object"&&Q!==null&&HB1 in Q&&Q[HB1]===!0}},AI6=`vercel.ai.gateway.error.${ky0}`,Gy0=Symbol.for(AI6),Ci=class Y extends(Zy0=C5,Wy0=Gy0,Zy0){constructor({message:Q="Authentication failed",statusCode:X=401,cause:J,generationId:G}={}){super({message:Q,statusCode:X,cause:J,generationId:G});this[Wy0]=!0,this.name=ky0,this.type="authentication_error"}static isInstance(Q){return C5.hasMarker(Q)&&Gy0 in Q}static createContextualError({apiKeyProvided:Q,oidcTokenProvided:X,message:J="Authentication failed",statusCode:G=401,cause:K,generationId:W}){let Z;if(Q)Z=`AI Gateway authentication failed: Invalid API key.
1111
+ ${X.message}`;if(J)throw new VI6.VercelOidcTokenError(J);throw X}return Y}function GB1(){let Y=(0,FI6.getContext)().headers?.["x-vercel-oidc-token"]??process.env.VERCEL_OIDC_TOKEN;if(!Y)throw Error("The 'x-vercel-oidc-token' header is missing from the request. Do you have the OIDC option enabled in the Vercel project settings?");return Y}});var KB1=R((A19,Qy0)=>{var{defineProperty:ZB1,getOwnPropertyDescriptor:BI6,getOwnPropertyNames:UI6}=Object,zI6=Object.prototype.hasOwnProperty,DI6=(Y,Q)=>{for(var X in Q)ZB1(Y,X,{get:Q[X],enumerable:!0})},OI6=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of UI6(Q))if(!zI6.call(Y,G)&&G!==X)ZB1(Y,G,{get:()=>Q[G],enumerable:!(J=BI6(Q,G))||J.enumerable})}return Y},NI6=(Y)=>OI6(ZB1({},"__esModule",{value:!0}),Y),Yy0={};DI6(Yy0,{getContext:()=>LI6.getContext,getVercelOidcToken:()=>e_0.getVercelOidcToken,getVercelOidcTokenSync:()=>e_0.getVercelOidcTokenSync});Qy0.exports=NI6(Yy0);var e_0=t_0(),LI6=aq1()});async function Py0({response:Y,statusCode:Q,defaultMessage:X="Gateway request failed",cause:J,authMethod:G}){var K;let W=await T5({value:Y,schema:vI6});if(!W.success){let V=typeof Y==="object"&&Y!==null&&"generationId"in Y?Y.generationId:void 0;return new kI6({message:`Invalid error response format: ${X}`,statusCode:Q,response:Y,validationError:W.error,cause:J,generationId:V})}let Z=W.value,H=Z.error.type,$=Z.error.message,F=(K=Z.generationId)!=null?K:void 0;switch(H){case"authentication_error":return Ci.createContextualError({apiKeyProvided:G==="api-key",oidcTokenProvided:G==="oidc",statusCode:Q,cause:J,generationId:F});case"invalid_request_error":return new PI6({message:$,statusCode:Q,cause:J,generationId:F});case"rate_limit_exceeded":return new TI6({message:$,statusCode:Q,cause:J,generationId:F});case"model_not_found":{let V=await T5({value:Z.error.param,schema:RI6});return new II6({message:$,statusCode:Q,modelId:V.success?V.value.modelId:void 0,cause:J,generationId:F})}case"internal_server_error":return new Ly0({message:$,statusCode:Q,cause:J,generationId:F});default:return new Ly0({message:$,statusCode:Q,cause:J,generationId:F})}}function Iy0(Y){if(!(Y instanceof Error))return!1;let Q=Y.code;if(typeof Q==="string")return["UND_ERR_HEADERS_TIMEOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_CONNECT_TIMEOUT"].includes(Q);return!1}async function n$(Y,Q){var X;if(C5.isInstance(Y))return Y;if(Iy0(Y))return Ry0.createTimeoutError({originalMessage:Y instanceof Error?Y.message:"Unknown error",cause:Y});if(d9.isInstance(Y)){if(Y.cause&&Iy0(Y.cause))return Ry0.createTimeoutError({originalMessage:Y.message,cause:Y});return await Py0({response:yI6(Y),statusCode:(X=Y.statusCode)!=null?X:500,defaultMessage:"Gateway request failed",cause:Y,authMethod:Q})}return await Py0({response:{},statusCode:500,defaultMessage:Y instanceof Error?`Gateway request failed: ${Y.message}`:"Unknown Gateway error",cause:Y,authMethod:Q})}function yI6(Y){if(Y.data!==void 0)return Y.data;if(Y.responseBody!=null)try{return JSON.parse(Y.responseBody)}catch(Q){return Y.responseBody}return{}}async function dD(Y){let Q=await T5({value:Y[xy0],schema:fI6});return Q.success?Q.value:void 0}function Sy0(Y){if(Y.type==="file"&&Y.data instanceof Uint8Array)return{...Y,data:l$(Y.data)};return Y}function iI6(Y){if(Y.type==="file"&&Y.data instanceof Uint8Array)return{...Y,data:l$(Y.data)};return Y}async function Kj6(){var Y;return(Y=gy0.getContext().headers)==null?void 0:Y["x-vercel-id"]}function Fj6(Y={}){var Q,X;let J=null,G=null,K=(Q=Y.metadataCacheRefreshMillis)!=null?Q:300000,W=0,Z=(X=L_0(Y.baseURL))!=null?X:"https://ai-gateway.vercel.sh/v3/ai",H=async()=>{try{let D=await Vj6(Y);return d$({Authorization:`Bearer ${D.token}`,"ai-gateway-protocol-version":$j6,[xy0]:D.authMethod,...Y.headers},`ai-sdk/gateway/${Hj6}`)}catch(D){throw Ci.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:D})}},$=()=>{let D=tS({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),L=tS({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),A=tS({settingValue:void 0,environmentVariableName:"VERCEL_REGION"});return async()=>{let E=await Kj6();return{...D&&{"ai-o11y-deployment-id":D},...L&&{"ai-o11y-environment":L},...A&&{"ai-o11y-region":A},...E&&{"ai-o11y-request-id":E}}}},F=(D)=>{return new xI6(D,{provider:"gateway",baseURL:Z,headers:H,fetch:Y.fetch,o11yHeaders:$()})},V=async()=>{var D,L,A;let E=(A=(L=(D=Y._internal)==null?void 0:D.currentDate)==null?void 0:L.call(D).getTime())!=null?A:Date.now();if(!J||E-W>K)W=E,J=new jy0({baseURL:Z,headers:H,fetch:Y.fetch}).getAvailableModels().then((T)=>{return G=T,T}).catch(async(T)=>{throw await n$(T,await dD(await H()))});return G?Promise.resolve(G):J},q=async()=>{return new jy0({baseURL:Z,headers:H,fetch:Y.fetch}).getCredits().catch(async(D)=>{throw await n$(D,await dD(await H()))})},U=function(D){if(new.target)throw Error("The Gateway Provider model function cannot be called with the new keyword.");return F(D)};U.specificationVersion="v3",U.getAvailableModels=V,U.getCredits=q,U.imageModel=(D)=>{return new mI6(D,{provider:"gateway",baseURL:Z,headers:H,fetch:Y.fetch,o11yHeaders:$()})},U.languageModel=F;let z=(D)=>{return new gI6(D,{provider:"gateway",baseURL:Z,headers:H,fetch:Y.fetch,o11yHeaders:$()})};return U.embeddingModel=z,U.textEmbeddingModel=z,U.videoModel=(D)=>{return new nI6(D,{provider:"gateway",baseURL:Z,headers:H,fetch:Y.fetch,o11yHeaders:$()})},U.chat=U.languageModel,U.embedding=U.embeddingModel,U.image=U.imageModel,U.video=U.videoModel,U.tools=Zj6,U}async function Vj6(Y){let Q=tS({settingValue:Y.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});if(Q)return{token:Q,authMethod:"api-key"};return{token:await uy0.getVercelOidcToken(),authMethod:"oidc"}}var gy0,uy0,MI6="vercel.ai.gateway.error",HB1,Xy0,Jy0,C5,ky0="GatewayAuthenticationError",AI6,Gy0,Wy0,Zy0,Ci,vy0="GatewayInvalidRequestError",wI6,Ky0,Hy0,$y0,PI6,_y0="GatewayRateLimitError",EI6,Fy0,Vy0,qy0,TI6,yy0="GatewayModelNotFoundError",CI6,By0,RI6,Uy0,zy0,II6,fy0="GatewayInternalServerError",jI6,Dy0,Oy0,Ny0,Ly0,by0="GatewayResponseError",SI6,My0,Ay0,wy0,kI6,vI6,hy0="GatewayTimeoutError",_I6,Ey0,Ty0,Cy0,Ry0,xy0="ai-gateway-auth-method",fI6,jy0=class{constructor(Y){this.config=Y}async getAvailableModels(){try{let{value:Y}=await cq1({url:`${this.config.baseURL}/config`,headers:await TQ(this.config.headers()),successfulResponseHandler:c$(bI6),failedResponseHandler:RW({errorSchema:B.any(),errorToMessage:(Q)=>Q}),fetch:this.config.fetch});return Y}catch(Y){throw await n$(Y)}}async getCredits(){try{let Y=new URL(this.config.baseURL),{value:Q}=await cq1({url:`${Y.origin}/v1/credits`,headers:await TQ(this.config.headers()),successfulResponseHandler:c$(hI6),failedResponseHandler:RW({errorSchema:B.any(),errorToMessage:(X)=>X}),fetch:this.config.fetch});return Q}catch(Y){throw await n$(Y)}}},bI6,hI6,xI6=class{constructor(Y,Q){this.modelId=Y,this.config=Q,this.specificationVersion="v3",this.supportedUrls={"*/*":[/.*/]}}get provider(){return this.config.provider}async getArgs(Y){let{abortSignal:Q,...X}=Y;return{args:this.maybeEncodeFileParts(X),warnings:[]}}async doGenerate(Y){let{args:Q,warnings:X}=await this.getArgs(Y),{abortSignal:J}=Y,G=await TQ(this.config.headers());try{let{responseHeaders:K,value:W,rawValue:Z}=await p$({url:this.getUrl(),headers:m$(G,Y.headers,this.getModelConfigHeaders(this.modelId,!1),await TQ(this.config.o11yHeaders)),body:Q,successfulResponseHandler:c$(B.any()),failedResponseHandler:RW({errorSchema:B.any(),errorToMessage:(H)=>H}),...J&&{abortSignal:J},fetch:this.config.fetch});return{...W,request:{body:Q},response:{headers:K,body:Z},warnings:X}}catch(K){throw await n$(K,await dD(G))}}async doStream(Y){let{args:Q,warnings:X}=await this.getArgs(Y),{abortSignal:J}=Y,G=await TQ(this.config.headers());try{let{value:K,responseHeaders:W}=await p$({url:this.getUrl(),headers:m$(G,Y.headers,this.getModelConfigHeaders(this.modelId,!0),await TQ(this.config.o11yHeaders)),body:Q,successfulResponseHandler:N_0(B.any()),failedResponseHandler:RW({errorSchema:B.any(),errorToMessage:(Z)=>Z}),...J&&{abortSignal:J},fetch:this.config.fetch});return{stream:K.pipeThrough(new TransformStream({start(Z){if(X.length>0)Z.enqueue({type:"stream-start",warnings:X})},transform(Z,H){if(Z.success){let $=Z.value;if($.type==="raw"&&!Y.includeRawChunks)return;if($.type==="response-metadata"&&$.timestamp&&typeof $.timestamp==="string")$.timestamp=new Date($.timestamp);H.enqueue($)}else H.error(Z.error)}})),request:{body:Q},response:{headers:W}}}catch(K){throw await n$(K,await dD(G))}}isFilePart(Y){return Y&&typeof Y==="object"&&"type"in Y&&Y.type==="file"}maybeEncodeFileParts(Y){for(let Q of Y.prompt)for(let X of Q.content)if(this.isFilePart(X)){let J=X;if(J.data instanceof Uint8Array){let G=Uint8Array.from(J.data),K=Buffer.from(G).toString("base64");J.data=new URL(`data:${J.mediaType||"application/octet-stream"};base64,${K}`)}}return Y}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders(Y,Q){return{"ai-language-model-specification-version":"3","ai-language-model-id":Y,"ai-language-model-streaming":String(Q)}}},gI6=class{constructor(Y,Q){this.modelId=Y,this.config=Q,this.specificationVersion="v3",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}get provider(){return this.config.provider}async doEmbed({values:Y,headers:Q,abortSignal:X,providerOptions:J}){var G;let K=await TQ(this.config.headers());try{let{responseHeaders:W,value:Z,rawValue:H}=await p$({url:this.getUrl(),headers:m$(K,Q!=null?Q:{},this.getModelConfigHeaders(),await TQ(this.config.o11yHeaders)),body:{values:Y,...J?{providerOptions:J}:{}},successfulResponseHandler:c$(uI6),failedResponseHandler:RW({errorSchema:B.any(),errorToMessage:($)=>$}),...X&&{abortSignal:X},fetch:this.config.fetch});return{embeddings:Z.embeddings,usage:(G=Z.usage)!=null?G:void 0,providerMetadata:Z.providerMetadata,response:{headers:W,body:H},warnings:[]}}catch(W){throw await n$(W,await dD(K))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"3","ai-model-id":this.modelId}}},uI6,mI6=class{constructor(Y,Q){this.modelId=Y,this.config=Q,this.specificationVersion="v3",this.maxImagesPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate({prompt:Y,n:Q,size:X,aspectRatio:J,seed:G,files:K,mask:W,providerOptions:Z,headers:H,abortSignal:$}){var F,V,q,U;let z=await TQ(this.config.headers());try{let{responseHeaders:D,value:L,rawValue:A}=await p$({url:this.getUrl(),headers:m$(z,H!=null?H:{},this.getModelConfigHeaders(),await TQ(this.config.o11yHeaders)),body:{prompt:Y,n:Q,...X&&{size:X},...J&&{aspectRatio:J},...G&&{seed:G},...Z&&{providerOptions:Z},...K&&{files:K.map((E)=>Sy0(E))},...W&&{mask:Sy0(W)}},successfulResponseHandler:c$(cI6),failedResponseHandler:RW({errorSchema:B.any(),errorToMessage:(E)=>E}),...$&&{abortSignal:$},fetch:this.config.fetch});return{images:L.images,warnings:(F=L.warnings)!=null?F:[],providerMetadata:L.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:D},...L.usage!=null&&{usage:{inputTokens:(V=L.usage.inputTokens)!=null?V:void 0,outputTokens:(q=L.usage.outputTokens)!=null?q:void 0,totalTokens:(U=L.usage.totalTokens)!=null?U:void 0}}}}catch(D){throw await n$(D,await dD(z))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"3","ai-model-id":this.modelId}}},lI6,dI6,pI6,cI6,nI6=class{constructor(Y,Q){this.modelId=Y,this.config=Q,this.specificationVersion="v3",this.maxVideosPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate({prompt:Y,n:Q,aspectRatio:X,resolution:J,duration:G,fps:K,seed:W,image:Z,providerOptions:H,headers:$,abortSignal:F}){var V;let q=await TQ(this.config.headers());try{let{responseHeaders:U,value:z}=await p$({url:this.getUrl(),headers:m$(q,$!=null?$:{},this.getModelConfigHeaders(),await TQ(this.config.o11yHeaders),{accept:"text/event-stream"}),body:{prompt:Y,n:Q,...X&&{aspectRatio:X},...J&&{resolution:J},...G&&{duration:G},...K&&{fps:K},...W&&{seed:W},...H&&{providerOptions:H},...Z&&{image:iI6(Z)}},successfulResponseHandler:async({response:D,url:L,requestBodyValues:A})=>{if(D.body==null)throw new d9({message:"SSE response body is empty",url:L,requestBodyValues:A,statusCode:D.status});let T=Li({stream:D.body,schema:sI6}).getReader(),{done:C,value:P}=await T.read();if(T.releaseLock(),C||!P)throw new d9({message:"SSE stream ended without a data event",url:L,requestBodyValues:A,statusCode:D.status});if(!P.success)throw new d9({message:"Failed to parse video SSE event",cause:P.error,url:L,requestBodyValues:A,statusCode:D.status});let I=P.value;if(I.type==="error")throw new d9({message:I.message,statusCode:I.statusCode,url:L,requestBodyValues:A,responseHeaders:Object.fromEntries([...D.headers]),responseBody:JSON.stringify(I),data:{error:{message:I.message,type:I.errorType,param:I.param}}});return{value:{videos:I.videos,warnings:I.warnings,providerMetadata:I.providerMetadata},responseHeaders:Object.fromEntries([...D.headers])}},failedResponseHandler:RW({errorSchema:B.any(),errorToMessage:(D)=>D}),...F&&{abortSignal:F},fetch:this.config.fetch});return{videos:z.videos,warnings:(V=z.warnings)!=null?V:[],providerMetadata:z.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:U}}}catch(U){throw await n$(U,await dD(q))}}getUrl(){return`${this.config.baseURL}/video-model`}getModelConfigHeaders(){return{"ai-video-model-specification-version":"3","ai-model-id":this.modelId}}},aI6,rI6,oI6,sI6,tI6,eI6,Yj6,Qj6=(Y={})=>Yj6(Y),Xj6,Jj6,Gj6,Wj6=(Y={})=>Gj6(Y),Zj6,Hj6="3.0.54",$j6="0.0.1",my0;var $B1=k(()=>{Y8();S8();r6();r6();Y8();Y8();r6();Y8();Y8();r6();Y8();r6();Y8();r6();Y8();r6();S8();Y8();r6();Y8();i1();Y8();i1();Y8();gy0=j6(KB1(),1),uy0=j6(KB1(),1),HB1=Symbol.for(MI6),C5=class Y extends(Jy0=Error,Xy0=HB1,Jy0){constructor({message:Q,statusCode:X=500,cause:J,generationId:G}){super(G?`${Q} [${G}]`:Q);this[Xy0]=!0,this.statusCode=X,this.cause=J,this.generationId=G}static isInstance(Q){return Y.hasMarker(Q)}static hasMarker(Q){return typeof Q==="object"&&Q!==null&&HB1 in Q&&Q[HB1]===!0}},AI6=`vercel.ai.gateway.error.${ky0}`,Gy0=Symbol.for(AI6),Ci=class Y extends(Zy0=C5,Wy0=Gy0,Zy0){constructor({message:Q="Authentication failed",statusCode:X=401,cause:J,generationId:G}={}){super({message:Q,statusCode:X,cause:J,generationId:G});this[Wy0]=!0,this.name=ky0,this.type="authentication_error"}static isInstance(Q){return C5.hasMarker(Q)&&Gy0 in Q}static createContextualError({apiKeyProvided:Q,oidcTokenProvided:X,message:J="Authentication failed",statusCode:G=401,cause:K,generationId:W}){let Z;if(Q)Z=`AI Gateway authentication failed: Invalid API key.
1112
1112
 
1113
1113
  Create a new API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
1114
1114
 
@@ -1134,7 +1134,7 @@ Alternatively, you can use a provider module instead of the AI Gateway.
1134
1134
  Learn more: \x1B[34m${X}\x1B[0m
1135
1135
 
1136
1136
  `),{name:"GatewayAuthenticationError"})}function Zk({operationId:Y,telemetry:Q}){return{"operation.name":`${Y}${(Q==null?void 0:Q.functionId)!=null?` ${Q.functionId}`:""}`,"resource.name":Q==null?void 0:Q.functionId,"ai.operationId":Y,"ai.telemetry.functionId":Q==null?void 0:Q.functionId}}function Yb0({model:Y,settings:Q,telemetry:X,headers:J}){var G;return{"ai.model.provider":Y.provider,"ai.model.id":Y.modelId,...Object.entries(Q).reduce((K,[W,Z])=>{if(W==="timeout"){let H=PB1(Z);if(H!=null)K[`ai.settings.${W}`]=H}else K[`ai.settings.${W}`]=Z;return K},{}),...Object.entries((G=X==null?void 0:X.metadata)!=null?G:{}).reduce((K,[W,Z])=>{return K[`ai.telemetry.metadata.${W}`]=Z,K},{}),...Object.entries(J!=null?J:{}).reduce((K,[W,Z])=>{if(Z!==void 0)K[`ai.request.headers.${W}`]=Z;return K},{})}}function Xb0({isEnabled:Y=!1,tracer:Q}={}){if(!Y)return kS6;if(Q)return Q;return Qb0.trace.getTracer("ai")}async function Kk({name:Y,tracer:Q,attributes:X,fn:J,endWhenDone:G=!0}){return Q.startActiveSpan(Y,{attributes:await X},async(K)=>{let W=vw.context.active();try{let Z=await vw.context.with(W,()=>J(K));if(G)K.end();return Z}catch(Z){try{Jb0(K,Z)}finally{K.end()}throw Z}})}function Jb0(Y,Q){if(Q instanceof Error)Y.recordException({name:Q.name,message:Q.message,stack:Q.stack}),Y.setStatus({code:vw.SpanStatusCode.ERROR,message:Q.message});else Y.setStatus({code:vw.SpanStatusCode.ERROR})}async function gH({telemetry:Y,attributes:Q}){if((Y==null?void 0:Y.isEnabled)!==!0)return{};let X={};for(let[J,G]of Object.entries(Q)){if(G==null)continue;if(typeof G==="object"&&"input"in G&&typeof G.input==="function"){if((Y==null?void 0:Y.recordInputs)===!1)continue;let K=await G.input();if(K!=null)X[J]=K;continue}if(typeof G==="object"&&"output"in G&&typeof G.output==="function"){if((Y==null?void 0:Y.recordOutputs)===!1)continue;let K=await G.output();if(K!=null)X[J]=K;continue}X[J]=G}return X}function Gb0(Y){return JSON.stringify(Y.map((Q)=>({...Q,content:typeof Q.content==="string"?Q.content:Q.content.map((X)=>X.type==="file"?{...X,data:X.data instanceof Uint8Array?zS6(X.data):X.data}:X)})))}function Wb0(Y){return{inputTokens:Y.inputTokens.total,inputTokenDetails:{noCacheTokens:Y.inputTokens.noCache,cacheReadTokens:Y.inputTokens.cacheRead,cacheWriteTokens:Y.inputTokens.cacheWrite},outputTokens:Y.outputTokens.total,outputTokenDetails:{textTokens:Y.outputTokens.text,reasoningTokens:Y.outputTokens.reasoning},totalTokens:cZ(Y.inputTokens.total,Y.outputTokens.total),raw:Y.raw,reasoningTokens:Y.outputTokens.reasoning,cachedInputTokens:Y.inputTokens.cacheRead}}function FB1(){return{inputTokens:void 0,inputTokenDetails:{noCacheTokens:void 0,cacheReadTokens:void 0,cacheWriteTokens:void 0},outputTokens:void 0,outputTokenDetails:{textTokens:void 0,reasoningTokens:void 0},totalTokens:void 0,raw:void 0}}function Zb0(Y,Q){var X,J,G,K,W,Z,H,$,F,V;return{inputTokens:cZ(Y.inputTokens,Q.inputTokens),inputTokenDetails:{noCacheTokens:cZ((X=Y.inputTokenDetails)==null?void 0:X.noCacheTokens,(J=Q.inputTokenDetails)==null?void 0:J.noCacheTokens),cacheReadTokens:cZ((G=Y.inputTokenDetails)==null?void 0:G.cacheReadTokens,(K=Q.inputTokenDetails)==null?void 0:K.cacheReadTokens),cacheWriteTokens:cZ((W=Y.inputTokenDetails)==null?void 0:W.cacheWriteTokens,(Z=Q.inputTokenDetails)==null?void 0:Z.cacheWriteTokens)},outputTokens:cZ(Y.outputTokens,Q.outputTokens),outputTokenDetails:{textTokens:cZ((H=Y.outputTokenDetails)==null?void 0:H.textTokens,($=Q.outputTokenDetails)==null?void 0:$.textTokens),reasoningTokens:cZ((F=Y.outputTokenDetails)==null?void 0:F.reasoningTokens,(V=Q.outputTokenDetails)==null?void 0:V.reasoningTokens)},totalTokens:cZ(Y.totalTokens,Q.totalTokens),reasoningTokens:cZ(Y.reasoningTokens,Q.reasoningTokens),cachedInputTokens:cZ(Y.cachedInputTokens,Q.cachedInputTokens)}}function cZ(Y,Q){return Y==null&&Q==null?void 0:(Y!=null?Y:0)+(Q!=null?Q:0)}function ki(Y,Q){if(Y===void 0&&Q===void 0)return;if(Y===void 0)return Q;if(Q===void 0)return Y;let X={...Y};for(let J in Q)if(Object.prototype.hasOwnProperty.call(Q,J)){let G=Q[J];if(G===void 0)continue;let K=J in Y?Y[J]:void 0,W=G!==null&&typeof G==="object"&&!Array.isArray(G)&&!(G instanceof Date)&&!(G instanceof RegExp),Z=K!==null&&K!==void 0&&typeof K==="object"&&!Array.isArray(K)&&!(K instanceof Date)&&!(K instanceof RegExp);if(W&&Z)X[J]=ki(K,G);else X[J]=G}return X}function _S6({error:Y,exponentialBackoffDelay:Q}){let X=Y.responseHeaders;if(!X)return Q;let J,G=X["retry-after-ms"];if(G){let W=parseFloat(G);if(!Number.isNaN(W))J=W}let K=X["retry-after"];if(K&&J===void 0){let W=parseFloat(K);if(!Number.isNaN(W))J=W*1000;else J=Date.parse(K)-Date.now()}if(J!=null&&!Number.isNaN(J)&&0<=J&&(J<60000||J<Q))return J;return Q}async function Kb0(Y,{maxRetries:Q,delayInMs:X,backoffFactor:J,abortSignal:G},K=[]){try{return await Y()}catch(W){if(u$(W))throw W;if(Q===0)throw W;let Z=dq(W),H=[...K,W],$=H.length;if($>Q)throw new dy0({message:`Failed after ${$} attempts. Last error: ${Z}`,reason:"maxRetriesExceeded",errors:H});if(W instanceof Error&&d9.isInstance(W)&&W.isRetryable===!0&&$<=Q)return await W_0(_S6({error:W,exponentialBackoffDelay:X}),{abortSignal:G}),Kb0(Y,{maxRetries:Q,delayInMs:J*X,backoffFactor:J,abortSignal:G},H);if($===1)throw W;throw new dy0({message:`Failed after ${$} attempts with non-retryable error: '${Z}'`,reason:"errorNotRetryable",errors:H})}}function Hb0({maxRetries:Y,abortSignal:Q}){if(Y!=null){if(!Number.isInteger(Y))throw new nZ({parameter:"maxRetries",value:Y,message:"maxRetries must be an integer"});if(Y<0)throw new nZ({parameter:"maxRetries",value:Y,message:"maxRetries must be >= 0"})}let X=Y!=null?Y:2;return{maxRetries:X,retry:yS6({maxRetries:X,abortSignal:Q})}}function $b0({messages:Y}){let Q=Y.at(-1);if((Q==null?void 0:Q.role)!="tool")return{approvedToolApprovals:[],deniedToolApprovals:[]};let X={};for(let H of Y)if(H.role==="assistant"&&typeof H.content!=="string"){let $=H.content;for(let F of $)if(F.type==="tool-call")X[F.toolCallId]=F}let J={};for(let H of Y)if(H.role==="assistant"&&typeof H.content!=="string"){let $=H.content;for(let F of $)if(F.type==="tool-approval-request")J[F.approvalId]=F}let G={};for(let H of Q.content)if(H.type==="tool-result")G[H.toolCallId]=H;let K=[],W=[],Z=Q.content.filter((H)=>H.type==="tool-approval-response");for(let H of Z){let $=J[H.approvalId];if($==null)throw new Mj6({approvalId:H.approvalId});if(G[$.toolCallId]!=null)continue;let F=X[$.toolCallId];if(F==null)throw new AB1({toolCallId:$.toolCallId,approvalId:$.approvalId});let V={approvalRequest:$,approvalResponse:H,toolCall:F};if(H.approved)K.push(V);else W.push(V)}return{approvedToolApprovals:K,deniedToolApprovals:W}}function Ii(){var Y,Q;return(Q=(Y=globalThis==null?void 0:globalThis.performance)==null?void 0:Y.now())!=null?Q:Date.now()}async function EB1({toolCall:Y,tools:Q,tracer:X,telemetry:J,messages:G,abortSignal:K,experimental_context:W,stepNumber:Z,model:H,onPreliminaryToolResult:$,onToolCallStart:F,onToolCallFinish:V}){let{toolName:q,toolCallId:U,input:z}=Y,D=Q==null?void 0:Q[q];if((D==null?void 0:D.execute)==null)return;let L={stepNumber:Z,model:H,toolCall:Y,messages:G,abortSignal:K,functionId:J==null?void 0:J.functionId,metadata:J==null?void 0:J.metadata,experimental_context:W};return Kk({name:"ai.toolCall",attributes:gH({telemetry:J,attributes:{...Zk({operationId:"ai.toolCall",telemetry:J}),"ai.toolCall.name":q,"ai.toolCall.id":U,"ai.toolCall.args":{output:()=>JSON.stringify(z)}}}),tracer:X,fn:async(A)=>{let E;try{await(F==null?void 0:F(L))}catch(P){}let T=Ii();try{let P=M_0({execute:D.execute.bind(D),input:z,options:{toolCallId:U,messages:G,abortSignal:K,experimental_context:W}});for await(let I of P)if(I.type==="preliminary")$==null||$({...Y,type:"tool-result",output:I.output,preliminary:!0});else E=I.output}catch(P){let I=Ii()-T;try{await(V==null?void 0:V({...L,success:!1,error:P,durationMs:I}))}catch(S){}return Jb0(A,P),{type:"tool-error",toolCallId:U,toolName:q,input:z,error:P,dynamic:D.type==="dynamic",...Y.providerMetadata!=null?{providerMetadata:Y.providerMetadata}:{}}}let C=Ii()-T;try{await(V==null?void 0:V({...L,success:!0,output:E,durationMs:C}))}catch(P){}try{A.setAttributes(await gH({telemetry:J,attributes:{"ai.toolCall.result":{output:()=>JSON.stringify(E)}}}))}catch(P){}return{type:"tool-result",toolCallId:U,toolName:q,input:z,output:E,dynamic:D.type==="dynamic",...Y.providerMetadata!=null?{providerMetadata:Y.providerMetadata}:{}}}})}function iy0(Y){let Q=Y.filter((X)=>X.type==="reasoning");return Q.length===0?void 0:Q.map((X)=>X.text).join(`
1137
- `)}function ay0(Y){let Q=Y.filter((X)=>X.type==="text");if(Q.length===0)return;return Q.map((X)=>X.text).join("")}async function Vb0({tool:Y,toolCall:Q,messages:X,experimental_context:J}){if(Y.needsApproval==null)return!1;if(typeof Y.needsApproval==="boolean")return Y.needsApproval;return await Y.needsApproval(Q.input,{toolCallId:Q.toolCallId,messages:X,experimental_context:J})}function hS6(Y){let Q=["ROOT"],X=-1,J=null;function G(H,$,F){switch(H){case'"':{X=$,Q.pop(),Q.push(F),Q.push("INSIDE_STRING");break}case"f":case"t":case"n":{X=$,J=$,Q.pop(),Q.push(F),Q.push("INSIDE_LITERAL");break}case"-":{Q.pop(),Q.push(F),Q.push("INSIDE_NUMBER");break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{X=$,Q.pop(),Q.push(F),Q.push("INSIDE_NUMBER");break}case"{":{X=$,Q.pop(),Q.push(F),Q.push("INSIDE_OBJECT_START");break}case"[":{X=$,Q.pop(),Q.push(F),Q.push("INSIDE_ARRAY_START");break}}}function K(H,$){switch(H){case",":{Q.pop(),Q.push("INSIDE_OBJECT_AFTER_COMMA");break}case"}":{X=$,Q.pop();break}}}function W(H,$){switch(H){case",":{Q.pop(),Q.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{X=$,Q.pop();break}}}for(let H=0;H<Y.length;H++){let $=Y[H];switch(Q[Q.length-1]){case"ROOT":G($,H,"FINISH");break;case"INSIDE_OBJECT_START":{switch($){case'"':{Q.pop(),Q.push("INSIDE_OBJECT_KEY");break}case"}":{X=H,Q.pop();break}}break}case"INSIDE_OBJECT_AFTER_COMMA":{switch($){case'"':{Q.pop(),Q.push("INSIDE_OBJECT_KEY");break}}break}case"INSIDE_OBJECT_KEY":{switch($){case'"':{Q.pop(),Q.push("INSIDE_OBJECT_AFTER_KEY");break}}break}case"INSIDE_OBJECT_AFTER_KEY":{switch($){case":":{Q.pop(),Q.push("INSIDE_OBJECT_BEFORE_VALUE");break}}break}case"INSIDE_OBJECT_BEFORE_VALUE":{G($,H,"INSIDE_OBJECT_AFTER_VALUE");break}case"INSIDE_OBJECT_AFTER_VALUE":{K($,H);break}case"INSIDE_STRING":{switch($){case'"':{Q.pop(),X=H;break}case"\\":{Q.push("INSIDE_STRING_ESCAPE");break}default:X=H}break}case"INSIDE_ARRAY_START":{switch($){case"]":{X=H,Q.pop();break}default:{X=H,G($,H,"INSIDE_ARRAY_AFTER_VALUE");break}}break}case"INSIDE_ARRAY_AFTER_VALUE":{switch($){case",":{Q.pop(),Q.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{X=H,Q.pop();break}default:{X=H;break}}break}case"INSIDE_ARRAY_AFTER_COMMA":{G($,H,"INSIDE_ARRAY_AFTER_VALUE");break}case"INSIDE_STRING_ESCAPE":{Q.pop(),X=H;break}case"INSIDE_NUMBER":{switch($){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{X=H;break}case"e":case"E":case"-":case".":break;case",":{if(Q.pop(),Q[Q.length-1]==="INSIDE_ARRAY_AFTER_VALUE")W($,H);if(Q[Q.length-1]==="INSIDE_OBJECT_AFTER_VALUE")K($,H);break}case"}":{if(Q.pop(),Q[Q.length-1]==="INSIDE_OBJECT_AFTER_VALUE")K($,H);break}case"]":{if(Q.pop(),Q[Q.length-1]==="INSIDE_ARRAY_AFTER_VALUE")W($,H);break}default:{Q.pop();break}}break}case"INSIDE_LITERAL":{let V=Y.substring(J,H+1);if(!"false".startsWith(V)&&!"true".startsWith(V)&&!"null".startsWith(V)){if(Q.pop(),Q[Q.length-1]==="INSIDE_OBJECT_AFTER_VALUE")K($,H);else if(Q[Q.length-1]==="INSIDE_ARRAY_AFTER_VALUE")W($,H)}else X=H;break}}}let Z=Y.slice(0,X+1);for(let H=Q.length-1;H>=0;H--)switch(Q[H]){case"INSIDE_STRING":{Z+='"';break}case"INSIDE_OBJECT_KEY":case"INSIDE_OBJECT_AFTER_KEY":case"INSIDE_OBJECT_AFTER_COMMA":case"INSIDE_OBJECT_START":case"INSIDE_OBJECT_BEFORE_VALUE":case"INSIDE_OBJECT_AFTER_VALUE":{Z+="}";break}case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":{Z+="]";break}case"INSIDE_LITERAL":{let F=Y.substring(J,Y.length);if("true".startsWith(F))Z+="true".slice(F.length);else if("false".startsWith(F))Z+="false".slice(F.length);else if("null".startsWith(F))Z+="null".slice(F.length)}}return Z}async function Hk(Y){if(Y===void 0)return{value:void 0,state:"undefined-input"};let Q=await wG({text:Y});if(Q.success)return{value:Q.value,state:"successful-parse"};if(Q=await wG({text:hS6(Y)}),Q.success)return{value:Q.value,state:"repaired-parse"};return{value:void 0,state:"failed-parse"}}async function qb0({toolCall:Y,tools:Q,repairToolCall:X,system:J,messages:G}){var K;try{if(Q==null){if(Y.providerExecuted&&Y.dynamic)return await Bb0(Y);throw new zB1({toolName:Y.toolName})}try{return await ry0({toolCall:Y,tools:Q})}catch(W){if(X==null||!(zB1.isInstance(W)||MB1.isInstance(W)))throw W;let Z=null;try{Z=await X({toolCall:Y,tools:Q,inputSchema:async({toolName:H})=>{let{inputSchema:$}=Q[H];return await hH($).jsonSchema},system:J,messages:G,error:W})}catch(H){throw new pj6({cause:H,originalError:W})}if(Z==null)throw W;return await ry0({toolCall:Z,tools:Q})}}catch(W){let Z=await wG({text:Y.input}),H=Z.success?Z.value:Y.input;return{type:"tool-call",toolCallId:Y.toolCallId,toolName:Y.toolName,input:H,dynamic:!0,invalid:!0,error:W,title:(K=Q==null?void 0:Q[Y.toolName])==null?void 0:K.title,providerExecuted:Y.providerExecuted,providerMetadata:Y.providerMetadata}}}async function Bb0(Y){let Q=Y.input.trim()===""?{success:!0,value:{}}:await wG({text:Y.input});if(Q.success===!1)throw new MB1({toolName:Y.toolName,toolInput:Y.input,cause:Q.error});return{type:"tool-call",toolCallId:Y.toolCallId,toolName:Y.toolName,input:Q.value,providerExecuted:!0,dynamic:!0,providerMetadata:Y.providerMetadata}}async function ry0({toolCall:Y,tools:Q}){let X=Y.toolName,J=Q[X];if(J==null){if(Y.providerExecuted&&Y.dynamic)return await Bb0(Y);throw new zB1({toolName:Y.toolName,availableTools:Object.keys(Q)})}let G=hH(J.inputSchema),K=Y.input.trim()===""?await T5({value:{},schema:G}):await wG({text:Y.input,schema:G});if(K.success===!1)throw new MB1({toolName:X,toolInput:Y.input,cause:K.error});return J.type==="dynamic"?{type:"tool-call",toolCallId:Y.toolCallId,toolName:Y.toolName,input:K.value,providerExecuted:Y.providerExecuted,providerMetadata:Y.providerMetadata,dynamic:!0,title:J.title}:{type:"tool-call",toolCallId:Y.toolCallId,toolName:X,input:K.value,providerExecuted:Y.providerExecuted,providerMetadata:Y.providerMetadata,title:J.title}}function cq(Y){return({steps:Q})=>Q.length===Y}async function zb0({stopConditions:Y,steps:Q}){return(await Promise.all(Y.map((X)=>X({steps:Q})))).some((X)=>X)}async function OB1({content:Y,tools:Q}){let X=[],J=[];for(let K of Y){if(K.type==="source")continue;if((K.type==="tool-result"||K.type==="tool-error")&&!K.providerExecuted)continue;if(K.type==="text"&&K.text.length===0)continue;switch(K.type){case"text":J.push({type:"text",text:K.text,providerOptions:K.providerMetadata});break;case"reasoning":J.push({type:"reasoning",text:K.text,providerOptions:K.providerMetadata});break;case"file":J.push({type:"file",data:K.file.base64,mediaType:K.file.mediaType,providerOptions:K.providerMetadata});break;case"tool-call":J.push({type:"tool-call",toolCallId:K.toolCallId,toolName:K.toolName,input:K.input,providerExecuted:K.providerExecuted,providerOptions:K.providerMetadata});break;case"tool-result":{let W=await pD({toolCallId:K.toolCallId,input:K.input,tool:Q==null?void 0:Q[K.toolName],output:K.output,errorMode:"none"});J.push({type:"tool-result",toolCallId:K.toolCallId,toolName:K.toolName,output:W,providerOptions:K.providerMetadata});break}case"tool-error":{let W=await pD({toolCallId:K.toolCallId,input:K.input,tool:Q==null?void 0:Q[K.toolName],output:K.error,errorMode:"json"});J.push({type:"tool-result",toolCallId:K.toolCallId,toolName:K.toolName,output:W,providerOptions:K.providerMetadata});break}case"tool-approval-request":J.push({type:"tool-approval-request",approvalId:K.approvalId,toolCallId:K.toolCall.toolCallId});break}}if(J.length>0)X.push({role:"assistant",content:J});let G=[];for(let K of Y){if(!(K.type==="tool-result"||K.type==="tool-error")||K.providerExecuted)continue;let W=await pD({toolCallId:K.toolCallId,input:K.input,tool:Q==null?void 0:Q[K.toolName],output:K.type==="tool-result"?K.output:K.error,errorMode:K.type==="tool-error"?"text":"none"});G.push({type:"tool-result",toolCallId:K.toolCallId,toolName:K.toolName,output:W,...K.providerMetadata!=null?{providerOptions:K.providerMetadata}:{}})}if(G.length>0)X.push({role:"tool",content:G});return X}function Db0(...Y){let Q=Y.filter((J)=>J!=null);if(Q.length===0)return;if(Q.length===1)return Q[0];let X=new AbortController;for(let J of Q){if(J.aborted)return X.abort(J.reason),X.signal;J.addEventListener("abort",()=>{X.abort(J.reason)},{once:!0})}return X.signal}async function _w({model:Y,tools:Q,toolChoice:X,system:J,prompt:G,messages:K,maxRetries:W,abortSignal:Z,timeout:H,headers:$,stopWhen:F=cq(1),experimental_output:V,output:q=V,experimental_telemetry:U,providerOptions:z,experimental_activeTools:D,activeTools:L=D,experimental_prepareStep:A,prepareStep:E=A,experimental_repairToolCall:T,experimental_download:C,experimental_context:P,experimental_include:I,_internal:{generateId:S=lS6}={},experimental_onStart:y,experimental_onStepStart:f,experimental_onToolCallStart:b,experimental_onToolCallFinish:g,onStepFinish:o,onFinish:m,...h}){let n=ji(Y),K1=Gk(F),J1=PB1(H),N1=lf0(H),j1=N1!=null?new AbortController:void 0,O1=Db0(Z,J1!=null?AbortSignal.timeout(J1):void 0,j1==null?void 0:j1.signal),{maxRetries:T1,retry:b1}=Hb0({maxRetries:W,abortSignal:O1}),s1=DB1(h),H0=d$($!=null?$:{},`ai/${df0}`),C1=Yb0({model:n,telemetry:U,headers:H0,settings:{...s1,maxRetries:T1}}),A1={provider:n.provider,modelId:n.modelId},g1=await tf0({system:J,prompt:G,messages:K});try{await(y==null?void 0:y({model:A1,system:J,prompt:G,messages:K,tools:Q,toolChoice:X,activeTools:L,maxOutputTokens:s1.maxOutputTokens,temperature:s1.temperature,topP:s1.topP,topK:s1.topK,presencePenalty:s1.presencePenalty,frequencyPenalty:s1.frequencyPenalty,stopSequences:s1.stopSequences,seed:s1.seed,maxRetries:T1,timeout:H,headers:$,providerOptions:z,stopWhen:F,output:q,abortSignal:Z,include:I,functionId:U==null?void 0:U.functionId,metadata:U==null?void 0:U.metadata,experimental_context:P}))}catch(d0){}let G4=Xb0(U);try{return await Kk({name:"ai.generateText",attributes:gH({telemetry:U,attributes:{...Zk({operationId:"ai.generateText",telemetry:U}),...C1,"ai.model.provider":n.provider,"ai.model.id":n.modelId,"ai.prompt":{input:()=>JSON.stringify({system:J,prompt:G,messages:K})}}}),tracer:G4,fn:async(d0)=>{var $0,v1,L1,c1,I1,_1,T0,J0,W0,a4,W6,b6,G8;let h0=g1.messages,u1=[],{approvedToolApprovals:v0,deniedToolApprovals:e4}=$b0({messages:h0}),W8=v0.filter((s)=>!s.toolCall.providerExecuted);if(e4.length>0||W8.length>0){let s=await oy0({toolCalls:W8.map((F1)=>F1.toolCall),tools:Q,tracer:G4,telemetry:U,messages:h0,abortSignal:O1,experimental_context:P,stepNumber:0,model:A1,onToolCallStart:b,onToolCallFinish:g}),B1=[];for(let F1 of s){let t=await pD({toolCallId:F1.toolCallId,input:F1.input,tool:Q==null?void 0:Q[F1.toolName],output:F1.type==="tool-result"?F1.output:F1.error,errorMode:F1.type==="tool-error"?"json":"none"});B1.push({type:"tool-result",toolCallId:F1.toolCallId,toolName:F1.toolName,output:t})}for(let F1 of e4)B1.push({type:"tool-result",toolCallId:F1.toolCall.toolCallId,toolName:F1.toolCall.toolName,output:{type:"execution-denied",reason:F1.approvalResponse.reason,...F1.toolCall.providerExecuted&&{providerOptions:{openai:{approvalId:F1.approvalResponse.approvalId}}}}});u1.push({role:"tool",content:B1})}let k9=[...v0,...e4].filter((s)=>s.toolCall.providerExecuted);if(k9.length>0)u1.push({role:"tool",content:k9.map((s)=>({type:"tool-approval-response",approvalId:s.approvalResponse.approvalId,approved:s.approvalResponse.approved,reason:s.approvalResponse.reason,providerExecuted:!0}))});let a0=DB1(h),j0,m6=[],M=[],x=[],Z1=new Map;do{let s=N1!=null?setTimeout(()=>j1.abort(),N1):void 0;try{let B1=[...h0,...u1],F1=await(E==null?void 0:E({model:n,steps:x,stepNumber:x.length,messages:B1,experimental_context:P})),t=ji(($0=F1==null?void 0:F1.model)!=null?$0:n),a1={provider:t.provider,modelId:t.modelId},f0=await if0({prompt:{system:(v1=F1==null?void 0:F1.system)!=null?v1:g1.system,messages:(L1=F1==null?void 0:F1.messages)!=null?L1:B1},supportedUrls:await t.supportedUrls,download:C});P=(c1=F1==null?void 0:F1.experimental_context)!=null?c1:P;let m0=(I1=F1==null?void 0:F1.activeTools)!=null?I1:L,{toolChoice:F0,tools:U4}=await af0({tools:Q,toolChoice:(_1=F1==null?void 0:F1.toolChoice)!=null?_1:X,activeTools:m0}),G9=(T0=F1==null?void 0:F1.messages)!=null?T0:B1,s9=(J0=F1==null?void 0:F1.system)!=null?J0:g1.system,w6=ki(z,F1==null?void 0:F1.providerOptions);try{await(f==null?void 0:f({stepNumber:x.length,model:a1,system:s9,messages:G9,tools:Q,toolChoice:F0,activeTools:m0,steps:[...x],providerOptions:w6,timeout:H,headers:$,stopWhen:F,output:q,abortSignal:Z,include:I,functionId:U==null?void 0:U.functionId,metadata:U==null?void 0:U.metadata,experimental_context:P}))}catch(z1){}j0=await b1(()=>{var z1;return Kk({name:"ai.generateText.doGenerate",attributes:gH({telemetry:U,attributes:{...Zk({operationId:"ai.generateText.doGenerate",telemetry:U}),...C1,"ai.model.provider":t.provider,"ai.model.id":t.modelId,"ai.prompt.messages":{input:()=>Gb0(f0)},"ai.prompt.tools":{input:()=>U4==null?void 0:U4.map((p1)=>JSON.stringify(p1))},"ai.prompt.toolChoice":{input:()=>F0!=null?JSON.stringify(F0):void 0},"gen_ai.system":t.provider,"gen_ai.request.model":t.modelId,"gen_ai.request.frequency_penalty":h.frequencyPenalty,"gen_ai.request.max_tokens":h.maxOutputTokens,"gen_ai.request.presence_penalty":h.presencePenalty,"gen_ai.request.stop_sequences":h.stopSequences,"gen_ai.request.temperature":(z1=h.temperature)!=null?z1:void 0,"gen_ai.request.top_k":h.topK,"gen_ai.request.top_p":h.topP}}),tracer:G4,fn:async(p1)=>{var U0,c0,l0,I6,n0,_4,y4,p4;let $4=await t.doGenerate({...a0,tools:U4,toolChoice:F0,responseFormat:await(q==null?void 0:q.responseFormat),prompt:f0,providerOptions:w6,abortSignal:O1,headers:H0}),I4={id:(c0=(U0=$4.response)==null?void 0:U0.id)!=null?c0:S(),timestamp:(I6=(l0=$4.response)==null?void 0:l0.timestamp)!=null?I6:new Date,modelId:(_4=(n0=$4.response)==null?void 0:n0.modelId)!=null?_4:t.modelId,headers:(y4=$4.response)==null?void 0:y4.headers,body:(p4=$4.response)==null?void 0:p4.body};return p1.setAttributes(await gH({telemetry:U,attributes:{"ai.response.finishReason":$4.finishReason.unified,"ai.response.text":{output:()=>ay0($4.content)},"ai.response.reasoning":{output:()=>iy0($4.content)},"ai.response.toolCalls":{output:()=>{let n4=sy0($4.content);return n4==null?void 0:JSON.stringify(n4)}},"ai.response.id":I4.id,"ai.response.model":I4.modelId,"ai.response.timestamp":I4.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify($4.providerMetadata),"ai.usage.promptTokens":$4.usage.inputTokens.total,"ai.usage.completionTokens":$4.usage.outputTokens.total,"gen_ai.response.finish_reasons":[$4.finishReason.unified],"gen_ai.response.id":I4.id,"gen_ai.response.model":I4.modelId,"gen_ai.usage.input_tokens":$4.usage.inputTokens.total,"gen_ai.usage.output_tokens":$4.usage.outputTokens.total}})),{...$4,response:I4}}})});let _6=await Promise.all(j0.content.filter((z1)=>z1.type==="tool-call").map((z1)=>qb0({toolCall:z1,tools:Q,repairToolCall:T,system:J,messages:B1}))),KJ={};for(let z1 of _6){if(z1.invalid)continue;let p1=Q==null?void 0:Q[z1.toolName];if(p1==null)continue;if((p1==null?void 0:p1.onInputAvailable)!=null)await p1.onInputAvailable({input:z1.input,toolCallId:z1.toolCallId,messages:B1,abortSignal:O1,experimental_context:P});if(await Vb0({tool:p1,toolCall:z1,messages:B1,experimental_context:P}))KJ[z1.toolCallId]={type:"tool-approval-request",approvalId:S(),toolCall:z1}}let u=_6.filter((z1)=>z1.invalid&&z1.dynamic);M=[];for(let z1 of u)M.push({type:"tool-error",toolCallId:z1.toolCallId,toolName:z1.toolName,input:z1.input,error:dq(z1.error),dynamic:!0});if(m6=_6.filter((z1)=>!z1.providerExecuted),Q!=null)M.push(...await oy0({toolCalls:m6.filter((z1)=>!z1.invalid&&KJ[z1.toolCallId]==null),tools:Q,tracer:G4,telemetry:U,messages:B1,abortSignal:O1,experimental_context:P,stepNumber:x.length,model:a1,onToolCallStart:b,onToolCallFinish:g}));for(let z1 of _6){if(!z1.providerExecuted)continue;let p1=Q==null?void 0:Q[z1.toolName];if((p1==null?void 0:p1.type)==="provider"&&p1.supportsDeferredResults){if(!j0.content.some((c0)=>c0.type==="tool-result"&&c0.toolCallId===z1.toolCallId))Z1.set(z1.toolCallId,{toolName:z1.toolName})}}for(let z1 of j0.content)if(z1.type==="tool-result")Z1.delete(z1.toolCallId);let c=pS6({content:j0.content,toolCalls:_6,toolOutputs:M,toolApprovalRequests:Object.values(KJ),tools:Q});u1.push(...await OB1({content:c,tools:Q}));let r=((W0=I==null?void 0:I.requestBody)!=null?W0:!0)?(a4=j0.request)!=null?a4:{}:{...j0.request,body:void 0},v={...j0.response,messages:structuredClone(u1),body:((W6=I==null?void 0:I.responseBody)!=null?W6:!0)?(b6=j0.response)==null?void 0:b6.body:void 0},G1=x.length,V1=new Ub0({stepNumber:G1,model:a1,functionId:U==null?void 0:U.functionId,metadata:U==null?void 0:U.metadata,experimental_context:P,content:c,finishReason:j0.finishReason.unified,rawFinishReason:j0.finishReason.raw,usage:Wb0(j0.usage),warnings:j0.warnings,providerMetadata:j0.providerMetadata,request:r,response:v});wB1({warnings:(G8=j0.warnings)!=null?G8:[],provider:a1.provider,model:a1.modelId}),x.push(V1),await(o==null?void 0:o(V1))}finally{if(s!=null)clearTimeout(s)}}while((m6.length>0&&M.length===m6.length||Z1.size>0)&&!await zb0({stopConditions:K1,steps:x}));d0.setAttributes(await gH({telemetry:U,attributes:{"ai.response.finishReason":j0.finishReason.unified,"ai.response.text":{output:()=>ay0(j0.content)},"ai.response.reasoning":{output:()=>iy0(j0.content)},"ai.response.toolCalls":{output:()=>{let s=sy0(j0.content);return s==null?void 0:JSON.stringify(s)}},"ai.response.providerMetadata":JSON.stringify(j0.providerMetadata),"ai.usage.promptTokens":j0.usage.inputTokens.total,"ai.usage.completionTokens":j0.usage.outputTokens.total}}));let H1=x[x.length-1],O=x.reduce((s,B1)=>{return Zb0(s,B1.usage)},{inputTokens:void 0,outputTokens:void 0,totalTokens:void 0,reasoningTokens:void 0,cachedInputTokens:void 0});await(m==null?void 0:m({stepNumber:H1.stepNumber,model:H1.model,functionId:H1.functionId,metadata:H1.metadata,experimental_context:H1.experimental_context,finishReason:H1.finishReason,rawFinishReason:H1.rawFinishReason,usage:H1.usage,content:H1.content,text:H1.text,reasoningText:H1.reasoningText,reasoning:H1.reasoning,files:H1.files,sources:H1.sources,toolCalls:H1.toolCalls,staticToolCalls:H1.staticToolCalls,dynamicToolCalls:H1.dynamicToolCalls,toolResults:H1.toolResults,staticToolResults:H1.staticToolResults,dynamicToolResults:H1.dynamicToolResults,request:H1.request,response:H1.response,warnings:H1.warnings,providerMetadata:H1.providerMetadata,steps:x,totalUsage:O}));let j;if(H1.finishReason==="stop")j=await(q!=null?q:Si()).parseCompleteOutput({text:H1.text},{response:H1.response,usage:H1.usage,finishReason:H1.finishReason});return new dS6({steps:x,totalUsage:O,output:j})}})}catch(d0){throw ef0(d0)}}async function oy0({toolCalls:Y,tools:Q,tracer:X,telemetry:J,messages:G,abortSignal:K,experimental_context:W,stepNumber:Z,model:H,onToolCallStart:$,onToolCallFinish:F}){return(await Promise.all(Y.map(async(q)=>EB1({toolCall:q,tools:Q,tracer:X,telemetry:J,messages:G,abortSignal:K,experimental_context:W,stepNumber:Z,model:H,onToolCallStart:$,onToolCallFinish:F})))).filter((q)=>q!=null)}function sy0(Y){let Q=Y.filter((X)=>X.type==="tool-call");if(Q.length===0)return;return Q.map((X)=>({toolCallId:X.toolCallId,toolName:X.toolName,input:X.input}))}function pS6({content:Y,toolCalls:Q,toolOutputs:X,toolApprovalRequests:J,tools:G}){let K=[];for(let W of Y)switch(W.type){case"text":case"reasoning":case"source":K.push(W);break;case"file":{K.push({type:"file",file:new Fb0(W),...W.providerMetadata!=null?{providerMetadata:W.providerMetadata}:{}});break}case"tool-call":{K.push(Q.find((Z)=>Z.toolCallId===W.toolCallId));break}case"tool-result":{let Z=Q.find((H)=>H.toolCallId===W.toolCallId);if(Z==null){let H=G==null?void 0:G[W.toolName];if(!((H==null?void 0:H.type)==="provider"&&H.supportsDeferredResults))throw Error(`Tool call ${W.toolCallId} not found.`);if(W.isError)K.push({type:"tool-error",toolCallId:W.toolCallId,toolName:W.toolName,input:void 0,error:W.result,providerExecuted:!0,dynamic:W.dynamic});else K.push({type:"tool-result",toolCallId:W.toolCallId,toolName:W.toolName,input:void 0,output:W.result,providerExecuted:!0,dynamic:W.dynamic});break}if(W.isError)K.push({type:"tool-error",toolCallId:W.toolCallId,toolName:W.toolName,input:Z.input,error:W.result,providerExecuted:!0,dynamic:Z.dynamic});else K.push({type:"tool-result",toolCallId:W.toolCallId,toolName:W.toolName,input:Z.input,output:W.result,providerExecuted:!0,dynamic:Z.dynamic});break}case"tool-approval-request":{let Z=Q.find((H)=>H.toolCallId===W.toolCallId);if(Z==null)throw new AB1({toolCallId:W.toolCallId,approvalId:W.approvalId});K.push({type:"tool-approval-request",approvalId:W.approvalId,toolCall:Z});break}}return[...K,...X,...J]}function vi(Y,Q){let X=new Headers(Y!=null?Y:{});for(let[J,G]of Object.entries(Q))if(!X.has(J))X.set(J,G);return X}function cS6({status:Y,statusText:Q,headers:X,textStream:J}){return new Response(J.pipeThrough(new TextEncoderStream),{status:Y!=null?Y:200,statusText:Q,headers:vi(X,{"content-type":"text/plain; charset=utf-8"})})}function Ob0({response:Y,status:Q,statusText:X,headers:J,stream:G}){let K=Q!=null?Q:200;if(X!==void 0)Y.writeHead(K,X,J);else Y.writeHead(K,J);let W=G.getReader();(async()=>{try{while(!0){let{done:H,value:$}=await W.read();if(H)break;if(!Y.write($))await new Promise((V)=>{Y.once("drain",V)})}}catch(H){throw H}finally{Y.end()}})()}function nS6({response:Y,status:Q,statusText:X,headers:J,textStream:G}){Ob0({response:Y,status:Q,statusText:X,headers:Object.fromEntries(vi(J,{"content-type":"text/plain; charset=utf-8"}).entries()),stream:G.pipeThrough(new TextEncoderStream)})}function TB1({status:Y,statusText:Q,headers:X,stream:J,consumeSseStream:G}){let K=J.pipeThrough(new Nb0);if(G){let[W,Z]=K.tee();K=W,G({stream:Z})}return new Response(K.pipeThrough(new TextEncoderStream),{status:Y,statusText:Q,headers:vi(X,Lb0)})}function iS6({originalMessages:Y,responseMessageId:Q}){if(Y==null)return;let X=Y[Y.length-1];return(X==null?void 0:X.role)==="assistant"?X.id:typeof Q==="function"?Q():Q}function aS6(Y){return Y.type.startsWith("data-")}function VB1(Y){return Y.type.startsWith("data-")}function qB1(Y){return Y.type==="text"}function BB1(Y){return Y.type==="file"}function ty0(Y){return Y.type==="reasoning"}function NB1(Y){return Y.type.startsWith("tool-")}function Mb0(Y){return Y.type==="dynamic-tool"}function Jk(Y){return NB1(Y)||Mb0(Y)}function LB1(Y){return Y.type.split("-").slice(1).join("-")}function UB1(Y){return Mb0(Y)?Y.toolName:LB1(Y)}function Ab0({lastMessage:Y,messageId:Q}){return{message:(Y==null?void 0:Y.role)==="assistant"?Y:{id:Q,metadata:void 0,role:"assistant",parts:[]},activeTextParts:{},activeReasoningParts:{},partialToolCalls:{}}}function wb0({stream:Y,messageMetadataSchema:Q,dataPartSchemas:X,runUpdateMessageJob:J,onError:G,onToolCall:K,onData:W}){return Y.pipeThrough(new TransformStream({async transform(Z,H){await J(async({state:$,write:F})=>{var V,q,U,z;function D(T){let P=$.message.parts.filter(Jk).find((I)=>I.toolCallId===T);if(P==null)throw new Sw({chunkType:"tool-invocation",chunkId:T,message:`No tool invocation found for tool call ID "${T}".`});return P}function L(T){var C;let P=$.message.parts.find((y)=>NB1(y)&&y.toolCallId===T.toolCallId),I=T,S=P;if(P!=null){if(P.state=T.state,S.input=I.input,S.output=I.output,S.errorText=I.errorText,S.rawInput=I.rawInput,S.preliminary=I.preliminary,T.title!==void 0)S.title=T.title;if(S.providerExecuted=(C=I.providerExecuted)!=null?C:P.providerExecuted,I.providerMetadata!=null)P.callProviderMetadata=I.providerMetadata}else $.message.parts.push({type:`tool-${T.toolName}`,toolCallId:T.toolCallId,state:T.state,title:T.title,input:I.input,output:I.output,rawInput:I.rawInput,errorText:I.errorText,providerExecuted:I.providerExecuted,preliminary:I.preliminary,...I.providerMetadata!=null?{callProviderMetadata:I.providerMetadata}:{}})}function A(T){var C,P;let I=$.message.parts.find((f)=>f.type==="dynamic-tool"&&f.toolCallId===T.toolCallId),S=T,y=I;if(I!=null){if(I.state=T.state,y.toolName=T.toolName,y.input=S.input,y.output=S.output,y.errorText=S.errorText,y.rawInput=(C=S.rawInput)!=null?C:y.rawInput,y.preliminary=S.preliminary,T.title!==void 0)y.title=T.title;if(y.providerExecuted=(P=S.providerExecuted)!=null?P:I.providerExecuted,S.providerMetadata!=null)I.callProviderMetadata=S.providerMetadata}else $.message.parts.push({type:"dynamic-tool",toolName:T.toolName,toolCallId:T.toolCallId,state:T.state,input:S.input,output:S.output,errorText:S.errorText,preliminary:S.preliminary,providerExecuted:S.providerExecuted,title:T.title,...S.providerMetadata!=null?{callProviderMetadata:S.providerMetadata}:{}})}async function E(T){if(T!=null){let C=$.message.metadata!=null?ki($.message.metadata,T):T;if(Q!=null)await xH({value:C,schema:Q,context:{field:"message.metadata",entityId:$.message.id}});$.message.metadata=C}}switch(Z.type){case"text-start":{let T={type:"text",text:"",providerMetadata:Z.providerMetadata,state:"streaming"};$.activeTextParts[Z.id]=T,$.message.parts.push(T),F();break}case"text-delta":{let T=$.activeTextParts[Z.id];if(T==null)throw new Sw({chunkType:"text-delta",chunkId:Z.id,message:`Received text-delta for missing text part with ID "${Z.id}". Ensure a "text-start" chunk is sent before any "text-delta" chunks.`});T.text+=Z.delta,T.providerMetadata=(V=Z.providerMetadata)!=null?V:T.providerMetadata,F();break}case"text-end":{let T=$.activeTextParts[Z.id];if(T==null)throw new Sw({chunkType:"text-end",chunkId:Z.id,message:`Received text-end for missing text part with ID "${Z.id}". Ensure a "text-start" chunk is sent before any "text-end" chunks.`});T.state="done",T.providerMetadata=(q=Z.providerMetadata)!=null?q:T.providerMetadata,delete $.activeTextParts[Z.id],F();break}case"reasoning-start":{let T={type:"reasoning",text:"",providerMetadata:Z.providerMetadata,state:"streaming"};$.activeReasoningParts[Z.id]=T,$.message.parts.push(T),F();break}case"reasoning-delta":{let T=$.activeReasoningParts[Z.id];if(T==null)throw new Sw({chunkType:"reasoning-delta",chunkId:Z.id,message:`Received reasoning-delta for missing reasoning part with ID "${Z.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-delta" chunks.`});T.text+=Z.delta,T.providerMetadata=(U=Z.providerMetadata)!=null?U:T.providerMetadata,F();break}case"reasoning-end":{let T=$.activeReasoningParts[Z.id];if(T==null)throw new Sw({chunkType:"reasoning-end",chunkId:Z.id,message:`Received reasoning-end for missing reasoning part with ID "${Z.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-end" chunks.`});T.providerMetadata=(z=Z.providerMetadata)!=null?z:T.providerMetadata,T.state="done",delete $.activeReasoningParts[Z.id],F();break}case"file":{$.message.parts.push({type:"file",mediaType:Z.mediaType,url:Z.url}),F();break}case"source-url":{$.message.parts.push({type:"source-url",sourceId:Z.sourceId,url:Z.url,title:Z.title,providerMetadata:Z.providerMetadata}),F();break}case"source-document":{$.message.parts.push({type:"source-document",sourceId:Z.sourceId,mediaType:Z.mediaType,title:Z.title,filename:Z.filename,providerMetadata:Z.providerMetadata}),F();break}case"tool-input-start":{let T=$.message.parts.filter(NB1);if($.partialToolCalls[Z.toolCallId]={text:"",toolName:Z.toolName,index:T.length,dynamic:Z.dynamic,title:Z.title},Z.dynamic)A({toolCallId:Z.toolCallId,toolName:Z.toolName,state:"input-streaming",input:void 0,providerExecuted:Z.providerExecuted,title:Z.title,providerMetadata:Z.providerMetadata});else L({toolCallId:Z.toolCallId,toolName:Z.toolName,state:"input-streaming",input:void 0,providerExecuted:Z.providerExecuted,title:Z.title,providerMetadata:Z.providerMetadata});F();break}case"tool-input-delta":{let T=$.partialToolCalls[Z.toolCallId];if(T==null)throw new Sw({chunkType:"tool-input-delta",chunkId:Z.toolCallId,message:`Received tool-input-delta for missing tool call with ID "${Z.toolCallId}". Ensure a "tool-input-start" chunk is sent before any "tool-input-delta" chunks.`});T.text+=Z.inputTextDelta;let{value:C}=await Hk(T.text);if(T.dynamic)A({toolCallId:Z.toolCallId,toolName:T.toolName,state:"input-streaming",input:C,title:T.title});else L({toolCallId:Z.toolCallId,toolName:T.toolName,state:"input-streaming",input:C,title:T.title});F();break}case"tool-input-available":{if(Z.dynamic)A({toolCallId:Z.toolCallId,toolName:Z.toolName,state:"input-available",input:Z.input,providerExecuted:Z.providerExecuted,providerMetadata:Z.providerMetadata,title:Z.title});else L({toolCallId:Z.toolCallId,toolName:Z.toolName,state:"input-available",input:Z.input,providerExecuted:Z.providerExecuted,providerMetadata:Z.providerMetadata,title:Z.title});if(F(),K&&!Z.providerExecuted)await K({toolCall:Z});break}case"tool-input-error":{if(Z.dynamic)A({toolCallId:Z.toolCallId,toolName:Z.toolName,state:"output-error",input:Z.input,errorText:Z.errorText,providerExecuted:Z.providerExecuted,providerMetadata:Z.providerMetadata});else L({toolCallId:Z.toolCallId,toolName:Z.toolName,state:"output-error",input:void 0,rawInput:Z.input,errorText:Z.errorText,providerExecuted:Z.providerExecuted,providerMetadata:Z.providerMetadata});F();break}case"tool-approval-request":{let T=D(Z.toolCallId);T.state="approval-requested",T.approval={id:Z.approvalId},F();break}case"tool-output-denied":{let T=D(Z.toolCallId);T.state="output-denied",F();break}case"tool-output-available":{let T=D(Z.toolCallId);if(T.type==="dynamic-tool")A({toolCallId:Z.toolCallId,toolName:T.toolName,state:"output-available",input:T.input,output:Z.output,preliminary:Z.preliminary,providerExecuted:Z.providerExecuted,title:T.title});else L({toolCallId:Z.toolCallId,toolName:LB1(T),state:"output-available",input:T.input,output:Z.output,providerExecuted:Z.providerExecuted,preliminary:Z.preliminary,title:T.title});F();break}case"tool-output-error":{let T=D(Z.toolCallId);if(T.type==="dynamic-tool")A({toolCallId:Z.toolCallId,toolName:T.toolName,state:"output-error",input:T.input,errorText:Z.errorText,providerExecuted:Z.providerExecuted,title:T.title});else L({toolCallId:Z.toolCallId,toolName:LB1(T),state:"output-error",input:T.input,rawInput:T.rawInput,errorText:Z.errorText,providerExecuted:Z.providerExecuted,title:T.title});F();break}case"start-step":{$.message.parts.push({type:"step-start"});break}case"finish-step":{$.activeTextParts={},$.activeReasoningParts={};break}case"start":{if(Z.messageId!=null)$.message.id=Z.messageId;if(await E(Z.messageMetadata),Z.messageId!=null||Z.messageMetadata!=null)F();break}case"finish":{if(Z.finishReason!=null)$.finishReason=Z.finishReason;if(await E(Z.messageMetadata),Z.messageMetadata!=null)F();break}case"message-metadata":{if(await E(Z.messageMetadata),Z.messageMetadata!=null)F();break}case"error":{G==null||G(Error(Z.errorText));break}default:if(aS6(Z)){if((X==null?void 0:X[Z.type])!=null){let P=$.message.parts.findIndex((S)=>("id"in S)&&("data"in S)&&S.id===Z.id&&S.type===Z.type),I=P>=0?P:$.message.parts.length;await xH({value:Z.data,schema:X[Z.type],context:{field:`message.parts[${I}].data`,entityName:Z.type,entityId:Z.id}})}let T=Z;if(T.transient){W==null||W(T);break}let C=T.id!=null?$.message.parts.find((P)=>T.type===P.type&&T.id===P.id):void 0;if(C!=null)C.data=T.data;else $.message.parts.push(T);W==null||W(T),F()}}H.enqueue(Z)})}}))}function Pb0({messageId:Y,originalMessages:Q=[],onStepFinish:X,onFinish:J,onError:G,stream:K}){let W=Q==null?void 0:Q[Q.length-1];if((W==null?void 0:W.role)!=="assistant")W=void 0;else Y=W.id;let Z=!1,H=K.pipeThrough(new TransformStream({transform(z,D){if(z.type==="start"){let L=z;if(L.messageId==null&&Y!=null)L.messageId=Y}if(z.type==="abort")Z=!0;D.enqueue(z)}}));if(J==null&&X==null)return H;let $=Ab0({lastMessage:W?structuredClone(W):void 0,messageId:Y!=null?Y:""}),F=async(z)=>{await z({state:$,write:()=>{}})},V=!1,q=async()=>{if(V||!J)return;V=!0;let z=$.message.id===(W==null?void 0:W.id);await J({isAborted:Z,isContinuation:z,responseMessage:$.message,messages:[...z?Q.slice(0,-1):Q,$.message],finishReason:$.finishReason})},U=async()=>{if(!X)return;let z=$.message.id===(W==null?void 0:W.id);try{await X({isContinuation:z,responseMessage:structuredClone($.message),messages:[...z?Q.slice(0,-1):Q,structuredClone($.message)]})}catch(D){G(D)}};return wb0({stream:H,runUpdateMessageJob:F,onError:G}).pipeThrough(new TransformStream({async transform(z,D){if(z.type==="finish-step")await U();D.enqueue(z)},async cancel(){await q()},async flush(){await q()}}))}function rS6({response:Y,status:Q,statusText:X,headers:J,stream:G,consumeSseStream:K}){let W=G.pipeThrough(new Nb0);if(K){let[Z,H]=W.tee();W=Z,K({stream:H})}Ob0({response:Y,status:Q,statusText:X,headers:Object.fromEntries(vi(J,Lb0).entries()),stream:W.pipeThrough(new TextEncoderStream)})}function kw(Y){let Q=Y.pipeThrough(new TransformStream);return Q[Symbol.asyncIterator]=function(){let X=this.getReader(),J=!1;async function G(K){var W;if(J)return;J=!0;try{if(K)await((W=X.cancel)==null?void 0:W.call(X))}finally{try{X.releaseLock()}catch(Z){}}}return{async next(){if(J)return{done:!0,value:void 0};let{done:K,value:W}=await X.read();if(K)return await G(!0),{done:!0,value:void 0};return{done:!1,value:W}},async return(){return await G(!0),{done:!0,value:void 0}},async throw(K){throw await G(!0),K}}},Q}async function _i({stream:Y,onError:Q}){let X=Y.getReader();try{while(!0){let{done:J}=await X.read();if(J)break}}catch(J){Q==null||Q(J)}finally{X.releaseLock()}}function ey0(){let Y,Q;return{promise:new Promise((J,G)=>{Y=J,Q=G}),resolve:Y,reject:Q}}function oS6(){let Y=[],Q=null,X=!1,J=ey0(),G=()=>{X=!0,J.resolve(),Y.forEach((W)=>W.cancel()),Y=[],Q==null||Q.close()},K=async()=>{if(X&&Y.length===0){Q==null||Q.close();return}if(Y.length===0)return J=ey0(),await J.promise,K();try{let{value:W,done:Z}=await Y[0].read();if(Z)if(Y.shift(),Y.length===0&&X)Q==null||Q.close();else await K();else Q==null||Q.enqueue(W)}catch(W){Q==null||Q.error(W),Y.shift(),G()}};return{stream:new ReadableStream({start(W){Q=W},pull:K,async cancel(){for(let W of Y)await W.cancel();Y=[],X=!0}}),addStream:(W)=>{if(X)throw Error("Cannot add inner stream: outer stream is closed");Y.push(W.getReader()),J.resolve()},close:()=>{if(X=!0,J.resolve(),Y.length===0)Q==null||Q.close()},terminate:G}}function sS6({tools:Y,generatorStream:Q,tracer:X,telemetry:J,system:G,messages:K,abortSignal:W,repairToolCall:Z,experimental_context:H,generateId:$,stepNumber:F,model:V,onToolCallStart:q,onToolCallFinish:U}){let z=null,D=new ReadableStream({start(S){z=S}}),L=new Set,A=new Map,E=new Map,T=!1,C=void 0;function P(){if(T&&L.size===0){if(C!=null)z.enqueue(C);z.close()}}let I=new TransformStream({async transform(S,y){let f=S.type;switch(f){case"stream-start":case"text-start":case"text-delta":case"text-end":case"reasoning-start":case"reasoning-delta":case"reasoning-end":case"tool-input-start":case"tool-input-delta":case"tool-input-end":case"source":case"response-metadata":case"error":case"raw":{y.enqueue(S);break}case"file":{y.enqueue({type:"file",file:new fS6({data:S.data,mediaType:S.mediaType})});break}case"finish":{C={type:"finish",finishReason:S.finishReason.unified,rawFinishReason:S.finishReason.raw,usage:Wb0(S.usage),providerMetadata:S.providerMetadata};break}case"tool-approval-request":{let b=E.get(S.toolCallId);if(b==null){z.enqueue({type:"error",error:new AB1({toolCallId:S.toolCallId,approvalId:S.approvalId})});break}y.enqueue({type:"tool-approval-request",approvalId:S.approvalId,toolCall:b});break}case"tool-call":{try{let b=await qb0({toolCall:S,tools:Y,repairToolCall:Z,system:G,messages:K});if(E.set(b.toolCallId,b),y.enqueue(b),b.invalid){z.enqueue({type:"tool-error",toolCallId:b.toolCallId,toolName:b.toolName,input:b.input,error:dq(b.error),dynamic:!0,title:b.title});break}let g=Y==null?void 0:Y[b.toolName];if(g==null)break;if(g.onInputAvailable!=null)await g.onInputAvailable({input:b.input,toolCallId:b.toolCallId,messages:K,abortSignal:W,experimental_context:H});if(await Vb0({tool:g,toolCall:b,messages:K,experimental_context:H})){z.enqueue({type:"tool-approval-request",approvalId:$(),toolCall:b});break}if(A.set(b.toolCallId,b.input),g.execute!=null&&b.providerExecuted!==!0){let o=$();L.add(o),EB1({toolCall:b,tools:Y,tracer:X,telemetry:J,messages:K,abortSignal:W,experimental_context:H,stepNumber:F,model:V,onToolCallStart:q,onToolCallFinish:U,onPreliminaryToolResult:(m)=>{z.enqueue(m)}}).then((m)=>{z.enqueue(m)}).catch((m)=>{z.enqueue({type:"error",error:m})}).finally(()=>{L.delete(o),P()})}}catch(b){z.enqueue({type:"error",error:b})}break}case"tool-result":{let b=S.toolName;if(S.isError)z.enqueue({type:"tool-error",toolCallId:S.toolCallId,toolName:b,input:A.get(S.toolCallId),providerExecuted:!0,error:S.result,dynamic:S.dynamic});else y.enqueue({type:"tool-result",toolCallId:S.toolCallId,toolName:b,input:A.get(S.toolCallId),output:S.result,providerExecuted:!0,dynamic:S.dynamic});break}default:throw Error(`Unhandled chunk type: ${f}`)}},flush(){T=!0,P()}});return new ReadableStream({async start(S){return Promise.all([Q.pipeThrough(I).pipeTo(new WritableStream({write(y){S.enqueue(y)},close(){}})),D.pipeTo(new WritableStream({write(y){S.enqueue(y)},close(){S.close()}}))])}})}function yw({model:Y,tools:Q,toolChoice:X,system:J,prompt:G,messages:K,maxRetries:W,abortSignal:Z,timeout:H,headers:$,stopWhen:F=cq(1),experimental_output:V,output:q=V,experimental_telemetry:U,prepareStep:z,providerOptions:D,experimental_activeTools:L,activeTools:A=L,experimental_repairToolCall:E,experimental_transform:T,experimental_download:C,includeRawChunks:P=!1,onChunk:I,onError:S=({error:O1})=>{console.error(O1)},onFinish:y,onAbort:f,onStepFinish:b,experimental_onStart:g,experimental_onStepStart:o,experimental_onToolCallStart:m,experimental_onToolCallFinish:h,experimental_context:n,experimental_include:K1,_internal:{now:J1=Ii,generateId:N1=tS6}={},...j1}){let O1=PB1(H),T1=lf0(H),b1=HS6(H),s1=T1!=null?new AbortController:void 0,H0=b1!=null?new AbortController:void 0;return new Yk6({model:ji(Y),telemetry:U,headers:$,settings:j1,maxRetries:W,abortSignal:Db0(Z,O1!=null?AbortSignal.timeout(O1):void 0,s1==null?void 0:s1.signal,H0==null?void 0:H0.signal),stepTimeoutMs:T1,stepAbortController:s1,chunkTimeoutMs:b1,chunkAbortController:H0,system:J,prompt:G,messages:K,tools:Q,toolChoice:X,transforms:Gk(T),activeTools:A,repairToolCall:E,stopConditions:Gk(F),output:q,providerOptions:D,prepareStep:z,includeRawChunks:P,timeout:H,stopWhen:F,originalAbortSignal:Z,onChunk:I,onError:S,onFinish:y,onAbort:f,onStepFinish:b,onStart:g,onStepStart:o,onToolCallStart:m,onToolCallFinish:h,now:J1,generateId:N1,experimental_context:n,download:C,include:K1})}function eS6(Y){let Q=void 0,X="",J="",G=void 0,K="";function W({controller:Z,partialOutput:H=void 0}){Z.enqueue({part:{type:"text-delta",id:Q,text:J,providerMetadata:G},partialOutput:H}),J=""}return new TransformStream({async transform(Z,H){var $;if(Z.type==="finish-step"&&J.length>0)W({controller:H});if(Z.type!=="text-delta"&&Z.type!=="text-start"&&Z.type!=="text-end"){H.enqueue({part:Z,partialOutput:void 0});return}if(Q==null)Q=Z.id;else if(Z.id!==Q){H.enqueue({part:Z,partialOutput:void 0});return}if(Z.type==="text-start"){H.enqueue({part:Z,partialOutput:void 0});return}if(Z.type==="text-end"){if(J.length>0)W({controller:H});H.enqueue({part:Z,partialOutput:void 0});return}X+=Z.text,J+=Z.text,G=($=Z.providerMetadata)!=null?$:G;let F=await Y.parsePartialOutput({text:X});if(F!==void 0){let V=JSON.stringify(F.partial);if(V!==K)W({controller:H,partialOutput:F.partial}),K=V}}})}function Eb0({execute:Y,onError:Q=dq,originalMessages:X,onStepFinish:J,onFinish:G,generateId:K=pq1}){let W,Z=[],H=new ReadableStream({start(V){W=V}});function $(V){try{W.enqueue(V)}catch(q){}}try{let V=Y({writer:{write(q){$(q)},merge(q){Z.push((async()=>{let U=q.getReader();while(!0){let{done:z,value:D}=await U.read();if(z)break;$(D)}})().catch((U)=>{$({type:"error",errorText:Q(U)})}))},onError:Q}});if(V)Z.push(V.catch((q)=>{$({type:"error",errorText:Q(q)})}))}catch(V){$({type:"error",errorText:Q(V)})}return new Promise(async(V)=>{while(Z.length>0)await Z.shift();V()}).finally(()=>{try{W.close()}catch(V){}}),Pb0({stream:H,messageId:K(),originalMessages:X,onStepFinish:J,onFinish:G,onError:Q})}function Tb0({message:Y,stream:Q,onError:X,terminateOnError:J=!1}){var G;let K,W=!1,Z=new ReadableStream({start(F){K=F}}),H=Ab0({messageId:(G=Y==null?void 0:Y.id)!=null?G:"",lastMessage:Y}),$=(F)=>{if(X==null||X(F),!W&&J)W=!0,K==null||K.error(F)};return _i({stream:wb0({stream:Q,runUpdateMessageJob(F){return F({state:H,write:()=>{K==null||K.enqueue(structuredClone(H.message))}})},onError:$}),onError:$}).finally(()=>{if(!W)K==null||K.close()}),kw(Z)}async function Cb0(Y,Q){let X=[];if(Q==null?void 0:Q.ignoreIncompleteToolCalls)Y=Y.map((J)=>({...J,parts:J.parts.filter((G)=>!Jk(G)||G.state!=="input-streaming"&&G.state!=="input-available")}));for(let J of Y)switch(J.role){case"system":{let G=J.parts.filter((W)=>W.type==="text"),K=G.reduce((W,Z)=>{if(Z.providerMetadata!=null)return{...W,...Z.providerMetadata};return W},{});X.push({role:"system",content:G.map((W)=>W.text).join(""),...Object.keys(K).length>0?{providerOptions:K}:{}});break}case"user":{X.push({role:"user",content:J.parts.map((G)=>{var K;if(qB1(G))return{type:"text",text:G.text,...G.providerMetadata!=null?{providerOptions:G.providerMetadata}:{}};if(BB1(G))return{type:"file",mediaType:G.mediaType,filename:G.filename,data:G.url,...G.providerMetadata!=null?{providerOptions:G.providerMetadata}:{}};if(VB1(G))return(K=Q==null?void 0:Q.convertDataPart)==null?void 0:K.call(Q,G)}).filter(V_0)});break}case"assistant":{if(J.parts!=null){let G=[];async function K(){var W,Z,H,$,F,V;if(G.length===0)return;let q=[];for(let z of G)if(qB1(z))q.push({type:"text",text:z.text,...z.providerMetadata!=null?{providerOptions:z.providerMetadata}:{}});else if(BB1(z))q.push({type:"file",mediaType:z.mediaType,filename:z.filename,data:z.url});else if(ty0(z))q.push({type:"reasoning",text:z.text,providerOptions:z.providerMetadata});else if(Jk(z)){let D=UB1(z);if(z.state!=="input-streaming"){if(q.push({type:"tool-call",toolCallId:z.toolCallId,toolName:D,input:z.state==="output-error"?(W=z.input)!=null?W:("rawInput"in z)?z.rawInput:void 0:z.input,providerExecuted:z.providerExecuted,...z.callProviderMetadata!=null?{providerOptions:z.callProviderMetadata}:{}}),z.approval!=null)q.push({type:"tool-approval-request",approvalId:z.approval.id,toolCallId:z.toolCallId});if(z.providerExecuted===!0&&z.state!=="approval-responded"&&(z.state==="output-available"||z.state==="output-error"))q.push({type:"tool-result",toolCallId:z.toolCallId,toolName:D,output:await pD({toolCallId:z.toolCallId,input:z.input,output:z.state==="output-error"?z.errorText:z.output,tool:(Z=Q==null?void 0:Q.tools)==null?void 0:Z[D],errorMode:z.state==="output-error"?"json":"none"}),...z.callProviderMetadata!=null?{providerOptions:z.callProviderMetadata}:{}})}}else if(VB1(z)){let D=(H=Q==null?void 0:Q.convertDataPart)==null?void 0:H.call(Q,z);if(D!=null)q.push(D)}else throw Error(`Unsupported part: ${z}`);X.push({role:"assistant",content:q});let U=G.filter((z)=>{var D;return Jk(z)&&(z.providerExecuted!==!0||((D=z.approval)==null?void 0:D.approved)!=null)});if(U.length>0){let z=[];for(let D of U){if((($=D.approval)==null?void 0:$.approved)!=null)z.push({type:"tool-approval-response",approvalId:D.approval.id,approved:D.approval.approved,reason:D.approval.reason,providerExecuted:D.providerExecuted});if(D.providerExecuted===!0)continue;switch(D.state){case"output-denied":{z.push({type:"tool-result",toolCallId:D.toolCallId,toolName:UB1(D),output:{type:"error-text",value:(F=D.approval.reason)!=null?F:"Tool execution denied."},...D.callProviderMetadata!=null?{providerOptions:D.callProviderMetadata}:{}});break}case"output-error":case"output-available":{let L=UB1(D);z.push({type:"tool-result",toolCallId:D.toolCallId,toolName:L,output:await pD({toolCallId:D.toolCallId,input:D.input,output:D.state==="output-error"?D.errorText:D.output,tool:(V=Q==null?void 0:Q.tools)==null?void 0:V[L],errorMode:D.state==="output-error"?"text":"none"}),...D.callProviderMetadata!=null?{providerOptions:D.callProviderMetadata}:{}});break}}}if(z.length>0)X.push({role:"tool",content:z})}G=[]}for(let W of J.parts)if(qB1(W)||ty0(W)||BB1(W)||Jk(W)||VB1(W))G.push(W);else if(W.type==="step-start")await K();await K();break}break}default:{let G=J.role;throw new YS6({originalMessage:J,message:`Unsupported role: ${G}`})}}return X}async function Xk6({messages:Y,metadataSchema:Q,dataSchemas:X,tools:J}){try{if(Y==null)return{success:!1,error:new nZ({parameter:"messages",value:Y,message:"messages parameter must be provided"})};let G=await xH({value:Y,schema:Qk6});if(Q)for(let[K,W]of G.entries())await xH({value:W.metadata,schema:Q,context:{field:`messages[${K}].metadata`,entityId:W.id}});if(X||J)for(let[K,W]of G.entries())for(let[Z,H]of W.parts.entries()){if(X&&H.type.startsWith("data-")){let $=H,F=$.type.slice(5),V=X[F];if(!V)return{success:!1,error:new AG({value:$.data,cause:`No data schema found for data part ${F}`,context:{field:`messages[${K}].parts[${Z}].data`,entityName:F,entityId:$.id}})};await xH({value:$.data,schema:V,context:{field:`messages[${K}].parts[${Z}].data`,entityName:F,entityId:$.id}})}if(J&&H.type.startsWith("tool-")){let $=H,F=$.type.slice(5),V=J[F];if(!V)return{success:!1,error:new AG({value:$.input,cause:`No tool schema found for tool part ${F}`,context:{field:`messages[${K}].parts[${Z}].input`,entityName:F,entityId:$.toolCallId}})};if($.state==="input-available"||$.state==="output-available"||$.state==="output-error"&&$.input!==void 0)await xH({value:$.input,schema:V.inputSchema,context:{field:`messages[${K}].parts[${Z}].input`,entityName:F,entityId:$.toolCallId}});if($.state==="output-available"&&V.outputSchema)await xH({value:$.output,schema:V.outputSchema,context:{field:`messages[${K}].parts[${Z}].output`,entityName:F,entityId:$.toolCallId}})}}return{success:!0,data:G}}catch(G){return{success:!1,error:G}}}async function Rb0({messages:Y,metadataSchema:Q,dataSchemas:X,tools:J}){let G=await Xk6({messages:Y,metadataSchema:Q,dataSchemas:X,tools:J});if(!G.success)throw G.error;return G.data}function Ib0(Y){return({url:Q,abortSignal:X})=>pf0({url:Q,maxBytes:Y==null?void 0:Y.maxBytes,abortSignal:X})}function jb0({messages:Y,reasoning:Q="none",toolCalls:X=[],emptyMessages:J="remove"}){if(Q==="all"||Q==="before-last-message")Y=Y.map((G,K)=>{if(G.role!=="assistant"||typeof G.content==="string"||Q==="before-last-message"&&K===Y.length-1)return G;return{...G,content:G.content.filter((W)=>W.type!=="reasoning")}});if(X==="none")X=[];else if(X==="all")X=[{type:"all"}];else if(X==="before-last-message")X=[{type:"before-last-message"}];else if(typeof X==="string")X=[{type:X}];for(let G of X){let K=G.type==="all"?void 0:G.type==="before-last-message"?1:Number(G.type.slice(12).slice(0,-9)),W=new Set,Z=new Set;if(K!=null){for(let H of Y.slice(-K))if((H.role==="assistant"||H.role==="tool")&&typeof H.content!=="string"){for(let $ of H.content)if($.type==="tool-call"||$.type==="tool-result")W.add($.toolCallId);else if($.type==="tool-approval-request"||$.type==="tool-approval-response")Z.add($.approvalId)}}Y=Y.map((H,$)=>{if(H.role!=="assistant"&&H.role!=="tool"||typeof H.content==="string"||K&&$>=Y.length-K)return H;let F={},V={};return{...H,content:H.content.filter((q)=>{if(q.type!=="tool-call"&&q.type!=="tool-result"&&q.type!=="tool-approval-request"&&q.type!=="tool-approval-response")return!0;if(q.type==="tool-call")F[q.toolCallId]=q.toolName;else if(q.type==="tool-approval-request")V[q.approvalId]=F[q.toolCallId];if((q.type==="tool-call"||q.type==="tool-result")&&W.has(q.toolCallId)||(q.type==="tool-approval-request"||q.type==="tool-approval-response")&&Z.has(q.approvalId))return!0;return G.tools!=null&&!G.tools.includes(q.type==="tool-call"||q.type==="tool-result"?q.toolName:V[q.approvalId])})}})}if(J==="remove")Y=Y.filter((G)=>G.content.length>0);return Y}var Qb0,vw,qj6,Bj6=(Y,Q)=>{for(var X in Q)qj6(Y,X,{get:Q[X],enumerable:!0})},Yf0="AI_InvalidArgumentError",Qf0,Uj6,Xf0,nZ,zj6="AI_InvalidStreamPartError",Dj6,Oj6,Nj6,Jf0="AI_InvalidToolApprovalError",Gf0,Lj6,Wf0,Mj6,Zf0="AI_InvalidToolInputError",Kf0,Aj6,Hf0,MB1,$f0="AI_ToolCallNotFoundForApprovalError",Ff0,wj6,Vf0,AB1,qf0="AI_MissingToolResultsError",Bf0,Pj6,Uf0,ly0,Ej6="AI_NoImageGeneratedError",Tj6,Cj6,Rj6,zf0="AI_NoObjectGeneratedError",Df0,Ij6,Of0,pq,Nf0="AI_NoOutputGeneratedError",Lf0,jj6,Mf0,Af0,Sj6="AI_NoSpeechGeneratedError",kj6,vj6,_j6,yj6="AI_NoTranscriptGeneratedError",fj6,bj6,hj6,xj6="AI_NoVideoGeneratedError",gj6,uj6,mj6,wf0="AI_NoSuchToolError",Pf0,lj6,Ef0,zB1,Tf0="AI_ToolCallRepairError",Cf0,dj6,Rf0,pj6,cj6,If0="AI_UIMessageStreamError",jf0,nj6,Sf0,Sw,ij6="AI_InvalidDataContentError",aj6,rj6,oj6,kf0="AI_InvalidMessageRoleError",vf0,sj6,_f0,tj6,yf0="AI_MessageConversionError",ff0,ej6,bf0,YS6,hf0="AI_RetryError",xf0,QS6,gf0,dy0,JS6="AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.",py0=!1,wB1=(Y)=>{if(Y.warnings.length===0)return;let Q=globalThis.AI_SDK_LOG_WARNINGS;if(Q===!1)return;if(typeof Q==="function"){Q(Y);return}if(!py0)py0=!0,console.info(JS6);for(let X of Y.warnings)console.warn(XS6({warning:X,provider:Y.provider,model:Y.model}))},$S6,FS6=(Y)=>{let Q=typeof Y==="string"?Rw(Y):Y,X=(Q[6]&127)<<21|(Q[7]&127)<<14|(Q[8]&127)<<7|Q[9]&127;return Q.slice(X+10)},df0="6.0.97",pf0=async({url:Y,maxBytes:Q,abortSignal:X})=>{var J;let G=Y.toString();try{let K=await fetch(G,{headers:d$({},`ai-sdk/${df0}`,Ni()),signal:X});if(!K.ok)throw new Cw({url:G,statusCode:K.status,statusText:K.statusText});return{data:await H_0({response:K,url:G,maxBytes:Q!=null?Q:dq1}),mediaType:(J=K.headers.get("content-type"))!=null?J:void 0}}catch(K){if(Cw.isInstance(K))throw K;throw new Cw({url:G,cause:K})}},BS6=(Y=pf0)=>(Q)=>Promise.all(Q.map(async(X)=>X.isUrlSupportedByModel?null:Y(X))),cf0,Wk,d4,rf0,MS6,of0,AS6,wS6,PS6,sf0,ES6,TS6,CS6,RS6,IS6,jS6,SS6,kS6,Ri,vS6,yS6=({maxRetries:Y=2,initialDelayInMs:Q=2000,backoffFactor:X=2,abortSignal:J}={})=>async(G)=>Kb0(G,{maxRetries:Y,delayInMs:Q,backoffFactor:X,abortSignal:J}),Fb0=class{constructor({data:Y,mediaType:Q}){let X=Y instanceof Uint8Array;this.base64Data=X?void 0:Y,this.uint8ArrayData=X?Y:void 0,this.mediaType=Q}get base64(){if(this.base64Data==null)this.base64Data=l$(this.uint8ArrayData);return this.base64Data}get uint8Array(){if(this.uint8ArrayData==null)this.uint8ArrayData=Rw(this.base64Data);return this.uint8ArrayData}},fS6,bS6,Si=()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),async parseCompleteOutput({text:Y}){return Y},async parsePartialOutput({text:Y}){return{partial:Y}},createElementStreamTransform(){return}}),xS6=({schema:Y,name:Q,description:X})=>{let J=hH(Y);return{name:"object",responseFormat:TQ(J.jsonSchema).then((G)=>({type:"json",schema:G,...Q!=null&&{name:Q},...X!=null&&{description:X}})),async parseCompleteOutput({text:G},K){let W=await wG({text:G});if(!W.success)throw new pq({message:"No object generated: could not parse the response.",cause:W.error,text:G,response:K.response,usage:K.usage,finishReason:K.finishReason});let Z=await T5({value:W.value,schema:J});if(!Z.success)throw new pq({message:"No object generated: response did not match schema.",cause:Z.error,text:G,response:K.response,usage:K.usage,finishReason:K.finishReason});return Z.value},async parsePartialOutput({text:G}){let K=await Hk(G);switch(K.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:K.value}}},createElementStreamTransform(){return}}},gS6=({element:Y,name:Q,description:X})=>{let J=hH(Y);return{name:"array",responseFormat:TQ(J.jsonSchema).then((G)=>{let{$schema:K,...W}=G;return{type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{elements:{type:"array",items:W}},required:["elements"],additionalProperties:!1},...Q!=null&&{name:Q},...X!=null&&{description:X}}}),async parseCompleteOutput({text:G},K){let W=await wG({text:G});if(!W.success)throw new pq({message:"No object generated: could not parse the response.",cause:W.error,text:G,response:K.response,usage:K.usage,finishReason:K.finishReason});let Z=W.value;if(Z==null||typeof Z!=="object"||!("elements"in Z)||!Array.isArray(Z.elements))throw new pq({message:"No object generated: response did not match schema.",cause:new AG({value:Z,cause:"response must be an object with an elements array"}),text:G,response:K.response,usage:K.usage,finishReason:K.finishReason});for(let H of Z.elements){let $=await T5({value:H,schema:J});if(!$.success)throw new pq({message:"No object generated: response did not match schema.",cause:$.error,text:G,response:K.response,usage:K.usage,finishReason:K.finishReason})}return Z.elements},async parsePartialOutput({text:G}){let K=await Hk(G);switch(K.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let W=K.value;if(W==null||typeof W!=="object"||!("elements"in W)||!Array.isArray(W.elements))return;let Z=K.state==="repaired-parse"&&W.elements.length>0?W.elements.slice(0,-1):W.elements,H=[];for(let $ of Z){let F=await T5({value:$,schema:J});if(F.success)H.push(F.value)}return{partial:H}}}},createElementStreamTransform(){let G=0;return new TransformStream({transform({partialOutput:K},W){if(K!=null)for(;G<K.length;G++)W.enqueue(K[G])}})}}},uS6=({options:Y,name:Q,description:X})=>{return{name:"choice",responseFormat:Promise.resolve({type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{result:{type:"string",enum:Y}},required:["result"],additionalProperties:!1},...Q!=null&&{name:Q},...X!=null&&{description:X}}),async parseCompleteOutput({text:J},G){let K=await wG({text:J});if(!K.success)throw new pq({message:"No object generated: could not parse the response.",cause:K.error,text:J,response:G.response,usage:G.usage,finishReason:G.finishReason});let W=K.value;if(W==null||typeof W!=="object"||!("result"in W)||typeof W.result!=="string"||!Y.includes(W.result))throw new pq({message:"No object generated: response did not match schema.",cause:new AG({value:W,cause:"response must be an object that contains a choice value."}),text:J,response:G.response,usage:G.usage,finishReason:G.finishReason});return W.result},async parsePartialOutput({text:J}){let G=await Hk(J);switch(G.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let K=G.value;if(K==null||typeof K!=="object"||!("result"in K)||typeof K.result!=="string")return;let W=Y.filter((Z)=>Z.startsWith(K.result));if(G.state==="successful-parse")return W.includes(K.result)?{partial:K.result}:void 0;else return W.length===1?{partial:W[0]}:void 0}}},createElementStreamTransform(){return}}},mS6=({name:Y,description:Q}={})=>{return{name:"json",responseFormat:Promise.resolve({type:"json",...Y!=null&&{name:Y},...Q!=null&&{description:Q}}),async parseCompleteOutput({text:X},J){let G=await wG({text:X});if(!G.success)throw new pq({message:"No object generated: could not parse the response.",cause:G.error,text:X,response:J.response,usage:J.usage,finishReason:J.finishReason});return G.value},async parsePartialOutput({text:X}){let J=await Hk(X);switch(J.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return J.value===void 0?void 0:{partial:J.value}}},createElementStreamTransform(){return}}},Ub0=class{constructor({stepNumber:Y,model:Q,functionId:X,metadata:J,experimental_context:G,content:K,finishReason:W,rawFinishReason:Z,usage:H,warnings:$,request:F,response:V,providerMetadata:q}){this.stepNumber=Y,this.model=Q,this.functionId=X,this.metadata=J,this.experimental_context=G,this.content=K,this.finishReason=W,this.rawFinishReason=Z,this.usage=H,this.warnings=$,this.request=F,this.response=V,this.providerMetadata=q}get text(){return this.content.filter((Y)=>Y.type==="text").map((Y)=>Y.text).join("")}get reasoning(){return this.content.filter((Y)=>Y.type==="reasoning")}get reasoningText(){return this.reasoning.length===0?void 0:this.reasoning.map((Y)=>Y.text).join("")}get files(){return this.content.filter((Y)=>Y.type==="file").map((Y)=>Y.file)}get sources(){return this.content.filter((Y)=>Y.type==="source")}get toolCalls(){return this.content.filter((Y)=>Y.type==="tool-call")}get staticToolCalls(){return this.toolCalls.filter((Y)=>Y.dynamic!==!0)}get dynamicToolCalls(){return this.toolCalls.filter((Y)=>Y.dynamic===!0)}get toolResults(){return this.content.filter((Y)=>Y.type==="tool-result")}get staticToolResults(){return this.toolResults.filter((Y)=>Y.dynamic!==!0)}get dynamicToolResults(){return this.toolResults.filter((Y)=>Y.dynamic===!0)}},lS6,dS6=class{constructor(Y){this.steps=Y.steps,this._output=Y.output,this.totalUsage=Y.totalUsage}get finalStep(){return this.steps[this.steps.length-1]}get content(){return this.finalStep.content}get text(){return this.finalStep.text}get files(){return this.finalStep.files}get reasoningText(){return this.finalStep.reasoningText}get reasoning(){return this.finalStep.reasoning}get toolCalls(){return this.finalStep.toolCalls}get staticToolCalls(){return this.finalStep.staticToolCalls}get dynamicToolCalls(){return this.finalStep.dynamicToolCalls}get toolResults(){return this.finalStep.toolResults}get staticToolResults(){return this.finalStep.staticToolResults}get dynamicToolResults(){return this.finalStep.dynamicToolResults}get sources(){return this.finalStep.sources}get finishReason(){return this.finalStep.finishReason}get rawFinishReason(){return this.finalStep.rawFinishReason}get warnings(){return this.finalStep.warnings}get providerMetadata(){return this.finalStep.providerMetadata}get response(){return this.finalStep.response}get request(){return this.finalStep.request}get usage(){return this.finalStep.usage}get experimental_output(){return this.output}get output(){if(this._output==null)throw new Af0;return this._output}},Nb0,Lb0,t09,tS6,Yk6=class{constructor({model:Y,telemetry:Q,headers:X,settings:J,maxRetries:G,abortSignal:K,stepTimeoutMs:W,stepAbortController:Z,chunkTimeoutMs:H,chunkAbortController:$,system:F,prompt:V,messages:q,tools:U,toolChoice:z,transforms:D,activeTools:L,repairToolCall:A,stopConditions:E,output:T,providerOptions:C,prepareStep:P,includeRawChunks:I,now:S,generateId:y,timeout:f,stopWhen:b,originalAbortSignal:g,onChunk:o,onError:m,onFinish:h,onAbort:n,onStepFinish:K1,onStart:J1,onStepStart:N1,onToolCallStart:j1,onToolCallFinish:O1,experimental_context:T1,download:b1,include:s1}){this._totalUsage=new uD,this._finishReason=new uD,this._rawFinishReason=new uD,this._steps=new uD,this.outputSpecification=T,this.includeRawChunks=I,this.tools=U;let H0,C1=[],A1=[],g1=void 0,G4=void 0,d0=void 0,$0={},v1=[],L1=[],c1=new Map,I1,_1={},T0={},J0=new TransformStream({async transform(a0,j0){var m6,M,x,Z1;j0.enqueue(a0);let{part:H1}=a0;if(H1.type==="text-delta"||H1.type==="reasoning-delta"||H1.type==="source"||H1.type==="tool-call"||H1.type==="tool-result"||H1.type==="tool-input-start"||H1.type==="tool-input-delta"||H1.type==="raw")await(o==null?void 0:o({chunk:H1}));if(H1.type==="error")await m({error:ef0(H1.error)});if(H1.type==="text-start")_1[H1.id]={type:"text",text:"",providerMetadata:H1.providerMetadata},C1.push(_1[H1.id]);if(H1.type==="text-delta"){let O=_1[H1.id];if(O==null){j0.enqueue({part:{type:"error",error:`text part ${H1.id} not found`},partialOutput:void 0});return}O.text+=H1.text,O.providerMetadata=(m6=H1.providerMetadata)!=null?m6:O.providerMetadata}if(H1.type==="text-end"){let O=_1[H1.id];if(O==null){j0.enqueue({part:{type:"error",error:`text part ${H1.id} not found`},partialOutput:void 0});return}O.providerMetadata=(M=H1.providerMetadata)!=null?M:O.providerMetadata,delete _1[H1.id]}if(H1.type==="reasoning-start")T0[H1.id]={type:"reasoning",text:"",providerMetadata:H1.providerMetadata},C1.push(T0[H1.id]);if(H1.type==="reasoning-delta"){let O=T0[H1.id];if(O==null){j0.enqueue({part:{type:"error",error:`reasoning part ${H1.id} not found`},partialOutput:void 0});return}O.text+=H1.text,O.providerMetadata=(x=H1.providerMetadata)!=null?x:O.providerMetadata}if(H1.type==="reasoning-end"){let O=T0[H1.id];if(O==null){j0.enqueue({part:{type:"error",error:`reasoning part ${H1.id} not found`},partialOutput:void 0});return}O.providerMetadata=(Z1=H1.providerMetadata)!=null?Z1:O.providerMetadata,delete T0[H1.id]}if(H1.type==="file")C1.push({type:"file",file:H1.file});if(H1.type==="source")C1.push(H1);if(H1.type==="tool-call")C1.push(H1);if(H1.type==="tool-result"&&!H1.preliminary)C1.push(H1);if(H1.type==="tool-approval-request")C1.push(H1);if(H1.type==="tool-error")C1.push(H1);if(H1.type==="start-step")C1=[],T0={},_1={},$0=H1.request,v1=H1.warnings;if(H1.type==="finish-step"){let O=await OB1({content:C1,tools:U}),j=new Ub0({stepNumber:L1.length,model:W8,...k9,experimental_context:T1,content:C1,finishReason:H1.finishReason,rawFinishReason:H1.rawFinishReason,usage:H1.usage,warnings:v1,request:$0,response:{...H1.response,messages:[...A1,...O]},providerMetadata:H1.providerMetadata});await(K1==null?void 0:K1(j)),wB1({warnings:v1,provider:W8.provider,model:W8.modelId}),L1.push(j),A1.push(...O),H0.resolve()}if(H1.type==="finish")d0=H1.totalUsage,g1=H1.finishReason,G4=H1.rawFinishReason},async flush(a0){try{if(L1.length===0){let x=(K==null?void 0:K.aborted)?K.reason:new Af0({message:"No output generated. Check the stream for errors."});e4._finishReason.reject(x),e4._rawFinishReason.reject(x),e4._totalUsage.reject(x),e4._steps.reject(x);return}let j0=g1!=null?g1:"other",m6=d0!=null?d0:FB1();e4._finishReason.resolve(j0),e4._rawFinishReason.resolve(G4),e4._totalUsage.resolve(m6),e4._steps.resolve(L1);let M=L1[L1.length-1];await(h==null?void 0:h({stepNumber:M.stepNumber,model:M.model,functionId:M.functionId,metadata:M.metadata,experimental_context:M.experimental_context,finishReason:M.finishReason,rawFinishReason:M.rawFinishReason,totalUsage:m6,usage:M.usage,content:M.content,text:M.text,reasoningText:M.reasoningText,reasoning:M.reasoning,files:M.files,sources:M.sources,toolCalls:M.toolCalls,staticToolCalls:M.staticToolCalls,dynamicToolCalls:M.dynamicToolCalls,toolResults:M.toolResults,staticToolResults:M.staticToolResults,dynamicToolResults:M.dynamicToolResults,request:M.request,response:M.response,warnings:M.warnings,providerMetadata:M.providerMetadata,steps:L1})),I1.setAttributes(await gH({telemetry:Q,attributes:{"ai.response.finishReason":j0,"ai.response.text":{output:()=>M.text},"ai.response.reasoning":{output:()=>M.reasoningText},"ai.response.toolCalls":{output:()=>{var x;return((x=M.toolCalls)==null?void 0:x.length)?JSON.stringify(M.toolCalls):void 0}},"ai.response.providerMetadata":JSON.stringify(M.providerMetadata),"ai.usage.inputTokens":m6.inputTokens,"ai.usage.outputTokens":m6.outputTokens,"ai.usage.totalTokens":m6.totalTokens,"ai.usage.reasoningTokens":m6.reasoningTokens,"ai.usage.cachedInputTokens":m6.cachedInputTokens}}))}catch(j0){a0.error(j0)}finally{I1.end()}}}),W0=oS6();this.addStream=W0.addStream,this.closeStream=W0.close;let a4=W0.stream.getReader(),W6=new ReadableStream({async start(a0){a0.enqueue({type:"start"})},async pull(a0){function j0(){n==null||n({steps:L1}),a0.enqueue({type:"abort",...(K==null?void 0:K.reason)!==void 0?{reason:lZ(K.reason)}:{}}),a0.close()}try{let{done:m6,value:M}=await a4.read();if(m6){a0.close();return}if(K==null?void 0:K.aborted){j0();return}a0.enqueue(M)}catch(m6){if(u$(m6)&&(K==null?void 0:K.aborted))j0();else a0.error(m6)}},cancel(a0){return W0.stream.cancel(a0)}});for(let a0 of D)W6=W6.pipeThrough(a0({tools:U,stopStream(){W0.terminate()}}));this.baseStream=W6.pipeThrough(eS6(T!=null?T:Si())).pipeThrough(J0);let{maxRetries:b6,retry:G8}=Hb0({maxRetries:G,abortSignal:K}),h0=Xb0(Q),u1=DB1(J),v0=Yb0({model:Y,telemetry:Q,headers:X,settings:{...u1,maxRetries:b6}}),e4=this,W8={provider:Y.provider,modelId:Y.modelId},k9={functionId:Q==null?void 0:Q.functionId,metadata:Q==null?void 0:Q.metadata};Kk({name:"ai.streamText",attributes:gH({telemetry:Q,attributes:{...Zk({operationId:"ai.streamText",telemetry:Q}),...v0,"ai.prompt":{input:()=>JSON.stringify({system:F,prompt:V,messages:q})}}}),tracer:h0,endWhenDone:!1,fn:async(a0)=>{I1=a0;let j0=await tf0({system:F,prompt:V,messages:q});try{await(J1==null?void 0:J1({model:W8,system:F,prompt:V,messages:q,tools:U,toolChoice:z,activeTools:L,maxOutputTokens:u1.maxOutputTokens,temperature:u1.temperature,topP:u1.topP,topK:u1.topK,presencePenalty:u1.presencePenalty,frequencyPenalty:u1.frequencyPenalty,stopSequences:u1.stopSequences,seed:u1.seed,maxRetries:b6,timeout:f,headers:X,providerOptions:C,stopWhen:b,output:T,abortSignal:g,include:s1,...k9,experimental_context:T1}))}catch(O){}let m6=j0.messages,M=[],{approvedToolApprovals:x,deniedToolApprovals:Z1}=$b0({messages:m6});if(Z1.length>0||x.length>0){let O=[...x,...Z1].filter((a1)=>a1.toolCall.providerExecuted),j=x.filter((a1)=>!a1.toolCall.providerExecuted),s=Z1.filter((a1)=>!a1.toolCall.providerExecuted),B1=Z1.filter((a1)=>a1.toolCall.providerExecuted),F1,t=new ReadableStream({start(a1){F1=a1}});e4.addStream(t);try{for(let f0 of[...s,...B1])F1==null||F1.enqueue({type:"tool-output-denied",toolCallId:f0.toolCall.toolCallId,toolName:f0.toolCall.toolName});let a1=[];if(await Promise.all(j.map(async(f0)=>{let m0=await EB1({toolCall:f0.toolCall,tools:U,tracer:h0,telemetry:Q,messages:m6,abortSignal:K,experimental_context:T1,stepNumber:L1.length,model:W8,onToolCallStart:j1,onToolCallFinish:O1,onPreliminaryToolResult:(F0)=>{F1==null||F1.enqueue(F0)}});if(m0!=null)F1==null||F1.enqueue(m0),a1.push(m0)})),O.length>0)M.push({role:"tool",content:O.map((f0)=>({type:"tool-approval-response",approvalId:f0.approvalResponse.approvalId,approved:f0.approvalResponse.approved,reason:f0.approvalResponse.reason,providerExecuted:!0}))});if(a1.length>0||s.length>0){let f0=[];for(let m0 of a1)f0.push({type:"tool-result",toolCallId:m0.toolCallId,toolName:m0.toolName,output:await pD({toolCallId:m0.toolCallId,input:m0.input,tool:U==null?void 0:U[m0.toolName],output:m0.type==="tool-result"?m0.output:m0.error,errorMode:m0.type==="tool-error"?"json":"none"})});for(let m0 of s)f0.push({type:"tool-result",toolCallId:m0.toolCall.toolCallId,toolName:m0.toolCall.toolName,output:{type:"execution-denied",reason:m0.approvalResponse.reason}});M.push({role:"tool",content:f0})}}finally{F1==null||F1.close()}}A1.push(...M);async function H1({currentStep:O,responseMessages:j,usage:s}){var B1,F1,t,a1,f0,m0,F0,U4,G9;let s9=e4.includeRawChunks,w6=W!=null?setTimeout(()=>Z.abort(),W):void 0,_6=void 0;function KJ(){if(H!=null){if(_6!=null)clearTimeout(_6);_6=setTimeout(()=>$.abort(),H)}}function u(){if(_6!=null)clearTimeout(_6),_6=void 0}function c(){if(w6!=null)clearTimeout(w6)}try{H0=new uD;let r=[...m6,...j],v=await(P==null?void 0:P({model:Y,steps:L1,stepNumber:L1.length,messages:r,experimental_context:T1})),G1=ji((B1=v==null?void 0:v.model)!=null?B1:Y),V1={provider:G1.provider,modelId:G1.modelId},z1=await if0({prompt:{system:(F1=v==null?void 0:v.system)!=null?F1:j0.system,messages:(t=v==null?void 0:v.messages)!=null?t:r},supportedUrls:await G1.supportedUrls,download:b1}),p1=(a1=v==null?void 0:v.activeTools)!=null?a1:L,{toolChoice:U0,tools:c0}=await af0({tools:U,toolChoice:(f0=v==null?void 0:v.toolChoice)!=null?f0:z,activeTools:p1});T1=(m0=v==null?void 0:v.experimental_context)!=null?m0:T1;let l0=(F0=v==null?void 0:v.messages)!=null?F0:r,I6=(U4=v==null?void 0:v.system)!=null?U4:j0.system,n0=ki(C,v==null?void 0:v.providerOptions);try{await(N1==null?void 0:N1({stepNumber:L1.length,model:V1,system:I6,messages:l0,tools:U,toolChoice:U0,activeTools:p1,steps:[...L1],providerOptions:n0,timeout:f,headers:X,stopWhen:b,output:T,abortSignal:g,include:s1,...k9,experimental_context:T1}))}catch(l1){}let{result:{stream:_4,response:y4,request:p4},doStreamSpan:$4,startTimestampMs:I4}=await G8(()=>Kk({name:"ai.streamText.doStream",attributes:gH({telemetry:Q,attributes:{...Zk({operationId:"ai.streamText.doStream",telemetry:Q}),...v0,"ai.model.provider":G1.provider,"ai.model.id":G1.modelId,"ai.prompt.messages":{input:()=>Gb0(z1)},"ai.prompt.tools":{input:()=>c0==null?void 0:c0.map((l1)=>JSON.stringify(l1))},"ai.prompt.toolChoice":{input:()=>U0!=null?JSON.stringify(U0):void 0},"gen_ai.system":G1.provider,"gen_ai.request.model":G1.modelId,"gen_ai.request.frequency_penalty":u1.frequencyPenalty,"gen_ai.request.max_tokens":u1.maxOutputTokens,"gen_ai.request.presence_penalty":u1.presencePenalty,"gen_ai.request.stop_sequences":u1.stopSequences,"gen_ai.request.temperature":u1.temperature,"gen_ai.request.top_k":u1.topK,"gen_ai.request.top_p":u1.topP}}),tracer:h0,endWhenDone:!1,fn:async(l1)=>({startTimestampMs:S(),doStreamSpan:l1,result:await G1.doStream({...u1,tools:c0,toolChoice:U0,responseFormat:await(T==null?void 0:T.responseFormat),prompt:z1,providerOptions:n0,abortSignal:K,headers:X,includeRawChunks:s9})})})),n4=sS6({tools:U,generatorStream:_4,tracer:h0,telemetry:Q,system:F,messages:r,repairToolCall:A,abortSignal:K,experimental_context:T1,generateId:y,stepNumber:L1.length,model:V1,onToolCallStart:j1,onToolCallFinish:O1}),Y6=((G9=s1==null?void 0:s1.requestBody)!=null?G9:!0)?p4!=null?p4:{}:{...p4,body:void 0},Z4=[],L4=[],r0,q4={},F4="other",p0=void 0,m1=FB1(),n1,O0=!0,Z0={id:y(),timestamp:new Date,modelId:W8.modelId},q0="";e4.addStream(n4.pipeThrough(new TransformStream({async transform(l1,H4){var q6,U6,z6,U1,Q6;if(KJ(),l1.type==="stream-start"){r0=l1.warnings;return}if(O0){let b4=S()-I4;O0=!1,$4.addEvent("ai.stream.firstChunk",{"ai.response.msToFirstChunk":b4}),$4.setAttributes({"ai.response.msToFirstChunk":b4}),H4.enqueue({type:"start-step",request:Y6,warnings:r0!=null?r0:[]})}let i6=l1.type;switch(i6){case"tool-approval-request":case"text-start":case"text-end":{H4.enqueue(l1);break}case"text-delta":{if(l1.delta.length>0)H4.enqueue({type:"text-delta",id:l1.id,text:l1.delta,providerMetadata:l1.providerMetadata}),q0+=l1.delta;break}case"reasoning-start":case"reasoning-end":{H4.enqueue(l1);break}case"reasoning-delta":{H4.enqueue({type:"reasoning-delta",id:l1.id,text:l1.delta,providerMetadata:l1.providerMetadata});break}case"tool-call":{H4.enqueue(l1),Z4.push(l1);break}case"tool-result":{if(H4.enqueue(l1),!l1.preliminary)L4.push(l1);break}case"tool-error":{H4.enqueue(l1),L4.push(l1);break}case"response-metadata":{Z0={id:(q6=l1.id)!=null?q6:Z0.id,timestamp:(U6=l1.timestamp)!=null?U6:Z0.timestamp,modelId:(z6=l1.modelId)!=null?z6:Z0.modelId};break}case"finish":{m1=l1.usage,F4=l1.finishReason,p0=l1.rawFinishReason,n1=l1.providerMetadata;let b4=S()-I4;$4.addEvent("ai.stream.finish"),$4.setAttributes({"ai.response.msToFinish":b4,"ai.response.avgOutputTokensPerSecond":1000*((U1=m1.outputTokens)!=null?U1:0)/b4});break}case"file":{H4.enqueue(l1);break}case"source":{H4.enqueue(l1);break}case"tool-input-start":{q4[l1.id]=l1.toolName;let b4=U==null?void 0:U[l1.toolName];if((b4==null?void 0:b4.onInputStart)!=null)await b4.onInputStart({toolCallId:l1.id,messages:r,abortSignal:K,experimental_context:T1});H4.enqueue({...l1,dynamic:(Q6=l1.dynamic)!=null?Q6:(b4==null?void 0:b4.type)==="dynamic",title:b4==null?void 0:b4.title});break}case"tool-input-end":{delete q4[l1.id],H4.enqueue(l1);break}case"tool-input-delta":{let b4=q4[l1.id],M6=U==null?void 0:U[b4];if((M6==null?void 0:M6.onInputDelta)!=null)await M6.onInputDelta({inputTextDelta:l1.delta,toolCallId:l1.id,messages:r,abortSignal:K,experimental_context:T1});H4.enqueue(l1);break}case"error":{H4.enqueue(l1),F4="error";break}case"raw":{if(s9)H4.enqueue(l1);break}default:throw Error(`Unknown chunk type: ${i6}`)}},async flush(l1){let H4=Z4.length>0?JSON.stringify(Z4):void 0;try{$4.setAttributes(await gH({telemetry:Q,attributes:{"ai.response.finishReason":F4,"ai.response.text":{output:()=>q0},"ai.response.reasoning":{output:()=>{let U1=C1.filter((Q6)=>Q6.type==="reasoning");return U1.length>0?U1.map((Q6)=>Q6.text).join(`
1137
+ `)}function ay0(Y){let Q=Y.filter((X)=>X.type==="text");if(Q.length===0)return;return Q.map((X)=>X.text).join("")}async function Vb0({tool:Y,toolCall:Q,messages:X,experimental_context:J}){if(Y.needsApproval==null)return!1;if(typeof Y.needsApproval==="boolean")return Y.needsApproval;return await Y.needsApproval(Q.input,{toolCallId:Q.toolCallId,messages:X,experimental_context:J})}function hS6(Y){let Q=["ROOT"],X=-1,J=null;function G(H,$,F){switch(H){case'"':{X=$,Q.pop(),Q.push(F),Q.push("INSIDE_STRING");break}case"f":case"t":case"n":{X=$,J=$,Q.pop(),Q.push(F),Q.push("INSIDE_LITERAL");break}case"-":{Q.pop(),Q.push(F),Q.push("INSIDE_NUMBER");break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{X=$,Q.pop(),Q.push(F),Q.push("INSIDE_NUMBER");break}case"{":{X=$,Q.pop(),Q.push(F),Q.push("INSIDE_OBJECT_START");break}case"[":{X=$,Q.pop(),Q.push(F),Q.push("INSIDE_ARRAY_START");break}}}function K(H,$){switch(H){case",":{Q.pop(),Q.push("INSIDE_OBJECT_AFTER_COMMA");break}case"}":{X=$,Q.pop();break}}}function W(H,$){switch(H){case",":{Q.pop(),Q.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{X=$,Q.pop();break}}}for(let H=0;H<Y.length;H++){let $=Y[H];switch(Q[Q.length-1]){case"ROOT":G($,H,"FINISH");break;case"INSIDE_OBJECT_START":{switch($){case'"':{Q.pop(),Q.push("INSIDE_OBJECT_KEY");break}case"}":{X=H,Q.pop();break}}break}case"INSIDE_OBJECT_AFTER_COMMA":{switch($){case'"':{Q.pop(),Q.push("INSIDE_OBJECT_KEY");break}}break}case"INSIDE_OBJECT_KEY":{switch($){case'"':{Q.pop(),Q.push("INSIDE_OBJECT_AFTER_KEY");break}}break}case"INSIDE_OBJECT_AFTER_KEY":{switch($){case":":{Q.pop(),Q.push("INSIDE_OBJECT_BEFORE_VALUE");break}}break}case"INSIDE_OBJECT_BEFORE_VALUE":{G($,H,"INSIDE_OBJECT_AFTER_VALUE");break}case"INSIDE_OBJECT_AFTER_VALUE":{K($,H);break}case"INSIDE_STRING":{switch($){case'"':{Q.pop(),X=H;break}case"\\":{Q.push("INSIDE_STRING_ESCAPE");break}default:X=H}break}case"INSIDE_ARRAY_START":{switch($){case"]":{X=H,Q.pop();break}default:{X=H,G($,H,"INSIDE_ARRAY_AFTER_VALUE");break}}break}case"INSIDE_ARRAY_AFTER_VALUE":{switch($){case",":{Q.pop(),Q.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{X=H,Q.pop();break}default:{X=H;break}}break}case"INSIDE_ARRAY_AFTER_COMMA":{G($,H,"INSIDE_ARRAY_AFTER_VALUE");break}case"INSIDE_STRING_ESCAPE":{Q.pop(),X=H;break}case"INSIDE_NUMBER":{switch($){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{X=H;break}case"e":case"E":case"-":case".":break;case",":{if(Q.pop(),Q[Q.length-1]==="INSIDE_ARRAY_AFTER_VALUE")W($,H);if(Q[Q.length-1]==="INSIDE_OBJECT_AFTER_VALUE")K($,H);break}case"}":{if(Q.pop(),Q[Q.length-1]==="INSIDE_OBJECT_AFTER_VALUE")K($,H);break}case"]":{if(Q.pop(),Q[Q.length-1]==="INSIDE_ARRAY_AFTER_VALUE")W($,H);break}default:{Q.pop();break}}break}case"INSIDE_LITERAL":{let V=Y.substring(J,H+1);if(!"false".startsWith(V)&&!"true".startsWith(V)&&!"null".startsWith(V)){if(Q.pop(),Q[Q.length-1]==="INSIDE_OBJECT_AFTER_VALUE")K($,H);else if(Q[Q.length-1]==="INSIDE_ARRAY_AFTER_VALUE")W($,H)}else X=H;break}}}let Z=Y.slice(0,X+1);for(let H=Q.length-1;H>=0;H--)switch(Q[H]){case"INSIDE_STRING":{Z+='"';break}case"INSIDE_OBJECT_KEY":case"INSIDE_OBJECT_AFTER_KEY":case"INSIDE_OBJECT_AFTER_COMMA":case"INSIDE_OBJECT_START":case"INSIDE_OBJECT_BEFORE_VALUE":case"INSIDE_OBJECT_AFTER_VALUE":{Z+="}";break}case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":{Z+="]";break}case"INSIDE_LITERAL":{let F=Y.substring(J,Y.length);if("true".startsWith(F))Z+="true".slice(F.length);else if("false".startsWith(F))Z+="false".slice(F.length);else if("null".startsWith(F))Z+="null".slice(F.length)}}return Z}async function Hk(Y){if(Y===void 0)return{value:void 0,state:"undefined-input"};let Q=await wG({text:Y});if(Q.success)return{value:Q.value,state:"successful-parse"};if(Q=await wG({text:hS6(Y)}),Q.success)return{value:Q.value,state:"repaired-parse"};return{value:void 0,state:"failed-parse"}}async function qb0({toolCall:Y,tools:Q,repairToolCall:X,system:J,messages:G}){var K;try{if(Q==null){if(Y.providerExecuted&&Y.dynamic)return await Bb0(Y);throw new zB1({toolName:Y.toolName})}try{return await ry0({toolCall:Y,tools:Q})}catch(W){if(X==null||!(zB1.isInstance(W)||MB1.isInstance(W)))throw W;let Z=null;try{Z=await X({toolCall:Y,tools:Q,inputSchema:async({toolName:H})=>{let{inputSchema:$}=Q[H];return await hH($).jsonSchema},system:J,messages:G,error:W})}catch(H){throw new pj6({cause:H,originalError:W})}if(Z==null)throw W;return await ry0({toolCall:Z,tools:Q})}}catch(W){let Z=await wG({text:Y.input}),H=Z.success?Z.value:Y.input;return{type:"tool-call",toolCallId:Y.toolCallId,toolName:Y.toolName,input:H,dynamic:!0,invalid:!0,error:W,title:(K=Q==null?void 0:Q[Y.toolName])==null?void 0:K.title,providerExecuted:Y.providerExecuted,providerMetadata:Y.providerMetadata}}}async function Bb0(Y){let Q=Y.input.trim()===""?{success:!0,value:{}}:await wG({text:Y.input});if(Q.success===!1)throw new MB1({toolName:Y.toolName,toolInput:Y.input,cause:Q.error});return{type:"tool-call",toolCallId:Y.toolCallId,toolName:Y.toolName,input:Q.value,providerExecuted:!0,dynamic:!0,providerMetadata:Y.providerMetadata}}async function ry0({toolCall:Y,tools:Q}){let X=Y.toolName,J=Q[X];if(J==null){if(Y.providerExecuted&&Y.dynamic)return await Bb0(Y);throw new zB1({toolName:Y.toolName,availableTools:Object.keys(Q)})}let G=hH(J.inputSchema),K=Y.input.trim()===""?await T5({value:{},schema:G}):await wG({text:Y.input,schema:G});if(K.success===!1)throw new MB1({toolName:X,toolInput:Y.input,cause:K.error});return J.type==="dynamic"?{type:"tool-call",toolCallId:Y.toolCallId,toolName:Y.toolName,input:K.value,providerExecuted:Y.providerExecuted,providerMetadata:Y.providerMetadata,dynamic:!0,title:J.title}:{type:"tool-call",toolCallId:Y.toolCallId,toolName:X,input:K.value,providerExecuted:Y.providerExecuted,providerMetadata:Y.providerMetadata,title:J.title}}function cq(Y){return({steps:Q})=>Q.length===Y}async function zb0({stopConditions:Y,steps:Q}){return(await Promise.all(Y.map((X)=>X({steps:Q})))).some((X)=>X)}async function OB1({content:Y,tools:Q}){let X=[],J=[];for(let K of Y){if(K.type==="source")continue;if((K.type==="tool-result"||K.type==="tool-error")&&!K.providerExecuted)continue;if(K.type==="text"&&K.text.length===0)continue;switch(K.type){case"text":J.push({type:"text",text:K.text,providerOptions:K.providerMetadata});break;case"reasoning":J.push({type:"reasoning",text:K.text,providerOptions:K.providerMetadata});break;case"file":J.push({type:"file",data:K.file.base64,mediaType:K.file.mediaType,providerOptions:K.providerMetadata});break;case"tool-call":J.push({type:"tool-call",toolCallId:K.toolCallId,toolName:K.toolName,input:K.input,providerExecuted:K.providerExecuted,providerOptions:K.providerMetadata});break;case"tool-result":{let W=await pD({toolCallId:K.toolCallId,input:K.input,tool:Q==null?void 0:Q[K.toolName],output:K.output,errorMode:"none"});J.push({type:"tool-result",toolCallId:K.toolCallId,toolName:K.toolName,output:W,providerOptions:K.providerMetadata});break}case"tool-error":{let W=await pD({toolCallId:K.toolCallId,input:K.input,tool:Q==null?void 0:Q[K.toolName],output:K.error,errorMode:"json"});J.push({type:"tool-result",toolCallId:K.toolCallId,toolName:K.toolName,output:W,providerOptions:K.providerMetadata});break}case"tool-approval-request":J.push({type:"tool-approval-request",approvalId:K.approvalId,toolCallId:K.toolCall.toolCallId});break}}if(J.length>0)X.push({role:"assistant",content:J});let G=[];for(let K of Y){if(!(K.type==="tool-result"||K.type==="tool-error")||K.providerExecuted)continue;let W=await pD({toolCallId:K.toolCallId,input:K.input,tool:Q==null?void 0:Q[K.toolName],output:K.type==="tool-result"?K.output:K.error,errorMode:K.type==="tool-error"?"text":"none"});G.push({type:"tool-result",toolCallId:K.toolCallId,toolName:K.toolName,output:W,...K.providerMetadata!=null?{providerOptions:K.providerMetadata}:{}})}if(G.length>0)X.push({role:"tool",content:G});return X}function Db0(...Y){let Q=Y.filter((J)=>J!=null);if(Q.length===0)return;if(Q.length===1)return Q[0];let X=new AbortController;for(let J of Q){if(J.aborted)return X.abort(J.reason),X.signal;J.addEventListener("abort",()=>{X.abort(J.reason)},{once:!0})}return X.signal}async function _w({model:Y,tools:Q,toolChoice:X,system:J,prompt:G,messages:K,maxRetries:W,abortSignal:Z,timeout:H,headers:$,stopWhen:F=cq(1),experimental_output:V,output:q=V,experimental_telemetry:U,providerOptions:z,experimental_activeTools:D,activeTools:L=D,experimental_prepareStep:A,prepareStep:E=A,experimental_repairToolCall:T,experimental_download:C,experimental_context:P,experimental_include:I,_internal:{generateId:S=lS6}={},experimental_onStart:y,experimental_onStepStart:f,experimental_onToolCallStart:b,experimental_onToolCallFinish:g,onStepFinish:o,onFinish:m,...h}){let n=ji(Y),K1=Gk(F),J1=PB1(H),N1=lf0(H),j1=N1!=null?new AbortController:void 0,O1=Db0(Z,J1!=null?AbortSignal.timeout(J1):void 0,j1==null?void 0:j1.signal),{maxRetries:T1,retry:b1}=Hb0({maxRetries:W,abortSignal:O1}),s1=DB1(h),H0=d$($!=null?$:{},`ai/${df0}`),C1=Yb0({model:n,telemetry:U,headers:H0,settings:{...s1,maxRetries:T1}}),A1={provider:n.provider,modelId:n.modelId},g1=await tf0({system:J,prompt:G,messages:K});try{await(y==null?void 0:y({model:A1,system:J,prompt:G,messages:K,tools:Q,toolChoice:X,activeTools:L,maxOutputTokens:s1.maxOutputTokens,temperature:s1.temperature,topP:s1.topP,topK:s1.topK,presencePenalty:s1.presencePenalty,frequencyPenalty:s1.frequencyPenalty,stopSequences:s1.stopSequences,seed:s1.seed,maxRetries:T1,timeout:H,headers:$,providerOptions:z,stopWhen:F,output:q,abortSignal:Z,include:I,functionId:U==null?void 0:U.functionId,metadata:U==null?void 0:U.metadata,experimental_context:P}))}catch(d0){}let G4=Xb0(U);try{return await Kk({name:"ai.generateText",attributes:gH({telemetry:U,attributes:{...Zk({operationId:"ai.generateText",telemetry:U}),...C1,"ai.model.provider":n.provider,"ai.model.id":n.modelId,"ai.prompt":{input:()=>JSON.stringify({system:J,prompt:G,messages:K})}}}),tracer:G4,fn:async(d0)=>{var $0,v1,L1,c1,I1,_1,T0,J0,W0,a4,W6,b6,G8;let h0=g1.messages,u1=[],{approvedToolApprovals:v0,deniedToolApprovals:e4}=$b0({messages:h0}),W8=v0.filter((s)=>!s.toolCall.providerExecuted);if(e4.length>0||W8.length>0){let s=await oy0({toolCalls:W8.map((F1)=>F1.toolCall),tools:Q,tracer:G4,telemetry:U,messages:h0,abortSignal:O1,experimental_context:P,stepNumber:0,model:A1,onToolCallStart:b,onToolCallFinish:g}),B1=[];for(let F1 of s){let t=await pD({toolCallId:F1.toolCallId,input:F1.input,tool:Q==null?void 0:Q[F1.toolName],output:F1.type==="tool-result"?F1.output:F1.error,errorMode:F1.type==="tool-error"?"json":"none"});B1.push({type:"tool-result",toolCallId:F1.toolCallId,toolName:F1.toolName,output:t})}for(let F1 of e4)B1.push({type:"tool-result",toolCallId:F1.toolCall.toolCallId,toolName:F1.toolCall.toolName,output:{type:"execution-denied",reason:F1.approvalResponse.reason,...F1.toolCall.providerExecuted&&{providerOptions:{openai:{approvalId:F1.approvalResponse.approvalId}}}}});u1.push({role:"tool",content:B1})}let k9=[...v0,...e4].filter((s)=>s.toolCall.providerExecuted);if(k9.length>0)u1.push({role:"tool",content:k9.map((s)=>({type:"tool-approval-response",approvalId:s.approvalResponse.approvalId,approved:s.approvalResponse.approved,reason:s.approvalResponse.reason,providerExecuted:!0}))});let a0=DB1(h),j0,m6=[],M=[],x=[],Z1=new Map;do{let s=N1!=null?setTimeout(()=>j1.abort(),N1):void 0;try{let B1=[...h0,...u1],F1=await(E==null?void 0:E({model:n,steps:x,stepNumber:x.length,messages:B1,experimental_context:P})),t=ji(($0=F1==null?void 0:F1.model)!=null?$0:n),a1={provider:t.provider,modelId:t.modelId},f0=await if0({prompt:{system:(v1=F1==null?void 0:F1.system)!=null?v1:g1.system,messages:(L1=F1==null?void 0:F1.messages)!=null?L1:B1},supportedUrls:await t.supportedUrls,download:C});P=(c1=F1==null?void 0:F1.experimental_context)!=null?c1:P;let m0=(I1=F1==null?void 0:F1.activeTools)!=null?I1:L,{toolChoice:F0,tools:U4}=await af0({tools:Q,toolChoice:(_1=F1==null?void 0:F1.toolChoice)!=null?_1:X,activeTools:m0}),G9=(T0=F1==null?void 0:F1.messages)!=null?T0:B1,s9=(J0=F1==null?void 0:F1.system)!=null?J0:g1.system,w6=ki(z,F1==null?void 0:F1.providerOptions);try{await(f==null?void 0:f({stepNumber:x.length,model:a1,system:s9,messages:G9,tools:Q,toolChoice:F0,activeTools:m0,steps:[...x],providerOptions:w6,timeout:H,headers:$,stopWhen:F,output:q,abortSignal:Z,include:I,functionId:U==null?void 0:U.functionId,metadata:U==null?void 0:U.metadata,experimental_context:P}))}catch(z1){}j0=await b1(()=>{var z1;return Kk({name:"ai.generateText.doGenerate",attributes:gH({telemetry:U,attributes:{...Zk({operationId:"ai.generateText.doGenerate",telemetry:U}),...C1,"ai.model.provider":t.provider,"ai.model.id":t.modelId,"ai.prompt.messages":{input:()=>Gb0(f0)},"ai.prompt.tools":{input:()=>U4==null?void 0:U4.map((p1)=>JSON.stringify(p1))},"ai.prompt.toolChoice":{input:()=>F0!=null?JSON.stringify(F0):void 0},"gen_ai.system":t.provider,"gen_ai.request.model":t.modelId,"gen_ai.request.frequency_penalty":h.frequencyPenalty,"gen_ai.request.max_tokens":h.maxOutputTokens,"gen_ai.request.presence_penalty":h.presencePenalty,"gen_ai.request.stop_sequences":h.stopSequences,"gen_ai.request.temperature":(z1=h.temperature)!=null?z1:void 0,"gen_ai.request.top_k":h.topK,"gen_ai.request.top_p":h.topP}}),tracer:G4,fn:async(p1)=>{var U0,c0,l0,I6,n0,_4,y4,p4;let $4=await t.doGenerate({...a0,tools:U4,toolChoice:F0,responseFormat:await(q==null?void 0:q.responseFormat),prompt:f0,providerOptions:w6,abortSignal:O1,headers:H0}),I4={id:(c0=(U0=$4.response)==null?void 0:U0.id)!=null?c0:S(),timestamp:(I6=(l0=$4.response)==null?void 0:l0.timestamp)!=null?I6:new Date,modelId:(_4=(n0=$4.response)==null?void 0:n0.modelId)!=null?_4:t.modelId,headers:(y4=$4.response)==null?void 0:y4.headers,body:(p4=$4.response)==null?void 0:p4.body};return p1.setAttributes(await gH({telemetry:U,attributes:{"ai.response.finishReason":$4.finishReason.unified,"ai.response.text":{output:()=>ay0($4.content)},"ai.response.reasoning":{output:()=>iy0($4.content)},"ai.response.toolCalls":{output:()=>{let n4=sy0($4.content);return n4==null?void 0:JSON.stringify(n4)}},"ai.response.id":I4.id,"ai.response.model":I4.modelId,"ai.response.timestamp":I4.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify($4.providerMetadata),"ai.usage.promptTokens":$4.usage.inputTokens.total,"ai.usage.completionTokens":$4.usage.outputTokens.total,"gen_ai.response.finish_reasons":[$4.finishReason.unified],"gen_ai.response.id":I4.id,"gen_ai.response.model":I4.modelId,"gen_ai.usage.input_tokens":$4.usage.inputTokens.total,"gen_ai.usage.output_tokens":$4.usage.outputTokens.total}})),{...$4,response:I4}}})});let _6=await Promise.all(j0.content.filter((z1)=>z1.type==="tool-call").map((z1)=>qb0({toolCall:z1,tools:Q,repairToolCall:T,system:J,messages:B1}))),KJ={};for(let z1 of _6){if(z1.invalid)continue;let p1=Q==null?void 0:Q[z1.toolName];if(p1==null)continue;if((p1==null?void 0:p1.onInputAvailable)!=null)await p1.onInputAvailable({input:z1.input,toolCallId:z1.toolCallId,messages:B1,abortSignal:O1,experimental_context:P});if(await Vb0({tool:p1,toolCall:z1,messages:B1,experimental_context:P}))KJ[z1.toolCallId]={type:"tool-approval-request",approvalId:S(),toolCall:z1}}let u=_6.filter((z1)=>z1.invalid&&z1.dynamic);M=[];for(let z1 of u)M.push({type:"tool-error",toolCallId:z1.toolCallId,toolName:z1.toolName,input:z1.input,error:dq(z1.error),dynamic:!0});if(m6=_6.filter((z1)=>!z1.providerExecuted),Q!=null)M.push(...await oy0({toolCalls:m6.filter((z1)=>!z1.invalid&&KJ[z1.toolCallId]==null),tools:Q,tracer:G4,telemetry:U,messages:B1,abortSignal:O1,experimental_context:P,stepNumber:x.length,model:a1,onToolCallStart:b,onToolCallFinish:g}));for(let z1 of _6){if(!z1.providerExecuted)continue;let p1=Q==null?void 0:Q[z1.toolName];if((p1==null?void 0:p1.type)==="provider"&&p1.supportsDeferredResults){if(!j0.content.some((c0)=>c0.type==="tool-result"&&c0.toolCallId===z1.toolCallId))Z1.set(z1.toolCallId,{toolName:z1.toolName})}}for(let z1 of j0.content)if(z1.type==="tool-result")Z1.delete(z1.toolCallId);let c=pS6({content:j0.content,toolCalls:_6,toolOutputs:M,toolApprovalRequests:Object.values(KJ),tools:Q});u1.push(...await OB1({content:c,tools:Q}));let r=((W0=I==null?void 0:I.requestBody)!=null?W0:!0)?(a4=j0.request)!=null?a4:{}:{...j0.request,body:void 0},v={...j0.response,messages:structuredClone(u1),body:((W6=I==null?void 0:I.responseBody)!=null?W6:!0)?(b6=j0.response)==null?void 0:b6.body:void 0},G1=x.length,V1=new Ub0({stepNumber:G1,model:a1,functionId:U==null?void 0:U.functionId,metadata:U==null?void 0:U.metadata,experimental_context:P,content:c,finishReason:j0.finishReason.unified,rawFinishReason:j0.finishReason.raw,usage:Wb0(j0.usage),warnings:j0.warnings,providerMetadata:j0.providerMetadata,request:r,response:v});wB1({warnings:(G8=j0.warnings)!=null?G8:[],provider:a1.provider,model:a1.modelId}),x.push(V1),await(o==null?void 0:o(V1))}finally{if(s!=null)clearTimeout(s)}}while((m6.length>0&&M.length===m6.length||Z1.size>0)&&!await zb0({stopConditions:K1,steps:x}));d0.setAttributes(await gH({telemetry:U,attributes:{"ai.response.finishReason":j0.finishReason.unified,"ai.response.text":{output:()=>ay0(j0.content)},"ai.response.reasoning":{output:()=>iy0(j0.content)},"ai.response.toolCalls":{output:()=>{let s=sy0(j0.content);return s==null?void 0:JSON.stringify(s)}},"ai.response.providerMetadata":JSON.stringify(j0.providerMetadata),"ai.usage.promptTokens":j0.usage.inputTokens.total,"ai.usage.completionTokens":j0.usage.outputTokens.total}}));let H1=x[x.length-1],O=x.reduce((s,B1)=>{return Zb0(s,B1.usage)},{inputTokens:void 0,outputTokens:void 0,totalTokens:void 0,reasoningTokens:void 0,cachedInputTokens:void 0});await(m==null?void 0:m({stepNumber:H1.stepNumber,model:H1.model,functionId:H1.functionId,metadata:H1.metadata,experimental_context:H1.experimental_context,finishReason:H1.finishReason,rawFinishReason:H1.rawFinishReason,usage:H1.usage,content:H1.content,text:H1.text,reasoningText:H1.reasoningText,reasoning:H1.reasoning,files:H1.files,sources:H1.sources,toolCalls:H1.toolCalls,staticToolCalls:H1.staticToolCalls,dynamicToolCalls:H1.dynamicToolCalls,toolResults:H1.toolResults,staticToolResults:H1.staticToolResults,dynamicToolResults:H1.dynamicToolResults,request:H1.request,response:H1.response,warnings:H1.warnings,providerMetadata:H1.providerMetadata,steps:x,totalUsage:O}));let j;if(H1.finishReason==="stop")j=await(q!=null?q:Si()).parseCompleteOutput({text:H1.text},{response:H1.response,usage:H1.usage,finishReason:H1.finishReason});return new dS6({steps:x,totalUsage:O,output:j})}})}catch(d0){throw ef0(d0)}}async function oy0({toolCalls:Y,tools:Q,tracer:X,telemetry:J,messages:G,abortSignal:K,experimental_context:W,stepNumber:Z,model:H,onToolCallStart:$,onToolCallFinish:F}){return(await Promise.all(Y.map(async(q)=>EB1({toolCall:q,tools:Q,tracer:X,telemetry:J,messages:G,abortSignal:K,experimental_context:W,stepNumber:Z,model:H,onToolCallStart:$,onToolCallFinish:F})))).filter((q)=>q!=null)}function sy0(Y){let Q=Y.filter((X)=>X.type==="tool-call");if(Q.length===0)return;return Q.map((X)=>({toolCallId:X.toolCallId,toolName:X.toolName,input:X.input}))}function pS6({content:Y,toolCalls:Q,toolOutputs:X,toolApprovalRequests:J,tools:G}){let K=[];for(let W of Y)switch(W.type){case"text":case"reasoning":case"source":K.push(W);break;case"file":{K.push({type:"file",file:new Fb0(W),...W.providerMetadata!=null?{providerMetadata:W.providerMetadata}:{}});break}case"tool-call":{K.push(Q.find((Z)=>Z.toolCallId===W.toolCallId));break}case"tool-result":{let Z=Q.find((H)=>H.toolCallId===W.toolCallId);if(Z==null){let H=G==null?void 0:G[W.toolName];if(!((H==null?void 0:H.type)==="provider"&&H.supportsDeferredResults))throw Error(`Tool call ${W.toolCallId} not found.`);if(W.isError)K.push({type:"tool-error",toolCallId:W.toolCallId,toolName:W.toolName,input:void 0,error:W.result,providerExecuted:!0,dynamic:W.dynamic});else K.push({type:"tool-result",toolCallId:W.toolCallId,toolName:W.toolName,input:void 0,output:W.result,providerExecuted:!0,dynamic:W.dynamic});break}if(W.isError)K.push({type:"tool-error",toolCallId:W.toolCallId,toolName:W.toolName,input:Z.input,error:W.result,providerExecuted:!0,dynamic:Z.dynamic});else K.push({type:"tool-result",toolCallId:W.toolCallId,toolName:W.toolName,input:Z.input,output:W.result,providerExecuted:!0,dynamic:Z.dynamic});break}case"tool-approval-request":{let Z=Q.find((H)=>H.toolCallId===W.toolCallId);if(Z==null)throw new AB1({toolCallId:W.toolCallId,approvalId:W.approvalId});K.push({type:"tool-approval-request",approvalId:W.approvalId,toolCall:Z});break}}return[...K,...X,...J]}function vi(Y,Q){let X=new Headers(Y!=null?Y:{});for(let[J,G]of Object.entries(Q))if(!X.has(J))X.set(J,G);return X}function cS6({status:Y,statusText:Q,headers:X,textStream:J}){return new Response(J.pipeThrough(new TextEncoderStream),{status:Y!=null?Y:200,statusText:Q,headers:vi(X,{"content-type":"text/plain; charset=utf-8"})})}function Ob0({response:Y,status:Q,statusText:X,headers:J,stream:G}){let K=Q!=null?Q:200;if(X!==void 0)Y.writeHead(K,X,J);else Y.writeHead(K,J);let W=G.getReader();(async()=>{try{while(!0){let{done:H,value:$}=await W.read();if(H)break;if(!Y.write($))await new Promise((V)=>{Y.once("drain",V)})}}catch(H){throw H}finally{Y.end()}})()}function nS6({response:Y,status:Q,statusText:X,headers:J,textStream:G}){Ob0({response:Y,status:Q,statusText:X,headers:Object.fromEntries(vi(J,{"content-type":"text/plain; charset=utf-8"}).entries()),stream:G.pipeThrough(new TextEncoderStream)})}function TB1({status:Y,statusText:Q,headers:X,stream:J,consumeSseStream:G}){let K=J.pipeThrough(new Nb0);if(G){let[W,Z]=K.tee();K=W,G({stream:Z})}return new Response(K.pipeThrough(new TextEncoderStream),{status:Y,statusText:Q,headers:vi(X,Lb0)})}function iS6({originalMessages:Y,responseMessageId:Q}){if(Y==null)return;let X=Y[Y.length-1];return(X==null?void 0:X.role)==="assistant"?X.id:typeof Q==="function"?Q():Q}function aS6(Y){return Y.type.startsWith("data-")}function VB1(Y){return Y.type.startsWith("data-")}function qB1(Y){return Y.type==="text"}function BB1(Y){return Y.type==="file"}function ty0(Y){return Y.type==="reasoning"}function NB1(Y){return Y.type.startsWith("tool-")}function Mb0(Y){return Y.type==="dynamic-tool"}function Jk(Y){return NB1(Y)||Mb0(Y)}function LB1(Y){return Y.type.split("-").slice(1).join("-")}function UB1(Y){return Mb0(Y)?Y.toolName:LB1(Y)}function Ab0({lastMessage:Y,messageId:Q}){return{message:(Y==null?void 0:Y.role)==="assistant"?Y:{id:Q,metadata:void 0,role:"assistant",parts:[]},activeTextParts:{},activeReasoningParts:{},partialToolCalls:{}}}function wb0({stream:Y,messageMetadataSchema:Q,dataPartSchemas:X,runUpdateMessageJob:J,onError:G,onToolCall:K,onData:W}){return Y.pipeThrough(new TransformStream({async transform(Z,H){await J(async({state:$,write:F})=>{var V,q,U,z;function D(T){let P=$.message.parts.filter(Jk).find((I)=>I.toolCallId===T);if(P==null)throw new Sw({chunkType:"tool-invocation",chunkId:T,message:`No tool invocation found for tool call ID "${T}".`});return P}function L(T){var C;let P=$.message.parts.find((y)=>NB1(y)&&y.toolCallId===T.toolCallId),I=T,S=P;if(P!=null){if(P.state=T.state,S.input=I.input,S.output=I.output,S.errorText=I.errorText,S.rawInput=I.rawInput,S.preliminary=I.preliminary,T.title!==void 0)S.title=T.title;if(S.providerExecuted=(C=I.providerExecuted)!=null?C:P.providerExecuted,I.providerMetadata!=null)P.callProviderMetadata=I.providerMetadata}else $.message.parts.push({type:`tool-${T.toolName}`,toolCallId:T.toolCallId,state:T.state,title:T.title,input:I.input,output:I.output,rawInput:I.rawInput,errorText:I.errorText,providerExecuted:I.providerExecuted,preliminary:I.preliminary,...I.providerMetadata!=null?{callProviderMetadata:I.providerMetadata}:{}})}function A(T){var C,P;let I=$.message.parts.find((f)=>f.type==="dynamic-tool"&&f.toolCallId===T.toolCallId),S=T,y=I;if(I!=null){if(I.state=T.state,y.toolName=T.toolName,y.input=S.input,y.output=S.output,y.errorText=S.errorText,y.rawInput=(C=S.rawInput)!=null?C:y.rawInput,y.preliminary=S.preliminary,T.title!==void 0)y.title=T.title;if(y.providerExecuted=(P=S.providerExecuted)!=null?P:I.providerExecuted,S.providerMetadata!=null)I.callProviderMetadata=S.providerMetadata}else $.message.parts.push({type:"dynamic-tool",toolName:T.toolName,toolCallId:T.toolCallId,state:T.state,input:S.input,output:S.output,errorText:S.errorText,preliminary:S.preliminary,providerExecuted:S.providerExecuted,title:T.title,...S.providerMetadata!=null?{callProviderMetadata:S.providerMetadata}:{}})}async function E(T){if(T!=null){let C=$.message.metadata!=null?ki($.message.metadata,T):T;if(Q!=null)await xH({value:C,schema:Q,context:{field:"message.metadata",entityId:$.message.id}});$.message.metadata=C}}switch(Z.type){case"text-start":{let T={type:"text",text:"",providerMetadata:Z.providerMetadata,state:"streaming"};$.activeTextParts[Z.id]=T,$.message.parts.push(T),F();break}case"text-delta":{let T=$.activeTextParts[Z.id];if(T==null)throw new Sw({chunkType:"text-delta",chunkId:Z.id,message:`Received text-delta for missing text part with ID "${Z.id}". Ensure a "text-start" chunk is sent before any "text-delta" chunks.`});T.text+=Z.delta,T.providerMetadata=(V=Z.providerMetadata)!=null?V:T.providerMetadata,F();break}case"text-end":{let T=$.activeTextParts[Z.id];if(T==null)throw new Sw({chunkType:"text-end",chunkId:Z.id,message:`Received text-end for missing text part with ID "${Z.id}". Ensure a "text-start" chunk is sent before any "text-end" chunks.`});T.state="done",T.providerMetadata=(q=Z.providerMetadata)!=null?q:T.providerMetadata,delete $.activeTextParts[Z.id],F();break}case"reasoning-start":{let T={type:"reasoning",text:"",providerMetadata:Z.providerMetadata,state:"streaming"};$.activeReasoningParts[Z.id]=T,$.message.parts.push(T),F();break}case"reasoning-delta":{let T=$.activeReasoningParts[Z.id];if(T==null)throw new Sw({chunkType:"reasoning-delta",chunkId:Z.id,message:`Received reasoning-delta for missing reasoning part with ID "${Z.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-delta" chunks.`});T.text+=Z.delta,T.providerMetadata=(U=Z.providerMetadata)!=null?U:T.providerMetadata,F();break}case"reasoning-end":{let T=$.activeReasoningParts[Z.id];if(T==null)throw new Sw({chunkType:"reasoning-end",chunkId:Z.id,message:`Received reasoning-end for missing reasoning part with ID "${Z.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-end" chunks.`});T.providerMetadata=(z=Z.providerMetadata)!=null?z:T.providerMetadata,T.state="done",delete $.activeReasoningParts[Z.id],F();break}case"file":{$.message.parts.push({type:"file",mediaType:Z.mediaType,url:Z.url}),F();break}case"source-url":{$.message.parts.push({type:"source-url",sourceId:Z.sourceId,url:Z.url,title:Z.title,providerMetadata:Z.providerMetadata}),F();break}case"source-document":{$.message.parts.push({type:"source-document",sourceId:Z.sourceId,mediaType:Z.mediaType,title:Z.title,filename:Z.filename,providerMetadata:Z.providerMetadata}),F();break}case"tool-input-start":{let T=$.message.parts.filter(NB1);if($.partialToolCalls[Z.toolCallId]={text:"",toolName:Z.toolName,index:T.length,dynamic:Z.dynamic,title:Z.title},Z.dynamic)A({toolCallId:Z.toolCallId,toolName:Z.toolName,state:"input-streaming",input:void 0,providerExecuted:Z.providerExecuted,title:Z.title,providerMetadata:Z.providerMetadata});else L({toolCallId:Z.toolCallId,toolName:Z.toolName,state:"input-streaming",input:void 0,providerExecuted:Z.providerExecuted,title:Z.title,providerMetadata:Z.providerMetadata});F();break}case"tool-input-delta":{let T=$.partialToolCalls[Z.toolCallId];if(T==null)throw new Sw({chunkType:"tool-input-delta",chunkId:Z.toolCallId,message:`Received tool-input-delta for missing tool call with ID "${Z.toolCallId}". Ensure a "tool-input-start" chunk is sent before any "tool-input-delta" chunks.`});T.text+=Z.inputTextDelta;let{value:C}=await Hk(T.text);if(T.dynamic)A({toolCallId:Z.toolCallId,toolName:T.toolName,state:"input-streaming",input:C,title:T.title});else L({toolCallId:Z.toolCallId,toolName:T.toolName,state:"input-streaming",input:C,title:T.title});F();break}case"tool-input-available":{if(Z.dynamic)A({toolCallId:Z.toolCallId,toolName:Z.toolName,state:"input-available",input:Z.input,providerExecuted:Z.providerExecuted,providerMetadata:Z.providerMetadata,title:Z.title});else L({toolCallId:Z.toolCallId,toolName:Z.toolName,state:"input-available",input:Z.input,providerExecuted:Z.providerExecuted,providerMetadata:Z.providerMetadata,title:Z.title});if(F(),K&&!Z.providerExecuted)await K({toolCall:Z});break}case"tool-input-error":{if(Z.dynamic)A({toolCallId:Z.toolCallId,toolName:Z.toolName,state:"output-error",input:Z.input,errorText:Z.errorText,providerExecuted:Z.providerExecuted,providerMetadata:Z.providerMetadata});else L({toolCallId:Z.toolCallId,toolName:Z.toolName,state:"output-error",input:void 0,rawInput:Z.input,errorText:Z.errorText,providerExecuted:Z.providerExecuted,providerMetadata:Z.providerMetadata});F();break}case"tool-approval-request":{let T=D(Z.toolCallId);T.state="approval-requested",T.approval={id:Z.approvalId},F();break}case"tool-output-denied":{let T=D(Z.toolCallId);T.state="output-denied",F();break}case"tool-output-available":{let T=D(Z.toolCallId);if(T.type==="dynamic-tool")A({toolCallId:Z.toolCallId,toolName:T.toolName,state:"output-available",input:T.input,output:Z.output,preliminary:Z.preliminary,providerExecuted:Z.providerExecuted,title:T.title});else L({toolCallId:Z.toolCallId,toolName:LB1(T),state:"output-available",input:T.input,output:Z.output,providerExecuted:Z.providerExecuted,preliminary:Z.preliminary,title:T.title});F();break}case"tool-output-error":{let T=D(Z.toolCallId);if(T.type==="dynamic-tool")A({toolCallId:Z.toolCallId,toolName:T.toolName,state:"output-error",input:T.input,errorText:Z.errorText,providerExecuted:Z.providerExecuted,title:T.title});else L({toolCallId:Z.toolCallId,toolName:LB1(T),state:"output-error",input:T.input,rawInput:T.rawInput,errorText:Z.errorText,providerExecuted:Z.providerExecuted,title:T.title});F();break}case"start-step":{$.message.parts.push({type:"step-start"});break}case"finish-step":{$.activeTextParts={},$.activeReasoningParts={};break}case"start":{if(Z.messageId!=null)$.message.id=Z.messageId;if(await E(Z.messageMetadata),Z.messageId!=null||Z.messageMetadata!=null)F();break}case"finish":{if(Z.finishReason!=null)$.finishReason=Z.finishReason;if(await E(Z.messageMetadata),Z.messageMetadata!=null)F();break}case"message-metadata":{if(await E(Z.messageMetadata),Z.messageMetadata!=null)F();break}case"error":{G==null||G(Error(Z.errorText));break}default:if(aS6(Z)){if((X==null?void 0:X[Z.type])!=null){let P=$.message.parts.findIndex((S)=>("id"in S)&&("data"in S)&&S.id===Z.id&&S.type===Z.type),I=P>=0?P:$.message.parts.length;await xH({value:Z.data,schema:X[Z.type],context:{field:`message.parts[${I}].data`,entityName:Z.type,entityId:Z.id}})}let T=Z;if(T.transient){W==null||W(T);break}let C=T.id!=null?$.message.parts.find((P)=>T.type===P.type&&T.id===P.id):void 0;if(C!=null)C.data=T.data;else $.message.parts.push(T);W==null||W(T),F()}}H.enqueue(Z)})}}))}function Pb0({messageId:Y,originalMessages:Q=[],onStepFinish:X,onFinish:J,onError:G,stream:K}){let W=Q==null?void 0:Q[Q.length-1];if((W==null?void 0:W.role)!=="assistant")W=void 0;else Y=W.id;let Z=!1,H=K.pipeThrough(new TransformStream({transform(z,D){if(z.type==="start"){let L=z;if(L.messageId==null&&Y!=null)L.messageId=Y}if(z.type==="abort")Z=!0;D.enqueue(z)}}));if(J==null&&X==null)return H;let $=Ab0({lastMessage:W?structuredClone(W):void 0,messageId:Y!=null?Y:""}),F=async(z)=>{await z({state:$,write:()=>{}})},V=!1,q=async()=>{if(V||!J)return;V=!0;let z=$.message.id===(W==null?void 0:W.id);await J({isAborted:Z,isContinuation:z,responseMessage:$.message,messages:[...z?Q.slice(0,-1):Q,$.message],finishReason:$.finishReason})},U=async()=>{if(!X)return;let z=$.message.id===(W==null?void 0:W.id);try{await X({isContinuation:z,responseMessage:structuredClone($.message),messages:[...z?Q.slice(0,-1):Q,structuredClone($.message)]})}catch(D){G(D)}};return wb0({stream:H,runUpdateMessageJob:F,onError:G}).pipeThrough(new TransformStream({async transform(z,D){if(z.type==="finish-step")await U();D.enqueue(z)},async cancel(){await q()},async flush(){await q()}}))}function rS6({response:Y,status:Q,statusText:X,headers:J,stream:G,consumeSseStream:K}){let W=G.pipeThrough(new Nb0);if(K){let[Z,H]=W.tee();W=Z,K({stream:H})}Ob0({response:Y,status:Q,statusText:X,headers:Object.fromEntries(vi(J,Lb0).entries()),stream:W.pipeThrough(new TextEncoderStream)})}function kw(Y){let Q=Y.pipeThrough(new TransformStream);return Q[Symbol.asyncIterator]=function(){let X=this.getReader(),J=!1;async function G(K){var W;if(J)return;J=!0;try{if(K)await((W=X.cancel)==null?void 0:W.call(X))}finally{try{X.releaseLock()}catch(Z){}}}return{async next(){if(J)return{done:!0,value:void 0};let{done:K,value:W}=await X.read();if(K)return await G(!0),{done:!0,value:void 0};return{done:!1,value:W}},async return(){return await G(!0),{done:!0,value:void 0}},async throw(K){throw await G(!0),K}}},Q}async function _i({stream:Y,onError:Q}){let X=Y.getReader();try{while(!0){let{done:J}=await X.read();if(J)break}}catch(J){Q==null||Q(J)}finally{X.releaseLock()}}function ey0(){let Y,Q;return{promise:new Promise((J,G)=>{Y=J,Q=G}),resolve:Y,reject:Q}}function oS6(){let Y=[],Q=null,X=!1,J=ey0(),G=()=>{X=!0,J.resolve(),Y.forEach((W)=>W.cancel()),Y=[],Q==null||Q.close()},K=async()=>{if(X&&Y.length===0){Q==null||Q.close();return}if(Y.length===0)return J=ey0(),await J.promise,K();try{let{value:W,done:Z}=await Y[0].read();if(Z)if(Y.shift(),Y.length===0&&X)Q==null||Q.close();else await K();else Q==null||Q.enqueue(W)}catch(W){Q==null||Q.error(W),Y.shift(),G()}};return{stream:new ReadableStream({start(W){Q=W},pull:K,async cancel(){for(let W of Y)await W.cancel();Y=[],X=!0}}),addStream:(W)=>{if(X)throw Error("Cannot add inner stream: outer stream is closed");Y.push(W.getReader()),J.resolve()},close:()=>{if(X=!0,J.resolve(),Y.length===0)Q==null||Q.close()},terminate:G}}function sS6({tools:Y,generatorStream:Q,tracer:X,telemetry:J,system:G,messages:K,abortSignal:W,repairToolCall:Z,experimental_context:H,generateId:$,stepNumber:F,model:V,onToolCallStart:q,onToolCallFinish:U}){let z=null,D=new ReadableStream({start(S){z=S}}),L=new Set,A=new Map,E=new Map,T=!1,C=void 0;function P(){if(T&&L.size===0){if(C!=null)z.enqueue(C);z.close()}}let I=new TransformStream({async transform(S,y){let f=S.type;switch(f){case"stream-start":case"text-start":case"text-delta":case"text-end":case"reasoning-start":case"reasoning-delta":case"reasoning-end":case"tool-input-start":case"tool-input-delta":case"tool-input-end":case"source":case"response-metadata":case"error":case"raw":{y.enqueue(S);break}case"file":{y.enqueue({type:"file",file:new fS6({data:S.data,mediaType:S.mediaType})});break}case"finish":{C={type:"finish",finishReason:S.finishReason.unified,rawFinishReason:S.finishReason.raw,usage:Wb0(S.usage),providerMetadata:S.providerMetadata};break}case"tool-approval-request":{let b=E.get(S.toolCallId);if(b==null){z.enqueue({type:"error",error:new AB1({toolCallId:S.toolCallId,approvalId:S.approvalId})});break}y.enqueue({type:"tool-approval-request",approvalId:S.approvalId,toolCall:b});break}case"tool-call":{try{let b=await qb0({toolCall:S,tools:Y,repairToolCall:Z,system:G,messages:K});if(E.set(b.toolCallId,b),y.enqueue(b),b.invalid){z.enqueue({type:"tool-error",toolCallId:b.toolCallId,toolName:b.toolName,input:b.input,error:dq(b.error),dynamic:!0,title:b.title});break}let g=Y==null?void 0:Y[b.toolName];if(g==null)break;if(g.onInputAvailable!=null)await g.onInputAvailable({input:b.input,toolCallId:b.toolCallId,messages:K,abortSignal:W,experimental_context:H});if(await Vb0({tool:g,toolCall:b,messages:K,experimental_context:H})){z.enqueue({type:"tool-approval-request",approvalId:$(),toolCall:b});break}if(A.set(b.toolCallId,b.input),g.execute!=null&&b.providerExecuted!==!0){let o=$();L.add(o),EB1({toolCall:b,tools:Y,tracer:X,telemetry:J,messages:K,abortSignal:W,experimental_context:H,stepNumber:F,model:V,onToolCallStart:q,onToolCallFinish:U,onPreliminaryToolResult:(m)=>{z.enqueue(m)}}).then((m)=>{z.enqueue(m)}).catch((m)=>{z.enqueue({type:"error",error:m})}).finally(()=>{L.delete(o),P()})}}catch(b){z.enqueue({type:"error",error:b})}break}case"tool-result":{let b=S.toolName;if(S.isError)z.enqueue({type:"tool-error",toolCallId:S.toolCallId,toolName:b,input:A.get(S.toolCallId),providerExecuted:!0,error:S.result,dynamic:S.dynamic});else y.enqueue({type:"tool-result",toolCallId:S.toolCallId,toolName:b,input:A.get(S.toolCallId),output:S.result,providerExecuted:!0,dynamic:S.dynamic});break}default:throw Error(`Unhandled chunk type: ${f}`)}},flush(){T=!0,P()}});return new ReadableStream({async start(S){return Promise.all([Q.pipeThrough(I).pipeTo(new WritableStream({write(y){S.enqueue(y)},close(){}})),D.pipeTo(new WritableStream({write(y){S.enqueue(y)},close(){S.close()}}))])}})}function yw({model:Y,tools:Q,toolChoice:X,system:J,prompt:G,messages:K,maxRetries:W,abortSignal:Z,timeout:H,headers:$,stopWhen:F=cq(1),experimental_output:V,output:q=V,experimental_telemetry:U,prepareStep:z,providerOptions:D,experimental_activeTools:L,activeTools:A=L,experimental_repairToolCall:E,experimental_transform:T,experimental_download:C,includeRawChunks:P=!1,onChunk:I,onError:S=({error:O1})=>{console.error(O1)},onFinish:y,onAbort:f,onStepFinish:b,experimental_onStart:g,experimental_onStepStart:o,experimental_onToolCallStart:m,experimental_onToolCallFinish:h,experimental_context:n,experimental_include:K1,_internal:{now:J1=Ii,generateId:N1=tS6}={},...j1}){let O1=PB1(H),T1=lf0(H),b1=HS6(H),s1=T1!=null?new AbortController:void 0,H0=b1!=null?new AbortController:void 0;return new Yk6({model:ji(Y),telemetry:U,headers:$,settings:j1,maxRetries:W,abortSignal:Db0(Z,O1!=null?AbortSignal.timeout(O1):void 0,s1==null?void 0:s1.signal,H0==null?void 0:H0.signal),stepTimeoutMs:T1,stepAbortController:s1,chunkTimeoutMs:b1,chunkAbortController:H0,system:J,prompt:G,messages:K,tools:Q,toolChoice:X,transforms:Gk(T),activeTools:A,repairToolCall:E,stopConditions:Gk(F),output:q,providerOptions:D,prepareStep:z,includeRawChunks:P,timeout:H,stopWhen:F,originalAbortSignal:Z,onChunk:I,onError:S,onFinish:y,onAbort:f,onStepFinish:b,onStart:g,onStepStart:o,onToolCallStart:m,onToolCallFinish:h,now:J1,generateId:N1,experimental_context:n,download:C,include:K1})}function eS6(Y){let Q=void 0,X="",J="",G=void 0,K="";function W({controller:Z,partialOutput:H=void 0}){Z.enqueue({part:{type:"text-delta",id:Q,text:J,providerMetadata:G},partialOutput:H}),J=""}return new TransformStream({async transform(Z,H){var $;if(Z.type==="finish-step"&&J.length>0)W({controller:H});if(Z.type!=="text-delta"&&Z.type!=="text-start"&&Z.type!=="text-end"){H.enqueue({part:Z,partialOutput:void 0});return}if(Q==null)Q=Z.id;else if(Z.id!==Q){H.enqueue({part:Z,partialOutput:void 0});return}if(Z.type==="text-start"){H.enqueue({part:Z,partialOutput:void 0});return}if(Z.type==="text-end"){if(J.length>0)W({controller:H});H.enqueue({part:Z,partialOutput:void 0});return}X+=Z.text,J+=Z.text,G=($=Z.providerMetadata)!=null?$:G;let F=await Y.parsePartialOutput({text:X});if(F!==void 0){let V=JSON.stringify(F.partial);if(V!==K)W({controller:H,partialOutput:F.partial}),K=V}}})}function Eb0({execute:Y,onError:Q=dq,originalMessages:X,onStepFinish:J,onFinish:G,generateId:K=pq1}){let W,Z=[],H=new ReadableStream({start(V){W=V}});function $(V){try{W.enqueue(V)}catch(q){}}try{let V=Y({writer:{write(q){$(q)},merge(q){Z.push((async()=>{let U=q.getReader();while(!0){let{done:z,value:D}=await U.read();if(z)break;$(D)}})().catch((U)=>{$({type:"error",errorText:Q(U)})}))},onError:Q}});if(V)Z.push(V.catch((q)=>{$({type:"error",errorText:Q(q)})}))}catch(V){$({type:"error",errorText:Q(V)})}return new Promise(async(V)=>{while(Z.length>0)await Z.shift();V()}).finally(()=>{try{W.close()}catch(V){}}),Pb0({stream:H,messageId:K(),originalMessages:X,onStepFinish:J,onFinish:G,onError:Q})}function Tb0({message:Y,stream:Q,onError:X,terminateOnError:J=!1}){var G;let K,W=!1,Z=new ReadableStream({start(F){K=F}}),H=Ab0({messageId:(G=Y==null?void 0:Y.id)!=null?G:"",lastMessage:Y}),$=(F)=>{if(X==null||X(F),!W&&J)W=!0,K==null||K.error(F)};return _i({stream:wb0({stream:Q,runUpdateMessageJob(F){return F({state:H,write:()=>{K==null||K.enqueue(structuredClone(H.message))}})},onError:$}),onError:$}).finally(()=>{if(!W)K==null||K.close()}),kw(Z)}async function Cb0(Y,Q){let X=[];if(Q==null?void 0:Q.ignoreIncompleteToolCalls)Y=Y.map((J)=>({...J,parts:J.parts.filter((G)=>!Jk(G)||G.state!=="input-streaming"&&G.state!=="input-available")}));for(let J of Y)switch(J.role){case"system":{let G=J.parts.filter((W)=>W.type==="text"),K=G.reduce((W,Z)=>{if(Z.providerMetadata!=null)return{...W,...Z.providerMetadata};return W},{});X.push({role:"system",content:G.map((W)=>W.text).join(""),...Object.keys(K).length>0?{providerOptions:K}:{}});break}case"user":{X.push({role:"user",content:J.parts.map((G)=>{var K;if(qB1(G))return{type:"text",text:G.text,...G.providerMetadata!=null?{providerOptions:G.providerMetadata}:{}};if(BB1(G))return{type:"file",mediaType:G.mediaType,filename:G.filename,data:G.url,...G.providerMetadata!=null?{providerOptions:G.providerMetadata}:{}};if(VB1(G))return(K=Q==null?void 0:Q.convertDataPart)==null?void 0:K.call(Q,G)}).filter(V_0)});break}case"assistant":{if(J.parts!=null){let G=[];async function K(){var W,Z,H,$,F,V;if(G.length===0)return;let q=[];for(let z of G)if(qB1(z))q.push({type:"text",text:z.text,...z.providerMetadata!=null?{providerOptions:z.providerMetadata}:{}});else if(BB1(z))q.push({type:"file",mediaType:z.mediaType,filename:z.filename,data:z.url});else if(ty0(z))q.push({type:"reasoning",text:z.text,providerOptions:z.providerMetadata});else if(Jk(z)){let D=UB1(z);if(z.state!=="input-streaming"){if(q.push({type:"tool-call",toolCallId:z.toolCallId,toolName:D,input:z.state==="output-error"?(W=z.input)!=null?W:("rawInput"in z)?z.rawInput:void 0:z.input,providerExecuted:z.providerExecuted,...z.callProviderMetadata!=null?{providerOptions:z.callProviderMetadata}:{}}),z.approval!=null)q.push({type:"tool-approval-request",approvalId:z.approval.id,toolCallId:z.toolCallId});if(z.providerExecuted===!0&&z.state!=="approval-responded"&&(z.state==="output-available"||z.state==="output-error"))q.push({type:"tool-result",toolCallId:z.toolCallId,toolName:D,output:await pD({toolCallId:z.toolCallId,input:z.input,output:z.state==="output-error"?z.errorText:z.output,tool:(Z=Q==null?void 0:Q.tools)==null?void 0:Z[D],errorMode:z.state==="output-error"?"json":"none"}),...z.callProviderMetadata!=null?{providerOptions:z.callProviderMetadata}:{}})}}else if(VB1(z)){let D=(H=Q==null?void 0:Q.convertDataPart)==null?void 0:H.call(Q,z);if(D!=null)q.push(D)}else throw Error(`Unsupported part: ${z}`);X.push({role:"assistant",content:q});let U=G.filter((z)=>{var D;return Jk(z)&&(z.providerExecuted!==!0||((D=z.approval)==null?void 0:D.approved)!=null)});if(U.length>0){let z=[];for(let D of U){if((($=D.approval)==null?void 0:$.approved)!=null)z.push({type:"tool-approval-response",approvalId:D.approval.id,approved:D.approval.approved,reason:D.approval.reason,providerExecuted:D.providerExecuted});if(D.providerExecuted===!0)continue;switch(D.state){case"output-denied":{z.push({type:"tool-result",toolCallId:D.toolCallId,toolName:UB1(D),output:{type:"error-text",value:(F=D.approval.reason)!=null?F:"Tool execution denied."},...D.callProviderMetadata!=null?{providerOptions:D.callProviderMetadata}:{}});break}case"output-error":case"output-available":{let L=UB1(D);z.push({type:"tool-result",toolCallId:D.toolCallId,toolName:L,output:await pD({toolCallId:D.toolCallId,input:D.input,output:D.state==="output-error"?D.errorText:D.output,tool:(V=Q==null?void 0:Q.tools)==null?void 0:V[L],errorMode:D.state==="output-error"?"text":"none"}),...D.callProviderMetadata!=null?{providerOptions:D.callProviderMetadata}:{}});break}}}if(z.length>0)X.push({role:"tool",content:z})}G=[]}for(let W of J.parts)if(qB1(W)||ty0(W)||BB1(W)||Jk(W)||VB1(W))G.push(W);else if(W.type==="step-start")await K();await K();break}break}default:{let G=J.role;throw new YS6({originalMessage:J,message:`Unsupported role: ${G}`})}}return X}async function Xk6({messages:Y,metadataSchema:Q,dataSchemas:X,tools:J}){try{if(Y==null)return{success:!1,error:new nZ({parameter:"messages",value:Y,message:"messages parameter must be provided"})};let G=await xH({value:Y,schema:Qk6});if(Q)for(let[K,W]of G.entries())await xH({value:W.metadata,schema:Q,context:{field:`messages[${K}].metadata`,entityId:W.id}});if(X||J)for(let[K,W]of G.entries())for(let[Z,H]of W.parts.entries()){if(X&&H.type.startsWith("data-")){let $=H,F=$.type.slice(5),V=X[F];if(!V)return{success:!1,error:new AG({value:$.data,cause:`No data schema found for data part ${F}`,context:{field:`messages[${K}].parts[${Z}].data`,entityName:F,entityId:$.id}})};await xH({value:$.data,schema:V,context:{field:`messages[${K}].parts[${Z}].data`,entityName:F,entityId:$.id}})}if(J&&H.type.startsWith("tool-")){let $=H,F=$.type.slice(5),V=J[F];if(!V)return{success:!1,error:new AG({value:$.input,cause:`No tool schema found for tool part ${F}`,context:{field:`messages[${K}].parts[${Z}].input`,entityName:F,entityId:$.toolCallId}})};if($.state==="input-available"||$.state==="output-available"||$.state==="output-error"&&$.input!==void 0)await xH({value:$.input,schema:V.inputSchema,context:{field:`messages[${K}].parts[${Z}].input`,entityName:F,entityId:$.toolCallId}});if($.state==="output-available"&&V.outputSchema)await xH({value:$.output,schema:V.outputSchema,context:{field:`messages[${K}].parts[${Z}].output`,entityName:F,entityId:$.toolCallId}})}}return{success:!0,data:G}}catch(G){return{success:!1,error:G}}}async function Rb0({messages:Y,metadataSchema:Q,dataSchemas:X,tools:J}){let G=await Xk6({messages:Y,metadataSchema:Q,dataSchemas:X,tools:J});if(!G.success)throw G.error;return G.data}function Ib0(Y){return({url:Q,abortSignal:X})=>pf0({url:Q,maxBytes:Y==null?void 0:Y.maxBytes,abortSignal:X})}function jb0({messages:Y,reasoning:Q="none",toolCalls:X=[],emptyMessages:J="remove"}){if(Q==="all"||Q==="before-last-message")Y=Y.map((G,K)=>{if(G.role!=="assistant"||typeof G.content==="string"||Q==="before-last-message"&&K===Y.length-1)return G;return{...G,content:G.content.filter((W)=>W.type!=="reasoning")}});if(X==="none")X=[];else if(X==="all")X=[{type:"all"}];else if(X==="before-last-message")X=[{type:"before-last-message"}];else if(typeof X==="string")X=[{type:X}];for(let G of X){let K=G.type==="all"?void 0:G.type==="before-last-message"?1:Number(G.type.slice(12).slice(0,-9)),W=new Set,Z=new Set;if(K!=null){for(let H of Y.slice(-K))if((H.role==="assistant"||H.role==="tool")&&typeof H.content!=="string"){for(let $ of H.content)if($.type==="tool-call"||$.type==="tool-result")W.add($.toolCallId);else if($.type==="tool-approval-request"||$.type==="tool-approval-response")Z.add($.approvalId)}}Y=Y.map((H,$)=>{if(H.role!=="assistant"&&H.role!=="tool"||typeof H.content==="string"||K&&$>=Y.length-K)return H;let F={},V={};return{...H,content:H.content.filter((q)=>{if(q.type!=="tool-call"&&q.type!=="tool-result"&&q.type!=="tool-approval-request"&&q.type!=="tool-approval-response")return!0;if(q.type==="tool-call")F[q.toolCallId]=q.toolName;else if(q.type==="tool-approval-request")V[q.approvalId]=F[q.toolCallId];if((q.type==="tool-call"||q.type==="tool-result")&&W.has(q.toolCallId)||(q.type==="tool-approval-request"||q.type==="tool-approval-response")&&Z.has(q.approvalId))return!0;return G.tools!=null&&!G.tools.includes(q.type==="tool-call"||q.type==="tool-result"?q.toolName:V[q.approvalId])})}})}if(J==="remove")Y=Y.filter((G)=>G.content.length>0);return Y}var Qb0,vw,qj6,Bj6=(Y,Q)=>{for(var X in Q)qj6(Y,X,{get:Q[X],enumerable:!0})},Yf0="AI_InvalidArgumentError",Qf0,Uj6,Xf0,nZ,zj6="AI_InvalidStreamPartError",Dj6,Oj6,Nj6,Jf0="AI_InvalidToolApprovalError",Gf0,Lj6,Wf0,Mj6,Zf0="AI_InvalidToolInputError",Kf0,Aj6,Hf0,MB1,$f0="AI_ToolCallNotFoundForApprovalError",Ff0,wj6,Vf0,AB1,qf0="AI_MissingToolResultsError",Bf0,Pj6,Uf0,ly0,Ej6="AI_NoImageGeneratedError",Tj6,Cj6,Rj6,zf0="AI_NoObjectGeneratedError",Df0,Ij6,Of0,pq,Nf0="AI_NoOutputGeneratedError",Lf0,jj6,Mf0,Af0,Sj6="AI_NoSpeechGeneratedError",kj6,vj6,_j6,yj6="AI_NoTranscriptGeneratedError",fj6,bj6,hj6,xj6="AI_NoVideoGeneratedError",gj6,uj6,mj6,wf0="AI_NoSuchToolError",Pf0,lj6,Ef0,zB1,Tf0="AI_ToolCallRepairError",Cf0,dj6,Rf0,pj6,cj6,If0="AI_UIMessageStreamError",jf0,nj6,Sf0,Sw,ij6="AI_InvalidDataContentError",aj6,rj6,oj6,kf0="AI_InvalidMessageRoleError",vf0,sj6,_f0,tj6,yf0="AI_MessageConversionError",ff0,ej6,bf0,YS6,hf0="AI_RetryError",xf0,QS6,gf0,dy0,JS6="AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.",py0=!1,wB1=(Y)=>{if(Y.warnings.length===0)return;let Q=globalThis.AI_SDK_LOG_WARNINGS;if(Q===!1)return;if(typeof Q==="function"){Q(Y);return}if(!py0)py0=!0,console.info(JS6);for(let X of Y.warnings)console.warn(XS6({warning:X,provider:Y.provider,model:Y.model}))},$S6,FS6=(Y)=>{let Q=typeof Y==="string"?Rw(Y):Y,X=(Q[6]&127)<<21|(Q[7]&127)<<14|(Q[8]&127)<<7|Q[9]&127;return Q.slice(X+10)},df0="6.0.98",pf0=async({url:Y,maxBytes:Q,abortSignal:X})=>{var J;let G=Y.toString();try{let K=await fetch(G,{headers:d$({},`ai-sdk/${df0}`,Ni()),signal:X});if(!K.ok)throw new Cw({url:G,statusCode:K.status,statusText:K.statusText});return{data:await H_0({response:K,url:G,maxBytes:Q!=null?Q:dq1}),mediaType:(J=K.headers.get("content-type"))!=null?J:void 0}}catch(K){if(Cw.isInstance(K))throw K;throw new Cw({url:G,cause:K})}},BS6=(Y=pf0)=>(Q)=>Promise.all(Q.map(async(X)=>X.isUrlSupportedByModel?null:Y(X))),cf0,Wk,d4,rf0,MS6,of0,AS6,wS6,PS6,sf0,ES6,TS6,CS6,RS6,IS6,jS6,SS6,kS6,Ri,vS6,yS6=({maxRetries:Y=2,initialDelayInMs:Q=2000,backoffFactor:X=2,abortSignal:J}={})=>async(G)=>Kb0(G,{maxRetries:Y,delayInMs:Q,backoffFactor:X,abortSignal:J}),Fb0=class{constructor({data:Y,mediaType:Q}){let X=Y instanceof Uint8Array;this.base64Data=X?void 0:Y,this.uint8ArrayData=X?Y:void 0,this.mediaType=Q}get base64(){if(this.base64Data==null)this.base64Data=l$(this.uint8ArrayData);return this.base64Data}get uint8Array(){if(this.uint8ArrayData==null)this.uint8ArrayData=Rw(this.base64Data);return this.uint8ArrayData}},fS6,bS6,Si=()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),async parseCompleteOutput({text:Y}){return Y},async parsePartialOutput({text:Y}){return{partial:Y}},createElementStreamTransform(){return}}),xS6=({schema:Y,name:Q,description:X})=>{let J=hH(Y);return{name:"object",responseFormat:TQ(J.jsonSchema).then((G)=>({type:"json",schema:G,...Q!=null&&{name:Q},...X!=null&&{description:X}})),async parseCompleteOutput({text:G},K){let W=await wG({text:G});if(!W.success)throw new pq({message:"No object generated: could not parse the response.",cause:W.error,text:G,response:K.response,usage:K.usage,finishReason:K.finishReason});let Z=await T5({value:W.value,schema:J});if(!Z.success)throw new pq({message:"No object generated: response did not match schema.",cause:Z.error,text:G,response:K.response,usage:K.usage,finishReason:K.finishReason});return Z.value},async parsePartialOutput({text:G}){let K=await Hk(G);switch(K.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:K.value}}},createElementStreamTransform(){return}}},gS6=({element:Y,name:Q,description:X})=>{let J=hH(Y);return{name:"array",responseFormat:TQ(J.jsonSchema).then((G)=>{let{$schema:K,...W}=G;return{type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{elements:{type:"array",items:W}},required:["elements"],additionalProperties:!1},...Q!=null&&{name:Q},...X!=null&&{description:X}}}),async parseCompleteOutput({text:G},K){let W=await wG({text:G});if(!W.success)throw new pq({message:"No object generated: could not parse the response.",cause:W.error,text:G,response:K.response,usage:K.usage,finishReason:K.finishReason});let Z=W.value;if(Z==null||typeof Z!=="object"||!("elements"in Z)||!Array.isArray(Z.elements))throw new pq({message:"No object generated: response did not match schema.",cause:new AG({value:Z,cause:"response must be an object with an elements array"}),text:G,response:K.response,usage:K.usage,finishReason:K.finishReason});for(let H of Z.elements){let $=await T5({value:H,schema:J});if(!$.success)throw new pq({message:"No object generated: response did not match schema.",cause:$.error,text:G,response:K.response,usage:K.usage,finishReason:K.finishReason})}return Z.elements},async parsePartialOutput({text:G}){let K=await Hk(G);switch(K.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let W=K.value;if(W==null||typeof W!=="object"||!("elements"in W)||!Array.isArray(W.elements))return;let Z=K.state==="repaired-parse"&&W.elements.length>0?W.elements.slice(0,-1):W.elements,H=[];for(let $ of Z){let F=await T5({value:$,schema:J});if(F.success)H.push(F.value)}return{partial:H}}}},createElementStreamTransform(){let G=0;return new TransformStream({transform({partialOutput:K},W){if(K!=null)for(;G<K.length;G++)W.enqueue(K[G])}})}}},uS6=({options:Y,name:Q,description:X})=>{return{name:"choice",responseFormat:Promise.resolve({type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{result:{type:"string",enum:Y}},required:["result"],additionalProperties:!1},...Q!=null&&{name:Q},...X!=null&&{description:X}}),async parseCompleteOutput({text:J},G){let K=await wG({text:J});if(!K.success)throw new pq({message:"No object generated: could not parse the response.",cause:K.error,text:J,response:G.response,usage:G.usage,finishReason:G.finishReason});let W=K.value;if(W==null||typeof W!=="object"||!("result"in W)||typeof W.result!=="string"||!Y.includes(W.result))throw new pq({message:"No object generated: response did not match schema.",cause:new AG({value:W,cause:"response must be an object that contains a choice value."}),text:J,response:G.response,usage:G.usage,finishReason:G.finishReason});return W.result},async parsePartialOutput({text:J}){let G=await Hk(J);switch(G.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let K=G.value;if(K==null||typeof K!=="object"||!("result"in K)||typeof K.result!=="string")return;let W=Y.filter((Z)=>Z.startsWith(K.result));if(G.state==="successful-parse")return W.includes(K.result)?{partial:K.result}:void 0;else return W.length===1?{partial:W[0]}:void 0}}},createElementStreamTransform(){return}}},mS6=({name:Y,description:Q}={})=>{return{name:"json",responseFormat:Promise.resolve({type:"json",...Y!=null&&{name:Y},...Q!=null&&{description:Q}}),async parseCompleteOutput({text:X},J){let G=await wG({text:X});if(!G.success)throw new pq({message:"No object generated: could not parse the response.",cause:G.error,text:X,response:J.response,usage:J.usage,finishReason:J.finishReason});return G.value},async parsePartialOutput({text:X}){let J=await Hk(X);switch(J.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return J.value===void 0?void 0:{partial:J.value}}},createElementStreamTransform(){return}}},Ub0=class{constructor({stepNumber:Y,model:Q,functionId:X,metadata:J,experimental_context:G,content:K,finishReason:W,rawFinishReason:Z,usage:H,warnings:$,request:F,response:V,providerMetadata:q}){this.stepNumber=Y,this.model=Q,this.functionId=X,this.metadata=J,this.experimental_context=G,this.content=K,this.finishReason=W,this.rawFinishReason=Z,this.usage=H,this.warnings=$,this.request=F,this.response=V,this.providerMetadata=q}get text(){return this.content.filter((Y)=>Y.type==="text").map((Y)=>Y.text).join("")}get reasoning(){return this.content.filter((Y)=>Y.type==="reasoning")}get reasoningText(){return this.reasoning.length===0?void 0:this.reasoning.map((Y)=>Y.text).join("")}get files(){return this.content.filter((Y)=>Y.type==="file").map((Y)=>Y.file)}get sources(){return this.content.filter((Y)=>Y.type==="source")}get toolCalls(){return this.content.filter((Y)=>Y.type==="tool-call")}get staticToolCalls(){return this.toolCalls.filter((Y)=>Y.dynamic!==!0)}get dynamicToolCalls(){return this.toolCalls.filter((Y)=>Y.dynamic===!0)}get toolResults(){return this.content.filter((Y)=>Y.type==="tool-result")}get staticToolResults(){return this.toolResults.filter((Y)=>Y.dynamic!==!0)}get dynamicToolResults(){return this.toolResults.filter((Y)=>Y.dynamic===!0)}},lS6,dS6=class{constructor(Y){this.steps=Y.steps,this._output=Y.output,this.totalUsage=Y.totalUsage}get finalStep(){return this.steps[this.steps.length-1]}get content(){return this.finalStep.content}get text(){return this.finalStep.text}get files(){return this.finalStep.files}get reasoningText(){return this.finalStep.reasoningText}get reasoning(){return this.finalStep.reasoning}get toolCalls(){return this.finalStep.toolCalls}get staticToolCalls(){return this.finalStep.staticToolCalls}get dynamicToolCalls(){return this.finalStep.dynamicToolCalls}get toolResults(){return this.finalStep.toolResults}get staticToolResults(){return this.finalStep.staticToolResults}get dynamicToolResults(){return this.finalStep.dynamicToolResults}get sources(){return this.finalStep.sources}get finishReason(){return this.finalStep.finishReason}get rawFinishReason(){return this.finalStep.rawFinishReason}get warnings(){return this.finalStep.warnings}get providerMetadata(){return this.finalStep.providerMetadata}get response(){return this.finalStep.response}get request(){return this.finalStep.request}get usage(){return this.finalStep.usage}get experimental_output(){return this.output}get output(){if(this._output==null)throw new Af0;return this._output}},Nb0,Lb0,t09,tS6,Yk6=class{constructor({model:Y,telemetry:Q,headers:X,settings:J,maxRetries:G,abortSignal:K,stepTimeoutMs:W,stepAbortController:Z,chunkTimeoutMs:H,chunkAbortController:$,system:F,prompt:V,messages:q,tools:U,toolChoice:z,transforms:D,activeTools:L,repairToolCall:A,stopConditions:E,output:T,providerOptions:C,prepareStep:P,includeRawChunks:I,now:S,generateId:y,timeout:f,stopWhen:b,originalAbortSignal:g,onChunk:o,onError:m,onFinish:h,onAbort:n,onStepFinish:K1,onStart:J1,onStepStart:N1,onToolCallStart:j1,onToolCallFinish:O1,experimental_context:T1,download:b1,include:s1}){this._totalUsage=new uD,this._finishReason=new uD,this._rawFinishReason=new uD,this._steps=new uD,this.outputSpecification=T,this.includeRawChunks=I,this.tools=U;let H0,C1=[],A1=[],g1=void 0,G4=void 0,d0=void 0,$0={},v1=[],L1=[],c1=new Map,I1,_1={},T0={},J0=new TransformStream({async transform(a0,j0){var m6,M,x,Z1;j0.enqueue(a0);let{part:H1}=a0;if(H1.type==="text-delta"||H1.type==="reasoning-delta"||H1.type==="source"||H1.type==="tool-call"||H1.type==="tool-result"||H1.type==="tool-input-start"||H1.type==="tool-input-delta"||H1.type==="raw")await(o==null?void 0:o({chunk:H1}));if(H1.type==="error")await m({error:ef0(H1.error)});if(H1.type==="text-start")_1[H1.id]={type:"text",text:"",providerMetadata:H1.providerMetadata},C1.push(_1[H1.id]);if(H1.type==="text-delta"){let O=_1[H1.id];if(O==null){j0.enqueue({part:{type:"error",error:`text part ${H1.id} not found`},partialOutput:void 0});return}O.text+=H1.text,O.providerMetadata=(m6=H1.providerMetadata)!=null?m6:O.providerMetadata}if(H1.type==="text-end"){let O=_1[H1.id];if(O==null){j0.enqueue({part:{type:"error",error:`text part ${H1.id} not found`},partialOutput:void 0});return}O.providerMetadata=(M=H1.providerMetadata)!=null?M:O.providerMetadata,delete _1[H1.id]}if(H1.type==="reasoning-start")T0[H1.id]={type:"reasoning",text:"",providerMetadata:H1.providerMetadata},C1.push(T0[H1.id]);if(H1.type==="reasoning-delta"){let O=T0[H1.id];if(O==null){j0.enqueue({part:{type:"error",error:`reasoning part ${H1.id} not found`},partialOutput:void 0});return}O.text+=H1.text,O.providerMetadata=(x=H1.providerMetadata)!=null?x:O.providerMetadata}if(H1.type==="reasoning-end"){let O=T0[H1.id];if(O==null){j0.enqueue({part:{type:"error",error:`reasoning part ${H1.id} not found`},partialOutput:void 0});return}O.providerMetadata=(Z1=H1.providerMetadata)!=null?Z1:O.providerMetadata,delete T0[H1.id]}if(H1.type==="file")C1.push({type:"file",file:H1.file});if(H1.type==="source")C1.push(H1);if(H1.type==="tool-call")C1.push(H1);if(H1.type==="tool-result"&&!H1.preliminary)C1.push(H1);if(H1.type==="tool-approval-request")C1.push(H1);if(H1.type==="tool-error")C1.push(H1);if(H1.type==="start-step")C1=[],T0={},_1={},$0=H1.request,v1=H1.warnings;if(H1.type==="finish-step"){let O=await OB1({content:C1,tools:U}),j=new Ub0({stepNumber:L1.length,model:W8,...k9,experimental_context:T1,content:C1,finishReason:H1.finishReason,rawFinishReason:H1.rawFinishReason,usage:H1.usage,warnings:v1,request:$0,response:{...H1.response,messages:[...A1,...O]},providerMetadata:H1.providerMetadata});await(K1==null?void 0:K1(j)),wB1({warnings:v1,provider:W8.provider,model:W8.modelId}),L1.push(j),A1.push(...O),H0.resolve()}if(H1.type==="finish")d0=H1.totalUsage,g1=H1.finishReason,G4=H1.rawFinishReason},async flush(a0){try{if(L1.length===0){let x=(K==null?void 0:K.aborted)?K.reason:new Af0({message:"No output generated. Check the stream for errors."});e4._finishReason.reject(x),e4._rawFinishReason.reject(x),e4._totalUsage.reject(x),e4._steps.reject(x);return}let j0=g1!=null?g1:"other",m6=d0!=null?d0:FB1();e4._finishReason.resolve(j0),e4._rawFinishReason.resolve(G4),e4._totalUsage.resolve(m6),e4._steps.resolve(L1);let M=L1[L1.length-1];await(h==null?void 0:h({stepNumber:M.stepNumber,model:M.model,functionId:M.functionId,metadata:M.metadata,experimental_context:M.experimental_context,finishReason:M.finishReason,rawFinishReason:M.rawFinishReason,totalUsage:m6,usage:M.usage,content:M.content,text:M.text,reasoningText:M.reasoningText,reasoning:M.reasoning,files:M.files,sources:M.sources,toolCalls:M.toolCalls,staticToolCalls:M.staticToolCalls,dynamicToolCalls:M.dynamicToolCalls,toolResults:M.toolResults,staticToolResults:M.staticToolResults,dynamicToolResults:M.dynamicToolResults,request:M.request,response:M.response,warnings:M.warnings,providerMetadata:M.providerMetadata,steps:L1})),I1.setAttributes(await gH({telemetry:Q,attributes:{"ai.response.finishReason":j0,"ai.response.text":{output:()=>M.text},"ai.response.reasoning":{output:()=>M.reasoningText},"ai.response.toolCalls":{output:()=>{var x;return((x=M.toolCalls)==null?void 0:x.length)?JSON.stringify(M.toolCalls):void 0}},"ai.response.providerMetadata":JSON.stringify(M.providerMetadata),"ai.usage.inputTokens":m6.inputTokens,"ai.usage.outputTokens":m6.outputTokens,"ai.usage.totalTokens":m6.totalTokens,"ai.usage.reasoningTokens":m6.reasoningTokens,"ai.usage.cachedInputTokens":m6.cachedInputTokens}}))}catch(j0){a0.error(j0)}finally{I1.end()}}}),W0=oS6();this.addStream=W0.addStream,this.closeStream=W0.close;let a4=W0.stream.getReader(),W6=new ReadableStream({async start(a0){a0.enqueue({type:"start"})},async pull(a0){function j0(){n==null||n({steps:L1}),a0.enqueue({type:"abort",...(K==null?void 0:K.reason)!==void 0?{reason:lZ(K.reason)}:{}}),a0.close()}try{let{done:m6,value:M}=await a4.read();if(m6){a0.close();return}if(K==null?void 0:K.aborted){j0();return}a0.enqueue(M)}catch(m6){if(u$(m6)&&(K==null?void 0:K.aborted))j0();else a0.error(m6)}},cancel(a0){return W0.stream.cancel(a0)}});for(let a0 of D)W6=W6.pipeThrough(a0({tools:U,stopStream(){W0.terminate()}}));this.baseStream=W6.pipeThrough(eS6(T!=null?T:Si())).pipeThrough(J0);let{maxRetries:b6,retry:G8}=Hb0({maxRetries:G,abortSignal:K}),h0=Xb0(Q),u1=DB1(J),v0=Yb0({model:Y,telemetry:Q,headers:X,settings:{...u1,maxRetries:b6}}),e4=this,W8={provider:Y.provider,modelId:Y.modelId},k9={functionId:Q==null?void 0:Q.functionId,metadata:Q==null?void 0:Q.metadata};Kk({name:"ai.streamText",attributes:gH({telemetry:Q,attributes:{...Zk({operationId:"ai.streamText",telemetry:Q}),...v0,"ai.prompt":{input:()=>JSON.stringify({system:F,prompt:V,messages:q})}}}),tracer:h0,endWhenDone:!1,fn:async(a0)=>{I1=a0;let j0=await tf0({system:F,prompt:V,messages:q});try{await(J1==null?void 0:J1({model:W8,system:F,prompt:V,messages:q,tools:U,toolChoice:z,activeTools:L,maxOutputTokens:u1.maxOutputTokens,temperature:u1.temperature,topP:u1.topP,topK:u1.topK,presencePenalty:u1.presencePenalty,frequencyPenalty:u1.frequencyPenalty,stopSequences:u1.stopSequences,seed:u1.seed,maxRetries:b6,timeout:f,headers:X,providerOptions:C,stopWhen:b,output:T,abortSignal:g,include:s1,...k9,experimental_context:T1}))}catch(O){}let m6=j0.messages,M=[],{approvedToolApprovals:x,deniedToolApprovals:Z1}=$b0({messages:m6});if(Z1.length>0||x.length>0){let O=[...x,...Z1].filter((a1)=>a1.toolCall.providerExecuted),j=x.filter((a1)=>!a1.toolCall.providerExecuted),s=Z1.filter((a1)=>!a1.toolCall.providerExecuted),B1=Z1.filter((a1)=>a1.toolCall.providerExecuted),F1,t=new ReadableStream({start(a1){F1=a1}});e4.addStream(t);try{for(let f0 of[...s,...B1])F1==null||F1.enqueue({type:"tool-output-denied",toolCallId:f0.toolCall.toolCallId,toolName:f0.toolCall.toolName});let a1=[];if(await Promise.all(j.map(async(f0)=>{let m0=await EB1({toolCall:f0.toolCall,tools:U,tracer:h0,telemetry:Q,messages:m6,abortSignal:K,experimental_context:T1,stepNumber:L1.length,model:W8,onToolCallStart:j1,onToolCallFinish:O1,onPreliminaryToolResult:(F0)=>{F1==null||F1.enqueue(F0)}});if(m0!=null)F1==null||F1.enqueue(m0),a1.push(m0)})),O.length>0)M.push({role:"tool",content:O.map((f0)=>({type:"tool-approval-response",approvalId:f0.approvalResponse.approvalId,approved:f0.approvalResponse.approved,reason:f0.approvalResponse.reason,providerExecuted:!0}))});if(a1.length>0||s.length>0){let f0=[];for(let m0 of a1)f0.push({type:"tool-result",toolCallId:m0.toolCallId,toolName:m0.toolName,output:await pD({toolCallId:m0.toolCallId,input:m0.input,tool:U==null?void 0:U[m0.toolName],output:m0.type==="tool-result"?m0.output:m0.error,errorMode:m0.type==="tool-error"?"json":"none"})});for(let m0 of s)f0.push({type:"tool-result",toolCallId:m0.toolCall.toolCallId,toolName:m0.toolCall.toolName,output:{type:"execution-denied",reason:m0.approvalResponse.reason}});M.push({role:"tool",content:f0})}}finally{F1==null||F1.close()}}A1.push(...M);async function H1({currentStep:O,responseMessages:j,usage:s}){var B1,F1,t,a1,f0,m0,F0,U4,G9;let s9=e4.includeRawChunks,w6=W!=null?setTimeout(()=>Z.abort(),W):void 0,_6=void 0;function KJ(){if(H!=null){if(_6!=null)clearTimeout(_6);_6=setTimeout(()=>$.abort(),H)}}function u(){if(_6!=null)clearTimeout(_6),_6=void 0}function c(){if(w6!=null)clearTimeout(w6)}try{H0=new uD;let r=[...m6,...j],v=await(P==null?void 0:P({model:Y,steps:L1,stepNumber:L1.length,messages:r,experimental_context:T1})),G1=ji((B1=v==null?void 0:v.model)!=null?B1:Y),V1={provider:G1.provider,modelId:G1.modelId},z1=await if0({prompt:{system:(F1=v==null?void 0:v.system)!=null?F1:j0.system,messages:(t=v==null?void 0:v.messages)!=null?t:r},supportedUrls:await G1.supportedUrls,download:b1}),p1=(a1=v==null?void 0:v.activeTools)!=null?a1:L,{toolChoice:U0,tools:c0}=await af0({tools:U,toolChoice:(f0=v==null?void 0:v.toolChoice)!=null?f0:z,activeTools:p1});T1=(m0=v==null?void 0:v.experimental_context)!=null?m0:T1;let l0=(F0=v==null?void 0:v.messages)!=null?F0:r,I6=(U4=v==null?void 0:v.system)!=null?U4:j0.system,n0=ki(C,v==null?void 0:v.providerOptions);try{await(N1==null?void 0:N1({stepNumber:L1.length,model:V1,system:I6,messages:l0,tools:U,toolChoice:U0,activeTools:p1,steps:[...L1],providerOptions:n0,timeout:f,headers:X,stopWhen:b,output:T,abortSignal:g,include:s1,...k9,experimental_context:T1}))}catch(l1){}let{result:{stream:_4,response:y4,request:p4},doStreamSpan:$4,startTimestampMs:I4}=await G8(()=>Kk({name:"ai.streamText.doStream",attributes:gH({telemetry:Q,attributes:{...Zk({operationId:"ai.streamText.doStream",telemetry:Q}),...v0,"ai.model.provider":G1.provider,"ai.model.id":G1.modelId,"ai.prompt.messages":{input:()=>Gb0(z1)},"ai.prompt.tools":{input:()=>c0==null?void 0:c0.map((l1)=>JSON.stringify(l1))},"ai.prompt.toolChoice":{input:()=>U0!=null?JSON.stringify(U0):void 0},"gen_ai.system":G1.provider,"gen_ai.request.model":G1.modelId,"gen_ai.request.frequency_penalty":u1.frequencyPenalty,"gen_ai.request.max_tokens":u1.maxOutputTokens,"gen_ai.request.presence_penalty":u1.presencePenalty,"gen_ai.request.stop_sequences":u1.stopSequences,"gen_ai.request.temperature":u1.temperature,"gen_ai.request.top_k":u1.topK,"gen_ai.request.top_p":u1.topP}}),tracer:h0,endWhenDone:!1,fn:async(l1)=>({startTimestampMs:S(),doStreamSpan:l1,result:await G1.doStream({...u1,tools:c0,toolChoice:U0,responseFormat:await(T==null?void 0:T.responseFormat),prompt:z1,providerOptions:n0,abortSignal:K,headers:X,includeRawChunks:s9})})})),n4=sS6({tools:U,generatorStream:_4,tracer:h0,telemetry:Q,system:F,messages:r,repairToolCall:A,abortSignal:K,experimental_context:T1,generateId:y,stepNumber:L1.length,model:V1,onToolCallStart:j1,onToolCallFinish:O1}),Y6=((G9=s1==null?void 0:s1.requestBody)!=null?G9:!0)?p4!=null?p4:{}:{...p4,body:void 0},Z4=[],L4=[],r0,q4={},F4="other",p0=void 0,m1=FB1(),n1,O0=!0,Z0={id:y(),timestamp:new Date,modelId:W8.modelId},q0="";e4.addStream(n4.pipeThrough(new TransformStream({async transform(l1,H4){var q6,U6,z6,U1,Q6;if(KJ(),l1.type==="stream-start"){r0=l1.warnings;return}if(O0){let b4=S()-I4;O0=!1,$4.addEvent("ai.stream.firstChunk",{"ai.response.msToFirstChunk":b4}),$4.setAttributes({"ai.response.msToFirstChunk":b4}),H4.enqueue({type:"start-step",request:Y6,warnings:r0!=null?r0:[]})}let i6=l1.type;switch(i6){case"tool-approval-request":case"text-start":case"text-end":{H4.enqueue(l1);break}case"text-delta":{if(l1.delta.length>0)H4.enqueue({type:"text-delta",id:l1.id,text:l1.delta,providerMetadata:l1.providerMetadata}),q0+=l1.delta;break}case"reasoning-start":case"reasoning-end":{H4.enqueue(l1);break}case"reasoning-delta":{H4.enqueue({type:"reasoning-delta",id:l1.id,text:l1.delta,providerMetadata:l1.providerMetadata});break}case"tool-call":{H4.enqueue(l1),Z4.push(l1);break}case"tool-result":{if(H4.enqueue(l1),!l1.preliminary)L4.push(l1);break}case"tool-error":{H4.enqueue(l1),L4.push(l1);break}case"response-metadata":{Z0={id:(q6=l1.id)!=null?q6:Z0.id,timestamp:(U6=l1.timestamp)!=null?U6:Z0.timestamp,modelId:(z6=l1.modelId)!=null?z6:Z0.modelId};break}case"finish":{m1=l1.usage,F4=l1.finishReason,p0=l1.rawFinishReason,n1=l1.providerMetadata;let b4=S()-I4;$4.addEvent("ai.stream.finish"),$4.setAttributes({"ai.response.msToFinish":b4,"ai.response.avgOutputTokensPerSecond":1000*((U1=m1.outputTokens)!=null?U1:0)/b4});break}case"file":{H4.enqueue(l1);break}case"source":{H4.enqueue(l1);break}case"tool-input-start":{q4[l1.id]=l1.toolName;let b4=U==null?void 0:U[l1.toolName];if((b4==null?void 0:b4.onInputStart)!=null)await b4.onInputStart({toolCallId:l1.id,messages:r,abortSignal:K,experimental_context:T1});H4.enqueue({...l1,dynamic:(Q6=l1.dynamic)!=null?Q6:(b4==null?void 0:b4.type)==="dynamic",title:b4==null?void 0:b4.title});break}case"tool-input-end":{delete q4[l1.id],H4.enqueue(l1);break}case"tool-input-delta":{let b4=q4[l1.id],M6=U==null?void 0:U[b4];if((M6==null?void 0:M6.onInputDelta)!=null)await M6.onInputDelta({inputTextDelta:l1.delta,toolCallId:l1.id,messages:r,abortSignal:K,experimental_context:T1});H4.enqueue(l1);break}case"error":{H4.enqueue(l1),F4="error";break}case"raw":{if(s9)H4.enqueue(l1);break}default:throw Error(`Unknown chunk type: ${i6}`)}},async flush(l1){let H4=Z4.length>0?JSON.stringify(Z4):void 0;try{$4.setAttributes(await gH({telemetry:Q,attributes:{"ai.response.finishReason":F4,"ai.response.text":{output:()=>q0},"ai.response.reasoning":{output:()=>{let U1=C1.filter((Q6)=>Q6.type==="reasoning");return U1.length>0?U1.map((Q6)=>Q6.text).join(`
1138
1138
  `):void 0}},"ai.response.toolCalls":{output:()=>H4},"ai.response.id":Z0.id,"ai.response.model":Z0.modelId,"ai.response.timestamp":Z0.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(n1),"ai.usage.inputTokens":m1.inputTokens,"ai.usage.outputTokens":m1.outputTokens,"ai.usage.totalTokens":m1.totalTokens,"ai.usage.reasoningTokens":m1.reasoningTokens,"ai.usage.cachedInputTokens":m1.cachedInputTokens,"gen_ai.response.finish_reasons":[F4],"gen_ai.response.id":Z0.id,"gen_ai.response.model":Z0.modelId,"gen_ai.usage.input_tokens":m1.inputTokens,"gen_ai.usage.output_tokens":m1.outputTokens}}))}catch(U1){}finally{$4.end()}l1.enqueue({type:"finish-step",finishReason:F4,rawFinishReason:p0,usage:m1,providerMetadata:n1,response:{...Z0,headers:y4==null?void 0:y4.headers}});let q6=Zb0(s,m1);await H0.promise;let U6=Z4.filter((U1)=>U1.providerExecuted!==!0),z6=L4.filter((U1)=>U1.providerExecuted!==!0);for(let U1 of Z4){if(U1.providerExecuted!==!0)continue;let Q6=U==null?void 0:U[U1.toolName];if((Q6==null?void 0:Q6.type)==="provider"&&Q6.supportsDeferredResults){if(!L4.some((b4)=>(b4.type==="tool-result"||b4.type==="tool-error")&&b4.toolCallId===U1.toolCallId))c1.set(U1.toolCallId,{toolName:U1.toolName})}}for(let U1 of L4)if(U1.type==="tool-result"||U1.type==="tool-error")c1.delete(U1.toolCallId);if(c(),u(),(U6.length>0&&z6.length===U6.length||c1.size>0)&&!await zb0({stopConditions:E,steps:L1})){j.push(...await OB1({content:L1[L1.length-1].content,tools:U}));try{await H1({currentStep:O+1,responseMessages:j,usage:q6})}catch(U1){l1.enqueue({type:"error",error:U1}),e4.closeStream()}}else l1.enqueue({type:"finish",finishReason:F4,rawFinishReason:p0,totalUsage:q6}),e4.closeStream()}})))}finally{c(),u()}}await H1({currentStep:0,responseMessages:M,usage:FB1()})}}).catch((a0)=>{e4.addStream(new ReadableStream({start(j0){j0.enqueue({type:"error",error:a0}),j0.close()}})),e4.closeStream()})}get steps(){return this.consumeStream(),this._steps.promise}get finalStep(){return this.steps.then((Y)=>Y[Y.length-1])}get content(){return this.finalStep.then((Y)=>Y.content)}get warnings(){return this.finalStep.then((Y)=>Y.warnings)}get providerMetadata(){return this.finalStep.then((Y)=>Y.providerMetadata)}get text(){return this.finalStep.then((Y)=>Y.text)}get reasoningText(){return this.finalStep.then((Y)=>Y.reasoningText)}get reasoning(){return this.finalStep.then((Y)=>Y.reasoning)}get sources(){return this.finalStep.then((Y)=>Y.sources)}get files(){return this.finalStep.then((Y)=>Y.files)}get toolCalls(){return this.finalStep.then((Y)=>Y.toolCalls)}get staticToolCalls(){return this.finalStep.then((Y)=>Y.staticToolCalls)}get dynamicToolCalls(){return this.finalStep.then((Y)=>Y.dynamicToolCalls)}get toolResults(){return this.finalStep.then((Y)=>Y.toolResults)}get staticToolResults(){return this.finalStep.then((Y)=>Y.staticToolResults)}get dynamicToolResults(){return this.finalStep.then((Y)=>Y.dynamicToolResults)}get usage(){return this.finalStep.then((Y)=>Y.usage)}get request(){return this.finalStep.then((Y)=>Y.request)}get response(){return this.finalStep.then((Y)=>Y.response)}get totalUsage(){return this.consumeStream(),this._totalUsage.promise}get finishReason(){return this.consumeStream(),this._finishReason.promise}get rawFinishReason(){return this.consumeStream(),this._rawFinishReason.promise}teeStream(){let[Y,Q]=this.baseStream.tee();return this.baseStream=Q,Y}get textStream(){return kw(this.teeStream().pipeThrough(new TransformStream({transform({part:Y},Q){if(Y.type==="text-delta")Q.enqueue(Y.text)}})))}get fullStream(){return kw(this.teeStream().pipeThrough(new TransformStream({transform({part:Y},Q){Q.enqueue(Y)}})))}async consumeStream(Y){var Q;try{await _i({stream:this.fullStream,onError:Y==null?void 0:Y.onError})}catch(X){(Q=Y==null?void 0:Y.onError)==null||Q.call(Y,X)}}get experimental_partialOutputStream(){return this.partialOutputStream}get partialOutputStream(){return kw(this.teeStream().pipeThrough(new TransformStream({transform({partialOutput:Y},Q){if(Y!=null)Q.enqueue(Y)}})))}get elementStream(){var Y,Q,X;let J=(Y=this.outputSpecification)==null?void 0:Y.createElementStreamTransform();if(J==null)throw new tv0({functionality:`element streams in ${(X=(Q=this.outputSpecification)==null?void 0:Q.name)!=null?X:"text"} mode`});return kw(this.teeStream().pipeThrough(J))}get output(){return this.finalStep.then((Y)=>{var Q;return((Q=this.outputSpecification)!=null?Q:Si()).parseCompleteOutput({text:Y.text},{response:Y.response,usage:Y.usage,finishReason:Y.finishReason})})}toUIMessageStream({originalMessages:Y,generateMessageId:Q,onFinish:X,messageMetadata:J,sendReasoning:G=!0,sendSources:K=!1,sendStart:W=!0,sendFinish:Z=!0,onError:H=lZ}={}){let $=Q!=null?iS6({originalMessages:Y,responseMessageId:Q}):void 0,F=(q)=>{var U;let z=(U=this.tools)==null?void 0:U[q.toolName];if(z==null)return q.dynamic;return(z==null?void 0:z.type)==="dynamic"?!0:void 0},V=this.fullStream.pipeThrough(new TransformStream({transform:async(q,U)=>{let z=J==null?void 0:J({part:q}),D=q.type;switch(D){case"text-start":{U.enqueue({type:"text-start",id:q.id,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});break}case"text-delta":{U.enqueue({type:"text-delta",id:q.id,delta:q.text,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});break}case"text-end":{U.enqueue({type:"text-end",id:q.id,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});break}case"reasoning-start":{U.enqueue({type:"reasoning-start",id:q.id,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});break}case"reasoning-delta":{if(G)U.enqueue({type:"reasoning-delta",id:q.id,delta:q.text,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});break}case"reasoning-end":{U.enqueue({type:"reasoning-end",id:q.id,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});break}case"file":{U.enqueue({type:"file",mediaType:q.file.mediaType,url:`data:${q.file.mediaType};base64,${q.file.base64}`});break}case"source":{if(K&&q.sourceType==="url")U.enqueue({type:"source-url",sourceId:q.id,url:q.url,title:q.title,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});if(K&&q.sourceType==="document")U.enqueue({type:"source-document",sourceId:q.id,mediaType:q.mediaType,title:q.title,filename:q.filename,...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{}});break}case"tool-input-start":{let L=F(q);U.enqueue({type:"tool-input-start",toolCallId:q.id,toolName:q.toolName,...q.providerExecuted!=null?{providerExecuted:q.providerExecuted}:{},...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{},...L!=null?{dynamic:L}:{},...q.title!=null?{title:q.title}:{}});break}case"tool-input-delta":{U.enqueue({type:"tool-input-delta",toolCallId:q.id,inputTextDelta:q.delta});break}case"tool-call":{let L=F(q);if(q.invalid)U.enqueue({type:"tool-input-error",toolCallId:q.toolCallId,toolName:q.toolName,input:q.input,...q.providerExecuted!=null?{providerExecuted:q.providerExecuted}:{},...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{},...L!=null?{dynamic:L}:{},errorText:H(q.error),...q.title!=null?{title:q.title}:{}});else U.enqueue({type:"tool-input-available",toolCallId:q.toolCallId,toolName:q.toolName,input:q.input,...q.providerExecuted!=null?{providerExecuted:q.providerExecuted}:{},...q.providerMetadata!=null?{providerMetadata:q.providerMetadata}:{},...L!=null?{dynamic:L}:{},...q.title!=null?{title:q.title}:{}});break}case"tool-approval-request":{U.enqueue({type:"tool-approval-request",approvalId:q.approvalId,toolCallId:q.toolCall.toolCallId});break}case"tool-result":{let L=F(q);U.enqueue({type:"tool-output-available",toolCallId:q.toolCallId,output:q.output,...q.providerExecuted!=null?{providerExecuted:q.providerExecuted}:{},...q.preliminary!=null?{preliminary:q.preliminary}:{},...L!=null?{dynamic:L}:{}});break}case"tool-error":{let L=F(q);U.enqueue({type:"tool-output-error",toolCallId:q.toolCallId,errorText:H(q.error),...q.providerExecuted!=null?{providerExecuted:q.providerExecuted}:{},...L!=null?{dynamic:L}:{}});break}case"tool-output-denied":{U.enqueue({type:"tool-output-denied",toolCallId:q.toolCallId});break}case"error":{U.enqueue({type:"error",errorText:H(q.error)});break}case"start-step":{U.enqueue({type:"start-step"});break}case"finish-step":{U.enqueue({type:"finish-step"});break}case"start":{if(W)U.enqueue({type:"start",...z!=null?{messageMetadata:z}:{},...$!=null?{messageId:$}:{}});break}case"finish":{if(Z)U.enqueue({type:"finish",finishReason:q.finishReason,...z!=null?{messageMetadata:z}:{}});break}case"abort":{U.enqueue(q);break}case"tool-input-end":break;case"raw":break;default:throw Error(`Unknown chunk type: ${D}`)}if(z!=null&&D!=="start"&&D!=="finish")U.enqueue({type:"message-metadata",messageMetadata:z})}}));return kw(Pb0({stream:V,messageId:$!=null?$:Q==null?void 0:Q(),originalMessages:Y,onFinish:X,onError:H}))}pipeUIMessageStreamToResponse(Y,{originalMessages:Q,generateMessageId:X,onFinish:J,messageMetadata:G,sendReasoning:K,sendSources:W,sendFinish:Z,sendStart:H,onError:$,...F}={}){rS6({response:Y,stream:this.toUIMessageStream({originalMessages:Q,generateMessageId:X,onFinish:J,messageMetadata:G,sendReasoning:K,sendSources:W,sendFinish:Z,sendStart:H,onError:$}),...F})}pipeTextStreamToResponse(Y,Q){nS6({response:Y,textStream:this.textStream,...Q})}toUIMessageStreamResponse({originalMessages:Y,generateMessageId:Q,onFinish:X,messageMetadata:J,sendReasoning:G,sendSources:K,sendFinish:W,sendStart:Z,onError:H,...$}={}){return TB1({stream:this.toUIMessageStream({originalMessages:Y,generateMessageId:Q,onFinish:X,messageMetadata:J,sendReasoning:G,sendSources:K,sendFinish:W,sendStart:Z,onError:H}),...$})}toTextStreamResponse(Y){return cS6({textStream:this.textStream,...Y})}},Qk6,Z49,H49,$49,Jk6="AI_NoSuchProviderError",Gk6,Wk6,Zk6,F49;var iZ=k(()=>{Y8();Y8();S8();S8();S8();S8();S8();S8();S8();S8();S8();S8();S8();S8();S8();S8();$B1();Y8();Y8();Y8();Y8();S8();Y8();r6();S8();Y8();S8();Y8();r6();r6();r6();r6();r6();$B1();S8();S8();Y8();Y8();Y8();S8();Y8();Y8();Y8();S8();Y8();Y8();r6();Y8();Y8();Y8();Y8();S8();Y8();r6();Y8();Y8();Qb0=j6(N0(),1),vw=j6(N0(),1),qj6=Object.defineProperty,Qf0=`vercel.ai.error.${Yf0}`,Uj6=Symbol.for(Qf0),nZ=class extends W4{constructor({parameter:Y,value:Q,message:X}){super({name:Yf0,message:`Invalid argument for parameter ${Y}: ${X}`});this[Xf0]=!0,this.parameter=Y,this.value=Q}static isInstance(Y){return W4.hasMarker(Y,Qf0)}};Xf0=Uj6;Dj6=`vercel.ai.error.${zj6}`,Oj6=Symbol.for(Dj6);Nj6=Oj6;Gf0=`vercel.ai.error.${Jf0}`,Lj6=Symbol.for(Gf0),Mj6=class extends W4{constructor({approvalId:Y}){super({name:Jf0,message:`Tool approval response references unknown approvalId: "${Y}". No matching tool-approval-request found in message history.`});this[Wf0]=!0,this.approvalId=Y}static isInstance(Y){return W4.hasMarker(Y,Gf0)}};Wf0=Lj6;Kf0=`vercel.ai.error.${Zf0}`,Aj6=Symbol.for(Kf0),MB1=class extends W4{constructor({toolInput:Y,toolName:Q,cause:X,message:J=`Invalid input for tool ${Q}: ${lZ(X)}`}){super({name:Zf0,message:J,cause:X});this[Hf0]=!0,this.toolInput=Y,this.toolName=Q}static isInstance(Y){return W4.hasMarker(Y,Kf0)}};Hf0=Aj6;Ff0=`vercel.ai.error.${$f0}`,wj6=Symbol.for(Ff0),AB1=class extends W4{constructor({toolCallId:Y,approvalId:Q}){super({name:$f0,message:`Tool call "${Y}" not found for approval request "${Q}".`});this[Vf0]=!0,this.toolCallId=Y,this.approvalId=Q}static isInstance(Y){return W4.hasMarker(Y,Ff0)}};Vf0=wj6;Bf0=`vercel.ai.error.${qf0}`,Pj6=Symbol.for(Bf0),ly0=class extends W4{constructor({toolCallIds:Y}){super({name:qf0,message:`Tool result${Y.length>1?"s are":" is"} missing for tool call${Y.length>1?"s":""} ${Y.join(", ")}.`});this[Uf0]=!0,this.toolCallIds=Y}static isInstance(Y){return W4.hasMarker(Y,Bf0)}};Uf0=Pj6;Tj6=`vercel.ai.error.${Ej6}`,Cj6=Symbol.for(Tj6);Rj6=Cj6;Df0=`vercel.ai.error.${zf0}`,Ij6=Symbol.for(Df0),pq=class extends W4{constructor({message:Y="No object generated.",cause:Q,text:X,response:J,usage:G,finishReason:K}){super({name:zf0,message:Y,cause:Q});this[Of0]=!0,this.text=X,this.response=J,this.usage=G,this.finishReason=K}static isInstance(Y){return W4.hasMarker(Y,Df0)}};Of0=Ij6;Lf0=`vercel.ai.error.${Nf0}`,jj6=Symbol.for(Lf0),Af0=class extends W4{constructor({message:Y="No output generated.",cause:Q}={}){super({name:Nf0,message:Y,cause:Q});this[Mf0]=!0}static isInstance(Y){return W4.hasMarker(Y,Lf0)}};Mf0=jj6;kj6=`vercel.ai.error.${Sj6}`,vj6=Symbol.for(kj6);_j6=vj6;fj6=`vercel.ai.error.${yj6}`,bj6=Symbol.for(fj6);hj6=bj6;gj6=`vercel.ai.error.${xj6}`,uj6=Symbol.for(gj6);mj6=uj6;Pf0=`vercel.ai.error.${wf0}`,lj6=Symbol.for(Pf0),zB1=class extends W4{constructor({toolName:Y,availableTools:Q=void 0,message:X=`Model tried to call unavailable tool '${Y}'. ${Q===void 0?"No tools are available.":`Available tools: ${Q.join(", ")}.`}`}){super({name:wf0,message:X});this[Ef0]=!0,this.toolName=Y,this.availableTools=Q}static isInstance(Y){return W4.hasMarker(Y,Pf0)}};Ef0=lj6;Cf0=`vercel.ai.error.${Tf0}`,dj6=Symbol.for(Cf0),pj6=class extends W4{constructor({cause:Y,originalError:Q,message:X=`Error repairing tool call: ${lZ(Y)}`}){super({name:Tf0,message:X,cause:Y});this[Rf0]=!0,this.originalError=Q}static isInstance(Y){return W4.hasMarker(Y,Cf0)}};Rf0=dj6;cj6=class extends W4{constructor(Y){super({name:"AI_UnsupportedModelVersionError",message:`Unsupported model version ${Y.version} for provider "${Y.provider}" and model "${Y.modelId}". AI SDK 5 only supports models that implement specification version "v2".`});this.version=Y.version,this.provider=Y.provider,this.modelId=Y.modelId}},jf0=`vercel.ai.error.${If0}`,nj6=Symbol.for(jf0),Sw=class extends W4{constructor({chunkType:Y,chunkId:Q,message:X}){super({name:If0,message:X});this[Sf0]=!0,this.chunkType=Y,this.chunkId=Q}static isInstance(Y){return W4.hasMarker(Y,jf0)}};Sf0=nj6;aj6=`vercel.ai.error.${ij6}`,rj6=Symbol.for(aj6);oj6=rj6;vf0=`vercel.ai.error.${kf0}`,sj6=Symbol.for(vf0),tj6=class extends W4{constructor({role:Y,message:Q=`Invalid message role: '${Y}'. Must be one of: "system", "user", "assistant", "tool".`}){super({name:kf0,message:Q});this[_f0]=!0,this.role=Y}static isInstance(Y){return W4.hasMarker(Y,vf0)}};_f0=sj6;ff0=`vercel.ai.error.${yf0}`,ej6=Symbol.for(ff0),YS6=class extends W4{constructor({originalMessage:Y,message:Q}){super({name:yf0,message:Q});this[bf0]=!0,this.originalMessage=Y}static isInstance(Y){return W4.hasMarker(Y,ff0)}};bf0=ej6;xf0=`vercel.ai.error.${hf0}`,QS6=Symbol.for(xf0),dy0=class extends W4{constructor({message:Y,reason:Q,errors:X}){super({name:hf0,message:Y});this[gf0]=!0,this.reason=Q,this.errors=X,this.lastError=X[X.length-1]}static isInstance(Y){return W4.hasMarker(Y,xf0)}};gf0=QS6;$S6=[{mediaType:"image/gif",bytesPrefix:[71,73,70]},{mediaType:"image/png",bytesPrefix:[137,80,78,71]},{mediaType:"image/jpeg",bytesPrefix:[255,216]},{mediaType:"image/webp",bytesPrefix:[82,73,70,70,null,null,null,null,87,69,66,80]},{mediaType:"image/bmp",bytesPrefix:[66,77]},{mediaType:"image/tiff",bytesPrefix:[73,73,42,0]},{mediaType:"image/tiff",bytesPrefix:[77,77,0,42]},{mediaType:"image/avif",bytesPrefix:[0,0,0,32,102,116,121,112,97,118,105,102]},{mediaType:"image/heic",bytesPrefix:[0,0,0,32,102,116,121,112,104,101,105,99]}];cf0=B.union([B.string(),B.instanceof(Uint8Array),B.instanceof(ArrayBuffer),B.custom((Y)=>{var Q,X;return(X=(Q=globalThis.Buffer)==null?void 0:Q.isBuffer(Y))!=null?X:!1},{message:"Must be a Buffer"})]);Wk=B.lazy(()=>B.union([B.null(),B.string(),B.number(),B.boolean(),B.record(B.string(),Wk.optional()),B.array(Wk)])),d4=B.record(B.string(),B.record(B.string(),Wk.optional())),rf0=B.object({type:B.literal("text"),text:B.string(),providerOptions:d4.optional()}),MS6=B.object({type:B.literal("image"),image:B.union([cf0,B.instanceof(URL)]),mediaType:B.string().optional(),providerOptions:d4.optional()}),of0=B.object({type:B.literal("file"),data:B.union([cf0,B.instanceof(URL)]),filename:B.string().optional(),mediaType:B.string(),providerOptions:d4.optional()}),AS6=B.object({type:B.literal("reasoning"),text:B.string(),providerOptions:d4.optional()}),wS6=B.object({type:B.literal("tool-call"),toolCallId:B.string(),toolName:B.string(),input:B.unknown(),providerOptions:d4.optional(),providerExecuted:B.boolean().optional()}),PS6=B.discriminatedUnion("type",[B.object({type:B.literal("text"),value:B.string(),providerOptions:d4.optional()}),B.object({type:B.literal("json"),value:Wk,providerOptions:d4.optional()}),B.object({type:B.literal("execution-denied"),reason:B.string().optional(),providerOptions:d4.optional()}),B.object({type:B.literal("error-text"),value:B.string(),providerOptions:d4.optional()}),B.object({type:B.literal("error-json"),value:Wk,providerOptions:d4.optional()}),B.object({type:B.literal("content"),value:B.array(B.union([B.object({type:B.literal("text"),text:B.string(),providerOptions:d4.optional()}),B.object({type:B.literal("media"),data:B.string(),mediaType:B.string()}),B.object({type:B.literal("file-data"),data:B.string(),mediaType:B.string(),filename:B.string().optional(),providerOptions:d4.optional()}),B.object({type:B.literal("file-url"),url:B.string(),providerOptions:d4.optional()}),B.object({type:B.literal("file-id"),fileId:B.union([B.string(),B.record(B.string(),B.string())]),providerOptions:d4.optional()}),B.object({type:B.literal("image-data"),data:B.string(),mediaType:B.string(),providerOptions:d4.optional()}),B.object({type:B.literal("image-url"),url:B.string(),providerOptions:d4.optional()}),B.object({type:B.literal("image-file-id"),fileId:B.union([B.string(),B.record(B.string(),B.string())]),providerOptions:d4.optional()}),B.object({type:B.literal("custom"),providerOptions:d4.optional()})]))})]),sf0=B.object({type:B.literal("tool-result"),toolCallId:B.string(),toolName:B.string(),output:PS6,providerOptions:d4.optional()}),ES6=B.object({type:B.literal("tool-approval-request"),approvalId:B.string(),toolCallId:B.string()}),TS6=B.object({type:B.literal("tool-approval-response"),approvalId:B.string(),approved:B.boolean(),reason:B.string().optional()}),CS6=B.object({role:B.literal("system"),content:B.string(),providerOptions:d4.optional()}),RS6=B.object({role:B.literal("user"),content:B.union([B.string(),B.array(B.union([rf0,MS6,of0]))]),providerOptions:d4.optional()}),IS6=B.object({role:B.literal("assistant"),content:B.union([B.string(),B.array(B.union([rf0,of0,AS6,wS6,sf0,ES6]))]),providerOptions:d4.optional()}),jS6=B.object({role:B.literal("tool"),content:B.array(B.union([sf0,TS6])),providerOptions:d4.optional()}),SS6=B.union([CS6,RS6,IS6,jS6]);kS6={startSpan(){return Ri},startActiveSpan(Y,Q,X,J){if(typeof Q==="function")return Q(Ri);if(typeof X==="function")return X(Ri);if(typeof J==="function")return J(Ri)}},Ri={spanContext(){return vS6},setAttribute(){return this},setAttributes(){return this},addEvent(){return this},addLink(){return this},addLinks(){return this},setStatus(){return this},updateName(){return this},end(){return this},isRecording(){return!1},recordException(){return this}},vS6={traceId:"",spanId:"",traceFlags:0};fS6=class extends Fb0{constructor(Y){super(Y);this.type="file"}};bS6={};Bj6(bS6,{array:()=>gS6,choice:()=>uS6,json:()=>mS6,object:()=>xS6,text:()=>Si});lS6=bH({prefix:"aitxt",size:24});Nb0=class extends TransformStream{constructor(){super({transform(Y,Q){Q.enqueue(`data: ${JSON.stringify(Y)}
1139
1139
 
1140
1140
  `)},flush(Y){Y.enqueue(`data: [DONE]