@decocms/mesh 2.129.0 → 2.130.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/dist/client/assets/{AlertCircle-DFllIHYc.js → AlertCircle-Y6iSJK0t.js} +1 -1
  2. package/dist/client/assets/{AlertOctagon-DkJGqjxz.js → AlertOctagon-r7aH80QB.js} +1 -1
  3. package/dist/client/assets/{ArrowDown-BCqJRKTw.js → ArrowDown-DPy5cnDQ.js} +1 -1
  4. package/dist/client/assets/{ArrowLeft-DUx23LCt.js → ArrowLeft-p4dfchJF.js} +1 -1
  5. package/dist/client/assets/{ArrowUp-CKW1WeCp.js → ArrowUp-Dx6U6WtF.js} +1 -1
  6. package/dist/client/assets/{Check-CFpzkHgf.js → Check-BIaai9j0.js} +1 -1
  7. package/dist/client/assets/{CheckCircle-DAEjX2-S.js → CheckCircle-DvhMgeYT.js} +1 -1
  8. package/dist/client/assets/{CheckDone01-BeTexMq0.js → CheckDone01-kUo2KMa3.js} +1 -1
  9. package/dist/client/assets/{CheckVerified02-Cl4WUPt6.js → CheckVerified02-DfOayhlO.js} +1 -1
  10. package/dist/client/assets/{ChevronDown-CZDY410N.js → ChevronDown-Dyskz-ZD.js} +1 -1
  11. package/dist/client/assets/{ChevronRight-DmlQyyes.js → ChevronRight-D6p6jiry.js} +1 -1
  12. package/dist/client/assets/{Clock-BYhPEf3s.js → Clock-Dymou738.js} +1 -1
  13. package/dist/client/assets/{Code01-tDuxE9sy.js → Code01-BYnTXqsh.js} +1 -1
  14. package/dist/client/assets/{Container-CwxPOY0d.js → Container-DBGOFJUc.js} +1 -1
  15. package/dist/client/assets/{Copy01-CbgFtFXW.js → Copy01-CPaHCgqg.js} +1 -1
  16. package/dist/client/assets/{Dataflow03-IGdQIxop.js → Dataflow03-D8kdCLb1.js} +1 -1
  17. package/dist/client/assets/{DotsHorizontal-Dy3izT0z.js → DotsHorizontal-Ra63dU8X.js} +1 -1
  18. package/dist/client/assets/{DotsVertical-D74uB5qh.js → DotsVertical-DcLEsGDj.js} +1 -1
  19. package/dist/client/assets/{Download01-CaDNSpb8.js → Download01-BP0Ze81Q.js} +1 -1
  20. package/dist/client/assets/{Edit01-D8XxDVwQ.js → Edit01-BEBZ-Ht5.js} +1 -1
  21. package/dist/client/assets/{Eye-BIF9gjXL.js → Eye-VtlrDhJf.js} +1 -1
  22. package/dist/client/assets/{File02-DUrYDugN.js → File02-Dcc2k6VI.js} +1 -1
  23. package/dist/client/assets/{File06-CGEI1byM.js → File06-DCHaBaad.js} +1 -1
  24. package/dist/client/assets/{FilterLines-ezUjepvA.js → FilterLines-D64nKG0E.js} +1 -1
  25. package/dist/client/assets/{Globe01-DQFjI7NL.js → Globe01-Rd2g694_.js} +1 -1
  26. package/dist/client/assets/{Globe02-BxR836tG.js → Globe02-nOidPs01.js} +1 -1
  27. package/dist/client/assets/{Grid01-NpQl-yoZ.js → Grid01-C8gF-dWK.js} +1 -1
  28. package/dist/client/assets/{Hash02-D1T_na-O.js → Hash02-fd4i0k8G.js} +1 -1
  29. package/dist/client/assets/{Home02-DJFtS4tr.js → Home02-ABQZ6xOx.js} +1 -1
  30. package/dist/client/assets/{Image01-Cqm47hN-.js → Image01-BrzUQQ9K.js} +1 -1
  31. package/dist/client/assets/{Inbox01-DiDAxgDg.js → Inbox01-DK0JkUYE.js} +1 -1
  32. package/dist/client/assets/{InfoCircle-CNFZi0eo.js → InfoCircle-DO1owwAA.js} +1 -1
  33. package/dist/client/assets/{Key01-BMRBT_9o.js → Key01-bHmq-6W2.js} +1 -1
  34. package/dist/client/assets/{LinkExternal01-y5rFoKhK.js → LinkExternal01-DyOgk9O3.js} +1 -1
  35. package/dist/client/assets/{List-CIQbhdro.js → List-mX8yEKmx.js} +1 -1
  36. package/dist/client/assets/{Loading01-Ccov_H-l.js → Loading01-Jv8Mbea8.js} +1 -1
  37. package/dist/client/assets/{Lock01-BjIJeI7d.js → Lock01-DPx3YF5B.js} +1 -1
  38. package/dist/client/assets/{Play-CipTDlMn.js → Play-DciA3rqD.js} +1 -1
  39. package/dist/client/assets/{Plus-DJThru9X.js → Plus-Cecv4wEo.js} +1 -1
  40. package/dist/client/assets/{RefreshCcw01-Df3WKdLs.js → RefreshCcw01-Busgf2jQ.js} +1 -1
  41. package/dist/client/assets/{Rows03-Agi3cY0I.js → Rows03-CBXDKtLW.js} +1 -1
  42. package/dist/client/assets/{Save01-CkhL7WEQ.js → Save01-P2clZJAi.js} +1 -1
  43. package/dist/client/assets/{SearchMd-ePwgMcp4.js → SearchMd-CS2uMIPl.js} +1 -1
  44. package/dist/client/assets/{Settings01-MsrMRIJf.js → Settings01-BAgxhvm4.js} +1 -1
  45. package/dist/client/assets/{Shield01-Cz2zDuKP.js → Shield01-Dw8oloiN.js} +1 -1
  46. package/dist/client/assets/{Terminal-CzMkefpC.js → Terminal-d72o721Q.js} +1 -1
  47. package/dist/client/assets/{Tool01-nfCGcgBE.js → Tool01-DkfecWlX.js} +1 -1
  48. package/dist/client/assets/{Trash01-B_x31FCQ.js → Trash01-CKATI1mI.js} +1 -1
  49. package/dist/client/assets/{Upload01-BVrA_p4D.js → Upload01-jmiBld-4.js} +1 -1
  50. package/dist/client/assets/{Users03-Ca4cP5ST.js → Users03-CLx_Qxdb.js} +1 -1
  51. package/dist/client/assets/{X-ep0AhpnZ.js → X-RC7YVNJU.js} +1 -1
  52. package/dist/client/assets/{XCircle-CcrJwxck.js → XCircle-BgJPZWR5.js} +1 -1
  53. package/dist/client/assets/{XClose-mrXHjywb.js → XClose-D-4ELBrc.js} +1 -1
  54. package/dist/client/assets/{agent-connections-preview-GRtBimaN.js → agent-connections-preview-Dac4pEFh.js} +1 -1
  55. package/dist/client/assets/{agent-detail-fZVm9X6-.js → agent-detail-D5a7TiOz.js} +2 -2
  56. package/dist/client/assets/{agents-C9M716Em.js → agents-vcyOPs3U.js} +1 -1
  57. package/dist/client/assets/{alert-dialog-zUkzI1I7.js → alert-dialog-CdqWA8wc.js} +2 -2
  58. package/dist/client/assets/{auth-catchall-fybxbD8B.js → auth-catchall-B-_Zqliv.js} +1 -1
  59. package/dist/client/assets/{avatar-KzEgSlwf.js → avatar-tLGNC2ok.js} +1 -1
  60. package/dist/client/assets/{badge-CrsiM596.js → badge-0EzsH3AB.js} +1 -1
  61. package/dist/client/assets/{binder-5QwQ3F8k.js → binder-w9dF9fSa.js} +1 -1
  62. package/dist/client/assets/{breadcrumb-r6RP68pk.js → breadcrumb-BcJj21EL.js} +1 -1
  63. package/dist/client/assets/{card-BaUmkbam.js → card-c-CJHmFC.js} +1 -1
  64. package/dist/client/assets/{chart-B4Ia32VW.js → chart-PoFYShLf.js} +1 -1
  65. package/dist/client/assets/{checkbox-vQNHi_v9.js → checkbox-kw1ENx9l.js} +1 -1
  66. package/dist/client/assets/{circle-alert-D6oWLxFc.js → circle-alert-orNW2INv.js} +1 -1
  67. package/dist/client/assets/{collection-detail-CFInmxp-.js → collection-detail-DcWT7KrG.js} +1 -1
  68. package/dist/client/assets/{collection-search-BGdQ1HZ8.js → collection-search-DeB-znan.js} +1 -1
  69. package/dist/client/assets/{collection-tab-BHc2Ls-Q.js → collection-tab-DnFTZr-h.js} +1 -1
  70. package/dist/client/assets/{collection-table-wrapper-M66G0byU.js → collection-table-wrapper-BkrnGVuo.js} +1 -1
  71. package/dist/client/assets/{collection-tabs-DItGBx7f.js → collection-tabs-CI_dPETO.js} +1 -1
  72. package/dist/client/assets/{command-KORb7ru1.js → command-CtwsQYlg.js} +1 -1
  73. package/dist/client/assets/{connect-CzYEo8md.js → connect-Cjj5OaBk.js} +1 -1
  74. package/dist/client/assets/{connection-card-DT2iuc8p.js → connection-card-DmcuYZ2d.js} +1 -1
  75. package/dist/client/assets/{connection-detail-BN6XxwJe.js → connection-detail-DOePEdlc.js} +1 -1
  76. package/dist/client/assets/{connections-ziNJ3ykn.js → connections-CQQbEDkG.js} +1 -1
  77. package/dist/client/assets/constants-DK6m0rOQ.js +1 -0
  78. package/dist/client/assets/{constants-C_615zcG.js → constants-DyBxaLKI.js} +1 -1
  79. package/dist/client/assets/{context-BIs40mE3.js → context-GOV4Tst1.js} +2 -2
  80. package/dist/client/assets/{create-organization-dialog-DBkFyVL_.js → create-organization-dialog-BolmWoUA.js} +1 -1
  81. package/dist/client/assets/{create-project-dialog-Bcpvnfjn.js → create-project-dialog-MbK1spLU.js} +1 -1
  82. package/dist/client/assets/{dialog-BzlH8DMm.js → dialog-L8ZakXii.js} +1 -1
  83. package/dist/client/assets/{dropdown-menu-un00sO73.js → dropdown-menu-VTiqKHN9.js} +1 -1
  84. package/dist/client/assets/{dynamic-plugin-layout-lJBDHqhW.js → dynamic-plugin-layout-CMgyIw65.js} +1 -1
  85. package/dist/client/assets/{editable-thread-title-BXoC2F2B.js → editable-thread-title-CPogfRoD.js} +1 -1
  86. package/dist/client/assets/{empty-state-CzmPKPTk.js → empty-state-CevFdaoX.js} +1 -1
  87. package/dist/client/assets/{env-vars-editor-BXh1cAnk.js → env-vars-editor-CZ9xwqbP.js} +1 -1
  88. package/dist/client/assets/{extract-connection-data-BfKkaRZL.js → extract-connection-data-bPHhUn8L.js} +1 -1
  89. package/dist/client/assets/{file-browser-Cu1bln-O.js → file-browser-BBOKW0fZ.js} +2 -2
  90. package/dist/client/assets/{form-BZ0ccRRa.js → form-p8UY3zWX.js} +1 -1
  91. package/dist/client/assets/{grid-view-Cv27YWYR.js → grid-view-CBiwYQ_M.js} +1 -1
  92. package/dist/client/assets/{home-Dm_ASFW3.js → home-gtPjmaoD.js} +1 -1
  93. package/dist/client/assets/{index-CyQ-uP58.js → index-0HoOnen3.js} +3 -3
  94. package/dist/client/assets/{index-SPlTfTNO.js → index-BPWcS_Kf.js} +2 -2
  95. package/dist/client/assets/{index-CXMp_veu.js → index-BRPNbM-s.js} +1 -1
  96. package/dist/client/assets/{index-D6zrhjd3.js → index-BymQJSqf.js} +1 -1
  97. package/dist/client/assets/{index-CouTVB4u.js → index-CWyCvGNo.js} +1 -1
  98. package/dist/client/assets/{index-CkihBNKz.js → index-CmPWq7Ch.js} +1 -1
  99. package/dist/client/assets/index-CqCzS9v2.js +1 -0
  100. package/dist/client/assets/{index-B09G3SMh.js → index-Cz17zD6m.js} +1 -1
  101. package/dist/client/assets/{index-BTQG2DxP.js → index-G8oxxr2G.js} +1 -1
  102. package/dist/client/assets/{infiniteQueryObserver-BvfDXev6.js → infiniteQueryObserver-Be7iTEXe.js} +1 -1
  103. package/dist/client/assets/{input-Xyw1Rs5H.js → input-BtUicd3Q.js} +1 -1
  104. package/dist/client/assets/{integration-icon-BmabWqd3.js → integration-icon-5VjL1GgL.js} +1 -1
  105. package/dist/client/assets/{label-B9X06NrD.js → label-D6atofYo.js} +1 -1
  106. package/dist/client/assets/{layout-2YnSaip-.js → layout-Cgu_nW-7.js} +1 -1
  107. package/dist/client/assets/{localstorage-keys-DNCBj8Gv.js → localstorage-keys-BoChS3hJ.js} +1 -1
  108. package/dist/client/assets/{login-BcqaQ8OJ.js → login-BJHT5HcO.js} +1 -1
  109. package/dist/client/assets/{markdown-DE0d269S.js → markdown-C4hTkq3E.js} +1 -1
  110. package/dist/client/assets/{mcp-oauth-dc0YrLAp.js → mcp-oauth-D5R57Lko.js} +1 -1
  111. package/dist/client/assets/{mcp-server-card-BgAf5sxh.js → mcp-server-card-BiIhdNix.js} +1 -1
  112. package/dist/client/assets/{mcp-server-detail-a4HlkEwh.js → mcp-server-detail-BhlbPBsp.js} +2 -2
  113. package/dist/client/assets/{members-vlAhS-xk.js → members-OikP95XQ.js} +1 -1
  114. package/dist/client/assets/{monitoring-B8ViJcuj.js → monitoring-DapgIfZL.js} +1 -1
  115. package/dist/client/assets/{monitoring-dashboard-edit-9lG0jGgS.js → monitoring-dashboard-edit-Yzekapph.js} +1 -1
  116. package/dist/client/assets/{monitoring-dashboard-view-AyjrHVH9.js → monitoring-dashboard-view-DRykeaHO.js} +2 -2
  117. package/dist/client/assets/{oauth-callback-DEcWaD8W.js → oauth-callback-DZIR2PjB.js} +1 -1
  118. package/dist/client/assets/{page-L5wi1xJD.js → page-PH6ZVWlA.js} +1 -1
  119. package/dist/client/assets/{page-Dst-G5FY.js → page-iyMzbA2I.js} +1 -1
  120. package/dist/client/assets/{plugin-empty-state-FWA0Jb1Z.js → plugin-empty-state-kz2uan6n.js} +1 -1
  121. package/dist/client/assets/{plugin-empty-state-4dVaQq4C.js → plugin-empty-state-y1tYhlY3.js} +1 -1
  122. package/dist/client/assets/{plugin-header-DerB5s8s.js → plugin-header-BJbVVCoY.js} +1 -1
  123. package/dist/client/assets/{plugin-header-gerJlK-i.js → plugin-header-nmFTSFoR.js} +1 -1
  124. package/dist/client/assets/popover-P8B4MdX3.js +1 -0
  125. package/dist/client/assets/{project-layout-Bq2NwHqQ.js → project-layout-BqSVP5TE.js} +1 -1
  126. package/dist/client/assets/{projects-list-Bfrhv7v-.js → projects-list-3Z4u-J4l.js} +1 -1
  127. package/dist/client/assets/{ranking-layout-Bz2FMj3O.js → ranking-layout-DDk0F0da.js} +1 -1
  128. package/dist/client/assets/{readme-viewer-D0xX-U32.js → readme-viewer-BFDmw5ln.js} +1 -1
  129. package/dist/client/assets/{registry-layout-BJov_nag.js → registry-layout-tBKkcjtf.js} +1 -1
  130. package/dist/client/assets/{registry-utils-Dr7PbEVZ.js → registry-utils-BPK3KAEQ.js} +1 -1
  131. package/dist/client/assets/{reports-layout-VEiewUO1.js → reports-layout-C1Rj5mWL.js} +1 -1
  132. package/dist/client/assets/{reset-password-Cv1xeKO6.js → reset-password-CoNNt1yx.js} +1 -1
  133. package/dist/client/assets/{resizable-Cf9qjEcV.js → resizable-CpFkObl0.js} +1 -1
  134. package/dist/client/assets/{save-actions-8q-tMpO7.js → save-actions-CNp28sAN.js} +1 -1
  135. package/dist/client/assets/{scroll-area-DSF7aa78.js → scroll-area-Bhoi0n_B.js} +4 -4
  136. package/dist/client/assets/{select-BWSXn9LF.js → select-DOO2sOs0.js} +1 -1
  137. package/dist/client/assets/{shell-layout-C4umZGSP.js → shell-layout-CSB6jzfL.js} +2 -2
  138. package/dist/client/assets/{skeleton-CGDNbJij.js → skeleton-CR236scd.js} +1 -1
  139. package/dist/client/assets/{spinner-DdFkIebA.js → spinner-DzG2AImj.js} +1 -1
  140. package/dist/client/assets/{store-invite-BpVpumwK.js → store-invite-CeIOMnWs.js} +1 -1
  141. package/dist/client/assets/{switch-DCjQmRaz.js → switch-UjGh-56-.js} +1 -1
  142. package/dist/client/assets/{table-KBcJzih3.js → table-CK5AQN01.js} +1 -1
  143. package/dist/client/assets/{tabs-A5nHR5hM.js → tabs-ZEd61iZd.js} +1 -1
  144. package/dist/client/assets/{tasks-C_zqDZzb.js → tasks-C15WiR9-.js} +1 -1
  145. package/dist/client/assets/{textarea-BflLsOYJ.js → textarea-Ca7XZUqN.js} +1 -1
  146. package/dist/client/assets/{time-range-picker-C7BBQ3V_.js → time-range-picker-GPYqbq-o.js} +1 -1
  147. package/dist/client/assets/{toggle-group-CVheqlM7.js → toggle-group-BgEBi3gu.js} +1 -1
  148. package/dist/client/assets/{tools-list-DEuI3Via.js → tools-list-DJeaOzT_.js} +1 -1
  149. package/dist/client/assets/{tooltip-CNx0bR-5.js → tooltip-BWlQ9UL9.js} +1 -1
  150. package/dist/client/assets/{topbar-portal-BPt1GU-U.js → topbar-portal-CMlW5IwY.js} +1 -1
  151. package/dist/client/assets/{types-BOWXxXIK.js → types-BPCR06YW.js} +1 -1
  152. package/dist/client/assets/{use-binding-rYSemil4.js → use-binding-CcrgjIcJ.js} +1 -1
  153. package/dist/client/assets/{use-connection-B5TQguFn.js → use-connection-B6TFiTxb.js} +1 -1
  154. package/dist/client/assets/{use-copy-DFl3Lkrw.js → use-copy-DfInz4oY.js} +1 -1
  155. package/dist/client/assets/{use-create-virtual-mcp-ClS20pFb.js → use-create-virtual-mcp-pELq4UZ_.js} +1 -1
  156. package/dist/client/assets/{use-deco-chat-open-DUl097r7.js → use-deco-chat-open-BmqwFIXp.js} +1 -1
  157. package/dist/client/assets/{use-install-from-registry-BBtc_IYr.js → use-install-from-registry-BCXPqkOi.js} +1 -1
  158. package/dist/client/assets/{use-list-state-CSmezZQi.js → use-list-state-Bpa4-xTU.js} +1 -1
  159. package/dist/client/assets/{use-llm-_rAHFXdn.js → use-llm-7gZpMpM0.js} +1 -1
  160. package/dist/client/assets/{use-mcp-prompts-CgOsBYjP.js → use-mcp-prompts-BIRErCHu.js} +1 -1
  161. package/dist/client/assets/{use-mcp-tools-Cr3o97c-.js → use-mcp-tools-BjSYCbSh.js} +1 -1
  162. package/dist/client/assets/{use-members-BO46Bzs-.js → use-members-BUeDkAPW.js} +1 -1
  163. package/dist/client/assets/{use-mobile-CcJ4cdUT.js → use-mobile-B9jSIPRg.js} +1 -1
  164. package/dist/client/assets/{use-project-ab2lCPHD.js → use-project-B6kYJzwY.js} +1 -1
  165. package/dist/client/assets/{use-settings-modal-DnkPiNI5.js → use-settings-modal-Bi52YF5w.js} +1 -1
  166. package/dist/client/assets/{use-view-mode-nDNhs-vV.js → use-view-mode-CHcflreW.js} +1 -1
  167. package/dist/client/assets/{use-virtual-mcp-DZfG-iWT.js → use-virtual-mcp-C4mcpRPm.js} +1 -1
  168. package/dist/client/assets/useInfiniteQuery-78QQc26G.js +1 -0
  169. package/dist/client/assets/{useMutation-DMT5NBQ4.js → useMutation-C13VGcqo.js} +1 -1
  170. package/dist/client/assets/useQuery-CI6Jq2Tz.js +1 -0
  171. package/dist/client/assets/useSuspenseInfiniteQuery-BfZMgfKc.js +1 -0
  172. package/dist/client/assets/{workflow-BjckQ0gZ.js → workflow-N0cDVEpp.js} +1 -1
  173. package/dist/client/index.html +1 -1
  174. package/dist/server/cli.js +4 -4
  175. package/dist/server/migrate.js +3 -3
  176. package/dist/server/server.js +4 -4
  177. package/package.json +1 -1
  178. package/dist/client/assets/constants-D6R-nCdz.js +0 -1
  179. package/dist/client/assets/index-CdCtpL83.js +0 -1
  180. package/dist/client/assets/popover-2STAmX7J.js +0 -1
  181. package/dist/client/assets/useInfiniteQuery-fhnMOikS.js +0 -1
  182. package/dist/client/assets/useQuery-DLHdWLmJ.js +0 -1
  183. package/dist/client/assets/useSuspenseInfiniteQuery-TsQmjpXC.js +0 -1
@@ -1192,7 +1192,7 @@ At the end, provide a concise summary of:
1192
1192
  - What failed
1193
1193
  - What could not be tested and why
1194
1194
  - If some tool needs user-specific context (email/account/tenant), explicitly output a "CONTEXT_REQUIRED" note with what is needed.
1195
- `.trim()});import{sql as jS0}from"kysely";var SS0;var kS0=j(()=>{SS0={name:"001-private-registry",async up(Y){await Y.schema.createTable("private_registry_item").addColumn("id","text",(Q)=>Q.primaryKey()).addColumn("organization_id","text",(Q)=>Q.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(Q)=>Q.notNull()).addColumn("description","text").addColumn("server_json","text",(Q)=>Q.notNull()).addColumn("meta_json","text").addColumn("tags","text").addColumn("categories","text").addColumn("is_public","integer",(Q)=>Q.notNull().defaultTo(0)).addColumn("created_at","text",(Q)=>Q.notNull().defaultTo(jS0`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(Q)=>Q.notNull().defaultTo(jS0`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(Q)=>Q.references("user.id").onDelete("set null")).execute(),await Y.schema.createIndex("idx_private_registry_item_org").on("private_registry_item").column("organization_id").execute(),await Y.schema.createIndex("idx_private_registry_item_org_public").on("private_registry_item").columns(["organization_id","is_public"]).execute()},async down(Y){await Y.schema.dropIndex("idx_private_registry_item_org_public").ifExists().execute(),await Y.schema.dropIndex("idx_private_registry_item_org").ifExists().execute(),await Y.schema.dropTable("private_registry_item").ifExists().execute()}}});import{sql as vS0}from"kysely";var _S0;var yS0=j(()=>{_S0={name:"002-publish-requests",async up(Y){await Y.schema.createTable("private_registry_publish_request").addColumn("id","text",(Q)=>Q.primaryKey()).addColumn("organization_id","text",(Q)=>Q.notNull().references("organization.id").onDelete("cascade")).addColumn("status","text",(Q)=>Q.notNull().defaultTo("pending")).addColumn("title","text",(Q)=>Q.notNull()).addColumn("description","text").addColumn("server_json","text",(Q)=>Q.notNull()).addColumn("meta_json","text").addColumn("requester_name","text").addColumn("requester_email","text").addColumn("reviewer_notes","text").addColumn("created_at","text",(Q)=>Q.notNull().defaultTo(vS0`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(Q)=>Q.notNull().defaultTo(vS0`CURRENT_TIMESTAMP`)).execute(),await Y.schema.createIndex("idx_private_registry_publish_request_org_status").on("private_registry_publish_request").columns(["organization_id","status"]).execute()},async down(Y){await Y.schema.dropIndex("idx_private_registry_publish_request_org_status").ifExists().execute(),await Y.schema.dropTable("private_registry_publish_request").ifExists().execute()}}});import{sql as VC6}from"kysely";var fS0;var bS0=j(()=>{fS0={name:"003-publish-api-keys",async up(Y){await Y.schema.createTable("private_registry_publish_api_key").addColumn("id","text",(Q)=>Q.primaryKey()).addColumn("organization_id","text",(Q)=>Q.notNull().references("organization.id").onDelete("cascade")).addColumn("name","text",(Q)=>Q.notNull()).addColumn("key_hash","text",(Q)=>Q.notNull()).addColumn("prefix","text",(Q)=>Q.notNull()).addColumn("created_at","text",(Q)=>Q.notNull().defaultTo(VC6`CURRENT_TIMESTAMP`)).execute(),await Y.schema.createIndex("idx_private_registry_publish_api_key_org").on("private_registry_publish_api_key").columns(["organization_id"]).execute()},async down(Y){await Y.schema.dropIndex("idx_private_registry_publish_api_key_org").ifExists().execute(),await Y.schema.dropTable("private_registry_publish_api_key").ifExists().execute()}}});var hS0;var xS0=j(()=>{hS0={name:"004-publish-request-requested-id",async up(Y){await Y.schema.alterTable("private_registry_publish_request").addColumn("requested_id","text").execute()},async down(Y){await Y.schema.alterTable("private_registry_publish_request").dropColumn("requested_id").execute()}}});import{sql as on}from"kysely";var gS0;var uS0=j(()=>{gS0={name:"005-monitor-runs",async up(Y){await Y.schema.createTable("private_registry_monitor_run").addColumn("id","text",(Q)=>Q.primaryKey()).addColumn("organization_id","text",(Q)=>Q.notNull().references("organization.id").onDelete("cascade")).addColumn("status","text",(Q)=>Q.notNull().defaultTo("pending")).addColumn("config_snapshot","text").addColumn("total_items","integer",(Q)=>Q.notNull().defaultTo(0)).addColumn("tested_items","integer",(Q)=>Q.notNull().defaultTo(0)).addColumn("passed_items","integer",(Q)=>Q.notNull().defaultTo(0)).addColumn("failed_items","integer",(Q)=>Q.notNull().defaultTo(0)).addColumn("skipped_items","integer",(Q)=>Q.notNull().defaultTo(0)).addColumn("current_item_id","text").addColumn("started_at","text").addColumn("finished_at","text").addColumn("created_at","text",(Q)=>Q.notNull().defaultTo(on`CURRENT_TIMESTAMP`)).execute(),await Y.schema.createIndex("idx_private_registry_monitor_run_org_created").on("private_registry_monitor_run").columns(["organization_id","created_at"]).execute(),await Y.schema.createTable("private_registry_monitor_result").addColumn("id","text",(Q)=>Q.primaryKey()).addColumn("run_id","text",(Q)=>Q.notNull().references("private_registry_monitor_run.id").onDelete("cascade")).addColumn("organization_id","text",(Q)=>Q.notNull().references("organization.id").onDelete("cascade")).addColumn("item_id","text",(Q)=>Q.notNull()).addColumn("item_title","text",(Q)=>Q.notNull()).addColumn("status","text",(Q)=>Q.notNull()).addColumn("error_message","text").addColumn("connection_ok","integer",(Q)=>Q.notNull().defaultTo(0)).addColumn("tools_listed","integer",(Q)=>Q.notNull().defaultTo(0)).addColumn("tool_results","text").addColumn("agent_summary","text").addColumn("duration_ms","integer",(Q)=>Q.notNull().defaultTo(0)).addColumn("action_taken","text",(Q)=>Q.notNull().defaultTo("none")).addColumn("tested_at","text",(Q)=>Q.notNull().defaultTo(on`CURRENT_TIMESTAMP`)).execute(),await Y.schema.createIndex("idx_private_registry_monitor_result_run").on("private_registry_monitor_result").columns(["run_id","tested_at"]).execute(),await Y.schema.createIndex("idx_private_registry_monitor_result_run_status").on("private_registry_monitor_result").columns(["run_id","status"]).execute(),await Y.schema.createTable("private_registry_monitor_connection").addColumn("id","text",(Q)=>Q.primaryKey()).addColumn("organization_id","text",(Q)=>Q.notNull().references("organization.id").onDelete("cascade")).addColumn("item_id","text",(Q)=>Q.notNull()).addColumn("connection_id","text",(Q)=>Q.notNull().references("connections.id").onDelete("cascade")).addColumn("auth_status","text",(Q)=>Q.notNull().defaultTo("none")).addColumn("created_at","text",(Q)=>Q.notNull().defaultTo(on`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(Q)=>Q.notNull().defaultTo(on`CURRENT_TIMESTAMP`)).execute(),await Y.schema.createIndex("idx_private_registry_monitor_connection_org_item").on("private_registry_monitor_connection").columns(["organization_id","item_id"]).unique().execute()},async down(Y){await Y.schema.dropIndex("idx_private_registry_monitor_connection_org_item").ifExists().execute(),await Y.schema.dropTable("private_registry_monitor_connection").ifExists().execute(),await Y.schema.dropIndex("idx_private_registry_monitor_result_run_status").ifExists().execute(),await Y.schema.dropIndex("idx_private_registry_monitor_result_run").ifExists().execute(),await Y.schema.dropTable("private_registry_monitor_result").ifExists().execute(),await Y.schema.dropIndex("idx_private_registry_monitor_run_org_created").ifExists().execute(),await Y.schema.dropTable("private_registry_monitor_run").ifExists().execute()}}});var mS0;var lS0=j(()=>{mS0={name:"006-unlisted",async up(Y){await Y.schema.alterTable("private_registry_item").addColumn("is_unlisted","integer",(Q)=>Q.notNull().defaultTo(0)).execute()},async down(Y){await Y.schema.alterTable("private_registry_item").dropColumn("is_unlisted").execute()}}});var dS0;var pS0=j(()=>{kS0();yS0();bS0();xS0();uS0();lS0();dS0=[SS0,_S0,fS0,hS0,gS0,mS0]});function qC6(Y){let Q=Y;if(!Q||typeof Q!=="object"||!("method"in Q))return null;switch(Q.method){case"initialize":{let X=Q?.params?.protocolVersion;if(!X)return null;return{type:"emit",message:{result:{protocolVersion:X,capabilities:{tools:{}},serverInfo:{name:"deco-chat-server",version:"1.0.0"}},jsonrpc:Q.jsonrpc??"2.0",id:Q.id}}}case"notifications/roots/list_changed":case"notifications/initialized":case"notifications/cancelled":case"notifications/progress":return{type:"suppress"};default:return null}}var sn;var cq1=j(()=>{vT();sn=class sn extends qV{constructor(Y,Q){super(Y,Q)}send(Y,Q){let X=qC6(Y);if(X?.type==="emit")return this.onmessage?.(X.message),Promise.resolve();if(X?.type==="suppress")return Promise.resolve();return super.send(Y,Q)}}});function yS(Y,Q){if(Y===Q)return!0;if(Y==null||Q==null)return Y===Q;if(typeof Y!==typeof Q)return!1;if(Array.isArray(Y)&&Array.isArray(Q)){if(Y.length!==Q.length)return!1;return Y.every((X,J)=>yS(X,Q[J]))}if(typeof Y==="object"&&typeof Q==="object"){let X=Object.keys(Y),J=Object.keys(Q);if(X.length!==J.length)return!1;return X.every((G)=>J.includes(G)&&yS(Y[G],Q[G]))}return!1}function fC6(){return(Y)=>{if(!Array.isArray(Y))return!0;let Q=[];return Y.every((X)=>{if(Q.some((G)=>yS(X,G)))return!1;return Q.push(X),!0})}}function tn(Y,Q){return Y.safeParse(Q).success}function aX(Y){if(typeof Y==="boolean")return Y?q.any():q.never();let Q={};for(let G of rC6)G.apply(Q,Y);let X=[];if(Q.string!==!1)X.push(Q.string||q.string());if(Q.number!==!1)X.push(Q.number||q.number());if(Q.boolean!==!1)X.push(Q.boolean||q.boolean());if(Q.null!==!1)X.push(Q.null||q.null());if(Q.array!==!1)X.push(Q.array||q.array(q.any()));if(Q.tuple!==!1&&Q.tuple!==void 0)X.push(Q.tuple);if(Q.object!==!1)if(Q.object)X.push(Q.object);else{let G=q.custom((K)=>{return typeof K==="object"&&K!==null&&!Array.isArray(K)},"Must be an object, not an array");X.push(G)}if(Q.file!==!1&&Q.file!==void 0)X.push(Q.file);let J;if(X.length===0)J=q.never();else if(X.length===1)J=X[0];else if(!Object.keys(Y).some((K)=>K!=="$schema"&&K!=="title"&&K!=="description"))J=q.any();else J=q.union(X);for(let G of oC6)J=G.apply(J,Y);return J}var BC6=class{apply(Y,Q){if(!Q.type)return;let X=Array.isArray(Q.type)?Q.type:[Q.type],J=new Set(X);if(!J.has("string"))Y.string=!1;if(!J.has("number")&&!J.has("integer"))Y.number=!1;if(!J.has("boolean"))Y.boolean=!1;if(!J.has("null"))Y.null=!1;if(!J.has("array"))Y.array=!1;if(!J.has("object"))Y.object=!1;if(J.has("integer")&&Y.number!==!1){let G=Y.number||q.number();if(G instanceof q.ZodNumber)Y.number=G.int()}}},UC6=class{apply(Y,Q){if(Q.const===void 0)return;let X=Q.const;if(Y.string=!1,Y.number=!1,Y.boolean=!1,Y.null=!1,Y.array=!1,Y.object=!1,typeof X==="string")Y.string=q.literal(X);else if(typeof X==="number")Y.number=q.literal(X);else if(typeof X==="boolean")Y.boolean=q.literal(X);else if(X===null)Y.null=q.null();else if(Array.isArray(X))Y.array=void 0;else if(typeof X==="object")Y.object=void 0}},DC6=class{apply(Y,Q){if(!Q.enum)return;if(Q.enum.length===0){if(!Q.type)Y.string=!1,Y.number=!1,Y.boolean=!1,Y.null=!1,Y.array=!1,Y.object=!1;return}let X={string:Q.enum.filter((J)=>typeof J==="string"),number:Q.enum.filter((J)=>typeof J==="number"),boolean:Q.enum.filter((J)=>typeof J==="boolean"),null:Q.enum.filter((J)=>J===null),array:Q.enum.filter((J)=>Array.isArray(J)),object:Q.enum.filter((J)=>typeof J==="object"&&J!==null&&!Array.isArray(J))};Y.string=this.createTypeSchema(X.string,"string"),Y.number=this.createTypeSchema(X.number,"number"),Y.boolean=this.createTypeSchema(X.boolean,"boolean"),Y.null=X.null.length>0?q.null():!1,Y.array=X.array.length>0?void 0:!1,Y.object=X.object.length>0?void 0:!1}createTypeSchema(Y,Q){if(Y.length===0)return!1;if(Y.length===1)return q.literal(Y[0]);if(Q==="string")return q.enum(Y);if(Q==="number"){let[X,J,...G]=Y;return q.union([q.literal(X),q.literal(J),...G.map((K)=>q.literal(K))])}if(Q==="boolean")return q.union([q.literal(!0),q.literal(!1)]);return!1}},zC6=class{apply(Y,Q){let X=Q;if(X.type==="string"&&X.format==="binary"&&X.contentEncoding==="binary"){let J=q.file();if(X.minLength!==void 0)J=J.min(X.minLength);if(X.maxLength!==void 0)J=J.max(X.maxLength);if(X.contentMediaType!==void 0)J=J.mime(X.contentMediaType);Y.file=J,Y.string=!1}}},OC6=class{apply(Y,Q){let X=Q;if(Q.type===void 0&&(X.minLength!==void 0||X.maxLength!==void 0||X.pattern!==void 0)){if(Y.string===void 0)Y.string=q.string()}}},NC6=class{apply(Y,Q){let X=Q;if(X.minLength===void 0)return;if(Y.string!==!1){let J=Y.string||q.string();if(J instanceof q.ZodString)Y.string=J.refine((G)=>{return Array.from(G).length>=X.minLength},{message:`String must be at least ${X.minLength} characters long`})}}},LC6=class{apply(Y,Q){let X=Q;if(X.maxLength===void 0)return;if(Y.string!==!1){let J=Y.string||q.string();if(J instanceof q.ZodString)Y.string=J.refine((G)=>{return Array.from(G).length<=X.maxLength},{message:`String must be at most ${X.maxLength} characters long`})}}},MC6=class{apply(Y,Q){let X=Q;if(!X.pattern)return;if(Y.string!==!1){let J=Y.string||q.string();if(J instanceof q.ZodString){let G=new RegExp(X.pattern);Y.string=J.regex(G)}}}},wC6=class{apply(Y,Q){let X=Q;if(X.minimum===void 0)return;if(Y.number!==!1){let J=Y.number||q.number();if(J instanceof q.ZodNumber)Y.number=J.min(X.minimum)}}},AC6=class{apply(Y,Q){let X=Q;if(X.maximum===void 0)return;if(Y.number!==!1){let J=Y.number||q.number();if(J instanceof q.ZodNumber)Y.number=J.max(X.maximum)}}},PC6=class{apply(Y,Q){let X=Q;if(X.exclusiveMinimum===void 0)return;if(Y.number!==!1){let J=Y.number||q.number();if(J instanceof q.ZodNumber)if(typeof X.exclusiveMinimum==="number")Y.number=J.gt(X.exclusiveMinimum);else Y.number=!1}}},EC6=class{apply(Y,Q){let X=Q;if(X.exclusiveMaximum===void 0)return;if(Y.number!==!1){let J=Y.number||q.number();if(J instanceof q.ZodNumber)if(typeof X.exclusiveMaximum==="number")Y.number=J.lt(X.exclusiveMaximum);else Y.number=!1}}},TC6=class{apply(Y,Q){let X=Q;if(X.multipleOf===void 0)return;if(Y.number!==!1){let J=Y.number||q.number();if(J instanceof q.ZodNumber)Y.number=J.refine((G)=>{if(X.multipleOf===0)return!1;let K=G/X.multipleOf,W=Math.round(K),Z=Math.min(Math.abs(G)*Number.EPSILON*10,Math.abs(X.multipleOf)*Number.EPSILON*10);return Math.abs(K-W)<=Z/Math.abs(X.multipleOf)},{message:`Must be a multiple of ${X.multipleOf}`})}}},CC6=class{apply(Y,Q){let X=Q;if(Q.type===void 0&&(X.minItems!==void 0||X.maxItems!==void 0||X.items!==void 0||X.prefixItems!==void 0)){if(Y.array===void 0)Y.array=q.array(q.any())}}},RC6=class{apply(Y,Q){let X=Q;if(X.minItems===void 0)return;if(Y.array!==!1)Y.array=(Y.array||q.array(q.any())).min(X.minItems)}},IC6=class{apply(Y,Q){let X=Q;if(X.maxItems===void 0)return;if(Y.array!==!1)Y.array=(Y.array||q.array(q.any())).max(X.maxItems)}},jC6=class{apply(Y,Q){let X=Q;if(Y.array===!1)return;if(Array.isArray(X.items))Y.array=Y.array||q.array(q.any());else if(X.items&&typeof X.items!=="boolean"&&!X.prefixItems){let J=aX(X.items),G=q.array(J);if(Y.array&&Y.array instanceof q.ZodArray){let K=Y.array._def;if(K.checks)K.checks.forEach((W)=>{if(W._zod&&W._zod.def){let Z=W._zod.def;if(Z.check==="min_length"&&Z.minimum!==void 0)G=G.min(Z.minimum);else if(Z.check==="max_length"&&Z.maximum!==void 0)G=G.max(Z.maximum)}})}Y.array=G}else if(typeof X.items==="boolean"&&X.items===!1)if(!X.prefixItems)Y.array=q.array(q.any()).max(0);else Y.array=Y.array||q.array(q.any());else if(typeof X.items==="boolean"&&X.items===!0)Y.array=Y.array||q.array(q.any());else if(X.prefixItems)Y.array=Y.array||q.array(q.any())}},SC6=class{apply(Y,Q){if(Q.type!=="array")return;let X=Q;if(!Array.isArray(X.items))return;if(Y.array===!1)return;let J=X.items.map((K)=>aX(K)),G;if(J.length===0)G=q.tuple([]);else G=q.tuple(J);if(X.minItems!==void 0&&X.minItems>J.length)G=!1;if(X.maxItems!==void 0&&X.maxItems<J.length)G=!1;Y.tuple=G,Y.array=!1}},kC6=class{apply(Y,Q){let X=Q;if(Y.object===!1)return;if(X.properties||X.required||X.additionalProperties!==void 0)Y.object=Y.object||q.object({}).passthrough()}},vC6=class{apply(Y,Q){let X=Q;if(Q.type===void 0&&(X.maxProperties!==void 0||X.minProperties!==void 0)){if(Y.object===void 0)Y.object=q.object({}).passthrough()}}},_C6=class{apply(Y,Q){let X=Q;if(X.maxProperties===void 0)return;if(Y.object!==!1){let J=Y.object||q.object({}).passthrough();Y.object=J.refine((G)=>Object.keys(G).length<=X.maxProperties,{message:`Object must have at most ${X.maxProperties} properties`})}}},yC6=class{apply(Y,Q){let X=Q;if(X.minProperties===void 0)return;if(Y.object!==!1){let J=Y.object||q.object({}).passthrough();Y.object=J.refine((G)=>Object.keys(G).length>=X.minProperties,{message:`Object must have at least ${X.minProperties} properties`})}}},bC6=class{apply(Y,Q){if(!Q.not)return Y;let X=aX(Q.not);return Y.refine((J)=>!tn(X,J),{message:"Value must not match the 'not' schema"})}},hC6=class{apply(Y,Q){if(Q.uniqueItems!==!0)return Y;return Y.refine(fC6(),{message:"Array items must be unique"})}},xC6=class{apply(Y,Q){if(!Q.allOf||Q.allOf.length===0)return Y;return Q.allOf.map((J)=>aX(J)).reduce((J,G)=>q.intersection(J,G),Y)}},gC6=class{apply(Y,Q){if(!Q.anyOf||Q.anyOf.length===0)return Y;let X=Q.anyOf.length===1?aX(Q.anyOf[0]):q.union([aX(Q.anyOf[0]),aX(Q.anyOf[1]),...Q.anyOf.slice(2).map((J)=>aX(J))]);return q.intersection(Y,X)}},uC6=class{apply(Y,Q){if(!Q.oneOf||Q.oneOf.length===0)return Y;let X=Q.oneOf.map((J)=>aX(J));return Y.refine((J)=>{let G=0;for(let K of X)if(K.safeParse(J).success){if(G++,G>1)return!1}return G===1},{message:"Value must match exactly one of the oneOf schemas"})}},mC6=class{apply(Y,Q){let X=Q;if(X.prefixItems&&Array.isArray(X.prefixItems)){let G=X.prefixItems.map((K)=>aX(K));return Y.refine((K)=>{if(!Array.isArray(K))return!0;for(let W=0;W<Math.min(K.length,G.length);W++)if(!tn(G[W],K[W]))return!1;if(K.length>G.length){if(typeof X.items==="boolean"&&X.items===!1)return!1;else if(X.items&&typeof X.items==="object"&&!Array.isArray(X.items)){let W=aX(X.items);for(let Z=G.length;Z<K.length;Z++)if(!tn(W,K[Z]))return!1}}return!0},{message:"Array does not match prefixItems schema"})}return Y}},lC6=class{apply(Y,Q){let X=Q;if(!X.properties&&!X.required&&X.additionalProperties!==!1)return Y;if(Y instanceof q.ZodObject||Y instanceof q.ZodRecord){let J={};if(X.properties){for(let[G,K]of Object.entries(X.properties))if(K!==void 0)J[G]=aX(K)}if(X.required&&Array.isArray(X.required)){let G=new Set(X.required);for(let K of Object.keys(J))if(!G.has(K))J[K]=J[K].optional()}else for(let G of Object.keys(J))J[G]=J[G].optional();if(X.additionalProperties===!1)return q.object(J);else return q.object(J).passthrough()}return Y.refine((J)=>{if(typeof J!=="object"||J===null||Array.isArray(J))return!0;if(X.properties){for(let[G,K]of Object.entries(X.properties))if(K!==void 0){if(Object.getOwnPropertyDescriptor(J,G)!==void 0){if(!aX(K).safeParse(J[G]).success)return!1}}}if(X.required&&Array.isArray(X.required)){for(let G of X.required)if(Object.getOwnPropertyDescriptor(J,G)===void 0)return!1}if(X.additionalProperties===!1&&X.properties){let G=new Set(Object.keys(X.properties));for(let K in J)if(!G.has(K))return!1}return!0},{message:"Object constraints validation failed"})}},dC6=class{apply(Y,Q){if(!Q.enum||Q.enum.length===0)return Y;let X=Q.enum.filter((J)=>Array.isArray(J)||typeof J==="object"&&J!==null);if(X.length===0)return Y;return Y.refine((J)=>{if(typeof J!=="object"||J===null)return!0;return X.some((G)=>yS(J,G))},{message:"Value must match one of the enum values"})}},pC6=class{apply(Y,Q){if(Q.const===void 0)return Y;let X=Q.const;if(typeof X!=="object"||X===null)return Y;return Y.refine((J)=>yS(J,X),{message:"Value must equal the const value"})}},cC6=class{apply(Y,Q){if(Q.description)Y=Y.describe(Q.description);return Y}},nC6=class{apply(Y,Q){var X;let J=Q;if(!((X=J.required)==null?void 0:X.includes("__proto__"))||Q.type!==void 0)return Y;return q.any().refine((G)=>this.validateRequired(G,J.required),{message:"Missing required properties"})}validateRequired(Y,Q){if(typeof Y!=="object"||Y===null||Array.isArray(Y))return!0;return Q.every((X)=>Object.prototype.hasOwnProperty.call(Y,X))}},iC6=class{apply(Y,Q){var X;let J=Q;if(J.contains===void 0)return Y;let G=aX(J.contains),K=(X=J.minContains)!=null?X:1,W=J.maxContains;return Y.refine((Z)=>{if(!Array.isArray(Z))return!0;let H=0;for(let $ of Z)if(tn(G,$))H++;if(H<K)return!1;if(W!==void 0&&H>W)return!1;return!0},{message:"Array must contain required items matching the schema"})}},aC6=class{apply(Y,Q){let{default:X}=Q;if(X===void 0)return Y;if(!Y.safeParse(X).success)return Y;return Y.default(X)}},rC6,oC6;var cS0=j(()=>{s6();s6();s6();s6();s6();s6();s6();s6();s6();s6();s6();s6();s6();s6();rC6=[new UC6,new DC6,new BC6,new zC6,new OC6,new CC6,new vC6,new NC6,new LC6,new MC6,new wC6,new AC6,new PC6,new EC6,new TC6,new SC6,new RC6,new IC6,new jC6,new _C6,new yC6,new kC6],oC6=[new nC6,new dC6,new pC6,new xC6,new gC6,new uC6,new mC6,new lC6,new iC6,new bC6,new hC6,new aC6,new cC6]});class nq1{constructor(Y){this._url=Y}start(){if(this._socket)throw Error("WebSocketClientTransport already started! If using Client class, note that connect() calls start() automatically.");return new Promise((Y,Q)=>{this._socket=new WebSocket(this._url,sC6),this._socket.onerror=(X)=>{let J="error"in X?X.error:Error(`WebSocket error: ${JSON.stringify(X)}`);Q(J),this.onerror?.(J)},this._socket.onopen=()=>{Y()},this._socket.onclose=()=>{this.onclose?.()},this._socket.onmessage=(X)=>{let J;try{J=fG.parse(JSON.parse(X.data))}catch(G){this.onerror?.(G);return}this.onmessage?.(J)}})}async close(){this._socket?.close()}send(Y){return new Promise((Q,X)=>{if(!this._socket){X(Error("Not connected"));return}this._socket?.send(JSON.stringify(Y)),Q()})}}var sC6="mcp";var nS0=j(()=>{kQ()});var iS0,aS0=async(Y,Q,X)=>{let J=tC6(Y.connection,Q,X);if(!J)throw Error("Unknown MCP connection type");let G=new iS0({name:Y?.name??"MCP Client",version:"1.0.0"});return await G.connect(J),{client:G,callStreamableTool:(K,W,Z)=>{if(Y.connection.type!=="HTTP")throw Error("HTTP connection required");let H=new Headers(X);if(!H.has("Authorization"))H.set("Authorization",`Bearer ${Y.connection.token}`);for(let[V,B]of Object.entries(Y.connection.headers??{}))H.set(V,B);let $=new URL(Y.connection.url),F=$.pathname.replace(/\/+$/,"")||"/";return $.pathname=`${F}/call-tool/${encodeURIComponent(K)}`,fetch($.href,{method:"POST",redirect:"manual",body:JSON.stringify(W),headers:H,signal:Z})}}},tC6=(Y,Q,X)=>{if(Y.type==="Websocket")return new nq1(new URL(Y.url));if(Y.type!=="SSE"&&Y.type!=="HTTP")return null;let G={...Y.token?{authorization:`Bearer ${Y.token}`}:{},...X??{},..."headers"in Y?Y.headers||{}:{}};if(Y.type==="SSE"){let K={requestInit:{headers:G,signal:Q}};if(Y.token)K.eventSourceInit={fetch:(W,Z)=>{return fetch(W,{...Z,headers:{...G,Accept:"text/event-stream"},signal:Q})}};return new fz(new URL(Y.url),K)}return new sn(new URL(Y.url),{requestInit:{headers:G,signal:Q,credentials:"include"}})};var rS0=j(()=>{LU();cn();nS0();kQ();cq1();iS0=class iS0 extends eJ{constructor(Y,Q){super(Y,Q)}async listTools(Y,Q){return await this.request({method:"tools/list",params:Y},QT,Q)}}});function tS0(Y){let Q=(X)=>{if("connection"in Y)return aS0({connection:Y.connection},void 0,X);return Y.client};return new Proxy({},{get(X,J){if(J==="toJSON")return null;if(typeof J!=="string")throw Error("Name must be a string");if(J==="listTools")return Z;async function G(H,$=J){let F=Y?.debugId?.(),V=F?{"x-trace-debug-id":F}:void 0,{client:B,callStreamableTool:U}=await Q(V);if(Y?.streamable?.[String($)]){if(!U)throw Error(`Tool ${String($)} requires streaming support but client doesn't provide callStreamableTool`);return await U(String($),H)}let{structuredContent:D,isError:z,content:L}=await B.callTool({name:String($),arguments:H});if(z){let E=L?.[0]?.text,T=typeof E==="string"?oS0(E):null,C=T?.code&&typeof Y?.getErrorByStatusCode==="function"?Y.getErrorByStatusCode(T.code,T.message,T.traceId):null;if(C)throw C;throw Error(`Tool ${String($)} returned an error: ${JSON.stringify(D??L)}`)}if(D!==void 0)return D;let w=L?.[0]?.text;return typeof w==="string"?oS0(w):void 0}async function K(){let{client:H}=await Q(),{tools:$}=await H.listTools();return $}async function W(){if(!("connection"in Y))return K();let H=Y.connection,$=JSON.stringify(H);try{if(!en.has($))en.set($,K());return await en.get($)}catch(F){console.error("Failed to list tools",F),en.delete($);return}}async function Z(){return(await W()??[]).map(($)=>sS0($,G))}return G.asTool=async()=>{let $=(await W()??[]).find((F)=>F.name===J);if(!$)throw Error(`Tool ${J} not found`);return sS0($,G)},G}})}var oS0=(Y)=>{try{return JSON.parse(Y)}catch{return Y}},en,sS0=(Y,Q)=>{return{...Y,id:Y.name,inputSchema:Y.inputSchema?aX(Y.inputSchema):void 0,outputSchema:Y.outputSchema?aX(Y.outputSchema):void 0,execute:(X)=>{return Q(X.context,Y.name)}}};var eS0=j(()=>{cS0();rS0();en=new Map});function hz(Y){return tS0(Y)}var Yi;var iq1=j(()=>{eS0();Yi=new Proxy({},{get(Y,Q){if(Q==="toJSON")return null;if(Q==="forConnection")return(X)=>hz({connection:X});return global[Q]}})});function Qi(Y){return{isImplementedBy:(Q)=>{for(let X of Y){let J=typeof X.name==="string"?new RegExp(`^${X.name}$`):X.name,G=Q.find((K)=>J.test(K.name));if(!G&&X.opt)continue;if(!G)return!1}return!0}}}var lH=(Y)=>{return{...Qi(Y),forClient:(Q)=>{return hz({client:Q,streamable:Y.reduce((X,J)=>{return X[J.name]=J.streamable===!0,X},{})})},forConnection:(Q)=>{return hz({connection:Q,streamable:Y.reduce((X,J)=>{return X[J.name]=J.streamable===!0,X},{})})}}};var xz=j(()=>{iq1()});var Yk0=j(()=>{cq1();iq1();xz()});var aq1=j(()=>{Yk0()});var oq1=(Y)=>{return typeof Y==="object"&&Y!==null&&typeof Y.__type==="string"&&typeof Y.value==="string"},Qk0=(Y,Q,X)=>{let J=X?{"x-caller-app":X}:void 0;if(Q.cookie)J??={},J.cookie=Q.cookie;if(Q.token)J??={},J["x-mesh-token"]=Q.token;return{type:"HTTP",url:new URL(`/mcp/${Y}`,Q.meshUrl).href,token:Q.token,headers:J}},eC6=(Y,Q,X)=>{let J=Qk0(Y,Q,X);return new Proxy(Yi.forConnection(J),{get(G,K){if(K==="value")return Y;if(K==="__type")return X;return G[K]}})},rq1=(Y,Q)=>{if(Y===null||Y===void 0)return Y;if(Array.isArray(Y))return Y.map((X)=>rq1(X,Q));if(typeof Y==="object"){if(oq1(Y))return eC6(Y.value,Q,Y.__type);let X={};for(let[J,G]of Object.entries(Y))X[J]=rq1(G,Q);return X}return Y},Xk0=(Y)=>{return rq1(Y.state,Y)};var Xi=j(()=>{aq1()});var YR6,Jk0=(Y,Q,X)=>{if(!Q)return null;if(Y===void 0||Y==="*")return"*";if(typeof Y==="string")return Y===Q?Y:null;if(Array.isArray(Y))return Y.includes(Q)?Q:null;if(typeof Y==="function")return Y(Q,X)??null;return null},QR6=(Y,Q,X)=>{let J=Q.headers.get("Origin"),G=Jk0(X.origin,J,Q);if(G)Y.set("Access-Control-Allow-Origin",G);if(X.credentials)Y.set("Access-Control-Allow-Credentials","true");if(X.exposeHeaders?.length)Y.set("Access-Control-Expose-Headers",X.exposeHeaders.join(", "))},Gk0=(Y,Q)=>{let X=new Headers,J=Y.headers.get("Origin"),G=Jk0(Q.origin,J,Y);if(G)X.set("Access-Control-Allow-Origin",G);if(Q.credentials)X.set("Access-Control-Allow-Credentials","true");let K=Q.allowMethods??YR6;X.set("Access-Control-Allow-Methods",K.join(", "));let W=Y.headers.get("Access-Control-Request-Headers");if(Q.allowHeaders?.length)X.set("Access-Control-Allow-Headers",Q.allowHeaders.join(", "));else if(W)X.set("Access-Control-Allow-Headers",W);if(Q.maxAge!==void 0)X.set("Access-Control-Max-Age",Q.maxAge.toString());return new Response(null,{status:204,headers:X})},Wk0=(Y,Q,X)=>{let J=new Headers(Y.headers);return QR6(J,Q,X),new Response(Y.body,{status:Y.status,statusText:Y.statusText,headers:J})};var Zk0=j(()=>{YR6=["GET","HEAD","PUT","POST","DELETE","PATCH"]});function Kk0(Y=32){let X=new Uint8Array(Y);return crypto.getRandomValues(X),Array.from(X,(J)=>"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"[J%62]).join("")}function XR6(Y){try{let Q=new URL(Y);return Q.protocol==="https:"||Q.hostname==="localhost"||Q.hostname==="127.0.0.1"||!Q.protocol.startsWith("http")}catch{return!1}}function Hk0(Y){return btoa(JSON.stringify(Y)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function $k0(Y){try{let Q=Y.replace(/-/g,"+").replace(/_/g,"/");return JSON.parse(atob(Q))}catch{return null}}function Fk0(Y){return{handleProtectedResourceMetadata:($)=>{let F=dH(new URL($.url)),V=`${F.origin}/mcp`;return Response.json({resource:V,authorization_servers:[F.origin],scopes_supported:["*"],bearer_methods_supported:["header"],resource_signing_alg_values_supported:["RS256","none"]})},handleAuthorizationServerMetadata:($)=>{let V=dH(new URL($.url)).origin;return Response.json({issuer:V,authorization_endpoint:`${V}/authorize`,token_endpoint:`${V}/token`,registration_endpoint:`${V}/register`,scopes_supported:["*"],response_types_supported:["code"],response_modes_supported:["query"],grant_types_supported:["authorization_code","refresh_token"],token_endpoint_auth_methods_supported:["none","client_secret_post"],code_challenge_methods_supported:["S256","plain"]})},handleAuthorize:($)=>{let F=dH(new URL($.url)),V=F.searchParams.get("redirect_uri"),B=F.searchParams.get("response_type"),U=F.searchParams.get("state"),D=F.searchParams.get("code_challenge"),z=F.searchParams.get("code_challenge_method");if(!V)return Response.json({error:"invalid_request",error_description:"redirect_uri required"},{status:400});if(B!=="code")return Response.json({error:"unsupported_response_type",error_description:"Only 'code' is supported"},{status:400});let L=dH(new URL(`${F.origin}/oauth/callback`)),w=L.toString(),T=Hk0({redirectUri:V,clientState:U??void 0,codeChallenge:D??void 0,codeChallengeMethod:z??void 0,oauthCallbackUri:w});L.searchParams.set("state",T);let C=Y.authorizationUrl(L.toString());return Response.redirect(C,302)},handleOAuthCallback:async($)=>{let F=dH(new URL($.url)),V=F.searchParams.get("code"),B=F.searchParams.get("state"),U=F.searchParams.get("error"),D=B?$k0(B):null;if(U){let z=F.searchParams.get("error_description")??"Authorization failed";if(D?.redirectUri){let L=dH(new URL(D.redirectUri));if(L.searchParams.set("error",U),L.searchParams.set("error_description",z),D.clientState)L.searchParams.set("state",D.clientState);return Response.redirect(L.toString(),302)}return Response.json({error:U,error_description:z},{status:400})}if(!V||!D)return Response.json({error:"invalid_request",error_description:"Missing code or state"},{status:400});try{let z=D.oauthCallbackUri??dH(new URL(`${F.origin}/oauth/callback`)).toString(),L={code:V,redirect_uri:z},w=await Y.exchangeCode(L),E={accessToken:w.access_token,tokenType:w.token_type,refreshToken:w.refresh_token,expiresIn:w.expires_in,scope:w.scope,codeChallenge:D.codeChallenge,codeChallengeMethod:D.codeChallengeMethod},T=Hk0(E),C=dH(new URL(D.redirectUri));if(C.searchParams.set("code",T),D.clientState)C.searchParams.set("state",D.clientState);return Response.redirect(C.toString(),302)}catch(z){console.error("OAuth callback error:",z);let L=dH(new URL(D.redirectUri));if(L.searchParams.set("error","server_error"),L.searchParams.set("error_description","Failed to exchange authorization code"),D.clientState)L.searchParams.set("state",D.clientState);return Response.redirect(L.toString(),302)}},handleToken:async($)=>{try{let F=$.headers.get("content-type")??"",V;if(F.includes("application/x-www-form-urlencoded")){let E=await $.formData();V=Object.fromEntries(E.entries())}else{let E=await $.json();if(typeof E!=="object"||E===null||Array.isArray(E))return Response.json({error:"invalid_request",error_description:"Request body must be a JSON object"},{status:400});V=E}let{code:B,code_verifier:U,grant_type:D,refresh_token:z}=V;if(D==="refresh_token"){if(typeof z!=="string"||!z)return Response.json({error:"invalid_request",error_description:"refresh_token is required and must be a string"},{status:400});if(!Y.refreshToken)return Response.json({error:"unsupported_grant_type",error_description:"refresh_token grant not supported"},{status:400});let E=await Y.refreshToken(z),T={access_token:E.access_token,token_type:E.token_type};if(E.refresh_token)T.refresh_token=E.refresh_token;if(E.expires_in!==void 0)T.expires_in=E.expires_in;if(E.scope)T.scope=E.scope;return Response.json(T,{headers:{"Cache-Control":"no-store",Pragma:"no-cache"}})}if(D!=="authorization_code")return Response.json({error:"unsupported_grant_type",error_description:"Only authorization_code and refresh_token supported"},{status:400});if(typeof B!=="string"||!B)return Response.json({error:"invalid_request",error_description:"code is required and must be a string"},{status:400});let L=$k0(B);if(!L||!L.accessToken)return Response.json({error:"invalid_grant",error_description:"Invalid or expired code"},{status:400});if(L.codeChallenge){if(typeof U!=="string"||!U)return Response.json({error:"invalid_grant",error_description:"code_verifier required and must be a string"},{status:400});let E;if(L.codeChallengeMethod==="S256"){let C=new TextEncoder().encode(U),P=await crypto.subtle.digest("SHA-256",C);E=btoa(String.fromCharCode(...new Uint8Array(P))).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}else E=U;if(E!==L.codeChallenge)return Response.json({error:"invalid_grant",error_description:"Invalid code_verifier"},{status:400})}let w={access_token:L.accessToken,token_type:L.tokenType};if(L.refreshToken)w.refresh_token=L.refreshToken;if(L.expiresIn!==void 0)w.expires_in=L.expiresIn;if(L.scope)w.scope=L.scope;return Response.json(w,{headers:{"Cache-Control":"no-store",Pragma:"no-cache"}})}catch(F){return console.error("Token exchange error:",F),Response.json({error:"server_error",error_description:"Failed to process token request"},{status:500})}},handleClientRegistration:async($)=>{try{let F=await $.json();if(!F.redirect_uris||F.redirect_uris.length===0)return Response.json({error:"invalid_redirect_uri",error_description:"At least one redirect_uri is required"},{status:400});for(let z of F.redirect_uris)if(!XR6(z))return Response.json({error:"invalid_redirect_uri",error_description:`Invalid redirect URI: ${z}`},{status:400});let V=Kk0(32),B=F.token_endpoint_auth_method!=="none"?Kk0(32):void 0,U=Math.floor(Date.now()/1000),D={client_id:V,client_secret:B,client_name:F.client_name,redirect_uris:F.redirect_uris,grant_types:F.grant_types??["authorization_code"],response_types:F.response_types??["code"],token_endpoint_auth_method:F.token_endpoint_auth_method??"client_secret_post",scope:F.scope,client_id_issued_at:U,client_secret_expires_at:0};if(Y.persistence)await Y.persistence.saveClient(D);return new Response(JSON.stringify(D),{status:201,headers:{"Content-Type":"application/json","Cache-Control":"no-store",Pragma:"no-cache"}})}catch(F){return console.error("Client registration error:",F),Response.json({error:"invalid_client_metadata",error_description:"Invalid client registration request"},{status:400})}},createUnauthorizedResponse:($)=>{let B=`Bearer resource_metadata="${`${dH(new URL($.url)).origin}/.well-known/oauth-protected-resource`}", scope="*"`;return Response.json({jsonrpc:"2.0",error:{code:-32000,message:"Unauthorized: Authentication required"},id:null},{status:401,headers:{"WWW-Authenticate":B,"Access-Control-Expose-Headers":"WWW-Authenticate"}})},hasAuth:($)=>$.headers.has("Authorization")}}var dH=(Y)=>{if(!(Y.hostname==="localhost"||Y.hostname==="127.0.0.1"))Y.protocol="https:";return Y};import{AsyncLocalStorage as JR6}from"async_hooks";var Vk0,fS;var sq1=j(()=>{Vk0=new JR6,fS={getStore:()=>{return Vk0.getStore()},run:(Y,Q,...X)=>Vk0.run(Y,Q,...X)}});function n$(Y){return q.object({items:q.array(Y).describe("Array of collection items"),totalCount:q.number().int().min(0).optional().describe("Total number of matching items (if available)"),hasMore:q.boolean().optional().describe("Whether there are more items available")})}function hS(Y){return q.object({item:Y.nullable().describe("The retrieved item, or null if not found")})}function ZR6(Y){return q.object({data:Y.partial().describe("Data for the new entity (id may be auto-generated)")})}function KR6(Y){return q.object({item:Y.describe("The created entity with generated id")})}function HR6(Y){return q.object({id:q.string().describe("ID of the entity to update"),data:Y.partial().describe("Partial entity data to update")})}function $R6(Y){return q.object({item:Y.describe("The updated entity")})}function gS(Y){return q.object({item:Y.describe("The deleted entity")})}function cH(Y,Q,X){let J=Y.toUpperCase(),G=X?.readOnly??!1,K=[{name:`COLLECTION_${J}_LIST`,inputSchema:lZ,outputSchema:n$(Q)},{name:`COLLECTION_${J}_GET`,inputSchema:bS,outputSchema:hS(Q)}];if(!G)K.push({name:`COLLECTION_${J}_CREATE`,inputSchema:ZR6(Q),outputSchema:KR6(Q),opt:!0},{name:`COLLECTION_${J}_UPDATE`,inputSchema:HR6(Q),outputSchema:$R6(Q),opt:!0},{name:`COLLECTION_${J}_DELETE`,inputSchema:xS,outputSchema:gS(Q),opt:!0});return K}var pH,GR6,qk0,WR6,lZ,bS,xS;var MG=j(()=>{n1();pH=q.object({id:q.string().describe("Unique identifier for the entity"),title:q.string().describe("Human-readable title for the entity"),description:q.string().nullish().describe("Description of the entity"),created_at:q.string().datetime(),updated_at:q.string().datetime(),created_by:q.string().optional(),updated_by:q.string().optional()}),GR6=q.object({field:q.array(q.string()),operator:q.enum(["eq","gt","gte","lt","lte","in","like","contains"]),value:q.unknown()}),qk0=q.lazy(()=>q.union([GR6,q.object({operator:q.enum(["and","or","not"]),conditions:q.array(qk0)})])),WR6=q.object({field:q.array(q.string()),direction:q.enum(["asc","desc"]),nulls:q.enum(["first","last"]).optional()}),lZ=q.object({where:qk0.optional().describe("Filter expression"),orderBy:q.array(WR6).optional().describe("Sort expressions"),limit:q.number().int().min(1).max(1000).optional().describe("Maximum number of items to return"),offset:q.number().int().min(0).optional().describe("Number of items to skip")});bS=q.object({id:q.string().describe("ID of the entity to retrieve")});xS=q.object({id:q.string().describe("ID of the entity to delete")})});var FR6,Bk0,E09;var Uk0=j(()=>{n1();MG();FR6=q.object({id:q.string(),name:q.string(),description:q.string().optional(),inputSchema:q.record(q.string(),q.unknown()),outputSchema:q.record(q.string(),q.unknown()).optional()}),Bk0=pH.extend({_meta:q.object({"io.decocms":q.object({id:q.string(),verified:q.boolean(),scopeName:q.string(),appName:q.string(),friendlyName:q.string().nullable().optional(),metadata:q.record(q.string(),q.unknown()).nullable().optional(),publishedAt:q.string().datetime().optional(),updatedAt:q.string().datetime().optional(),tools:q.array(FR6).nullable().optional().describe("Available tools exposed by this app")}).optional()}).optional(),server:q.object({$schema:q.string().optional(),_meta:q.record(q.string(),q.unknown()).optional(),name:q.string().describe("The server name (scope/app)"),title:q.string().optional().describe("User-friendly title"),description:q.string().optional().describe("Server description"),icons:q.array(q.object({src:q.string(),mimeType:q.string().optional(),sizes:q.array(q.string()).optional(),theme:q.enum(["light","dark"]).optional()})).optional(),remotes:q.array(q.object({type:q.enum(["http","stdio","sse"]),url:q.string().optional(),headers:q.array(q.unknown()).optional()})).optional(),packages:q.array(q.unknown()).optional(),repository:q.object({url:q.string(),source:q.string().optional(),subfolder:q.string().optional()}).optional(),version:q.string().optional(),websiteUrl:q.string().optional()})}),E09=cH("registry_app",Bk0,{readOnly:!0})});var Dk0,Ji,zk0,Gi,Ok0,tq1;var Nk0=j(()=>{n1();xz();Dk0=q.object({specversion:q.literal("1.0").describe("CloudEvents specification version"),id:q.string().describe("Unique identifier for this event (UUID recommended)"),source:q.string().describe("Connection ID of the event publisher"),type:q.string().describe("Event type (e.g., 'order.created', 'user.signup')"),time:q.string().datetime().optional().describe("Timestamp of when the event occurred (ISO 8601)"),subject:q.string().optional().describe("Subject/resource identifier (e.g., order ID, user ID)"),datacontenttype:q.string().optional().default("application/json").describe("Content type of the data attribute"),dataschema:q.string().url().optional().describe("URI to the schema for the data attribute"),data:q.unknown().optional().describe("Event payload (any JSON value)")}),Ji=q.object({events:q.array(Dk0).min(1).describe("Batch of CloudEvents to process")}),zk0=q.object({success:q.boolean().optional().describe("Whether this event was processed successfully"),error:q.string().optional().describe("Error message for this event"),retryAfter:q.number().int().positive().optional().describe("Re-deliver this event after this many ms")}),Gi=q.object({success:q.boolean().optional().describe("Batch success - applies to events not in results"),error:q.string().optional().describe("Batch error message - applies to events not in results"),processedCount:q.number().int().min(0).optional().describe("Number of events successfully processed"),retryAfter:q.number().int().positive().optional().describe("Batch retryAfter - applies to events not in results"),results:q.record(q.string(),zk0).optional().describe("Per-event results keyed by event ID")}),Ok0=[{name:"ON_EVENTS",inputSchema:Ji,outputSchema:Gi}],tq1=lH(Ok0)});var uS,mS,lS,dS,Lk0,Mk0,pS,cS,nS,iS,aS,rS,oS,sS,wk0,VR6;var Ak0=j(()=>{n1();xz();uS=q.object({type:q.string().min(1).max(255).describe("Event type identifier"),subject:q.string().max(255).optional().describe("Subject/resource identifier (e.g., order ID)"),data:q.unknown().optional().describe("Event payload"),deliverAt:q.string().datetime().optional().describe("Scheduled delivery time (ISO 8601). Omit for immediate delivery."),cron:q.string().max(100).optional().describe("Cron expression for recurring delivery. Use EVENT_CANCEL to stop.")}),mS=q.object({id:q.string().describe("Unique event ID"),type:q.string().describe("Event type"),source:q.string().describe("Source connection ID"),time:q.string().describe("Event timestamp")}),lS=q.object({eventType:q.string().min(1).max(255).describe("Event type to subscribe to"),publisher:q.string().optional().describe("Filter events by publisher connection ID"),filter:q.string().max(1000).optional().describe("JSONPath filter expression on event data")}),dS=q.object({subscription:q.object({id:q.string().describe("Subscription ID"),connectionId:q.string().describe("Subscriber connection ID"),eventType:q.string().describe("Event type pattern"),publisher:q.string().nullable().describe("Publisher connection filter"),filter:q.string().nullable().describe("JSONPath filter expression"),enabled:q.boolean().describe("Whether subscription is enabled"),createdAt:q.string().datetime().describe("Created timestamp (ISO 8601)"),updatedAt:q.string().datetime().describe("Updated timestamp (ISO 8601)")})}),Lk0=q.object({eventType:q.string().min(1).max(255).describe("Event type to subscribe to"),publisher:q.string().optional().describe("Filter events by publisher connection ID"),filter:q.string().max(1000).optional().describe("JSONPath filter expression on event data")}),Mk0=q.object({id:q.string().describe("Subscription ID"),connectionId:q.string().describe("Subscriber connection ID"),eventType:q.string().describe("Event type pattern"),publisher:q.string().nullable().describe("Publisher connection filter"),filter:q.string().nullable().describe("JSONPath filter expression"),enabled:q.boolean().describe("Whether subscription is enabled"),createdAt:q.string().datetime().describe("Created timestamp (ISO 8601)"),updatedAt:q.string().datetime().describe("Updated timestamp (ISO 8601)")}),pS=q.object({subscriptions:q.array(Lk0).describe("Desired subscriptions - system will create/update/delete to match")}),cS=q.object({created:q.number().int().min(0).describe("Number of subscriptions created"),updated:q.number().int().min(0).describe("Number of subscriptions with filter updated"),deleted:q.number().int().min(0).describe("Number of subscriptions removed"),unchanged:q.number().int().min(0).describe("Number of subscriptions unchanged"),subscriptions:q.array(Mk0).describe("Current subscriptions after sync")}),nS=q.object({subscriptionId:q.string().describe("Subscription ID to remove")}),iS=q.object({success:q.boolean().describe("Whether unsubscribe was successful"),subscriptionId:q.string().describe("Subscription ID that was removed")}),aS=q.object({eventId:q.string().describe("Event ID to cancel")}),rS=q.object({success:q.boolean().describe("Whether cancellation was successful"),eventId:q.string().describe("Event ID that was cancelled")}),oS=q.object({eventId:q.string().describe("Event ID to acknowledge")}),sS=q.object({success:q.boolean().describe("Whether ACK was successful"),eventId:q.string().describe("Event ID that was acknowledged")}),wk0=[{name:"EVENT_PUBLISH",inputSchema:uS,outputSchema:mS},{name:"EVENT_SUBSCRIBE",inputSchema:lS,outputSchema:dS},{name:"EVENT_UNSUBSCRIBE",inputSchema:nS,outputSchema:iS},{name:"EVENT_CANCEL",inputSchema:aS,outputSchema:rS},{name:"EVENT_ACK",inputSchema:oS,outputSchema:sS},{name:"EVENT_SYNC_SUBSCRIPTIONS",inputSchema:pS,outputSchema:cS}],VR6=lH(wk0)});var qR6,BR6,UR6,DR6,zR6,OR6,NR6,LR6,MR6,wR6,AR6,PR6,tS;var Wi=j(()=>{n1();qR6=q.object({prefix:q.string().optional().describe("Filter objects by prefix (e.g., 'folder/' for folder contents)"),maxKeys:q.number().optional().default(1000).describe("Maximum number of keys to return (default: 1000)"),continuationToken:q.string().optional().describe("Token for pagination from previous response"),delimiter:q.string().optional().describe("Delimiter for grouping keys (typically '/'). When set, commonPrefixes returns folder paths.")}),BR6=q.object({objects:q.array(q.object({key:q.string().describe("Object key/path"),size:q.number().describe("Object size in bytes"),lastModified:q.string().describe("Last modified timestamp"),etag:q.string().describe("Entity tag for the object")})),nextContinuationToken:q.string().optional().describe("Token for fetching next page of results"),isTruncated:q.boolean().describe("Whether there are more results available"),commonPrefixes:q.array(q.string()).optional().describe("Folder paths when delimiter is used (e.g., ['photos/2024/', 'photos/2025/'])")}),UR6=q.object({key:q.string().describe("Object key/path to get metadata for")}),DR6=q.object({contentType:q.string().optional().describe("MIME type of the object"),contentLength:q.number().describe("Size of the object in bytes"),lastModified:q.string().describe("Last modified timestamp"),etag:q.string().describe("Entity tag for the object"),metadata:q.record(q.string(),q.string()).optional().describe("Custom metadata key-value pairs")}),zR6=q.object({key:q.string().describe("Object key/path to generate URL for"),expiresIn:q.number().optional().describe("URL expiration time in seconds (default: from state config or 3600)")}),OR6=q.object({url:q.string().describe("Presigned URL for downloading the object"),expiresIn:q.number().describe("Expiration time in seconds that was used")}),NR6=q.object({key:q.string().describe("Object key/path for the upload"),expiresIn:q.number().optional().describe("URL expiration time in seconds (default: from state config or 3600)"),contentType:q.string().optional().describe("MIME type for the object being uploaded")}),LR6=q.object({url:q.string().describe("Presigned URL for uploading the object"),expiresIn:q.number().describe("Expiration time in seconds that was used")}),MR6=q.object({key:q.string().describe("Object key/path to delete")}),wR6=q.object({success:q.boolean().describe("Whether the deletion was successful"),key:q.string().describe("The key that was deleted")}),AR6=q.object({keys:q.array(q.string()).max(1000).describe("Array of object keys/paths to delete (max 1000)")}),PR6=q.object({deleted:q.array(q.string()).describe("Array of successfully deleted keys"),errors:q.array(q.object({key:q.string(),message:q.string()})).describe("Array of errors for failed deletions")}),tS=[{name:"LIST_OBJECTS",inputSchema:qR6,outputSchema:BR6},{name:"GET_OBJECT_METADATA",inputSchema:UR6,outputSchema:DR6},{name:"GET_PRESIGNED_URL",inputSchema:zR6,outputSchema:OR6},{name:"PUT_PRESIGNED_URL",inputSchema:NR6,outputSchema:LR6},{name:"DELETE_OBJECT",inputSchema:MR6,outputSchema:wR6},{name:"DELETE_OBJECTS",inputSchema:AR6,outputSchema:PR6}]});function _R6(Y,Q){let X=[];function J(G){if(typeof G==="string"){let K=G.match(/@(\w+)/g);if(K)for(let W of K){let Z=W.substring(1);if(Q.has(Z))X.push(Z)}}else if(Array.isArray(G))G.forEach(J);else if(typeof G==="object"&&G!==null)Object.values(G).forEach(J)}return J(Y.input),[...new Set(X)]}function Ck0(Y){let Q=new Set(Y.map((W)=>W.name)),X=new Map;for(let W of Y)X.set(W.name,_R6(W,Q));let J=new Set,G=new Set;function K(W,Z){if(G.has(W))return[...Z,W];if(J.has(W))return null;J.add(W),G.add(W);let H=X.get(W)||[];for(let $ of H){let F=K($,[...Z,W]);if(F)return F}return G.delete(W),null}for(let W of Y){let Z=K(W.name,[]);if(Z)return{isValid:!1,error:`Circular dependency detected: ${Z.join(" -> ")}`}}return{isValid:!0}}var eq1,ER6,h09,TR6,CR6,Pk0,gz,RR6,Ek0,IR6,x09,jR6,Tk0,SR6,kR6,vR6,g09,u09;var CA=j(()=>{n1();xz();MG();eq1=q.object({toolName:q.string().describe("Name of the tool to invoke on that connection"),transformCode:q.string().optional().describe("Pure TypeScript function for data transformation of the tool call result. Must be a TypeScript file that declares the Output interface and exports a default function: `interface Output { ... } export default async function(input): Output { ... }`\n The input will match with the tool call outputSchema. If transformCode is not provided, the tool call result will be used as the step output. \n Providing an transformCode is recommended because it both allows you to transform the data and validate it against a JSON Schema - tools are ephemeral and may return unexpected data.")}),ER6=q.object({code:q.string().describe(`Pure TypeScript function for data transformation. Useful to merge data from multiple steps and transform it. Must be a TypeScript file that declares the Output interface and exports a default function: \`interface Output { ... } export default async function(input): Output { ... }\`
1195
+ `.trim()});import{sql as jS0}from"kysely";var SS0;var kS0=j(()=>{SS0={name:"001-private-registry",async up(Y){await Y.schema.createTable("private_registry_item").addColumn("id","text",(Q)=>Q.primaryKey()).addColumn("organization_id","text",(Q)=>Q.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(Q)=>Q.notNull()).addColumn("description","text").addColumn("server_json","text",(Q)=>Q.notNull()).addColumn("meta_json","text").addColumn("tags","text").addColumn("categories","text").addColumn("is_public","integer",(Q)=>Q.notNull().defaultTo(0)).addColumn("created_at","text",(Q)=>Q.notNull().defaultTo(jS0`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(Q)=>Q.notNull().defaultTo(jS0`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(Q)=>Q.references("user.id").onDelete("set null")).execute(),await Y.schema.createIndex("idx_private_registry_item_org").on("private_registry_item").column("organization_id").execute(),await Y.schema.createIndex("idx_private_registry_item_org_public").on("private_registry_item").columns(["organization_id","is_public"]).execute()},async down(Y){await Y.schema.dropIndex("idx_private_registry_item_org_public").ifExists().execute(),await Y.schema.dropIndex("idx_private_registry_item_org").ifExists().execute(),await Y.schema.dropTable("private_registry_item").ifExists().execute()}}});import{sql as vS0}from"kysely";var _S0;var yS0=j(()=>{_S0={name:"002-publish-requests",async up(Y){await Y.schema.createTable("private_registry_publish_request").addColumn("id","text",(Q)=>Q.primaryKey()).addColumn("organization_id","text",(Q)=>Q.notNull().references("organization.id").onDelete("cascade")).addColumn("status","text",(Q)=>Q.notNull().defaultTo("pending")).addColumn("title","text",(Q)=>Q.notNull()).addColumn("description","text").addColumn("server_json","text",(Q)=>Q.notNull()).addColumn("meta_json","text").addColumn("requester_name","text").addColumn("requester_email","text").addColumn("reviewer_notes","text").addColumn("created_at","text",(Q)=>Q.notNull().defaultTo(vS0`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(Q)=>Q.notNull().defaultTo(vS0`CURRENT_TIMESTAMP`)).execute(),await Y.schema.createIndex("idx_private_registry_publish_request_org_status").on("private_registry_publish_request").columns(["organization_id","status"]).execute()},async down(Y){await Y.schema.dropIndex("idx_private_registry_publish_request_org_status").ifExists().execute(),await Y.schema.dropTable("private_registry_publish_request").ifExists().execute()}}});import{sql as VC6}from"kysely";var fS0;var bS0=j(()=>{fS0={name:"003-publish-api-keys",async up(Y){await Y.schema.createTable("private_registry_publish_api_key").addColumn("id","text",(Q)=>Q.primaryKey()).addColumn("organization_id","text",(Q)=>Q.notNull().references("organization.id").onDelete("cascade")).addColumn("name","text",(Q)=>Q.notNull()).addColumn("key_hash","text",(Q)=>Q.notNull()).addColumn("prefix","text",(Q)=>Q.notNull()).addColumn("created_at","text",(Q)=>Q.notNull().defaultTo(VC6`CURRENT_TIMESTAMP`)).execute(),await Y.schema.createIndex("idx_private_registry_publish_api_key_org").on("private_registry_publish_api_key").columns(["organization_id"]).execute()},async down(Y){await Y.schema.dropIndex("idx_private_registry_publish_api_key_org").ifExists().execute(),await Y.schema.dropTable("private_registry_publish_api_key").ifExists().execute()}}});var hS0;var xS0=j(()=>{hS0={name:"004-publish-request-requested-id",async up(Y){await Y.schema.alterTable("private_registry_publish_request").addColumn("requested_id","text").execute()},async down(Y){await Y.schema.alterTable("private_registry_publish_request").dropColumn("requested_id").execute()}}});import{sql as on}from"kysely";var gS0;var uS0=j(()=>{gS0={name:"005-monitor-runs",async up(Y){await Y.schema.createTable("private_registry_monitor_run").addColumn("id","text",(Q)=>Q.primaryKey()).addColumn("organization_id","text",(Q)=>Q.notNull().references("organization.id").onDelete("cascade")).addColumn("status","text",(Q)=>Q.notNull().defaultTo("pending")).addColumn("config_snapshot","text").addColumn("total_items","integer",(Q)=>Q.notNull().defaultTo(0)).addColumn("tested_items","integer",(Q)=>Q.notNull().defaultTo(0)).addColumn("passed_items","integer",(Q)=>Q.notNull().defaultTo(0)).addColumn("failed_items","integer",(Q)=>Q.notNull().defaultTo(0)).addColumn("skipped_items","integer",(Q)=>Q.notNull().defaultTo(0)).addColumn("current_item_id","text").addColumn("started_at","text").addColumn("finished_at","text").addColumn("created_at","text",(Q)=>Q.notNull().defaultTo(on`CURRENT_TIMESTAMP`)).execute(),await Y.schema.createIndex("idx_private_registry_monitor_run_org_created").on("private_registry_monitor_run").columns(["organization_id","created_at"]).execute(),await Y.schema.createTable("private_registry_monitor_result").addColumn("id","text",(Q)=>Q.primaryKey()).addColumn("run_id","text",(Q)=>Q.notNull().references("private_registry_monitor_run.id").onDelete("cascade")).addColumn("organization_id","text",(Q)=>Q.notNull().references("organization.id").onDelete("cascade")).addColumn("item_id","text",(Q)=>Q.notNull()).addColumn("item_title","text",(Q)=>Q.notNull()).addColumn("status","text",(Q)=>Q.notNull()).addColumn("error_message","text").addColumn("connection_ok","integer",(Q)=>Q.notNull().defaultTo(0)).addColumn("tools_listed","integer",(Q)=>Q.notNull().defaultTo(0)).addColumn("tool_results","text").addColumn("agent_summary","text").addColumn("duration_ms","integer",(Q)=>Q.notNull().defaultTo(0)).addColumn("action_taken","text",(Q)=>Q.notNull().defaultTo("none")).addColumn("tested_at","text",(Q)=>Q.notNull().defaultTo(on`CURRENT_TIMESTAMP`)).execute(),await Y.schema.createIndex("idx_private_registry_monitor_result_run").on("private_registry_monitor_result").columns(["run_id","tested_at"]).execute(),await Y.schema.createIndex("idx_private_registry_monitor_result_run_status").on("private_registry_monitor_result").columns(["run_id","status"]).execute(),await Y.schema.createTable("private_registry_monitor_connection").addColumn("id","text",(Q)=>Q.primaryKey()).addColumn("organization_id","text",(Q)=>Q.notNull().references("organization.id").onDelete("cascade")).addColumn("item_id","text",(Q)=>Q.notNull()).addColumn("connection_id","text",(Q)=>Q.notNull().references("connections.id").onDelete("cascade")).addColumn("auth_status","text",(Q)=>Q.notNull().defaultTo("none")).addColumn("created_at","text",(Q)=>Q.notNull().defaultTo(on`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(Q)=>Q.notNull().defaultTo(on`CURRENT_TIMESTAMP`)).execute(),await Y.schema.createIndex("idx_private_registry_monitor_connection_org_item").on("private_registry_monitor_connection").columns(["organization_id","item_id"]).unique().execute()},async down(Y){await Y.schema.dropIndex("idx_private_registry_monitor_connection_org_item").ifExists().execute(),await Y.schema.dropTable("private_registry_monitor_connection").ifExists().execute(),await Y.schema.dropIndex("idx_private_registry_monitor_result_run_status").ifExists().execute(),await Y.schema.dropIndex("idx_private_registry_monitor_result_run").ifExists().execute(),await Y.schema.dropTable("private_registry_monitor_result").ifExists().execute(),await Y.schema.dropIndex("idx_private_registry_monitor_run_org_created").ifExists().execute(),await Y.schema.dropTable("private_registry_monitor_run").ifExists().execute()}}});var mS0;var lS0=j(()=>{mS0={name:"006-unlisted",async up(Y){await Y.schema.alterTable("private_registry_item").addColumn("is_unlisted","integer",(Q)=>Q.notNull().defaultTo(0)).execute()},async down(Y){await Y.schema.alterTable("private_registry_item").dropColumn("is_unlisted").execute()}}});var dS0;var pS0=j(()=>{kS0();yS0();bS0();xS0();uS0();lS0();dS0=[SS0,_S0,fS0,hS0,gS0,mS0]});function qC6(Y){let Q=Y;if(!Q||typeof Q!=="object"||!("method"in Q))return null;switch(Q.method){case"initialize":{let X=Q?.params?.protocolVersion;if(!X)return null;return{type:"emit",message:{result:{protocolVersion:X,capabilities:{tools:{}},serverInfo:{name:"deco-chat-server",version:"1.0.0"}},jsonrpc:Q.jsonrpc??"2.0",id:Q.id}}}case"notifications/roots/list_changed":case"notifications/initialized":case"notifications/cancelled":case"notifications/progress":return{type:"suppress"};default:return null}}var sn;var cq1=j(()=>{vT();sn=class sn extends qV{constructor(Y,Q){super(Y,Q)}send(Y,Q){let X=qC6(Y);if(X?.type==="emit")return this.onmessage?.(X.message),Promise.resolve();if(X?.type==="suppress")return Promise.resolve();return super.send(Y,Q)}}});function yS(Y,Q){if(Y===Q)return!0;if(Y==null||Q==null)return Y===Q;if(typeof Y!==typeof Q)return!1;if(Array.isArray(Y)&&Array.isArray(Q)){if(Y.length!==Q.length)return!1;return Y.every((X,J)=>yS(X,Q[J]))}if(typeof Y==="object"&&typeof Q==="object"){let X=Object.keys(Y),J=Object.keys(Q);if(X.length!==J.length)return!1;return X.every((G)=>J.includes(G)&&yS(Y[G],Q[G]))}return!1}function fC6(){return(Y)=>{if(!Array.isArray(Y))return!0;let Q=[];return Y.every((X)=>{if(Q.some((G)=>yS(X,G)))return!1;return Q.push(X),!0})}}function tn(Y,Q){return Y.safeParse(Q).success}function aX(Y){if(typeof Y==="boolean")return Y?q.any():q.never();let Q={};for(let G of rC6)G.apply(Q,Y);let X=[];if(Q.string!==!1)X.push(Q.string||q.string());if(Q.number!==!1)X.push(Q.number||q.number());if(Q.boolean!==!1)X.push(Q.boolean||q.boolean());if(Q.null!==!1)X.push(Q.null||q.null());if(Q.array!==!1)X.push(Q.array||q.array(q.any()));if(Q.tuple!==!1&&Q.tuple!==void 0)X.push(Q.tuple);if(Q.object!==!1)if(Q.object)X.push(Q.object);else{let G=q.custom((K)=>{return typeof K==="object"&&K!==null&&!Array.isArray(K)},"Must be an object, not an array");X.push(G)}if(Q.file!==!1&&Q.file!==void 0)X.push(Q.file);let J;if(X.length===0)J=q.never();else if(X.length===1)J=X[0];else if(!Object.keys(Y).some((K)=>K!=="$schema"&&K!=="title"&&K!=="description"))J=q.any();else J=q.union(X);for(let G of oC6)J=G.apply(J,Y);return J}var BC6=class{apply(Y,Q){if(!Q.type)return;let X=Array.isArray(Q.type)?Q.type:[Q.type],J=new Set(X);if(!J.has("string"))Y.string=!1;if(!J.has("number")&&!J.has("integer"))Y.number=!1;if(!J.has("boolean"))Y.boolean=!1;if(!J.has("null"))Y.null=!1;if(!J.has("array"))Y.array=!1;if(!J.has("object"))Y.object=!1;if(J.has("integer")&&Y.number!==!1){let G=Y.number||q.number();if(G instanceof q.ZodNumber)Y.number=G.int()}}},UC6=class{apply(Y,Q){if(Q.const===void 0)return;let X=Q.const;if(Y.string=!1,Y.number=!1,Y.boolean=!1,Y.null=!1,Y.array=!1,Y.object=!1,typeof X==="string")Y.string=q.literal(X);else if(typeof X==="number")Y.number=q.literal(X);else if(typeof X==="boolean")Y.boolean=q.literal(X);else if(X===null)Y.null=q.null();else if(Array.isArray(X))Y.array=void 0;else if(typeof X==="object")Y.object=void 0}},DC6=class{apply(Y,Q){if(!Q.enum)return;if(Q.enum.length===0){if(!Q.type)Y.string=!1,Y.number=!1,Y.boolean=!1,Y.null=!1,Y.array=!1,Y.object=!1;return}let X={string:Q.enum.filter((J)=>typeof J==="string"),number:Q.enum.filter((J)=>typeof J==="number"),boolean:Q.enum.filter((J)=>typeof J==="boolean"),null:Q.enum.filter((J)=>J===null),array:Q.enum.filter((J)=>Array.isArray(J)),object:Q.enum.filter((J)=>typeof J==="object"&&J!==null&&!Array.isArray(J))};Y.string=this.createTypeSchema(X.string,"string"),Y.number=this.createTypeSchema(X.number,"number"),Y.boolean=this.createTypeSchema(X.boolean,"boolean"),Y.null=X.null.length>0?q.null():!1,Y.array=X.array.length>0?void 0:!1,Y.object=X.object.length>0?void 0:!1}createTypeSchema(Y,Q){if(Y.length===0)return!1;if(Y.length===1)return q.literal(Y[0]);if(Q==="string")return q.enum(Y);if(Q==="number"){let[X,J,...G]=Y;return q.union([q.literal(X),q.literal(J),...G.map((K)=>q.literal(K))])}if(Q==="boolean")return q.union([q.literal(!0),q.literal(!1)]);return!1}},zC6=class{apply(Y,Q){let X=Q;if(X.type==="string"&&X.format==="binary"&&X.contentEncoding==="binary"){let J=q.file();if(X.minLength!==void 0)J=J.min(X.minLength);if(X.maxLength!==void 0)J=J.max(X.maxLength);if(X.contentMediaType!==void 0)J=J.mime(X.contentMediaType);Y.file=J,Y.string=!1}}},OC6=class{apply(Y,Q){let X=Q;if(Q.type===void 0&&(X.minLength!==void 0||X.maxLength!==void 0||X.pattern!==void 0)){if(Y.string===void 0)Y.string=q.string()}}},NC6=class{apply(Y,Q){let X=Q;if(X.minLength===void 0)return;if(Y.string!==!1){let J=Y.string||q.string();if(J instanceof q.ZodString)Y.string=J.refine((G)=>{return Array.from(G).length>=X.minLength},{message:`String must be at least ${X.minLength} characters long`})}}},LC6=class{apply(Y,Q){let X=Q;if(X.maxLength===void 0)return;if(Y.string!==!1){let J=Y.string||q.string();if(J instanceof q.ZodString)Y.string=J.refine((G)=>{return Array.from(G).length<=X.maxLength},{message:`String must be at most ${X.maxLength} characters long`})}}},MC6=class{apply(Y,Q){let X=Q;if(!X.pattern)return;if(Y.string!==!1){let J=Y.string||q.string();if(J instanceof q.ZodString){let G=new RegExp(X.pattern);Y.string=J.regex(G)}}}},wC6=class{apply(Y,Q){let X=Q;if(X.minimum===void 0)return;if(Y.number!==!1){let J=Y.number||q.number();if(J instanceof q.ZodNumber)Y.number=J.min(X.minimum)}}},AC6=class{apply(Y,Q){let X=Q;if(X.maximum===void 0)return;if(Y.number!==!1){let J=Y.number||q.number();if(J instanceof q.ZodNumber)Y.number=J.max(X.maximum)}}},PC6=class{apply(Y,Q){let X=Q;if(X.exclusiveMinimum===void 0)return;if(Y.number!==!1){let J=Y.number||q.number();if(J instanceof q.ZodNumber)if(typeof X.exclusiveMinimum==="number")Y.number=J.gt(X.exclusiveMinimum);else Y.number=!1}}},EC6=class{apply(Y,Q){let X=Q;if(X.exclusiveMaximum===void 0)return;if(Y.number!==!1){let J=Y.number||q.number();if(J instanceof q.ZodNumber)if(typeof X.exclusiveMaximum==="number")Y.number=J.lt(X.exclusiveMaximum);else Y.number=!1}}},TC6=class{apply(Y,Q){let X=Q;if(X.multipleOf===void 0)return;if(Y.number!==!1){let J=Y.number||q.number();if(J instanceof q.ZodNumber)Y.number=J.refine((G)=>{if(X.multipleOf===0)return!1;let K=G/X.multipleOf,W=Math.round(K),Z=Math.min(Math.abs(G)*Number.EPSILON*10,Math.abs(X.multipleOf)*Number.EPSILON*10);return Math.abs(K-W)<=Z/Math.abs(X.multipleOf)},{message:`Must be a multiple of ${X.multipleOf}`})}}},CC6=class{apply(Y,Q){let X=Q;if(Q.type===void 0&&(X.minItems!==void 0||X.maxItems!==void 0||X.items!==void 0||X.prefixItems!==void 0)){if(Y.array===void 0)Y.array=q.array(q.any())}}},RC6=class{apply(Y,Q){let X=Q;if(X.minItems===void 0)return;if(Y.array!==!1)Y.array=(Y.array||q.array(q.any())).min(X.minItems)}},IC6=class{apply(Y,Q){let X=Q;if(X.maxItems===void 0)return;if(Y.array!==!1)Y.array=(Y.array||q.array(q.any())).max(X.maxItems)}},jC6=class{apply(Y,Q){let X=Q;if(Y.array===!1)return;if(Array.isArray(X.items))Y.array=Y.array||q.array(q.any());else if(X.items&&typeof X.items!=="boolean"&&!X.prefixItems){let J=aX(X.items),G=q.array(J);if(Y.array&&Y.array instanceof q.ZodArray){let K=Y.array._def;if(K.checks)K.checks.forEach((W)=>{if(W._zod&&W._zod.def){let Z=W._zod.def;if(Z.check==="min_length"&&Z.minimum!==void 0)G=G.min(Z.minimum);else if(Z.check==="max_length"&&Z.maximum!==void 0)G=G.max(Z.maximum)}})}Y.array=G}else if(typeof X.items==="boolean"&&X.items===!1)if(!X.prefixItems)Y.array=q.array(q.any()).max(0);else Y.array=Y.array||q.array(q.any());else if(typeof X.items==="boolean"&&X.items===!0)Y.array=Y.array||q.array(q.any());else if(X.prefixItems)Y.array=Y.array||q.array(q.any())}},SC6=class{apply(Y,Q){if(Q.type!=="array")return;let X=Q;if(!Array.isArray(X.items))return;if(Y.array===!1)return;let J=X.items.map((K)=>aX(K)),G;if(J.length===0)G=q.tuple([]);else G=q.tuple(J);if(X.minItems!==void 0&&X.minItems>J.length)G=!1;if(X.maxItems!==void 0&&X.maxItems<J.length)G=!1;Y.tuple=G,Y.array=!1}},kC6=class{apply(Y,Q){let X=Q;if(Y.object===!1)return;if(X.properties||X.required||X.additionalProperties!==void 0)Y.object=Y.object||q.object({}).passthrough()}},vC6=class{apply(Y,Q){let X=Q;if(Q.type===void 0&&(X.maxProperties!==void 0||X.minProperties!==void 0)){if(Y.object===void 0)Y.object=q.object({}).passthrough()}}},_C6=class{apply(Y,Q){let X=Q;if(X.maxProperties===void 0)return;if(Y.object!==!1){let J=Y.object||q.object({}).passthrough();Y.object=J.refine((G)=>Object.keys(G).length<=X.maxProperties,{message:`Object must have at most ${X.maxProperties} properties`})}}},yC6=class{apply(Y,Q){let X=Q;if(X.minProperties===void 0)return;if(Y.object!==!1){let J=Y.object||q.object({}).passthrough();Y.object=J.refine((G)=>Object.keys(G).length>=X.minProperties,{message:`Object must have at least ${X.minProperties} properties`})}}},bC6=class{apply(Y,Q){if(!Q.not)return Y;let X=aX(Q.not);return Y.refine((J)=>!tn(X,J),{message:"Value must not match the 'not' schema"})}},hC6=class{apply(Y,Q){if(Q.uniqueItems!==!0)return Y;return Y.refine(fC6(),{message:"Array items must be unique"})}},xC6=class{apply(Y,Q){if(!Q.allOf||Q.allOf.length===0)return Y;return Q.allOf.map((J)=>aX(J)).reduce((J,G)=>q.intersection(J,G),Y)}},gC6=class{apply(Y,Q){if(!Q.anyOf||Q.anyOf.length===0)return Y;let X=Q.anyOf.length===1?aX(Q.anyOf[0]):q.union([aX(Q.anyOf[0]),aX(Q.anyOf[1]),...Q.anyOf.slice(2).map((J)=>aX(J))]);return q.intersection(Y,X)}},uC6=class{apply(Y,Q){if(!Q.oneOf||Q.oneOf.length===0)return Y;let X=Q.oneOf.map((J)=>aX(J));return Y.refine((J)=>{let G=0;for(let K of X)if(K.safeParse(J).success){if(G++,G>1)return!1}return G===1},{message:"Value must match exactly one of the oneOf schemas"})}},mC6=class{apply(Y,Q){let X=Q;if(X.prefixItems&&Array.isArray(X.prefixItems)){let G=X.prefixItems.map((K)=>aX(K));return Y.refine((K)=>{if(!Array.isArray(K))return!0;for(let W=0;W<Math.min(K.length,G.length);W++)if(!tn(G[W],K[W]))return!1;if(K.length>G.length){if(typeof X.items==="boolean"&&X.items===!1)return!1;else if(X.items&&typeof X.items==="object"&&!Array.isArray(X.items)){let W=aX(X.items);for(let Z=G.length;Z<K.length;Z++)if(!tn(W,K[Z]))return!1}}return!0},{message:"Array does not match prefixItems schema"})}return Y}},lC6=class{apply(Y,Q){let X=Q;if(!X.properties&&!X.required&&X.additionalProperties!==!1)return Y;if(Y instanceof q.ZodObject||Y instanceof q.ZodRecord){let J={};if(X.properties){for(let[G,K]of Object.entries(X.properties))if(K!==void 0)J[G]=aX(K)}if(X.required&&Array.isArray(X.required)){let G=new Set(X.required);for(let K of Object.keys(J))if(!G.has(K))J[K]=J[K].optional()}else for(let G of Object.keys(J))J[G]=J[G].optional();if(X.additionalProperties===!1)return q.object(J);else return q.object(J).passthrough()}return Y.refine((J)=>{if(typeof J!=="object"||J===null||Array.isArray(J))return!0;if(X.properties){for(let[G,K]of Object.entries(X.properties))if(K!==void 0){if(Object.getOwnPropertyDescriptor(J,G)!==void 0){if(!aX(K).safeParse(J[G]).success)return!1}}}if(X.required&&Array.isArray(X.required)){for(let G of X.required)if(Object.getOwnPropertyDescriptor(J,G)===void 0)return!1}if(X.additionalProperties===!1&&X.properties){let G=new Set(Object.keys(X.properties));for(let K in J)if(!G.has(K))return!1}return!0},{message:"Object constraints validation failed"})}},dC6=class{apply(Y,Q){if(!Q.enum||Q.enum.length===0)return Y;let X=Q.enum.filter((J)=>Array.isArray(J)||typeof J==="object"&&J!==null);if(X.length===0)return Y;return Y.refine((J)=>{if(typeof J!=="object"||J===null)return!0;return X.some((G)=>yS(J,G))},{message:"Value must match one of the enum values"})}},pC6=class{apply(Y,Q){if(Q.const===void 0)return Y;let X=Q.const;if(typeof X!=="object"||X===null)return Y;return Y.refine((J)=>yS(J,X),{message:"Value must equal the const value"})}},cC6=class{apply(Y,Q){if(Q.description)Y=Y.describe(Q.description);return Y}},nC6=class{apply(Y,Q){var X;let J=Q;if(!((X=J.required)==null?void 0:X.includes("__proto__"))||Q.type!==void 0)return Y;return q.any().refine((G)=>this.validateRequired(G,J.required),{message:"Missing required properties"})}validateRequired(Y,Q){if(typeof Y!=="object"||Y===null||Array.isArray(Y))return!0;return Q.every((X)=>Object.prototype.hasOwnProperty.call(Y,X))}},iC6=class{apply(Y,Q){var X;let J=Q;if(J.contains===void 0)return Y;let G=aX(J.contains),K=(X=J.minContains)!=null?X:1,W=J.maxContains;return Y.refine((Z)=>{if(!Array.isArray(Z))return!0;let H=0;for(let $ of Z)if(tn(G,$))H++;if(H<K)return!1;if(W!==void 0&&H>W)return!1;return!0},{message:"Array must contain required items matching the schema"})}},aC6=class{apply(Y,Q){let{default:X}=Q;if(X===void 0)return Y;if(!Y.safeParse(X).success)return Y;return Y.default(X)}},rC6,oC6;var cS0=j(()=>{s6();s6();s6();s6();s6();s6();s6();s6();s6();s6();s6();s6();s6();s6();rC6=[new UC6,new DC6,new BC6,new zC6,new OC6,new CC6,new vC6,new NC6,new LC6,new MC6,new wC6,new AC6,new PC6,new EC6,new TC6,new SC6,new RC6,new IC6,new jC6,new _C6,new yC6,new kC6],oC6=[new nC6,new dC6,new pC6,new xC6,new gC6,new uC6,new mC6,new lC6,new iC6,new bC6,new hC6,new aC6,new cC6]});class nq1{constructor(Y){this._url=Y}start(){if(this._socket)throw Error("WebSocketClientTransport already started! If using Client class, note that connect() calls start() automatically.");return new Promise((Y,Q)=>{this._socket=new WebSocket(this._url,sC6),this._socket.onerror=(X)=>{let J="error"in X?X.error:Error(`WebSocket error: ${JSON.stringify(X)}`);Q(J),this.onerror?.(J)},this._socket.onopen=()=>{Y()},this._socket.onclose=()=>{this.onclose?.()},this._socket.onmessage=(X)=>{let J;try{J=fG.parse(JSON.parse(X.data))}catch(G){this.onerror?.(G);return}this.onmessage?.(J)}})}async close(){this._socket?.close()}send(Y){return new Promise((Q,X)=>{if(!this._socket){X(Error("Not connected"));return}this._socket?.send(JSON.stringify(Y)),Q()})}}var sC6="mcp";var nS0=j(()=>{kQ()});var iS0,aS0=async(Y,Q,X)=>{let J=tC6(Y.connection,Q,X);if(!J)throw Error("Unknown MCP connection type");let G=new iS0({name:Y?.name??"MCP Client",version:"1.0.0"});return await G.connect(J),{client:G,callStreamableTool:(K,W,Z)=>{if(Y.connection.type!=="HTTP")throw Error("HTTP connection required");let H=new Headers(X);if(!H.has("Authorization"))H.set("Authorization",`Bearer ${Y.connection.token}`);for(let[V,B]of Object.entries(Y.connection.headers??{}))H.set(V,B);let $=new URL(Y.connection.url),F=$.pathname.replace(/\/+$/,"")||"/";return $.pathname=`${F}/call-tool/${encodeURIComponent(K)}`,fetch($.href,{method:"POST",redirect:"manual",body:JSON.stringify(W),headers:H,signal:Z})}}},tC6=(Y,Q,X)=>{if(Y.type==="Websocket")return new nq1(new URL(Y.url));if(Y.type!=="SSE"&&Y.type!=="HTTP")return null;let G={...Y.token?{authorization:`Bearer ${Y.token}`}:{},...X??{},..."headers"in Y?Y.headers||{}:{}};if(Y.type==="SSE"){let K={requestInit:{headers:G,signal:Q}};if(Y.token)K.eventSourceInit={fetch:(W,Z)=>{return fetch(W,{...Z,headers:{...G,Accept:"text/event-stream"},signal:Q})}};return new fz(new URL(Y.url),K)}return new sn(new URL(Y.url),{requestInit:{headers:G,signal:Q,credentials:"include"}})};var rS0=j(()=>{LU();cn();nS0();kQ();cq1();iS0=class iS0 extends eJ{constructor(Y,Q){super(Y,Q)}async listTools(Y,Q){return await this.request({method:"tools/list",params:Y},QT,Q)}}});function tS0(Y){let Q=(X)=>{if("connection"in Y)return aS0({connection:Y.connection},void 0,X);return Y.client};return new Proxy({},{get(X,J){if(J==="toJSON")return null;if(typeof J!=="string")throw Error("Name must be a string");if(J==="listTools")return Z;async function G(H,$=J){let F=Y?.debugId?.(),V=F?{"x-trace-debug-id":F}:void 0,{client:B,callStreamableTool:U}=await Q(V);if(Y?.streamable?.[String($)]){if(!U)throw Error(`Tool ${String($)} requires streaming support but client doesn't provide callStreamableTool`);return await U(String($),H)}let{structuredContent:D,isError:z,content:L}=await B.callTool({name:String($),arguments:H});if(z){let E=L?.[0]?.text,T=typeof E==="string"?oS0(E):null,C=T?.code&&typeof Y?.getErrorByStatusCode==="function"?Y.getErrorByStatusCode(T.code,T.message,T.traceId):null;if(C)throw C;throw Error(`Tool ${String($)} returned an error: ${JSON.stringify(D??L)}`)}if(D!==void 0)return D;let w=L?.[0]?.text;return typeof w==="string"?oS0(w):void 0}async function K(){let{client:H}=await Q(),{tools:$}=await H.listTools();return $}async function W(){if(!("connection"in Y))return K();let H=Y.connection,$=JSON.stringify(H);try{if(!en.has($))en.set($,K());return await en.get($)}catch(F){console.error("Failed to list tools",F),en.delete($);return}}async function Z(){return(await W()??[]).map(($)=>sS0($,G))}return G.asTool=async()=>{let $=(await W()??[]).find((F)=>F.name===J);if(!$)throw Error(`Tool ${J} not found`);return sS0($,G)},G}})}var oS0=(Y)=>{try{return JSON.parse(Y)}catch{return Y}},en,sS0=(Y,Q)=>{return{...Y,id:Y.name,inputSchema:Y.inputSchema?aX(Y.inputSchema):void 0,outputSchema:Y.outputSchema?aX(Y.outputSchema):void 0,execute:(X)=>{return Q(X.context,Y.name)}}};var eS0=j(()=>{cS0();rS0();en=new Map});function hz(Y){return tS0(Y)}var Yi;var iq1=j(()=>{eS0();Yi=new Proxy({},{get(Y,Q){if(Q==="toJSON")return null;if(Q==="forConnection")return(X)=>hz({connection:X});return global[Q]}})});function Qi(Y){return{isImplementedBy:(Q)=>{for(let X of Y){let J=typeof X.name==="string"?new RegExp(`^${X.name}$`):X.name,G=Q.find((K)=>J.test(K.name));if(!G&&X.opt)continue;if(!G)return!1}return!0}}}var lH=(Y)=>{return{...Qi(Y),forClient:(Q)=>{return hz({client:Q,streamable:Y.reduce((X,J)=>{return X[J.name]=J.streamable===!0,X},{})})},forConnection:(Q)=>{return hz({connection:Q,streamable:Y.reduce((X,J)=>{return X[J.name]=J.streamable===!0,X},{})})}}};var xz=j(()=>{iq1()});var Yk0=j(()=>{cq1();iq1();xz()});var aq1=j(()=>{Yk0()});var oq1=(Y)=>{return typeof Y==="object"&&Y!==null&&typeof Y.__type==="string"&&typeof Y.value==="string"},Qk0=(Y,Q,X)=>{let J=X?{"x-caller-app":X}:void 0;if(Q.cookie)J??={},J.cookie=Q.cookie;if(Q.token)J??={},J["x-mesh-token"]=Q.token;return{type:"HTTP",url:new URL(`/mcp/${Y}`,Q.meshUrl).href,token:Q.token,headers:J}},eC6=(Y,Q,X)=>{let J=Qk0(Y,Q,X);return new Proxy(Yi.forConnection(J),{get(G,K){if(K==="value")return Y;if(K==="__type")return X;return G[K]}})},rq1=(Y,Q)=>{if(Y===null||Y===void 0)return Y;if(Array.isArray(Y))return Y.map((X)=>rq1(X,Q));if(typeof Y==="object"){if(oq1(Y))return eC6(Y.value,Q,Y.__type);let X={};for(let[J,G]of Object.entries(Y))X[J]=rq1(G,Q);return X}return Y},Xk0=(Y)=>{return rq1(Y.state,Y)};var Xi=j(()=>{aq1()});var YR6,Jk0=(Y,Q,X)=>{if(!Q)return null;if(Y===void 0||Y==="*")return"*";if(typeof Y==="string")return Y===Q?Y:null;if(Array.isArray(Y))return Y.includes(Q)?Q:null;if(typeof Y==="function")return Y(Q,X)??null;return null},QR6=(Y,Q,X)=>{let J=Q.headers.get("Origin"),G=Jk0(X.origin,J,Q);if(G)Y.set("Access-Control-Allow-Origin",G);if(X.credentials)Y.set("Access-Control-Allow-Credentials","true");if(X.exposeHeaders?.length)Y.set("Access-Control-Expose-Headers",X.exposeHeaders.join(", "))},Gk0=(Y,Q)=>{let X=new Headers,J=Y.headers.get("Origin"),G=Jk0(Q.origin,J,Y);if(G)X.set("Access-Control-Allow-Origin",G);if(Q.credentials)X.set("Access-Control-Allow-Credentials","true");let K=Q.allowMethods??YR6;X.set("Access-Control-Allow-Methods",K.join(", "));let W=Y.headers.get("Access-Control-Request-Headers");if(Q.allowHeaders?.length)X.set("Access-Control-Allow-Headers",Q.allowHeaders.join(", "));else if(W)X.set("Access-Control-Allow-Headers",W);if(Q.maxAge!==void 0)X.set("Access-Control-Max-Age",Q.maxAge.toString());return new Response(null,{status:204,headers:X})},Wk0=(Y,Q,X)=>{let J=new Headers(Y.headers);return QR6(J,Q,X),new Response(Y.body,{status:Y.status,statusText:Y.statusText,headers:J})};var Zk0=j(()=>{YR6=["GET","HEAD","PUT","POST","DELETE","PATCH"]});function Kk0(Y=32){let X=new Uint8Array(Y);return crypto.getRandomValues(X),Array.from(X,(J)=>"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"[J%62]).join("")}function XR6(Y){try{let Q=new URL(Y);return Q.protocol==="https:"||Q.hostname==="localhost"||Q.hostname.endsWith(".localhost")||Q.hostname==="127.0.0.1"||!Q.protocol.startsWith("http")}catch{return!1}}function Hk0(Y){return btoa(JSON.stringify(Y)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function $k0(Y){try{let Q=Y.replace(/-/g,"+").replace(/_/g,"/");return JSON.parse(atob(Q))}catch{return null}}function Fk0(Y){return{handleProtectedResourceMetadata:($)=>{let F=dH(new URL($.url)),V=`${F.origin}/mcp`;return Response.json({resource:V,authorization_servers:[F.origin],scopes_supported:["*"],bearer_methods_supported:["header"],resource_signing_alg_values_supported:["RS256","none"]})},handleAuthorizationServerMetadata:($)=>{let V=dH(new URL($.url)).origin;return Response.json({issuer:V,authorization_endpoint:`${V}/authorize`,token_endpoint:`${V}/token`,registration_endpoint:`${V}/register`,scopes_supported:["*"],response_types_supported:["code"],response_modes_supported:["query"],grant_types_supported:["authorization_code","refresh_token"],token_endpoint_auth_methods_supported:["none","client_secret_post"],code_challenge_methods_supported:["S256","plain"]})},handleAuthorize:($)=>{let F=dH(new URL($.url)),V=F.searchParams.get("redirect_uri"),B=F.searchParams.get("response_type"),U=F.searchParams.get("state"),D=F.searchParams.get("code_challenge"),z=F.searchParams.get("code_challenge_method");if(!V)return Response.json({error:"invalid_request",error_description:"redirect_uri required"},{status:400});if(B!=="code")return Response.json({error:"unsupported_response_type",error_description:"Only 'code' is supported"},{status:400});let L=dH(new URL(`${F.origin}/oauth/callback`)),w=L.toString(),T=Hk0({redirectUri:V,clientState:U??void 0,codeChallenge:D??void 0,codeChallengeMethod:z??void 0,oauthCallbackUri:w});L.searchParams.set("state",T);let C=Y.authorizationUrl(L.toString());return Response.redirect(C,302)},handleOAuthCallback:async($)=>{let F=dH(new URL($.url)),V=F.searchParams.get("code"),B=F.searchParams.get("state"),U=F.searchParams.get("error"),D=B?$k0(B):null;if(U){let z=F.searchParams.get("error_description")??"Authorization failed";if(D?.redirectUri){let L=dH(new URL(D.redirectUri));if(L.searchParams.set("error",U),L.searchParams.set("error_description",z),D.clientState)L.searchParams.set("state",D.clientState);return Response.redirect(L.toString(),302)}return Response.json({error:U,error_description:z},{status:400})}if(!V||!D)return Response.json({error:"invalid_request",error_description:"Missing code or state"},{status:400});try{let z=D.oauthCallbackUri??dH(new URL(`${F.origin}/oauth/callback`)).toString(),L={code:V,redirect_uri:z},w=await Y.exchangeCode(L),E={accessToken:w.access_token,tokenType:w.token_type,refreshToken:w.refresh_token,expiresIn:w.expires_in,scope:w.scope,codeChallenge:D.codeChallenge,codeChallengeMethod:D.codeChallengeMethod},T=Hk0(E),C=dH(new URL(D.redirectUri));if(C.searchParams.set("code",T),D.clientState)C.searchParams.set("state",D.clientState);return Response.redirect(C.toString(),302)}catch(z){console.error("OAuth callback error:",z);let L=dH(new URL(D.redirectUri));if(L.searchParams.set("error","server_error"),L.searchParams.set("error_description","Failed to exchange authorization code"),D.clientState)L.searchParams.set("state",D.clientState);return Response.redirect(L.toString(),302)}},handleToken:async($)=>{try{let F=$.headers.get("content-type")??"",V;if(F.includes("application/x-www-form-urlencoded")){let E=await $.formData();V=Object.fromEntries(E.entries())}else{let E=await $.json();if(typeof E!=="object"||E===null||Array.isArray(E))return Response.json({error:"invalid_request",error_description:"Request body must be a JSON object"},{status:400});V=E}let{code:B,code_verifier:U,grant_type:D,refresh_token:z}=V;if(D==="refresh_token"){if(typeof z!=="string"||!z)return Response.json({error:"invalid_request",error_description:"refresh_token is required and must be a string"},{status:400});if(!Y.refreshToken)return Response.json({error:"unsupported_grant_type",error_description:"refresh_token grant not supported"},{status:400});let E=await Y.refreshToken(z),T={access_token:E.access_token,token_type:E.token_type};if(E.refresh_token)T.refresh_token=E.refresh_token;if(E.expires_in!==void 0)T.expires_in=E.expires_in;if(E.scope)T.scope=E.scope;return Response.json(T,{headers:{"Cache-Control":"no-store",Pragma:"no-cache"}})}if(D!=="authorization_code")return Response.json({error:"unsupported_grant_type",error_description:"Only authorization_code and refresh_token supported"},{status:400});if(typeof B!=="string"||!B)return Response.json({error:"invalid_request",error_description:"code is required and must be a string"},{status:400});let L=$k0(B);if(!L||!L.accessToken)return Response.json({error:"invalid_grant",error_description:"Invalid or expired code"},{status:400});if(L.codeChallenge){if(typeof U!=="string"||!U)return Response.json({error:"invalid_grant",error_description:"code_verifier required and must be a string"},{status:400});let E;if(L.codeChallengeMethod==="S256"){let C=new TextEncoder().encode(U),P=await crypto.subtle.digest("SHA-256",C);E=btoa(String.fromCharCode(...new Uint8Array(P))).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}else E=U;if(E!==L.codeChallenge)return Response.json({error:"invalid_grant",error_description:"Invalid code_verifier"},{status:400})}let w={access_token:L.accessToken,token_type:L.tokenType};if(L.refreshToken)w.refresh_token=L.refreshToken;if(L.expiresIn!==void 0)w.expires_in=L.expiresIn;if(L.scope)w.scope=L.scope;return Response.json(w,{headers:{"Cache-Control":"no-store",Pragma:"no-cache"}})}catch(F){return console.error("Token exchange error:",F),Response.json({error:"server_error",error_description:"Failed to process token request"},{status:500})}},handleClientRegistration:async($)=>{try{let F=await $.json();if(!F.redirect_uris||F.redirect_uris.length===0)return Response.json({error:"invalid_redirect_uri",error_description:"At least one redirect_uri is required"},{status:400});for(let z of F.redirect_uris)if(!XR6(z))return Response.json({error:"invalid_redirect_uri",error_description:`Invalid redirect URI: ${z}`},{status:400});let V=Kk0(32),B=F.token_endpoint_auth_method!=="none"?Kk0(32):void 0,U=Math.floor(Date.now()/1000),D={client_id:V,client_secret:B,client_name:F.client_name,redirect_uris:F.redirect_uris,grant_types:F.grant_types??["authorization_code"],response_types:F.response_types??["code"],token_endpoint_auth_method:F.token_endpoint_auth_method??"client_secret_post",scope:F.scope,client_id_issued_at:U,client_secret_expires_at:0};if(Y.persistence)await Y.persistence.saveClient(D);return new Response(JSON.stringify(D),{status:201,headers:{"Content-Type":"application/json","Cache-Control":"no-store",Pragma:"no-cache"}})}catch(F){return console.error("Client registration error:",F),Response.json({error:"invalid_client_metadata",error_description:"Invalid client registration request"},{status:400})}},createUnauthorizedResponse:($)=>{let B=`Bearer resource_metadata="${`${dH(new URL($.url)).origin}/.well-known/oauth-protected-resource`}", scope="*"`;return Response.json({jsonrpc:"2.0",error:{code:-32000,message:"Unauthorized: Authentication required"},id:null},{status:401,headers:{"WWW-Authenticate":B,"Access-Control-Expose-Headers":"WWW-Authenticate"}})},hasAuth:($)=>$.headers.has("Authorization")}}var dH=(Y)=>{if(!(Y.hostname==="localhost"||Y.hostname.endsWith(".localhost")||Y.hostname==="127.0.0.1"))Y.protocol="https:";return Y};import{AsyncLocalStorage as JR6}from"async_hooks";var Vk0,fS;var sq1=j(()=>{Vk0=new JR6,fS={getStore:()=>{return Vk0.getStore()},run:(Y,Q,...X)=>Vk0.run(Y,Q,...X)}});function n$(Y){return q.object({items:q.array(Y).describe("Array of collection items"),totalCount:q.number().int().min(0).optional().describe("Total number of matching items (if available)"),hasMore:q.boolean().optional().describe("Whether there are more items available")})}function hS(Y){return q.object({item:Y.nullable().describe("The retrieved item, or null if not found")})}function ZR6(Y){return q.object({data:Y.partial().describe("Data for the new entity (id may be auto-generated)")})}function KR6(Y){return q.object({item:Y.describe("The created entity with generated id")})}function HR6(Y){return q.object({id:q.string().describe("ID of the entity to update"),data:Y.partial().describe("Partial entity data to update")})}function $R6(Y){return q.object({item:Y.describe("The updated entity")})}function gS(Y){return q.object({item:Y.describe("The deleted entity")})}function cH(Y,Q,X){let J=Y.toUpperCase(),G=X?.readOnly??!1,K=[{name:`COLLECTION_${J}_LIST`,inputSchema:lZ,outputSchema:n$(Q)},{name:`COLLECTION_${J}_GET`,inputSchema:bS,outputSchema:hS(Q)}];if(!G)K.push({name:`COLLECTION_${J}_CREATE`,inputSchema:ZR6(Q),outputSchema:KR6(Q),opt:!0},{name:`COLLECTION_${J}_UPDATE`,inputSchema:HR6(Q),outputSchema:$R6(Q),opt:!0},{name:`COLLECTION_${J}_DELETE`,inputSchema:xS,outputSchema:gS(Q),opt:!0});return K}var pH,GR6,qk0,WR6,lZ,bS,xS;var MG=j(()=>{n1();pH=q.object({id:q.string().describe("Unique identifier for the entity"),title:q.string().describe("Human-readable title for the entity"),description:q.string().nullish().describe("Description of the entity"),created_at:q.string().datetime(),updated_at:q.string().datetime(),created_by:q.string().optional(),updated_by:q.string().optional()}),GR6=q.object({field:q.array(q.string()),operator:q.enum(["eq","gt","gte","lt","lte","in","like","contains"]),value:q.unknown()}),qk0=q.lazy(()=>q.union([GR6,q.object({operator:q.enum(["and","or","not"]),conditions:q.array(qk0)})])),WR6=q.object({field:q.array(q.string()),direction:q.enum(["asc","desc"]),nulls:q.enum(["first","last"]).optional()}),lZ=q.object({where:qk0.optional().describe("Filter expression"),orderBy:q.array(WR6).optional().describe("Sort expressions"),limit:q.number().int().min(1).max(1000).optional().describe("Maximum number of items to return"),offset:q.number().int().min(0).optional().describe("Number of items to skip")});bS=q.object({id:q.string().describe("ID of the entity to retrieve")});xS=q.object({id:q.string().describe("ID of the entity to delete")})});var FR6,Bk0,E09;var Uk0=j(()=>{n1();MG();FR6=q.object({id:q.string(),name:q.string(),description:q.string().optional(),inputSchema:q.record(q.string(),q.unknown()),outputSchema:q.record(q.string(),q.unknown()).optional()}),Bk0=pH.extend({_meta:q.object({"io.decocms":q.object({id:q.string(),verified:q.boolean(),scopeName:q.string(),appName:q.string(),friendlyName:q.string().nullable().optional(),metadata:q.record(q.string(),q.unknown()).nullable().optional(),publishedAt:q.string().datetime().optional(),updatedAt:q.string().datetime().optional(),tools:q.array(FR6).nullable().optional().describe("Available tools exposed by this app")}).optional()}).optional(),server:q.object({$schema:q.string().optional(),_meta:q.record(q.string(),q.unknown()).optional(),name:q.string().describe("The server name (scope/app)"),title:q.string().optional().describe("User-friendly title"),description:q.string().optional().describe("Server description"),icons:q.array(q.object({src:q.string(),mimeType:q.string().optional(),sizes:q.array(q.string()).optional(),theme:q.enum(["light","dark"]).optional()})).optional(),remotes:q.array(q.object({type:q.enum(["http","stdio","sse"]),url:q.string().optional(),headers:q.array(q.unknown()).optional()})).optional(),packages:q.array(q.unknown()).optional(),repository:q.object({url:q.string(),source:q.string().optional(),subfolder:q.string().optional()}).optional(),version:q.string().optional(),websiteUrl:q.string().optional()})}),E09=cH("registry_app",Bk0,{readOnly:!0})});var Dk0,Ji,zk0,Gi,Ok0,tq1;var Nk0=j(()=>{n1();xz();Dk0=q.object({specversion:q.literal("1.0").describe("CloudEvents specification version"),id:q.string().describe("Unique identifier for this event (UUID recommended)"),source:q.string().describe("Connection ID of the event publisher"),type:q.string().describe("Event type (e.g., 'order.created', 'user.signup')"),time:q.string().datetime().optional().describe("Timestamp of when the event occurred (ISO 8601)"),subject:q.string().optional().describe("Subject/resource identifier (e.g., order ID, user ID)"),datacontenttype:q.string().optional().default("application/json").describe("Content type of the data attribute"),dataschema:q.string().url().optional().describe("URI to the schema for the data attribute"),data:q.unknown().optional().describe("Event payload (any JSON value)")}),Ji=q.object({events:q.array(Dk0).min(1).describe("Batch of CloudEvents to process")}),zk0=q.object({success:q.boolean().optional().describe("Whether this event was processed successfully"),error:q.string().optional().describe("Error message for this event"),retryAfter:q.number().int().positive().optional().describe("Re-deliver this event after this many ms")}),Gi=q.object({success:q.boolean().optional().describe("Batch success - applies to events not in results"),error:q.string().optional().describe("Batch error message - applies to events not in results"),processedCount:q.number().int().min(0).optional().describe("Number of events successfully processed"),retryAfter:q.number().int().positive().optional().describe("Batch retryAfter - applies to events not in results"),results:q.record(q.string(),zk0).optional().describe("Per-event results keyed by event ID")}),Ok0=[{name:"ON_EVENTS",inputSchema:Ji,outputSchema:Gi}],tq1=lH(Ok0)});var uS,mS,lS,dS,Lk0,Mk0,pS,cS,nS,iS,aS,rS,oS,sS,wk0,VR6;var Ak0=j(()=>{n1();xz();uS=q.object({type:q.string().min(1).max(255).describe("Event type identifier"),subject:q.string().max(255).optional().describe("Subject/resource identifier (e.g., order ID)"),data:q.unknown().optional().describe("Event payload"),deliverAt:q.string().datetime().optional().describe("Scheduled delivery time (ISO 8601). Omit for immediate delivery."),cron:q.string().max(100).optional().describe("Cron expression for recurring delivery. Use EVENT_CANCEL to stop.")}),mS=q.object({id:q.string().describe("Unique event ID"),type:q.string().describe("Event type"),source:q.string().describe("Source connection ID"),time:q.string().describe("Event timestamp")}),lS=q.object({eventType:q.string().min(1).max(255).describe("Event type to subscribe to"),publisher:q.string().optional().describe("Filter events by publisher connection ID"),filter:q.string().max(1000).optional().describe("JSONPath filter expression on event data")}),dS=q.object({subscription:q.object({id:q.string().describe("Subscription ID"),connectionId:q.string().describe("Subscriber connection ID"),eventType:q.string().describe("Event type pattern"),publisher:q.string().nullable().describe("Publisher connection filter"),filter:q.string().nullable().describe("JSONPath filter expression"),enabled:q.boolean().describe("Whether subscription is enabled"),createdAt:q.string().datetime().describe("Created timestamp (ISO 8601)"),updatedAt:q.string().datetime().describe("Updated timestamp (ISO 8601)")})}),Lk0=q.object({eventType:q.string().min(1).max(255).describe("Event type to subscribe to"),publisher:q.string().optional().describe("Filter events by publisher connection ID"),filter:q.string().max(1000).optional().describe("JSONPath filter expression on event data")}),Mk0=q.object({id:q.string().describe("Subscription ID"),connectionId:q.string().describe("Subscriber connection ID"),eventType:q.string().describe("Event type pattern"),publisher:q.string().nullable().describe("Publisher connection filter"),filter:q.string().nullable().describe("JSONPath filter expression"),enabled:q.boolean().describe("Whether subscription is enabled"),createdAt:q.string().datetime().describe("Created timestamp (ISO 8601)"),updatedAt:q.string().datetime().describe("Updated timestamp (ISO 8601)")}),pS=q.object({subscriptions:q.array(Lk0).describe("Desired subscriptions - system will create/update/delete to match")}),cS=q.object({created:q.number().int().min(0).describe("Number of subscriptions created"),updated:q.number().int().min(0).describe("Number of subscriptions with filter updated"),deleted:q.number().int().min(0).describe("Number of subscriptions removed"),unchanged:q.number().int().min(0).describe("Number of subscriptions unchanged"),subscriptions:q.array(Mk0).describe("Current subscriptions after sync")}),nS=q.object({subscriptionId:q.string().describe("Subscription ID to remove")}),iS=q.object({success:q.boolean().describe("Whether unsubscribe was successful"),subscriptionId:q.string().describe("Subscription ID that was removed")}),aS=q.object({eventId:q.string().describe("Event ID to cancel")}),rS=q.object({success:q.boolean().describe("Whether cancellation was successful"),eventId:q.string().describe("Event ID that was cancelled")}),oS=q.object({eventId:q.string().describe("Event ID to acknowledge")}),sS=q.object({success:q.boolean().describe("Whether ACK was successful"),eventId:q.string().describe("Event ID that was acknowledged")}),wk0=[{name:"EVENT_PUBLISH",inputSchema:uS,outputSchema:mS},{name:"EVENT_SUBSCRIBE",inputSchema:lS,outputSchema:dS},{name:"EVENT_UNSUBSCRIBE",inputSchema:nS,outputSchema:iS},{name:"EVENT_CANCEL",inputSchema:aS,outputSchema:rS},{name:"EVENT_ACK",inputSchema:oS,outputSchema:sS},{name:"EVENT_SYNC_SUBSCRIPTIONS",inputSchema:pS,outputSchema:cS}],VR6=lH(wk0)});var qR6,BR6,UR6,DR6,zR6,OR6,NR6,LR6,MR6,wR6,AR6,PR6,tS;var Wi=j(()=>{n1();qR6=q.object({prefix:q.string().optional().describe("Filter objects by prefix (e.g., 'folder/' for folder contents)"),maxKeys:q.number().optional().default(1000).describe("Maximum number of keys to return (default: 1000)"),continuationToken:q.string().optional().describe("Token for pagination from previous response"),delimiter:q.string().optional().describe("Delimiter for grouping keys (typically '/'). When set, commonPrefixes returns folder paths.")}),BR6=q.object({objects:q.array(q.object({key:q.string().describe("Object key/path"),size:q.number().describe("Object size in bytes"),lastModified:q.string().describe("Last modified timestamp"),etag:q.string().describe("Entity tag for the object")})),nextContinuationToken:q.string().optional().describe("Token for fetching next page of results"),isTruncated:q.boolean().describe("Whether there are more results available"),commonPrefixes:q.array(q.string()).optional().describe("Folder paths when delimiter is used (e.g., ['photos/2024/', 'photos/2025/'])")}),UR6=q.object({key:q.string().describe("Object key/path to get metadata for")}),DR6=q.object({contentType:q.string().optional().describe("MIME type of the object"),contentLength:q.number().describe("Size of the object in bytes"),lastModified:q.string().describe("Last modified timestamp"),etag:q.string().describe("Entity tag for the object"),metadata:q.record(q.string(),q.string()).optional().describe("Custom metadata key-value pairs")}),zR6=q.object({key:q.string().describe("Object key/path to generate URL for"),expiresIn:q.number().optional().describe("URL expiration time in seconds (default: from state config or 3600)")}),OR6=q.object({url:q.string().describe("Presigned URL for downloading the object"),expiresIn:q.number().describe("Expiration time in seconds that was used")}),NR6=q.object({key:q.string().describe("Object key/path for the upload"),expiresIn:q.number().optional().describe("URL expiration time in seconds (default: from state config or 3600)"),contentType:q.string().optional().describe("MIME type for the object being uploaded")}),LR6=q.object({url:q.string().describe("Presigned URL for uploading the object"),expiresIn:q.number().describe("Expiration time in seconds that was used")}),MR6=q.object({key:q.string().describe("Object key/path to delete")}),wR6=q.object({success:q.boolean().describe("Whether the deletion was successful"),key:q.string().describe("The key that was deleted")}),AR6=q.object({keys:q.array(q.string()).max(1000).describe("Array of object keys/paths to delete (max 1000)")}),PR6=q.object({deleted:q.array(q.string()).describe("Array of successfully deleted keys"),errors:q.array(q.object({key:q.string(),message:q.string()})).describe("Array of errors for failed deletions")}),tS=[{name:"LIST_OBJECTS",inputSchema:qR6,outputSchema:BR6},{name:"GET_OBJECT_METADATA",inputSchema:UR6,outputSchema:DR6},{name:"GET_PRESIGNED_URL",inputSchema:zR6,outputSchema:OR6},{name:"PUT_PRESIGNED_URL",inputSchema:NR6,outputSchema:LR6},{name:"DELETE_OBJECT",inputSchema:MR6,outputSchema:wR6},{name:"DELETE_OBJECTS",inputSchema:AR6,outputSchema:PR6}]});function _R6(Y,Q){let X=[];function J(G){if(typeof G==="string"){let K=G.match(/@(\w+)/g);if(K)for(let W of K){let Z=W.substring(1);if(Q.has(Z))X.push(Z)}}else if(Array.isArray(G))G.forEach(J);else if(typeof G==="object"&&G!==null)Object.values(G).forEach(J)}return J(Y.input),[...new Set(X)]}function Ck0(Y){let Q=new Set(Y.map((W)=>W.name)),X=new Map;for(let W of Y)X.set(W.name,_R6(W,Q));let J=new Set,G=new Set;function K(W,Z){if(G.has(W))return[...Z,W];if(J.has(W))return null;J.add(W),G.add(W);let H=X.get(W)||[];for(let $ of H){let F=K($,[...Z,W]);if(F)return F}return G.delete(W),null}for(let W of Y){let Z=K(W.name,[]);if(Z)return{isValid:!1,error:`Circular dependency detected: ${Z.join(" -> ")}`}}return{isValid:!0}}var eq1,ER6,h09,TR6,CR6,Pk0,gz,RR6,Ek0,IR6,x09,jR6,Tk0,SR6,kR6,vR6,g09,u09;var CA=j(()=>{n1();xz();MG();eq1=q.object({toolName:q.string().describe("Name of the tool to invoke on that connection"),transformCode:q.string().optional().describe("Pure TypeScript function for data transformation of the tool call result. Must be a TypeScript file that declares the Output interface and exports a default function: `interface Output { ... } export default async function(input): Output { ... }`\n The input will match with the tool call outputSchema. If transformCode is not provided, the tool call result will be used as the step output. \n Providing an transformCode is recommended because it both allows you to transform the data and validate it against a JSON Schema - tools are ephemeral and may return unexpected data.")}),ER6=q.object({code:q.string().describe(`Pure TypeScript function for data transformation. Useful to merge data from multiple steps and transform it. Must be a TypeScript file that declares the Output interface and exports a default function: \`interface Output { ... } export default async function(input): Output { ... }\`
1196
1196
  The input is the resolved value of the references in the input field. Example:
1197
1197
  {
1198
1198
  "input": {
@@ -1258,7 +1258,7 @@ Error message: ${cZ(X)}`,cause:X});this[Py0]=!0,this.value=Q,this.context=J}stat
1258
1258
  ]))`;continue}}if(J.s&&G[$]==="."){K+=Z?`${G[$]}\r
1259
1259
  `:`[${G[$]}\r
1260
1260
  ]`;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 wf0(Y,Q){var X,J,G,K,W,Z;let H={type:"object",additionalProperties:(X=w9(Y.valueType._def,{...Q,currentPath:[...Q.currentPath,"additionalProperties"]}))!=null?X:Q.allowedAdditionalProperties};if(((J=Y.keyType)==null?void 0:J._def.typeName)===e1.ZodString&&((G=Y.keyType._def.checks)==null?void 0:G.length)){let{type:$,...F}=Mf0(Y.keyType._def,Q);return{...H,propertyNames:F}}else if(((K=Y.keyType)==null?void 0:K._def.typeName)===e1.ZodEnum)return{...H,propertyNames:{enum:Y.keyType._def.values}};else if(((W=Y.keyType)==null?void 0:W._def.typeName)===e1.ZodBranded&&Y.keyType._def.type._def.typeName===e1.ZodString&&((Z=Y.keyType._def.type._def.checks)==null?void 0:Z.length)){let{type:$,...F}=Nf0(Y.keyType._def,Q);return{...H,propertyNames:F}}return H}function Uk6(Y,Q){if(Q.mapStrategy==="record")return wf0(Y,Q);let X=w9(Y.keyType._def,{...Q,currentPath:[...Q.currentPath,"items","items","0"]})||q7(),J=w9(Y.valueType._def,{...Q,currentPath:[...Q.currentPath,"items","items","1"]})||q7();return{type:"array",maxItems:125,items:{type:"array",items:[X,J],minItems:2,maxItems:2}}}function Dk6(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 zk6(){return{not:q7()}}function Ok6(){return{type:"null"}}function Nk6(Y,Q){let X=Y.options instanceof Map?Array.from(Y.options.values()):Y.options;if(X.every((J)=>(J._def.typeName in VU1)&&(!J._def.checks||!J._def.checks.length))){let J=X.reduce((G,K)=>{let W=VU1[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 Lk6(Y,Q)}function Mk6(Y,Q){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(Y.innerType._def.typeName)&&(!Y.innerType._def.checks||!Y.innerType._def.checks.length))return{type:[VU1[Y.innerType._def.typeName],"null"]};let X=w9(Y.innerType._def,{...Q,currentPath:[...Q.currentPath,"anyOf","0"]});return X&&{anyOf:[X,{type:"null"}]}}function wk6(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 Ak6(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=Ek6(Z),$=w9(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=Pk6(Y,Q);if(K!==void 0)X.additionalProperties=K;return X}function Pk6(Y,Q){if(Y.catchall._def.typeName!=="ZodNever")return w9(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 Ek6(Y){try{return Y.isOptional()}catch(Q){return!0}}function Rk6(Y,Q){return w9(Y.type._def,Q)}function Ik6(Y,Q){let J={type:"array",uniqueItems:!0,items:w9(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 jk6(Y,Q){if(Y.rest)return{type:"array",minItems:Y.items.length,items:Y.items.map((X,J)=>w9(X._def,{...Q,currentPath:[...Q.currentPath,"items",`${J}`]})).reduce((X,J)=>J===void 0?X:[...X,J],[]),additionalItems:w9(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)=>w9(X._def,{...Q,currentPath:[...Q.currentPath,"items",`${J}`]})).reduce((X,J)=>J===void 0?X:[...X,J],[])}}function Sk6(){return{not:q7()}}function kk6(){return q7()}function w9(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!==eS6)return H}if(G&&!X){let H=fk6(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=_k6(Y,Y.typeName,Q),Z=typeof W==="function"?w9(W(),Q):W;if(Z)bk6(Y,Q,Z);if(Q.postProcess){let H=Q.postProcess(Z,Y,Q);return K.jsonSchema=Z,H}return K.jsonSchema=Z,Z}function FQ(Y){let Q;return()=>{if(Q==null)Q=Y();return Q}}function SW(Y,{validate:Q}={}){return{[qU1]:!0,_type:void 0,get jsonSchema(){if(typeof Y==="function")Y=Y();return Y},validate:Q}}function gk6(Y){return typeof Y==="object"&&Y!==null&&qU1 in Y&&Y[qU1]===!0&&"jsonSchema"in Y&&"validate"in Y}function iH(Y){return Y==null?SW({properties:{},additionalProperties:!1}):gk6(Y)?Y:("~standard"in Y)?Y["~standard"].vendor==="zod"?l8(Y):uk6(Y):Y()}function uk6(Y){return SW(()=>zU1(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 PG({value:Q,cause:X.issues})}}})}function mk6(Y,Q){var X;let J=(X=Q==null?void 0:Q.useReferences)!=null?X:!1;return SW(()=>xk6(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 lk6(Y,Q){var X;let J=(X=Q==null?void 0:Q.useReferences)!=null?X:!1;return SW(()=>zU1(LK(Y,{target:"draft-7",io:"input",reused:J?"ref":"inline"})),{validate:async(G)=>{let K=await AN(Y,G);return K.success?{success:!0,value:K.data}:{success:!1,error:K.error}}})}function dk6(Y){return"_zod"in Y}function l8(Y,Q){if(dk6(Y))return lk6(Y,Q);else return mk6(Y,Q)}async function aH({value:Y,schema:Q,context:X}){let J=await j5({value:Y,schema:Q,context:X});if(!J.success)throw PG.wrap({value:Y,cause:J.error,context:X});return J.value}async function j5({value:Y,schema:Q,context:X}){let J=iH(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:PG.wrap({value:Y,cause:G.error,context:X}),rawValue:Y}}catch(G){return{success:!1,error:PG.wrap({value:Y,cause:G,context:X}),rawValue:Y}}}async function pk6({text:Y,schema:Q}){try{let X=Of0(Y);if(Q==null)return X;return aH({value:X,schema:Q})}catch(X){if(Ok.isInstance(X)||PG.isInstance(X))throw X;throw new Ok({text:Y,cause:X})}}async function EG({text:Y,schema:Q}){try{let X=Of0(Y);if(Q==null)return{success:!0,value:X,rawValue:X};return await j5({value:X,schema:Q})}catch(X){return{success:!1,error:Ok.isInstance(X)?X:new Ok({text:Y,cause:X}),rawValue:void 0}}}function ai({stream:Y,schema:Q}){return Y.pipeThrough(new TextDecoderStream).pipeThrough(new MU).pipeThrough(new TransformStream({async transform({data:X},J){if(X==="[DONE]")return;J.enqueue(await EG({text:X,schema:Q}))}}))}function fJ(Y){return Y}function ri({id:Y,inputSchema:Q,outputSchema:X,supportsDeferredResults:J}){return({execute:G,needsApproval:K,toModelOutput:W,onInputStart:Z,onInputDelta:H,onInputAvailable:$,...F})=>fJ({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 Pf0(Y){return Y==null?void 0:Y.replace(/\/$/,"")}function ik6(Y){return Y!=null&&typeof Y[Symbol.asyncIterator]==="function"}async function*Ef0({execute:Y,input:Q,options:X}){let J=Y(Q,X);if(ik6(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 rz=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"}},lS6,dS6,Ff0="AI_DownloadError",Vf0,pS6,Gf0,Wf0,mA,BU1=2147483648,nH=({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 fy0({argument:"separator",message:`The separator "${J}" must not be part of the alphabet "${X}".`});return()=>`${Y}${J}${G()}`},UU1,cS6,nS6,Uf0="4.0.17",rS6=()=>globalThis.fetch,DU1=async({url:Y,headers:Q={},successfulResponseHandler:X,failedResponseHandler:J,abortSignal:G,fetch:K=rS6()})=>{try{let W=await K(Y,{method:"GET",headers:e$(Q,`ai-sdk/provider-utils/${Uf0}`,ii()),signal:G}),Z=Nk(W);if(!W.ok){let H;try{H=await J({response:W,url:Y,requestBodyValues:{}})}catch($){if(o$($)||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(o$(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 Bf0({error:W,url:Y,requestBodyValues:{}})}},oS6,sS6,eS6,Kf0,Yk6=(Y)=>typeof Y==="string"?{...Kf0,name:Y}:{...Kf0,...Y},Gk6=(Y,Q)=>{return w9(Y.innerType._def,Q)},Wk6=(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},$k6=(Y)=>{if("type"in Y&&Y.type==="string")return!1;return"allOf"in Y},$U1=void 0,nZ,qk6,VU1,Lk6=(Y,Q)=>{let X=(Y.options instanceof Map?Array.from(Y.options.values()):Y.options).map((J,G)=>w9(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},Tk6=(Y,Q)=>{var X;if(Q.currentPath.toString()===((X=Q.propertyPath)==null?void 0:X.toString()))return w9(Y.innerType._def,Q);let J=w9(Y.innerType._def,{...Q,currentPath:[...Q.currentPath,"anyOf","1"]});return J?{anyOf:[{not:q7()},J]}:q7()},Ck6=(Y,Q)=>{if(Q.pipeStrategy==="input")return w9(Y.in._def,Q);else if(Q.pipeStrategy==="output")return w9(Y.out._def,Q);let X=w9(Y.in._def,{...Q,currentPath:[...Q.currentPath,"allOf","0"]}),J=w9(Y.out._def,{...Q,currentPath:[...Q.currentPath,"allOf",X?"1":"0"]});return{allOf:[X,J].filter((G)=>G!==void 0)}},vk6=(Y,Q)=>{return w9(Y.innerType._def,Q)},_k6=(Y,Q,X)=>{switch(Q){case e1.ZodString:return Mf0(Y,X);case e1.ZodNumber:return wk6(Y);case e1.ZodObject:return Ak6(Y,X);case e1.ZodBigInt:return Xk6(Y);case e1.ZodBoolean:return Jk6();case e1.ZodDate:return Lf0(Y,X);case e1.ZodUndefined:return Sk6();case e1.ZodNull:return Ok6();case e1.ZodArray:return Qk6(Y,X);case e1.ZodUnion:case e1.ZodDiscriminatedUnion:return Nk6(Y,X);case e1.ZodIntersection:return Fk6(Y,X);case e1.ZodTuple:return jk6(Y,X);case e1.ZodRecord:return wf0(Y,X);case e1.ZodLiteral:return Vk6(Y);case e1.ZodEnum:return Hk6(Y);case e1.ZodNativeEnum:return Dk6(Y);case e1.ZodNullable:return Mk6(Y,X);case e1.ZodOptional:return Tk6(Y,X);case e1.ZodMap:return Uk6(Y,X);case e1.ZodSet:return Ik6(Y,X);case e1.ZodLazy:return()=>Y.getter()._def;case e1.ZodPromise:return Rk6(Y,X);case e1.ZodNaN:case e1.ZodNever:return zk6();case e1.ZodEffects:return Kk6(Y,X);case e1.ZodAny:return q7();case e1.ZodUnknown:return kk6();case e1.ZodDefault:return Zk6(Y,X);case e1.ZodBranded:return Nf0(Y,X);case e1.ZodReadonly:return vk6(Y,X);case e1.ZodCatch:return Gk6(Y,X);case e1.ZodPipeline:return Ck6(Y,X);case e1.ZodFunction:case e1.ZodVoid:case e1.ZodSymbol:return;default:return((J)=>{return})(Q)}},yk6=(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("/")},fk6=(Y,Q)=>{switch(Q.$refStrategy){case"root":return{$ref:Y.path.join("/")};case"relative":return{$ref:yk6(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`),q7();return Q.$refStrategy==="seen"?q7():void 0}}},bk6=(Y,Q,X)=>{if(Y.description)X.description=Y.description;return X},hk6=(Y)=>{let Q=Yk6(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}]))}},xk6=(Y,Q)=>{var X;let J=hk6(Q),G=typeof Q==="object"&&Q.definitions?Object.entries(Q.definitions).reduce(($,[F,V])=>{var B;return{...$,[F]:(B=w9(V._def,{...J,currentPath:[...J.basePath,J.definitionPath,F]},!0))!=null?B:q7()}},{}):void 0,K=typeof Q==="string"?Q:(Q==null?void 0:Q.nameStrategy)==="title"?void 0:Q==null?void 0:Q.name,W=(X=w9(Y._def,K===void 0?J:{...J,currentPath:[...J.basePath,J.definitionPath,K]},!1))!=null?X:q7(),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},qU1,ck6=()=>globalThis.fetch,YF=async({url:Y,headers:Q,body:X,failedResponseHandler:J,successfulResponseHandler:G,abortSignal:K,fetch:W})=>nk6({url:Y,headers:{"Content-Type":"application/json",...Q},body:{content:JSON.stringify(X),values:X},failedResponseHandler:J,successfulResponseHandler:G,abortSignal:K,fetch:W}),nk6=async({url:Y,headers:Q={},body:X,successfulResponseHandler:J,failedResponseHandler:G,abortSignal:K,fetch:W=ck6()})=>{try{let Z=await W(Y,{method:"POST",headers:e$(Q,`ai-sdk/provider-utils/${Uf0}`,ii()),body:X.content,signal:K}),H=Nk(Z);if(!Z.ok){let $;try{$=await G({response:Z,url:Y,requestBodyValues:X.values})}catch(F){if(o$(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(o$($)||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 Bf0({error:Z,url:Y,requestBodyValues:X.values})}},kW=({errorSchema:Y,errorToMessage:Q,isRetryable:X})=>async({response:J,url:G,requestBodyValues:K})=>{let W=await J.text(),Z=Nk(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 pk6({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)})}}},Af0=(Y)=>async({response:Q})=>{let X=Nk(Q);if(Q.body==null)throw new vy0({});return{responseHeaders:X,value:ai({stream:Q.body,schema:Y})}},QF=(Y)=>async({response:Q,url:X,requestBodyValues:J})=>{let G=await Q.text(),K=await EG({text:G,schema:Y}),W=Nk(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 J8=j(()=>{k8();k8();k8();k8();k8();k8();k8();s6();hF();hF();hF();Ax();k8();k8();({btoa:lS6,atob:dS6}=globalThis);Vf0=`vercel.ai.error.${Ff0}`,pS6=Symbol.for(Vf0),mA=class extends(Wf0=J4,Gf0=pS6,Wf0){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:Ff0,message:G,cause:J});this[Gf0]=!0,this.url=Y,this.statusCode=Q,this.statusText=X}static isInstance(Y){return J4.hasMarker(Y,Vf0)}};UU1=nH();cS6=["fetch failed","failed to fetch"],nS6=["ConnectionRefused","ConnectionClosed","FailedToOpenSocket","ECONNRESET","ECONNREFUSED","ETIMEDOUT","EPIPE"];oS6=/"__proto__"\s*:/,sS6=/"constructor"\s*:/;eS6=Symbol("Let zodToJsonSchema decide on which parser to use"),Kf0={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"};nZ={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($U1===void 0)$U1=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return $U1},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-_]*$/};qk6=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");VU1={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};qU1=Symbol.for("vercel.ai.schema")});var NU1=I((nY9,Rf0)=>{var{defineProperty:OU1,getOwnPropertyDescriptor:ak6,getOwnPropertyNames:rk6}=Object,ok6=Object.prototype.hasOwnProperty,sk6=(Y,Q)=>{for(var X in Q)OU1(Y,X,{get:Q[X],enumerable:!0})},tk6=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of rk6(Q))if(!ok6.call(Y,G)&&G!==X)OU1(Y,G,{get:()=>Q[G],enumerable:!(J=ak6(Q,G))||J.enumerable})}return Y},ek6=(Y)=>tk6(OU1({},"__esModule",{value:!0}),Y),Tf0={};sk6(Tf0,{SYMBOL_FOR_REQ_CONTEXT:()=>Cf0,getContext:()=>Yv6});Rf0.exports=ek6(Tf0);var Cf0=Symbol.for("@vercel/request-context");function Yv6(){return globalThis[Cf0]?.get?.()??{}}});var Lk=I((iY9,Sf0)=>{var{defineProperty:LU1,getOwnPropertyDescriptor:Qv6,getOwnPropertyNames:Xv6}=Object,Jv6=Object.prototype.hasOwnProperty,Gv6=(Y,Q)=>{for(var X in Q)LU1(Y,X,{get:Q[X],enumerable:!0})},Wv6=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of Xv6(Q))if(!Jv6.call(Y,G)&&G!==X)LU1(Y,G,{get:()=>Q[G],enumerable:!(J=Qv6(Q,G))||J.enumerable})}return Y},Zv6=(Y)=>Wv6(LU1({},"__esModule",{value:!0}),Y),If0={};Gv6(If0,{VercelOidcTokenError:()=>jf0});Sf0.exports=Zv6(If0);class jf0 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 yf0=I((aY9,_f0)=>{var{create:Kv6,defineProperty:oi,getOwnPropertyDescriptor:Hv6,getOwnPropertyNames:$v6,getPrototypeOf:Fv6}=Object,Vv6=Object.prototype.hasOwnProperty,qv6=(Y,Q)=>{for(var X in Q)oi(Y,X,{get:Q[X],enumerable:!0})},kf0=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of $v6(Q))if(!Vv6.call(Y,G)&&G!==X)oi(Y,G,{get:()=>Q[G],enumerable:!(J=Hv6(Q,G))||J.enumerable})}return Y},wU1=(Y,Q,X)=>(X=Y!=null?Kv6(Fv6(Y)):{},kf0(Q||!Y||!Y.__esModule?oi(X,"default",{value:Y,enumerable:!0}):X,Y)),Bv6=(Y)=>kf0(oi({},"__esModule",{value:!0}),Y),vf0={};qv6(vf0,{findRootDir:()=>zv6,getUserDataDir:()=>Ov6});_f0.exports=Bv6(vf0);var Mk=wU1(P1("path")),Uv6=wU1(P1("fs")),MU1=wU1(P1("os")),Dv6=Lk();function zv6(){try{let Y=process.cwd();while(Y!==Mk.default.dirname(Y)){let Q=Mk.default.join(Y,".vercel");if(Uv6.default.existsSync(Q))return Y;Y=Mk.default.dirname(Y)}}catch(Y){throw new Dv6.VercelOidcTokenError("Token refresh only supported in node server environments")}return null}function Ov6(){if(process.env.XDG_DATA_HOME)return process.env.XDG_DATA_HOME;switch(MU1.default.platform()){case"darwin":return Mk.default.join(MU1.default.homedir(),"Library/Application Support");case"linux":return Mk.default.join(MU1.default.homedir(),".local/share");case"win32":if(process.env.LOCALAPPDATA)return process.env.LOCALAPPDATA;return null;default:return null}}});var mf0=I((rY9,uf0)=>{var{create:Nv6,defineProperty:si,getOwnPropertyDescriptor:Lv6,getOwnPropertyNames:Mv6,getPrototypeOf:wv6}=Object,Av6=Object.prototype.hasOwnProperty,Pv6=(Y,Q)=>{for(var X in Q)si(Y,X,{get:Q[X],enumerable:!0})},ff0=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of Mv6(Q))if(!Av6.call(Y,G)&&G!==X)si(Y,G,{get:()=>Q[G],enumerable:!(J=Lv6(Q,G))||J.enumerable})}return Y},bf0=(Y,Q,X)=>(X=Y!=null?Nv6(wv6(Y)):{},ff0(Q||!Y||!Y.__esModule?si(X,"default",{value:Y,enumerable:!0}):X,Y)),Ev6=(Y)=>ff0(si({},"__esModule",{value:!0}),Y),hf0={};Pv6(hf0,{isValidAccessToken:()=>Iv6,readAuthConfig:()=>Cv6,writeAuthConfig:()=>Rv6});uf0.exports=Ev6(hf0);var wk=bf0(P1("fs")),xf0=bf0(P1("path")),Tv6=ti();function gf0(){let Y=(0,Tv6.getVercelDataDir)();if(!Y)throw Error(`Unable to find Vercel CLI data directory. Your platform: ${process.platform}. Supported: darwin, linux, win32.`);return xf0.join(Y,"auth.json")}function Cv6(){try{let Y=gf0();if(!wk.existsSync(Y))return null;let Q=wk.readFileSync(Y,"utf8");if(!Q)return null;return JSON.parse(Q)}catch(Y){return null}}function Rv6(Y){let Q=gf0(),X=xf0.dirname(Q);if(!wk.existsSync(X))wk.mkdirSync(X,{mode:504,recursive:!0});wk.writeFileSync(Q,JSON.stringify(Y,null,2),{mode:384})}function Iv6(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 cf0=I((oY9,pf0)=>{var{defineProperty:EU1,getOwnPropertyDescriptor:jv6,getOwnPropertyNames:Sv6}=Object,kv6=Object.prototype.hasOwnProperty,vv6=(Y,Q)=>{for(var X in Q)EU1(Y,X,{get:Q[X],enumerable:!0})},_v6=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of Sv6(Q))if(!kv6.call(Y,G)&&G!==X)EU1(Y,G,{get:()=>Q[G],enumerable:!(J=jv6(Q,G))||J.enumerable})}return Y},yv6=(Y)=>_v6(EU1({},"__esModule",{value:!0}),Y),lf0={};vv6(lf0,{processTokenResponse:()=>gv6,refreshTokenRequest:()=>xv6});pf0.exports=yv6(lf0);var AU1=P1("os"),fv6="https://vercel.com",bv6="cl_HYyOPBNtFMfHhaUn9L4QPfTZz6TP47bp",df0=`@vercel/oidc node-${process.version} ${(0,AU1.platform)()} (${(0,AU1.arch)()}) ${(0,AU1.hostname)()}`,PU1=null;async function hv6(){if(PU1)return PU1;let Y=`${fv6}/.well-known/openid-configuration`,Q=await fetch(Y,{headers:{"user-agent":df0}});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 PU1=J,J}async function xv6(Y){let Q=await hv6();return await fetch(Q,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","user-agent":df0},body:new URLSearchParams({client_id:bv6,grant_type:"refresh_token",...Y})})}async function gv6(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 ti=I((sY9,of0)=>{var{create:uv6,defineProperty:ei,getOwnPropertyDescriptor:mv6,getOwnPropertyNames:lv6,getPrototypeOf:dv6}=Object,pv6=Object.prototype.hasOwnProperty,cv6=(Y,Q)=>{for(var X in Q)ei(Y,X,{get:Q[X],enumerable:!0})},if0=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of lv6(Q))if(!pv6.call(Y,G)&&G!==X)ei(Y,G,{get:()=>Q[G],enumerable:!(J=mv6(Q,G))||J.enumerable})}return Y},af0=(Y,Q,X)=>(X=Y!=null?uv6(dv6(Y)):{},if0(Q||!Y||!Y.__esModule?ei(X,"default",{value:Y,enumerable:!0}):X,Y)),nv6=(Y)=>if0(ei({},"__esModule",{value:!0}),Y),rf0={};cv6(rf0,{assertVercelOidcTokenResponse:()=>TU1,findProjectInfo:()=>ov6,getTokenPayload:()=>ev6,getVercelCliToken:()=>av6,getVercelDataDir:()=>iv6,getVercelOidcToken:()=>rv6,isExpired:()=>Y_6,loadToken:()=>tv6,saveToken:()=>sv6});of0.exports=nv6(rf0);var Ak=af0(P1("path")),oz=af0(P1("fs")),cA=Lk(),Ya=yf0(),pA=mf0(),nf0=cf0();function iv6(){let Q=(0,Ya.getUserDataDir)();if(!Q)return null;return Ak.join(Q,"com.vercel.cli")}async function av6(){let Y=(0,pA.readAuthConfig)();if(!Y)return null;if((0,pA.isValidAccessToken)(Y))return Y.token||null;if(!Y.refreshToken)return(0,pA.writeAuthConfig)({}),null;try{let Q=await(0,nf0.refreshTokenRequest)({refresh_token:Y.refreshToken}),[X,J]=await(0,nf0.processTokenResponse)(Q);if(X||!J)return(0,pA.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,pA.writeAuthConfig)(G),G.token??null}catch(Q){return(0,pA.writeAuthConfig)({}),null}}async function rv6(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 cA.VercelOidcTokenError(`Failed to refresh OIDC token: ${G.statusText}`);let K=await G.json();return TU1(K),K}function TU1(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 ov6(){let Y=(0,Ya.findRootDir)();if(!Y)throw new cA.VercelOidcTokenError("Unable to find project root directory. Have you linked your project with `vc link?`");let Q=Ak.join(Y,".vercel","project.json");if(!oz.existsSync(Q))throw new cA.VercelOidcTokenError("project.json not found, have you linked your project with `vc link?`");let X=JSON.parse(oz.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 sv6(Y,Q){let X=(0,Ya.getUserDataDir)();if(!X)throw new cA.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let J=Ak.join(X,"com.vercel.token",`${Q}.json`),G=JSON.stringify(Y);oz.mkdirSync(Ak.dirname(J),{mode:504,recursive:!0}),oz.writeFileSync(J,G),oz.chmodSync(J,432);return}function tv6(Y){let Q=(0,Ya.getUserDataDir)();if(!Q)throw new cA.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let X=Ak.join(Q,"com.vercel.token",`${Y}.json`);if(!oz.existsSync(X))return null;let J=JSON.parse(oz.readFileSync(X,"utf8"));return TU1(J),J}function ev6(Y){let Q=Y.split(".");if(Q.length!==3)throw new cA.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 Y_6(Y){return Y.exp*1000<Date.now()}});var ef0=I((tY9,tf0)=>{var{defineProperty:RU1,getOwnPropertyDescriptor:Q_6,getOwnPropertyNames:X_6}=Object,J_6=Object.prototype.hasOwnProperty,G_6=(Y,Q)=>{for(var X in Q)RU1(Y,X,{get:Q[X],enumerable:!0})},W_6=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of X_6(Q))if(!J_6.call(Y,G)&&G!==X)RU1(Y,G,{get:()=>Q[G],enumerable:!(J=Q_6(Q,G))||J.enumerable})}return Y},Z_6=(Y)=>W_6(RU1({},"__esModule",{value:!0}),Y),sf0={};G_6(sf0,{refreshToken:()=>K_6});tf0.exports=Z_6(sf0);var CU1=Lk(),sz=ti();async function K_6(){let{projectId:Y,teamId:Q}=(0,sz.findProjectInfo)(),X=(0,sz.loadToken)(Y);if(!X||(0,sz.isExpired)((0,sz.getTokenPayload)(X.token))){let J=await(0,sz.getVercelCliToken)();if(!J)throw new CU1.VercelOidcTokenError("Failed to refresh OIDC token: Log in to Vercel CLI and link your project with `vc link`");if(!Y)throw new CU1.VercelOidcTokenError("Failed to refresh OIDC token: Try re-linking your project with `vc link`");if(X=await(0,sz.getVercelOidcToken)(J,Y,Q),!X)throw new CU1.VercelOidcTokenError("Failed to refresh OIDC token");(0,sz.saveToken)(X,Y)}process.env.VERCEL_OIDC_TOKEN=X.token;return}});var Xb0=I((eY9,Qb0)=>{var{defineProperty:jU1,getOwnPropertyDescriptor:H_6,getOwnPropertyNames:$_6}=Object,F_6=Object.prototype.hasOwnProperty,V_6=(Y,Q)=>{for(var X in Q)jU1(Y,X,{get:Q[X],enumerable:!0})},q_6=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of $_6(Q))if(!F_6.call(Y,G)&&G!==X)jU1(Y,G,{get:()=>Q[G],enumerable:!(J=H_6(Q,G))||J.enumerable})}return Y},B_6=(Y)=>q_6(jU1({},"__esModule",{value:!0}),Y),Yb0={};V_6(Yb0,{getVercelOidcToken:()=>z_6,getVercelOidcTokenSync:()=>IU1});Qb0.exports=B_6(Yb0);var U_6=NU1(),D_6=Lk();async function z_6(){let Y="",Q;try{Y=IU1()}catch(X){Q=X}try{let[{getTokenPayload:X,isExpired:J},{refreshToken:G}]=await Promise.all([await Promise.resolve().then(() => T6(ti())),await Promise.resolve().then(() => T6(ef0()))]);if(!Y||J(X(Y)))await G(),Y=IU1()}catch(X){let J=Q instanceof Error?Q.message:"";if(X instanceof Error)J=`${J}
1261
- ${X.message}`;if(J)throw new D_6.VercelOidcTokenError(J);throw X}return Y}function IU1(){let Y=(0,U_6.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 kU1=I((YQ9,Wb0)=>{var{defineProperty:SU1,getOwnPropertyDescriptor:O_6,getOwnPropertyNames:N_6}=Object,L_6=Object.prototype.hasOwnProperty,M_6=(Y,Q)=>{for(var X in Q)SU1(Y,X,{get:Q[X],enumerable:!0})},w_6=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of N_6(Q))if(!L_6.call(Y,G)&&G!==X)SU1(Y,G,{get:()=>Q[G],enumerable:!(J=O_6(Q,G))||J.enumerable})}return Y},A_6=(Y)=>w_6(SU1({},"__esModule",{value:!0}),Y),Gb0={};M_6(Gb0,{getContext:()=>P_6.getContext,getVercelOidcToken:()=>Jb0.getVercelOidcToken,getVercelOidcTokenSync:()=>Jb0.getVercelOidcTokenSync});Wb0.exports=A_6(Gb0);var Jb0=Xb0(),P_6=NU1()});async function Rb0({response:Y,statusCode:Q,defaultMessage:X="Gateway request failed",cause:J,authMethod:G}){var K;let W=await j5({value:Y,schema:b_6});if(!W.success){let V=typeof Y==="object"&&Y!==null&&"generationId"in Y?Y.generationId:void 0;return new f_6({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 Qa.createContextualError({apiKeyProvided:G==="api-key",oidcTokenProvided:G==="oidc",statusCode:Q,cause:J,generationId:F});case"invalid_request_error":return new R_6({message:$,statusCode:Q,cause:J,generationId:F});case"rate_limit_exceeded":return new j_6({message:$,statusCode:Q,cause:J,generationId:F});case"model_not_found":{let V=await j5({value:Z.error.param,schema:k_6});return new v_6({message:$,statusCode:Q,modelId:V.success?V.value.modelId:void 0,cause:J,generationId:F})}case"internal_server_error":return new Pb0({message:$,statusCode:Q,cause:J,generationId:F});default:return new Pb0({message:$,statusCode:Q,cause:J,generationId:F})}}function vb0(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 XF(Y,Q){var X;if(S5.isInstance(Y))return Y;if(vb0(Y))return kb0.createTimeoutError({originalMessage:Y instanceof Error?Y.message:"Unknown error",cause:Y});if(d9.isInstance(Y)){if(Y.cause&&vb0(Y.cause))return kb0.createTimeoutError({originalMessage:Y.message,cause:Y});return await Rb0({response:x_6(Y),statusCode:(X=Y.statusCode)!=null?X:500,defaultMessage:"Gateway request failed",cause:Y,authMethod:Q})}return await Rb0({response:{},statusCode:500,defaultMessage:Y instanceof Error?`Gateway request failed: ${Y.message}`:"Unknown Gateway error",cause:Y,authMethod:Q})}function x_6(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 tz(Y){let Q=await j5({value:Y[lb0],schema:g_6});return Q.success?Q.value:void 0}function yb0(Y){if(Y.type==="file"&&Y.data instanceof Uint8Array)return{...Y,data:t$(Y.data)};return Y}function s_6(Y){if(Y.type==="file"&&Y.data instanceof Uint8Array)return{...Y,data:t$(Y.data)};return Y}async function Vy6(){var Y;return(Y=db0.getContext().headers)==null?void 0:Y["x-vercel-id"]}function Uy6(Y={}){var Q,X;let J=null,G=null,K=(Q=Y.metadataCacheRefreshMillis)!=null?Q:300000,W=0,Z=(X=Pf0(Y.baseURL))!=null?X:"https://ai-gateway.vercel.sh/v3/ai",H=async()=>{try{let z=await Dy6(Y);return e$({Authorization:`Bearer ${z.token}`,"ai-gateway-protocol-version":By6,[lb0]:z.authMethod,...Y.headers},`ai-sdk/gateway/${qy6}`)}catch(z){throw Qa.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:z})}},$=()=>{let z=dA({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),L=dA({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),w=dA({settingValue:void 0,environmentVariableName:"VERCEL_REGION"}),E=dA({settingValue:void 0,environmentVariableName:"VERCEL_PROJECT_ID"});return async()=>{let T=await Vy6();return{...z&&{"ai-o11y-deployment-id":z},...L&&{"ai-o11y-environment":L},...w&&{"ai-o11y-region":w},...T&&{"ai-o11y-request-id":T},...E&&{"ai-o11y-project-id":E}}}},F=(z)=>{return new l_6(z,{provider:"gateway",baseURL:Z,headers:H,fetch:Y.fetch,o11yHeaders:$()})},V=async()=>{var z,L,w;let E=(w=(L=(z=Y._internal)==null?void 0:z.currentDate)==null?void 0:L.call(z).getTime())!=null?w:Date.now();if(!J||E-W>K)W=E,J=new _b0({baseURL:Z,headers:H,fetch:Y.fetch}).getAvailableModels().then((T)=>{return G=T,T}).catch(async(T)=>{throw await XF(T,await tz(await H()))});return G?Promise.resolve(G):J},B=async()=>{return new _b0({baseURL:Z,headers:H,fetch:Y.fetch}).getCredits().catch(async(z)=>{throw await XF(z,await tz(await H()))})},U=function(z){if(new.target)throw Error("The Gateway Provider model function cannot be called with the new keyword.");return F(z)};U.specificationVersion="v3",U.getAvailableModels=V,U.getCredits=B,U.imageModel=(z)=>{return new c_6(z,{provider:"gateway",baseURL:Z,headers:H,fetch:Y.fetch,o11yHeaders:$()})},U.languageModel=F;let D=(z)=>{return new d_6(z,{provider:"gateway",baseURL:Z,headers:H,fetch:Y.fetch,o11yHeaders:$()})};return U.embeddingModel=D,U.textEmbeddingModel=D,U.videoModel=(z)=>{return new o_6(z,{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=Fy6,U}async function Dy6(Y){let Q=dA({settingValue:Y.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});if(Q)return{token:Q,authMethod:"api-key"};return{token:await pb0.getVercelOidcToken(),authMethod:"oidc"}}var db0,pb0,E_6="vercel.ai.gateway.error",vU1,Zb0,Kb0,S5,fb0="GatewayAuthenticationError",T_6,Hb0,$b0,Fb0,Qa,bb0="GatewayInvalidRequestError",C_6,Vb0,qb0,Bb0,R_6,hb0="GatewayRateLimitError",I_6,Ub0,Db0,zb0,j_6,xb0="GatewayModelNotFoundError",S_6,Ob0,k_6,Nb0,Lb0,v_6,gb0="GatewayInternalServerError",__6,Mb0,wb0,Ab0,Pb0,ub0="GatewayResponseError",y_6,Eb0,Tb0,Cb0,f_6,b_6,mb0="GatewayTimeoutError",h_6,Ib0,jb0,Sb0,kb0,lb0="ai-gateway-auth-method",g_6,_b0=class{constructor(Y){this.config=Y}async getAvailableModels(){try{let{value:Y}=await DU1({url:`${this.config.baseURL}/config`,headers:await TQ(this.config.headers()),successfulResponseHandler:QF(u_6),failedResponseHandler:kW({errorSchema:q.any(),errorToMessage:(Q)=>Q}),fetch:this.config.fetch});return Y}catch(Y){throw await XF(Y)}}async getCredits(){try{let Y=new URL(this.config.baseURL),{value:Q}=await DU1({url:`${Y.origin}/v1/credits`,headers:await TQ(this.config.headers()),successfulResponseHandler:QF(m_6),failedResponseHandler:kW({errorSchema:q.any(),errorToMessage:(X)=>X}),fetch:this.config.fetch});return Q}catch(Y){throw await XF(Y)}}},u_6,m_6,l_6=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 YF({url:this.getUrl(),headers:s$(G,Y.headers,this.getModelConfigHeaders(this.modelId,!1),await TQ(this.config.o11yHeaders)),body:Q,successfulResponseHandler:QF(q.any()),failedResponseHandler:kW({errorSchema:q.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 XF(K,await tz(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 YF({url:this.getUrl(),headers:s$(G,Y.headers,this.getModelConfigHeaders(this.modelId,!0),await TQ(this.config.o11yHeaders)),body:Q,successfulResponseHandler:Af0(q.any()),failedResponseHandler:kW({errorSchema:q.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 XF(K,await tz(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)}}},d_6=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 YF({url:this.getUrl(),headers:s$(K,Q!=null?Q:{},this.getModelConfigHeaders(),await TQ(this.config.o11yHeaders)),body:{values:Y,...J?{providerOptions:J}:{}},successfulResponseHandler:QF(p_6),failedResponseHandler:kW({errorSchema:q.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 XF(W,await tz(K))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"3","ai-model-id":this.modelId}}},p_6,c_6=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,B,U;let D=await TQ(this.config.headers());try{let{responseHeaders:z,value:L,rawValue:w}=await YF({url:this.getUrl(),headers:s$(D,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)=>yb0(E))},...W&&{mask:yb0(W)}},successfulResponseHandler:QF(r_6),failedResponseHandler:kW({errorSchema:q.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:z},...L.usage!=null&&{usage:{inputTokens:(V=L.usage.inputTokens)!=null?V:void 0,outputTokens:(B=L.usage.outputTokens)!=null?B:void 0,totalTokens:(U=L.usage.totalTokens)!=null?U:void 0}}}}catch(z){throw await XF(z,await tz(D))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"3","ai-model-id":this.modelId}}},n_6,i_6,a_6,r_6,o_6=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 B=await TQ(this.config.headers());try{let{responseHeaders:U,value:D}=await YF({url:this.getUrl(),headers:s$(B,$!=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:s_6(Z)}},successfulResponseHandler:async({response:z,url:L,requestBodyValues:w})=>{if(z.body==null)throw new d9({message:"SSE response body is empty",url:L,requestBodyValues:w,statusCode:z.status});let T=ai({stream:z.body,schema:Qy6}).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:w,statusCode:z.status});if(!P.success)throw new d9({message:"Failed to parse video SSE event",cause:P.error,url:L,requestBodyValues:w,statusCode:z.status});let R=P.value;if(R.type==="error")throw new d9({message:R.message,statusCode:R.statusCode,url:L,requestBodyValues:w,responseHeaders:Object.fromEntries([...z.headers]),responseBody:JSON.stringify(R),data:{error:{message:R.message,type:R.errorType,param:R.param}}});return{value:{videos:R.videos,warnings:R.warnings,providerMetadata:R.providerMetadata},responseHeaders:Object.fromEntries([...z.headers])}},failedResponseHandler:kW({errorSchema:q.any(),errorToMessage:(z)=>z}),...F&&{abortSignal:F},fetch:this.config.fetch});return{videos:D.videos,warnings:(V=D.warnings)!=null?V:[],providerMetadata:D.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:U}}}catch(U){throw await XF(U,await tz(B))}}getUrl(){return`${this.config.baseURL}/video-model`}getModelConfigHeaders(){return{"ai-video-model-specification-version":"3","ai-model-id":this.modelId}}},t_6,e_6,Yy6,Qy6,Xy6,Jy6,Gy6,Wy6=(Y={})=>Gy6(Y),Zy6,Ky6,Hy6,$y6=(Y={})=>Hy6(Y),Fy6,qy6="3.0.61",By6="0.0.1",cb0;var _U1=j(()=>{J8();k8();s6();s6();J8();J8();s6();J8();J8();s6();J8();s6();J8();s6();J8();s6();k8();J8();s6();J8();n1();J8();n1();J8();db0=T6(kU1(),1),pb0=T6(kU1(),1),vU1=Symbol.for(E_6),S5=class Y extends(Kb0=Error,Zb0=vU1,Kb0){constructor({message:Q,statusCode:X=500,cause:J,generationId:G}){super(G?`${Q} [${G}]`:Q);this[Zb0]=!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&&vU1 in Q&&Q[vU1]===!0}},T_6=`vercel.ai.gateway.error.${fb0}`,Hb0=Symbol.for(T_6),Qa=class Y extends(Fb0=S5,$b0=Hb0,Fb0){constructor({message:Q="Authentication failed",statusCode:X=401,cause:J,generationId:G}={}){super({message:Q,statusCode:X,cause:J,generationId:G});this[$b0]=!0,this.name=fb0,this.type="authentication_error"}static isInstance(Q){return S5.hasMarker(Q)&&Hb0 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.
1261
+ ${X.message}`;if(J)throw new D_6.VercelOidcTokenError(J);throw X}return Y}function IU1(){let Y=(0,U_6.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 kU1=I((YQ9,Wb0)=>{var{defineProperty:SU1,getOwnPropertyDescriptor:O_6,getOwnPropertyNames:N_6}=Object,L_6=Object.prototype.hasOwnProperty,M_6=(Y,Q)=>{for(var X in Q)SU1(Y,X,{get:Q[X],enumerable:!0})},w_6=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of N_6(Q))if(!L_6.call(Y,G)&&G!==X)SU1(Y,G,{get:()=>Q[G],enumerable:!(J=O_6(Q,G))||J.enumerable})}return Y},A_6=(Y)=>w_6(SU1({},"__esModule",{value:!0}),Y),Gb0={};M_6(Gb0,{getContext:()=>P_6.getContext,getVercelOidcToken:()=>Jb0.getVercelOidcToken,getVercelOidcTokenSync:()=>Jb0.getVercelOidcTokenSync});Wb0.exports=A_6(Gb0);var Jb0=Xb0(),P_6=NU1()});async function Rb0({response:Y,statusCode:Q,defaultMessage:X="Gateway request failed",cause:J,authMethod:G}){var K;let W=await j5({value:Y,schema:b_6});if(!W.success){let V=typeof Y==="object"&&Y!==null&&"generationId"in Y?Y.generationId:void 0;return new f_6({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 Qa.createContextualError({apiKeyProvided:G==="api-key",oidcTokenProvided:G==="oidc",statusCode:Q,cause:J,generationId:F});case"invalid_request_error":return new R_6({message:$,statusCode:Q,cause:J,generationId:F});case"rate_limit_exceeded":return new j_6({message:$,statusCode:Q,cause:J,generationId:F});case"model_not_found":{let V=await j5({value:Z.error.param,schema:k_6});return new v_6({message:$,statusCode:Q,modelId:V.success?V.value.modelId:void 0,cause:J,generationId:F})}case"internal_server_error":return new Pb0({message:$,statusCode:Q,cause:J,generationId:F});default:return new Pb0({message:$,statusCode:Q,cause:J,generationId:F})}}function vb0(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 XF(Y,Q){var X;if(S5.isInstance(Y))return Y;if(vb0(Y))return kb0.createTimeoutError({originalMessage:Y instanceof Error?Y.message:"Unknown error",cause:Y});if(d9.isInstance(Y)){if(Y.cause&&vb0(Y.cause))return kb0.createTimeoutError({originalMessage:Y.message,cause:Y});return await Rb0({response:x_6(Y),statusCode:(X=Y.statusCode)!=null?X:500,defaultMessage:"Gateway request failed",cause:Y,authMethod:Q})}return await Rb0({response:{},statusCode:500,defaultMessage:Y instanceof Error?`Gateway request failed: ${Y.message}`:"Unknown Gateway error",cause:Y,authMethod:Q})}function x_6(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 tz(Y){let Q=await j5({value:Y[lb0],schema:g_6});return Q.success?Q.value:void 0}function yb0(Y){if(Y.type==="file"&&Y.data instanceof Uint8Array)return{...Y,data:t$(Y.data)};return Y}function s_6(Y){if(Y.type==="file"&&Y.data instanceof Uint8Array)return{...Y,data:t$(Y.data)};return Y}async function Vy6(){var Y;return(Y=db0.getContext().headers)==null?void 0:Y["x-vercel-id"]}function Uy6(Y={}){var Q,X;let J=null,G=null,K=(Q=Y.metadataCacheRefreshMillis)!=null?Q:300000,W=0,Z=(X=Pf0(Y.baseURL))!=null?X:"https://ai-gateway.vercel.sh/v3/ai",H=async()=>{try{let z=await Dy6(Y);return e$({Authorization:`Bearer ${z.token}`,"ai-gateway-protocol-version":By6,[lb0]:z.authMethod,...Y.headers},`ai-sdk/gateway/${qy6}`)}catch(z){throw Qa.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:z})}},$=()=>{let z=dA({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),L=dA({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),w=dA({settingValue:void 0,environmentVariableName:"VERCEL_REGION"}),E=dA({settingValue:void 0,environmentVariableName:"VERCEL_PROJECT_ID"});return async()=>{let T=await Vy6();return{...z&&{"ai-o11y-deployment-id":z},...L&&{"ai-o11y-environment":L},...w&&{"ai-o11y-region":w},...T&&{"ai-o11y-request-id":T},...E&&{"ai-o11y-project-id":E}}}},F=(z)=>{return new l_6(z,{provider:"gateway",baseURL:Z,headers:H,fetch:Y.fetch,o11yHeaders:$()})},V=async()=>{var z,L,w;let E=(w=(L=(z=Y._internal)==null?void 0:z.currentDate)==null?void 0:L.call(z).getTime())!=null?w:Date.now();if(!J||E-W>K)W=E,J=new _b0({baseURL:Z,headers:H,fetch:Y.fetch}).getAvailableModels().then((T)=>{return G=T,T}).catch(async(T)=>{throw await XF(T,await tz(await H()))});return G?Promise.resolve(G):J},B=async()=>{return new _b0({baseURL:Z,headers:H,fetch:Y.fetch}).getCredits().catch(async(z)=>{throw await XF(z,await tz(await H()))})},U=function(z){if(new.target)throw Error("The Gateway Provider model function cannot be called with the new keyword.");return F(z)};U.specificationVersion="v3",U.getAvailableModels=V,U.getCredits=B,U.imageModel=(z)=>{return new c_6(z,{provider:"gateway",baseURL:Z,headers:H,fetch:Y.fetch,o11yHeaders:$()})},U.languageModel=F;let D=(z)=>{return new d_6(z,{provider:"gateway",baseURL:Z,headers:H,fetch:Y.fetch,o11yHeaders:$()})};return U.embeddingModel=D,U.textEmbeddingModel=D,U.videoModel=(z)=>{return new o_6(z,{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=Fy6,U}async function Dy6(Y){let Q=dA({settingValue:Y.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});if(Q)return{token:Q,authMethod:"api-key"};return{token:await pb0.getVercelOidcToken(),authMethod:"oidc"}}var db0,pb0,E_6="vercel.ai.gateway.error",vU1,Zb0,Kb0,S5,fb0="GatewayAuthenticationError",T_6,Hb0,$b0,Fb0,Qa,bb0="GatewayInvalidRequestError",C_6,Vb0,qb0,Bb0,R_6,hb0="GatewayRateLimitError",I_6,Ub0,Db0,zb0,j_6,xb0="GatewayModelNotFoundError",S_6,Ob0,k_6,Nb0,Lb0,v_6,gb0="GatewayInternalServerError",__6,Mb0,wb0,Ab0,Pb0,ub0="GatewayResponseError",y_6,Eb0,Tb0,Cb0,f_6,b_6,mb0="GatewayTimeoutError",h_6,Ib0,jb0,Sb0,kb0,lb0="ai-gateway-auth-method",g_6,_b0=class{constructor(Y){this.config=Y}async getAvailableModels(){try{let{value:Y}=await DU1({url:`${this.config.baseURL}/config`,headers:await TQ(this.config.headers()),successfulResponseHandler:QF(u_6),failedResponseHandler:kW({errorSchema:q.any(),errorToMessage:(Q)=>Q}),fetch:this.config.fetch});return Y}catch(Y){throw await XF(Y)}}async getCredits(){try{let Y=new URL(this.config.baseURL),{value:Q}=await DU1({url:`${Y.origin}/v1/credits`,headers:await TQ(this.config.headers()),successfulResponseHandler:QF(m_6),failedResponseHandler:kW({errorSchema:q.any(),errorToMessage:(X)=>X}),fetch:this.config.fetch});return Q}catch(Y){throw await XF(Y)}}},u_6,m_6,l_6=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 YF({url:this.getUrl(),headers:s$(G,Y.headers,this.getModelConfigHeaders(this.modelId,!1),await TQ(this.config.o11yHeaders)),body:Q,successfulResponseHandler:QF(q.any()),failedResponseHandler:kW({errorSchema:q.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 XF(K,await tz(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 YF({url:this.getUrl(),headers:s$(G,Y.headers,this.getModelConfigHeaders(this.modelId,!0),await TQ(this.config.o11yHeaders)),body:Q,successfulResponseHandler:Af0(q.any()),failedResponseHandler:kW({errorSchema:q.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 XF(K,await tz(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)}}},d_6=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 YF({url:this.getUrl(),headers:s$(K,Q!=null?Q:{},this.getModelConfigHeaders(),await TQ(this.config.o11yHeaders)),body:{values:Y,...J?{providerOptions:J}:{}},successfulResponseHandler:QF(p_6),failedResponseHandler:kW({errorSchema:q.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 XF(W,await tz(K))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"3","ai-model-id":this.modelId}}},p_6,c_6=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,B,U;let D=await TQ(this.config.headers());try{let{responseHeaders:z,value:L,rawValue:w}=await YF({url:this.getUrl(),headers:s$(D,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)=>yb0(E))},...W&&{mask:yb0(W)}},successfulResponseHandler:QF(r_6),failedResponseHandler:kW({errorSchema:q.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:z},...L.usage!=null&&{usage:{inputTokens:(V=L.usage.inputTokens)!=null?V:void 0,outputTokens:(B=L.usage.outputTokens)!=null?B:void 0,totalTokens:(U=L.usage.totalTokens)!=null?U:void 0}}}}catch(z){throw await XF(z,await tz(D))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"3","ai-model-id":this.modelId}}},n_6,i_6,a_6,r_6,o_6=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 B=await TQ(this.config.headers());try{let{responseHeaders:U,value:D}=await YF({url:this.getUrl(),headers:s$(B,$!=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:s_6(Z)}},successfulResponseHandler:async({response:z,url:L,requestBodyValues:w})=>{if(z.body==null)throw new d9({message:"SSE response body is empty",url:L,requestBodyValues:w,statusCode:z.status});let T=ai({stream:z.body,schema:Qy6}).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:w,statusCode:z.status});if(!P.success)throw new d9({message:"Failed to parse video SSE event",cause:P.error,url:L,requestBodyValues:w,statusCode:z.status});let R=P.value;if(R.type==="error")throw new d9({message:R.message,statusCode:R.statusCode,url:L,requestBodyValues:w,responseHeaders:Object.fromEntries([...z.headers]),responseBody:JSON.stringify(R),data:{error:{message:R.message,type:R.errorType,param:R.param}}});return{value:{videos:R.videos,warnings:R.warnings,providerMetadata:R.providerMetadata},responseHeaders:Object.fromEntries([...z.headers])}},failedResponseHandler:kW({errorSchema:q.any(),errorToMessage:(z)=>z}),...F&&{abortSignal:F},fetch:this.config.fetch});return{videos:D.videos,warnings:(V=D.warnings)!=null?V:[],providerMetadata:D.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:U}}}catch(U){throw await XF(U,await tz(B))}}getUrl(){return`${this.config.baseURL}/video-model`}getModelConfigHeaders(){return{"ai-video-model-specification-version":"3","ai-model-id":this.modelId}}},t_6,e_6,Yy6,Qy6,Xy6,Jy6,Gy6,Wy6=(Y={})=>Gy6(Y),Zy6,Ky6,Hy6,$y6=(Y={})=>Hy6(Y),Fy6,qy6="3.0.62",By6="0.0.1",cb0;var _U1=j(()=>{J8();k8();s6();s6();J8();J8();s6();J8();J8();s6();J8();s6();J8();s6();J8();s6();k8();J8();s6();J8();n1();J8();n1();J8();db0=T6(kU1(),1),pb0=T6(kU1(),1),vU1=Symbol.for(E_6),S5=class Y extends(Kb0=Error,Zb0=vU1,Kb0){constructor({message:Q,statusCode:X=500,cause:J,generationId:G}){super(G?`${Q} [${G}]`:Q);this[Zb0]=!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&&vU1 in Q&&Q[vU1]===!0}},T_6=`vercel.ai.gateway.error.${fb0}`,Hb0=Symbol.for(T_6),Qa=class Y extends(Fb0=S5,$b0=Hb0,Fb0){constructor({message:Q="Authentication failed",statusCode:X=401,cause:J,generationId:G}={}){super({message:Q,statusCode:X,cause:J,generationId:G});this[$b0]=!0,this.name=fb0,this.type="authentication_error"}static isInstance(Q){return S5.hasMarker(Q)&&Hb0 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.
1262
1262
 
1263
1263
  Create a new API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
1264
1264
 
@@ -1284,7 +1284,7 @@ Alternatively, you can use a provider module instead of the AI Gateway.
1284
1284
  Learn more: \x1B[34m${X}\x1B[0m
1285
1285
 
1286
1286
  `),{name:"GatewayAuthenticationError"})}function Ek({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 Gx0({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=iU1(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 Zx0({isEnabled:Y=!1,tracer:Q}={}){if(!Y)return ff6;if(Q)return Q;return Wx0.trace.getTracer("ai")}async function Tk({name:Y,tracer:Q,attributes:X,fn:J,endWhenDone:G=!0}){return Q.startActiveSpan(Y,{attributes:await X},async(K)=>{let W=oA.context.active();try{let Z=await oA.context.with(W,()=>J(K));if(G)K.end();return Z}catch(Z){try{Kx0(K,Z)}finally{K.end()}throw Z}})}function Kx0(Y,Q){if(Q instanceof Error)Y.recordException({name:Q.name,message:Q.message,stack:Q.stack}),Y.setStatus({code:oA.SpanStatusCode.ERROR,message:Q.message});else Y.setStatus({code:oA.SpanStatusCode.ERROR})}async function rH({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 Hx0(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?Lf6(X.data):X.data}:X)})))}function $x0(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:aZ(Y.inputTokens.total,Y.outputTokens.total),raw:Y.raw,reasoningTokens:Y.outputTokens.reasoning,cachedInputTokens:Y.inputTokens.cacheRead}}function yU1(){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 Fx0(Y,Q){var X,J,G,K,W,Z,H,$,F,V;return{inputTokens:aZ(Y.inputTokens,Q.inputTokens),inputTokenDetails:{noCacheTokens:aZ((X=Y.inputTokenDetails)==null?void 0:X.noCacheTokens,(J=Q.inputTokenDetails)==null?void 0:J.noCacheTokens),cacheReadTokens:aZ((G=Y.inputTokenDetails)==null?void 0:G.cacheReadTokens,(K=Q.inputTokenDetails)==null?void 0:K.cacheReadTokens),cacheWriteTokens:aZ((W=Y.inputTokenDetails)==null?void 0:W.cacheWriteTokens,(Z=Q.inputTokenDetails)==null?void 0:Z.cacheWriteTokens)},outputTokens:aZ(Y.outputTokens,Q.outputTokens),outputTokenDetails:{textTokens:aZ((H=Y.outputTokenDetails)==null?void 0:H.textTokens,($=Q.outputTokenDetails)==null?void 0:$.textTokens),reasoningTokens:aZ((F=Y.outputTokenDetails)==null?void 0:F.reasoningTokens,(V=Q.outputTokenDetails)==null?void 0:V.reasoningTokens)},totalTokens:aZ(Y.totalTokens,Q.totalTokens),reasoningTokens:aZ(Y.reasoningTokens,Q.reasoningTokens),cachedInputTokens:aZ(Y.cachedInputTokens,Q.cachedInputTokens)}}function aZ(Y,Q){return Y==null&&Q==null?void 0:(Y!=null?Y:0)+(Q!=null?Q:0)}function Za(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]=Za(K,G);else X[J]=G}return X}function hf6({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 Vx0(Y,{maxRetries:Q,delayInMs:X,backoffFactor:J,abortSignal:G},K=[]){try{return await Y()}catch(W){if(o$(W))throw W;if(Q===0)throw W;let Z=YB(W),H=[...K,W],$=H.length;if($>Q)throw new ib0({message:`Failed after ${$} attempts. Last error: ${Z}`,reason:"maxRetriesExceeded",errors:H});if(W instanceof Error&&d9.isInstance(W)&&W.isRetryable===!0&&$<=Q)return await $f0(hf6({error:W,exponentialBackoffDelay:X}),{abortSignal:G}),Vx0(Y,{maxRetries:Q,delayInMs:J*X,backoffFactor:J,abortSignal:G},H);if($===1)throw W;throw new ib0({message:`Failed after ${$} attempts with non-retryable error: '${Z}'`,reason:"errorNotRetryable",errors:H})}}function qx0({maxRetries:Y,abortSignal:Q}){if(Y!=null){if(!Number.isInteger(Y))throw new rZ({parameter:"maxRetries",value:Y,message:"maxRetries must be an integer"});if(Y<0)throw new rZ({parameter:"maxRetries",value:Y,message:"maxRetries must be >= 0"})}let X=Y!=null?Y:2;return{maxRetries:X,retry:xf6({maxRetries:X,abortSignal:Q})}}function Bx0({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 Ey6({approvalId:H.approvalId});if(G[$.toolCallId]!=null)continue;let F=X[$.toolCallId];if(F==null)throw new cU1({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 Ja(){var Y,Q;return(Q=(Y=globalThis==null?void 0:globalThis.performance)==null?void 0:Y.now())!=null?Q:Date.now()}async function aU1({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:B,toolCallId:U,input:D}=Y,z=Q==null?void 0:Q[B];if((z==null?void 0:z.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 Tk({name:"ai.toolCall",attributes:rH({telemetry:J,attributes:{...Ek({operationId:"ai.toolCall",telemetry:J}),"ai.toolCall.name":B,"ai.toolCall.id":U,"ai.toolCall.args":{output:()=>JSON.stringify(D)}}}),tracer:X,fn:async(w)=>{let E;await oZ({event:L,callbacks:F});let T=Ja();try{let P=Ef0({execute:z.execute.bind(z),input:D,options:{toolCallId:U,messages:G,abortSignal:K,experimental_context:W}});for await(let R of P)if(R.type==="preliminary")$==null||$({...Y,type:"tool-result",output:R.output,preliminary:!0});else E=R.output}catch(P){let R=Ja()-T;return await oZ({event:{...L,success:!1,error:P,durationMs:R},callbacks:V}),Kx0(w,P),{type:"tool-error",toolCallId:U,toolName:B,input:D,error:P,dynamic:z.type==="dynamic",...Y.providerMetadata!=null?{providerMetadata:Y.providerMetadata}:{}}}let C=Ja()-T;await oZ({event:{...L,success:!0,output:E,durationMs:C},callbacks:V});try{w.setAttributes(await rH({telemetry:J,attributes:{"ai.toolCall.result":{output:()=>JSON.stringify(E)}}}))}catch(P){}return{type:"tool-result",toolCallId:U,toolName:B,input:D,output:E,dynamic:z.type==="dynamic",...Y.providerMetadata!=null?{providerMetadata:Y.providerMetadata}:{}}}})}function sb0(Y){let Q=Y.filter((X)=>X.type==="reasoning");return Q.length===0?void 0:Q.map((X)=>X.text).join(`
1287
- `)}function tb0(Y){let Q=Y.filter((X)=>X.type==="text");if(Q.length===0)return;return Q.map((X)=>X.text).join("")}async function Dx0({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 mf6(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 Ck(Y){if(Y===void 0)return{value:void 0,state:"undefined-input"};let Q=await EG({text:Y});if(Q.success)return{value:Q.value,state:"successful-parse"};if(Q=await EG({text:mf6(Y)}),Q.success)return{value:Q.value,state:"repaired-parse"};return{value:void 0,state:"failed-parse"}}async function zx0({toolCall:Y,tools:Q,repairToolCall:X,system:J,messages:G}){var K;try{if(Q==null){if(Y.providerExecuted&&Y.dynamic)return await Ox0(Y);throw new gU1({toolName:Y.toolName})}try{return await eb0({toolCall:Y,tools:Q})}catch(W){if(X==null||!(gU1.isInstance(W)||pU1.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 iH($).jsonSchema},system:J,messages:G,error:W})}catch(H){throw new ay6({cause:H,originalError:W})}if(Z==null)throw W;return await eb0({toolCall:Z,tools:Q})}}catch(W){let Z=await EG({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 Ox0(Y){let Q=Y.input.trim()===""?{success:!0,value:{}}:await EG({text:Y.input});if(Q.success===!1)throw new pU1({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 eb0({toolCall:Y,tools:Q}){let X=Y.toolName,J=Q[X];if(J==null){if(Y.providerExecuted&&Y.dynamic)return await Ox0(Y);throw new gU1({toolName:Y.toolName,availableTools:Object.keys(Q)})}let G=iH(J.inputSchema),K=Y.input.trim()===""?await j5({value:{},schema:G}):await EG({text:Y.input,schema:G});if(K.success===!1)throw new pU1({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 XB(Y){return({steps:Q})=>Q.length===Y}async function Lx0({stopConditions:Y,steps:Q}){return(await Promise.all(Y.map((X)=>X({steps:Q})))).some((X)=>X)}async function mU1({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 ez({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 ez({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 ez({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 Mx0(...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 sA({model:Y,tools:Q,toolChoice:X,system:J,prompt:G,messages:K,maxRetries:W,abortSignal:Z,timeout:H,headers:$,stopWhen:F=XB(1),experimental_output:V,output:B=V,experimental_telemetry:U,providerOptions:D,experimental_activeTools:z,activeTools:L=z,experimental_prepareStep:w,prepareStep:E=w,experimental_repairToolCall:T,experimental_download:C,experimental_context:P,experimental_include:R,_internal:{generateId:k=nf6}={},experimental_onStart:_,experimental_onStepStart:f,experimental_onToolCallStart:b,experimental_onToolCallFinish:g,onStepFinish:r,onFinish:m,...h}){let n=Ga(Y),$1=rA(F),Q1=iU1(H),N1=nh0(H),j1=N1!=null?new AbortController:void 0,D1=Mx0(Z,Q1!=null?AbortSignal.timeout(Q1):void 0,j1==null?void 0:j1.signal),{maxRetries:L1,retry:S1}=qx0({maxRetries:W,abortSignal:D1}),m1=uU1(h),Q0=e$($!=null?$:{},`ai/${ih0}`),C1=Gx0({model:n,telemetry:U,headers:Q0,settings:{...m1,maxRetries:L1}}),A1={provider:n.provider,modelId:n.modelId},s1=await Xx0({system:J,prompt:G,messages:K});await oZ({event:{model:A1,system:J,prompt:G,messages:K,tools:Q,toolChoice:X,activeTools:L,maxOutputTokens:m1.maxOutputTokens,temperature:m1.temperature,topP:m1.topP,topK:m1.topK,presencePenalty:m1.presencePenalty,frequencyPenalty:m1.frequencyPenalty,stopSequences:m1.stopSequences,seed:m1.seed,maxRetries:L1,timeout:H,headers:$,providerOptions:D,stopWhen:F,output:B,abortSignal:Z,include:R,functionId:U==null?void 0:U.functionId,metadata:U==null?void 0:U.metadata,experimental_context:P},callbacks:_});let B4=Zx0(U);try{return await Tk({name:"ai.generateText",attributes:rH({telemetry:U,attributes:{...Ek({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:B4,fn:async(K4)=>{var q0,f1,w1,i1,R1,y1,A0,Z0,G0,x4,X6,k6,h4;let _0=s1.messages,x1=[],{approvedToolApprovals:P0,deniedToolApprovals:i4}=Bx0({messages:_0}),Z8=P0.filter((s)=>!s.toolCall.providerExecuted);if(i4.length>0||Z8.length>0){let s=await Yh0({toolCalls:Z8.map((F1)=>F1.toolCall),tools:Q,tracer:B4,telemetry:U,messages:_0,abortSignal:D1,experimental_context:P,stepNumber:0,model:A1,onToolCallStart:b,onToolCallFinish:g}),B1=[];for(let F1 of s){let t=await ez({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 i4)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}}}}});x1.push({role:"tool",content:B1})}let v9=[...P0,...i4].filter((s)=>s.toolCall.providerExecuted);if(v9.length>0)x1.push({role:"tool",content:v9.map((s)=>({type:"tool-approval-response",approvalId:s.approvalResponse.approvalId,approved:s.approvalResponse.approved,reason:s.approvalResponse.reason,providerExecuted:!0}))});let i0=uU1(h),S0,p6=[],M=[],x=[],Z1=new Map;do{let s=N1!=null?setTimeout(()=>j1.abort(),N1):void 0;try{let B1=[..._0,...x1],F1=await(E==null?void 0:E({model:n,steps:x,stepNumber:x.length,messages:B1,experimental_context:P})),t=Ga((q0=F1==null?void 0:F1.model)!=null?q0:n),r1={provider:t.provider,modelId:t.modelId},b0=await sh0({prompt:{system:(f1=F1==null?void 0:F1.system)!=null?f1:s1.system,messages:(w1=F1==null?void 0:F1.messages)!=null?w1:B1},supportedUrls:await t.supportedUrls,download:C});P=(i1=F1==null?void 0:F1.experimental_context)!=null?i1:P;let m0=(R1=F1==null?void 0:F1.activeTools)!=null?R1:L,{toolChoice:F0,tools:U4}=await th0({tools:Q,toolChoice:(y1=F1==null?void 0:F1.toolChoice)!=null?y1:X,activeTools:m0}),W9=(A0=F1==null?void 0:F1.messages)!=null?A0:B1,t9=(Z0=F1==null?void 0:F1.system)!=null?Z0:s1.system,E6=Za(D,F1==null?void 0:F1.providerOptions);await oZ({event:{stepNumber:x.length,model:r1,system:t9,messages:W9,tools:Q,toolChoice:F0,activeTools:m0,steps:[...x],providerOptions:E6,timeout:H,headers:$,stopWhen:F,output:B,abortSignal:Z,include:R,functionId:U==null?void 0:U.functionId,metadata:U==null?void 0:U.metadata,experimental_context:P},callbacks:f}),S0=await S1(()=>{var z1;return Tk({name:"ai.generateText.doGenerate",attributes:rH({telemetry:U,attributes:{...Ek({operationId:"ai.generateText.doGenerate",telemetry:U}),...C1,"ai.model.provider":t.provider,"ai.model.id":t.modelId,"ai.prompt.messages":{input:()=>Hx0(b0)},"ai.prompt.tools":{input:()=>U4==null?void 0:U4.map((c1)=>JSON.stringify(c1))},"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:B4,fn:async(c1)=>{var U0,p0,l0,v6,c0,y4,f4,a4;let H4=await t.doGenerate({...i0,tools:U4,toolChoice:F0,responseFormat:await(B==null?void 0:B.responseFormat),prompt:b0,providerOptions:E6,abortSignal:D1,headers:Q0}),j4={id:(p0=(U0=H4.response)==null?void 0:U0.id)!=null?p0:k(),timestamp:(v6=(l0=H4.response)==null?void 0:l0.timestamp)!=null?v6:new Date,modelId:(y4=(c0=H4.response)==null?void 0:c0.modelId)!=null?y4:t.modelId,headers:(f4=H4.response)==null?void 0:f4.headers,body:(a4=H4.response)==null?void 0:a4.body};return c1.setAttributes(await rH({telemetry:U,attributes:{"ai.response.finishReason":H4.finishReason.unified,"ai.response.text":{output:()=>tb0(H4.content)},"ai.response.reasoning":{output:()=>sb0(H4.content)},"ai.response.toolCalls":{output:()=>{let o4=Qh0(H4.content);return o4==null?void 0:JSON.stringify(o4)}},"ai.response.id":j4.id,"ai.response.model":j4.modelId,"ai.response.timestamp":j4.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(H4.providerMetadata),"ai.usage.promptTokens":H4.usage.inputTokens.total,"ai.usage.completionTokens":H4.usage.outputTokens.total,"gen_ai.response.finish_reasons":[H4.finishReason.unified],"gen_ai.response.id":j4.id,"gen_ai.response.model":j4.modelId,"gen_ai.usage.input_tokens":H4.usage.inputTokens.total,"gen_ai.usage.output_tokens":H4.usage.outputTokens.total}})),{...H4,response:j4}}})});let b6=await Promise.all(S0.content.filter((z1)=>z1.type==="tool-call").map((z1)=>zx0({toolCall:z1,tools:Q,repairToolCall:T,system:J,messages:B1}))),HJ={};for(let z1 of b6){if(z1.invalid)continue;let c1=Q==null?void 0:Q[z1.toolName];if(c1==null)continue;if((c1==null?void 0:c1.onInputAvailable)!=null)await c1.onInputAvailable({input:z1.input,toolCallId:z1.toolCallId,messages:B1,abortSignal:D1,experimental_context:P});if(await Dx0({tool:c1,toolCall:z1,messages:B1,experimental_context:P}))HJ[z1.toolCallId]={type:"tool-approval-request",approvalId:k(),toolCall:z1}}let u=b6.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:YB(z1.error),dynamic:!0});if(p6=b6.filter((z1)=>!z1.providerExecuted),Q!=null)M.push(...await Yh0({toolCalls:p6.filter((z1)=>!z1.invalid&&HJ[z1.toolCallId]==null),tools:Q,tracer:B4,telemetry:U,messages:B1,abortSignal:D1,experimental_context:P,stepNumber:x.length,model:r1,onToolCallStart:b,onToolCallFinish:g}));for(let z1 of b6){if(!z1.providerExecuted)continue;let c1=Q==null?void 0:Q[z1.toolName];if((c1==null?void 0:c1.type)==="provider"&&c1.supportsDeferredResults){if(!S0.content.some((p0)=>p0.type==="tool-result"&&p0.toolCallId===z1.toolCallId))Z1.set(z1.toolCallId,{toolName:z1.toolName})}}for(let z1 of S0.content)if(z1.type==="tool-result")Z1.delete(z1.toolCallId);let c=af6({content:S0.content,toolCalls:b6,toolOutputs:M,toolApprovalRequests:Object.values(HJ),tools:Q});x1.push(...await mU1({content:c,tools:Q}));let o=((G0=R==null?void 0:R.requestBody)!=null?G0:!0)?(x4=S0.request)!=null?x4:{}:{...S0.request,body:void 0},v={...S0.response,messages:structuredClone(x1),body:((X6=R==null?void 0:R.responseBody)!=null?X6:!0)?(k6=S0.response)==null?void 0:k6.body:void 0},G1=x.length,V1=new Nx0({stepNumber:G1,model:r1,functionId:U==null?void 0:U.functionId,metadata:U==null?void 0:U.metadata,experimental_context:P,content:c,finishReason:S0.finishReason.unified,rawFinishReason:S0.finishReason.raw,usage:$x0(S0.usage),warnings:S0.warnings,providerMetadata:S0.providerMetadata,request:o,response:v});nU1({warnings:(h4=S0.warnings)!=null?h4:[],provider:r1.provider,model:r1.modelId}),x.push(V1),await oZ({event:V1,callbacks:r})}finally{if(s!=null)clearTimeout(s)}}while((p6.length>0&&M.length===p6.length||Z1.size>0)&&!await Lx0({stopConditions:$1,steps:x}));K4.setAttributes(await rH({telemetry:U,attributes:{"ai.response.finishReason":S0.finishReason.unified,"ai.response.text":{output:()=>tb0(S0.content)},"ai.response.reasoning":{output:()=>sb0(S0.content)},"ai.response.toolCalls":{output:()=>{let s=Qh0(S0.content);return s==null?void 0:JSON.stringify(s)}},"ai.response.providerMetadata":JSON.stringify(S0.providerMetadata),"ai.usage.promptTokens":S0.usage.inputTokens.total,"ai.usage.completionTokens":S0.usage.outputTokens.total}}));let K1=x[x.length-1],O=x.reduce((s,B1)=>{return Fx0(s,B1.usage)},{inputTokens:void 0,outputTokens:void 0,totalTokens:void 0,reasoningTokens:void 0,cachedInputTokens:void 0});await oZ({event:{stepNumber:K1.stepNumber,model:K1.model,functionId:K1.functionId,metadata:K1.metadata,experimental_context:K1.experimental_context,finishReason:K1.finishReason,rawFinishReason:K1.rawFinishReason,usage:K1.usage,content:K1.content,text:K1.text,reasoningText:K1.reasoningText,reasoning:K1.reasoning,files:K1.files,sources:K1.sources,toolCalls:K1.toolCalls,staticToolCalls:K1.staticToolCalls,dynamicToolCalls:K1.dynamicToolCalls,toolResults:K1.toolResults,staticToolResults:K1.staticToolResults,dynamicToolResults:K1.dynamicToolResults,request:K1.request,response:K1.response,warnings:K1.warnings,providerMetadata:K1.providerMetadata,steps:x,totalUsage:O},callbacks:m});let S;if(K1.finishReason==="stop")S=await(B!=null?B:Wa()).parseCompleteOutput({text:K1.text},{response:K1.response,usage:K1.usage,finishReason:K1.finishReason});return new if6({steps:x,totalUsage:O,output:S})}})}catch(K4){throw Jx0(K4)}}async function Yh0({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(B)=>aU1({toolCall:B,tools:Q,tracer:X,telemetry:J,messages:G,abortSignal:K,experimental_context:W,stepNumber:Z,model:H,onToolCallStart:$,onToolCallFinish:F})))).filter((B)=>B!=null)}function Qh0(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 af6({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 Ux0(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 cU1({toolCallId:W.toolCallId,approvalId:W.approvalId});K.push({type:"tool-approval-request",approvalId:W.approvalId,toolCall:Z});break}}return[...K,...X,...J]}function Ka(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 rf6({status:Y,statusText:Q,headers:X,textStream:J}){return new Response(J.pipeThrough(new TextEncoderStream),{status:Y!=null?Y:200,statusText:Q,headers:Ka(X,{"content-type":"text/plain; charset=utf-8"})})}function wx0({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 of6({response:Y,status:Q,statusText:X,headers:J,textStream:G}){wx0({response:Y,status:Q,statusText:X,headers:Object.fromEntries(Ka(J,{"content-type":"text/plain; charset=utf-8"}).entries()),stream:G.pipeThrough(new TextEncoderStream)})}function Ha({status:Y,statusText:Q,headers:X,stream:J,consumeSseStream:G}){let K=J.pipeThrough(new Ax0);if(G){let[W,Z]=K.tee();K=W,G({stream:Z})}return new Response(K.pipeThrough(new TextEncoderStream),{status:Y,statusText:Q,headers:Ka(X,Px0)})}function sf6({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 tf6(Y){return Y.type.startsWith("data-")}function fU1(Y){return Y.type.startsWith("data-")}function bU1(Y){return Y.type==="text"}function hU1(Y){return Y.type==="file"}function Xh0(Y){return Y.type==="reasoning"}function lU1(Y){return Y.type.startsWith("tool-")}function Ex0(Y){return Y.type==="dynamic-tool"}function aA(Y){return lU1(Y)||Ex0(Y)}function dU1(Y){return Y.type.split("-").slice(1).join("-")}function xU1(Y){return Ex0(Y)?Y.toolName:dU1(Y)}function Tx0({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 Cx0({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,B,U,D;function z(T){let P=$.message.parts.filter(aA).find((R)=>R.toolCallId===T);if(P==null)throw new nA({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((_)=>lU1(_)&&_.toolCallId===T.toolCallId),R=T,k=P;if(P!=null){if(P.state=T.state,k.input=R.input,k.output=R.output,k.errorText=R.errorText,k.rawInput=R.rawInput,k.preliminary=R.preliminary,T.title!==void 0)k.title=T.title;if(k.providerExecuted=(C=R.providerExecuted)!=null?C:P.providerExecuted,R.providerMetadata!=null)P.callProviderMetadata=R.providerMetadata}else $.message.parts.push({type:`tool-${T.toolName}`,toolCallId:T.toolCallId,state:T.state,title:T.title,input:R.input,output:R.output,rawInput:R.rawInput,errorText:R.errorText,providerExecuted:R.providerExecuted,preliminary:R.preliminary,...R.providerMetadata!=null?{callProviderMetadata:R.providerMetadata}:{}})}function w(T){var C,P;let R=$.message.parts.find((f)=>f.type==="dynamic-tool"&&f.toolCallId===T.toolCallId),k=T,_=R;if(R!=null){if(R.state=T.state,_.toolName=T.toolName,_.input=k.input,_.output=k.output,_.errorText=k.errorText,_.rawInput=(C=k.rawInput)!=null?C:_.rawInput,_.preliminary=k.preliminary,T.title!==void 0)_.title=T.title;if(_.providerExecuted=(P=k.providerExecuted)!=null?P:R.providerExecuted,k.providerMetadata!=null)R.callProviderMetadata=k.providerMetadata}else $.message.parts.push({type:"dynamic-tool",toolName:T.toolName,toolCallId:T.toolCallId,state:T.state,input:k.input,output:k.output,errorText:k.errorText,preliminary:k.preliminary,providerExecuted:k.providerExecuted,title:T.title,...k.providerMetadata!=null?{callProviderMetadata:k.providerMetadata}:{}})}async function E(T){if(T!=null){let C=$.message.metadata!=null?Za($.message.metadata,T):T;if(Q!=null)await aH({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 nA({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 nA({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=(B=Z.providerMetadata)!=null?B: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 nA({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 nA({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=(D=Z.providerMetadata)!=null?D: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(lU1);if($.partialToolCalls[Z.toolCallId]={text:"",toolName:Z.toolName,index:T.length,dynamic:Z.dynamic,title:Z.title},Z.dynamic)w({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 nA({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 Ck(T.text);if(T.dynamic)w({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)w({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":{let T=$.message.parts.filter(aA).find((P)=>P.toolCallId===Z.toolCallId);if(T!=null?T.type==="dynamic-tool":!!Z.dynamic)w({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=z(Z.toolCallId);T.state="approval-requested",T.approval={id:Z.approvalId},F();break}case"tool-output-denied":{let T=z(Z.toolCallId);T.state="output-denied",F();break}case"tool-output-available":{let T=z(Z.toolCallId);if(T.type==="dynamic-tool")w({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:dU1(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=z(Z.toolCallId);if(T.type==="dynamic-tool")w({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:dU1(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(tf6(Z)){if((X==null?void 0:X[Z.type])!=null){let P=$.message.parts.findIndex((k)=>("id"in k)&&("data"in k)&&k.id===Z.id&&k.type===Z.type),R=P>=0?P:$.message.parts.length;await aH({value:Z.data,schema:X[Z.type],context:{field:`message.parts[${R}].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 Rx0({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(D,z){if(D.type==="start"){let L=D;if(L.messageId==null&&Y!=null)L.messageId=Y}if(D.type==="abort")Z=!0;z.enqueue(D)}}));if(J==null&&X==null)return H;let $=Tx0({lastMessage:W?structuredClone(W):void 0,messageId:Y!=null?Y:""}),F=async(D)=>{await D({state:$,write:()=>{}})},V=!1,B=async()=>{if(V||!J)return;V=!0;let D=$.message.id===(W==null?void 0:W.id);await J({isAborted:Z,isContinuation:D,responseMessage:$.message,messages:[...D?Q.slice(0,-1):Q,$.message],finishReason:$.finishReason})},U=async()=>{if(!X)return;let D=$.message.id===(W==null?void 0:W.id);try{await X({isContinuation:D,responseMessage:structuredClone($.message),messages:[...D?Q.slice(0,-1):Q,structuredClone($.message)]})}catch(z){G(z)}};return Cx0({stream:H,runUpdateMessageJob:F,onError:G}).pipeThrough(new TransformStream({async transform(D,z){if(D.type==="finish-step")await U();z.enqueue(D)},async cancel(){await B()},async flush(){await B()}}))}function ef6({response:Y,status:Q,statusText:X,headers:J,stream:G,consumeSseStream:K}){let W=G.pipeThrough(new Ax0);if(K){let[Z,H]=W.tee();W=Z,K({stream:H})}wx0({response:Y,status:Q,statusText:X,headers:Object.fromEntries(Ka(J,Px0).entries()),stream:W.pipeThrough(new TextEncoderStream)})}function iA(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 Rk({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 Jh0(){let Y,Q;return{promise:new Promise((J,G)=>{Y=J,Q=G}),resolve:Y,reject:Q}}function Yb6(){let Y=[],Q=null,X=!1,J=Jh0(),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=Jh0(),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 Qb6({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:B,onToolCallFinish:U}){let D=null,z=new ReadableStream({start(k){D=k}}),L=new Set,w=new Map,E=new Map,T=!1,C=void 0;function P(){if(T&&L.size===0){if(C!=null)D.enqueue(C);D.close()}}let R=new TransformStream({async transform(k,_){let f=k.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":{_.enqueue(k);break}case"file":{_.enqueue({type:"file",file:new gf6({data:k.data,mediaType:k.mediaType})});break}case"finish":{C={type:"finish",finishReason:k.finishReason.unified,rawFinishReason:k.finishReason.raw,usage:$x0(k.usage),providerMetadata:k.providerMetadata};break}case"tool-approval-request":{let b=E.get(k.toolCallId);if(b==null){D.enqueue({type:"error",error:new cU1({toolCallId:k.toolCallId,approvalId:k.approvalId})});break}_.enqueue({type:"tool-approval-request",approvalId:k.approvalId,toolCall:b});break}case"tool-call":{try{let b=await zx0({toolCall:k,tools:Y,repairToolCall:Z,system:G,messages:K});if(E.set(b.toolCallId,b),_.enqueue(b),b.invalid){D.enqueue({type:"tool-error",toolCallId:b.toolCallId,toolName:b.toolName,input:b.input,error:YB(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 Dx0({tool:g,toolCall:b,messages:K,experimental_context:H})){D.enqueue({type:"tool-approval-request",approvalId:$(),toolCall:b});break}if(w.set(b.toolCallId,b.input),g.execute!=null&&b.providerExecuted!==!0){let r=$();L.add(r),aU1({toolCall:b,tools:Y,tracer:X,telemetry:J,messages:K,abortSignal:W,experimental_context:H,stepNumber:F,model:V,onToolCallStart:B,onToolCallFinish:U,onPreliminaryToolResult:(m)=>{D.enqueue(m)}}).then((m)=>{D.enqueue(m)}).catch((m)=>{D.enqueue({type:"error",error:m})}).finally(()=>{L.delete(r),P()})}}catch(b){D.enqueue({type:"error",error:b})}break}case"tool-result":{let b=k.toolName;if(k.isError)D.enqueue({type:"tool-error",toolCallId:k.toolCallId,toolName:b,input:w.get(k.toolCallId),providerExecuted:!0,error:k.result,dynamic:k.dynamic});else _.enqueue({type:"tool-result",toolCallId:k.toolCallId,toolName:b,input:w.get(k.toolCallId),output:k.result,providerExecuted:!0,dynamic:k.dynamic});break}default:throw Error(`Unhandled chunk type: ${f}`)}},flush(){T=!0,P()}});return new ReadableStream({async start(k){return Promise.all([Q.pipeThrough(R).pipeTo(new WritableStream({write(_){k.enqueue(_)},close(){}})),z.pipeTo(new WritableStream({write(_){k.enqueue(_)},close(){k.close()}}))])}})}function tA({model:Y,tools:Q,toolChoice:X,system:J,prompt:G,messages:K,maxRetries:W,abortSignal:Z,timeout:H,headers:$,stopWhen:F=XB(1),experimental_output:V,output:B=V,experimental_telemetry:U,prepareStep:D,providerOptions:z,experimental_activeTools:L,activeTools:w=L,experimental_repairToolCall:E,experimental_transform:T,experimental_download:C,includeRawChunks:P=!1,onChunk:R,onError:k=({error:D1})=>{console.error(D1)},onFinish:_,onAbort:f,onStepFinish:b,experimental_onStart:g,experimental_onStepStart:r,experimental_onToolCallStart:m,experimental_onToolCallFinish:h,experimental_context:n,experimental_include:$1,_internal:{now:Q1=Ja,generateId:N1=Xb6}={},...j1}){let D1=iU1(H),L1=nh0(H),S1=qf6(H),m1=L1!=null?new AbortController:void 0,Q0=S1!=null?new AbortController:void 0;return new Gb6({model:Ga(Y),telemetry:U,headers:$,settings:j1,maxRetries:W,abortSignal:Mx0(Z,D1!=null?AbortSignal.timeout(D1):void 0,m1==null?void 0:m1.signal,Q0==null?void 0:Q0.signal),stepTimeoutMs:L1,stepAbortController:m1,chunkTimeoutMs:S1,chunkAbortController:Q0,system:J,prompt:G,messages:K,tools:Q,toolChoice:X,transforms:rA(T),activeTools:w,repairToolCall:E,stopConditions:rA(F),output:B,providerOptions:z,prepareStep:D,includeRawChunks:P,timeout:H,stopWhen:F,originalAbortSignal:Z,onChunk:R,onError:k,onFinish:_,onAbort:f,onStepFinish:b,onStart:g,onStepStart:r,onToolCallStart:m,onToolCallFinish:h,now:Q1,generateId:N1,experimental_context:n,download:C,include:$1})}function Jb6(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 rU1({execute:Y,onError:Q=YB,originalMessages:X,onStepFinish:J,onFinish:G,generateId:K=UU1}){let W,Z=[],H=new ReadableStream({start(V){W=V}});function $(V){try{W.enqueue(V)}catch(B){}}try{let V=Y({writer:{write(B){$(B)},merge(B){Z.push((async()=>{let U=B.getReader();while(!0){let{done:D,value:z}=await U.read();if(D)break;$(z)}})().catch((U)=>{$({type:"error",errorText:Q(U)})}))},onError:Q}});if(V)Z.push(V.catch((B)=>{$({type:"error",errorText:Q(B)})}))}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){}}),Rx0({stream:H,messageId:K(),originalMessages:X,onStepFinish:J,onFinish:G,onError:Q})}function Ix0({message:Y,stream:Q,onError:X,terminateOnError:J=!1}){var G;let K,W=!1,Z=new ReadableStream({start(F){K=F}}),H=Tx0({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 Rk({stream:Cx0({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()}),iA(Z)}async function jx0(Y,Q){let X=[];if(Q==null?void 0:Q.ignoreIncompleteToolCalls)Y=Y.map((J)=>({...J,parts:J.parts.filter((G)=>!aA(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(bU1(G))return{type:"text",text:G.text,...G.providerMetadata!=null?{providerOptions:G.providerMetadata}:{}};if(hU1(G))return{type:"file",mediaType:G.mediaType,filename:G.filename,data:G.url,...G.providerMetadata!=null?{providerOptions:G.providerMetadata}:{}};if(fU1(G))return(K=Q==null?void 0:Q.convertDataPart)==null?void 0:K.call(Q,G)}).filter(Df0)});break}case"assistant":{if(J.parts!=null){let G=[];async function K(){var W,Z,H,$,F,V;if(G.length===0)return;let B=[];for(let D of G)if(bU1(D))B.push({type:"text",text:D.text,...D.providerMetadata!=null?{providerOptions:D.providerMetadata}:{}});else if(hU1(D))B.push({type:"file",mediaType:D.mediaType,filename:D.filename,data:D.url});else if(Xh0(D))B.push({type:"reasoning",text:D.text,providerOptions:D.providerMetadata});else if(aA(D)){let z=xU1(D);if(D.state!=="input-streaming"){if(B.push({type:"tool-call",toolCallId:D.toolCallId,toolName:z,input:D.state==="output-error"?(W=D.input)!=null?W:("rawInput"in D)?D.rawInput:void 0:D.input,providerExecuted:D.providerExecuted,...D.callProviderMetadata!=null?{providerOptions:D.callProviderMetadata}:{}}),D.approval!=null)B.push({type:"tool-approval-request",approvalId:D.approval.id,toolCallId:D.toolCallId});if(D.providerExecuted===!0&&D.state!=="approval-responded"&&(D.state==="output-available"||D.state==="output-error"))B.push({type:"tool-result",toolCallId:D.toolCallId,toolName:z,output:await ez({toolCallId:D.toolCallId,input:D.input,output:D.state==="output-error"?D.errorText:D.output,tool:(Z=Q==null?void 0:Q.tools)==null?void 0:Z[z],errorMode:D.state==="output-error"?"json":"none"}),...D.callProviderMetadata!=null?{providerOptions:D.callProviderMetadata}:{}})}}else if(fU1(D)){let z=(H=Q==null?void 0:Q.convertDataPart)==null?void 0:H.call(Q,D);if(z!=null)B.push(z)}else throw Error(`Unsupported part: ${D}`);X.push({role:"assistant",content:B});let U=G.filter((D)=>{var z;return aA(D)&&(D.providerExecuted!==!0||((z=D.approval)==null?void 0:z.approved)!=null)});if(U.length>0){let D=[];for(let z of U){if((($=z.approval)==null?void 0:$.approved)!=null)D.push({type:"tool-approval-response",approvalId:z.approval.id,approved:z.approval.approved,reason:z.approval.reason,providerExecuted:z.providerExecuted});if(z.providerExecuted===!0)continue;switch(z.state){case"output-denied":{D.push({type:"tool-result",toolCallId:z.toolCallId,toolName:xU1(z),output:{type:"error-text",value:(F=z.approval.reason)!=null?F:"Tool execution denied."},...z.callProviderMetadata!=null?{providerOptions:z.callProviderMetadata}:{}});break}case"output-error":case"output-available":{let L=xU1(z);D.push({type:"tool-result",toolCallId:z.toolCallId,toolName:L,output:await ez({toolCallId:z.toolCallId,input:z.input,output:z.state==="output-error"?z.errorText:z.output,tool:(V=Q==null?void 0:Q.tools)==null?void 0:V[L],errorMode:z.state==="output-error"?"text":"none"}),...z.callProviderMetadata!=null?{providerOptions:z.callProviderMetadata}:{}});break}}}if(D.length>0)X.push({role:"tool",content:D})}G=[]}for(let W of J.parts)if(bU1(W)||Xh0(W)||hU1(W)||aA(W)||fU1(W))G.push(W);else if(W.type==="step-start")await K();await K();break}break}default:{let G=J.role;throw new Gf6({originalMessage:J,message:`Unsupported role: ${G}`})}}return X}async function Zb6({messages:Y,metadataSchema:Q,dataSchemas:X,tools:J}){try{if(Y==null)return{success:!1,error:new rZ({parameter:"messages",value:Y,message:"messages parameter must be provided"})};let G=await aH({value:Y,schema:Wb6});if(Q)for(let[K,W]of G.entries())await aH({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 PG({value:$.data,cause:`No data schema found for data part ${F}`,context:{field:`messages[${K}].parts[${Z}].data`,entityName:F,entityId:$.id}})};await aH({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 PG({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 aH({value:$.input,schema:V.inputSchema,context:{field:`messages[${K}].parts[${Z}].input`,entityName:F,entityId:$.toolCallId}});if($.state==="output-available"&&V.outputSchema)await aH({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 Sx0({messages:Y,metadataSchema:Q,dataSchemas:X,tools:J}){let G=await Zb6({messages:Y,metadataSchema:Q,dataSchemas:X,tools:J});if(!G.success)throw G.error;return G.data}function kx0(Y){return({url:Q,abortSignal:X})=>ah0({url:Q,maxBytes:Y==null?void 0:Y.maxBytes,abortSignal:X})}function vx0({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((B)=>{if(B.type!=="tool-call"&&B.type!=="tool-result"&&B.type!=="tool-approval-request"&&B.type!=="tool-approval-response")return!0;if(B.type==="tool-call")F[B.toolCallId]=B.toolName;else if(B.type==="tool-approval-request")V[B.approvalId]=F[B.toolCallId];if((B.type==="tool-call"||B.type==="tool-result")&&W.has(B.toolCallId)||(B.type==="tool-approval-request"||B.type==="tool-approval-response")&&Z.has(B.approvalId))return!0;return G.tools!=null&&!G.tools.includes(B.type==="tool-call"||B.type==="tool-result"?B.toolName:V[B.approvalId])})}})}if(J==="remove")Y=Y.filter((G)=>G.content.length>0);return Y}var Wx0,oA,zy6,Oy6=(Y,Q)=>{for(var X in Q)zy6(Y,X,{get:Q[X],enumerable:!0})},Gh0="AI_InvalidArgumentError",Wh0,Ny6,Zh0,rZ,Ly6="AI_InvalidStreamPartError",My6,wy6,Ay6,Kh0="AI_InvalidToolApprovalError",Hh0,Py6,$h0,Ey6,Fh0="AI_InvalidToolInputError",Vh0,Ty6,qh0,pU1,Bh0="AI_ToolCallNotFoundForApprovalError",Uh0,Cy6,Dh0,cU1,zh0="AI_MissingToolResultsError",Oh0,Ry6,Nh0,nb0,Iy6="AI_NoImageGeneratedError",jy6,Sy6,ky6,Lh0="AI_NoObjectGeneratedError",Mh0,vy6,wh0,QB,Ah0="AI_NoOutputGeneratedError",Ph0,_y6,Eh0,Th0,yy6="AI_NoSpeechGeneratedError",fy6,by6,hy6,xy6="AI_NoTranscriptGeneratedError",gy6,uy6,my6,ly6="AI_NoVideoGeneratedError",dy6,py6,cy6,Ch0="AI_NoSuchToolError",Rh0,ny6,Ih0,gU1,jh0="AI_ToolCallRepairError",Sh0,iy6,kh0,ay6,ry6,vh0="AI_UIMessageStreamError",_h0,oy6,yh0,nA,sy6="AI_InvalidDataContentError",ty6,ey6,Yf6,fh0="AI_InvalidMessageRoleError",bh0,Qf6,hh0,Xf6,xh0="AI_MessageConversionError",gh0,Jf6,uh0,Gf6,mh0="AI_RetryError",lh0,Wf6,dh0,ib0,Kf6="AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.",ab0=!1,nU1=(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(!ab0)ab0=!0,console.info(Kf6);for(let X of Y.warnings)console.warn(Zf6({warning:X,provider:Y.provider,model:Y.model}))},Bf6,Uf6=(Y)=>{let Q=typeof Y==="string"?lA(Y):Y,X=(Q[6]&127)<<21|(Q[7]&127)<<14|(Q[8]&127)<<7|Q[9]&127;return Q.slice(X+10)},ih0="6.0.108",ah0=async({url:Y,maxBytes:Q,abortSignal:X})=>{var J;let G=Y.toString();try{let K=await fetch(G,{headers:e$({},`ai-sdk/${ih0}`,ii()),signal:X});if(!K.ok)throw new mA({url:G,statusCode:K.status,statusText:K.statusText});return{data:await qf0({response:K,url:G,maxBytes:Q!=null?Q:BU1}),mediaType:(J=K.headers.get("content-type"))!=null?J:void 0}}catch(K){if(mA.isInstance(K))throw K;throw new mA({url:G,cause:K})}},Of6=(Y=ah0)=>(Q)=>Promise.all(Q.map(async(X)=>X.isUrlSupportedByModel?null:Y(X))),rh0,Pk,n4,eh0,Ef6,Yx0,Tf6,Cf6,Rf6,Qx0,If6,jf6,Sf6,kf6,vf6,_f6,yf6,ff6,Xa,bf6,xf6=({maxRetries:Y=2,initialDelayInMs:Q=2000,backoffFactor:X=2,abortSignal:J}={})=>async(G)=>Vx0(G,{maxRetries:Y,delayInMs:Q,backoffFactor:X,abortSignal:J}),Ux0=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=t$(this.uint8ArrayData);return this.base64Data}get uint8Array(){if(this.uint8ArrayData==null)this.uint8ArrayData=lA(this.base64Data);return this.uint8ArrayData}},gf6,uf6,Wa=()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),async parseCompleteOutput({text:Y}){return Y},async parsePartialOutput({text:Y}){return{partial:Y}},createElementStreamTransform(){return}}),lf6=({schema:Y,name:Q,description:X})=>{let J=iH(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 EG({text:G});if(!W.success)throw new QB({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 j5({value:W.value,schema:J});if(!Z.success)throw new QB({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 Ck(G);switch(K.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:K.value}}},createElementStreamTransform(){return}}},df6=({element:Y,name:Q,description:X})=>{let J=iH(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 EG({text:G});if(!W.success)throw new QB({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 QB({message:"No object generated: response did not match schema.",cause:new PG({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 j5({value:H,schema:J});if(!$.success)throw new QB({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 Ck(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 j5({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])}})}}},pf6=({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 EG({text:J});if(!K.success)throw new QB({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 QB({message:"No object generated: response did not match schema.",cause:new PG({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 Ck(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}}},cf6=({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 EG({text:X});if(!G.success)throw new QB({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 Ck(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}}},Nx0=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:B}){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=B}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)}},nf6,if6=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 Th0;return this._output}},Ax0,Px0,kX9,Xb6,Gb6=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:B,tools:U,toolChoice:D,transforms:z,activeTools:L,repairToolCall:w,stopConditions:E,output:T,providerOptions:C,prepareStep:P,includeRawChunks:R,now:k,generateId:_,timeout:f,stopWhen:b,originalAbortSignal:g,onChunk:r,onError:m,onFinish:h,onAbort:n,onStepFinish:$1,onStart:Q1,onStepStart:N1,onToolCallStart:j1,onToolCallFinish:D1,experimental_context:L1,download:S1,include:m1}){this._totalUsage=new rz,this._finishReason=new rz,this._rawFinishReason=new rz,this._steps=new rz,this.outputSpecification=T,this.includeRawChunks=R,this.tools=U;let Q0,C1=[],A1=[],s1=void 0,B4=void 0,K4=void 0,q0={},f1=[],w1=[],i1=new Map,R1,y1={},A0={},Z0=new TransformStream({async transform(i0,S0){var p6,M,x,Z1;S0.enqueue(i0);let{part:K1}=i0;if(K1.type==="text-delta"||K1.type==="reasoning-delta"||K1.type==="source"||K1.type==="tool-call"||K1.type==="tool-result"||K1.type==="tool-input-start"||K1.type==="tool-input-delta"||K1.type==="raw")await(r==null?void 0:r({chunk:K1}));if(K1.type==="error")await m({error:Jx0(K1.error)});if(K1.type==="text-start")y1[K1.id]={type:"text",text:"",providerMetadata:K1.providerMetadata},C1.push(y1[K1.id]);if(K1.type==="text-delta"){let O=y1[K1.id];if(O==null){S0.enqueue({part:{type:"error",error:`text part ${K1.id} not found`},partialOutput:void 0});return}O.text+=K1.text,O.providerMetadata=(p6=K1.providerMetadata)!=null?p6:O.providerMetadata}if(K1.type==="text-end"){let O=y1[K1.id];if(O==null){S0.enqueue({part:{type:"error",error:`text part ${K1.id} not found`},partialOutput:void 0});return}O.providerMetadata=(M=K1.providerMetadata)!=null?M:O.providerMetadata,delete y1[K1.id]}if(K1.type==="reasoning-start")A0[K1.id]={type:"reasoning",text:"",providerMetadata:K1.providerMetadata},C1.push(A0[K1.id]);if(K1.type==="reasoning-delta"){let O=A0[K1.id];if(O==null){S0.enqueue({part:{type:"error",error:`reasoning part ${K1.id} not found`},partialOutput:void 0});return}O.text+=K1.text,O.providerMetadata=(x=K1.providerMetadata)!=null?x:O.providerMetadata}if(K1.type==="reasoning-end"){let O=A0[K1.id];if(O==null){S0.enqueue({part:{type:"error",error:`reasoning part ${K1.id} not found`},partialOutput:void 0});return}O.providerMetadata=(Z1=K1.providerMetadata)!=null?Z1:O.providerMetadata,delete A0[K1.id]}if(K1.type==="file")C1.push({type:"file",file:K1.file});if(K1.type==="source")C1.push(K1);if(K1.type==="tool-call")C1.push(K1);if(K1.type==="tool-result"&&!K1.preliminary)C1.push(K1);if(K1.type==="tool-approval-request")C1.push(K1);if(K1.type==="tool-error")C1.push(K1);if(K1.type==="start-step")C1=[],A0={},y1={},q0=K1.request,f1=K1.warnings;if(K1.type==="finish-step"){let O=await mU1({content:C1,tools:U}),S=new Nx0({stepNumber:w1.length,model:Z8,...v9,experimental_context:L1,content:C1,finishReason:K1.finishReason,rawFinishReason:K1.rawFinishReason,usage:K1.usage,warnings:f1,request:q0,response:{...K1.response,messages:[...A1,...O]},providerMetadata:K1.providerMetadata});await oZ({event:S,callbacks:$1}),nU1({warnings:f1,provider:Z8.provider,model:Z8.modelId}),w1.push(S),A1.push(...O),Q0.resolve()}if(K1.type==="finish")K4=K1.totalUsage,s1=K1.finishReason,B4=K1.rawFinishReason},async flush(i0){try{if(w1.length===0){let x=(K==null?void 0:K.aborted)?K.reason:new Th0({message:"No output generated. Check the stream for errors."});i4._finishReason.reject(x),i4._rawFinishReason.reject(x),i4._totalUsage.reject(x),i4._steps.reject(x);return}let S0=s1!=null?s1:"other",p6=K4!=null?K4:yU1();i4._finishReason.resolve(S0),i4._rawFinishReason.resolve(B4),i4._totalUsage.resolve(p6),i4._steps.resolve(w1);let M=w1[w1.length-1];await oZ({event:{stepNumber:M.stepNumber,model:M.model,functionId:M.functionId,metadata:M.metadata,experimental_context:M.experimental_context,finishReason:M.finishReason,rawFinishReason:M.rawFinishReason,totalUsage:p6,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:w1},callbacks:h}),R1.setAttributes(await rH({telemetry:Q,attributes:{"ai.response.finishReason":S0,"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":p6.inputTokens,"ai.usage.outputTokens":p6.outputTokens,"ai.usage.totalTokens":p6.totalTokens,"ai.usage.reasoningTokens":p6.reasoningTokens,"ai.usage.cachedInputTokens":p6.cachedInputTokens}}))}catch(S0){i0.error(S0)}finally{R1.end()}}}),G0=Yb6();this.addStream=G0.addStream,this.closeStream=G0.close;let x4=G0.stream.getReader(),X6=new ReadableStream({async start(i0){i0.enqueue({type:"start"})},async pull(i0){function S0(){n==null||n({steps:w1}),i0.enqueue({type:"abort",...(K==null?void 0:K.reason)!==void 0?{reason:cZ(K.reason)}:{}}),i0.close()}try{let{done:p6,value:M}=await x4.read();if(p6){i0.close();return}if(K==null?void 0:K.aborted){S0();return}i0.enqueue(M)}catch(p6){if(o$(p6)&&(K==null?void 0:K.aborted))S0();else i0.error(p6)}},cancel(i0){return G0.stream.cancel(i0)}});for(let i0 of z)X6=X6.pipeThrough(i0({tools:U,stopStream(){G0.terminate()}}));this.baseStream=X6.pipeThrough(Jb6(T!=null?T:Wa())).pipeThrough(Z0);let{maxRetries:k6,retry:h4}=qx0({maxRetries:G,abortSignal:K}),_0=Zx0(Q),x1=uU1(J),P0=Gx0({model:Y,telemetry:Q,headers:X,settings:{...x1,maxRetries:k6}}),i4=this,Z8={provider:Y.provider,modelId:Y.modelId},v9={functionId:Q==null?void 0:Q.functionId,metadata:Q==null?void 0:Q.metadata};Tk({name:"ai.streamText",attributes:rH({telemetry:Q,attributes:{...Ek({operationId:"ai.streamText",telemetry:Q}),...P0,"ai.prompt":{input:()=>JSON.stringify({system:F,prompt:V,messages:B})}}}),tracer:_0,endWhenDone:!1,fn:async(i0)=>{R1=i0;let S0=await Xx0({system:F,prompt:V,messages:B});await oZ({event:{model:Z8,system:F,prompt:V,messages:B,tools:U,toolChoice:D,activeTools:L,maxOutputTokens:x1.maxOutputTokens,temperature:x1.temperature,topP:x1.topP,topK:x1.topK,presencePenalty:x1.presencePenalty,frequencyPenalty:x1.frequencyPenalty,stopSequences:x1.stopSequences,seed:x1.seed,maxRetries:k6,timeout:f,headers:X,providerOptions:C,stopWhen:b,output:T,abortSignal:g,include:m1,...v9,experimental_context:L1},callbacks:Q1});let p6=S0.messages,M=[],{approvedToolApprovals:x,deniedToolApprovals:Z1}=Bx0({messages:p6});if(Z1.length>0||x.length>0){let O=[...x,...Z1].filter((r1)=>r1.toolCall.providerExecuted),S=x.filter((r1)=>!r1.toolCall.providerExecuted),s=Z1.filter((r1)=>!r1.toolCall.providerExecuted),B1=Z1.filter((r1)=>r1.toolCall.providerExecuted),F1,t=new ReadableStream({start(r1){F1=r1}});i4.addStream(t);try{for(let b0 of[...s,...B1])F1==null||F1.enqueue({type:"tool-output-denied",toolCallId:b0.toolCall.toolCallId,toolName:b0.toolCall.toolName});let r1=[];if(await Promise.all(S.map(async(b0)=>{let m0=await aU1({toolCall:b0.toolCall,tools:U,tracer:_0,telemetry:Q,messages:p6,abortSignal:K,experimental_context:L1,stepNumber:w1.length,model:Z8,onToolCallStart:j1,onToolCallFinish:D1,onPreliminaryToolResult:(F0)=>{F1==null||F1.enqueue(F0)}});if(m0!=null)F1==null||F1.enqueue(m0),r1.push(m0)})),O.length>0)M.push({role:"tool",content:O.map((b0)=>({type:"tool-approval-response",approvalId:b0.approvalResponse.approvalId,approved:b0.approvalResponse.approved,reason:b0.approvalResponse.reason,providerExecuted:!0}))});if(r1.length>0||s.length>0){let b0=[];for(let m0 of r1)b0.push({type:"tool-result",toolCallId:m0.toolCallId,toolName:m0.toolName,output:await ez({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)b0.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:b0})}}finally{F1==null||F1.close()}}A1.push(...M);async function K1({currentStep:O,responseMessages:S,usage:s}){var B1,F1,t,r1,b0,m0,F0,U4,W9;let t9=i4.includeRawChunks,E6=W!=null?setTimeout(()=>Z.abort(),W):void 0,b6=void 0;function HJ(){if(H!=null){if(b6!=null)clearTimeout(b6);b6=setTimeout(()=>$.abort(),H)}}function u(){if(b6!=null)clearTimeout(b6),b6=void 0}function c(){if(E6!=null)clearTimeout(E6)}try{Q0=new rz;let o=[...p6,...S],v=await(P==null?void 0:P({model:Y,steps:w1,stepNumber:w1.length,messages:o,experimental_context:L1})),G1=Ga((B1=v==null?void 0:v.model)!=null?B1:Y),V1={provider:G1.provider,modelId:G1.modelId},z1=await sh0({prompt:{system:(F1=v==null?void 0:v.system)!=null?F1:S0.system,messages:(t=v==null?void 0:v.messages)!=null?t:o},supportedUrls:await G1.supportedUrls,download:S1}),c1=(r1=v==null?void 0:v.activeTools)!=null?r1:L,{toolChoice:U0,tools:p0}=await th0({tools:U,toolChoice:(b0=v==null?void 0:v.toolChoice)!=null?b0:D,activeTools:c1});L1=(m0=v==null?void 0:v.experimental_context)!=null?m0:L1;let l0=(F0=v==null?void 0:v.messages)!=null?F0:o,v6=(U4=v==null?void 0:v.system)!=null?U4:S0.system,c0=Za(C,v==null?void 0:v.providerOptions);await oZ({event:{stepNumber:w1.length,model:V1,system:v6,messages:l0,tools:U,toolChoice:U0,activeTools:c1,steps:[...w1],providerOptions:c0,timeout:f,headers:X,stopWhen:b,output:T,abortSignal:g,include:m1,...v9,experimental_context:L1},callbacks:N1});let{result:{stream:y4,response:f4,request:a4},doStreamSpan:H4,startTimestampMs:j4}=await h4(()=>Tk({name:"ai.streamText.doStream",attributes:rH({telemetry:Q,attributes:{...Ek({operationId:"ai.streamText.doStream",telemetry:Q}),...P0,"ai.model.provider":G1.provider,"ai.model.id":G1.modelId,"ai.prompt.messages":{input:()=>Hx0(z1)},"ai.prompt.tools":{input:()=>p0==null?void 0:p0.map((d1)=>JSON.stringify(d1))},"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":x1.frequencyPenalty,"gen_ai.request.max_tokens":x1.maxOutputTokens,"gen_ai.request.presence_penalty":x1.presencePenalty,"gen_ai.request.stop_sequences":x1.stopSequences,"gen_ai.request.temperature":x1.temperature,"gen_ai.request.top_k":x1.topK,"gen_ai.request.top_p":x1.topP}}),tracer:_0,endWhenDone:!1,fn:async(d1)=>({startTimestampMs:k(),doStreamSpan:d1,result:await G1.doStream({...x1,tools:p0,toolChoice:U0,responseFormat:await(T==null?void 0:T.responseFormat),prompt:z1,providerOptions:c0,abortSignal:K,headers:X,includeRawChunks:t9})})})),o4=Qb6({tools:U,generatorStream:y4,tracer:_0,telemetry:Q,system:F,messages:o,repairToolCall:w,abortSignal:K,experimental_context:L1,generateId:_,stepNumber:w1.length,model:V1,onToolCallStart:j1,onToolCallFinish:D1}),J6=((W9=m1==null?void 0:m1.requestBody)!=null?W9:!0)?a4!=null?a4:{}:{...a4,body:void 0},G4=[],L4=[],a0,V4={},$4="other",d0=void 0,l1=yU1(),a1,O0=!0,H0={id:_(),timestamp:new Date,modelId:Z8.modelId},B0="";i4.addStream(o4.pipeThrough(new TransformStream({async transform(d1,Z4){var U6,z6,O6,U1,G6;if(HJ(),d1.type==="stream-start"){a0=d1.warnings;return}if(O0){let g4=k()-j4;O0=!1,H4.addEvent("ai.stream.firstChunk",{"ai.response.msToFirstChunk":g4}),H4.setAttributes({"ai.response.msToFirstChunk":g4}),Z4.enqueue({type:"start-step",request:J6,warnings:a0!=null?a0:[]})}let o6=d1.type;switch(o6){case"tool-approval-request":case"text-start":case"text-end":{Z4.enqueue(d1);break}case"text-delta":{if(d1.delta.length>0)Z4.enqueue({type:"text-delta",id:d1.id,text:d1.delta,providerMetadata:d1.providerMetadata}),B0+=d1.delta;break}case"reasoning-start":case"reasoning-end":{Z4.enqueue(d1);break}case"reasoning-delta":{Z4.enqueue({type:"reasoning-delta",id:d1.id,text:d1.delta,providerMetadata:d1.providerMetadata});break}case"tool-call":{Z4.enqueue(d1),G4.push(d1);break}case"tool-result":{if(Z4.enqueue(d1),!d1.preliminary)L4.push(d1);break}case"tool-error":{Z4.enqueue(d1),L4.push(d1);break}case"response-metadata":{H0={id:(U6=d1.id)!=null?U6:H0.id,timestamp:(z6=d1.timestamp)!=null?z6:H0.timestamp,modelId:(O6=d1.modelId)!=null?O6:H0.modelId};break}case"finish":{l1=d1.usage,$4=d1.finishReason,d0=d1.rawFinishReason,a1=d1.providerMetadata;let g4=k()-j4;H4.addEvent("ai.stream.finish"),H4.setAttributes({"ai.response.msToFinish":g4,"ai.response.avgOutputTokensPerSecond":1000*((U1=l1.outputTokens)!=null?U1:0)/g4});break}case"file":{Z4.enqueue(d1);break}case"source":{Z4.enqueue(d1);break}case"tool-input-start":{V4[d1.id]=d1.toolName;let g4=U==null?void 0:U[d1.toolName];if((g4==null?void 0:g4.onInputStart)!=null)await g4.onInputStart({toolCallId:d1.id,messages:o,abortSignal:K,experimental_context:L1});Z4.enqueue({...d1,dynamic:(G6=d1.dynamic)!=null?G6:(g4==null?void 0:g4.type)==="dynamic",title:g4==null?void 0:g4.title});break}case"tool-input-end":{delete V4[d1.id],Z4.enqueue(d1);break}case"tool-input-delta":{let g4=V4[d1.id],A6=U==null?void 0:U[g4];if((A6==null?void 0:A6.onInputDelta)!=null)await A6.onInputDelta({inputTextDelta:d1.delta,toolCallId:d1.id,messages:o,abortSignal:K,experimental_context:L1});Z4.enqueue(d1);break}case"error":{Z4.enqueue(d1),$4="error";break}case"raw":{if(t9)Z4.enqueue(d1);break}default:throw Error(`Unknown chunk type: ${o6}`)}},async flush(d1){let Z4=G4.length>0?JSON.stringify(G4):void 0;try{H4.setAttributes(await rH({telemetry:Q,attributes:{"ai.response.finishReason":$4,"ai.response.text":{output:()=>B0},"ai.response.reasoning":{output:()=>{let U1=C1.filter((G6)=>G6.type==="reasoning");return U1.length>0?U1.map((G6)=>G6.text).join(`
1287
+ `)}function tb0(Y){let Q=Y.filter((X)=>X.type==="text");if(Q.length===0)return;return Q.map((X)=>X.text).join("")}async function Dx0({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 mf6(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 Ck(Y){if(Y===void 0)return{value:void 0,state:"undefined-input"};let Q=await EG({text:Y});if(Q.success)return{value:Q.value,state:"successful-parse"};if(Q=await EG({text:mf6(Y)}),Q.success)return{value:Q.value,state:"repaired-parse"};return{value:void 0,state:"failed-parse"}}async function zx0({toolCall:Y,tools:Q,repairToolCall:X,system:J,messages:G}){var K;try{if(Q==null){if(Y.providerExecuted&&Y.dynamic)return await Ox0(Y);throw new gU1({toolName:Y.toolName})}try{return await eb0({toolCall:Y,tools:Q})}catch(W){if(X==null||!(gU1.isInstance(W)||pU1.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 iH($).jsonSchema},system:J,messages:G,error:W})}catch(H){throw new ay6({cause:H,originalError:W})}if(Z==null)throw W;return await eb0({toolCall:Z,tools:Q})}}catch(W){let Z=await EG({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 Ox0(Y){let Q=Y.input.trim()===""?{success:!0,value:{}}:await EG({text:Y.input});if(Q.success===!1)throw new pU1({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 eb0({toolCall:Y,tools:Q}){let X=Y.toolName,J=Q[X];if(J==null){if(Y.providerExecuted&&Y.dynamic)return await Ox0(Y);throw new gU1({toolName:Y.toolName,availableTools:Object.keys(Q)})}let G=iH(J.inputSchema),K=Y.input.trim()===""?await j5({value:{},schema:G}):await EG({text:Y.input,schema:G});if(K.success===!1)throw new pU1({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 XB(Y){return({steps:Q})=>Q.length===Y}async function Lx0({stopConditions:Y,steps:Q}){return(await Promise.all(Y.map((X)=>X({steps:Q})))).some((X)=>X)}async function mU1({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 ez({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 ez({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 ez({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 Mx0(...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 sA({model:Y,tools:Q,toolChoice:X,system:J,prompt:G,messages:K,maxRetries:W,abortSignal:Z,timeout:H,headers:$,stopWhen:F=XB(1),experimental_output:V,output:B=V,experimental_telemetry:U,providerOptions:D,experimental_activeTools:z,activeTools:L=z,experimental_prepareStep:w,prepareStep:E=w,experimental_repairToolCall:T,experimental_download:C,experimental_context:P,experimental_include:R,_internal:{generateId:k=nf6}={},experimental_onStart:_,experimental_onStepStart:f,experimental_onToolCallStart:b,experimental_onToolCallFinish:g,onStepFinish:r,onFinish:m,...h}){let n=Ga(Y),$1=rA(F),Q1=iU1(H),N1=nh0(H),j1=N1!=null?new AbortController:void 0,D1=Mx0(Z,Q1!=null?AbortSignal.timeout(Q1):void 0,j1==null?void 0:j1.signal),{maxRetries:L1,retry:S1}=qx0({maxRetries:W,abortSignal:D1}),m1=uU1(h),Q0=e$($!=null?$:{},`ai/${ih0}`),C1=Gx0({model:n,telemetry:U,headers:Q0,settings:{...m1,maxRetries:L1}}),A1={provider:n.provider,modelId:n.modelId},s1=await Xx0({system:J,prompt:G,messages:K});await oZ({event:{model:A1,system:J,prompt:G,messages:K,tools:Q,toolChoice:X,activeTools:L,maxOutputTokens:m1.maxOutputTokens,temperature:m1.temperature,topP:m1.topP,topK:m1.topK,presencePenalty:m1.presencePenalty,frequencyPenalty:m1.frequencyPenalty,stopSequences:m1.stopSequences,seed:m1.seed,maxRetries:L1,timeout:H,headers:$,providerOptions:D,stopWhen:F,output:B,abortSignal:Z,include:R,functionId:U==null?void 0:U.functionId,metadata:U==null?void 0:U.metadata,experimental_context:P},callbacks:_});let B4=Zx0(U);try{return await Tk({name:"ai.generateText",attributes:rH({telemetry:U,attributes:{...Ek({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:B4,fn:async(K4)=>{var q0,f1,w1,i1,R1,y1,A0,Z0,G0,x4,X6,k6,h4;let _0=s1.messages,x1=[],{approvedToolApprovals:P0,deniedToolApprovals:i4}=Bx0({messages:_0}),Z8=P0.filter((s)=>!s.toolCall.providerExecuted);if(i4.length>0||Z8.length>0){let s=await Yh0({toolCalls:Z8.map((F1)=>F1.toolCall),tools:Q,tracer:B4,telemetry:U,messages:_0,abortSignal:D1,experimental_context:P,stepNumber:0,model:A1,onToolCallStart:b,onToolCallFinish:g}),B1=[];for(let F1 of s){let t=await ez({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 i4)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}}}}});x1.push({role:"tool",content:B1})}let v9=[...P0,...i4].filter((s)=>s.toolCall.providerExecuted);if(v9.length>0)x1.push({role:"tool",content:v9.map((s)=>({type:"tool-approval-response",approvalId:s.approvalResponse.approvalId,approved:s.approvalResponse.approved,reason:s.approvalResponse.reason,providerExecuted:!0}))});let i0=uU1(h),S0,p6=[],M=[],x=[],Z1=new Map;do{let s=N1!=null?setTimeout(()=>j1.abort(),N1):void 0;try{let B1=[..._0,...x1],F1=await(E==null?void 0:E({model:n,steps:x,stepNumber:x.length,messages:B1,experimental_context:P})),t=Ga((q0=F1==null?void 0:F1.model)!=null?q0:n),r1={provider:t.provider,modelId:t.modelId},b0=await sh0({prompt:{system:(f1=F1==null?void 0:F1.system)!=null?f1:s1.system,messages:(w1=F1==null?void 0:F1.messages)!=null?w1:B1},supportedUrls:await t.supportedUrls,download:C});P=(i1=F1==null?void 0:F1.experimental_context)!=null?i1:P;let m0=(R1=F1==null?void 0:F1.activeTools)!=null?R1:L,{toolChoice:F0,tools:U4}=await th0({tools:Q,toolChoice:(y1=F1==null?void 0:F1.toolChoice)!=null?y1:X,activeTools:m0}),W9=(A0=F1==null?void 0:F1.messages)!=null?A0:B1,t9=(Z0=F1==null?void 0:F1.system)!=null?Z0:s1.system,E6=Za(D,F1==null?void 0:F1.providerOptions);await oZ({event:{stepNumber:x.length,model:r1,system:t9,messages:W9,tools:Q,toolChoice:F0,activeTools:m0,steps:[...x],providerOptions:E6,timeout:H,headers:$,stopWhen:F,output:B,abortSignal:Z,include:R,functionId:U==null?void 0:U.functionId,metadata:U==null?void 0:U.metadata,experimental_context:P},callbacks:f}),S0=await S1(()=>{var z1;return Tk({name:"ai.generateText.doGenerate",attributes:rH({telemetry:U,attributes:{...Ek({operationId:"ai.generateText.doGenerate",telemetry:U}),...C1,"ai.model.provider":t.provider,"ai.model.id":t.modelId,"ai.prompt.messages":{input:()=>Hx0(b0)},"ai.prompt.tools":{input:()=>U4==null?void 0:U4.map((c1)=>JSON.stringify(c1))},"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:B4,fn:async(c1)=>{var U0,p0,l0,v6,c0,y4,f4,a4;let H4=await t.doGenerate({...i0,tools:U4,toolChoice:F0,responseFormat:await(B==null?void 0:B.responseFormat),prompt:b0,providerOptions:E6,abortSignal:D1,headers:Q0}),j4={id:(p0=(U0=H4.response)==null?void 0:U0.id)!=null?p0:k(),timestamp:(v6=(l0=H4.response)==null?void 0:l0.timestamp)!=null?v6:new Date,modelId:(y4=(c0=H4.response)==null?void 0:c0.modelId)!=null?y4:t.modelId,headers:(f4=H4.response)==null?void 0:f4.headers,body:(a4=H4.response)==null?void 0:a4.body};return c1.setAttributes(await rH({telemetry:U,attributes:{"ai.response.finishReason":H4.finishReason.unified,"ai.response.text":{output:()=>tb0(H4.content)},"ai.response.reasoning":{output:()=>sb0(H4.content)},"ai.response.toolCalls":{output:()=>{let o4=Qh0(H4.content);return o4==null?void 0:JSON.stringify(o4)}},"ai.response.id":j4.id,"ai.response.model":j4.modelId,"ai.response.timestamp":j4.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(H4.providerMetadata),"ai.usage.promptTokens":H4.usage.inputTokens.total,"ai.usage.completionTokens":H4.usage.outputTokens.total,"gen_ai.response.finish_reasons":[H4.finishReason.unified],"gen_ai.response.id":j4.id,"gen_ai.response.model":j4.modelId,"gen_ai.usage.input_tokens":H4.usage.inputTokens.total,"gen_ai.usage.output_tokens":H4.usage.outputTokens.total}})),{...H4,response:j4}}})});let b6=await Promise.all(S0.content.filter((z1)=>z1.type==="tool-call").map((z1)=>zx0({toolCall:z1,tools:Q,repairToolCall:T,system:J,messages:B1}))),HJ={};for(let z1 of b6){if(z1.invalid)continue;let c1=Q==null?void 0:Q[z1.toolName];if(c1==null)continue;if((c1==null?void 0:c1.onInputAvailable)!=null)await c1.onInputAvailable({input:z1.input,toolCallId:z1.toolCallId,messages:B1,abortSignal:D1,experimental_context:P});if(await Dx0({tool:c1,toolCall:z1,messages:B1,experimental_context:P}))HJ[z1.toolCallId]={type:"tool-approval-request",approvalId:k(),toolCall:z1}}let u=b6.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:YB(z1.error),dynamic:!0});if(p6=b6.filter((z1)=>!z1.providerExecuted),Q!=null)M.push(...await Yh0({toolCalls:p6.filter((z1)=>!z1.invalid&&HJ[z1.toolCallId]==null),tools:Q,tracer:B4,telemetry:U,messages:B1,abortSignal:D1,experimental_context:P,stepNumber:x.length,model:r1,onToolCallStart:b,onToolCallFinish:g}));for(let z1 of b6){if(!z1.providerExecuted)continue;let c1=Q==null?void 0:Q[z1.toolName];if((c1==null?void 0:c1.type)==="provider"&&c1.supportsDeferredResults){if(!S0.content.some((p0)=>p0.type==="tool-result"&&p0.toolCallId===z1.toolCallId))Z1.set(z1.toolCallId,{toolName:z1.toolName})}}for(let z1 of S0.content)if(z1.type==="tool-result")Z1.delete(z1.toolCallId);let c=af6({content:S0.content,toolCalls:b6,toolOutputs:M,toolApprovalRequests:Object.values(HJ),tools:Q});x1.push(...await mU1({content:c,tools:Q}));let o=((G0=R==null?void 0:R.requestBody)!=null?G0:!0)?(x4=S0.request)!=null?x4:{}:{...S0.request,body:void 0},v={...S0.response,messages:structuredClone(x1),body:((X6=R==null?void 0:R.responseBody)!=null?X6:!0)?(k6=S0.response)==null?void 0:k6.body:void 0},G1=x.length,V1=new Nx0({stepNumber:G1,model:r1,functionId:U==null?void 0:U.functionId,metadata:U==null?void 0:U.metadata,experimental_context:P,content:c,finishReason:S0.finishReason.unified,rawFinishReason:S0.finishReason.raw,usage:$x0(S0.usage),warnings:S0.warnings,providerMetadata:S0.providerMetadata,request:o,response:v});nU1({warnings:(h4=S0.warnings)!=null?h4:[],provider:r1.provider,model:r1.modelId}),x.push(V1),await oZ({event:V1,callbacks:r})}finally{if(s!=null)clearTimeout(s)}}while((p6.length>0&&M.length===p6.length||Z1.size>0)&&!await Lx0({stopConditions:$1,steps:x}));K4.setAttributes(await rH({telemetry:U,attributes:{"ai.response.finishReason":S0.finishReason.unified,"ai.response.text":{output:()=>tb0(S0.content)},"ai.response.reasoning":{output:()=>sb0(S0.content)},"ai.response.toolCalls":{output:()=>{let s=Qh0(S0.content);return s==null?void 0:JSON.stringify(s)}},"ai.response.providerMetadata":JSON.stringify(S0.providerMetadata),"ai.usage.promptTokens":S0.usage.inputTokens.total,"ai.usage.completionTokens":S0.usage.outputTokens.total}}));let K1=x[x.length-1],O=x.reduce((s,B1)=>{return Fx0(s,B1.usage)},{inputTokens:void 0,outputTokens:void 0,totalTokens:void 0,reasoningTokens:void 0,cachedInputTokens:void 0});await oZ({event:{stepNumber:K1.stepNumber,model:K1.model,functionId:K1.functionId,metadata:K1.metadata,experimental_context:K1.experimental_context,finishReason:K1.finishReason,rawFinishReason:K1.rawFinishReason,usage:K1.usage,content:K1.content,text:K1.text,reasoningText:K1.reasoningText,reasoning:K1.reasoning,files:K1.files,sources:K1.sources,toolCalls:K1.toolCalls,staticToolCalls:K1.staticToolCalls,dynamicToolCalls:K1.dynamicToolCalls,toolResults:K1.toolResults,staticToolResults:K1.staticToolResults,dynamicToolResults:K1.dynamicToolResults,request:K1.request,response:K1.response,warnings:K1.warnings,providerMetadata:K1.providerMetadata,steps:x,totalUsage:O},callbacks:m});let S;if(K1.finishReason==="stop")S=await(B!=null?B:Wa()).parseCompleteOutput({text:K1.text},{response:K1.response,usage:K1.usage,finishReason:K1.finishReason});return new if6({steps:x,totalUsage:O,output:S})}})}catch(K4){throw Jx0(K4)}}async function Yh0({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(B)=>aU1({toolCall:B,tools:Q,tracer:X,telemetry:J,messages:G,abortSignal:K,experimental_context:W,stepNumber:Z,model:H,onToolCallStart:$,onToolCallFinish:F})))).filter((B)=>B!=null)}function Qh0(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 af6({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 Ux0(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 cU1({toolCallId:W.toolCallId,approvalId:W.approvalId});K.push({type:"tool-approval-request",approvalId:W.approvalId,toolCall:Z});break}}return[...K,...X,...J]}function Ka(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 rf6({status:Y,statusText:Q,headers:X,textStream:J}){return new Response(J.pipeThrough(new TextEncoderStream),{status:Y!=null?Y:200,statusText:Q,headers:Ka(X,{"content-type":"text/plain; charset=utf-8"})})}function wx0({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 of6({response:Y,status:Q,statusText:X,headers:J,textStream:G}){wx0({response:Y,status:Q,statusText:X,headers:Object.fromEntries(Ka(J,{"content-type":"text/plain; charset=utf-8"}).entries()),stream:G.pipeThrough(new TextEncoderStream)})}function Ha({status:Y,statusText:Q,headers:X,stream:J,consumeSseStream:G}){let K=J.pipeThrough(new Ax0);if(G){let[W,Z]=K.tee();K=W,G({stream:Z})}return new Response(K.pipeThrough(new TextEncoderStream),{status:Y,statusText:Q,headers:Ka(X,Px0)})}function sf6({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 tf6(Y){return Y.type.startsWith("data-")}function fU1(Y){return Y.type.startsWith("data-")}function bU1(Y){return Y.type==="text"}function hU1(Y){return Y.type==="file"}function Xh0(Y){return Y.type==="reasoning"}function lU1(Y){return Y.type.startsWith("tool-")}function Ex0(Y){return Y.type==="dynamic-tool"}function aA(Y){return lU1(Y)||Ex0(Y)}function dU1(Y){return Y.type.split("-").slice(1).join("-")}function xU1(Y){return Ex0(Y)?Y.toolName:dU1(Y)}function Tx0({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 Cx0({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,B,U,D;function z(T){let P=$.message.parts.filter(aA).find((R)=>R.toolCallId===T);if(P==null)throw new nA({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((_)=>lU1(_)&&_.toolCallId===T.toolCallId),R=T,k=P;if(P!=null){if(P.state=T.state,k.input=R.input,k.output=R.output,k.errorText=R.errorText,k.rawInput=R.rawInput,k.preliminary=R.preliminary,T.title!==void 0)k.title=T.title;if(k.providerExecuted=(C=R.providerExecuted)!=null?C:P.providerExecuted,R.providerMetadata!=null)P.callProviderMetadata=R.providerMetadata}else $.message.parts.push({type:`tool-${T.toolName}`,toolCallId:T.toolCallId,state:T.state,title:T.title,input:R.input,output:R.output,rawInput:R.rawInput,errorText:R.errorText,providerExecuted:R.providerExecuted,preliminary:R.preliminary,...R.providerMetadata!=null?{callProviderMetadata:R.providerMetadata}:{}})}function w(T){var C,P;let R=$.message.parts.find((f)=>f.type==="dynamic-tool"&&f.toolCallId===T.toolCallId),k=T,_=R;if(R!=null){if(R.state=T.state,_.toolName=T.toolName,_.input=k.input,_.output=k.output,_.errorText=k.errorText,_.rawInput=(C=k.rawInput)!=null?C:_.rawInput,_.preliminary=k.preliminary,T.title!==void 0)_.title=T.title;if(_.providerExecuted=(P=k.providerExecuted)!=null?P:R.providerExecuted,k.providerMetadata!=null)R.callProviderMetadata=k.providerMetadata}else $.message.parts.push({type:"dynamic-tool",toolName:T.toolName,toolCallId:T.toolCallId,state:T.state,input:k.input,output:k.output,errorText:k.errorText,preliminary:k.preliminary,providerExecuted:k.providerExecuted,title:T.title,...k.providerMetadata!=null?{callProviderMetadata:k.providerMetadata}:{}})}async function E(T){if(T!=null){let C=$.message.metadata!=null?Za($.message.metadata,T):T;if(Q!=null)await aH({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 nA({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 nA({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=(B=Z.providerMetadata)!=null?B: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 nA({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 nA({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=(D=Z.providerMetadata)!=null?D: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(lU1);if($.partialToolCalls[Z.toolCallId]={text:"",toolName:Z.toolName,index:T.length,dynamic:Z.dynamic,title:Z.title},Z.dynamic)w({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 nA({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 Ck(T.text);if(T.dynamic)w({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)w({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":{let T=$.message.parts.filter(aA).find((P)=>P.toolCallId===Z.toolCallId);if(T!=null?T.type==="dynamic-tool":!!Z.dynamic)w({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=z(Z.toolCallId);T.state="approval-requested",T.approval={id:Z.approvalId},F();break}case"tool-output-denied":{let T=z(Z.toolCallId);T.state="output-denied",F();break}case"tool-output-available":{let T=z(Z.toolCallId);if(T.type==="dynamic-tool")w({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:dU1(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=z(Z.toolCallId);if(T.type==="dynamic-tool")w({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:dU1(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(tf6(Z)){if((X==null?void 0:X[Z.type])!=null){let P=$.message.parts.findIndex((k)=>("id"in k)&&("data"in k)&&k.id===Z.id&&k.type===Z.type),R=P>=0?P:$.message.parts.length;await aH({value:Z.data,schema:X[Z.type],context:{field:`message.parts[${R}].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 Rx0({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(D,z){if(D.type==="start"){let L=D;if(L.messageId==null&&Y!=null)L.messageId=Y}if(D.type==="abort")Z=!0;z.enqueue(D)}}));if(J==null&&X==null)return H;let $=Tx0({lastMessage:W?structuredClone(W):void 0,messageId:Y!=null?Y:""}),F=async(D)=>{await D({state:$,write:()=>{}})},V=!1,B=async()=>{if(V||!J)return;V=!0;let D=$.message.id===(W==null?void 0:W.id);await J({isAborted:Z,isContinuation:D,responseMessage:$.message,messages:[...D?Q.slice(0,-1):Q,$.message],finishReason:$.finishReason})},U=async()=>{if(!X)return;let D=$.message.id===(W==null?void 0:W.id);try{await X({isContinuation:D,responseMessage:structuredClone($.message),messages:[...D?Q.slice(0,-1):Q,structuredClone($.message)]})}catch(z){G(z)}};return Cx0({stream:H,runUpdateMessageJob:F,onError:G}).pipeThrough(new TransformStream({async transform(D,z){if(D.type==="finish-step")await U();z.enqueue(D)},async cancel(){await B()},async flush(){await B()}}))}function ef6({response:Y,status:Q,statusText:X,headers:J,stream:G,consumeSseStream:K}){let W=G.pipeThrough(new Ax0);if(K){let[Z,H]=W.tee();W=Z,K({stream:H})}wx0({response:Y,status:Q,statusText:X,headers:Object.fromEntries(Ka(J,Px0).entries()),stream:W.pipeThrough(new TextEncoderStream)})}function iA(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 Rk({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 Jh0(){let Y,Q;return{promise:new Promise((J,G)=>{Y=J,Q=G}),resolve:Y,reject:Q}}function Yb6(){let Y=[],Q=null,X=!1,J=Jh0(),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=Jh0(),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 Qb6({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:B,onToolCallFinish:U}){let D=null,z=new ReadableStream({start(k){D=k}}),L=new Set,w=new Map,E=new Map,T=!1,C=void 0;function P(){if(T&&L.size===0){if(C!=null)D.enqueue(C);D.close()}}let R=new TransformStream({async transform(k,_){let f=k.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":{_.enqueue(k);break}case"file":{_.enqueue({type:"file",file:new gf6({data:k.data,mediaType:k.mediaType})});break}case"finish":{C={type:"finish",finishReason:k.finishReason.unified,rawFinishReason:k.finishReason.raw,usage:$x0(k.usage),providerMetadata:k.providerMetadata};break}case"tool-approval-request":{let b=E.get(k.toolCallId);if(b==null){D.enqueue({type:"error",error:new cU1({toolCallId:k.toolCallId,approvalId:k.approvalId})});break}_.enqueue({type:"tool-approval-request",approvalId:k.approvalId,toolCall:b});break}case"tool-call":{try{let b=await zx0({toolCall:k,tools:Y,repairToolCall:Z,system:G,messages:K});if(E.set(b.toolCallId,b),_.enqueue(b),b.invalid){D.enqueue({type:"tool-error",toolCallId:b.toolCallId,toolName:b.toolName,input:b.input,error:YB(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 Dx0({tool:g,toolCall:b,messages:K,experimental_context:H})){D.enqueue({type:"tool-approval-request",approvalId:$(),toolCall:b});break}if(w.set(b.toolCallId,b.input),g.execute!=null&&b.providerExecuted!==!0){let r=$();L.add(r),aU1({toolCall:b,tools:Y,tracer:X,telemetry:J,messages:K,abortSignal:W,experimental_context:H,stepNumber:F,model:V,onToolCallStart:B,onToolCallFinish:U,onPreliminaryToolResult:(m)=>{D.enqueue(m)}}).then((m)=>{D.enqueue(m)}).catch((m)=>{D.enqueue({type:"error",error:m})}).finally(()=>{L.delete(r),P()})}}catch(b){D.enqueue({type:"error",error:b})}break}case"tool-result":{let b=k.toolName;if(k.isError)D.enqueue({type:"tool-error",toolCallId:k.toolCallId,toolName:b,input:w.get(k.toolCallId),providerExecuted:!0,error:k.result,dynamic:k.dynamic});else _.enqueue({type:"tool-result",toolCallId:k.toolCallId,toolName:b,input:w.get(k.toolCallId),output:k.result,providerExecuted:!0,dynamic:k.dynamic});break}default:throw Error(`Unhandled chunk type: ${f}`)}},flush(){T=!0,P()}});return new ReadableStream({async start(k){return Promise.all([Q.pipeThrough(R).pipeTo(new WritableStream({write(_){k.enqueue(_)},close(){}})),z.pipeTo(new WritableStream({write(_){k.enqueue(_)},close(){k.close()}}))])}})}function tA({model:Y,tools:Q,toolChoice:X,system:J,prompt:G,messages:K,maxRetries:W,abortSignal:Z,timeout:H,headers:$,stopWhen:F=XB(1),experimental_output:V,output:B=V,experimental_telemetry:U,prepareStep:D,providerOptions:z,experimental_activeTools:L,activeTools:w=L,experimental_repairToolCall:E,experimental_transform:T,experimental_download:C,includeRawChunks:P=!1,onChunk:R,onError:k=({error:D1})=>{console.error(D1)},onFinish:_,onAbort:f,onStepFinish:b,experimental_onStart:g,experimental_onStepStart:r,experimental_onToolCallStart:m,experimental_onToolCallFinish:h,experimental_context:n,experimental_include:$1,_internal:{now:Q1=Ja,generateId:N1=Xb6}={},...j1}){let D1=iU1(H),L1=nh0(H),S1=qf6(H),m1=L1!=null?new AbortController:void 0,Q0=S1!=null?new AbortController:void 0;return new Gb6({model:Ga(Y),telemetry:U,headers:$,settings:j1,maxRetries:W,abortSignal:Mx0(Z,D1!=null?AbortSignal.timeout(D1):void 0,m1==null?void 0:m1.signal,Q0==null?void 0:Q0.signal),stepTimeoutMs:L1,stepAbortController:m1,chunkTimeoutMs:S1,chunkAbortController:Q0,system:J,prompt:G,messages:K,tools:Q,toolChoice:X,transforms:rA(T),activeTools:w,repairToolCall:E,stopConditions:rA(F),output:B,providerOptions:z,prepareStep:D,includeRawChunks:P,timeout:H,stopWhen:F,originalAbortSignal:Z,onChunk:R,onError:k,onFinish:_,onAbort:f,onStepFinish:b,onStart:g,onStepStart:r,onToolCallStart:m,onToolCallFinish:h,now:Q1,generateId:N1,experimental_context:n,download:C,include:$1})}function Jb6(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 rU1({execute:Y,onError:Q=YB,originalMessages:X,onStepFinish:J,onFinish:G,generateId:K=UU1}){let W,Z=[],H=new ReadableStream({start(V){W=V}});function $(V){try{W.enqueue(V)}catch(B){}}try{let V=Y({writer:{write(B){$(B)},merge(B){Z.push((async()=>{let U=B.getReader();while(!0){let{done:D,value:z}=await U.read();if(D)break;$(z)}})().catch((U)=>{$({type:"error",errorText:Q(U)})}))},onError:Q}});if(V)Z.push(V.catch((B)=>{$({type:"error",errorText:Q(B)})}))}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){}}),Rx0({stream:H,messageId:K(),originalMessages:X,onStepFinish:J,onFinish:G,onError:Q})}function Ix0({message:Y,stream:Q,onError:X,terminateOnError:J=!1}){var G;let K,W=!1,Z=new ReadableStream({start(F){K=F}}),H=Tx0({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 Rk({stream:Cx0({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()}),iA(Z)}async function jx0(Y,Q){let X=[];if(Q==null?void 0:Q.ignoreIncompleteToolCalls)Y=Y.map((J)=>({...J,parts:J.parts.filter((G)=>!aA(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(bU1(G))return{type:"text",text:G.text,...G.providerMetadata!=null?{providerOptions:G.providerMetadata}:{}};if(hU1(G))return{type:"file",mediaType:G.mediaType,filename:G.filename,data:G.url,...G.providerMetadata!=null?{providerOptions:G.providerMetadata}:{}};if(fU1(G))return(K=Q==null?void 0:Q.convertDataPart)==null?void 0:K.call(Q,G)}).filter(Df0)});break}case"assistant":{if(J.parts!=null){let G=[];async function K(){var W,Z,H,$,F,V;if(G.length===0)return;let B=[];for(let D of G)if(bU1(D))B.push({type:"text",text:D.text,...D.providerMetadata!=null?{providerOptions:D.providerMetadata}:{}});else if(hU1(D))B.push({type:"file",mediaType:D.mediaType,filename:D.filename,data:D.url});else if(Xh0(D))B.push({type:"reasoning",text:D.text,providerOptions:D.providerMetadata});else if(aA(D)){let z=xU1(D);if(D.state!=="input-streaming"){if(B.push({type:"tool-call",toolCallId:D.toolCallId,toolName:z,input:D.state==="output-error"?(W=D.input)!=null?W:("rawInput"in D)?D.rawInput:void 0:D.input,providerExecuted:D.providerExecuted,...D.callProviderMetadata!=null?{providerOptions:D.callProviderMetadata}:{}}),D.approval!=null)B.push({type:"tool-approval-request",approvalId:D.approval.id,toolCallId:D.toolCallId});if(D.providerExecuted===!0&&D.state!=="approval-responded"&&(D.state==="output-available"||D.state==="output-error"))B.push({type:"tool-result",toolCallId:D.toolCallId,toolName:z,output:await ez({toolCallId:D.toolCallId,input:D.input,output:D.state==="output-error"?D.errorText:D.output,tool:(Z=Q==null?void 0:Q.tools)==null?void 0:Z[z],errorMode:D.state==="output-error"?"json":"none"}),...D.callProviderMetadata!=null?{providerOptions:D.callProviderMetadata}:{}})}}else if(fU1(D)){let z=(H=Q==null?void 0:Q.convertDataPart)==null?void 0:H.call(Q,D);if(z!=null)B.push(z)}else throw Error(`Unsupported part: ${D}`);X.push({role:"assistant",content:B});let U=G.filter((D)=>{var z;return aA(D)&&(D.providerExecuted!==!0||((z=D.approval)==null?void 0:z.approved)!=null)});if(U.length>0){let D=[];for(let z of U){if((($=z.approval)==null?void 0:$.approved)!=null)D.push({type:"tool-approval-response",approvalId:z.approval.id,approved:z.approval.approved,reason:z.approval.reason,providerExecuted:z.providerExecuted});if(z.providerExecuted===!0)continue;switch(z.state){case"output-denied":{D.push({type:"tool-result",toolCallId:z.toolCallId,toolName:xU1(z),output:{type:"error-text",value:(F=z.approval.reason)!=null?F:"Tool execution denied."},...z.callProviderMetadata!=null?{providerOptions:z.callProviderMetadata}:{}});break}case"output-error":case"output-available":{let L=xU1(z);D.push({type:"tool-result",toolCallId:z.toolCallId,toolName:L,output:await ez({toolCallId:z.toolCallId,input:z.input,output:z.state==="output-error"?z.errorText:z.output,tool:(V=Q==null?void 0:Q.tools)==null?void 0:V[L],errorMode:z.state==="output-error"?"text":"none"}),...z.callProviderMetadata!=null?{providerOptions:z.callProviderMetadata}:{}});break}}}if(D.length>0)X.push({role:"tool",content:D})}G=[]}for(let W of J.parts)if(bU1(W)||Xh0(W)||hU1(W)||aA(W)||fU1(W))G.push(W);else if(W.type==="step-start")await K();await K();break}break}default:{let G=J.role;throw new Gf6({originalMessage:J,message:`Unsupported role: ${G}`})}}return X}async function Zb6({messages:Y,metadataSchema:Q,dataSchemas:X,tools:J}){try{if(Y==null)return{success:!1,error:new rZ({parameter:"messages",value:Y,message:"messages parameter must be provided"})};let G=await aH({value:Y,schema:Wb6});if(Q)for(let[K,W]of G.entries())await aH({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 PG({value:$.data,cause:`No data schema found for data part ${F}`,context:{field:`messages[${K}].parts[${Z}].data`,entityName:F,entityId:$.id}})};await aH({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 PG({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 aH({value:$.input,schema:V.inputSchema,context:{field:`messages[${K}].parts[${Z}].input`,entityName:F,entityId:$.toolCallId}});if($.state==="output-available"&&V.outputSchema)await aH({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 Sx0({messages:Y,metadataSchema:Q,dataSchemas:X,tools:J}){let G=await Zb6({messages:Y,metadataSchema:Q,dataSchemas:X,tools:J});if(!G.success)throw G.error;return G.data}function kx0(Y){return({url:Q,abortSignal:X})=>ah0({url:Q,maxBytes:Y==null?void 0:Y.maxBytes,abortSignal:X})}function vx0({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((B)=>{if(B.type!=="tool-call"&&B.type!=="tool-result"&&B.type!=="tool-approval-request"&&B.type!=="tool-approval-response")return!0;if(B.type==="tool-call")F[B.toolCallId]=B.toolName;else if(B.type==="tool-approval-request")V[B.approvalId]=F[B.toolCallId];if((B.type==="tool-call"||B.type==="tool-result")&&W.has(B.toolCallId)||(B.type==="tool-approval-request"||B.type==="tool-approval-response")&&Z.has(B.approvalId))return!0;return G.tools!=null&&!G.tools.includes(B.type==="tool-call"||B.type==="tool-result"?B.toolName:V[B.approvalId])})}})}if(J==="remove")Y=Y.filter((G)=>G.content.length>0);return Y}var Wx0,oA,zy6,Oy6=(Y,Q)=>{for(var X in Q)zy6(Y,X,{get:Q[X],enumerable:!0})},Gh0="AI_InvalidArgumentError",Wh0,Ny6,Zh0,rZ,Ly6="AI_InvalidStreamPartError",My6,wy6,Ay6,Kh0="AI_InvalidToolApprovalError",Hh0,Py6,$h0,Ey6,Fh0="AI_InvalidToolInputError",Vh0,Ty6,qh0,pU1,Bh0="AI_ToolCallNotFoundForApprovalError",Uh0,Cy6,Dh0,cU1,zh0="AI_MissingToolResultsError",Oh0,Ry6,Nh0,nb0,Iy6="AI_NoImageGeneratedError",jy6,Sy6,ky6,Lh0="AI_NoObjectGeneratedError",Mh0,vy6,wh0,QB,Ah0="AI_NoOutputGeneratedError",Ph0,_y6,Eh0,Th0,yy6="AI_NoSpeechGeneratedError",fy6,by6,hy6,xy6="AI_NoTranscriptGeneratedError",gy6,uy6,my6,ly6="AI_NoVideoGeneratedError",dy6,py6,cy6,Ch0="AI_NoSuchToolError",Rh0,ny6,Ih0,gU1,jh0="AI_ToolCallRepairError",Sh0,iy6,kh0,ay6,ry6,vh0="AI_UIMessageStreamError",_h0,oy6,yh0,nA,sy6="AI_InvalidDataContentError",ty6,ey6,Yf6,fh0="AI_InvalidMessageRoleError",bh0,Qf6,hh0,Xf6,xh0="AI_MessageConversionError",gh0,Jf6,uh0,Gf6,mh0="AI_RetryError",lh0,Wf6,dh0,ib0,Kf6="AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.",ab0=!1,nU1=(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(!ab0)ab0=!0,console.info(Kf6);for(let X of Y.warnings)console.warn(Zf6({warning:X,provider:Y.provider,model:Y.model}))},Bf6,Uf6=(Y)=>{let Q=typeof Y==="string"?lA(Y):Y,X=(Q[6]&127)<<21|(Q[7]&127)<<14|(Q[8]&127)<<7|Q[9]&127;return Q.slice(X+10)},ih0="6.0.109",ah0=async({url:Y,maxBytes:Q,abortSignal:X})=>{var J;let G=Y.toString();try{let K=await fetch(G,{headers:e$({},`ai-sdk/${ih0}`,ii()),signal:X});if(!K.ok)throw new mA({url:G,statusCode:K.status,statusText:K.statusText});return{data:await qf0({response:K,url:G,maxBytes:Q!=null?Q:BU1}),mediaType:(J=K.headers.get("content-type"))!=null?J:void 0}}catch(K){if(mA.isInstance(K))throw K;throw new mA({url:G,cause:K})}},Of6=(Y=ah0)=>(Q)=>Promise.all(Q.map(async(X)=>X.isUrlSupportedByModel?null:Y(X))),rh0,Pk,n4,eh0,Ef6,Yx0,Tf6,Cf6,Rf6,Qx0,If6,jf6,Sf6,kf6,vf6,_f6,yf6,ff6,Xa,bf6,xf6=({maxRetries:Y=2,initialDelayInMs:Q=2000,backoffFactor:X=2,abortSignal:J}={})=>async(G)=>Vx0(G,{maxRetries:Y,delayInMs:Q,backoffFactor:X,abortSignal:J}),Ux0=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=t$(this.uint8ArrayData);return this.base64Data}get uint8Array(){if(this.uint8ArrayData==null)this.uint8ArrayData=lA(this.base64Data);return this.uint8ArrayData}},gf6,uf6,Wa=()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),async parseCompleteOutput({text:Y}){return Y},async parsePartialOutput({text:Y}){return{partial:Y}},createElementStreamTransform(){return}}),lf6=({schema:Y,name:Q,description:X})=>{let J=iH(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 EG({text:G});if(!W.success)throw new QB({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 j5({value:W.value,schema:J});if(!Z.success)throw new QB({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 Ck(G);switch(K.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:K.value}}},createElementStreamTransform(){return}}},df6=({element:Y,name:Q,description:X})=>{let J=iH(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 EG({text:G});if(!W.success)throw new QB({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 QB({message:"No object generated: response did not match schema.",cause:new PG({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 j5({value:H,schema:J});if(!$.success)throw new QB({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 Ck(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 j5({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])}})}}},pf6=({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 EG({text:J});if(!K.success)throw new QB({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 QB({message:"No object generated: response did not match schema.",cause:new PG({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 Ck(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}}},cf6=({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 EG({text:X});if(!G.success)throw new QB({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 Ck(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}}},Nx0=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:B}){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=B}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)}},nf6,if6=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 Th0;return this._output}},Ax0,Px0,kX9,Xb6,Gb6=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:B,tools:U,toolChoice:D,transforms:z,activeTools:L,repairToolCall:w,stopConditions:E,output:T,providerOptions:C,prepareStep:P,includeRawChunks:R,now:k,generateId:_,timeout:f,stopWhen:b,originalAbortSignal:g,onChunk:r,onError:m,onFinish:h,onAbort:n,onStepFinish:$1,onStart:Q1,onStepStart:N1,onToolCallStart:j1,onToolCallFinish:D1,experimental_context:L1,download:S1,include:m1}){this._totalUsage=new rz,this._finishReason=new rz,this._rawFinishReason=new rz,this._steps=new rz,this.outputSpecification=T,this.includeRawChunks=R,this.tools=U;let Q0,C1=[],A1=[],s1=void 0,B4=void 0,K4=void 0,q0={},f1=[],w1=[],i1=new Map,R1,y1={},A0={},Z0=new TransformStream({async transform(i0,S0){var p6,M,x,Z1;S0.enqueue(i0);let{part:K1}=i0;if(K1.type==="text-delta"||K1.type==="reasoning-delta"||K1.type==="source"||K1.type==="tool-call"||K1.type==="tool-result"||K1.type==="tool-input-start"||K1.type==="tool-input-delta"||K1.type==="raw")await(r==null?void 0:r({chunk:K1}));if(K1.type==="error")await m({error:Jx0(K1.error)});if(K1.type==="text-start")y1[K1.id]={type:"text",text:"",providerMetadata:K1.providerMetadata},C1.push(y1[K1.id]);if(K1.type==="text-delta"){let O=y1[K1.id];if(O==null){S0.enqueue({part:{type:"error",error:`text part ${K1.id} not found`},partialOutput:void 0});return}O.text+=K1.text,O.providerMetadata=(p6=K1.providerMetadata)!=null?p6:O.providerMetadata}if(K1.type==="text-end"){let O=y1[K1.id];if(O==null){S0.enqueue({part:{type:"error",error:`text part ${K1.id} not found`},partialOutput:void 0});return}O.providerMetadata=(M=K1.providerMetadata)!=null?M:O.providerMetadata,delete y1[K1.id]}if(K1.type==="reasoning-start")A0[K1.id]={type:"reasoning",text:"",providerMetadata:K1.providerMetadata},C1.push(A0[K1.id]);if(K1.type==="reasoning-delta"){let O=A0[K1.id];if(O==null){S0.enqueue({part:{type:"error",error:`reasoning part ${K1.id} not found`},partialOutput:void 0});return}O.text+=K1.text,O.providerMetadata=(x=K1.providerMetadata)!=null?x:O.providerMetadata}if(K1.type==="reasoning-end"){let O=A0[K1.id];if(O==null){S0.enqueue({part:{type:"error",error:`reasoning part ${K1.id} not found`},partialOutput:void 0});return}O.providerMetadata=(Z1=K1.providerMetadata)!=null?Z1:O.providerMetadata,delete A0[K1.id]}if(K1.type==="file")C1.push({type:"file",file:K1.file});if(K1.type==="source")C1.push(K1);if(K1.type==="tool-call")C1.push(K1);if(K1.type==="tool-result"&&!K1.preliminary)C1.push(K1);if(K1.type==="tool-approval-request")C1.push(K1);if(K1.type==="tool-error")C1.push(K1);if(K1.type==="start-step")C1=[],A0={},y1={},q0=K1.request,f1=K1.warnings;if(K1.type==="finish-step"){let O=await mU1({content:C1,tools:U}),S=new Nx0({stepNumber:w1.length,model:Z8,...v9,experimental_context:L1,content:C1,finishReason:K1.finishReason,rawFinishReason:K1.rawFinishReason,usage:K1.usage,warnings:f1,request:q0,response:{...K1.response,messages:[...A1,...O]},providerMetadata:K1.providerMetadata});await oZ({event:S,callbacks:$1}),nU1({warnings:f1,provider:Z8.provider,model:Z8.modelId}),w1.push(S),A1.push(...O),Q0.resolve()}if(K1.type==="finish")K4=K1.totalUsage,s1=K1.finishReason,B4=K1.rawFinishReason},async flush(i0){try{if(w1.length===0){let x=(K==null?void 0:K.aborted)?K.reason:new Th0({message:"No output generated. Check the stream for errors."});i4._finishReason.reject(x),i4._rawFinishReason.reject(x),i4._totalUsage.reject(x),i4._steps.reject(x);return}let S0=s1!=null?s1:"other",p6=K4!=null?K4:yU1();i4._finishReason.resolve(S0),i4._rawFinishReason.resolve(B4),i4._totalUsage.resolve(p6),i4._steps.resolve(w1);let M=w1[w1.length-1];await oZ({event:{stepNumber:M.stepNumber,model:M.model,functionId:M.functionId,metadata:M.metadata,experimental_context:M.experimental_context,finishReason:M.finishReason,rawFinishReason:M.rawFinishReason,totalUsage:p6,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:w1},callbacks:h}),R1.setAttributes(await rH({telemetry:Q,attributes:{"ai.response.finishReason":S0,"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":p6.inputTokens,"ai.usage.outputTokens":p6.outputTokens,"ai.usage.totalTokens":p6.totalTokens,"ai.usage.reasoningTokens":p6.reasoningTokens,"ai.usage.cachedInputTokens":p6.cachedInputTokens}}))}catch(S0){i0.error(S0)}finally{R1.end()}}}),G0=Yb6();this.addStream=G0.addStream,this.closeStream=G0.close;let x4=G0.stream.getReader(),X6=new ReadableStream({async start(i0){i0.enqueue({type:"start"})},async pull(i0){function S0(){n==null||n({steps:w1}),i0.enqueue({type:"abort",...(K==null?void 0:K.reason)!==void 0?{reason:cZ(K.reason)}:{}}),i0.close()}try{let{done:p6,value:M}=await x4.read();if(p6){i0.close();return}if(K==null?void 0:K.aborted){S0();return}i0.enqueue(M)}catch(p6){if(o$(p6)&&(K==null?void 0:K.aborted))S0();else i0.error(p6)}},cancel(i0){return G0.stream.cancel(i0)}});for(let i0 of z)X6=X6.pipeThrough(i0({tools:U,stopStream(){G0.terminate()}}));this.baseStream=X6.pipeThrough(Jb6(T!=null?T:Wa())).pipeThrough(Z0);let{maxRetries:k6,retry:h4}=qx0({maxRetries:G,abortSignal:K}),_0=Zx0(Q),x1=uU1(J),P0=Gx0({model:Y,telemetry:Q,headers:X,settings:{...x1,maxRetries:k6}}),i4=this,Z8={provider:Y.provider,modelId:Y.modelId},v9={functionId:Q==null?void 0:Q.functionId,metadata:Q==null?void 0:Q.metadata};Tk({name:"ai.streamText",attributes:rH({telemetry:Q,attributes:{...Ek({operationId:"ai.streamText",telemetry:Q}),...P0,"ai.prompt":{input:()=>JSON.stringify({system:F,prompt:V,messages:B})}}}),tracer:_0,endWhenDone:!1,fn:async(i0)=>{R1=i0;let S0=await Xx0({system:F,prompt:V,messages:B});await oZ({event:{model:Z8,system:F,prompt:V,messages:B,tools:U,toolChoice:D,activeTools:L,maxOutputTokens:x1.maxOutputTokens,temperature:x1.temperature,topP:x1.topP,topK:x1.topK,presencePenalty:x1.presencePenalty,frequencyPenalty:x1.frequencyPenalty,stopSequences:x1.stopSequences,seed:x1.seed,maxRetries:k6,timeout:f,headers:X,providerOptions:C,stopWhen:b,output:T,abortSignal:g,include:m1,...v9,experimental_context:L1},callbacks:Q1});let p6=S0.messages,M=[],{approvedToolApprovals:x,deniedToolApprovals:Z1}=Bx0({messages:p6});if(Z1.length>0||x.length>0){let O=[...x,...Z1].filter((r1)=>r1.toolCall.providerExecuted),S=x.filter((r1)=>!r1.toolCall.providerExecuted),s=Z1.filter((r1)=>!r1.toolCall.providerExecuted),B1=Z1.filter((r1)=>r1.toolCall.providerExecuted),F1,t=new ReadableStream({start(r1){F1=r1}});i4.addStream(t);try{for(let b0 of[...s,...B1])F1==null||F1.enqueue({type:"tool-output-denied",toolCallId:b0.toolCall.toolCallId,toolName:b0.toolCall.toolName});let r1=[];if(await Promise.all(S.map(async(b0)=>{let m0=await aU1({toolCall:b0.toolCall,tools:U,tracer:_0,telemetry:Q,messages:p6,abortSignal:K,experimental_context:L1,stepNumber:w1.length,model:Z8,onToolCallStart:j1,onToolCallFinish:D1,onPreliminaryToolResult:(F0)=>{F1==null||F1.enqueue(F0)}});if(m0!=null)F1==null||F1.enqueue(m0),r1.push(m0)})),O.length>0)M.push({role:"tool",content:O.map((b0)=>({type:"tool-approval-response",approvalId:b0.approvalResponse.approvalId,approved:b0.approvalResponse.approved,reason:b0.approvalResponse.reason,providerExecuted:!0}))});if(r1.length>0||s.length>0){let b0=[];for(let m0 of r1)b0.push({type:"tool-result",toolCallId:m0.toolCallId,toolName:m0.toolName,output:await ez({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)b0.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:b0})}}finally{F1==null||F1.close()}}A1.push(...M);async function K1({currentStep:O,responseMessages:S,usage:s}){var B1,F1,t,r1,b0,m0,F0,U4,W9;let t9=i4.includeRawChunks,E6=W!=null?setTimeout(()=>Z.abort(),W):void 0,b6=void 0;function HJ(){if(H!=null){if(b6!=null)clearTimeout(b6);b6=setTimeout(()=>$.abort(),H)}}function u(){if(b6!=null)clearTimeout(b6),b6=void 0}function c(){if(E6!=null)clearTimeout(E6)}try{Q0=new rz;let o=[...p6,...S],v=await(P==null?void 0:P({model:Y,steps:w1,stepNumber:w1.length,messages:o,experimental_context:L1})),G1=Ga((B1=v==null?void 0:v.model)!=null?B1:Y),V1={provider:G1.provider,modelId:G1.modelId},z1=await sh0({prompt:{system:(F1=v==null?void 0:v.system)!=null?F1:S0.system,messages:(t=v==null?void 0:v.messages)!=null?t:o},supportedUrls:await G1.supportedUrls,download:S1}),c1=(r1=v==null?void 0:v.activeTools)!=null?r1:L,{toolChoice:U0,tools:p0}=await th0({tools:U,toolChoice:(b0=v==null?void 0:v.toolChoice)!=null?b0:D,activeTools:c1});L1=(m0=v==null?void 0:v.experimental_context)!=null?m0:L1;let l0=(F0=v==null?void 0:v.messages)!=null?F0:o,v6=(U4=v==null?void 0:v.system)!=null?U4:S0.system,c0=Za(C,v==null?void 0:v.providerOptions);await oZ({event:{stepNumber:w1.length,model:V1,system:v6,messages:l0,tools:U,toolChoice:U0,activeTools:c1,steps:[...w1],providerOptions:c0,timeout:f,headers:X,stopWhen:b,output:T,abortSignal:g,include:m1,...v9,experimental_context:L1},callbacks:N1});let{result:{stream:y4,response:f4,request:a4},doStreamSpan:H4,startTimestampMs:j4}=await h4(()=>Tk({name:"ai.streamText.doStream",attributes:rH({telemetry:Q,attributes:{...Ek({operationId:"ai.streamText.doStream",telemetry:Q}),...P0,"ai.model.provider":G1.provider,"ai.model.id":G1.modelId,"ai.prompt.messages":{input:()=>Hx0(z1)},"ai.prompt.tools":{input:()=>p0==null?void 0:p0.map((d1)=>JSON.stringify(d1))},"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":x1.frequencyPenalty,"gen_ai.request.max_tokens":x1.maxOutputTokens,"gen_ai.request.presence_penalty":x1.presencePenalty,"gen_ai.request.stop_sequences":x1.stopSequences,"gen_ai.request.temperature":x1.temperature,"gen_ai.request.top_k":x1.topK,"gen_ai.request.top_p":x1.topP}}),tracer:_0,endWhenDone:!1,fn:async(d1)=>({startTimestampMs:k(),doStreamSpan:d1,result:await G1.doStream({...x1,tools:p0,toolChoice:U0,responseFormat:await(T==null?void 0:T.responseFormat),prompt:z1,providerOptions:c0,abortSignal:K,headers:X,includeRawChunks:t9})})})),o4=Qb6({tools:U,generatorStream:y4,tracer:_0,telemetry:Q,system:F,messages:o,repairToolCall:w,abortSignal:K,experimental_context:L1,generateId:_,stepNumber:w1.length,model:V1,onToolCallStart:j1,onToolCallFinish:D1}),J6=((W9=m1==null?void 0:m1.requestBody)!=null?W9:!0)?a4!=null?a4:{}:{...a4,body:void 0},G4=[],L4=[],a0,V4={},$4="other",d0=void 0,l1=yU1(),a1,O0=!0,H0={id:_(),timestamp:new Date,modelId:Z8.modelId},B0="";i4.addStream(o4.pipeThrough(new TransformStream({async transform(d1,Z4){var U6,z6,O6,U1,G6;if(HJ(),d1.type==="stream-start"){a0=d1.warnings;return}if(O0){let g4=k()-j4;O0=!1,H4.addEvent("ai.stream.firstChunk",{"ai.response.msToFirstChunk":g4}),H4.setAttributes({"ai.response.msToFirstChunk":g4}),Z4.enqueue({type:"start-step",request:J6,warnings:a0!=null?a0:[]})}let o6=d1.type;switch(o6){case"tool-approval-request":case"text-start":case"text-end":{Z4.enqueue(d1);break}case"text-delta":{if(d1.delta.length>0)Z4.enqueue({type:"text-delta",id:d1.id,text:d1.delta,providerMetadata:d1.providerMetadata}),B0+=d1.delta;break}case"reasoning-start":case"reasoning-end":{Z4.enqueue(d1);break}case"reasoning-delta":{Z4.enqueue({type:"reasoning-delta",id:d1.id,text:d1.delta,providerMetadata:d1.providerMetadata});break}case"tool-call":{Z4.enqueue(d1),G4.push(d1);break}case"tool-result":{if(Z4.enqueue(d1),!d1.preliminary)L4.push(d1);break}case"tool-error":{Z4.enqueue(d1),L4.push(d1);break}case"response-metadata":{H0={id:(U6=d1.id)!=null?U6:H0.id,timestamp:(z6=d1.timestamp)!=null?z6:H0.timestamp,modelId:(O6=d1.modelId)!=null?O6:H0.modelId};break}case"finish":{l1=d1.usage,$4=d1.finishReason,d0=d1.rawFinishReason,a1=d1.providerMetadata;let g4=k()-j4;H4.addEvent("ai.stream.finish"),H4.setAttributes({"ai.response.msToFinish":g4,"ai.response.avgOutputTokensPerSecond":1000*((U1=l1.outputTokens)!=null?U1:0)/g4});break}case"file":{Z4.enqueue(d1);break}case"source":{Z4.enqueue(d1);break}case"tool-input-start":{V4[d1.id]=d1.toolName;let g4=U==null?void 0:U[d1.toolName];if((g4==null?void 0:g4.onInputStart)!=null)await g4.onInputStart({toolCallId:d1.id,messages:o,abortSignal:K,experimental_context:L1});Z4.enqueue({...d1,dynamic:(G6=d1.dynamic)!=null?G6:(g4==null?void 0:g4.type)==="dynamic",title:g4==null?void 0:g4.title});break}case"tool-input-end":{delete V4[d1.id],Z4.enqueue(d1);break}case"tool-input-delta":{let g4=V4[d1.id],A6=U==null?void 0:U[g4];if((A6==null?void 0:A6.onInputDelta)!=null)await A6.onInputDelta({inputTextDelta:d1.delta,toolCallId:d1.id,messages:o,abortSignal:K,experimental_context:L1});Z4.enqueue(d1);break}case"error":{Z4.enqueue(d1),$4="error";break}case"raw":{if(t9)Z4.enqueue(d1);break}default:throw Error(`Unknown chunk type: ${o6}`)}},async flush(d1){let Z4=G4.length>0?JSON.stringify(G4):void 0;try{H4.setAttributes(await rH({telemetry:Q,attributes:{"ai.response.finishReason":$4,"ai.response.text":{output:()=>B0},"ai.response.reasoning":{output:()=>{let U1=C1.filter((G6)=>G6.type==="reasoning");return U1.length>0?U1.map((G6)=>G6.text).join(`
1288
1288
  `):void 0}},"ai.response.toolCalls":{output:()=>Z4},"ai.response.id":H0.id,"ai.response.model":H0.modelId,"ai.response.timestamp":H0.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(a1),"ai.usage.inputTokens":l1.inputTokens,"ai.usage.outputTokens":l1.outputTokens,"ai.usage.totalTokens":l1.totalTokens,"ai.usage.reasoningTokens":l1.reasoningTokens,"ai.usage.cachedInputTokens":l1.cachedInputTokens,"gen_ai.response.finish_reasons":[$4],"gen_ai.response.id":H0.id,"gen_ai.response.model":H0.modelId,"gen_ai.usage.input_tokens":l1.inputTokens,"gen_ai.usage.output_tokens":l1.outputTokens}}))}catch(U1){}finally{H4.end()}d1.enqueue({type:"finish-step",finishReason:$4,rawFinishReason:d0,usage:l1,providerMetadata:a1,response:{...H0,headers:f4==null?void 0:f4.headers}});let U6=Fx0(s,l1);await Q0.promise;let z6=G4.filter((U1)=>U1.providerExecuted!==!0),O6=L4.filter((U1)=>U1.providerExecuted!==!0);for(let U1 of G4){if(U1.providerExecuted!==!0)continue;let G6=U==null?void 0:U[U1.toolName];if((G6==null?void 0:G6.type)==="provider"&&G6.supportsDeferredResults){if(!L4.some((g4)=>(g4.type==="tool-result"||g4.type==="tool-error")&&g4.toolCallId===U1.toolCallId))i1.set(U1.toolCallId,{toolName:U1.toolName})}}for(let U1 of L4)if(U1.type==="tool-result"||U1.type==="tool-error")i1.delete(U1.toolCallId);if(c(),u(),(z6.length>0&&O6.length===z6.length||i1.size>0)&&!await Lx0({stopConditions:E,steps:w1})){S.push(...await mU1({content:w1[w1.length-1].content,tools:U}));try{await K1({currentStep:O+1,responseMessages:S,usage:U6})}catch(U1){d1.enqueue({type:"error",error:U1}),i4.closeStream()}}else d1.enqueue({type:"finish",finishReason:$4,rawFinishReason:d0,totalUsage:U6}),i4.closeStream()}})))}finally{c(),u()}}await K1({currentStep:0,responseMessages:M,usage:yU1()})}}).catch((i0)=>{i4.addStream(new ReadableStream({start(S0){S0.enqueue({type:"error",error:i0}),S0.close()}})),i4.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 iA(this.teeStream().pipeThrough(new TransformStream({transform({part:Y},Q){if(Y.type==="text-delta")Q.enqueue(Y.text)}})))}get fullStream(){return iA(this.teeStream().pipeThrough(new TransformStream({transform({part:Y},Q){Q.enqueue(Y)}})))}async consumeStream(Y){var Q;try{await Rk({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 iA(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 Xf0({functionality:`element streams in ${(X=(Q=this.outputSpecification)==null?void 0:Q.name)!=null?X:"text"} mode`});return iA(this.teeStream().pipeThrough(J))}get output(){return this.finalStep.then((Y)=>{var Q;return((Q=this.outputSpecification)!=null?Q:Wa()).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=cZ}={}){let $=Q!=null?sf6({originalMessages:Y,responseMessageId:Q}):void 0,F=(B)=>{var U;let D=(U=this.tools)==null?void 0:U[B.toolName];if(D==null)return B.dynamic;return(D==null?void 0:D.type)==="dynamic"?!0:void 0},V=this.fullStream.pipeThrough(new TransformStream({transform:async(B,U)=>{let D=J==null?void 0:J({part:B}),z=B.type;switch(z){case"text-start":{U.enqueue({type:"text-start",id:B.id,...B.providerMetadata!=null?{providerMetadata:B.providerMetadata}:{}});break}case"text-delta":{U.enqueue({type:"text-delta",id:B.id,delta:B.text,...B.providerMetadata!=null?{providerMetadata:B.providerMetadata}:{}});break}case"text-end":{U.enqueue({type:"text-end",id:B.id,...B.providerMetadata!=null?{providerMetadata:B.providerMetadata}:{}});break}case"reasoning-start":{U.enqueue({type:"reasoning-start",id:B.id,...B.providerMetadata!=null?{providerMetadata:B.providerMetadata}:{}});break}case"reasoning-delta":{if(G)U.enqueue({type:"reasoning-delta",id:B.id,delta:B.text,...B.providerMetadata!=null?{providerMetadata:B.providerMetadata}:{}});break}case"reasoning-end":{U.enqueue({type:"reasoning-end",id:B.id,...B.providerMetadata!=null?{providerMetadata:B.providerMetadata}:{}});break}case"file":{U.enqueue({type:"file",mediaType:B.file.mediaType,url:`data:${B.file.mediaType};base64,${B.file.base64}`});break}case"source":{if(K&&B.sourceType==="url")U.enqueue({type:"source-url",sourceId:B.id,url:B.url,title:B.title,...B.providerMetadata!=null?{providerMetadata:B.providerMetadata}:{}});if(K&&B.sourceType==="document")U.enqueue({type:"source-document",sourceId:B.id,mediaType:B.mediaType,title:B.title,filename:B.filename,...B.providerMetadata!=null?{providerMetadata:B.providerMetadata}:{}});break}case"tool-input-start":{let L=F(B);U.enqueue({type:"tool-input-start",toolCallId:B.id,toolName:B.toolName,...B.providerExecuted!=null?{providerExecuted:B.providerExecuted}:{},...B.providerMetadata!=null?{providerMetadata:B.providerMetadata}:{},...L!=null?{dynamic:L}:{},...B.title!=null?{title:B.title}:{}});break}case"tool-input-delta":{U.enqueue({type:"tool-input-delta",toolCallId:B.id,inputTextDelta:B.delta});break}case"tool-call":{let L=F(B);if(B.invalid)U.enqueue({type:"tool-input-error",toolCallId:B.toolCallId,toolName:B.toolName,input:B.input,...B.providerExecuted!=null?{providerExecuted:B.providerExecuted}:{},...B.providerMetadata!=null?{providerMetadata:B.providerMetadata}:{},...L!=null?{dynamic:L}:{},errorText:H(B.error),...B.title!=null?{title:B.title}:{}});else U.enqueue({type:"tool-input-available",toolCallId:B.toolCallId,toolName:B.toolName,input:B.input,...B.providerExecuted!=null?{providerExecuted:B.providerExecuted}:{},...B.providerMetadata!=null?{providerMetadata:B.providerMetadata}:{},...L!=null?{dynamic:L}:{},...B.title!=null?{title:B.title}:{}});break}case"tool-approval-request":{U.enqueue({type:"tool-approval-request",approvalId:B.approvalId,toolCallId:B.toolCall.toolCallId});break}case"tool-result":{let L=F(B);U.enqueue({type:"tool-output-available",toolCallId:B.toolCallId,output:B.output,...B.providerExecuted!=null?{providerExecuted:B.providerExecuted}:{},...B.preliminary!=null?{preliminary:B.preliminary}:{},...L!=null?{dynamic:L}:{}});break}case"tool-error":{let L=F(B);U.enqueue({type:"tool-output-error",toolCallId:B.toolCallId,errorText:H(B.error),...B.providerExecuted!=null?{providerExecuted:B.providerExecuted}:{},...L!=null?{dynamic:L}:{}});break}case"tool-output-denied":{U.enqueue({type:"tool-output-denied",toolCallId:B.toolCallId});break}case"error":{U.enqueue({type:"error",errorText:H(B.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",...D!=null?{messageMetadata:D}:{},...$!=null?{messageId:$}:{}});break}case"finish":{if(Z)U.enqueue({type:"finish",finishReason:B.finishReason,...D!=null?{messageMetadata:D}:{}});break}case"abort":{U.enqueue(B);break}case"tool-input-end":break;case"raw":break;default:throw Error(`Unknown chunk type: ${z}`)}if(D!=null&&z!=="start"&&z!=="finish")U.enqueue({type:"message-metadata",messageMetadata:D})}}));return iA(Rx0({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}={}){ef6({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){of6({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 Ha({stream:this.toUIMessageStream({originalMessages:Y,generateMessageId:Q,onFinish:X,messageMetadata:J,sendReasoning:G,sendSources:K,sendFinish:W,sendStart:Z,onError:H}),...$})}toTextStreamResponse(Y){return rf6({textStream:this.textStream,...Y})}},Wb6,gX9,mX9,lX9,Kb6="AI_NoSuchProviderError",Hb6,$b6,Fb6,dX9;var sZ=j(()=>{J8();J8();k8();k8();k8();k8();k8();k8();k8();k8();k8();k8();k8();k8();k8();k8();_U1();J8();J8();J8();J8();k8();J8();s6();k8();J8();k8();J8();s6();s6();s6();s6();s6();_U1();k8();k8();J8();J8();J8();k8();J8();J8();J8();k8();J8();J8();s6();J8();J8();J8();J8();k8();J8();s6();J8();J8();Wx0=T6(N0(),1),oA=T6(N0(),1),zy6=Object.defineProperty,Wh0=`vercel.ai.error.${Gh0}`,Ny6=Symbol.for(Wh0),rZ=class extends J4{constructor({parameter:Y,value:Q,message:X}){super({name:Gh0,message:`Invalid argument for parameter ${Y}: ${X}`});this[Zh0]=!0,this.parameter=Y,this.value=Q}static isInstance(Y){return J4.hasMarker(Y,Wh0)}};Zh0=Ny6;My6=`vercel.ai.error.${Ly6}`,wy6=Symbol.for(My6);Ay6=wy6;Hh0=`vercel.ai.error.${Kh0}`,Py6=Symbol.for(Hh0),Ey6=class extends J4{constructor({approvalId:Y}){super({name:Kh0,message:`Tool approval response references unknown approvalId: "${Y}". No matching tool-approval-request found in message history.`});this[$h0]=!0,this.approvalId=Y}static isInstance(Y){return J4.hasMarker(Y,Hh0)}};$h0=Py6;Vh0=`vercel.ai.error.${Fh0}`,Ty6=Symbol.for(Vh0),pU1=class extends J4{constructor({toolInput:Y,toolName:Q,cause:X,message:J=`Invalid input for tool ${Q}: ${cZ(X)}`}){super({name:Fh0,message:J,cause:X});this[qh0]=!0,this.toolInput=Y,this.toolName=Q}static isInstance(Y){return J4.hasMarker(Y,Vh0)}};qh0=Ty6;Uh0=`vercel.ai.error.${Bh0}`,Cy6=Symbol.for(Uh0),cU1=class extends J4{constructor({toolCallId:Y,approvalId:Q}){super({name:Bh0,message:`Tool call "${Y}" not found for approval request "${Q}".`});this[Dh0]=!0,this.toolCallId=Y,this.approvalId=Q}static isInstance(Y){return J4.hasMarker(Y,Uh0)}};Dh0=Cy6;Oh0=`vercel.ai.error.${zh0}`,Ry6=Symbol.for(Oh0),nb0=class extends J4{constructor({toolCallIds:Y}){super({name:zh0,message:`Tool result${Y.length>1?"s are":" is"} missing for tool call${Y.length>1?"s":""} ${Y.join(", ")}.`});this[Nh0]=!0,this.toolCallIds=Y}static isInstance(Y){return J4.hasMarker(Y,Oh0)}};Nh0=Ry6;jy6=`vercel.ai.error.${Iy6}`,Sy6=Symbol.for(jy6);ky6=Sy6;Mh0=`vercel.ai.error.${Lh0}`,vy6=Symbol.for(Mh0),QB=class extends J4{constructor({message:Y="No object generated.",cause:Q,text:X,response:J,usage:G,finishReason:K}){super({name:Lh0,message:Y,cause:Q});this[wh0]=!0,this.text=X,this.response=J,this.usage=G,this.finishReason=K}static isInstance(Y){return J4.hasMarker(Y,Mh0)}};wh0=vy6;Ph0=`vercel.ai.error.${Ah0}`,_y6=Symbol.for(Ph0),Th0=class extends J4{constructor({message:Y="No output generated.",cause:Q}={}){super({name:Ah0,message:Y,cause:Q});this[Eh0]=!0}static isInstance(Y){return J4.hasMarker(Y,Ph0)}};Eh0=_y6;fy6=`vercel.ai.error.${yy6}`,by6=Symbol.for(fy6);hy6=by6;gy6=`vercel.ai.error.${xy6}`,uy6=Symbol.for(gy6);my6=uy6;dy6=`vercel.ai.error.${ly6}`,py6=Symbol.for(dy6);cy6=py6;Rh0=`vercel.ai.error.${Ch0}`,ny6=Symbol.for(Rh0),gU1=class extends J4{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:Ch0,message:X});this[Ih0]=!0,this.toolName=Y,this.availableTools=Q}static isInstance(Y){return J4.hasMarker(Y,Rh0)}};Ih0=ny6;Sh0=`vercel.ai.error.${jh0}`,iy6=Symbol.for(Sh0),ay6=class extends J4{constructor({cause:Y,originalError:Q,message:X=`Error repairing tool call: ${cZ(Y)}`}){super({name:jh0,message:X,cause:Y});this[kh0]=!0,this.originalError=Q}static isInstance(Y){return J4.hasMarker(Y,Sh0)}};kh0=iy6;ry6=class extends J4{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}},_h0=`vercel.ai.error.${vh0}`,oy6=Symbol.for(_h0),nA=class extends J4{constructor({chunkType:Y,chunkId:Q,message:X}){super({name:vh0,message:X});this[yh0]=!0,this.chunkType=Y,this.chunkId=Q}static isInstance(Y){return J4.hasMarker(Y,_h0)}};yh0=oy6;ty6=`vercel.ai.error.${sy6}`,ey6=Symbol.for(ty6);Yf6=ey6;bh0=`vercel.ai.error.${fh0}`,Qf6=Symbol.for(bh0),Xf6=class extends J4{constructor({role:Y,message:Q=`Invalid message role: '${Y}'. Must be one of: "system", "user", "assistant", "tool".`}){super({name:fh0,message:Q});this[hh0]=!0,this.role=Y}static isInstance(Y){return J4.hasMarker(Y,bh0)}};hh0=Qf6;gh0=`vercel.ai.error.${xh0}`,Jf6=Symbol.for(gh0),Gf6=class extends J4{constructor({originalMessage:Y,message:Q}){super({name:xh0,message:Q});this[uh0]=!0,this.originalMessage=Y}static isInstance(Y){return J4.hasMarker(Y,gh0)}};uh0=Jf6;lh0=`vercel.ai.error.${mh0}`,Wf6=Symbol.for(lh0),ib0=class extends J4{constructor({message:Y,reason:Q,errors:X}){super({name:mh0,message:Y});this[dh0]=!0,this.reason=Q,this.errors=X,this.lastError=X[X.length-1]}static isInstance(Y){return J4.hasMarker(Y,lh0)}};dh0=Wf6;Bf6=[{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]}];rh0=q.union([q.string(),q.instanceof(Uint8Array),q.instanceof(ArrayBuffer),q.custom((Y)=>{var Q,X;return(X=(Q=globalThis.Buffer)==null?void 0:Q.isBuffer(Y))!=null?X:!1},{message:"Must be a Buffer"})]);Pk=q.lazy(()=>q.union([q.null(),q.string(),q.number(),q.boolean(),q.record(q.string(),Pk.optional()),q.array(Pk)])),n4=q.record(q.string(),q.record(q.string(),Pk.optional())),eh0=q.object({type:q.literal("text"),text:q.string(),providerOptions:n4.optional()}),Ef6=q.object({type:q.literal("image"),image:q.union([rh0,q.instanceof(URL)]),mediaType:q.string().optional(),providerOptions:n4.optional()}),Yx0=q.object({type:q.literal("file"),data:q.union([rh0,q.instanceof(URL)]),filename:q.string().optional(),mediaType:q.string(),providerOptions:n4.optional()}),Tf6=q.object({type:q.literal("reasoning"),text:q.string(),providerOptions:n4.optional()}),Cf6=q.object({type:q.literal("tool-call"),toolCallId:q.string(),toolName:q.string(),input:q.unknown(),providerOptions:n4.optional(),providerExecuted:q.boolean().optional()}),Rf6=q.discriminatedUnion("type",[q.object({type:q.literal("text"),value:q.string(),providerOptions:n4.optional()}),q.object({type:q.literal("json"),value:Pk,providerOptions:n4.optional()}),q.object({type:q.literal("execution-denied"),reason:q.string().optional(),providerOptions:n4.optional()}),q.object({type:q.literal("error-text"),value:q.string(),providerOptions:n4.optional()}),q.object({type:q.literal("error-json"),value:Pk,providerOptions:n4.optional()}),q.object({type:q.literal("content"),value:q.array(q.union([q.object({type:q.literal("text"),text:q.string(),providerOptions:n4.optional()}),q.object({type:q.literal("media"),data:q.string(),mediaType:q.string()}),q.object({type:q.literal("file-data"),data:q.string(),mediaType:q.string(),filename:q.string().optional(),providerOptions:n4.optional()}),q.object({type:q.literal("file-url"),url:q.string(),providerOptions:n4.optional()}),q.object({type:q.literal("file-id"),fileId:q.union([q.string(),q.record(q.string(),q.string())]),providerOptions:n4.optional()}),q.object({type:q.literal("image-data"),data:q.string(),mediaType:q.string(),providerOptions:n4.optional()}),q.object({type:q.literal("image-url"),url:q.string(),providerOptions:n4.optional()}),q.object({type:q.literal("image-file-id"),fileId:q.union([q.string(),q.record(q.string(),q.string())]),providerOptions:n4.optional()}),q.object({type:q.literal("custom"),providerOptions:n4.optional()})]))})]),Qx0=q.object({type:q.literal("tool-result"),toolCallId:q.string(),toolName:q.string(),output:Rf6,providerOptions:n4.optional()}),If6=q.object({type:q.literal("tool-approval-request"),approvalId:q.string(),toolCallId:q.string()}),jf6=q.object({type:q.literal("tool-approval-response"),approvalId:q.string(),approved:q.boolean(),reason:q.string().optional()}),Sf6=q.object({role:q.literal("system"),content:q.string(),providerOptions:n4.optional()}),kf6=q.object({role:q.literal("user"),content:q.union([q.string(),q.array(q.union([eh0,Ef6,Yx0]))]),providerOptions:n4.optional()}),vf6=q.object({role:q.literal("assistant"),content:q.union([q.string(),q.array(q.union([eh0,Yx0,Tf6,Cf6,Qx0,If6]))]),providerOptions:n4.optional()}),_f6=q.object({role:q.literal("tool"),content:q.array(q.union([Qx0,jf6])),providerOptions:n4.optional()}),yf6=q.union([Sf6,kf6,vf6,_f6]);ff6={startSpan(){return Xa},startActiveSpan(Y,Q,X,J){if(typeof Q==="function")return Q(Xa);if(typeof X==="function")return X(Xa);if(typeof J==="function")return J(Xa)}},Xa={spanContext(){return bf6},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}},bf6={traceId:"",spanId:"",traceFlags:0};gf6=class extends Ux0{constructor(Y){super(Y);this.type="file"}};uf6={};Oy6(uf6,{array:()=>df6,choice:()=>pf6,json:()=>cf6,object:()=>lf6,text:()=>Wa});nf6=nH({prefix:"aitxt",size:24});Ax0=class extends TransformStream{constructor(){super({transform(Y,Q){Q.enqueue(`data: ${JSON.stringify(Y)}
1289
1289
 
1290
1290
  `)},flush(Y){Y.enqueue(`data: [DONE]
@@ -1516,7 +1516,7 @@ ${Q.stack}`;return G}}catch{}if(typeof Q.toString==="function")try{let G=Q.toStr
1516
1516
  `.execute(Y),J=new Set(X.rows.map((W)=>`${W.plugin_id}/${W.name}`)),G=new Map;for(let{pluginId:W,migration:Z}of Q){if(!G.has(W))G.set(W,[]);G.get(W).push({name:Z.name,up:Z.up})}let K=0;for(let[W,Z]of G){Z.sort((H,$)=>H.name.localeCompare($.name));for(let H of Z){let $=`${W}/${H.name}`;if(J.has($))continue;if(K===0)console.log("\uD83D\uDD0C Running plugin migrations...");K++,console.log(` Running: ${$}`),await H.up(Y);let F=new Date().toISOString();await AF`
1517
1517
  INSERT INTO plugin_migrations (plugin_id, name, timestamp)
1518
1518
  VALUES (${W}, ${H.name}, ${F})
1519
- `.execute(Y)}}if(K>0)console.log(`\u2705 ${K} plugin migration(s) completed`)}async function Ea0(Y,Q){await Mp6(Y,Q),await wp6(Y,Q);let X=new Aa0({db:Y,provider:{getMigrations:()=>Promise.resolve(vx)}}),{error:J,results:G}=await X.migrateToLatest();if(G?.forEach((K)=>{if(K.status==="Success")console.log(`\u2705 Migration "${K.migrationName}" executed successfully`);else if(K.status==="Error")console.error(`\u274C Failed to execute migration "${K.migrationName}"`)}),J)throw console.error("Failed to migrate"),console.error(J),J}async function Pp6(Y){let{keepOpen:Q=!1,database:X,skipBetterAuth:J=!1,seed:G}=Y??{};if(!J&&!X)await Ma0();let K=X??vz(),W=async()=>{if(!Q&&!X)console.log("\uD83D\uDD12 Closing database connection..."),await Tj0(K).catch((Z)=>{console.warn("Warning: Error closing database:",Z)})};try{console.log("\uD83D\uDCCA Running Kysely migrations..."),await Ea0(K.db,K.type),console.log("\uD83C\uDF89 Core migrations completed successfully"),await Ap6(K.db);let Z;if(G)Z=await C91(K.db,G);return await W(),{seedResult:Z}}catch(Z){throw await W(),Z}}async function Ep6(){let Y=vz(),Q=new Aa0({db:Y.db,provider:{getMigrations:()=>Promise.resolve(vx)}}),{error:X,results:J}=await Q.migrateDown();if(J?.forEach((G)=>{if(G.status==="Success")console.log(`\u2705 Migration "${G.migrationName}" rolled back successfully`);else if(G.status==="Error")console.error(`\u274C Failed to rollback migration "${G.migrationName}"`)}),X)throw console.error("Failed to rollback migration"),console.error(X),X}var Ca0=j(()=>{T91();mS1();wa0();Bv();PS()});var XJ;var jP=j(()=>{XJ=class extends Error{res;status;constructor(Y=500,Q){super(Q?.message,{cause:Q?.cause});this.res=Q?.res,this.status=Y}getResponse(){if(this.res)return new Response(this.res.body,{status:this.status,headers:this.res.headers});return new Response(this.message,{status:this.status})}}});var Ra0,Tp6,Cp6=(Y,Q)=>{if(!Y)return{};let X=new Headers(Y.headers);if(Q){let J=X.get("connection");if(J){let G=J.split(",").map((W)=>W.trim()),K=G.filter((W)=>!Tp6.test(W));if(K.length>0)throw new XJ(400,{message:`Invalid Connection header value: ${K.join(", ")}`});G.forEach((W)=>{X.delete(W)})}}return Ra0.forEach((J)=>{X.delete(J)}),{method:Y.method,body:Y.body,duplex:Y.body?"half":void 0,headers:X,signal:Y.signal}},Rp6=(Y)=>{if(!Y.headers||Array.isArray(Y.headers)||Y.headers instanceof Headers)return Y;let Q=new Headers;for(let[X,J]of Object.entries(Y.headers))if(J==null)Q.delete(X);else Q.set(X,J);return Y.headers=Q,Y},Ia0=async(Y,Q)=>{let{raw:X,customFetch:J,strictConnectionProcessing:G=!1,...K}=Q instanceof Request?{raw:Q}:Q??{},W=new Request(Y,{...Cp6(X,G),...Rp6(K)});W.headers.delete("accept-encoding");let Z=await(J||fetch)(W),H=new Headers(Z.headers);if(Ra0.forEach(($)=>{H.delete($)}),H.has("content-encoding"))H.delete("content-encoding"),H.delete("content-length");return new Response(Z.body,{status:Z.status,statusText:Z.statusText,headers:H})};var ja0=j(()=>{jP();Ra0=["connection","keep-alive","proxy-authenticate","proxy-authorization","te","trailer","transfer-encoding","upgrade"],Tp6=/^[!#$%&'*+\-.0-9A-Z^_`a-z|~]+$/});var Sa0=(Y)=>(Q)=>{let X=new URL(Q.req.raw.url),J=new URL(Y);return J.pathname=X.pathname,J.search=X.search,Ia0(J,{raw:Q.req.raw,headers:{...Q.req.raw.headers}})};var ka0=j(()=>{ja0()});import{resolve as kv,dirname as Ip6,join as jp6,extname as Sp6,basename as kp6,sep as va0}from"path";function vp6(Y,Q){if(Y===Q||kp6(Y)==="index.html")return{"Cache-Control":"no-cache"};if(Y.includes(`${va0}assets${va0}`))return{"Cache-Control":"public, max-age=31536000, immutable"};return{}}function fp6(Y,Q){let X=kv(Q),J=kv(Y);return J===X||J.startsWith(X+"/")}function bp6({requestPath:Y,clientDir:Q}){let X=Y.startsWith("/")?Y.slice(1):Y,J=kv(Q,X);if(!fp6(J,Q))return null;return J}function _a0(Y,Q="../client"){let X=new URL(Y),J=Ip6(X.pathname);return kv(J,Q)}function ya0(Y={}){let{env:Q="production",devServerUrl:X=_p6,clientDir:J=yp6,isServerPath:G=()=>!1}=Y;if(Q==="development"){let K=Sa0(X);return async function(Z){let H=new URL(Z.url);if(G(H.pathname))return null;let $={req:{raw:Z,url:Z.url}};return K($)}}return async function(W){if(W.method!=="GET")return null;let Z=new URL(W.url),H;try{H=decodeURIComponent(Z.pathname)}catch{return null}if(G(H))return null;let $=bp6({requestPath:H,clientDir:J});if(!$)return null;let F=jp6($,"index.html"),V=kv(J,"index.html"),B=W.headers.get("accept"),D=B?.includes("text/html")||B?.includes("*/*")&&["",".html"].includes(Sp6($))?[F,V]:[];for(let z of[$,...D])try{let L=Bun.file(z);if(await L.exists())return new Response(L,{headers:vp6(z,V)})}catch{}return null}}var _p6,yp6="./dist/client";var fa0=j(()=>{ka0();_p6=`http://localhost:${process.env.VITE_PORT||"4000"}`});function ha0(Y){if(!Y)return!1;try{return new URL(Y).host==="api.decocms.com"&&Y!=="https://api.decocms.com/mcp/registry"}catch{return!1}}var ba0="https://api.decocms.com/mcp/registry";var xa0=()=>{};var $L1=(Y,Q,X)=>{return(J,G)=>{let K=-1;return W(0);async function W(Z){if(Z<=K)throw Error("next() called multiple times");K=Z;let H,$=!1,F;if(Y[Z])F=Y[Z][0][0],J.req.routeIndex=Z;else F=Z===Y.length&&G||void 0;if(F)try{H=await F(J,()=>W(Z+1))}catch(V){if(V instanceof Error&&Q)J.error=V,H=await Q(V,J),$=!0;else throw V}else if(J.finalized===!1&&X)H=await X(J);if(H&&(J.finalized===!1||$))J.res=H;return J}}};var ga0=()=>{};var ua0;var ma0=j(()=>{ua0=Symbol()});async function hp6(Y,Q){let X=await Y.formData();if(X)return xp6(X,Q);return{}}function xp6(Y,Q){let X=Object.create(null);if(Y.forEach((J,G)=>{if(!(Q.all||G.endsWith("[]")))X[G]=J;else gp6(X,G,J)}),Q.dot)Object.entries(X).forEach(([J,G])=>{if(J.includes("."))up6(X,J,G),delete X[J]});return X}var la0=async(Y,Q=Object.create(null))=>{let{all:X=!1,dot:J=!1}=Q,K=(Y instanceof fr?Y.raw.headers:Y.headers).get("Content-Type");if(K?.startsWith("multipart/form-data")||K?.startsWith("application/x-www-form-urlencoded"))return hp6(Y,{all:X,dot:J});return{}},gp6=(Y,Q,X)=>{if(Y[Q]!==void 0)if(Array.isArray(Y[Q]))Y[Q].push(X);else Y[Q]=[Y[Q],X];else if(!Q.endsWith("[]"))Y[Q]=X;else Y[Q]=[X]},up6=(Y,Q,X)=>{let J=Y,G=Q.split(".");G.forEach((K,W)=>{if(W===G.length-1)J[K]=X;else{if(!J[K]||typeof J[K]!=="object"||Array.isArray(J[K])||J[K]instanceof File)J[K]=Object.create(null);J=J[K]}})};var da0=j(()=>{FL1()});var qL1=(Y)=>{let Q=Y.split("/");if(Q[0]==="")Q.shift();return Q},pa0=(Y)=>{let{groups:Q,path:X}=mp6(Y),J=qL1(X);return lp6(J,Q)},mp6=(Y)=>{let Q=[];return Y=Y.replace(/\{[^}]+\}/g,(X,J)=>{let G=`@${J}`;return Q.push([G,X]),G}),{groups:Q,path:Y}},lp6=(Y,Q)=>{for(let X=Q.length-1;X>=0;X--){let[J]=Q[X];for(let G=Y.length-1;G>=0;G--)if(Y[G].includes(J)){Y[G]=Y[G].replace(J,Q[X][1]);break}}return Y},br,ca0=(Y,Q)=>{if(Y==="*")return"*";let X=Y.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/);if(X){let J=`${Y}#${Q}`;if(!br[J])if(X[2])br[J]=Q&&Q[0]!==":"&&Q[0]!=="*"?[J,X[1],new RegExp(`^${X[2]}(?=/${Q})`)]:[Y,X[1],new RegExp(`^${X[2]}$`)];else br[J]=[Y,X[1],!0];return br[J]}return null},SP=(Y,Q)=>{try{return Q(Y)}catch{return Y.replace(/(?:%[0-9A-Fa-f]{2})+/g,(X)=>{try{return Q(X)}catch{return X}})}},dp6=(Y)=>SP(Y,decodeURI),BL1=(Y)=>{let Q=Y.url,X=Q.indexOf("/",Q.indexOf(":")+4),J=X;for(;J<Q.length;J++){let G=Q.charCodeAt(J);if(G===37){let K=Q.indexOf("?",J),W=Q.indexOf("#",J),Z=K===-1?W===-1?void 0:W:W===-1?K:Math.min(K,W),H=Q.slice(X,Z);return dp6(H.includes("%25")?H.replace(/%25/g,"%2525"):H)}else if(G===63||G===35)break}return Q.slice(X,J)},na0=(Y)=>{let Q=BL1(Y);return Q.length>1&&Q.at(-1)==="/"?Q.slice(0,-1):Q},wO=(Y,Q,...X)=>{if(X.length)Q=wO(Q,...X);return`${Y?.[0]==="/"?"":"/"}${Y}${Q==="/"?"":`${Y?.at(-1)==="/"?"":"/"}${Q?.[0]==="/"?Q.slice(1):Q}`}`},hr=(Y)=>{if(Y.charCodeAt(Y.length-1)!==63||!Y.includes(":"))return null;let Q=Y.split("/"),X=[],J="";return Q.forEach((G)=>{if(G!==""&&!/\:/.test(G))J+="/"+G;else if(/\:/.test(G))if(/\?/.test(G)){if(X.length===0&&J==="")X.push("/");else X.push(J);let K=G.replace("?","");J+="/"+K,X.push(J)}else J+="/"+G}),X.filter((G,K,W)=>W.indexOf(G)===K)},VL1=(Y)=>{if(!/[%+]/.test(Y))return Y;if(Y.indexOf("+")!==-1)Y=Y.replace(/\+/g," ");return Y.indexOf("%")!==-1?SP(Y,vv):Y},ia0=(Y,Q,X)=>{let J;if(!X&&Q&&!/[%+]/.test(Q)){let W=Y.indexOf("?",8);if(W===-1)return;if(!Y.startsWith(Q,W+1))W=Y.indexOf(`&${Q}`,W+1);while(W!==-1){let Z=Y.charCodeAt(W+Q.length+1);if(Z===61){let H=W+Q.length+2,$=Y.indexOf("&",H);return VL1(Y.slice(H,$===-1?void 0:$))}else if(Z==38||isNaN(Z))return"";W=Y.indexOf(`&${Q}`,W+1)}if(J=/[%+]/.test(Y),!J)return}let G={};J??=/[%+]/.test(Y);let K=Y.indexOf("?",8);while(K!==-1){let W=Y.indexOf("&",K+1),Z=Y.indexOf("=",K);if(Z>W&&W!==-1)Z=-1;let H=Y.slice(K+1,Z===-1?W===-1?void 0:W:Z);if(J)H=VL1(H);if(K=W,H==="")continue;let $;if(Z===-1)$="";else if($=Y.slice(Z+1,W===-1?void 0:W),J)$=VL1($);if(X){if(!(G[H]&&Array.isArray(G[H])))G[H]=[];G[H].push($)}else G[H]??=$}return Q?G[Q]:G},aa0,ra0=(Y,Q)=>{return ia0(Y,Q,!0)},vv;var AO=j(()=>{br={},aa0=ia0,vv=decodeURIComponent});var oa0=(Y)=>SP(Y,vv),fr;var FL1=j(()=>{jP();ma0();da0();AO();fr=class{raw;#Y;#Q;routeIndex=0;path;bodyCache={};constructor(Y,Q="/",X=[[]]){this.raw=Y,this.path=Q,this.#Q=X,this.#Y={}}param(Y){return Y?this.#X(Y):this.#J()}#X(Y){let Q=this.#Q[0][this.routeIndex][1][Y],X=this.#W(Q);return X&&/\%/.test(X)?oa0(X):X}#J(){let Y={},Q=Object.keys(this.#Q[0][this.routeIndex][1]);for(let X of Q){let J=this.#W(this.#Q[0][this.routeIndex][1][X]);if(J!==void 0)Y[X]=/\%/.test(J)?oa0(J):J}return Y}#W(Y){return this.#Q[1]?this.#Q[1][Y]:Y}query(Y){return aa0(this.url,Y)}queries(Y){return ra0(this.url,Y)}header(Y){if(Y)return this.raw.headers.get(Y)??void 0;let Q={};return this.raw.headers.forEach((X,J)=>{Q[J]=X}),Q}async parseBody(Y){return this.bodyCache.parsedBody??=await la0(this,Y)}#G=(Y)=>{let{bodyCache:Q,raw:X}=this,J=Q[Y];if(J)return J;let G=Object.keys(Q)[0];if(G)return Q[G].then((K)=>{if(G==="json")K=JSON.stringify(K);return new Response(K)[Y]()});return Q[Y]=X[Y]()};json(){return this.#G("text").then((Y)=>JSON.parse(Y))}text(){return this.#G("text")}arrayBuffer(){return this.#G("arrayBuffer")}blob(){return this.#G("blob")}formData(){return this.#G("formData")}addValidatedData(Y,Q){this.#Y[Y]=Q}valid(Y){return this.#Y[Y]}get url(){return this.raw.url}get method(){return this.raw.method}get[ua0](){return this.#Q}get matchedRoutes(){return this.#Q[0].map(([[,Y]])=>Y)}get routePath(){return this.#Q[0].map(([[,Y]])=>Y)[this.routeIndex].path}}});var xr,pp6=(Y,Q)=>{let X=new String(Y);return X.isEscaped=!0,X.callbacks=Q,X},_v=async(Y,Q,X,J,G)=>{if(typeof Y==="object"&&!(Y instanceof String)){if(!(Y instanceof Promise))Y=Y.toString();if(Y instanceof Promise)Y=await Y}let K=Y.callbacks;if(!K?.length)return Promise.resolve(Y);if(G)G[0]+=Y;else G=[Y];let W=Promise.all(K.map((Z)=>Z({phase:Q,buffer:G,context:J}))).then((Z)=>Promise.all(Z.filter(Boolean).map((H)=>_v(H,Q,!1,J,G))).then(()=>G[0]));if(X)return pp6(await W,K);else return W};var UL1=j(()=>{xr={Stringify:1,BeforeStream:2,Stream:3}});var sa0="text/plain; charset=UTF-8",DL1=(Y,Q)=>{return{"Content-Type":Y,...Q}},yv=(Y,Q)=>new Response(Y,Q),ta0=class{#Y;#Q;env={};#X;finalized=!1;error;#J;#W;#G;#K;#Z;#$;#H;#V;#q;constructor(Y,Q){if(this.#Y=Y,Q)this.#W=Q.executionCtx,this.env=Q.env,this.#$=Q.notFoundHandler,this.#q=Q.path,this.#V=Q.matchResult}get req(){return this.#Q??=new fr(this.#Y,this.#q,this.#V),this.#Q}get event(){if(this.#W&&"respondWith"in this.#W)return this.#W;else throw Error("This context has no FetchEvent")}get executionCtx(){if(this.#W)return this.#W;else throw Error("This context has no ExecutionContext")}get res(){return this.#G||=yv(null,{headers:this.#H??=new Headers})}set res(Y){if(this.#G&&Y){Y=yv(Y.body,Y);for(let[Q,X]of this.#G.headers.entries()){if(Q==="content-type")continue;if(Q==="set-cookie"){let J=this.#G.headers.getSetCookie();Y.headers.delete("set-cookie");for(let G of J)Y.headers.append("set-cookie",G)}else Y.headers.set(Q,X)}}this.#G=Y,this.finalized=!0}render=(...Y)=>{return this.#Z??=(Q)=>this.html(Q),this.#Z(...Y)};setLayout=(Y)=>this.#K=Y;getLayout=()=>this.#K;setRenderer=(Y)=>{this.#Z=Y};header=(Y,Q,X)=>{if(this.finalized)this.#G=yv(this.#G.body,this.#G);let J=this.#G?this.#G.headers:this.#H??=new Headers;if(Q===void 0)J.delete(Y);else if(X?.append)J.append(Y,Q);else J.set(Y,Q)};status=(Y)=>{this.#J=Y};set=(Y,Q)=>{this.#X??=new Map,this.#X.set(Y,Q)};get=(Y)=>{return this.#X?this.#X.get(Y):void 0};get var(){if(!this.#X)return{};return Object.fromEntries(this.#X)}#F(Y,Q,X){let J=this.#G?new Headers(this.#G.headers):this.#H??new Headers;if(typeof Q==="object"&&"headers"in Q){let K=Q.headers instanceof Headers?Q.headers:new Headers(Q.headers);for(let[W,Z]of K)if(W.toLowerCase()==="set-cookie")J.append(W,Z);else J.set(W,Z)}if(X)for(let[K,W]of Object.entries(X))if(typeof W==="string")J.set(K,W);else{J.delete(K);for(let Z of W)J.append(K,Z)}let G=typeof Q==="number"?Q:Q?.status??this.#J;return yv(Y,{status:G,headers:J})}newResponse=(...Y)=>this.#F(...Y);body=(Y,Q,X)=>this.#F(Y,Q,X);text=(Y,Q,X)=>{return!this.#H&&!this.#J&&!Q&&!X&&!this.finalized?new Response(Y):this.#F(Y,Q,DL1(sa0,X))};json=(Y,Q,X)=>{return this.#F(JSON.stringify(Y),Q,DL1("application/json",X))};html=(Y,Q,X)=>{let J=(G)=>this.#F(G,Q,DL1("text/html; charset=UTF-8",X));return typeof Y==="object"?_v(Y,xr.Stringify,!1,{}).then(J):J(Y)};redirect=(Y,Q)=>{let X=String(Y);return this.header("Location",!/[^\x00-\xFF]/.test(X)?X:encodeURI(X)),this.newResponse(null,Q??302)};notFound=()=>{return this.#$??=()=>yv(),this.#$(this)}};var gr=j(()=>{FL1();UL1()});var c9="ALL",ea0="all",Yr0,ur="Can not add a route since the matcher is already built.",mr;var PO=j(()=>{Yr0=["get","post","put","delete","options","patch"],mr=class extends Error{}});var Qr0="__COMPOSED_HANDLER";var Xr0=()=>{};var cp6=(Y)=>{return Y.text("404 Not Found",404)},Jr0=(Y,Q)=>{if("getResponse"in Y){let X=Y.getResponse();return Q.newResponse(X.body,X)}return console.error(Y),Q.text("Internal Server Error",500)},Gr0=class Y{get;post;put;delete;options;patch;all;on;use;router;getPath;_basePath="/";#Y="/";routes=[];constructor(Q={}){[...Yr0,ea0].forEach((K)=>{this[K]=(W,...Z)=>{if(typeof W==="string")this.#Y=W;else this.#J(K,this.#Y,W);return Z.forEach((H)=>{this.#J(K,this.#Y,H)}),this}}),this.on=(K,W,...Z)=>{for(let H of[W].flat()){this.#Y=H;for(let $ of[K].flat())Z.map((F)=>{this.#J($.toUpperCase(),this.#Y,F)})}return this},this.use=(K,...W)=>{if(typeof K==="string")this.#Y=K;else this.#Y="*",W.unshift(K);return W.forEach((Z)=>{this.#J(c9,this.#Y,Z)}),this};let{strict:J,...G}=Q;Object.assign(this,G),this.getPath=J??!0?Q.getPath??BL1:na0}#Q(){let Q=new Y({router:this.router,getPath:this.getPath});return Q.errorHandler=this.errorHandler,Q.#X=this.#X,Q.routes=this.routes,Q}#X=cp6;errorHandler=Jr0;route(Q,X){let J=this.basePath(Q);return X.routes.map((G)=>{let K;if(X.errorHandler===Jr0)K=G.handler;else K=async(W,Z)=>(await $L1([],X.errorHandler)(W,()=>G.handler(W,Z))).res,K[Qr0]=G.handler;J.#J(G.method,G.path,K)}),this}basePath(Q){let X=this.#Q();return X._basePath=wO(this._basePath,Q),X}onError=(Q)=>{return this.errorHandler=Q,this};notFound=(Q)=>{return this.#X=Q,this};mount(Q,X,J){let G,K;if(J)if(typeof J==="function")K=J;else if(K=J.optionHandler,J.replaceRequest===!1)G=(H)=>H;else G=J.replaceRequest;let W=K?(H)=>{let $=K(H);return Array.isArray($)?$:[$]}:(H)=>{let $=void 0;try{$=H.executionCtx}catch{}return[H.env,$]};G||=(()=>{let H=wO(this._basePath,Q),$=H==="/"?0:H.length;return(F)=>{let V=new URL(F.url);return V.pathname=V.pathname.slice($)||"/",new Request(V,F)}})();let Z=async(H,$)=>{let F=await X(G(H.req.raw),...W(H));if(F)return F;await $()};return this.#J(c9,wO(Q,"*"),Z),this}#J(Q,X,J){Q=Q.toUpperCase(),X=wO(this._basePath,X);let G={basePath:this._basePath,path:X,method:Q,handler:J};this.router.add(Q,X,[J,G]),this.routes.push(G)}#W(Q,X){if(Q instanceof Error)return this.errorHandler(Q,X);throw Q}#G(Q,X,J,G){if(G==="HEAD")return(async()=>new Response(null,await this.#G(Q,X,J,"GET")))();let K=this.getPath(Q,{env:J}),W=this.router.match(G,K),Z=new ta0(Q,{path:K,matchResult:W,env:J,executionCtx:X,notFoundHandler:this.#X});if(W[0].length===1){let $;try{$=W[0][0][0][0](Z,async()=>{Z.res=await this.#X(Z)})}catch(F){return this.#W(F,Z)}return $ instanceof Promise?$.then((F)=>F||(Z.finalized?Z.res:this.#X(Z))).catch((F)=>this.#W(F,Z)):$??this.#X(Z)}let H=$L1(W[0],this.errorHandler,this.#X);return(async()=>{try{let $=await H(Z);if(!$.finalized)throw Error("Context is not finalized. Did you forget to return a Response object or `await next()`?");return $.res}catch($){return this.#W($,Z)}})()}fetch=(Q,...X)=>{return this.#G(Q,X[1],X[0],Q.method)};request=(Q,X,J,G)=>{if(Q instanceof Request)return this.fetch(X?new Request(Q,X):Q,J,G);return Q=Q.toString(),this.fetch(new Request(/^https?:\/\//.test(Q)?Q:`http://localhost${wO("/",Q)}`,X),J,G)};fire=()=>{addEventListener("fetch",(Q)=>{Q.respondWith(this.#G(Q.request,Q,void 0,Q.request.method))})}};var Wr0=j(()=>{ga0();gr();PO();Xr0();AO()});function lr(Y,Q){let X=this.buildAllMatchers(),J=(G,K)=>{let W=X[G]||X[c9],Z=W[2][K];if(Z)return Z;let H=K.match(W[0]);if(!H)return[[],fv];let $=H.indexOf("",1);return[W[1][$],H]};return this.match=J,J(Y,Q)}var fv;var zL1=j(()=>{PO();fv=[]});function ip6(Y,Q){if(Y.length===1)return Q.length===1?Y<Q?-1:1:-1;if(Q.length===1)return 1;if(Y===bv||Y===hv)return 1;else if(Q===bv||Q===hv)return-1;if(Y===dr)return 1;else if(Q===dr)return-1;return Y.length===Q.length?Y<Q?-1:1:Q.length-Y.length}var dr="[^/]+",bv=".*",hv="(?:|/.*)",EO,np6,Zr0=class Y{#Y;#Q;#X=Object.create(null);insert(Q,X,J,G,K){if(Q.length===0){if(this.#Y!==void 0)throw EO;if(K)return;this.#Y=X;return}let[W,...Z]=Q,H=W==="*"?Z.length===0?["","",bv]:["","",dr]:W==="/*"?["","",hv]:W.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/),$;if(H){let F=H[1],V=H[2]||dr;if(F&&H[2]){if(V===".*")throw EO;if(V=V.replace(/^\((?!\?:)(?=[^)]+\)$)/,"(?:"),/\((?!\?:)/.test(V))throw EO}if($=this.#X[V],!$){if(Object.keys(this.#X).some((B)=>B!==bv&&B!==hv))throw EO;if(K)return;if($=this.#X[V]=new Y,F!=="")$.#Q=G.varIndex++}if(!K&&F!=="")J.push([F,$.#Q])}else if($=this.#X[W],!$){if(Object.keys(this.#X).some((F)=>F.length>1&&F!==bv&&F!==hv))throw EO;if(K)return;$=this.#X[W]=new Y}$.insert(Z,X,J,G,K)}buildRegExpStr(){let X=Object.keys(this.#X).sort(ip6).map((J)=>{let G=this.#X[J];return(typeof G.#Q==="number"?`(${J})@${G.#Q}`:np6.has(J)?`\\${J}`:J)+G.buildRegExpStr()});if(typeof this.#Y==="number")X.unshift(`#${this.#Y}`);if(X.length===0)return"";if(X.length===1)return X[0];return"(?:"+X.join("|")+")"}};var OL1=j(()=>{EO=Symbol(),np6=new Set(".\\+*[^]$()")});var Kr0=class{#Y={varIndex:0};#Q=new Zr0;insert(Y,Q,X){let J=[],G=[];for(let W=0;;){let Z=!1;if(Y=Y.replace(/\{[^}]+\}/g,(H)=>{let $=`@\\${W}`;return G[W]=[$,H],W++,Z=!0,$}),!Z)break}let K=Y.match(/(?::[^\/]+)|(?:\/\*$)|./g)||[];for(let W=G.length-1;W>=0;W--){let[Z]=G[W];for(let H=K.length-1;H>=0;H--)if(K[H].indexOf(Z)!==-1){K[H]=K[H].replace(Z,G[W][1]);break}}return this.#Q.insert(K,Q,J,this.#Y,X),J}buildRegExp(){let Y=this.#Q.buildRegExpStr();if(Y==="")return[/^$/,[],[]];let Q=0,X=[],J=[];return Y=Y.replace(/#(\d+)|@(\d+)|\.\*\$/g,(G,K,W)=>{if(K!==void 0)return X[++Q]=Number(K),"$()";if(W!==void 0)return J[Number(W)]=++Q,"";return""}),[new RegExp(`^${Y}`),X,J]}};var Hr0=j(()=>{OL1()});function Fr0(Y){return $r0[Y]??=new RegExp(Y==="*"?"":`^${Y.replace(/\/\*$|([.\\+*[^\]$()])/g,(Q,X)=>X?`\\${X}`:"(?:|/.*)")}$`)}function rp6(){$r0=Object.create(null)}function op6(Y){let Q=new Kr0,X=[];if(Y.length===0)return ap6;let J=Y.map(($)=>[!/\*|\/:/.test($[0]),...$]).sort(([$,F],[V,B])=>$?1:V?-1:F.length-B.length),G=Object.create(null);for(let $=0,F=-1,V=J.length;$<V;$++){let[B,U,D]=J[$];if(B)G[U]=[D.map(([L])=>[L,Object.create(null)]),fv];else F++;let z;try{z=Q.insert(U,F,B)}catch(L){throw L===EO?new mr(U):L}if(B)continue;X[F]=D.map(([L,w])=>{let E=Object.create(null);w-=1;for(;w>=0;w--){let[T,C]=z[w];E[T]=C}return[L,E]})}let[K,W,Z]=Q.buildRegExp();for(let $=0,F=X.length;$<F;$++)for(let V=0,B=X[$].length;V<B;V++){let U=X[$][V]?.[1];if(!U)continue;let D=Object.keys(U);for(let z=0,L=D.length;z<L;z++)U[D[z]]=Z[U[D[z]]]}let H=[];for(let $ in W)H[$]=X[W[$]];return[K,H,G]}function kP(Y,Q){if(!Y)return;for(let X of Object.keys(Y).sort((J,G)=>G.length-J.length))if(Fr0(X).test(Q))return[...Y[X]];return}var ap6,$r0,pr=class{name="RegExpRouter";#Y;#Q;constructor(){this.#Y={[c9]:Object.create(null)},this.#Q={[c9]:Object.create(null)}}add(Y,Q,X){let J=this.#Y,G=this.#Q;if(!J||!G)throw Error(ur);if(!J[Y])[J,G].forEach((Z)=>{Z[Y]=Object.create(null),Object.keys(Z[c9]).forEach((H)=>{Z[Y][H]=[...Z[c9][H]]})});if(Q==="/*")Q="*";let K=(Q.match(/\/:/g)||[]).length;if(/\*$/.test(Q)){let Z=Fr0(Q);if(Y===c9)Object.keys(J).forEach((H)=>{J[H][Q]||=kP(J[H],Q)||kP(J[c9],Q)||[]});else J[Y][Q]||=kP(J[Y],Q)||kP(J[c9],Q)||[];Object.keys(J).forEach((H)=>{if(Y===c9||Y===H)Object.keys(J[H]).forEach(($)=>{Z.test($)&&J[H][$].push([X,K])})}),Object.keys(G).forEach((H)=>{if(Y===c9||Y===H)Object.keys(G[H]).forEach(($)=>Z.test($)&&G[H][$].push([X,K]))});return}let W=hr(Q)||[Q];for(let Z=0,H=W.length;Z<H;Z++){let $=W[Z];Object.keys(G).forEach((F)=>{if(Y===c9||Y===F)G[F][$]||=[...kP(J[F],$)||kP(J[c9],$)||[]],G[F][$].push([X,K-H+Z+1])})}}match=lr;buildAllMatchers(){let Y=Object.create(null);return Object.keys(this.#Q).concat(Object.keys(this.#Y)).forEach((Q)=>{Y[Q]||=this.#X(Q)}),this.#Y=this.#Q=void 0,rp6(),Y}#X(Y){let Q=[],X=Y===c9;if([this.#Y,this.#Q].forEach((J)=>{let G=J[Y]?Object.keys(J[Y]).map((K)=>[K,J[Y][K]]):[];if(G.length!==0)X||=!0,Q.push(...G);else if(Y!==c9)Q.push(...Object.keys(J[c9]).map((K)=>[K,J[c9][K]]))}),!X)return null;else return op6(Q)}};var NL1=j(()=>{PO();AO();zL1();OL1();Hr0();ap6=[/^$/,[],Object.create(null)],$r0=Object.create(null)});var sp6=class{name="PreparedRegExpRouter";#Y;#Q;constructor(Y,Q){this.#Y=Y,this.#Q=Q}#X(Y,Q){let X=this.#Y[Y];X[1].forEach((J)=>J&&J.push(Q)),Object.values(X[2]).forEach((J)=>J[0].push(Q))}#J(Y,Q,X,J,G){let K=this.#Y[Y];if(!G)K[2][Q][0].push([X,{}]);else J.forEach((W)=>{if(typeof W==="number")K[1][W].push([X,G]);else K[2][W||Q][0].push([X,G])})}add(Y,Q,X){if(!this.#Y[Y]){let G=this.#Y[c9],K={};for(let W in G[2])K[W]=[G[2][W][0].slice(),fv];this.#Y[Y]=[G[0],G[1].map((W)=>Array.isArray(W)?W.slice():0),K]}if(Q==="/*"||Q==="*"){let G=[X,{}];if(Y===c9)for(let K in this.#Y)this.#X(K,G);else this.#X(Y,G);return}let J=this.#Q[Q];if(!J)throw Error(`Path ${Q} is not registered`);for(let[G,K]of J)if(Y===c9)for(let W in this.#Y)this.#J(W,Q,X,G,K);else this.#J(Y,Q,X,G,K)}buildAllMatchers(){return this.#Y}match=lr};var Vr0=j(()=>{PO();zL1();NL1()});var qr0=j(()=>{NL1();Vr0()});var LL1=class{name="SmartRouter";#Y=[];#Q=[];constructor(Y){this.#Y=Y.routers}add(Y,Q,X){if(!this.#Q)throw Error(ur);this.#Q.push([Y,Q,X])}match(Y,Q){if(!this.#Q)throw Error("Fatal error");let X=this.#Y,J=this.#Q,G=X.length,K=0,W;for(;K<G;K++){let Z=X[K];try{for(let H=0,$=J.length;H<$;H++)Z.add(...J[H]);W=Z.match(Y,Q)}catch(H){if(H instanceof mr)continue;throw H}this.match=Z.match.bind(Z),this.#Y=[Z],this.#Q=void 0;break}if(K===G)throw Error("Fatal error");return this.name=`SmartRouter + ${this.activeRouter.name}`,W}get activeRouter(){if(this.#Q||this.#Y.length!==1)throw Error("No active router has been determined yet.");return this.#Y[0]}};var Br0=j(()=>{PO()});var Ur0=j(()=>{Br0()});var xv,tp6=(Y)=>{for(let Q in Y)return!0;return!1},Dr0=class Y{#Y;#Q;#X;#J=0;#W=xv;constructor(Q,X,J){if(this.#Q=J||Object.create(null),this.#Y=[],Q&&X){let G=Object.create(null);G[Q]={handler:X,possibleKeys:[],score:0},this.#Y=[G]}this.#X=[]}insert(Q,X,J){this.#J=++this.#J;let G=this,K=pa0(X),W=[];for(let Z=0,H=K.length;Z<H;Z++){let $=K[Z],F=K[Z+1],V=ca0($,F),B=Array.isArray(V)?V[0]:$;if(B in G.#Q){if(G=G.#Q[B],V)W.push(V[1]);continue}if(G.#Q[B]=new Y,V)G.#X.push(V),W.push(V[1]);G=G.#Q[B]}return G.#Y.push({[Q]:{handler:J,possibleKeys:W.filter((Z,H,$)=>$.indexOf(Z)===H),score:this.#J}}),G}#G(Q,X,J,G,K){for(let W=0,Z=X.#Y.length;W<Z;W++){let H=X.#Y[W],$=H[J]||H[c9],F={};if($!==void 0){if($.params=Object.create(null),Q.push($),G!==xv||K&&K!==xv)for(let V=0,B=$.possibleKeys.length;V<B;V++){let U=$.possibleKeys[V],D=F[$.score];$.params[U]=K?.[U]&&!D?K[U]:G[U]??K?.[U],F[$.score]=!0}}}}search(Q,X){let J=[];this.#W=xv;let K=[this],W=qL1(X),Z=[],H=W.length,$=null;for(let F=0;F<H;F++){let V=W[F],B=F===H-1,U=[];for(let z=0,L=K.length;z<L;z++){let w=K[z],E=w.#Q[V];if(E)if(E.#W=w.#W,B){if(E.#Q["*"])this.#G(J,E.#Q["*"],Q,w.#W);this.#G(J,E,Q,w.#W)}else U.push(E);for(let T=0,C=w.#X.length;T<C;T++){let P=w.#X[T],R=w.#W===xv?{}:{...w.#W};if(P==="*"){let g=w.#Q["*"];if(g)this.#G(J,g,Q,w.#W),g.#W=R,U.push(g);continue}let[k,_,f]=P;if(!V&&!(f instanceof RegExp))continue;let b=w.#Q[k];if(f instanceof RegExp){if($===null){$=Array(H);let m=X[0]==="/"?1:0;for(let h=0;h<H;h++)$[h]=m,m+=W[h].length+1}let g=X.substring($[F]),r=f.exec(g);if(r){if(R[_]=r[0],this.#G(J,b,Q,w.#W,R),tp6(b.#Q)){b.#W=R;let m=r[0].match(/\//)?.length??0;(Z[m]||=[]).push(b)}continue}}if(f===!0||f.test(V))if(R[_]=V,B){if(this.#G(J,b,Q,R,w.#W),b.#Q["*"])this.#G(J,b.#Q["*"],Q,R,w.#W)}else b.#W=R,U.push(b)}}let D=Z.shift();K=D?U.concat(D):U}if(J.length>1)J.sort((F,V)=>{return F.score-V.score});return[J.map(({handler:F,params:V})=>[F,V])]}};var zr0=j(()=>{PO();AO();xv=Object.create(null)});var ML1=class{name="TrieRouter";#Y;constructor(){this.#Y=new Dr0}add(Y,Q,X){let J=hr(Q);if(J){for(let G=0,K=J.length;G<K;G++)this.#Y.insert(Y,J[G],X);return}this.#Y.insert(Y,Q,X)}match(Y,Q){return this.#Y.search(Y,Q)}};var Or0=j(()=>{AO();zr0()});var Nr0=j(()=>{Or0()});var VQ;var Lr0=j(()=>{Wr0();qr0();Ur0();Nr0();VQ=class extends Gr0{constructor(Y={}){super(Y);this.router=Y.router??new LL1({routers:[new pr,new ML1]})}}});var JK=j(()=>{Lr0()});var ep6,Yc6,wL1=(Y,Q)=>{if(Q&&Y.indexOf(Q)===-1)return{};let X=Y.trim().split(";"),J={};for(let G of X){G=G.trim();let K=G.indexOf("=");if(K===-1)continue;let W=G.substring(0,K).trim();if(Q&&Q!==W||!ep6.test(W))continue;let Z=G.substring(K+1).trim();if(Z.startsWith('"')&&Z.endsWith('"'))Z=Z.slice(1,-1);if(Yc6.test(Z)){if(J[W]=Z.indexOf("%")!==-1?SP(Z,vv):Z,Q)break}}return J};var Mr0=j(()=>{AO();ep6=/^[\w!#$%&'*.^`|~+-]+$/,Yc6=/^[ !#-:<-[\]-~]*$/});var wr0=(Y,Q,X)=>{let J=Y.req.raw.headers.get("Cookie");if(typeof Q==="string"){if(!J)return;let K=Q;if(X==="secure")K="__Secure-"+Q;else if(X==="host")K="__Host-"+Q;return wL1(J,K)[K]}if(!J)return{};return wL1(J)};var Ar0=j(()=>{Mr0()});var Pr0=(Y)=>{let X={...{origin:"*",allowMethods:["GET","HEAD","PUT","POST","DELETE","PATCH"],allowHeaders:[],exposeHeaders:[]},...Y},J=((K)=>{if(typeof K==="string")if(K==="*")return()=>K;else return(W)=>K===W?W:null;else if(typeof K==="function")return K;else return(W)=>K.includes(W)?W:null})(X.origin),G=((K)=>{if(typeof K==="function")return K;else if(Array.isArray(K))return()=>K;else return()=>[]})(X.allowMethods);return async function(W,Z){function H(F,V){W.res.headers.set(F,V)}let $=await J(W.req.header("origin")||"",W);if($)H("Access-Control-Allow-Origin",$);if(X.credentials)H("Access-Control-Allow-Credentials","true");if(X.exposeHeaders?.length)H("Access-Control-Expose-Headers",X.exposeHeaders.join(","));if(W.req.method==="OPTIONS"){if(X.origin!=="*")H("Vary","Origin");if(X.maxAge!=null)H("Access-Control-Max-Age",X.maxAge.toString());let F=await G(W.req.header("origin")||"",W);if(F.length)H("Access-Control-Allow-Methods",F.join(","));let V=X.allowHeaders;if(!V?.length){let B=W.req.header("Access-Control-Request-Headers");if(B)V=B.split(/\s*,\s*/)}if(V?.length)H("Access-Control-Allow-Headers",V.join(",")),W.res.headers.append("Vary","Access-Control-Request-Headers");return W.res.headers.delete("Content-Length"),W.res.headers.delete("Content-Type"),new Response(null,{headers:W.res.headers,status:204,statusText:"No Content"})}if(await Z(),X.origin!=="*")W.header("Vary","Origin",{append:!0})}};var Er0=()=>{};function Qc6(){let{process:Y,Deno:Q}=globalThis;return!(typeof Q?.noColor==="boolean"?Q.noColor:Y!==void 0?"NO_COLOR"in Y?.env:!1)}async function Tr0(){let{navigator:Y}=globalThis,Q="cloudflare:workers";return!(Y!==void 0&&Y.userAgent==="Cloudflare-Workers"?await(async()=>{try{return"NO_COLOR"in((await import("cloudflare:workers")).env??{})}catch{return!1}})():!Qc6())}var Cr0=()=>{};async function Rr0(Y,Q,X,J,G=0,K){let W=Q==="<--"?`${Q} ${X} ${J}`:`${Q} ${X} ${J} ${await Gc6(G)} ${K}`;Y(W)}var Xc6=(Y)=>{let[Q,X]=[",","."];return Y.map((G)=>G.replace(/(\d)(?=(\d\d\d)+(?!\d))/g,"$1"+Q)).join(X)},Jc6=(Y)=>{let Q=Date.now()-Y;return Xc6([Q<1000?Q+"ms":Math.round(Q/1000)+"s"])},Gc6=async(Y)=>{if(await Tr0())switch(Y/100|0){case 5:return`\x1B[31m${Y}\x1B[0m`;case 4:return`\x1B[33m${Y}\x1B[0m`;case 3:return`\x1B[36m${Y}\x1B[0m`;case 2:return`\x1B[32m${Y}\x1B[0m`}return`${Y}`},Ir0=(Y=console.log)=>{return async function(X,J){let{method:G,url:K}=X.req,W=K.slice(K.indexOf("/",8));await Rr0(Y,"<--",G,W);let Z=Date.now();await J(),await Rr0(Y,"-->",G,W,X.res.status,Jc6(Z))}};var jr0=j(()=>{Cr0()});var Sr0=()=>{try{return performance.now()}catch{}return Date.now()},AL1=(Y)=>{let Q={total:!0,enabled:!0,totalDescription:"Total Response Time",autoEnd:!0,crossOrigin:!1,...Y};return async function(J,G){let K=[],W=new Map;if(J.get("metric"))return await G();if(J.set("metric",{headers:K,timers:W}),Q.total)vP(J,"total",Q.totalDescription);if(await G(),Q.total)TO(J,"total");if(Q.autoEnd)W.forEach((H,$)=>TO(J,$));if(typeof Q.enabled==="function"?Q.enabled(J):Q.enabled){J.res.headers.append("Server-Timing",K.join(","));let H=typeof Q.crossOrigin==="function"?Q.crossOrigin(J):Q.crossOrigin;if(H)J.res.headers.append("Timing-Allow-Origin",typeof H==="string"?H:"*")}}},kr0=(Y,Q,X,J,G)=>{let K=Y.get("metric");if(!K){console.warn("Metrics not initialized! Please add the `timing()` middleware to this route!");return}if(typeof X==="number"){let W=X.toFixed(G||1),Z=J?`${Q};dur=${W};desc="${J}"`:`${Q};dur=${W}`;K.headers.push(Z)}else{let W=X?`${Q};desc="${X}"`:`${Q}`;K.headers.push(W)}},vP=(Y,Q,X)=>{let J=Y.get("metric");if(!J){console.warn("Metrics not initialized! Please add the `timing()` middleware to this route!");return}J.timers.set(Q,{description:X,start:Sr0()})},TO=(Y,Q,X)=>{let J=Y.get("metric");if(!J){console.warn("Metrics not initialized! Please add the `timing()` middleware to this route!");return}let G=J.timers.get(Q);if(!G){console.warn(`Timer "${Q}" does not exist!`);return}let{description:K,start:W}=G,Z=Sr0()-W;kr0(Y,Q,Z,K,X),J.timers.delete(Q)};var vr0=j(()=>{gr()});var _r0=j(()=>{vr0()});class PL1{db;constructor(Y){this.db=Y}async create(Y,Q,X){let J=J9("vir"),G=new Date().toISOString();if(await this.db.insertInto("connections").values({id:J,organization_id:Y,created_by:Q,title:X.title,description:X.description??null,icon:X.icon??null,app_name:null,app_id:null,connection_type:"VIRTUAL",connection_url:`virtual://${J}`,connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:X.metadata?JSON.stringify(X.metadata):null,tools:null,bindings:null,status:X.status??"active",created_at:G,updated_at:G}).execute(),X.connections.length>0)await this.db.insertInto("connection_aggregations").values(X.connections.map((W)=>({id:J9("agg"),parent_connection_id:J,child_connection_id:W.connection_id,selected_tools:W.selected_tools?JSON.stringify(W.selected_tools):null,selected_resources:W.selected_resources?JSON.stringify(W.selected_resources):null,selected_prompts:W.selected_prompts?JSON.stringify(W.selected_prompts):null,dependency_mode:"direct",created_at:G}))).execute();let K=await this.findById(J);if(!K)throw Error(`Failed to create virtual MCP with id: ${J}`);return K}async findById(Y,Q){let X=f3(Y);if(X){let J=Q??X,G=await this.db.selectFrom("connections").selectAll().where("organization_id","=",J).where("status","!=","inactive").where("status","!=","error").execute();return{...Ex(J),connections:G.map((K)=>({connection_id:K.id,selected_tools:null,selected_resources:null,selected_prompts:null}))}}return this.findByIdInternal(this.db,Y)}async findByIdInternal(Y,Q){let X=await Y.selectFrom("connections").selectAll().where("id","=",Q).where("connection_type","=","VIRTUAL").executeTakeFirst();if(!X)return null;let J=await Y.selectFrom("connection_aggregations").selectAll().where("parent_connection_id","=",Q).where("dependency_mode","=","direct").execute();return this.deserializeVirtualMCPEntity(X,J)}async list(Y){let Q=await this.db.selectFrom("connections").selectAll().where("organization_id","=",Y).where("connection_type","=","VIRTUAL").execute(),X=Q.map((K)=>K.id);if(X.length===0)return[];let J=await this.db.selectFrom("connection_aggregations").selectAll().where("parent_connection_id","in",X).where("dependency_mode","=","direct").execute(),G=new Map;for(let K of J){let W=G.get(K.parent_connection_id)??[];W.push(K),G.set(K.parent_connection_id,W)}return Q.map((K)=>this.deserializeVirtualMCPEntity(K,G.get(K.id)??[]))}async listByConnectionId(Y,Q){let J=(await this.db.selectFrom("connection_aggregations").select("parent_connection_id").where("child_connection_id","=",Q).execute()).map((H)=>H.parent_connection_id);if(J.length===0)return[];let G=await this.db.selectFrom("connections").selectAll().where("id","in",J).where("organization_id","=",Y).where("connection_type","=","VIRTUAL").execute();if(G.length===0)return[];let K=G.map((H)=>H.id),W=await this.db.selectFrom("connection_aggregations").selectAll().where("parent_connection_id","in",K).where("dependency_mode","=","direct").execute(),Z=new Map;for(let H of W){let $=Z.get(H.parent_connection_id)??[];$.push(H),Z.set(H.parent_connection_id,$)}return G.map((H)=>this.deserializeVirtualMCPEntity(H,Z.get(H.id)??[]))}async update(Y,Q,X){let J=new Date().toISOString(),G={updated_at:J,updated_by:Q};if(X.title!==void 0)G.title=X.title;if(X.description!==void 0)G.description=X.description;if(X.icon!==void 0)G.icon=X.icon;if(X.status!==void 0)G.status=X.status;if(X.metadata!==void 0)G.metadata=X.metadata?JSON.stringify(X.metadata):null;if(await this.db.updateTable("connections").set(G).where("id","=",Y).where("connection_type","=","VIRTUAL").execute(),X.connections!==void 0){if(await this.db.deleteFrom("connection_aggregations").where("parent_connection_id","=",Y).where("dependency_mode","=","direct").execute(),X.connections.length>0)await this.db.insertInto("connection_aggregations").values(X.connections.map((W)=>({id:J9("agg"),parent_connection_id:Y,child_connection_id:W.connection_id,selected_tools:W.selected_tools?JSON.stringify(W.selected_tools):null,selected_resources:W.selected_resources?JSON.stringify(W.selected_resources):null,selected_prompts:W.selected_prompts?JSON.stringify(W.selected_prompts):null,dependency_mode:"direct",created_at:J}))).execute()}let K=await this.findById(Y);if(!K)throw Error("Virtual MCP not found after update");return K}async delete(Y){await this.db.deleteFrom("connection_aggregations").where("parent_connection_id","=",Y).execute(),await this.db.deleteFrom("connections").where("id","=",Y).where("connection_type","=","VIRTUAL").execute()}async removeConnectionReferences(Y){await this.db.deleteFrom("connection_aggregations").where("child_connection_id","=",Y).execute()}deserializeVirtualMCPEntity(Y,Q){let X=Y.created_at instanceof Date?Y.created_at.toISOString():Y.created_at,J=Y.updated_at instanceof Date?Y.updated_at.toISOString():Y.updated_at,G=Y.status==="active"?"active":"inactive",K=this.parseJson(Y.metadata);return{id:Y.id,organization_id:Y.organization_id,title:Y.title,description:Y.description,icon:Y.icon,status:G,created_at:X,updated_at:J,created_by:Y.created_by,updated_by:Y.updated_by??void 0,metadata:{...K,instructions:K?.instructions??null},connections:Q.map((W)=>({connection_id:W.child_connection_id,selected_tools:this.parseJson(W.selected_tools),selected_resources:this.parseJson(W.selected_resources),selected_prompts:this.parseJson(W.selected_prompts)}))}}parseJson(Y){if(Y===null)return null;if(typeof Y==="string")try{return JSON.parse(Y)}catch{return null}return Y}async listVirtualTools(Y){let Q=await this.db.selectFrom("connections").select(["tools","created_at","updated_at"]).where("id","=",Y).where("connection_type","=","VIRTUAL").executeTakeFirst();if(!Q)return[];let X=this.parseJson(Q.tools);if(!X)return[];let J=Q.created_at instanceof Date?Q.created_at.toISOString():Q.created_at,G=Q.updated_at instanceof Date?Q.updated_at.toISOString():Q.updated_at;return X.map((K,W)=>({tool:K,originalIndex:W})).filter(({tool:K})=>UB(K)).map(({tool:K,originalIndex:W})=>Ev(`${Y}:${K.name}:${W}`,K,J,G))}async getVirtualTool(Y,Q){let X=await this.db.selectFrom("connections").select(["tools","created_at","updated_at"]).where("id","=",Y).where("connection_type","=","VIRTUAL").executeTakeFirst();if(!X)return null;let J=this.parseJson(X.tools);if(!J)return null;let G=J.findIndex((H)=>H.name===Q&&UB(H));if(G===-1)return null;let K=J[G],W=X.created_at instanceof Date?X.created_at.toISOString():X.created_at,Z=X.updated_at instanceof Date?X.updated_at.toISOString():X.updated_at;return Ev(`${Y}:${K.name}:${G}`,K,W,Z)}async createVirtualTool(Y,Q,X){let J=new Date().toISOString(),G=await this.db.selectFrom("connections").select(["tools"]).where("id","=",Y).where("connection_type","=","VIRTUAL").executeTakeFirst();if(!G)throw Error(`Virtual MCP not found: ${Y}`);let K=this.parseJson(G.tools)??[];if(K.some((Z)=>Z.name===Q.name))throw Error(`Tool with name "${Q.name}" already exists`);let W={name:Q.name,description:Q.description,inputSchema:Q.inputSchema,outputSchema:Q.outputSchema,annotations:Q.annotations,_meta:{"mcp.mesh":{"tool.fn":Q.code},connectionDependencies:X}};return K.push(W),await this.db.updateTable("connections").set({tools:JSON.stringify(K),updated_at:J}).where("id","=",Y).execute(),await this.syncIndirectDependencies(Y,X),Ev(`${Y}:${Q.name}:${K.length-1}`,W,J,J)}async updateVirtualTool(Y,Q,X,J){let G=new Date().toISOString(),K=await this.db.selectFrom("connections").select(["tools","created_at"]).where("id","=",Y).where("connection_type","=","VIRTUAL").executeTakeFirst();if(!K)throw Error(`Virtual MCP not found: ${Y}`);let W=this.parseJson(K.tools)??[],Z=W.findIndex((B)=>B.name===Q&&UB(B));if(Z===-1)throw Error(`Virtual tool not found: ${Q}`);let H=W[Z];if(X.name&&X.name!==Q){if(W.some((B)=>B.name===X.name))throw Error(`Tool with name "${X.name}" already exists`)}let $=J??H._meta.connectionDependencies??[],F={name:X.name??H.name,description:X.description!==void 0?X.description??void 0:H.description,inputSchema:X.inputSchema??H.inputSchema,outputSchema:X.outputSchema!==void 0?X.outputSchema??void 0:H.outputSchema,annotations:X.annotations!==void 0?X.annotations??void 0:H.annotations,_meta:{"mcp.mesh":{"tool.fn":X.code??H._meta["mcp.mesh"]["tool.fn"]},connectionDependencies:$}};if(W[Z]=F,await this.db.updateTable("connections").set({tools:JSON.stringify(W),updated_at:G}).where("id","=",Y).execute(),J!==void 0)await this.recalculateIndirectDependencies(Y,W);let V=K.created_at instanceof Date?K.created_at.toISOString():K.created_at;return Ev(`${Y}:${F.name}:${Z}`,F,V,G)}async deleteVirtualTool(Y,Q){let X=new Date().toISOString(),J=await this.db.selectFrom("connections").select(["tools"]).where("id","=",Y).where("connection_type","=","VIRTUAL").executeTakeFirst();if(!J)throw Error(`Virtual MCP not found: ${Y}`);let G=this.parseJson(J.tools)??[],K=G.findIndex((W)=>W.name===Q&&UB(W));if(K===-1)throw Error(`Virtual tool not found: ${Q}`);G.splice(K,1),await this.db.updateTable("connections").set({tools:G.length>0?JSON.stringify(G):null,updated_at:X}).where("id","=",Y).execute(),await this.recalculateIndirectDependencies(Y,G)}async syncIndirectDependencies(Y,Q){if(Q.length===0)return;let X=new Date().toISOString(),J=await this.db.selectFrom("connection_aggregations").select(["child_connection_id","dependency_mode"]).where("parent_connection_id","=",Y).execute(),G=new Set(J.map((W)=>W.child_connection_id)),K=Q.filter((W)=>!G.has(W));if(K.length>0)await this.db.insertInto("connection_aggregations").values(K.map((W)=>({id:J9("agg"),parent_connection_id:Y,child_connection_id:W,selected_tools:null,selected_resources:null,selected_prompts:null,dependency_mode:"indirect",created_at:X}))).execute()}async recalculateIndirectDependencies(Y,Q){let X=new Set;for(let Z of Q)if(UB(Z)){let H=Z._meta.connectionDependencies??[];for(let $ of H)X.add($)}let J=await this.db.selectFrom("connection_aggregations").select(["id","child_connection_id","dependency_mode"]).where("parent_connection_id","=",Y).execute(),G=J.filter((Z)=>Z.dependency_mode==="indirect"&&!X.has(Z.child_connection_id)).map((Z)=>Z.id);if(G.length>0)await this.db.deleteFrom("connection_aggregations").where("id","in",G).execute();let K=new Set(J.map((Z)=>Z.child_connection_id)),W=Array.from(X).filter((Z)=>!K.has(Z));if(W.length>0){let Z=new Date().toISOString();await this.db.insertInto("connection_aggregations").values(W.map((H)=>({id:J9("agg"),parent_connection_id:Y,child_connection_id:H,selected_tools:null,selected_resources:null,selected_prompts:null,dependency_mode:"indirect",created_at:Z}))).execute()}}}var yr0=j(()=>{F7();QY();MF()});class EL1{patterns=[{type:"email",regex:/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/g},{type:"api_key",regex:/(?:api[_-]?key|token|secret|password|bearer)\s*[:=]\s*['"]?[\w-]{16,}['"]?/gi},{type:"jwt",regex:/eyJ[A-Za-z0-9-_]+\.eyJ[A-Za-z0-9-_]+\.[A-Za-z0-9-_.+/=]*/g},{type:"credit_card",regex:/\b\d{4}[- ]?\d{4}[- ]?\d{4}[- ]?\d{4}\b/g},{type:"ssn",regex:/\b\d{3}-\d{2}-\d{4}\b/g}];redact(Y){if(Y===null||Y===void 0)return Y;if(typeof Y==="string")return this.redactString(Y);if(Array.isArray(Y))return Y.map((Q)=>this.redact(Q));if(typeof Y==="object"){let Q={};for(let[X,J]of Object.entries(Y)){let G=this.redactString(X);Q[G]=this.redact(J)}return Q}return Y}redactString(Y){let Q=Y;for(let X of this.patterns)Q=Q.replace(X.regex,`[REDACTED:${X.type}]`);return Q}}import{sql as g6}from"kysely";class TL1{db;redactor;databaseType;constructor(Y,Q="sqlite"){this.db=Y;this.redactor=new EL1,this.databaseType=Q}jsonExtract(Y,Q){if(this.databaseType==="postgres")return g6`(${g6.ref(Y)}::jsonb)->>${Q}`;let X=`$.${Q}`;return g6`json_extract(${g6.ref(Y)}, ${X})`}jsonExtractWithCommas(Y,Q){if(this.databaseType==="postgres")return g6`(',' || (${g6.ref(Y)}::jsonb)->>${Q} || ',')`;let X=`$.${Q}`;return g6`(',' || json_extract(${g6.ref(Y)}, ${X}) || ',')`}escapeLikeWildcards(Y){return Y.replace(/\\/g,"\\\\").replace(/%/g,"\\%").replace(/_/g,"\\_")}async log(Y){await this.logBatch([Y])}async logBatch(Y){if(Y.length===0)return;let Q=Y.map((X)=>({...X,input:this.redactor.redact(X.input),output:this.redactor.redact(X.output)}));await this.db.transaction().execute(async(X)=>{await X.insertInto("monitoring_logs").values(Q.map((J)=>this.toDbRow(J))).execute()})}async query(Y){let Q=this.db.selectFrom("monitoring_logs").selectAll(),X=this.db.selectFrom("monitoring_logs").select((Z)=>Z.fn.count("id").as("count"));if(Y.organizationId)Q=Q.where("organization_id","=",Y.organizationId),X=X.where("organization_id","=",Y.organizationId);if(Y.connectionId)Q=Q.where("connection_id","=",Y.connectionId),X=X.where("connection_id","=",Y.connectionId);if(Y.excludeConnectionIds&&Y.excludeConnectionIds.length>0)Q=Q.where("connection_id","not in",Y.excludeConnectionIds),X=X.where("connection_id","not in",Y.excludeConnectionIds);if(Y.virtualMcpId)Q=Q.where("virtual_mcp_id","=",Y.virtualMcpId),X=X.where("virtual_mcp_id","=",Y.virtualMcpId);if(Y.toolName)Q=Q.where("tool_name","=",Y.toolName),X=X.where("tool_name","=",Y.toolName);if(Y.isError!==void 0)Q=Q.where("is_error","=",Y.isError?1:0),X=X.where("is_error","=",Y.isError?1:0);if(Y.startDate)Q=Q.where("timestamp",">=",Y.startDate.toISOString()),X=X.where("timestamp",">=",Y.startDate.toISOString());if(Y.endDate)Q=Q.where("timestamp","<=",Y.endDate.toISOString()),X=X.where("timestamp","<=",Y.endDate.toISOString());if(Y.propertyFilters)Q=this.applyPropertyFilters(Q,Y.propertyFilters),X=this.applyPropertyFilters(X,Y.propertyFilters);if(Q=Q.orderBy("timestamp","desc"),Y.limit)Q=Q.limit(Y.limit);if(Y.offset)Q=Q.offset(Y.offset);let[J,G]=await Promise.all([Q.execute(),X.executeTakeFirst()]),K=Number(G?.count||0);return{logs:J.map((Z)=>this.fromDbRow(Z)),total:K}}async getStats(Y){let Q=this.db.selectFrom("monitoring_logs").where("organization_id","=",Y.organizationId);if(Y.startDate)Q=Q.where("timestamp",">=",Y.startDate.toISOString());if(Y.endDate)Q=Q.where("timestamp","<=",Y.endDate.toISOString());let X=await Q.select([(W)=>W.fn.count("id").as("total_count"),(W)=>W.fn.sum(W.ref("is_error")).as("error_count"),(W)=>W.fn.avg("duration_ms").as("avg_duration")]).executeTakeFirst(),J=Number(X?.total_count||0),G=Number(X?.error_count||0),K=Number(X?.avg_duration||0);return{totalCalls:J,errorRate:J>0?G/J:0,avgDurationMs:K}}async aggregate(Y){let{organizationId:Q,path:X,from:J,aggregation:G,groupBy:K,groupByColumn:W,interval:Z,filters:H}=Y,$=J==="input"?"input":"output",F=this.db.selectFrom("monitoring_logs").where("organization_id","=",Q);if(H?.connectionIds&&H.connectionIds.length>0)F=F.where("connection_id","in",H.connectionIds);if(H?.virtualMcpIds&&H.virtualMcpIds.length>0)F=F.where("virtual_mcp_id","in",H.virtualMcpIds);if(H?.toolNames&&H.toolNames.length>0)F=F.where("tool_name","in",H.toolNames);if(H?.startDate)F=F.where("timestamp",">=",H.startDate.toISOString());if(H?.endDate)F=F.where("timestamp","<=",H.endDate.toISOString());if(H?.propertyFilters)F=this.applyPropertyFilters(F,H.propertyFilters);let V=this.jsonExtractPath($,X);if(W){let U=g6.ref(W);return{value:null,groups:(await F.select([g6`${U}`.as("group_key"),this.aggregationExpression(G,V).as("agg_value")]).groupBy(g6`${U}`).execute()).filter((z)=>z.group_key!==null).map((z)=>({key:String(z.group_key),value:Number(z.agg_value)||0}))}}if(K){let U=this.jsonExtractPathText($,K);return{value:null,groups:(await F.select([g6`${U}`.as("group_key"),this.aggregationExpression(G,V).as("agg_value")]).groupBy(g6`${U}`).execute()).filter((z)=>z.group_key!==null).map((z)=>({key:String(z.group_key),value:Number(z.agg_value)||0}))}}if(Z){let U=this.timeBucketExpression(Z);return{value:null,timeseries:(await F.select([U.as("time_bucket"),this.aggregationExpression(G,V).as("agg_value")]).groupBy(g6`time_bucket`).orderBy(g6`time_bucket`).execute()).map((z)=>({timestamp:String(z.time_bucket),value:Number(z.agg_value)||0}))}}let B=await F.select([this.aggregationExpression(G,V).as("agg_value")]).executeTakeFirst();return{value:B?Number(B.agg_value)||0:null}}async countMatched(Y){let{organizationId:Q,path:X,from:J,filters:G}=Y,K=J==="input"?"input":"output",W=this.db.selectFrom("monitoring_logs").where("organization_id","=",Q);if(G?.connectionIds&&G.connectionIds.length>0)W=W.where("connection_id","in",G.connectionIds);if(G?.toolNames&&G.toolNames.length>0)W=W.where("tool_name","in",G.toolNames);if(G?.startDate)W=W.where("timestamp",">=",G.startDate.toISOString());if(G?.endDate)W=W.where("timestamp","<=",G.endDate.toISOString());if(G?.propertyFilters)W=this.applyPropertyFilters(W,G.propertyFilters);let Z=this.jsonExtractPathText(K,X),H=await W.where(g6`${Z}`,"is not",null).select(($)=>$.fn.count("id").as("count")).executeTakeFirst();return Number(H?.count||0)}jsonExtractPath(Y,Q){if(this.databaseType==="postgres"){let J=`{${Q.replace(/^\$\.?/,"").split(".").join(",")}}`;return g6`(${g6.ref(Y)}::jsonb #>> ${J})::numeric`}return g6`CAST(json_extract(${g6.ref(Y)}, ${Q}) AS REAL)`}jsonExtractPathText(Y,Q){if(this.databaseType==="postgres"){let J=`{${Q.replace(/^\$\.?/,"").split(".").join(",")}}`;return g6`(${g6.ref(Y)}::jsonb #>> ${J})`}return g6`json_extract(${g6.ref(Y)}, ${Q})`}aggregationExpression(Y,Q){switch(Y){case"sum":return g6`COALESCE(SUM(${Q}), 0)`;case"avg":return g6`COALESCE(AVG(${Q}), 0)`;case"min":return g6`MIN(${Q})`;case"max":return g6`MAX(${Q})`;case"count":return g6`COUNT(${Q})`;case"count_all":return g6`COUNT(*)`;case"last":return g6`MAX(${Q})`;default:return g6`SUM(${Q})`}}timeBucketExpression(Y){let Q=Y.match(/^(\d+)([mhd])$/);if(!Q)throw Error(`Invalid interval format: ${Y}. Use format like "1h", "1d", "15m"`);let[,X,J]=Q;if(!X||!J)throw Error(`Invalid interval format: ${Y}`);let G=parseInt(X,10);if(this.databaseType==="postgres"){let K;switch(J){case"m":K="minute";break;case"h":K="hour";break;case"d":K="day";break;default:K="hour"}if(G===1)return g6`date_trunc(${K}, timestamp::timestamp)`;let Z=G*(J==="m"?60:J==="h"?3600:86400);return g6`to_timestamp(floor(extract(epoch from timestamp::timestamp) / ${Z}) * ${Z})`}switch(J){case"m":if(G===1)return g6`strftime('%Y-%m-%d %H:%M:00', timestamp)`;return g6`strftime('%Y-%m-%d %H:', timestamp) || printf('%02d', (cast(strftime('%M', timestamp) as integer) / ${G}) * ${G}) || ':00'`;case"h":if(G===1)return g6`strftime('%Y-%m-%d %H:00:00', timestamp)`;return g6`strftime('%Y-%m-%d ', timestamp) || printf('%02d', (cast(strftime('%H', timestamp) as integer) / ${G}) * ${G}) || ':00:00'`;case"d":return g6`strftime('%Y-%m-%d 00:00:00', timestamp)`;default:return g6`strftime('%Y-%m-%d %H:00:00', timestamp)`}}applyPropertyFilters(Y,Q){let{properties:X,propertyKeys:J,propertyPatterns:G,propertyInValues:K}=Q;if(X)for(let[W,Z]of Object.entries(X)){let H=this.jsonExtract("properties",W);Y=Y.where(H,"=",Z)}if(J&&J.length>0)for(let W of J){let Z=this.jsonExtract("properties",W);Y=Y.where(Z,"is not",null)}if(G)for(let[W,Z]of Object.entries(G)){let H=this.jsonExtract("properties",W),$=this.databaseType==="postgres"?"ilike":"like";Y=Y.where(H,$,Z)}if(K)for(let[W,Z]of Object.entries(K)){let H=this.jsonExtractWithCommas("properties",W),F=`%,${this.escapeLikeWildcards(Z)},%`,V=g6`${H} LIKE ${F} ESCAPE '\\'`;Y=Y.where(V)}return Y}toDbRow(Y){return{id:Y.id||J9("log"),organization_id:Y.organizationId,connection_id:Y.connectionId,connection_title:Y.connectionTitle,tool_name:Y.toolName,input:JSON.stringify(Y.input),output:JSON.stringify(Y.output),is_error:Y.isError?1:0,error_message:Y.errorMessage||null,duration_ms:Y.durationMs,timestamp:Y.timestamp instanceof Date?Y.timestamp.toISOString():Y.timestamp,user_id:Y.userId||null,request_id:Y.requestId,user_agent:Y.userAgent||null,virtual_mcp_id:Y.virtualMcpId||null,properties:Y.properties?JSON.stringify(Y.properties):null}}fromDbRow(Y){let Q=typeof Y.input==="string"?JSON.parse(Y.input):Y.input,X=typeof Y.output==="string"?JSON.parse(Y.output):Y.output,J=typeof Y.timestamp==="string"?new Date(Y.timestamp):Y.timestamp,G=Y.properties?typeof Y.properties==="string"?JSON.parse(Y.properties):Y.properties:null;return{id:Y.id,organizationId:Y.organization_id,connectionId:Y.connection_id,connectionTitle:Y.connection_title,toolName:Y.tool_name,input:Q,output:X,isError:Y.is_error===1,errorMessage:Y.error_message,durationMs:Y.duration_ms,timestamp:J,userId:Y.user_id,requestId:Y.request_id,userAgent:Y.user_agent,virtualMcpId:Y.virtual_mcp_id,properties:G}}}var fr0=j(()=>{F7()});class CL1{db;constructor(Y){this.db=Y}async create(Y,Q,X){let J=J9("dash"),G=new Date().toISOString();return await this.db.insertInto("monitoring_dashboards").values({id:J,organization_id:Y,name:X.name,description:X.description??null,filters:X.filters?JSON.stringify(X.filters):null,widgets:JSON.stringify(X.widgets),created_by:Q,created_at:G,updated_at:G}).execute(),{id:J,organizationId:Y,name:X.name,description:X.description??null,filters:X.filters??null,widgets:X.widgets,createdBy:Q,createdAt:G,updatedAt:G}}async get(Y){let Q=await this.db.selectFrom("monitoring_dashboards").selectAll().where("id","=",Y).executeTakeFirst();if(!Q)return null;return this.fromDbRow(Q)}async list(Y){return(await this.db.selectFrom("monitoring_dashboards").selectAll().where("organization_id","=",Y).orderBy("created_at","desc").execute()).map((X)=>this.fromDbRow(X))}async update(Y,Q){let J={updated_at:new Date().toISOString()};if(Q.name!==void 0)J.name=Q.name;if(Q.description!==void 0)J.description=Q.description;if(Q.filters!==void 0)J.filters=Q.filters?JSON.stringify(Q.filters):null;if(Q.widgets!==void 0)J.widgets=JSON.stringify(Q.widgets);await this.db.updateTable("monitoring_dashboards").set(J).where("id","=",Y).execute();let G=await this.get(Y);if(!G)throw Error(`Dashboard ${Y} not found after update`);return G}async delete(Y){await this.db.deleteFrom("monitoring_dashboards").where("id","=",Y).execute()}fromDbRow(Y){let Q=Y.filters?typeof Y.filters==="string"?JSON.parse(Y.filters):Y.filters:null,X=typeof Y.widgets==="string"?JSON.parse(Y.widgets):Y.widgets;return{id:Y.id,organizationId:Y.organization_id,name:Y.name,description:Y.description,filters:Q,widgets:X,createdBy:Y.created_by,createdAt:Y.created_at instanceof Date?Y.created_at.toISOString():Y.created_at,updatedAt:Y.updated_at instanceof Date?Y.updated_at.toISOString():Y.updated_at}}}var br0=j(()=>{F7()});class RL1{db;constructor(Y){this.db=Y}async get(Y){let Q=await this.db.selectFrom("organization_settings").selectAll().where("organizationId","=",Y).executeTakeFirst();if(!Q)return null;return{organizationId:Q.organizationId,sidebar_items:Q.sidebar_items?typeof Q.sidebar_items==="string"?JSON.parse(Q.sidebar_items):Q.sidebar_items:null,enabled_plugins:Q.enabled_plugins?typeof Q.enabled_plugins==="string"?JSON.parse(Q.enabled_plugins):Q.enabled_plugins:null,createdAt:Q.createdAt,updatedAt:Q.updatedAt}}async upsert(Y,Q){let X=new Date().toISOString(),J=Q?.sidebar_items?JSON.stringify(Q.sidebar_items):null,G=Q?.enabled_plugins?JSON.stringify(Q.enabled_plugins):null;await this.db.insertInto("organization_settings").values({organizationId:Y,sidebar_items:J,enabled_plugins:G,createdAt:X,updatedAt:X}).onConflict((W)=>W.column("organizationId").doUpdateSet({sidebar_items:J?J:void 0,enabled_plugins:G?G:void 0,updatedAt:X})).execute();let K=await this.get(Y);if(!K)return{organizationId:Y,sidebar_items:Q?.sidebar_items??null,enabled_plugins:Q?.enabled_plugins??null,createdAt:X,updatedAt:X};return K}}class IL1{db;constructor(Y){this.db=Y}parseRow(Y){return{id:Y.id,projectId:Y.project_id,pluginId:Y.plugin_id,connectionId:Y.connection_id,settings:Y.settings?typeof Y.settings==="string"?JSON.parse(Y.settings):Y.settings:null,createdAt:Y.created_at,updatedAt:Y.updated_at}}async list(Y){return(await this.db.selectFrom("project_plugin_configs").selectAll().where("project_id","=",Y).execute()).map((X)=>this.parseRow(X))}async get(Y,Q){let X=await this.db.selectFrom("project_plugin_configs").selectAll().where("project_id","=",Y).where("plugin_id","=",Q).executeTakeFirst();return X?this.parseRow(X):null}async upsert(Y,Q,X){let J=new Date().toISOString();if(await this.get(Y,Q)){let Z={updated_at:J};if(X.connectionId!==void 0)Z.connection_id=X.connectionId;if(X.settings!==void 0)Z.settings=X.settings?JSON.stringify(X.settings):null;await this.db.updateTable("project_plugin_configs").set(Z).where("project_id","=",Y).where("plugin_id","=",Q).execute();let H=await this.get(Y,Q);if(!H)throw Error("Failed to update project plugin config");return H}let K=J9("ppc");await this.db.insertInto("project_plugin_configs").values({id:K,project_id:Y,plugin_id:Q,connection_id:X.connectionId??null,settings:X.settings?JSON.stringify(X.settings):null,created_at:J,updated_at:J}).execute();let W=await this.get(Y,Q);if(!W)throw Error("Failed to create project plugin config");return W}async delete(Y,Q){return((await this.db.deleteFrom("project_plugin_configs").where("project_id","=",Y).where("plugin_id","=",Q).executeTakeFirst()).numDeletedRows??0n)>0n}async getBoundConnectionsForProjects(Y){if(Y.length===0)return new Map;let Q=await this.db.selectFrom("project_plugin_configs").innerJoin("connections","connections.id","project_plugin_configs.connection_id").select(["project_plugin_configs.project_id","connections.id as connection_id","connections.title","connections.icon"]).where("project_plugin_configs.project_id","in",Y).where("project_plugin_configs.connection_id","is not",null).execute(),X=new Map;for(let J of Q){let G=J.project_id;if(!X.has(G))X.set(G,[]);X.get(G).push({id:J.connection_id,title:J.title,icon:J.icon})}return X}}var hr0=j(()=>{F7()});class jL1{db;constructor(Y){this.db=Y}async listOrgTags(Y){return(await this.db.selectFrom("organization_tags").selectAll().where("organization_id","=",Y).orderBy("name","asc").execute()).map((X)=>this.tagFromDbRow(X))}async getTag(Y){let Q=await this.db.selectFrom("organization_tags").selectAll().where("id","=",Y).executeTakeFirst();return Q?this.tagFromDbRow(Q):null}async getTagByName(Y,Q){let X=await this.db.selectFrom("organization_tags").selectAll().where("organization_id","=",Y).where("name","=",Q).executeTakeFirst();return X?this.tagFromDbRow(X):null}async createTag(Y,Q){let X=J9("tag"),J=new Date().toISOString();await this.db.insertInto("organization_tags").values({id:X,organization_id:Y,name:Q,created_at:J}).onConflict((K)=>K.columns(["organization_id","name"]).doNothing()).execute();let G=await this.getTagByName(Y,Q);if(!G)throw Error(`Failed to create or retrieve tag: ${Q}`);return G}async deleteTag(Y){await this.db.deleteFrom("organization_tags").where("id","=",Y).execute()}async getMemberTags(Y){return(await this.db.selectFrom("member_tags").innerJoin("organization_tags","organization_tags.id","member_tags.tag_id").select(["organization_tags.id","organization_tags.organization_id","organization_tags.name","organization_tags.created_at"]).where("member_tags.member_id","=",Y).orderBy("organization_tags.name","asc").execute()).map((X)=>this.tagFromDbRow(X))}async setMemberTags(Y,Q){await this.db.transaction().execute(async(X)=>{if(await X.deleteFrom("member_tags").where("member_id","=",Y).execute(),Q.length>0){let J=new Date().toISOString();await X.insertInto("member_tags").values(Q.map((G)=>({id:J9("mtag"),member_id:Y,tag_id:G,created_at:J}))).execute()}})}async addMemberTag(Y,Q){let X=new Date().toISOString();await this.db.insertInto("member_tags").values({id:J9("mtag"),member_id:Y,tag_id:Q,created_at:X}).onConflict((J)=>J.columns(["member_id","tag_id"]).doNothing()).execute()}async removeMemberTag(Y,Q){await this.db.deleteFrom("member_tags").where("member_id","=",Y).where("tag_id","=",Q).execute()}async verifyMemberOrg(Y,Q){return await this.db.selectFrom("member").select("id").where("id","=",Y).where("organizationId","=",Q).executeTakeFirst()!==void 0}async getUserTagsInOrg(Y,Q){return(await this.db.selectFrom("member").innerJoin("member_tags","member_tags.member_id","member.id").innerJoin("organization_tags","organization_tags.id","member_tags.tag_id").select(["organization_tags.id","organization_tags.organization_id","organization_tags.name","organization_tags.created_at"]).where("member.userId","=",Y).where("member.organizationId","=",Q).orderBy("organization_tags.name","asc").execute()).map((J)=>this.tagFromDbRow(J))}async getMembersWithTags(Y){let Q=await this.db.selectFrom("member").leftJoin("member_tags","member_tags.member_id","member.id").leftJoin("organization_tags","organization_tags.id","member_tags.tag_id").select(["member.id as memberId","organization_tags.name as tagName"]).where("member.organizationId","=",Y).execute(),X=new Map;for(let J of Q){if(!X.has(J.memberId))X.set(J.memberId,[]);if(J.tagName)X.get(J.memberId).push(J.tagName)}return X}tagFromDbRow(Y){return{id:Y.id,organizationId:Y.organization_id,name:Y.name,createdAt:Y.created_at}}}var xr0=j(()=>{F7()});class SL1{db;constructor(Y){this.db=Y}async findById(Y,Q){let X=await this.db.selectFrom("user").select(["user.id","user.name","user.email","user.image","user.createdAt","user.updatedAt"]).where("user.id","=",Y).where((J)=>J.exists(J.selectFrom("member as m1").innerJoin("member as m2","m1.organizationId","m2.organizationId").select("m1.id").where("m1.userId","=",Y).where("m2.userId","=",Q))).executeTakeFirst();if(!X)return null;return{id:X.id,name:X.name,email:X.email,role:"",createdAt:X.createdAt,updatedAt:X.updatedAt,image:X.image??void 0}}}async function gr0(Y,Q){return(await Q.storage.connections.findById(Y))?.connection_url??null}function Wc6(Y){let Q=Y.toLowerCase();return Q.includes("resource_metadata=")||Q.includes("invalid_token")||Q.includes("oauth")}async function ur0(Y,Q={}){try{let X=await fetch(Y,{method:"POST",headers:{...Q,"Content-Type":"application/json",Accept:"application/json, text/event-stream"},body:JSON.stringify({jsonrpc:"2.0",id:0,method:"initialize",params:{protocolVersion:"2025-06-18",capabilities:{},clientInfo:{name:"mcp-mesh-proxy",version:"1.0.0"}}})});if(X.status===401){let J=X.headers.get("WWW-Authenticate");if(J){if(Wc6(J))return J}if(await Zc6(Y))return'Bearer realm="mcp"'}return null}catch{return null}}async function Zc6(Y){try{let Q=new URL(Y),X=new URL("/.well-known/oauth-authorization-server",Q.origin),J=await fetch(X.toString(),{method:"GET",headers:{Accept:"application/json"}});if(J.ok){let G=await J.json();if(G.authorization_endpoint||G.token_endpoint||G.issuer)return!0}return!1}catch{return!1}}async function nr(Y){let X=new URL(Y).pathname;if(X.endsWith("/"))X=X.slice(0,-1);let J=new URL(Y);J.pathname=`${X}/.well-known/oauth-protected-resource`;let G=await fetch(J.toString(),{method:"GET",headers:{Accept:"application/json"}});if(G.ok)return G;if(!kL1.includes(G.status))return G;let K=new URL(Y);if(K.pathname=`/.well-known/oauth-protected-resource${X}`,G=await fetch(K.toString(),{method:"GET",headers:{Accept:"application/json"}}),!kL1.includes(G.status))return G;let W=new URL(Y);return W.pathname="/.well-known/oauth-protected-resource",G=await fetch(W.toString(),{method:"GET",headers:{Accept:"application/json"}}),G}async function Kc6(Y,Q){let X=await gr0(Y,Q);if(!X)return null;let J;try{J=new URL(X).origin}catch{return null}try{let G=await nr(X);if(G.ok){let K=await G.json();if(K.authorization_servers?.[0])return K.authorization_servers[0]}}catch{}return J}async function mr0(Y){let Q=Y.get("meshContext");if(!Q)Q=await PF.create(Y.req.raw),Y.set("meshContext",Q);return Q}async function lr0({error:Y,reqUrl:Q,connectionId:X,connectionUrl:J,headers:G}){let K=Y.message?.toLowerCase()??"";if(!(Y.status===401||Y.code===401||Y.message?.includes("401")||K.includes("unauthorized")||K.includes("invalid_token")||K.includes("api key required")||K.includes("api-key required")))return null;if(Boolean(await ur0(J,G)))return new Response(null,{status:401,headers:{"WWW-Authenticate":`Bearer realm="mcp",resource_metadata="${Q.origin}/mcp/${X}/.well-known/oauth-protected-resource"`}});return new Response(JSON.stringify({error:"unauthorized",message:"Authentication required but server does not support OAuth"}),{status:401,headers:{"Content-Type":"application/json"}})}async function vL1(Y){let X=new URL(Y).pathname;if(X.endsWith("/"))X=X.slice(0,-1);let J=X!==""&&X!=="/",G=[];if(J){let W=new URL(Y);W.pathname=`/.well-known/oauth-authorization-server${X}`,G.push(W);let Z=new URL(Y);Z.pathname=`/.well-known/openid-configuration${X}`,G.push(Z);let H=new URL(Y);H.pathname=`${X}/.well-known/openid-configuration`,G.push(H)}else{let W=new URL(Y);W.pathname="/.well-known/oauth-authorization-server",G.push(W);let Z=new URL(Y);Z.pathname="/.well-known/openid-configuration",G.push(Z)}let K=null;for(let W of G){if(K=await fetch(W.toString(),{method:"GET",headers:{Accept:"application/json"}}),K.ok)return K;if(K.status!==404&&K.status!==401)return K}return K}var cr,kL1,dr0=(Y)=>{if(!(Y.hostname==="localhost"||Y.hostname==="127.0.0.1"))Y.protocol="https:";return Y},pr0=async(Y)=>{let Q=Y.req.param("connectionId"),X=await mr0(Y),J=await gr0(Q,X);if(!J)return Y.json({error:"Connection not found"},404);let G=dr0(new URL(Y.req.url)),K=`${G.origin}/mcp/${Q}`,W=`${G.origin}/oauth-proxy/${Q}`;try{let Z=await nr(J);if(!Z.ok&&kL1.includes(Z.status)){if(await ur0(J))return new Response(JSON.stringify({resource:K,authorization_servers:[W],bearer_methods_supported:["header"],scopes_supported:["*"]}),{status:200,headers:{"Content-Type":"application/json"}});return new Response(Z.body,{status:Z.status,statusText:Z.statusText,headers:{"Content-Type":"application/json"}})}if(!Z.ok)return new Response(Z.body,{status:Z.status,statusText:Z.statusText,headers:{"Content-Type":"application/json"}});let H=await Z.json();if("issuer"in H&&!("resource"in H)&&(("authorization_endpoint"in H)||("token_endpoint"in H))){let V={resource:K,authorization_servers:[W],bearer_methods_supported:["header"],scopes_supported:"scopes_supported"in H&&Array.isArray(H.scopes_supported)&&H.scopes_supported.length>0?H.scopes_supported:["*"]};return new Response(JSON.stringify(V),{status:200,headers:{"Content-Type":"application/json"}})}let F={...H,resource:K,authorization_servers:[W]};return new Response(JSON.stringify(F),{status:Z.status,statusText:Z.statusText,headers:{"Content-Type":"application/json"}})}catch(Z){let H=Z;return console.error("[oauth-proxy] Failed to proxy OAuth protected resource metadata:",H),Y.json({error:"Failed to proxy OAuth metadata",message:H.message},502)}},cr0;var _L1=j(()=>{JK();ir();cr=new VQ,kL1=[404,401,406];cr.get("/.well-known/oauth-protected-resource/mcp/:connectionId",(Y)=>pr0(Y));cr.get("/mcp/:connectionId/.well-known/oauth-protected-resource",(Y)=>pr0(Y));cr.get("/.well-known/oauth-authorization-server/oauth-proxy/:connectionId",async(Y)=>{let Q=Y.req.param("connectionId"),X=await mr0(Y),J=await Kc6(Q,X);if(!J)return Y.json({error:"Connection not found or no auth server"},404);try{let G=await vL1(J);if(!G.ok)return new Response(G.body,{status:G.status,statusText:G.statusText,headers:{"Content-Type":"application/json"}});let K=await G.json(),Z=`${dr0(new URL(Y.req.url)).origin}/oauth-proxy/${Q}`,H={...K,authorization_endpoint:K.authorization_endpoint?`${Z}/authorize`:void 0,token_endpoint:K.token_endpoint?`${Z}/token`:void 0,registration_endpoint:K.registration_endpoint?`${Z}/register`:void 0};return new Response(JSON.stringify(H),{status:200,headers:{"Content-Type":"application/json"}})}catch(G){let K=G;return console.error("[oauth-proxy] Failed to proxy auth server metadata:",K),Y.json({error:"Failed to proxy auth server metadata",message:K.message},502)}});cr0=cr});async function ar(Y,Q){let X=Y.get("meshContext");try{let J=Y.req.header("x-org-id"),G=Y.req.header("x-org-slug"),K=J?J:G?await X.db.selectFrom("organization").select("id").where("slug","=",G).executeTakeFirst().then((U)=>U?.id):null,W=Q?Q:K?WL(K):null;if(!W)return Y.json({error:"Agent ID or organization ID is required"},400);let Z=await X.storage.virtualMcps.findById(W,K??void 0);if(!Z)return Y.json({error:"Agent not found"},404);if(K&&Z.organization_id!==K)return Y.json({error:"Agent not found"},404);if(Z.status!=="active")return Y.json({error:`Agent is inactive: ${Z.id??"Decopilot"}`},503);X.connectionId=Z.id??void 0;let H=await X.db.selectFrom("organization").select(["id","slug","name"]).where("id","=",Z.organization_id).executeTakeFirst();if(H)X.organization={id:H.id,slug:H.slug,name:H.name};let $=nO1(Y.req.query("mode")),F=await DB(Z,X,$),V=TU(F,{name:`mcp-virtual-mcp-${Z.title??"Decopilot"}`,version:"1.0.0"},{capabilities:{tools:{},resources:{},prompts:{}},instructions:Z.metadata?.instructions??void 0}),B=new i$({enableJsonResponse:Y.req.header("Accept")?.includes("application/json")??!1});return await V.connect(B),await B.handleRequest(Y.req.raw)}catch(J){let G=J;return console.error("[virtual-mcp] Error handling virtual MCP request:",G),Y.json({error:"Internal server error",message:G.message},500)}}var yL1,nr0;var fL1=j(()=>{QY();Qk();JK();Cv();yL1=new VQ;yL1.all("/gateway/:virtualMcpId?",async(Y)=>{let Q=Y.req.param("virtualMcpId")||Y.req.header("x-virtual-mcp-id");return ar(Y,Q)});yL1.all("/virtual-mcp/:virtualMcpId?",async(Y)=>{let Q=Y.req.param("virtualMcpId")||Y.req.header("x-virtual-mcp-id");return ar(Y,Q)});nr0=yL1});function CO(Y){let Q={client:{callTool:Y.callTool.bind(Y),listTools:Y.listTools.bind(Y)}};if("callStreamableTool"in Y&&Y.callStreamableTool)return{...Q,callStreamableTool:Y.callStreamableTool.bind(Y)};return Q}async function ar0(Y,Q,{superUser:X}){let J=typeof Y==="string"?await Q.storage.connections.findById(Y,Q.organization?.id):Y;if(!J)throw Error("Connection not found");if(Q.organization&&J.organization_id!==Q.organization.id)throw Error("Connection does not belong to the active organization");if(Q.organization??={id:J.organization_id},J.status!=="active")throw Error(`Connection inactive: ${J.status}`);let G=await y5(J,Q,X),K=rO1(G,J),W=K.getServerCapabilities()??{tools:{},resources:{},prompts:{}},Z=TU(K,{name:"mcp-mesh-proxy-client",version:"1.0.0"},{capabilities:W,instructions:K.getInstructions()}),{client:H,server:$}=q91();await Z.connect($);let F=new eJ({name:"mcp-mesh-proxy-client",version:"1.0.0"});return await F.connect(H),F}async function rr0(Y,Q){return ar0(Y,Q,{superUser:!1})}async function bL1(Y,Q){return ar0(Y,Q,{superUser:!0})}var rr,ir0=300000,or0=(Y,Q)=>{if(Y.message.includes("not found"))return Q.json({error:Y.message},404);if(Y.message.includes("does not belong to the active organization"))return Q.json({error:"Connection not found"},404);if(Y.message.includes("inactive"))return Q.json({error:Y.message},503);return Q.json({error:"Internal server error",message:Y.message},500)},sr0;var RO=j(()=>{RP();QY();LU();Qk();JK();_L1();fL1();rr=new VQ;rr.all("/",async(Y)=>{return ar(Y,void 0)});rr.all("/:connectionId",async(Y)=>{let Q=Y.req.param("connectionId"),X=Y.get("meshContext");try{try{let J=await X.storage.connections.findById(Q,X.organization?.id);if(!J)throw Error("Connection not found");if(X.organization&&J.organization_id!==X.organization.id)throw Error("Connection does not belong to the active organization");if(X.organization??={id:J.organization_id},J.status!=="active")throw Error(`Connection inactive: ${J.status}`);let G=await aO1(J,X,!1),K=new i$({enableJsonResponse:Y.req.raw.headers.get("Accept")?.includes("application/json")??!1});return await G.connect(K),await K.handleRequest(Y.req.raw)}catch(J){let G=await X.storage.connections.findById(Q,X.organization?.id);if(G?.connection_url){let K=await lr0({error:J,reqUrl:new URL(Y.req.raw.url),connectionId:Q,connectionUrl:G.connection_url,headers:{}});if(K)return K}throw J}}catch(J){return or0(J,Y)}});rr.all("/:connectionId/call-tool/:toolName",async(Y)=>{let Q=Y.req.param("connectionId"),X=Y.req.param("toolName"),J=Y.get("meshContext");try{let G=await J.storage.connections.findById(Q,J.organization?.id);if(!G)return Y.json({error:"Connection not found"},404);let W=await(await y5(G,J,!1)).callTool({name:X,arguments:await Y.req.json()});if(W instanceof Response)return W;if(W.isError)return new Response(JSON.stringify(W.content),{headers:{"Content-Type":"application/json"},status:500});return new Response(JSON.stringify(W.structuredContent??W.content),{headers:{"Content-Type":"application/json"}})}catch(G){return or0(G,Y)}});sr0=rr});function hL1(Y){let X="You are decopilot, an AI assistant running inside decocms (deco context management system).";if(Y?.trim())X+=`
1519
+ `.execute(Y)}}if(K>0)console.log(`\u2705 ${K} plugin migration(s) completed`)}async function Ea0(Y,Q){await Mp6(Y,Q),await wp6(Y,Q);let X=new Aa0({db:Y,provider:{getMigrations:()=>Promise.resolve(vx)}}),{error:J,results:G}=await X.migrateToLatest();if(G?.forEach((K)=>{if(K.status==="Success")console.log(`\u2705 Migration "${K.migrationName}" executed successfully`);else if(K.status==="Error")console.error(`\u274C Failed to execute migration "${K.migrationName}"`)}),J)throw console.error("Failed to migrate"),console.error(J),J}async function Pp6(Y){let{keepOpen:Q=!1,database:X,skipBetterAuth:J=!1,seed:G}=Y??{};if(!J&&!X)await Ma0();let K=X??vz(),W=async()=>{if(!Q&&!X)console.log("\uD83D\uDD12 Closing database connection..."),await Tj0(K).catch((Z)=>{console.warn("Warning: Error closing database:",Z)})};try{console.log("\uD83D\uDCCA Running Kysely migrations..."),await Ea0(K.db,K.type),console.log("\uD83C\uDF89 Core migrations completed successfully"),await Ap6(K.db);let Z;if(G)Z=await C91(K.db,G);return await W(),{seedResult:Z}}catch(Z){throw await W(),Z}}async function Ep6(){let Y=vz(),Q=new Aa0({db:Y.db,provider:{getMigrations:()=>Promise.resolve(vx)}}),{error:X,results:J}=await Q.migrateDown();if(J?.forEach((G)=>{if(G.status==="Success")console.log(`\u2705 Migration "${G.migrationName}" rolled back successfully`);else if(G.status==="Error")console.error(`\u274C Failed to rollback migration "${G.migrationName}"`)}),X)throw console.error("Failed to rollback migration"),console.error(X),X}var Ca0=j(()=>{T91();mS1();wa0();Bv();PS()});var XJ;var jP=j(()=>{XJ=class extends Error{res;status;constructor(Y=500,Q){super(Q?.message,{cause:Q?.cause});this.res=Q?.res,this.status=Y}getResponse(){if(this.res)return new Response(this.res.body,{status:this.status,headers:this.res.headers});return new Response(this.message,{status:this.status})}}});var Ra0,Tp6,Cp6=(Y,Q)=>{if(!Y)return{};let X=new Headers(Y.headers);if(Q){let J=X.get("connection");if(J){let G=J.split(",").map((W)=>W.trim()),K=G.filter((W)=>!Tp6.test(W));if(K.length>0)throw new XJ(400,{message:`Invalid Connection header value: ${K.join(", ")}`});G.forEach((W)=>{X.delete(W)})}}return Ra0.forEach((J)=>{X.delete(J)}),{method:Y.method,body:Y.body,duplex:Y.body?"half":void 0,headers:X,signal:Y.signal}},Rp6=(Y)=>{if(!Y.headers||Array.isArray(Y.headers)||Y.headers instanceof Headers)return Y;let Q=new Headers;for(let[X,J]of Object.entries(Y.headers))if(J==null)Q.delete(X);else Q.set(X,J);return Y.headers=Q,Y},Ia0=async(Y,Q)=>{let{raw:X,customFetch:J,strictConnectionProcessing:G=!1,...K}=Q instanceof Request?{raw:Q}:Q??{},W=new Request(Y,{...Cp6(X,G),...Rp6(K)});W.headers.delete("accept-encoding");let Z=await(J||fetch)(W),H=new Headers(Z.headers);if(Ra0.forEach(($)=>{H.delete($)}),H.has("content-encoding"))H.delete("content-encoding"),H.delete("content-length");return new Response(Z.body,{status:Z.status,statusText:Z.statusText,headers:H})};var ja0=j(()=>{jP();Ra0=["connection","keep-alive","proxy-authenticate","proxy-authorization","te","trailer","transfer-encoding","upgrade"],Tp6=/^[!#$%&'*+\-.0-9A-Z^_`a-z|~]+$/});var Sa0=(Y)=>(Q)=>{let X=new URL(Q.req.raw.url),J=new URL(Y);return J.pathname=X.pathname,J.search=X.search,Ia0(J,{raw:Q.req.raw,headers:{...Q.req.raw.headers}})};var ka0=j(()=>{ja0()});import{resolve as kv,dirname as Ip6,join as jp6,extname as Sp6,basename as kp6,sep as va0}from"path";function vp6(Y,Q){if(Y===Q||kp6(Y)==="index.html")return{"Cache-Control":"no-cache"};if(Y.includes(`${va0}assets${va0}`))return{"Cache-Control":"public, max-age=31536000, immutable"};return{}}function fp6(Y,Q){let X=kv(Q),J=kv(Y);return J===X||J.startsWith(X+"/")}function bp6({requestPath:Y,clientDir:Q}){let X=Y.startsWith("/")?Y.slice(1):Y,J=kv(Q,X);if(!fp6(J,Q))return null;return J}function _a0(Y,Q="../client"){let X=new URL(Y),J=Ip6(X.pathname);return kv(J,Q)}function ya0(Y={}){let{env:Q="production",devServerUrl:X=_p6,clientDir:J=yp6,isServerPath:G=()=>!1}=Y;if(Q==="development"){let K=Sa0(X);return async function(Z){let H=new URL(Z.url);if(G(H.pathname))return null;let $={req:{raw:Z,url:Z.url}};return K($)}}return async function(W){if(W.method!=="GET")return null;let Z=new URL(W.url),H;try{H=decodeURIComponent(Z.pathname)}catch{return null}if(G(H))return null;let $=bp6({requestPath:H,clientDir:J});if(!$)return null;let F=jp6($,"index.html"),V=kv(J,"index.html"),B=W.headers.get("accept"),D=B?.includes("text/html")||B?.includes("*/*")&&["",".html"].includes(Sp6($))?[F,V]:[];for(let z of[$,...D])try{let L=Bun.file(z);if(await L.exists())return new Response(L,{headers:vp6(z,V)})}catch{}return null}}var _p6,yp6="./dist/client";var fa0=j(()=>{ka0();_p6=`http://localhost:${process.env.VITE_PORT||"4000"}`});function ha0(Y){if(!Y)return!1;try{return new URL(Y).host==="api.decocms.com"&&Y!=="https://api.decocms.com/mcp/registry"}catch{return!1}}var ba0="https://api.decocms.com/mcp/registry";var xa0=()=>{};var $L1=(Y,Q,X)=>{return(J,G)=>{let K=-1;return W(0);async function W(Z){if(Z<=K)throw Error("next() called multiple times");K=Z;let H,$=!1,F;if(Y[Z])F=Y[Z][0][0],J.req.routeIndex=Z;else F=Z===Y.length&&G||void 0;if(F)try{H=await F(J,()=>W(Z+1))}catch(V){if(V instanceof Error&&Q)J.error=V,H=await Q(V,J),$=!0;else throw V}else if(J.finalized===!1&&X)H=await X(J);if(H&&(J.finalized===!1||$))J.res=H;return J}}};var ga0=()=>{};var ua0;var ma0=j(()=>{ua0=Symbol()});async function hp6(Y,Q){let X=await Y.formData();if(X)return xp6(X,Q);return{}}function xp6(Y,Q){let X=Object.create(null);if(Y.forEach((J,G)=>{if(!(Q.all||G.endsWith("[]")))X[G]=J;else gp6(X,G,J)}),Q.dot)Object.entries(X).forEach(([J,G])=>{if(J.includes("."))up6(X,J,G),delete X[J]});return X}var la0=async(Y,Q=Object.create(null))=>{let{all:X=!1,dot:J=!1}=Q,K=(Y instanceof fr?Y.raw.headers:Y.headers).get("Content-Type");if(K?.startsWith("multipart/form-data")||K?.startsWith("application/x-www-form-urlencoded"))return hp6(Y,{all:X,dot:J});return{}},gp6=(Y,Q,X)=>{if(Y[Q]!==void 0)if(Array.isArray(Y[Q]))Y[Q].push(X);else Y[Q]=[Y[Q],X];else if(!Q.endsWith("[]"))Y[Q]=X;else Y[Q]=[X]},up6=(Y,Q,X)=>{let J=Y,G=Q.split(".");G.forEach((K,W)=>{if(W===G.length-1)J[K]=X;else{if(!J[K]||typeof J[K]!=="object"||Array.isArray(J[K])||J[K]instanceof File)J[K]=Object.create(null);J=J[K]}})};var da0=j(()=>{FL1()});var qL1=(Y)=>{let Q=Y.split("/");if(Q[0]==="")Q.shift();return Q},pa0=(Y)=>{let{groups:Q,path:X}=mp6(Y),J=qL1(X);return lp6(J,Q)},mp6=(Y)=>{let Q=[];return Y=Y.replace(/\{[^}]+\}/g,(X,J)=>{let G=`@${J}`;return Q.push([G,X]),G}),{groups:Q,path:Y}},lp6=(Y,Q)=>{for(let X=Q.length-1;X>=0;X--){let[J]=Q[X];for(let G=Y.length-1;G>=0;G--)if(Y[G].includes(J)){Y[G]=Y[G].replace(J,Q[X][1]);break}}return Y},br,ca0=(Y,Q)=>{if(Y==="*")return"*";let X=Y.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/);if(X){let J=`${Y}#${Q}`;if(!br[J])if(X[2])br[J]=Q&&Q[0]!==":"&&Q[0]!=="*"?[J,X[1],new RegExp(`^${X[2]}(?=/${Q})`)]:[Y,X[1],new RegExp(`^${X[2]}$`)];else br[J]=[Y,X[1],!0];return br[J]}return null},SP=(Y,Q)=>{try{return Q(Y)}catch{return Y.replace(/(?:%[0-9A-Fa-f]{2})+/g,(X)=>{try{return Q(X)}catch{return X}})}},dp6=(Y)=>SP(Y,decodeURI),BL1=(Y)=>{let Q=Y.url,X=Q.indexOf("/",Q.indexOf(":")+4),J=X;for(;J<Q.length;J++){let G=Q.charCodeAt(J);if(G===37){let K=Q.indexOf("?",J),W=Q.indexOf("#",J),Z=K===-1?W===-1?void 0:W:W===-1?K:Math.min(K,W),H=Q.slice(X,Z);return dp6(H.includes("%25")?H.replace(/%25/g,"%2525"):H)}else if(G===63||G===35)break}return Q.slice(X,J)},na0=(Y)=>{let Q=BL1(Y);return Q.length>1&&Q.at(-1)==="/"?Q.slice(0,-1):Q},wO=(Y,Q,...X)=>{if(X.length)Q=wO(Q,...X);return`${Y?.[0]==="/"?"":"/"}${Y}${Q==="/"?"":`${Y?.at(-1)==="/"?"":"/"}${Q?.[0]==="/"?Q.slice(1):Q}`}`},hr=(Y)=>{if(Y.charCodeAt(Y.length-1)!==63||!Y.includes(":"))return null;let Q=Y.split("/"),X=[],J="";return Q.forEach((G)=>{if(G!==""&&!/\:/.test(G))J+="/"+G;else if(/\:/.test(G))if(/\?/.test(G)){if(X.length===0&&J==="")X.push("/");else X.push(J);let K=G.replace("?","");J+="/"+K,X.push(J)}else J+="/"+G}),X.filter((G,K,W)=>W.indexOf(G)===K)},VL1=(Y)=>{if(!/[%+]/.test(Y))return Y;if(Y.indexOf("+")!==-1)Y=Y.replace(/\+/g," ");return Y.indexOf("%")!==-1?SP(Y,vv):Y},ia0=(Y,Q,X)=>{let J;if(!X&&Q&&!/[%+]/.test(Q)){let W=Y.indexOf("?",8);if(W===-1)return;if(!Y.startsWith(Q,W+1))W=Y.indexOf(`&${Q}`,W+1);while(W!==-1){let Z=Y.charCodeAt(W+Q.length+1);if(Z===61){let H=W+Q.length+2,$=Y.indexOf("&",H);return VL1(Y.slice(H,$===-1?void 0:$))}else if(Z==38||isNaN(Z))return"";W=Y.indexOf(`&${Q}`,W+1)}if(J=/[%+]/.test(Y),!J)return}let G={};J??=/[%+]/.test(Y);let K=Y.indexOf("?",8);while(K!==-1){let W=Y.indexOf("&",K+1),Z=Y.indexOf("=",K);if(Z>W&&W!==-1)Z=-1;let H=Y.slice(K+1,Z===-1?W===-1?void 0:W:Z);if(J)H=VL1(H);if(K=W,H==="")continue;let $;if(Z===-1)$="";else if($=Y.slice(Z+1,W===-1?void 0:W),J)$=VL1($);if(X){if(!(G[H]&&Array.isArray(G[H])))G[H]=[];G[H].push($)}else G[H]??=$}return Q?G[Q]:G},aa0,ra0=(Y,Q)=>{return ia0(Y,Q,!0)},vv;var AO=j(()=>{br={},aa0=ia0,vv=decodeURIComponent});var oa0=(Y)=>SP(Y,vv),fr;var FL1=j(()=>{jP();ma0();da0();AO();fr=class{raw;#Y;#Q;routeIndex=0;path;bodyCache={};constructor(Y,Q="/",X=[[]]){this.raw=Y,this.path=Q,this.#Q=X,this.#Y={}}param(Y){return Y?this.#X(Y):this.#J()}#X(Y){let Q=this.#Q[0][this.routeIndex][1][Y],X=this.#W(Q);return X&&/\%/.test(X)?oa0(X):X}#J(){let Y={},Q=Object.keys(this.#Q[0][this.routeIndex][1]);for(let X of Q){let J=this.#W(this.#Q[0][this.routeIndex][1][X]);if(J!==void 0)Y[X]=/\%/.test(J)?oa0(J):J}return Y}#W(Y){return this.#Q[1]?this.#Q[1][Y]:Y}query(Y){return aa0(this.url,Y)}queries(Y){return ra0(this.url,Y)}header(Y){if(Y)return this.raw.headers.get(Y)??void 0;let Q={};return this.raw.headers.forEach((X,J)=>{Q[J]=X}),Q}async parseBody(Y){return this.bodyCache.parsedBody??=await la0(this,Y)}#G=(Y)=>{let{bodyCache:Q,raw:X}=this,J=Q[Y];if(J)return J;let G=Object.keys(Q)[0];if(G)return Q[G].then((K)=>{if(G==="json")K=JSON.stringify(K);return new Response(K)[Y]()});return Q[Y]=X[Y]()};json(){return this.#G("text").then((Y)=>JSON.parse(Y))}text(){return this.#G("text")}arrayBuffer(){return this.#G("arrayBuffer")}blob(){return this.#G("blob")}formData(){return this.#G("formData")}addValidatedData(Y,Q){this.#Y[Y]=Q}valid(Y){return this.#Y[Y]}get url(){return this.raw.url}get method(){return this.raw.method}get[ua0](){return this.#Q}get matchedRoutes(){return this.#Q[0].map(([[,Y]])=>Y)}get routePath(){return this.#Q[0].map(([[,Y]])=>Y)[this.routeIndex].path}}});var xr,pp6=(Y,Q)=>{let X=new String(Y);return X.isEscaped=!0,X.callbacks=Q,X},_v=async(Y,Q,X,J,G)=>{if(typeof Y==="object"&&!(Y instanceof String)){if(!(Y instanceof Promise))Y=Y.toString();if(Y instanceof Promise)Y=await Y}let K=Y.callbacks;if(!K?.length)return Promise.resolve(Y);if(G)G[0]+=Y;else G=[Y];let W=Promise.all(K.map((Z)=>Z({phase:Q,buffer:G,context:J}))).then((Z)=>Promise.all(Z.filter(Boolean).map((H)=>_v(H,Q,!1,J,G))).then(()=>G[0]));if(X)return pp6(await W,K);else return W};var UL1=j(()=>{xr={Stringify:1,BeforeStream:2,Stream:3}});var sa0="text/plain; charset=UTF-8",DL1=(Y,Q)=>{return{"Content-Type":Y,...Q}},yv=(Y,Q)=>new Response(Y,Q),ta0=class{#Y;#Q;env={};#X;finalized=!1;error;#J;#W;#G;#K;#Z;#$;#H;#V;#q;constructor(Y,Q){if(this.#Y=Y,Q)this.#W=Q.executionCtx,this.env=Q.env,this.#$=Q.notFoundHandler,this.#q=Q.path,this.#V=Q.matchResult}get req(){return this.#Q??=new fr(this.#Y,this.#q,this.#V),this.#Q}get event(){if(this.#W&&"respondWith"in this.#W)return this.#W;else throw Error("This context has no FetchEvent")}get executionCtx(){if(this.#W)return this.#W;else throw Error("This context has no ExecutionContext")}get res(){return this.#G||=yv(null,{headers:this.#H??=new Headers})}set res(Y){if(this.#G&&Y){Y=yv(Y.body,Y);for(let[Q,X]of this.#G.headers.entries()){if(Q==="content-type")continue;if(Q==="set-cookie"){let J=this.#G.headers.getSetCookie();Y.headers.delete("set-cookie");for(let G of J)Y.headers.append("set-cookie",G)}else Y.headers.set(Q,X)}}this.#G=Y,this.finalized=!0}render=(...Y)=>{return this.#Z??=(Q)=>this.html(Q),this.#Z(...Y)};setLayout=(Y)=>this.#K=Y;getLayout=()=>this.#K;setRenderer=(Y)=>{this.#Z=Y};header=(Y,Q,X)=>{if(this.finalized)this.#G=yv(this.#G.body,this.#G);let J=this.#G?this.#G.headers:this.#H??=new Headers;if(Q===void 0)J.delete(Y);else if(X?.append)J.append(Y,Q);else J.set(Y,Q)};status=(Y)=>{this.#J=Y};set=(Y,Q)=>{this.#X??=new Map,this.#X.set(Y,Q)};get=(Y)=>{return this.#X?this.#X.get(Y):void 0};get var(){if(!this.#X)return{};return Object.fromEntries(this.#X)}#F(Y,Q,X){let J=this.#G?new Headers(this.#G.headers):this.#H??new Headers;if(typeof Q==="object"&&"headers"in Q){let K=Q.headers instanceof Headers?Q.headers:new Headers(Q.headers);for(let[W,Z]of K)if(W.toLowerCase()==="set-cookie")J.append(W,Z);else J.set(W,Z)}if(X)for(let[K,W]of Object.entries(X))if(typeof W==="string")J.set(K,W);else{J.delete(K);for(let Z of W)J.append(K,Z)}let G=typeof Q==="number"?Q:Q?.status??this.#J;return yv(Y,{status:G,headers:J})}newResponse=(...Y)=>this.#F(...Y);body=(Y,Q,X)=>this.#F(Y,Q,X);text=(Y,Q,X)=>{return!this.#H&&!this.#J&&!Q&&!X&&!this.finalized?new Response(Y):this.#F(Y,Q,DL1(sa0,X))};json=(Y,Q,X)=>{return this.#F(JSON.stringify(Y),Q,DL1("application/json",X))};html=(Y,Q,X)=>{let J=(G)=>this.#F(G,Q,DL1("text/html; charset=UTF-8",X));return typeof Y==="object"?_v(Y,xr.Stringify,!1,{}).then(J):J(Y)};redirect=(Y,Q)=>{let X=String(Y);return this.header("Location",!/[^\x00-\xFF]/.test(X)?X:encodeURI(X)),this.newResponse(null,Q??302)};notFound=()=>{return this.#$??=()=>yv(),this.#$(this)}};var gr=j(()=>{FL1();UL1()});var c9="ALL",ea0="all",Yr0,ur="Can not add a route since the matcher is already built.",mr;var PO=j(()=>{Yr0=["get","post","put","delete","options","patch"],mr=class extends Error{}});var Qr0="__COMPOSED_HANDLER";var Xr0=()=>{};var cp6=(Y)=>{return Y.text("404 Not Found",404)},Jr0=(Y,Q)=>{if("getResponse"in Y){let X=Y.getResponse();return Q.newResponse(X.body,X)}return console.error(Y),Q.text("Internal Server Error",500)},Gr0=class Y{get;post;put;delete;options;patch;all;on;use;router;getPath;_basePath="/";#Y="/";routes=[];constructor(Q={}){[...Yr0,ea0].forEach((K)=>{this[K]=(W,...Z)=>{if(typeof W==="string")this.#Y=W;else this.#J(K,this.#Y,W);return Z.forEach((H)=>{this.#J(K,this.#Y,H)}),this}}),this.on=(K,W,...Z)=>{for(let H of[W].flat()){this.#Y=H;for(let $ of[K].flat())Z.map((F)=>{this.#J($.toUpperCase(),this.#Y,F)})}return this},this.use=(K,...W)=>{if(typeof K==="string")this.#Y=K;else this.#Y="*",W.unshift(K);return W.forEach((Z)=>{this.#J(c9,this.#Y,Z)}),this};let{strict:J,...G}=Q;Object.assign(this,G),this.getPath=J??!0?Q.getPath??BL1:na0}#Q(){let Q=new Y({router:this.router,getPath:this.getPath});return Q.errorHandler=this.errorHandler,Q.#X=this.#X,Q.routes=this.routes,Q}#X=cp6;errorHandler=Jr0;route(Q,X){let J=this.basePath(Q);return X.routes.map((G)=>{let K;if(X.errorHandler===Jr0)K=G.handler;else K=async(W,Z)=>(await $L1([],X.errorHandler)(W,()=>G.handler(W,Z))).res,K[Qr0]=G.handler;J.#J(G.method,G.path,K)}),this}basePath(Q){let X=this.#Q();return X._basePath=wO(this._basePath,Q),X}onError=(Q)=>{return this.errorHandler=Q,this};notFound=(Q)=>{return this.#X=Q,this};mount(Q,X,J){let G,K;if(J)if(typeof J==="function")K=J;else if(K=J.optionHandler,J.replaceRequest===!1)G=(H)=>H;else G=J.replaceRequest;let W=K?(H)=>{let $=K(H);return Array.isArray($)?$:[$]}:(H)=>{let $=void 0;try{$=H.executionCtx}catch{}return[H.env,$]};G||=(()=>{let H=wO(this._basePath,Q),$=H==="/"?0:H.length;return(F)=>{let V=new URL(F.url);return V.pathname=V.pathname.slice($)||"/",new Request(V,F)}})();let Z=async(H,$)=>{let F=await X(G(H.req.raw),...W(H));if(F)return F;await $()};return this.#J(c9,wO(Q,"*"),Z),this}#J(Q,X,J){Q=Q.toUpperCase(),X=wO(this._basePath,X);let G={basePath:this._basePath,path:X,method:Q,handler:J};this.router.add(Q,X,[J,G]),this.routes.push(G)}#W(Q,X){if(Q instanceof Error)return this.errorHandler(Q,X);throw Q}#G(Q,X,J,G){if(G==="HEAD")return(async()=>new Response(null,await this.#G(Q,X,J,"GET")))();let K=this.getPath(Q,{env:J}),W=this.router.match(G,K),Z=new ta0(Q,{path:K,matchResult:W,env:J,executionCtx:X,notFoundHandler:this.#X});if(W[0].length===1){let $;try{$=W[0][0][0][0](Z,async()=>{Z.res=await this.#X(Z)})}catch(F){return this.#W(F,Z)}return $ instanceof Promise?$.then((F)=>F||(Z.finalized?Z.res:this.#X(Z))).catch((F)=>this.#W(F,Z)):$??this.#X(Z)}let H=$L1(W[0],this.errorHandler,this.#X);return(async()=>{try{let $=await H(Z);if(!$.finalized)throw Error("Context is not finalized. Did you forget to return a Response object or `await next()`?");return $.res}catch($){return this.#W($,Z)}})()}fetch=(Q,...X)=>{return this.#G(Q,X[1],X[0],Q.method)};request=(Q,X,J,G)=>{if(Q instanceof Request)return this.fetch(X?new Request(Q,X):Q,J,G);return Q=Q.toString(),this.fetch(new Request(/^https?:\/\//.test(Q)?Q:`http://localhost${wO("/",Q)}`,X),J,G)};fire=()=>{addEventListener("fetch",(Q)=>{Q.respondWith(this.#G(Q.request,Q,void 0,Q.request.method))})}};var Wr0=j(()=>{ga0();gr();PO();Xr0();AO()});function lr(Y,Q){let X=this.buildAllMatchers(),J=(G,K)=>{let W=X[G]||X[c9],Z=W[2][K];if(Z)return Z;let H=K.match(W[0]);if(!H)return[[],fv];let $=H.indexOf("",1);return[W[1][$],H]};return this.match=J,J(Y,Q)}var fv;var zL1=j(()=>{PO();fv=[]});function ip6(Y,Q){if(Y.length===1)return Q.length===1?Y<Q?-1:1:-1;if(Q.length===1)return 1;if(Y===bv||Y===hv)return 1;else if(Q===bv||Q===hv)return-1;if(Y===dr)return 1;else if(Q===dr)return-1;return Y.length===Q.length?Y<Q?-1:1:Q.length-Y.length}var dr="[^/]+",bv=".*",hv="(?:|/.*)",EO,np6,Zr0=class Y{#Y;#Q;#X=Object.create(null);insert(Q,X,J,G,K){if(Q.length===0){if(this.#Y!==void 0)throw EO;if(K)return;this.#Y=X;return}let[W,...Z]=Q,H=W==="*"?Z.length===0?["","",bv]:["","",dr]:W==="/*"?["","",hv]:W.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/),$;if(H){let F=H[1],V=H[2]||dr;if(F&&H[2]){if(V===".*")throw EO;if(V=V.replace(/^\((?!\?:)(?=[^)]+\)$)/,"(?:"),/\((?!\?:)/.test(V))throw EO}if($=this.#X[V],!$){if(Object.keys(this.#X).some((B)=>B!==bv&&B!==hv))throw EO;if(K)return;if($=this.#X[V]=new Y,F!=="")$.#Q=G.varIndex++}if(!K&&F!=="")J.push([F,$.#Q])}else if($=this.#X[W],!$){if(Object.keys(this.#X).some((F)=>F.length>1&&F!==bv&&F!==hv))throw EO;if(K)return;$=this.#X[W]=new Y}$.insert(Z,X,J,G,K)}buildRegExpStr(){let X=Object.keys(this.#X).sort(ip6).map((J)=>{let G=this.#X[J];return(typeof G.#Q==="number"?`(${J})@${G.#Q}`:np6.has(J)?`\\${J}`:J)+G.buildRegExpStr()});if(typeof this.#Y==="number")X.unshift(`#${this.#Y}`);if(X.length===0)return"";if(X.length===1)return X[0];return"(?:"+X.join("|")+")"}};var OL1=j(()=>{EO=Symbol(),np6=new Set(".\\+*[^]$()")});var Kr0=class{#Y={varIndex:0};#Q=new Zr0;insert(Y,Q,X){let J=[],G=[];for(let W=0;;){let Z=!1;if(Y=Y.replace(/\{[^}]+\}/g,(H)=>{let $=`@\\${W}`;return G[W]=[$,H],W++,Z=!0,$}),!Z)break}let K=Y.match(/(?::[^\/]+)|(?:\/\*$)|./g)||[];for(let W=G.length-1;W>=0;W--){let[Z]=G[W];for(let H=K.length-1;H>=0;H--)if(K[H].indexOf(Z)!==-1){K[H]=K[H].replace(Z,G[W][1]);break}}return this.#Q.insert(K,Q,J,this.#Y,X),J}buildRegExp(){let Y=this.#Q.buildRegExpStr();if(Y==="")return[/^$/,[],[]];let Q=0,X=[],J=[];return Y=Y.replace(/#(\d+)|@(\d+)|\.\*\$/g,(G,K,W)=>{if(K!==void 0)return X[++Q]=Number(K),"$()";if(W!==void 0)return J[Number(W)]=++Q,"";return""}),[new RegExp(`^${Y}`),X,J]}};var Hr0=j(()=>{OL1()});function Fr0(Y){return $r0[Y]??=new RegExp(Y==="*"?"":`^${Y.replace(/\/\*$|([.\\+*[^\]$()])/g,(Q,X)=>X?`\\${X}`:"(?:|/.*)")}$`)}function rp6(){$r0=Object.create(null)}function op6(Y){let Q=new Kr0,X=[];if(Y.length===0)return ap6;let J=Y.map(($)=>[!/\*|\/:/.test($[0]),...$]).sort(([$,F],[V,B])=>$?1:V?-1:F.length-B.length),G=Object.create(null);for(let $=0,F=-1,V=J.length;$<V;$++){let[B,U,D]=J[$];if(B)G[U]=[D.map(([L])=>[L,Object.create(null)]),fv];else F++;let z;try{z=Q.insert(U,F,B)}catch(L){throw L===EO?new mr(U):L}if(B)continue;X[F]=D.map(([L,w])=>{let E=Object.create(null);w-=1;for(;w>=0;w--){let[T,C]=z[w];E[T]=C}return[L,E]})}let[K,W,Z]=Q.buildRegExp();for(let $=0,F=X.length;$<F;$++)for(let V=0,B=X[$].length;V<B;V++){let U=X[$][V]?.[1];if(!U)continue;let D=Object.keys(U);for(let z=0,L=D.length;z<L;z++)U[D[z]]=Z[U[D[z]]]}let H=[];for(let $ in W)H[$]=X[W[$]];return[K,H,G]}function kP(Y,Q){if(!Y)return;for(let X of Object.keys(Y).sort((J,G)=>G.length-J.length))if(Fr0(X).test(Q))return[...Y[X]];return}var ap6,$r0,pr=class{name="RegExpRouter";#Y;#Q;constructor(){this.#Y={[c9]:Object.create(null)},this.#Q={[c9]:Object.create(null)}}add(Y,Q,X){let J=this.#Y,G=this.#Q;if(!J||!G)throw Error(ur);if(!J[Y])[J,G].forEach((Z)=>{Z[Y]=Object.create(null),Object.keys(Z[c9]).forEach((H)=>{Z[Y][H]=[...Z[c9][H]]})});if(Q==="/*")Q="*";let K=(Q.match(/\/:/g)||[]).length;if(/\*$/.test(Q)){let Z=Fr0(Q);if(Y===c9)Object.keys(J).forEach((H)=>{J[H][Q]||=kP(J[H],Q)||kP(J[c9],Q)||[]});else J[Y][Q]||=kP(J[Y],Q)||kP(J[c9],Q)||[];Object.keys(J).forEach((H)=>{if(Y===c9||Y===H)Object.keys(J[H]).forEach(($)=>{Z.test($)&&J[H][$].push([X,K])})}),Object.keys(G).forEach((H)=>{if(Y===c9||Y===H)Object.keys(G[H]).forEach(($)=>Z.test($)&&G[H][$].push([X,K]))});return}let W=hr(Q)||[Q];for(let Z=0,H=W.length;Z<H;Z++){let $=W[Z];Object.keys(G).forEach((F)=>{if(Y===c9||Y===F)G[F][$]||=[...kP(J[F],$)||kP(J[c9],$)||[]],G[F][$].push([X,K-H+Z+1])})}}match=lr;buildAllMatchers(){let Y=Object.create(null);return Object.keys(this.#Q).concat(Object.keys(this.#Y)).forEach((Q)=>{Y[Q]||=this.#X(Q)}),this.#Y=this.#Q=void 0,rp6(),Y}#X(Y){let Q=[],X=Y===c9;if([this.#Y,this.#Q].forEach((J)=>{let G=J[Y]?Object.keys(J[Y]).map((K)=>[K,J[Y][K]]):[];if(G.length!==0)X||=!0,Q.push(...G);else if(Y!==c9)Q.push(...Object.keys(J[c9]).map((K)=>[K,J[c9][K]]))}),!X)return null;else return op6(Q)}};var NL1=j(()=>{PO();AO();zL1();OL1();Hr0();ap6=[/^$/,[],Object.create(null)],$r0=Object.create(null)});var sp6=class{name="PreparedRegExpRouter";#Y;#Q;constructor(Y,Q){this.#Y=Y,this.#Q=Q}#X(Y,Q){let X=this.#Y[Y];X[1].forEach((J)=>J&&J.push(Q)),Object.values(X[2]).forEach((J)=>J[0].push(Q))}#J(Y,Q,X,J,G){let K=this.#Y[Y];if(!G)K[2][Q][0].push([X,{}]);else J.forEach((W)=>{if(typeof W==="number")K[1][W].push([X,G]);else K[2][W||Q][0].push([X,G])})}add(Y,Q,X){if(!this.#Y[Y]){let G=this.#Y[c9],K={};for(let W in G[2])K[W]=[G[2][W][0].slice(),fv];this.#Y[Y]=[G[0],G[1].map((W)=>Array.isArray(W)?W.slice():0),K]}if(Q==="/*"||Q==="*"){let G=[X,{}];if(Y===c9)for(let K in this.#Y)this.#X(K,G);else this.#X(Y,G);return}let J=this.#Q[Q];if(!J)throw Error(`Path ${Q} is not registered`);for(let[G,K]of J)if(Y===c9)for(let W in this.#Y)this.#J(W,Q,X,G,K);else this.#J(Y,Q,X,G,K)}buildAllMatchers(){return this.#Y}match=lr};var Vr0=j(()=>{PO();zL1();NL1()});var qr0=j(()=>{NL1();Vr0()});var LL1=class{name="SmartRouter";#Y=[];#Q=[];constructor(Y){this.#Y=Y.routers}add(Y,Q,X){if(!this.#Q)throw Error(ur);this.#Q.push([Y,Q,X])}match(Y,Q){if(!this.#Q)throw Error("Fatal error");let X=this.#Y,J=this.#Q,G=X.length,K=0,W;for(;K<G;K++){let Z=X[K];try{for(let H=0,$=J.length;H<$;H++)Z.add(...J[H]);W=Z.match(Y,Q)}catch(H){if(H instanceof mr)continue;throw H}this.match=Z.match.bind(Z),this.#Y=[Z],this.#Q=void 0;break}if(K===G)throw Error("Fatal error");return this.name=`SmartRouter + ${this.activeRouter.name}`,W}get activeRouter(){if(this.#Q||this.#Y.length!==1)throw Error("No active router has been determined yet.");return this.#Y[0]}};var Br0=j(()=>{PO()});var Ur0=j(()=>{Br0()});var xv,tp6=(Y)=>{for(let Q in Y)return!0;return!1},Dr0=class Y{#Y;#Q;#X;#J=0;#W=xv;constructor(Q,X,J){if(this.#Q=J||Object.create(null),this.#Y=[],Q&&X){let G=Object.create(null);G[Q]={handler:X,possibleKeys:[],score:0},this.#Y=[G]}this.#X=[]}insert(Q,X,J){this.#J=++this.#J;let G=this,K=pa0(X),W=[];for(let Z=0,H=K.length;Z<H;Z++){let $=K[Z],F=K[Z+1],V=ca0($,F),B=Array.isArray(V)?V[0]:$;if(B in G.#Q){if(G=G.#Q[B],V)W.push(V[1]);continue}if(G.#Q[B]=new Y,V)G.#X.push(V),W.push(V[1]);G=G.#Q[B]}return G.#Y.push({[Q]:{handler:J,possibleKeys:W.filter((Z,H,$)=>$.indexOf(Z)===H),score:this.#J}}),G}#G(Q,X,J,G,K){for(let W=0,Z=X.#Y.length;W<Z;W++){let H=X.#Y[W],$=H[J]||H[c9],F={};if($!==void 0){if($.params=Object.create(null),Q.push($),G!==xv||K&&K!==xv)for(let V=0,B=$.possibleKeys.length;V<B;V++){let U=$.possibleKeys[V],D=F[$.score];$.params[U]=K?.[U]&&!D?K[U]:G[U]??K?.[U],F[$.score]=!0}}}}search(Q,X){let J=[];this.#W=xv;let K=[this],W=qL1(X),Z=[],H=W.length,$=null;for(let F=0;F<H;F++){let V=W[F],B=F===H-1,U=[];for(let z=0,L=K.length;z<L;z++){let w=K[z],E=w.#Q[V];if(E)if(E.#W=w.#W,B){if(E.#Q["*"])this.#G(J,E.#Q["*"],Q,w.#W);this.#G(J,E,Q,w.#W)}else U.push(E);for(let T=0,C=w.#X.length;T<C;T++){let P=w.#X[T],R=w.#W===xv?{}:{...w.#W};if(P==="*"){let g=w.#Q["*"];if(g)this.#G(J,g,Q,w.#W),g.#W=R,U.push(g);continue}let[k,_,f]=P;if(!V&&!(f instanceof RegExp))continue;let b=w.#Q[k];if(f instanceof RegExp){if($===null){$=Array(H);let m=X[0]==="/"?1:0;for(let h=0;h<H;h++)$[h]=m,m+=W[h].length+1}let g=X.substring($[F]),r=f.exec(g);if(r){if(R[_]=r[0],this.#G(J,b,Q,w.#W,R),tp6(b.#Q)){b.#W=R;let m=r[0].match(/\//)?.length??0;(Z[m]||=[]).push(b)}continue}}if(f===!0||f.test(V))if(R[_]=V,B){if(this.#G(J,b,Q,R,w.#W),b.#Q["*"])this.#G(J,b.#Q["*"],Q,R,w.#W)}else b.#W=R,U.push(b)}}let D=Z.shift();K=D?U.concat(D):U}if(J.length>1)J.sort((F,V)=>{return F.score-V.score});return[J.map(({handler:F,params:V})=>[F,V])]}};var zr0=j(()=>{PO();AO();xv=Object.create(null)});var ML1=class{name="TrieRouter";#Y;constructor(){this.#Y=new Dr0}add(Y,Q,X){let J=hr(Q);if(J){for(let G=0,K=J.length;G<K;G++)this.#Y.insert(Y,J[G],X);return}this.#Y.insert(Y,Q,X)}match(Y,Q){return this.#Y.search(Y,Q)}};var Or0=j(()=>{AO();zr0()});var Nr0=j(()=>{Or0()});var VQ;var Lr0=j(()=>{Wr0();qr0();Ur0();Nr0();VQ=class extends Gr0{constructor(Y={}){super(Y);this.router=Y.router??new LL1({routers:[new pr,new ML1]})}}});var JK=j(()=>{Lr0()});var ep6,Yc6,wL1=(Y,Q)=>{if(Q&&Y.indexOf(Q)===-1)return{};let X=Y.trim().split(";"),J={};for(let G of X){G=G.trim();let K=G.indexOf("=");if(K===-1)continue;let W=G.substring(0,K).trim();if(Q&&Q!==W||!ep6.test(W))continue;let Z=G.substring(K+1).trim();if(Z.startsWith('"')&&Z.endsWith('"'))Z=Z.slice(1,-1);if(Yc6.test(Z)){if(J[W]=Z.indexOf("%")!==-1?SP(Z,vv):Z,Q)break}}return J};var Mr0=j(()=>{AO();ep6=/^[\w!#$%&'*.^`|~+-]+$/,Yc6=/^[ !#-:<-[\]-~]*$/});var wr0=(Y,Q,X)=>{let J=Y.req.raw.headers.get("Cookie");if(typeof Q==="string"){if(!J)return;let K=Q;if(X==="secure")K="__Secure-"+Q;else if(X==="host")K="__Host-"+Q;return wL1(J,K)[K]}if(!J)return{};return wL1(J)};var Ar0=j(()=>{Mr0()});var Pr0=(Y)=>{let X={...{origin:"*",allowMethods:["GET","HEAD","PUT","POST","DELETE","PATCH"],allowHeaders:[],exposeHeaders:[]},...Y},J=((K)=>{if(typeof K==="string")if(K==="*")return()=>K;else return(W)=>K===W?W:null;else if(typeof K==="function")return K;else return(W)=>K.includes(W)?W:null})(X.origin),G=((K)=>{if(typeof K==="function")return K;else if(Array.isArray(K))return()=>K;else return()=>[]})(X.allowMethods);return async function(W,Z){function H(F,V){W.res.headers.set(F,V)}let $=await J(W.req.header("origin")||"",W);if($)H("Access-Control-Allow-Origin",$);if(X.credentials)H("Access-Control-Allow-Credentials","true");if(X.exposeHeaders?.length)H("Access-Control-Expose-Headers",X.exposeHeaders.join(","));if(W.req.method==="OPTIONS"){if(X.origin!=="*")H("Vary","Origin");if(X.maxAge!=null)H("Access-Control-Max-Age",X.maxAge.toString());let F=await G(W.req.header("origin")||"",W);if(F.length)H("Access-Control-Allow-Methods",F.join(","));let V=X.allowHeaders;if(!V?.length){let B=W.req.header("Access-Control-Request-Headers");if(B)V=B.split(/\s*,\s*/)}if(V?.length)H("Access-Control-Allow-Headers",V.join(",")),W.res.headers.append("Vary","Access-Control-Request-Headers");return W.res.headers.delete("Content-Length"),W.res.headers.delete("Content-Type"),new Response(null,{headers:W.res.headers,status:204,statusText:"No Content"})}if(await Z(),X.origin!=="*")W.header("Vary","Origin",{append:!0})}};var Er0=()=>{};function Qc6(){let{process:Y,Deno:Q}=globalThis;return!(typeof Q?.noColor==="boolean"?Q.noColor:Y!==void 0?"NO_COLOR"in Y?.env:!1)}async function Tr0(){let{navigator:Y}=globalThis,Q="cloudflare:workers";return!(Y!==void 0&&Y.userAgent==="Cloudflare-Workers"?await(async()=>{try{return"NO_COLOR"in((await import("cloudflare:workers")).env??{})}catch{return!1}})():!Qc6())}var Cr0=()=>{};async function Rr0(Y,Q,X,J,G=0,K){let W=Q==="<--"?`${Q} ${X} ${J}`:`${Q} ${X} ${J} ${await Gc6(G)} ${K}`;Y(W)}var Xc6=(Y)=>{let[Q,X]=[",","."];return Y.map((G)=>G.replace(/(\d)(?=(\d\d\d)+(?!\d))/g,"$1"+Q)).join(X)},Jc6=(Y)=>{let Q=Date.now()-Y;return Xc6([Q<1000?Q+"ms":Math.round(Q/1000)+"s"])},Gc6=async(Y)=>{if(await Tr0())switch(Y/100|0){case 5:return`\x1B[31m${Y}\x1B[0m`;case 4:return`\x1B[33m${Y}\x1B[0m`;case 3:return`\x1B[36m${Y}\x1B[0m`;case 2:return`\x1B[32m${Y}\x1B[0m`}return`${Y}`},Ir0=(Y=console.log)=>{return async function(X,J){let{method:G,url:K}=X.req,W=K.slice(K.indexOf("/",8));await Rr0(Y,"<--",G,W);let Z=Date.now();await J(),await Rr0(Y,"-->",G,W,X.res.status,Jc6(Z))}};var jr0=j(()=>{Cr0()});var Sr0=()=>{try{return performance.now()}catch{}return Date.now()},AL1=(Y)=>{let Q={total:!0,enabled:!0,totalDescription:"Total Response Time",autoEnd:!0,crossOrigin:!1,...Y};return async function(J,G){let K=[],W=new Map;if(J.get("metric"))return await G();if(J.set("metric",{headers:K,timers:W}),Q.total)vP(J,"total",Q.totalDescription);if(await G(),Q.total)TO(J,"total");if(Q.autoEnd)W.forEach((H,$)=>TO(J,$));if(typeof Q.enabled==="function"?Q.enabled(J):Q.enabled){J.res.headers.append("Server-Timing",K.join(","));let H=typeof Q.crossOrigin==="function"?Q.crossOrigin(J):Q.crossOrigin;if(H)J.res.headers.append("Timing-Allow-Origin",typeof H==="string"?H:"*")}}},kr0=(Y,Q,X,J,G)=>{let K=Y.get("metric");if(!K){console.warn("Metrics not initialized! Please add the `timing()` middleware to this route!");return}if(typeof X==="number"){let W=X.toFixed(G||1),Z=J?`${Q};dur=${W};desc="${J}"`:`${Q};dur=${W}`;K.headers.push(Z)}else{let W=X?`${Q};desc="${X}"`:`${Q}`;K.headers.push(W)}},vP=(Y,Q,X)=>{let J=Y.get("metric");if(!J){console.warn("Metrics not initialized! Please add the `timing()` middleware to this route!");return}J.timers.set(Q,{description:X,start:Sr0()})},TO=(Y,Q,X)=>{let J=Y.get("metric");if(!J){console.warn("Metrics not initialized! Please add the `timing()` middleware to this route!");return}let G=J.timers.get(Q);if(!G){console.warn(`Timer "${Q}" does not exist!`);return}let{description:K,start:W}=G,Z=Sr0()-W;kr0(Y,Q,Z,K,X),J.timers.delete(Q)};var vr0=j(()=>{gr()});var _r0=j(()=>{vr0()});class PL1{db;constructor(Y){this.db=Y}async create(Y,Q,X){let J=J9("vir"),G=new Date().toISOString();if(await this.db.insertInto("connections").values({id:J,organization_id:Y,created_by:Q,title:X.title,description:X.description??null,icon:X.icon??null,app_name:null,app_id:null,connection_type:"VIRTUAL",connection_url:`virtual://${J}`,connection_token:null,connection_headers:null,oauth_config:null,configuration_state:null,configuration_scopes:null,metadata:X.metadata?JSON.stringify(X.metadata):null,tools:null,bindings:null,status:X.status??"active",created_at:G,updated_at:G}).execute(),X.connections.length>0)await this.db.insertInto("connection_aggregations").values(X.connections.map((W)=>({id:J9("agg"),parent_connection_id:J,child_connection_id:W.connection_id,selected_tools:W.selected_tools?JSON.stringify(W.selected_tools):null,selected_resources:W.selected_resources?JSON.stringify(W.selected_resources):null,selected_prompts:W.selected_prompts?JSON.stringify(W.selected_prompts):null,dependency_mode:"direct",created_at:G}))).execute();let K=await this.findById(J);if(!K)throw Error(`Failed to create virtual MCP with id: ${J}`);return K}async findById(Y,Q){let X=f3(Y);if(X){let J=Q??X,G=await this.db.selectFrom("connections").selectAll().where("organization_id","=",J).where("status","!=","inactive").where("status","!=","error").execute();return{...Ex(J),connections:G.map((K)=>({connection_id:K.id,selected_tools:null,selected_resources:null,selected_prompts:null}))}}return this.findByIdInternal(this.db,Y)}async findByIdInternal(Y,Q){let X=await Y.selectFrom("connections").selectAll().where("id","=",Q).where("connection_type","=","VIRTUAL").executeTakeFirst();if(!X)return null;let J=await Y.selectFrom("connection_aggregations").selectAll().where("parent_connection_id","=",Q).where("dependency_mode","=","direct").execute();return this.deserializeVirtualMCPEntity(X,J)}async list(Y){let Q=await this.db.selectFrom("connections").selectAll().where("organization_id","=",Y).where("connection_type","=","VIRTUAL").execute(),X=Q.map((K)=>K.id);if(X.length===0)return[];let J=await this.db.selectFrom("connection_aggregations").selectAll().where("parent_connection_id","in",X).where("dependency_mode","=","direct").execute(),G=new Map;for(let K of J){let W=G.get(K.parent_connection_id)??[];W.push(K),G.set(K.parent_connection_id,W)}return Q.map((K)=>this.deserializeVirtualMCPEntity(K,G.get(K.id)??[]))}async listByConnectionId(Y,Q){let J=(await this.db.selectFrom("connection_aggregations").select("parent_connection_id").where("child_connection_id","=",Q).execute()).map((H)=>H.parent_connection_id);if(J.length===0)return[];let G=await this.db.selectFrom("connections").selectAll().where("id","in",J).where("organization_id","=",Y).where("connection_type","=","VIRTUAL").execute();if(G.length===0)return[];let K=G.map((H)=>H.id),W=await this.db.selectFrom("connection_aggregations").selectAll().where("parent_connection_id","in",K).where("dependency_mode","=","direct").execute(),Z=new Map;for(let H of W){let $=Z.get(H.parent_connection_id)??[];$.push(H),Z.set(H.parent_connection_id,$)}return G.map((H)=>this.deserializeVirtualMCPEntity(H,Z.get(H.id)??[]))}async update(Y,Q,X){let J=new Date().toISOString(),G={updated_at:J,updated_by:Q};if(X.title!==void 0)G.title=X.title;if(X.description!==void 0)G.description=X.description;if(X.icon!==void 0)G.icon=X.icon;if(X.status!==void 0)G.status=X.status;if(X.metadata!==void 0)G.metadata=X.metadata?JSON.stringify(X.metadata):null;if(await this.db.updateTable("connections").set(G).where("id","=",Y).where("connection_type","=","VIRTUAL").execute(),X.connections!==void 0){if(await this.db.deleteFrom("connection_aggregations").where("parent_connection_id","=",Y).where("dependency_mode","=","direct").execute(),X.connections.length>0)await this.db.insertInto("connection_aggregations").values(X.connections.map((W)=>({id:J9("agg"),parent_connection_id:Y,child_connection_id:W.connection_id,selected_tools:W.selected_tools?JSON.stringify(W.selected_tools):null,selected_resources:W.selected_resources?JSON.stringify(W.selected_resources):null,selected_prompts:W.selected_prompts?JSON.stringify(W.selected_prompts):null,dependency_mode:"direct",created_at:J}))).execute()}let K=await this.findById(Y);if(!K)throw Error("Virtual MCP not found after update");return K}async delete(Y){await this.db.deleteFrom("connection_aggregations").where("parent_connection_id","=",Y).execute(),await this.db.deleteFrom("connections").where("id","=",Y).where("connection_type","=","VIRTUAL").execute()}async removeConnectionReferences(Y){await this.db.deleteFrom("connection_aggregations").where("child_connection_id","=",Y).execute()}deserializeVirtualMCPEntity(Y,Q){let X=Y.created_at instanceof Date?Y.created_at.toISOString():Y.created_at,J=Y.updated_at instanceof Date?Y.updated_at.toISOString():Y.updated_at,G=Y.status==="active"?"active":"inactive",K=this.parseJson(Y.metadata);return{id:Y.id,organization_id:Y.organization_id,title:Y.title,description:Y.description,icon:Y.icon,status:G,created_at:X,updated_at:J,created_by:Y.created_by,updated_by:Y.updated_by??void 0,metadata:{...K,instructions:K?.instructions??null},connections:Q.map((W)=>({connection_id:W.child_connection_id,selected_tools:this.parseJson(W.selected_tools),selected_resources:this.parseJson(W.selected_resources),selected_prompts:this.parseJson(W.selected_prompts)}))}}parseJson(Y){if(Y===null)return null;if(typeof Y==="string")try{return JSON.parse(Y)}catch{return null}return Y}async listVirtualTools(Y){let Q=await this.db.selectFrom("connections").select(["tools","created_at","updated_at"]).where("id","=",Y).where("connection_type","=","VIRTUAL").executeTakeFirst();if(!Q)return[];let X=this.parseJson(Q.tools);if(!X)return[];let J=Q.created_at instanceof Date?Q.created_at.toISOString():Q.created_at,G=Q.updated_at instanceof Date?Q.updated_at.toISOString():Q.updated_at;return X.map((K,W)=>({tool:K,originalIndex:W})).filter(({tool:K})=>UB(K)).map(({tool:K,originalIndex:W})=>Ev(`${Y}:${K.name}:${W}`,K,J,G))}async getVirtualTool(Y,Q){let X=await this.db.selectFrom("connections").select(["tools","created_at","updated_at"]).where("id","=",Y).where("connection_type","=","VIRTUAL").executeTakeFirst();if(!X)return null;let J=this.parseJson(X.tools);if(!J)return null;let G=J.findIndex((H)=>H.name===Q&&UB(H));if(G===-1)return null;let K=J[G],W=X.created_at instanceof Date?X.created_at.toISOString():X.created_at,Z=X.updated_at instanceof Date?X.updated_at.toISOString():X.updated_at;return Ev(`${Y}:${K.name}:${G}`,K,W,Z)}async createVirtualTool(Y,Q,X){let J=new Date().toISOString(),G=await this.db.selectFrom("connections").select(["tools"]).where("id","=",Y).where("connection_type","=","VIRTUAL").executeTakeFirst();if(!G)throw Error(`Virtual MCP not found: ${Y}`);let K=this.parseJson(G.tools)??[];if(K.some((Z)=>Z.name===Q.name))throw Error(`Tool with name "${Q.name}" already exists`);let W={name:Q.name,description:Q.description,inputSchema:Q.inputSchema,outputSchema:Q.outputSchema,annotations:Q.annotations,_meta:{"mcp.mesh":{"tool.fn":Q.code},connectionDependencies:X}};return K.push(W),await this.db.updateTable("connections").set({tools:JSON.stringify(K),updated_at:J}).where("id","=",Y).execute(),await this.syncIndirectDependencies(Y,X),Ev(`${Y}:${Q.name}:${K.length-1}`,W,J,J)}async updateVirtualTool(Y,Q,X,J){let G=new Date().toISOString(),K=await this.db.selectFrom("connections").select(["tools","created_at"]).where("id","=",Y).where("connection_type","=","VIRTUAL").executeTakeFirst();if(!K)throw Error(`Virtual MCP not found: ${Y}`);let W=this.parseJson(K.tools)??[],Z=W.findIndex((B)=>B.name===Q&&UB(B));if(Z===-1)throw Error(`Virtual tool not found: ${Q}`);let H=W[Z];if(X.name&&X.name!==Q){if(W.some((B)=>B.name===X.name))throw Error(`Tool with name "${X.name}" already exists`)}let $=J??H._meta.connectionDependencies??[],F={name:X.name??H.name,description:X.description!==void 0?X.description??void 0:H.description,inputSchema:X.inputSchema??H.inputSchema,outputSchema:X.outputSchema!==void 0?X.outputSchema??void 0:H.outputSchema,annotations:X.annotations!==void 0?X.annotations??void 0:H.annotations,_meta:{"mcp.mesh":{"tool.fn":X.code??H._meta["mcp.mesh"]["tool.fn"]},connectionDependencies:$}};if(W[Z]=F,await this.db.updateTable("connections").set({tools:JSON.stringify(W),updated_at:G}).where("id","=",Y).execute(),J!==void 0)await this.recalculateIndirectDependencies(Y,W);let V=K.created_at instanceof Date?K.created_at.toISOString():K.created_at;return Ev(`${Y}:${F.name}:${Z}`,F,V,G)}async deleteVirtualTool(Y,Q){let X=new Date().toISOString(),J=await this.db.selectFrom("connections").select(["tools"]).where("id","=",Y).where("connection_type","=","VIRTUAL").executeTakeFirst();if(!J)throw Error(`Virtual MCP not found: ${Y}`);let G=this.parseJson(J.tools)??[],K=G.findIndex((W)=>W.name===Q&&UB(W));if(K===-1)throw Error(`Virtual tool not found: ${Q}`);G.splice(K,1),await this.db.updateTable("connections").set({tools:G.length>0?JSON.stringify(G):null,updated_at:X}).where("id","=",Y).execute(),await this.recalculateIndirectDependencies(Y,G)}async syncIndirectDependencies(Y,Q){if(Q.length===0)return;let X=new Date().toISOString(),J=await this.db.selectFrom("connection_aggregations").select(["child_connection_id","dependency_mode"]).where("parent_connection_id","=",Y).execute(),G=new Set(J.map((W)=>W.child_connection_id)),K=Q.filter((W)=>!G.has(W));if(K.length>0)await this.db.insertInto("connection_aggregations").values(K.map((W)=>({id:J9("agg"),parent_connection_id:Y,child_connection_id:W,selected_tools:null,selected_resources:null,selected_prompts:null,dependency_mode:"indirect",created_at:X}))).execute()}async recalculateIndirectDependencies(Y,Q){let X=new Set;for(let Z of Q)if(UB(Z)){let H=Z._meta.connectionDependencies??[];for(let $ of H)X.add($)}let J=await this.db.selectFrom("connection_aggregations").select(["id","child_connection_id","dependency_mode"]).where("parent_connection_id","=",Y).execute(),G=J.filter((Z)=>Z.dependency_mode==="indirect"&&!X.has(Z.child_connection_id)).map((Z)=>Z.id);if(G.length>0)await this.db.deleteFrom("connection_aggregations").where("id","in",G).execute();let K=new Set(J.map((Z)=>Z.child_connection_id)),W=Array.from(X).filter((Z)=>!K.has(Z));if(W.length>0){let Z=new Date().toISOString();await this.db.insertInto("connection_aggregations").values(W.map((H)=>({id:J9("agg"),parent_connection_id:Y,child_connection_id:H,selected_tools:null,selected_resources:null,selected_prompts:null,dependency_mode:"indirect",created_at:Z}))).execute()}}}var yr0=j(()=>{F7();QY();MF()});class EL1{patterns=[{type:"email",regex:/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/g},{type:"api_key",regex:/(?:api[_-]?key|token|secret|password|bearer)\s*[:=]\s*['"]?[\w-]{16,}['"]?/gi},{type:"jwt",regex:/eyJ[A-Za-z0-9-_]+\.eyJ[A-Za-z0-9-_]+\.[A-Za-z0-9-_.+/=]*/g},{type:"credit_card",regex:/\b\d{4}[- ]?\d{4}[- ]?\d{4}[- ]?\d{4}\b/g},{type:"ssn",regex:/\b\d{3}-\d{2}-\d{4}\b/g}];redact(Y){if(Y===null||Y===void 0)return Y;if(typeof Y==="string")return this.redactString(Y);if(Array.isArray(Y))return Y.map((Q)=>this.redact(Q));if(typeof Y==="object"){let Q={};for(let[X,J]of Object.entries(Y)){let G=this.redactString(X);Q[G]=this.redact(J)}return Q}return Y}redactString(Y){let Q=Y;for(let X of this.patterns)Q=Q.replace(X.regex,`[REDACTED:${X.type}]`);return Q}}import{sql as g6}from"kysely";class TL1{db;redactor;databaseType;constructor(Y,Q="sqlite"){this.db=Y;this.redactor=new EL1,this.databaseType=Q}jsonExtract(Y,Q){if(this.databaseType==="postgres")return g6`(${g6.ref(Y)}::jsonb)->>${Q}`;let X=`$.${Q}`;return g6`json_extract(${g6.ref(Y)}, ${X})`}jsonExtractWithCommas(Y,Q){if(this.databaseType==="postgres")return g6`(',' || (${g6.ref(Y)}::jsonb)->>${Q} || ',')`;let X=`$.${Q}`;return g6`(',' || json_extract(${g6.ref(Y)}, ${X}) || ',')`}escapeLikeWildcards(Y){return Y.replace(/\\/g,"\\\\").replace(/%/g,"\\%").replace(/_/g,"\\_")}async log(Y){await this.logBatch([Y])}async logBatch(Y){if(Y.length===0)return;let Q=Y.map((X)=>({...X,input:this.redactor.redact(X.input),output:this.redactor.redact(X.output)}));await this.db.transaction().execute(async(X)=>{await X.insertInto("monitoring_logs").values(Q.map((J)=>this.toDbRow(J))).execute()})}async query(Y){let Q=this.db.selectFrom("monitoring_logs").selectAll(),X=this.db.selectFrom("monitoring_logs").select((Z)=>Z.fn.count("id").as("count"));if(Y.organizationId)Q=Q.where("organization_id","=",Y.organizationId),X=X.where("organization_id","=",Y.organizationId);if(Y.connectionId)Q=Q.where("connection_id","=",Y.connectionId),X=X.where("connection_id","=",Y.connectionId);if(Y.excludeConnectionIds&&Y.excludeConnectionIds.length>0)Q=Q.where("connection_id","not in",Y.excludeConnectionIds),X=X.where("connection_id","not in",Y.excludeConnectionIds);if(Y.virtualMcpId)Q=Q.where("virtual_mcp_id","=",Y.virtualMcpId),X=X.where("virtual_mcp_id","=",Y.virtualMcpId);if(Y.toolName)Q=Q.where("tool_name","=",Y.toolName),X=X.where("tool_name","=",Y.toolName);if(Y.isError!==void 0)Q=Q.where("is_error","=",Y.isError?1:0),X=X.where("is_error","=",Y.isError?1:0);if(Y.startDate)Q=Q.where("timestamp",">=",Y.startDate.toISOString()),X=X.where("timestamp",">=",Y.startDate.toISOString());if(Y.endDate)Q=Q.where("timestamp","<=",Y.endDate.toISOString()),X=X.where("timestamp","<=",Y.endDate.toISOString());if(Y.propertyFilters)Q=this.applyPropertyFilters(Q,Y.propertyFilters),X=this.applyPropertyFilters(X,Y.propertyFilters);if(Q=Q.orderBy("timestamp","desc"),Y.limit)Q=Q.limit(Y.limit);if(Y.offset)Q=Q.offset(Y.offset);let[J,G]=await Promise.all([Q.execute(),X.executeTakeFirst()]),K=Number(G?.count||0);return{logs:J.map((Z)=>this.fromDbRow(Z)),total:K}}async getStats(Y){let Q=this.db.selectFrom("monitoring_logs").where("organization_id","=",Y.organizationId);if(Y.startDate)Q=Q.where("timestamp",">=",Y.startDate.toISOString());if(Y.endDate)Q=Q.where("timestamp","<=",Y.endDate.toISOString());let X=await Q.select([(W)=>W.fn.count("id").as("total_count"),(W)=>W.fn.sum(W.ref("is_error")).as("error_count"),(W)=>W.fn.avg("duration_ms").as("avg_duration")]).executeTakeFirst(),J=Number(X?.total_count||0),G=Number(X?.error_count||0),K=Number(X?.avg_duration||0);return{totalCalls:J,errorRate:J>0?G/J:0,avgDurationMs:K}}async aggregate(Y){let{organizationId:Q,path:X,from:J,aggregation:G,groupBy:K,groupByColumn:W,interval:Z,filters:H}=Y,$=J==="input"?"input":"output",F=this.db.selectFrom("monitoring_logs").where("organization_id","=",Q);if(H?.connectionIds&&H.connectionIds.length>0)F=F.where("connection_id","in",H.connectionIds);if(H?.virtualMcpIds&&H.virtualMcpIds.length>0)F=F.where("virtual_mcp_id","in",H.virtualMcpIds);if(H?.toolNames&&H.toolNames.length>0)F=F.where("tool_name","in",H.toolNames);if(H?.startDate)F=F.where("timestamp",">=",H.startDate.toISOString());if(H?.endDate)F=F.where("timestamp","<=",H.endDate.toISOString());if(H?.propertyFilters)F=this.applyPropertyFilters(F,H.propertyFilters);let V=this.jsonExtractPath($,X);if(W){let U=g6.ref(W);return{value:null,groups:(await F.select([g6`${U}`.as("group_key"),this.aggregationExpression(G,V).as("agg_value")]).groupBy(g6`${U}`).execute()).filter((z)=>z.group_key!==null).map((z)=>({key:String(z.group_key),value:Number(z.agg_value)||0}))}}if(K){let U=this.jsonExtractPathText($,K);return{value:null,groups:(await F.select([g6`${U}`.as("group_key"),this.aggregationExpression(G,V).as("agg_value")]).groupBy(g6`${U}`).execute()).filter((z)=>z.group_key!==null).map((z)=>({key:String(z.group_key),value:Number(z.agg_value)||0}))}}if(Z){let U=this.timeBucketExpression(Z);return{value:null,timeseries:(await F.select([U.as("time_bucket"),this.aggregationExpression(G,V).as("agg_value")]).groupBy(g6`time_bucket`).orderBy(g6`time_bucket`).execute()).map((z)=>({timestamp:String(z.time_bucket),value:Number(z.agg_value)||0}))}}let B=await F.select([this.aggregationExpression(G,V).as("agg_value")]).executeTakeFirst();return{value:B?Number(B.agg_value)||0:null}}async countMatched(Y){let{organizationId:Q,path:X,from:J,filters:G}=Y,K=J==="input"?"input":"output",W=this.db.selectFrom("monitoring_logs").where("organization_id","=",Q);if(G?.connectionIds&&G.connectionIds.length>0)W=W.where("connection_id","in",G.connectionIds);if(G?.toolNames&&G.toolNames.length>0)W=W.where("tool_name","in",G.toolNames);if(G?.startDate)W=W.where("timestamp",">=",G.startDate.toISOString());if(G?.endDate)W=W.where("timestamp","<=",G.endDate.toISOString());if(G?.propertyFilters)W=this.applyPropertyFilters(W,G.propertyFilters);let Z=this.jsonExtractPathText(K,X),H=await W.where(g6`${Z}`,"is not",null).select(($)=>$.fn.count("id").as("count")).executeTakeFirst();return Number(H?.count||0)}jsonExtractPath(Y,Q){if(this.databaseType==="postgres"){let J=`{${Q.replace(/^\$\.?/,"").split(".").join(",")}}`;return g6`(${g6.ref(Y)}::jsonb #>> ${J})::numeric`}return g6`CAST(json_extract(${g6.ref(Y)}, ${Q}) AS REAL)`}jsonExtractPathText(Y,Q){if(this.databaseType==="postgres"){let J=`{${Q.replace(/^\$\.?/,"").split(".").join(",")}}`;return g6`(${g6.ref(Y)}::jsonb #>> ${J})`}return g6`json_extract(${g6.ref(Y)}, ${Q})`}aggregationExpression(Y,Q){switch(Y){case"sum":return g6`COALESCE(SUM(${Q}), 0)`;case"avg":return g6`COALESCE(AVG(${Q}), 0)`;case"min":return g6`MIN(${Q})`;case"max":return g6`MAX(${Q})`;case"count":return g6`COUNT(${Q})`;case"count_all":return g6`COUNT(*)`;case"last":return g6`MAX(${Q})`;default:return g6`SUM(${Q})`}}timeBucketExpression(Y){let Q=Y.match(/^(\d+)([mhd])$/);if(!Q)throw Error(`Invalid interval format: ${Y}. Use format like "1h", "1d", "15m"`);let[,X,J]=Q;if(!X||!J)throw Error(`Invalid interval format: ${Y}`);let G=parseInt(X,10);if(this.databaseType==="postgres"){let K;switch(J){case"m":K="minute";break;case"h":K="hour";break;case"d":K="day";break;default:K="hour"}if(G===1)return g6`date_trunc(${K}, timestamp::timestamp)`;let Z=G*(J==="m"?60:J==="h"?3600:86400);return g6`to_timestamp(floor(extract(epoch from timestamp::timestamp) / ${Z}) * ${Z})`}switch(J){case"m":if(G===1)return g6`strftime('%Y-%m-%d %H:%M:00', timestamp)`;return g6`strftime('%Y-%m-%d %H:', timestamp) || printf('%02d', (cast(strftime('%M', timestamp) as integer) / ${G}) * ${G}) || ':00'`;case"h":if(G===1)return g6`strftime('%Y-%m-%d %H:00:00', timestamp)`;return g6`strftime('%Y-%m-%d ', timestamp) || printf('%02d', (cast(strftime('%H', timestamp) as integer) / ${G}) * ${G}) || ':00:00'`;case"d":return g6`strftime('%Y-%m-%d 00:00:00', timestamp)`;default:return g6`strftime('%Y-%m-%d %H:00:00', timestamp)`}}applyPropertyFilters(Y,Q){let{properties:X,propertyKeys:J,propertyPatterns:G,propertyInValues:K}=Q;if(X)for(let[W,Z]of Object.entries(X)){let H=this.jsonExtract("properties",W);Y=Y.where(H,"=",Z)}if(J&&J.length>0)for(let W of J){let Z=this.jsonExtract("properties",W);Y=Y.where(Z,"is not",null)}if(G)for(let[W,Z]of Object.entries(G)){let H=this.jsonExtract("properties",W),$=this.databaseType==="postgres"?"ilike":"like";Y=Y.where(H,$,Z)}if(K)for(let[W,Z]of Object.entries(K)){let H=this.jsonExtractWithCommas("properties",W),F=`%,${this.escapeLikeWildcards(Z)},%`,V=g6`${H} LIKE ${F} ESCAPE '\\'`;Y=Y.where(V)}return Y}toDbRow(Y){return{id:Y.id||J9("log"),organization_id:Y.organizationId,connection_id:Y.connectionId,connection_title:Y.connectionTitle,tool_name:Y.toolName,input:JSON.stringify(Y.input),output:JSON.stringify(Y.output),is_error:Y.isError?1:0,error_message:Y.errorMessage||null,duration_ms:Y.durationMs,timestamp:Y.timestamp instanceof Date?Y.timestamp.toISOString():Y.timestamp,user_id:Y.userId||null,request_id:Y.requestId,user_agent:Y.userAgent||null,virtual_mcp_id:Y.virtualMcpId||null,properties:Y.properties?JSON.stringify(Y.properties):null}}fromDbRow(Y){let Q=typeof Y.input==="string"?JSON.parse(Y.input):Y.input,X=typeof Y.output==="string"?JSON.parse(Y.output):Y.output,J=typeof Y.timestamp==="string"?new Date(Y.timestamp):Y.timestamp,G=Y.properties?typeof Y.properties==="string"?JSON.parse(Y.properties):Y.properties:null;return{id:Y.id,organizationId:Y.organization_id,connectionId:Y.connection_id,connectionTitle:Y.connection_title,toolName:Y.tool_name,input:Q,output:X,isError:Y.is_error===1,errorMessage:Y.error_message,durationMs:Y.duration_ms,timestamp:J,userId:Y.user_id,requestId:Y.request_id,userAgent:Y.user_agent,virtualMcpId:Y.virtual_mcp_id,properties:G}}}var fr0=j(()=>{F7()});class CL1{db;constructor(Y){this.db=Y}async create(Y,Q,X){let J=J9("dash"),G=new Date().toISOString();return await this.db.insertInto("monitoring_dashboards").values({id:J,organization_id:Y,name:X.name,description:X.description??null,filters:X.filters?JSON.stringify(X.filters):null,widgets:JSON.stringify(X.widgets),created_by:Q,created_at:G,updated_at:G}).execute(),{id:J,organizationId:Y,name:X.name,description:X.description??null,filters:X.filters??null,widgets:X.widgets,createdBy:Q,createdAt:G,updatedAt:G}}async get(Y){let Q=await this.db.selectFrom("monitoring_dashboards").selectAll().where("id","=",Y).executeTakeFirst();if(!Q)return null;return this.fromDbRow(Q)}async list(Y){return(await this.db.selectFrom("monitoring_dashboards").selectAll().where("organization_id","=",Y).orderBy("created_at","desc").execute()).map((X)=>this.fromDbRow(X))}async update(Y,Q){let J={updated_at:new Date().toISOString()};if(Q.name!==void 0)J.name=Q.name;if(Q.description!==void 0)J.description=Q.description;if(Q.filters!==void 0)J.filters=Q.filters?JSON.stringify(Q.filters):null;if(Q.widgets!==void 0)J.widgets=JSON.stringify(Q.widgets);await this.db.updateTable("monitoring_dashboards").set(J).where("id","=",Y).execute();let G=await this.get(Y);if(!G)throw Error(`Dashboard ${Y} not found after update`);return G}async delete(Y){await this.db.deleteFrom("monitoring_dashboards").where("id","=",Y).execute()}fromDbRow(Y){let Q=Y.filters?typeof Y.filters==="string"?JSON.parse(Y.filters):Y.filters:null,X=typeof Y.widgets==="string"?JSON.parse(Y.widgets):Y.widgets;return{id:Y.id,organizationId:Y.organization_id,name:Y.name,description:Y.description,filters:Q,widgets:X,createdBy:Y.created_by,createdAt:Y.created_at instanceof Date?Y.created_at.toISOString():Y.created_at,updatedAt:Y.updated_at instanceof Date?Y.updated_at.toISOString():Y.updated_at}}}var br0=j(()=>{F7()});class RL1{db;constructor(Y){this.db=Y}async get(Y){let Q=await this.db.selectFrom("organization_settings").selectAll().where("organizationId","=",Y).executeTakeFirst();if(!Q)return null;return{organizationId:Q.organizationId,sidebar_items:Q.sidebar_items?typeof Q.sidebar_items==="string"?JSON.parse(Q.sidebar_items):Q.sidebar_items:null,enabled_plugins:Q.enabled_plugins?typeof Q.enabled_plugins==="string"?JSON.parse(Q.enabled_plugins):Q.enabled_plugins:null,createdAt:Q.createdAt,updatedAt:Q.updatedAt}}async upsert(Y,Q){let X=new Date().toISOString(),J=Q?.sidebar_items?JSON.stringify(Q.sidebar_items):null,G=Q?.enabled_plugins?JSON.stringify(Q.enabled_plugins):null;await this.db.insertInto("organization_settings").values({organizationId:Y,sidebar_items:J,enabled_plugins:G,createdAt:X,updatedAt:X}).onConflict((W)=>W.column("organizationId").doUpdateSet({sidebar_items:J?J:void 0,enabled_plugins:G?G:void 0,updatedAt:X})).execute();let K=await this.get(Y);if(!K)return{organizationId:Y,sidebar_items:Q?.sidebar_items??null,enabled_plugins:Q?.enabled_plugins??null,createdAt:X,updatedAt:X};return K}}class IL1{db;constructor(Y){this.db=Y}parseRow(Y){return{id:Y.id,projectId:Y.project_id,pluginId:Y.plugin_id,connectionId:Y.connection_id,settings:Y.settings?typeof Y.settings==="string"?JSON.parse(Y.settings):Y.settings:null,createdAt:Y.created_at,updatedAt:Y.updated_at}}async list(Y){return(await this.db.selectFrom("project_plugin_configs").selectAll().where("project_id","=",Y).execute()).map((X)=>this.parseRow(X))}async get(Y,Q){let X=await this.db.selectFrom("project_plugin_configs").selectAll().where("project_id","=",Y).where("plugin_id","=",Q).executeTakeFirst();return X?this.parseRow(X):null}async upsert(Y,Q,X){let J=new Date().toISOString();if(await this.get(Y,Q)){let Z={updated_at:J};if(X.connectionId!==void 0)Z.connection_id=X.connectionId;if(X.settings!==void 0)Z.settings=X.settings?JSON.stringify(X.settings):null;await this.db.updateTable("project_plugin_configs").set(Z).where("project_id","=",Y).where("plugin_id","=",Q).execute();let H=await this.get(Y,Q);if(!H)throw Error("Failed to update project plugin config");return H}let K=J9("ppc");await this.db.insertInto("project_plugin_configs").values({id:K,project_id:Y,plugin_id:Q,connection_id:X.connectionId??null,settings:X.settings?JSON.stringify(X.settings):null,created_at:J,updated_at:J}).execute();let W=await this.get(Y,Q);if(!W)throw Error("Failed to create project plugin config");return W}async delete(Y,Q){return((await this.db.deleteFrom("project_plugin_configs").where("project_id","=",Y).where("plugin_id","=",Q).executeTakeFirst()).numDeletedRows??0n)>0n}async getBoundConnectionsForProjects(Y){if(Y.length===0)return new Map;let Q=await this.db.selectFrom("project_plugin_configs").innerJoin("connections","connections.id","project_plugin_configs.connection_id").select(["project_plugin_configs.project_id","connections.id as connection_id","connections.title","connections.icon"]).where("project_plugin_configs.project_id","in",Y).where("project_plugin_configs.connection_id","is not",null).execute(),X=new Map;for(let J of Q){let G=J.project_id;if(!X.has(G))X.set(G,[]);X.get(G).push({id:J.connection_id,title:J.title,icon:J.icon})}return X}}var hr0=j(()=>{F7()});class jL1{db;constructor(Y){this.db=Y}async listOrgTags(Y){return(await this.db.selectFrom("organization_tags").selectAll().where("organization_id","=",Y).orderBy("name","asc").execute()).map((X)=>this.tagFromDbRow(X))}async getTag(Y){let Q=await this.db.selectFrom("organization_tags").selectAll().where("id","=",Y).executeTakeFirst();return Q?this.tagFromDbRow(Q):null}async getTagByName(Y,Q){let X=await this.db.selectFrom("organization_tags").selectAll().where("organization_id","=",Y).where("name","=",Q).executeTakeFirst();return X?this.tagFromDbRow(X):null}async createTag(Y,Q){let X=J9("tag"),J=new Date().toISOString();await this.db.insertInto("organization_tags").values({id:X,organization_id:Y,name:Q,created_at:J}).onConflict((K)=>K.columns(["organization_id","name"]).doNothing()).execute();let G=await this.getTagByName(Y,Q);if(!G)throw Error(`Failed to create or retrieve tag: ${Q}`);return G}async deleteTag(Y){await this.db.deleteFrom("organization_tags").where("id","=",Y).execute()}async getMemberTags(Y){return(await this.db.selectFrom("member_tags").innerJoin("organization_tags","organization_tags.id","member_tags.tag_id").select(["organization_tags.id","organization_tags.organization_id","organization_tags.name","organization_tags.created_at"]).where("member_tags.member_id","=",Y).orderBy("organization_tags.name","asc").execute()).map((X)=>this.tagFromDbRow(X))}async setMemberTags(Y,Q){await this.db.transaction().execute(async(X)=>{if(await X.deleteFrom("member_tags").where("member_id","=",Y).execute(),Q.length>0){let J=new Date().toISOString();await X.insertInto("member_tags").values(Q.map((G)=>({id:J9("mtag"),member_id:Y,tag_id:G,created_at:J}))).execute()}})}async addMemberTag(Y,Q){let X=new Date().toISOString();await this.db.insertInto("member_tags").values({id:J9("mtag"),member_id:Y,tag_id:Q,created_at:X}).onConflict((J)=>J.columns(["member_id","tag_id"]).doNothing()).execute()}async removeMemberTag(Y,Q){await this.db.deleteFrom("member_tags").where("member_id","=",Y).where("tag_id","=",Q).execute()}async verifyMemberOrg(Y,Q){return await this.db.selectFrom("member").select("id").where("id","=",Y).where("organizationId","=",Q).executeTakeFirst()!==void 0}async getUserTagsInOrg(Y,Q){return(await this.db.selectFrom("member").innerJoin("member_tags","member_tags.member_id","member.id").innerJoin("organization_tags","organization_tags.id","member_tags.tag_id").select(["organization_tags.id","organization_tags.organization_id","organization_tags.name","organization_tags.created_at"]).where("member.userId","=",Y).where("member.organizationId","=",Q).orderBy("organization_tags.name","asc").execute()).map((J)=>this.tagFromDbRow(J))}async getMembersWithTags(Y){let Q=await this.db.selectFrom("member").leftJoin("member_tags","member_tags.member_id","member.id").leftJoin("organization_tags","organization_tags.id","member_tags.tag_id").select(["member.id as memberId","organization_tags.name as tagName"]).where("member.organizationId","=",Y).execute(),X=new Map;for(let J of Q){if(!X.has(J.memberId))X.set(J.memberId,[]);if(J.tagName)X.get(J.memberId).push(J.tagName)}return X}tagFromDbRow(Y){return{id:Y.id,organizationId:Y.organization_id,name:Y.name,createdAt:Y.created_at}}}var xr0=j(()=>{F7()});class SL1{db;constructor(Y){this.db=Y}async findById(Y,Q){let X=await this.db.selectFrom("user").select(["user.id","user.name","user.email","user.image","user.createdAt","user.updatedAt"]).where("user.id","=",Y).where((J)=>J.exists(J.selectFrom("member as m1").innerJoin("member as m2","m1.organizationId","m2.organizationId").select("m1.id").where("m1.userId","=",Y).where("m2.userId","=",Q))).executeTakeFirst();if(!X)return null;return{id:X.id,name:X.name,email:X.email,role:"",createdAt:X.createdAt,updatedAt:X.updatedAt,image:X.image??void 0}}}async function gr0(Y,Q){return(await Q.storage.connections.findById(Y))?.connection_url??null}function Wc6(Y){let Q=Y.toLowerCase();return Q.includes("resource_metadata=")||Q.includes("invalid_token")||Q.includes("oauth")}async function ur0(Y,Q={}){try{let X=await fetch(Y,{method:"POST",headers:{...Q,"Content-Type":"application/json",Accept:"application/json, text/event-stream"},body:JSON.stringify({jsonrpc:"2.0",id:0,method:"initialize",params:{protocolVersion:"2025-06-18",capabilities:{},clientInfo:{name:"mcp-mesh-proxy",version:"1.0.0"}}})});if(X.status===401){let J=X.headers.get("WWW-Authenticate");if(J){if(Wc6(J))return J}if(await Zc6(Y))return'Bearer realm="mcp"'}return null}catch{return null}}async function Zc6(Y){try{let Q=new URL(Y),X=new URL("/.well-known/oauth-authorization-server",Q.origin),J=await fetch(X.toString(),{method:"GET",headers:{Accept:"application/json"}});if(J.ok){let G=await J.json();if(G.authorization_endpoint||G.token_endpoint||G.issuer)return!0}return!1}catch{return!1}}async function nr(Y){let X=new URL(Y).pathname;if(X.endsWith("/"))X=X.slice(0,-1);let J=new URL(Y);J.pathname=`${X}/.well-known/oauth-protected-resource`;let G=await fetch(J.toString(),{method:"GET",headers:{Accept:"application/json"}});if(G.ok)return G;if(!kL1.includes(G.status))return G;let K=new URL(Y);if(K.pathname=`/.well-known/oauth-protected-resource${X}`,G=await fetch(K.toString(),{method:"GET",headers:{Accept:"application/json"}}),!kL1.includes(G.status))return G;let W=new URL(Y);return W.pathname="/.well-known/oauth-protected-resource",G=await fetch(W.toString(),{method:"GET",headers:{Accept:"application/json"}}),G}async function Kc6(Y,Q){let X=await gr0(Y,Q);if(!X)return null;let J;try{J=new URL(X).origin}catch{return null}try{let G=await nr(X);if(G.ok){let K=await G.json();if(K.authorization_servers?.[0])return K.authorization_servers[0]}}catch{}return J}async function mr0(Y){let Q=Y.get("meshContext");if(!Q)Q=await PF.create(Y.req.raw),Y.set("meshContext",Q);return Q}async function lr0({error:Y,reqUrl:Q,connectionId:X,connectionUrl:J,headers:G}){let K=Y.message?.toLowerCase()??"";if(!(Y.status===401||Y.code===401||Y.message?.includes("401")||K.includes("unauthorized")||K.includes("invalid_token")||K.includes("api key required")||K.includes("api-key required")))return null;if(Boolean(await ur0(J,G)))return new Response(null,{status:401,headers:{"WWW-Authenticate":`Bearer realm="mcp",resource_metadata="${Q.origin}/mcp/${X}/.well-known/oauth-protected-resource"`}});return new Response(JSON.stringify({error:"unauthorized",message:"Authentication required but server does not support OAuth"}),{status:401,headers:{"Content-Type":"application/json"}})}async function vL1(Y){let X=new URL(Y).pathname;if(X.endsWith("/"))X=X.slice(0,-1);let J=X!==""&&X!=="/",G=[];if(J){let W=new URL(Y);W.pathname=`/.well-known/oauth-authorization-server${X}`,G.push(W);let Z=new URL(Y);Z.pathname=`/.well-known/openid-configuration${X}`,G.push(Z);let H=new URL(Y);H.pathname=`${X}/.well-known/openid-configuration`,G.push(H)}else{let W=new URL(Y);W.pathname="/.well-known/oauth-authorization-server",G.push(W);let Z=new URL(Y);Z.pathname="/.well-known/openid-configuration",G.push(Z)}let K=null;for(let W of G){if(K=await fetch(W.toString(),{method:"GET",headers:{Accept:"application/json"}}),K.ok)return K;if(K.status!==404&&K.status!==401)return K}return K}var cr,kL1,dr0=(Y)=>{if(!(Y.hostname==="localhost"||Y.hostname.endsWith(".localhost")||Y.hostname==="127.0.0.1"))Y.protocol="https:";return Y},pr0=async(Y)=>{let Q=Y.req.param("connectionId"),X=await mr0(Y),J=await gr0(Q,X);if(!J)return Y.json({error:"Connection not found"},404);let G=dr0(new URL(Y.req.url)),K=`${G.origin}/mcp/${Q}`,W=`${G.origin}/oauth-proxy/${Q}`;try{let Z=await nr(J);if(!Z.ok&&kL1.includes(Z.status)){if(await ur0(J))return new Response(JSON.stringify({resource:K,authorization_servers:[W],bearer_methods_supported:["header"],scopes_supported:["*"]}),{status:200,headers:{"Content-Type":"application/json"}});return new Response(Z.body,{status:Z.status,statusText:Z.statusText,headers:{"Content-Type":"application/json"}})}if(!Z.ok)return new Response(Z.body,{status:Z.status,statusText:Z.statusText,headers:{"Content-Type":"application/json"}});let H=await Z.json();if("issuer"in H&&!("resource"in H)&&(("authorization_endpoint"in H)||("token_endpoint"in H))){let V={resource:K,authorization_servers:[W],bearer_methods_supported:["header"],scopes_supported:"scopes_supported"in H&&Array.isArray(H.scopes_supported)&&H.scopes_supported.length>0?H.scopes_supported:["*"]};return new Response(JSON.stringify(V),{status:200,headers:{"Content-Type":"application/json"}})}let F={...H,resource:K,authorization_servers:[W]};return new Response(JSON.stringify(F),{status:Z.status,statusText:Z.statusText,headers:{"Content-Type":"application/json"}})}catch(Z){let H=Z;return console.error("[oauth-proxy] Failed to proxy OAuth protected resource metadata:",H),Y.json({error:"Failed to proxy OAuth metadata",message:H.message},502)}},cr0;var _L1=j(()=>{JK();ir();cr=new VQ,kL1=[404,401,406];cr.get("/.well-known/oauth-protected-resource/mcp/:connectionId",(Y)=>pr0(Y));cr.get("/mcp/:connectionId/.well-known/oauth-protected-resource",(Y)=>pr0(Y));cr.get("/.well-known/oauth-authorization-server/oauth-proxy/:connectionId",async(Y)=>{let Q=Y.req.param("connectionId"),X=await mr0(Y),J=await Kc6(Q,X);if(!J)return Y.json({error:"Connection not found or no auth server"},404);try{let G=await vL1(J);if(!G.ok)return new Response(G.body,{status:G.status,statusText:G.statusText,headers:{"Content-Type":"application/json"}});let K=await G.json(),Z=`${dr0(new URL(Y.req.url)).origin}/oauth-proxy/${Q}`,H={...K,authorization_endpoint:K.authorization_endpoint?`${Z}/authorize`:void 0,token_endpoint:K.token_endpoint?`${Z}/token`:void 0,registration_endpoint:K.registration_endpoint?`${Z}/register`:void 0};return new Response(JSON.stringify(H),{status:200,headers:{"Content-Type":"application/json"}})}catch(G){let K=G;return console.error("[oauth-proxy] Failed to proxy auth server metadata:",K),Y.json({error:"Failed to proxy auth server metadata",message:K.message},502)}});cr0=cr});async function ar(Y,Q){let X=Y.get("meshContext");try{let J=Y.req.header("x-org-id"),G=Y.req.header("x-org-slug"),K=J?J:G?await X.db.selectFrom("organization").select("id").where("slug","=",G).executeTakeFirst().then((U)=>U?.id):null,W=Q?Q:K?WL(K):null;if(!W)return Y.json({error:"Agent ID or organization ID is required"},400);let Z=await X.storage.virtualMcps.findById(W,K??void 0);if(!Z)return Y.json({error:"Agent not found"},404);if(K&&Z.organization_id!==K)return Y.json({error:"Agent not found"},404);if(Z.status!=="active")return Y.json({error:`Agent is inactive: ${Z.id??"Decopilot"}`},503);X.connectionId=Z.id??void 0;let H=await X.db.selectFrom("organization").select(["id","slug","name"]).where("id","=",Z.organization_id).executeTakeFirst();if(H)X.organization={id:H.id,slug:H.slug,name:H.name};let $=nO1(Y.req.query("mode")),F=await DB(Z,X,$),V=TU(F,{name:`mcp-virtual-mcp-${Z.title??"Decopilot"}`,version:"1.0.0"},{capabilities:{tools:{},resources:{},prompts:{}},instructions:Z.metadata?.instructions??void 0}),B=new i$({enableJsonResponse:Y.req.header("Accept")?.includes("application/json")??!1});return await V.connect(B),await B.handleRequest(Y.req.raw)}catch(J){let G=J;return console.error("[virtual-mcp] Error handling virtual MCP request:",G),Y.json({error:"Internal server error",message:G.message},500)}}var yL1,nr0;var fL1=j(()=>{QY();Qk();JK();Cv();yL1=new VQ;yL1.all("/gateway/:virtualMcpId?",async(Y)=>{let Q=Y.req.param("virtualMcpId")||Y.req.header("x-virtual-mcp-id");return ar(Y,Q)});yL1.all("/virtual-mcp/:virtualMcpId?",async(Y)=>{let Q=Y.req.param("virtualMcpId")||Y.req.header("x-virtual-mcp-id");return ar(Y,Q)});nr0=yL1});function CO(Y){let Q={client:{callTool:Y.callTool.bind(Y),listTools:Y.listTools.bind(Y)}};if("callStreamableTool"in Y&&Y.callStreamableTool)return{...Q,callStreamableTool:Y.callStreamableTool.bind(Y)};return Q}async function ar0(Y,Q,{superUser:X}){let J=typeof Y==="string"?await Q.storage.connections.findById(Y,Q.organization?.id):Y;if(!J)throw Error("Connection not found");if(Q.organization&&J.organization_id!==Q.organization.id)throw Error("Connection does not belong to the active organization");if(Q.organization??={id:J.organization_id},J.status!=="active")throw Error(`Connection inactive: ${J.status}`);let G=await y5(J,Q,X),K=rO1(G,J),W=K.getServerCapabilities()??{tools:{},resources:{},prompts:{}},Z=TU(K,{name:"mcp-mesh-proxy-client",version:"1.0.0"},{capabilities:W,instructions:K.getInstructions()}),{client:H,server:$}=q91();await Z.connect($);let F=new eJ({name:"mcp-mesh-proxy-client",version:"1.0.0"});return await F.connect(H),F}async function rr0(Y,Q){return ar0(Y,Q,{superUser:!1})}async function bL1(Y,Q){return ar0(Y,Q,{superUser:!0})}var rr,ir0=300000,or0=(Y,Q)=>{if(Y.message.includes("not found"))return Q.json({error:Y.message},404);if(Y.message.includes("does not belong to the active organization"))return Q.json({error:"Connection not found"},404);if(Y.message.includes("inactive"))return Q.json({error:Y.message},503);return Q.json({error:"Internal server error",message:Y.message},500)},sr0;var RO=j(()=>{RP();QY();LU();Qk();JK();_L1();fL1();rr=new VQ;rr.all("/",async(Y)=>{return ar(Y,void 0)});rr.all("/:connectionId",async(Y)=>{let Q=Y.req.param("connectionId"),X=Y.get("meshContext");try{try{let J=await X.storage.connections.findById(Q,X.organization?.id);if(!J)throw Error("Connection not found");if(X.organization&&J.organization_id!==X.organization.id)throw Error("Connection does not belong to the active organization");if(X.organization??={id:J.organization_id},J.status!=="active")throw Error(`Connection inactive: ${J.status}`);let G=await aO1(J,X,!1),K=new i$({enableJsonResponse:Y.req.raw.headers.get("Accept")?.includes("application/json")??!1});return await G.connect(K),await K.handleRequest(Y.req.raw)}catch(J){let G=await X.storage.connections.findById(Q,X.organization?.id);if(G?.connection_url){let K=await lr0({error:J,reqUrl:new URL(Y.req.raw.url),connectionId:Q,connectionUrl:G.connection_url,headers:{}});if(K)return K}throw J}}catch(J){return or0(J,Y)}});rr.all("/:connectionId/call-tool/:toolName",async(Y)=>{let Q=Y.req.param("connectionId"),X=Y.req.param("toolName"),J=Y.get("meshContext");try{let G=await J.storage.connections.findById(Q,J.organization?.id);if(!G)return Y.json({error:"Connection not found"},404);let W=await(await y5(G,J,!1)).callTool({name:X,arguments:await Y.req.json()});if(W instanceof Response)return W;if(W.isError)return new Response(JSON.stringify(W.content),{headers:{"Content-Type":"application/json"},status:500});return new Response(JSON.stringify(W.structuredContent??W.content),{headers:{"Content-Type":"application/json"}})}catch(G){return or0(G,Y)}});sr0=rr});function hL1(Y){let X="You are decopilot, an AI assistant running inside decocms (deco context management system).";if(Y?.trim())X+=`
1520
1520
 
1521
1521
  ---
1522
1522