decocms 2.178.0 → 2.178.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (340) hide show
  1. package/dist/client/assets/{AlertCircle-DOAxiEBN.js → AlertCircle-12chRuly.js} +1 -1
  2. package/dist/client/assets/{AlignLeft-CRMPlioa.js → AlignLeft-_LT9deOt.js} +1 -1
  3. package/dist/client/assets/{ArrowDown-xJyK-tRR.js → ArrowDown-7rbX3zqZ.js} +1 -1
  4. package/dist/client/assets/{ArrowLeft-B-tpcvF0.js → ArrowLeft-erI8s3G2.js} +1 -1
  5. package/dist/client/assets/{ArrowUp-BO7WH9Uq.js → ArrowUp-DoIG5eQh.js} +1 -1
  6. package/dist/client/assets/{Building02-D30T2TCD.js → Building02-Dr7IyBdv.js} +1 -1
  7. package/dist/client/assets/{Check-BTP9VTUM.js → Check-DW8AVFkq.js} +1 -1
  8. package/dist/client/assets/{CheckCircle-DoZ7ERyW.js → CheckCircle-hBpanOsI.js} +1 -1
  9. package/dist/client/assets/{CheckSquare-Dbh9CJyx.js → CheckSquare-Cr3IzSXp.js} +1 -1
  10. package/dist/client/assets/{CheckVerified02-CyloHbYs.js → CheckVerified02-r17ymUCs.js} +1 -1
  11. package/dist/client/assets/{ChevronDown-CLapIRmf.js → ChevronDown-BIRGQoZ5.js} +1 -1
  12. package/dist/client/assets/{ChevronLeft-CMUbV0KP.js → ChevronLeft-D-e7F7Gj.js} +1 -1
  13. package/dist/client/assets/{ChevronRight-DWZgTrde.js → ChevronRight-DsjLlugM.js} +1 -1
  14. package/dist/client/assets/{ChevronUp-DGOtRvEF.js → ChevronUp-Bi3NMXzv.js} +1 -1
  15. package/dist/client/assets/{Clock-BYjyd9hX.js → Clock-D4xJnA3P.js} +1 -1
  16. package/dist/client/assets/{Code01-BkNgeom6.js → Code01-YGq5QwlZ.js} +1 -1
  17. package/dist/client/assets/{Container-D7IaxBn4.js → Container-DHyMOW_p.js} +1 -1
  18. package/dist/client/assets/{Copy01-BJ5f3Ft8.js → Copy01-DkcjIGiS.js} +1 -1
  19. package/dist/client/assets/{Dataflow03-DE7FXw07.js → Dataflow03-CD3eo8oO.js} +1 -1
  20. package/dist/client/assets/{DotsHorizontal-BFhhKBhk.js → DotsHorizontal-CjYGc80C.js} +1 -1
  21. package/dist/client/assets/{DotsVertical-CmyZ1eER.js → DotsVertical-2nyye7GD.js} +1 -1
  22. package/dist/client/assets/{Download01-C0zy7iAO.js → Download01-BvtNZalG.js} +1 -1
  23. package/dist/client/assets/{Edit01-BsJ32les.js → Edit01-CoeKfJ-u.js} +1 -1
  24. package/dist/client/assets/{Edit05-BD2d2k-5.js → Edit05-CbbEzOoe.js} +1 -1
  25. package/dist/client/assets/{Eye-B3PAdhmZ.js → Eye-hBqNQHpc.js} +1 -1
  26. package/dist/client/assets/{EyeOff-_G9JY6d-.js → EyeOff-CJoTkAtN.js} +1 -1
  27. package/dist/client/assets/{File02-CAND2NHE.js → File02-D19u2hUl.js} +1 -1
  28. package/dist/client/assets/{File06-Bvs2lp94.js → File06-Bp4ioOvR.js} +1 -1
  29. package/dist/client/assets/{FilterLines-D-lo1vJH.js → FilterLines-Dvk7BhWf.js} +1 -1
  30. package/dist/client/assets/{Globe01-jlGiKRJ-.js → Globe01-B8Ib7knn.js} +1 -1
  31. package/dist/client/assets/{Globe02-DpkPR1qQ.js → Globe02-wRhoc1N5.js} +1 -1
  32. package/dist/client/assets/{Grid01-Bootsry8.js → Grid01-C5e9ReQ4.js} +1 -1
  33. package/dist/client/assets/{Home02-Cn5GN0Zh.js → Home02-JZJR9jmQ.js} +1 -1
  34. package/dist/client/assets/{Image01-BGiNuXLR.js → Image01-DjoSkYp_.js} +1 -1
  35. package/dist/client/assets/{Inbox01-QN0h6e9y.js → Inbox01-ClVaT7W5.js} +1 -1
  36. package/dist/client/assets/{InfoCircle-BlKvj0NG.js → InfoCircle-DzyfpQes.js} +1 -1
  37. package/dist/client/assets/{Key01-p6odXPoE.js → Key01-qNySmY39.js} +1 -1
  38. package/dist/client/assets/{LayersTwo01-Dj6OMOTN.js → LayersTwo01-dfSlQT0y.js} +1 -1
  39. package/dist/client/assets/{LayoutLeft-Bl9wlb-l.js → LayoutLeft-B2KZfn2n.js} +1 -1
  40. package/dist/client/assets/{Link01-GDNtvq6w.js → Link01-Cz_ZRKoB.js} +1 -1
  41. package/dist/client/assets/{LinkExternal01-Cmp1Jq7T.js → LinkExternal01-CKvCiQnV.js} +1 -1
  42. package/dist/client/assets/{List-BFzJ8d3-.js → List-NLa0AhO4.js} +1 -1
  43. package/dist/client/assets/{Loading01-Bgt2pWQu.js → Loading01-Bb8FCosd.js} +1 -1
  44. package/dist/client/assets/{Lock01-CrtAKCVY.js → Lock01-CnZITIks.js} +1 -1
  45. package/dist/client/assets/{Play-C6mSLsW0.js → Play-Bw5lQw7j.js} +1 -1
  46. package/dist/client/assets/{Plus-Bah3bfIq.js → Plus-CajZ9VfC.js} +1 -1
  47. package/dist/client/assets/{RefreshCcw01-D6TQ-sWU.js → RefreshCcw01-B_NTitRE.js} +1 -1
  48. package/dist/client/assets/{Save01-DMdPXvfp.js → Save01-8oEsqMkJ.js} +1 -1
  49. package/dist/client/assets/{SearchMd-CbNARIB_.js → SearchMd-eZWeU0sP.js} +1 -1
  50. package/dist/client/assets/{Settings01-ncSo0UF1.js → Settings01-ClPVpLPy.js} +1 -1
  51. package/dist/client/assets/{Shield01-jjVa8gNb.js → Shield01-N4ace-oo.js} +1 -1
  52. package/dist/client/assets/{Terminal-BkHJq74m.js → Terminal-CGwuP-_5.js} +1 -1
  53. package/dist/client/assets/{Tool01-CCSFIqz9.js → Tool01-D1m8i7Ez.js} +1 -1
  54. package/dist/client/assets/{Trash01-DJLT0hlL.js → Trash01-B_4PTwjI.js} +1 -1
  55. package/dist/client/assets/{Upload01-CrylBwgE.js → Upload01-CLIOr3Tj.js} +1 -1
  56. package/dist/client/assets/{Users03-ClHTtWuU.js → Users03-Bv-hUQkl.js} +1 -1
  57. package/dist/client/assets/{X-Dr3IGE6q.js → X-LzehymHS.js} +1 -1
  58. package/dist/client/assets/{XClose-CM_PUH0D.js → XClose-CcNXqPQc.js} +1 -1
  59. package/dist/client/assets/{Zap-DNAzZ691.js → Zap-BFN1DqIC.js} +1 -1
  60. package/dist/client/assets/{agent-connections-preview-D9yVR2mI.js → agent-connections-preview-3pYXfstj.js} +1 -1
  61. package/dist/client/assets/{agent-detail-D9yhjqjE.js → agent-detail-DMK-u3yi.js} +1 -1
  62. package/dist/client/assets/{agents-UYgbyoc-.js → agents-Wfe5dNfh.js} +1 -1
  63. package/dist/client/assets/{ai-providers-logos-CKXeyPmY.js → ai-providers-logos-CCp39UCk.js} +1 -1
  64. package/dist/client/assets/{alert-dialog-CGRFjIvo.js → alert-dialog-B_ae3oRt.js} +1 -1
  65. package/dist/client/assets/{auth-catchall-DJtyBhDQ.js → auth-catchall-DAx9m28t.js} +1 -1
  66. package/dist/client/assets/{automation-detail-Da-KIL0v.js → automation-detail-DfFkGT_5.js} +1 -1
  67. package/dist/client/assets/{automations-BBeFyOp2.js → automations-A8NOzTSS.js} +1 -1
  68. package/dist/client/assets/{avatar-B6y4oqG6.js → avatar-B2yArl-q.js} +1 -1
  69. package/dist/client/assets/{badge-BWsagPlP.js → badge-DtRom7JO.js} +1 -1
  70. package/dist/client/assets/{binder-BfA1Jrrc.js → binder-D4cqx_Kx.js} +1 -1
  71. package/dist/client/assets/{breadcrumb-D8mb9kpq.js → breadcrumb-C2RG4nAQ.js} +1 -1
  72. package/dist/client/assets/{card-C0MItTW_.js → card-B8qDZGCZ.js} +1 -1
  73. package/dist/client/assets/{checkbox-DUU3Nuea.js → checkbox-B1rexahu.js} +1 -1
  74. package/dist/client/assets/{collapsible-CtLdTa6t.js → collapsible-BtjeaBAE.js} +1 -1
  75. package/dist/client/assets/{collection-detail-DPIki4up.js → collection-detail-BaBGI9i2.js} +1 -1
  76. package/dist/client/assets/{collection-display-button-DdFInvSR.js → collection-display-button-CpVZ4wHm.js} +1 -1
  77. package/dist/client/assets/{collection-search-CGfzh4mC.js → collection-search-BYV7N3mr.js} +1 -1
  78. package/dist/client/assets/{collection-table-wrapper-DLe2aR6i.js → collection-table-wrapper-CHFJQd21.js} +1 -1
  79. package/dist/client/assets/{collection-tabs-DAHXpc2n.js → collection-tabs-CJEa3dRy.js} +1 -1
  80. package/dist/client/assets/{command-C4HnUxgr.js → command-Drksh_DO.js} +1 -1
  81. package/dist/client/assets/{connection-card-DRd8H1I5.js → connection-card-Bak2l1_M.js} +1 -1
  82. package/dist/client/assets/{connection-detail-MKWBWpRr.js → connection-detail-BKy2ZsS6.js} +1 -1
  83. package/dist/client/assets/{connections-CIQDC3QM.js → connections-Dxf4eIOE.js} +1 -1
  84. package/dist/client/assets/{constants-C6R-Odkq.js → constants-D7qXOYRn.js} +1 -1
  85. package/dist/client/assets/{context-BFTRA5vP.js → context-DxQMlFKC.js} +1 -1
  86. package/dist/client/assets/{create-organization-dialog-Bez2nZe0.js → create-organization-dialog-CNWB-72r.js} +1 -1
  87. package/dist/client/assets/{create-project-dialog-MCGuKGij.js → create-project-dialog-BeIY4Oy9.js} +1 -1
  88. package/dist/client/assets/{danger-D1zng7LS.js → danger-YWbxrjNq.js} +1 -1
  89. package/dist/client/assets/{danger-zone-DbcRzYYG.js → danger-zone-DGg0ZzSy.js} +1 -1
  90. package/dist/client/assets/{dependencies-B8EkZe-H.js → dependencies-DtAVTWu-.js} +1 -1
  91. package/dist/client/assets/{dialog-Bw5T2ogY.js → dialog-ChXYvlDt.js} +1 -1
  92. package/dist/client/assets/{dropdown-menu-Dan8nMb8.js → dropdown-menu-BxlQMXgW.js} +1 -1
  93. package/dist/client/assets/{dynamic-plugin-layout-BDxV3RAS.js → dynamic-plugin-layout-JpZTv0Ay.js} +1 -1
  94. package/dist/client/assets/{editable-task-title-wfBXYVIh.js → editable-task-title-Cm-uIwFs.js} +1 -1
  95. package/dist/client/assets/{empty-state-CoA3_x_6.js → empty-state-qLM_bVsv.js} +1 -1
  96. package/dist/client/assets/{empty-state-C1iyyf7G.js → empty-state-xIvMMy-_.js} +1 -1
  97. package/dist/client/assets/{env-vars-editor-CxyeKMFS.js → env-vars-editor-Yss1wn0m.js} +1 -1
  98. package/dist/client/assets/{extract-connection-data-C8ZedtM3.js → extract-connection-data-48N591A_.js} +1 -1
  99. package/dist/client/assets/{file-browser-CShFs9BG.js → file-browser-BbqpPFZK.js} +2 -2
  100. package/dist/client/assets/{form-B1LLlQBa.js → form-CaFPTMVC.js} +1 -1
  101. package/dist/client/assets/{general-Dnfj_B7U.js → general-DI9irVIQ.js} +1 -1
  102. package/dist/client/assets/{generate-id-WpAuYSZF.js → generate-id-BiV6m8fS.js} +1 -1
  103. package/dist/client/assets/{grid-view-PzYdekcz.js → grid-view-DurgUMuo.js} +1 -1
  104. package/dist/client/assets/{home-CKa-gWjN.js → home-CspK560n.js} +1 -1
  105. package/dist/client/assets/{index-lUO5B2Do.js → index-ChUIqRBi.js} +1 -1
  106. package/dist/client/assets/{index-D-AXXJqO.js → index-CqWJIMlG.js} +1 -1
  107. package/dist/client/assets/{index-CgSAwZ8g.js → index-CqtWW-Tq.js} +1 -1
  108. package/dist/client/assets/{index-DtZLm-Fz.js → index-CqyqI90F.js} +1 -1
  109. package/dist/client/assets/{index-BaVHKLOw.js → index-De1iYnQy.js} +1 -1
  110. package/dist/client/assets/{index-De7oAufQ.js → index-NjMxPJgF.js} +3 -3
  111. package/dist/client/assets/{index-BkxamE0W.js → index-TV8hw8s3.js} +1 -1
  112. package/dist/client/assets/{index-CVayrapI.js → index-YL7q5tyF.js} +1 -1
  113. package/dist/client/assets/{index-BFJo8BQ3.js → index-YRudAQp7.js} +1 -1
  114. package/dist/client/assets/{index-J5pIXVfD.js → index-yiVP4brl.js} +1 -1
  115. package/dist/client/assets/{index-OdE2HBl6.js → index-zWpUeKAz.js} +1 -1
  116. package/dist/client/assets/{infiniteQueryObserver-C7xXp1jr.js → infiniteQueryObserver-JZ0YxCW-.js} +1 -1
  117. package/dist/client/assets/{input-_VKm0O_1.js → input-B89sozd8.js} +1 -1
  118. package/dist/client/assets/{integration-icon-BkY1vh6I.js → integration-icon-BPVDVJvP.js} +1 -1
  119. package/dist/client/assets/{label-BhDDQ3-n.js → label-DkiEYJcU.js} +1 -1
  120. package/dist/client/assets/{layout-BIFV7MZL.js → layout-Cqn-h1Jz.js} +1 -1
  121. package/dist/client/assets/{layout-CZKgiZuG.js → layout-DcmGLVHZ.js} +1 -1
  122. package/dist/client/assets/{login-uo65TNIo.js → login-qT_ItpIx.js} +1 -1
  123. package/dist/client/assets/{logo-upload-CXS8-AgL.js → logo-upload-CoGaedUC.js} +1 -1
  124. package/dist/client/assets/{mcp-app-renderer-BcsrfZJp.js → mcp-app-renderer-By1mQEU9.js} +1 -1
  125. package/dist/client/assets/{mcp-server-card-Bp6C5W6n.js → mcp-server-card-B3Nrrgyk.js} +1 -1
  126. package/dist/client/assets/{mcp-server-detail-Ctbkl5jL.js → mcp-server-detail-DMfy0V9h.js} +2 -2
  127. package/dist/client/assets/{members-DCfL7gNX.js → members-Q81LXZu1.js} +1 -1
  128. package/dist/client/assets/{monaco-editor-DPC7_J-G.js → monaco-editor-ZB27PMAe.js} +1 -1
  129. package/dist/client/assets/{monitoring-ByXLzXVV.js → monitoring-C31A03PZ.js} +1 -1
  130. package/dist/client/assets/{monitoring-dashboard-edit-YR1gT6FF.js → monitoring-dashboard-edit-Dfi8Jxeb.js} +1 -1
  131. package/dist/client/assets/{monitoring-dashboard-view-BbtnIBfa.js → monitoring-dashboard-view-CxjxBHLW.js} +1 -1
  132. package/dist/client/assets/{monitoring-stats-row-Df9ANyzv.js → monitoring-stats-row-CAn-8pVZ.js} +1 -1
  133. package/dist/client/assets/{oauth-callback-DAQSPrcu.js → oauth-callback-B8DRnSok.js} +1 -1
  134. package/dist/client/assets/{oauth-callback-ai-provider-BM5LYNPq.js → oauth-callback-ai-provider-CsTCxPAY.js} +1 -1
  135. package/dist/client/assets/{org-ai-providers-6KYO-veN.js → org-ai-providers-DaYyItUL.js} +1 -1
  136. package/dist/client/assets/{page-JhhtSWZh.js → page-BjLk0DX_.js} +1 -1
  137. package/dist/client/assets/{page-30eMAMiN.js → page-C2I5Nlmu.js} +1 -1
  138. package/dist/client/assets/{plugin-empty-state-Cl2I2geD.js → plugin-empty-state-K02oXRNN.js} +1 -1
  139. package/dist/client/assets/{plugin-empty-state-R2BzERoW.js → plugin-empty-state-l30u7dec.js} +1 -1
  140. package/dist/client/assets/{plugin-header-Bakz3z0e.js → plugin-header-B_wkRb4Y.js} +1 -1
  141. package/dist/client/assets/{plugin-header-aEsNVQjp.js → plugin-header-CE-BhILm.js} +1 -1
  142. package/dist/client/assets/plugins-6p4XZdw1.js +1 -0
  143. package/dist/client/assets/{popover-D_qGIJiq.js → popover-Br8QkMK3.js} +1 -1
  144. package/dist/client/assets/{project-app-view-BFgEphLV.js → project-app-view-CRe7LVZk.js} +1 -1
  145. package/dist/client/assets/{project-layout-C8oyOOGc.js → project-layout-Bg1hlIaM.js} +1 -1
  146. package/dist/client/assets/{project-plugins-BVt_WzcU.js → project-plugins-BHOZZsH7.js} +1 -1
  147. package/dist/client/assets/{projects-list-C02pKlJj.js → projects-list-i4ZvUqtI.js} +1 -1
  148. package/dist/client/assets/{registry-layout-C-yQnDXG.js → registry-layout-DQV7LhSo.js} +1 -1
  149. package/dist/client/assets/{registry-utils-Dqc_kCiP.js → registry-utils-cjX9P5J9.js} +1 -1
  150. package/dist/client/assets/{reset-password-Cqvt_aDI.js → reset-password-Cgcrl5ZG.js} +1 -1
  151. package/dist/client/assets/{resizable-CO0Uh73H.js → resizable-Nu1SqaJD.js} +1 -1
  152. package/dist/client/assets/{save-actions-ju1vjafj.js → save-actions-CVl6VtT2.js} +1 -1
  153. package/dist/client/assets/{scroll-area-DL2xzsPP.js → scroll-area-BTJQ86Ry.js} +1 -1
  154. package/dist/client/assets/{select-B4liIMVc.js → select-Dx3T3-4n.js} +1 -1
  155. package/dist/client/assets/{select-virtual-mcp-CuflMlTt.js → select-virtual-mcp-BS537pmy.js} +1 -1
  156. package/dist/client/assets/{sheet-Cjr3EcYH.js → sheet-C3HM0Uwr.js} +1 -1
  157. package/dist/client/assets/{shell-layout-DfTROeX_.js → shell-layout-Bco0BFOl.js} +2 -2
  158. package/dist/client/assets/{sidebar-settings-BljNzJVO.js → sidebar-settings-JhN4X_jg.js} +1 -1
  159. package/dist/client/assets/{skeleton-Bt7MRTvB.js → skeleton-Cjm8s7CT.js} +1 -1
  160. package/dist/client/assets/{spinner-Cse1gKnw.js → spinner-Dzx7B3Jl.js} +1 -1
  161. package/dist/client/assets/{store-invite-D8XeTZbu.js → store-invite-BPcFU0aw.js} +1 -1
  162. package/dist/client/assets/{switch-DHS6rwq-.js → switch-CA_oYDia.js} +1 -1
  163. package/dist/client/assets/{table-BPkNFl3F.js → table-C-1rP_rt.js} +1 -1
  164. package/dist/client/assets/{tabs-D9xzXdQn.js → tabs-BSOe8gLq.js} +1 -1
  165. package/dist/client/assets/{task-status-DPcRgg7n.js → task-status-DYx9R7EL.js} +24 -24
  166. package/dist/client/assets/tasks-D1X8oLa3.js +1 -0
  167. package/dist/client/assets/{tasks-panel-i3VUreUx.js → tasks-panel-BJ3TfA-_.js} +1 -1
  168. package/dist/client/assets/{textarea-C_pKpP9s.js → textarea-DIJzFUWn.js} +1 -1
  169. package/dist/client/assets/{time-range-picker-BuykPBni.js → time-range-picker-CGBh-D6p.js} +1 -1
  170. package/dist/client/assets/{toggle-group-VpRSF_Gl.js → toggle-group-DlZGDyPQ.js} +1 -1
  171. package/dist/client/assets/{tools-list-DDFWIxxm.js → tools-list-D-T64862.js} +1 -1
  172. package/dist/client/assets/{tooltip-C4rlkzSj.js → tooltip-BJMSu0c2.js} +1 -1
  173. package/dist/client/assets/{topbar-portal-CF1YRovU.js → topbar-portal-ChPXVsi1.js} +1 -1
  174. package/dist/client/assets/{types-DQbIwrMI.js → types-BHeMLyAV.js} +1 -1
  175. package/dist/client/assets/{use-automations-C1HgdvUZ.js → use-automations-Bmw3x7Dk.js} +1 -1
  176. package/dist/client/assets/{use-collections-CN-KZdhF.js → use-collections-C0cYiFfV.js} +1 -1
  177. package/dist/client/assets/{use-connection-C4RNTGYe.js → use-connection-CHFdKnsr.js} +1 -1
  178. package/dist/client/assets/{use-copy-Cyun7kVE.js → use-copy-xhdji_Bl.js} +1 -1
  179. package/dist/client/assets/{use-create-virtual-mcp-4JnIm_fY.js → use-create-virtual-mcp-B7odZ_c3.js} +1 -1
  180. package/dist/client/assets/{use-infinite-scroll-B1b4xMpn.js → use-infinite-scroll-CPhZNIw7.js} +1 -1
  181. package/dist/client/assets/{use-install-from-registry-CytyaLQX.js → use-install-from-registry-BzwuBLOx.js} +1 -1
  182. package/dist/client/assets/{use-list-state-CCkxYz8q.js → use-list-state-CbsN6RbJ.js} +1 -1
  183. package/dist/client/assets/{use-mcp-prompts-BGZnglwN.js → use-mcp-prompts-Bel4H4rh.js} +1 -1
  184. package/dist/client/assets/{use-mcp-resources-DSKOWSEO.js → use-mcp-resources-qGdymfRz.js} +1 -1
  185. package/dist/client/assets/{use-mcp-tools-C2aTDAuJ.js → use-mcp-tools-BCZI_Wqc.js} +1 -1
  186. package/dist/client/assets/{use-members-DjL_-1xN.js → use-members-B4ncWtMV.js} +1 -1
  187. package/dist/client/assets/{use-mobile-CMHMyYVi.js → use-mobile-DOUfTohp.js} +1 -1
  188. package/dist/client/assets/{use-project-DxPDjIre.js → use-project-b5C3lq5-.js} +1 -1
  189. package/dist/client/assets/{use-store-discovery-BBXrVOcG.js → use-store-discovery-B402mTHd.js} +1 -1
  190. package/dist/client/assets/{use-view-mode-CXln2RGt.js → use-view-mode-ss3eRodO.js} +1 -1
  191. package/dist/client/assets/{use-virtual-mcp-AdVimCkX.js → use-virtual-mcp-BP6aaUzw.js} +1 -1
  192. package/dist/client/assets/useInfiniteQuery-BXDrDvlH.js +1 -0
  193. package/dist/client/assets/{useMutation-BDzOMrvq.js → useMutation-68NxhXCf.js} +1 -1
  194. package/dist/client/assets/useQuery-BYBCFxgb.js +1 -0
  195. package/dist/client/assets/useSuspenseInfiniteQuery-X3jXt04i.js +1 -0
  196. package/dist/client/assets/{user-DSh4pFej.js → user-iDZRuimU.js} +1 -1
  197. package/dist/client/assets/{workflow-mIahQD3R.js → workflow-CrrTPehP.js} +1 -1
  198. package/dist/client/index.html +1 -1
  199. package/dist/server/cli.js +2 -2
  200. package/dist/server/migrate.js +1 -1
  201. package/dist/server/node_modules/pg-cloudflare/README.md +112 -0
  202. package/dist/server/node_modules/pg-cloudflare/dist/empty.d.ts +2 -0
  203. package/dist/server/node_modules/pg-cloudflare/dist/empty.js +6 -0
  204. package/dist/server/node_modules/pg-cloudflare/dist/empty.js.map +1 -0
  205. package/dist/server/node_modules/pg-cloudflare/dist/index.d.ts +31 -0
  206. package/dist/server/node_modules/pg-cloudflare/dist/index.js +152 -0
  207. package/dist/server/node_modules/pg-cloudflare/dist/index.js.map +1 -0
  208. package/dist/server/node_modules/pg-cloudflare/esm/index.mjs +3 -0
  209. package/dist/server/node_modules/pg-cloudflare/package.json +39 -0
  210. package/dist/server/node_modules/pg-cloudflare/src/empty.ts +3 -0
  211. package/dist/server/node_modules/pg-cloudflare/src/index.ts +166 -0
  212. package/dist/server/node_modules/pg-cloudflare/src/types.d.ts +25 -0
  213. package/dist/server/node_modules/pg-connection-string/LICENSE +21 -0
  214. package/dist/server/node_modules/pg-connection-string/README.md +105 -0
  215. package/dist/server/node_modules/pg-connection-string/esm/index.mjs +8 -0
  216. package/dist/server/node_modules/pg-connection-string/index.d.ts +36 -0
  217. package/dist/server/node_modules/pg-connection-string/index.js +231 -0
  218. package/dist/server/node_modules/pg-connection-string/package.json +52 -0
  219. package/dist/server/node_modules/pg-int8/LICENSE +13 -0
  220. package/dist/server/node_modules/pg-int8/README.md +16 -0
  221. package/dist/server/node_modules/pg-int8/index.js +100 -0
  222. package/dist/server/node_modules/pg-int8/package.json +24 -0
  223. package/dist/server/node_modules/pg-pool/LICENSE +21 -0
  224. package/dist/server/node_modules/pg-pool/README.md +357 -0
  225. package/dist/server/node_modules/pg-pool/esm/index.mjs +5 -0
  226. package/dist/server/node_modules/pg-pool/index.js +517 -0
  227. package/dist/server/node_modules/pg-pool/package.json +51 -0
  228. package/dist/server/node_modules/pg-protocol/LICENSE +21 -0
  229. package/dist/server/node_modules/pg-protocol/README.md +3 -0
  230. package/dist/server/node_modules/pg-protocol/dist/b.d.ts +1 -0
  231. package/dist/server/node_modules/pg-protocol/dist/b.js +23 -0
  232. package/dist/server/node_modules/pg-protocol/dist/b.js.map +1 -0
  233. package/dist/server/node_modules/pg-protocol/dist/buffer-reader.d.ts +15 -0
  234. package/dist/server/node_modules/pg-protocol/dist/buffer-reader.js +55 -0
  235. package/dist/server/node_modules/pg-protocol/dist/buffer-reader.js.map +1 -0
  236. package/dist/server/node_modules/pg-protocol/dist/buffer-writer.d.ts +16 -0
  237. package/dist/server/node_modules/pg-protocol/dist/buffer-writer.js +81 -0
  238. package/dist/server/node_modules/pg-protocol/dist/buffer-writer.js.map +1 -0
  239. package/dist/server/node_modules/pg-protocol/dist/inbound-parser.test.d.ts +1 -0
  240. package/dist/server/node_modules/pg-protocol/dist/inbound-parser.test.js +530 -0
  241. package/dist/server/node_modules/pg-protocol/dist/inbound-parser.test.js.map +1 -0
  242. package/dist/server/node_modules/pg-protocol/dist/index.d.ts +6 -0
  243. package/dist/server/node_modules/pg-protocol/dist/index.js +15 -0
  244. package/dist/server/node_modules/pg-protocol/dist/index.js.map +1 -0
  245. package/dist/server/node_modules/pg-protocol/dist/messages.d.ts +162 -0
  246. package/dist/server/node_modules/pg-protocol/dist/messages.js +160 -0
  247. package/dist/server/node_modules/pg-protocol/dist/messages.js.map +1 -0
  248. package/dist/server/node_modules/pg-protocol/dist/outbound-serializer.test.d.ts +1 -0
  249. package/dist/server/node_modules/pg-protocol/dist/outbound-serializer.test.js +252 -0
  250. package/dist/server/node_modules/pg-protocol/dist/outbound-serializer.test.js.map +1 -0
  251. package/dist/server/node_modules/pg-protocol/dist/parser.d.ts +24 -0
  252. package/dist/server/node_modules/pg-protocol/dist/parser.js +324 -0
  253. package/dist/server/node_modules/pg-protocol/dist/parser.js.map +1 -0
  254. package/dist/server/node_modules/pg-protocol/dist/serializer.d.ts +42 -0
  255. package/dist/server/node_modules/pg-protocol/dist/serializer.js +189 -0
  256. package/dist/server/node_modules/pg-protocol/dist/serializer.js.map +1 -0
  257. package/dist/server/node_modules/pg-protocol/esm/index.js +11 -0
  258. package/dist/server/node_modules/pg-protocol/package.json +45 -0
  259. package/dist/server/node_modules/pg-protocol/src/b.ts +25 -0
  260. package/dist/server/node_modules/pg-protocol/src/buffer-reader.ts +58 -0
  261. package/dist/server/node_modules/pg-protocol/src/buffer-writer.ts +85 -0
  262. package/dist/server/node_modules/pg-protocol/src/inbound-parser.test.ts +575 -0
  263. package/dist/server/node_modules/pg-protocol/src/index.ts +11 -0
  264. package/dist/server/node_modules/pg-protocol/src/messages.ts +262 -0
  265. package/dist/server/node_modules/pg-protocol/src/outbound-serializer.test.ts +276 -0
  266. package/dist/server/node_modules/pg-protocol/src/parser.ts +413 -0
  267. package/dist/server/node_modules/pg-protocol/src/serializer.ts +274 -0
  268. package/dist/server/node_modules/pg-protocol/src/testing/buffer-list.ts +67 -0
  269. package/dist/server/node_modules/pg-protocol/src/testing/test-buffers.ts +166 -0
  270. package/dist/server/node_modules/pg-protocol/src/types/chunky.d.ts +1 -0
  271. package/dist/server/node_modules/pg-types/.travis.yml +7 -0
  272. package/dist/server/node_modules/pg-types/Makefile +14 -0
  273. package/dist/server/node_modules/pg-types/README.md +75 -0
  274. package/dist/server/node_modules/pg-types/index.d.ts +137 -0
  275. package/dist/server/node_modules/pg-types/index.js +47 -0
  276. package/dist/server/node_modules/pg-types/index.test-d.ts +21 -0
  277. package/dist/server/node_modules/pg-types/lib/arrayParser.js +11 -0
  278. package/dist/server/node_modules/pg-types/lib/binaryParsers.js +257 -0
  279. package/dist/server/node_modules/pg-types/lib/builtins.js +73 -0
  280. package/dist/server/node_modules/pg-types/lib/textParsers.js +215 -0
  281. package/dist/server/node_modules/pg-types/package.json +42 -0
  282. package/dist/server/node_modules/pg-types/test/index.js +24 -0
  283. package/dist/server/node_modules/pg-types/test/types.js +597 -0
  284. package/dist/server/node_modules/pgpass/README.md +74 -0
  285. package/dist/server/node_modules/pgpass/lib/helper.js +233 -0
  286. package/dist/server/node_modules/pgpass/lib/index.js +23 -0
  287. package/dist/server/node_modules/pgpass/package.json +41 -0
  288. package/dist/server/node_modules/postgres-array/index.d.ts +4 -0
  289. package/dist/server/node_modules/postgres-array/index.js +97 -0
  290. package/dist/server/node_modules/postgres-array/license +21 -0
  291. package/dist/server/node_modules/postgres-array/package.json +35 -0
  292. package/dist/server/node_modules/postgres-array/readme.md +43 -0
  293. package/dist/server/node_modules/postgres-bytea/index.js +33 -0
  294. package/dist/server/node_modules/postgres-bytea/license +21 -0
  295. package/dist/server/node_modules/postgres-bytea/package.json +34 -0
  296. package/dist/server/node_modules/postgres-bytea/readme.md +34 -0
  297. package/dist/server/node_modules/postgres-date/index.js +116 -0
  298. package/dist/server/node_modules/postgres-date/license +21 -0
  299. package/dist/server/node_modules/postgres-date/package.json +33 -0
  300. package/dist/server/node_modules/postgres-date/readme.md +49 -0
  301. package/dist/server/node_modules/postgres-interval/index.d.ts +20 -0
  302. package/dist/server/node_modules/postgres-interval/index.js +125 -0
  303. package/dist/server/node_modules/postgres-interval/license +21 -0
  304. package/dist/server/node_modules/postgres-interval/package.json +36 -0
  305. package/dist/server/node_modules/postgres-interval/readme.md +48 -0
  306. package/dist/server/node_modules/split2/LICENSE +13 -0
  307. package/dist/server/node_modules/split2/README.md +85 -0
  308. package/dist/server/node_modules/split2/bench.js +27 -0
  309. package/dist/server/node_modules/split2/index.js +141 -0
  310. package/dist/server/node_modules/split2/package.json +39 -0
  311. package/dist/server/node_modules/split2/test.js +409 -0
  312. package/dist/server/server.js +2 -2
  313. package/package.json +1 -1
  314. package/dist/client/assets/plugins-CJOgdAgY.js +0 -1
  315. package/dist/client/assets/tasks-CAcIEtSF.js +0 -1
  316. package/dist/client/assets/useInfiniteQuery-Dw4aF3nd.js +0 -1
  317. package/dist/client/assets/useQuery-CTePvczf.js +0 -1
  318. package/dist/client/assets/useSuspenseInfiniteQuery-All2JJwt.js +0 -1
  319. package/dist/server/node_modules/pg/README.md +0 -95
  320. package/dist/server/node_modules/pg/esm/index.mjs +0 -20
  321. package/dist/server/node_modules/pg/lib/client.js +0 -743
  322. package/dist/server/node_modules/pg/lib/connection-parameters.js +0 -171
  323. package/dist/server/node_modules/pg/lib/connection.js +0 -221
  324. package/dist/server/node_modules/pg/lib/crypto/cert-signatures.js +0 -122
  325. package/dist/server/node_modules/pg/lib/crypto/sasl.js +0 -212
  326. package/dist/server/node_modules/pg/lib/crypto/utils-legacy.js +0 -43
  327. package/dist/server/node_modules/pg/lib/crypto/utils-webcrypto.js +0 -89
  328. package/dist/server/node_modules/pg/lib/crypto/utils.js +0 -9
  329. package/dist/server/node_modules/pg/lib/defaults.js +0 -91
  330. package/dist/server/node_modules/pg/lib/index.js +0 -73
  331. package/dist/server/node_modules/pg/lib/native/client.js +0 -323
  332. package/dist/server/node_modules/pg/lib/native/index.js +0 -2
  333. package/dist/server/node_modules/pg/lib/native/query.js +0 -165
  334. package/dist/server/node_modules/pg/lib/query.js +0 -252
  335. package/dist/server/node_modules/pg/lib/result.js +0 -109
  336. package/dist/server/node_modules/pg/lib/stream.js +0 -83
  337. package/dist/server/node_modules/pg/lib/type-overrides.js +0 -35
  338. package/dist/server/node_modules/pg/lib/utils.js +0 -217
  339. package/dist/server/node_modules/pg/package.json +0 -76
  340. /package/dist/server/node_modules/{pg → pg-cloudflare}/LICENSE +0 -0
