@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
@@ -1042,7 +1042,7 @@ At the end, provide a concise summary of:
1042
1042
  - What failed
1043
1043
  - What could not be tested and why
1044
1044
  - If some tool needs user-specific context (email/account/tenant), explicitly output a "CONTEXT_REQUIRED" note with what is needed.
1045
- `.trim()});import{sql as Jj0}from"kysely";var Gj0;var Wj0=k(()=>{Gj0={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(Jj0`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(Q)=>Q.notNull().defaultTo(Jj0`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 Zj0}from"kysely";var Kj0;var Hj0=k(()=>{Kj0={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(Zj0`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(Q)=>Q.notNull().defaultTo(Zj0`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 GP6}from"kysely";var $j0;var Fj0=k(()=>{$j0={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(GP6`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 Vj0;var qj0=k(()=>{Vj0={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 vn}from"kysely";var Bj0;var Uj0=k(()=>{Bj0={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(vn`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(vn`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(vn`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(Q)=>Q.notNull().defaultTo(vn`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 Dj0;var zj0=k(()=>{Dj0={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 Oj0;var Nj0=k(()=>{Wj0();Hj0();Fj0();qj0();Uj0();zj0();Oj0=[Gj0,Kj0,$j0,Vj0,Bj0,Dj0]});function WP6(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 _n;var bV1=k(()=>{AR();_n=class _n extends bV{constructor(Y,Q){super(Y,Q)}send(Y,Q){let X=WP6(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 AS(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)=>AS(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)&&AS(Y[G],Q[G]))}return!1}function IP6(){return(Y)=>{if(!Array.isArray(Y))return!0;let Q=[];return Y.every((X)=>{if(Q.some((G)=>AS(X,G)))return!1;return Q.push(X),!0})}}function yn(Y,Q){return Y.safeParse(Q).success}function rX(Y){if(typeof Y==="boolean")return Y?q.any():q.never();let Q={};for(let G of lP6)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 dP6)J=G.apply(J,Y);return J}var ZP6=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()}}},KP6=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}},HP6=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}},$P6=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}}},FP6=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()}}},VP6=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`})}}},qP6=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`})}}},BP6=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)}}}},UP6=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)}}},DP6=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)}}},zP6=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}}},OP6=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}}},NP6=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}`})}}},LP6=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())}}},MP6=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)}},wP6=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)}},AP6=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=rX(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())}},PP6=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)=>rX(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}},EP6=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()}},TP6=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()}}},CP6=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`})}}},RP6=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`})}}},jP6=class{apply(Y,Q){if(!Q.not)return Y;let X=rX(Q.not);return Y.refine((J)=>!yn(X,J),{message:"Value must not match the 'not' schema"})}},SP6=class{apply(Y,Q){if(Q.uniqueItems!==!0)return Y;return Y.refine(IP6(),{message:"Array items must be unique"})}},kP6=class{apply(Y,Q){if(!Q.allOf||Q.allOf.length===0)return Y;return Q.allOf.map((J)=>rX(J)).reduce((J,G)=>q.intersection(J,G),Y)}},vP6=class{apply(Y,Q){if(!Q.anyOf||Q.anyOf.length===0)return Y;let X=Q.anyOf.length===1?rX(Q.anyOf[0]):q.union([rX(Q.anyOf[0]),rX(Q.anyOf[1]),...Q.anyOf.slice(2).map((J)=>rX(J))]);return q.intersection(Y,X)}},_P6=class{apply(Y,Q){if(!Q.oneOf||Q.oneOf.length===0)return Y;let X=Q.oneOf.map((J)=>rX(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"})}},yP6=class{apply(Y,Q){let X=Q;if(X.prefixItems&&Array.isArray(X.prefixItems)){let G=X.prefixItems.map((K)=>rX(K));return Y.refine((K)=>{if(!Array.isArray(K))return!0;for(let W=0;W<Math.min(K.length,G.length);W++)if(!yn(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=rX(X.items);for(let Z=G.length;Z<K.length;Z++)if(!yn(W,K[Z]))return!1}}return!0},{message:"Array does not match prefixItems schema"})}return Y}},fP6=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]=rX(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(!rX(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"})}},bP6=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)=>AS(J,G))},{message:"Value must match one of the enum values"})}},hP6=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)=>AS(J,X),{message:"Value must equal the const value"})}},xP6=class{apply(Y,Q){if(Q.description)Y=Y.describe(Q.description);return Y}},gP6=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))}},uP6=class{apply(Y,Q){var X;let J=Q;if(J.contains===void 0)return Y;let G=rX(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(yn(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"})}},mP6=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)}},lP6,dP6;var Lj0=k(()=>{s6();s6();s6();s6();s6();s6();s6();s6();s6();s6();s6();s6();s6();s6();lP6=[new KP6,new HP6,new ZP6,new $P6,new FP6,new LP6,new TP6,new VP6,new qP6,new BP6,new UP6,new DP6,new zP6,new OP6,new NP6,new PP6,new MP6,new wP6,new AP6,new CP6,new RP6,new EP6],dP6=[new gP6,new bP6,new hP6,new kP6,new vP6,new _P6,new yP6,new fP6,new uP6,new jP6,new SP6,new mP6,new xP6]});class hV1{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,pP6),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=mG.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 pP6="mcp";var Mj0=k(()=>{vQ()});var wj0,Aj0=async(Y,Q,X)=>{let J=cP6(Y.connection,Q,X);if(!J)throw Error("Unknown MCP connection type");let G=new wj0({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})}}},cP6=(Y,Q,X)=>{if(Y.type==="Websocket")return new hV1(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 Sz(new URL(Y.url),K)}return new _n(new URL(Y.url),{requestInit:{headers:G,signal:Q,credentials:"include"}})};var Pj0=k(()=>{qD();In();Mj0();vQ();bV1();wj0=class wj0 extends G5{constructor(Y,Q){super(Y,Q)}async listTools(Y,Q){return await this.request({method:"tools/list",params:Y},cC,Q)}}});function Cj0(Y){let Q=(X)=>{if("connection"in Y)return Aj0({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"?Ej0(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"?Ej0(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(!bn.has($))bn.set($,K());return await bn.get($)}catch(F){console.error("Failed to list tools",F),bn.delete($);return}}async function Z(){return(await W()??[]).map(($)=>Tj0($,G))}return G.asTool=async()=>{let $=(await W()??[]).find((F)=>F.name===J);if(!$)throw Error(`Tool ${J} not found`);return Tj0($,G)},G}})}var Ej0=(Y)=>{try{return JSON.parse(Y)}catch{return Y}},bn,Tj0=(Y,Q)=>{return{...Y,id:Y.name,inputSchema:Y.inputSchema?rX(Y.inputSchema):void 0,outputSchema:Y.outputSchema?rX(Y.outputSchema):void 0,execute:(X)=>{return Q(X.context,Y.name)}}};var Rj0=k(()=>{Lj0();Pj0();bn=new Map});function vz(Y){return Cj0(Y)}var hn;var xV1=k(()=>{Rj0();hn=new Proxy({},{get(Y,Q){if(Q==="toJSON")return null;if(Q==="forConnection")return(X)=>vz({connection:X});return global[Q]}})});function xn(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 yH=(Y)=>{return{...xn(Y),forClient:(Q)=>{return vz({client:Q,streamable:Y.reduce((X,J)=>{return X[J.name]=J.streamable===!0,X},{})})},forConnection:(Q)=>{return vz({connection:Q,streamable:Y.reduce((X,J)=>{return X[J.name]=J.streamable===!0,X},{})})}}};var _z=k(()=>{xV1()});var Ij0=k(()=>{bV1();xV1();_z()});var gV1=k(()=>{Ij0()});var mV1=(Y)=>{return typeof Y==="object"&&Y!==null&&typeof Y.__type==="string"&&typeof Y.value==="string"},jj0=(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}},nP6=(Y,Q,X)=>{let J=jj0(Y,Q,X);return new Proxy(hn.forConnection(J),{get(G,K){if(K==="value")return Y;if(K==="__type")return X;return G[K]}})},uV1=(Y,Q)=>{if(Y===null||Y===void 0)return Y;if(Array.isArray(Y))return Y.map((X)=>uV1(X,Q));if(typeof Y==="object"){if(mV1(Y))return nP6(Y.value,Q,Y.__type);let X={};for(let[J,G]of Object.entries(Y))X[J]=uV1(G,Q);return X}return Y},Sj0=(Y)=>{return uV1(Y.state,Y)};var gn=k(()=>{gV1()});var iP6,kj0=(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},aP6=(Y,Q,X)=>{let J=Q.headers.get("Origin"),G=kj0(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(", "))},vj0=(Y,Q)=>{let X=new Headers,J=Y.headers.get("Origin"),G=kj0(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??iP6;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})},_j0=(Y,Q,X)=>{let J=new Headers(Y.headers);return aP6(J,Q,X),new Response(Y.body,{status:Y.status,statusText:Y.statusText,headers:J})};var yj0=k(()=>{iP6=["GET","HEAD","PUT","POST","DELETE","PATCH"]});function fj0(Y=32){let X=new Uint8Array(Y);return crypto.getRandomValues(X),Array.from(X,(J)=>"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"[J%62]).join("")}function rP6(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 bj0(Y){return btoa(JSON.stringify(Y)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function hj0(Y){try{let Q=Y.replace(/-/g,"+").replace(/_/g,"/");return JSON.parse(atob(Q))}catch{return null}}function xj0(Y){return{handleProtectedResourceMetadata:($)=>{let F=fH(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=fH(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=fH(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=fH(new URL(`${F.origin}/oauth/callback`)),w=L.toString(),T=bj0({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=fH(new URL($.url)),V=F.searchParams.get("code"),B=F.searchParams.get("state"),U=F.searchParams.get("error"),D=B?hj0(B):null;if(U){let z=F.searchParams.get("error_description")??"Authorization failed";if(D?.redirectUri){let L=fH(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??fH(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=bj0(E),C=fH(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=fH(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=hj0(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(!rP6(z))return Response.json({error:"invalid_redirect_uri",error_description:`Invalid redirect URI: ${z}`},{status:400});let V=fj0(32),B=F.token_endpoint_auth_method!=="none"?fj0(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="${`${fH(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 fH=(Y)=>{if(!(Y.hostname==="localhost"||Y.hostname==="127.0.0.1"))Y.protocol="https:";return Y};import{AsyncLocalStorage as oP6}from"async_hooks";var gj0,PS;var lV1=k(()=>{gj0=new oP6,PS={getStore:()=>{return gj0.getStore()},run:(Y,Q,...X)=>gj0.run(Y,Q,...X)}});function x$(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 TS(Y){return q.object({item:Y.nullable().describe("The retrieved item, or null if not found")})}function eP6(Y){return q.object({data:Y.partial().describe("Data for the new entity (id may be auto-generated)")})}function YE6(Y){return q.object({item:Y.describe("The created entity with generated id")})}function QE6(Y){return q.object({id:q.string().describe("ID of the entity to update"),data:Y.partial().describe("Partial entity data to update")})}function XE6(Y){return q.object({item:Y.describe("The updated entity")})}function RS(Y){return q.object({item:Y.describe("The deleted entity")})}function hH(Y,Q,X){let J=Y.toUpperCase(),G=X?.readOnly??!1,K=[{name:`COLLECTION_${J}_LIST`,inputSchema:uZ,outputSchema:x$(Q)},{name:`COLLECTION_${J}_GET`,inputSchema:ES,outputSchema:TS(Q)}];if(!G)K.push({name:`COLLECTION_${J}_CREATE`,inputSchema:eP6(Q),outputSchema:YE6(Q),opt:!0},{name:`COLLECTION_${J}_UPDATE`,inputSchema:QE6(Q),outputSchema:XE6(Q),opt:!0},{name:`COLLECTION_${J}_DELETE`,inputSchema:CS,outputSchema:RS(Q),opt:!0});return K}var bH,sP6,uj0,tP6,uZ,ES,CS;var MG=k(()=>{c1();bH=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()}),sP6=q.object({field:q.array(q.string()),operator:q.enum(["eq","gt","gte","lt","lte","in","like","contains"]),value:q.unknown()}),uj0=q.lazy(()=>q.union([sP6,q.object({operator:q.enum(["and","or","not"]),conditions:q.array(uj0)})])),tP6=q.object({field:q.array(q.string()),direction:q.enum(["asc","desc"]),nulls:q.enum(["first","last"]).optional()}),uZ=q.object({where:uj0.optional().describe("Filter expression"),orderBy:q.array(tP6).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")});ES=q.object({id:q.string().describe("ID of the entity to retrieve")});CS=q.object({id:q.string().describe("ID of the entity to delete")})});var JE6,mj0,Os8;var lj0=k(()=>{c1();MG();JE6=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()}),mj0=bH.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(JE6).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()})}),Os8=hH("registry_app",mj0,{readOnly:!0})});var dj0,un,pj0,mn,cj0,dV1;var nj0=k(()=>{c1();_z();dj0=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)")}),un=q.object({events:q.array(dj0).min(1).describe("Batch of CloudEvents to process")}),pj0=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")}),mn=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(),pj0).optional().describe("Per-event results keyed by event ID")}),cj0=[{name:"ON_EVENTS",inputSchema:un,outputSchema:mn}],dV1=yH(cj0)});var IS,jS,SS,kS,ij0,aj0,vS,_S,yS,fS,bS,hS,xS,gS,rj0,GE6;var oj0=k(()=>{c1();_z();IS=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.")}),jS=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")}),SS=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")}),kS=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)")})}),ij0=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")}),aj0=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)")}),vS=q.object({subscriptions:q.array(ij0).describe("Desired subscriptions - system will create/update/delete to match")}),_S=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(aj0).describe("Current subscriptions after sync")}),yS=q.object({subscriptionId:q.string().describe("Subscription ID to remove")}),fS=q.object({success:q.boolean().describe("Whether unsubscribe was successful"),subscriptionId:q.string().describe("Subscription ID that was removed")}),bS=q.object({eventId:q.string().describe("Event ID to cancel")}),hS=q.object({success:q.boolean().describe("Whether cancellation was successful"),eventId:q.string().describe("Event ID that was cancelled")}),xS=q.object({eventId:q.string().describe("Event ID to acknowledge")}),gS=q.object({success:q.boolean().describe("Whether ACK was successful"),eventId:q.string().describe("Event ID that was acknowledged")}),rj0=[{name:"EVENT_PUBLISH",inputSchema:IS,outputSchema:jS},{name:"EVENT_SUBSCRIBE",inputSchema:SS,outputSchema:kS},{name:"EVENT_UNSUBSCRIBE",inputSchema:yS,outputSchema:fS},{name:"EVENT_CANCEL",inputSchema:bS,outputSchema:hS},{name:"EVENT_ACK",inputSchema:xS,outputSchema:gS},{name:"EVENT_SYNC_SUBSCRIPTIONS",inputSchema:vS,outputSchema:_S}],GE6=yH(rj0)});var WE6,ZE6,KE6,HE6,$E6,FE6,VE6,qE6,BE6,UE6,DE6,zE6,uS;var ln=k(()=>{c1();WE6=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.")}),ZE6=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/'])")}),KE6=q.object({key:q.string().describe("Object key/path to get metadata for")}),HE6=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")}),$E6=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)")}),FE6=q.object({url:q.string().describe("Presigned URL for downloading the object"),expiresIn:q.number().describe("Expiration time in seconds that was used")}),VE6=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")}),qE6=q.object({url:q.string().describe("Presigned URL for uploading the object"),expiresIn:q.number().describe("Expiration time in seconds that was used")}),BE6=q.object({key:q.string().describe("Object key/path to delete")}),UE6=q.object({success:q.boolean().describe("Whether the deletion was successful"),key:q.string().describe("The key that was deleted")}),DE6=q.object({keys:q.array(q.string()).max(1000).describe("Array of object keys/paths to delete (max 1000)")}),zE6=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")}),uS=[{name:"LIST_OBJECTS",inputSchema:WE6,outputSchema:ZE6},{name:"GET_OBJECT_METADATA",inputSchema:KE6,outputSchema:HE6},{name:"GET_PRESIGNED_URL",inputSchema:$E6,outputSchema:FE6},{name:"PUT_PRESIGNED_URL",inputSchema:VE6,outputSchema:qE6},{name:"DELETE_OBJECT",inputSchema:BE6,outputSchema:UE6},{name:"DELETE_OBJECTS",inputSchema:DE6,outputSchema:zE6}]});function CE6(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 YS0(Y){let Q=new Set(Y.map((W)=>W.name)),X=new Map;for(let W of Y)X.set(W.name,CE6(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 pV1,OE6,Ss8,NE6,LE6,sj0,yz,ME6,tj0,wE6,ks8,AE6,ej0,PE6,EE6,TE6,vs8,_s8;var OA=k(()=>{c1();_z();MG();pV1=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.")}),OE6=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 { ... }\`
1045
+ `.trim()});import{sql as Jj0}from"kysely";var Gj0;var Wj0=k(()=>{Gj0={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(Jj0`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(Q)=>Q.notNull().defaultTo(Jj0`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 Zj0}from"kysely";var Kj0;var Hj0=k(()=>{Kj0={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(Zj0`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(Q)=>Q.notNull().defaultTo(Zj0`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 GP6}from"kysely";var $j0;var Fj0=k(()=>{$j0={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(GP6`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 Vj0;var qj0=k(()=>{Vj0={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 vn}from"kysely";var Bj0;var Uj0=k(()=>{Bj0={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(vn`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(vn`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(vn`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(Q)=>Q.notNull().defaultTo(vn`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 Dj0;var zj0=k(()=>{Dj0={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 Oj0;var Nj0=k(()=>{Wj0();Hj0();Fj0();qj0();Uj0();zj0();Oj0=[Gj0,Kj0,$j0,Vj0,Bj0,Dj0]});function WP6(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 _n;var bV1=k(()=>{AR();_n=class _n extends bV{constructor(Y,Q){super(Y,Q)}send(Y,Q){let X=WP6(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 AS(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)=>AS(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)&&AS(Y[G],Q[G]))}return!1}function IP6(){return(Y)=>{if(!Array.isArray(Y))return!0;let Q=[];return Y.every((X)=>{if(Q.some((G)=>AS(X,G)))return!1;return Q.push(X),!0})}}function yn(Y,Q){return Y.safeParse(Q).success}function rX(Y){if(typeof Y==="boolean")return Y?q.any():q.never();let Q={};for(let G of lP6)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 dP6)J=G.apply(J,Y);return J}var ZP6=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()}}},KP6=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}},HP6=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}},$P6=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}}},FP6=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()}}},VP6=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`})}}},qP6=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`})}}},BP6=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)}}}},UP6=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)}}},DP6=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)}}},zP6=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}}},OP6=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}}},NP6=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}`})}}},LP6=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())}}},MP6=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)}},wP6=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)}},AP6=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=rX(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())}},PP6=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)=>rX(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}},EP6=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()}},TP6=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()}}},CP6=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`})}}},RP6=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`})}}},jP6=class{apply(Y,Q){if(!Q.not)return Y;let X=rX(Q.not);return Y.refine((J)=>!yn(X,J),{message:"Value must not match the 'not' schema"})}},SP6=class{apply(Y,Q){if(Q.uniqueItems!==!0)return Y;return Y.refine(IP6(),{message:"Array items must be unique"})}},kP6=class{apply(Y,Q){if(!Q.allOf||Q.allOf.length===0)return Y;return Q.allOf.map((J)=>rX(J)).reduce((J,G)=>q.intersection(J,G),Y)}},vP6=class{apply(Y,Q){if(!Q.anyOf||Q.anyOf.length===0)return Y;let X=Q.anyOf.length===1?rX(Q.anyOf[0]):q.union([rX(Q.anyOf[0]),rX(Q.anyOf[1]),...Q.anyOf.slice(2).map((J)=>rX(J))]);return q.intersection(Y,X)}},_P6=class{apply(Y,Q){if(!Q.oneOf||Q.oneOf.length===0)return Y;let X=Q.oneOf.map((J)=>rX(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"})}},yP6=class{apply(Y,Q){let X=Q;if(X.prefixItems&&Array.isArray(X.prefixItems)){let G=X.prefixItems.map((K)=>rX(K));return Y.refine((K)=>{if(!Array.isArray(K))return!0;for(let W=0;W<Math.min(K.length,G.length);W++)if(!yn(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=rX(X.items);for(let Z=G.length;Z<K.length;Z++)if(!yn(W,K[Z]))return!1}}return!0},{message:"Array does not match prefixItems schema"})}return Y}},fP6=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]=rX(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(!rX(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"})}},bP6=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)=>AS(J,G))},{message:"Value must match one of the enum values"})}},hP6=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)=>AS(J,X),{message:"Value must equal the const value"})}},xP6=class{apply(Y,Q){if(Q.description)Y=Y.describe(Q.description);return Y}},gP6=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))}},uP6=class{apply(Y,Q){var X;let J=Q;if(J.contains===void 0)return Y;let G=rX(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(yn(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"})}},mP6=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)}},lP6,dP6;var Lj0=k(()=>{s6();s6();s6();s6();s6();s6();s6();s6();s6();s6();s6();s6();s6();s6();lP6=[new KP6,new HP6,new ZP6,new $P6,new FP6,new LP6,new TP6,new VP6,new qP6,new BP6,new UP6,new DP6,new zP6,new OP6,new NP6,new PP6,new MP6,new wP6,new AP6,new CP6,new RP6,new EP6],dP6=[new gP6,new bP6,new hP6,new kP6,new vP6,new _P6,new yP6,new fP6,new uP6,new jP6,new SP6,new mP6,new xP6]});class hV1{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,pP6),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=mG.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 pP6="mcp";var Mj0=k(()=>{vQ()});var wj0,Aj0=async(Y,Q,X)=>{let J=cP6(Y.connection,Q,X);if(!J)throw Error("Unknown MCP connection type");let G=new wj0({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})}}},cP6=(Y,Q,X)=>{if(Y.type==="Websocket")return new hV1(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 Sz(new URL(Y.url),K)}return new _n(new URL(Y.url),{requestInit:{headers:G,signal:Q,credentials:"include"}})};var Pj0=k(()=>{qD();In();Mj0();vQ();bV1();wj0=class wj0 extends G5{constructor(Y,Q){super(Y,Q)}async listTools(Y,Q){return await this.request({method:"tools/list",params:Y},cC,Q)}}});function Cj0(Y){let Q=(X)=>{if("connection"in Y)return Aj0({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"?Ej0(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"?Ej0(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(!bn.has($))bn.set($,K());return await bn.get($)}catch(F){console.error("Failed to list tools",F),bn.delete($);return}}async function Z(){return(await W()??[]).map(($)=>Tj0($,G))}return G.asTool=async()=>{let $=(await W()??[]).find((F)=>F.name===J);if(!$)throw Error(`Tool ${J} not found`);return Tj0($,G)},G}})}var Ej0=(Y)=>{try{return JSON.parse(Y)}catch{return Y}},bn,Tj0=(Y,Q)=>{return{...Y,id:Y.name,inputSchema:Y.inputSchema?rX(Y.inputSchema):void 0,outputSchema:Y.outputSchema?rX(Y.outputSchema):void 0,execute:(X)=>{return Q(X.context,Y.name)}}};var Rj0=k(()=>{Lj0();Pj0();bn=new Map});function vz(Y){return Cj0(Y)}var hn;var xV1=k(()=>{Rj0();hn=new Proxy({},{get(Y,Q){if(Q==="toJSON")return null;if(Q==="forConnection")return(X)=>vz({connection:X});return global[Q]}})});function xn(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 yH=(Y)=>{return{...xn(Y),forClient:(Q)=>{return vz({client:Q,streamable:Y.reduce((X,J)=>{return X[J.name]=J.streamable===!0,X},{})})},forConnection:(Q)=>{return vz({connection:Q,streamable:Y.reduce((X,J)=>{return X[J.name]=J.streamable===!0,X},{})})}}};var _z=k(()=>{xV1()});var Ij0=k(()=>{bV1();xV1();_z()});var gV1=k(()=>{Ij0()});var mV1=(Y)=>{return typeof Y==="object"&&Y!==null&&typeof Y.__type==="string"&&typeof Y.value==="string"},jj0=(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}},nP6=(Y,Q,X)=>{let J=jj0(Y,Q,X);return new Proxy(hn.forConnection(J),{get(G,K){if(K==="value")return Y;if(K==="__type")return X;return G[K]}})},uV1=(Y,Q)=>{if(Y===null||Y===void 0)return Y;if(Array.isArray(Y))return Y.map((X)=>uV1(X,Q));if(typeof Y==="object"){if(mV1(Y))return nP6(Y.value,Q,Y.__type);let X={};for(let[J,G]of Object.entries(Y))X[J]=uV1(G,Q);return X}return Y},Sj0=(Y)=>{return uV1(Y.state,Y)};var gn=k(()=>{gV1()});var iP6,kj0=(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},aP6=(Y,Q,X)=>{let J=Q.headers.get("Origin"),G=kj0(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(", "))},vj0=(Y,Q)=>{let X=new Headers,J=Y.headers.get("Origin"),G=kj0(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??iP6;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})},_j0=(Y,Q,X)=>{let J=new Headers(Y.headers);return aP6(J,Q,X),new Response(Y.body,{status:Y.status,statusText:Y.statusText,headers:J})};var yj0=k(()=>{iP6=["GET","HEAD","PUT","POST","DELETE","PATCH"]});function fj0(Y=32){let X=new Uint8Array(Y);return crypto.getRandomValues(X),Array.from(X,(J)=>"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"[J%62]).join("")}function rP6(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 bj0(Y){return btoa(JSON.stringify(Y)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function hj0(Y){try{let Q=Y.replace(/-/g,"+").replace(/_/g,"/");return JSON.parse(atob(Q))}catch{return null}}function xj0(Y){return{handleProtectedResourceMetadata:($)=>{let F=fH(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=fH(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=fH(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=fH(new URL(`${F.origin}/oauth/callback`)),w=L.toString(),T=bj0({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=fH(new URL($.url)),V=F.searchParams.get("code"),B=F.searchParams.get("state"),U=F.searchParams.get("error"),D=B?hj0(B):null;if(U){let z=F.searchParams.get("error_description")??"Authorization failed";if(D?.redirectUri){let L=fH(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??fH(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=bj0(E),C=fH(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=fH(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=hj0(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(!rP6(z))return Response.json({error:"invalid_redirect_uri",error_description:`Invalid redirect URI: ${z}`},{status:400});let V=fj0(32),B=F.token_endpoint_auth_method!=="none"?fj0(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="${`${fH(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 fH=(Y)=>{if(!(Y.hostname==="localhost"||Y.hostname.endsWith(".localhost")||Y.hostname==="127.0.0.1"))Y.protocol="https:";return Y};import{AsyncLocalStorage as oP6}from"async_hooks";var gj0,PS;var lV1=k(()=>{gj0=new oP6,PS={getStore:()=>{return gj0.getStore()},run:(Y,Q,...X)=>gj0.run(Y,Q,...X)}});function x$(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 TS(Y){return q.object({item:Y.nullable().describe("The retrieved item, or null if not found")})}function eP6(Y){return q.object({data:Y.partial().describe("Data for the new entity (id may be auto-generated)")})}function YE6(Y){return q.object({item:Y.describe("The created entity with generated id")})}function QE6(Y){return q.object({id:q.string().describe("ID of the entity to update"),data:Y.partial().describe("Partial entity data to update")})}function XE6(Y){return q.object({item:Y.describe("The updated entity")})}function RS(Y){return q.object({item:Y.describe("The deleted entity")})}function hH(Y,Q,X){let J=Y.toUpperCase(),G=X?.readOnly??!1,K=[{name:`COLLECTION_${J}_LIST`,inputSchema:uZ,outputSchema:x$(Q)},{name:`COLLECTION_${J}_GET`,inputSchema:ES,outputSchema:TS(Q)}];if(!G)K.push({name:`COLLECTION_${J}_CREATE`,inputSchema:eP6(Q),outputSchema:YE6(Q),opt:!0},{name:`COLLECTION_${J}_UPDATE`,inputSchema:QE6(Q),outputSchema:XE6(Q),opt:!0},{name:`COLLECTION_${J}_DELETE`,inputSchema:CS,outputSchema:RS(Q),opt:!0});return K}var bH,sP6,uj0,tP6,uZ,ES,CS;var MG=k(()=>{c1();bH=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()}),sP6=q.object({field:q.array(q.string()),operator:q.enum(["eq","gt","gte","lt","lte","in","like","contains"]),value:q.unknown()}),uj0=q.lazy(()=>q.union([sP6,q.object({operator:q.enum(["and","or","not"]),conditions:q.array(uj0)})])),tP6=q.object({field:q.array(q.string()),direction:q.enum(["asc","desc"]),nulls:q.enum(["first","last"]).optional()}),uZ=q.object({where:uj0.optional().describe("Filter expression"),orderBy:q.array(tP6).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")});ES=q.object({id:q.string().describe("ID of the entity to retrieve")});CS=q.object({id:q.string().describe("ID of the entity to delete")})});var JE6,mj0,Os8;var lj0=k(()=>{c1();MG();JE6=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()}),mj0=bH.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(JE6).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()})}),Os8=hH("registry_app",mj0,{readOnly:!0})});var dj0,un,pj0,mn,cj0,dV1;var nj0=k(()=>{c1();_z();dj0=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)")}),un=q.object({events:q.array(dj0).min(1).describe("Batch of CloudEvents to process")}),pj0=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")}),mn=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(),pj0).optional().describe("Per-event results keyed by event ID")}),cj0=[{name:"ON_EVENTS",inputSchema:un,outputSchema:mn}],dV1=yH(cj0)});var IS,jS,SS,kS,ij0,aj0,vS,_S,yS,fS,bS,hS,xS,gS,rj0,GE6;var oj0=k(()=>{c1();_z();IS=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.")}),jS=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")}),SS=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")}),kS=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)")})}),ij0=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")}),aj0=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)")}),vS=q.object({subscriptions:q.array(ij0).describe("Desired subscriptions - system will create/update/delete to match")}),_S=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(aj0).describe("Current subscriptions after sync")}),yS=q.object({subscriptionId:q.string().describe("Subscription ID to remove")}),fS=q.object({success:q.boolean().describe("Whether unsubscribe was successful"),subscriptionId:q.string().describe("Subscription ID that was removed")}),bS=q.object({eventId:q.string().describe("Event ID to cancel")}),hS=q.object({success:q.boolean().describe("Whether cancellation was successful"),eventId:q.string().describe("Event ID that was cancelled")}),xS=q.object({eventId:q.string().describe("Event ID to acknowledge")}),gS=q.object({success:q.boolean().describe("Whether ACK was successful"),eventId:q.string().describe("Event ID that was acknowledged")}),rj0=[{name:"EVENT_PUBLISH",inputSchema:IS,outputSchema:jS},{name:"EVENT_SUBSCRIBE",inputSchema:SS,outputSchema:kS},{name:"EVENT_UNSUBSCRIBE",inputSchema:yS,outputSchema:fS},{name:"EVENT_CANCEL",inputSchema:bS,outputSchema:hS},{name:"EVENT_ACK",inputSchema:xS,outputSchema:gS},{name:"EVENT_SYNC_SUBSCRIPTIONS",inputSchema:vS,outputSchema:_S}],GE6=yH(rj0)});var WE6,ZE6,KE6,HE6,$E6,FE6,VE6,qE6,BE6,UE6,DE6,zE6,uS;var ln=k(()=>{c1();WE6=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.")}),ZE6=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/'])")}),KE6=q.object({key:q.string().describe("Object key/path to get metadata for")}),HE6=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")}),$E6=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)")}),FE6=q.object({url:q.string().describe("Presigned URL for downloading the object"),expiresIn:q.number().describe("Expiration time in seconds that was used")}),VE6=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")}),qE6=q.object({url:q.string().describe("Presigned URL for uploading the object"),expiresIn:q.number().describe("Expiration time in seconds that was used")}),BE6=q.object({key:q.string().describe("Object key/path to delete")}),UE6=q.object({success:q.boolean().describe("Whether the deletion was successful"),key:q.string().describe("The key that was deleted")}),DE6=q.object({keys:q.array(q.string()).max(1000).describe("Array of object keys/paths to delete (max 1000)")}),zE6=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")}),uS=[{name:"LIST_OBJECTS",inputSchema:WE6,outputSchema:ZE6},{name:"GET_OBJECT_METADATA",inputSchema:KE6,outputSchema:HE6},{name:"GET_PRESIGNED_URL",inputSchema:$E6,outputSchema:FE6},{name:"PUT_PRESIGNED_URL",inputSchema:VE6,outputSchema:qE6},{name:"DELETE_OBJECT",inputSchema:BE6,outputSchema:UE6},{name:"DELETE_OBJECTS",inputSchema:DE6,outputSchema:zE6}]});function CE6(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 YS0(Y){let Q=new Set(Y.map((W)=>W.name)),X=new Map;for(let W of Y)X.set(W.name,CE6(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 pV1,OE6,Ss8,NE6,LE6,sj0,yz,ME6,tj0,wE6,ks8,AE6,ej0,PE6,EE6,TE6,vs8,_s8;var OA=k(()=>{c1();_z();MG();pV1=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.")}),OE6=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 { ... }\`
1046
1046
  The input is the resolved value of the references in the input field. Example:
1047
1047
  {
1048
1048
  "input": {
@@ -1108,7 +1108,7 @@ Error message: ${dZ(X)}`,cause:X});this[sv0]=!0,this.value=Q,this.context=J}stat
1108
1108
  ]))`;continue}}if(J.s&&G[$]==="."){K+=Z?`${G[$]}\r
1109
1109
  `:`[${G[$]}\r
1110
1110
  ]`;continue}if(K+=G[$],G[$]==="\\")W=!0;else if(Z&&G[$]==="]")Z=!1;else if(!Z&&G[$]==="[")Z=!0}try{new RegExp(K)}catch($){return console.warn(`Could not convert regex pattern at ${Q.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),Y.source}return K}function r_0(Y,Q){var X,J,G,K,W,Z;let H={type:"object",additionalProperties:(X=M9(Y.valueType._def,{...Q,currentPath:[...Q.currentPath,"additionalProperties"]}))!=null?X:Q.allowedAdditionalProperties};if(((J=Y.keyType)==null?void 0:J._def.typeName)===t1.ZodString&&((G=Y.keyType._def.checks)==null?void 0:G.length)){let{type:$,...F}=a_0(Y.keyType._def,Q);return{...H,propertyNames:F}}else if(((K=Y.keyType)==null?void 0:K._def.typeName)===t1.ZodEnum)return{...H,propertyNames:{enum:Y.keyType._def.values}};else if(((W=Y.keyType)==null?void 0:W._def.typeName)===t1.ZodBranded&&Y.keyType._def.type._def.typeName===t1.ZodString&&((Z=Y.keyType._def.type._def.checks)==null?void 0:Z.length)){let{type:$,...F}=n_0(Y.keyType._def,Q);return{...H,propertyNames:F}}return H}function KR6(Y,Q){if(Q.mapStrategy==="record")return r_0(Y,Q);let X=M9(Y.keyType._def,{...Q,currentPath:[...Q.currentPath,"items","items","0"]})||V7(),J=M9(Y.valueType._def,{...Q,currentPath:[...Q.currentPath,"items","items","1"]})||V7();return{type:"array",maxItems:125,items:{type:"array",items:[X,J],minItems:2,maxItems:2}}}function HR6(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 $R6(){return{not:V7()}}function FR6(){return{type:"null"}}function VR6(Y,Q){let X=Y.options instanceof Map?Array.from(Y.options.values()):Y.options;if(X.every((J)=>(J._def.typeName in XB1)&&(!J._def.checks||!J._def.checks.length))){let J=X.reduce((G,K)=>{let W=XB1[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 qR6(Y,Q)}function BR6(Y,Q){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(Y.innerType._def.typeName)&&(!Y.innerType._def.checks||!Y.innerType._def.checks.length))return{type:[XB1[Y.innerType._def.typeName],"null"]};let X=M9(Y.innerType._def,{...Q,currentPath:[...Q.currentPath,"anyOf","0"]});return X&&{anyOf:[X,{type:"null"}]}}function UR6(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 DR6(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=OR6(Z),$=M9(Z._def,{...Q,currentPath:[...Q.currentPath,"properties",W],propertyPath:[...Q.currentPath,"properties",W]});if($===void 0)continue;if(X.properties[W]=$,!H)J.push(W)}if(J.length)X.required=J;let K=zR6(Y,Q);if(K!==void 0)X.additionalProperties=K;return X}function zR6(Y,Q){if(Y.catchall._def.typeName!=="ZodNever")return M9(Y.catchall._def,{...Q,currentPath:[...Q.currentPath,"additionalProperties"]});switch(Y.unknownKeys){case"passthrough":return Q.allowedAdditionalProperties;case"strict":return Q.rejectedAdditionalProperties;case"strip":return Q.removeAdditionalStrategy==="strict"?Q.allowedAdditionalProperties:Q.rejectedAdditionalProperties}}function OR6(Y){try{return Y.isOptional()}catch(Q){return!0}}function MR6(Y,Q){return M9(Y.type._def,Q)}function wR6(Y,Q){let J={type:"array",uniqueItems:!0,items:M9(Y.valueType._def,{...Q,currentPath:[...Q.currentPath,"items"]})};if(Y.minSize)J.minItems=Y.minSize.value;if(Y.maxSize)J.maxItems=Y.maxSize.value;return J}function AR6(Y,Q){if(Y.rest)return{type:"array",minItems:Y.items.length,items:Y.items.map((X,J)=>M9(X._def,{...Q,currentPath:[...Q.currentPath,"items",`${J}`]})).reduce((X,J)=>J===void 0?X:[...X,J],[]),additionalItems:M9(Y.rest._def,{...Q,currentPath:[...Q.currentPath,"additionalItems"]})};else return{type:"array",minItems:Y.items.length,maxItems:Y.items.length,items:Y.items.map((X,J)=>M9(X._def,{...Q,currentPath:[...Q.currentPath,"items",`${J}`]})).reduce((X,J)=>J===void 0?X:[...X,J],[])}}function PR6(){return{not:V7()}}function ER6(){return V7()}function M9(Y,Q,X=!1){var J;let G=Q.seen.get(Y);if(Q.override){let H=(J=Q.override)==null?void 0:J.call(Q,Y,Q,G,X);if(H!==nC6)return H}if(G&&!X){let H=IR6(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=CR6(Y,Y.typeName,Q),Z=typeof W==="function"?M9(W(),Q):W;if(Z)jR6(Y,Q,Z);if(Q.postProcess){let H=Q.postProcess(Z,Y,Q);return K.jsonSchema=Z,H}return K.jsonSchema=Z,Z}function VQ(Y){let Q;return()=>{if(Q==null)Q=Y();return Q}}function IW(Y,{validate:Q}={}){return{[JB1]:!0,_type:void 0,get jsonSchema(){if(typeof Y==="function")Y=Y();return Y},validate:Q}}function vR6(Y){return typeof Y==="object"&&Y!==null&&JB1 in Y&&Y[JB1]===!0&&"jsonSchema"in Y&&"validate"in Y}function gH(Y){return Y==null?IW({properties:{},additionalProperties:!1}):vR6(Y)?Y:("~standard"in Y)?Y["~standard"].vendor==="zod"?m8(Y):_R6(Y):Y()}function _R6(Y){return IW(()=>KB1(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 yR6(Y,Q){var X;let J=(X=Q==null?void 0:Q.useReferences)!=null?X:!1;return IW(()=>kR6(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 fR6(Y,Q){var X;let J=(X=Q==null?void 0:Q.useReferences)!=null?X:!1;return IW(()=>KB1(xK(Y,{target:"draft-7",io:"input",reused:J?"ref":"inline"})),{validate:async(G)=>{let K=await jL(Y,G);return K.success?{success:!0,value:K.data}:{success:!1,error:K.error}}})}function bR6(Y){return"_zod"in Y}function m8(Y,Q){if(bR6(Y))return fR6(Y,Q);else return yR6(Y,Q)}async function uH({value:Y,schema:Q,context:X}){let J=await I5({value:Y,schema:Q,context:X});if(!J.success)throw PG.wrap({value:Y,cause:J.error,context:X});return J.value}async function I5({value:Y,schema:Q,context:X}){let J=gH(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 hR6({text:Y,schema:Q}){try{let X=c_0(Y);if(Q==null)return X;return uH({value:X,schema:Q})}catch(X){if(Wk.isInstance(X)||PG.isInstance(X))throw X;throw new Wk({text:Y,cause:X})}}async function EG({text:Y,schema:Q}){try{let X=c_0(Y);if(Q==null)return{success:!0,value:X,rawValue:X};return await I5({value:X,schema:Q})}catch(X){return{success:!1,error:Wk.isInstance(X)?X:new Wk({text:Y,cause:X}),rawValue:void 0}}}function vi({stream:Y,schema:Q}){return Y.pipeThrough(new TextDecoderStream).pipeThrough(new BD).pipeThrough(new TransformStream({async transform({data:X},J){if(X==="[DONE]")return;J.enqueue(await EG({text:X,schema:Q}))}}))}function _J(Y){return Y}function _i({id:Y,inputSchema:Q,outputSchema:X,supportsDeferredResults:J}){return({execute:G,needsApproval:K,toModelOutput:W,onInputStart:Z,onInputDelta:H,onInputAvailable:$,...F})=>_J({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 s_0(Y){return Y==null?void 0:Y.replace(/\/$/,"")}function uR6(Y){return Y!=null&&typeof Y[Symbol.asyncIterator]==="function"}async function*t_0({execute:Y,input:Q,options:X}){let J=Y(Q,X);if(uR6(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 pz=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"}},fC6,bC6,x_0="AI_DownloadError",g_0,hC6,v_0,__0,vA,GB1=2147483648,xH=({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 $_0({argument:"separator",message:`The separator "${J}" must not be part of the alphabet "${X}".`});return()=>`${Y}${J}${G()}`},WB1,xC6,gC6,l_0="4.0.17",lC6=()=>globalThis.fetch,ZB1=async({url:Y,headers:Q={},successfulResponseHandler:X,failedResponseHandler:J,abortSignal:G,fetch:K=lC6()})=>{try{let W=await K(Y,{method:"GET",headers:c$(Q,`ai-sdk/provider-utils/${l_0}`,ki()),signal:G}),Z=Zk(W);if(!W.ok){let H;try{H=await J({response:W,url:Y,requestBodyValues:{}})}catch($){if(l$($)||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(l$(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 m_0({error:W,url:Y,requestBodyValues:{}})}},dC6,pC6,nC6,f_0,iC6=(Y)=>typeof Y==="string"?{...f_0,name:Y}:{...f_0,...Y},sC6=(Y,Q)=>{return M9(Y.innerType._def,Q)},tC6=(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},XR6=(Y)=>{if("type"in Y&&Y.type==="string")return!1;return"allOf"in Y},YB1=void 0,pZ,WR6,XB1,qR6=(Y,Q)=>{let X=(Y.options instanceof Map?Array.from(Y.options.values()):Y.options).map((J,G)=>M9(J._def,{...Q,currentPath:[...Q.currentPath,"anyOf",`${G}`]})).filter((J)=>!!J&&(!Q.strictUnions||typeof J==="object"&&Object.keys(J).length>0));return X.length?{anyOf:X}:void 0},NR6=(Y,Q)=>{var X;if(Q.currentPath.toString()===((X=Q.propertyPath)==null?void 0:X.toString()))return M9(Y.innerType._def,Q);let J=M9(Y.innerType._def,{...Q,currentPath:[...Q.currentPath,"anyOf","1"]});return J?{anyOf:[{not:V7()},J]}:V7()},LR6=(Y,Q)=>{if(Q.pipeStrategy==="input")return M9(Y.in._def,Q);else if(Q.pipeStrategy==="output")return M9(Y.out._def,Q);let X=M9(Y.in._def,{...Q,currentPath:[...Q.currentPath,"allOf","0"]}),J=M9(Y.out._def,{...Q,currentPath:[...Q.currentPath,"allOf",X?"1":"0"]});return{allOf:[X,J].filter((G)=>G!==void 0)}},TR6=(Y,Q)=>{return M9(Y.innerType._def,Q)},CR6=(Y,Q,X)=>{switch(Q){case t1.ZodString:return a_0(Y,X);case t1.ZodNumber:return UR6(Y);case t1.ZodObject:return DR6(Y,X);case t1.ZodBigInt:return rC6(Y);case t1.ZodBoolean:return oC6();case t1.ZodDate:return i_0(Y,X);case t1.ZodUndefined:return PR6();case t1.ZodNull:return FR6();case t1.ZodArray:return aC6(Y,X);case t1.ZodUnion:case t1.ZodDiscriminatedUnion:return VR6(Y,X);case t1.ZodIntersection:return JR6(Y,X);case t1.ZodTuple:return AR6(Y,X);case t1.ZodRecord:return r_0(Y,X);case t1.ZodLiteral:return GR6(Y);case t1.ZodEnum:return QR6(Y);case t1.ZodNativeEnum:return HR6(Y);case t1.ZodNullable:return BR6(Y,X);case t1.ZodOptional:return NR6(Y,X);case t1.ZodMap:return KR6(Y,X);case t1.ZodSet:return wR6(Y,X);case t1.ZodLazy:return()=>Y.getter()._def;case t1.ZodPromise:return MR6(Y,X);case t1.ZodNaN:case t1.ZodNever:return $R6();case t1.ZodEffects:return YR6(Y,X);case t1.ZodAny:return V7();case t1.ZodUnknown:return ER6();case t1.ZodDefault:return eC6(Y,X);case t1.ZodBranded:return n_0(Y,X);case t1.ZodReadonly:return TR6(Y,X);case t1.ZodCatch:return sC6(Y,X);case t1.ZodPipeline:return LR6(Y,X);case t1.ZodFunction:case t1.ZodVoid:case t1.ZodSymbol:return;default:return((J)=>{return})(Q)}},RR6=(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("/")},IR6=(Y,Q)=>{switch(Q.$refStrategy){case"root":return{$ref:Y.path.join("/")};case"relative":return{$ref:RR6(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`),V7();return Q.$refStrategy==="seen"?V7():void 0}}},jR6=(Y,Q,X)=>{if(Y.description)X.description=Y.description;return X},SR6=(Y)=>{let Q=iC6(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}]))}},kR6=(Y,Q)=>{var X;let J=SR6(Q),G=typeof Q==="object"&&Q.definitions?Object.entries(Q.definitions).reduce(($,[F,V])=>{var B;return{...$,[F]:(B=M9(V._def,{...J,currentPath:[...J.basePath,J.definitionPath,F]},!0))!=null?B:V7()}},{}):void 0,K=typeof Q==="string"?Q:(Q==null?void 0:Q.nameStrategy)==="title"?void 0:Q==null?void 0:Q.name,W=(X=M9(Y._def,K===void 0?J:{...J,currentPath:[...J.basePath,J.definitionPath,K]},!1))!=null?X:V7(),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},JB1,xR6=()=>globalThis.fetch,n$=async({url:Y,headers:Q,body:X,failedResponseHandler:J,successfulResponseHandler:G,abortSignal:K,fetch:W})=>gR6({url:Y,headers:{"Content-Type":"application/json",...Q},body:{content:JSON.stringify(X),values:X},failedResponseHandler:J,successfulResponseHandler:G,abortSignal:K,fetch:W}),gR6=async({url:Y,headers:Q={},body:X,successfulResponseHandler:J,failedResponseHandler:G,abortSignal:K,fetch:W=xR6()})=>{try{let Z=await W(Y,{method:"POST",headers:c$(Q,`ai-sdk/provider-utils/${l_0}`,ki()),body:X.content,signal:K}),H=Zk(Z);if(!Z.ok){let $;try{$=await G({response:Z,url:Y,requestBodyValues:X.values})}catch(F){if(l$(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(l$($)||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 m_0({error:Z,url:Y,requestBodyValues:X.values})}},jW=({errorSchema:Y,errorToMessage:Q,isRetryable:X})=>async({response:J,url:G,requestBodyValues:K})=>{let W=await J.text(),Z=Zk(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 hR6({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)})}}},o_0=(Y)=>async({response:Q})=>{let X=Zk(Q);if(Q.body==null)throw new Z_0({});return{responseHeaders:X,value:vi({stream:Q.body,schema:Y})}},i$=(Y)=>async({response:Q,url:X,requestBodyValues:J})=>{let G=await Q.text(),K=await EG({text:G,schema:Y}),W=Zk(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 X8=k(()=>{S8();S8();S8();S8();S8();S8();S8();s6();ZV();ZV();ZV();um();S8();S8();({btoa:fC6,atob:bC6}=globalThis);g_0=`vercel.ai.error.${x_0}`,hC6=Symbol.for(g_0),vA=class extends(__0=J4,v_0=hC6,__0){constructor({url:Y,statusCode:Q,statusText:X,cause:J,message:G=J==null?`Failed to download ${Y}: ${Q} ${X}`:`Failed to download ${Y}: ${J}`}){super({name:x_0,message:G,cause:J});this[v_0]=!0,this.url=Y,this.statusCode=Q,this.statusText=X}static isInstance(Y){return J4.hasMarker(Y,g_0)}};WB1=xH();xC6=["fetch failed","failed to fetch"],gC6=["ConnectionRefused","ConnectionClosed","FailedToOpenSocket","ECONNRESET","ECONNREFUSED","ETIMEDOUT","EPIPE"];dC6=/"__proto__"\s*:/,pC6=/"constructor"\s*:/;nC6=Symbol("Let zodToJsonSchema decide on which parser to use"),f_0={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",strictUnions:!1,definitions:{},errorMessages:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref"};pZ={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(YB1===void 0)YB1=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return YB1},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-_]*$/};WR6=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");XB1={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};JB1=Symbol.for("vercel.ai.schema")});var $B1=I((g49,Qy0)=>{var{defineProperty:HB1,getOwnPropertyDescriptor:mR6,getOwnPropertyNames:lR6}=Object,dR6=Object.prototype.hasOwnProperty,pR6=(Y,Q)=>{for(var X in Q)HB1(Y,X,{get:Q[X],enumerable:!0})},cR6=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of lR6(Q))if(!dR6.call(Y,G)&&G!==X)HB1(Y,G,{get:()=>Q[G],enumerable:!(J=mR6(Q,G))||J.enumerable})}return Y},nR6=(Y)=>cR6(HB1({},"__esModule",{value:!0}),Y),e_0={};pR6(e_0,{SYMBOL_FOR_REQ_CONTEXT:()=>Yy0,getContext:()=>iR6});Qy0.exports=nR6(e_0);var Yy0=Symbol.for("@vercel/request-context");function iR6(){return globalThis[Yy0]?.get?.()??{}}});var Kk=I((u49,Gy0)=>{var{defineProperty:FB1,getOwnPropertyDescriptor:aR6,getOwnPropertyNames:rR6}=Object,oR6=Object.prototype.hasOwnProperty,sR6=(Y,Q)=>{for(var X in Q)FB1(Y,X,{get:Q[X],enumerable:!0})},tR6=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of rR6(Q))if(!oR6.call(Y,G)&&G!==X)FB1(Y,G,{get:()=>Q[G],enumerable:!(J=aR6(Q,G))||J.enumerable})}return Y},eR6=(Y)=>tR6(FB1({},"__esModule",{value:!0}),Y),Xy0={};sR6(Xy0,{VercelOidcTokenError:()=>Jy0});Gy0.exports=eR6(Xy0);class Jy0 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 Hy0=I((m49,Ky0)=>{var{create:YI6,defineProperty:yi,getOwnPropertyDescriptor:QI6,getOwnPropertyNames:XI6,getPrototypeOf:JI6}=Object,GI6=Object.prototype.hasOwnProperty,WI6=(Y,Q)=>{for(var X in Q)yi(Y,X,{get:Q[X],enumerable:!0})},Wy0=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of XI6(Q))if(!GI6.call(Y,G)&&G!==X)yi(Y,G,{get:()=>Q[G],enumerable:!(J=QI6(Q,G))||J.enumerable})}return Y},qB1=(Y,Q,X)=>(X=Y!=null?YI6(JI6(Y)):{},Wy0(Q||!Y||!Y.__esModule?yi(X,"default",{value:Y,enumerable:!0}):X,Y)),ZI6=(Y)=>Wy0(yi({},"__esModule",{value:!0}),Y),Zy0={};WI6(Zy0,{findRootDir:()=>$I6,getUserDataDir:()=>FI6});Ky0.exports=ZI6(Zy0);var Hk=qB1(E1("path")),KI6=qB1(E1("fs")),VB1=qB1(E1("os")),HI6=Kk();function $I6(){try{let Y=process.cwd();while(Y!==Hk.default.dirname(Y)){let Q=Hk.default.join(Y,".vercel");if(KI6.default.existsSync(Q))return Y;Y=Hk.default.dirname(Y)}}catch(Y){throw new HI6.VercelOidcTokenError("Token refresh only supported in node server environments")}return null}function FI6(){if(process.env.XDG_DATA_HOME)return process.env.XDG_DATA_HOME;switch(VB1.default.platform()){case"darwin":return Hk.default.join(VB1.default.homedir(),"Library/Application Support");case"linux":return Hk.default.join(VB1.default.homedir(),".local/share");case"win32":if(process.env.LOCALAPPDATA)return process.env.LOCALAPPDATA;return null;default:return null}}});var Dy0=I((l49,Uy0)=>{var{create:VI6,defineProperty:fi,getOwnPropertyDescriptor:qI6,getOwnPropertyNames:BI6,getPrototypeOf:UI6}=Object,DI6=Object.prototype.hasOwnProperty,zI6=(Y,Q)=>{for(var X in Q)fi(Y,X,{get:Q[X],enumerable:!0})},$y0=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of BI6(Q))if(!DI6.call(Y,G)&&G!==X)fi(Y,G,{get:()=>Q[G],enumerable:!(J=qI6(Q,G))||J.enumerable})}return Y},Fy0=(Y,Q,X)=>(X=Y!=null?VI6(UI6(Y)):{},$y0(Q||!Y||!Y.__esModule?fi(X,"default",{value:Y,enumerable:!0}):X,Y)),OI6=(Y)=>$y0(fi({},"__esModule",{value:!0}),Y),Vy0={};zI6(Vy0,{isValidAccessToken:()=>wI6,readAuthConfig:()=>LI6,writeAuthConfig:()=>MI6});Uy0.exports=OI6(Vy0);var $k=Fy0(E1("fs")),qy0=Fy0(E1("path")),NI6=bi();function By0(){let Y=(0,NI6.getVercelDataDir)();if(!Y)throw Error(`Unable to find Vercel CLI data directory. Your platform: ${process.platform}. Supported: darwin, linux, win32.`);return qy0.join(Y,"auth.json")}function LI6(){try{let Y=By0();if(!$k.existsSync(Y))return null;let Q=$k.readFileSync(Y,"utf8");if(!Q)return null;return JSON.parse(Q)}catch(Y){return null}}function MI6(Y){let Q=By0(),X=qy0.dirname(Q);if(!$k.existsSync(X))$k.mkdirSync(X,{mode:504,recursive:!0});$k.writeFileSync(Q,JSON.stringify(Y,null,2),{mode:384})}function wI6(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 Ly0=I((d49,Ny0)=>{var{defineProperty:DB1,getOwnPropertyDescriptor:AI6,getOwnPropertyNames:PI6}=Object,EI6=Object.prototype.hasOwnProperty,TI6=(Y,Q)=>{for(var X in Q)DB1(Y,X,{get:Q[X],enumerable:!0})},CI6=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of PI6(Q))if(!EI6.call(Y,G)&&G!==X)DB1(Y,G,{get:()=>Q[G],enumerable:!(J=AI6(Q,G))||J.enumerable})}return Y},RI6=(Y)=>CI6(DB1({},"__esModule",{value:!0}),Y),zy0={};TI6(zy0,{processTokenResponse:()=>vI6,refreshTokenRequest:()=>kI6});Ny0.exports=RI6(zy0);var BB1=E1("os"),II6="https://vercel.com",jI6="cl_HYyOPBNtFMfHhaUn9L4QPfTZz6TP47bp",Oy0=`@vercel/oidc node-${process.version} ${(0,BB1.platform)()} (${(0,BB1.arch)()}) ${(0,BB1.hostname)()}`,UB1=null;async function SI6(){if(UB1)return UB1;let Y=`${II6}/.well-known/openid-configuration`,Q=await fetch(Y,{headers:{"user-agent":Oy0}});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 UB1=J,J}async function kI6(Y){let Q=await SI6();return await fetch(Q,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","user-agent":Oy0},body:new URLSearchParams({client_id:jI6,grant_type:"refresh_token",...Y})})}async function vI6(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 bi=I((p49,Ey0)=>{var{create:_I6,defineProperty:hi,getOwnPropertyDescriptor:yI6,getOwnPropertyNames:fI6,getPrototypeOf:bI6}=Object,hI6=Object.prototype.hasOwnProperty,xI6=(Y,Q)=>{for(var X in Q)hi(Y,X,{get:Q[X],enumerable:!0})},wy0=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of fI6(Q))if(!hI6.call(Y,G)&&G!==X)hi(Y,G,{get:()=>Q[G],enumerable:!(J=yI6(Q,G))||J.enumerable})}return Y},Ay0=(Y,Q,X)=>(X=Y!=null?_I6(bI6(Y)):{},wy0(Q||!Y||!Y.__esModule?hi(X,"default",{value:Y,enumerable:!0}):X,Y)),gI6=(Y)=>wy0(hi({},"__esModule",{value:!0}),Y),Py0={};xI6(Py0,{assertVercelOidcTokenResponse:()=>zB1,findProjectInfo:()=>dI6,getTokenPayload:()=>nI6,getVercelCliToken:()=>mI6,getVercelDataDir:()=>uI6,getVercelOidcToken:()=>lI6,isExpired:()=>iI6,loadToken:()=>cI6,saveToken:()=>pI6});Ey0.exports=gI6(Py0);var Fk=Ay0(E1("path")),cz=Ay0(E1("fs")),bA=Kk(),xi=Hy0(),fA=Dy0(),My0=Ly0();function uI6(){let Q=(0,xi.getUserDataDir)();if(!Q)return null;return Fk.join(Q,"com.vercel.cli")}async function mI6(){let Y=(0,fA.readAuthConfig)();if(!Y)return null;if((0,fA.isValidAccessToken)(Y))return Y.token||null;if(!Y.refreshToken)return(0,fA.writeAuthConfig)({}),null;try{let Q=await(0,My0.refreshTokenRequest)({refresh_token:Y.refreshToken}),[X,J]=await(0,My0.processTokenResponse)(Q);if(X||!J)return(0,fA.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,fA.writeAuthConfig)(G),G.token??null}catch(Q){return(0,fA.writeAuthConfig)({}),null}}async function lI6(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 bA.VercelOidcTokenError(`Failed to refresh OIDC token: ${G.statusText}`);let K=await G.json();return zB1(K),K}function zB1(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 dI6(){let Y=(0,xi.findRootDir)();if(!Y)throw new bA.VercelOidcTokenError("Unable to find project root directory. Have you linked your project with `vc link?`");let Q=Fk.join(Y,".vercel","project.json");if(!cz.existsSync(Q))throw new bA.VercelOidcTokenError("project.json not found, have you linked your project with `vc link?`");let X=JSON.parse(cz.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 pI6(Y,Q){let X=(0,xi.getUserDataDir)();if(!X)throw new bA.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let J=Fk.join(X,"com.vercel.token",`${Q}.json`),G=JSON.stringify(Y);cz.mkdirSync(Fk.dirname(J),{mode:504,recursive:!0}),cz.writeFileSync(J,G),cz.chmodSync(J,432);return}function cI6(Y){let Q=(0,xi.getUserDataDir)();if(!Q)throw new bA.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let X=Fk.join(Q,"com.vercel.token",`${Y}.json`);if(!cz.existsSync(X))return null;let J=JSON.parse(cz.readFileSync(X,"utf8"));return zB1(J),J}function nI6(Y){let Q=Y.split(".");if(Q.length!==3)throw new bA.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 iI6(Y){return Y.exp*1000<Date.now()}});var Ry0=I((c49,Cy0)=>{var{defineProperty:NB1,getOwnPropertyDescriptor:aI6,getOwnPropertyNames:rI6}=Object,oI6=Object.prototype.hasOwnProperty,sI6=(Y,Q)=>{for(var X in Q)NB1(Y,X,{get:Q[X],enumerable:!0})},tI6=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of rI6(Q))if(!oI6.call(Y,G)&&G!==X)NB1(Y,G,{get:()=>Q[G],enumerable:!(J=aI6(Q,G))||J.enumerable})}return Y},eI6=(Y)=>tI6(NB1({},"__esModule",{value:!0}),Y),Ty0={};sI6(Ty0,{refreshToken:()=>Yj6});Cy0.exports=eI6(Ty0);var OB1=Kk(),nz=bi();async function Yj6(){let{projectId:Y,teamId:Q}=(0,nz.findProjectInfo)(),X=(0,nz.loadToken)(Y);if(!X||(0,nz.isExpired)((0,nz.getTokenPayload)(X.token))){let J=await(0,nz.getVercelCliToken)();if(!J)throw new OB1.VercelOidcTokenError("Failed to refresh OIDC token: Log in to Vercel CLI and link your project with `vc link`");if(!Y)throw new OB1.VercelOidcTokenError("Failed to refresh OIDC token: Try re-linking your project with `vc link`");if(X=await(0,nz.getVercelOidcToken)(J,Y,Q),!X)throw new OB1.VercelOidcTokenError("Failed to refresh OIDC token");(0,nz.saveToken)(X,Y)}process.env.VERCEL_OIDC_TOKEN=X.token;return}});var Sy0=I((n49,jy0)=>{var{defineProperty:MB1,getOwnPropertyDescriptor:Qj6,getOwnPropertyNames:Xj6}=Object,Jj6=Object.prototype.hasOwnProperty,Gj6=(Y,Q)=>{for(var X in Q)MB1(Y,X,{get:Q[X],enumerable:!0})},Wj6=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of Xj6(Q))if(!Jj6.call(Y,G)&&G!==X)MB1(Y,G,{get:()=>Q[G],enumerable:!(J=Qj6(Q,G))||J.enumerable})}return Y},Zj6=(Y)=>Wj6(MB1({},"__esModule",{value:!0}),Y),Iy0={};Gj6(Iy0,{getVercelOidcToken:()=>$j6,getVercelOidcTokenSync:()=>LB1});jy0.exports=Zj6(Iy0);var Kj6=$B1(),Hj6=Kk();async function $j6(){let Y="",Q;try{Y=LB1()}catch(X){Q=X}try{let[{getTokenPayload:X,isExpired:J},{refreshToken:G}]=await Promise.all([await Promise.resolve().then(() => E6(bi())),await Promise.resolve().then(() => E6(Ry0()))]);if(!Y||J(X(Y)))await G(),Y=LB1()}catch(X){let J=Q instanceof Error?Q.message:"";if(X instanceof Error)J=`${J}
1111
- ${X.message}`;if(J)throw new Hj6.VercelOidcTokenError(J);throw X}return Y}function LB1(){let Y=(0,Kj6.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 AB1=I((i49,_y0)=>{var{defineProperty:wB1,getOwnPropertyDescriptor:Fj6,getOwnPropertyNames:Vj6}=Object,qj6=Object.prototype.hasOwnProperty,Bj6=(Y,Q)=>{for(var X in Q)wB1(Y,X,{get:Q[X],enumerable:!0})},Uj6=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of Vj6(Q))if(!qj6.call(Y,G)&&G!==X)wB1(Y,G,{get:()=>Q[G],enumerable:!(J=Fj6(Q,G))||J.enumerable})}return Y},Dj6=(Y)=>Uj6(wB1({},"__esModule",{value:!0}),Y),vy0={};Bj6(vy0,{getContext:()=>zj6.getContext,getVercelOidcToken:()=>ky0.getVercelOidcToken,getVercelOidcTokenSync:()=>ky0.getVercelOidcTokenSync});_y0.exports=Dj6(vy0);var ky0=Sy0(),zj6=$B1()});async function Qf0({response:Y,statusCode:Q,defaultMessage:X="Gateway request failed",cause:J,authMethod:G}){var K;let W=await I5({value:Y,schema:jj6});if(!W.success){let V=typeof Y==="object"&&Y!==null&&"generationId"in Y?Y.generationId:void 0;return new Ij6({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 gi.createContextualError({apiKeyProvided:G==="api-key",oidcTokenProvided:G==="oidc",statusCode:Q,cause:J,generationId:F});case"invalid_request_error":return new Mj6({message:$,statusCode:Q,cause:J,generationId:F});case"rate_limit_exceeded":return new Aj6({message:$,statusCode:Q,cause:J,generationId:F});case"model_not_found":{let V=await I5({value:Z.error.param,schema:Ej6});return new Tj6({message:$,statusCode:Q,modelId:V.success?V.value.modelId:void 0,cause:J,generationId:F})}case"internal_server_error":return new sy0({message:$,statusCode:Q,cause:J,generationId:F});default:return new sy0({message:$,statusCode:Q,cause:J,generationId:F})}}function Zf0(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 a$(Y,Q){var X;if(j5.isInstance(Y))return Y;if(Zf0(Y))return Wf0.createTimeoutError({originalMessage:Y instanceof Error?Y.message:"Unknown error",cause:Y});if(d9.isInstance(Y)){if(Y.cause&&Zf0(Y.cause))return Wf0.createTimeoutError({originalMessage:Y.message,cause:Y});return await Qf0({response:kj6(Y),statusCode:(X=Y.statusCode)!=null?X:500,defaultMessage:"Gateway request failed",cause:Y,authMethod:Q})}return await Qf0({response:{},statusCode:500,defaultMessage:Y instanceof Error?`Gateway request failed: ${Y.message}`:"Unknown Gateway error",cause:Y,authMethod:Q})}function kj6(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 iz(Y){let Q=await I5({value:Y[zf0],schema:vj6});return Q.success?Q.value:void 0}function Hf0(Y){if(Y.type==="file"&&Y.data instanceof Uint8Array)return{...Y,data:p$(Y.data)};return Y}function pj6(Y){if(Y.type==="file"&&Y.data instanceof Uint8Array)return{...Y,data:p$(Y.data)};return Y}async function GS6(){var Y;return(Y=Of0.getContext().headers)==null?void 0:Y["x-vercel-id"]}function KS6(Y={}){var Q,X;let J=null,G=null,K=(Q=Y.metadataCacheRefreshMillis)!=null?Q:300000,W=0,Z=(X=s_0(Y.baseURL))!=null?X:"https://ai-gateway.vercel.sh/v3/ai",H=async()=>{try{let z=await HS6(Y);return c$({Authorization:`Bearer ${z.token}`,"ai-gateway-protocol-version":ZS6,[zf0]:z.authMethod,...Y.headers},`ai-sdk/gateway/${WS6}`)}catch(z){throw gi.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:z})}},$=()=>{let z=yA({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),L=yA({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),w=yA({settingValue:void 0,environmentVariableName:"VERCEL_REGION"}),E=yA({settingValue:void 0,environmentVariableName:"VERCEL_PROJECT_ID"});return async()=>{let T=await GS6();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 fj6(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 Kf0({baseURL:Z,headers:H,fetch:Y.fetch}).getAvailableModels().then((T)=>{return G=T,T}).catch(async(T)=>{throw await a$(T,await iz(await H()))});return G?Promise.resolve(G):J},B=async()=>{return new Kf0({baseURL:Z,headers:H,fetch:Y.fetch}).getCredits().catch(async(z)=>{throw await a$(z,await iz(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 xj6(z,{provider:"gateway",baseURL:Z,headers:H,fetch:Y.fetch,o11yHeaders:$()})},U.languageModel=F;let D=(z)=>{return new bj6(z,{provider:"gateway",baseURL:Z,headers:H,fetch:Y.fetch,o11yHeaders:$()})};return U.embeddingModel=D,U.textEmbeddingModel=D,U.videoModel=(z)=>{return new dj6(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=JS6,U}async function HS6(Y){let Q=yA({settingValue:Y.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});if(Q)return{token:Q,authMethod:"api-key"};return{token:await Nf0.getVercelOidcToken(),authMethod:"oidc"}}var Of0,Nf0,Oj6="vercel.ai.gateway.error",PB1,yy0,fy0,j5,$f0="GatewayAuthenticationError",Nj6,by0,hy0,xy0,gi,Ff0="GatewayInvalidRequestError",Lj6,gy0,uy0,my0,Mj6,Vf0="GatewayRateLimitError",wj6,ly0,dy0,py0,Aj6,qf0="GatewayModelNotFoundError",Pj6,cy0,Ej6,ny0,iy0,Tj6,Bf0="GatewayInternalServerError",Cj6,ay0,ry0,oy0,sy0,Uf0="GatewayResponseError",Rj6,ty0,ey0,Yf0,Ij6,jj6,Df0="GatewayTimeoutError",Sj6,Xf0,Jf0,Gf0,Wf0,zf0="ai-gateway-auth-method",vj6,Kf0=class{constructor(Y){this.config=Y}async getAvailableModels(){try{let{value:Y}=await ZB1({url:`${this.config.baseURL}/config`,headers:await TQ(this.config.headers()),successfulResponseHandler:i$(_j6),failedResponseHandler:jW({errorSchema:q.any(),errorToMessage:(Q)=>Q}),fetch:this.config.fetch});return Y}catch(Y){throw await a$(Y)}}async getCredits(){try{let Y=new URL(this.config.baseURL),{value:Q}=await ZB1({url:`${Y.origin}/v1/credits`,headers:await TQ(this.config.headers()),successfulResponseHandler:i$(yj6),failedResponseHandler:jW({errorSchema:q.any(),errorToMessage:(X)=>X}),fetch:this.config.fetch});return Q}catch(Y){throw await a$(Y)}}},_j6,yj6,fj6=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 n$({url:this.getUrl(),headers:d$(G,Y.headers,this.getModelConfigHeaders(this.modelId,!1),await TQ(this.config.o11yHeaders)),body:Q,successfulResponseHandler:i$(q.any()),failedResponseHandler:jW({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 a$(K,await iz(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 n$({url:this.getUrl(),headers:d$(G,Y.headers,this.getModelConfigHeaders(this.modelId,!0),await TQ(this.config.o11yHeaders)),body:Q,successfulResponseHandler:o_0(q.any()),failedResponseHandler:jW({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 a$(K,await iz(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)}}},bj6=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 n$({url:this.getUrl(),headers:d$(K,Q!=null?Q:{},this.getModelConfigHeaders(),await TQ(this.config.o11yHeaders)),body:{values:Y,...J?{providerOptions:J}:{}},successfulResponseHandler:i$(hj6),failedResponseHandler:jW({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 a$(W,await iz(K))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"3","ai-model-id":this.modelId}}},hj6,xj6=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 n$({url:this.getUrl(),headers:d$(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)=>Hf0(E))},...W&&{mask:Hf0(W)}},successfulResponseHandler:i$(lj6),failedResponseHandler:jW({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 a$(z,await iz(D))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"3","ai-model-id":this.modelId}}},gj6,uj6,mj6,lj6,dj6=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 n$({url:this.getUrl(),headers:d$(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:pj6(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=vi({stream:z.body,schema:aj6}).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:jW({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 a$(U,await iz(B))}}getUrl(){return`${this.config.baseURL}/video-model`}getModelConfigHeaders(){return{"ai-video-model-specification-version":"3","ai-model-id":this.modelId}}},cj6,nj6,ij6,aj6,rj6,oj6,sj6,tj6=(Y={})=>sj6(Y),ej6,YS6,QS6,XS6=(Y={})=>QS6(Y),JS6,WS6="3.0.61",ZS6="0.0.1",Lf0;var EB1=k(()=>{X8();S8();s6();s6();X8();X8();s6();X8();X8();s6();X8();s6();X8();s6();X8();s6();S8();X8();s6();X8();c1();X8();c1();X8();Of0=E6(AB1(),1),Nf0=E6(AB1(),1),PB1=Symbol.for(Oj6),j5=class Y extends(fy0=Error,yy0=PB1,fy0){constructor({message:Q,statusCode:X=500,cause:J,generationId:G}){super(G?`${Q} [${G}]`:Q);this[yy0]=!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&&PB1 in Q&&Q[PB1]===!0}},Nj6=`vercel.ai.gateway.error.${$f0}`,by0=Symbol.for(Nj6),gi=class Y extends(xy0=j5,hy0=by0,xy0){constructor({message:Q="Authentication failed",statusCode:X=401,cause:J,generationId:G}={}){super({message:Q,statusCode:X,cause:J,generationId:G});this[hy0]=!0,this.name=$f0,this.type="authentication_error"}static isInstance(Q){return j5.hasMarker(Q)&&by0 in Q}static createContextualError({apiKeyProvided:Q,oidcTokenProvided:X,message:J="Authentication failed",statusCode:G=401,cause:K,generationId:W}){let Z;if(Q)Z=`AI Gateway authentication failed: Invalid API key.
1111
+ ${X.message}`;if(J)throw new Hj6.VercelOidcTokenError(J);throw X}return Y}function LB1(){let Y=(0,Kj6.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 AB1=I((i49,_y0)=>{var{defineProperty:wB1,getOwnPropertyDescriptor:Fj6,getOwnPropertyNames:Vj6}=Object,qj6=Object.prototype.hasOwnProperty,Bj6=(Y,Q)=>{for(var X in Q)wB1(Y,X,{get:Q[X],enumerable:!0})},Uj6=(Y,Q,X,J)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let G of Vj6(Q))if(!qj6.call(Y,G)&&G!==X)wB1(Y,G,{get:()=>Q[G],enumerable:!(J=Fj6(Q,G))||J.enumerable})}return Y},Dj6=(Y)=>Uj6(wB1({},"__esModule",{value:!0}),Y),vy0={};Bj6(vy0,{getContext:()=>zj6.getContext,getVercelOidcToken:()=>ky0.getVercelOidcToken,getVercelOidcTokenSync:()=>ky0.getVercelOidcTokenSync});_y0.exports=Dj6(vy0);var ky0=Sy0(),zj6=$B1()});async function Qf0({response:Y,statusCode:Q,defaultMessage:X="Gateway request failed",cause:J,authMethod:G}){var K;let W=await I5({value:Y,schema:jj6});if(!W.success){let V=typeof Y==="object"&&Y!==null&&"generationId"in Y?Y.generationId:void 0;return new Ij6({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 gi.createContextualError({apiKeyProvided:G==="api-key",oidcTokenProvided:G==="oidc",statusCode:Q,cause:J,generationId:F});case"invalid_request_error":return new Mj6({message:$,statusCode:Q,cause:J,generationId:F});case"rate_limit_exceeded":return new Aj6({message:$,statusCode:Q,cause:J,generationId:F});case"model_not_found":{let V=await I5({value:Z.error.param,schema:Ej6});return new Tj6({message:$,statusCode:Q,modelId:V.success?V.value.modelId:void 0,cause:J,generationId:F})}case"internal_server_error":return new sy0({message:$,statusCode:Q,cause:J,generationId:F});default:return new sy0({message:$,statusCode:Q,cause:J,generationId:F})}}function Zf0(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 a$(Y,Q){var X;if(j5.isInstance(Y))return Y;if(Zf0(Y))return Wf0.createTimeoutError({originalMessage:Y instanceof Error?Y.message:"Unknown error",cause:Y});if(d9.isInstance(Y)){if(Y.cause&&Zf0(Y.cause))return Wf0.createTimeoutError({originalMessage:Y.message,cause:Y});return await Qf0({response:kj6(Y),statusCode:(X=Y.statusCode)!=null?X:500,defaultMessage:"Gateway request failed",cause:Y,authMethod:Q})}return await Qf0({response:{},statusCode:500,defaultMessage:Y instanceof Error?`Gateway request failed: ${Y.message}`:"Unknown Gateway error",cause:Y,authMethod:Q})}function kj6(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 iz(Y){let Q=await I5({value:Y[zf0],schema:vj6});return Q.success?Q.value:void 0}function Hf0(Y){if(Y.type==="file"&&Y.data instanceof Uint8Array)return{...Y,data:p$(Y.data)};return Y}function pj6(Y){if(Y.type==="file"&&Y.data instanceof Uint8Array)return{...Y,data:p$(Y.data)};return Y}async function GS6(){var Y;return(Y=Of0.getContext().headers)==null?void 0:Y["x-vercel-id"]}function KS6(Y={}){var Q,X;let J=null,G=null,K=(Q=Y.metadataCacheRefreshMillis)!=null?Q:300000,W=0,Z=(X=s_0(Y.baseURL))!=null?X:"https://ai-gateway.vercel.sh/v3/ai",H=async()=>{try{let z=await HS6(Y);return c$({Authorization:`Bearer ${z.token}`,"ai-gateway-protocol-version":ZS6,[zf0]:z.authMethod,...Y.headers},`ai-sdk/gateway/${WS6}`)}catch(z){throw gi.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:z})}},$=()=>{let z=yA({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),L=yA({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),w=yA({settingValue:void 0,environmentVariableName:"VERCEL_REGION"}),E=yA({settingValue:void 0,environmentVariableName:"VERCEL_PROJECT_ID"});return async()=>{let T=await GS6();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 fj6(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 Kf0({baseURL:Z,headers:H,fetch:Y.fetch}).getAvailableModels().then((T)=>{return G=T,T}).catch(async(T)=>{throw await a$(T,await iz(await H()))});return G?Promise.resolve(G):J},B=async()=>{return new Kf0({baseURL:Z,headers:H,fetch:Y.fetch}).getCredits().catch(async(z)=>{throw await a$(z,await iz(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 xj6(z,{provider:"gateway",baseURL:Z,headers:H,fetch:Y.fetch,o11yHeaders:$()})},U.languageModel=F;let D=(z)=>{return new bj6(z,{provider:"gateway",baseURL:Z,headers:H,fetch:Y.fetch,o11yHeaders:$()})};return U.embeddingModel=D,U.textEmbeddingModel=D,U.videoModel=(z)=>{return new dj6(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=JS6,U}async function HS6(Y){let Q=yA({settingValue:Y.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});if(Q)return{token:Q,authMethod:"api-key"};return{token:await Nf0.getVercelOidcToken(),authMethod:"oidc"}}var Of0,Nf0,Oj6="vercel.ai.gateway.error",PB1,yy0,fy0,j5,$f0="GatewayAuthenticationError",Nj6,by0,hy0,xy0,gi,Ff0="GatewayInvalidRequestError",Lj6,gy0,uy0,my0,Mj6,Vf0="GatewayRateLimitError",wj6,ly0,dy0,py0,Aj6,qf0="GatewayModelNotFoundError",Pj6,cy0,Ej6,ny0,iy0,Tj6,Bf0="GatewayInternalServerError",Cj6,ay0,ry0,oy0,sy0,Uf0="GatewayResponseError",Rj6,ty0,ey0,Yf0,Ij6,jj6,Df0="GatewayTimeoutError",Sj6,Xf0,Jf0,Gf0,Wf0,zf0="ai-gateway-auth-method",vj6,Kf0=class{constructor(Y){this.config=Y}async getAvailableModels(){try{let{value:Y}=await ZB1({url:`${this.config.baseURL}/config`,headers:await TQ(this.config.headers()),successfulResponseHandler:i$(_j6),failedResponseHandler:jW({errorSchema:q.any(),errorToMessage:(Q)=>Q}),fetch:this.config.fetch});return Y}catch(Y){throw await a$(Y)}}async getCredits(){try{let Y=new URL(this.config.baseURL),{value:Q}=await ZB1({url:`${Y.origin}/v1/credits`,headers:await TQ(this.config.headers()),successfulResponseHandler:i$(yj6),failedResponseHandler:jW({errorSchema:q.any(),errorToMessage:(X)=>X}),fetch:this.config.fetch});return Q}catch(Y){throw await a$(Y)}}},_j6,yj6,fj6=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 n$({url:this.getUrl(),headers:d$(G,Y.headers,this.getModelConfigHeaders(this.modelId,!1),await TQ(this.config.o11yHeaders)),body:Q,successfulResponseHandler:i$(q.any()),failedResponseHandler:jW({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 a$(K,await iz(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 n$({url:this.getUrl(),headers:d$(G,Y.headers,this.getModelConfigHeaders(this.modelId,!0),await TQ(this.config.o11yHeaders)),body:Q,successfulResponseHandler:o_0(q.any()),failedResponseHandler:jW({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 a$(K,await iz(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)}}},bj6=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 n$({url:this.getUrl(),headers:d$(K,Q!=null?Q:{},this.getModelConfigHeaders(),await TQ(this.config.o11yHeaders)),body:{values:Y,...J?{providerOptions:J}:{}},successfulResponseHandler:i$(hj6),failedResponseHandler:jW({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 a$(W,await iz(K))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"3","ai-model-id":this.modelId}}},hj6,xj6=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 n$({url:this.getUrl(),headers:d$(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)=>Hf0(E))},...W&&{mask:Hf0(W)}},successfulResponseHandler:i$(lj6),failedResponseHandler:jW({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 a$(z,await iz(D))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"3","ai-model-id":this.modelId}}},gj6,uj6,mj6,lj6,dj6=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 n$({url:this.getUrl(),headers:d$(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:pj6(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=vi({stream:z.body,schema:aj6}).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:jW({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 a$(U,await iz(B))}}getUrl(){return`${this.config.baseURL}/video-model`}getModelConfigHeaders(){return{"ai-video-model-specification-version":"3","ai-model-id":this.modelId}}},cj6,nj6,ij6,aj6,rj6,oj6,sj6,tj6=(Y={})=>sj6(Y),ej6,YS6,QS6,XS6=(Y={})=>QS6(Y),JS6,WS6="3.0.62",ZS6="0.0.1",Lf0;var EB1=k(()=>{X8();S8();s6();s6();X8();X8();s6();X8();X8();s6();X8();s6();X8();s6();X8();s6();S8();X8();s6();X8();c1();X8();c1();X8();Of0=E6(AB1(),1),Nf0=E6(AB1(),1),PB1=Symbol.for(Oj6),j5=class Y extends(fy0=Error,yy0=PB1,fy0){constructor({message:Q,statusCode:X=500,cause:J,generationId:G}){super(G?`${Q} [${G}]`:Q);this[yy0]=!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&&PB1 in Q&&Q[PB1]===!0}},Nj6=`vercel.ai.gateway.error.${$f0}`,by0=Symbol.for(Nj6),gi=class Y extends(xy0=j5,hy0=by0,xy0){constructor({message:Q="Authentication failed",statusCode:X=401,cause:J,generationId:G}={}){super({message:Q,statusCode:X,cause:J,generationId:G});this[hy0]=!0,this.name=$f0,this.type="authentication_error"}static isInstance(Q){return j5.hasMarker(Q)&&by0 in Q}static createContextualError({apiKeyProvided:Q,oidcTokenProvided:X,message:J="Authentication failed",statusCode:G=401,cause:K,generationId:W}){let Z;if(Q)Z=`AI Gateway authentication failed: Invalid API key.
1112
1112
 
1113
1113
  Create a new API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
1114
1114
 
@@ -1134,7 +1134,7 @@ Alternatively, you can use a provider module instead of the AI Gateway.
1134
1134
  Learn more: \x1B[34m${X}\x1B[0m
1135
1135
 
1136
1136
  `),{name:"GatewayAuthenticationError"})}function qk({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 vb0({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=xB1(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 yb0({isEnabled:Y=!1,tracer:Q}={}){if(!Y)return Ik6;if(Q)return Q;return _b0.trace.getTracer("ai")}async function Bk({name:Y,tracer:Q,attributes:X,fn:J,endWhenDone:G=!0}){return Q.startActiveSpan(Y,{attributes:await X},async(K)=>{let W=mA.context.active();try{let Z=await mA.context.with(W,()=>J(K));if(G)K.end();return Z}catch(Z){try{fb0(K,Z)}finally{K.end()}throw Z}})}function fb0(Y,Q){if(Q instanceof Error)Y.recordException({name:Q.name,message:Q.message,stack:Q.stack}),Y.setStatus({code:mA.SpanStatusCode.ERROR,message:Q.message});else Y.setStatus({code:mA.SpanStatusCode.ERROR})}async function mH({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 bb0(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?qk6(X.data):X.data}:X)})))}function hb0(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:nZ(Y.inputTokens.total,Y.outputTokens.total),raw:Y.raw,reasoningTokens:Y.outputTokens.reasoning,cachedInputTokens:Y.inputTokens.cacheRead}}function TB1(){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 xb0(Y,Q){var X,J,G,K,W,Z,H,$,F,V;return{inputTokens:nZ(Y.inputTokens,Q.inputTokens),inputTokenDetails:{noCacheTokens:nZ((X=Y.inputTokenDetails)==null?void 0:X.noCacheTokens,(J=Q.inputTokenDetails)==null?void 0:J.noCacheTokens),cacheReadTokens:nZ((G=Y.inputTokenDetails)==null?void 0:G.cacheReadTokens,(K=Q.inputTokenDetails)==null?void 0:K.cacheReadTokens),cacheWriteTokens:nZ((W=Y.inputTokenDetails)==null?void 0:W.cacheWriteTokens,(Z=Q.inputTokenDetails)==null?void 0:Z.cacheWriteTokens)},outputTokens:nZ(Y.outputTokens,Q.outputTokens),outputTokenDetails:{textTokens:nZ((H=Y.outputTokenDetails)==null?void 0:H.textTokens,($=Q.outputTokenDetails)==null?void 0:$.textTokens),reasoningTokens:nZ((F=Y.outputTokenDetails)==null?void 0:F.reasoningTokens,(V=Q.outputTokenDetails)==null?void 0:V.reasoningTokens)},totalTokens:nZ(Y.totalTokens,Q.totalTokens),reasoningTokens:nZ(Y.reasoningTokens,Q.reasoningTokens),cachedInputTokens:nZ(Y.cachedInputTokens,Q.cachedInputTokens)}}function nZ(Y,Q){return Y==null&&Q==null?void 0:(Y!=null?Y:0)+(Q!=null?Q:0)}function pi(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]=pi(K,G);else X[J]=G}return X}function Sk6({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 gb0(Y,{maxRetries:Q,delayInMs:X,backoffFactor:J,abortSignal:G},K=[]){try{return await Y()}catch(W){if(l$(W))throw W;if(Q===0)throw W;let Z=cq(W),H=[...K,W],$=H.length;if($>Q)throw new wf0({message:`Failed after ${$} attempts. Last error: ${Z}`,reason:"maxRetriesExceeded",errors:H});if(W instanceof Error&&d9.isInstance(W)&&W.isRetryable===!0&&$<=Q)return await h_0(Sk6({error:W,exponentialBackoffDelay:X}),{abortSignal:G}),gb0(Y,{maxRetries:Q,delayInMs:J*X,backoffFactor:J,abortSignal:G},H);if($===1)throw W;throw new wf0({message:`Failed after ${$} attempts with non-retryable error: '${Z}'`,reason:"errorNotRetryable",errors:H})}}function ub0({maxRetries:Y,abortSignal:Q}){if(Y!=null){if(!Number.isInteger(Y))throw new iZ({parameter:"maxRetries",value:Y,message:"maxRetries must be an integer"});if(Y<0)throw new iZ({parameter:"maxRetries",value:Y,message:"maxRetries must be >= 0"})}let X=Y!=null?Y:2;return{maxRetries:X,retry:kk6({maxRetries:X,abortSignal:Q})}}function mb0({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 OS6({approvalId:H.approvalId});if(G[$.toolCallId]!=null)continue;let F=X[$.toolCallId];if(F==null)throw new bB1({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 mi(){var Y,Q;return(Q=(Y=globalThis==null?void 0:globalThis.performance)==null?void 0:Y.now())!=null?Q:Date.now()}async function gB1({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 Bk({name:"ai.toolCall",attributes:mH({telemetry:J,attributes:{...qk({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 aZ({event:L,callbacks:F});let T=mi();try{let P=t_0({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=mi()-T;return await aZ({event:{...L,success:!1,error:P,durationMs:R},callbacks:V}),fb0(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=mi()-T;await aZ({event:{...L,success:!0,output:E,durationMs:C},callbacks:V});try{w.setAttributes(await mH({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 Tf0(Y){let Q=Y.filter((X)=>X.type==="reasoning");return Q.length===0?void 0:Q.map((X)=>X.text).join(`
1137
- `)}function Cf0(Y){let Q=Y.filter((X)=>X.type==="text");if(Q.length===0)return;return Q.map((X)=>X.text).join("")}async function db0({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 yk6(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 Uk(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:yk6(Y)}),Q.success)return{value:Q.value,state:"repaired-parse"};return{value:void 0,state:"failed-parse"}}async function pb0({toolCall:Y,tools:Q,repairToolCall:X,system:J,messages:G}){var K;try{if(Q==null){if(Y.providerExecuted&&Y.dynamic)return await cb0(Y);throw new SB1({toolName:Y.toolName})}try{return await Rf0({toolCall:Y,tools:Q})}catch(W){if(X==null||!(SB1.isInstance(W)||fB1.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 gH($).jsonSchema},system:J,messages:G,error:W})}catch(H){throw new mS6({cause:H,originalError:W})}if(Z==null)throw W;return await Rf0({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 cb0(Y){let Q=Y.input.trim()===""?{success:!0,value:{}}:await EG({text:Y.input});if(Q.success===!1)throw new fB1({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 Rf0({toolCall:Y,tools:Q}){let X=Y.toolName,J=Q[X];if(J==null){if(Y.providerExecuted&&Y.dynamic)return await cb0(Y);throw new SB1({toolName:Y.toolName,availableTools:Object.keys(Q)})}let G=gH(J.inputSchema),K=Y.input.trim()===""?await I5({value:{},schema:G}):await EG({text:Y.input,schema:G});if(K.success===!1)throw new fB1({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 iq(Y){return({steps:Q})=>Q.length===Y}async function ib0({stopConditions:Y,steps:Q}){return(await Promise.all(Y.map((X)=>X({steps:Q})))).some((X)=>X)}async function vB1({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 az({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 az({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 az({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 ab0(...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 lA({model:Y,tools:Q,toolChoice:X,system:J,prompt:G,messages:K,maxRetries:W,abortSignal:Z,timeout:H,headers:$,stopWhen:F=iq(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:S=gk6}={},experimental_onStart:_,experimental_onStepStart:f,experimental_onToolCallStart:b,experimental_onToolCallFinish:g,onStepFinish:r,onFinish:m,...h}){let n=li(Y),$1=uA(F),Q1=xB1(H),N1=Mb0(H),j1=N1!=null?new AbortController:void 0,D1=ab0(Z,Q1!=null?AbortSignal.timeout(Q1):void 0,j1==null?void 0:j1.signal),{maxRetries:L1,retry:S1}=ub0({maxRetries:W,abortSignal:D1}),u1=kB1(h),Y0=c$($!=null?$:{},`ai/${wb0}`),C1=vb0({model:n,telemetry:U,headers:Y0,settings:{...u1,maxRetries:L1}}),A1={provider:n.provider,modelId:n.modelId},o1=await Sb0({system:J,prompt:G,messages:K});await aZ({event:{model:A1,system:J,prompt:G,messages:K,tools:Q,toolChoice:X,activeTools:L,maxOutputTokens:u1.maxOutputTokens,temperature:u1.temperature,topP:u1.topP,topK:u1.topK,presencePenalty:u1.presencePenalty,frequencyPenalty:u1.frequencyPenalty,stopSequences:u1.stopSequences,seed:u1.seed,maxRetries: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=yb0(U);try{return await Bk({name:"ai.generateText",attributes:mH({telemetry:U,attributes:{...qk({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 V0,y1,w1,n1,R1,_1,A0,W0,J0,h4,Q6,S6,b4;let _0=o1.messages,h1=[],{approvedToolApprovals:P0,deniedToolApprovals:n4}=mb0({messages:_0}),W8=P0.filter((s)=>!s.toolCall.providerExecuted);if(n4.length>0||W8.length>0){let s=await If0({toolCalls:W8.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 az({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 n4)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}}}}});h1.push({role:"tool",content:B1})}let k9=[...P0,...n4].filter((s)=>s.toolCall.providerExecuted);if(k9.length>0)h1.push({role:"tool",content:k9.map((s)=>({type:"tool-approval-response",approvalId:s.approvalResponse.approvalId,approved:s.approvalResponse.approved,reason:s.approvalResponse.reason,providerExecuted:!0}))});let i0=kB1(h),S0,d6=[],M=[],x=[],Z1=new Map;do{let s=N1!=null?setTimeout(()=>j1.abort(),N1):void 0;try{let B1=[..._0,...h1],F1=await(E==null?void 0:E({model:n,steps:x,stepNumber:x.length,messages:B1,experimental_context:P})),t=li((V0=F1==null?void 0:F1.model)!=null?V0:n),a1={provider:t.provider,modelId:t.modelId},b0=await Tb0({prompt:{system:(y1=F1==null?void 0:F1.system)!=null?y1:o1.system,messages:(w1=F1==null?void 0:F1.messages)!=null?w1:B1},supportedUrls:await t.supportedUrls,download:C});P=(n1=F1==null?void 0:F1.experimental_context)!=null?n1:P;let m0=(R1=F1==null?void 0:F1.activeTools)!=null?R1:L,{toolChoice:$0,tools:U4}=await Cb0({tools:Q,toolChoice:(_1=F1==null?void 0:F1.toolChoice)!=null?_1:X,activeTools:m0}),G9=(A0=F1==null?void 0:F1.messages)!=null?A0:B1,s9=(W0=F1==null?void 0:F1.system)!=null?W0:o1.system,P6=pi(D,F1==null?void 0:F1.providerOptions);await aZ({event:{stepNumber:x.length,model:a1,system:s9,messages:G9,tools:Q,toolChoice:$0,activeTools:m0,steps:[...x],providerOptions:P6,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 Bk({name:"ai.generateText.doGenerate",attributes:mH({telemetry:U,attributes:{...qk({operationId:"ai.generateText.doGenerate",telemetry:U}),...C1,"ai.model.provider":t.provider,"ai.model.id":t.modelId,"ai.prompt.messages":{input:()=>bb0(b0)},"ai.prompt.tools":{input:()=>U4==null?void 0:U4.map((p1)=>JSON.stringify(p1))},"ai.prompt.toolChoice":{input:()=>$0!=null?JSON.stringify($0):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(p1)=>{var U0,p0,l0,k6,c0,_4,y4,i4;let H4=await t.doGenerate({...i0,tools:U4,toolChoice:$0,responseFormat:await(B==null?void 0:B.responseFormat),prompt:b0,providerOptions:P6,abortSignal:D1,headers:Y0}),I4={id:(p0=(U0=H4.response)==null?void 0:U0.id)!=null?p0:S(),timestamp:(k6=(l0=H4.response)==null?void 0:l0.timestamp)!=null?k6:new Date,modelId:(_4=(c0=H4.response)==null?void 0:c0.modelId)!=null?_4:t.modelId,headers:(y4=H4.response)==null?void 0:y4.headers,body:(i4=H4.response)==null?void 0:i4.body};return p1.setAttributes(await mH({telemetry:U,attributes:{"ai.response.finishReason":H4.finishReason.unified,"ai.response.text":{output:()=>Cf0(H4.content)},"ai.response.reasoning":{output:()=>Tf0(H4.content)},"ai.response.toolCalls":{output:()=>{let r4=jf0(H4.content);return r4==null?void 0:JSON.stringify(r4)}},"ai.response.id":I4.id,"ai.response.model":I4.modelId,"ai.response.timestamp":I4.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":I4.id,"gen_ai.response.model":I4.modelId,"gen_ai.usage.input_tokens":H4.usage.inputTokens.total,"gen_ai.usage.output_tokens":H4.usage.outputTokens.total}})),{...H4,response:I4}}})});let f6=await Promise.all(S0.content.filter((z1)=>z1.type==="tool-call").map((z1)=>pb0({toolCall:z1,tools:Q,repairToolCall:T,system:J,messages:B1}))),HJ={};for(let z1 of f6){if(z1.invalid)continue;let p1=Q==null?void 0:Q[z1.toolName];if(p1==null)continue;if((p1==null?void 0:p1.onInputAvailable)!=null)await p1.onInputAvailable({input:z1.input,toolCallId:z1.toolCallId,messages:B1,abortSignal:D1,experimental_context:P});if(await db0({tool:p1,toolCall:z1,messages:B1,experimental_context:P}))HJ[z1.toolCallId]={type:"tool-approval-request",approvalId:S(),toolCall:z1}}let u=f6.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:cq(z1.error),dynamic:!0});if(d6=f6.filter((z1)=>!z1.providerExecuted),Q!=null)M.push(...await If0({toolCalls:d6.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:a1,onToolCallStart:b,onToolCallFinish:g}));for(let z1 of f6){if(!z1.providerExecuted)continue;let p1=Q==null?void 0:Q[z1.toolName];if((p1==null?void 0:p1.type)==="provider"&&p1.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=mk6({content:S0.content,toolCalls:f6,toolOutputs:M,toolApprovalRequests:Object.values(HJ),tools:Q});h1.push(...await vB1({content:c,tools:Q}));let o=((J0=R==null?void 0:R.requestBody)!=null?J0:!0)?(h4=S0.request)!=null?h4:{}:{...S0.request,body:void 0},v={...S0.response,messages:structuredClone(h1),body:((Q6=R==null?void 0:R.responseBody)!=null?Q6:!0)?(S6=S0.response)==null?void 0:S6.body:void 0},G1=x.length,V1=new nb0({stepNumber:G1,model:a1,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:hb0(S0.usage),warnings:S0.warnings,providerMetadata:S0.providerMetadata,request:o,response:v});hB1({warnings:(b4=S0.warnings)!=null?b4:[],provider:a1.provider,model:a1.modelId}),x.push(V1),await aZ({event:V1,callbacks:r})}finally{if(s!=null)clearTimeout(s)}}while((d6.length>0&&M.length===d6.length||Z1.size>0)&&!await ib0({stopConditions:$1,steps:x}));K4.setAttributes(await mH({telemetry:U,attributes:{"ai.response.finishReason":S0.finishReason.unified,"ai.response.text":{output:()=>Cf0(S0.content)},"ai.response.reasoning":{output:()=>Tf0(S0.content)},"ai.response.toolCalls":{output:()=>{let s=jf0(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 xb0(s,B1.usage)},{inputTokens:void 0,outputTokens:void 0,totalTokens:void 0,reasoningTokens:void 0,cachedInputTokens:void 0});await aZ({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 j;if(K1.finishReason==="stop")j=await(B!=null?B:di()).parseCompleteOutput({text:K1.text},{response:K1.response,usage:K1.usage,finishReason:K1.finishReason});return new uk6({steps:x,totalUsage:O,output:j})}})}catch(K4){throw kb0(K4)}}async function If0({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)=>gB1({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 jf0(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 mk6({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 lb0(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 bB1({toolCallId:W.toolCallId,approvalId:W.approvalId});K.push({type:"tool-approval-request",approvalId:W.approvalId,toolCall:Z});break}}return[...K,...X,...J]}function ci(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 lk6({status:Y,statusText:Q,headers:X,textStream:J}){return new Response(J.pipeThrough(new TextEncoderStream),{status:Y!=null?Y:200,statusText:Q,headers:ci(X,{"content-type":"text/plain; charset=utf-8"})})}function rb0({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 dk6({response:Y,status:Q,statusText:X,headers:J,textStream:G}){rb0({response:Y,status:Q,statusText:X,headers:Object.fromEntries(ci(J,{"content-type":"text/plain; charset=utf-8"}).entries()),stream:G.pipeThrough(new TextEncoderStream)})}function ni({status:Y,statusText:Q,headers:X,stream:J,consumeSseStream:G}){let K=J.pipeThrough(new ob0);if(G){let[W,Z]=K.tee();K=W,G({stream:Z})}return new Response(K.pipeThrough(new TextEncoderStream),{status:Y,statusText:Q,headers:ci(X,sb0)})}function pk6({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 ck6(Y){return Y.type.startsWith("data-")}function CB1(Y){return Y.type.startsWith("data-")}function RB1(Y){return Y.type==="text"}function IB1(Y){return Y.type==="file"}function Sf0(Y){return Y.type==="reasoning"}function _B1(Y){return Y.type.startsWith("tool-")}function tb0(Y){return Y.type==="dynamic-tool"}function gA(Y){return _B1(Y)||tb0(Y)}function yB1(Y){return Y.type.split("-").slice(1).join("-")}function jB1(Y){return tb0(Y)?Y.toolName:yB1(Y)}function eb0({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 Yh0({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(gA).find((R)=>R.toolCallId===T);if(P==null)throw new hA({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((_)=>_B1(_)&&_.toolCallId===T.toolCallId),R=T,S=P;if(P!=null){if(P.state=T.state,S.input=R.input,S.output=R.output,S.errorText=R.errorText,S.rawInput=R.rawInput,S.preliminary=R.preliminary,T.title!==void 0)S.title=T.title;if(S.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),S=T,_=R;if(R!=null){if(R.state=T.state,_.toolName=T.toolName,_.input=S.input,_.output=S.output,_.errorText=S.errorText,_.rawInput=(C=S.rawInput)!=null?C:_.rawInput,_.preliminary=S.preliminary,T.title!==void 0)_.title=T.title;if(_.providerExecuted=(P=S.providerExecuted)!=null?P:R.providerExecuted,S.providerMetadata!=null)R.callProviderMetadata=S.providerMetadata}else $.message.parts.push({type:"dynamic-tool",toolName:T.toolName,toolCallId:T.toolCallId,state:T.state,input:S.input,output:S.output,errorText:S.errorText,preliminary:S.preliminary,providerExecuted:S.providerExecuted,title:T.title,...S.providerMetadata!=null?{callProviderMetadata:S.providerMetadata}:{}})}async function E(T){if(T!=null){let C=$.message.metadata!=null?pi($.message.metadata,T):T;if(Q!=null)await uH({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 hA({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 hA({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 hA({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 hA({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(_B1);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 hA({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 Uk(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(gA).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:yB1(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:yB1(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(ck6(Z)){if((X==null?void 0:X[Z.type])!=null){let P=$.message.parts.findIndex((S)=>("id"in S)&&("data"in S)&&S.id===Z.id&&S.type===Z.type),R=P>=0?P:$.message.parts.length;await uH({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 Qh0({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 $=eb0({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 Yh0({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 nk6({response:Y,status:Q,statusText:X,headers:J,stream:G,consumeSseStream:K}){let W=G.pipeThrough(new ob0);if(K){let[Z,H]=W.tee();W=Z,K({stream:H})}rb0({response:Y,status:Q,statusText:X,headers:Object.fromEntries(ci(J,sb0).entries()),stream:W.pipeThrough(new TextEncoderStream)})}function xA(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 Dk({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 kf0(){let Y,Q;return{promise:new Promise((J,G)=>{Y=J,Q=G}),resolve:Y,reject:Q}}function ik6(){let Y=[],Q=null,X=!1,J=kf0(),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=kf0(),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 ak6({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(S){D=S}}),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(S,_){let f=S.type;switch(f){case"stream-start":case"text-start":case"text-delta":case"text-end":case"reasoning-start":case"reasoning-delta":case"reasoning-end":case"tool-input-start":case"tool-input-delta":case"tool-input-end":case"source":case"response-metadata":case"error":case"raw":{_.enqueue(S);break}case"file":{_.enqueue({type:"file",file:new vk6({data:S.data,mediaType:S.mediaType})});break}case"finish":{C={type:"finish",finishReason:S.finishReason.unified,rawFinishReason:S.finishReason.raw,usage:hb0(S.usage),providerMetadata:S.providerMetadata};break}case"tool-approval-request":{let b=E.get(S.toolCallId);if(b==null){D.enqueue({type:"error",error:new bB1({toolCallId:S.toolCallId,approvalId:S.approvalId})});break}_.enqueue({type:"tool-approval-request",approvalId:S.approvalId,toolCall:b});break}case"tool-call":{try{let b=await pb0({toolCall:S,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:cq(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 db0({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),gB1({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=S.toolName;if(S.isError)D.enqueue({type:"tool-error",toolCallId:S.toolCallId,toolName:b,input:w.get(S.toolCallId),providerExecuted:!0,error:S.result,dynamic:S.dynamic});else _.enqueue({type:"tool-result",toolCallId:S.toolCallId,toolName:b,input:w.get(S.toolCallId),output:S.result,providerExecuted:!0,dynamic:S.dynamic});break}default:throw Error(`Unhandled chunk type: ${f}`)}},flush(){T=!0,P()}});return new ReadableStream({async start(S){return Promise.all([Q.pipeThrough(R).pipeTo(new WritableStream({write(_){S.enqueue(_)},close(){}})),z.pipeTo(new WritableStream({write(_){S.enqueue(_)},close(){S.close()}}))])}})}function dA({model:Y,tools:Q,toolChoice:X,system:J,prompt:G,messages:K,maxRetries:W,abortSignal:Z,timeout:H,headers:$,stopWhen:F=iq(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:S=({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=mi,generateId:N1=rk6}={},...j1}){let D1=xB1(H),L1=Mb0(H),S1=Wk6(H),u1=L1!=null?new AbortController:void 0,Y0=S1!=null?new AbortController:void 0;return new sk6({model:li(Y),telemetry:U,headers:$,settings:j1,maxRetries:W,abortSignal:ab0(Z,D1!=null?AbortSignal.timeout(D1):void 0,u1==null?void 0:u1.signal,Y0==null?void 0:Y0.signal),stepTimeoutMs:L1,stepAbortController:u1,chunkTimeoutMs:S1,chunkAbortController:Y0,system:J,prompt:G,messages:K,tools:Q,toolChoice:X,transforms:uA(T),activeTools:w,repairToolCall:E,stopConditions:uA(F),output:B,providerOptions:z,prepareStep:D,includeRawChunks:P,timeout:H,stopWhen:F,originalAbortSignal:Z,onChunk:R,onError:S,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 ok6(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 uB1({execute:Y,onError:Q=cq,originalMessages:X,onStepFinish:J,onFinish:G,generateId:K=WB1}){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){}}),Qh0({stream:H,messageId:K(),originalMessages:X,onStepFinish:J,onFinish:G,onError:Q})}function Xh0({message:Y,stream:Q,onError:X,terminateOnError:J=!1}){var G;let K,W=!1,Z=new ReadableStream({start(F){K=F}}),H=eb0({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 Dk({stream:Yh0({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()}),xA(Z)}async function Jh0(Y,Q){let X=[];if(Q==null?void 0:Q.ignoreIncompleteToolCalls)Y=Y.map((J)=>({...J,parts:J.parts.filter((G)=>!gA(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(RB1(G))return{type:"text",text:G.text,...G.providerMetadata!=null?{providerOptions:G.providerMetadata}:{}};if(IB1(G))return{type:"file",mediaType:G.mediaType,filename:G.filename,data:G.url,...G.providerMetadata!=null?{providerOptions:G.providerMetadata}:{}};if(CB1(G))return(K=Q==null?void 0:Q.convertDataPart)==null?void 0:K.call(Q,G)}).filter(d_0)});break}case"assistant":{if(J.parts!=null){let G=[];async function K(){var W,Z,H,$,F,V;if(G.length===0)return;let B=[];for(let D of G)if(RB1(D))B.push({type:"text",text:D.text,...D.providerMetadata!=null?{providerOptions:D.providerMetadata}:{}});else if(IB1(D))B.push({type:"file",mediaType:D.mediaType,filename:D.filename,data:D.url});else if(Sf0(D))B.push({type:"reasoning",text:D.text,providerOptions:D.providerMetadata});else if(gA(D)){let z=jB1(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 az({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(CB1(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 gA(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:jB1(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=jB1(z);D.push({type:"tool-result",toolCallId:z.toolCallId,toolName:L,output:await az({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(RB1(W)||Sf0(W)||IB1(W)||gA(W)||CB1(W))G.push(W);else if(W.type==="step-start")await K();await K();break}break}default:{let G=J.role;throw new sS6({originalMessage:J,message:`Unsupported role: ${G}`})}}return X}async function ek6({messages:Y,metadataSchema:Q,dataSchemas:X,tools:J}){try{if(Y==null)return{success:!1,error:new iZ({parameter:"messages",value:Y,message:"messages parameter must be provided"})};let G=await uH({value:Y,schema:tk6});if(Q)for(let[K,W]of G.entries())await uH({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 uH({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 uH({value:$.input,schema:V.inputSchema,context:{field:`messages[${K}].parts[${Z}].input`,entityName:F,entityId:$.toolCallId}});if($.state==="output-available"&&V.outputSchema)await uH({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 Gh0({messages:Y,metadataSchema:Q,dataSchemas:X,tools:J}){let G=await ek6({messages:Y,metadataSchema:Q,dataSchemas:X,tools:J});if(!G.success)throw G.error;return G.data}function Wh0(Y){return({url:Q,abortSignal:X})=>Ab0({url:Q,maxBytes:Y==null?void 0:Y.maxBytes,abortSignal:X})}function Zh0({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 _b0,mA,$S6,FS6=(Y,Q)=>{for(var X in Q)$S6(Y,X,{get:Q[X],enumerable:!0})},vf0="AI_InvalidArgumentError",_f0,VS6,yf0,iZ,qS6="AI_InvalidStreamPartError",BS6,US6,DS6,ff0="AI_InvalidToolApprovalError",bf0,zS6,hf0,OS6,xf0="AI_InvalidToolInputError",gf0,NS6,uf0,fB1,mf0="AI_ToolCallNotFoundForApprovalError",lf0,LS6,df0,bB1,pf0="AI_MissingToolResultsError",cf0,MS6,nf0,Mf0,wS6="AI_NoImageGeneratedError",AS6,PS6,ES6,if0="AI_NoObjectGeneratedError",af0,TS6,rf0,nq,of0="AI_NoOutputGeneratedError",sf0,CS6,tf0,ef0,RS6="AI_NoSpeechGeneratedError",IS6,jS6,SS6,kS6="AI_NoTranscriptGeneratedError",vS6,_S6,yS6,fS6="AI_NoVideoGeneratedError",bS6,hS6,xS6,Yb0="AI_NoSuchToolError",Qb0,gS6,Xb0,SB1,Jb0="AI_ToolCallRepairError",Gb0,uS6,Wb0,mS6,lS6,Zb0="AI_UIMessageStreamError",Kb0,dS6,Hb0,hA,pS6="AI_InvalidDataContentError",cS6,nS6,iS6,$b0="AI_InvalidMessageRoleError",Fb0,aS6,Vb0,rS6,qb0="AI_MessageConversionError",Bb0,oS6,Ub0,sS6,Db0="AI_RetryError",zb0,tS6,Ob0,wf0,Yk6="AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.",Af0=!1,hB1=(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(!Af0)Af0=!0,console.info(Yk6);for(let X of Y.warnings)console.warn(eS6({warning:X,provider:Y.provider,model:Y.model}))},Zk6,Kk6=(Y)=>{let Q=typeof Y==="string"?_A(Y):Y,X=(Q[6]&127)<<21|(Q[7]&127)<<14|(Q[8]&127)<<7|Q[9]&127;return Q.slice(X+10)},wb0="6.0.108",Ab0=async({url:Y,maxBytes:Q,abortSignal:X})=>{var J;let G=Y.toString();try{let K=await fetch(G,{headers:c$({},`ai-sdk/${wb0}`,ki()),signal:X});if(!K.ok)throw new vA({url:G,statusCode:K.status,statusText:K.statusText});return{data:await u_0({response:K,url:G,maxBytes:Q!=null?Q:GB1}),mediaType:(J=K.headers.get("content-type"))!=null?J:void 0}}catch(K){if(vA.isInstance(K))throw K;throw new vA({url:G,cause:K})}},Fk6=(Y=Ab0)=>(Q)=>Promise.all(Q.map(async(X)=>X.isUrlSupportedByModel?null:Y(X))),Pb0,Vk,c4,Rb0,Ok6,Ib0,Nk6,Lk6,Mk6,jb0,wk6,Ak6,Pk6,Ek6,Tk6,Ck6,Rk6,Ik6,ui,jk6,kk6=({maxRetries:Y=2,initialDelayInMs:Q=2000,backoffFactor:X=2,abortSignal:J}={})=>async(G)=>gb0(G,{maxRetries:Y,delayInMs:Q,backoffFactor:X,abortSignal:J}),lb0=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=p$(this.uint8ArrayData);return this.base64Data}get uint8Array(){if(this.uint8ArrayData==null)this.uint8ArrayData=_A(this.base64Data);return this.uint8ArrayData}},vk6,_k6,di=()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),async parseCompleteOutput({text:Y}){return Y},async parsePartialOutput({text:Y}){return{partial:Y}},createElementStreamTransform(){return}}),fk6=({schema:Y,name:Q,description:X})=>{let J=gH(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 nq({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 I5({value:W.value,schema:J});if(!Z.success)throw new nq({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 Uk(G);switch(K.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:K.value}}},createElementStreamTransform(){return}}},bk6=({element:Y,name:Q,description:X})=>{let J=gH(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 nq({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 nq({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 I5({value:H,schema:J});if(!$.success)throw new nq({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 Uk(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 I5({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])}})}}},hk6=({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 nq({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 nq({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 Uk(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}}},xk6=({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 nq({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 Uk(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}}},nb0=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)}},gk6,uk6=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 ef0;return this._output}},ob0,sb0,E89,rk6,sk6=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:S,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:u1}){this._totalUsage=new pz,this._finishReason=new pz,this._rawFinishReason=new pz,this._steps=new pz,this.outputSpecification=T,this.includeRawChunks=R,this.tools=U;let Y0,C1=[],A1=[],o1=void 0,B4=void 0,K4=void 0,V0={},y1=[],w1=[],n1=new Map,R1,_1={},A0={},W0=new TransformStream({async transform(i0,S0){var d6,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:kb0(K1.error)});if(K1.type==="text-start")_1[K1.id]={type:"text",text:"",providerMetadata:K1.providerMetadata},C1.push(_1[K1.id]);if(K1.type==="text-delta"){let O=_1[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=(d6=K1.providerMetadata)!=null?d6:O.providerMetadata}if(K1.type==="text-end"){let O=_1[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 _1[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={},_1={},V0=K1.request,y1=K1.warnings;if(K1.type==="finish-step"){let O=await vB1({content:C1,tools:U}),j=new nb0({stepNumber:w1.length,model:W8,...k9,experimental_context:L1,content:C1,finishReason:K1.finishReason,rawFinishReason:K1.rawFinishReason,usage:K1.usage,warnings:y1,request:V0,response:{...K1.response,messages:[...A1,...O]},providerMetadata:K1.providerMetadata});await aZ({event:j,callbacks:$1}),hB1({warnings:y1,provider:W8.provider,model:W8.modelId}),w1.push(j),A1.push(...O),Y0.resolve()}if(K1.type==="finish")K4=K1.totalUsage,o1=K1.finishReason,B4=K1.rawFinishReason},async flush(i0){try{if(w1.length===0){let x=(K==null?void 0:K.aborted)?K.reason:new ef0({message:"No output generated. Check the stream for errors."});n4._finishReason.reject(x),n4._rawFinishReason.reject(x),n4._totalUsage.reject(x),n4._steps.reject(x);return}let S0=o1!=null?o1:"other",d6=K4!=null?K4:TB1();n4._finishReason.resolve(S0),n4._rawFinishReason.resolve(B4),n4._totalUsage.resolve(d6),n4._steps.resolve(w1);let M=w1[w1.length-1];await aZ({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:d6,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 mH({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":d6.inputTokens,"ai.usage.outputTokens":d6.outputTokens,"ai.usage.totalTokens":d6.totalTokens,"ai.usage.reasoningTokens":d6.reasoningTokens,"ai.usage.cachedInputTokens":d6.cachedInputTokens}}))}catch(S0){i0.error(S0)}finally{R1.end()}}}),J0=ik6();this.addStream=J0.addStream,this.closeStream=J0.close;let h4=J0.stream.getReader(),Q6=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:dZ(K.reason)}:{}}),i0.close()}try{let{done:d6,value:M}=await h4.read();if(d6){i0.close();return}if(K==null?void 0:K.aborted){S0();return}i0.enqueue(M)}catch(d6){if(l$(d6)&&(K==null?void 0:K.aborted))S0();else i0.error(d6)}},cancel(i0){return J0.stream.cancel(i0)}});for(let i0 of z)Q6=Q6.pipeThrough(i0({tools:U,stopStream(){J0.terminate()}}));this.baseStream=Q6.pipeThrough(ok6(T!=null?T:di())).pipeThrough(W0);let{maxRetries:S6,retry:b4}=ub0({maxRetries:G,abortSignal:K}),_0=yb0(Q),h1=kB1(J),P0=vb0({model:Y,telemetry:Q,headers:X,settings:{...h1,maxRetries:S6}}),n4=this,W8={provider:Y.provider,modelId:Y.modelId},k9={functionId:Q==null?void 0:Q.functionId,metadata:Q==null?void 0:Q.metadata};Bk({name:"ai.streamText",attributes:mH({telemetry:Q,attributes:{...qk({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 Sb0({system:F,prompt:V,messages:B});await aZ({event:{model:W8,system:F,prompt:V,messages:B,tools:U,toolChoice:D,activeTools:L,maxOutputTokens:h1.maxOutputTokens,temperature:h1.temperature,topP:h1.topP,topK:h1.topK,presencePenalty:h1.presencePenalty,frequencyPenalty:h1.frequencyPenalty,stopSequences:h1.stopSequences,seed:h1.seed,maxRetries:S6,timeout:f,headers:X,providerOptions:C,stopWhen:b,output:T,abortSignal:g,include:u1,...k9,experimental_context:L1},callbacks:Q1});let d6=S0.messages,M=[],{approvedToolApprovals:x,deniedToolApprovals:Z1}=mb0({messages:d6});if(Z1.length>0||x.length>0){let O=[...x,...Z1].filter((a1)=>a1.toolCall.providerExecuted),j=x.filter((a1)=>!a1.toolCall.providerExecuted),s=Z1.filter((a1)=>!a1.toolCall.providerExecuted),B1=Z1.filter((a1)=>a1.toolCall.providerExecuted),F1,t=new ReadableStream({start(a1){F1=a1}});n4.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 a1=[];if(await Promise.all(j.map(async(b0)=>{let m0=await gB1({toolCall:b0.toolCall,tools:U,tracer:_0,telemetry:Q,messages:d6,abortSignal:K,experimental_context:L1,stepNumber:w1.length,model:W8,onToolCallStart:j1,onToolCallFinish:D1,onPreliminaryToolResult:($0)=>{F1==null||F1.enqueue($0)}});if(m0!=null)F1==null||F1.enqueue(m0),a1.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(a1.length>0||s.length>0){let b0=[];for(let m0 of a1)b0.push({type:"tool-result",toolCallId:m0.toolCallId,toolName:m0.toolName,output:await az({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:j,usage:s}){var B1,F1,t,a1,b0,m0,$0,U4,G9;let s9=n4.includeRawChunks,P6=W!=null?setTimeout(()=>Z.abort(),W):void 0,f6=void 0;function HJ(){if(H!=null){if(f6!=null)clearTimeout(f6);f6=setTimeout(()=>$.abort(),H)}}function u(){if(f6!=null)clearTimeout(f6),f6=void 0}function c(){if(P6!=null)clearTimeout(P6)}try{Y0=new pz;let o=[...d6,...j],v=await(P==null?void 0:P({model:Y,steps:w1,stepNumber:w1.length,messages:o,experimental_context:L1})),G1=li((B1=v==null?void 0:v.model)!=null?B1:Y),V1={provider:G1.provider,modelId:G1.modelId},z1=await Tb0({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}),p1=(a1=v==null?void 0:v.activeTools)!=null?a1:L,{toolChoice:U0,tools:p0}=await Cb0({tools:U,toolChoice:(b0=v==null?void 0:v.toolChoice)!=null?b0:D,activeTools:p1});L1=(m0=v==null?void 0:v.experimental_context)!=null?m0:L1;let l0=($0=v==null?void 0:v.messages)!=null?$0:o,k6=(U4=v==null?void 0:v.system)!=null?U4:S0.system,c0=pi(C,v==null?void 0:v.providerOptions);await aZ({event:{stepNumber:w1.length,model:V1,system:k6,messages:l0,tools:U,toolChoice:U0,activeTools:p1,steps:[...w1],providerOptions:c0,timeout:f,headers:X,stopWhen:b,output:T,abortSignal:g,include:u1,...k9,experimental_context:L1},callbacks:N1});let{result:{stream:_4,response:y4,request:i4},doStreamSpan:H4,startTimestampMs:I4}=await b4(()=>Bk({name:"ai.streamText.doStream",attributes:mH({telemetry:Q,attributes:{...qk({operationId:"ai.streamText.doStream",telemetry:Q}),...P0,"ai.model.provider":G1.provider,"ai.model.id":G1.modelId,"ai.prompt.messages":{input:()=>bb0(z1)},"ai.prompt.tools":{input:()=>p0==null?void 0:p0.map((l1)=>JSON.stringify(l1))},"ai.prompt.toolChoice":{input:()=>U0!=null?JSON.stringify(U0):void 0},"gen_ai.system":G1.provider,"gen_ai.request.model":G1.modelId,"gen_ai.request.frequency_penalty":h1.frequencyPenalty,"gen_ai.request.max_tokens":h1.maxOutputTokens,"gen_ai.request.presence_penalty":h1.presencePenalty,"gen_ai.request.stop_sequences":h1.stopSequences,"gen_ai.request.temperature":h1.temperature,"gen_ai.request.top_k":h1.topK,"gen_ai.request.top_p":h1.topP}}),tracer:_0,endWhenDone:!1,fn:async(l1)=>({startTimestampMs:S(),doStreamSpan:l1,result:await G1.doStream({...h1,tools:p0,toolChoice:U0,responseFormat:await(T==null?void 0:T.responseFormat),prompt:z1,providerOptions:c0,abortSignal:K,headers:X,includeRawChunks:s9})})})),r4=ak6({tools:U,generatorStream:_4,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}),X6=((G9=u1==null?void 0:u1.requestBody)!=null?G9:!0)?i4!=null?i4:{}:{...i4,body:void 0},G4=[],L4=[],a0,V4={},$4="other",d0=void 0,m1=TB1(),i1,O0=!0,K0={id:_(),timestamp:new Date,modelId:W8.modelId},q0="";n4.addStream(r4.pipeThrough(new TransformStream({async transform(l1,Z4){var B6,D6,z6,U1,J6;if(HJ(),l1.type==="stream-start"){a0=l1.warnings;return}if(O0){let x4=S()-I4;O0=!1,H4.addEvent("ai.stream.firstChunk",{"ai.response.msToFirstChunk":x4}),H4.setAttributes({"ai.response.msToFirstChunk":x4}),Z4.enqueue({type:"start-step",request:X6,warnings:a0!=null?a0:[]})}let r6=l1.type;switch(r6){case"tool-approval-request":case"text-start":case"text-end":{Z4.enqueue(l1);break}case"text-delta":{if(l1.delta.length>0)Z4.enqueue({type:"text-delta",id:l1.id,text:l1.delta,providerMetadata:l1.providerMetadata}),q0+=l1.delta;break}case"reasoning-start":case"reasoning-end":{Z4.enqueue(l1);break}case"reasoning-delta":{Z4.enqueue({type:"reasoning-delta",id:l1.id,text:l1.delta,providerMetadata:l1.providerMetadata});break}case"tool-call":{Z4.enqueue(l1),G4.push(l1);break}case"tool-result":{if(Z4.enqueue(l1),!l1.preliminary)L4.push(l1);break}case"tool-error":{Z4.enqueue(l1),L4.push(l1);break}case"response-metadata":{K0={id:(B6=l1.id)!=null?B6:K0.id,timestamp:(D6=l1.timestamp)!=null?D6:K0.timestamp,modelId:(z6=l1.modelId)!=null?z6:K0.modelId};break}case"finish":{m1=l1.usage,$4=l1.finishReason,d0=l1.rawFinishReason,i1=l1.providerMetadata;let x4=S()-I4;H4.addEvent("ai.stream.finish"),H4.setAttributes({"ai.response.msToFinish":x4,"ai.response.avgOutputTokensPerSecond":1000*((U1=m1.outputTokens)!=null?U1:0)/x4});break}case"file":{Z4.enqueue(l1);break}case"source":{Z4.enqueue(l1);break}case"tool-input-start":{V4[l1.id]=l1.toolName;let x4=U==null?void 0:U[l1.toolName];if((x4==null?void 0:x4.onInputStart)!=null)await x4.onInputStart({toolCallId:l1.id,messages:o,abortSignal:K,experimental_context:L1});Z4.enqueue({...l1,dynamic:(J6=l1.dynamic)!=null?J6:(x4==null?void 0:x4.type)==="dynamic",title:x4==null?void 0:x4.title});break}case"tool-input-end":{delete V4[l1.id],Z4.enqueue(l1);break}case"tool-input-delta":{let x4=V4[l1.id],w6=U==null?void 0:U[x4];if((w6==null?void 0:w6.onInputDelta)!=null)await w6.onInputDelta({inputTextDelta:l1.delta,toolCallId:l1.id,messages:o,abortSignal:K,experimental_context:L1});Z4.enqueue(l1);break}case"error":{Z4.enqueue(l1),$4="error";break}case"raw":{if(s9)Z4.enqueue(l1);break}default:throw Error(`Unknown chunk type: ${r6}`)}},async flush(l1){let Z4=G4.length>0?JSON.stringify(G4):void 0;try{H4.setAttributes(await mH({telemetry:Q,attributes:{"ai.response.finishReason":$4,"ai.response.text":{output:()=>q0},"ai.response.reasoning":{output:()=>{let U1=C1.filter((J6)=>J6.type==="reasoning");return U1.length>0?U1.map((J6)=>J6.text).join(`
1137
+ `)}function Cf0(Y){let Q=Y.filter((X)=>X.type==="text");if(Q.length===0)return;return Q.map((X)=>X.text).join("")}async function db0({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 yk6(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 Uk(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:yk6(Y)}),Q.success)return{value:Q.value,state:"repaired-parse"};return{value:void 0,state:"failed-parse"}}async function pb0({toolCall:Y,tools:Q,repairToolCall:X,system:J,messages:G}){var K;try{if(Q==null){if(Y.providerExecuted&&Y.dynamic)return await cb0(Y);throw new SB1({toolName:Y.toolName})}try{return await Rf0({toolCall:Y,tools:Q})}catch(W){if(X==null||!(SB1.isInstance(W)||fB1.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 gH($).jsonSchema},system:J,messages:G,error:W})}catch(H){throw new mS6({cause:H,originalError:W})}if(Z==null)throw W;return await Rf0({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 cb0(Y){let Q=Y.input.trim()===""?{success:!0,value:{}}:await EG({text:Y.input});if(Q.success===!1)throw new fB1({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 Rf0({toolCall:Y,tools:Q}){let X=Y.toolName,J=Q[X];if(J==null){if(Y.providerExecuted&&Y.dynamic)return await cb0(Y);throw new SB1({toolName:Y.toolName,availableTools:Object.keys(Q)})}let G=gH(J.inputSchema),K=Y.input.trim()===""?await I5({value:{},schema:G}):await EG({text:Y.input,schema:G});if(K.success===!1)throw new fB1({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 iq(Y){return({steps:Q})=>Q.length===Y}async function ib0({stopConditions:Y,steps:Q}){return(await Promise.all(Y.map((X)=>X({steps:Q})))).some((X)=>X)}async function vB1({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 az({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 az({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 az({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 ab0(...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 lA({model:Y,tools:Q,toolChoice:X,system:J,prompt:G,messages:K,maxRetries:W,abortSignal:Z,timeout:H,headers:$,stopWhen:F=iq(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:S=gk6}={},experimental_onStart:_,experimental_onStepStart:f,experimental_onToolCallStart:b,experimental_onToolCallFinish:g,onStepFinish:r,onFinish:m,...h}){let n=li(Y),$1=uA(F),Q1=xB1(H),N1=Mb0(H),j1=N1!=null?new AbortController:void 0,D1=ab0(Z,Q1!=null?AbortSignal.timeout(Q1):void 0,j1==null?void 0:j1.signal),{maxRetries:L1,retry:S1}=ub0({maxRetries:W,abortSignal:D1}),u1=kB1(h),Y0=c$($!=null?$:{},`ai/${wb0}`),C1=vb0({model:n,telemetry:U,headers:Y0,settings:{...u1,maxRetries:L1}}),A1={provider:n.provider,modelId:n.modelId},o1=await Sb0({system:J,prompt:G,messages:K});await aZ({event:{model:A1,system:J,prompt:G,messages:K,tools:Q,toolChoice:X,activeTools:L,maxOutputTokens:u1.maxOutputTokens,temperature:u1.temperature,topP:u1.topP,topK:u1.topK,presencePenalty:u1.presencePenalty,frequencyPenalty:u1.frequencyPenalty,stopSequences:u1.stopSequences,seed:u1.seed,maxRetries: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=yb0(U);try{return await Bk({name:"ai.generateText",attributes:mH({telemetry:U,attributes:{...qk({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 V0,y1,w1,n1,R1,_1,A0,W0,J0,h4,Q6,S6,b4;let _0=o1.messages,h1=[],{approvedToolApprovals:P0,deniedToolApprovals:n4}=mb0({messages:_0}),W8=P0.filter((s)=>!s.toolCall.providerExecuted);if(n4.length>0||W8.length>0){let s=await If0({toolCalls:W8.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 az({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 n4)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}}}}});h1.push({role:"tool",content:B1})}let k9=[...P0,...n4].filter((s)=>s.toolCall.providerExecuted);if(k9.length>0)h1.push({role:"tool",content:k9.map((s)=>({type:"tool-approval-response",approvalId:s.approvalResponse.approvalId,approved:s.approvalResponse.approved,reason:s.approvalResponse.reason,providerExecuted:!0}))});let i0=kB1(h),S0,d6=[],M=[],x=[],Z1=new Map;do{let s=N1!=null?setTimeout(()=>j1.abort(),N1):void 0;try{let B1=[..._0,...h1],F1=await(E==null?void 0:E({model:n,steps:x,stepNumber:x.length,messages:B1,experimental_context:P})),t=li((V0=F1==null?void 0:F1.model)!=null?V0:n),a1={provider:t.provider,modelId:t.modelId},b0=await Tb0({prompt:{system:(y1=F1==null?void 0:F1.system)!=null?y1:o1.system,messages:(w1=F1==null?void 0:F1.messages)!=null?w1:B1},supportedUrls:await t.supportedUrls,download:C});P=(n1=F1==null?void 0:F1.experimental_context)!=null?n1:P;let m0=(R1=F1==null?void 0:F1.activeTools)!=null?R1:L,{toolChoice:$0,tools:U4}=await Cb0({tools:Q,toolChoice:(_1=F1==null?void 0:F1.toolChoice)!=null?_1:X,activeTools:m0}),G9=(A0=F1==null?void 0:F1.messages)!=null?A0:B1,s9=(W0=F1==null?void 0:F1.system)!=null?W0:o1.system,P6=pi(D,F1==null?void 0:F1.providerOptions);await aZ({event:{stepNumber:x.length,model:a1,system:s9,messages:G9,tools:Q,toolChoice:$0,activeTools:m0,steps:[...x],providerOptions:P6,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 Bk({name:"ai.generateText.doGenerate",attributes:mH({telemetry:U,attributes:{...qk({operationId:"ai.generateText.doGenerate",telemetry:U}),...C1,"ai.model.provider":t.provider,"ai.model.id":t.modelId,"ai.prompt.messages":{input:()=>bb0(b0)},"ai.prompt.tools":{input:()=>U4==null?void 0:U4.map((p1)=>JSON.stringify(p1))},"ai.prompt.toolChoice":{input:()=>$0!=null?JSON.stringify($0):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(p1)=>{var U0,p0,l0,k6,c0,_4,y4,i4;let H4=await t.doGenerate({...i0,tools:U4,toolChoice:$0,responseFormat:await(B==null?void 0:B.responseFormat),prompt:b0,providerOptions:P6,abortSignal:D1,headers:Y0}),I4={id:(p0=(U0=H4.response)==null?void 0:U0.id)!=null?p0:S(),timestamp:(k6=(l0=H4.response)==null?void 0:l0.timestamp)!=null?k6:new Date,modelId:(_4=(c0=H4.response)==null?void 0:c0.modelId)!=null?_4:t.modelId,headers:(y4=H4.response)==null?void 0:y4.headers,body:(i4=H4.response)==null?void 0:i4.body};return p1.setAttributes(await mH({telemetry:U,attributes:{"ai.response.finishReason":H4.finishReason.unified,"ai.response.text":{output:()=>Cf0(H4.content)},"ai.response.reasoning":{output:()=>Tf0(H4.content)},"ai.response.toolCalls":{output:()=>{let r4=jf0(H4.content);return r4==null?void 0:JSON.stringify(r4)}},"ai.response.id":I4.id,"ai.response.model":I4.modelId,"ai.response.timestamp":I4.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":I4.id,"gen_ai.response.model":I4.modelId,"gen_ai.usage.input_tokens":H4.usage.inputTokens.total,"gen_ai.usage.output_tokens":H4.usage.outputTokens.total}})),{...H4,response:I4}}})});let f6=await Promise.all(S0.content.filter((z1)=>z1.type==="tool-call").map((z1)=>pb0({toolCall:z1,tools:Q,repairToolCall:T,system:J,messages:B1}))),HJ={};for(let z1 of f6){if(z1.invalid)continue;let p1=Q==null?void 0:Q[z1.toolName];if(p1==null)continue;if((p1==null?void 0:p1.onInputAvailable)!=null)await p1.onInputAvailable({input:z1.input,toolCallId:z1.toolCallId,messages:B1,abortSignal:D1,experimental_context:P});if(await db0({tool:p1,toolCall:z1,messages:B1,experimental_context:P}))HJ[z1.toolCallId]={type:"tool-approval-request",approvalId:S(),toolCall:z1}}let u=f6.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:cq(z1.error),dynamic:!0});if(d6=f6.filter((z1)=>!z1.providerExecuted),Q!=null)M.push(...await If0({toolCalls:d6.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:a1,onToolCallStart:b,onToolCallFinish:g}));for(let z1 of f6){if(!z1.providerExecuted)continue;let p1=Q==null?void 0:Q[z1.toolName];if((p1==null?void 0:p1.type)==="provider"&&p1.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=mk6({content:S0.content,toolCalls:f6,toolOutputs:M,toolApprovalRequests:Object.values(HJ),tools:Q});h1.push(...await vB1({content:c,tools:Q}));let o=((J0=R==null?void 0:R.requestBody)!=null?J0:!0)?(h4=S0.request)!=null?h4:{}:{...S0.request,body:void 0},v={...S0.response,messages:structuredClone(h1),body:((Q6=R==null?void 0:R.responseBody)!=null?Q6:!0)?(S6=S0.response)==null?void 0:S6.body:void 0},G1=x.length,V1=new nb0({stepNumber:G1,model:a1,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:hb0(S0.usage),warnings:S0.warnings,providerMetadata:S0.providerMetadata,request:o,response:v});hB1({warnings:(b4=S0.warnings)!=null?b4:[],provider:a1.provider,model:a1.modelId}),x.push(V1),await aZ({event:V1,callbacks:r})}finally{if(s!=null)clearTimeout(s)}}while((d6.length>0&&M.length===d6.length||Z1.size>0)&&!await ib0({stopConditions:$1,steps:x}));K4.setAttributes(await mH({telemetry:U,attributes:{"ai.response.finishReason":S0.finishReason.unified,"ai.response.text":{output:()=>Cf0(S0.content)},"ai.response.reasoning":{output:()=>Tf0(S0.content)},"ai.response.toolCalls":{output:()=>{let s=jf0(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 xb0(s,B1.usage)},{inputTokens:void 0,outputTokens:void 0,totalTokens:void 0,reasoningTokens:void 0,cachedInputTokens:void 0});await aZ({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 j;if(K1.finishReason==="stop")j=await(B!=null?B:di()).parseCompleteOutput({text:K1.text},{response:K1.response,usage:K1.usage,finishReason:K1.finishReason});return new uk6({steps:x,totalUsage:O,output:j})}})}catch(K4){throw kb0(K4)}}async function If0({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)=>gB1({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 jf0(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 mk6({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 lb0(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 bB1({toolCallId:W.toolCallId,approvalId:W.approvalId});K.push({type:"tool-approval-request",approvalId:W.approvalId,toolCall:Z});break}}return[...K,...X,...J]}function ci(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 lk6({status:Y,statusText:Q,headers:X,textStream:J}){return new Response(J.pipeThrough(new TextEncoderStream),{status:Y!=null?Y:200,statusText:Q,headers:ci(X,{"content-type":"text/plain; charset=utf-8"})})}function rb0({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 dk6({response:Y,status:Q,statusText:X,headers:J,textStream:G}){rb0({response:Y,status:Q,statusText:X,headers:Object.fromEntries(ci(J,{"content-type":"text/plain; charset=utf-8"}).entries()),stream:G.pipeThrough(new TextEncoderStream)})}function ni({status:Y,statusText:Q,headers:X,stream:J,consumeSseStream:G}){let K=J.pipeThrough(new ob0);if(G){let[W,Z]=K.tee();K=W,G({stream:Z})}return new Response(K.pipeThrough(new TextEncoderStream),{status:Y,statusText:Q,headers:ci(X,sb0)})}function pk6({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 ck6(Y){return Y.type.startsWith("data-")}function CB1(Y){return Y.type.startsWith("data-")}function RB1(Y){return Y.type==="text"}function IB1(Y){return Y.type==="file"}function Sf0(Y){return Y.type==="reasoning"}function _B1(Y){return Y.type.startsWith("tool-")}function tb0(Y){return Y.type==="dynamic-tool"}function gA(Y){return _B1(Y)||tb0(Y)}function yB1(Y){return Y.type.split("-").slice(1).join("-")}function jB1(Y){return tb0(Y)?Y.toolName:yB1(Y)}function eb0({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 Yh0({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(gA).find((R)=>R.toolCallId===T);if(P==null)throw new hA({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((_)=>_B1(_)&&_.toolCallId===T.toolCallId),R=T,S=P;if(P!=null){if(P.state=T.state,S.input=R.input,S.output=R.output,S.errorText=R.errorText,S.rawInput=R.rawInput,S.preliminary=R.preliminary,T.title!==void 0)S.title=T.title;if(S.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),S=T,_=R;if(R!=null){if(R.state=T.state,_.toolName=T.toolName,_.input=S.input,_.output=S.output,_.errorText=S.errorText,_.rawInput=(C=S.rawInput)!=null?C:_.rawInput,_.preliminary=S.preliminary,T.title!==void 0)_.title=T.title;if(_.providerExecuted=(P=S.providerExecuted)!=null?P:R.providerExecuted,S.providerMetadata!=null)R.callProviderMetadata=S.providerMetadata}else $.message.parts.push({type:"dynamic-tool",toolName:T.toolName,toolCallId:T.toolCallId,state:T.state,input:S.input,output:S.output,errorText:S.errorText,preliminary:S.preliminary,providerExecuted:S.providerExecuted,title:T.title,...S.providerMetadata!=null?{callProviderMetadata:S.providerMetadata}:{}})}async function E(T){if(T!=null){let C=$.message.metadata!=null?pi($.message.metadata,T):T;if(Q!=null)await uH({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 hA({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 hA({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 hA({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 hA({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(_B1);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 hA({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 Uk(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(gA).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:yB1(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:yB1(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(ck6(Z)){if((X==null?void 0:X[Z.type])!=null){let P=$.message.parts.findIndex((S)=>("id"in S)&&("data"in S)&&S.id===Z.id&&S.type===Z.type),R=P>=0?P:$.message.parts.length;await uH({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 Qh0({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 $=eb0({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 Yh0({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 nk6({response:Y,status:Q,statusText:X,headers:J,stream:G,consumeSseStream:K}){let W=G.pipeThrough(new ob0);if(K){let[Z,H]=W.tee();W=Z,K({stream:H})}rb0({response:Y,status:Q,statusText:X,headers:Object.fromEntries(ci(J,sb0).entries()),stream:W.pipeThrough(new TextEncoderStream)})}function xA(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 Dk({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 kf0(){let Y,Q;return{promise:new Promise((J,G)=>{Y=J,Q=G}),resolve:Y,reject:Q}}function ik6(){let Y=[],Q=null,X=!1,J=kf0(),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=kf0(),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 ak6({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(S){D=S}}),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(S,_){let f=S.type;switch(f){case"stream-start":case"text-start":case"text-delta":case"text-end":case"reasoning-start":case"reasoning-delta":case"reasoning-end":case"tool-input-start":case"tool-input-delta":case"tool-input-end":case"source":case"response-metadata":case"error":case"raw":{_.enqueue(S);break}case"file":{_.enqueue({type:"file",file:new vk6({data:S.data,mediaType:S.mediaType})});break}case"finish":{C={type:"finish",finishReason:S.finishReason.unified,rawFinishReason:S.finishReason.raw,usage:hb0(S.usage),providerMetadata:S.providerMetadata};break}case"tool-approval-request":{let b=E.get(S.toolCallId);if(b==null){D.enqueue({type:"error",error:new bB1({toolCallId:S.toolCallId,approvalId:S.approvalId})});break}_.enqueue({type:"tool-approval-request",approvalId:S.approvalId,toolCall:b});break}case"tool-call":{try{let b=await pb0({toolCall:S,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:cq(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 db0({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),gB1({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=S.toolName;if(S.isError)D.enqueue({type:"tool-error",toolCallId:S.toolCallId,toolName:b,input:w.get(S.toolCallId),providerExecuted:!0,error:S.result,dynamic:S.dynamic});else _.enqueue({type:"tool-result",toolCallId:S.toolCallId,toolName:b,input:w.get(S.toolCallId),output:S.result,providerExecuted:!0,dynamic:S.dynamic});break}default:throw Error(`Unhandled chunk type: ${f}`)}},flush(){T=!0,P()}});return new ReadableStream({async start(S){return Promise.all([Q.pipeThrough(R).pipeTo(new WritableStream({write(_){S.enqueue(_)},close(){}})),z.pipeTo(new WritableStream({write(_){S.enqueue(_)},close(){S.close()}}))])}})}function dA({model:Y,tools:Q,toolChoice:X,system:J,prompt:G,messages:K,maxRetries:W,abortSignal:Z,timeout:H,headers:$,stopWhen:F=iq(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:S=({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=mi,generateId:N1=rk6}={},...j1}){let D1=xB1(H),L1=Mb0(H),S1=Wk6(H),u1=L1!=null?new AbortController:void 0,Y0=S1!=null?new AbortController:void 0;return new sk6({model:li(Y),telemetry:U,headers:$,settings:j1,maxRetries:W,abortSignal:ab0(Z,D1!=null?AbortSignal.timeout(D1):void 0,u1==null?void 0:u1.signal,Y0==null?void 0:Y0.signal),stepTimeoutMs:L1,stepAbortController:u1,chunkTimeoutMs:S1,chunkAbortController:Y0,system:J,prompt:G,messages:K,tools:Q,toolChoice:X,transforms:uA(T),activeTools:w,repairToolCall:E,stopConditions:uA(F),output:B,providerOptions:z,prepareStep:D,includeRawChunks:P,timeout:H,stopWhen:F,originalAbortSignal:Z,onChunk:R,onError:S,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 ok6(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 uB1({execute:Y,onError:Q=cq,originalMessages:X,onStepFinish:J,onFinish:G,generateId:K=WB1}){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){}}),Qh0({stream:H,messageId:K(),originalMessages:X,onStepFinish:J,onFinish:G,onError:Q})}function Xh0({message:Y,stream:Q,onError:X,terminateOnError:J=!1}){var G;let K,W=!1,Z=new ReadableStream({start(F){K=F}}),H=eb0({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 Dk({stream:Yh0({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()}),xA(Z)}async function Jh0(Y,Q){let X=[];if(Q==null?void 0:Q.ignoreIncompleteToolCalls)Y=Y.map((J)=>({...J,parts:J.parts.filter((G)=>!gA(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(RB1(G))return{type:"text",text:G.text,...G.providerMetadata!=null?{providerOptions:G.providerMetadata}:{}};if(IB1(G))return{type:"file",mediaType:G.mediaType,filename:G.filename,data:G.url,...G.providerMetadata!=null?{providerOptions:G.providerMetadata}:{}};if(CB1(G))return(K=Q==null?void 0:Q.convertDataPart)==null?void 0:K.call(Q,G)}).filter(d_0)});break}case"assistant":{if(J.parts!=null){let G=[];async function K(){var W,Z,H,$,F,V;if(G.length===0)return;let B=[];for(let D of G)if(RB1(D))B.push({type:"text",text:D.text,...D.providerMetadata!=null?{providerOptions:D.providerMetadata}:{}});else if(IB1(D))B.push({type:"file",mediaType:D.mediaType,filename:D.filename,data:D.url});else if(Sf0(D))B.push({type:"reasoning",text:D.text,providerOptions:D.providerMetadata});else if(gA(D)){let z=jB1(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 az({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(CB1(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 gA(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:jB1(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=jB1(z);D.push({type:"tool-result",toolCallId:z.toolCallId,toolName:L,output:await az({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(RB1(W)||Sf0(W)||IB1(W)||gA(W)||CB1(W))G.push(W);else if(W.type==="step-start")await K();await K();break}break}default:{let G=J.role;throw new sS6({originalMessage:J,message:`Unsupported role: ${G}`})}}return X}async function ek6({messages:Y,metadataSchema:Q,dataSchemas:X,tools:J}){try{if(Y==null)return{success:!1,error:new iZ({parameter:"messages",value:Y,message:"messages parameter must be provided"})};let G=await uH({value:Y,schema:tk6});if(Q)for(let[K,W]of G.entries())await uH({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 uH({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 uH({value:$.input,schema:V.inputSchema,context:{field:`messages[${K}].parts[${Z}].input`,entityName:F,entityId:$.toolCallId}});if($.state==="output-available"&&V.outputSchema)await uH({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 Gh0({messages:Y,metadataSchema:Q,dataSchemas:X,tools:J}){let G=await ek6({messages:Y,metadataSchema:Q,dataSchemas:X,tools:J});if(!G.success)throw G.error;return G.data}function Wh0(Y){return({url:Q,abortSignal:X})=>Ab0({url:Q,maxBytes:Y==null?void 0:Y.maxBytes,abortSignal:X})}function Zh0({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 _b0,mA,$S6,FS6=(Y,Q)=>{for(var X in Q)$S6(Y,X,{get:Q[X],enumerable:!0})},vf0="AI_InvalidArgumentError",_f0,VS6,yf0,iZ,qS6="AI_InvalidStreamPartError",BS6,US6,DS6,ff0="AI_InvalidToolApprovalError",bf0,zS6,hf0,OS6,xf0="AI_InvalidToolInputError",gf0,NS6,uf0,fB1,mf0="AI_ToolCallNotFoundForApprovalError",lf0,LS6,df0,bB1,pf0="AI_MissingToolResultsError",cf0,MS6,nf0,Mf0,wS6="AI_NoImageGeneratedError",AS6,PS6,ES6,if0="AI_NoObjectGeneratedError",af0,TS6,rf0,nq,of0="AI_NoOutputGeneratedError",sf0,CS6,tf0,ef0,RS6="AI_NoSpeechGeneratedError",IS6,jS6,SS6,kS6="AI_NoTranscriptGeneratedError",vS6,_S6,yS6,fS6="AI_NoVideoGeneratedError",bS6,hS6,xS6,Yb0="AI_NoSuchToolError",Qb0,gS6,Xb0,SB1,Jb0="AI_ToolCallRepairError",Gb0,uS6,Wb0,mS6,lS6,Zb0="AI_UIMessageStreamError",Kb0,dS6,Hb0,hA,pS6="AI_InvalidDataContentError",cS6,nS6,iS6,$b0="AI_InvalidMessageRoleError",Fb0,aS6,Vb0,rS6,qb0="AI_MessageConversionError",Bb0,oS6,Ub0,sS6,Db0="AI_RetryError",zb0,tS6,Ob0,wf0,Yk6="AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.",Af0=!1,hB1=(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(!Af0)Af0=!0,console.info(Yk6);for(let X of Y.warnings)console.warn(eS6({warning:X,provider:Y.provider,model:Y.model}))},Zk6,Kk6=(Y)=>{let Q=typeof Y==="string"?_A(Y):Y,X=(Q[6]&127)<<21|(Q[7]&127)<<14|(Q[8]&127)<<7|Q[9]&127;return Q.slice(X+10)},wb0="6.0.109",Ab0=async({url:Y,maxBytes:Q,abortSignal:X})=>{var J;let G=Y.toString();try{let K=await fetch(G,{headers:c$({},`ai-sdk/${wb0}`,ki()),signal:X});if(!K.ok)throw new vA({url:G,statusCode:K.status,statusText:K.statusText});return{data:await u_0({response:K,url:G,maxBytes:Q!=null?Q:GB1}),mediaType:(J=K.headers.get("content-type"))!=null?J:void 0}}catch(K){if(vA.isInstance(K))throw K;throw new vA({url:G,cause:K})}},Fk6=(Y=Ab0)=>(Q)=>Promise.all(Q.map(async(X)=>X.isUrlSupportedByModel?null:Y(X))),Pb0,Vk,c4,Rb0,Ok6,Ib0,Nk6,Lk6,Mk6,jb0,wk6,Ak6,Pk6,Ek6,Tk6,Ck6,Rk6,Ik6,ui,jk6,kk6=({maxRetries:Y=2,initialDelayInMs:Q=2000,backoffFactor:X=2,abortSignal:J}={})=>async(G)=>gb0(G,{maxRetries:Y,delayInMs:Q,backoffFactor:X,abortSignal:J}),lb0=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=p$(this.uint8ArrayData);return this.base64Data}get uint8Array(){if(this.uint8ArrayData==null)this.uint8ArrayData=_A(this.base64Data);return this.uint8ArrayData}},vk6,_k6,di=()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),async parseCompleteOutput({text:Y}){return Y},async parsePartialOutput({text:Y}){return{partial:Y}},createElementStreamTransform(){return}}),fk6=({schema:Y,name:Q,description:X})=>{let J=gH(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 nq({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 I5({value:W.value,schema:J});if(!Z.success)throw new nq({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 Uk(G);switch(K.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:K.value}}},createElementStreamTransform(){return}}},bk6=({element:Y,name:Q,description:X})=>{let J=gH(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 nq({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 nq({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 I5({value:H,schema:J});if(!$.success)throw new nq({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 Uk(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 I5({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])}})}}},hk6=({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 nq({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 nq({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 Uk(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}}},xk6=({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 nq({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 Uk(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}}},nb0=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)}},gk6,uk6=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 ef0;return this._output}},ob0,sb0,E89,rk6,sk6=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:S,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:u1}){this._totalUsage=new pz,this._finishReason=new pz,this._rawFinishReason=new pz,this._steps=new pz,this.outputSpecification=T,this.includeRawChunks=R,this.tools=U;let Y0,C1=[],A1=[],o1=void 0,B4=void 0,K4=void 0,V0={},y1=[],w1=[],n1=new Map,R1,_1={},A0={},W0=new TransformStream({async transform(i0,S0){var d6,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:kb0(K1.error)});if(K1.type==="text-start")_1[K1.id]={type:"text",text:"",providerMetadata:K1.providerMetadata},C1.push(_1[K1.id]);if(K1.type==="text-delta"){let O=_1[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=(d6=K1.providerMetadata)!=null?d6:O.providerMetadata}if(K1.type==="text-end"){let O=_1[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 _1[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={},_1={},V0=K1.request,y1=K1.warnings;if(K1.type==="finish-step"){let O=await vB1({content:C1,tools:U}),j=new nb0({stepNumber:w1.length,model:W8,...k9,experimental_context:L1,content:C1,finishReason:K1.finishReason,rawFinishReason:K1.rawFinishReason,usage:K1.usage,warnings:y1,request:V0,response:{...K1.response,messages:[...A1,...O]},providerMetadata:K1.providerMetadata});await aZ({event:j,callbacks:$1}),hB1({warnings:y1,provider:W8.provider,model:W8.modelId}),w1.push(j),A1.push(...O),Y0.resolve()}if(K1.type==="finish")K4=K1.totalUsage,o1=K1.finishReason,B4=K1.rawFinishReason},async flush(i0){try{if(w1.length===0){let x=(K==null?void 0:K.aborted)?K.reason:new ef0({message:"No output generated. Check the stream for errors."});n4._finishReason.reject(x),n4._rawFinishReason.reject(x),n4._totalUsage.reject(x),n4._steps.reject(x);return}let S0=o1!=null?o1:"other",d6=K4!=null?K4:TB1();n4._finishReason.resolve(S0),n4._rawFinishReason.resolve(B4),n4._totalUsage.resolve(d6),n4._steps.resolve(w1);let M=w1[w1.length-1];await aZ({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:d6,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 mH({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":d6.inputTokens,"ai.usage.outputTokens":d6.outputTokens,"ai.usage.totalTokens":d6.totalTokens,"ai.usage.reasoningTokens":d6.reasoningTokens,"ai.usage.cachedInputTokens":d6.cachedInputTokens}}))}catch(S0){i0.error(S0)}finally{R1.end()}}}),J0=ik6();this.addStream=J0.addStream,this.closeStream=J0.close;let h4=J0.stream.getReader(),Q6=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:dZ(K.reason)}:{}}),i0.close()}try{let{done:d6,value:M}=await h4.read();if(d6){i0.close();return}if(K==null?void 0:K.aborted){S0();return}i0.enqueue(M)}catch(d6){if(l$(d6)&&(K==null?void 0:K.aborted))S0();else i0.error(d6)}},cancel(i0){return J0.stream.cancel(i0)}});for(let i0 of z)Q6=Q6.pipeThrough(i0({tools:U,stopStream(){J0.terminate()}}));this.baseStream=Q6.pipeThrough(ok6(T!=null?T:di())).pipeThrough(W0);let{maxRetries:S6,retry:b4}=ub0({maxRetries:G,abortSignal:K}),_0=yb0(Q),h1=kB1(J),P0=vb0({model:Y,telemetry:Q,headers:X,settings:{...h1,maxRetries:S6}}),n4=this,W8={provider:Y.provider,modelId:Y.modelId},k9={functionId:Q==null?void 0:Q.functionId,metadata:Q==null?void 0:Q.metadata};Bk({name:"ai.streamText",attributes:mH({telemetry:Q,attributes:{...qk({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 Sb0({system:F,prompt:V,messages:B});await aZ({event:{model:W8,system:F,prompt:V,messages:B,tools:U,toolChoice:D,activeTools:L,maxOutputTokens:h1.maxOutputTokens,temperature:h1.temperature,topP:h1.topP,topK:h1.topK,presencePenalty:h1.presencePenalty,frequencyPenalty:h1.frequencyPenalty,stopSequences:h1.stopSequences,seed:h1.seed,maxRetries:S6,timeout:f,headers:X,providerOptions:C,stopWhen:b,output:T,abortSignal:g,include:u1,...k9,experimental_context:L1},callbacks:Q1});let d6=S0.messages,M=[],{approvedToolApprovals:x,deniedToolApprovals:Z1}=mb0({messages:d6});if(Z1.length>0||x.length>0){let O=[...x,...Z1].filter((a1)=>a1.toolCall.providerExecuted),j=x.filter((a1)=>!a1.toolCall.providerExecuted),s=Z1.filter((a1)=>!a1.toolCall.providerExecuted),B1=Z1.filter((a1)=>a1.toolCall.providerExecuted),F1,t=new ReadableStream({start(a1){F1=a1}});n4.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 a1=[];if(await Promise.all(j.map(async(b0)=>{let m0=await gB1({toolCall:b0.toolCall,tools:U,tracer:_0,telemetry:Q,messages:d6,abortSignal:K,experimental_context:L1,stepNumber:w1.length,model:W8,onToolCallStart:j1,onToolCallFinish:D1,onPreliminaryToolResult:($0)=>{F1==null||F1.enqueue($0)}});if(m0!=null)F1==null||F1.enqueue(m0),a1.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(a1.length>0||s.length>0){let b0=[];for(let m0 of a1)b0.push({type:"tool-result",toolCallId:m0.toolCallId,toolName:m0.toolName,output:await az({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:j,usage:s}){var B1,F1,t,a1,b0,m0,$0,U4,G9;let s9=n4.includeRawChunks,P6=W!=null?setTimeout(()=>Z.abort(),W):void 0,f6=void 0;function HJ(){if(H!=null){if(f6!=null)clearTimeout(f6);f6=setTimeout(()=>$.abort(),H)}}function u(){if(f6!=null)clearTimeout(f6),f6=void 0}function c(){if(P6!=null)clearTimeout(P6)}try{Y0=new pz;let o=[...d6,...j],v=await(P==null?void 0:P({model:Y,steps:w1,stepNumber:w1.length,messages:o,experimental_context:L1})),G1=li((B1=v==null?void 0:v.model)!=null?B1:Y),V1={provider:G1.provider,modelId:G1.modelId},z1=await Tb0({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}),p1=(a1=v==null?void 0:v.activeTools)!=null?a1:L,{toolChoice:U0,tools:p0}=await Cb0({tools:U,toolChoice:(b0=v==null?void 0:v.toolChoice)!=null?b0:D,activeTools:p1});L1=(m0=v==null?void 0:v.experimental_context)!=null?m0:L1;let l0=($0=v==null?void 0:v.messages)!=null?$0:o,k6=(U4=v==null?void 0:v.system)!=null?U4:S0.system,c0=pi(C,v==null?void 0:v.providerOptions);await aZ({event:{stepNumber:w1.length,model:V1,system:k6,messages:l0,tools:U,toolChoice:U0,activeTools:p1,steps:[...w1],providerOptions:c0,timeout:f,headers:X,stopWhen:b,output:T,abortSignal:g,include:u1,...k9,experimental_context:L1},callbacks:N1});let{result:{stream:_4,response:y4,request:i4},doStreamSpan:H4,startTimestampMs:I4}=await b4(()=>Bk({name:"ai.streamText.doStream",attributes:mH({telemetry:Q,attributes:{...qk({operationId:"ai.streamText.doStream",telemetry:Q}),...P0,"ai.model.provider":G1.provider,"ai.model.id":G1.modelId,"ai.prompt.messages":{input:()=>bb0(z1)},"ai.prompt.tools":{input:()=>p0==null?void 0:p0.map((l1)=>JSON.stringify(l1))},"ai.prompt.toolChoice":{input:()=>U0!=null?JSON.stringify(U0):void 0},"gen_ai.system":G1.provider,"gen_ai.request.model":G1.modelId,"gen_ai.request.frequency_penalty":h1.frequencyPenalty,"gen_ai.request.max_tokens":h1.maxOutputTokens,"gen_ai.request.presence_penalty":h1.presencePenalty,"gen_ai.request.stop_sequences":h1.stopSequences,"gen_ai.request.temperature":h1.temperature,"gen_ai.request.top_k":h1.topK,"gen_ai.request.top_p":h1.topP}}),tracer:_0,endWhenDone:!1,fn:async(l1)=>({startTimestampMs:S(),doStreamSpan:l1,result:await G1.doStream({...h1,tools:p0,toolChoice:U0,responseFormat:await(T==null?void 0:T.responseFormat),prompt:z1,providerOptions:c0,abortSignal:K,headers:X,includeRawChunks:s9})})})),r4=ak6({tools:U,generatorStream:_4,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}),X6=((G9=u1==null?void 0:u1.requestBody)!=null?G9:!0)?i4!=null?i4:{}:{...i4,body:void 0},G4=[],L4=[],a0,V4={},$4="other",d0=void 0,m1=TB1(),i1,O0=!0,K0={id:_(),timestamp:new Date,modelId:W8.modelId},q0="";n4.addStream(r4.pipeThrough(new TransformStream({async transform(l1,Z4){var B6,D6,z6,U1,J6;if(HJ(),l1.type==="stream-start"){a0=l1.warnings;return}if(O0){let x4=S()-I4;O0=!1,H4.addEvent("ai.stream.firstChunk",{"ai.response.msToFirstChunk":x4}),H4.setAttributes({"ai.response.msToFirstChunk":x4}),Z4.enqueue({type:"start-step",request:X6,warnings:a0!=null?a0:[]})}let r6=l1.type;switch(r6){case"tool-approval-request":case"text-start":case"text-end":{Z4.enqueue(l1);break}case"text-delta":{if(l1.delta.length>0)Z4.enqueue({type:"text-delta",id:l1.id,text:l1.delta,providerMetadata:l1.providerMetadata}),q0+=l1.delta;break}case"reasoning-start":case"reasoning-end":{Z4.enqueue(l1);break}case"reasoning-delta":{Z4.enqueue({type:"reasoning-delta",id:l1.id,text:l1.delta,providerMetadata:l1.providerMetadata});break}case"tool-call":{Z4.enqueue(l1),G4.push(l1);break}case"tool-result":{if(Z4.enqueue(l1),!l1.preliminary)L4.push(l1);break}case"tool-error":{Z4.enqueue(l1),L4.push(l1);break}case"response-metadata":{K0={id:(B6=l1.id)!=null?B6:K0.id,timestamp:(D6=l1.timestamp)!=null?D6:K0.timestamp,modelId:(z6=l1.modelId)!=null?z6:K0.modelId};break}case"finish":{m1=l1.usage,$4=l1.finishReason,d0=l1.rawFinishReason,i1=l1.providerMetadata;let x4=S()-I4;H4.addEvent("ai.stream.finish"),H4.setAttributes({"ai.response.msToFinish":x4,"ai.response.avgOutputTokensPerSecond":1000*((U1=m1.outputTokens)!=null?U1:0)/x4});break}case"file":{Z4.enqueue(l1);break}case"source":{Z4.enqueue(l1);break}case"tool-input-start":{V4[l1.id]=l1.toolName;let x4=U==null?void 0:U[l1.toolName];if((x4==null?void 0:x4.onInputStart)!=null)await x4.onInputStart({toolCallId:l1.id,messages:o,abortSignal:K,experimental_context:L1});Z4.enqueue({...l1,dynamic:(J6=l1.dynamic)!=null?J6:(x4==null?void 0:x4.type)==="dynamic",title:x4==null?void 0:x4.title});break}case"tool-input-end":{delete V4[l1.id],Z4.enqueue(l1);break}case"tool-input-delta":{let x4=V4[l1.id],w6=U==null?void 0:U[x4];if((w6==null?void 0:w6.onInputDelta)!=null)await w6.onInputDelta({inputTextDelta:l1.delta,toolCallId:l1.id,messages:o,abortSignal:K,experimental_context:L1});Z4.enqueue(l1);break}case"error":{Z4.enqueue(l1),$4="error";break}case"raw":{if(s9)Z4.enqueue(l1);break}default:throw Error(`Unknown chunk type: ${r6}`)}},async flush(l1){let Z4=G4.length>0?JSON.stringify(G4):void 0;try{H4.setAttributes(await mH({telemetry:Q,attributes:{"ai.response.finishReason":$4,"ai.response.text":{output:()=>q0},"ai.response.reasoning":{output:()=>{let U1=C1.filter((J6)=>J6.type==="reasoning");return U1.length>0?U1.map((J6)=>J6.text).join(`
1138
1138
  `):void 0}},"ai.response.toolCalls":{output:()=>Z4},"ai.response.id":K0.id,"ai.response.model":K0.modelId,"ai.response.timestamp":K0.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(i1),"ai.usage.inputTokens":m1.inputTokens,"ai.usage.outputTokens":m1.outputTokens,"ai.usage.totalTokens":m1.totalTokens,"ai.usage.reasoningTokens":m1.reasoningTokens,"ai.usage.cachedInputTokens":m1.cachedInputTokens,"gen_ai.response.finish_reasons":[$4],"gen_ai.response.id":K0.id,"gen_ai.response.model":K0.modelId,"gen_ai.usage.input_tokens":m1.inputTokens,"gen_ai.usage.output_tokens":m1.outputTokens}}))}catch(U1){}finally{H4.end()}l1.enqueue({type:"finish-step",finishReason:$4,rawFinishReason:d0,usage:m1,providerMetadata:i1,response:{...K0,headers:y4==null?void 0:y4.headers}});let B6=xb0(s,m1);await Y0.promise;let D6=G4.filter((U1)=>U1.providerExecuted!==!0),z6=L4.filter((U1)=>U1.providerExecuted!==!0);for(let U1 of G4){if(U1.providerExecuted!==!0)continue;let J6=U==null?void 0:U[U1.toolName];if((J6==null?void 0:J6.type)==="provider"&&J6.supportsDeferredResults){if(!L4.some((x4)=>(x4.type==="tool-result"||x4.type==="tool-error")&&x4.toolCallId===U1.toolCallId))n1.set(U1.toolCallId,{toolName:U1.toolName})}}for(let U1 of L4)if(U1.type==="tool-result"||U1.type==="tool-error")n1.delete(U1.toolCallId);if(c(),u(),(D6.length>0&&z6.length===D6.length||n1.size>0)&&!await ib0({stopConditions:E,steps:w1})){j.push(...await vB1({content:w1[w1.length-1].content,tools:U}));try{await K1({currentStep:O+1,responseMessages:j,usage:B6})}catch(U1){l1.enqueue({type:"error",error:U1}),n4.closeStream()}}else l1.enqueue({type:"finish",finishReason:$4,rawFinishReason:d0,totalUsage:B6}),n4.closeStream()}})))}finally{c(),u()}}await K1({currentStep:0,responseMessages:M,usage:TB1()})}}).catch((i0)=>{n4.addStream(new ReadableStream({start(S0){S0.enqueue({type:"error",error:i0}),S0.close()}})),n4.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 xA(this.teeStream().pipeThrough(new TransformStream({transform({part:Y},Q){if(Y.type==="text-delta")Q.enqueue(Y.text)}})))}get fullStream(){return xA(this.teeStream().pipeThrough(new TransformStream({transform({part:Y},Q){Q.enqueue(Y)}})))}async consumeStream(Y){var Q;try{await Dk({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 xA(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 S_0({functionality:`element streams in ${(X=(Q=this.outputSpecification)==null?void 0:Q.name)!=null?X:"text"} mode`});return xA(this.teeStream().pipeThrough(J))}get output(){return this.finalStep.then((Y)=>{var Q;return((Q=this.outputSpecification)!=null?Q:di()).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=dZ}={}){let $=Q!=null?pk6({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 xA(Qh0({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}={}){nk6({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){dk6({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 ni({stream:this.toUIMessageStream({originalMessages:Y,generateMessageId:Q,onFinish:X,messageMetadata:J,sendReasoning:G,sendSources:K,sendFinish:W,sendStart:Z,onError:H}),...$})}toTextStreamResponse(Y){return lk6({textStream:this.textStream,...Y})}},tk6,v89,y89,f89,Yv6="AI_NoSuchProviderError",Qv6,Xv6,Jv6,b89;var rZ=k(()=>{X8();X8();S8();S8();S8();S8();S8();S8();S8();S8();S8();S8();S8();S8();S8();S8();EB1();X8();X8();X8();X8();S8();X8();s6();S8();X8();S8();X8();s6();s6();s6();s6();s6();EB1();S8();S8();X8();X8();X8();S8();X8();X8();X8();S8();X8();X8();s6();X8();X8();X8();X8();S8();X8();s6();X8();X8();_b0=E6(N0(),1),mA=E6(N0(),1),$S6=Object.defineProperty,_f0=`vercel.ai.error.${vf0}`,VS6=Symbol.for(_f0),iZ=class extends J4{constructor({parameter:Y,value:Q,message:X}){super({name:vf0,message:`Invalid argument for parameter ${Y}: ${X}`});this[yf0]=!0,this.parameter=Y,this.value=Q}static isInstance(Y){return J4.hasMarker(Y,_f0)}};yf0=VS6;BS6=`vercel.ai.error.${qS6}`,US6=Symbol.for(BS6);DS6=US6;bf0=`vercel.ai.error.${ff0}`,zS6=Symbol.for(bf0),OS6=class extends J4{constructor({approvalId:Y}){super({name:ff0,message:`Tool approval response references unknown approvalId: "${Y}". No matching tool-approval-request found in message history.`});this[hf0]=!0,this.approvalId=Y}static isInstance(Y){return J4.hasMarker(Y,bf0)}};hf0=zS6;gf0=`vercel.ai.error.${xf0}`,NS6=Symbol.for(gf0),fB1=class extends J4{constructor({toolInput:Y,toolName:Q,cause:X,message:J=`Invalid input for tool ${Q}: ${dZ(X)}`}){super({name:xf0,message:J,cause:X});this[uf0]=!0,this.toolInput=Y,this.toolName=Q}static isInstance(Y){return J4.hasMarker(Y,gf0)}};uf0=NS6;lf0=`vercel.ai.error.${mf0}`,LS6=Symbol.for(lf0),bB1=class extends J4{constructor({toolCallId:Y,approvalId:Q}){super({name:mf0,message:`Tool call "${Y}" not found for approval request "${Q}".`});this[df0]=!0,this.toolCallId=Y,this.approvalId=Q}static isInstance(Y){return J4.hasMarker(Y,lf0)}};df0=LS6;cf0=`vercel.ai.error.${pf0}`,MS6=Symbol.for(cf0),Mf0=class extends J4{constructor({toolCallIds:Y}){super({name:pf0,message:`Tool result${Y.length>1?"s are":" is"} missing for tool call${Y.length>1?"s":""} ${Y.join(", ")}.`});this[nf0]=!0,this.toolCallIds=Y}static isInstance(Y){return J4.hasMarker(Y,cf0)}};nf0=MS6;AS6=`vercel.ai.error.${wS6}`,PS6=Symbol.for(AS6);ES6=PS6;af0=`vercel.ai.error.${if0}`,TS6=Symbol.for(af0),nq=class extends J4{constructor({message:Y="No object generated.",cause:Q,text:X,response:J,usage:G,finishReason:K}){super({name:if0,message:Y,cause:Q});this[rf0]=!0,this.text=X,this.response=J,this.usage=G,this.finishReason=K}static isInstance(Y){return J4.hasMarker(Y,af0)}};rf0=TS6;sf0=`vercel.ai.error.${of0}`,CS6=Symbol.for(sf0),ef0=class extends J4{constructor({message:Y="No output generated.",cause:Q}={}){super({name:of0,message:Y,cause:Q});this[tf0]=!0}static isInstance(Y){return J4.hasMarker(Y,sf0)}};tf0=CS6;IS6=`vercel.ai.error.${RS6}`,jS6=Symbol.for(IS6);SS6=jS6;vS6=`vercel.ai.error.${kS6}`,_S6=Symbol.for(vS6);yS6=_S6;bS6=`vercel.ai.error.${fS6}`,hS6=Symbol.for(bS6);xS6=hS6;Qb0=`vercel.ai.error.${Yb0}`,gS6=Symbol.for(Qb0),SB1=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:Yb0,message:X});this[Xb0]=!0,this.toolName=Y,this.availableTools=Q}static isInstance(Y){return J4.hasMarker(Y,Qb0)}};Xb0=gS6;Gb0=`vercel.ai.error.${Jb0}`,uS6=Symbol.for(Gb0),mS6=class extends J4{constructor({cause:Y,originalError:Q,message:X=`Error repairing tool call: ${dZ(Y)}`}){super({name:Jb0,message:X,cause:Y});this[Wb0]=!0,this.originalError=Q}static isInstance(Y){return J4.hasMarker(Y,Gb0)}};Wb0=uS6;lS6=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}},Kb0=`vercel.ai.error.${Zb0}`,dS6=Symbol.for(Kb0),hA=class extends J4{constructor({chunkType:Y,chunkId:Q,message:X}){super({name:Zb0,message:X});this[Hb0]=!0,this.chunkType=Y,this.chunkId=Q}static isInstance(Y){return J4.hasMarker(Y,Kb0)}};Hb0=dS6;cS6=`vercel.ai.error.${pS6}`,nS6=Symbol.for(cS6);iS6=nS6;Fb0=`vercel.ai.error.${$b0}`,aS6=Symbol.for(Fb0),rS6=class extends J4{constructor({role:Y,message:Q=`Invalid message role: '${Y}'. Must be one of: "system", "user", "assistant", "tool".`}){super({name:$b0,message:Q});this[Vb0]=!0,this.role=Y}static isInstance(Y){return J4.hasMarker(Y,Fb0)}};Vb0=aS6;Bb0=`vercel.ai.error.${qb0}`,oS6=Symbol.for(Bb0),sS6=class extends J4{constructor({originalMessage:Y,message:Q}){super({name:qb0,message:Q});this[Ub0]=!0,this.originalMessage=Y}static isInstance(Y){return J4.hasMarker(Y,Bb0)}};Ub0=oS6;zb0=`vercel.ai.error.${Db0}`,tS6=Symbol.for(zb0),wf0=class extends J4{constructor({message:Y,reason:Q,errors:X}){super({name:Db0,message:Y});this[Ob0]=!0,this.reason=Q,this.errors=X,this.lastError=X[X.length-1]}static isInstance(Y){return J4.hasMarker(Y,zb0)}};Ob0=tS6;Zk6=[{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]}];Pb0=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"})]);Vk=q.lazy(()=>q.union([q.null(),q.string(),q.number(),q.boolean(),q.record(q.string(),Vk.optional()),q.array(Vk)])),c4=q.record(q.string(),q.record(q.string(),Vk.optional())),Rb0=q.object({type:q.literal("text"),text:q.string(),providerOptions:c4.optional()}),Ok6=q.object({type:q.literal("image"),image:q.union([Pb0,q.instanceof(URL)]),mediaType:q.string().optional(),providerOptions:c4.optional()}),Ib0=q.object({type:q.literal("file"),data:q.union([Pb0,q.instanceof(URL)]),filename:q.string().optional(),mediaType:q.string(),providerOptions:c4.optional()}),Nk6=q.object({type:q.literal("reasoning"),text:q.string(),providerOptions:c4.optional()}),Lk6=q.object({type:q.literal("tool-call"),toolCallId:q.string(),toolName:q.string(),input:q.unknown(),providerOptions:c4.optional(),providerExecuted:q.boolean().optional()}),Mk6=q.discriminatedUnion("type",[q.object({type:q.literal("text"),value:q.string(),providerOptions:c4.optional()}),q.object({type:q.literal("json"),value:Vk,providerOptions:c4.optional()}),q.object({type:q.literal("execution-denied"),reason:q.string().optional(),providerOptions:c4.optional()}),q.object({type:q.literal("error-text"),value:q.string(),providerOptions:c4.optional()}),q.object({type:q.literal("error-json"),value:Vk,providerOptions:c4.optional()}),q.object({type:q.literal("content"),value:q.array(q.union([q.object({type:q.literal("text"),text:q.string(),providerOptions:c4.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:c4.optional()}),q.object({type:q.literal("file-url"),url:q.string(),providerOptions:c4.optional()}),q.object({type:q.literal("file-id"),fileId:q.union([q.string(),q.record(q.string(),q.string())]),providerOptions:c4.optional()}),q.object({type:q.literal("image-data"),data:q.string(),mediaType:q.string(),providerOptions:c4.optional()}),q.object({type:q.literal("image-url"),url:q.string(),providerOptions:c4.optional()}),q.object({type:q.literal("image-file-id"),fileId:q.union([q.string(),q.record(q.string(),q.string())]),providerOptions:c4.optional()}),q.object({type:q.literal("custom"),providerOptions:c4.optional()})]))})]),jb0=q.object({type:q.literal("tool-result"),toolCallId:q.string(),toolName:q.string(),output:Mk6,providerOptions:c4.optional()}),wk6=q.object({type:q.literal("tool-approval-request"),approvalId:q.string(),toolCallId:q.string()}),Ak6=q.object({type:q.literal("tool-approval-response"),approvalId:q.string(),approved:q.boolean(),reason:q.string().optional()}),Pk6=q.object({role:q.literal("system"),content:q.string(),providerOptions:c4.optional()}),Ek6=q.object({role:q.literal("user"),content:q.union([q.string(),q.array(q.union([Rb0,Ok6,Ib0]))]),providerOptions:c4.optional()}),Tk6=q.object({role:q.literal("assistant"),content:q.union([q.string(),q.array(q.union([Rb0,Ib0,Nk6,Lk6,jb0,wk6]))]),providerOptions:c4.optional()}),Ck6=q.object({role:q.literal("tool"),content:q.array(q.union([jb0,Ak6])),providerOptions:c4.optional()}),Rk6=q.union([Pk6,Ek6,Tk6,Ck6]);Ik6={startSpan(){return ui},startActiveSpan(Y,Q,X,J){if(typeof Q==="function")return Q(ui);if(typeof X==="function")return X(ui);if(typeof J==="function")return J(ui)}},ui={spanContext(){return jk6},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}},jk6={traceId:"",spanId:"",traceFlags:0};vk6=class extends lb0{constructor(Y){super(Y);this.type="file"}};_k6={};FS6(_k6,{array:()=>bk6,choice:()=>hk6,json:()=>xk6,object:()=>fk6,text:()=>di});gk6=xH({prefix:"aitxt",size:24});ob0=class extends TransformStream{constructor(){super({transform(Y,Q){Q.enqueue(`data: ${JSON.stringify(Y)}
1139
1139
 
1140
1140
  `)},flush(Y){Y.enqueue(`data: [DONE]
@@ -1367,7 +1367,7 @@ ${W.stack}`;Z.unsubscribe(),K.reject(H)}else if(H=(0,Ii6.isRequestError)($),H){i
1367
1367
 
1368
1368
  ${W.stack}`;K.reject(H)}else K.resolve($)}});return Z.requestSubject=Y,this.protocol.publish(Y,Q,{reply:G,headers:X.headers}),K}else{let G=new Zt0.RequestOne(this.protocol.muxSubscriptions,Y,X,J);this.protocol.request(G);try{this.publish(Y,Q,{reply:`${this.protocol.muxSubscriptions.baseInbox}${G.token}`,headers:X.headers})}catch(W){G.cancel(W)}let K=Promise.race([G.timer,G.deferred]);return K.catch(()=>{G.cancel()}),K}}flush(){if(this.isClosed())return Promise.reject(IG.NatsError.errorForCode(CY.ErrorCode.ConnectionClosed));return this.protocol.flush()}drain(){if(this.isClosed())return Promise.reject(IG.NatsError.errorForCode(CY.ErrorCode.ConnectionClosed));if(this.isDraining())return Promise.reject(IG.NatsError.errorForCode(CY.ErrorCode.ConnectionDraining));return this.draining=!0,this.protocol.drain()}isClosed(){return this.protocol.isClosed()}isDraining(){return this.draining}getServer(){let Y=this.protocol.getServer();return Y?Y.listen:""}status(){let Y=new Wt0.QueuedIteratorImpl;return Y.iterClosed.then(()=>{let Q=this.listeners.indexOf(Y);this.listeners.splice(Q,1)}),this.listeners.push(Y),Y}get info(){return this.protocol.isClosed()?void 0:this.protocol.info}context(){return pv(this,void 0,void 0,function*(){return(yield this.request("$SYS.REQ.USER.INFO")).json((Q,X)=>{if(Q==="time")return new Date(Date.parse(X));return X})})}stats(){return{inBytes:this.protocol.inBytes,outBytes:this.protocol.outBytes,inMsgs:this.protocol.inMsgs,outMsgs:this.protocol.outMsgs}}jetstreamManager(){return pv(this,arguments,void 0,function*(Y={}){let Q=new ji6.JetStreamManagerImpl(this,Y);if(Y.checkAPI!==!1)try{yield Q.getAccountInfo()}catch(X){let J=X;if(J.code===CY.ErrorCode.NoResponders)J.code=CY.ErrorCode.JetStreamNotEnabled;throw J}return Q})}jetstream(Y={}){return new Si6.JetStreamClientImpl(this,Y)}getServerVersion(){let Y=this.info;return Y?(0,Ci6.parseSemVer)(Y.version):void 0}rtt(){return pv(this,void 0,void 0,function*(){if(!this.protocol._closed&&!this.protocol.connected)throw IG.NatsError.errorForCode(CY.ErrorCode.Disconnect);let Y=Date.now();return yield this.flush(),Date.now()-Y})}get features(){return this.protocol.features}get services(){if(!this._services)this._services=new QM1(this);return this._services}reconnect(){if(this.isClosed())return Promise.reject(IG.NatsError.errorForCode(CY.ErrorCode.ConnectionClosed));if(this.isDraining())return Promise.reject(IG.NatsError.errorForCode(CY.ErrorCode.ConnectionDraining));return this.protocol.reconnect()}}W3.NatsConnectionImpl=YM1;class QM1{constructor(Y){this.nc=Y}add(Y){try{return new ki6.ServiceImpl(this.nc,Y).start()}catch(Q){return Promise.reject(Q)}}client(Y,Q){return new vi6.ServiceClientImpl(this.nc,Y,Q)}}W3.ServicesFactory=QM1});var Bt0=I((P7)=>{var PF=P7&&P7.__awaiter||function(Y,Q,X,J){function G(K){return K instanceof X?K:new X(function(W){W(K)})}return new(X||(X=Promise))(function(K,W){function Z(F){try{$(J.next(F))}catch(V){W(V)}}function H(F){try{$(J.throw(F))}catch(V){W(V)}}function $(F){F.done?K(F.value):G(F.value).then(Z,H)}$((J=J.apply(Y,Q||[])).next())})},Ht0=P7&&P7.__asyncValues||function(Y){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var Q=Y[Symbol.asyncIterator],X;return Q?Q.call(Y):(Y=typeof __values==="function"?__values(Y):Y[Symbol.iterator](),X={},J("next"),J("throw"),J("return"),X[Symbol.asyncIterator]=function(){return this},X);function J(K){X[K]=Y[K]&&function(W){return new Promise(function(Z,H){W=Y[K](W),G(Z,H,W.done,W.value)})}}function G(K,W,Z,H){Promise.resolve(H).then(function($){K({value:$,done:Z})},W)}};Object.defineProperty(P7,"__esModule",{value:!0});P7.Bench=P7.Metric=void 0;P7.throughput=Vt0;P7.msgThroughput=fi6;P7.humanizeBytes=qt0;var _i6=kP(),yi6=oH(),XM1=BQ(),$t0=P9();class MB{constructor(Y,Q){this.name=Y,this.duration=Q,this.date=Date.now(),this.payload=0,this.msgs=0,this.bytes=0}toString(){let Y=this.duration/1000,Q=Math.round(this.msgs/Y),X=this.asyncRequests?"asyncRequests":"",J="";if(this.max)J=`${this.min}/${this.max}`;return`${this.name}${X?" [asyncRequests]":""} ${bi6(Q)} msgs/sec - [${Y.toFixed(2)} secs] ~ ${Vt0(this.bytes,Y)} ${J}`}toCsv(){return`"${this.name}",${new Date(this.date).toISOString()},${this.lang},${this.version},${this.msgs},${this.payload},${this.bytes},${this.duration},${this.asyncRequests?this.asyncRequests:!1}
1369
1369
  `}static header(){return`Test,Date,Lang,Version,Count,MsgPayload,Bytes,Millis,Async
1370
- `}}P7.Metric=MB;class Ft0{constructor(Y,Q={msgs:1e5,size:128,subject:"",asyncRequests:!1,pub:!1,sub:!1,req:!1,rep:!1}){if(this.nc=Y,this.callbacks=Q.callbacks||!1,this.msgs=Q.msgs||0,this.size=Q.size||0,this.subject=Q.subject||yi6.nuid.next(),this.asyncRequests=Q.asyncRequests||!1,this.pub=Q.pub||!1,this.sub=Q.sub||!1,this.req=Q.req||!1,this.rep=Q.rep||!1,this.perf=new XM1.Perf,this.payload=this.size?new Uint8Array(this.size):_i6.Empty,!this.pub&&!this.sub&&!this.req&&!this.rep)throw Error("no bench option selected")}run(){return PF(this,void 0,void 0,function*(){if(this.nc.closed().then((Y)=>{if(Y)throw new $t0.NatsError(`bench closed with an error: ${Y.message}`,$t0.ErrorCode.Unknown,Y)}),this.callbacks)yield this.runCallbacks();else yield this.runAsync();return this.processMetrics()})}processMetrics(){let Y=this.nc,{lang:Q,version:X}=Y.protocol.transport;if(this.pub&&this.sub)this.perf.measure("pubsub","pubStart","subStop");if(this.req&&this.rep)this.perf.measure("reqrep","reqStart","reqStop");let J=this.perf.getEntries(),G=J.find((B)=>B.name==="pubsub"),K=J.find((B)=>B.name==="reqrep"),W=J.find((B)=>B.name==="req"),Z=J.find((B)=>B.name==="rep"),H=J.find((B)=>B.name==="pub"),$=J.find((B)=>B.name==="sub"),F=this.nc.stats(),V=[];if(G){let{name:B,duration:U}=G,D=new MB(B,U);D.msgs=this.msgs*2,D.bytes=F.inBytes+F.outBytes,D.lang=Q,D.version=X,D.payload=this.payload.length,V.push(D)}if(K){let{name:B,duration:U}=K,D=new MB(B,U);D.msgs=this.msgs*2,D.bytes=F.inBytes+F.outBytes,D.lang=Q,D.version=X,D.payload=this.payload.length,V.push(D)}if(H){let{name:B,duration:U}=H,D=new MB(B,U);D.msgs=this.msgs,D.bytes=F.outBytes,D.lang=Q,D.version=X,D.payload=this.payload.length,V.push(D)}if($){let{name:B,duration:U}=$,D=new MB(B,U);D.msgs=this.msgs,D.bytes=F.inBytes,D.lang=Q,D.version=X,D.payload=this.payload.length,V.push(D)}if(Z){let{name:B,duration:U}=Z,D=new MB(B,U);D.msgs=this.msgs,D.bytes=F.inBytes+F.outBytes,D.lang=Q,D.version=X,D.payload=this.payload.length,V.push(D)}if(W){let{name:B,duration:U}=W,D=new MB(B,U);D.msgs=this.msgs,D.bytes=F.inBytes+F.outBytes,D.lang=Q,D.version=X,D.payload=this.payload.length,V.push(D)}return V}runCallbacks(){return PF(this,void 0,void 0,function*(){let Y=[];if(this.sub){let Q=(0,XM1.deferred)();Y.push(Q);let X=0;this.nc.subscribe(this.subject,{max:this.msgs,callback:()=>{if(X++,X===1)this.perf.mark("subStart");if(X===this.msgs)this.perf.mark("subStop"),this.perf.measure("sub","subStart","subStop"),Q.resolve()}})}if(this.rep){let Q=(0,XM1.deferred)();Y.push(Q);let X=0;this.nc.subscribe(this.subject,{max:this.msgs,callback:(J,G)=>{if(G.respond(this.payload),X++,X===1)this.perf.mark("repStart");if(X===this.msgs)this.perf.mark("repStop"),this.perf.measure("rep","repStart","repStop"),Q.resolve()}})}if(this.pub){let Q=(()=>PF(this,void 0,void 0,function*(){this.perf.mark("pubStart");for(let X=0;X<this.msgs;X++)this.nc.publish(this.subject,this.payload);yield this.nc.flush(),this.perf.mark("pubStop"),this.perf.measure("pub","pubStart","pubStop")}))();Y.push(Q)}if(this.req){let Q=(()=>PF(this,void 0,void 0,function*(){if(this.asyncRequests){this.perf.mark("reqStart");let X=[];for(let J=0;J<this.msgs;J++)X.push(this.nc.request(this.subject,this.payload,{timeout:20000}));yield Promise.all(X),this.perf.mark("reqStop"),this.perf.measure("req","reqStart","reqStop")}else{this.perf.mark("reqStart");for(let X=0;X<this.msgs;X++)yield this.nc.request(this.subject);this.perf.mark("reqStop"),this.perf.measure("req","reqStart","reqStop")}}))();Y.push(Q)}yield Promise.all(Y)})}runAsync(){return PF(this,void 0,void 0,function*(){let Y=[];if(this.rep){let Q=!1,X=this.nc.subscribe(this.subject,{max:this.msgs}),J=(()=>PF(this,void 0,void 0,function*(){var G,K,W,Z;try{for(var H=!0,$=Ht0(X),F;F=yield $.next(),G=F.done,!G;H=!0){Z=F.value,H=!1;let V=Z;if(!Q)this.perf.mark("repStart"),Q=!0;V.respond(this.payload)}}catch(V){K={error:V}}finally{try{if(!H&&!G&&(W=$.return))yield W.call($)}finally{if(K)throw K.error}}yield this.nc.flush(),this.perf.mark("repStop"),this.perf.measure("rep","repStart","repStop")}))();Y.push(J)}if(this.sub){let Q=!1,X=this.nc.subscribe(this.subject,{max:this.msgs}),J=(()=>PF(this,void 0,void 0,function*(){var G,K,W,Z;try{for(var H=!0,$=Ht0(X),F;F=yield $.next(),G=F.done,!G;H=!0){Z=F.value,H=!1;let V=Z;if(!Q)this.perf.mark("subStart"),Q=!0}}catch(V){K={error:V}}finally{try{if(!H&&!G&&(W=$.return))yield W.call($)}finally{if(K)throw K.error}}this.perf.mark("subStop"),this.perf.measure("sub","subStart","subStop")}))();Y.push(J)}if(this.pub){let Q=(()=>PF(this,void 0,void 0,function*(){this.perf.mark("pubStart");for(let X=0;X<this.msgs;X++)this.nc.publish(this.subject,this.payload);yield this.nc.flush(),this.perf.mark("pubStop"),this.perf.measure("pub","pubStart","pubStop")}))();Y.push(Q)}if(this.req){let Q=(()=>PF(this,void 0,void 0,function*(){if(this.asyncRequests){this.perf.mark("reqStart");let X=[];for(let J=0;J<this.msgs;J++)X.push(this.nc.request(this.subject,this.payload,{timeout:20000}));yield Promise.all(X),this.perf.mark("reqStop"),this.perf.measure("req","reqStart","reqStop")}else{this.perf.mark("reqStart");for(let X=0;X<this.msgs;X++)yield this.nc.request(this.subject);this.perf.mark("reqStop"),this.perf.measure("req","reqStart","reqStop")}}))();Y.push(Q)}yield Promise.all(Y)})}}P7.Bench=Ft0;function Vt0(Y,Q){return`${qt0(Y/Q)}/sec`}function fi6(Y,Q){return`${Math.floor(Y/Q)} msgs/sec`}function qt0(Y,Q=!1){let X=Q?1000:1024,J=Q?["k","M","G","T","P","E"]:["K","M","G","T","P","E"],G=Q?"iB":"B";if(Y<X)return`${Y.toFixed(2)} ${G}`;let K=parseInt(Math.log(Y)/Math.log(X)+""),W=parseInt(K-1+"");return`${(Y/Math.pow(X,K)).toFixed(2)} ${J[W]}${G}`}function bi6(Y){return Y.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")}});var TL1=I((g1)=>{var hi6=g1&&g1.__createBinding||(Object.create?function(Y,Q,X,J){if(J===void 0)J=X;var G=Object.getOwnPropertyDescriptor(Q,X);if(!G||("get"in G?!Q.__esModule:G.writable||G.configurable))G={enumerable:!0,get:function(){return Q[X]}};Object.defineProperty(Y,J,G)}:function(Y,Q,X,J){if(J===void 0)J=X;Y[J]=Q[X]}),xi6=g1&&g1.__exportStar||function(Y,Q){for(var X in Y)if(X!=="default"&&!Object.prototype.hasOwnProperty.call(Q,X))hi6(Q,Y,X)};Object.defineProperty(g1,"__esModule",{value:!0});g1.parseIP=g1.isIP=g1.TE=g1.TD=g1.Metric=g1.Bench=g1.writeAll=g1.readAll=g1.MAX_SIZE=g1.DenoBuffer=g1.State=g1.Parser=g1.Kind=g1.QueuedIteratorImpl=g1.StringCodec=g1.JSONCodec=g1.usernamePasswordAuthenticator=g1.tokenAuthenticator=g1.nkeyAuthenticator=g1.jwtAuthenticator=g1.credsAuthenticator=g1.RequestOne=g1.checkUnsupportedOption=g1.checkOptions=g1.buildAuthenticator=g1.DataBuffer=g1.MuxSubscription=g1.Heartbeat=g1.MsgHdrsImpl=g1.headers=g1.canonicalMIMEHeaderKey=g1.timeout=g1.render=g1.nanos=g1.millis=g1.extend=g1.delay=g1.deferred=g1.deadline=g1.collect=g1.backoff=g1.ProtocolHandler=g1.INFO=g1.Connect=g1.setTransportFactory=g1.getResolveFn=g1.MsgImpl=g1.nuid=g1.Nuid=g1.NatsConnectionImpl=void 0;g1.Subscriptions=g1.SubscriptionImpl=g1.syncIterator=g1.ServiceVerb=g1.ServiceResponseType=g1.ServiceErrorHeader=g1.ServiceErrorCodeHeader=g1.ServiceError=g1.RequestStrategy=g1.NatsError=g1.Match=g1.isNatsError=g1.Events=g1.ErrorCode=g1.DebugEvents=g1.createInbox=g1.extractProtocolMessage=g1.Empty=g1.parseSemVer=g1.compare=g1.NoopKvCodecs=g1.defaultBucketOpts=g1.Bucket=g1.Base64KeyCodec=g1.TypedSubscription=void 0;var gi6=Kt0();Object.defineProperty(g1,"NatsConnectionImpl",{enumerable:!0,get:function(){return gi6.NatsConnectionImpl}});var Ut0=oH();Object.defineProperty(g1,"Nuid",{enumerable:!0,get:function(){return Ut0.Nuid}});Object.defineProperty(g1,"nuid",{enumerable:!0,get:function(){return Ut0.nuid}});var ui6=TP();Object.defineProperty(g1,"MsgImpl",{enumerable:!0,get:function(){return ui6.MsgImpl}});var Dt0=AP();Object.defineProperty(g1,"getResolveFn",{enumerable:!0,get:function(){return Dt0.getResolveFn}});Object.defineProperty(g1,"setTransportFactory",{enumerable:!0,get:function(){return Dt0.setTransportFactory}});var JM1=Go();Object.defineProperty(g1,"Connect",{enumerable:!0,get:function(){return JM1.Connect}});Object.defineProperty(g1,"INFO",{enumerable:!0,get:function(){return JM1.INFO}});Object.defineProperty(g1,"ProtocolHandler",{enumerable:!0,get:function(){return JM1.ProtocolHandler}});var Z3=BQ();Object.defineProperty(g1,"backoff",{enumerable:!0,get:function(){return Z3.backoff}});Object.defineProperty(g1,"collect",{enumerable:!0,get:function(){return Z3.collect}});Object.defineProperty(g1,"deadline",{enumerable:!0,get:function(){return Z3.deadline}});Object.defineProperty(g1,"deferred",{enumerable:!0,get:function(){return Z3.deferred}});Object.defineProperty(g1,"delay",{enumerable:!0,get:function(){return Z3.delay}});Object.defineProperty(g1,"extend",{enumerable:!0,get:function(){return Z3.extend}});Object.defineProperty(g1,"millis",{enumerable:!0,get:function(){return Z3.millis}});Object.defineProperty(g1,"nanos",{enumerable:!0,get:function(){return Z3.nanos}});Object.defineProperty(g1,"render",{enumerable:!0,get:function(){return Z3.render}});Object.defineProperty(g1,"timeout",{enumerable:!0,get:function(){return Z3.timeout}});var GM1=zF();Object.defineProperty(g1,"canonicalMIMEHeaderKey",{enumerable:!0,get:function(){return GM1.canonicalMIMEHeaderKey}});Object.defineProperty(g1,"headers",{enumerable:!0,get:function(){return GM1.headers}});Object.defineProperty(g1,"MsgHdrsImpl",{enumerable:!0,get:function(){return GM1.MsgHdrsImpl}});var mi6=nN1();Object.defineProperty(g1,"Heartbeat",{enumerable:!0,get:function(){return mi6.Heartbeat}});var li6=cN1();Object.defineProperty(g1,"MuxSubscription",{enumerable:!0,get:function(){return li6.MuxSubscription}});var di6=wP();Object.defineProperty(g1,"DataBuffer",{enumerable:!0,get:function(){return di6.DataBuffer}});var WM1=Xo();Object.defineProperty(g1,"buildAuthenticator",{enumerable:!0,get:function(){return WM1.buildAuthenticator}});Object.defineProperty(g1,"checkOptions",{enumerable:!0,get:function(){return WM1.checkOptions}});Object.defineProperty(g1,"checkUnsupportedOption",{enumerable:!0,get:function(){return WM1.checkUnsupportedOption}});var pi6=Ko();Object.defineProperty(g1,"RequestOne",{enumerable:!0,get:function(){return pi6.RequestOne}});var cv=HL1();Object.defineProperty(g1,"credsAuthenticator",{enumerable:!0,get:function(){return cv.credsAuthenticator}});Object.defineProperty(g1,"jwtAuthenticator",{enumerable:!0,get:function(){return cv.jwtAuthenticator}});Object.defineProperty(g1,"nkeyAuthenticator",{enumerable:!0,get:function(){return cv.nkeyAuthenticator}});Object.defineProperty(g1,"tokenAuthenticator",{enumerable:!0,get:function(){return cv.tokenAuthenticator}});Object.defineProperty(g1,"usernamePasswordAuthenticator",{enumerable:!0,get:function(){return cv.usernamePasswordAuthenticator}});var zt0=tH();Object.defineProperty(g1,"JSONCodec",{enumerable:!0,get:function(){return zt0.JSONCodec}});Object.defineProperty(g1,"StringCodec",{enumerable:!0,get:function(){return zt0.StringCodec}});xi6(ZL1(),g1);var ci6=bW();Object.defineProperty(g1,"QueuedIteratorImpl",{enumerable:!0,get:function(){return ci6.QueuedIteratorImpl}});var ZM1=tN1();Object.defineProperty(g1,"Kind",{enumerable:!0,get:function(){return ZM1.Kind}});Object.defineProperty(g1,"Parser",{enumerable:!0,get:function(){return ZM1.Parser}});Object.defineProperty(g1,"State",{enumerable:!0,get:function(){return ZM1.State}});var fo=rN1();Object.defineProperty(g1,"DenoBuffer",{enumerable:!0,get:function(){return fo.DenoBuffer}});Object.defineProperty(g1,"MAX_SIZE",{enumerable:!0,get:function(){return fo.MAX_SIZE}});Object.defineProperty(g1,"readAll",{enumerable:!0,get:function(){return fo.readAll}});Object.defineProperty(g1,"writeAll",{enumerable:!0,get:function(){return fo.writeAll}});var Ot0=Bt0();Object.defineProperty(g1,"Bench",{enumerable:!0,get:function(){return Ot0.Bench}});Object.defineProperty(g1,"Metric",{enumerable:!0,get:function(){return Ot0.Metric}});var Nt0=qQ();Object.defineProperty(g1,"TD",{enumerable:!0,get:function(){return Nt0.TD}});Object.defineProperty(g1,"TE",{enumerable:!0,get:function(){return Nt0.TE}});var Lt0=xN1();Object.defineProperty(g1,"isIP",{enumerable:!0,get:function(){return Lt0.isIP}});Object.defineProperty(g1,"parseIP",{enumerable:!0,get:function(){return Lt0.parseIP}});var ni6=jL1();Object.defineProperty(g1,"TypedSubscription",{enumerable:!0,get:function(){return ni6.TypedSubscription}});var bo=xv();Object.defineProperty(g1,"Base64KeyCodec",{enumerable:!0,get:function(){return bo.Base64KeyCodec}});Object.defineProperty(g1,"Bucket",{enumerable:!0,get:function(){return bo.Bucket}});Object.defineProperty(g1,"defaultBucketOpts",{enumerable:!0,get:function(){return bo.defaultBucketOpts}});Object.defineProperty(g1,"NoopKvCodecs",{enumerable:!0,get:function(){return bo.NoopKvCodecs}});var Mt0=OF();Object.defineProperty(g1,"compare",{enumerable:!0,get:function(){return Mt0.compare}});Object.defineProperty(g1,"parseSemVer",{enumerable:!0,get:function(){return Mt0.parseSemVer}});var ii6=kP();Object.defineProperty(g1,"Empty",{enumerable:!0,get:function(){return ii6.Empty}});var ai6=AP();Object.defineProperty(g1,"extractProtocolMessage",{enumerable:!0,get:function(){return ai6.extractProtocolMessage}});var jG=P9();Object.defineProperty(g1,"createInbox",{enumerable:!0,get:function(){return jG.createInbox}});Object.defineProperty(g1,"DebugEvents",{enumerable:!0,get:function(){return jG.DebugEvents}});Object.defineProperty(g1,"ErrorCode",{enumerable:!0,get:function(){return jG.ErrorCode}});Object.defineProperty(g1,"Events",{enumerable:!0,get:function(){return jG.Events}});Object.defineProperty(g1,"isNatsError",{enumerable:!0,get:function(){return jG.isNatsError}});Object.defineProperty(g1,"Match",{enumerable:!0,get:function(){return jG.Match}});Object.defineProperty(g1,"NatsError",{enumerable:!0,get:function(){return jG.NatsError}});Object.defineProperty(g1,"RequestStrategy",{enumerable:!0,get:function(){return jG.RequestStrategy}});Object.defineProperty(g1,"ServiceError",{enumerable:!0,get:function(){return jG.ServiceError}});Object.defineProperty(g1,"ServiceErrorCodeHeader",{enumerable:!0,get:function(){return jG.ServiceErrorCodeHeader}});Object.defineProperty(g1,"ServiceErrorHeader",{enumerable:!0,get:function(){return jG.ServiceErrorHeader}});Object.defineProperty(g1,"ServiceResponseType",{enumerable:!0,get:function(){return jG.ServiceResponseType}});Object.defineProperty(g1,"ServiceVerb",{enumerable:!0,get:function(){return jG.ServiceVerb}});Object.defineProperty(g1,"syncIterator",{enumerable:!0,get:function(){return jG.syncIterator}});var wt0=Go();Object.defineProperty(g1,"SubscriptionImpl",{enumerable:!0,get:function(){return wt0.SubscriptionImpl}});Object.defineProperty(g1,"Subscriptions",{enumerable:!0,get:function(){return wt0.Subscriptions}})});var ho=I((UQ)=>{Object.defineProperty(UQ,"__esModule",{value:!0});UQ.ConsumerEvents=UQ.ConsumerDebugEvents=UQ.StoreCompression=UQ.StorageType=UQ.RetentionPolicy=UQ.ReplayPolicy=UQ.DiscardPolicy=UQ.DeliverPolicy=UQ.AckPolicy=UQ.RepublishHeaders=UQ.KvWatchInclude=UQ.JsHeaders=UQ.isConsumerOptsBuilder=UQ.DirectMsgHeaders=UQ.consumerOpts=UQ.AdvisoryKind=UQ.isHeartbeatMsg=UQ.isFlowControlMsg=UQ.checkJsError=void 0;var KM1=Q3();Object.defineProperty(UQ,"checkJsError",{enumerable:!0,get:function(){return KM1.checkJsError}});Object.defineProperty(UQ,"isFlowControlMsg",{enumerable:!0,get:function(){return KM1.isFlowControlMsg}});Object.defineProperty(UQ,"isHeartbeatMsg",{enumerable:!0,get:function(){return KM1.isHeartbeatMsg}});var vO=LF();Object.defineProperty(UQ,"AdvisoryKind",{enumerable:!0,get:function(){return vO.AdvisoryKind}});Object.defineProperty(UQ,"consumerOpts",{enumerable:!0,get:function(){return vO.consumerOpts}});Object.defineProperty(UQ,"DirectMsgHeaders",{enumerable:!0,get:function(){return vO.DirectMsgHeaders}});Object.defineProperty(UQ,"isConsumerOptsBuilder",{enumerable:!0,get:function(){return vO.isConsumerOptsBuilder}});Object.defineProperty(UQ,"JsHeaders",{enumerable:!0,get:function(){return vO.JsHeaders}});Object.defineProperty(UQ,"KvWatchInclude",{enumerable:!0,get:function(){return vO.KvWatchInclude}});Object.defineProperty(UQ,"RepublishHeaders",{enumerable:!0,get:function(){return vO.RepublishHeaders}});var _O=UB();Object.defineProperty(UQ,"AckPolicy",{enumerable:!0,get:function(){return _O.AckPolicy}});Object.defineProperty(UQ,"DeliverPolicy",{enumerable:!0,get:function(){return _O.DeliverPolicy}});Object.defineProperty(UQ,"DiscardPolicy",{enumerable:!0,get:function(){return _O.DiscardPolicy}});Object.defineProperty(UQ,"ReplayPolicy",{enumerable:!0,get:function(){return _O.ReplayPolicy}});Object.defineProperty(UQ,"RetentionPolicy",{enumerable:!0,get:function(){return _O.RetentionPolicy}});Object.defineProperty(UQ,"StorageType",{enumerable:!0,get:function(){return _O.StorageType}});Object.defineProperty(UQ,"StoreCompression",{enumerable:!0,get:function(){return _O.StoreCompression}});var At0=cL1();Object.defineProperty(UQ,"ConsumerDebugEvents",{enumerable:!0,get:function(){return At0.ConsumerDebugEvents}});Object.defineProperty(UQ,"ConsumerEvents",{enumerable:!0,get:function(){return At0.ConsumerEvents}})});var HM1=I((wB)=>{var oi6=wB&&wB.__createBinding||(Object.create?function(Y,Q,X,J){if(J===void 0)J=X;var G=Object.getOwnPropertyDescriptor(Q,X);if(!G||("get"in G?!Q.__esModule:G.writable||G.configurable))G={enumerable:!0,get:function(){return Q[X]}};Object.defineProperty(Y,J,G)}:function(Y,Q,X,J){if(J===void 0)J=X;Y[J]=Q[X]}),Pt0=wB&&wB.__exportStar||function(Y,Q){for(var X in Y)if(X!=="default"&&!Object.prototype.hasOwnProperty.call(Q,X))oi6(Q,Y,X)};Object.defineProperty(wB,"__esModule",{value:!0});Pt0(TL1(),wB);Pt0(ho(),wB)});var Rt0=I((WK)=>{var uP=WK&&WK.__awaiter||function(Y,Q,X,J){function G(K){return K instanceof X?K:new X(function(W){W(K)})}return new(X||(X=Promise))(function(K,W){function Z(F){try{$(J.next(F))}catch(V){W(V)}}function H(F){try{$(J.throw(F))}catch(V){W(V)}}function $(F){F.done?K(F.value):G(F.value).then(Z,H)}$((J=J.apply(Y,Q||[])).next())})},nv=WK&&WK.__await||function(Y){return this instanceof nv?(this.v=Y,this):new nv(Y)},si6=WK&&WK.__asyncGenerator||function(Y,Q,X){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var J=X.apply(Y,Q||[]),G,K=[];return G=Object.create((typeof AsyncIterator==="function"?AsyncIterator:Object).prototype),Z("next"),Z("throw"),Z("return",W),G[Symbol.asyncIterator]=function(){return this},G;function W(U){return function(D){return Promise.resolve(D).then(U,V)}}function Z(U,D){if(J[U]){if(G[U]=function(z){return new Promise(function(L,w){K.push([U,z,L,w])>1||H(U,z)})},D)G[U]=D(G[U])}}function H(U,D){try{$(J[U](D))}catch(z){B(K[0][3],z)}}function $(U){U.value instanceof nv?Promise.resolve(U.value.v).then(F,V):B(K[0][2],U)}function F(U){H("next",U)}function V(U){H("throw",U)}function B(U,D){if(U(D),K.shift(),K.length)H(K[0][0],K[0][1])}};Object.defineProperty(WK,"__esModule",{value:!0});WK.NodeTransport=void 0;WK.nodeResolveHost=Ga6;var l8=HM1(),ti6=E1("net"),Et0=BQ(),$M1=E1("tls"),{resolve:ei6}=E1("path"),{readFile:Ya6,existsSync:Qa6}=E1("fs"),Tt0=E1("dns"),Xa6="2.29.3",Ja6="nats.js";class Ct0{constructor(){this.yields=[],this.signal=(0,l8.deferred)(),this.closedNotification=(0,l8.deferred)(),this.connected=!1,this.tlsName="",this.done=!1,this.lang=Ja6,this.version=Xa6}connect(Y,Q){return uP(this,void 0,void 0,function*(){this.tlsName=Y.tlsName,this.options=Q;let{tls:X}=this.options,{handshakeFirst:J}=X||{};try{if(J===!0)this.socket=yield this.tlsFirst(Y);else this.socket=yield this.dial(Y);let G=yield this.peekInfo();(0,l8.checkOptions)(G,Q);let{tls_required:K,tls_available:W}=G,Z=W===!0&&Q.tls!==null;if(!J&&(K||Z))this.socket=yield this.startTLS();if(K&&this.socket.encrypted!==!0)throw new l8.NatsError("tls",l8.ErrorCode.ServerOptionNotAvailable);return this.connected=!0,this.setupHandlers(),this.signal.resolve(),Promise.resolve()}catch(G){if(!G)G=l8.NatsError.errorForCode(l8.ErrorCode.ConnectionRefused,Error("node provided an undefined error!"));let{code:K}=G,W=K==="ECONNREFUSED"?l8.NatsError.errorForCode(l8.ErrorCode.ConnectionRefused,G):G;if(this.socket)this.socket.destroy();throw W}})}dial(Y){let Q=(0,l8.deferred)(),X,J=(0,ti6.createConnection)(Y.port,Y.hostname,()=>{Q.resolve(J),J.removeAllListeners()});return J.on("error",(G)=>{X=G}),J.on("close",()=>{J.removeAllListeners(),Q.reject(X)}),J.setNoDelay(!0),Q}get isClosed(){return this.done}close(Y){return this._closed(Y,!1)}peekInfo(){let Y=(0,l8.deferred)(),Q;return this.socket.on("data",(X)=>{this.yields.push(X);let J=l8.DataBuffer.concat(...this.yields),G=(0,l8.extractProtocolMessage)(J);if(G!=="")try{let K=l8.INFO.exec(G);if(!K)throw Error("unexpected response from server");let W=JSON.parse(K[1]);Y.resolve(W)}catch(K){Y.reject(K)}finally{this.socket.removeAllListeners()}}),this.socket.on("error",(X)=>{Q=X}),this.socket.on("close",()=>{this.socket.removeAllListeners(),Y.reject(Q)}),Y}loadFile(Y){if(!Y)return Promise.resolve();let Q=(0,l8.deferred)();try{if(Y=ei6(Y),!Qa6(Y))Q.reject(Error(`${Y} doesn't exist`));Ya6(Y,(X,J)=>{if(X)return Q.reject(X);Q.resolve(J)})}catch(X){Q.reject(X)}return Q}loadClientCerts(){return uP(this,void 0,void 0,function*(){let Y={},{certFile:Q,cert:X,caFile:J,ca:G,keyFile:K,key:W}=this.options.tls;try{if(Q){let Z=yield this.loadFile(Q);if(Z)Y.cert=Z}else if(X)Y.cert=X;if(K){let Z=yield this.loadFile(K);if(Z)Y.key=Z}else if(W)Y.key=W;if(J){let Z=yield this.loadFile(J);if(Z)Y.ca=[Z]}else if(G)Y.ca=G;return Promise.resolve(Y)}catch(Z){return Promise.reject(Z)}})}tlsFirst(Y){return uP(this,void 0,void 0,function*(){let Q,X={servername:this.tlsName,rejectUnauthorized:!0};if(this.socket)X.socket=this.socket;if(typeof this.options.tls==="object")try{let G=(yield this.loadClientCerts())||{};X=(0,Et0.extend)(X,this.options.tls,G)}catch(G){return Promise.reject(new l8.NatsError(G.message,l8.ErrorCode.Tls,G))}let J=(0,l8.deferred)();try{let G=(0,$M1.connect)(Y.port,Y.hostname,X,()=>{G.removeAllListeners(),J.resolve(G)});G.on("error",(K)=>{Q=K}),G.on("secureConnect",()=>{if(X.rejectUnauthorized===!1)return;if(!G.authorized)throw G.authorizationError}),G.on("close",()=>{J.reject(Q),G.removeAllListeners()}),G.setNoDelay(!0)}catch(G){J.reject(l8.NatsError.errorForCode(l8.ErrorCode.Tls,G))}return J})}startTLS(){return uP(this,void 0,void 0,function*(){let Y,Q={socket:this.socket,servername:this.tlsName,rejectUnauthorized:!0};if(typeof this.options.tls==="object")try{let J=(yield this.loadClientCerts())||{};Q=(0,Et0.extend)(Q,this.options.tls,J)}catch(J){return Promise.reject(new l8.NatsError(J.message,l8.ErrorCode.Tls,J))}let X=(0,l8.deferred)();try{let J=(0,$M1.connect)(Q,()=>{J.removeAllListeners(),X.resolve(J)});J.on("error",(G)=>{Y=G}),J.on("secureConnect",()=>{if(Q.rejectUnauthorized===!1)return;if(!J.authorized)throw J.authorizationError}),J.on("close",()=>{X.reject(Y),J.removeAllListeners()})}catch(J){X.reject(l8.NatsError.errorForCode(l8.ErrorCode.Tls,J))}return X})}setupHandlers(){let Y;this.socket.on("data",(Q)=>{return this.yields.push(Q),this.signal.resolve()}),this.socket.on("error",(Q)=>{Y=Q}),this.socket.on("end",()=>{var Q,X;if((Q=this.socket)===null||Q===void 0?void 0:Q.destroyed)return;(X=this.socket)===null||X===void 0||X.write(new Uint8Array(0),()=>{var J;(J=this.socket)===null||J===void 0||J.end()})}),this.socket.on("close",()=>{this._closed(Y,!1)})}[Symbol.asyncIterator](){return this.iterate()}iterate(){return si6(this,arguments,function*(){let Q=this.options.debug;while(!0){if(this.yields.length===0)yield nv(this.signal);let X=this.yields;this.yields=[];for(let J=0;J<X.length;J++){if(Q)console.info(`> ${(0,l8.render)(X[J])}`);yield yield nv(X[J])}if(this.done)break;else if(this.yields.length===0)X.length=0,this.yields=X,this.signal=(0,l8.deferred)()}})}discard(){}disconnect(){this._closed(void 0,!0).then().catch()}isEncrypted(){return this.socket instanceof $M1.TLSSocket}_send(Y){if(this.isClosed||this.socket===void 0)return Promise.resolve();if(this.options.debug)console.info(`< ${(0,l8.render)(Y)}`);let Q=(0,l8.deferred)();try{this.socket.write(Y,(X)=>{if(X){if(this.options.debug)console.error(`!!! ${(0,l8.render)(Y)}: ${X}`);return Q.reject(X)}return Q.resolve()})}catch(X){if(this.options.debug)console.error(`!!! ${(0,l8.render)(Y)}: ${X}`);Q.reject(X)}return Q}send(Y){this._send(Y).catch((X)=>{})}_closed(Y){return uP(this,arguments,void 0,function*(Q,X=!0){if(!this.connected)return;if(this.done)return;if(this.closeError=Q,!Q&&this.socket&&X)try{yield this._send(new TextEncoder().encode(""))}catch(J){if(this.options.debug)console.log("transport close terminated with an error",J)}try{if(this.socket)this.socket.removeAllListeners(),this.socket.destroy(),this.socket=void 0}catch(J){console.log(J)}this.done=!0,this.closedNotification.resolve(this.closeError)})}closed(){return this.closedNotification}}WK.NodeTransport=Ct0;function Ga6(Y){return uP(this,void 0,void 0,function*(){let Q=(0,l8.deferred)(),X=(0,l8.deferred)();Tt0.resolve4(Y,(W,Z)=>{if(W)Q.resolve(W);else Q.resolve(Z)}),Tt0.resolve6(Y,(W,Z)=>{if(W)X.resolve(W);else X.resolve(Z)});let J=[],G=yield Q;if(Array.isArray(G))J.push(...G);let K=yield X;if(Array.isArray(K))J.push(...K);if(J.length===0)J.push(Y);return J})}});var kt0=I((St0)=>{Object.defineProperty(St0,"__esModule",{value:!0});St0.connect=Wa6;var It0=Rt0(),jt0=HM1();function Wa6(Y={}){return(0,jt0.setTransportFactory)({factory:()=>{return new It0.NodeTransport},dnsResolveFn:It0.nodeResolveHost}),jt0.NatsConnectionImpl.connect(Y)}});var vt0=I((jQ)=>{Object.defineProperty(jQ,"__esModule",{value:!0});jQ.consumerOpts=jQ.StoreCompression=jQ.StorageType=jQ.RetentionPolicy=jQ.RepublishHeaders=jQ.ReplayPolicy=jQ.KvWatchInclude=jQ.JsHeaders=jQ.DiscardPolicy=jQ.DirectMsgHeaders=jQ.DeliverPolicy=jQ.ConsumerEvents=jQ.ConsumerDebugEvents=jQ.AdvisoryKind=jQ.AckPolicy=jQ.isHeartbeatMsg=jQ.isFlowControlMsg=jQ.checkJsError=void 0;var FM1=ho();Object.defineProperty(jQ,"checkJsError",{enumerable:!0,get:function(){return FM1.checkJsError}});Object.defineProperty(jQ,"isFlowControlMsg",{enumerable:!0,get:function(){return FM1.isFlowControlMsg}});Object.defineProperty(jQ,"isHeartbeatMsg",{enumerable:!0,get:function(){return FM1.isHeartbeatMsg}});var SG=ho();Object.defineProperty(jQ,"AckPolicy",{enumerable:!0,get:function(){return SG.AckPolicy}});Object.defineProperty(jQ,"AdvisoryKind",{enumerable:!0,get:function(){return SG.AdvisoryKind}});Object.defineProperty(jQ,"ConsumerDebugEvents",{enumerable:!0,get:function(){return SG.ConsumerDebugEvents}});Object.defineProperty(jQ,"ConsumerEvents",{enumerable:!0,get:function(){return SG.ConsumerEvents}});Object.defineProperty(jQ,"DeliverPolicy",{enumerable:!0,get:function(){return SG.DeliverPolicy}});Object.defineProperty(jQ,"DirectMsgHeaders",{enumerable:!0,get:function(){return SG.DirectMsgHeaders}});Object.defineProperty(jQ,"DiscardPolicy",{enumerable:!0,get:function(){return SG.DiscardPolicy}});Object.defineProperty(jQ,"JsHeaders",{enumerable:!0,get:function(){return SG.JsHeaders}});Object.defineProperty(jQ,"KvWatchInclude",{enumerable:!0,get:function(){return SG.KvWatchInclude}});Object.defineProperty(jQ,"ReplayPolicy",{enumerable:!0,get:function(){return SG.ReplayPolicy}});Object.defineProperty(jQ,"RepublishHeaders",{enumerable:!0,get:function(){return SG.RepublishHeaders}});Object.defineProperty(jQ,"RetentionPolicy",{enumerable:!0,get:function(){return SG.RetentionPolicy}});Object.defineProperty(jQ,"StorageType",{enumerable:!0,get:function(){return SG.StorageType}});Object.defineProperty(jQ,"StoreCompression",{enumerable:!0,get:function(){return SG.StoreCompression}});var Ka6=LF();Object.defineProperty(jQ,"consumerOpts",{enumerable:!0,get:function(){return Ka6.consumerOpts}})});var VM1=I((K3)=>{var $a6=K3&&K3.__createBinding||(Object.create?function(Y,Q,X,J){if(J===void 0)J=X;var G=Object.getOwnPropertyDescriptor(Q,X);if(!G||("get"in G?!Q.__esModule:G.writable||G.configurable))G={enumerable:!0,get:function(){return Q[X]}};Object.defineProperty(Y,J,G)}:function(Y,Q,X,J){if(J===void 0)J=X;Y[J]=Q[X]}),_t0=K3&&K3.__exportStar||function(Y,Q){for(var X in Y)if(X!=="default"&&!Object.prototype.hasOwnProperty.call(Q,X))$a6(Q,Y,X)};Object.defineProperty(K3,"__esModule",{value:!0});K3.connect=void 0;if(typeof TextEncoder>"u"){let{TextEncoder:Y,TextDecoder:Q}=E1("util");global.TextEncoder=Y,global.TextDecoder=Q}if(typeof globalThis.crypto>"u"){let Y=E1("crypto");global.crypto=Y.webcrypto}if(typeof globalThis.ReadableStream>"u"){let Y=process.versions.node.split(".");if(parseInt(Y[0])>=16){let X=E1("stream/web");global.ReadableStream=X.ReadableStream}}var Fa6=kt0();Object.defineProperty(K3,"connect",{enumerable:!0,get:function(){return Fa6.connect}});_t0(EL1(),K3);_t0(vt0(),K3)});VN();var TX=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 EJ0=["connection","keep-alive","proxy-authenticate","proxy-authorization","te","trailer","transfer-encoding","upgrade"],kg4=/^[!#$%&'*+\-.0-9A-Z^_`a-z|~]+$/,vg4=(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)=>!kg4.test(W));if(K.length>0)throw new TX(400,{message:`Invalid Connection header value: ${K.join(", ")}`});G.forEach((W)=>{X.delete(W)})}}return EJ0.forEach((J)=>{X.delete(J)}),{method:Y.method,body:Y.body,duplex:Y.body?"half":void 0,headers:X,signal:Y.signal}},_g4=(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},TJ0=async(Y,Q)=>{let{raw:X,customFetch:J,strictConnectionProcessing:G=!1,...K}=Q instanceof Request?{raw:Q}:Q??{},W=new Request(Y,{...vg4(X,G),..._g4(K)});W.headers.delete("accept-encoding");let Z=await(J||fetch)(W),H=new Headers(Z.headers);if(EJ0.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 CJ0=(Y)=>(Q)=>{let X=new URL(Q.req.raw.url),J=new URL(Y);return J.pathname=X.pathname,J.search=X.search,TJ0(J,{raw:Q.req.raw,headers:{...Q.req.raw.headers}})};import{resolve as r2,dirname as yg4,join as fg4,extname as bg4,basename as hg4,sep as RJ0}from"path";function xg4(Y,Q){if(Y===Q||hg4(Y)==="index.html")return{"Cache-Control":"no-cache"};if(Y.includes(`${RJ0}assets${RJ0}`))return{"Cache-Control":"public, max-age=31536000, immutable"};return{}}var gg4=`http://localhost:${process.env.VITE_PORT||"4000"}`,ug4="./dist/client";function mg4(Y,Q){let X=r2(Q),J=r2(Y);return J===X||J.startsWith(X+"/")}function lg4({requestPath:Y,clientDir:Q}){let X=Y.startsWith("/")?Y.slice(1):Y,J=r2(Q,X);if(!mg4(J,Q))return null;return J}function IJ0(Y,Q="../client"){let X=new URL(Y),J=yg4(X.pathname);return r2(J,Q)}function jJ0(Y={}){let{env:Q="production",devServerUrl:X=gg4,clientDir:J=ug4,isServerPath:G=()=>!1}=Y;if(Q==="development"){let K=CJ0(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 $=lg4({requestPath:H,clientDir:J});if(!$)return null;let F=fg4($,"index.html"),V=r2(J,"index.html"),B=W.headers.get("accept"),D=B?.includes("text/html")||B?.includes("*/*")&&["",".html"].includes(bg4($))?[F,V]:[];for(let z of[$,...D])try{let L=Bun.file(z);if(await L.exists())return new Response(L,{headers:xg4(z,V)})}catch{}return null}}var SJ0="https://api.decocms.com/mcp/registry";function kJ0(Y){if(!Y)return!1;try{return new URL(Y).host==="api.decocms.com"&&Y!=="https://api.decocms.com/mcp/registry"}catch{return!1}}KY();var ht0=E6(ke(),1);var v71=(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 c$0=Symbol();var n$0=async(Y,Q=Object.create(null))=>{let{all:X=!1,dot:J=!1}=Q,K=(Y instanceof om?Y.raw.headers:Y.headers).get("Content-Type");if(K?.startsWith("multipart/form-data")||K?.startsWith("application/x-www-form-urlencoded"))return Q06(Y,{all:X,dot:J});return{}};async function Q06(Y,Q){let X=await Y.formData();if(X)return X06(X,Q);return{}}function X06(Y,Q){let X=Object.create(null);if(Y.forEach((J,G)=>{if(!(Q.all||G.endsWith("[]")))X[G]=J;else J06(X,G,J)}),Q.dot)Object.entries(X).forEach(([J,G])=>{if(J.includes("."))G06(X,J,G),delete X[J]});return X}var J06=(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]},G06=(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 y71=(Y)=>{let Q=Y.split("/");if(Q[0]==="")Q.shift();return Q},i$0=(Y)=>{let{groups:Q,path:X}=W06(Y),J=y71(X);return Z06(J,Q)},W06=(Y)=>{let Q=[];return Y=Y.replace(/\{[^}]+\}/g,(X,J)=>{let G=`@${J}`;return Q.push([G,X]),G}),{groups:Q,path:Y}},Z06=(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},sm={},a$0=(Y,Q)=>{if(Y==="*")return"*";let X=Y.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/);if(X){let J=`${Y}#${Q}`;if(!sm[J])if(X[2])sm[J]=Q&&Q[0]!==":"&&Q[0]!=="*"?[J,X[1],new RegExp(`^${X[2]}(?=/${Q})`)]:[Y,X[1],new RegExp(`^${X[2]}$`)];else sm[J]=[Y,X[1],!0];return sm[J]}return null},DM=(Y,Q)=>{try{return Q(Y)}catch{return Y.replace(/(?:%[0-9A-Fa-f]{2})+/g,(X)=>{try{return Q(X)}catch{return X}})}},K06=(Y)=>DM(Y,decodeURI),f71=(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 K06(H.includes("%25")?H.replace(/%25/g,"%2525"):H)}else if(G===63||G===35)break}return Q.slice(X,J)};var r$0=(Y)=>{let Q=f71(Y);return Q.length>1&&Q.at(-1)==="/"?Q.slice(0,-1):Q},LD=(Y,Q,...X)=>{if(X.length)Q=LD(Q,...X);return`${Y?.[0]==="/"?"":"/"}${Y}${Q==="/"?"":`${Y?.at(-1)==="/"?"":"/"}${Q?.[0]==="/"?Q.slice(1):Q}`}`},tm=(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)},_71=(Y)=>{if(!/[%+]/.test(Y))return Y;if(Y.indexOf("+")!==-1)Y=Y.replace(/\+/g," ");return Y.indexOf("%")!==-1?DM(Y,SR):Y},o$0=(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 _71(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=_71(H);if(K=W,H==="")continue;let $;if(Z===-1)$="";else if($=Y.slice(Z+1,W===-1?void 0:W),J)$=_71($);if(X){if(!(G[H]&&Array.isArray(G[H])))G[H]=[];G[H].push($)}else G[H]??=$}return Q?G[Q]:G},s$0=o$0,t$0=(Y,Q)=>{return o$0(Y,Q,!0)},SR=decodeURIComponent;var e$0=(Y)=>DM(Y,SR),om=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)?e$0(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)?e$0(J):J}return Y}#W(Y){return this.#Q[1]?this.#Q[1][Y]:Y}query(Y){return s$0(this.url,Y)}queries(Y){return t$0(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 n$0(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[c$0](){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 em={Stringify:1,BeforeStream:2,Stream:3},H06=(Y,Q)=>{let X=new String(Y);return X.isEscaped=!0,X.callbacks=Q,X};var kR=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)=>kR(H,Q,!1,J,G))).then(()=>G[0]));if(X)return H06(await W,K);else return W};var YF0="text/plain; charset=UTF-8",b71=(Y,Q)=>{return{"Content-Type":Y,...Q}},vR=(Y,Q)=>new Response(Y,Q),QF0=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 om(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||=vR(null,{headers:this.#H??=new Headers})}set res(Y){if(this.#G&&Y){Y=vR(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=vR(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 vR(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,b71(YF0,X))};json=(Y,Q,X)=>{return this.#F(JSON.stringify(Y),Q,b71("application/json",X))};html=(Y,Q,X)=>{let J=(G)=>this.#F(G,Q,b71("text/html; charset=UTF-8",X));return typeof Y==="object"?kR(Y,em.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.#$??=()=>vR(),this.#$(this)}};var b9="ALL",XF0="all",JF0=["get","post","put","delete","options","patch"],Yl="Can not add a route since the matcher is already built.",Ql=class extends Error{};var GF0="__COMPOSED_HANDLER";var $06=(Y)=>{return Y.text("404 Not Found",404)},WF0=(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)},ZF0=class Y{get;post;put;delete;options;patch;all;on;use;router;getPath;_basePath="/";#Y="/";routes=[];constructor(Q={}){[...JF0,XF0].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(b9,this.#Y,Z)}),this};let{strict:J,...G}=Q;Object.assign(this,G),this.getPath=J??!0?Q.getPath??f71:r$0}#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=$06;errorHandler=WF0;route(Q,X){let J=this.basePath(Q);return X.routes.map((G)=>{let K;if(X.errorHandler===WF0)K=G.handler;else K=async(W,Z)=>(await v71([],X.errorHandler)(W,()=>G.handler(W,Z))).res,K[GF0]=G.handler;J.#J(G.method,G.path,K)}),this}basePath(Q){let X=this.#Q();return X._basePath=LD(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=LD(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(b9,LD(Q,"*"),Z),this}#J(Q,X,J){Q=Q.toUpperCase(),X=LD(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 QF0(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=v71(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${LD("/",Q)}`,X),J,G)};fire=()=>{addEventListener("fetch",(Q)=>{Q.respondWith(this.#G(Q.request,Q,void 0,Q.request.method))})}};var _R=[];function Xl(Y,Q){let X=this.buildAllMatchers(),J=(G,K)=>{let W=X[G]||X[b9],Z=W[2][K];if(Z)return Z;let H=K.match(W[0]);if(!H)return[[],_R];let $=H.indexOf("",1);return[W[1][$],H]};return this.match=J,J(Y,Q)}var Jl="[^/]+",yR=".*",fR="(?:|/.*)",MD=Symbol(),F06=new Set(".\\+*[^]$()");function V06(Y,Q){if(Y.length===1)return Q.length===1?Y<Q?-1:1:-1;if(Q.length===1)return 1;if(Y===yR||Y===fR)return 1;else if(Q===yR||Q===fR)return-1;if(Y===Jl)return 1;else if(Q===Jl)return-1;return Y.length===Q.length?Y<Q?-1:1:Q.length-Y.length}var KF0=class Y{#Y;#Q;#X=Object.create(null);insert(Q,X,J,G,K){if(Q.length===0){if(this.#Y!==void 0)throw MD;if(K)return;this.#Y=X;return}let[W,...Z]=Q,H=W==="*"?Z.length===0?["","",yR]:["","",Jl]:W==="/*"?["","",fR]:W.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/),$;if(H){let F=H[1],V=H[2]||Jl;if(F&&H[2]){if(V===".*")throw MD;if(V=V.replace(/^\((?!\?:)(?=[^)]+\)$)/,"(?:"),/\((?!\?:)/.test(V))throw MD}if($=this.#X[V],!$){if(Object.keys(this.#X).some((B)=>B!==yR&&B!==fR))throw MD;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!==yR&&F!==fR))throw MD;if(K)return;$=this.#X[W]=new Y}$.insert(Z,X,J,G,K)}buildRegExpStr(){let X=Object.keys(this.#X).sort(V06).map((J)=>{let G=this.#X[J];return(typeof G.#Q==="number"?`(${J})@${G.#Q}`:F06.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 HF0=class{#Y={varIndex:0};#Q=new KF0;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 q06=[/^$/,[],Object.create(null)],$F0=Object.create(null);function FF0(Y){return $F0[Y]??=new RegExp(Y==="*"?"":`^${Y.replace(/\/\*$|([.\\+*[^\]$()])/g,(Q,X)=>X?`\\${X}`:"(?:|/.*)")}$`)}function B06(){$F0=Object.create(null)}function U06(Y){let Q=new HF0,X=[];if(Y.length===0)return q06;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)]),_R];else F++;let z;try{z=Q.insert(U,F,B)}catch(L){throw L===MD?new Ql(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 zM(Y,Q){if(!Y)return;for(let X of Object.keys(Y).sort((J,G)=>G.length-J.length))if(FF0(X).test(Q))return[...Y[X]];return}var Gl=class{name="RegExpRouter";#Y;#Q;constructor(){this.#Y={[b9]:Object.create(null)},this.#Q={[b9]:Object.create(null)}}add(Y,Q,X){let J=this.#Y,G=this.#Q;if(!J||!G)throw Error(Yl);if(!J[Y])[J,G].forEach((Z)=>{Z[Y]=Object.create(null),Object.keys(Z[b9]).forEach((H)=>{Z[Y][H]=[...Z[b9][H]]})});if(Q==="/*")Q="*";let K=(Q.match(/\/:/g)||[]).length;if(/\*$/.test(Q)){let Z=FF0(Q);if(Y===b9)Object.keys(J).forEach((H)=>{J[H][Q]||=zM(J[H],Q)||zM(J[b9],Q)||[]});else J[Y][Q]||=zM(J[Y],Q)||zM(J[b9],Q)||[];Object.keys(J).forEach((H)=>{if(Y===b9||Y===H)Object.keys(J[H]).forEach(($)=>{Z.test($)&&J[H][$].push([X,K])})}),Object.keys(G).forEach((H)=>{if(Y===b9||Y===H)Object.keys(G[H]).forEach(($)=>Z.test($)&&G[H][$].push([X,K]))});return}let W=tm(Q)||[Q];for(let Z=0,H=W.length;Z<H;Z++){let $=W[Z];Object.keys(G).forEach((F)=>{if(Y===b9||Y===F)G[F][$]||=[...zM(J[F],$)||zM(J[b9],$)||[]],G[F][$].push([X,K-H+Z+1])})}}match=Xl;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,B06(),Y}#X(Y){let Q=[],X=Y===b9;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!==b9)Q.push(...Object.keys(J[b9]).map((K)=>[K,J[b9][K]]))}),!X)return null;else return U06(Q)}};var D06=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[b9],K={};for(let W in G[2])K[W]=[G[2][W][0].slice(),_R];this.#Y[Y]=[G[0],G[1].map((W)=>Array.isArray(W)?W.slice():0),K]}if(Q==="/*"||Q==="*"){let G=[X,{}];if(Y===b9)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===b9)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=Xl};var h71=class{name="SmartRouter";#Y=[];#Q=[];constructor(Y){this.#Y=Y.routers}add(Y,Q,X){if(!this.#Q)throw Error(Yl);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 Ql)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 bR=Object.create(null),z06=(Y)=>{for(let Q in Y)return!0;return!1},VF0=class Y{#Y;#Q;#X;#J=0;#W=bR;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=i$0(X),W=[];for(let Z=0,H=K.length;Z<H;Z++){let $=K[Z],F=K[Z+1],V=a$0($,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[b9],F={};if($!==void 0){if($.params=Object.create(null),Q.push($),G!==bR||K&&K!==bR)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=bR;let K=[this],W=y71(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===bR?{}:{...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[S,_,f]=P;if(!V&&!(f instanceof RegExp))continue;let b=w.#Q[S];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),z06(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 x71=class{name="TrieRouter";#Y;constructor(){this.#Y=new VF0}add(Y,Q,X){let J=tm(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 JQ=class extends ZF0{constructor(Y={}){super(Y);this.router=Y.router??new h71({routers:[new Gl,new x71]})}};var O06=/^[\w!#$%&'*.^`|~+-]+$/,N06=/^[ !#-:<-[\]-~]*$/,g71=(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||!O06.test(W))continue;let Z=G.substring(K+1).trim();if(Z.startsWith('"')&&Z.endsWith('"'))Z=Z.slice(1,-1);if(N06.test(Z)){if(J[W]=Z.indexOf("%")!==-1?DM(Z,SR):Z,Q)break}}return J};var qF0=(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 g71(J,K)[K]}if(!J)return{};return g71(J)};var BF0=(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})}};function L06(){let{process:Y,Deno:Q}=globalThis;return!(typeof Q?.noColor==="boolean"?Q.noColor:Y!==void 0?"NO_COLOR"in Y?.env:!1)}async function UF0(){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}})():!L06())}var M06=(Y)=>{let[Q,X]=[",","."];return Y.map((G)=>G.replace(/(\d)(?=(\d\d\d)+(?!\d))/g,"$1"+Q)).join(X)},w06=(Y)=>{let Q=Date.now()-Y;return M06([Q<1000?Q+"ms":Math.round(Q/1000)+"s"])},A06=async(Y)=>{if(await UF0())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}`};async function DF0(Y,Q,X,J,G=0,K){let W=Q==="<--"?`${Q} ${X} ${J}`:`${Q} ${X} ${J} ${await A06(G)} ${K}`;Y(W)}var zF0=(Y=console.log)=>{return async function(X,J){let{method:G,url:K}=X.req,W=K.slice(K.indexOf("/",8));await DF0(Y,"<--",G,W);let Z=Date.now();await J(),await DF0(Y,"-->",G,W,X.res.status,w06(Z))}};var OF0=()=>{try{return performance.now()}catch{}return Date.now()},u71=(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)OM(J,"total",Q.totalDescription);if(await G(),Q.total)wD(J,"total");if(Q.autoEnd)W.forEach((H,$)=>wD(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:"*")}}},NF0=(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)}},OM=(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:OF0()})},wD=(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=OF0()-W;NF0(Y,Q,Z,K,X),J.timers.delete(Q)};Kv();Az1();Tn();VV1();$7();KY();VF();class YN1{db;constructor(Y){this.db=Y}async create(Y,Q,X){let J=X9("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:X9("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=o3(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{...lm(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:X9("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})=>ZB(K)).map(({tool:K,originalIndex:W})=>qv(`${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&&ZB(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 qv(`${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),qv(`${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&&ZB(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 qv(`${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&&ZB(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:X9("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(ZB(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:X9("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()}}}import{sql as x6}from"kysely";class QN1{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}}$7();class XN1{db;redactor;databaseType;constructor(Y,Q="sqlite"){this.db=Y;this.redactor=new QN1,this.databaseType=Q}jsonExtract(Y,Q){if(this.databaseType==="postgres")return x6`(${x6.ref(Y)}::jsonb)->>${Q}`;let X=`$.${Q}`;return x6`json_extract(${x6.ref(Y)}, ${X})`}jsonExtractWithCommas(Y,Q){if(this.databaseType==="postgres")return x6`(',' || (${x6.ref(Y)}::jsonb)->>${Q} || ',')`;let X=`$.${Q}`;return x6`(',' || json_extract(${x6.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=x6.ref(W);return{value:null,groups:(await F.select([x6`${U}`.as("group_key"),this.aggregationExpression(G,V).as("agg_value")]).groupBy(x6`${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([x6`${U}`.as("group_key"),this.aggregationExpression(G,V).as("agg_value")]).groupBy(x6`${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(x6`time_bucket`).orderBy(x6`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(x6`${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 x6`(${x6.ref(Y)}::jsonb #>> ${J})::numeric`}return x6`CAST(json_extract(${x6.ref(Y)}, ${Q}) AS REAL)`}jsonExtractPathText(Y,Q){if(this.databaseType==="postgres"){let J=`{${Q.replace(/^\$\.?/,"").split(".").join(",")}}`;return x6`(${x6.ref(Y)}::jsonb #>> ${J})`}return x6`json_extract(${x6.ref(Y)}, ${Q})`}aggregationExpression(Y,Q){switch(Y){case"sum":return x6`COALESCE(SUM(${Q}), 0)`;case"avg":return x6`COALESCE(AVG(${Q}), 0)`;case"min":return x6`MIN(${Q})`;case"max":return x6`MAX(${Q})`;case"count":return x6`COUNT(${Q})`;case"count_all":return x6`COUNT(*)`;case"last":return x6`MAX(${Q})`;default:return x6`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 x6`date_trunc(${K}, timestamp::timestamp)`;let Z=G*(J==="m"?60:J==="h"?3600:86400);return x6`to_timestamp(floor(extract(epoch from timestamp::timestamp) / ${Z}) * ${Z})`}switch(J){case"m":if(G===1)return x6`strftime('%Y-%m-%d %H:%M:00', timestamp)`;return x6`strftime('%Y-%m-%d %H:', timestamp) || printf('%02d', (cast(strftime('%M', timestamp) as integer) / ${G}) * ${G}) || ':00'`;case"h":if(G===1)return x6`strftime('%Y-%m-%d %H:00:00', timestamp)`;return x6`strftime('%Y-%m-%d ', timestamp) || printf('%02d', (cast(strftime('%H', timestamp) as integer) / ${G}) * ${G}) || ':00:00'`;case"d":return x6`strftime('%Y-%m-%d 00:00:00', timestamp)`;default:return x6`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=x6`${H} LIKE ${F} ESCAPE '\\'`;Y=Y.where(V)}return Y}toDbRow(Y){return{id:Y.id||X9("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}}}$7();class JN1{db;constructor(Y){this.db=Y}async create(Y,Q,X){let J=X9("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}}}class GN1{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}}qV1();$7();class WN1{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=X9("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}}$7();class ZN1{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=X9("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:X9("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:X9("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}}}class KN1{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}}}Vv();OP();KY();qD();dS();var Mr=new JQ,HN1=[404,401,406];async function in0(Y,Q){return(await Q.storage.connections.findById(Y))?.connection_url??null}function Bu6(Y){let Q=Y.toLowerCase();return Q.includes("resource_metadata=")||Q.includes("invalid_token")||Q.includes("oauth")}async function an0(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(Bu6(J))return J}if(await Uu6(Y))return'Bearer realm="mcp"'}return null}catch{return null}}async function Uu6(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 wr(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(!HN1.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"}}),!HN1.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 Du6(Y,Q){let X=await in0(Y,Q);if(!X)return null;let J;try{J=new URL(X).origin}catch{return null}try{let G=await wr(X);if(G.ok){let K=await G.json();if(K.authorization_servers?.[0])return K.authorization_servers[0]}}catch{}return J}async function rn0(Y){let Q=Y.get("meshContext");if(!Q)Q=await UF.create(Y.req.raw),Y.set("meshContext",Q);return Q}async function on0({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 an0(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"}})}var sn0=(Y)=>{if(!(Y.hostname==="localhost"||Y.hostname==="127.0.0.1"))Y.protocol="https:";return Y},tn0=async(Y)=>{let Q=Y.req.param("connectionId"),X=await rn0(Y),J=await in0(Q,X);if(!J)return Y.json({error:"Connection not found"},404);let G=sn0(new URL(Y.req.url)),K=`${G.origin}/mcp/${Q}`,W=`${G.origin}/oauth-proxy/${Q}`;try{let Z=await wr(J);if(!Z.ok&&HN1.includes(Z.status)){if(await an0(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)}};Mr.get("/.well-known/oauth-protected-resource/mcp/:connectionId",(Y)=>tn0(Y));Mr.get("/mcp/:connectionId/.well-known/oauth-protected-resource",(Y)=>tn0(Y));async function $N1(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}Mr.get("/.well-known/oauth-authorization-server/oauth-proxy/:connectionId",async(Y)=>{let Q=Y.req.param("connectionId"),X=await rn0(Y),J=await Du6(Q,X);if(!J)return Y.json({error:"Connection not found or no auth server"},404);try{let G=await $N1(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=`${sn0(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)}});var en0=Mr;KY();dS();Uv();var FN1=new JQ;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?qM(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 $=hz1(Y.req.query("mode")),F=await KB(Z,X,$),V=ND(F,{name:`mcp-virtual-mcp-${Z.title??"Decopilot"}`,version:"1.0.0"},{capabilities:{tools:{},resources:{},prompts:{}},instructions:Z.metadata?.instructions??void 0}),B=new g$({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)}}FN1.all("/gateway/:virtualMcpId?",async(Y)=>{let Q=Y.req.param("virtualMcpId")||Y.req.header("x-virtual-mcp-id");return Ar(Y,Q)});FN1.all("/virtual-mcp/:virtualMcpId?",async(Y)=>{let Q=Y.req.param("virtualMcpId")||Y.req.header("x-virtual-mcp-id");return Ar(Y,Q)});var Yi0=FN1;var Pr=new JQ,Qi0=300000;function zO(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 Xi0(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 _5(J,Q,X),K=uz1(G,J),W=K.getServerCapabilities()??{tools:{},resources:{},prompts:{}},Z=ND(K,{name:"mcp-mesh-proxy-client",version:"1.0.0"},{capabilities:W,instructions:K.getInstructions()}),{client:H,server:$}=A71();await Z.connect($);let F=new G5({name:"mcp-mesh-proxy-client",version:"1.0.0"});return await F.connect(H),F}async function Ji0(Y,Q){return Xi0(Y,Q,{superUser:!1})}async function VN1(Y,Q){return Xi0(Y,Q,{superUser:!0})}Pr.all("/",async(Y)=>{return Ar(Y,void 0)});Pr.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 gz1(J,X,!1),K=new g$({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 on0({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 Gi0(J,Y)}});var Gi0=(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)};Pr.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 _5(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 Gi0(G,Y)}});var Wi0=Pr;Nr();$7();$7();var Zi0=()=>X9("msg"),Er=32768,Tr=50,Cr="New chat",Ki0=30,Hi0=15,$i0=["user_ask","subtask"];function qN1(Y){let X="You are decopilot, an AI assistant running inside decocms (deco context management system).";if(Y?.trim())X+=`
1370
+ `}}P7.Metric=MB;class Ft0{constructor(Y,Q={msgs:1e5,size:128,subject:"",asyncRequests:!1,pub:!1,sub:!1,req:!1,rep:!1}){if(this.nc=Y,this.callbacks=Q.callbacks||!1,this.msgs=Q.msgs||0,this.size=Q.size||0,this.subject=Q.subject||yi6.nuid.next(),this.asyncRequests=Q.asyncRequests||!1,this.pub=Q.pub||!1,this.sub=Q.sub||!1,this.req=Q.req||!1,this.rep=Q.rep||!1,this.perf=new XM1.Perf,this.payload=this.size?new Uint8Array(this.size):_i6.Empty,!this.pub&&!this.sub&&!this.req&&!this.rep)throw Error("no bench option selected")}run(){return PF(this,void 0,void 0,function*(){if(this.nc.closed().then((Y)=>{if(Y)throw new $t0.NatsError(`bench closed with an error: ${Y.message}`,$t0.ErrorCode.Unknown,Y)}),this.callbacks)yield this.runCallbacks();else yield this.runAsync();return this.processMetrics()})}processMetrics(){let Y=this.nc,{lang:Q,version:X}=Y.protocol.transport;if(this.pub&&this.sub)this.perf.measure("pubsub","pubStart","subStop");if(this.req&&this.rep)this.perf.measure("reqrep","reqStart","reqStop");let J=this.perf.getEntries(),G=J.find((B)=>B.name==="pubsub"),K=J.find((B)=>B.name==="reqrep"),W=J.find((B)=>B.name==="req"),Z=J.find((B)=>B.name==="rep"),H=J.find((B)=>B.name==="pub"),$=J.find((B)=>B.name==="sub"),F=this.nc.stats(),V=[];if(G){let{name:B,duration:U}=G,D=new MB(B,U);D.msgs=this.msgs*2,D.bytes=F.inBytes+F.outBytes,D.lang=Q,D.version=X,D.payload=this.payload.length,V.push(D)}if(K){let{name:B,duration:U}=K,D=new MB(B,U);D.msgs=this.msgs*2,D.bytes=F.inBytes+F.outBytes,D.lang=Q,D.version=X,D.payload=this.payload.length,V.push(D)}if(H){let{name:B,duration:U}=H,D=new MB(B,U);D.msgs=this.msgs,D.bytes=F.outBytes,D.lang=Q,D.version=X,D.payload=this.payload.length,V.push(D)}if($){let{name:B,duration:U}=$,D=new MB(B,U);D.msgs=this.msgs,D.bytes=F.inBytes,D.lang=Q,D.version=X,D.payload=this.payload.length,V.push(D)}if(Z){let{name:B,duration:U}=Z,D=new MB(B,U);D.msgs=this.msgs,D.bytes=F.inBytes+F.outBytes,D.lang=Q,D.version=X,D.payload=this.payload.length,V.push(D)}if(W){let{name:B,duration:U}=W,D=new MB(B,U);D.msgs=this.msgs,D.bytes=F.inBytes+F.outBytes,D.lang=Q,D.version=X,D.payload=this.payload.length,V.push(D)}return V}runCallbacks(){return PF(this,void 0,void 0,function*(){let Y=[];if(this.sub){let Q=(0,XM1.deferred)();Y.push(Q);let X=0;this.nc.subscribe(this.subject,{max:this.msgs,callback:()=>{if(X++,X===1)this.perf.mark("subStart");if(X===this.msgs)this.perf.mark("subStop"),this.perf.measure("sub","subStart","subStop"),Q.resolve()}})}if(this.rep){let Q=(0,XM1.deferred)();Y.push(Q);let X=0;this.nc.subscribe(this.subject,{max:this.msgs,callback:(J,G)=>{if(G.respond(this.payload),X++,X===1)this.perf.mark("repStart");if(X===this.msgs)this.perf.mark("repStop"),this.perf.measure("rep","repStart","repStop"),Q.resolve()}})}if(this.pub){let Q=(()=>PF(this,void 0,void 0,function*(){this.perf.mark("pubStart");for(let X=0;X<this.msgs;X++)this.nc.publish(this.subject,this.payload);yield this.nc.flush(),this.perf.mark("pubStop"),this.perf.measure("pub","pubStart","pubStop")}))();Y.push(Q)}if(this.req){let Q=(()=>PF(this,void 0,void 0,function*(){if(this.asyncRequests){this.perf.mark("reqStart");let X=[];for(let J=0;J<this.msgs;J++)X.push(this.nc.request(this.subject,this.payload,{timeout:20000}));yield Promise.all(X),this.perf.mark("reqStop"),this.perf.measure("req","reqStart","reqStop")}else{this.perf.mark("reqStart");for(let X=0;X<this.msgs;X++)yield this.nc.request(this.subject);this.perf.mark("reqStop"),this.perf.measure("req","reqStart","reqStop")}}))();Y.push(Q)}yield Promise.all(Y)})}runAsync(){return PF(this,void 0,void 0,function*(){let Y=[];if(this.rep){let Q=!1,X=this.nc.subscribe(this.subject,{max:this.msgs}),J=(()=>PF(this,void 0,void 0,function*(){var G,K,W,Z;try{for(var H=!0,$=Ht0(X),F;F=yield $.next(),G=F.done,!G;H=!0){Z=F.value,H=!1;let V=Z;if(!Q)this.perf.mark("repStart"),Q=!0;V.respond(this.payload)}}catch(V){K={error:V}}finally{try{if(!H&&!G&&(W=$.return))yield W.call($)}finally{if(K)throw K.error}}yield this.nc.flush(),this.perf.mark("repStop"),this.perf.measure("rep","repStart","repStop")}))();Y.push(J)}if(this.sub){let Q=!1,X=this.nc.subscribe(this.subject,{max:this.msgs}),J=(()=>PF(this,void 0,void 0,function*(){var G,K,W,Z;try{for(var H=!0,$=Ht0(X),F;F=yield $.next(),G=F.done,!G;H=!0){Z=F.value,H=!1;let V=Z;if(!Q)this.perf.mark("subStart"),Q=!0}}catch(V){K={error:V}}finally{try{if(!H&&!G&&(W=$.return))yield W.call($)}finally{if(K)throw K.error}}this.perf.mark("subStop"),this.perf.measure("sub","subStart","subStop")}))();Y.push(J)}if(this.pub){let Q=(()=>PF(this,void 0,void 0,function*(){this.perf.mark("pubStart");for(let X=0;X<this.msgs;X++)this.nc.publish(this.subject,this.payload);yield this.nc.flush(),this.perf.mark("pubStop"),this.perf.measure("pub","pubStart","pubStop")}))();Y.push(Q)}if(this.req){let Q=(()=>PF(this,void 0,void 0,function*(){if(this.asyncRequests){this.perf.mark("reqStart");let X=[];for(let J=0;J<this.msgs;J++)X.push(this.nc.request(this.subject,this.payload,{timeout:20000}));yield Promise.all(X),this.perf.mark("reqStop"),this.perf.measure("req","reqStart","reqStop")}else{this.perf.mark("reqStart");for(let X=0;X<this.msgs;X++)yield this.nc.request(this.subject);this.perf.mark("reqStop"),this.perf.measure("req","reqStart","reqStop")}}))();Y.push(Q)}yield Promise.all(Y)})}}P7.Bench=Ft0;function Vt0(Y,Q){return`${qt0(Y/Q)}/sec`}function fi6(Y,Q){return`${Math.floor(Y/Q)} msgs/sec`}function qt0(Y,Q=!1){let X=Q?1000:1024,J=Q?["k","M","G","T","P","E"]:["K","M","G","T","P","E"],G=Q?"iB":"B";if(Y<X)return`${Y.toFixed(2)} ${G}`;let K=parseInt(Math.log(Y)/Math.log(X)+""),W=parseInt(K-1+"");return`${(Y/Math.pow(X,K)).toFixed(2)} ${J[W]}${G}`}function bi6(Y){return Y.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")}});var TL1=I((g1)=>{var hi6=g1&&g1.__createBinding||(Object.create?function(Y,Q,X,J){if(J===void 0)J=X;var G=Object.getOwnPropertyDescriptor(Q,X);if(!G||("get"in G?!Q.__esModule:G.writable||G.configurable))G={enumerable:!0,get:function(){return Q[X]}};Object.defineProperty(Y,J,G)}:function(Y,Q,X,J){if(J===void 0)J=X;Y[J]=Q[X]}),xi6=g1&&g1.__exportStar||function(Y,Q){for(var X in Y)if(X!=="default"&&!Object.prototype.hasOwnProperty.call(Q,X))hi6(Q,Y,X)};Object.defineProperty(g1,"__esModule",{value:!0});g1.parseIP=g1.isIP=g1.TE=g1.TD=g1.Metric=g1.Bench=g1.writeAll=g1.readAll=g1.MAX_SIZE=g1.DenoBuffer=g1.State=g1.Parser=g1.Kind=g1.QueuedIteratorImpl=g1.StringCodec=g1.JSONCodec=g1.usernamePasswordAuthenticator=g1.tokenAuthenticator=g1.nkeyAuthenticator=g1.jwtAuthenticator=g1.credsAuthenticator=g1.RequestOne=g1.checkUnsupportedOption=g1.checkOptions=g1.buildAuthenticator=g1.DataBuffer=g1.MuxSubscription=g1.Heartbeat=g1.MsgHdrsImpl=g1.headers=g1.canonicalMIMEHeaderKey=g1.timeout=g1.render=g1.nanos=g1.millis=g1.extend=g1.delay=g1.deferred=g1.deadline=g1.collect=g1.backoff=g1.ProtocolHandler=g1.INFO=g1.Connect=g1.setTransportFactory=g1.getResolveFn=g1.MsgImpl=g1.nuid=g1.Nuid=g1.NatsConnectionImpl=void 0;g1.Subscriptions=g1.SubscriptionImpl=g1.syncIterator=g1.ServiceVerb=g1.ServiceResponseType=g1.ServiceErrorHeader=g1.ServiceErrorCodeHeader=g1.ServiceError=g1.RequestStrategy=g1.NatsError=g1.Match=g1.isNatsError=g1.Events=g1.ErrorCode=g1.DebugEvents=g1.createInbox=g1.extractProtocolMessage=g1.Empty=g1.parseSemVer=g1.compare=g1.NoopKvCodecs=g1.defaultBucketOpts=g1.Bucket=g1.Base64KeyCodec=g1.TypedSubscription=void 0;var gi6=Kt0();Object.defineProperty(g1,"NatsConnectionImpl",{enumerable:!0,get:function(){return gi6.NatsConnectionImpl}});var Ut0=oH();Object.defineProperty(g1,"Nuid",{enumerable:!0,get:function(){return Ut0.Nuid}});Object.defineProperty(g1,"nuid",{enumerable:!0,get:function(){return Ut0.nuid}});var ui6=TP();Object.defineProperty(g1,"MsgImpl",{enumerable:!0,get:function(){return ui6.MsgImpl}});var Dt0=AP();Object.defineProperty(g1,"getResolveFn",{enumerable:!0,get:function(){return Dt0.getResolveFn}});Object.defineProperty(g1,"setTransportFactory",{enumerable:!0,get:function(){return Dt0.setTransportFactory}});var JM1=Go();Object.defineProperty(g1,"Connect",{enumerable:!0,get:function(){return JM1.Connect}});Object.defineProperty(g1,"INFO",{enumerable:!0,get:function(){return JM1.INFO}});Object.defineProperty(g1,"ProtocolHandler",{enumerable:!0,get:function(){return JM1.ProtocolHandler}});var Z3=BQ();Object.defineProperty(g1,"backoff",{enumerable:!0,get:function(){return Z3.backoff}});Object.defineProperty(g1,"collect",{enumerable:!0,get:function(){return Z3.collect}});Object.defineProperty(g1,"deadline",{enumerable:!0,get:function(){return Z3.deadline}});Object.defineProperty(g1,"deferred",{enumerable:!0,get:function(){return Z3.deferred}});Object.defineProperty(g1,"delay",{enumerable:!0,get:function(){return Z3.delay}});Object.defineProperty(g1,"extend",{enumerable:!0,get:function(){return Z3.extend}});Object.defineProperty(g1,"millis",{enumerable:!0,get:function(){return Z3.millis}});Object.defineProperty(g1,"nanos",{enumerable:!0,get:function(){return Z3.nanos}});Object.defineProperty(g1,"render",{enumerable:!0,get:function(){return Z3.render}});Object.defineProperty(g1,"timeout",{enumerable:!0,get:function(){return Z3.timeout}});var GM1=zF();Object.defineProperty(g1,"canonicalMIMEHeaderKey",{enumerable:!0,get:function(){return GM1.canonicalMIMEHeaderKey}});Object.defineProperty(g1,"headers",{enumerable:!0,get:function(){return GM1.headers}});Object.defineProperty(g1,"MsgHdrsImpl",{enumerable:!0,get:function(){return GM1.MsgHdrsImpl}});var mi6=nN1();Object.defineProperty(g1,"Heartbeat",{enumerable:!0,get:function(){return mi6.Heartbeat}});var li6=cN1();Object.defineProperty(g1,"MuxSubscription",{enumerable:!0,get:function(){return li6.MuxSubscription}});var di6=wP();Object.defineProperty(g1,"DataBuffer",{enumerable:!0,get:function(){return di6.DataBuffer}});var WM1=Xo();Object.defineProperty(g1,"buildAuthenticator",{enumerable:!0,get:function(){return WM1.buildAuthenticator}});Object.defineProperty(g1,"checkOptions",{enumerable:!0,get:function(){return WM1.checkOptions}});Object.defineProperty(g1,"checkUnsupportedOption",{enumerable:!0,get:function(){return WM1.checkUnsupportedOption}});var pi6=Ko();Object.defineProperty(g1,"RequestOne",{enumerable:!0,get:function(){return pi6.RequestOne}});var cv=HL1();Object.defineProperty(g1,"credsAuthenticator",{enumerable:!0,get:function(){return cv.credsAuthenticator}});Object.defineProperty(g1,"jwtAuthenticator",{enumerable:!0,get:function(){return cv.jwtAuthenticator}});Object.defineProperty(g1,"nkeyAuthenticator",{enumerable:!0,get:function(){return cv.nkeyAuthenticator}});Object.defineProperty(g1,"tokenAuthenticator",{enumerable:!0,get:function(){return cv.tokenAuthenticator}});Object.defineProperty(g1,"usernamePasswordAuthenticator",{enumerable:!0,get:function(){return cv.usernamePasswordAuthenticator}});var zt0=tH();Object.defineProperty(g1,"JSONCodec",{enumerable:!0,get:function(){return zt0.JSONCodec}});Object.defineProperty(g1,"StringCodec",{enumerable:!0,get:function(){return zt0.StringCodec}});xi6(ZL1(),g1);var ci6=bW();Object.defineProperty(g1,"QueuedIteratorImpl",{enumerable:!0,get:function(){return ci6.QueuedIteratorImpl}});var ZM1=tN1();Object.defineProperty(g1,"Kind",{enumerable:!0,get:function(){return ZM1.Kind}});Object.defineProperty(g1,"Parser",{enumerable:!0,get:function(){return ZM1.Parser}});Object.defineProperty(g1,"State",{enumerable:!0,get:function(){return ZM1.State}});var fo=rN1();Object.defineProperty(g1,"DenoBuffer",{enumerable:!0,get:function(){return fo.DenoBuffer}});Object.defineProperty(g1,"MAX_SIZE",{enumerable:!0,get:function(){return fo.MAX_SIZE}});Object.defineProperty(g1,"readAll",{enumerable:!0,get:function(){return fo.readAll}});Object.defineProperty(g1,"writeAll",{enumerable:!0,get:function(){return fo.writeAll}});var Ot0=Bt0();Object.defineProperty(g1,"Bench",{enumerable:!0,get:function(){return Ot0.Bench}});Object.defineProperty(g1,"Metric",{enumerable:!0,get:function(){return Ot0.Metric}});var Nt0=qQ();Object.defineProperty(g1,"TD",{enumerable:!0,get:function(){return Nt0.TD}});Object.defineProperty(g1,"TE",{enumerable:!0,get:function(){return Nt0.TE}});var Lt0=xN1();Object.defineProperty(g1,"isIP",{enumerable:!0,get:function(){return Lt0.isIP}});Object.defineProperty(g1,"parseIP",{enumerable:!0,get:function(){return Lt0.parseIP}});var ni6=jL1();Object.defineProperty(g1,"TypedSubscription",{enumerable:!0,get:function(){return ni6.TypedSubscription}});var bo=xv();Object.defineProperty(g1,"Base64KeyCodec",{enumerable:!0,get:function(){return bo.Base64KeyCodec}});Object.defineProperty(g1,"Bucket",{enumerable:!0,get:function(){return bo.Bucket}});Object.defineProperty(g1,"defaultBucketOpts",{enumerable:!0,get:function(){return bo.defaultBucketOpts}});Object.defineProperty(g1,"NoopKvCodecs",{enumerable:!0,get:function(){return bo.NoopKvCodecs}});var Mt0=OF();Object.defineProperty(g1,"compare",{enumerable:!0,get:function(){return Mt0.compare}});Object.defineProperty(g1,"parseSemVer",{enumerable:!0,get:function(){return Mt0.parseSemVer}});var ii6=kP();Object.defineProperty(g1,"Empty",{enumerable:!0,get:function(){return ii6.Empty}});var ai6=AP();Object.defineProperty(g1,"extractProtocolMessage",{enumerable:!0,get:function(){return ai6.extractProtocolMessage}});var jG=P9();Object.defineProperty(g1,"createInbox",{enumerable:!0,get:function(){return jG.createInbox}});Object.defineProperty(g1,"DebugEvents",{enumerable:!0,get:function(){return jG.DebugEvents}});Object.defineProperty(g1,"ErrorCode",{enumerable:!0,get:function(){return jG.ErrorCode}});Object.defineProperty(g1,"Events",{enumerable:!0,get:function(){return jG.Events}});Object.defineProperty(g1,"isNatsError",{enumerable:!0,get:function(){return jG.isNatsError}});Object.defineProperty(g1,"Match",{enumerable:!0,get:function(){return jG.Match}});Object.defineProperty(g1,"NatsError",{enumerable:!0,get:function(){return jG.NatsError}});Object.defineProperty(g1,"RequestStrategy",{enumerable:!0,get:function(){return jG.RequestStrategy}});Object.defineProperty(g1,"ServiceError",{enumerable:!0,get:function(){return jG.ServiceError}});Object.defineProperty(g1,"ServiceErrorCodeHeader",{enumerable:!0,get:function(){return jG.ServiceErrorCodeHeader}});Object.defineProperty(g1,"ServiceErrorHeader",{enumerable:!0,get:function(){return jG.ServiceErrorHeader}});Object.defineProperty(g1,"ServiceResponseType",{enumerable:!0,get:function(){return jG.ServiceResponseType}});Object.defineProperty(g1,"ServiceVerb",{enumerable:!0,get:function(){return jG.ServiceVerb}});Object.defineProperty(g1,"syncIterator",{enumerable:!0,get:function(){return jG.syncIterator}});var wt0=Go();Object.defineProperty(g1,"SubscriptionImpl",{enumerable:!0,get:function(){return wt0.SubscriptionImpl}});Object.defineProperty(g1,"Subscriptions",{enumerable:!0,get:function(){return wt0.Subscriptions}})});var ho=I((UQ)=>{Object.defineProperty(UQ,"__esModule",{value:!0});UQ.ConsumerEvents=UQ.ConsumerDebugEvents=UQ.StoreCompression=UQ.StorageType=UQ.RetentionPolicy=UQ.ReplayPolicy=UQ.DiscardPolicy=UQ.DeliverPolicy=UQ.AckPolicy=UQ.RepublishHeaders=UQ.KvWatchInclude=UQ.JsHeaders=UQ.isConsumerOptsBuilder=UQ.DirectMsgHeaders=UQ.consumerOpts=UQ.AdvisoryKind=UQ.isHeartbeatMsg=UQ.isFlowControlMsg=UQ.checkJsError=void 0;var KM1=Q3();Object.defineProperty(UQ,"checkJsError",{enumerable:!0,get:function(){return KM1.checkJsError}});Object.defineProperty(UQ,"isFlowControlMsg",{enumerable:!0,get:function(){return KM1.isFlowControlMsg}});Object.defineProperty(UQ,"isHeartbeatMsg",{enumerable:!0,get:function(){return KM1.isHeartbeatMsg}});var vO=LF();Object.defineProperty(UQ,"AdvisoryKind",{enumerable:!0,get:function(){return vO.AdvisoryKind}});Object.defineProperty(UQ,"consumerOpts",{enumerable:!0,get:function(){return vO.consumerOpts}});Object.defineProperty(UQ,"DirectMsgHeaders",{enumerable:!0,get:function(){return vO.DirectMsgHeaders}});Object.defineProperty(UQ,"isConsumerOptsBuilder",{enumerable:!0,get:function(){return vO.isConsumerOptsBuilder}});Object.defineProperty(UQ,"JsHeaders",{enumerable:!0,get:function(){return vO.JsHeaders}});Object.defineProperty(UQ,"KvWatchInclude",{enumerable:!0,get:function(){return vO.KvWatchInclude}});Object.defineProperty(UQ,"RepublishHeaders",{enumerable:!0,get:function(){return vO.RepublishHeaders}});var _O=UB();Object.defineProperty(UQ,"AckPolicy",{enumerable:!0,get:function(){return _O.AckPolicy}});Object.defineProperty(UQ,"DeliverPolicy",{enumerable:!0,get:function(){return _O.DeliverPolicy}});Object.defineProperty(UQ,"DiscardPolicy",{enumerable:!0,get:function(){return _O.DiscardPolicy}});Object.defineProperty(UQ,"ReplayPolicy",{enumerable:!0,get:function(){return _O.ReplayPolicy}});Object.defineProperty(UQ,"RetentionPolicy",{enumerable:!0,get:function(){return _O.RetentionPolicy}});Object.defineProperty(UQ,"StorageType",{enumerable:!0,get:function(){return _O.StorageType}});Object.defineProperty(UQ,"StoreCompression",{enumerable:!0,get:function(){return _O.StoreCompression}});var At0=cL1();Object.defineProperty(UQ,"ConsumerDebugEvents",{enumerable:!0,get:function(){return At0.ConsumerDebugEvents}});Object.defineProperty(UQ,"ConsumerEvents",{enumerable:!0,get:function(){return At0.ConsumerEvents}})});var HM1=I((wB)=>{var oi6=wB&&wB.__createBinding||(Object.create?function(Y,Q,X,J){if(J===void 0)J=X;var G=Object.getOwnPropertyDescriptor(Q,X);if(!G||("get"in G?!Q.__esModule:G.writable||G.configurable))G={enumerable:!0,get:function(){return Q[X]}};Object.defineProperty(Y,J,G)}:function(Y,Q,X,J){if(J===void 0)J=X;Y[J]=Q[X]}),Pt0=wB&&wB.__exportStar||function(Y,Q){for(var X in Y)if(X!=="default"&&!Object.prototype.hasOwnProperty.call(Q,X))oi6(Q,Y,X)};Object.defineProperty(wB,"__esModule",{value:!0});Pt0(TL1(),wB);Pt0(ho(),wB)});var Rt0=I((WK)=>{var uP=WK&&WK.__awaiter||function(Y,Q,X,J){function G(K){return K instanceof X?K:new X(function(W){W(K)})}return new(X||(X=Promise))(function(K,W){function Z(F){try{$(J.next(F))}catch(V){W(V)}}function H(F){try{$(J.throw(F))}catch(V){W(V)}}function $(F){F.done?K(F.value):G(F.value).then(Z,H)}$((J=J.apply(Y,Q||[])).next())})},nv=WK&&WK.__await||function(Y){return this instanceof nv?(this.v=Y,this):new nv(Y)},si6=WK&&WK.__asyncGenerator||function(Y,Q,X){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var J=X.apply(Y,Q||[]),G,K=[];return G=Object.create((typeof AsyncIterator==="function"?AsyncIterator:Object).prototype),Z("next"),Z("throw"),Z("return",W),G[Symbol.asyncIterator]=function(){return this},G;function W(U){return function(D){return Promise.resolve(D).then(U,V)}}function Z(U,D){if(J[U]){if(G[U]=function(z){return new Promise(function(L,w){K.push([U,z,L,w])>1||H(U,z)})},D)G[U]=D(G[U])}}function H(U,D){try{$(J[U](D))}catch(z){B(K[0][3],z)}}function $(U){U.value instanceof nv?Promise.resolve(U.value.v).then(F,V):B(K[0][2],U)}function F(U){H("next",U)}function V(U){H("throw",U)}function B(U,D){if(U(D),K.shift(),K.length)H(K[0][0],K[0][1])}};Object.defineProperty(WK,"__esModule",{value:!0});WK.NodeTransport=void 0;WK.nodeResolveHost=Ga6;var l8=HM1(),ti6=E1("net"),Et0=BQ(),$M1=E1("tls"),{resolve:ei6}=E1("path"),{readFile:Ya6,existsSync:Qa6}=E1("fs"),Tt0=E1("dns"),Xa6="2.29.3",Ja6="nats.js";class Ct0{constructor(){this.yields=[],this.signal=(0,l8.deferred)(),this.closedNotification=(0,l8.deferred)(),this.connected=!1,this.tlsName="",this.done=!1,this.lang=Ja6,this.version=Xa6}connect(Y,Q){return uP(this,void 0,void 0,function*(){this.tlsName=Y.tlsName,this.options=Q;let{tls:X}=this.options,{handshakeFirst:J}=X||{};try{if(J===!0)this.socket=yield this.tlsFirst(Y);else this.socket=yield this.dial(Y);let G=yield this.peekInfo();(0,l8.checkOptions)(G,Q);let{tls_required:K,tls_available:W}=G,Z=W===!0&&Q.tls!==null;if(!J&&(K||Z))this.socket=yield this.startTLS();if(K&&this.socket.encrypted!==!0)throw new l8.NatsError("tls",l8.ErrorCode.ServerOptionNotAvailable);return this.connected=!0,this.setupHandlers(),this.signal.resolve(),Promise.resolve()}catch(G){if(!G)G=l8.NatsError.errorForCode(l8.ErrorCode.ConnectionRefused,Error("node provided an undefined error!"));let{code:K}=G,W=K==="ECONNREFUSED"?l8.NatsError.errorForCode(l8.ErrorCode.ConnectionRefused,G):G;if(this.socket)this.socket.destroy();throw W}})}dial(Y){let Q=(0,l8.deferred)(),X,J=(0,ti6.createConnection)(Y.port,Y.hostname,()=>{Q.resolve(J),J.removeAllListeners()});return J.on("error",(G)=>{X=G}),J.on("close",()=>{J.removeAllListeners(),Q.reject(X)}),J.setNoDelay(!0),Q}get isClosed(){return this.done}close(Y){return this._closed(Y,!1)}peekInfo(){let Y=(0,l8.deferred)(),Q;return this.socket.on("data",(X)=>{this.yields.push(X);let J=l8.DataBuffer.concat(...this.yields),G=(0,l8.extractProtocolMessage)(J);if(G!=="")try{let K=l8.INFO.exec(G);if(!K)throw Error("unexpected response from server");let W=JSON.parse(K[1]);Y.resolve(W)}catch(K){Y.reject(K)}finally{this.socket.removeAllListeners()}}),this.socket.on("error",(X)=>{Q=X}),this.socket.on("close",()=>{this.socket.removeAllListeners(),Y.reject(Q)}),Y}loadFile(Y){if(!Y)return Promise.resolve();let Q=(0,l8.deferred)();try{if(Y=ei6(Y),!Qa6(Y))Q.reject(Error(`${Y} doesn't exist`));Ya6(Y,(X,J)=>{if(X)return Q.reject(X);Q.resolve(J)})}catch(X){Q.reject(X)}return Q}loadClientCerts(){return uP(this,void 0,void 0,function*(){let Y={},{certFile:Q,cert:X,caFile:J,ca:G,keyFile:K,key:W}=this.options.tls;try{if(Q){let Z=yield this.loadFile(Q);if(Z)Y.cert=Z}else if(X)Y.cert=X;if(K){let Z=yield this.loadFile(K);if(Z)Y.key=Z}else if(W)Y.key=W;if(J){let Z=yield this.loadFile(J);if(Z)Y.ca=[Z]}else if(G)Y.ca=G;return Promise.resolve(Y)}catch(Z){return Promise.reject(Z)}})}tlsFirst(Y){return uP(this,void 0,void 0,function*(){let Q,X={servername:this.tlsName,rejectUnauthorized:!0};if(this.socket)X.socket=this.socket;if(typeof this.options.tls==="object")try{let G=(yield this.loadClientCerts())||{};X=(0,Et0.extend)(X,this.options.tls,G)}catch(G){return Promise.reject(new l8.NatsError(G.message,l8.ErrorCode.Tls,G))}let J=(0,l8.deferred)();try{let G=(0,$M1.connect)(Y.port,Y.hostname,X,()=>{G.removeAllListeners(),J.resolve(G)});G.on("error",(K)=>{Q=K}),G.on("secureConnect",()=>{if(X.rejectUnauthorized===!1)return;if(!G.authorized)throw G.authorizationError}),G.on("close",()=>{J.reject(Q),G.removeAllListeners()}),G.setNoDelay(!0)}catch(G){J.reject(l8.NatsError.errorForCode(l8.ErrorCode.Tls,G))}return J})}startTLS(){return uP(this,void 0,void 0,function*(){let Y,Q={socket:this.socket,servername:this.tlsName,rejectUnauthorized:!0};if(typeof this.options.tls==="object")try{let J=(yield this.loadClientCerts())||{};Q=(0,Et0.extend)(Q,this.options.tls,J)}catch(J){return Promise.reject(new l8.NatsError(J.message,l8.ErrorCode.Tls,J))}let X=(0,l8.deferred)();try{let J=(0,$M1.connect)(Q,()=>{J.removeAllListeners(),X.resolve(J)});J.on("error",(G)=>{Y=G}),J.on("secureConnect",()=>{if(Q.rejectUnauthorized===!1)return;if(!J.authorized)throw J.authorizationError}),J.on("close",()=>{X.reject(Y),J.removeAllListeners()})}catch(J){X.reject(l8.NatsError.errorForCode(l8.ErrorCode.Tls,J))}return X})}setupHandlers(){let Y;this.socket.on("data",(Q)=>{return this.yields.push(Q),this.signal.resolve()}),this.socket.on("error",(Q)=>{Y=Q}),this.socket.on("end",()=>{var Q,X;if((Q=this.socket)===null||Q===void 0?void 0:Q.destroyed)return;(X=this.socket)===null||X===void 0||X.write(new Uint8Array(0),()=>{var J;(J=this.socket)===null||J===void 0||J.end()})}),this.socket.on("close",()=>{this._closed(Y,!1)})}[Symbol.asyncIterator](){return this.iterate()}iterate(){return si6(this,arguments,function*(){let Q=this.options.debug;while(!0){if(this.yields.length===0)yield nv(this.signal);let X=this.yields;this.yields=[];for(let J=0;J<X.length;J++){if(Q)console.info(`> ${(0,l8.render)(X[J])}`);yield yield nv(X[J])}if(this.done)break;else if(this.yields.length===0)X.length=0,this.yields=X,this.signal=(0,l8.deferred)()}})}discard(){}disconnect(){this._closed(void 0,!0).then().catch()}isEncrypted(){return this.socket instanceof $M1.TLSSocket}_send(Y){if(this.isClosed||this.socket===void 0)return Promise.resolve();if(this.options.debug)console.info(`< ${(0,l8.render)(Y)}`);let Q=(0,l8.deferred)();try{this.socket.write(Y,(X)=>{if(X){if(this.options.debug)console.error(`!!! ${(0,l8.render)(Y)}: ${X}`);return Q.reject(X)}return Q.resolve()})}catch(X){if(this.options.debug)console.error(`!!! ${(0,l8.render)(Y)}: ${X}`);Q.reject(X)}return Q}send(Y){this._send(Y).catch((X)=>{})}_closed(Y){return uP(this,arguments,void 0,function*(Q,X=!0){if(!this.connected)return;if(this.done)return;if(this.closeError=Q,!Q&&this.socket&&X)try{yield this._send(new TextEncoder().encode(""))}catch(J){if(this.options.debug)console.log("transport close terminated with an error",J)}try{if(this.socket)this.socket.removeAllListeners(),this.socket.destroy(),this.socket=void 0}catch(J){console.log(J)}this.done=!0,this.closedNotification.resolve(this.closeError)})}closed(){return this.closedNotification}}WK.NodeTransport=Ct0;function Ga6(Y){return uP(this,void 0,void 0,function*(){let Q=(0,l8.deferred)(),X=(0,l8.deferred)();Tt0.resolve4(Y,(W,Z)=>{if(W)Q.resolve(W);else Q.resolve(Z)}),Tt0.resolve6(Y,(W,Z)=>{if(W)X.resolve(W);else X.resolve(Z)});let J=[],G=yield Q;if(Array.isArray(G))J.push(...G);let K=yield X;if(Array.isArray(K))J.push(...K);if(J.length===0)J.push(Y);return J})}});var kt0=I((St0)=>{Object.defineProperty(St0,"__esModule",{value:!0});St0.connect=Wa6;var It0=Rt0(),jt0=HM1();function Wa6(Y={}){return(0,jt0.setTransportFactory)({factory:()=>{return new It0.NodeTransport},dnsResolveFn:It0.nodeResolveHost}),jt0.NatsConnectionImpl.connect(Y)}});var vt0=I((jQ)=>{Object.defineProperty(jQ,"__esModule",{value:!0});jQ.consumerOpts=jQ.StoreCompression=jQ.StorageType=jQ.RetentionPolicy=jQ.RepublishHeaders=jQ.ReplayPolicy=jQ.KvWatchInclude=jQ.JsHeaders=jQ.DiscardPolicy=jQ.DirectMsgHeaders=jQ.DeliverPolicy=jQ.ConsumerEvents=jQ.ConsumerDebugEvents=jQ.AdvisoryKind=jQ.AckPolicy=jQ.isHeartbeatMsg=jQ.isFlowControlMsg=jQ.checkJsError=void 0;var FM1=ho();Object.defineProperty(jQ,"checkJsError",{enumerable:!0,get:function(){return FM1.checkJsError}});Object.defineProperty(jQ,"isFlowControlMsg",{enumerable:!0,get:function(){return FM1.isFlowControlMsg}});Object.defineProperty(jQ,"isHeartbeatMsg",{enumerable:!0,get:function(){return FM1.isHeartbeatMsg}});var SG=ho();Object.defineProperty(jQ,"AckPolicy",{enumerable:!0,get:function(){return SG.AckPolicy}});Object.defineProperty(jQ,"AdvisoryKind",{enumerable:!0,get:function(){return SG.AdvisoryKind}});Object.defineProperty(jQ,"ConsumerDebugEvents",{enumerable:!0,get:function(){return SG.ConsumerDebugEvents}});Object.defineProperty(jQ,"ConsumerEvents",{enumerable:!0,get:function(){return SG.ConsumerEvents}});Object.defineProperty(jQ,"DeliverPolicy",{enumerable:!0,get:function(){return SG.DeliverPolicy}});Object.defineProperty(jQ,"DirectMsgHeaders",{enumerable:!0,get:function(){return SG.DirectMsgHeaders}});Object.defineProperty(jQ,"DiscardPolicy",{enumerable:!0,get:function(){return SG.DiscardPolicy}});Object.defineProperty(jQ,"JsHeaders",{enumerable:!0,get:function(){return SG.JsHeaders}});Object.defineProperty(jQ,"KvWatchInclude",{enumerable:!0,get:function(){return SG.KvWatchInclude}});Object.defineProperty(jQ,"ReplayPolicy",{enumerable:!0,get:function(){return SG.ReplayPolicy}});Object.defineProperty(jQ,"RepublishHeaders",{enumerable:!0,get:function(){return SG.RepublishHeaders}});Object.defineProperty(jQ,"RetentionPolicy",{enumerable:!0,get:function(){return SG.RetentionPolicy}});Object.defineProperty(jQ,"StorageType",{enumerable:!0,get:function(){return SG.StorageType}});Object.defineProperty(jQ,"StoreCompression",{enumerable:!0,get:function(){return SG.StoreCompression}});var Ka6=LF();Object.defineProperty(jQ,"consumerOpts",{enumerable:!0,get:function(){return Ka6.consumerOpts}})});var VM1=I((K3)=>{var $a6=K3&&K3.__createBinding||(Object.create?function(Y,Q,X,J){if(J===void 0)J=X;var G=Object.getOwnPropertyDescriptor(Q,X);if(!G||("get"in G?!Q.__esModule:G.writable||G.configurable))G={enumerable:!0,get:function(){return Q[X]}};Object.defineProperty(Y,J,G)}:function(Y,Q,X,J){if(J===void 0)J=X;Y[J]=Q[X]}),_t0=K3&&K3.__exportStar||function(Y,Q){for(var X in Y)if(X!=="default"&&!Object.prototype.hasOwnProperty.call(Q,X))$a6(Q,Y,X)};Object.defineProperty(K3,"__esModule",{value:!0});K3.connect=void 0;if(typeof TextEncoder>"u"){let{TextEncoder:Y,TextDecoder:Q}=E1("util");global.TextEncoder=Y,global.TextDecoder=Q}if(typeof globalThis.crypto>"u"){let Y=E1("crypto");global.crypto=Y.webcrypto}if(typeof globalThis.ReadableStream>"u"){let Y=process.versions.node.split(".");if(parseInt(Y[0])>=16){let X=E1("stream/web");global.ReadableStream=X.ReadableStream}}var Fa6=kt0();Object.defineProperty(K3,"connect",{enumerable:!0,get:function(){return Fa6.connect}});_t0(EL1(),K3);_t0(vt0(),K3)});VN();var TX=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 EJ0=["connection","keep-alive","proxy-authenticate","proxy-authorization","te","trailer","transfer-encoding","upgrade"],kg4=/^[!#$%&'*+\-.0-9A-Z^_`a-z|~]+$/,vg4=(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)=>!kg4.test(W));if(K.length>0)throw new TX(400,{message:`Invalid Connection header value: ${K.join(", ")}`});G.forEach((W)=>{X.delete(W)})}}return EJ0.forEach((J)=>{X.delete(J)}),{method:Y.method,body:Y.body,duplex:Y.body?"half":void 0,headers:X,signal:Y.signal}},_g4=(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},TJ0=async(Y,Q)=>{let{raw:X,customFetch:J,strictConnectionProcessing:G=!1,...K}=Q instanceof Request?{raw:Q}:Q??{},W=new Request(Y,{...vg4(X,G),..._g4(K)});W.headers.delete("accept-encoding");let Z=await(J||fetch)(W),H=new Headers(Z.headers);if(EJ0.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 CJ0=(Y)=>(Q)=>{let X=new URL(Q.req.raw.url),J=new URL(Y);return J.pathname=X.pathname,J.search=X.search,TJ0(J,{raw:Q.req.raw,headers:{...Q.req.raw.headers}})};import{resolve as r2,dirname as yg4,join as fg4,extname as bg4,basename as hg4,sep as RJ0}from"path";function xg4(Y,Q){if(Y===Q||hg4(Y)==="index.html")return{"Cache-Control":"no-cache"};if(Y.includes(`${RJ0}assets${RJ0}`))return{"Cache-Control":"public, max-age=31536000, immutable"};return{}}var gg4=`http://localhost:${process.env.VITE_PORT||"4000"}`,ug4="./dist/client";function mg4(Y,Q){let X=r2(Q),J=r2(Y);return J===X||J.startsWith(X+"/")}function lg4({requestPath:Y,clientDir:Q}){let X=Y.startsWith("/")?Y.slice(1):Y,J=r2(Q,X);if(!mg4(J,Q))return null;return J}function IJ0(Y,Q="../client"){let X=new URL(Y),J=yg4(X.pathname);return r2(J,Q)}function jJ0(Y={}){let{env:Q="production",devServerUrl:X=gg4,clientDir:J=ug4,isServerPath:G=()=>!1}=Y;if(Q==="development"){let K=CJ0(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 $=lg4({requestPath:H,clientDir:J});if(!$)return null;let F=fg4($,"index.html"),V=r2(J,"index.html"),B=W.headers.get("accept"),D=B?.includes("text/html")||B?.includes("*/*")&&["",".html"].includes(bg4($))?[F,V]:[];for(let z of[$,...D])try{let L=Bun.file(z);if(await L.exists())return new Response(L,{headers:xg4(z,V)})}catch{}return null}}var SJ0="https://api.decocms.com/mcp/registry";function kJ0(Y){if(!Y)return!1;try{return new URL(Y).host==="api.decocms.com"&&Y!=="https://api.decocms.com/mcp/registry"}catch{return!1}}KY();var ht0=E6(ke(),1);var v71=(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 c$0=Symbol();var n$0=async(Y,Q=Object.create(null))=>{let{all:X=!1,dot:J=!1}=Q,K=(Y instanceof om?Y.raw.headers:Y.headers).get("Content-Type");if(K?.startsWith("multipart/form-data")||K?.startsWith("application/x-www-form-urlencoded"))return Q06(Y,{all:X,dot:J});return{}};async function Q06(Y,Q){let X=await Y.formData();if(X)return X06(X,Q);return{}}function X06(Y,Q){let X=Object.create(null);if(Y.forEach((J,G)=>{if(!(Q.all||G.endsWith("[]")))X[G]=J;else J06(X,G,J)}),Q.dot)Object.entries(X).forEach(([J,G])=>{if(J.includes("."))G06(X,J,G),delete X[J]});return X}var J06=(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]},G06=(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 y71=(Y)=>{let Q=Y.split("/");if(Q[0]==="")Q.shift();return Q},i$0=(Y)=>{let{groups:Q,path:X}=W06(Y),J=y71(X);return Z06(J,Q)},W06=(Y)=>{let Q=[];return Y=Y.replace(/\{[^}]+\}/g,(X,J)=>{let G=`@${J}`;return Q.push([G,X]),G}),{groups:Q,path:Y}},Z06=(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},sm={},a$0=(Y,Q)=>{if(Y==="*")return"*";let X=Y.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/);if(X){let J=`${Y}#${Q}`;if(!sm[J])if(X[2])sm[J]=Q&&Q[0]!==":"&&Q[0]!=="*"?[J,X[1],new RegExp(`^${X[2]}(?=/${Q})`)]:[Y,X[1],new RegExp(`^${X[2]}$`)];else sm[J]=[Y,X[1],!0];return sm[J]}return null},DM=(Y,Q)=>{try{return Q(Y)}catch{return Y.replace(/(?:%[0-9A-Fa-f]{2})+/g,(X)=>{try{return Q(X)}catch{return X}})}},K06=(Y)=>DM(Y,decodeURI),f71=(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 K06(H.includes("%25")?H.replace(/%25/g,"%2525"):H)}else if(G===63||G===35)break}return Q.slice(X,J)};var r$0=(Y)=>{let Q=f71(Y);return Q.length>1&&Q.at(-1)==="/"?Q.slice(0,-1):Q},LD=(Y,Q,...X)=>{if(X.length)Q=LD(Q,...X);return`${Y?.[0]==="/"?"":"/"}${Y}${Q==="/"?"":`${Y?.at(-1)==="/"?"":"/"}${Q?.[0]==="/"?Q.slice(1):Q}`}`},tm=(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)},_71=(Y)=>{if(!/[%+]/.test(Y))return Y;if(Y.indexOf("+")!==-1)Y=Y.replace(/\+/g," ");return Y.indexOf("%")!==-1?DM(Y,SR):Y},o$0=(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 _71(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=_71(H);if(K=W,H==="")continue;let $;if(Z===-1)$="";else if($=Y.slice(Z+1,W===-1?void 0:W),J)$=_71($);if(X){if(!(G[H]&&Array.isArray(G[H])))G[H]=[];G[H].push($)}else G[H]??=$}return Q?G[Q]:G},s$0=o$0,t$0=(Y,Q)=>{return o$0(Y,Q,!0)},SR=decodeURIComponent;var e$0=(Y)=>DM(Y,SR),om=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)?e$0(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)?e$0(J):J}return Y}#W(Y){return this.#Q[1]?this.#Q[1][Y]:Y}query(Y){return s$0(this.url,Y)}queries(Y){return t$0(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 n$0(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[c$0](){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 em={Stringify:1,BeforeStream:2,Stream:3},H06=(Y,Q)=>{let X=new String(Y);return X.isEscaped=!0,X.callbacks=Q,X};var kR=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)=>kR(H,Q,!1,J,G))).then(()=>G[0]));if(X)return H06(await W,K);else return W};var YF0="text/plain; charset=UTF-8",b71=(Y,Q)=>{return{"Content-Type":Y,...Q}},vR=(Y,Q)=>new Response(Y,Q),QF0=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 om(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||=vR(null,{headers:this.#H??=new Headers})}set res(Y){if(this.#G&&Y){Y=vR(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=vR(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 vR(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,b71(YF0,X))};json=(Y,Q,X)=>{return this.#F(JSON.stringify(Y),Q,b71("application/json",X))};html=(Y,Q,X)=>{let J=(G)=>this.#F(G,Q,b71("text/html; charset=UTF-8",X));return typeof Y==="object"?kR(Y,em.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.#$??=()=>vR(),this.#$(this)}};var b9="ALL",XF0="all",JF0=["get","post","put","delete","options","patch"],Yl="Can not add a route since the matcher is already built.",Ql=class extends Error{};var GF0="__COMPOSED_HANDLER";var $06=(Y)=>{return Y.text("404 Not Found",404)},WF0=(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)},ZF0=class Y{get;post;put;delete;options;patch;all;on;use;router;getPath;_basePath="/";#Y="/";routes=[];constructor(Q={}){[...JF0,XF0].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(b9,this.#Y,Z)}),this};let{strict:J,...G}=Q;Object.assign(this,G),this.getPath=J??!0?Q.getPath??f71:r$0}#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=$06;errorHandler=WF0;route(Q,X){let J=this.basePath(Q);return X.routes.map((G)=>{let K;if(X.errorHandler===WF0)K=G.handler;else K=async(W,Z)=>(await v71([],X.errorHandler)(W,()=>G.handler(W,Z))).res,K[GF0]=G.handler;J.#J(G.method,G.path,K)}),this}basePath(Q){let X=this.#Q();return X._basePath=LD(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=LD(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(b9,LD(Q,"*"),Z),this}#J(Q,X,J){Q=Q.toUpperCase(),X=LD(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 QF0(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=v71(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${LD("/",Q)}`,X),J,G)};fire=()=>{addEventListener("fetch",(Q)=>{Q.respondWith(this.#G(Q.request,Q,void 0,Q.request.method))})}};var _R=[];function Xl(Y,Q){let X=this.buildAllMatchers(),J=(G,K)=>{let W=X[G]||X[b9],Z=W[2][K];if(Z)return Z;let H=K.match(W[0]);if(!H)return[[],_R];let $=H.indexOf("",1);return[W[1][$],H]};return this.match=J,J(Y,Q)}var Jl="[^/]+",yR=".*",fR="(?:|/.*)",MD=Symbol(),F06=new Set(".\\+*[^]$()");function V06(Y,Q){if(Y.length===1)return Q.length===1?Y<Q?-1:1:-1;if(Q.length===1)return 1;if(Y===yR||Y===fR)return 1;else if(Q===yR||Q===fR)return-1;if(Y===Jl)return 1;else if(Q===Jl)return-1;return Y.length===Q.length?Y<Q?-1:1:Q.length-Y.length}var KF0=class Y{#Y;#Q;#X=Object.create(null);insert(Q,X,J,G,K){if(Q.length===0){if(this.#Y!==void 0)throw MD;if(K)return;this.#Y=X;return}let[W,...Z]=Q,H=W==="*"?Z.length===0?["","",yR]:["","",Jl]:W==="/*"?["","",fR]:W.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/),$;if(H){let F=H[1],V=H[2]||Jl;if(F&&H[2]){if(V===".*")throw MD;if(V=V.replace(/^\((?!\?:)(?=[^)]+\)$)/,"(?:"),/\((?!\?:)/.test(V))throw MD}if($=this.#X[V],!$){if(Object.keys(this.#X).some((B)=>B!==yR&&B!==fR))throw MD;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!==yR&&F!==fR))throw MD;if(K)return;$=this.#X[W]=new Y}$.insert(Z,X,J,G,K)}buildRegExpStr(){let X=Object.keys(this.#X).sort(V06).map((J)=>{let G=this.#X[J];return(typeof G.#Q==="number"?`(${J})@${G.#Q}`:F06.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 HF0=class{#Y={varIndex:0};#Q=new KF0;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 q06=[/^$/,[],Object.create(null)],$F0=Object.create(null);function FF0(Y){return $F0[Y]??=new RegExp(Y==="*"?"":`^${Y.replace(/\/\*$|([.\\+*[^\]$()])/g,(Q,X)=>X?`\\${X}`:"(?:|/.*)")}$`)}function B06(){$F0=Object.create(null)}function U06(Y){let Q=new HF0,X=[];if(Y.length===0)return q06;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)]),_R];else F++;let z;try{z=Q.insert(U,F,B)}catch(L){throw L===MD?new Ql(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 zM(Y,Q){if(!Y)return;for(let X of Object.keys(Y).sort((J,G)=>G.length-J.length))if(FF0(X).test(Q))return[...Y[X]];return}var Gl=class{name="RegExpRouter";#Y;#Q;constructor(){this.#Y={[b9]:Object.create(null)},this.#Q={[b9]:Object.create(null)}}add(Y,Q,X){let J=this.#Y,G=this.#Q;if(!J||!G)throw Error(Yl);if(!J[Y])[J,G].forEach((Z)=>{Z[Y]=Object.create(null),Object.keys(Z[b9]).forEach((H)=>{Z[Y][H]=[...Z[b9][H]]})});if(Q==="/*")Q="*";let K=(Q.match(/\/:/g)||[]).length;if(/\*$/.test(Q)){let Z=FF0(Q);if(Y===b9)Object.keys(J).forEach((H)=>{J[H][Q]||=zM(J[H],Q)||zM(J[b9],Q)||[]});else J[Y][Q]||=zM(J[Y],Q)||zM(J[b9],Q)||[];Object.keys(J).forEach((H)=>{if(Y===b9||Y===H)Object.keys(J[H]).forEach(($)=>{Z.test($)&&J[H][$].push([X,K])})}),Object.keys(G).forEach((H)=>{if(Y===b9||Y===H)Object.keys(G[H]).forEach(($)=>Z.test($)&&G[H][$].push([X,K]))});return}let W=tm(Q)||[Q];for(let Z=0,H=W.length;Z<H;Z++){let $=W[Z];Object.keys(G).forEach((F)=>{if(Y===b9||Y===F)G[F][$]||=[...zM(J[F],$)||zM(J[b9],$)||[]],G[F][$].push([X,K-H+Z+1])})}}match=Xl;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,B06(),Y}#X(Y){let Q=[],X=Y===b9;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!==b9)Q.push(...Object.keys(J[b9]).map((K)=>[K,J[b9][K]]))}),!X)return null;else return U06(Q)}};var D06=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[b9],K={};for(let W in G[2])K[W]=[G[2][W][0].slice(),_R];this.#Y[Y]=[G[0],G[1].map((W)=>Array.isArray(W)?W.slice():0),K]}if(Q==="/*"||Q==="*"){let G=[X,{}];if(Y===b9)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===b9)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=Xl};var h71=class{name="SmartRouter";#Y=[];#Q=[];constructor(Y){this.#Y=Y.routers}add(Y,Q,X){if(!this.#Q)throw Error(Yl);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 Ql)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 bR=Object.create(null),z06=(Y)=>{for(let Q in Y)return!0;return!1},VF0=class Y{#Y;#Q;#X;#J=0;#W=bR;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=i$0(X),W=[];for(let Z=0,H=K.length;Z<H;Z++){let $=K[Z],F=K[Z+1],V=a$0($,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[b9],F={};if($!==void 0){if($.params=Object.create(null),Q.push($),G!==bR||K&&K!==bR)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=bR;let K=[this],W=y71(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===bR?{}:{...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[S,_,f]=P;if(!V&&!(f instanceof RegExp))continue;let b=w.#Q[S];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),z06(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 x71=class{name="TrieRouter";#Y;constructor(){this.#Y=new VF0}add(Y,Q,X){let J=tm(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 JQ=class extends ZF0{constructor(Y={}){super(Y);this.router=Y.router??new h71({routers:[new Gl,new x71]})}};var O06=/^[\w!#$%&'*.^`|~+-]+$/,N06=/^[ !#-:<-[\]-~]*$/,g71=(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||!O06.test(W))continue;let Z=G.substring(K+1).trim();if(Z.startsWith('"')&&Z.endsWith('"'))Z=Z.slice(1,-1);if(N06.test(Z)){if(J[W]=Z.indexOf("%")!==-1?DM(Z,SR):Z,Q)break}}return J};var qF0=(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 g71(J,K)[K]}if(!J)return{};return g71(J)};var BF0=(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})}};function L06(){let{process:Y,Deno:Q}=globalThis;return!(typeof Q?.noColor==="boolean"?Q.noColor:Y!==void 0?"NO_COLOR"in Y?.env:!1)}async function UF0(){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}})():!L06())}var M06=(Y)=>{let[Q,X]=[",","."];return Y.map((G)=>G.replace(/(\d)(?=(\d\d\d)+(?!\d))/g,"$1"+Q)).join(X)},w06=(Y)=>{let Q=Date.now()-Y;return M06([Q<1000?Q+"ms":Math.round(Q/1000)+"s"])},A06=async(Y)=>{if(await UF0())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}`};async function DF0(Y,Q,X,J,G=0,K){let W=Q==="<--"?`${Q} ${X} ${J}`:`${Q} ${X} ${J} ${await A06(G)} ${K}`;Y(W)}var zF0=(Y=console.log)=>{return async function(X,J){let{method:G,url:K}=X.req,W=K.slice(K.indexOf("/",8));await DF0(Y,"<--",G,W);let Z=Date.now();await J(),await DF0(Y,"-->",G,W,X.res.status,w06(Z))}};var OF0=()=>{try{return performance.now()}catch{}return Date.now()},u71=(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)OM(J,"total",Q.totalDescription);if(await G(),Q.total)wD(J,"total");if(Q.autoEnd)W.forEach((H,$)=>wD(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:"*")}}},NF0=(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)}},OM=(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:OF0()})},wD=(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=OF0()-W;NF0(Y,Q,Z,K,X),J.timers.delete(Q)};Kv();Az1();Tn();VV1();$7();KY();VF();class YN1{db;constructor(Y){this.db=Y}async create(Y,Q,X){let J=X9("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:X9("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=o3(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{...lm(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:X9("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})=>ZB(K)).map(({tool:K,originalIndex:W})=>qv(`${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&&ZB(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 qv(`${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),qv(`${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&&ZB(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 qv(`${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&&ZB(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:X9("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(ZB(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:X9("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()}}}import{sql as x6}from"kysely";class QN1{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}}$7();class XN1{db;redactor;databaseType;constructor(Y,Q="sqlite"){this.db=Y;this.redactor=new QN1,this.databaseType=Q}jsonExtract(Y,Q){if(this.databaseType==="postgres")return x6`(${x6.ref(Y)}::jsonb)->>${Q}`;let X=`$.${Q}`;return x6`json_extract(${x6.ref(Y)}, ${X})`}jsonExtractWithCommas(Y,Q){if(this.databaseType==="postgres")return x6`(',' || (${x6.ref(Y)}::jsonb)->>${Q} || ',')`;let X=`$.${Q}`;return x6`(',' || json_extract(${x6.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=x6.ref(W);return{value:null,groups:(await F.select([x6`${U}`.as("group_key"),this.aggregationExpression(G,V).as("agg_value")]).groupBy(x6`${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([x6`${U}`.as("group_key"),this.aggregationExpression(G,V).as("agg_value")]).groupBy(x6`${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(x6`time_bucket`).orderBy(x6`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(x6`${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 x6`(${x6.ref(Y)}::jsonb #>> ${J})::numeric`}return x6`CAST(json_extract(${x6.ref(Y)}, ${Q}) AS REAL)`}jsonExtractPathText(Y,Q){if(this.databaseType==="postgres"){let J=`{${Q.replace(/^\$\.?/,"").split(".").join(",")}}`;return x6`(${x6.ref(Y)}::jsonb #>> ${J})`}return x6`json_extract(${x6.ref(Y)}, ${Q})`}aggregationExpression(Y,Q){switch(Y){case"sum":return x6`COALESCE(SUM(${Q}), 0)`;case"avg":return x6`COALESCE(AVG(${Q}), 0)`;case"min":return x6`MIN(${Q})`;case"max":return x6`MAX(${Q})`;case"count":return x6`COUNT(${Q})`;case"count_all":return x6`COUNT(*)`;case"last":return x6`MAX(${Q})`;default:return x6`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 x6`date_trunc(${K}, timestamp::timestamp)`;let Z=G*(J==="m"?60:J==="h"?3600:86400);return x6`to_timestamp(floor(extract(epoch from timestamp::timestamp) / ${Z}) * ${Z})`}switch(J){case"m":if(G===1)return x6`strftime('%Y-%m-%d %H:%M:00', timestamp)`;return x6`strftime('%Y-%m-%d %H:', timestamp) || printf('%02d', (cast(strftime('%M', timestamp) as integer) / ${G}) * ${G}) || ':00'`;case"h":if(G===1)return x6`strftime('%Y-%m-%d %H:00:00', timestamp)`;return x6`strftime('%Y-%m-%d ', timestamp) || printf('%02d', (cast(strftime('%H', timestamp) as integer) / ${G}) * ${G}) || ':00:00'`;case"d":return x6`strftime('%Y-%m-%d 00:00:00', timestamp)`;default:return x6`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=x6`${H} LIKE ${F} ESCAPE '\\'`;Y=Y.where(V)}return Y}toDbRow(Y){return{id:Y.id||X9("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}}}$7();class JN1{db;constructor(Y){this.db=Y}async create(Y,Q,X){let J=X9("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}}}class GN1{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}}qV1();$7();class WN1{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=X9("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}}$7();class ZN1{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=X9("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:X9("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:X9("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}}}class KN1{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}}}Vv();OP();KY();qD();dS();var Mr=new JQ,HN1=[404,401,406];async function in0(Y,Q){return(await Q.storage.connections.findById(Y))?.connection_url??null}function Bu6(Y){let Q=Y.toLowerCase();return Q.includes("resource_metadata=")||Q.includes("invalid_token")||Q.includes("oauth")}async function an0(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(Bu6(J))return J}if(await Uu6(Y))return'Bearer realm="mcp"'}return null}catch{return null}}async function Uu6(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 wr(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(!HN1.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"}}),!HN1.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 Du6(Y,Q){let X=await in0(Y,Q);if(!X)return null;let J;try{J=new URL(X).origin}catch{return null}try{let G=await wr(X);if(G.ok){let K=await G.json();if(K.authorization_servers?.[0])return K.authorization_servers[0]}}catch{}return J}async function rn0(Y){let Q=Y.get("meshContext");if(!Q)Q=await UF.create(Y.req.raw),Y.set("meshContext",Q);return Q}async function on0({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 an0(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"}})}var sn0=(Y)=>{if(!(Y.hostname==="localhost"||Y.hostname.endsWith(".localhost")||Y.hostname==="127.0.0.1"))Y.protocol="https:";return Y},tn0=async(Y)=>{let Q=Y.req.param("connectionId"),X=await rn0(Y),J=await in0(Q,X);if(!J)return Y.json({error:"Connection not found"},404);let G=sn0(new URL(Y.req.url)),K=`${G.origin}/mcp/${Q}`,W=`${G.origin}/oauth-proxy/${Q}`;try{let Z=await wr(J);if(!Z.ok&&HN1.includes(Z.status)){if(await an0(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)}};Mr.get("/.well-known/oauth-protected-resource/mcp/:connectionId",(Y)=>tn0(Y));Mr.get("/mcp/:connectionId/.well-known/oauth-protected-resource",(Y)=>tn0(Y));async function $N1(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}Mr.get("/.well-known/oauth-authorization-server/oauth-proxy/:connectionId",async(Y)=>{let Q=Y.req.param("connectionId"),X=await rn0(Y),J=await Du6(Q,X);if(!J)return Y.json({error:"Connection not found or no auth server"},404);try{let G=await $N1(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=`${sn0(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)}});var en0=Mr;KY();dS();Uv();var FN1=new JQ;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?qM(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 $=hz1(Y.req.query("mode")),F=await KB(Z,X,$),V=ND(F,{name:`mcp-virtual-mcp-${Z.title??"Decopilot"}`,version:"1.0.0"},{capabilities:{tools:{},resources:{},prompts:{}},instructions:Z.metadata?.instructions??void 0}),B=new g$({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)}}FN1.all("/gateway/:virtualMcpId?",async(Y)=>{let Q=Y.req.param("virtualMcpId")||Y.req.header("x-virtual-mcp-id");return Ar(Y,Q)});FN1.all("/virtual-mcp/:virtualMcpId?",async(Y)=>{let Q=Y.req.param("virtualMcpId")||Y.req.header("x-virtual-mcp-id");return Ar(Y,Q)});var Yi0=FN1;var Pr=new JQ,Qi0=300000;function zO(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 Xi0(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 _5(J,Q,X),K=uz1(G,J),W=K.getServerCapabilities()??{tools:{},resources:{},prompts:{}},Z=ND(K,{name:"mcp-mesh-proxy-client",version:"1.0.0"},{capabilities:W,instructions:K.getInstructions()}),{client:H,server:$}=A71();await Z.connect($);let F=new G5({name:"mcp-mesh-proxy-client",version:"1.0.0"});return await F.connect(H),F}async function Ji0(Y,Q){return Xi0(Y,Q,{superUser:!1})}async function VN1(Y,Q){return Xi0(Y,Q,{superUser:!0})}Pr.all("/",async(Y)=>{return Ar(Y,void 0)});Pr.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 gz1(J,X,!1),K=new g$({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 on0({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 Gi0(J,Y)}});var Gi0=(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)};Pr.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 _5(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 Gi0(G,Y)}});var Wi0=Pr;Nr();$7();$7();var Zi0=()=>X9("msg"),Er=32768,Tr=50,Cr="New chat",Ki0=30,Hi0=15,$i0=["user_ask","subtask"];function qN1(Y){let X="You are decopilot, an AI assistant running inside decocms (deco context management system).";if(Y?.trim())X+=`
1371
1371
 
1372
1372
  ---
1373
1373