@@ -1579,7 +1579,7 @@ ${Q}
1579
1579
  `;break}case"tool":throw new hz({functionality:"tool messages"});default:break}return W+=`${G}:
1580
1580
  `,{prompt:W}}function gr4(Y){if(Y.type==="url")return{type:"image_url",image_url:{url:Y.url}};return{type:"image_url",image_url:{url:JX6({data:Y.data,mediaType:Y.mediaType,defaultMediaType:xr4})}}}function ur4(Y){return Object.fromEntries(Object.entries(Y).filter(([,X])=>X!=null))}function mr4(Y){if(!Y)return{};if(Y instanceof Headers)return Object.fromEntries(Y.entries());if(Array.isArray(Y))return Object.fromEntries(Y);return Y}function lr4(Y,X){let J=X.toLowerCase();return Object.keys(Y).find((G)=>G.toLowerCase()===J)}function dr4(Y,...X){let J=mr4(Y),G=ur4(J),W=lr4(G,"user-agent"),K=W?G[W]:void 0,Z=(K==null?void 0:K.trim())?K:X.filter(Boolean).join(" "),Q=Object.fromEntries(Object.entries(G).filter(([H])=>H.toLowerCase()!=="user-agent"));return K9(t0({},Q),{"user-agent":Z})}function OS1(Y={}){var X,J,G;let W=(J=Vr4((X=Y.baseURL)!=null?X:Y.baseUrl))!=null?J:"https://openrouter.ai/api/v1",K=(G=Y.compatibility)!=null?G:"compatible",Z=()=>dr4(t0(t0({Authorization:`Bearer ${Ha4({apiKey:Y.apiKey,environmentVariableName:"OPENROUTER_API_KEY",description:"OpenRouter"})}`},Y.headers),Y.api_keys&&Object.keys(Y.api_keys).length>0&&{"X-Provider-API-Keys":JSON.stringify(Y.api_keys)}),`ai-sdk/openrouter/${cr4}`),Q=(q,B={})=>new Sr4(q,B,{provider:"openrouter.chat",url:({path:O})=>`${W}${O}`,headers:Z,compatibility:K,fetch:Y.fetch,extraBody:Y.extraBody}),H=(q,B={})=>new kr4(q,B,{provider:"openrouter.completion",url:({path:O})=>`${W}${O}`,headers:Z,compatibility:K,fetch:Y.fetch,extraBody:Y.extraBody}),$=(q,B={})=>new yr4(q,B,{provider:"openrouter.embedding",url:({path:O})=>`${W}${O}`,headers:Z,fetch:Y.fetch,extraBody:Y.extraBody}),V=(q,B={})=>new br4(q,B,{provider:"openrouter.image",url:({path:O})=>`${W}${O}`,headers:Z,fetch:Y.fetch,extraBody:Y.extraBody}),z=(q,B)=>{if(new.target)throw Error("The OpenRouter model function cannot be called with the new keyword.");if(q==="openai/gpt-3.5-turbo-instruct")return H(q,B);return Q(q,B)},U=(q,B)=>z(q,B);return U.languageModel=z,U.chat=Q,U.completion=H,U.textEmbeddingModel=$,U.embedding=$,U.imageModel=V,U}var Ii4,Si4,ji4,i61,VY6,zY6,UY6=(Y)=>{throw TypeError(Y)},C96=(Y,X,J)=>(X in Y)?Ii4(Y,X,{enumerable:!0,configurable:!0,writable:!0,value:J}):Y[X]=J,t0=(Y,X)=>{for(var J in X||(X={}))if(VY6.call(X,J))C96(Y,J,X[J]);if(i61){for(var J of i61(X))if(zY6.call(X,J))C96(Y,J,X[J])}return Y},K9=(Y,X)=>Si4(Y,ji4(X)),Ux=(Y,X)=>{var J={};for(var G in Y)if(VY6.call(Y,G)&&X.indexOf(G)<0)J[G]=Y[G];if(Y!=null&&i61){for(var G of i61(Y))if(X.indexOf(G)<0&&zY6.call(Y,G))J[G]=Y[G]}return J},ki4=(Y,X,J)=>X.has(Y)||UY6("Cannot "+J),I96=(Y,X,J)=>(ki4(Y,X,"read from private field"),J?J.call(Y):X.get(Y)),_i4=(Y,X,J)=>X.has(Y)?UY6("Cannot add the same private member more than once"):X instanceof WeakSet?X.add(Y):X.set(Y,J),qY6="vercel.ai.error",vi4,S96,j96,GY,DY6="AI_APICallError",BY6,fi4,k96,_96,iH,LY6="AI_EmptyResponseBodyError",OY6,yi4,v96,f96,hi4,wY6="AI_InvalidArgumentError",MY6,bi4,y96,h96,AY6,PY6="AI_InvalidPromptError",EY6,xi4,b96,x96,gi4,TY6="AI_InvalidResponseDataError",RY6,ui4,g96,u96,zx,CY6="AI_JSONParseError",IY6,mi4,m96,l96,a61,SY6="AI_LoadAPIKeyError",jY6,li4,d96,c96,d61,kY6="AI_LoadSettingError",_Y6,di4,p96,n96,lWY,vY6="AI_NoContentGeneratedError",fY6,ci4,i96,a96,VS1,yY6="AI_NoSuchModelError",hY6,pi4,r96,o96,dWY,bY6="AI_TooManyEmbeddingValuesForCallError",xY6,ni4,s96,t96,cWY,gY6="AI_TypeValidationError",uY6,ii4,e96,YY6,qx,mY6="AI_UnsupportedFunctionalityError",lY6,ai4,XY6,JY6,hz,GY6,si4,ti4,aWY,dY6="AI_DownloadError",cY6,Ya4,WY6,ZY6,rWY,Xa4=({prefix:Y,size:X=16,alphabet:J="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",separator:G="-"}={})=>{let W=()=>{let K=J.length,Z=Array(X);for(let Q=0;Q<X;Q++)Z[Q]=J[Math.random()*K|0];return Z.join("")};if(Y==null)return W;if(J.includes(G))throw new AY6({argument:"separator",message:`The separator "${G}" must not be part of the alphabet "${J}".`});return()=>`${Y}${G}${W()}`},nH,Ja4,Ka4="4.0.1",$a4,Fa4,za4,KY6,Ua4=(Y)=>typeof Y==="string"?K9(t0({},KY6),{name:Y}):t0(t0({},KY6),Y),La4=(Y,X)=>{return d9(Y.innerType._def,X)},Oa4=(Y)=>{let X={type:"integer",format:"unix-time"};for(let J of Y.checks)switch(J.kind){case"min":X.minimum=J.value;break;case"max":X.maximum=J.value;break}return X},Aa4=(Y)=>{if("type"in Y&&Y.type==="string")return!1;return"allOf"in Y},JS1=void 0,cH,Ta4,KS1,_a4=(Y,X)=>{let J=(Y.options instanceof Map?Array.from(Y.options.values()):Y.options).map((G,W)=>d9(G._def,K9(t0({},X),{currentPath:[...X.currentPath,"anyOf",`${W}`]}))).filter((G)=>!!G&&(!X.strictUnions||typeof G==="object"&&Object.keys(G).length>0));return J.length?{anyOf:J}:void 0},xa4=(Y,X)=>{var J;if(X.currentPath.toString()===((J=X.propertyPath)==null?void 0:J.toString()))return d9(Y.innerType._def,X);let G=d9(Y.innerType._def,K9(t0({},X),{currentPath:[...X.currentPath,"anyOf","1"]}));return G?{anyOf:[{not:lZ()},G]}:lZ()},ga4=(Y,X)=>{if(X.pipeStrategy==="input")return d9(Y.in._def,X);else if(X.pipeStrategy==="output")return d9(Y.out._def,X);let J=d9(Y.in._def,K9(t0({},X),{currentPath:[...X.currentPath,"allOf","0"]})),G=d9(Y.out._def,K9(t0({},X),{currentPath:[...X.currentPath,"allOf",J?"1":"0"]}));return{allOf:[J,G].filter((W)=>W!==void 0)}},pa4=(Y,X)=>{return d9(Y.innerType._def,X)},na4=(Y,X,J)=>{switch(X){case x1.ZodString:return iY6(Y,J);case x1.ZodNumber:return fa4(Y);case x1.ZodObject:return ya4(Y,J);case x1.ZodBigInt:return Da4(Y);case x1.ZodBoolean:return Ba4();case x1.ZodDate:return nY6(Y,J);case x1.ZodUndefined:return da4();case x1.ZodNull:return ja4();case x1.ZodArray:return qa4(Y,J);case x1.ZodUnion:case x1.ZodDiscriminatedUnion:return ka4(Y,J);case x1.ZodIntersection:return Pa4(Y,J);case x1.ZodTuple:return la4(Y,J);case x1.ZodRecord:return aY6(Y,J);case x1.ZodLiteral:return Ea4(Y);case x1.ZodEnum:return Ma4(Y);case x1.ZodNativeEnum:return Ia4(Y);case x1.ZodNullable:return va4(Y,J);case x1.ZodOptional:return xa4(Y,J);case x1.ZodMap:return Ca4(Y,J);case x1.ZodSet:return ma4(Y,J);case x1.ZodLazy:return()=>Y.getter()._def;case x1.ZodPromise:return ua4(Y,J);case x1.ZodNaN:case x1.ZodNever:return Sa4();case x1.ZodEffects:return wa4(Y,J);case x1.ZodAny:return lZ();case x1.ZodUnknown:return ca4();case x1.ZodDefault:return Na4(Y,J);case x1.ZodBranded:return pY6(Y,J);case x1.ZodReadonly:return pa4(Y,J);case x1.ZodCatch:return La4(Y,J);case x1.ZodPipeline:return ga4(Y,J);case x1.ZodFunction:case x1.ZodVoid:case x1.ZodSymbol:return;default:return((G)=>{return})(X)}},ia4=(Y,X)=>{let J=0;for(;J<Y.length&&J<X.length;J++)if(Y[J]!==X[J])break;return[(Y.length-J).toString(),...X.slice(J)].join("/")},aa4=(Y,X)=>{switch(X.$refStrategy){case"root":return{$ref:Y.path.join("/")};case"relative":return{$ref:ia4(X.currentPath,Y.path)};case"none":case"seen":{if(Y.path.length<X.currentPath.length&&Y.path.every((J,G)=>X.currentPath[G]===J))return console.warn(`Recursive reference detected at ${X.currentPath.join("/")}! Defaulting to any`),lZ();return X.$refStrategy==="seen"?lZ():void 0}}},ra4=(Y,X,J)=>{if(Y.description)J.description=Y.description;return J},oa4=(Y)=>{let X=Ua4(Y),J=X.name!==void 0?[...X.basePath,X.definitionPath,X.name]:X.basePath;return K9(t0({},X),{currentPath:J,propertyPath:void 0,seen:new Map(Object.entries(X.definitions).map(([G,W])=>[W._def,{def:W._def,path:[...X.basePath,X.definitionPath,G],jsonSchema:void 0}]))})},sa4=(Y,X)=>{var J;let G=oa4(X),W=typeof X==="object"&&X.definitions?Object.entries(X.definitions).reduce(($,[V,z])=>{var U;return K9(t0({},$),{[V]:(U=d9(z._def,K9(t0({},G),{currentPath:[...G.basePath,G.definitionPath,V]}),!0))!=null?U:lZ()})},{}):void 0,K=typeof X==="string"?X:(X==null?void 0:X.nameStrategy)==="title"?void 0:X==null?void 0:X.name,Z=(J=d9(Y._def,K===void 0?G:K9(t0({},G),{currentPath:[...G.basePath,G.definitionPath,K]}),!1))!=null?J:lZ(),Q=typeof X==="object"&&X.name!==void 0&&X.nameStrategy==="title"?X.name:void 0;if(Q!==void 0)Z.title=Q;let H=K===void 0?W?K9(t0({},Z),{[G.definitionPath]:W}):Z:{$ref:[...G.$refStrategy==="relative"?[]:G.basePath,G.definitionPath,K].join("/"),[G.definitionPath]:K9(t0({},W),{[K]:Z})};return H.$schema="http://json-schema.org/draft-07/schema#",H},HS1,Hr4=()=>globalThis.fetch,mR=async({url:Y,headers:X,body:J,failedResponseHandler:G,successfulResponseHandler:W,abortSignal:K,fetch:Z})=>$r4({url:Y,headers:t0({"Content-Type":"application/json"},X),body:{content:JSON.stringify(J),values:J},failedResponseHandler:G,successfulResponseHandler:W,abortSignal:K,fetch:Z}),$r4=async({url:Y,headers:X={},body:J,successfulResponseHandler:G,failedResponseHandler:W,abortSignal:K,fetch:Z=Hr4()})=>{try{let Q=await Z(Y,{method:"POST",headers:Qa4(X,`ai-sdk/provider-utils/${Ka4}`,Wa4()),body:J.content,signal:K}),H=t61(Q);if(!Q.ok){let $;try{$=await W({response:Q,url:Y,requestBodyValues:J.values})}catch(V){if(QS1(V)||iH.isInstance(V))throw V;throw new iH({message:"Failed to process error response",cause:V,statusCode:Q.status,url:Y,responseHeaders:H,requestBodyValues:J.values})}throw $.value}try{return await G({response:Q,url:Y,requestBodyValues:J.values})}catch($){if($ instanceof Error){if(QS1($)||iH.isInstance($))throw $}throw new iH({message:"Failed to process successful response",cause:$,statusCode:Q.status,url:Y,responseHeaders:H,requestBodyValues:J.values})}}catch(Q){throw Ga4({error:Q,url:Y,requestBodyValues:J.values})}},Fr4=({errorSchema:Y,errorToMessage:X,isRetryable:J})=>async({response:G,url:W,requestBodyValues:K})=>{let Z=await G.text(),Q=t61(G);if(Z.trim()==="")return{responseHeaders:Q,value:new iH({message:G.statusText,url:W,requestBodyValues:K,statusCode:G.status,responseHeaders:Q,responseBody:Z,isRetryable:J==null?void 0:J(G)})};try{let H=await Qr4({text:Z,schema:Y});return{responseHeaders:Q,value:new iH({message:X(H),url:W,requestBodyValues:K,statusCode:G.status,responseHeaders:Q,responseBody:Z,data:H,isRetryable:J==null?void 0:J(G,H)})}}catch(H){return{responseHeaders:Q,value:new iH({message:G.statusText,url:W,requestBodyValues:K,statusCode:G.status,responseHeaders:Q,responseBody:Z,isRetryable:J==null?void 0:J(G)})}}},sY6=(Y)=>async({response:X})=>{let J=t61(X);if(X.body==null)throw new hi4({});return{responseHeaders:J,value:Kr4({stream:X.body,schema:Y})}},Y41=(Y)=>async({response:X,url:J,requestBodyValues:G})=>{let W=await X.text(),K=await oY6({text:W,schema:Y}),Z=t61(X);if(!K.success)throw new iH({message:"Invalid JSON response",cause:K.error,statusCode:X.status,responseHeaders:Z,responseBody:W,url:J,requestBodyValues:G});return{responseHeaders:Z,value:K.value,rawValue:K.rawValue}},tY6,US1,zr4,Ur4,qr4,qS1,p61,DS1,sWY,X41,lR,eY6,BS1,YX6,n61,Lr4=class{constructor(){_i4(this,n61,new Set)}upsert(Y){let X=this.getCanonicalKey(Y);if(X===null)return!1;if(I96(this,n61).has(X))return!1;return I96(this,n61).add(X),!0}getCanonicalKey(Y){switch(Y.type){case"reasoning.summary":return Y.summary;case"reasoning.encrypted":if(Y.id)return Y.id;return Y.data;case"reasoning.text":{if(Y.text)return Y.text;if(Y.signature)return Y.signature;return null}default:return null}}},Or4,Nr4,XZY,Tr4,Rr4,GX6,WX6,Cr4,Ir4,Sr4=class{constructor(Y,X,J){this.specificationVersion="v3",this.provider="openrouter",this.defaultObjectGenerationMode="tool",this.supportsImageUrls=!0,this.supportedUrls={"image/*":[/^data:image\/[a-zA-Z]+;base64,/,/^https?:\/\/.+\.(jpg|jpeg|png|gif|webp)$/i],"application/*":[/^data:application\//,/^https?:\/\/.+$/]},this.modelId=Y,this.settings=X,this.config=J}getArgs({prompt:Y,maxOutputTokens:X,temperature:J,topP:G,frequencyPenalty:W,presencePenalty:K,seed:Z,stopSequences:Q,responseFormat:H,topK:$,tools:V,toolChoice:z}){var U;let q=t0(t0({model:this.modelId,models:this.settings.models,logit_bias:this.settings.logitBias,logprobs:this.settings.logprobs===!0||typeof this.settings.logprobs==="number"?!0:void 0,top_logprobs:typeof this.settings.logprobs==="number"?this.settings.logprobs:typeof this.settings.logprobs==="boolean"?this.settings.logprobs?0:void 0:void 0,user:this.settings.user,parallel_tool_calls:this.settings.parallelToolCalls,max_tokens:X,temperature:J,top_p:G,frequency_penalty:W,presence_penalty:K,seed:Z,stop:Q,response_format:(H==null?void 0:H.type)==="json"?H.schema!=null?{type:"json_schema",json_schema:t0({schema:H.schema,strict:!0,name:(U=H.name)!=null?U:"response"},H.description&&{description:H.description})}:{type:"json_object"}:void 0,top_k:$,messages:Mr4(Y),include_reasoning:this.settings.includeReasoning,reasoning:this.settings.reasoning,usage:this.settings.usage,plugins:this.settings.plugins,web_search_options:this.settings.web_search_options,provider:this.settings.provider,debug:this.settings.debug,cache_control:this.settings.cache_control},this.config.extraBody),this.settings.extraBody);if(V&&V.length>0){let B=V.filter((O)=>O.type==="function").map((O)=>({type:"function",function:{name:O.name,description:O.description,parameters:O.inputSchema}}));return K9(t0({},q),{tools:B,tool_choice:z?Er4(z):void 0})}return q}async doGenerate(Y){var X,J,G,W,K,Z,Q,H,$,V,z,U,q,B,O,M,P,C,k,T,E,S;let x=(Y.providerOptions||{}).openrouter||{},{cacheControl:d}=x,u=Ux(x,["cacheControl"]),e=t0(t0(t0({},this.getArgs(Y)),u),d!=null&&!("cache_control"in u)?{cache_control:d}:{}),{value:n,responseHeaders:m}=await mR({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:uR(this.config.headers(),Y.headers),body:e,failedResponseHandler:lR,successfulResponseHandler:Y41(Cr4),abortSignal:Y.abortSignal,fetch:this.config.fetch});if("error"in n){let Q1=n.error;throw new iH({message:Q1.message,url:this.config.url({path:"/chat/completions",modelId:this.modelId}),requestBodyValues:e,statusCode:200,responseHeaders:m,data:Q1})}let o=n,H1=o.choices[0];if(!H1)throw new VS1({message:"No choice in response"});let Z1=o.usage?r61(o.usage):XX6(),O1=(X=H1.message.reasoning_details)!=null?X:[],M1=O1.length>0?O1.map((Q1)=>{switch(Q1.type){case"reasoning.text":{if(Q1.text)return{type:"reasoning",text:Q1.text,providerMetadata:{openrouter:{reasoning_details:[Q1]}}};break}case"reasoning.summary":{if(Q1.summary)return{type:"reasoning",text:Q1.summary,providerMetadata:{openrouter:{reasoning_details:[Q1]}}};break}case"reasoning.encrypted":{if(Q1.data)return{type:"reasoning",text:"[REDACTED]",providerMetadata:{openrouter:{reasoning_details:[Q1]}}};break}default:}return null}).filter((Q1)=>Q1!==null):H1.message.reasoning?[{type:"reasoning",text:H1.message.reasoning}]:[],C1=[];if(C1.push(...M1),H1.message.content)C1.push({type:"text",text:H1.message.content});if(H1.message.tool_calls){let Q1=!1;for(let J0 of H1.message.tool_calls)C1.push({type:"tool-call",toolCallId:(J=J0.id)!=null?J:nH(),toolName:J0.function.name,input:(G=J0.function.arguments)!=null?G:"{}",providerMetadata:!Q1?{openrouter:{reasoning_details:O1}}:void 0}),Q1=!0}if(H1.message.images)for(let Q1 of H1.message.images)C1.push({type:"file",mediaType:$Y6(Q1.image_url.url,"image/jpeg"),data:s61(Q1.image_url.url)});if(H1.message.annotations){for(let Q1 of H1.message.annotations)if(Q1.type==="url_citation")C1.push({type:"source",sourceType:"url",id:Q1.url_citation.url,url:Q1.url_citation.url,title:(W=Q1.url_citation.title)!=null?W:"",providerMetadata:{openrouter:{content:(K=Q1.url_citation.content)!=null?K:"",startIndex:(Z=Q1.url_citation.start_index)!=null?Z:0,endIndex:(Q=Q1.url_citation.end_index)!=null?Q:0}}})}let f1=(H=H1.message.annotations)==null?void 0:H.filter((Q1)=>Q1.type==="file"),y1=H1.message.tool_calls&&H1.message.tool_calls.length>0,z0=O1.some((Q1)=>Q1.type==="reasoning.encrypted"&&Q1.data),v1=y1&&z0&&H1.finish_reason==="stop"?XB("tool-calls",($=H1.finish_reason)!=null?$:void 0):o61(H1.finish_reason);return{content:C1,finishReason:v1,usage:Z1,warnings:[],providerMetadata:{openrouter:BS1.parse({provider:(V=o.provider)!=null?V:"",reasoning_details:(z=H1.message.reasoning_details)!=null?z:[],annotations:f1&&f1.length>0?f1:void 0,usage:t0(t0(t0(t0({promptTokens:(U=Z1.inputTokens.total)!=null?U:0,completionTokens:(q=Z1.outputTokens.total)!=null?q:0,totalTokens:((B=Z1.inputTokens.total)!=null?B:0)+((O=Z1.outputTokens.total)!=null?O:0)},((M=o.usage)==null?void 0:M.cost)!=null?{cost:o.usage.cost}:{}),((C=(P=o.usage)==null?void 0:P.prompt_tokens_details)==null?void 0:C.cached_tokens)!=null?{promptTokensDetails:{cachedTokens:o.usage.prompt_tokens_details.cached_tokens}}:{}),((T=(k=o.usage)==null?void 0:k.completion_tokens_details)==null?void 0:T.reasoning_tokens)!=null?{completionTokensDetails:{reasoningTokens:o.usage.completion_tokens_details.reasoning_tokens}}:{}),((S=(E=o.usage)==null?void 0:E.cost_details)==null?void 0:S.upstream_inference_cost)!=null?{costDetails:{upstreamInferenceCost:o.usage.cost_details.upstream_inference_cost}}:{})})},request:{body:e},response:{id:o.id,modelId:o.model,headers:m}}}async doStream(Y){var X;let W=(Y.providerOptions||{}).openrouter||{},{cacheControl:K}=W,Z=Ux(W,["cacheControl"]),Q=t0(t0(t0({},this.getArgs(Y)),Z),K!=null&&!("cache_control"in Z)?{cache_control:K}:{}),{value:H,responseHeaders:$}=await mR({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:uR(this.config.headers(),Y.headers),body:K9(t0({},Q),{stream:!0,stream_options:this.config.compatibility==="strict"?t0({include_usage:!0},((X=this.settings.usage)==null?void 0:X.include)?{include_usage:!0}:{}):void 0}),failedResponseHandler:lR,successfulResponseHandler:sY6(Ir4),abortSignal:Y.abortSignal,fetch:this.config.fetch}),V=[],z=XB("other"),U={inputTokens:{total:void 0,noCache:void 0,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:void 0,text:void 0,reasoning:void 0},raw:void 0},q={},B,O=[],M=!1,P=[],C=!1,k=!1,T,E,S,h;return{stream:H.pipeThrough(new TransformStream({transform(_,x){var d,u,e,n,m,o,H1,Z1,O1,M1,C1,f1,y1,z0,p1,v1,Q1,J0,P0,S0,o1;if(Y.includeRawChunks)x.enqueue({type:"raw",rawValue:_.rawValue});if(!_.success){z=XB("error"),x.enqueue({type:"error",error:_.error});return}let E1=_.value;if("error"in E1){z=XB("error"),x.enqueue({type:"error",error:E1.error});return}if(E1.provider)h=E1.provider;if(E1.id)S=E1.id,x.enqueue({type:"response-metadata",id:E1.id});if(E1.model)x.enqueue({type:"response-metadata",modelId:E1.model});if(E1.usage!=null){let V1=r61(E1.usage);Object.assign(U.inputTokens,V1.inputTokens),Object.assign(U.outputTokens,V1.outputTokens),B=E1.usage;let a1=(d=E1.usage.prompt_tokens)!=null?d:0,l1=(u=E1.usage.completion_tokens)!=null?u:0;if(q.promptTokens=a1,E1.usage.prompt_tokens_details)q.promptTokensDetails={cachedTokens:(e=E1.usage.prompt_tokens_details.cached_tokens)!=null?e:0};if(q.completionTokens=l1,E1.usage.completion_tokens_details)q.completionTokensDetails={reasoningTokens:(n=E1.usage.completion_tokens_details.reasoning_tokens)!=null?n:0};if(E1.usage.cost!=null)q.cost=E1.usage.cost;q.totalTokens=E1.usage.total_tokens;let i1=(m=E1.usage.cost_details)==null?void 0:m.upstream_inference_cost;if(i1!=null)q.costDetails={upstreamInferenceCost:i1}}let D1=E1.choices[0];if((D1==null?void 0:D1.finish_reason)!=null)z=o61(D1.finish_reason);if((D1==null?void 0:D1.delta)==null)return;let K1=D1.delta,w1=(V1,a1)=>{if(!k)E=S||nH(),x.enqueue({providerMetadata:a1,type:"reasoning-start",id:E}),k=!0;x.enqueue({providerMetadata:a1,type:"reasoning-delta",delta:V1,id:E||nH()})};if(K1.reasoning_details&&K1.reasoning_details.length>0){for(let a1 of K1.reasoning_details)if(a1.type==="reasoning.text"){let l1=O[O.length-1];if((l1==null?void 0:l1.type)==="reasoning.text")l1.text=(l1.text||"")+(a1.text||""),l1.signature=l1.signature||a1.signature,l1.format=l1.format||a1.format;else O.push(t0({},a1))}else O.push(a1);let V1={openrouter:{reasoning_details:O.map((a1)=>t0({},a1))}};for(let a1 of K1.reasoning_details)switch(a1.type){case"reasoning.text":{w1(a1.text||"",V1);break}case"reasoning.encrypted":{if(a1.data)w1("[REDACTED]",V1);break}case"reasoning.summary":{if(a1.summary)w1(a1.summary,V1);break}default:break}}else if(K1.reasoning)w1(K1.reasoning);if(K1.content){if(k&&!C)x.enqueue({type:"reasoning-end",id:E||nH(),providerMetadata:O.length>0?{openrouter:{reasoning_details:O}}:void 0}),k=!1;if(!C)T=S||nH(),x.enqueue({type:"text-start",id:T}),C=!0;x.enqueue({type:"text-delta",delta:K1.content,id:T||nH()})}if(K1.annotations){for(let V1 of K1.annotations)if(V1.type==="url_citation")x.enqueue({type:"source",sourceType:"url",id:V1.url_citation.url,url:V1.url_citation.url,title:(o=V1.url_citation.title)!=null?o:"",providerMetadata:{openrouter:{content:(H1=V1.url_citation.content)!=null?H1:"",startIndex:(Z1=V1.url_citation.start_index)!=null?Z1:0,endIndex:(O1=V1.url_citation.end_index)!=null?O1:0}}});else if(V1.type==="file"){let a1=V1.file;if(a1&&typeof a1==="object"&&"hash"in a1&&"name"in a1)P.push(V1)}}if(K1.tool_calls!=null)for(let V1 of K1.tool_calls){let a1=(M1=V1.index)!=null?M1:V.length-1;if(V[a1]==null){if(V1.type!=="function")throw new zx({data:V1,message:"Expected 'function' type."});if(V1.id==null)throw new zx({data:V1,message:"Expected 'id' to be a string."});if(((C1=V1.function)==null?void 0:C1.name)==null)throw new zx({data:V1,message:"Expected 'function.name' to be a string."});V[a1]={id:V1.id,type:"function",function:{name:V1.function.name,arguments:(f1=V1.function.arguments)!=null?f1:""},inputStarted:!1,sent:!1};let i1=V[a1];if(i1==null)throw new zx({data:{index:a1,toolCallsLength:V.length},message:`Tool call at index ${a1} is missing after creation.`});if(((y1=i1.function)==null?void 0:y1.name)!=null&&((z0=i1.function)==null?void 0:z0.arguments)!=null&&WS1(i1.function.arguments))i1.inputStarted=!0,x.enqueue({type:"tool-input-start",id:i1.id,toolName:i1.function.name}),x.enqueue({type:"tool-input-delta",id:i1.id,delta:i1.function.arguments}),x.enqueue({type:"tool-input-end",id:i1.id}),x.enqueue({type:"tool-call",toolCallId:i1.id,toolName:i1.function.name,input:i1.function.arguments,providerMetadata:!M?{openrouter:{reasoning_details:O}}:void 0}),M=!0,i1.sent=!0;continue}let l1=V[a1];if(l1==null)throw new zx({data:{index:a1,toolCallsLength:V.length,toolCallDelta:V1},message:`Tool call at index ${a1} is missing during merge.`});if(!l1.inputStarted)l1.inputStarted=!0,x.enqueue({type:"tool-input-start",id:l1.id,toolName:l1.function.name});if(((p1=V1.function)==null?void 0:p1.arguments)!=null)l1.function.arguments+=(Q1=(v1=V1.function)==null?void 0:v1.arguments)!=null?Q1:"";if(x.enqueue({type:"tool-input-delta",id:l1.id,delta:(J0=V1.function.arguments)!=null?J0:""}),((P0=l1.function)==null?void 0:P0.name)!=null&&((S0=l1.function)==null?void 0:S0.arguments)!=null&&WS1(l1.function.arguments))x.enqueue({type:"tool-call",toolCallId:(o1=l1.id)!=null?o1:nH(),toolName:l1.function.name,input:l1.function.arguments,providerMetadata:!M?{openrouter:{reasoning_details:O}}:void 0}),M=!0,l1.sent=!0}if(K1.images!=null)for(let V1 of K1.images)x.enqueue({type:"file",mediaType:$Y6(V1.image_url.url,"image/jpeg"),data:s61(V1.image_url.url)})},flush(_){var x;let d=V.length>0,u=O.some((n)=>n.type==="reasoning.encrypted"&&n.data);if(d&&u&&z.unified==="stop")z=XB("tool-calls",z.raw);if(z.unified==="tool-calls"){for(let n of V)if(n&&!n.sent)_.enqueue({type:"tool-call",toolCallId:(x=n.id)!=null?x:nH(),toolName:n.function.name,input:WS1(n.function.arguments)?n.function.arguments:"{}",providerMetadata:!M?{openrouter:{reasoning_details:O}}:void 0}),M=!0,n.sent=!0}if(k)_.enqueue({type:"reasoning-end",id:E||nH(),providerMetadata:O.length>0?{openrouter:{reasoning_details:O}}:void 0});if(C)_.enqueue({type:"text-end",id:T||nH()});let e={usage:q};if(h!==void 0)e.provider=h;if(O.length>0)e.reasoning_details=O;if(P.length>0)e.annotations=P;U.raw=B,_.enqueue({type:"finish",finishReason:z,usage:U,providerMetadata:{openrouter:e}})}})),warnings:[],request:{body:Q},response:{headers:$}}}},FY6,kr4=class{constructor(Y,X,J){this.specificationVersion="v3",this.provider="openrouter",this.supportsImageUrls=!0,this.supportedUrls={"image/*":[/^data:image\/[a-zA-Z]+;base64,/,/^https?:\/\/.+\.(jpg|jpeg|png|gif|webp)$/i],"text/*":[/^data:text\//,/^https?:\/\/.+$/],"application/*":[/^data:application\//,/^https?:\/\/.+$/]},this.defaultObjectGenerationMode=void 0,this.modelId=Y,this.settings=X,this.config=J}getArgs({prompt:Y,maxOutputTokens:X,temperature:J,topP:G,frequencyPenalty:W,presencePenalty:K,seed:Z,responseFormat:Q,topK:H,stopSequences:$,tools:V,toolChoice:z}){let{prompt:U}=jr4({prompt:Y,inputFormat:"prompt"});if(V==null?void 0:V.length)throw new hz({functionality:"tools"});if(z)throw new hz({functionality:"toolChoice"});return t0(t0({model:this.modelId,models:this.settings.models,logit_bias:this.settings.logitBias,logprobs:typeof this.settings.logprobs==="number"?this.settings.logprobs:typeof this.settings.logprobs==="boolean"?this.settings.logprobs?0:void 0:void 0,suffix:this.settings.suffix,user:this.settings.user,max_tokens:X,temperature:J,top_p:G,frequency_penalty:W,presence_penalty:K,seed:Z,stop:$,response_format:Q,top_k:H,prompt:U,include_reasoning:this.settings.includeReasoning,reasoning:this.settings.reasoning},this.config.extraBody),this.settings.extraBody)}async doGenerate(Y){var X,J,G,W,K,Z,Q,H,$,V,z,U,q,B,O,M,P;let k=(Y.providerOptions||{}).openrouter||{},T=t0(t0({},this.getArgs(Y)),k),{value:E,responseHeaders:S}=await mR({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:uR(this.config.headers(),Y.headers),body:T,failedResponseHandler:lR,successfulResponseHandler:Y41(FY6),abortSignal:Y.abortSignal,fetch:this.config.fetch});if("error"in E){let _=E.error;throw new iH({message:_.message,url:this.config.url({path:"/completions",modelId:this.modelId}),requestBodyValues:T,statusCode:200,responseHeaders:S,data:_})}let h=E.choices[0];if(!h)throw new VS1({message:"No choice in OpenRouter completion response"});return{content:[{type:"text",text:(X=h.text)!=null?X:""}],finishReason:o61(h.finish_reason),usage:E.usage?r61(E.usage):XX6(),warnings:[],providerMetadata:{openrouter:BS1.parse({provider:(J=E.provider)!=null?J:"",usage:t0(t0(t0(t0({promptTokens:(W=(G=E.usage)==null?void 0:G.prompt_tokens)!=null?W:0,completionTokens:(Z=(K=E.usage)==null?void 0:K.completion_tokens)!=null?Z:0,totalTokens:((H=(Q=E.usage)==null?void 0:Q.prompt_tokens)!=null?H:0)+((V=($=E.usage)==null?void 0:$.completion_tokens)!=null?V:0)},((z=E.usage)==null?void 0:z.cost)!=null?{cost:E.usage.cost}:{}),((q=(U=E.usage)==null?void 0:U.prompt_tokens_details)==null?void 0:q.cached_tokens)!=null?{promptTokensDetails:{cachedTokens:E.usage.prompt_tokens_details.cached_tokens}}:{}),((O=(B=E.usage)==null?void 0:B.completion_tokens_details)==null?void 0:O.reasoning_tokens)!=null?{completionTokensDetails:{reasoningTokens:E.usage.completion_tokens_details.reasoning_tokens}}:{}),((P=(M=E.usage)==null?void 0:M.cost_details)==null?void 0:P.upstream_inference_cost)!=null?{costDetails:{upstreamInferenceCost:E.usage.cost_details.upstream_inference_cost}}:{})})},response:{headers:S}}}async doStream(Y){let J=(Y.providerOptions||{}).openrouter||{},G=t0(t0({},this.getArgs(Y)),J),{value:W,responseHeaders:K}=await mR({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:uR(this.config.headers(),Y.headers),body:K9(t0({},G),{stream:!0,stream_options:this.config.compatibility==="strict"?{include_usage:!0}:void 0}),failedResponseHandler:lR,successfulResponseHandler:sY6(FY6),abortSignal:Y.abortSignal,fetch:this.config.fetch}),Z=XB("other"),Q={inputTokens:{total:void 0,noCache:void 0,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:void 0,text:void 0,reasoning:void 0},raw:void 0},H={},$,V;return{stream:W.pipeThrough(new TransformStream({transform(z,U){var q,B,O,M,P;if(Y.includeRawChunks)U.enqueue({type:"raw",rawValue:z.rawValue});if(!z.success){Z=XB("error"),U.enqueue({type:"error",error:z.error});return}let C=z.value;if("error"in C){Z=XB("error"),U.enqueue({type:"error",error:C.error});return}if(C.provider)$=C.provider;if(C.usage!=null){let T=r61(C.usage);Object.assign(Q.inputTokens,T.inputTokens),Object.assign(Q.outputTokens,T.outputTokens),V=C.usage;let E=(q=C.usage.prompt_tokens)!=null?q:0,S=(B=C.usage.completion_tokens)!=null?B:0;if(H.promptTokens=E,C.usage.prompt_tokens_details)H.promptTokensDetails={cachedTokens:(O=C.usage.prompt_tokens_details.cached_tokens)!=null?O:0};if(H.completionTokens=S,C.usage.completion_tokens_details)H.completionTokensDetails={reasoningTokens:(M=C.usage.completion_tokens_details.reasoning_tokens)!=null?M:0};if(C.usage.cost!=null)H.cost=C.usage.cost;H.totalTokens=C.usage.total_tokens;let h=(P=C.usage.cost_details)==null?void 0:P.upstream_inference_cost;if(h!=null)H.costDetails={upstreamInferenceCost:h}}let k=C.choices[0];if((k==null?void 0:k.finish_reason)!=null)Z=o61(k.finish_reason);if((k==null?void 0:k.text)!=null)U.enqueue({type:"text-delta",delta:k.text,id:nH()})},flush(z){Q.raw=V;let U={usage:H};if($!==void 0)U.provider=$;z.enqueue({type:"finish",finishReason:Z,usage:Q,providerMetadata:{openrouter:U}})}})),response:{headers:K}}}},_r4,vr4,fr4,yr4=class{constructor(Y,X,J){this.specificationVersion="v3",this.provider="openrouter",this.maxEmbeddingsPerCall=void 0,this.supportsParallelCalls=!0,this.modelId=Y,this.settings=X,this.config=J}async doEmbed(Y){var X,J,G,W,K,Z;let{values:Q,abortSignal:H,headers:$}=Y,V=t0(t0({model:this.modelId,input:Q,user:this.settings.user,provider:this.settings.provider},this.config.extraBody),this.settings.extraBody),{value:z,responseHeaders:U}=await mR({url:this.config.url({path:"/embeddings",modelId:this.modelId}),headers:uR(this.config.headers(),$),body:V,failedResponseHandler:lR,successfulResponseHandler:Y41(fr4),abortSignal:H,fetch:this.config.fetch});return{embeddings:z.data.map((q)=>q.embedding),usage:z.usage?{tokens:z.usage.prompt_tokens}:void 0,providerMetadata:{openrouter:BS1.parse({provider:(X=z.provider)!=null?X:"",usage:t0({promptTokens:(G=(J=z.usage)==null?void 0:J.prompt_tokens)!=null?G:0,completionTokens:0,totalTokens:(K=(W=z.usage)==null?void 0:W.total_tokens)!=null?K:0},((Z=z.usage)==null?void 0:Z.cost)!=null?{cost:z.usage.cost}:{})})},response:{headers:U,body:z},warnings:[]}}},hr4,br4=class{constructor(Y,X,J){this.specificationVersion="v3",this.provider="openrouter",this.maxImagesPerCall=1,this.modelId=Y,this.settings=X,this.config=J}async doGenerate(Y){var X;let{prompt:J,n:G,size:W,aspectRatio:K,seed:Z,files:Q,mask:H,abortSignal:$,headers:V,providerOptions:z}=Y,U=(z==null?void 0:z.openrouter)||{},q=[];if(H!==void 0)throw new hz({functionality:"image inpainting (mask parameter)"});if(G>1)q.push({type:"unsupported",feature:"n > 1",details:`OpenRouter image generation returns 1 image per call. Requested ${G} images.`});if(W!==void 0)q.push({type:"unsupported",feature:"size",details:"Use aspectRatio instead. Size parameter is not supported by OpenRouter image generation."});let B=K!==void 0?{aspect_ratio:K}:void 0,M=Q!==void 0&&Q.length>0?[...Q.map((h)=>gr4(h)),{type:"text",text:J!=null?J:""}]:J!=null?J:"",P=t0(t0(t0(t0(t0(t0(t0({model:this.modelId,messages:[{role:"user",content:M}],modalities:["image","text"]},B!==void 0&&{image_config:B}),Z!==void 0&&{seed:Z}),this.settings.user!==void 0&&{user:this.settings.user}),this.settings.provider!==void 0&&{provider:this.settings.provider}),this.config.extraBody),this.settings.extraBody),U),{value:C,responseHeaders:k}=await mR({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:uR(this.config.headers(),V),body:P,failedResponseHandler:lR,successfulResponseHandler:Y41(hr4),abortSignal:$,fetch:this.config.fetch}),T=C.choices[0];if(!T)throw new VS1({message:"No choice in response"});let E=[];if((X=T.message)==null?void 0:X.images)for(let h of T.message.images){let _=h.image_url.url;E.push(s61(_))}let S=C.usage?{inputTokens:C.usage.prompt_tokens,outputTokens:C.usage.completion_tokens,totalTokens:C.usage.total_tokens}:void 0;return{images:E,warnings:q,response:{timestamp:new Date,modelId:C.model,headers:k},usage:S}}},xr4="image/png",cr4="2.3.1",KZY;var ZX6=A(()=>{J6();TK();TK();TK();J6();J6();J6();J6();J6();J6();J6();J6();J6();Ii4=Object.defineProperty,Si4=Object.defineProperties,ji4=Object.getOwnPropertyDescriptors,i61=Object.getOwnPropertySymbols,VY6=Object.prototype.hasOwnProperty,zY6=Object.prototype.propertyIsEnumerable,vi4=Symbol.for(qY6),GY=class Y extends(j96=Error,S96=vi4,j96){constructor({name:X,message:J,cause:G}){super(J);this[S96]=!0,this.name=X,this.cause=G}static isInstance(X){return Y.hasMarker(X,qY6)}static hasMarker(X,J){let G=Symbol.for(J);return X!=null&&typeof X==="object"&&G in X&&typeof X[G]==="boolean"&&X[G]===!0}},BY6=`vercel.ai.error.${DY6}`,fi4=Symbol.for(BY6),iH=class extends(_96=GY,k96=fi4,_96){constructor({message:Y,url:X,requestBodyValues:J,statusCode:G,responseHeaders:W,responseBody:K,cause:Z,isRetryable:Q=G!=null&&(G===408||G===409||G===429||G>=500),data:H}){super({name:DY6,message:Y,cause:Z});this[k96]=!0,this.url=X,this.requestBodyValues=J,this.statusCode=G,this.responseHeaders=W,this.responseBody=K,this.isRetryable=Q,this.data=H}static isInstance(Y){return GY.hasMarker(Y,BY6)}},OY6=`vercel.ai.error.${LY6}`,yi4=Symbol.for(OY6),hi4=class extends(f96=GY,v96=yi4,f96){constructor({message:Y="Empty response body"}={}){super({name:LY6,message:Y});this[v96]=!0}static isInstance(Y){return GY.hasMarker(Y,OY6)}};MY6=`vercel.ai.error.${wY6}`,bi4=Symbol.for(MY6),AY6=class extends(h96=GY,y96=bi4,h96){constructor({message:Y,cause:X,argument:J}){super({name:wY6,message:Y,cause:X});this[y96]=!0,this.argument=J}static isInstance(Y){return GY.hasMarker(Y,MY6)}},EY6=`vercel.ai.error.${PY6}`,xi4=Symbol.for(EY6),gi4=class extends(x96=GY,b96=xi4,x96){constructor({prompt:Y,message:X,cause:J}){super({name:PY6,message:`Invalid prompt: ${X}`,cause:J});this[b96]=!0,this.prompt=Y}static isInstance(Y){return GY.hasMarker(Y,EY6)}},RY6=`vercel.ai.error.${TY6}`,ui4=Symbol.for(RY6),zx=class extends(u96=GY,g96=ui4,u96){constructor({data:Y,message:X=`Invalid response data: ${JSON.stringify(Y)}.`}){super({name:TY6,message:X});this[g96]=!0,this.data=Y}static isInstance(Y){return GY.hasMarker(Y,RY6)}},IY6=`vercel.ai.error.${CY6}`,mi4=Symbol.for(IY6),a61=class extends(l96=GY,m96=mi4,l96){constructor({text:Y,cause:X}){super({name:CY6,message:`JSON parsing failed: Text: ${Y}.
1581
1581
  Error message: ${NY6(X)}`,cause:X});this[m96]=!0,this.text=Y}static isInstance(Y){return GY.hasMarker(Y,IY6)}},jY6=`vercel.ai.error.${SY6}`,li4=Symbol.for(jY6),d61=class extends(c96=GY,d96=li4,c96){constructor({message:Y}){super({name:SY6,message:Y});this[d96]=!0}static isInstance(Y){return GY.hasMarker(Y,jY6)}},_Y6=`vercel.ai.error.${kY6}`,di4=Symbol.for(_Y6),lWY=class extends(n96=GY,p96=di4,n96){constructor({message:Y}){super({name:kY6,message:Y});this[p96]=!0}static isInstance(Y){return GY.hasMarker(Y,_Y6)}},fY6=`vercel.ai.error.${vY6}`,ci4=Symbol.for(fY6),VS1=class extends(a96=GY,i96=ci4,a96){constructor({message:Y="No content generated."}={}){super({name:vY6,message:Y});this[i96]=!0}static isInstance(Y){return GY.hasMarker(Y,fY6)}},hY6=`vercel.ai.error.${yY6}`,pi4=Symbol.for(hY6),dWY=class extends(o96=GY,r96=pi4,o96){constructor({errorName:Y=yY6,modelId:X,modelType:J,message:G=`No such ${J}: ${X}`}){super({name:Y,message:G});this[r96]=!0,this.modelId=X,this.modelType=J}static isInstance(Y){return GY.hasMarker(Y,hY6)}},xY6=`vercel.ai.error.${bY6}`,ni4=Symbol.for(xY6),cWY=class extends(t96=GY,s96=ni4,t96){constructor(Y){super({name:bY6,message:`Too many values for a single embedding call. The ${Y.provider} model "${Y.modelId}" can only embed up to ${Y.maxEmbeddingsPerCall} values per call, but ${Y.values.length} values were provided.`});this[s96]=!0,this.provider=Y.provider,this.modelId=Y.modelId,this.maxEmbeddingsPerCall=Y.maxEmbeddingsPerCall,this.values=Y.values}static isInstance(Y){return GY.hasMarker(Y,xY6)}},uY6=`vercel.ai.error.${gY6}`,ii4=Symbol.for(uY6),qx=class Y extends(YY6=GY,e96=ii4,YY6){constructor({value:X,cause:J}){super({name:gY6,message:`Type validation failed: Value: ${JSON.stringify(X)}.
1582
- Error message: ${NY6(J)}`,cause:J});this[e96]=!0,this.value=X}static isInstance(X){return GY.hasMarker(X,uY6)}static wrap({value:X,cause:J}){return Y.isInstance(J)&&J.value===X?J:new Y({value:X,cause:J})}},lY6=`vercel.ai.error.${mY6}`,ai4=Symbol.for(lY6),hz=class extends(JY6=GY,XY6=ai4,JY6){constructor({functionality:Y,message:X=`'${Y}' functionality not supported.`}){super({name:mY6,message:X});this[XY6]=!0,this.functionality=Y}static isInstance(Y){return GY.hasMarker(Y,lY6)}},GY6=class extends Error{constructor(Y,X){super(Y),this.name="ParseError",this.type=X.type,this.field=X.field,this.value=X.value,this.line=X.line}};si4=class extends TransformStream{constructor({onError:Y,onRetry:X,onComment:J}={}){let G;super({start(W){G=ri4({onEvent:(K)=>{W.enqueue(K)},onError(K){Y==="terminate"?W.error(K):typeof Y=="function"&&Y(K)},onRetry:X,onComment:J})},transform(W){G.feed(W)}})}};({btoa:ti4,atob:aWY}=globalThis);cY6=`vercel.ai.error.${dY6}`,Ya4=Symbol.for(cY6),rWY=class extends(ZY6=GY,WY6=Ya4,ZY6){constructor({url:Y,statusCode:X,statusText:J,cause:G,message:W=G==null?`Failed to download ${Y}: ${X} ${J}`:`Failed to download ${Y}: ${G}`}){super({name:dY6,message:W,cause:G});this[WY6]=!0,this.url=Y,this.statusCode=X,this.statusText=J}static isInstance(Y){return GY.hasMarker(Y,cY6)}},nH=Xa4();Ja4=["fetch failed","failed to fetch"];$a4=/"__proto__"\s*:/,Fa4=/"constructor"\s*:/;za4=Symbol("Let zodToJsonSchema decide on which parser to use"),KY6={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"};cH={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(JS1===void 0)JS1=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return JS1},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-_]*$/};Ta4=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");KS1={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};HS1=Symbol.for("vercel.ai.schema");tY6=((Y)=>{return Y.Unknown="unknown",Y.OpenAIResponsesV1="openai-responses-v1",Y.XAIResponsesV1="xai-responses-v1",Y.AnthropicClaudeV1="anthropic-claude-v1",Y.GoogleGeminiV1="google-gemini-v1",Y})(tY6||{}),US1=F.object({id:F.string().nullish(),format:F.enum(tY6).nullish(),index:F.number().optional()}).loose(),zr4=F.object({type:F.literal("reasoning.summary"),summary:F.string()}).extend(US1.shape),Ur4=F.object({type:F.literal("reasoning.encrypted"),data:F.string()}).extend(US1.shape),qr4=F.object({type:F.literal("reasoning.text"),text:F.string().nullish(),signature:F.string().nullish()}).extend(US1.shape),qS1=F.union([zr4,Ur4,qr4]),p61=F.union([qS1,F.unknown().transform(()=>null)]),DS1=F.array(p61).transform((Y)=>Y.filter((X)=>!!X)),sWY=F.union([F.object({delta:F.object({reasoning_details:F.array(p61)})}).transform((Y)=>Y.delta.reasoning_details.filter(ZS1)),F.object({message:F.object({reasoning_details:F.array(p61)})}).transform((Y)=>Y.message.reasoning_details.filter(ZS1)),F.object({text:F.string(),reasoning_details:F.array(p61)}).transform((Y)=>Y.reasoning_details.filter(ZS1))]),X41=F.object({error:F.object({code:F.union([F.string(),F.number()]).nullable().optional().default(null),message:F.string(),type:F.string().nullable().optional().default(null),param:F.any().nullable().optional().default(null)}).passthrough()}).passthrough();lR=Fr4({errorSchema:X41,errorToMessage:Dr4}),eY6=F.object({type:F.literal("file"),file:F.object({hash:F.string(),name:F.string(),content:F.array(F.object({type:F.string(),text:F.string().optional()}).catchall(F.any())).optional()}).catchall(F.any())}).catchall(F.any()),BS1=F.object({provider:F.string(),reasoning_details:F.array(qS1).optional(),annotations:F.array(eY6).optional(),usage:F.object({promptTokens:F.number(),promptTokensDetails:F.object({cachedTokens:F.number()}).catchall(F.any()).optional(),completionTokens:F.number(),completionTokensDetails:F.object({reasoningTokens:F.number()}).catchall(F.any()).optional(),totalTokens:F.number(),cost:F.number().optional(),costDetails:F.object({upstreamInferenceCost:F.number()}).catchall(F.any()).optional()}).catchall(F.any())}).catchall(F.any()),YX6=F.object({openrouter:F.object({reasoning_details:F.array(qS1).optional(),annotations:F.array(eY6).optional()}).optional()}).optional();n61=new WeakMap;Or4=["wav","mp3","aiff","aac","ogg","flac","m4a","pcm16","pcm24"];Nr4={mpeg:"mp3",mp3:"mp3","x-wav":"wav",wave:"wav",wav:"wav",ogg:"ogg",vorbis:"ogg",aac:"aac","x-aac":"aac",m4a:"m4a","x-m4a":"m4a",mp4:"m4a",aiff:"aiff","x-aiff":"aiff",flac:"flac","x-flac":"flac",pcm16:"pcm16",pcm24:"pcm24"};XZY=F.union([F.literal("auto"),F.literal("none"),F.literal("required"),F.object({type:F.literal("function"),function:F.object({name:F.string()})})]);Tr4=F.object({type:F.literal("image_url"),image_url:F.object({url:F.string()}).passthrough()}).passthrough(),Rr4=F.union([Tr4,F.unknown().transform(()=>null)]),GX6=F.array(Rr4).transform((Y)=>Y.filter((X)=>!!X)),WX6=F.object({id:F.string().optional(),model:F.string().optional(),provider:F.string().optional(),usage:F.object({prompt_tokens:F.number(),prompt_tokens_details:F.object({cached_tokens:F.number(),cache_write_tokens:F.number().nullish()}).passthrough().nullish(),completion_tokens:F.number(),completion_tokens_details:F.object({reasoning_tokens:F.number()}).passthrough().nullish(),total_tokens:F.number(),cost:F.number().optional(),cost_details:F.object({upstream_inference_cost:F.number().nullish()}).passthrough().nullish()}).passthrough().nullish()}).passthrough(),Cr4=F.union([WX6.extend({choices:F.array(F.object({message:F.object({role:F.literal("assistant"),content:F.string().nullable().optional(),reasoning:F.string().nullable().optional(),reasoning_details:DS1.nullish(),images:GX6.nullish(),tool_calls:F.array(F.object({id:F.string().optional().nullable(),type:F.literal("function"),function:F.object({name:F.string(),arguments:F.string().optional()}).passthrough()}).passthrough()).optional(),annotations:F.array(F.union([F.object({type:F.literal("url_citation"),url_citation:F.object({url:F.string(),title:F.string().optional(),start_index:F.number().optional(),end_index:F.number().optional(),content:F.string().optional()}).passthrough()}).passthrough(),F.object({type:F.literal("file_annotation"),file_annotation:F.object({file_id:F.string(),quote:F.string().optional()}).passthrough()}).passthrough(),F.object({type:F.literal("file"),file:F.object({hash:F.string(),name:F.string(),content:F.array(F.object({type:F.string(),text:F.string().optional()}).passthrough()).optional()}).passthrough()}).passthrough()])).nullish()}).passthrough(),index:F.number().nullish(),logprobs:F.object({content:F.array(F.object({token:F.string(),logprob:F.number(),top_logprobs:F.array(F.object({token:F.string(),logprob:F.number()}).passthrough())}).passthrough()).nullable()}).passthrough().nullable().optional(),finish_reason:F.string().optional().nullable()}).passthrough())}),X41.extend({user_id:F.string().optional()})]),Ir4=F.union([WX6.extend({choices:F.array(F.object({delta:F.object({role:F.enum(["assistant"]).optional(),content:F.string().nullish(),reasoning:F.string().nullish().optional(),reasoning_details:DS1.nullish(),images:GX6.nullish(),tool_calls:F.array(F.object({index:F.number().nullish(),id:F.string().nullish(),type:F.literal("function").optional(),function:F.object({name:F.string().nullish(),arguments:F.string().nullish()}).passthrough()}).passthrough()).nullish(),annotations:F.array(F.union([F.object({type:F.literal("url_citation"),url_citation:F.object({url:F.string(),title:F.string().optional(),start_index:F.number().optional(),end_index:F.number().optional(),content:F.string().optional()}).passthrough()}).passthrough(),F.object({type:F.literal("file_annotation"),file_annotation:F.object({file_id:F.string(),quote:F.string().optional()}).passthrough()}).passthrough(),F.object({type:F.literal("file"),file:F.object({hash:F.string(),name:F.string(),content:F.array(F.object({type:F.string(),text:F.string().optional()}).passthrough()).optional()}).passthrough()}).passthrough()])).nullish()}).passthrough().nullish(),logprobs:F.object({content:F.array(F.object({token:F.string(),logprob:F.number(),top_logprobs:F.array(F.object({token:F.string(),logprob:F.number()}).passthrough())}).passthrough()).nullable()}).passthrough().nullish(),finish_reason:F.string().nullable().optional(),index:F.number().nullish()}).passthrough())}),X41]);FY6=F.union([F.object({id:F.string().optional(),model:F.string().optional(),provider:F.string().optional(),choices:F.array(F.object({text:F.string(),reasoning:F.string().nullish().optional(),reasoning_details:DS1.nullish(),finish_reason:F.string().nullish(),index:F.number().nullish(),logprobs:F.object({tokens:F.array(F.string()),token_logprobs:F.array(F.number()),top_logprobs:F.array(F.record(F.string(),F.number())).nullable()}).passthrough().nullable().optional()}).passthrough()),usage:F.object({prompt_tokens:F.number(),prompt_tokens_details:F.object({cached_tokens:F.number(),cache_write_tokens:F.number().nullish()}).passthrough().nullish(),completion_tokens:F.number(),completion_tokens_details:F.object({reasoning_tokens:F.number()}).passthrough().nullish(),total_tokens:F.number(),cost:F.number().optional(),cost_details:F.object({upstream_inference_cost:F.number().nullish()}).passthrough().nullish()}).passthrough().nullish()}).passthrough(),X41]),_r4=F.object({prompt_tokens:F.number(),total_tokens:F.number(),cost:F.number().optional()}),vr4=F.object({object:F.literal("embedding"),embedding:F.array(F.number()),index:F.number().optional()}),fr4=F.object({id:F.string().optional(),object:F.literal("list"),data:F.array(vr4),model:F.string(),provider:F.string().optional(),usage:_r4.optional()}),hr4=F.object({id:F.string().optional(),object:F.string().optional(),created:F.number().optional(),model:F.string(),choices:F.array(F.object({index:F.number(),message:F.object({role:F.string(),content:F.string().nullable().optional(),images:F.array(F.object({type:F.literal("image_url"),image_url:F.object({url:F.string()})}).passthrough()).optional()}).passthrough(),finish_reason:F.string().nullable().optional()}).passthrough()),usage:F.object({prompt_tokens:F.number(),completion_tokens:F.number(),total_tokens:F.number()}).passthrough().optional()}).passthrough();KZY=OS1({compatibility:"strict"})});var pr4="https://assets.decocache.com/decocms/b2e2f64f-6025-45f7-9e8c-3b3ebdd073d8/openrouter_logojpg.jpg",J41;var NS1=A(()=>{ZX6();J41={info:{id:"openrouter",name:"OpenRouter",description:"Unified API for multiple AI providers",logo:pr4},supportedMethods:["oauth-pkce","api-key"],getOAuthUrl({callbackUrl:Y,codeChallenge:X,codeChallengeMethod:J}){return`https://openrouter.ai/auth?${new URLSearchParams({callback_url:Y,code_challenge:X,code_challenge_method:J})}`},async exchangeOAuthCode({code:Y,codeVerifier:X,codeChallengeMethod:J}){let G=await fetch("https://openrouter.ai/api/v1/auth/keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:Y,code_verifier:X,code_challenge_method:J}),signal:AbortSignal.timeout(30000)});if(!G.ok)throw Error(`OpenRouter OAuth exchange failed: ${G.status}`);let W=await G.json();return{apiKey:W.key,userId:W.user_id}},create(Y){let X=OS1({apiKey:Y}),J={Authorization:`Bearer ${Y}`};return{info:this.info,aiSdk:X,async listModels(){let G=(Q)=>{return{providerId:"openrouter",modelId:Q.id,title:Q.name,description:Q.description??null,logo:null,capabilities:[...new Set([...Q.architecture.input_modalities,...Q.architecture.output_modalities,...Q.supported_parameters?.includes("tools")?["tools"]:[],...Q.supported_parameters?.includes("reasoning")?["reasoning"]:[]])],limits:{contextWindow:Q.context_length??0,maxOutputTokens:Q.top_provider.max_completion_tokens||null},costs:{input:Q.pricing.prompt??0,output:Q.pricing.completion??0}}},W=await fetch("https://openrouter.ai/api/v1/models",{headers:J,signal:AbortSignal.timeout(30000)});if(!W.ok)throw Error(`OpenRouter listModels failed: ${W.status}`);let{data:K}=await W.json();return K.map(G)}}}}});var G41,QX6;var KX6=A(()=>{NS1();FW();G41=x4.DECO_AI_GATEWAY_URL??"https://ai-site.decocache.com",QX6={info:{id:"deco",name:"Deco AI Gateway",description:"Deco-managed keys with access to 100+ models",logo:"/logos/deco logo.svg"},supportedMethods:["oauth-pkce","api-key"],getOAuthUrl({callbackUrl:Y,codeChallenge:X,codeChallengeMethod:J,organizationId:G}){let W=new URLSearchParams({redirect_uri:Y,code_challenge:X,code_challenge_method:J,organization_id:G});return`${G41}/oauth/authorize?${W}`},async exchangeOAuthCode({code:Y,codeVerifier:X}){let J=await fetch(`${G41}/oauth/token`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:Y,code_verifier:X,grant_type:"authorization_code"}),signal:AbortSignal.timeout(30000)});if(!J.ok)throw Error(`Deco AI Gateway OAuth exchange failed: ${J.status}`);return{apiKey:(await J.json()).key}},async getTopUpUrl(Y,X,J="usd"){let G=await fetch(`${G41}/api/credits/topup`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Y}`},body:JSON.stringify({amountCents:X,currency:J}),signal:AbortSignal.timeout(1e4)});if(!G.ok)throw Error(`Failed to create top-up checkout: ${G.status}`);return(await G.json()).url},async getCreditsBalance(Y,X){let J=await fetch(`${G41}/api/teams/${X}/balance`,{headers:{Authorization:`Bearer ${Y}`},signal:AbortSignal.timeout(1e4)});if(!J.ok)throw Error(`Failed to fetch credits balance: ${J.status}`);return{balanceCents:(await J.json()).balance_cents}},create(Y){return{...J41.create(Y),info:this.info}}}});var nr4,JK;var hw=A(()=>{V96();R96();NS1();KX6();FW();nr4=x4.DECO_AI_GATEWAY_ENABLED,JK={...nr4&&{deco:QX6},anthropic:F96,google:T96,openrouter:J41}});var wS1;var HX6=A(()=>{r1();p0();hw();wS1=h1({name:"AI_PROVIDERS_LIST",description:"List all available AI providers that can be connected with an API key",inputSchema:u0.object({}),outputSchema:u0.object({providers:u0.array(u0.object({id:u0.string(),name:u0.string(),description:u0.string(),logo:u0.string().optional(),supportedMethods:u0.array(u0.enum(["api-key","oauth-pkce"])),supportsTopUp:u0.boolean().optional(),supportsCredits:u0.boolean().optional()}))}),handler:async(Y,X)=>{return X0(X),U0(X),await X.access.check(),{providers:Object.values(JK).filter((G)=>!!G).map((G)=>({...G.info,supportedMethods:G.supportedMethods,supportsTopUp:!!G.getTopUpUrl,supportsCredits:!!G.getCreditsBalance}))}}})});var W41;var MS1=A(()=>{W41=["owner","admin"]});function ir4(Y){if(!Y)return;if(!("models"in Y))return;return Y.models??void 0}function $X6(Y,X){if(!Y)return!0;if(Y.includes("*:*"))return!0;return Y.some((J)=>J.startsWith(`${X}:`))}function FX6(Y,X,J){if(!Y)return!0;return Y.includes("*:*")||Y.includes(`${X}:*`)||Y.includes(`${X}:${J}`)}async function Z41(Y,X,J){if(!J||W41.includes(J))return;let G=await Y.selectFrom("organizationRole").select(["permission"]).where("organizationId","=",X).where("role","=",J).executeTakeFirst();if(!G?.permission)return;try{let W=JSON.parse(G.permission);return ir4(W)}catch{return console.error(`[model-permissions] Failed to parse permissions for role: ${J}`),[]}}var AS1=A(()=>{MS1()});var PS1;var VX6=A(()=>{r1();p0();AS1();PS1=h1({name:"AI_PROVIDERS_LIST_MODELS",description:"List models available from an AI provider using a specific API key",inputSchema:u0.object({keyId:u0.string().describe("The provider key ID to use")}),outputSchema:u0.object({models:u0.array(u0.object({providerId:u0.string(),modelId:u0.string(),title:u0.string(),description:u0.string().nullish(),logo:u0.string().nullish(),capabilities:u0.array(u0.string()),limits:u0.object({contextWindow:u0.coerce.number(),maxOutputTokens:u0.coerce.number().nullable()}).nullish(),costs:u0.object({input:u0.coerce.number(),output:u0.coerce.number()}).nullish()}))}),handler:async(Y,X)=>{X0(X);let J=U0(X);await X.access.check();let G=await Z41(X.db,J.id,X.auth.user?.role);return{models:(await X.aiProviders.listModels(Y.keyId,J.id)).filter((Z)=>FX6(G,Y.keyId,Z.modelId))}}})});var ES1;var zX6=A(()=>{r1();p0();hw();ES1=h1({name:"AI_PROVIDERS_ACTIVE",description:"List AI providers that have at least one API key configured",inputSchema:u0.object({}),outputSchema:u0.object({providers:u0.array(u0.object({id:u0.string(),name:u0.string(),description:u0.string(),logo:u0.string().optional(),keyCount:u0.number()}))}),handler:async(Y,X)=>{X0(X);let J=U0(X);await X.access.check();let G=await X.storage.aiProviderKeys.list({organizationId:J.id}),W=new Map;for(let Z of G)W.set(Z.providerId,(W.get(Z.providerId)??0)+1);return{providers:[...W.entries()].flatMap(([Z,Q])=>{let H=JK[Z];if(!H)return console.warn(`AI provider "${Z}" has stored keys but is not in the registry; skipping.`),[];return[{...H.info,keyCount:Q}]})}}})});var bw=A(()=>{wX()});var TS1,RS1;var CS1=A(()=>{r1();p0();bw();TS1=u0.object({id:u0.string(),providerId:u0.string(),label:u0.string(),createdAt:u0.string()}),RS1=h1({name:"AI_PROVIDER_KEY_CREATE",description:"Store an API key for an AI provider",inputSchema:u0.object({providerId:u0.enum(a7),label:u0.string().min(1).max(100),apiKey:u0.string().min(1)}),outputSchema:TS1,handler:async(Y,X)=>{X0(X);let J=U0(X);await X.access.check();let G=await X.storage.aiProviderKeys.create({providerId:Y.providerId,label:Y.label,apiKey:Y.apiKey,organizationId:J.id,createdBy:X.auth.user.id});return{id:G.id,providerId:G.providerId,label:G.label,createdAt:G.createdAt}}})});var IS1;var UX6=A(()=>{r1();p0();IS1=h1({name:"AI_PROVIDER_KEY_DELETE",description:"Delete a stored AI provider API key",inputSchema:u0.object({keyId:u0.string().describe("The provider key ID to delete")}),outputSchema:u0.object({success:u0.boolean()}),handler:async(Y,X)=>{X0(X);let J=U0(X);return await X.access.check(),await X.storage.aiProviderKeys.delete(Y.keyId,J.id),{success:!0}}})});var SS1;var qX6=A(()=>{r1();p0();bw();AS1();SS1=h1({name:"AI_PROVIDER_KEY_LIST",description:"List stored API keys for AI providers (metadata only, no secrets)",inputSchema:u0.object({providerId:u0.enum(a7).optional()}),outputSchema:u0.object({keys:u0.array(u0.object({id:u0.string(),providerId:u0.string(),label:u0.string(),createdBy:u0.string(),createdAt:u0.string()}))}),handler:async(Y,X)=>{X0(X);let J=U0(X);await X.access.check();let[G,W]=await Promise.all([X.storage.aiProviderKeys.list({organizationId:J.id,providerId:Y.providerId}),Z41(X.db,J.id,X.auth.user?.role)]);return{keys:G.filter((Z)=>$X6(W,Z.id)).map(({organizationId:Z,...Q})=>Q)}}})});import{createHash as ar4,randomBytes as rr4}from"crypto";function DX6(){return rr4(32).toString("base64url")}function BX6(Y){return ar4("sha256").update(Y).digest("base64url")}var LX6=()=>{};var jS1;var OX6=A(()=>{r1();p0();bw();hw();LX6();FW();jS1=h1({name:"AI_PROVIDER_OAUTH_URL",description:"Get the OAuth authorization URL for a provider that supports OAuth PKCE",inputSchema:u0.object({providerId:u0.enum(a7),callbackUrl:u0.string().url().refine((Y)=>{let X=x4.BASE_URL??`http://localhost:${x4.PORT}`;return new URL(Y).origin===new URL(X).origin},{message:"callbackUrl must be on the same origin as BASE_URL"})}),outputSchema:u0.object({url:u0.string(),stateToken:u0.string().describe("Opaque token \u2014 pass to AI_PROVIDER_OAUTH_EXCHANGE")}),handler:async(Y,X)=>{X0(X);let J=U0(X);await X.access.check();let G=JK[Y.providerId];if(!G)throw Error(`Unknown provider: ${Y.providerId}`);if(!G.supportedMethods.includes("oauth-pkce")||!G.getOAuthUrl)throw Error(`Provider ${Y.providerId} does not support OAuth PKCE`);let W=DX6(),K=BX6(W),Z=await X.storage.oauthPkceStates.create(W,J.id,X.auth.user.id),Q=new URL(Y.callbackUrl);Q.searchParams.set("state",Z);let H={callbackUrl:Q.toString(),codeChallenge:K,codeChallengeMethod:"S256",organizationId:J.id};return{url:G.getOAuthUrl(H),stateToken:Z}}})});var kS1;var NX6=A(()=>{r1();p0();bw();hw();CS1();kS1=h1({name:"AI_PROVIDER_OAUTH_EXCHANGE",description:"Exchange an OAuth authorization code for an API key and store it",inputSchema:u0.object({providerId:u0.enum(a7),code:u0.string(),stateToken:u0.string().describe("The stateToken returned by AI_PROVIDER_OAUTH_URL"),label:u0.string().min(1).max(100).default("Connected via OAuth")}),outputSchema:TS1,handler:async(Y,X)=>{X0(X);let J=U0(X);await X.access.check();let G=JK[Y.providerId];if(!G)throw Error(`Unknown provider: ${Y.providerId}`);if(!G.supportedMethods.includes("oauth-pkce")||!G.exchangeOAuthCode)throw Error(`Provider ${Y.providerId} does not support OAuth PKCE`);let W=Z9(X);if(!W)throw Error("Unable to determine user ID");let K=await X.storage.oauthPkceStates.consume(Y.stateToken,J.id,W),{apiKey:Z}=await G.exchangeOAuthCode({code:Y.code,codeVerifier:K,codeChallengeMethod:"S256"}),Q=await X.storage.aiProviderKeys.upsert({providerId:Y.providerId,label:Y.label,apiKey:Z,organizationId:J.id,createdBy:W});return{id:Q.id,providerId:Q.providerId,label:Q.label,createdAt:Q.createdAt}}})});var _S1;var wX6=A(()=>{r1();p0();bw();hw();_S1=h1({name:"AI_PROVIDER_TOPUP_URL",description:"Get a checkout URL to top up credits for a provider that supports it (e.g. Deco AI Gateway)",inputSchema:u0.object({providerId:u0.enum(a7),keyId:u0.string().describe("The ID of the stored provider key to top up"),amountCents:u0.number().int().positive().describe("Amount in cents (e.g. 1000 = $10.00)"),currency:u0.enum(["usd","brl"]).default("usd")}),outputSchema:u0.object({url:u0.string().describe("Checkout URL \u2014 open in browser to complete payment")}),handler:async(Y,X)=>{X0(X);let J=U0(X);await X.access.check();let G=JK[Y.providerId];if(!G)throw Error(`Unknown provider: ${Y.providerId}`);if(!G.getTopUpUrl)throw Error(`Provider ${Y.providerId} does not support credit top-ups`);let{apiKey:W}=await X.storage.aiProviderKeys.resolve(Y.keyId,J.id);return{url:await G.getTopUpUrl(W,Y.amountCents,Y.currency)}}})});var vS1;var MX6=A(()=>{r1();p0();bw();hw();EE1();vS1=h1({name:"AI_PROVIDER_CREDITS",description:"Get the current credit balance for a provider (providers that support it, e.g. Deco AI Gateway)",inputSchema:u0.object({providerId:u0.enum(a7)}),outputSchema:u0.object({balanceCents:u0.number().describe("Remaining balance in cents (e.g. 1000 = $10.00)")}),handler:async(Y,X)=>{X0(X);let J=U0(X);await X.access.check();let G=Z9(X);if(!G)throw Error("Unable to determine user ID");let W=JK[Y.providerId];if(!W)throw Error(`Unknown provider: ${Y.providerId}`);if(!W.getCreditsBalance)throw Error(`Provider ${Y.providerId} does not expose a credits balance`);let K=await po0(G);return W.getCreditsBalance(K,J.id)}})});var AX6=A(()=>{HX6();VX6();zX6();CS1();UX6();qX6();OX6();NX6();wX6();MX6()});var EX6={};M6(EX6,{managementMCP:()=>er4,ALL_TOOLS:()=>PX6});var sr4,tr4,PX6,er4=async(Y)=>{let X=null;if(Y.organization){let W=await Y.storage.organizationSettings.get(Y.organization.id),K=await Y.storage.projects.list(Y.organization.id),Z=new Set(W?.enabled_plugins??[]);for(let Q of K)if(Q.enabledPlugins)for(let H of Q.enabledPlugins)Z.add(H);X=Z.size>0?[...Z]:null}let J=JX0(PX6,X),G=new gA({name:"mcp-mesh-management",version:"1.0.0"},{capabilities:{tools:{}}});for(let W of J){let K=W.inputSchema&&typeof W.inputSchema==="object"&&"shape"in W.inputSchema?W.inputSchema:F.object({}),Z=W.outputSchema&&typeof W.outputSchema==="object"&&"shape"in W.outputSchema?W.outputSchema:void 0,Q=K.shape,H=Z?.shape;G.registerTool(W.name,{description:W.description??"",inputSchema:Q,outputSchema:H,annotations:W.annotations,_meta:W._meta},async($)=>{Y.access.setToolName(W.name);try{let V=await W.execute($,Y);return{content:[{type:"text",text:JSON.stringify(V)}],structuredContent:V}}catch(V){return{content:[{type:"text",text:`Error: ${V.message}`}],isError:!0}}})}return G};var TX6=A(()=>{Qa();xc();r1();Fo0();ko0();G66();K66();L66();E66();j66();v66();l66();Y46();U46();N46();k46();n46();a46();AX6();sr4=[WC1,ZC1,QC1,KC1,HC1,FC1,VC1,zC1,UC1,qC1,DC1,LE1,wE1,ME1,CR1,IR1,SR1,bR1,gR1,uR1,mR1,lR1,dR1,cR1,pR1,nR1,iR1,Q66,aR1,rR1,sR1,tR1,eR1,YC1,XC1,JC1,GC1,$E1,VE1,zE1,FE1,jR1,kR1,_R1,vR1,fR1,yR1,hR1,aC1,qE1,DE1,BE1,_C1,vC1,fC1,yC1,hC1,bC1,CC1,IC1,SC1,jC1,kC1,xC1,gC1,uC1,mC1,lC1,pC1,nC1,iC1,BC1,LC1,OC1,NC1,wC1,MC1,AC1,PC1,EC1,TC1,RC1,wS1,PS1,ES1,RS1,IS1,SS1,jS1,kS1,_S1,vS1],tr4=GX0(),PX6=[...sr4,...tr4]});function Yo4(Y){return[{permissions:{self:["*"]},getTools:async()=>{let{ALL_TOOLS:X}=await Promise.resolve().then(() => (TX6(),EX6));return X.map((J)=>{return{name:J.name,inputSchema:F.toJSONSchema(J.inputSchema,{unrepresentable:"any"}),outputSchema:J.outputSchema?F.toJSONSchema(J.outputSchema,{unrepresentable:"any"}):void 0,description:J.description}})},data:mZ1(LH(),Y)},{data:uZ1()},{data:gZ1(Y)}]}async function RX6(Y,X){try{let J=Ww(),G=new iP1(x4.ENCRYPTION_KEY),W=new aP1(J.db,G),K=new rP1(J.db),Z=Yo4(Y);try{await K.create({organizationId:Y,slug:PK,name:RM,description:"Organization administration and settings",enabledPlugins:null,ui:null})}catch(Q){console.warn("Could not create org-admin project (may already exist):",Q)}await Promise.all(Z.map(async(Q)=>{let H=null;if(Q.permissions)H=(await dR.api.createApiKey({body:{name:`${Q.data.app_name??crypto.randomUUID()}-mcp`,userId:X,permissions:Q.permissions,rateLimitEnabled:!1,metadata:{organization:{id:Y},purpose:"default-org-connections"}}}))?.key;let $=await oT({id:"pending",title:Q.data.title,connection_type:Q.data.connection_type,connection_url:Q.data.connection_url,connection_token:Q.data.connection_token,connection_headers:Q.data.connection_headers}).catch(()=>null),V=await Q.getTools?.()??$?.tools??null,z=$?.scopes?.length?$.scopes:null,U=Q.data.id?Q.data.id.startsWith(`${Y}_`)?Q.data.id:`${Y}_${Q.data.id}`:void 0;await W.create({...Q.data,id:U,tools:V,configuration_scopes:z,organization_id:Y,created_by:X,connection_token:Q.data.connection_token??H})}))}catch(J){console.error("Error creating default MCP connections:",J)}}var CX6=A(()=>{wX();kE();fh();Gr0();Wr0();Zr0();d11();r1();FW();t11()});async function Jo4(Y){let{user:X,token:J}=Y;if(!J?.idToken)return;let G;try{G=_9(J.idToken)}catch{return}let{preferred_username:W,upn:K}=G,Z=[W,K].filter(($)=>typeof $==="string"&&$.length>0&&$.toLowerCase()!==X.email.toLowerCase()).map(($)=>$.toLowerCase());if(Z.length===0)return;let{db:Q}=Ww(),H=await Q.selectFrom("user").selectAll().where("email","in",Z).where("id","!=",X.id).executeTakeFirst();if(!H)return;console.info(`[SSO] Merging duplicate user ${X.id} (${X.email}) into original ${H.id} (${H.email})`);try{await Q.transaction().execute(async($)=>{await S1`UPDATE "account" SET "userId" = ${H.id} WHERE "userId" = ${X.id}`.execute($),await S1`UPDATE "session" SET "userId" = ${H.id} WHERE "userId" = ${X.id}`.execute($),await S1`
1582
+ Error message: ${NY6(J)}`,cause:J});this[e96]=!0,this.value=X}static isInstance(X){return GY.hasMarker(X,uY6)}static wrap({value:X,cause:J}){return Y.isInstance(J)&&J.value===X?J:new Y({value:X,cause:J})}},lY6=`vercel.ai.error.${mY6}`,ai4=Symbol.for(lY6),hz=class extends(JY6=GY,XY6=ai4,JY6){constructor({functionality:Y,message:X=`'${Y}' functionality not supported.`}){super({name:mY6,message:X});this[XY6]=!0,this.functionality=Y}static isInstance(Y){return GY.hasMarker(Y,lY6)}},GY6=class extends Error{constructor(Y,X){super(Y),this.name="ParseError",this.type=X.type,this.field=X.field,this.value=X.value,this.line=X.line}};si4=class extends TransformStream{constructor({onError:Y,onRetry:X,onComment:J}={}){let G;super({start(W){G=ri4({onEvent:(K)=>{W.enqueue(K)},onError(K){Y==="terminate"?W.error(K):typeof Y=="function"&&Y(K)},onRetry:X,onComment:J})},transform(W){G.feed(W)}})}};({btoa:ti4,atob:aWY}=globalThis);cY6=`vercel.ai.error.${dY6}`,Ya4=Symbol.for(cY6),rWY=class extends(ZY6=GY,WY6=Ya4,ZY6){constructor({url:Y,statusCode:X,statusText:J,cause:G,message:W=G==null?`Failed to download ${Y}: ${X} ${J}`:`Failed to download ${Y}: ${G}`}){super({name:dY6,message:W,cause:G});this[WY6]=!0,this.url=Y,this.statusCode=X,this.statusText=J}static isInstance(Y){return GY.hasMarker(Y,cY6)}},nH=Xa4();Ja4=["fetch failed","failed to fetch"];$a4=/"__proto__"\s*:/,Fa4=/"constructor"\s*:/;za4=Symbol("Let zodToJsonSchema decide on which parser to use"),KY6={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"};cH={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(JS1===void 0)JS1=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return JS1},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-_]*$/};Ta4=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");KS1={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};HS1=Symbol.for("vercel.ai.schema");tY6=((Y)=>{return Y.Unknown="unknown",Y.OpenAIResponsesV1="openai-responses-v1",Y.XAIResponsesV1="xai-responses-v1",Y.AnthropicClaudeV1="anthropic-claude-v1",Y.GoogleGeminiV1="google-gemini-v1",Y})(tY6||{}),US1=F.object({id:F.string().nullish(),format:F.enum(tY6).nullish(),index:F.number().optional()}).loose(),zr4=F.object({type:F.literal("reasoning.summary"),summary:F.string()}).extend(US1.shape),Ur4=F.object({type:F.literal("reasoning.encrypted"),data:F.string()}).extend(US1.shape),qr4=F.object({type:F.literal("reasoning.text"),text:F.string().nullish(),signature:F.string().nullish()}).extend(US1.shape),qS1=F.union([zr4,Ur4,qr4]),p61=F.union([qS1,F.unknown().transform(()=>null)]),DS1=F.array(p61).transform((Y)=>Y.filter((X)=>!!X)),sWY=F.union([F.object({delta:F.object({reasoning_details:F.array(p61)})}).transform((Y)=>Y.delta.reasoning_details.filter(ZS1)),F.object({message:F.object({reasoning_details:F.array(p61)})}).transform((Y)=>Y.message.reasoning_details.filter(ZS1)),F.object({text:F.string(),reasoning_details:F.array(p61)}).transform((Y)=>Y.reasoning_details.filter(ZS1))]),X41=F.object({error:F.object({code:F.union([F.string(),F.number()]).nullable().optional().default(null),message:F.string(),type:F.string().nullable().optional().default(null),param:F.any().nullable().optional().default(null)}).passthrough()}).passthrough();lR=Fr4({errorSchema:X41,errorToMessage:Dr4}),eY6=F.object({type:F.literal("file"),file:F.object({hash:F.string(),name:F.string(),content:F.array(F.object({type:F.string(),text:F.string().optional()}).catchall(F.any())).optional()}).catchall(F.any())}).catchall(F.any()),BS1=F.object({provider:F.string(),reasoning_details:F.array(qS1).optional(),annotations:F.array(eY6).optional(),usage:F.object({promptTokens:F.number(),promptTokensDetails:F.object({cachedTokens:F.number()}).catchall(F.any()).optional(),completionTokens:F.number(),completionTokensDetails:F.object({reasoningTokens:F.number()}).catchall(F.any()).optional(),totalTokens:F.number(),cost:F.number().optional(),costDetails:F.object({upstreamInferenceCost:F.number()}).catchall(F.any()).optional()}).catchall(F.any())}).catchall(F.any()),YX6=F.object({openrouter:F.object({reasoning_details:F.array(qS1).optional(),annotations:F.array(eY6).optional()}).optional()}).optional();n61=new WeakMap;Or4=["wav","mp3","aiff","aac","ogg","flac","m4a","pcm16","pcm24"];Nr4={mpeg:"mp3",mp3:"mp3","x-wav":"wav",wave:"wav",wav:"wav",ogg:"ogg",vorbis:"ogg",aac:"aac","x-aac":"aac",m4a:"m4a","x-m4a":"m4a",mp4:"m4a",aiff:"aiff","x-aiff":"aiff",flac:"flac","x-flac":"flac",pcm16:"pcm16",pcm24:"pcm24"};XZY=F.union([F.literal("auto"),F.literal("none"),F.literal("required"),F.object({type:F.literal("function"),function:F.object({name:F.string()})})]);Tr4=F.object({type:F.literal("image_url"),image_url:F.object({url:F.string()}).passthrough()}).passthrough(),Rr4=F.union([Tr4,F.unknown().transform(()=>null)]),GX6=F.array(Rr4).transform((Y)=>Y.filter((X)=>!!X)),WX6=F.object({id:F.string().optional(),model:F.string().optional(),provider:F.string().optional(),usage:F.object({prompt_tokens:F.number(),prompt_tokens_details:F.object({cached_tokens:F.number(),cache_write_tokens:F.number().nullish()}).passthrough().nullish(),completion_tokens:F.number(),completion_tokens_details:F.object({reasoning_tokens:F.number()}).passthrough().nullish(),total_tokens:F.number(),cost:F.number().optional(),cost_details:F.object({upstream_inference_cost:F.number().nullish()}).passthrough().nullish()}).passthrough().nullish()}).passthrough(),Cr4=F.union([WX6.extend({choices:F.array(F.object({message:F.object({role:F.literal("assistant"),content:F.string().nullable().optional(),reasoning:F.string().nullable().optional(),reasoning_details:DS1.nullish(),images:GX6.nullish(),tool_calls:F.array(F.object({id:F.string().optional().nullable(),type:F.literal("function"),function:F.object({name:F.string(),arguments:F.string().optional()}).passthrough()}).passthrough()).optional(),annotations:F.array(F.union([F.object({type:F.literal("url_citation"),url_citation:F.object({url:F.string(),title:F.string().optional(),start_index:F.number().optional(),end_index:F.number().optional(),content:F.string().optional()}).passthrough()}).passthrough(),F.object({type:F.literal("file_annotation"),file_annotation:F.object({file_id:F.string(),quote:F.string().optional()}).passthrough()}).passthrough(),F.object({type:F.literal("file"),file:F.object({hash:F.string(),name:F.string(),content:F.array(F.object({type:F.string(),text:F.string().optional()}).passthrough()).optional()}).passthrough()}).passthrough()])).nullish()}).passthrough(),index:F.number().nullish(),logprobs:F.object({content:F.array(F.object({token:F.string(),logprob:F.number(),top_logprobs:F.array(F.object({token:F.string(),logprob:F.number()}).passthrough())}).passthrough()).nullable()}).passthrough().nullable().optional(),finish_reason:F.string().optional().nullable()}).passthrough())}),X41.extend({user_id:F.string().optional()})]),Ir4=F.union([WX6.extend({choices:F.array(F.object({delta:F.object({role:F.enum(["assistant"]).optional(),content:F.string().nullish(),reasoning:F.string().nullish().optional(),reasoning_details:DS1.nullish(),images:GX6.nullish(),tool_calls:F.array(F.object({index:F.number().nullish(),id:F.string().nullish(),type:F.literal("function").optional(),function:F.object({name:F.string().nullish(),arguments:F.string().nullish()}).passthrough()}).passthrough()).nullish(),annotations:F.array(F.union([F.object({type:F.literal("url_citation"),url_citation:F.object({url:F.string(),title:F.string().optional(),start_index:F.number().optional(),end_index:F.number().optional(),content:F.string().optional()}).passthrough()}).passthrough(),F.object({type:F.literal("file_annotation"),file_annotation:F.object({file_id:F.string(),quote:F.string().optional()}).passthrough()}).passthrough(),F.object({type:F.literal("file"),file:F.object({hash:F.string(),name:F.string(),content:F.array(F.object({type:F.string(),text:F.string().optional()}).passthrough()).optional()}).passthrough()}).passthrough()])).nullish()}).passthrough().nullish(),logprobs:F.object({content:F.array(F.object({token:F.string(),logprob:F.number(),top_logprobs:F.array(F.object({token:F.string(),logprob:F.number()}).passthrough())}).passthrough()).nullable()}).passthrough().nullish(),finish_reason:F.string().nullable().optional(),index:F.number().nullish()}).passthrough())}),X41]);FY6=F.union([F.object({id:F.string().optional(),model:F.string().optional(),provider:F.string().optional(),choices:F.array(F.object({text:F.string(),reasoning:F.string().nullish().optional(),reasoning_details:DS1.nullish(),finish_reason:F.string().nullish(),index:F.number().nullish(),logprobs:F.object({tokens:F.array(F.string()),token_logprobs:F.array(F.number()),top_logprobs:F.array(F.record(F.string(),F.number())).nullable()}).passthrough().nullable().optional()}).passthrough()),usage:F.object({prompt_tokens:F.number(),prompt_tokens_details:F.object({cached_tokens:F.number(),cache_write_tokens:F.number().nullish()}).passthrough().nullish(),completion_tokens:F.number(),completion_tokens_details:F.object({reasoning_tokens:F.number()}).passthrough().nullish(),total_tokens:F.number(),cost:F.number().optional(),cost_details:F.object({upstream_inference_cost:F.number().nullish()}).passthrough().nullish()}).passthrough().nullish()}).passthrough(),X41]),_r4=F.object({prompt_tokens:F.number(),total_tokens:F.number(),cost:F.number().optional()}),vr4=F.object({object:F.literal("embedding"),embedding:F.array(F.number()),index:F.number().optional()}),fr4=F.object({id:F.string().optional(),object:F.literal("list"),data:F.array(vr4),model:F.string(),provider:F.string().optional(),usage:_r4.optional()}),hr4=F.object({id:F.string().optional(),object:F.string().optional(),created:F.number().optional(),model:F.string(),choices:F.array(F.object({index:F.number(),message:F.object({role:F.string(),content:F.string().nullable().optional(),images:F.array(F.object({type:F.literal("image_url"),image_url:F.object({url:F.string()})}).passthrough()).optional()}).passthrough(),finish_reason:F.string().nullable().optional()}).passthrough()),usage:F.object({prompt_tokens:F.number(),completion_tokens:F.number(),total_tokens:F.number()}).passthrough().optional()}).passthrough();KZY=OS1({compatibility:"strict"})});var pr4="https://assets.decocache.com/decocms/b2e2f64f-6025-45f7-9e8c-3b3ebdd073d8/openrouter_logojpg.jpg",J41;var NS1=A(()=>{ZX6();J41={info:{id:"openrouter",name:"OpenRouter",description:"Unified API for multiple AI providers",logo:pr4},supportedMethods:["oauth-pkce","api-key"],getOAuthUrl({callbackUrl:Y,codeChallenge:X,codeChallengeMethod:J}){return`https://openrouter.ai/auth?${new URLSearchParams({callback_url:Y,code_challenge:X,code_challenge_method:J})}`},async exchangeOAuthCode({code:Y,codeVerifier:X,codeChallengeMethod:J}){let G=await fetch("https://openrouter.ai/api/v1/auth/keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:Y,code_verifier:X,code_challenge_method:J}),signal:AbortSignal.timeout(30000)});if(!G.ok)throw Error(`OpenRouter OAuth exchange failed: ${G.status}`);let W=await G.json();return{apiKey:W.key,userId:W.user_id}},create(Y){let X=OS1({apiKey:Y}),J={Authorization:`Bearer ${Y}`};return{info:this.info,aiSdk:X,async listModels(){let G=(Q)=>{return{providerId:"openrouter",modelId:Q.id,title:Q.name,description:Q.description??null,logo:null,capabilities:[...new Set([...Q.architecture.input_modalities,...Q.architecture.output_modalities,...Q.supported_parameters?.includes("tools")?["tools"]:[],...Q.supported_parameters?.includes("reasoning")?["reasoning"]:[]])],limits:{contextWindow:Q.context_length??0,maxOutputTokens:Q.top_provider.max_completion_tokens||null},costs:{input:Number(Q.pricing.prompt)||0,output:Number(Q.pricing.completion)||0}}},W=await fetch("https://openrouter.ai/api/v1/models",{headers:J,signal:AbortSignal.timeout(30000)});if(!W.ok)throw Error(`OpenRouter listModels failed: ${W.status}`);let{data:K}=await W.json();return K.map(G)}}}}});var G41,QX6;var KX6=A(()=>{NS1();FW();G41=x4.DECO_AI_GATEWAY_URL??"https://ai-site.decocache.com",QX6={info:{id:"deco",name:"Deco AI Gateway",description:"Deco-managed keys with access to 100+ models",logo:"/logos/deco logo.svg"},supportedMethods:["oauth-pkce","api-key"],getOAuthUrl({callbackUrl:Y,codeChallenge:X,codeChallengeMethod:J,organizationId:G}){let W=new URLSearchParams({redirect_uri:Y,code_challenge:X,code_challenge_method:J,organization_id:G});return`${G41}/oauth/authorize?${W}`},async exchangeOAuthCode({code:Y,codeVerifier:X}){let J=await fetch(`${G41}/oauth/token`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:Y,code_verifier:X,grant_type:"authorization_code"}),signal:AbortSignal.timeout(30000)});if(!J.ok)throw Error(`Deco AI Gateway OAuth exchange failed: ${J.status}`);return{apiKey:(await J.json()).key}},async getTopUpUrl(Y,X,J="usd"){let G=await fetch(`${G41}/api/credits/topup`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Y}`},body:JSON.stringify({amountCents:X,currency:J}),signal:AbortSignal.timeout(1e4)});if(!G.ok)throw Error(`Failed to create top-up checkout: ${G.status}`);return(await G.json()).url},async getCreditsBalance(Y,X){let J=await fetch(`${G41}/api/teams/${X}/balance`,{headers:{Authorization:`Bearer ${Y}`},signal:AbortSignal.timeout(1e4)});if(!J.ok)throw Error(`Failed to fetch credits balance: ${J.status}`);return{balanceCents:(await J.json()).balance_cents}},create(Y){return{...J41.create(Y),info:this.info}}}});var nr4,JK;var hw=A(()=>{V96();R96();NS1();KX6();FW();nr4=x4.DECO_AI_GATEWAY_ENABLED,JK={...nr4&&{deco:QX6},anthropic:F96,google:T96,openrouter:J41}});var wS1;var HX6=A(()=>{r1();p0();hw();wS1=h1({name:"AI_PROVIDERS_LIST",description:"List all available AI providers that can be connected with an API key",inputSchema:u0.object({}),outputSchema:u0.object({providers:u0.array(u0.object({id:u0.string(),name:u0.string(),description:u0.string(),logo:u0.string().optional(),supportedMethods:u0.array(u0.enum(["api-key","oauth-pkce"])),supportsTopUp:u0.boolean().optional(),supportsCredits:u0.boolean().optional()}))}),handler:async(Y,X)=>{return X0(X),U0(X),await X.access.check(),{providers:Object.values(JK).filter((G)=>!!G).map((G)=>({...G.info,supportedMethods:G.supportedMethods,supportsTopUp:!!G.getTopUpUrl,supportsCredits:!!G.getCreditsBalance}))}}})});var W41;var MS1=A(()=>{W41=["owner","admin"]});function ir4(Y){if(!Y)return;if(!("models"in Y))return;return Y.models??void 0}function $X6(Y,X){if(!Y)return!0;if(Y.includes("*:*"))return!0;return Y.some((J)=>J.startsWith(`${X}:`))}function FX6(Y,X,J){if(!Y)return!0;return Y.includes("*:*")||Y.includes(`${X}:*`)||Y.includes(`${X}:${J}`)}async function Z41(Y,X,J){if(!J||W41.includes(J))return;let G=await Y.selectFrom("organizationRole").select(["permission"]).where("organizationId","=",X).where("role","=",J).executeTakeFirst();if(!G?.permission)return;try{let W=JSON.parse(G.permission);return ir4(W)}catch{return console.error(`[model-permissions] Failed to parse permissions for role: ${J}`),[]}}var AS1=A(()=>{MS1()});var PS1;var VX6=A(()=>{r1();p0();AS1();PS1=h1({name:"AI_PROVIDERS_LIST_MODELS",description:"List models available from an AI provider using a specific API key",inputSchema:u0.object({keyId:u0.string().describe("The provider key ID to use")}),outputSchema:u0.object({models:u0.array(u0.object({providerId:u0.string(),modelId:u0.string(),title:u0.string(),description:u0.string().nullish(),logo:u0.string().nullish(),capabilities:u0.array(u0.string()),limits:u0.object({contextWindow:u0.coerce.number(),maxOutputTokens:u0.coerce.number().nullable()}).nullish(),costs:u0.object({input:u0.coerce.number(),output:u0.coerce.number()}).nullish()}))}),handler:async(Y,X)=>{X0(X);let J=U0(X);await X.access.check();let G=await Z41(X.db,J.id,X.auth.user?.role);return{models:(await X.aiProviders.listModels(Y.keyId,J.id)).filter((Z)=>FX6(G,Y.keyId,Z.modelId))}}})});var ES1;var zX6=A(()=>{r1();p0();hw();ES1=h1({name:"AI_PROVIDERS_ACTIVE",description:"List AI providers that have at least one API key configured",inputSchema:u0.object({}),outputSchema:u0.object({providers:u0.array(u0.object({id:u0.string(),name:u0.string(),description:u0.string(),logo:u0.string().optional(),keyCount:u0.number()}))}),handler:async(Y,X)=>{X0(X);let J=U0(X);await X.access.check();let G=await X.storage.aiProviderKeys.list({organizationId:J.id}),W=new Map;for(let Z of G)W.set(Z.providerId,(W.get(Z.providerId)??0)+1);return{providers:[...W.entries()].flatMap(([Z,Q])=>{let H=JK[Z];if(!H)return console.warn(`AI provider "${Z}" has stored keys but is not in the registry; skipping.`),[];return[{...H.info,keyCount:Q}]})}}})});var bw=A(()=>{wX()});var TS1,RS1;var CS1=A(()=>{r1();p0();bw();TS1=u0.object({id:u0.string(),providerId:u0.string(),label:u0.string(),createdAt:u0.string()}),RS1=h1({name:"AI_PROVIDER_KEY_CREATE",description:"Store an API key for an AI provider",inputSchema:u0.object({providerId:u0.enum(a7),label:u0.string().min(1).max(100),apiKey:u0.string().min(1)}),outputSchema:TS1,handler:async(Y,X)=>{X0(X);let J=U0(X);await X.access.check();let G=await X.storage.aiProviderKeys.create({providerId:Y.providerId,label:Y.label,apiKey:Y.apiKey,organizationId:J.id,createdBy:X.auth.user.id});return{id:G.id,providerId:G.providerId,label:G.label,createdAt:G.createdAt}}})});var IS1;var UX6=A(()=>{r1();p0();IS1=h1({name:"AI_PROVIDER_KEY_DELETE",description:"Delete a stored AI provider API key",inputSchema:u0.object({keyId:u0.string().describe("The provider key ID to delete")}),outputSchema:u0.object({success:u0.boolean()}),handler:async(Y,X)=>{X0(X);let J=U0(X);return await X.access.check(),await X.storage.aiProviderKeys.delete(Y.keyId,J.id),{success:!0}}})});var SS1;var qX6=A(()=>{r1();p0();bw();AS1();SS1=h1({name:"AI_PROVIDER_KEY_LIST",description:"List stored API keys for AI providers (metadata only, no secrets)",inputSchema:u0.object({providerId:u0.enum(a7).optional()}),outputSchema:u0.object({keys:u0.array(u0.object({id:u0.string(),providerId:u0.string(),label:u0.string(),createdBy:u0.string(),createdAt:u0.string()}))}),handler:async(Y,X)=>{X0(X);let J=U0(X);await X.access.check();let[G,W]=await Promise.all([X.storage.aiProviderKeys.list({organizationId:J.id,providerId:Y.providerId}),Z41(X.db,J.id,X.auth.user?.role)]);return{keys:G.filter((Z)=>$X6(W,Z.id)).map(({organizationId:Z,...Q})=>Q)}}})});import{createHash as ar4,randomBytes as rr4}from"crypto";function DX6(){return rr4(32).toString("base64url")}function BX6(Y){return ar4("sha256").update(Y).digest("base64url")}var LX6=()=>{};var jS1;var OX6=A(()=>{r1();p0();bw();hw();LX6();FW();jS1=h1({name:"AI_PROVIDER_OAUTH_URL",description:"Get the OAuth authorization URL for a provider that supports OAuth PKCE",inputSchema:u0.object({providerId:u0.enum(a7),callbackUrl:u0.string().url().refine((Y)=>{let X=x4.BASE_URL??`http://localhost:${x4.PORT}`;return new URL(Y).origin===new URL(X).origin},{message:"callbackUrl must be on the same origin as BASE_URL"})}),outputSchema:u0.object({url:u0.string(),stateToken:u0.string().describe("Opaque token \u2014 pass to AI_PROVIDER_OAUTH_EXCHANGE")}),handler:async(Y,X)=>{X0(X);let J=U0(X);await X.access.check();let G=JK[Y.providerId];if(!G)throw Error(`Unknown provider: ${Y.providerId}`);if(!G.supportedMethods.includes("oauth-pkce")||!G.getOAuthUrl)throw Error(`Provider ${Y.providerId} does not support OAuth PKCE`);let W=DX6(),K=BX6(W),Z=await X.storage.oauthPkceStates.create(W,J.id,X.auth.user.id),Q=new URL(Y.callbackUrl);Q.searchParams.set("state",Z);let H={callbackUrl:Q.toString(),codeChallenge:K,codeChallengeMethod:"S256",organizationId:J.id};return{url:G.getOAuthUrl(H),stateToken:Z}}})});var kS1;var NX6=A(()=>{r1();p0();bw();hw();CS1();kS1=h1({name:"AI_PROVIDER_OAUTH_EXCHANGE",description:"Exchange an OAuth authorization code for an API key and store it",inputSchema:u0.object({providerId:u0.enum(a7),code:u0.string(),stateToken:u0.string().describe("The stateToken returned by AI_PROVIDER_OAUTH_URL"),label:u0.string().min(1).max(100).default("Connected via OAuth")}),outputSchema:TS1,handler:async(Y,X)=>{X0(X);let J=U0(X);await X.access.check();let G=JK[Y.providerId];if(!G)throw Error(`Unknown provider: ${Y.providerId}`);if(!G.supportedMethods.includes("oauth-pkce")||!G.exchangeOAuthCode)throw Error(`Provider ${Y.providerId} does not support OAuth PKCE`);let W=Z9(X);if(!W)throw Error("Unable to determine user ID");let K=await X.storage.oauthPkceStates.consume(Y.stateToken,J.id,W),{apiKey:Z}=await G.exchangeOAuthCode({code:Y.code,codeVerifier:K,codeChallengeMethod:"S256"}),Q=await X.storage.aiProviderKeys.upsert({providerId:Y.providerId,label:Y.label,apiKey:Z,organizationId:J.id,createdBy:W});return{id:Q.id,providerId:Q.providerId,label:Q.label,createdAt:Q.createdAt}}})});var _S1;var wX6=A(()=>{r1();p0();bw();hw();_S1=h1({name:"AI_PROVIDER_TOPUP_URL",description:"Get a checkout URL to top up credits for a provider that supports it (e.g. Deco AI Gateway)",inputSchema:u0.object({providerId:u0.enum(a7),keyId:u0.string().describe("The ID of the stored provider key to top up"),amountCents:u0.number().int().positive().describe("Amount in cents (e.g. 1000 = $10.00)"),currency:u0.enum(["usd","brl"]).default("usd")}),outputSchema:u0.object({url:u0.string().describe("Checkout URL \u2014 open in browser to complete payment")}),handler:async(Y,X)=>{X0(X);let J=U0(X);await X.access.check();let G=JK[Y.providerId];if(!G)throw Error(`Unknown provider: ${Y.providerId}`);if(!G.getTopUpUrl)throw Error(`Provider ${Y.providerId} does not support credit top-ups`);let{apiKey:W}=await X.storage.aiProviderKeys.resolve(Y.keyId,J.id);return{url:await G.getTopUpUrl(W,Y.amountCents,Y.currency)}}})});var vS1;var MX6=A(()=>{r1();p0();bw();hw();EE1();vS1=h1({name:"AI_PROVIDER_CREDITS",description:"Get the current credit balance for a provider (providers that support it, e.g. Deco AI Gateway)",inputSchema:u0.object({providerId:u0.enum(a7)}),outputSchema:u0.object({balanceCents:u0.number().describe("Remaining balance in cents (e.g. 1000 = $10.00)")}),handler:async(Y,X)=>{X0(X);let J=U0(X);await X.access.check();let G=Z9(X);if(!G)throw Error("Unable to determine user ID");let W=JK[Y.providerId];if(!W)throw Error(`Unknown provider: ${Y.providerId}`);if(!W.getCreditsBalance)throw Error(`Provider ${Y.providerId} does not expose a credits balance`);let K=await po0(G);return W.getCreditsBalance(K,J.id)}})});var AX6=A(()=>{HX6();VX6();zX6();CS1();UX6();qX6();OX6();NX6();wX6();MX6()});var EX6={};M6(EX6,{managementMCP:()=>er4,ALL_TOOLS:()=>PX6});var sr4,tr4,PX6,er4=async(Y)=>{let X=null;if(Y.organization){let W=await Y.storage.organizationSettings.get(Y.organization.id),K=await Y.storage.projects.list(Y.organization.id),Z=new Set(W?.enabled_plugins??[]);for(let Q of K)if(Q.enabledPlugins)for(let H of Q.enabledPlugins)Z.add(H);X=Z.size>0?[...Z]:null}let J=JX0(PX6,X),G=new gA({name:"mcp-mesh-management",version:"1.0.0"},{capabilities:{tools:{}}});for(let W of J){let K=W.inputSchema&&typeof W.inputSchema==="object"&&"shape"in W.inputSchema?W.inputSchema:F.object({}),Z=W.outputSchema&&typeof W.outputSchema==="object"&&"shape"in W.outputSchema?W.outputSchema:void 0,Q=K.shape,H=Z?.shape;G.registerTool(W.name,{description:W.description??"",inputSchema:Q,outputSchema:H,annotations:W.annotations,_meta:W._meta},async($)=>{Y.access.setToolName(W.name);try{let V=await W.execute($,Y);return{content:[{type:"text",text:JSON.stringify(V)}],structuredContent:V}}catch(V){return{content:[{type:"text",text:`Error: ${V.message}`}],isError:!0}}})}return G};var TX6=A(()=>{Qa();xc();r1();Fo0();ko0();G66();K66();L66();E66();j66();v66();l66();Y46();U46();N46();k46();n46();a46();AX6();sr4=[WC1,ZC1,QC1,KC1,HC1,FC1,VC1,zC1,UC1,qC1,DC1,LE1,wE1,ME1,CR1,IR1,SR1,bR1,gR1,uR1,mR1,lR1,dR1,cR1,pR1,nR1,iR1,Q66,aR1,rR1,sR1,tR1,eR1,YC1,XC1,JC1,GC1,$E1,VE1,zE1,FE1,jR1,kR1,_R1,vR1,fR1,yR1,hR1,aC1,qE1,DE1,BE1,_C1,vC1,fC1,yC1,hC1,bC1,CC1,IC1,SC1,jC1,kC1,xC1,gC1,uC1,mC1,lC1,pC1,nC1,iC1,BC1,LC1,OC1,NC1,wC1,MC1,AC1,PC1,EC1,TC1,RC1,wS1,PS1,ES1,RS1,IS1,SS1,jS1,kS1,_S1,vS1],tr4=GX0(),PX6=[...sr4,...tr4]});function Yo4(Y){return[{permissions:{self:["*"]},getTools:async()=>{let{ALL_TOOLS:X}=await Promise.resolve().then(() => (TX6(),EX6));return X.map((J)=>{return{name:J.name,inputSchema:F.toJSONSchema(J.inputSchema,{unrepresentable:"any"}),outputSchema:J.outputSchema?F.toJSONSchema(J.outputSchema,{unrepresentable:"any"}):void 0,description:J.description}})},data:mZ1(LH(),Y)},{data:uZ1()},{data:gZ1(Y)}]}async function RX6(Y,X){try{let J=Ww(),G=new iP1(x4.ENCRYPTION_KEY),W=new aP1(J.db,G),K=new rP1(J.db),Z=Yo4(Y);try{await K.create({organizationId:Y,slug:PK,name:RM,description:"Organization administration and settings",enabledPlugins:null,ui:null})}catch(Q){console.warn("Could not create org-admin project (may already exist):",Q)}await Promise.all(Z.map(async(Q)=>{let H=null;if(Q.permissions)H=(await dR.api.createApiKey({body:{name:`${Q.data.app_name??crypto.randomUUID()}-mcp`,userId:X,permissions:Q.permissions,rateLimitEnabled:!1,metadata:{organization:{id:Y},purpose:"default-org-connections"}}}))?.key;let $=await oT({id:"pending",title:Q.data.title,connection_type:Q.data.connection_type,connection_url:Q.data.connection_url,connection_token:Q.data.connection_token,connection_headers:Q.data.connection_headers}).catch(()=>null),V=await Q.getTools?.()??$?.tools??null,z=$?.scopes?.length?$.scopes:null,U=Q.data.id?Q.data.id.startsWith(`${Y}_`)?Q.data.id:`${Y}_${Q.data.id}`:void 0;await W.create({...Q.data,id:U,tools:V,configuration_scopes:z,organization_id:Y,created_by:X,connection_token:Q.data.connection_token??H})}))}catch(J){console.error("Error creating default MCP connections:",J)}}var CX6=A(()=>{wX();kE();fh();Gr0();Wr0();Zr0();d11();r1();FW();t11()});async function Jo4(Y){let{user:X,token:J}=Y;if(!J?.idToken)return;let G;try{G=_9(J.idToken)}catch{return}let{preferred_username:W,upn:K}=G,Z=[W,K].filter(($)=>typeof $==="string"&&$.length>0&&$.toLowerCase()!==X.email.toLowerCase()).map(($)=>$.toLowerCase());if(Z.length===0)return;let{db:Q}=Ww(),H=await Q.selectFrom("user").selectAll().where("email","in",Z).where("id","!=",X.id).executeTakeFirst();if(!H)return;console.info(`[SSO] Merging duplicate user ${X.id} (${X.email}) into original ${H.id} (${H.email})`);try{await Q.transaction().execute(async($)=>{await S1`UPDATE "account" SET "userId" = ${H.id} WHERE "userId" = ${X.id}`.execute($),await S1`UPDATE "session" SET "userId" = ${H.id} WHERE "userId" = ${X.id}`.execute($),await S1`
1583
1583
  UPDATE "member" SET "userId" = ${H.id}
1584
1584
  WHERE "userId" = ${X.id}
1585
1585
  AND "organizationId" NOT IN (
@@ -0,0 +1,112 @@
1
+ # pg-cloudflare
2
+
3
+ `pg-cloudflare` makes it easier to take an existing package that relies on `tls` and `net`, and make it work in environments where only `connect()` is supported, such as Cloudflare Workers.
4
+
5
+ `pg-cloudflare` wraps `connect()`, the [TCP Socket API](https://github.com/wintercg/proposal-sockets-api) proposed within WinterCG, and implemented in [Cloudflare Workers](https://developers.cloudflare.com/workers/runtime-apis/tcp-sockets/), and exposes an interface with methods similar to what the `net` and `tls` modules in Node.js expose. (ex: `net.connect(path[, options][, callback])`). This minimizes the number of changes needed in order to make an existing package work across JavaScript runtimes.
6
+
7
+ ## Installation
8
+
9
+ ```
10
+ npm i --save-dev pg-cloudflare
11
+ ```
12
+
13
+ The package uses conditional exports to support bundlers that don't know about
14
+ `cloudflare:sockets`, so the consumer code by default imports an empty file. To
15
+ enable the package, resolve to the `cloudflare` condition in your bundler's
16
+ config. For example:
17
+
18
+ - `webpack.config.js`
19
+ ```js
20
+ export default {
21
+ ...,
22
+ resolve: { conditionNames: [..., "workerd"] },
23
+ plugins: [
24
+ // ignore cloudflare:sockets imports
25
+ new webpack.IgnorePlugin({
26
+ resourceRegExp: /^cloudflare:sockets$/,
27
+ }),
28
+ ],
29
+ }
30
+ ```
31
+ - `vite.config.js`
32
+
33
+ > [!NOTE]
34
+ > If you are using the [Cloudflare Vite plugin](https://www.npmjs.com/package/@cloudflare/vite-plugin) then the following configuration is not necessary.
35
+
36
+ ```js
37
+ export default defineConfig({
38
+ ...,
39
+ resolve: {
40
+ conditions: [..., "workerd"],
41
+ },
42
+ build: {
43
+ ...,
44
+ // don't try to bundle cloudflare:sockets
45
+ rollupOptions: {
46
+ external: [..., 'cloudflare:sockets'],
47
+ },
48
+ },
49
+ })
50
+ ```
51
+
52
+ - `rollup.config.js`
53
+ ```js
54
+ export default defineConfig({
55
+ ...,
56
+ plugins: [..., nodeResolve({ exportConditions: [..., 'workerd'] })],
57
+ // don't try to bundle cloudflare:sockets
58
+ external: [..., 'cloudflare:sockets'],
59
+ })
60
+ ```
61
+ - `esbuild.config.js`
62
+ ```js
63
+ await esbuild.build({
64
+ ...,
65
+ conditions: [..., 'workerd'],
66
+ })
67
+ ```
68
+
69
+ The concrete examples can be found in `packages/pg-bundler-test`.
70
+
71
+ ## How to use conditionally, in non-Node.js environments
72
+
73
+ As implemented in `pg` [here](https://github.com/brianc/node-postgres/commit/07553428e9c0eacf761a5d4541a3300ff7859578#diff-34588ad868ebcb232660aba7ee6a99d1e02f4bc93f73497d2688c3f074e60533R5-R13), a typical use case might look as follows, where in a Node.js environment the `net` module is used, while in a non-Node.js environment, where `net` is unavailable, `pg-cloudflare` is used instead, providing an equivalent interface:
74
+
75
+ ```js
76
+ module.exports.getStream = function getStream(ssl = false) {
77
+ const net = require('net')
78
+ if (typeof net.Socket === 'function') {
79
+ return net.Socket()
80
+ }
81
+ const { CloudflareSocket } = require('pg-cloudflare')
82
+ return new CloudflareSocket(ssl)
83
+ }
84
+ ```
85
+
86
+ ## Node.js implementation of the Socket API proposal
87
+
88
+ If you're looking for a way to rely on `connect()` as the interface you use to interact with raw sockets, but need this interface to be available in a Node.js environment, [`@arrowood.dev/socket`](https://github.com/Ethan-Arrowood/socket) provides a Node.js implementation of the Socket API.
89
+
90
+ ### license
91
+
92
+ The MIT License (MIT)
93
+
94
+ Copyright (c) 2023 Brian M. Carlson
95
+
96
+ Permission is hereby granted, free of charge, to any person obtaining a copy
97
+ of this software and associated documentation files (the "Software"), to deal
98
+ in the Software without restriction, including without limitation the rights
99
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
100
+ copies of the Software, and to permit persons to whom the Software is
101
+ furnished to do so, subject to the following conditions:
102
+
103
+ The above copyright notice and this permission notice shall be included in
104
+ all copies or substantial portions of the Software.
105
+
106
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
107
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
108
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
109
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
110
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
111
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
112
+ THE SOFTWARE.
@@ -0,0 +1,2 @@
1
+ declare const _default: {};
2
+ export default _default;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ // This is an empty module that is served up when outside of a workerd environment
4
+ // See the `exports` field in package.json
5
+ exports.default = {};
6
+ //# sourceMappingURL=empty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty.js","sourceRoot":"","sources":["../src/empty.ts"],"names":[],"mappings":";;AAAA,kFAAkF;AAClF,0CAA0C;AAC1C,kBAAe,EAAE,CAAA"}
@@ -0,0 +1,31 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ /// <reference types="node" />
4
+ import { TlsOptions } from 'cloudflare:sockets';
5
+ import { EventEmitter } from 'events';
6
+ /**
7
+ * Wrapper around the Cloudflare built-in socket that can be used by the `Connection`.
8
+ */
9
+ export declare class CloudflareSocket extends EventEmitter {
10
+ readonly ssl: boolean;
11
+ writable: boolean;
12
+ destroyed: boolean;
13
+ private _upgrading;
14
+ private _upgraded;
15
+ private _cfSocket;
16
+ private _cfWriter;
17
+ private _cfReader;
18
+ constructor(ssl: boolean);
19
+ setNoDelay(): this;
20
+ setKeepAlive(): this;
21
+ ref(): this;
22
+ unref(): this;
23
+ connect(port: number, host: string, connectListener?: (...args: unknown[]) => void): Promise<this | undefined>;
24
+ _listen(): Promise<void>;
25
+ _listenOnce(): Promise<void>;
26
+ write(data: Uint8Array | string, encoding?: BufferEncoding, callback?: (...args: unknown[]) => void): true | void;
27
+ end(data?: Buffer, encoding?: BufferEncoding, callback?: (...args: unknown[]) => void): this;
28
+ destroy(reason: string): this;
29
+ startTls(options: TlsOptions): void;
30
+ _addClosedHandler(): void;
31
+ }
@@ -0,0 +1,152 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CloudflareSocket = void 0;
4
+ const events_1 = require("events");
5
+ /**
6
+ * Wrapper around the Cloudflare built-in socket that can be used by the `Connection`.
7
+ */
8
+ class CloudflareSocket extends events_1.EventEmitter {
9
+ constructor(ssl) {
10
+ super();
11
+ this.ssl = ssl;
12
+ this.writable = false;
13
+ this.destroyed = false;
14
+ this._upgrading = false;
15
+ this._upgraded = false;
16
+ this._cfSocket = null;
17
+ this._cfWriter = null;
18
+ this._cfReader = null;
19
+ }
20
+ setNoDelay() {
21
+ return this;
22
+ }
23
+ setKeepAlive() {
24
+ return this;
25
+ }
26
+ ref() {
27
+ return this;
28
+ }
29
+ unref() {
30
+ return this;
31
+ }
32
+ async connect(port, host, connectListener) {
33
+ try {
34
+ log('connecting');
35
+ if (connectListener)
36
+ this.once('connect', connectListener);
37
+ const options = this.ssl ? { secureTransport: 'starttls' } : {};
38
+ const mod = await import('cloudflare:sockets');
39
+ const connect = mod.connect;
40
+ this._cfSocket = connect(`${host}:${port}`, options);
41
+ this._cfWriter = this._cfSocket.writable.getWriter();
42
+ this._addClosedHandler();
43
+ this._cfReader = this._cfSocket.readable.getReader();
44
+ if (this.ssl) {
45
+ this._listenOnce().catch((e) => this.emit('error', e));
46
+ }
47
+ else {
48
+ this._listen().catch((e) => this.emit('error', e));
49
+ }
50
+ await this._cfWriter.ready;
51
+ log('socket ready');
52
+ this.writable = true;
53
+ this.emit('connect');
54
+ return this;
55
+ }
56
+ catch (e) {
57
+ this.emit('error', e);
58
+ }
59
+ }
60
+ async _listen() {
61
+ // eslint-disable-next-line no-constant-condition
62
+ while (true) {
63
+ log('awaiting receive from CF socket');
64
+ const { done, value } = await this._cfReader.read();
65
+ log('CF socket received:', done, value);
66
+ if (done) {
67
+ log('done');
68
+ break;
69
+ }
70
+ this.emit('data', Buffer.from(value));
71
+ }
72
+ }
73
+ async _listenOnce() {
74
+ log('awaiting first receive from CF socket');
75
+ const { done, value } = await this._cfReader.read();
76
+ log('First CF socket received:', done, value);
77
+ this.emit('data', Buffer.from(value));
78
+ }
79
+ write(data, encoding = 'utf8', callback = () => { }) {
80
+ if (data.length === 0)
81
+ return callback();
82
+ if (typeof data === 'string')
83
+ data = Buffer.from(data, encoding);
84
+ log('sending data direct:', data);
85
+ this._cfWriter.write(data).then(() => {
86
+ log('data sent');
87
+ callback();
88
+ }, (err) => {
89
+ log('send error', err);
90
+ callback(err);
91
+ });
92
+ return true;
93
+ }
94
+ end(data = Buffer.alloc(0), encoding = 'utf8', callback = () => { }) {
95
+ log('ending CF socket');
96
+ this.write(data, encoding, (err) => {
97
+ this._cfSocket.close();
98
+ if (callback)
99
+ callback(err);
100
+ });
101
+ return this;
102
+ }
103
+ destroy(reason) {
104
+ log('destroying CF socket', reason);
105
+ this.destroyed = true;
106
+ return this.end();
107
+ }
108
+ startTls(options) {
109
+ if (this._upgraded) {
110
+ // Don't try to upgrade again.
111
+ this.emit('error', 'Cannot call `startTls()` more than once on a socket');
112
+ return;
113
+ }
114
+ this._cfWriter.releaseLock();
115
+ this._cfReader.releaseLock();
116
+ this._upgrading = true;
117
+ this._cfSocket = this._cfSocket.startTls(options);
118
+ this._cfWriter = this._cfSocket.writable.getWriter();
119
+ this._cfReader = this._cfSocket.readable.getReader();
120
+ this._addClosedHandler();
121
+ this._listen().catch((e) => this.emit('error', e));
122
+ }
123
+ _addClosedHandler() {
124
+ this._cfSocket.closed.then(() => {
125
+ if (!this._upgrading) {
126
+ log('CF socket closed');
127
+ this._cfSocket = null;
128
+ this.emit('close');
129
+ }
130
+ else {
131
+ this._upgrading = false;
132
+ this._upgraded = true;
133
+ }
134
+ }).catch((e) => this.emit('error', e));
135
+ }
136
+ }
137
+ exports.CloudflareSocket = CloudflareSocket;
138
+ const debug = false;
139
+ function dump(data) {
140
+ if (data instanceof Uint8Array || data instanceof ArrayBuffer) {
141
+ const hex = Buffer.from(data).toString('hex');
142
+ const str = new TextDecoder().decode(data);
143
+ return `\n>>> STR: "${str.replace(/\n/g, '\\n')}"\n>>> HEX: ${hex}\n`;
144
+ }
145
+ else {
146
+ return data;
147
+ }
148
+ }
149
+ function log(...args) {
150
+ debug && console.log(...args.map(dump));
151
+ }
152
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,mCAAqC;AAErC;;GAEG;AACH,MAAa,gBAAiB,SAAQ,qBAAY;IAUhD,YAAqB,GAAY;QAC/B,KAAK,EAAE,CAAA;QADY,QAAG,GAAH,GAAG,CAAS;QATjC,aAAQ,GAAG,KAAK,CAAA;QAChB,cAAS,GAAG,KAAK,CAAA;QAET,eAAU,GAAG,KAAK,CAAA;QAClB,cAAS,GAAG,KAAK,CAAA;QACjB,cAAS,GAAkB,IAAI,CAAA;QAC/B,cAAS,GAAuC,IAAI,CAAA;QACpD,cAAS,GAAuC,IAAI,CAAA;IAI5D,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAA;IACb,CAAC;IACD,YAAY;QACV,OAAO,IAAI,CAAA;IACb,CAAC;IACD,GAAG;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,KAAK;QACH,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,IAAY,EAAE,eAA8C;QACtF,IAAI;YACF,GAAG,CAAC,YAAY,CAAC,CAAA;YACjB,IAAI,eAAe;gBAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;YAE1D,MAAM,OAAO,GAAkB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YAC9E,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAA;YAC9C,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;YAC3B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,OAAO,CAAC,CAAA;YACpD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAA;YACpD,IAAI,CAAC,iBAAiB,EAAE,CAAA;YAExB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAA;YACpD,IAAI,IAAI,CAAC,GAAG,EAAE;gBACZ,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;aACvD;iBAAM;gBACL,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;aACnD;YAED,MAAM,IAAI,CAAC,SAAU,CAAC,KAAK,CAAA;YAC3B,GAAG,CAAC,cAAc,CAAC,CAAA;YACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;YACpB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAEpB,OAAO,IAAI,CAAA;SACZ;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;SACtB;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACX,iDAAiD;QACjD,OAAO,IAAI,EAAE;YACX,GAAG,CAAC,iCAAiC,CAAC,CAAA;YACtC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,SAAU,CAAC,IAAI,EAAE,CAAA;YACpD,GAAG,CAAC,qBAAqB,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;YACvC,IAAI,IAAI,EAAE;gBACR,GAAG,CAAC,MAAM,CAAC,CAAA;gBACX,MAAK;aACN;YACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;SACtC;IACH,CAAC;IAED,KAAK,CAAC,WAAW;QACf,GAAG,CAAC,uCAAuC,CAAC,CAAA;QAC5C,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,SAAU,CAAC,IAAI,EAAE,CAAA;QACpD,GAAG,CAAC,2BAA2B,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;QAC7C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IACvC,CAAC;IAED,KAAK,CACH,IAAyB,EACzB,WAA2B,MAAM,EACjC,WAAyC,GAAG,EAAE,GAAE,CAAC;QAEjD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,QAAQ,EAAE,CAAA;QACxC,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QAEhE,GAAG,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAA;QACjC,IAAI,CAAC,SAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAC9B,GAAG,EAAE;YACH,GAAG,CAAC,WAAW,CAAC,CAAA;YAChB,QAAQ,EAAE,CAAA;QACZ,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;YACN,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,CAAA;YACtB,QAAQ,CAAC,GAAG,CAAC,CAAA;QACf,CAAC,CACF,CAAA;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,WAA2B,MAAM,EAAE,WAAyC,GAAG,EAAE,GAAE,CAAC;QAC9G,GAAG,CAAC,kBAAkB,CAAC,CAAA;QACvB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;YACjC,IAAI,CAAC,SAAU,CAAC,KAAK,EAAE,CAAA;YACvB,IAAI,QAAQ;gBAAE,QAAQ,CAAC,GAAG,CAAC,CAAA;QAC7B,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CAAC,MAAc;QACpB,GAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAA;QACnC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QACrB,OAAO,IAAI,CAAC,GAAG,EAAE,CAAA;IACnB,CAAC;IAED,QAAQ,CAAC,OAAmB;QAC1B,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,8BAA8B;YAC9B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,qDAAqD,CAAC,CAAA;YACzE,OAAM;SACP;QACD,IAAI,CAAC,SAAU,CAAC,WAAW,EAAE,CAAA;QAC7B,IAAI,CAAC,SAAU,CAAC,WAAW,EAAE,CAAA;QAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;QACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAClD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAA;QACpD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAA;QACpD,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACxB,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;IACpD,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,SAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YAC/B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBACpB,GAAG,CAAC,kBAAkB,CAAC,CAAA;gBACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;gBACrB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;aACnB;iBAAM;gBACL,IAAI,CAAC,UAAU,GAAG,KAAK,CAAA;gBACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;aACtB;QACH,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;IACxC,CAAC;CACF;AA/ID,4CA+IC;AAED,MAAM,KAAK,GAAG,KAAK,CAAA;AAEnB,SAAS,IAAI,CAAC,IAAa;IACzB,IAAI,IAAI,YAAY,UAAU,IAAI,IAAI,YAAY,WAAW,EAAE;QAC7D,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC7C,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAC1C,OAAO,eAAe,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,eAAe,GAAG,IAAI,CAAA;KACtE;SAAM;QACL,OAAO,IAAI,CAAA;KACZ;AACH,CAAC;AAED,SAAS,GAAG,CAAC,GAAG,IAAe;IAC7B,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;AACzC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import cf from '../dist/index.js'
2
+
3
+ export const CloudflareSocket = cf.CloudflareSocket
@@ -0,0 +1,39 @@
1
+ {
2
+ "name": "pg-cloudflare",
3
+ "version": "1.3.0",
4
+ "description": "A socket implementation that can run on Cloudflare Workers using native TCP connections.",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "license": "MIT",
8
+ "devDependencies": {
9
+ "ts-node": "^8.5.4",
10
+ "typescript": "^4.0.3"
11
+ },
12
+ "exports": {
13
+ ".": {
14
+ "workerd": {
15
+ "import": "./esm/index.mjs",
16
+ "require": "./dist/index.js"
17
+ },
18
+ "default": "./dist/empty.js"
19
+ },
20
+ "./package.json": "./package.json"
21
+ },
22
+ "scripts": {
23
+ "build": "tsc",
24
+ "build:watch": "tsc --watch",
25
+ "prepublish": "yarn build",
26
+ "test": "echo e2e test in pg package"
27
+ },
28
+ "repository": {
29
+ "type": "git",
30
+ "url": "git://github.com/brianc/node-postgres.git",
31
+ "directory": "packages/pg-cloudflare"
32
+ },
33
+ "files": [
34
+ "/dist/*{js,ts,map}",
35
+ "/src",
36
+ "/esm"
37
+ ],
38
+ "gitHead": "d10e09c888f94abf77382aba6f353ca665a1cf09"
39
+ }
@@ -0,0 +1,3 @@
1
+ // This is an empty module that is served up when outside of a workerd environment
2
+ // See the `exports` field in package.json
3
+ export default {}