decocms 2.311.1 → 2.311.3

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 (370) hide show
  1. package/dist/client/assets/{AlertCircle-GVxuU95v.js → AlertCircle-Djr0yelP.js} +1 -1
  2. package/dist/client/assets/Archive-B6lPEYxi.js +1 -0
  3. package/dist/client/assets/{ArrowNarrowLeft-CZSxj8rY.js → ArrowNarrowLeft-B291p1AJ.js} +1 -1
  4. package/dist/client/assets/{ArrowUpRight-C9_9n6RS.js → ArrowUpRight-D7KqTERk.js} +1 -1
  5. package/dist/client/assets/{Check-B7RZVj2P.js → Check-D_Sk8fW_.js} +1 -1
  6. package/dist/client/assets/{CheckCircle-CpSCTcKF.js → CheckCircle-D__FA05W.js} +1 -1
  7. package/dist/client/assets/{ChevronDown-PN1FfGGP.js → ChevronDown-BHCo5V9J.js} +1 -1
  8. package/dist/client/assets/{ChevronRight-B87-4gCD.js → ChevronRight-CRGY6QAO.js} +1 -1
  9. package/dist/client/assets/{ChevronUp-DXZ6bMcP.js → ChevronUp-Dh2SiOy7.js} +1 -1
  10. package/dist/client/assets/{Container-Bn1bP0Yi.js → Container-AP8CnyxW.js} +1 -1
  11. package/dist/client/assets/{DotsVertical-0NEZeBK_.js → DotsVertical-UTS9GjI-.js} +1 -1
  12. package/dist/client/assets/{LinkExternal01-Cl6M9_6y.js → LinkExternal01-Cc9uLqLU.js} +1 -1
  13. package/dist/client/assets/{Lock01-BNDVtNp3.js → Lock01-BInejH64.js} +1 -1
  14. package/dist/client/assets/{Palette-BgYWS9GS.js → Palette-Cec1fhMz.js} +1 -1
  15. package/dist/client/assets/{Play-jAQMD8Zy.js → Play-CD_ssz5Z.js} +1 -1
  16. package/dist/client/assets/{Plus-Decn041v.js → Plus-B4euBFog.js} +1 -1
  17. package/dist/client/assets/{RefreshCcw01-2tEGwXNO.js → RefreshCcw01-Si3lBRwB.js} +1 -1
  18. package/dist/client/assets/{SearchMd-xzJx66s8.js → SearchMd-BTCLJcfn.js} +1 -1
  19. package/dist/client/assets/{Settings02-I39qsUEU.js → Settings02-sgH7ThhT.js} +1 -1
  20. package/dist/client/assets/{Shield01-DJsSZNak.js → Shield01-D8ZeQllE.js} +1 -1
  21. package/dist/client/assets/{Star01-VbAdZ1nM.js → Star01-PFBfwZmt.js} +1 -1
  22. package/dist/client/assets/{Sun-qACU13Q-.js → Sun-Dmea943O.js} +1 -1
  23. package/dist/client/assets/{Tool01-BqlBf1k7.js → Tool01-BbF2IYpq.js} +1 -1
  24. package/dist/client/assets/{Trash01-BqSCZqrj.js → Trash01-BnzFHXhZ.js} +1 -1
  25. package/dist/client/assets/{User01-w8zyOHhj.js → User01-zskaKHnK.js} +1 -1
  26. package/dist/client/assets/{Users03-n9zzJAad.js → Users03-CAzWDWnm.js} +1 -1
  27. package/dist/client/assets/{X-Cwv9W6IH.js → X-BUuYjVOr.js} +1 -1
  28. package/dist/client/assets/{XCircle-VMAL-xhy.js → XCircle-Cpz3G2Fy.js} +1 -1
  29. package/dist/client/assets/{XClose-GzEq-HU9.js → XClose-CxVVWp02.js} +1 -1
  30. package/dist/client/assets/{Zap-D93qKeqm.js → Zap-DFgntoN3.js} +1 -1
  31. package/dist/client/assets/{ZapSquare-CGJC1mww.js → ZapSquare-Wx3jz5Tc.js} +1 -1
  32. package/dist/client/assets/{accordion-ZNyW-Q9t.js → accordion-BYb7H8aV.js} +1 -1
  33. package/dist/client/assets/agent-icon-DaRK55X4.js +1 -0
  34. package/dist/client/assets/agents-list-Njc6Ihfs.js +1 -0
  35. package/dist/client/assets/ai-providers-DG6unL_s.js +1 -0
  36. package/dist/client/assets/{alert-dialog-7vNv5N4P.js → alert-dialog-YgpjeFBi.js} +1 -1
  37. package/dist/client/assets/{auth-catchall-DnPh1GEo.js → auth-catchall-Baccjd7f.js} +1 -1
  38. package/dist/client/assets/{automation-list-row-Cu-q04m4.js → automation-list-row-BgjnRst-.js} +1 -1
  39. package/dist/client/assets/automations-qM7fZ2dj.js +1 -0
  40. package/dist/client/assets/{avatar-Dda8SxzC.js → avatar-hRilkYOJ.js} +1 -1
  41. package/dist/client/assets/{badge-C_Ey5yTa.js → badge-iirFQ7GR.js} +1 -1
  42. package/dist/client/assets/{brand-context-pyqxXmJT.js → brand-context-hd8DfZZU.js} +1 -1
  43. package/dist/client/assets/{card-BqDVz8rB.js → card-cHMjszpI.js} +1 -1
  44. package/dist/client/assets/{chat-context-B6Fg09sU.js → chat-context-Cy40hP4t.js} +1 -1
  45. package/dist/client/assets/{checkbox-CwdZbdGd.js → checkbox-CPHwkQHL.js} +1 -1
  46. package/dist/client/assets/collection-detail-FxMRS6mC.js +1 -0
  47. package/dist/client/assets/{collection-display-button-QyBcFXO8.js → collection-display-button-CPoat98b.js} +1 -1
  48. package/dist/client/assets/{collection-search-FuJrX0DL.js → collection-search-CIGPBaze.js} +1 -1
  49. package/dist/client/assets/{collection-search-BPpIzKqG.js → collection-search-CR78v4di.js} +1 -1
  50. package/dist/client/assets/{collection-table-wrapper-k2i9yb0q.js → collection-table-wrapper-CL80nO8c.js} +1 -1
  51. package/dist/client/assets/{collection-tabs-Bbxi3Lhu.js → collection-tabs-C8ox2neK.js} +1 -1
  52. package/dist/client/assets/{collections-BXMI7Hvf.js → collections-DR6QX0g8.js} +1 -1
  53. package/dist/client/assets/{command-CcKs3phr.js → command-DYSstTLW.js} +1 -1
  54. package/dist/client/assets/{connection-card-C9ObrVFa.js → connection-card-DsBbhPLN.js} +1 -1
  55. package/dist/client/assets/connection-detail-C6Ik3Wf9.js +1 -0
  56. package/dist/client/assets/{connection-form-helpers-CLWU-iGL.js → connection-form-helpers-DMG8tqrx.js} +1 -1
  57. package/dist/client/assets/connections-BW8j-u1P.js +1 -0
  58. package/dist/client/assets/{constants-DNYERMOq.js → constants--Kj7N7Rc.js} +1 -1
  59. package/dist/client/assets/{constants-Bad0DdgK.js → constants-DLNEkVVr.js} +1 -1
  60. package/dist/client/assets/{dialog-BcmogFZk.js → dialog-Dp6SjScf.js} +1 -1
  61. package/dist/client/assets/{domain-settings-QGlFO294.js → domain-settings-B3U_rk2M.js} +1 -1
  62. package/dist/client/assets/{drawer-CFDUaOVL.js → drawer-Dj1GMxa5.js} +1 -1
  63. package/dist/client/assets/{dropdown-menu-NvUf9a-j.js → dropdown-menu-BDd-gW8V.js} +1 -1
  64. package/dist/client/assets/{dynamic-plugin-layout-CNm9aSBE.js → dynamic-plugin-layout-BodVTgJQ.js} +1 -1
  65. package/dist/client/assets/{empty-state-Dg7DOfxH.js → empty-state-AMhKur12.js} +1 -1
  66. package/dist/client/assets/{empty-state-CYPi3AWF.js → empty-state-DxvERlOW.js} +1 -1
  67. package/dist/client/assets/{extract-connection-data-Crk93y-a.js → extract-connection-data-VXHFUQo9.js} +1 -1
  68. package/dist/client/assets/{features-c-yBM4_h.js → features-DH1UiJjP.js} +1 -1
  69. package/dist/client/assets/{form-BbDiaTsN.js → form-BRvMkkP1.js} +1 -1
  70. package/dist/client/assets/general-CycS6aGM.js +1 -0
  71. package/dist/client/assets/index-B-nub_pG.js +1 -0
  72. package/dist/client/assets/index-BKx3kD7f.js +1 -0
  73. package/dist/client/assets/{index--qrsfEvC.js → index-BLv-cdPp.js} +1 -1
  74. package/dist/client/assets/{index-D-aGIpWM.js → index-BPQPyblE.js} +1 -1
  75. package/dist/client/assets/{index-D3w8D7D3.js → index-BQnGdGlJ.js} +1 -1
  76. package/dist/client/assets/{index-CvwiLDhg.js → index-BaDn_qVG.js} +1 -1
  77. package/dist/client/assets/{index-D5c2Coqp.js → index-BrSAblDg.js} +3 -3
  78. package/dist/client/assets/{index-C3btaY0r.js → index-BwedVtm-.js} +1 -1
  79. package/dist/client/assets/index-COdHP6Q3.js +1 -0
  80. package/dist/client/assets/{index-Bom1zwxj.js → index-Co3saKmd.js} +1 -1
  81. package/dist/client/assets/{index-CLSBe_a4.js → index-Csxq5TaF.js} +3 -3
  82. package/dist/client/assets/{index-Dl4CZy6K.js → index-DO-glgQy.js} +1 -1
  83. package/dist/client/assets/{index-DDUZQ_xH.js → index-DOA4SrfQ.js} +1 -1
  84. package/dist/client/assets/{index-BEwswwod.js → index-DPJfdHEd.js} +1 -1
  85. package/dist/client/assets/{index-DmMHdsYF.js → index-DX8mbjh7.js} +1 -1
  86. package/dist/client/assets/{index-B3GjV7OW.js → index-bRd2N9NF.js} +2 -2
  87. package/dist/client/assets/{infiniteQueryObserver-RMKX6Nq0.js → infiniteQueryObserver-CnJpGer_.js} +1 -1
  88. package/dist/client/assets/{input-bkK8ZE7l.js → input-BTQWcFvQ.js} +1 -1
  89. package/dist/client/assets/{integration-icon-dKiJ5-c6.js → integration-icon-WB0OmEvR.js} +1 -1
  90. package/dist/client/assets/{label-DTMz5O44.js → label-CPA2JEF_.js} +1 -1
  91. package/dist/client/assets/{layout-LMk5O_ZK.js → layout-C5KSdgqD.js} +1 -1
  92. package/dist/client/assets/{lean-canvas-recruit-modal-BAnvgszw.js → lean-canvas-recruit-modal-ZidRtiZv.js} +1 -1
  93. package/dist/client/assets/{login-DL4UCCOO.js → login-0DiwXQ07.js} +1 -1
  94. package/dist/client/assets/{members-xgiddo21.js → members-CGEe_jgB.js} +1 -1
  95. package/dist/client/assets/{monaco-editor-C2N0lO8-.js → monaco-editor-CUE47pML.js} +1 -1
  96. package/dist/client/assets/{monitoring-stats-row-B1WEuAdI.js → monitoring-stats-row-BUjCCtKk.js} +1 -1
  97. package/dist/client/assets/{oauth-callback-CEDkVwJ-.js → oauth-callback-C-ARMuSr.js} +1 -1
  98. package/dist/client/assets/{oauth-callback-ai-provider-Dg9MI2Au.js → oauth-callback-ai-provider-DjFgFE3U.js} +1 -1
  99. package/dist/client/assets/{onboarding-DkXotH-C.js → onboarding-k_gmP2Yu.js} +1 -1
  100. package/dist/client/assets/{org-layout-BZIyzExD.js → org-layout-Dvh2ntLI.js} +1 -1
  101. package/dist/client/assets/{org-plugin-layout-DMO9tynz.js → org-plugin-layout-DzCMBblD.js} +1 -1
  102. package/dist/client/assets/{pair-Cbmyley2.js → pair-D6rD7fr2.js} +1 -1
  103. package/dist/client/assets/{plugin-empty-state-9QQH63Km.js → plugin-empty-state-BqXWLtpY.js} +1 -1
  104. package/dist/client/assets/{plugin-header-Ca6fhiCD.js → plugin-header-BdbZaEVL.js} +1 -1
  105. package/dist/client/assets/{plugin-layout-CL9tTgtN.js → plugin-layout-Bl3EIv-G.js} +1 -1
  106. package/dist/client/assets/{popover-a3tMurU4.js → popover-C3FfRLrj.js} +1 -1
  107. package/dist/client/assets/{profile-D7pjioBj.js → profile-CPBbsaIb.js} +1 -1
  108. package/dist/client/assets/project-app-view-DTxderr7.js +1 -0
  109. package/dist/client/assets/registry-BBi9tAZj.js +2 -0
  110. package/dist/client/assets/{registry-layout-BaWcD2qA.js → registry-layout-DVg-9Eqy.js} +1 -1
  111. package/dist/client/assets/{required-auth-layout-CnaH9rpW.js → required-auth-layout-C9lzuc8k.js} +1 -1
  112. package/dist/client/assets/{reset-password-vwj49aZP.js → reset-password-DLrTOlbf.js} +1 -1
  113. package/dist/client/assets/roles-Bnz4P9Nd.js +1 -0
  114. package/dist/client/assets/{scroll-area-DqbokeCV.js → scroll-area-O5xhqGH1.js} +1 -1
  115. package/dist/client/assets/{search-input-DAsaTE5l.js → search-input-DuGXmYx0.js} +1 -1
  116. package/dist/client/assets/{select-Dli7sWvO.js → select-AY7V13tM.js} +1 -1
  117. package/dist/client/assets/{select-model-BaOTlcuq.js → select-model-BLwMpS9o.js} +1 -1
  118. package/dist/client/assets/{settings-layout-CjXYIm0R.js → settings-layout-D1OyozIx.js} +1 -1
  119. package/dist/client/assets/{settings-section-DBJaYBiY.js → settings-section-DGvq5eIp.js} +1 -1
  120. package/dist/client/assets/shell-layout-DRaEFGZF.js +1 -0
  121. package/dist/client/assets/{skeleton-H0I9mnBy.js → skeleton-ChSm4-0Y.js} +1 -1
  122. package/dist/client/assets/{sso-DYCaqBsm.js → sso-DLh4eigD.js} +1 -1
  123. package/dist/client/assets/{store-uDsU3GrB.js → store-CD5Y3l5z.js} +1 -1
  124. package/dist/client/assets/store-registry-Bx4Ds4sC.js +2 -0
  125. package/dist/client/assets/{switch-BdqZBTdM.js → switch-CX4qY3Ex.js} +1 -1
  126. package/dist/client/assets/{table-DK414n0F.js → table-Ddn8Rk3D.js} +1 -1
  127. package/dist/client/assets/{tabs-CeGpUpHP.js → tabs-D_nT4WLa.js} +1 -1
  128. package/dist/client/assets/{task-status-CqDAnW9H.js → task-status-PH7-Db6I.js} +1 -1
  129. package/dist/client/assets/{textarea-DYbvm35p.js → textarea-DTqKy4Qo.js} +1 -1
  130. package/dist/client/assets/{toggle-group-DXYK5Kmg.js → toggle-group-BsH3LUCe.js} +1 -1
  131. package/dist/client/assets/{tools-list-DQqEXfVG.js → tools-list-D2J7xK-u.js} +1 -1
  132. package/dist/client/assets/{tooltip-M7OSSLPB.js → tooltip-C4ZEvlyV.js} +1 -1
  133. package/dist/client/assets/{types-aUaKAv-0.js → types-PLyAutgi.js} +1 -1
  134. package/dist/client/assets/{use-ai-providers-CmHinIUs.js → use-ai-providers-D3jfy3JG.js} +1 -1
  135. package/dist/client/assets/{use-collections-Cy_Omosv.js → use-collections-BjgqvYm5.js} +1 -1
  136. package/dist/client/assets/{use-connection-BTNmhjS_.js → use-connection-CnyB1HmP.js} +1 -1
  137. package/dist/client/assets/{use-copy-CkkAJAvS.js → use-copy-LWIhILMp.js} +1 -1
  138. package/dist/client/assets/{use-create-virtual-mcp-BuaKZJs7.js → use-create-virtual-mcp-BpvlQZOX.js} +1 -1
  139. package/dist/client/assets/{use-debounced-autosave-CO57B6nX.js → use-debounced-autosave-CUv7GNdN.js} +1 -1
  140. package/dist/client/assets/{use-decopilot-events-CQ1IkvCh.js → use-decopilot-events-ChvTdIEw.js} +1 -1
  141. package/dist/client/assets/{use-delete-connection-6dZbEpz0.js → use-delete-connection-B_f0W-1P.js} +1 -1
  142. package/dist/client/assets/{use-infinite-scroll-ZPBLdFp5.js → use-infinite-scroll-DWQh3C6u.js} +1 -1
  143. package/dist/client/assets/{use-list-state-C6g9hGA4.js → use-list-state-CMD-drLp.js} +1 -1
  144. package/dist/client/assets/{use-mcp-tools-BxVuuTSL.js → use-mcp-tools-DlRwbAwV.js} +1 -1
  145. package/dist/client/assets/{use-members-Bi_cxyIQ.js → use-members-CeKeJ90-.js} +1 -1
  146. package/dist/client/assets/{use-navigate-to-agent-CSPyzm0t.js → use-navigate-to-agent-Bt6KkuQa.js} +1 -1
  147. package/dist/client/assets/{use-org-auth-client-C0e9yR_n.js → use-org-auth-client-CzTb1zcb.js} +1 -1
  148. package/dist/client/assets/{use-org-sso-BBRAkASE.js → use-org-sso-BMiHKoas.js} +1 -1
  149. package/dist/client/assets/{use-organization-roles-C1ELHN87.js → use-organization-roles-DlEsf5iu.js} +1 -1
  150. package/dist/client/assets/{use-organization-settings-DTcFJGZh.js → use-organization-settings-Bf-vFUZQ.js} +1 -1
  151. package/dist/client/assets/{use-registry-connections-BTwHNugi.js → use-registry-connections-DRem4U8m.js} +1 -1
  152. package/dist/client/assets/{use-status-sounds-DtamCVeq.js → use-status-sounds-BC1BnHmH.js} +1 -1
  153. package/dist/client/assets/{use-tasks-B6YSkeM5.js → use-tasks-BjbhO8fX.js} +1 -1
  154. package/dist/client/assets/{use-view-mode-BT7njn-W.js → use-view-mode-oJ3yWL7K.js} +1 -1
  155. package/dist/client/assets/{use-virtual-mcp-CSMhsIFC.js → use-virtual-mcp-Btinsi9b.js} +1 -1
  156. package/dist/client/assets/useInfiniteQuery-C4SiH59h.js +1 -0
  157. package/dist/client/assets/useSuspenseInfiniteQuery-Bt_Lb_HW.js +1 -0
  158. package/dist/client/assets/{user-D3wZendk.js → user-CNjw2T7L.js} +1 -1
  159. package/dist/client/assets/{view-mode-toggle-DrXoiKTK.js → view-mode-toggle-CXuPC9E_.js} +1 -1
  160. package/dist/client/assets/workflow-DJA0XTVK.js +1 -0
  161. package/dist/client/assets/workflow-detail-C4-Dradv.js +1 -0
  162. package/dist/client/index.html +1 -1
  163. package/dist/server/cli.js +8 -4
  164. package/dist/server/node_modules/ansi-styles/index.d.ts +236 -0
  165. package/dist/server/node_modules/ansi-styles/index.js +223 -0
  166. package/dist/server/node_modules/ansi-styles/license +9 -0
  167. package/dist/server/node_modules/ansi-styles/package.json +54 -0
  168. package/dist/server/node_modules/ansi-styles/readme.md +173 -0
  169. package/dist/server/node_modules/convert-to-spaces/dist/index.d.ts +2 -0
  170. package/dist/server/node_modules/convert-to-spaces/dist/index.js +4 -0
  171. package/dist/server/node_modules/convert-to-spaces/license +21 -0
  172. package/dist/server/node_modules/convert-to-spaces/package.json +40 -0
  173. package/dist/server/node_modules/convert-to-spaces/readme.md +39 -0
  174. package/dist/server/node_modules/environment/index.d.ts +74 -0
  175. package/dist/server/node_modules/environment/index.js +47 -0
  176. package/dist/server/node_modules/environment/license +9 -0
  177. package/dist/server/node_modules/environment/package.json +74 -0
  178. package/dist/server/node_modules/environment/readme.md +94 -0
  179. package/dist/server/node_modules/escape-string-regexp/index.d.ts +18 -0
  180. package/dist/server/node_modules/escape-string-regexp/index.js +11 -0
  181. package/dist/server/node_modules/escape-string-regexp/license +9 -0
  182. package/dist/server/node_modules/escape-string-regexp/package.json +43 -0
  183. package/dist/server/node_modules/escape-string-regexp/readme.md +29 -0
  184. package/dist/server/node_modules/is-fullwidth-code-point/index.d.ts +17 -0
  185. package/dist/server/node_modules/is-fullwidth-code-point/index.js +12 -0
  186. package/dist/server/node_modules/is-fullwidth-code-point/license +9 -0
  187. package/dist/server/node_modules/is-fullwidth-code-point/package.json +53 -0
  188. package/dist/server/node_modules/is-fullwidth-code-point/readme.md +31 -0
  189. package/dist/server/node_modules/is-unicode-supported/index.d.ts +12 -0
  190. package/dist/server/node_modules/is-unicode-supported/index.js +21 -0
  191. package/dist/server/node_modules/is-unicode-supported/license +9 -0
  192. package/dist/server/node_modules/is-unicode-supported/package.json +47 -0
  193. package/dist/server/node_modules/is-unicode-supported/readme.md +35 -0
  194. package/dist/server/node_modules/mimic-fn/index.d.ts +54 -0
  195. package/dist/server/node_modules/mimic-fn/index.js +13 -0
  196. package/dist/server/node_modules/mimic-fn/license +9 -0
  197. package/dist/server/node_modules/mimic-fn/package.json +42 -0
  198. package/dist/server/node_modules/mimic-fn/readme.md +69 -0
  199. package/dist/server/node_modules/pg-cloudflare/README.md +112 -0
  200. package/dist/server/node_modules/pg-cloudflare/dist/empty.d.ts +2 -0
  201. package/dist/server/node_modules/pg-cloudflare/dist/empty.js +6 -0
  202. package/dist/server/node_modules/pg-cloudflare/dist/empty.js.map +1 -0
  203. package/dist/server/node_modules/pg-cloudflare/dist/index.d.ts +31 -0
  204. package/dist/server/node_modules/pg-cloudflare/dist/index.js +152 -0
  205. package/dist/server/node_modules/pg-cloudflare/dist/index.js.map +1 -0
  206. package/dist/server/node_modules/pg-cloudflare/esm/index.mjs +3 -0
  207. package/dist/server/node_modules/pg-cloudflare/package.json +39 -0
  208. package/dist/server/node_modules/pg-cloudflare/src/empty.ts +3 -0
  209. package/dist/server/node_modules/pg-cloudflare/src/index.ts +166 -0
  210. package/dist/server/node_modules/pg-cloudflare/src/types.d.ts +25 -0
  211. package/dist/server/node_modules/pg-connection-string/LICENSE +21 -0
  212. package/dist/server/node_modules/pg-connection-string/README.md +105 -0
  213. package/dist/server/node_modules/pg-connection-string/esm/index.mjs +8 -0
  214. package/dist/server/node_modules/pg-connection-string/index.d.ts +36 -0
  215. package/dist/server/node_modules/pg-connection-string/index.js +231 -0
  216. package/dist/server/node_modules/pg-connection-string/package.json +52 -0
  217. package/dist/server/node_modules/pg-int8/LICENSE +13 -0
  218. package/dist/server/node_modules/pg-int8/README.md +16 -0
  219. package/dist/server/node_modules/pg-int8/index.js +100 -0
  220. package/dist/server/node_modules/pg-int8/package.json +24 -0
  221. package/dist/server/node_modules/pg-pool/LICENSE +21 -0
  222. package/dist/server/node_modules/pg-pool/README.md +357 -0
  223. package/dist/server/node_modules/pg-pool/esm/index.mjs +5 -0
  224. package/dist/server/node_modules/pg-pool/index.js +517 -0
  225. package/dist/server/node_modules/pg-pool/package.json +51 -0
  226. package/dist/server/node_modules/pg-protocol/LICENSE +21 -0
  227. package/dist/server/node_modules/pg-protocol/README.md +3 -0
  228. package/dist/server/node_modules/pg-protocol/dist/b.d.ts +1 -0
  229. package/dist/server/node_modules/pg-protocol/dist/b.js +23 -0
  230. package/dist/server/node_modules/pg-protocol/dist/b.js.map +1 -0
  231. package/dist/server/node_modules/pg-protocol/dist/buffer-reader.d.ts +15 -0
  232. package/dist/server/node_modules/pg-protocol/dist/buffer-reader.js +55 -0
  233. package/dist/server/node_modules/pg-protocol/dist/buffer-reader.js.map +1 -0
  234. package/dist/server/node_modules/pg-protocol/dist/buffer-writer.d.ts +16 -0
  235. package/dist/server/node_modules/pg-protocol/dist/buffer-writer.js +81 -0
  236. package/dist/server/node_modules/pg-protocol/dist/buffer-writer.js.map +1 -0
  237. package/dist/server/node_modules/pg-protocol/dist/inbound-parser.test.d.ts +1 -0
  238. package/dist/server/node_modules/pg-protocol/dist/inbound-parser.test.js +530 -0
  239. package/dist/server/node_modules/pg-protocol/dist/inbound-parser.test.js.map +1 -0
  240. package/dist/server/node_modules/pg-protocol/dist/index.d.ts +6 -0
  241. package/dist/server/node_modules/pg-protocol/dist/index.js +15 -0
  242. package/dist/server/node_modules/pg-protocol/dist/index.js.map +1 -0
  243. package/dist/server/node_modules/pg-protocol/dist/messages.d.ts +162 -0
  244. package/dist/server/node_modules/pg-protocol/dist/messages.js +160 -0
  245. package/dist/server/node_modules/pg-protocol/dist/messages.js.map +1 -0
  246. package/dist/server/node_modules/pg-protocol/dist/outbound-serializer.test.d.ts +1 -0
  247. package/dist/server/node_modules/pg-protocol/dist/outbound-serializer.test.js +252 -0
  248. package/dist/server/node_modules/pg-protocol/dist/outbound-serializer.test.js.map +1 -0
  249. package/dist/server/node_modules/pg-protocol/dist/parser.d.ts +24 -0
  250. package/dist/server/node_modules/pg-protocol/dist/parser.js +324 -0
  251. package/dist/server/node_modules/pg-protocol/dist/parser.js.map +1 -0
  252. package/dist/server/node_modules/pg-protocol/dist/serializer.d.ts +42 -0
  253. package/dist/server/node_modules/pg-protocol/dist/serializer.js +189 -0
  254. package/dist/server/node_modules/pg-protocol/dist/serializer.js.map +1 -0
  255. package/dist/server/node_modules/pg-protocol/esm/index.js +11 -0
  256. package/dist/server/node_modules/pg-protocol/package.json +45 -0
  257. package/dist/server/node_modules/pg-protocol/src/b.ts +25 -0
  258. package/dist/server/node_modules/pg-protocol/src/buffer-reader.ts +58 -0
  259. package/dist/server/node_modules/pg-protocol/src/buffer-writer.ts +85 -0
  260. package/dist/server/node_modules/pg-protocol/src/inbound-parser.test.ts +575 -0
  261. package/dist/server/node_modules/pg-protocol/src/index.ts +11 -0
  262. package/dist/server/node_modules/pg-protocol/src/messages.ts +262 -0
  263. package/dist/server/node_modules/pg-protocol/src/outbound-serializer.test.ts +276 -0
  264. package/dist/server/node_modules/pg-protocol/src/parser.ts +413 -0
  265. package/dist/server/node_modules/pg-protocol/src/serializer.ts +274 -0
  266. package/dist/server/node_modules/pg-protocol/src/testing/buffer-list.ts +67 -0
  267. package/dist/server/node_modules/pg-protocol/src/testing/test-buffers.ts +166 -0
  268. package/dist/server/node_modules/pg-protocol/src/types/chunky.d.ts +1 -0
  269. package/dist/server/node_modules/pg-types/.travis.yml +7 -0
  270. package/dist/server/node_modules/pg-types/Makefile +14 -0
  271. package/dist/server/node_modules/pg-types/README.md +75 -0
  272. package/dist/server/node_modules/pg-types/index.d.ts +137 -0
  273. package/dist/server/node_modules/pg-types/index.js +47 -0
  274. package/dist/server/node_modules/pg-types/index.test-d.ts +21 -0
  275. package/dist/server/node_modules/pg-types/lib/arrayParser.js +11 -0
  276. package/dist/server/node_modules/pg-types/lib/binaryParsers.js +257 -0
  277. package/dist/server/node_modules/pg-types/lib/builtins.js +73 -0
  278. package/dist/server/node_modules/pg-types/lib/textParsers.js +215 -0
  279. package/dist/server/node_modules/pg-types/package.json +42 -0
  280. package/dist/server/node_modules/pg-types/test/index.js +24 -0
  281. package/dist/server/node_modules/pg-types/test/types.js +597 -0
  282. package/dist/server/node_modules/pgpass/README.md +74 -0
  283. package/dist/server/node_modules/pgpass/lib/helper.js +233 -0
  284. package/dist/server/node_modules/pgpass/lib/index.js +23 -0
  285. package/dist/server/node_modules/pgpass/package.json +41 -0
  286. package/dist/server/node_modules/postgres-array/index.d.ts +4 -0
  287. package/dist/server/node_modules/postgres-array/index.js +97 -0
  288. package/dist/server/node_modules/postgres-array/license +21 -0
  289. package/dist/server/node_modules/postgres-array/package.json +35 -0
  290. package/dist/server/node_modules/postgres-array/readme.md +43 -0
  291. package/dist/server/node_modules/postgres-bytea/index.js +33 -0
  292. package/dist/server/node_modules/postgres-bytea/license +21 -0
  293. package/dist/server/node_modules/postgres-bytea/package.json +34 -0
  294. package/dist/server/node_modules/postgres-bytea/readme.md +34 -0
  295. package/dist/server/node_modules/postgres-date/index.js +116 -0
  296. package/dist/server/node_modules/postgres-date/license +21 -0
  297. package/dist/server/node_modules/postgres-date/package.json +33 -0
  298. package/dist/server/node_modules/postgres-date/readme.md +49 -0
  299. package/dist/server/node_modules/postgres-interval/index.d.ts +20 -0
  300. package/dist/server/node_modules/postgres-interval/index.js +125 -0
  301. package/dist/server/node_modules/postgres-interval/license +21 -0
  302. package/dist/server/node_modules/postgres-interval/package.json +36 -0
  303. package/dist/server/node_modules/postgres-interval/readme.md +48 -0
  304. package/dist/server/node_modules/restore-cursor/index.d.ts +11 -0
  305. package/dist/server/node_modules/restore-cursor/index.js +11 -0
  306. package/dist/server/node_modules/restore-cursor/license +9 -0
  307. package/dist/server/node_modules/restore-cursor/package.json +55 -0
  308. package/dist/server/node_modules/restore-cursor/readme.md +31 -0
  309. package/dist/server/node_modules/split2/LICENSE +13 -0
  310. package/dist/server/node_modules/split2/README.md +85 -0
  311. package/dist/server/node_modules/split2/bench.js +27 -0
  312. package/dist/server/node_modules/split2/index.js +141 -0
  313. package/dist/server/node_modules/split2/package.json +39 -0
  314. package/dist/server/node_modules/split2/test.js +409 -0
  315. package/dist/server/node_modules/string-width/index.d.ts +39 -0
  316. package/dist/server/node_modules/string-width/index.js +82 -0
  317. package/dist/server/node_modules/string-width/license +9 -0
  318. package/dist/server/node_modules/string-width/package.json +64 -0
  319. package/dist/server/node_modules/string-width/readme.md +66 -0
  320. package/dist/server/node_modules/xtend/.jshintrc +30 -0
  321. package/dist/server/node_modules/xtend/LICENSE +20 -0
  322. package/dist/server/node_modules/xtend/README.md +32 -0
  323. package/dist/server/node_modules/xtend/immutable.js +19 -0
  324. package/dist/server/node_modules/xtend/mutable.js +17 -0
  325. package/dist/server/node_modules/xtend/package.json +55 -0
  326. package/dist/server/node_modules/xtend/test.js +103 -0
  327. package/dist/server/server.js +203 -199
  328. package/package.json +1 -1
  329. package/dist/client/assets/agent-icon-zc2fqM1k.js +0 -1
  330. package/dist/client/assets/agents-list-UtLvJq-k.js +0 -1
  331. package/dist/client/assets/ai-providers-CfDd4KX1.js +0 -1
  332. package/dist/client/assets/automations-CU2EtM_4.js +0 -1
  333. package/dist/client/assets/collection-detail-WOE1iHbK.js +0 -1
  334. package/dist/client/assets/connection-detail-DXmyznni.js +0 -1
  335. package/dist/client/assets/connections-EFejJy4T.js +0 -1
  336. package/dist/client/assets/general-BxBx3E8g.js +0 -1
  337. package/dist/client/assets/index-BVe-IL8_.js +0 -1
  338. package/dist/client/assets/index-bUNQ5NEg.js +0 -1
  339. package/dist/client/assets/index-rnnpRGp3.js +0 -1
  340. package/dist/client/assets/project-app-view-BhV2wKdY.js +0 -1
  341. package/dist/client/assets/registry-CWfZJmtj.js +0 -2
  342. package/dist/client/assets/roles-DphWxHYt.js +0 -1
  343. package/dist/client/assets/shell-layout-BMRtkmni.js +0 -1
  344. package/dist/client/assets/store-registry-CBTBvJpl.js +0 -2
  345. package/dist/client/assets/useInfiniteQuery-96c4mtDU.js +0 -1
  346. package/dist/client/assets/useSuspenseInfiniteQuery-HyWQwfY6.js +0 -1
  347. package/dist/client/assets/workflow-BfcwUbw-.js +0 -1
  348. package/dist/client/assets/workflow-detail-C0BgSrtB.js +0 -1
  349. package/dist/server/node_modules/pg/README.md +0 -95
  350. package/dist/server/node_modules/pg/esm/index.mjs +0 -20
  351. package/dist/server/node_modules/pg/lib/client.js +0 -743
  352. package/dist/server/node_modules/pg/lib/connection-parameters.js +0 -171
  353. package/dist/server/node_modules/pg/lib/connection.js +0 -221
  354. package/dist/server/node_modules/pg/lib/crypto/cert-signatures.js +0 -122
  355. package/dist/server/node_modules/pg/lib/crypto/sasl.js +0 -212
  356. package/dist/server/node_modules/pg/lib/crypto/utils-legacy.js +0 -43
  357. package/dist/server/node_modules/pg/lib/crypto/utils-webcrypto.js +0 -89
  358. package/dist/server/node_modules/pg/lib/crypto/utils.js +0 -9
  359. package/dist/server/node_modules/pg/lib/defaults.js +0 -91
  360. package/dist/server/node_modules/pg/lib/index.js +0 -73
  361. package/dist/server/node_modules/pg/lib/native/client.js +0 -323
  362. package/dist/server/node_modules/pg/lib/native/index.js +0 -2
  363. package/dist/server/node_modules/pg/lib/native/query.js +0 -165
  364. package/dist/server/node_modules/pg/lib/query.js +0 -252
  365. package/dist/server/node_modules/pg/lib/result.js +0 -109
  366. package/dist/server/node_modules/pg/lib/stream.js +0 -83
  367. package/dist/server/node_modules/pg/lib/type-overrides.js +0 -35
  368. package/dist/server/node_modules/pg/lib/utils.js +0 -217
  369. package/dist/server/node_modules/pg/package.json +0 -76
  370. /package/dist/server/node_modules/{pg → pg-cloudflare}/LICENSE +0 -0
@@ -1643,7 +1643,7 @@ AS SELECT
1643
1643
  FROM monitoring_metrics
1644
1644
  GROUP BY organization_id, name, bucket, connection_id, tool_name, status
1645
1645
  `}),console.log("[clickhouse-schema] monitoring_metrics_rollup_1m_mv view ready")}finally{await G.close()}}catch(Y){console.error("[clickhouse-schema] Failed to create rollup DDL (queries will fall back to raw table):",Y)}}async function iA1(X){let Y={...process.env},G=e$1(X,Y),Q=G.settings.encryptionKey;console.log(`[settings] ENCRYPTION_KEY = ${JSON.stringify(Q)} (${Q.length} chars)`);let{ensureServices:J}=await Promise.resolve().then(() => (l$1(),u$1)),{outputs:W,services:Z}=await J({home:G.settings.dataDir,externalDatabaseUrl:G.externalDatabaseUrl,externalNatsUrl:G.externalNatsUrl});if(!G.skipMigrations){let{migrateBetterAuth:K}=await Promise.resolve().then(() => (YW0(),Jg4));await K(W.databaseUrl);let{createDatabase:H}=await Promise.resolve().then(() => (ZU(),Qg4)),{migrateToLatest:U}=await Promise.resolve().then(() => (Us4(),Fs4)),B=H(W.databaseUrl);await U({keepOpen:!0,database:B,skipBetterAuth:!0})}if(G.settings.clickhouseUrl){let{ensureClickHouseRollup:K}=await Promise.resolve().then(() => B16);await K(G.settings.clickhouseUrl)}let $={...G.settings,databaseUrl:W.databaseUrl,natsUrls:W.natsUrls};return xt1($),{settings:$,services:Z.map((K)=>({name:K.name==="PostgreSQL"?"Postgres":K.name,port:K.port})),managedServiceNames:Z.filter((K)=>K.owner==="managed").map((K)=>K.name)}}var kN0=w(()=>{yt1();l9()});var tA1={};T0(tA1,{updateService:()=>Ya,toggleViewMode:()=>vN0,toggleVibeState:()=>fN0,toggleLogFlow:()=>_N0,subscribeCliState:()=>CX1,setVibe:()=>Ya5,setTuiConsoleIntercepted:()=>pA1,setServerUrl:()=>_X1,setMigrationsDone:()=>vX1,setEnv:()=>fX1,setDevMode:()=>et5,setDataDir:()=>Xa5,isTuiConsoleIntercepted:()=>nA1,getCliState:()=>kX1,addLogEntry:()=>Wz});function TU(){for(let X of CN0)X()}function kX1(){return e9}function CX1(X){return CN0.add(X),()=>CN0.delete(X)}function Ya(X){e9={...e9,services:e9.services.map((Y)=>Y.name===X.name?X:Y)},TU()}function vX1(){e9={...e9,migrationsStatus:"done"},TU()}function _X1(X){e9={...e9,serverUrl:X},TU()}function fX1(X){e9={...e9,env:X},TU()}function Wz(X){let Y=[...e9.logs,X];e9={...e9,logs:Y.length>500?Y.slice(-500):Y},TU()}function et5(){e9={...e9,services:[...e9.services,{name:"Vite",status:"pending",port:0}]},TU()}function vN0(){e9={...e9,viewMode:e9.viewMode==="requests"?"config":"requests"},TU()}function _N0(){e9={...e9,logFlow:!e9.logFlow},TU()}function Xa5(X){e9={...e9,dataDir:X},TU()}function Ya5(X){e9={...e9,vibe:X},TU()}function fN0(){e9={...e9,vibe:!e9.vibe},TU()}function pA1(X){N16=X}function nA1(){return N16}var e9,CN0,N16=!1;var $z=w(()=>{e9={services:[{name:"Postgres",status:"pending",port:0},{name:"NATS",status:"pending",port:0}],migrationsStatus:"pending",serverUrl:null,env:null,logs:[],viewMode:"requests",logFlow:!1,vibe:!1,dataDir:null},CN0=new Set});import{createServer as z16}from"net";function Ga5(X){return new Promise((Y)=>{let G=z16();G.once("error",()=>Y(!1)),G.listen(X,"0.0.0.0",()=>{G.close(()=>Y(!0))})})}async function aA1(X){if(await Ga5(X))return X;let Y=await new Promise((G,Q)=>{let J=z16();J.once("error",Q),J.listen(0,"0.0.0.0",()=>{let W=J.address(),Z=typeof W==="object"&&W?W.port:0;J.close(()=>G(Z))})});return console.warn(`Port ${X} is in use, using port ${Y} instead.`),Y}var bN0=()=>{};var yN0={};T0(yN0,{startDevServer:()=>Ja5});import{join as Qa5}from"path";function O16(X){return X.replace(/\x1b\[[0-9;]*m/g,"")}function D16(X){let Y=X.getReader(),G=new TextDecoder,Q="";function J(){let W=Q.split(`
1646
- `);Q=W.pop()??"";for(let Z of W){let $=O16(Z).replace(/^\[\d+\]\s*/,"").trim();if(!$)continue;Wz({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:$})}}(async()=>{for(;;){let{done:W,value:Z}=await Y.read();if(W)break;Q+=G.decode(Z,{stream:!0}),J()}if(Q.trim()){let W=O16(Q).replace(/^\[\d+\]\s*/,"").trim();if(W)Wz({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:W})}})()}async function Ja5(X){let{vitePort:Y,baseUrl:G,noTui:Q}=X,J=await aA1(Number(X.port)),{settings:W,services:Z,managedServiceNames:$}=await iA1({port:String(J),home:X.home,baseUrl:X.baseUrl,localMode:X.localMode,skipMigrations:X.skipMigrations,noTui:X.noTui,vitePort:X.vitePort});for(let z of Z)Ya({name:z.name,status:"ready",port:z.port});fX1(W),vX1();let K=Qa5(import.meta.dir,"..","..","..","..",".."),H=Q===!0,U=Bun.spawn(["bun","run","--cwd=apps/mesh","dev:servers"],{cwd:K,env:{...process.env,PORT:String(W.port),VITE_PORT:String(Y),DATABASE_URL:W.databaseUrl,NATS_URL:W.natsUrls.join(","),NODE_ENV:W.nodeEnv,DECOCMS_LOCAL_MODE:String(W.localMode),DECOCMS_HOME:W.dataDir,DATA_DIR:W.dataDir,DECO_CLI:"1",...W.baseUrl?{BASE_URL:W.baseUrl}:{}},stdio:["inherit",H?"inherit":"pipe",H?"inherit":"pipe"]});if(!H)D16(U.stdout),D16(U.stderr);let B=G||`http://localhost:${W.port}`;_X1(B),Ya({name:"Vite",status:"ready",port:Number(Y)});let N=async(z)=>{if(U.kill(z),$.length>0){let{stopServices:O}=await Promise.resolve().then(() => (l$1(),u$1));await O(W.dataDir)}};return process.on("SIGINT",()=>N("SIGINT")),process.on("SIGTERM",()=>N("SIGTERM")),{port:Number(W.port),process:U}}var xN0=w(()=>{kN0();$z();bN0()});import{Box as hN0,Text as gN0}from"ink";import{jsx as L16,jsxs as rA1}from"react/jsx-runtime";function w16(X){if(!X)return"not set";try{let Y=new URL(X);if(Y.password)Y.password="***";if(Y.username&&Y.username.length>3)Y.username=Y.username.slice(0,3)+"***";return Y.pathname="/",Y.search="",Y.hash="",Y.toString()}catch{if(X.length<=10)return X;return X.slice(0,6)+"***"+X.slice(-4)}}function $a5(X,Y){if(Za5.has(X))return Y?{text:"\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF",dimColor:!0}:{text:"not set",dimColor:!0};if(Wa5.has(X)){if(Array.isArray(Y)){if(Y.length===0)return{text:"not set",dimColor:!0};return{text:Y.map((W)=>w16(W)).join(", "),color:"cyan"}}let Q=w16(Y);return Q==="not set"?{text:Q,dimColor:!0}:{text:Q,color:"cyan"}}if(Y===void 0||Y===null||Y==="")return{text:"not set",dimColor:!0};let G=String(Y);if(G==="true")return{text:G,color:"green"};if(G==="false")return{text:G,color:"yellow"};try{return new URL(G),{text:G,color:"cyan"}}catch{return{text:G}}}function Ka5(X){return[{title:"Core",entries:[{key:"NODE_ENV",value:X.nodeEnv},{key:"PORT",value:X.port},{key:"BASE_URL",value:X.baseUrl??`http://localhost:${X.port}`},{key:"DATA_DIR",value:X.dataDir}]},{title:"Database",entries:[{key:"DATABASE_URL",value:X.databaseUrl},{key:"DATABASE_PG_SSL",value:X.databasePgSsl}]},{title:"Auth & Secrets",entries:[{key:"BETTER_AUTH_SECRET",value:X.betterAuthSecret},{key:"ENCRYPTION_KEY",value:X.encryptionKey},{key:"MESH_JWT_SECRET",value:X.meshJwtSecret},{key:"STUDIO_PROVISION_SECRET_KEY",value:X.studioProvisionSecretKey},{key:"DISABLE_RATE_LIMIT",value:X.disableRateLimit}]},{title:"Auth Providers",entries:[{key:"AUTH_EMAIL_PASSWORD_ENABLED",value:process.env.AUTH_EMAIL_PASSWORD_ENABLED??"true"},{key:"AUTH_GOOGLE_CLIENT_ID",value:!!process.env.AUTH_GOOGLE_CLIENT_ID},{key:"AUTH_GITHUB_CLIENT_ID",value:!!process.env.AUTH_GITHUB_CLIENT_ID},{key:"AUTH_RESEND_API_KEY",value:!!process.env.AUTH_RESEND_API_KEY},{key:"AUTH_SENDGRID_API_KEY",value:!!process.env.AUTH_SENDGRID_API_KEY},{key:"AUTH_SSO_MS_CLIENT_ID",value:!!process.env.AUTH_SSO_MS_CLIENT_ID},{key:"AUTH_SSO_GOOGLE_CLIENT_ID",value:!!process.env.AUTH_SSO_GOOGLE_CLIENT_ID},{key:"AUTH_MAGIC_LINK_ENABLED",value:process.env.AUTH_MAGIC_LINK_ENABLED==="true"},{key:"AUTH_EMAIL_OTP_ENABLED",value:process.env.AUTH_EMAIL_OTP_ENABLED==="true"}]},{title:"Observability",entries:[{key:"CLICKHOUSE_URL",value:X.clickhouseUrl},{key:"OTEL_SERVICE_NAME",value:X.otelServiceName}]},{title:"Event Bus & Networking",entries:[{key:"NATS_URL",value:X.natsUrls}]},{title:"Config Files",entries:[{key:"CONFIG_PATH",value:X.configPath}]},{title:"AI Gateway",entries:[{key:"DECO_AI_GATEWAY_ENABLED",value:X.aiGatewayEnabled},{key:"DECO_AI_GATEWAY_URL",value:X.aiGatewayUrl}]}]}function E16({env:X}){let Y=Ka5(X);return L16(hN0,{flexDirection:"column",children:Y.map((G)=>rA1(hN0,{flexDirection:"column",marginTop:1,children:[rA1(gN0,{dimColor:!0,children:[" ","\u2500\u2500 ",G.title," ","\u2500".repeat(Math.max(0,38-G.title.length))]}),G.entries.map(({key:Q,value:J})=>{let W=$a5(Q,J);return rA1(hN0,{children:[rA1(gN0,{dimColor:!0,children:[" ",Q.padEnd(36)]}),L16(gN0,{color:W.color,dimColor:W.dimColor,children:W.text})]},Q)})]},G.title))})}var Za5,Wa5;var P16=w(()=>{Za5=new Set(["BETTER_AUTH_SECRET","ENCRYPTION_KEY","MESH_JWT_SECRET","STUDIO_PROVISION_SECRET_KEY"]),Wa5=new Set(["DATABASE_URL","CLICKHOUSE_URL","NATS_URL"])});var uN0;var q16=w(()=>{uN0={name:"decocms",version:"2.311.1",description:"Deco CMS \u2014 Self-hostable MCP Gateway for managing AI connections and tools",author:"Deco team",repository:{type:"git",url:"git+https://github.com/decocms/studio.git",directory:"apps/mesh"},bugs:{url:"https://github.com/decocms/studio/issues"},type:"module",bin:{deco:"./dist/server/cli.js"},files:["dist/**/*"],scripts:{dev:'bun run migrate && concurrently "bun run dev:client" "bun run dev:server"',"dev:servers":'concurrently "bun run dev:client" "bun run dev:server"',"dev:client":"bun --bun vite dev","dev:server":"bun run --cwd=../../packages/sandbox build && NODE_ENV=development bun --env-file=.env --hot run src/index.ts","build:client":"bun --bun vite build","build:server":"bun run scripts/bundle-server-script.ts --dist ./dist/server","db:migrate":"bun run ./dist/server/migrate.js",check:"tsc --noEmit",start:"bun run ./dist/server/server.js",migrate:"bun run src/database/migrate.ts",test:"bun test","test:e2e":"playwright test","test:e2e:ui":"playwright test --ui","better-auth:migrate":"bunx --bun @better-auth/cli migrate -y --config src/auth/index.ts",prepublishOnly:"bun run build:client && bun run build:server"},optionalDependencies:{"@duckdb/node-api":"^1.5.0-r.1","@freestyle-sh/with-bun":"^0.2.12","@freestyle-sh/with-deno":"^0.0.4","@freestyle-sh/with-nodejs":"^0.2.9","freestyle-sandboxes":"^0.1.46"},dependencies:{"@ai-sdk/anthropic":"^3.0.58","@ai-sdk/google":"^3.0.60","@ai-sdk/openai":"^3.0.50","@anthropic-ai/sdk":"^0.79.0","@aws-sdk/client-s3":"^3.1013.0","@aws-sdk/s3-request-presigner":"^3.1013.0","@clickhouse/client":"^1.8.1","@deco-cx/warp-node":"^0.3.20","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@inkjs/ui":"^2.0.0","@modelcontextprotocol/ext-apps":"^1.2.2","@openrouter/ai-sdk-provider":"^2.2.5","@opentelemetry/core":"^2.6.0","@tanstack/react-virtual":"^3.13.21","@xterm/addon-fit":"^0.11.0","@xterm/xterm":"^6.0.0","ai-sdk-provider-claude-code":"^3.4.4","ai-sdk-provider-codex-cli":"^1.1.0","embedded-postgres":"^18.3.0-beta.16",ink:"^6.8.0",kysely:"^0.28.12",nats:"^2.29.3","node-pty":"^1.0.0","posthog-js":"^1.371.1","posthog-node":"^5.0.0",react:"^19.2.0","react-dom":"^19.2.0"},devDependencies:{"@ai-sdk/provider":"^3.0.8","@ai-sdk/react":"^3.0.118","@anthropic-ai/claude-agent-sdk":"^0.2.80","@better-auth/sso":"1.4.1","@daveyplate/better-auth-ui":"^3.2.7","@deco/ui":"workspace:*","@decocms/better-auth":"1.5.17","@decocms/bindings":"workspace:*","@decocms/mcp-utils":"workspace:*","@decocms/mesh-sdk":"workspace:*","@decocms/runtime":"workspace:*","@decocms/vite-plugin":"workspace:*","@electric-sql/pglite":"^0.3.15","@floating-ui/react":"^0.27.16","@hookform/resolvers":"^5.2.2","@jitl/quickjs-wasmfile-release-sync":"0.31.0","@modelcontextprotocol/sdk":"1.27.1","@monaco-editor/react":"^4.7.0","@opentelemetry/api":"^1.9.0","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/exporter-logs-otlp-proto":"^0.211.0","@opentelemetry/exporter-prometheus":"^0.208.0","@opentelemetry/exporter-trace-otlp-proto":"^0.207.0","@opentelemetry/instrumentation-runtime-node":"^0.24.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-metrics":"^2.2.0","@opentelemetry/sdk-node":"^0.207.0","@opentelemetry/sdk-trace-base":"^2.5.0","@playwright/test":"^1.58.2","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-checkbox":"^1.3.3","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-label":"^2.1.7","@radix-ui/react-select":"^2.2.6","@radix-ui/react-separator":"^1.1.7","@radix-ui/react-slot":"^1.2.3","@radix-ui/react-tabs":"^1.1.13","@rjsf/core":"^6.1.2","@rjsf/shadcn":"^6.1.2","@rjsf/utils":"^6.1.2","@rjsf/validator-ajv8":"^6.1.2","@tailwindcss/vite":"^4.1.17","@tanstack/react-query":"5.90.11","@tanstack/react-router":"^1.139.7","@tiptap/core":"3.20.2","@tiptap/extension-mention":"3.20.2","@tiptap/extension-placeholder":"3.20.2","@tiptap/pm":"3.20.2","@tiptap/react":"3.20.2","@tiptap/starter-kit":"3.20.2","@tiptap/suggestion":"3.20.2","@types/bun":"^1.3.1","@types/pg":"^8.15.6","@types/react-syntax-highlighter":"^15.5.13","@untitledui/icons":"^0.0.19","@vercel/nft":"^1.1.1","@vitejs/plugin-react":"^5.1.0",ai:"^6.0.116","babel-plugin-react-compiler":"^1.0.0","better-auth":"1.4.5","class-variance-authority":"^0.7.1",clsx:"^2.1.1",concurrently:"^9.2.1",croner:"^9.1.0","date-fns":"^4.1.0",degit:"^2.8.4",hono:"^4.10.7","input-otp":"^1.4.2",jose:"^6.0.11","kysely-pglite":"^0.6.1","lucide-react":"^0.468.0",marked:"^15.0.6","@decocms/sandbox":"workspace:*","mesh-plugin-workflows":"workspace:*",nanoid:"^5.1.6",pg:"^8.16.3",prettier:"^3.4.2","react-hook-form":"^7.66.0","react-markdown":"^10.1.0","react-resizable-panels":"^2.1.7","react-syntax-highlighter":"^15.6.1",recharts:"^3.6.0","rehype-raw":"^7.0.0","remark-gfm":"^4.0.0","sass-embedded":"^1.97.2",sonner:"^2.0.7","tailwind-merge":"^3.3.1",tailwindcss:"^4.1.17",typescript:"^5.9.3",vite:"^7.2.1","vite-tsconfig-paths":"^5.1.4",zod:"^4.0.0",zustand:"^5.0.9"},homepage:"https://github.com/decocms/studio",keywords:["mcp","model-context-protocol","ai","gateway","self-hosted","mesh","tools"],license:"MIT",publishConfig:{access:"public"}}});import{Box as IU,Text as RX}from"ink";import{Spinner as Fa5}from"@inkjs/ui";import{useSyncExternalStore as A16}from"react";import{jsx as TY,jsxs as sQ}from"react/jsx-runtime";function Oa5(X,Y){if(!X||!za5.has(X))return X;let G=lN0[Y]??lN0[lN0.length-1];return X==="#875f00"?G[0]:G[1]}function T16({status:X}){if(X==="pending")return TY(Fa5,{label:""});return TY(RX,{color:"green",children:"\u2713"})}function I16({services:X,migrationsStatus:Y,home:G,serverUrl:Q,vibe:J}){let W=A16(mm0,lm0),Z=A16(tm0,nm0);return sQ(IU,{flexDirection:"column",paddingBottom:1,children:[J?sQ(IU,{flexDirection:"column",children:[W.map(($,K)=>{let H=Z[K],U=$.reduce((N,z)=>N+z.text.length,0),B=Math.max(0,Na5-U);return sQ(IU,{flexDirection:"row",children:[$.map((N,z)=>{let O=Oa5(N.color,K);return O?TY(RX,{color:O,children:N.text},z):TY(RX,{children:N.text},z)}),TY(RX,{children:" ".repeat(B+2)}),H?.map((N,z)=>N.color?TY(RX,{color:N.color,children:N.char},z):TY(RX,{children:N.char},z))]},K)}),sQ(RX,{dimColor:!0,children:[" v",uN0.version]})]}):sQ(IU,{flexDirection:"column",marginTop:1,children:[Ua5.map(($,K)=>TY(RX,{color:Ba5[K],children:$},K)),sQ(RX,{dimColor:!0,children:[" v",uN0.version]})]}),TY(IU,{marginBottom:1,children:TY(RX,{dimColor:!0,children:"\u2500".repeat(80)})}),TY(IU,{children:sQ(RX,{dimColor:!0,children:["Home: ",G]})}),sQ(IU,{gap:2,children:[X.map(($)=>sQ(IU,{gap:1,children:[sQ(RX,{children:[$.name," :",$.port||"...."]}),TY(T16,{status:$.status})]},$.name)),sQ(IU,{gap:1,children:[TY(RX,{children:"Migrations"}),TY(T16,{status:Y})]})]}),TY(IU,{children:Q?sQ(RX,{children:["Open in browser: ",TY(RX,{color:"cyan",children:Q})]}):TY(RX,{dimColor:!0,children:"Starting..."})}),sQ(IU,{gap:2,children:[sQ(RX,{dimColor:!0,children:[TY(RX,{bold:!0,dimColor:!0,children:"K"})," ","toggle config"]}),sQ(RX,{dimColor:!0,children:[TY(RX,{bold:!0,dimColor:!0,children:"L"})," ","toggle log flow"]}),sQ(RX,{dimColor:!0,children:[TY(RX,{bold:!0,dimColor:!0,children:"V"})," ","toggle vibe ",J?"\u266A Nihilore \xB7 CC BY 4.0":""]}),J&&sQ(RX,{dimColor:!0,children:[TY(RX,{bold:!0,dimColor:!0,children:"N"})," ","skip song"]})]})]})}var Ua5,Ba5,lN0,Na5=30,za5;var V16=w(()=>{q16();Vt1();Ct1();Ua5=[" \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 ","\u2591\u2591\u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588 \u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588\u2588\u2588 "," \u2591\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2588 \u2591 \u2588\u2588\u2588 \u2591\u2591\u2591 \u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588\u2591\u2591\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591 \u2588\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588 "," \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2591\u2591\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2591 ","\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591 "],Ba5=["#00ff64","#00ee5e","#00dc56","#00c84e","#00b444","#00a03c","#008832","#006e28"],lN0=[["#00ff64","#00cc50"],["#00f060","#00c04c"],["#00e05c","#00b448"],["#00d058","#00a844"],["#00c054","#009c40"],["#00b050","#00903c"],["#00a04c","#008438"],["#009048","#007834"],["#008044","#006c30"],["#007040","#00602c"],["#00603c","#005428"]],za5=new Set(["#875f00","#5f3800"])});import{useSyncExternalStore as Da5}from"react";function wa5(){let X=process.stdout.rows||24,Y=process.stdout.columns||80;if(X!==oA1.rows||Y!==oA1.columns)oA1={rows:X,columns:Y};return oA1}function La5(X){return process.stdout.on("resize",X),()=>{process.stdout.off("resize",X)}}function j16(){return Da5(La5,wa5)}var oA1;var M16=w(()=>{oA1={rows:process.stdout.rows||24,columns:process.stdout.columns||80}});import{Box as Ea5,Text as bX1}from"ink";import{useSyncExternalStore as Pa5}from"react";import{jsx as mN0,jsxs as dN0}from"react/jsx-runtime";function qa5(X){if(X>=500)return"red";if(X>=400)return"yellow";if(X>=300)return"cyan";return"green"}function R16({logs:X,headerHeight:Y}){let{rows:G}=j16(),{logFlow:Q}=Pa5(CX1,kX1),J=Math.max(1,G-Y-1),W=Q?X:X.slice(-J);return mN0(Ea5,{flexDirection:"column",children:W.map((Z,$)=>{if(Z.rawLine)return mN0(bX1,{dimColor:!0,children:Z.rawLine},$);let K=Z.duration<1000?`${Z.duration}ms`:`${(Z.duration/1000).toFixed(1)}s`;return dN0(bX1,{children:[dN0(bX1,{dimColor:!0,children:[Z.method.padEnd(6)," ",Z.path.padEnd(30)," "]}),mN0(bX1,{color:qa5(Z.status),children:Z.status}),dN0(bX1,{dimColor:!0,children:[" ",K.padStart(8)]})]},$)})})}var S16=w(()=>{$z();M16()});var cN0={};T0(cN0,{App:()=>Ra5});import{Box as Aa5,Text as Ta5,useInput as Ia5}from"ink";import{useSyncExternalStore as Va5}from"react";import{jsx as sA1,jsxs as Sa5}from"react/jsx-runtime";function Ra5({home:X}){let Y=Va5(CX1,kX1);return Ia5((G)=>{if(G==="k"||G==="K")vN0();if(G==="l"||G==="L")_N0();if((G==="v"||G==="V")&&Y.dataDir)bt1(Y.dataDir),fN0();if((G==="n"||G==="N")&&Y.vibe)ft1()}),Sa5(Aa5,{flexDirection:"column",children:[sA1(I16,{services:Y.services,migrationsStatus:Y.migrationsStatus,home:X,serverUrl:Y.serverUrl,vibe:Y.vibe}),Y.viewMode==="config"?Y.env?sA1(E16,{env:Y.env}):sA1(Ta5,{dimColor:!0,children:"Loading configuration..."}):sA1(R16,{logs:Y.logs,headerHeight:Y.vibe?Ma5:ja5})]})}var ja5=15,Ma5=19;var iN0=w(()=>{P16();V16();S16();$z();fd()});function k16(X,Y={}){return{PORT:String(X.port),NODE_ENV:X.nodeEnv,BASE_URL:X.baseUrl,DATA_DIR:X.dataDir,DECOCMS_HOME:X.dataDir,DATABASE_URL:X.databaseUrl,DATABASE_PG_SSL:String(X.databasePgSsl),DATABASE_POOL_MAX:String(X.databasePoolMax),NATS_URL:X.natsUrls.join(","),BETTER_AUTH_SECRET:X.betterAuthSecret,ENCRYPTION_KEY:X.encryptionKey,MESH_JWT_SECRET:X.meshJwtSecret,DECOCMS_LOCAL_MODE:String(X.localMode),DISABLE_RATE_LIMIT:String(X.disableRateLimit),STUDIO_PROVISION_SECRET_KEY:X.studioProvisionSecretKey,CONFIG_PATH:X.configPath,...Object.fromEntries(Object.entries(process.env).filter(([G])=>G.startsWith("AUTH_"))),DECO_AI_GATEWAY_ENABLED:String(X.aiGatewayEnabled),DECO_AI_GATEWAY_URL:X.aiGatewayUrl,ENABLE_DECO_IMPORT:String(X.enableDecoImport),S3_ENDPOINT:X.s3Endpoint,S3_BUCKET:X.s3Bucket,S3_REGION:X.s3Region,S3_ACCESS_KEY_ID:X.s3AccessKeyId,S3_SECRET_ACCESS_KEY:X.s3SecretAccessKey,S3_FORCE_PATH_STYLE:String(X.s3ForcePathStyle),OTEL_SERVICE_NAME:X.otelServiceName,CLICKHOUSE_URL:X.clickhouseUrl,OTEL_EXPORTER_OTLP_ENDPOINT:process.env.OTEL_EXPORTER_OTLP_ENDPOINT,OTEL_EXPORTER_OTLP_PROTOCOL:process.env.OTEL_EXPORTER_OTLP_PROTOCOL,OTEL_RESOURCE_ATTRIBUTES:process.env.OTEL_RESOURCE_ATTRIBUTES,DECO_SUPABASE_URL:X.decoSupabaseUrl,DECO_SUPABASE_SERVICE_KEY:X.decoSupabaseServiceKey,FIRECRAWL_API_KEY:X.firecrawlApiKey,STUDIO_SANDBOX_RUNNER:process.env.STUDIO_SANDBOX_RUNNER,STUDIO_SANDBOX_TEMPLATE_NAME:process.env.STUDIO_SANDBOX_TEMPLATE_NAME,STUDIO_ENV:process.env.STUDIO_ENV,STUDIO_SANDBOX_PREVIEW_URL_PATTERN:process.env.STUDIO_SANDBOX_PREVIEW_URL_PATTERN,STUDIO_SANDBOX_PREVIEW_GATEWAY_NAME:process.env.STUDIO_SANDBOX_PREVIEW_GATEWAY_NAME,STUDIO_SANDBOX_PREVIEW_GATEWAY_NAMESPACE:process.env.STUDIO_SANDBOX_PREVIEW_GATEWAY_NAMESPACE,STUDIO_SANDBOX_SENTINEL_TOKEN:process.env.STUDIO_SANDBOX_SENTINEL_TOKEN,KUBERNETES_SERVICE_HOST:process.env.KUBERNETES_SERVICE_HOST,KUBERNETES_SERVICE_PORT:process.env.KUBERNETES_SERVICE_PORT,FREESTYLE_API_KEY:process.env.FREESTYLE_API_KEY,BROWSERLESS_TOKEN:process.env.BROWSERLESS_TOKEN,NODE_EXTRA_CA_CERTS:process.env.NODE_EXTRA_CA_CERTS,DECO_CLI:"1",DECO_NO_TUI:"true",...Y}}var yj=k((ba5)=>{ba5.HttpAuthLocation=void 0;(function(X){X.HEADER="header",X.QUERY="query"})(ba5.HttpAuthLocation||(ba5.HttpAuthLocation={}));ba5.HttpApiKeyAuthLocation=void 0;(function(X){X.HEADER="header",X.QUERY="query"})(ba5.HttpApiKeyAuthLocation||(ba5.HttpApiKeyAuthLocation={}));ba5.EndpointURLScheme=void 0;(function(X){X.HTTP="http",X.HTTPS="https"})(ba5.EndpointURLScheme||(ba5.EndpointURLScheme={}));ba5.AlgorithmId=void 0;(function(X){X.MD5="md5",X.CRC32="crc32",X.CRC32C="crc32c",X.SHA1="sha1",X.SHA256="sha256"})(ba5.AlgorithmId||(ba5.AlgorithmId={}));var ka5=(X)=>{let Y=[];if(X.sha256!==void 0)Y.push({algorithmId:()=>ba5.AlgorithmId.SHA256,checksumConstructor:()=>X.sha256});if(X.md5!=null)Y.push({algorithmId:()=>ba5.AlgorithmId.MD5,checksumConstructor:()=>X.md5});return{addChecksumAlgorithm(G){Y.push(G)},checksumAlgorithms(){return Y}}},Ca5=(X)=>{let Y={};return X.checksumAlgorithms().forEach((G)=>{Y[G.algorithmId()]=G.checksumConstructor()}),Y},va5=(X)=>{return ka5(X)},_a5=(X)=>{return Ca5(X)};ba5.FieldPosition=void 0;(function(X){X[X.HEADER=0]="HEADER",X[X.TRAILER=1]="TRAILER"})(ba5.FieldPosition||(ba5.FieldPosition={}));var fa5="__smithy_context";ba5.IniSectionType=void 0;(function(X){X.PROFILE="profile",X.SSO_SESSION="sso-session",X.SERVICES="services"})(ba5.IniSectionType||(ba5.IniSectionType={}));ba5.RequestHandlerProtocol=void 0;(function(X){X.HTTP_0_9="http/0.9",X.HTTP_1_0="http/1.0",X.TDS_8_0="tds/8.0"})(ba5.RequestHandlerProtocol||(ba5.RequestHandlerProtocol={}));ba5.SMITHY_CONTEXT_KEY=fa5;ba5.getDefaultClientConfiguration=va5;ba5.resolveDefaultRuntimeConfig=_a5});var u7=k((ca5)=>{var ga5=yj(),ua5=(X)=>{return{setHttpHandler(Y){X.httpHandler=Y},httpHandler(){return X.httpHandler},updateHttpClientConfig(Y,G){X.httpHandler?.updateHttpClientConfig(Y,G)},httpHandlerConfigs(){return X.httpHandler.httpHandlerConfigs()}}},la5=(X)=>{return{httpHandler:X.httpHandler()}};class C16{name;kind;values;constructor({name:X,kind:Y=ga5.FieldPosition.HEADER,values:G=[]}){this.name=X,this.kind=Y,this.values=G}add(X){this.values.push(X)}set(X){this.values=X}remove(X){this.values=this.values.filter((Y)=>Y!==X)}toString(){return this.values.map((X)=>X.includes(",")||X.includes(" ")?`"${X}"`:X).join(", ")}get(){return this.values}}class v16{entries={};encoding;constructor({fields:X=[],encoding:Y="utf-8"}){X.forEach(this.setField.bind(this)),this.encoding=Y}setField(X){this.entries[X.name.toLowerCase()]=X}getField(X){return this.entries[X.toLowerCase()]}removeField(X){delete this.entries[X.toLowerCase()]}getByType(X){return Object.values(this.entries).filter((Y)=>Y.kind===X)}}class eA1{method;protocol;hostname;port;path;query;headers;username;password;fragment;body;constructor(X){this.method=X.method||"GET",this.hostname=X.hostname||"localhost",this.port=X.port,this.query=X.query||{},this.headers=X.headers||{},this.body=X.body,this.protocol=X.protocol?X.protocol.slice(-1)!==":"?`${X.protocol}:`:X.protocol:"https:",this.path=X.path?X.path.charAt(0)!=="/"?`/${X.path}`:X.path:"/",this.username=X.username,this.password=X.password,this.fragment=X.fragment}static clone(X){let Y=new eA1({...X,headers:{...X.headers}});if(Y.query)Y.query=ma5(Y.query);return Y}static isInstance(X){if(!X)return!1;let Y=X;return"method"in Y&&"protocol"in Y&&"hostname"in Y&&"path"in Y&&typeof Y.query==="object"&&typeof Y.headers==="object"}clone(){return eA1.clone(this)}}function ma5(X){return Object.keys(X).reduce((Y,G)=>{let Q=X[G];return{...Y,[G]:Array.isArray(Q)?[...Q]:Q}},{})}class _16{statusCode;reason;headers;body;constructor(X){this.statusCode=X.statusCode,this.reason=X.reason,this.headers=X.headers||{},this.body=X.body}static isInstance(X){if(!X)return!1;let Y=X;return typeof Y.statusCode==="number"&&typeof Y.headers==="object"}}function da5(X){return/^[a-z0-9][a-z0-9\.\-]*[a-z0-9]$/.test(X)}ca5.Field=C16;ca5.Fields=v16;ca5.HttpRequest=eA1;ca5.HttpResponse=_16;ca5.getHttpHandlerExtensionConfiguration=ua5;ca5.isValidHostname=da5;ca5.resolveHttpHandlerRuntimeConfig=la5});function sa5(X){return(Y)=>async(G)=>{let{request:Q}=G;if(X.expectContinueHeader!==!1&&f16.HttpRequest.isInstance(Q)&&Q.body&&X.runtime==="node"&&X.requestHandler?.constructor?.name!=="FetchHttpHandler"){let J=!0;if(typeof X.expectContinueHeader==="number")try{J=(Number(Q.headers?.["content-length"])??X.bodyLengthChecker?.(Q.body)??1/0)>=X.expectContinueHeader}catch(W){}else J=!!X.expectContinueHeader;if(J)Q.headers.Expect="100-continue"}return Y({...G,request:Q})}}var f16,ea5,b16=(X)=>({applyToStack:(Y)=>{Y.add(sa5(X),ea5)}});var y16=w(()=>{f16=X1(u7(),1);ea5={step:"build",tags:["SET_EXPECT_HEADER","EXPECT_HEADER"],name:"addExpectContinueMiddleware",override:!0}});var wH,XT1,xj,YT1,E9,x16,xX1;var LH=w(()=>{wH={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},XT1=wH.WHEN_SUPPORTED,xj={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},YT1=wH.WHEN_SUPPORTED;(function(X){X.MD5="MD5",X.CRC32="CRC32",X.CRC32C="CRC32C",X.CRC64NVME="CRC64NVME",X.SHA1="SHA1",X.SHA256="SHA256"})(E9||(E9={}));(function(X){X.HEADER="header",X.TRAILER="trailer"})(x16||(x16={}));xX1=E9.CRC32});var kq,Ga=(X,Y,G,Q)=>{if(!(Y in X))return;let J=X[Y].toUpperCase();if(!Object.values(G).includes(J))throw TypeError(`Cannot load ${Q} '${Y}'. Expected one of ${Object.values(G)}, got '${X[Y]}'.`);return J};var sN0=w(()=>{(function(X){X.ENV="env",X.CONFIG="shared config entry"})(kq||(kq={}))});var Xr5="AWS_REQUEST_CHECKSUM_CALCULATION",Yr5="request_checksum_calculation",h16;var g16=w(()=>{LH();sN0();h16={environmentVariableSelector:(X)=>Ga(X,Xr5,wH,kq.ENV),configFileSelector:(X)=>Ga(X,Yr5,wH,kq.CONFIG),default:XT1}});var Gr5="AWS_RESPONSE_CHECKSUM_VALIDATION",Qr5="response_checksum_validation",u16;var l16=w(()=>{LH();sN0();u16={environmentVariableSelector:(X)=>Ga(X,Gr5,xj,kq.ENV),configFileSelector:(X)=>Ga(X,Qr5,xj,kq.CONFIG),default:YT1}});var Xz0=k((Nr5)=>{var Jr5=["AuthFailure","InvalidSignatureException","RequestExpired","RequestInTheFuture","RequestTimeTooSkewed","SignatureDoesNotMatch"],Zr5=["BandwidthLimitExceeded","EC2ThrottledException","LimitExceededException","PriorRequestNotComplete","ProvisionedThroughputExceededException","RequestLimitExceeded","RequestThrottled","RequestThrottledException","SlowDown","ThrottledException","Throttling","ThrottlingException","TooManyRequestsException","TransactionInProgressException"],Wr5=["TimeoutError","RequestTimeout","RequestTimeoutException"],$r5=[500,502,503,504],Kr5=["ECONNRESET","ECONNREFUSED","EPIPE","ETIMEDOUT"],Hr5=["EHOSTUNREACH","ENETUNREACH","ENOTFOUND"],m16=(X)=>X?.$retryable!==void 0,Fr5=(X)=>Jr5.includes(X.name),d16=(X)=>X.$metadata?.clockSkewCorrected,c16=(X)=>{let Y=new Set(["Failed to fetch","NetworkError when attempting to fetch resource","The Internet connection appears to be offline","Load failed","Network request failed"]);if(!(X&&X instanceof TypeError))return!1;return Y.has(X.message)},Ur5=(X)=>X.$metadata?.httpStatusCode===429||Zr5.includes(X.name)||X.$retryable?.throttling==!0,eN0=(X,Y=0)=>m16(X)||d16(X)||X.name==="InvalidSignatureException"&&X.message?.includes("Signature expired")||Wr5.includes(X.name)||Kr5.includes(X?.code||"")||Hr5.includes(X?.code||"")||$r5.includes(X.$metadata?.httpStatusCode||0)||c16(X)||i16(X)||X.cause!==void 0&&Y<=10&&eN0(X.cause,Y+1),Br5=(X)=>{if(X.$metadata?.httpStatusCode!==void 0){let Y=X.$metadata.httpStatusCode;if(500<=Y&&Y<=599&&!eN0(X))return!0;return!1}return!1};function i16(X){return X.code==="ERR_HTTP2_STREAM_ERROR"&&X.message.includes("NGHTTP2_REFUSED_STREAM")}Nr5.isBrowserNetworkError=c16;Nr5.isClockSkewCorrectedError=d16;Nr5.isClockSkewError=Fr5;Nr5.isNodeJsHttp2TransientError=i16;Nr5.isRetryableByTrait=m16;Nr5.isServerError=Br5;Nr5.isThrottlingError=Ur5;Nr5.isTransientError=eN0});var Dw=k((kr5)=>{var Ar5=Xz0();kr5.RETRY_MODES=void 0;(function(X){X.STANDARD="standard",X.ADAPTIVE="adaptive"})(kr5.RETRY_MODES||(kr5.RETRY_MODES={}));var QT1=3,Tr5=kr5.RETRY_MODES.STANDARD;class JT1{static setTimeoutFn=setTimeout;beta;minCapacity;minFillRate;scaleConstant;smooth;enabled=!1;availableTokens=0;lastMaxRate=0;measuredTxRate=0;requestCount=0;fillRate;lastThrottleTime;lastTimestamp=0;lastTxRateBucket;maxCapacity;timeWindow=0;constructor(X){this.beta=X?.beta??0.7,this.minCapacity=X?.minCapacity??1,this.minFillRate=X?.minFillRate??0.5,this.scaleConstant=X?.scaleConstant??0.4,this.smooth=X?.smooth??0.8,this.lastThrottleTime=this.getCurrentTimeInSeconds(),this.lastTxRateBucket=Math.floor(this.getCurrentTimeInSeconds()),this.fillRate=this.minFillRate,this.maxCapacity=this.minCapacity}async getSendToken(){return this.acquireTokenBucket(1)}updateClientSendingRate(X){let Y;this.updateMeasuredRate();let G=X;if(G?.errorType==="THROTTLING"||Ar5.isThrottlingError(G?.error??X)){let W=!this.enabled?this.measuredTxRate:Math.min(this.measuredTxRate,this.fillRate);this.lastMaxRate=W,this.calculateTimeWindow(),this.lastThrottleTime=this.getCurrentTimeInSeconds(),Y=this.cubicThrottle(W),this.enableTokenBucket()}else this.calculateTimeWindow(),Y=this.cubicSuccess(this.getCurrentTimeInSeconds());let J=Math.min(Y,2*this.measuredTxRate);this.updateTokenBucketRate(J)}getCurrentTimeInSeconds(){return Date.now()/1000}async acquireTokenBucket(X){if(!this.enabled)return;if(this.refillTokenBucket(),X>this.availableTokens){let Y=(X-this.availableTokens)/this.fillRate*1000;await new Promise((G)=>JT1.setTimeoutFn(G,Y))}this.availableTokens=this.availableTokens-X}refillTokenBucket(){let X=this.getCurrentTimeInSeconds();if(!this.lastTimestamp){this.lastTimestamp=X;return}let Y=(X-this.lastTimestamp)*this.fillRate;this.availableTokens=Math.min(this.maxCapacity,this.availableTokens+Y),this.lastTimestamp=X}calculateTimeWindow(){this.timeWindow=this.getPrecise(Math.pow(this.lastMaxRate*(1-this.beta)/this.scaleConstant,0.3333333333333333))}cubicThrottle(X){return this.getPrecise(X*this.beta)}cubicSuccess(X){return this.getPrecise(this.scaleConstant*Math.pow(X-this.lastThrottleTime-this.timeWindow,3)+this.lastMaxRate)}enableTokenBucket(){this.enabled=!0}updateTokenBucketRate(X){this.refillTokenBucket(),this.fillRate=Math.max(X,this.minFillRate),this.maxCapacity=Math.max(X,this.minCapacity),this.availableTokens=Math.min(this.availableTokens,this.maxCapacity)}updateMeasuredRate(){let X=this.getCurrentTimeInSeconds(),Y=Math.floor(X*2)/2;if(this.requestCount++,Y>this.lastTxRateBucket){let G=this.requestCount/(Y-this.lastTxRateBucket);this.measuredTxRate=this.getPrecise(G*this.smooth+this.measuredTxRate*(1-this.smooth)),this.requestCount=0,this.lastTxRateBucket=Y}}getPrecise(X){return parseFloat(X.toFixed(8))}}var Ir5=100,Qz0=20000,Vr5=500,Yz0=500,jr5=5,Mr5=10,p16=1,Rr5="amz-sdk-invocation-id",Sr5="amz-sdk-request";class eQ{static v2026=typeof process<"u"&&process.env?.SMITHY_NEW_RETRIES_2026==="true";static delay(){return eQ.v2026?50:100}static throttlingDelay(){return eQ.v2026?1000:500}static cost(){return eQ.v2026?14:5}static throttlingCost(){return eQ.v2026?5:10}static modifiedCostType(){return eQ.v2026?"THROTTLING":"TRANSIENT"}}class n16{x=eQ.delay();computeNextBackoffDelay(X){let Y=Math.random(),G=2,Q=Y*Math.min(this.x*2**X,Qz0);return Math.floor(Q)}setDelayBase(X){this.x=X}}class Gz0{delay;count;cost;longPoll;constructor(X,Y,G,Q){this.delay=X,this.count=Y,this.cost=G,this.longPoll=Q}getRetryCount(){return this.count}getRetryDelay(){return Math.min(Qz0,this.delay)}getRetryCost(){return this.cost}isLongPoll(){return this.longPoll}}var GT1={incompatible:1,attempts:2,capacity:3};class hX1{mode=kr5.RETRY_MODES.STANDARD;capacity=Yz0;retryBackoffStrategy;maxAttemptsProvider;baseDelay;constructor(X){if(typeof X==="number")this.maxAttemptsProvider=async()=>X;else if(typeof X==="function")this.maxAttemptsProvider=X;else if(X&&typeof X==="object")this.maxAttemptsProvider=async()=>X.maxAttempts,this.baseDelay=X.baseDelay,this.retryBackoffStrategy=X.backoff;this.maxAttemptsProvider??=async()=>QT1,this.baseDelay??=eQ.delay(),this.retryBackoffStrategy??=new n16}async acquireInitialRetryToken(X){return new Gz0(eQ.delay(),0,void 0,eQ.v2026&&X.includes(":longpoll"))}async refreshRetryTokenForRetry(X,Y){let G=await this.getMaxAttempts(),Q=this.retryCode(X,Y,G),J=Q===0,W=X.isLongPoll?.();if(J||W){let Z=Y.errorType;this.retryBackoffStrategy.setDelayBase(Z==="THROTTLING"?eQ.throttlingDelay():this.baseDelay);let $=this.retryBackoffStrategy.computeNextBackoffDelay(X.getRetryCount()),K=$;if(Y.retryAfterHint instanceof Date)K=Math.max($,Math.min(Y.retryAfterHint.getTime()-Date.now(),$+5000));if(!J)throw Object.assign(Error("No retry token available"),{$backoff:eQ.v2026&&Q===GT1.capacity&&W?K:0});else{let H=this.getCapacityCost(Z);return this.capacity-=H,new Gz0(K,X.getRetryCount()+1,H,X.isLongPoll?.()??!1)}}throw Error("No retry token available")}recordSuccess(X){this.capacity=Math.min(Yz0,this.capacity+(X.getRetryCost()??p16))}getCapacity(){return this.capacity}async maxAttempts(){return this.maxAttemptsProvider()}async getMaxAttempts(){try{return await this.maxAttemptsProvider()}catch(X){return console.warn(`Max attempts provider could not resolve. Using default of ${QT1}`),QT1}}retryCode(X,Y,G){let Q=X.getRetryCount()+1,J=this.isRetryableError(Y.errorType)?0:GT1.incompatible,W=Q<G?0:GT1.attempts,Z=this.capacity>=this.getCapacityCost(Y.errorType)?0:GT1.capacity;return J||W||Z}getCapacityCost(X){return X===eQ.modifiedCostType()?eQ.throttlingCost():eQ.cost()}isRetryableError(X){return X==="THROTTLING"||X==="TRANSIENT"}}class t16{mode=kr5.RETRY_MODES.ADAPTIVE;rateLimiter;standardRetryStrategy;constructor(X,Y){let{rateLimiter:G}=Y??{};this.rateLimiter=G??new JT1,this.standardRetryStrategy=Y?new hX1({maxAttempts:typeof X==="number"?X:3,...Y}):new hX1(X)}async acquireInitialRetryToken(X){return await this.rateLimiter.getSendToken(),this.standardRetryStrategy.acquireInitialRetryToken(X)}async refreshRetryTokenForRetry(X,Y){return this.rateLimiter.updateClientSendingRate(Y),this.standardRetryStrategy.refreshRetryTokenForRetry(X,Y)}recordSuccess(X){this.rateLimiter.updateClientSendingRate({}),this.standardRetryStrategy.recordSuccess(X)}async maxAttemptsProvider(){return this.standardRetryStrategy.maxAttempts()}}class a16 extends hX1{computeNextBackoffDelay;constructor(X,Y=eQ.delay()){super(typeof X==="function"?X:async()=>X);if(typeof Y==="number")this.computeNextBackoffDelay=()=>Y;else this.computeNextBackoffDelay=Y}async refreshRetryTokenForRetry(X,Y){let G=await super.refreshRetryTokenForRetry(X,Y);return G.getRetryDelay=()=>this.computeNextBackoffDelay(G.getRetryCount()),G}}kr5.AdaptiveRetryStrategy=t16;kr5.ConfiguredRetryStrategy=a16;kr5.DEFAULT_MAX_ATTEMPTS=QT1;kr5.DEFAULT_RETRY_DELAY_BASE=Ir5;kr5.DEFAULT_RETRY_MODE=Tr5;kr5.DefaultRateLimiter=JT1;kr5.INITIAL_RETRY_TOKENS=Yz0;kr5.INVOCATION_ID_HEADER=Rr5;kr5.MAXIMUM_RETRY_DELAY=Qz0;kr5.NO_RETRY_INCREMENT=p16;kr5.REQUEST_HEADER=Sr5;kr5.RETRY_COST=jr5;kr5.Retry=eQ;kr5.StandardRetryStrategy=hX1;kr5.THROTTLING_RETRY_DELAY_BASE=Vr5;kr5.TIMEOUT_RETRY_COST=Mr5});var WX=k((Yo5)=>{var nr5=Dw(),Jz0={warningEmitted:!1},tr5=(X)=>{if(X&&!Jz0.warningEmitted&&parseInt(X.substring(1,X.indexOf(".")))<20)Jz0.warningEmitted=!0,process.emitWarning(`NodeDeprecationWarning: The AWS SDK for JavaScript (v3) will
1646
+ `);Q=W.pop()??"";for(let Z of W){let $=O16(Z).replace(/^\[\d+\]\s*/,"").trim();if(!$)continue;Wz({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:$})}}(async()=>{for(;;){let{done:W,value:Z}=await Y.read();if(W)break;Q+=G.decode(Z,{stream:!0}),J()}if(Q.trim()){let W=O16(Q).replace(/^\[\d+\]\s*/,"").trim();if(W)Wz({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:W})}})()}async function Ja5(X){let{vitePort:Y,baseUrl:G,noTui:Q}=X,J=await aA1(Number(X.port)),{settings:W,services:Z,managedServiceNames:$}=await iA1({port:String(J),home:X.home,baseUrl:X.baseUrl,localMode:X.localMode,skipMigrations:X.skipMigrations,noTui:X.noTui,vitePort:X.vitePort});for(let z of Z)Ya({name:z.name,status:"ready",port:z.port});fX1(W),vX1();let K=Qa5(import.meta.dir,"..","..","..","..",".."),H=Q===!0,U=Bun.spawn(["bun","run","--cwd=apps/mesh","dev:servers"],{cwd:K,env:{...process.env,PORT:String(W.port),VITE_PORT:String(Y),DATABASE_URL:W.databaseUrl,NATS_URL:W.natsUrls.join(","),NODE_ENV:W.nodeEnv,DECOCMS_LOCAL_MODE:String(W.localMode),DECOCMS_HOME:W.dataDir,DATA_DIR:W.dataDir,DECO_CLI:"1",...W.baseUrl?{BASE_URL:W.baseUrl}:{}},stdio:["inherit",H?"inherit":"pipe",H?"inherit":"pipe"]});if(!H)D16(U.stdout),D16(U.stderr);let B=G||`http://localhost:${W.port}`;_X1(B),Ya({name:"Vite",status:"ready",port:Number(Y)});let N=async(z)=>{if(U.kill(z),$.length>0){let{stopServices:O}=await Promise.resolve().then(() => (l$1(),u$1));await O(W.dataDir)}};return process.on("SIGINT",()=>N("SIGINT")),process.on("SIGTERM",()=>N("SIGTERM")),{port:Number(W.port),process:U}}var xN0=w(()=>{kN0();$z();bN0()});import{Box as hN0,Text as gN0}from"ink";import{jsx as L16,jsxs as rA1}from"react/jsx-runtime";function w16(X){if(!X)return"not set";try{let Y=new URL(X);if(Y.password)Y.password="***";if(Y.username&&Y.username.length>3)Y.username=Y.username.slice(0,3)+"***";return Y.pathname="/",Y.search="",Y.hash="",Y.toString()}catch{if(X.length<=10)return X;return X.slice(0,6)+"***"+X.slice(-4)}}function $a5(X,Y){if(Za5.has(X))return Y?{text:"\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF",dimColor:!0}:{text:"not set",dimColor:!0};if(Wa5.has(X)){if(Array.isArray(Y)){if(Y.length===0)return{text:"not set",dimColor:!0};return{text:Y.map((W)=>w16(W)).join(", "),color:"cyan"}}let Q=w16(Y);return Q==="not set"?{text:Q,dimColor:!0}:{text:Q,color:"cyan"}}if(Y===void 0||Y===null||Y==="")return{text:"not set",dimColor:!0};let G=String(Y);if(G==="true")return{text:G,color:"green"};if(G==="false")return{text:G,color:"yellow"};try{return new URL(G),{text:G,color:"cyan"}}catch{return{text:G}}}function Ka5(X){return[{title:"Core",entries:[{key:"NODE_ENV",value:X.nodeEnv},{key:"PORT",value:X.port},{key:"BASE_URL",value:X.baseUrl??`http://localhost:${X.port}`},{key:"DATA_DIR",value:X.dataDir}]},{title:"Database",entries:[{key:"DATABASE_URL",value:X.databaseUrl},{key:"DATABASE_PG_SSL",value:X.databasePgSsl}]},{title:"Auth & Secrets",entries:[{key:"BETTER_AUTH_SECRET",value:X.betterAuthSecret},{key:"ENCRYPTION_KEY",value:X.encryptionKey},{key:"MESH_JWT_SECRET",value:X.meshJwtSecret},{key:"STUDIO_PROVISION_SECRET_KEY",value:X.studioProvisionSecretKey},{key:"DISABLE_RATE_LIMIT",value:X.disableRateLimit}]},{title:"Auth Providers",entries:[{key:"AUTH_EMAIL_PASSWORD_ENABLED",value:process.env.AUTH_EMAIL_PASSWORD_ENABLED??"true"},{key:"AUTH_GOOGLE_CLIENT_ID",value:!!process.env.AUTH_GOOGLE_CLIENT_ID},{key:"AUTH_GITHUB_CLIENT_ID",value:!!process.env.AUTH_GITHUB_CLIENT_ID},{key:"AUTH_RESEND_API_KEY",value:!!process.env.AUTH_RESEND_API_KEY},{key:"AUTH_SENDGRID_API_KEY",value:!!process.env.AUTH_SENDGRID_API_KEY},{key:"AUTH_SSO_MS_CLIENT_ID",value:!!process.env.AUTH_SSO_MS_CLIENT_ID},{key:"AUTH_SSO_GOOGLE_CLIENT_ID",value:!!process.env.AUTH_SSO_GOOGLE_CLIENT_ID},{key:"AUTH_MAGIC_LINK_ENABLED",value:process.env.AUTH_MAGIC_LINK_ENABLED==="true"},{key:"AUTH_EMAIL_OTP_ENABLED",value:process.env.AUTH_EMAIL_OTP_ENABLED==="true"}]},{title:"Observability",entries:[{key:"CLICKHOUSE_URL",value:X.clickhouseUrl},{key:"OTEL_SERVICE_NAME",value:X.otelServiceName}]},{title:"Event Bus & Networking",entries:[{key:"NATS_URL",value:X.natsUrls}]},{title:"Config Files",entries:[{key:"CONFIG_PATH",value:X.configPath}]},{title:"AI Gateway",entries:[{key:"DECO_AI_GATEWAY_ENABLED",value:X.aiGatewayEnabled},{key:"DECO_AI_GATEWAY_URL",value:X.aiGatewayUrl}]}]}function E16({env:X}){let Y=Ka5(X);return L16(hN0,{flexDirection:"column",children:Y.map((G)=>rA1(hN0,{flexDirection:"column",marginTop:1,children:[rA1(gN0,{dimColor:!0,children:[" ","\u2500\u2500 ",G.title," ","\u2500".repeat(Math.max(0,38-G.title.length))]}),G.entries.map(({key:Q,value:J})=>{let W=$a5(Q,J);return rA1(hN0,{children:[rA1(gN0,{dimColor:!0,children:[" ",Q.padEnd(36)]}),L16(gN0,{color:W.color,dimColor:W.dimColor,children:W.text})]},Q)})]},G.title))})}var Za5,Wa5;var P16=w(()=>{Za5=new Set(["BETTER_AUTH_SECRET","ENCRYPTION_KEY","MESH_JWT_SECRET","STUDIO_PROVISION_SECRET_KEY"]),Wa5=new Set(["DATABASE_URL","CLICKHOUSE_URL","NATS_URL"])});var uN0;var q16=w(()=>{uN0={name:"decocms",version:"2.311.3",description:"Deco CMS \u2014 Self-hostable MCP Gateway for managing AI connections and tools",author:"Deco team",repository:{type:"git",url:"git+https://github.com/decocms/studio.git",directory:"apps/mesh"},bugs:{url:"https://github.com/decocms/studio/issues"},type:"module",bin:{deco:"./dist/server/cli.js"},files:["dist/**/*"],scripts:{dev:'bun run migrate && concurrently "bun run dev:client" "bun run dev:server"',"dev:servers":'concurrently "bun run dev:client" "bun run dev:server"',"dev:client":"bun --bun vite dev","dev:server":"bun run --cwd=../../packages/sandbox build && NODE_ENV=development bun --env-file=.env --hot run src/index.ts","build:client":"bun --bun vite build","build:server":"bun run scripts/bundle-server-script.ts --dist ./dist/server","db:migrate":"bun run ./dist/server/migrate.js",check:"tsc --noEmit",start:"bun run ./dist/server/server.js",migrate:"bun run src/database/migrate.ts",test:"bun test","test:e2e":"playwright test","test:e2e:ui":"playwright test --ui","better-auth:migrate":"bunx --bun @better-auth/cli migrate -y --config src/auth/index.ts",prepublishOnly:"bun run build:client && bun run build:server"},optionalDependencies:{"@duckdb/node-api":"^1.5.0-r.1","@freestyle-sh/with-bun":"^0.2.12","@freestyle-sh/with-deno":"^0.0.4","@freestyle-sh/with-nodejs":"^0.2.9","freestyle-sandboxes":"^0.1.46"},dependencies:{"@ai-sdk/anthropic":"^3.0.58","@ai-sdk/google":"^3.0.60","@ai-sdk/openai":"^3.0.50","@anthropic-ai/sdk":"^0.79.0","@aws-sdk/client-s3":"^3.1013.0","@aws-sdk/s3-request-presigner":"^3.1013.0","@clickhouse/client":"^1.8.1","@deco-cx/warp-node":"^0.3.20","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@inkjs/ui":"^2.0.0","@modelcontextprotocol/ext-apps":"^1.2.2","@openrouter/ai-sdk-provider":"^2.2.5","@opentelemetry/core":"^2.6.0","@tanstack/react-virtual":"^3.13.21","@xterm/addon-fit":"^0.11.0","@xterm/xterm":"^6.0.0","ai-sdk-provider-claude-code":"^3.4.4","ai-sdk-provider-codex-cli":"^1.1.0","embedded-postgres":"^18.3.0-beta.16",ink:"^6.8.0",kysely:"^0.28.12",nats:"^2.29.3","node-pty":"^1.0.0","posthog-js":"^1.371.1","posthog-node":"^5.0.0",react:"^19.2.0","react-dom":"^19.2.0"},devDependencies:{"@ai-sdk/provider":"^3.0.8","@ai-sdk/react":"^3.0.118","@anthropic-ai/claude-agent-sdk":"^0.2.80","@better-auth/sso":"1.4.1","@daveyplate/better-auth-ui":"^3.2.7","@deco/ui":"workspace:*","@decocms/better-auth":"1.5.17","@decocms/bindings":"workspace:*","@decocms/mcp-utils":"workspace:*","@decocms/mesh-sdk":"workspace:*","@decocms/runtime":"workspace:*","@decocms/vite-plugin":"workspace:*","@electric-sql/pglite":"^0.3.15","@floating-ui/react":"^0.27.16","@hookform/resolvers":"^5.2.2","@jitl/quickjs-wasmfile-release-sync":"0.31.0","@modelcontextprotocol/sdk":"1.27.1","@monaco-editor/react":"^4.7.0","@opentelemetry/api":"^1.9.0","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/exporter-logs-otlp-proto":"^0.211.0","@opentelemetry/exporter-prometheus":"^0.208.0","@opentelemetry/exporter-trace-otlp-proto":"^0.207.0","@opentelemetry/instrumentation-runtime-node":"^0.24.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-metrics":"^2.2.0","@opentelemetry/sdk-node":"^0.207.0","@opentelemetry/sdk-trace-base":"^2.5.0","@playwright/test":"^1.58.2","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-checkbox":"^1.3.3","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-label":"^2.1.7","@radix-ui/react-select":"^2.2.6","@radix-ui/react-separator":"^1.1.7","@radix-ui/react-slot":"^1.2.3","@radix-ui/react-tabs":"^1.1.13","@rjsf/core":"^6.1.2","@rjsf/shadcn":"^6.1.2","@rjsf/utils":"^6.1.2","@rjsf/validator-ajv8":"^6.1.2","@tailwindcss/vite":"^4.1.17","@tanstack/react-query":"5.90.11","@tanstack/react-router":"^1.139.7","@tiptap/core":"3.20.2","@tiptap/extension-mention":"3.20.2","@tiptap/extension-placeholder":"3.20.2","@tiptap/pm":"3.20.2","@tiptap/react":"3.20.2","@tiptap/starter-kit":"3.20.2","@tiptap/suggestion":"3.20.2","@types/bun":"^1.3.1","@types/pg":"^8.15.6","@types/react-syntax-highlighter":"^15.5.13","@untitledui/icons":"^0.0.19","@vercel/nft":"^1.1.1","@vitejs/plugin-react":"^5.1.0",ai:"^6.0.116","babel-plugin-react-compiler":"^1.0.0","better-auth":"1.4.5","class-variance-authority":"^0.7.1",clsx:"^2.1.1",concurrently:"^9.2.1",croner:"^9.1.0","date-fns":"^4.1.0",degit:"^2.8.4",hono:"^4.10.7","input-otp":"^1.4.2",jose:"^6.0.11","kysely-pglite":"^0.6.1","lucide-react":"^0.468.0",marked:"^15.0.6","@decocms/sandbox":"workspace:*","mesh-plugin-workflows":"workspace:*",nanoid:"^5.1.6",pg:"^8.16.3",prettier:"^3.4.2","react-hook-form":"^7.66.0","react-markdown":"^10.1.0","react-resizable-panels":"^2.1.7","react-syntax-highlighter":"^15.6.1",recharts:"^3.6.0","rehype-raw":"^7.0.0","remark-gfm":"^4.0.0","sass-embedded":"^1.97.2",sonner:"^2.0.7","tailwind-merge":"^3.3.1",tailwindcss:"^4.1.17",typescript:"^5.9.3",vite:"^7.2.1","vite-tsconfig-paths":"^5.1.4",zod:"^4.0.0",zustand:"^5.0.9"},homepage:"https://github.com/decocms/studio",keywords:["mcp","model-context-protocol","ai","gateway","self-hosted","mesh","tools"],license:"MIT",publishConfig:{access:"public"}}});import{Box as IU,Text as RX}from"ink";import{Spinner as Fa5}from"@inkjs/ui";import{useSyncExternalStore as A16}from"react";import{jsx as TY,jsxs as sQ}from"react/jsx-runtime";function Oa5(X,Y){if(!X||!za5.has(X))return X;let G=lN0[Y]??lN0[lN0.length-1];return X==="#875f00"?G[0]:G[1]}function T16({status:X}){if(X==="pending")return TY(Fa5,{label:""});return TY(RX,{color:"green",children:"\u2713"})}function I16({services:X,migrationsStatus:Y,home:G,serverUrl:Q,vibe:J}){let W=A16(mm0,lm0),Z=A16(tm0,nm0);return sQ(IU,{flexDirection:"column",paddingBottom:1,children:[J?sQ(IU,{flexDirection:"column",children:[W.map(($,K)=>{let H=Z[K],U=$.reduce((N,z)=>N+z.text.length,0),B=Math.max(0,Na5-U);return sQ(IU,{flexDirection:"row",children:[$.map((N,z)=>{let O=Oa5(N.color,K);return O?TY(RX,{color:O,children:N.text},z):TY(RX,{children:N.text},z)}),TY(RX,{children:" ".repeat(B+2)}),H?.map((N,z)=>N.color?TY(RX,{color:N.color,children:N.char},z):TY(RX,{children:N.char},z))]},K)}),sQ(RX,{dimColor:!0,children:[" v",uN0.version]})]}):sQ(IU,{flexDirection:"column",marginTop:1,children:[Ua5.map(($,K)=>TY(RX,{color:Ba5[K],children:$},K)),sQ(RX,{dimColor:!0,children:[" v",uN0.version]})]}),TY(IU,{marginBottom:1,children:TY(RX,{dimColor:!0,children:"\u2500".repeat(80)})}),TY(IU,{children:sQ(RX,{dimColor:!0,children:["Home: ",G]})}),sQ(IU,{gap:2,children:[X.map(($)=>sQ(IU,{gap:1,children:[sQ(RX,{children:[$.name," :",$.port||"...."]}),TY(T16,{status:$.status})]},$.name)),sQ(IU,{gap:1,children:[TY(RX,{children:"Migrations"}),TY(T16,{status:Y})]})]}),TY(IU,{children:Q?sQ(RX,{children:["Open in browser: ",TY(RX,{color:"cyan",children:Q})]}):TY(RX,{dimColor:!0,children:"Starting..."})}),sQ(IU,{gap:2,children:[sQ(RX,{dimColor:!0,children:[TY(RX,{bold:!0,dimColor:!0,children:"K"})," ","toggle config"]}),sQ(RX,{dimColor:!0,children:[TY(RX,{bold:!0,dimColor:!0,children:"L"})," ","toggle log flow"]}),sQ(RX,{dimColor:!0,children:[TY(RX,{bold:!0,dimColor:!0,children:"V"})," ","toggle vibe ",J?"\u266A Nihilore \xB7 CC BY 4.0":""]}),J&&sQ(RX,{dimColor:!0,children:[TY(RX,{bold:!0,dimColor:!0,children:"N"})," ","skip song"]})]})]})}var Ua5,Ba5,lN0,Na5=30,za5;var V16=w(()=>{q16();Vt1();Ct1();Ua5=[" \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 ","\u2591\u2591\u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588 \u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588\u2588\u2588 "," \u2591\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2588 \u2591 \u2588\u2588\u2588 \u2591\u2591\u2591 \u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588\u2591\u2591\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591 \u2588\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588 "," \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2591\u2591\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2591 ","\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591 "],Ba5=["#00ff64","#00ee5e","#00dc56","#00c84e","#00b444","#00a03c","#008832","#006e28"],lN0=[["#00ff64","#00cc50"],["#00f060","#00c04c"],["#00e05c","#00b448"],["#00d058","#00a844"],["#00c054","#009c40"],["#00b050","#00903c"],["#00a04c","#008438"],["#009048","#007834"],["#008044","#006c30"],["#007040","#00602c"],["#00603c","#005428"]],za5=new Set(["#875f00","#5f3800"])});import{useSyncExternalStore as Da5}from"react";function wa5(){let X=process.stdout.rows||24,Y=process.stdout.columns||80;if(X!==oA1.rows||Y!==oA1.columns)oA1={rows:X,columns:Y};return oA1}function La5(X){return process.stdout.on("resize",X),()=>{process.stdout.off("resize",X)}}function j16(){return Da5(La5,wa5)}var oA1;var M16=w(()=>{oA1={rows:process.stdout.rows||24,columns:process.stdout.columns||80}});import{Box as Ea5,Text as bX1}from"ink";import{useSyncExternalStore as Pa5}from"react";import{jsx as mN0,jsxs as dN0}from"react/jsx-runtime";function qa5(X){if(X>=500)return"red";if(X>=400)return"yellow";if(X>=300)return"cyan";return"green"}function R16({logs:X,headerHeight:Y}){let{rows:G}=j16(),{logFlow:Q}=Pa5(CX1,kX1),J=Math.max(1,G-Y-1),W=Q?X:X.slice(-J);return mN0(Ea5,{flexDirection:"column",children:W.map((Z,$)=>{if(Z.rawLine)return mN0(bX1,{dimColor:!0,children:Z.rawLine},$);let K=Z.duration<1000?`${Z.duration}ms`:`${(Z.duration/1000).toFixed(1)}s`;return dN0(bX1,{children:[dN0(bX1,{dimColor:!0,children:[Z.method.padEnd(6)," ",Z.path.padEnd(30)," "]}),mN0(bX1,{color:qa5(Z.status),children:Z.status}),dN0(bX1,{dimColor:!0,children:[" ",K.padStart(8)]})]},$)})})}var S16=w(()=>{$z();M16()});var cN0={};T0(cN0,{App:()=>Ra5});import{Box as Aa5,Text as Ta5,useInput as Ia5}from"ink";import{useSyncExternalStore as Va5}from"react";import{jsx as sA1,jsxs as Sa5}from"react/jsx-runtime";function Ra5({home:X}){let Y=Va5(CX1,kX1);return Ia5((G)=>{if(G==="k"||G==="K")vN0();if(G==="l"||G==="L")_N0();if((G==="v"||G==="V")&&Y.dataDir)bt1(Y.dataDir),fN0();if((G==="n"||G==="N")&&Y.vibe)ft1()}),Sa5(Aa5,{flexDirection:"column",children:[sA1(I16,{services:Y.services,migrationsStatus:Y.migrationsStatus,home:X,serverUrl:Y.serverUrl,vibe:Y.vibe}),Y.viewMode==="config"?Y.env?sA1(E16,{env:Y.env}):sA1(Ta5,{dimColor:!0,children:"Loading configuration..."}):sA1(R16,{logs:Y.logs,headerHeight:Y.vibe?Ma5:ja5})]})}var ja5=15,Ma5=19;var iN0=w(()=>{P16();V16();S16();$z();fd()});function k16(X,Y={}){return{PORT:String(X.port),NODE_ENV:X.nodeEnv,BASE_URL:X.baseUrl,DATA_DIR:X.dataDir,DECOCMS_HOME:X.dataDir,DATABASE_URL:X.databaseUrl,DATABASE_PG_SSL:String(X.databasePgSsl),DATABASE_POOL_MAX:String(X.databasePoolMax),NATS_URL:X.natsUrls.join(","),BETTER_AUTH_SECRET:X.betterAuthSecret,ENCRYPTION_KEY:X.encryptionKey,MESH_JWT_SECRET:X.meshJwtSecret,DECOCMS_LOCAL_MODE:String(X.localMode),DISABLE_RATE_LIMIT:String(X.disableRateLimit),STUDIO_PROVISION_SECRET_KEY:X.studioProvisionSecretKey,CONFIG_PATH:X.configPath,...Object.fromEntries(Object.entries(process.env).filter(([G])=>G.startsWith("AUTH_"))),DECO_AI_GATEWAY_ENABLED:String(X.aiGatewayEnabled),DECO_AI_GATEWAY_URL:X.aiGatewayUrl,ENABLE_DECO_IMPORT:String(X.enableDecoImport),S3_ENDPOINT:X.s3Endpoint,S3_BUCKET:X.s3Bucket,S3_REGION:X.s3Region,S3_ACCESS_KEY_ID:X.s3AccessKeyId,S3_SECRET_ACCESS_KEY:X.s3SecretAccessKey,S3_FORCE_PATH_STYLE:String(X.s3ForcePathStyle),OTEL_SERVICE_NAME:X.otelServiceName,CLICKHOUSE_URL:X.clickhouseUrl,OTEL_EXPORTER_OTLP_ENDPOINT:process.env.OTEL_EXPORTER_OTLP_ENDPOINT,OTEL_EXPORTER_OTLP_PROTOCOL:process.env.OTEL_EXPORTER_OTLP_PROTOCOL,OTEL_RESOURCE_ATTRIBUTES:process.env.OTEL_RESOURCE_ATTRIBUTES,DECO_SUPABASE_URL:X.decoSupabaseUrl,DECO_SUPABASE_SERVICE_KEY:X.decoSupabaseServiceKey,FIRECRAWL_API_KEY:X.firecrawlApiKey,STUDIO_SANDBOX_RUNNER:process.env.STUDIO_SANDBOX_RUNNER,STUDIO_SANDBOX_TEMPLATE_NAME:process.env.STUDIO_SANDBOX_TEMPLATE_NAME,STUDIO_ENV:process.env.STUDIO_ENV,STUDIO_SANDBOX_PREVIEW_URL_PATTERN:process.env.STUDIO_SANDBOX_PREVIEW_URL_PATTERN,STUDIO_SANDBOX_PREVIEW_GATEWAY_NAME:process.env.STUDIO_SANDBOX_PREVIEW_GATEWAY_NAME,STUDIO_SANDBOX_PREVIEW_GATEWAY_NAMESPACE:process.env.STUDIO_SANDBOX_PREVIEW_GATEWAY_NAMESPACE,STUDIO_SANDBOX_SENTINEL_TOKEN:process.env.STUDIO_SANDBOX_SENTINEL_TOKEN,KUBERNETES_SERVICE_HOST:process.env.KUBERNETES_SERVICE_HOST,KUBERNETES_SERVICE_PORT:process.env.KUBERNETES_SERVICE_PORT,FREESTYLE_API_KEY:process.env.FREESTYLE_API_KEY,BROWSERLESS_TOKEN:process.env.BROWSERLESS_TOKEN,NODE_EXTRA_CA_CERTS:process.env.NODE_EXTRA_CA_CERTS,DECO_CLI:"1",DECO_NO_TUI:"true",...Y}}var yj=k((ba5)=>{ba5.HttpAuthLocation=void 0;(function(X){X.HEADER="header",X.QUERY="query"})(ba5.HttpAuthLocation||(ba5.HttpAuthLocation={}));ba5.HttpApiKeyAuthLocation=void 0;(function(X){X.HEADER="header",X.QUERY="query"})(ba5.HttpApiKeyAuthLocation||(ba5.HttpApiKeyAuthLocation={}));ba5.EndpointURLScheme=void 0;(function(X){X.HTTP="http",X.HTTPS="https"})(ba5.EndpointURLScheme||(ba5.EndpointURLScheme={}));ba5.AlgorithmId=void 0;(function(X){X.MD5="md5",X.CRC32="crc32",X.CRC32C="crc32c",X.SHA1="sha1",X.SHA256="sha256"})(ba5.AlgorithmId||(ba5.AlgorithmId={}));var ka5=(X)=>{let Y=[];if(X.sha256!==void 0)Y.push({algorithmId:()=>ba5.AlgorithmId.SHA256,checksumConstructor:()=>X.sha256});if(X.md5!=null)Y.push({algorithmId:()=>ba5.AlgorithmId.MD5,checksumConstructor:()=>X.md5});return{addChecksumAlgorithm(G){Y.push(G)},checksumAlgorithms(){return Y}}},Ca5=(X)=>{let Y={};return X.checksumAlgorithms().forEach((G)=>{Y[G.algorithmId()]=G.checksumConstructor()}),Y},va5=(X)=>{return ka5(X)},_a5=(X)=>{return Ca5(X)};ba5.FieldPosition=void 0;(function(X){X[X.HEADER=0]="HEADER",X[X.TRAILER=1]="TRAILER"})(ba5.FieldPosition||(ba5.FieldPosition={}));var fa5="__smithy_context";ba5.IniSectionType=void 0;(function(X){X.PROFILE="profile",X.SSO_SESSION="sso-session",X.SERVICES="services"})(ba5.IniSectionType||(ba5.IniSectionType={}));ba5.RequestHandlerProtocol=void 0;(function(X){X.HTTP_0_9="http/0.9",X.HTTP_1_0="http/1.0",X.TDS_8_0="tds/8.0"})(ba5.RequestHandlerProtocol||(ba5.RequestHandlerProtocol={}));ba5.SMITHY_CONTEXT_KEY=fa5;ba5.getDefaultClientConfiguration=va5;ba5.resolveDefaultRuntimeConfig=_a5});var u7=k((ca5)=>{var ga5=yj(),ua5=(X)=>{return{setHttpHandler(Y){X.httpHandler=Y},httpHandler(){return X.httpHandler},updateHttpClientConfig(Y,G){X.httpHandler?.updateHttpClientConfig(Y,G)},httpHandlerConfigs(){return X.httpHandler.httpHandlerConfigs()}}},la5=(X)=>{return{httpHandler:X.httpHandler()}};class C16{name;kind;values;constructor({name:X,kind:Y=ga5.FieldPosition.HEADER,values:G=[]}){this.name=X,this.kind=Y,this.values=G}add(X){this.values.push(X)}set(X){this.values=X}remove(X){this.values=this.values.filter((Y)=>Y!==X)}toString(){return this.values.map((X)=>X.includes(",")||X.includes(" ")?`"${X}"`:X).join(", ")}get(){return this.values}}class v16{entries={};encoding;constructor({fields:X=[],encoding:Y="utf-8"}){X.forEach(this.setField.bind(this)),this.encoding=Y}setField(X){this.entries[X.name.toLowerCase()]=X}getField(X){return this.entries[X.toLowerCase()]}removeField(X){delete this.entries[X.toLowerCase()]}getByType(X){return Object.values(this.entries).filter((Y)=>Y.kind===X)}}class eA1{method;protocol;hostname;port;path;query;headers;username;password;fragment;body;constructor(X){this.method=X.method||"GET",this.hostname=X.hostname||"localhost",this.port=X.port,this.query=X.query||{},this.headers=X.headers||{},this.body=X.body,this.protocol=X.protocol?X.protocol.slice(-1)!==":"?`${X.protocol}:`:X.protocol:"https:",this.path=X.path?X.path.charAt(0)!=="/"?`/${X.path}`:X.path:"/",this.username=X.username,this.password=X.password,this.fragment=X.fragment}static clone(X){let Y=new eA1({...X,headers:{...X.headers}});if(Y.query)Y.query=ma5(Y.query);return Y}static isInstance(X){if(!X)return!1;let Y=X;return"method"in Y&&"protocol"in Y&&"hostname"in Y&&"path"in Y&&typeof Y.query==="object"&&typeof Y.headers==="object"}clone(){return eA1.clone(this)}}function ma5(X){return Object.keys(X).reduce((Y,G)=>{let Q=X[G];return{...Y,[G]:Array.isArray(Q)?[...Q]:Q}},{})}class _16{statusCode;reason;headers;body;constructor(X){this.statusCode=X.statusCode,this.reason=X.reason,this.headers=X.headers||{},this.body=X.body}static isInstance(X){if(!X)return!1;let Y=X;return typeof Y.statusCode==="number"&&typeof Y.headers==="object"}}function da5(X){return/^[a-z0-9][a-z0-9\.\-]*[a-z0-9]$/.test(X)}ca5.Field=C16;ca5.Fields=v16;ca5.HttpRequest=eA1;ca5.HttpResponse=_16;ca5.getHttpHandlerExtensionConfiguration=ua5;ca5.isValidHostname=da5;ca5.resolveHttpHandlerRuntimeConfig=la5});function sa5(X){return(Y)=>async(G)=>{let{request:Q}=G;if(X.expectContinueHeader!==!1&&f16.HttpRequest.isInstance(Q)&&Q.body&&X.runtime==="node"&&X.requestHandler?.constructor?.name!=="FetchHttpHandler"){let J=!0;if(typeof X.expectContinueHeader==="number")try{J=(Number(Q.headers?.["content-length"])??X.bodyLengthChecker?.(Q.body)??1/0)>=X.expectContinueHeader}catch(W){}else J=!!X.expectContinueHeader;if(J)Q.headers.Expect="100-continue"}return Y({...G,request:Q})}}var f16,ea5,b16=(X)=>({applyToStack:(Y)=>{Y.add(sa5(X),ea5)}});var y16=w(()=>{f16=X1(u7(),1);ea5={step:"build",tags:["SET_EXPECT_HEADER","EXPECT_HEADER"],name:"addExpectContinueMiddleware",override:!0}});var wH,XT1,xj,YT1,E9,x16,xX1;var LH=w(()=>{wH={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},XT1=wH.WHEN_SUPPORTED,xj={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},YT1=wH.WHEN_SUPPORTED;(function(X){X.MD5="MD5",X.CRC32="CRC32",X.CRC32C="CRC32C",X.CRC64NVME="CRC64NVME",X.SHA1="SHA1",X.SHA256="SHA256"})(E9||(E9={}));(function(X){X.HEADER="header",X.TRAILER="trailer"})(x16||(x16={}));xX1=E9.CRC32});var kq,Ga=(X,Y,G,Q)=>{if(!(Y in X))return;let J=X[Y].toUpperCase();if(!Object.values(G).includes(J))throw TypeError(`Cannot load ${Q} '${Y}'. Expected one of ${Object.values(G)}, got '${X[Y]}'.`);return J};var sN0=w(()=>{(function(X){X.ENV="env",X.CONFIG="shared config entry"})(kq||(kq={}))});var Xr5="AWS_REQUEST_CHECKSUM_CALCULATION",Yr5="request_checksum_calculation",h16;var g16=w(()=>{LH();sN0();h16={environmentVariableSelector:(X)=>Ga(X,Xr5,wH,kq.ENV),configFileSelector:(X)=>Ga(X,Yr5,wH,kq.CONFIG),default:XT1}});var Gr5="AWS_RESPONSE_CHECKSUM_VALIDATION",Qr5="response_checksum_validation",u16;var l16=w(()=>{LH();sN0();u16={environmentVariableSelector:(X)=>Ga(X,Gr5,xj,kq.ENV),configFileSelector:(X)=>Ga(X,Qr5,xj,kq.CONFIG),default:YT1}});var Xz0=k((Nr5)=>{var Jr5=["AuthFailure","InvalidSignatureException","RequestExpired","RequestInTheFuture","RequestTimeTooSkewed","SignatureDoesNotMatch"],Zr5=["BandwidthLimitExceeded","EC2ThrottledException","LimitExceededException","PriorRequestNotComplete","ProvisionedThroughputExceededException","RequestLimitExceeded","RequestThrottled","RequestThrottledException","SlowDown","ThrottledException","Throttling","ThrottlingException","TooManyRequestsException","TransactionInProgressException"],Wr5=["TimeoutError","RequestTimeout","RequestTimeoutException"],$r5=[500,502,503,504],Kr5=["ECONNRESET","ECONNREFUSED","EPIPE","ETIMEDOUT"],Hr5=["EHOSTUNREACH","ENETUNREACH","ENOTFOUND"],m16=(X)=>X?.$retryable!==void 0,Fr5=(X)=>Jr5.includes(X.name),d16=(X)=>X.$metadata?.clockSkewCorrected,c16=(X)=>{let Y=new Set(["Failed to fetch","NetworkError when attempting to fetch resource","The Internet connection appears to be offline","Load failed","Network request failed"]);if(!(X&&X instanceof TypeError))return!1;return Y.has(X.message)},Ur5=(X)=>X.$metadata?.httpStatusCode===429||Zr5.includes(X.name)||X.$retryable?.throttling==!0,eN0=(X,Y=0)=>m16(X)||d16(X)||X.name==="InvalidSignatureException"&&X.message?.includes("Signature expired")||Wr5.includes(X.name)||Kr5.includes(X?.code||"")||Hr5.includes(X?.code||"")||$r5.includes(X.$metadata?.httpStatusCode||0)||c16(X)||i16(X)||X.cause!==void 0&&Y<=10&&eN0(X.cause,Y+1),Br5=(X)=>{if(X.$metadata?.httpStatusCode!==void 0){let Y=X.$metadata.httpStatusCode;if(500<=Y&&Y<=599&&!eN0(X))return!0;return!1}return!1};function i16(X){return X.code==="ERR_HTTP2_STREAM_ERROR"&&X.message.includes("NGHTTP2_REFUSED_STREAM")}Nr5.isBrowserNetworkError=c16;Nr5.isClockSkewCorrectedError=d16;Nr5.isClockSkewError=Fr5;Nr5.isNodeJsHttp2TransientError=i16;Nr5.isRetryableByTrait=m16;Nr5.isServerError=Br5;Nr5.isThrottlingError=Ur5;Nr5.isTransientError=eN0});var Dw=k((kr5)=>{var Ar5=Xz0();kr5.RETRY_MODES=void 0;(function(X){X.STANDARD="standard",X.ADAPTIVE="adaptive"})(kr5.RETRY_MODES||(kr5.RETRY_MODES={}));var QT1=3,Tr5=kr5.RETRY_MODES.STANDARD;class JT1{static setTimeoutFn=setTimeout;beta;minCapacity;minFillRate;scaleConstant;smooth;enabled=!1;availableTokens=0;lastMaxRate=0;measuredTxRate=0;requestCount=0;fillRate;lastThrottleTime;lastTimestamp=0;lastTxRateBucket;maxCapacity;timeWindow=0;constructor(X){this.beta=X?.beta??0.7,this.minCapacity=X?.minCapacity??1,this.minFillRate=X?.minFillRate??0.5,this.scaleConstant=X?.scaleConstant??0.4,this.smooth=X?.smooth??0.8,this.lastThrottleTime=this.getCurrentTimeInSeconds(),this.lastTxRateBucket=Math.floor(this.getCurrentTimeInSeconds()),this.fillRate=this.minFillRate,this.maxCapacity=this.minCapacity}async getSendToken(){return this.acquireTokenBucket(1)}updateClientSendingRate(X){let Y;this.updateMeasuredRate();let G=X;if(G?.errorType==="THROTTLING"||Ar5.isThrottlingError(G?.error??X)){let W=!this.enabled?this.measuredTxRate:Math.min(this.measuredTxRate,this.fillRate);this.lastMaxRate=W,this.calculateTimeWindow(),this.lastThrottleTime=this.getCurrentTimeInSeconds(),Y=this.cubicThrottle(W),this.enableTokenBucket()}else this.calculateTimeWindow(),Y=this.cubicSuccess(this.getCurrentTimeInSeconds());let J=Math.min(Y,2*this.measuredTxRate);this.updateTokenBucketRate(J)}getCurrentTimeInSeconds(){return Date.now()/1000}async acquireTokenBucket(X){if(!this.enabled)return;if(this.refillTokenBucket(),X>this.availableTokens){let Y=(X-this.availableTokens)/this.fillRate*1000;await new Promise((G)=>JT1.setTimeoutFn(G,Y))}this.availableTokens=this.availableTokens-X}refillTokenBucket(){let X=this.getCurrentTimeInSeconds();if(!this.lastTimestamp){this.lastTimestamp=X;return}let Y=(X-this.lastTimestamp)*this.fillRate;this.availableTokens=Math.min(this.maxCapacity,this.availableTokens+Y),this.lastTimestamp=X}calculateTimeWindow(){this.timeWindow=this.getPrecise(Math.pow(this.lastMaxRate*(1-this.beta)/this.scaleConstant,0.3333333333333333))}cubicThrottle(X){return this.getPrecise(X*this.beta)}cubicSuccess(X){return this.getPrecise(this.scaleConstant*Math.pow(X-this.lastThrottleTime-this.timeWindow,3)+this.lastMaxRate)}enableTokenBucket(){this.enabled=!0}updateTokenBucketRate(X){this.refillTokenBucket(),this.fillRate=Math.max(X,this.minFillRate),this.maxCapacity=Math.max(X,this.minCapacity),this.availableTokens=Math.min(this.availableTokens,this.maxCapacity)}updateMeasuredRate(){let X=this.getCurrentTimeInSeconds(),Y=Math.floor(X*2)/2;if(this.requestCount++,Y>this.lastTxRateBucket){let G=this.requestCount/(Y-this.lastTxRateBucket);this.measuredTxRate=this.getPrecise(G*this.smooth+this.measuredTxRate*(1-this.smooth)),this.requestCount=0,this.lastTxRateBucket=Y}}getPrecise(X){return parseFloat(X.toFixed(8))}}var Ir5=100,Qz0=20000,Vr5=500,Yz0=500,jr5=5,Mr5=10,p16=1,Rr5="amz-sdk-invocation-id",Sr5="amz-sdk-request";class eQ{static v2026=typeof process<"u"&&process.env?.SMITHY_NEW_RETRIES_2026==="true";static delay(){return eQ.v2026?50:100}static throttlingDelay(){return eQ.v2026?1000:500}static cost(){return eQ.v2026?14:5}static throttlingCost(){return eQ.v2026?5:10}static modifiedCostType(){return eQ.v2026?"THROTTLING":"TRANSIENT"}}class n16{x=eQ.delay();computeNextBackoffDelay(X){let Y=Math.random(),G=2,Q=Y*Math.min(this.x*2**X,Qz0);return Math.floor(Q)}setDelayBase(X){this.x=X}}class Gz0{delay;count;cost;longPoll;constructor(X,Y,G,Q){this.delay=X,this.count=Y,this.cost=G,this.longPoll=Q}getRetryCount(){return this.count}getRetryDelay(){return Math.min(Qz0,this.delay)}getRetryCost(){return this.cost}isLongPoll(){return this.longPoll}}var GT1={incompatible:1,attempts:2,capacity:3};class hX1{mode=kr5.RETRY_MODES.STANDARD;capacity=Yz0;retryBackoffStrategy;maxAttemptsProvider;baseDelay;constructor(X){if(typeof X==="number")this.maxAttemptsProvider=async()=>X;else if(typeof X==="function")this.maxAttemptsProvider=X;else if(X&&typeof X==="object")this.maxAttemptsProvider=async()=>X.maxAttempts,this.baseDelay=X.baseDelay,this.retryBackoffStrategy=X.backoff;this.maxAttemptsProvider??=async()=>QT1,this.baseDelay??=eQ.delay(),this.retryBackoffStrategy??=new n16}async acquireInitialRetryToken(X){return new Gz0(eQ.delay(),0,void 0,eQ.v2026&&X.includes(":longpoll"))}async refreshRetryTokenForRetry(X,Y){let G=await this.getMaxAttempts(),Q=this.retryCode(X,Y,G),J=Q===0,W=X.isLongPoll?.();if(J||W){let Z=Y.errorType;this.retryBackoffStrategy.setDelayBase(Z==="THROTTLING"?eQ.throttlingDelay():this.baseDelay);let $=this.retryBackoffStrategy.computeNextBackoffDelay(X.getRetryCount()),K=$;if(Y.retryAfterHint instanceof Date)K=Math.max($,Math.min(Y.retryAfterHint.getTime()-Date.now(),$+5000));if(!J)throw Object.assign(Error("No retry token available"),{$backoff:eQ.v2026&&Q===GT1.capacity&&W?K:0});else{let H=this.getCapacityCost(Z);return this.capacity-=H,new Gz0(K,X.getRetryCount()+1,H,X.isLongPoll?.()??!1)}}throw Error("No retry token available")}recordSuccess(X){this.capacity=Math.min(Yz0,this.capacity+(X.getRetryCost()??p16))}getCapacity(){return this.capacity}async maxAttempts(){return this.maxAttemptsProvider()}async getMaxAttempts(){try{return await this.maxAttemptsProvider()}catch(X){return console.warn(`Max attempts provider could not resolve. Using default of ${QT1}`),QT1}}retryCode(X,Y,G){let Q=X.getRetryCount()+1,J=this.isRetryableError(Y.errorType)?0:GT1.incompatible,W=Q<G?0:GT1.attempts,Z=this.capacity>=this.getCapacityCost(Y.errorType)?0:GT1.capacity;return J||W||Z}getCapacityCost(X){return X===eQ.modifiedCostType()?eQ.throttlingCost():eQ.cost()}isRetryableError(X){return X==="THROTTLING"||X==="TRANSIENT"}}class t16{mode=kr5.RETRY_MODES.ADAPTIVE;rateLimiter;standardRetryStrategy;constructor(X,Y){let{rateLimiter:G}=Y??{};this.rateLimiter=G??new JT1,this.standardRetryStrategy=Y?new hX1({maxAttempts:typeof X==="number"?X:3,...Y}):new hX1(X)}async acquireInitialRetryToken(X){return await this.rateLimiter.getSendToken(),this.standardRetryStrategy.acquireInitialRetryToken(X)}async refreshRetryTokenForRetry(X,Y){return this.rateLimiter.updateClientSendingRate(Y),this.standardRetryStrategy.refreshRetryTokenForRetry(X,Y)}recordSuccess(X){this.rateLimiter.updateClientSendingRate({}),this.standardRetryStrategy.recordSuccess(X)}async maxAttemptsProvider(){return this.standardRetryStrategy.maxAttempts()}}class a16 extends hX1{computeNextBackoffDelay;constructor(X,Y=eQ.delay()){super(typeof X==="function"?X:async()=>X);if(typeof Y==="number")this.computeNextBackoffDelay=()=>Y;else this.computeNextBackoffDelay=Y}async refreshRetryTokenForRetry(X,Y){let G=await super.refreshRetryTokenForRetry(X,Y);return G.getRetryDelay=()=>this.computeNextBackoffDelay(G.getRetryCount()),G}}kr5.AdaptiveRetryStrategy=t16;kr5.ConfiguredRetryStrategy=a16;kr5.DEFAULT_MAX_ATTEMPTS=QT1;kr5.DEFAULT_RETRY_DELAY_BASE=Ir5;kr5.DEFAULT_RETRY_MODE=Tr5;kr5.DefaultRateLimiter=JT1;kr5.INITIAL_RETRY_TOKENS=Yz0;kr5.INVOCATION_ID_HEADER=Rr5;kr5.MAXIMUM_RETRY_DELAY=Qz0;kr5.NO_RETRY_INCREMENT=p16;kr5.REQUEST_HEADER=Sr5;kr5.RETRY_COST=jr5;kr5.Retry=eQ;kr5.StandardRetryStrategy=hX1;kr5.THROTTLING_RETRY_DELAY_BASE=Vr5;kr5.TIMEOUT_RETRY_COST=Mr5});var WX=k((Yo5)=>{var nr5=Dw(),Jz0={warningEmitted:!1},tr5=(X)=>{if(X&&!Jz0.warningEmitted&&parseInt(X.substring(1,X.indexOf(".")))<20)Jz0.warningEmitted=!0,process.emitWarning(`NodeDeprecationWarning: The AWS SDK for JavaScript (v3) will
1647
1647
  no longer support Node.js ${X} in January 2026.
1648
1648
 
1649
1649
  To continue receiving updates to AWS services, bug fixes, and security
@@ -2364,12 +2364,12 @@ ${Z}
2364
2364
 
2365
2365
  `;break}case"tool":throw new I5({functionality:"tool messages"});default:throw Error(`Unsupported role: ${J}`)}return Q+=`${G}:
2366
2366
  `,{prompt:Q,stopSequences:[`
2367
- ${Y}:`]}}function _b6({id:X,model:Y,created:G}){return{id:X!=null?X:void 0,modelId:Y!=null?Y:void 0,timestamp:G!=null?new Date(G*1000):void 0}}function fb6(X){switch(X){case"stop":return"stop";case"length":return"length";case"content_filter":return"content-filter";case"function_call":case"tool_calls":return"tool-calls";default:return"other"}}function wp9(X){return Dp9.some((Y)=>X.startsWith(Y))}function xb6(X,Y,G){if(X==null)return{};let Q={};if(X.image_tokens!=null){let J=Math.floor(X.image_tokens/G),W=X.image_tokens-J*(G-1);Q.imageTokens=Y===G-1?W:J}if(X.text_tokens!=null){let J=Math.floor(X.text_tokens/G),W=X.text_tokens-J*(G-1);Q.textTokens=Y===G-1?W:J}return Q}async function Ep9(X){if(!X)return;if(X.type==="url")return FR0(X.url);let Y=X.data instanceof Uint8Array?X.data:PG(X.data);return new Blob([Y],{type:X.mediaType})}function hb6(X){var Y,G,Q,J;if(X==null)return{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};let{input_tokens:W,output_tokens:Z}=X,$=(G=(Y=X.input_tokens_details)==null?void 0:Y.cached_tokens)!=null?G:0,K=(J=(Q=X.output_tokens_details)==null?void 0:Q.reasoning_tokens)!=null?J:0;return{inputTokens:{total:W,noCache:W-$,cacheRead:$,cacheWrite:void 0},outputTokens:{total:Z,text:Z-K,reasoning:K},raw:X}}function $n9(X){return JSON.stringify(X===void 0?{}:X)}function gb6(X,Y){if(!Y)return!1;return Y.some((G)=>X.startsWith(G))}async function Kn9({prompt:X,toolNameMapping:Y,systemMessageMode:G,providerOptionsName:Q,fileIdPrefixes:J,store:W,hasConversation:Z=!1,hasLocalShellTool:$=!1,hasShellTool:K=!1,hasApplyPatchTool:H=!1,customProviderToolNames:U}){var B,N,z,O,D,E,P,q,j,M,I,R,C,_,v,y,h;let d=[],i=[],f=new Set;for(let{role:u,content:a}of X)switch(u){case"system":{switch(G){case"system":{d.push({role:"system",content:a});break}case"developer":{d.push({role:"developer",content:a});break}case"remove":{i.push({type:"other",message:"system messages are removed for this model"});break}default:throw Error(`Unsupported system message mode: ${G}`)}break}case"user":{d.push({role:"user",content:a.map((r,U1)=>{var w1,$1,O1;switch(r.type){case"text":return{type:"input_text",text:r.text};case"file":if(r.mediaType.startsWith("image/")){let v1=r.mediaType==="image/*"?"image/jpeg":r.mediaType;return{type:"input_image",...r.data instanceof URL?{image_url:r.data.toString()}:typeof r.data==="string"&&gb6(r.data,J)?{file_id:r.data}:{image_url:`data:${v1};base64,${KZ(r.data)}`},detail:($1=(w1=r.providerOptions)==null?void 0:w1[Q])==null?void 0:$1.imageDetail}}else if(r.mediaType==="application/pdf"){if(r.data instanceof URL)return{type:"input_file",file_url:r.data.toString()};return{type:"input_file",...typeof r.data==="string"&&gb6(r.data,J)?{file_id:r.data}:{filename:(O1=r.filename)!=null?O1:`part-${U1}.pdf`,file_data:`data:application/pdf;base64,${KZ(r.data)}`}}}else throw new I5({functionality:`file part media type ${r.mediaType}`})}})});break}case"assistant":{let r={};for(let U1 of a)switch(U1.type){case"text":{let w1=(B=U1.providerOptions)==null?void 0:B[Q],$1=w1==null?void 0:w1.itemId,O1=w1==null?void 0:w1.phase;if(Z&&$1!=null)break;if(W&&$1!=null){d.push({type:"item_reference",id:$1});break}d.push({role:"assistant",content:[{type:"output_text",text:U1.text}],id:$1,...O1!=null&&{phase:O1}});break}case"tool-call":{let w1=(E=(z=(N=U1.providerOptions)==null?void 0:N[Q])==null?void 0:z.itemId)!=null?E:(D=(O=U1.providerMetadata)==null?void 0:O[Q])==null?void 0:D.itemId;if(Z&&w1!=null)break;let $1=Y.toProviderToolName(U1.toolName);if($1==="tool_search"){if(W&&w1!=null){d.push({type:"item_reference",id:w1});break}let O1=typeof U1.input==="string"?await NR0({text:U1.input,schema:eS0}):await L8({value:U1.input,schema:eS0}),v1=O1.call_id!=null?"client":"server";d.push({type:"tool_search_call",id:w1!=null?w1:U1.toolCallId,execution:v1,call_id:(P=O1.call_id)!=null?P:null,status:"completed",arguments:O1.arguments});break}if(U1.providerExecuted){if(W&&w1!=null)d.push({type:"item_reference",id:w1});break}if(W&&w1!=null){d.push({type:"item_reference",id:w1});break}if($&&$1==="local_shell"){let O1=await L8({value:U1.input,schema:rb6});d.push({type:"local_shell_call",call_id:U1.toolCallId,id:w1,action:{type:"exec",command:O1.action.command,timeout_ms:O1.action.timeoutMs,user:O1.action.user,working_directory:O1.action.workingDirectory,env:O1.action.env}});break}if(K&&$1==="shell"){let O1=await L8({value:U1.input,schema:sb6});d.push({type:"shell_call",call_id:U1.toolCallId,id:w1,status:"completed",action:{commands:O1.action.commands,timeout_ms:O1.action.timeoutMs,max_output_length:O1.action.maxOutputLength}});break}if(H&&$1==="apply_patch"){let O1=await L8({value:U1.input,schema:pb6});d.push({type:"apply_patch_call",call_id:O1.callId,id:w1,status:"completed",operation:O1.operation});break}if(U==null?void 0:U.has($1)){d.push({type:"custom_tool_call",call_id:U1.toolCallId,name:$1,input:typeof U1.input==="string"?U1.input:JSON.stringify(U1.input),id:w1});break}d.push({type:"function_call",call_id:U1.toolCallId,name:$1,arguments:$n9(U1.input),id:w1});break}case"tool-result":{if(U1.output.type==="execution-denied"||U1.output.type==="json"&&typeof U1.output.value==="object"&&U1.output.value!=null&&"type"in U1.output.value&&U1.output.value.type==="execution-denied")break;if(Z)break;let w1=Y.toProviderToolName(U1.toolName);if(w1==="tool_search"){let $1=(M=(j=(q=U1.providerOptions)==null?void 0:q[Q])==null?void 0:j.itemId)!=null?M:U1.toolCallId;if(W)d.push({type:"item_reference",id:$1});else if(U1.output.type==="json"){let O1=await L8({value:U1.output.value,schema:Xk0});d.push({type:"tool_search_output",id:$1,execution:"server",call_id:null,status:"completed",tools:O1.tools})}break}if(K&&w1==="shell"){if(U1.output.type==="json"){let $1=await L8({value:U1.output.value,schema:sS0});d.push({type:"shell_call_output",call_id:U1.toolCallId,output:$1.output.map((O1)=>({stdout:O1.stdout,stderr:O1.stderr,outcome:O1.outcome.type==="timeout"?{type:"timeout"}:{type:"exit",exit_code:O1.outcome.exitCode}}))})}break}if(W){let $1=(C=(R=(I=U1.providerOptions)==null?void 0:I[Q])==null?void 0:R.itemId)!=null?C:U1.toolCallId;d.push({type:"item_reference",id:$1})}else i.push({type:"other",message:`Results for OpenAI tool ${U1.toolName} are not sent to the API when store is false`});break}case"reasoning":{let w1=await f5({provider:Q,providerOptions:U1.providerOptions,schema:Hn9}),$1=w1==null?void 0:w1.itemId;if(Z&&$1!=null)break;if($1!=null){let O1=r[$1];if(W){if(O1===void 0)d.push({type:"item_reference",id:$1}),r[$1]={type:"reasoning",id:$1,summary:[]}}else{let v1=[];if(U1.text.length>0)v1.push({type:"summary_text",text:U1.text});else if(O1!==void 0)i.push({type:"other",message:`Cannot append empty reasoning part to existing reasoning sequence. Skipping reasoning part: ${JSON.stringify(U1)}.`});if(O1===void 0)r[$1]={type:"reasoning",id:$1,encrypted_content:w1==null?void 0:w1.reasoningEncryptedContent,summary:v1},d.push(r[$1]);else if(O1.summary.push(...v1),(w1==null?void 0:w1.reasoningEncryptedContent)!=null)O1.encrypted_content=w1.reasoningEncryptedContent}}else{let O1=w1==null?void 0:w1.reasoningEncryptedContent;if(O1!=null){let v1=[];if(U1.text.length>0)v1.push({type:"summary_text",text:U1.text});d.push({type:"reasoning",encrypted_content:O1,summary:v1})}else i.push({type:"other",message:`Non-OpenAI reasoning parts are not supported. Skipping reasoning part: ${JSON.stringify(U1)}.`})}break}}break}case"tool":{for(let r of a){if(r.type==="tool-approval-response"){let O1=r;if(f.has(O1.approvalId))continue;if(f.add(O1.approvalId),W)d.push({type:"item_reference",id:O1.approvalId});d.push({type:"mcp_approval_response",approval_request_id:O1.approvalId,approve:O1.approved});continue}let U1=r.output;if(U1.type==="execution-denied"){if((v=(_=U1.providerOptions)==null?void 0:_.openai)==null?void 0:v.approvalId)continue}let w1=Y.toProviderToolName(r.toolName);if(w1==="tool_search"&&U1.type==="json"){let O1=await L8({value:U1.value,schema:Xk0});d.push({type:"tool_search_output",execution:"client",call_id:r.toolCallId,status:"completed",tools:O1.tools});continue}if($&&w1==="local_shell"&&U1.type==="json"){let O1=await L8({value:U1.value,schema:ob6});d.push({type:"local_shell_call_output",call_id:r.toolCallId,output:O1.output});continue}if(K&&w1==="shell"&&U1.type==="json"){let O1=await L8({value:U1.value,schema:sS0});d.push({type:"shell_call_output",call_id:r.toolCallId,output:O1.output.map((v1)=>({stdout:v1.stdout,stderr:v1.stderr,outcome:v1.outcome.type==="timeout"?{type:"timeout"}:{type:"exit",exit_code:v1.outcome.exitCode}}))});continue}if(H&&r.toolName==="apply_patch"&&U1.type==="json"){let O1=await L8({value:U1.value,schema:nb6});d.push({type:"apply_patch_call_output",call_id:r.toolCallId,status:O1.status,output:O1.output});continue}if(U==null?void 0:U.has(w1)){let O1;switch(U1.type){case"text":case"error-text":O1=U1.value;break;case"execution-denied":O1=(y=U1.reason)!=null?y:"Tool execution denied.";break;case"json":case"error-json":O1=JSON.stringify(U1.value);break;case"content":O1=U1.value.map((v1)=>{var o1;switch(v1.type){case"text":return{type:"input_text",text:v1.text};case"image-data":return{type:"input_image",image_url:`data:${v1.mediaType};base64,${v1.data}`};case"image-url":return{type:"input_image",image_url:v1.url};case"file-data":return{type:"input_file",filename:(o1=v1.filename)!=null?o1:"data",file_data:`data:${v1.mediaType};base64,${v1.data}`};case"file-url":return{type:"input_file",file_url:v1.url};default:i.push({type:"other",message:`unsupported custom tool content part type: ${v1.type}`});return}}).filter(fR);break;default:O1=""}d.push({type:"custom_tool_call_output",call_id:r.toolCallId,output:O1});continue}let $1;switch(U1.type){case"text":case"error-text":$1=U1.value;break;case"execution-denied":$1=(h=U1.reason)!=null?h:"Tool execution denied.";break;case"json":case"error-json":$1=JSON.stringify(U1.value);break;case"content":$1=U1.value.map((O1)=>{var v1;switch(O1.type){case"text":return{type:"input_text",text:O1.text};case"image-data":return{type:"input_image",image_url:`data:${O1.mediaType};base64,${O1.data}`};case"image-url":return{type:"input_image",image_url:O1.url};case"file-data":return{type:"input_file",filename:(v1=O1.filename)!=null?v1:"data",file_data:`data:${O1.mediaType};base64,${O1.data}`};case"file-url":return{type:"input_file",file_url:O1.url};default:{i.push({type:"other",message:`unsupported tool content part type: ${O1.type}`});return}}}).filter(fR);break}d.push({type:"function_call_output",call_id:r.toolCallId,output:$1})}break}default:throw Error(`Unsupported role: ${u}`)}if(!W&&d.some((u)=>("type"in u)&&u.type==="reasoning"&&u.encrypted_content==null))i.push({type:"other",message:"Reasoning parts without encrypted content are not supported when store is false. Skipping reasoning parts."}),d=d.filter((u)=>!("type"in u)||u.type!=="reasoning"||u.encrypted_content!=null);return{input:d,warnings:i}}function oS0({finishReason:X,hasFunctionCall:Y}){switch(X){case void 0:case null:return Y?"tool-calls":"stop";case"max_output_tokens":return"length";case"content_filter":return"content-filter";default:return Y?"tool-calls":"other"}}async function Nn9({tools:X,toolChoice:Y,toolNameMapping:G,customProviderToolNames:Q}){var J,W;X=(X==null?void 0:X.length)?X:void 0;let Z=[];if(X==null)return{tools:void 0,toolChoice:void 0,toolWarnings:Z};let $=[],K=Q!=null?Q:new Set;for(let U of X)switch(U.type){case"function":{let B=(J=U.providerOptions)==null?void 0:J.openai,N=B==null?void 0:B.deferLoading;$.push({type:"function",name:U.name,description:U.description,parameters:U.inputSchema,...U.strict!=null?{strict:U.strict}:{},...N!=null?{defer_loading:N}:{}});break}case"provider":{switch(U.id){case"openai.file_search":{let B=await L8({value:U.args,schema:Cp9});$.push({type:"file_search",vector_store_ids:B.vectorStoreIds,max_num_results:B.maxNumResults,ranking_options:B.ranking?{ranker:B.ranking.ranker,score_threshold:B.ranking.scoreThreshold}:void 0,filters:B.filters});break}case"openai.local_shell":{$.push({type:"local_shell"});break}case"openai.shell":{let B=await L8({value:U.args,schema:lp9});$.push({type:"shell",...B.environment&&{environment:zn9(B.environment)}});break}case"openai.apply_patch":{$.push({type:"apply_patch"});break}case"openai.web_search_preview":{let B=await L8({value:U.args,schema:op9});$.push({type:"web_search_preview",search_context_size:B.searchContextSize,user_location:B.userLocation});break}case"openai.web_search":{let B=await L8({value:U.args,schema:pp9});$.push({type:"web_search",filters:B.filters!=null?{allowed_domains:B.filters.allowedDomains}:void 0,external_web_access:B.externalWebAccess,search_context_size:B.searchContextSize,user_location:B.userLocation});break}case"openai.code_interpreter":{let B=await L8({value:U.args,schema:Ip9});$.push({type:"code_interpreter",container:B.container==null?{type:"auto",file_ids:void 0}:typeof B.container==="string"?B.container:{type:"auto",file_ids:B.container.fileIds}});break}case"openai.image_generation":{let B=await L8({value:U.args,schema:fp9});$.push({type:"image_generation",background:B.background,input_fidelity:B.inputFidelity,input_image_mask:B.inputImageMask?{file_id:B.inputImageMask.fileId,image_url:B.inputImageMask.imageUrl}:void 0,model:B.model,moderation:B.moderation,partial_images:B.partialImages,quality:B.quality,output_compression:B.outputCompression,output_format:B.outputFormat,size:B.size});break}case"openai.mcp":{let B=await L8({value:U.args,schema:Yn9}),N=(D)=>({tool_names:D.toolNames}),z=B.requireApproval,O=z==null?void 0:typeof z==="string"?z:z.never!=null?{never:N(z.never)}:void 0;$.push({type:"mcp",server_label:B.serverLabel,allowed_tools:Array.isArray(B.allowedTools)?B.allowedTools:B.allowedTools?{read_only:B.allowedTools.readOnly,tool_names:B.allowedTools.toolNames}:void 0,authorization:B.authorization,connector_id:B.connectorId,headers:B.headers,require_approval:O!=null?O:"never",server_description:B.serverDescription,server_url:B.serverUrl});break}case"openai.custom":{let B=await L8({value:U.args,schema:Mp9});$.push({type:"custom",name:B.name,description:B.description,format:B.format}),K.add(B.name);break}case"openai.tool_search":{let B=await L8({value:U.args,schema:dp9});$.push({type:"tool_search",...B.execution!=null?{execution:B.execution}:{},...B.description!=null?{description:B.description}:{},...B.parameters!=null?{parameters:B.parameters}:{}});break}}break}default:Z.push({type:"unsupported",feature:`function tool ${U}`});break}if(Y==null)return{tools:$,toolChoice:void 0,toolWarnings:Z};let H=Y.type;switch(H){case"auto":case"none":case"required":return{tools:$,toolChoice:H,toolWarnings:Z};case"tool":{let U=(W=G==null?void 0:G.toProviderToolName(Y.toolName))!=null?W:Y.toolName;return{tools:$,toolChoice:U==="code_interpreter"||U==="file_search"||U==="image_generation"||U==="web_search_preview"||U==="web_search"||U==="mcp"||U==="apply_patch"?{type:U}:K.has(U)?{type:"custom",name:U}:{type:"function",name:U},toolWarnings:Z}}default:throw new I5({functionality:`tool choice type: ${H}`})}}function zn9(X){if(X.type==="containerReference")return{type:"container_reference",container_id:X.containerId};if(X.type==="containerAuto"){let G=X;return{type:"container_auto",file_ids:G.fileIds,memory_limit:G.memoryLimit,network_policy:G.networkPolicy==null?void 0:G.networkPolicy.type==="disabled"?{type:"disabled"}:{type:"allowlist",allowed_domains:G.networkPolicy.allowedDomains,domain_secrets:G.networkPolicy.domainSecrets},skills:On9(G.skills)}}return{type:"local",skills:X.skills}}function On9(X){return X==null?void 0:X.map((Y)=>Y.type==="skillReference"?{type:"skill_reference",skill_id:Y.skillId,version:Y.version}:{type:"inline",name:Y.name,description:Y.description,source:{type:"base64",media_type:Y.source.mediaType,data:Y.source.data}})}function lb6(X){var Y,G;let Q={};for(let J of X){if(J.role!=="assistant")continue;for(let W of J.content){if(W.type!=="tool-call")continue;let Z=(G=(Y=W.providerOptions)==null?void 0:Y.openai)==null?void 0:G.approvalRequestId;if(Z!=null)Q[Z]=W.toolCallId}}return Q}function wn9(X){return X.type==="response.output_text.delta"}function Ln9(X){return X.type==="response.output_item.done"}function En9(X){return X.type==="response.completed"||X.type==="response.incomplete"}function Pn9(X){return X.type==="response.failed"}function qn9(X){return X.type==="response.created"}function An9(X){return X.type==="response.function_call_arguments.delta"}function Tn9(X){return X.type==="response.custom_tool_call_input.delta"}function In9(X){return X.type==="response.image_generation_call.partial_image"}function Vn9(X){return X.type==="response.code_interpreter_call_code.delta"}function jn9(X){return X.type==="response.code_interpreter_call_code.done"}function Mn9(X){return X.type==="response.apply_patch_call_operation_diff.delta"}function Rn9(X){return X.type==="response.apply_patch_call_operation_diff.done"}function mb6(X){return X.type==="response.output_item.added"}function Sn9(X){return X.type==="response.output_text.annotation.added"}function kn9(X){return X.type==="error"}function db6(X){var Y;if(X==null)return{};switch(X.type){case"search":return{action:{type:"search",query:(Y=X.query)!=null?Y:void 0},...X.sources!=null&&{sources:X.sources}};case"open_page":return{action:{type:"openPage",url:X.url}};case"find_in_page":return{action:{type:"findInPage",url:X.url,pattern:X.pattern}}}}function iR(X){return JSON.stringify(X).slice(1,-1)}function Qk0(X={}){var Y,G;let Q=(Y=sA(_z({settingValue:X.baseURL,environmentVariableName:"OPENAI_BASE_URL"})))!=null?Y:"https://api.openai.com/v1",J=(G=X.name)!=null?G:"openai",W=()=>u9({Authorization:`Bearer ${yo({apiKey:X.apiKey,environmentVariableName:"OPENAI_API_KEY",description:"OpenAI"})}`,"OpenAI-Organization":X.organization,"OpenAI-Project":X.project,...X.headers},`ai-sdk/openai/${yn9}`),Z=(D)=>new $p9(D,{provider:`${J}.chat`,url:({path:E})=>`${Q}${E}`,headers:W,fetch:X.fetch}),$=(D)=>new Up9(D,{provider:`${J}.completion`,url:({path:E})=>`${Q}${E}`,headers:W,fetch:X.fetch}),K=(D)=>new zp9(D,{provider:`${J}.embedding`,url:({path:E})=>`${Q}${E}`,headers:W,fetch:X.fetch}),H=(D)=>new Lp9(D,{provider:`${J}.image`,url:({path:E})=>`${Q}${E}`,headers:W,fetch:X.fetch}),U=(D)=>new bn9(D,{provider:`${J}.transcription`,url:({path:E})=>`${Q}${E}`,headers:W,fetch:X.fetch}),B=(D)=>new vn9(D,{provider:`${J}.speech`,url:({path:E})=>`${Q}${E}`,headers:W,fetch:X.fetch}),N=(D)=>{if(new.target)throw Error("The OpenAI model function cannot be called with the new keyword.");return z(D)},z=(D)=>{return new Dn9(D,{provider:`${J}.responses`,url:({path:E})=>`${Q}${E}`,headers:W,fetch:X.fetch,fileIdPrefixes:["file-"]})},O=function(D){return N(D)};return O.specificationVersion="v3",O.languageModel=N,O.chat=Z,O.completion=$,O.responses=z,O.embedding=K,O.embeddingModel=K,O.textEmbedding=K,O.textEmbeddingModel=K,O.image=H,O.imageModel=H,O.transcription=U,O.transcriptionModel=U,O.speech=B,O.speechModel=B,O.tools=Wn9,O}var Gk0,YB,Qp9,Jp9,Zp9,$p9=class{constructor(X,Y){this.specificationVersion="v3",this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=X,this.config=Y}get provider(){return this.config.provider}async getArgs({prompt:X,maxOutputTokens:Y,temperature:G,topP:Q,topK:J,frequencyPenalty:W,presencePenalty:Z,stopSequences:$,responseFormat:K,seed:H,tools:U,toolChoice:B,providerOptions:N}){var z,O,D,E,P;let q=[],j=(z=await f5({provider:"openai",providerOptions:N,schema:Zp9}))!=null?z:{},M=ib6(this.modelId),I=(O=j.forceReasoning)!=null?O:M.isReasoningModel;if(J!=null)q.push({type:"unsupported",feature:"topK"});let{messages:R,warnings:C}=Gp9({prompt:X,systemMessageMode:(D=j.systemMessageMode)!=null?D:I?"developer":M.systemMessageMode});q.push(...C);let _=(E=j.strictJsonSchema)!=null?E:!0,v={model:this.modelId,logit_bias:j.logitBias,logprobs:j.logprobs===!0||typeof j.logprobs==="number"?!0:void 0,top_logprobs:typeof j.logprobs==="number"?j.logprobs:typeof j.logprobs==="boolean"?j.logprobs?0:void 0:void 0,user:j.user,parallel_tool_calls:j.parallelToolCalls,max_tokens:Y,temperature:G,top_p:Q,frequency_penalty:W,presence_penalty:Z,response_format:(K==null?void 0:K.type)==="json"?K.schema!=null?{type:"json_schema",json_schema:{schema:K.schema,strict:_,name:(P=K.name)!=null?P:"response",description:K.description}}:{type:"json_object"}:void 0,stop:$,seed:H,verbosity:j.textVerbosity,max_completion_tokens:j.maxCompletionTokens,store:j.store,metadata:j.metadata,prediction:j.prediction,reasoning_effort:j.reasoningEffort,service_tier:j.serviceTier,prompt_cache_key:j.promptCacheKey,prompt_cache_retention:j.promptCacheRetention,safety_identifier:j.safetyIdentifier,messages:R};if(I){if(j.reasoningEffort!=="none"||!M.supportsNonReasoningParameters){if(v.temperature!=null)v.temperature=void 0,q.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for reasoning models"});if(v.top_p!=null)v.top_p=void 0,q.push({type:"unsupported",feature:"topP",details:"topP is not supported for reasoning models"});if(v.logprobs!=null)v.logprobs=void 0,q.push({type:"other",message:"logprobs is not supported for reasoning models"})}if(v.frequency_penalty!=null)v.frequency_penalty=void 0,q.push({type:"unsupported",feature:"frequencyPenalty",details:"frequencyPenalty is not supported for reasoning models"});if(v.presence_penalty!=null)v.presence_penalty=void 0,q.push({type:"unsupported",feature:"presencePenalty",details:"presencePenalty is not supported for reasoning models"});if(v.logit_bias!=null)v.logit_bias=void 0,q.push({type:"other",message:"logitBias is not supported for reasoning models"});if(v.top_logprobs!=null)v.top_logprobs=void 0,q.push({type:"other",message:"topLogprobs is not supported for reasoning models"});if(v.max_tokens!=null){if(v.max_completion_tokens==null)v.max_completion_tokens=v.max_tokens;v.max_tokens=void 0}}else if(this.modelId.startsWith("gpt-4o-search-preview")||this.modelId.startsWith("gpt-4o-mini-search-preview")){if(v.temperature!=null)v.temperature=void 0,q.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for the search preview models and has been removed."})}if(j.serviceTier==="flex"&&!M.supportsFlexProcessing)q.push({type:"unsupported",feature:"serviceTier",details:"flex processing is only available for o3, o4-mini, and gpt-5 models"}),v.service_tier=void 0;if(j.serviceTier==="priority"&&!M.supportsPriorityProcessing)q.push({type:"unsupported",feature:"serviceTier",details:"priority processing is only available for supported models (gpt-4, gpt-5, gpt-5-mini, o3, o4-mini) and requires Enterprise access. gpt-5-nano is not supported"}),v.service_tier=void 0;let{tools:y,toolChoice:h,toolWarnings:d}=Wp9({tools:U,toolChoice:B});return{args:{...v,tools:y,tool_choice:h},warnings:[...q,...d]}}async doGenerate(X){var Y,G,Q,J,W,Z,$;let{args:K,warnings:H}=await this.getArgs(X),{responseHeaders:U,value:B,rawValue:N}=await s8({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:f8(this.config.headers(),X.headers),body:K,failedResponseHandler:YB,successfulResponseHandler:i8(Qp9),abortSignal:X.abortSignal,fetch:this.config.fetch}),z=B.choices[0],O=[],D=z.message.content;if(D!=null&&D.length>0)O.push({type:"text",text:D});for(let j of(Y=z.message.tool_calls)!=null?Y:[])O.push({type:"tool-call",toolCallId:(G=j.id)!=null?G:G6(),toolName:j.function.name,input:j.function.arguments});for(let j of(Q=z.message.annotations)!=null?Q:[])O.push({type:"source",sourceType:"url",id:G6(),url:j.url_citation.url,title:j.url_citation.title});let E=(J=B.usage)==null?void 0:J.completion_tokens_details,P=(W=B.usage)==null?void 0:W.prompt_tokens_details,q={openai:{}};if((E==null?void 0:E.accepted_prediction_tokens)!=null)q.openai.acceptedPredictionTokens=E==null?void 0:E.accepted_prediction_tokens;if((E==null?void 0:E.rejected_prediction_tokens)!=null)q.openai.rejectedPredictionTokens=E==null?void 0:E.rejected_prediction_tokens;if(((Z=z.logprobs)==null?void 0:Z.content)!=null)q.openai.logprobs=z.logprobs.content;return{content:O,finishReason:{unified:Cb6(z.finish_reason),raw:($=z.finish_reason)!=null?$:void 0},usage:kb6(B.usage),request:{body:K},response:{...rS0(B),headers:U,body:N},warnings:H,providerMetadata:q}}async doStream(X){let{args:Y,warnings:G}=await this.getArgs(X),Q={...Y,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:J,value:W}=await s8({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:f8(this.config.headers(),X.headers),body:Q,failedResponseHandler:YB,successfulResponseHandler:mH(Jp9),abortSignal:X.abortSignal,fetch:this.config.fetch}),Z=[],$={unified:"other",raw:void 0},K=void 0,H=!1,U=!1,B={openai:{}};return{stream:W.pipeThrough(new TransformStream({start(N){N.enqueue({type:"stream-start",warnings:G})},transform(N,z){var O,D,E,P,q,j,M,I,R,C,_,v,y,h,d,i,f;if(X.includeRawChunks)z.enqueue({type:"raw",rawValue:N.rawValue});if(!N.success){$={unified:"error",raw:void 0},z.enqueue({type:"error",error:N.error});return}let u=N.value;if("error"in u){$={unified:"error",raw:void 0},z.enqueue({type:"error",error:u.error});return}if(!H){let U1=rS0(u);if(Object.values(U1).some(Boolean))H=!0,z.enqueue({type:"response-metadata",...rS0(u)})}if(u.usage!=null){if(K=u.usage,((O=u.usage.completion_tokens_details)==null?void 0:O.accepted_prediction_tokens)!=null)B.openai.acceptedPredictionTokens=(D=u.usage.completion_tokens_details)==null?void 0:D.accepted_prediction_tokens;if(((E=u.usage.completion_tokens_details)==null?void 0:E.rejected_prediction_tokens)!=null)B.openai.rejectedPredictionTokens=(P=u.usage.completion_tokens_details)==null?void 0:P.rejected_prediction_tokens}let a=u.choices[0];if((a==null?void 0:a.finish_reason)!=null)$={unified:Cb6(a.finish_reason),raw:a.finish_reason};if(((q=a==null?void 0:a.logprobs)==null?void 0:q.content)!=null)B.openai.logprobs=a.logprobs.content;if((a==null?void 0:a.delta)==null)return;let r=a.delta;if(r.content!=null){if(!U)z.enqueue({type:"text-start",id:"0"}),U=!0;z.enqueue({type:"text-delta",id:"0",delta:r.content})}if(r.tool_calls!=null)for(let U1 of r.tool_calls){let w1=U1.index;if(Z[w1]==null){if(U1.type!=null&&U1.type!=="function")throw new vo({data:U1,message:"Expected 'function' type."});if(U1.id==null)throw new vo({data:U1,message:"Expected 'id' to be a string."});if(((j=U1.function)==null?void 0:j.name)==null)throw new vo({data:U1,message:"Expected 'function.name' to be a string."});z.enqueue({type:"tool-input-start",id:U1.id,toolName:U1.function.name}),Z[w1]={id:U1.id,type:"function",function:{name:U1.function.name,arguments:(M=U1.function.arguments)!=null?M:""},hasFinished:!1};let O1=Z[w1];if(((I=O1.function)==null?void 0:I.name)!=null&&((R=O1.function)==null?void 0:R.arguments)!=null){if(O1.function.arguments.length>0)z.enqueue({type:"tool-input-delta",id:O1.id,delta:O1.function.arguments});if(zR0(O1.function.arguments))z.enqueue({type:"tool-input-end",id:O1.id}),z.enqueue({type:"tool-call",toolCallId:(C=O1.id)!=null?C:G6(),toolName:O1.function.name,input:O1.function.arguments}),O1.hasFinished=!0}continue}let $1=Z[w1];if($1.hasFinished)continue;if(((_=U1.function)==null?void 0:_.arguments)!=null)$1.function.arguments+=(y=(v=U1.function)==null?void 0:v.arguments)!=null?y:"";if(z.enqueue({type:"tool-input-delta",id:$1.id,delta:(h=U1.function.arguments)!=null?h:""}),((d=$1.function)==null?void 0:d.name)!=null&&((i=$1.function)==null?void 0:i.arguments)!=null&&zR0($1.function.arguments))z.enqueue({type:"tool-input-end",id:$1.id}),z.enqueue({type:"tool-call",toolCallId:(f=$1.id)!=null?f:G6(),toolName:$1.function.name,input:$1.function.arguments}),$1.hasFinished=!0}if(r.annotations!=null)for(let U1 of r.annotations)z.enqueue({type:"source",sourceType:"url",id:G6(),url:U1.url_citation.url,title:U1.url_citation.title})},flush(N){if(U)N.enqueue({type:"text-end",id:"0"});N.enqueue({type:"finish",finishReason:$,usage:kb6(K),...B!=null?{providerMetadata:B}:{}})}})),request:{body:Q},response:{headers:J}}}},Hp9,Fp9,bb6,Up9=class{constructor(X,Y){this.specificationVersion="v3",this.supportedUrls={},this.modelId=X,this.config=Y}get providerOptionsName(){return this.config.provider.split(".")[0].trim()}get provider(){return this.config.provider}async getArgs({prompt:X,maxOutputTokens:Y,temperature:G,topP:Q,topK:J,frequencyPenalty:W,presencePenalty:Z,stopSequences:$,responseFormat:K,tools:H,toolChoice:U,seed:B,providerOptions:N}){let z=[],O={...await f5({provider:"openai",providerOptions:N,schema:bb6}),...await f5({provider:this.providerOptionsName,providerOptions:N,schema:bb6})};if(J!=null)z.push({type:"unsupported",feature:"topK"});if(H==null?void 0:H.length)z.push({type:"unsupported",feature:"tools"});if(U!=null)z.push({type:"unsupported",feature:"toolChoice"});if(K!=null&&K.type!=="text")z.push({type:"unsupported",feature:"responseFormat",details:"JSON response format is not supported."});let{prompt:D,stopSequences:E}=Kp9({prompt:X}),P=[...E!=null?E:[],...$!=null?$:[]];return{args:{model:this.modelId,echo:O.echo,logit_bias:O.logitBias,logprobs:(O==null?void 0:O.logprobs)===!0?0:(O==null?void 0:O.logprobs)===!1?void 0:O==null?void 0:O.logprobs,suffix:O.suffix,user:O.user,max_tokens:Y,temperature:G,top_p:Q,frequency_penalty:W,presence_penalty:Z,seed:B,prompt:D,stop:P.length>0?P:void 0},warnings:z}}async doGenerate(X){var Y;let{args:G,warnings:Q}=await this.getArgs(X),{responseHeaders:J,value:W,rawValue:Z}=await s8({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:f8(this.config.headers(),X.headers),body:G,failedResponseHandler:YB,successfulResponseHandler:i8(Hp9),abortSignal:X.abortSignal,fetch:this.config.fetch}),$=W.choices[0],K={openai:{}};if($.logprobs!=null)K.openai.logprobs=$.logprobs;return{content:[{type:"text",text:$.text}],usage:vb6(W.usage),finishReason:{unified:fb6($.finish_reason),raw:(Y=$.finish_reason)!=null?Y:void 0},request:{body:G},response:{..._b6(W),headers:J,body:Z},providerMetadata:K,warnings:Q}}async doStream(X){let{args:Y,warnings:G}=await this.getArgs(X),Q={...Y,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:J,value:W}=await s8({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:f8(this.config.headers(),X.headers),body:Q,failedResponseHandler:YB,successfulResponseHandler:mH(Fp9),abortSignal:X.abortSignal,fetch:this.config.fetch}),Z={unified:"other",raw:void 0},$={openai:{}},K=void 0,H=!0;return{stream:W.pipeThrough(new TransformStream({start(U){U.enqueue({type:"stream-start",warnings:G})},transform(U,B){if(X.includeRawChunks)B.enqueue({type:"raw",rawValue:U.rawValue});if(!U.success){Z={unified:"error",raw:void 0},B.enqueue({type:"error",error:U.error});return}let N=U.value;if("error"in N){Z={unified:"error",raw:void 0},B.enqueue({type:"error",error:N.error});return}if(H)H=!1,B.enqueue({type:"response-metadata",..._b6(N)}),B.enqueue({type:"text-start",id:"0"});if(N.usage!=null)K=N.usage;let z=N.choices[0];if((z==null?void 0:z.finish_reason)!=null)Z={unified:fb6(z.finish_reason),raw:z.finish_reason};if((z==null?void 0:z.logprobs)!=null)$.openai.logprobs=z.logprobs;if((z==null?void 0:z.text)!=null&&z.text.length>0)B.enqueue({type:"text-delta",id:"0",delta:z.text})},flush(U){if(!H)U.enqueue({type:"text-end",id:"0"});U.enqueue({type:"finish",finishReason:Z,providerMetadata:$,usage:vb6(K)})}})),request:{body:Q},response:{headers:J}}}},Bp9,Np9,zp9=class{constructor(X,Y){this.specificationVersion="v3",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0,this.modelId=X,this.config=Y}get provider(){return this.config.provider}async doEmbed({values:X,headers:Y,abortSignal:G,providerOptions:Q}){var J;if(X.length>this.maxEmbeddingsPerCall)throw new _o({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:X});let W=(J=await f5({provider:"openai",providerOptions:Q,schema:Bp9}))!=null?J:{},{responseHeaders:Z,value:$,rawValue:K}=await s8({url:this.config.url({path:"/embeddings",modelId:this.modelId}),headers:f8(this.config.headers(),Y),body:{model:this.modelId,input:X,encoding_format:"float",dimensions:W.dimensions,user:W.user},failedResponseHandler:YB,successfulResponseHandler:i8(Np9),abortSignal:G,fetch:this.config.fetch});return{warnings:[],embeddings:$.data.map((H)=>H.embedding),usage:$.usage?{tokens:$.usage.prompt_tokens}:void 0,response:{headers:Z,body:K}}}},yb6,Op9,Dp9,Lp9=class{constructor(X,Y){this.modelId=X,this.config=Y,this.specificationVersion="v3"}get maxImagesPerCall(){var X;return(X=Op9[this.modelId])!=null?X:1}get provider(){return this.config.provider}async doGenerate({prompt:X,files:Y,mask:G,n:Q,size:J,aspectRatio:W,seed:Z,providerOptions:$,headers:K,abortSignal:H}){var U,B,N,z,O,D,E,P,q,j,M;let I=[];if(W!=null)I.push({type:"unsupported",feature:"aspectRatio",details:"This model does not support aspect ratio. Use `size` instead."});if(Z!=null)I.push({type:"unsupported",feature:"seed"});let R=(N=(B=(U=this.config._internal)==null?void 0:U.currentDate)==null?void 0:B.call(U))!=null?N:new Date;if(Y!=null){let{value:v,responseHeaders:y}=await aR1({url:this.config.url({path:"/images/edits",modelId:this.modelId}),headers:f8(this.config.headers(),K),formData:Lv6({model:this.modelId,prompt:X,image:await Promise.all(Y.map((h)=>h.type==="file"?new Blob([h.data instanceof Uint8Array?new Blob([h.data],{type:h.mediaType}):new Blob([PG(h.data)],{type:h.mediaType})],{type:h.mediaType}):FR0(h.url))),mask:G!=null?await Ep9(G):void 0,n:Q,size:J,...(z=$.openai)!=null?z:{}}),failedResponseHandler:YB,successfulResponseHandler:i8(yb6),abortSignal:H,fetch:this.config.fetch});return{images:v.data.map((h)=>h.b64_json),warnings:I,usage:v.usage!=null?{inputTokens:(O=v.usage.input_tokens)!=null?O:void 0,outputTokens:(D=v.usage.output_tokens)!=null?D:void 0,totalTokens:(E=v.usage.total_tokens)!=null?E:void 0}:void 0,response:{timestamp:R,modelId:this.modelId,headers:y},providerMetadata:{openai:{images:v.data.map((h,d)=>{var i,f,u,a,r,U1;return{...h.revised_prompt?{revisedPrompt:h.revised_prompt}:{},created:(i=v.created)!=null?i:void 0,size:(f=v.size)!=null?f:void 0,quality:(u=v.quality)!=null?u:void 0,background:(a=v.background)!=null?a:void 0,outputFormat:(r=v.output_format)!=null?r:void 0,...xb6((U1=v.usage)==null?void 0:U1.input_tokens_details,d,v.data.length)}})}}}}let{value:C,responseHeaders:_}=await s8({url:this.config.url({path:"/images/generations",modelId:this.modelId}),headers:f8(this.config.headers(),K),body:{model:this.modelId,prompt:X,n:Q,size:J,...(P=$.openai)!=null?P:{},...!wp9(this.modelId)?{response_format:"b64_json"}:{}},failedResponseHandler:YB,successfulResponseHandler:i8(yb6),abortSignal:H,fetch:this.config.fetch});return{images:C.data.map((v)=>v.b64_json),warnings:I,usage:C.usage!=null?{inputTokens:(q=C.usage.input_tokens)!=null?q:void 0,outputTokens:(j=C.usage.output_tokens)!=null?j:void 0,totalTokens:(M=C.usage.total_tokens)!=null?M:void 0}:void 0,response:{timestamp:R,modelId:this.modelId,headers:_},providerMetadata:{openai:{images:C.data.map((v,y)=>{var h,d,i,f,u,a;return{...v.revised_prompt?{revisedPrompt:v.revised_prompt}:{},created:(h=C.created)!=null?h:void 0,size:(d=C.size)!=null?d:void 0,quality:(i=C.quality)!=null?i:void 0,background:(f=C.background)!=null?f:void 0,outputFormat:(u=C.output_format)!=null?u:void 0,...xb6((a=C.usage)==null?void 0:a.input_tokens_details,y,C.data.length)}})}}}}},pb6,nb6,FjY,Pp9,qp9,Ap9,Tp9,Ip9,Vp9,jp9=(X={})=>{return Vp9(X)},Mp9,Rp9,Sp9,kp9=(X)=>Sp9(X),tb6,ab6,Cp9,vp9,_p9,fp9,bp9,yp9,xp9,hp9=(X={})=>{return xp9(X)},rb6,ob6,gp9,sb6,sS0,up9,lp9,mp9,dp9,eS0,Xk0,cp9,ip9=(X={})=>cp9(X),pp9,np9,tp9,ap9,rp9=(X={})=>ap9(X),op9,sp9,ep9,Xn9,Yk0,Yn9,Gn9,Qn9,Jn9,Zn9=(X)=>Jn9(X),Wn9,Hn9,_Z1,Fn9,Un9,eb6=20,Bn9,ujY,ub6,Dn9=class{constructor(X,Y){this.specificationVersion="v3",this.supportedUrls={"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/]},this.modelId=X,this.config=Y}get provider(){return this.config.provider}async getArgs({maxOutputTokens:X,temperature:Y,stopSequences:G,topP:Q,topK:J,presencePenalty:W,frequencyPenalty:Z,seed:$,prompt:K,providerOptions:H,tools:U,toolChoice:B,responseFormat:N}){var z,O,D,E,P,q,j,M,I;let R=[],C=ib6(this.modelId);if(J!=null)R.push({type:"unsupported",feature:"topK"});if($!=null)R.push({type:"unsupported",feature:"seed"});if(W!=null)R.push({type:"unsupported",feature:"presencePenalty"});if(Z!=null)R.push({type:"unsupported",feature:"frequencyPenalty"});if(G!=null)R.push({type:"unsupported",feature:"stopSequences"});let _=this.config.provider.includes("azure")?"azure":"openai",v=await f5({provider:_,providerOptions:H,schema:ub6});if(v==null&&_!=="openai")v=await f5({provider:"openai",providerOptions:H,schema:ub6});let y=(z=v==null?void 0:v.forceReasoning)!=null?z:C.isReasoningModel;if((v==null?void 0:v.conversation)&&(v==null?void 0:v.previousResponseId))R.push({type:"unsupported",feature:"conversation",details:"conversation and previousResponseId cannot be used together"});let h=nR1({tools:U,providerToolNames:{"openai.code_interpreter":"code_interpreter","openai.file_search":"file_search","openai.image_generation":"image_generation","openai.local_shell":"local_shell","openai.shell":"shell","openai.web_search":"web_search","openai.web_search_preview":"web_search_preview","openai.mcp":"mcp","openai.apply_patch":"apply_patch","openai.tool_search":"tool_search"},resolveProviderToolName:($0)=>$0.id==="openai.custom"?$0.args.name:void 0}),d=new Set,{tools:i,toolChoice:f,toolWarnings:u}=await Nn9({tools:U,toolChoice:B,toolNameMapping:h,customProviderToolNames:d}),{input:a,warnings:r}=await Kn9({prompt:K,toolNameMapping:h,systemMessageMode:(O=v==null?void 0:v.systemMessageMode)!=null?O:y?"developer":C.systemMessageMode,providerOptionsName:_,fileIdPrefixes:this.config.fileIdPrefixes,store:(D=v==null?void 0:v.store)!=null?D:!0,hasConversation:(v==null?void 0:v.conversation)!=null,hasLocalShellTool:O1("openai.local_shell"),hasShellTool:O1("openai.shell"),hasApplyPatchTool:O1("openai.apply_patch"),customProviderToolNames:d.size>0?d:void 0});R.push(...r);let U1=(E=v==null?void 0:v.strictJsonSchema)!=null?E:!0,w1=v==null?void 0:v.include;function $1($0){if(w1==null)w1=[$0];else if(!w1.includes($0))w1=[...w1,$0]}function O1($0){return(U==null?void 0:U.find((r1)=>r1.type==="provider"&&r1.id===$0))!=null}let v1=typeof(v==null?void 0:v.logprobs)==="number"?v==null?void 0:v.logprobs:(v==null?void 0:v.logprobs)===!0?eb6:void 0;if(v1)$1("message.output_text.logprobs");let o1=(P=U==null?void 0:U.find(($0)=>$0.type==="provider"&&($0.id==="openai.web_search"||$0.id==="openai.web_search_preview")))==null?void 0:P.name;if(o1)$1("web_search_call.action.sources");if(O1("openai.code_interpreter"))$1("code_interpreter_call.outputs");let d1=v==null?void 0:v.store;if(d1===!1&&y)$1("reasoning.encrypted_content");let h1={model:this.modelId,input:a,temperature:Y,top_p:Q,max_output_tokens:X,...((N==null?void 0:N.type)==="json"||(v==null?void 0:v.textVerbosity))&&{text:{...(N==null?void 0:N.type)==="json"&&{format:N.schema!=null?{type:"json_schema",strict:U1,name:(q=N.name)!=null?q:"response",description:N.description,schema:N.schema}:{type:"json_object"}},...(v==null?void 0:v.textVerbosity)&&{verbosity:v.textVerbosity}}},conversation:v==null?void 0:v.conversation,max_tool_calls:v==null?void 0:v.maxToolCalls,metadata:v==null?void 0:v.metadata,parallel_tool_calls:v==null?void 0:v.parallelToolCalls,previous_response_id:v==null?void 0:v.previousResponseId,store:d1,user:v==null?void 0:v.user,instructions:v==null?void 0:v.instructions,service_tier:v==null?void 0:v.serviceTier,include:w1,prompt_cache_key:v==null?void 0:v.promptCacheKey,prompt_cache_retention:v==null?void 0:v.promptCacheRetention,safety_identifier:v==null?void 0:v.safetyIdentifier,top_logprobs:v1,truncation:v==null?void 0:v.truncation,...y&&((v==null?void 0:v.reasoningEffort)!=null||(v==null?void 0:v.reasoningSummary)!=null)&&{reasoning:{...(v==null?void 0:v.reasoningEffort)!=null&&{effort:v.reasoningEffort},...(v==null?void 0:v.reasoningSummary)!=null&&{summary:v.reasoningSummary}}}};if(y){if(!((v==null?void 0:v.reasoningEffort)==="none"&&C.supportsNonReasoningParameters)){if(h1.temperature!=null)h1.temperature=void 0,R.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for reasoning models"});if(h1.top_p!=null)h1.top_p=void 0,R.push({type:"unsupported",feature:"topP",details:"topP is not supported for reasoning models"})}}else{if((v==null?void 0:v.reasoningEffort)!=null)R.push({type:"unsupported",feature:"reasoningEffort",details:"reasoningEffort is not supported for non-reasoning models"});if((v==null?void 0:v.reasoningSummary)!=null)R.push({type:"unsupported",feature:"reasoningSummary",details:"reasoningSummary is not supported for non-reasoning models"})}if((v==null?void 0:v.serviceTier)==="flex"&&!C.supportsFlexProcessing)R.push({type:"unsupported",feature:"serviceTier",details:"flex processing is only available for o3, o4-mini, and gpt-5 models"}),delete h1.service_tier;if((v==null?void 0:v.serviceTier)==="priority"&&!C.supportsPriorityProcessing)R.push({type:"unsupported",feature:"serviceTier",details:"priority processing is only available for supported models (gpt-4, gpt-5, gpt-5-mini, o3, o4-mini) and requires Enterprise access. gpt-5-nano is not supported"}),delete h1.service_tier;let Y1=(I=(M=(j=U==null?void 0:U.find(($0)=>$0.type==="provider"&&$0.id==="openai.shell"))==null?void 0:j.args)==null?void 0:M.environment)==null?void 0:I.type,l1=Y1==="containerAuto"||Y1==="containerReference";return{webSearchToolName:o1,args:{...h1,tools:i,tool_choice:f},warnings:[...R,...u],store:d1,toolNameMapping:h,providerOptionsName:_,isShellProviderExecuted:l1}}async doGenerate(X){var Y,G,Q,J,W,Z,$,K,H,U,B,N,z,O,D,E,P,q,j,M,I,R,C,_,v,y,h,d;let{args:i,warnings:f,webSearchToolName:u,toolNameMapping:a,providerOptionsName:r,isShellProviderExecuted:U1}=await this.getArgs(X),w1=this.config.url({path:"/responses",modelId:this.modelId}),$1=lb6(X.prompt),{responseHeaders:O1,value:v1,rawValue:o1}=await s8({url:w1,headers:f8(this.config.headers(),X.headers),body:i,failedResponseHandler:YB,successfulResponseHandler:i8(Un9),abortSignal:X.abortSignal,fetch:this.config.fetch});if(v1.error)throw new c8({message:v1.error.message,url:w1,requestBodyValues:i,statusCode:400,responseHeaders:O1,responseBody:o1,isRetryable:!1});let d1=[],h1=[],Y1=!1,l1=[];for(let q1 of v1.output)switch(q1.type){case"reasoning":{if(q1.summary.length===0)q1.summary.push({type:"summary_text",text:""});for(let P1 of q1.summary)d1.push({type:"reasoning",text:P1.text,providerMetadata:{[r]:{itemId:q1.id,reasoningEncryptedContent:(Y=q1.encrypted_content)!=null?Y:null}}});break}case"image_generation_call":{d1.push({type:"tool-call",toolCallId:q1.id,toolName:a.toCustomToolName("image_generation"),input:"{}",providerExecuted:!0}),d1.push({type:"tool-result",toolCallId:q1.id,toolName:a.toCustomToolName("image_generation"),result:{result:q1.result}});break}case"tool_search_call":{let P1=(G=q1.call_id)!=null?G:q1.id,z1=q1.execution==="server";if(z1)l1.push(P1);d1.push({type:"tool-call",toolCallId:P1,toolName:a.toCustomToolName("tool_search"),input:JSON.stringify({arguments:q1.arguments,call_id:q1.call_id}),...z1?{providerExecuted:!0}:{},providerMetadata:{[r]:{itemId:q1.id}}});break}case"tool_search_output":{let P1=(J=(Q=q1.call_id)!=null?Q:l1.shift())!=null?J:q1.id;d1.push({type:"tool-result",toolCallId:P1,toolName:a.toCustomToolName("tool_search"),result:{tools:q1.tools},providerMetadata:{[r]:{itemId:q1.id}}});break}case"local_shell_call":{d1.push({type:"tool-call",toolCallId:q1.call_id,toolName:a.toCustomToolName("local_shell"),input:JSON.stringify({action:q1.action}),providerMetadata:{[r]:{itemId:q1.id}}});break}case"shell_call":{d1.push({type:"tool-call",toolCallId:q1.call_id,toolName:a.toCustomToolName("shell"),input:JSON.stringify({action:{commands:q1.action.commands}}),...U1&&{providerExecuted:!0},providerMetadata:{[r]:{itemId:q1.id}}});break}case"shell_call_output":{d1.push({type:"tool-result",toolCallId:q1.call_id,toolName:a.toCustomToolName("shell"),result:{output:q1.output.map((P1)=>({stdout:P1.stdout,stderr:P1.stderr,outcome:P1.outcome.type==="exit"?{type:"exit",exitCode:P1.outcome.exit_code}:{type:"timeout"}}))}});break}case"message":{for(let P1 of q1.content){if(((Z=(W=X.providerOptions)==null?void 0:W[r])==null?void 0:Z.logprobs)&&P1.logprobs)h1.push(P1.logprobs);let z1={itemId:q1.id,...q1.phase!=null&&{phase:q1.phase},...P1.annotations.length>0&&{annotations:P1.annotations}};d1.push({type:"text",text:P1.text,providerMetadata:{[r]:z1}});for(let W1 of P1.annotations)if(W1.type==="url_citation")d1.push({type:"source",sourceType:"url",id:(H=(K=($=this.config).generateId)==null?void 0:K.call($))!=null?H:G6(),url:W1.url,title:W1.title});else if(W1.type==="file_citation")d1.push({type:"source",sourceType:"document",id:(N=(B=(U=this.config).generateId)==null?void 0:B.call(U))!=null?N:G6(),mediaType:"text/plain",title:W1.filename,filename:W1.filename,providerMetadata:{[r]:{type:W1.type,fileId:W1.file_id,index:W1.index}}});else if(W1.type==="container_file_citation")d1.push({type:"source",sourceType:"document",id:(D=(O=(z=this.config).generateId)==null?void 0:O.call(z))!=null?D:G6(),mediaType:"text/plain",title:W1.filename,filename:W1.filename,providerMetadata:{[r]:{type:W1.type,fileId:W1.file_id,containerId:W1.container_id}}});else if(W1.type==="file_path")d1.push({type:"source",sourceType:"document",id:(q=(P=(E=this.config).generateId)==null?void 0:P.call(E))!=null?q:G6(),mediaType:"application/octet-stream",title:W1.file_id,filename:W1.file_id,providerMetadata:{[r]:{type:W1.type,fileId:W1.file_id,index:W1.index}}})}break}case"function_call":{Y1=!0,d1.push({type:"tool-call",toolCallId:q1.call_id,toolName:q1.name,input:q1.arguments,providerMetadata:{[r]:{itemId:q1.id}}});break}case"custom_tool_call":{Y1=!0;let P1=a.toCustomToolName(q1.name);d1.push({type:"tool-call",toolCallId:q1.call_id,toolName:P1,input:JSON.stringify(q1.input),providerMetadata:{[r]:{itemId:q1.id}}});break}case"web_search_call":{d1.push({type:"tool-call",toolCallId:q1.id,toolName:a.toCustomToolName(u!=null?u:"web_search"),input:JSON.stringify({}),providerExecuted:!0}),d1.push({type:"tool-result",toolCallId:q1.id,toolName:a.toCustomToolName(u!=null?u:"web_search"),result:db6(q1.action)});break}case"mcp_call":{let P1=q1.approval_request_id!=null?(j=$1[q1.approval_request_id])!=null?j:q1.id:q1.id,z1=`mcp.${q1.name}`;d1.push({type:"tool-call",toolCallId:P1,toolName:z1,input:q1.arguments,providerExecuted:!0,dynamic:!0}),d1.push({type:"tool-result",toolCallId:P1,toolName:z1,result:{type:"call",serverLabel:q1.server_label,name:q1.name,arguments:q1.arguments,...q1.output!=null?{output:q1.output}:{},...q1.error!=null?{error:q1.error}:{}},providerMetadata:{[r]:{itemId:q1.id}}});break}case"mcp_list_tools":break;case"mcp_approval_request":{let P1=(M=q1.approval_request_id)!=null?M:q1.id,z1=(C=(R=(I=this.config).generateId)==null?void 0:R.call(I))!=null?C:G6(),W1=`mcp.${q1.name}`;d1.push({type:"tool-call",toolCallId:z1,toolName:W1,input:q1.arguments,providerExecuted:!0,dynamic:!0}),d1.push({type:"tool-approval-request",approvalId:P1,toolCallId:z1});break}case"computer_call":{d1.push({type:"tool-call",toolCallId:q1.id,toolName:a.toCustomToolName("computer_use"),input:"",providerExecuted:!0}),d1.push({type:"tool-result",toolCallId:q1.id,toolName:a.toCustomToolName("computer_use"),result:{type:"computer_use_tool_result",status:q1.status||"completed"}});break}case"file_search_call":{d1.push({type:"tool-call",toolCallId:q1.id,toolName:a.toCustomToolName("file_search"),input:"{}",providerExecuted:!0}),d1.push({type:"tool-result",toolCallId:q1.id,toolName:a.toCustomToolName("file_search"),result:{queries:q1.queries,results:(v=(_=q1.results)==null?void 0:_.map((P1)=>({attributes:P1.attributes,fileId:P1.file_id,filename:P1.filename,score:P1.score,text:P1.text})))!=null?v:null}});break}case"code_interpreter_call":{d1.push({type:"tool-call",toolCallId:q1.id,toolName:a.toCustomToolName("code_interpreter"),input:JSON.stringify({code:q1.code,containerId:q1.container_id}),providerExecuted:!0}),d1.push({type:"tool-result",toolCallId:q1.id,toolName:a.toCustomToolName("code_interpreter"),result:{outputs:q1.outputs}});break}case"apply_patch_call":{d1.push({type:"tool-call",toolCallId:q1.call_id,toolName:a.toCustomToolName("apply_patch"),input:JSON.stringify({callId:q1.call_id,operation:q1.operation}),providerMetadata:{[r]:{itemId:q1.id}}});break}}let $0={[r]:{responseId:v1.id,...h1.length>0?{logprobs:h1}:{},...typeof v1.service_tier==="string"?{serviceTier:v1.service_tier}:{}}},r1=v1.usage;return{content:d1,finishReason:{unified:oS0({finishReason:(y=v1.incomplete_details)==null?void 0:y.reason,hasFunctionCall:Y1}),raw:(d=(h=v1.incomplete_details)==null?void 0:h.reason)!=null?d:void 0},usage:hb6(r1),request:{body:i},response:{id:v1.id,timestamp:new Date(v1.created_at*1000),modelId:v1.model,headers:O1,body:o1},providerMetadata:$0,warnings:f}}async doStream(X){let{args:Y,warnings:G,webSearchToolName:Q,toolNameMapping:J,store:W,providerOptionsName:Z,isShellProviderExecuted:$}=await this.getArgs(X),{responseHeaders:K,value:H}=await s8({url:this.config.url({path:"/responses",modelId:this.modelId}),headers:f8(this.config.headers(),X.headers),body:{...Y,stream:!0},failedResponseHandler:YB,successfulResponseHandler:mH(Fn9),abortSignal:X.abortSignal,fetch:this.config.fetch}),U=this,B=lb6(X.prompt),N=new Map,z={unified:"other",raw:void 0},O=void 0,D=[],E=null,P={},q=[],j,M=!1,I={},R,C=[];return{stream:H.pipeThrough(new TransformStream({start(_){_.enqueue({type:"stream-start",warnings:G})},transform(_,v){var y,h,d,i,f,u,a,r,U1,w1,$1,O1,v1,o1,d1,h1,Y1,l1,$0,r1,q1,P1,z1,W1,k1,M1,p1,j1,y1,e1,Z0,L4,l0,U0,z0,f0,M0,R6;if(X.includeRawChunks)v.enqueue({type:"raw",rawValue:_.rawValue});if(!_.success){z={unified:"error",raw:void 0},v.enqueue({type:"error",error:_.error});return}let C1=_.value;if(mb6(C1)){if(C1.item.type==="function_call")P[C1.output_index]={toolName:C1.item.name,toolCallId:C1.item.call_id},v.enqueue({type:"tool-input-start",id:C1.item.call_id,toolName:C1.item.name});else if(C1.item.type==="custom_tool_call"){let X0=J.toCustomToolName(C1.item.name);P[C1.output_index]={toolName:X0,toolCallId:C1.item.call_id},v.enqueue({type:"tool-input-start",id:C1.item.call_id,toolName:X0})}else if(C1.item.type==="web_search_call")P[C1.output_index]={toolName:J.toCustomToolName(Q!=null?Q:"web_search"),toolCallId:C1.item.id},v.enqueue({type:"tool-input-start",id:C1.item.id,toolName:J.toCustomToolName(Q!=null?Q:"web_search"),providerExecuted:!0}),v.enqueue({type:"tool-input-end",id:C1.item.id}),v.enqueue({type:"tool-call",toolCallId:C1.item.id,toolName:J.toCustomToolName(Q!=null?Q:"web_search"),input:JSON.stringify({}),providerExecuted:!0});else if(C1.item.type==="computer_call")P[C1.output_index]={toolName:J.toCustomToolName("computer_use"),toolCallId:C1.item.id},v.enqueue({type:"tool-input-start",id:C1.item.id,toolName:J.toCustomToolName("computer_use"),providerExecuted:!0});else if(C1.item.type==="code_interpreter_call")P[C1.output_index]={toolName:J.toCustomToolName("code_interpreter"),toolCallId:C1.item.id,codeInterpreter:{containerId:C1.item.container_id}},v.enqueue({type:"tool-input-start",id:C1.item.id,toolName:J.toCustomToolName("code_interpreter"),providerExecuted:!0}),v.enqueue({type:"tool-input-delta",id:C1.item.id,delta:`{"containerId":"${C1.item.container_id}","code":"`});else if(C1.item.type==="file_search_call")v.enqueue({type:"tool-call",toolCallId:C1.item.id,toolName:J.toCustomToolName("file_search"),input:"{}",providerExecuted:!0});else if(C1.item.type==="image_generation_call")v.enqueue({type:"tool-call",toolCallId:C1.item.id,toolName:J.toCustomToolName("image_generation"),input:"{}",providerExecuted:!0});else if(C1.item.type==="tool_search_call"){let X0=C1.item.id,o0=J.toCustomToolName("tool_search"),h4=C1.item.execution==="server";if(P[C1.output_index]={toolName:o0,toolCallId:X0,toolSearchExecution:(y=C1.item.execution)!=null?y:"server"},h4)v.enqueue({type:"tool-input-start",id:X0,toolName:o0,providerExecuted:!0})}else if(C1.item.type==="tool_search_output");else if(C1.item.type==="mcp_call"||C1.item.type==="mcp_list_tools"||C1.item.type==="mcp_approval_request");else if(C1.item.type==="apply_patch_call"){let{call_id:X0,operation:o0}=C1.item;if(P[C1.output_index]={toolName:J.toCustomToolName("apply_patch"),toolCallId:X0,applyPatch:{hasDiff:o0.type==="delete_file",endEmitted:o0.type==="delete_file"}},v.enqueue({type:"tool-input-start",id:X0,toolName:J.toCustomToolName("apply_patch")}),o0.type==="delete_file"){let h4=JSON.stringify({callId:X0,operation:o0});v.enqueue({type:"tool-input-delta",id:X0,delta:h4}),v.enqueue({type:"tool-input-end",id:X0})}else v.enqueue({type:"tool-input-delta",id:X0,delta:`{"callId":"${iR(X0)}","operation":{"type":"${iR(o0.type)}","path":"${iR(o0.path)}","diff":"`})}else if(C1.item.type==="shell_call")P[C1.output_index]={toolName:J.toCustomToolName("shell"),toolCallId:C1.item.call_id};else if(C1.item.type==="shell_call_output");else if(C1.item.type==="message")q.splice(0,q.length),j=(h=C1.item.phase)!=null?h:void 0,v.enqueue({type:"text-start",id:C1.item.id,providerMetadata:{[Z]:{itemId:C1.item.id,...C1.item.phase!=null&&{phase:C1.item.phase}}}});else if(mb6(C1)&&C1.item.type==="reasoning")I[C1.item.id]={encryptedContent:C1.item.encrypted_content,summaryParts:{0:"active"}},v.enqueue({type:"reasoning-start",id:`${C1.item.id}:0`,providerMetadata:{[Z]:{itemId:C1.item.id,reasoningEncryptedContent:(d=C1.item.encrypted_content)!=null?d:null}}})}else if(Ln9(C1)){if(C1.item.type==="message"){let X0=(i=C1.item.phase)!=null?i:j;j=void 0,v.enqueue({type:"text-end",id:C1.item.id,providerMetadata:{[Z]:{itemId:C1.item.id,...X0!=null&&{phase:X0},...q.length>0&&{annotations:q}}}})}else if(C1.item.type==="function_call")P[C1.output_index]=void 0,M=!0,v.enqueue({type:"tool-input-end",id:C1.item.call_id}),v.enqueue({type:"tool-call",toolCallId:C1.item.call_id,toolName:C1.item.name,input:C1.item.arguments,providerMetadata:{[Z]:{itemId:C1.item.id}}});else if(C1.item.type==="custom_tool_call"){P[C1.output_index]=void 0,M=!0;let X0=J.toCustomToolName(C1.item.name);v.enqueue({type:"tool-input-end",id:C1.item.call_id}),v.enqueue({type:"tool-call",toolCallId:C1.item.call_id,toolName:X0,input:JSON.stringify(C1.item.input),providerMetadata:{[Z]:{itemId:C1.item.id}}})}else if(C1.item.type==="web_search_call")P[C1.output_index]=void 0,v.enqueue({type:"tool-result",toolCallId:C1.item.id,toolName:J.toCustomToolName(Q!=null?Q:"web_search"),result:db6(C1.item.action)});else if(C1.item.type==="computer_call")P[C1.output_index]=void 0,v.enqueue({type:"tool-input-end",id:C1.item.id}),v.enqueue({type:"tool-call",toolCallId:C1.item.id,toolName:J.toCustomToolName("computer_use"),input:"",providerExecuted:!0}),v.enqueue({type:"tool-result",toolCallId:C1.item.id,toolName:J.toCustomToolName("computer_use"),result:{type:"computer_use_tool_result",status:C1.item.status||"completed"}});else if(C1.item.type==="file_search_call")P[C1.output_index]=void 0,v.enqueue({type:"tool-result",toolCallId:C1.item.id,toolName:J.toCustomToolName("file_search"),result:{queries:C1.item.queries,results:(u=(f=C1.item.results)==null?void 0:f.map((X0)=>({attributes:X0.attributes,fileId:X0.file_id,filename:X0.filename,score:X0.score,text:X0.text})))!=null?u:null}});else if(C1.item.type==="code_interpreter_call")P[C1.output_index]=void 0,v.enqueue({type:"tool-result",toolCallId:C1.item.id,toolName:J.toCustomToolName("code_interpreter"),result:{outputs:C1.item.outputs}});else if(C1.item.type==="image_generation_call")v.enqueue({type:"tool-result",toolCallId:C1.item.id,toolName:J.toCustomToolName("image_generation"),result:{result:C1.item.result}});else if(C1.item.type==="tool_search_call"){let X0=P[C1.output_index],o0=C1.item.execution==="server";if(X0!=null){let h4=o0?X0.toolCallId:(a=C1.item.call_id)!=null?a:C1.item.id;if(o0)C.push(h4);else v.enqueue({type:"tool-input-start",id:h4,toolName:X0.toolName});v.enqueue({type:"tool-input-end",id:h4}),v.enqueue({type:"tool-call",toolCallId:h4,toolName:X0.toolName,input:JSON.stringify({arguments:C1.item.arguments,call_id:o0?null:h4}),...o0?{providerExecuted:!0}:{},providerMetadata:{[Z]:{itemId:C1.item.id}}})}P[C1.output_index]=void 0}else if(C1.item.type==="tool_search_output"){let X0=(U1=(r=C1.item.call_id)!=null?r:C.shift())!=null?U1:C1.item.id;v.enqueue({type:"tool-result",toolCallId:X0,toolName:J.toCustomToolName("tool_search"),result:{tools:C1.item.tools},providerMetadata:{[Z]:{itemId:C1.item.id}}})}else if(C1.item.type==="mcp_call"){P[C1.output_index]=void 0;let X0=(w1=C1.item.approval_request_id)!=null?w1:void 0,o0=X0!=null?(O1=($1=N.get(X0))!=null?$1:B[X0])!=null?O1:C1.item.id:C1.item.id,h4=`mcp.${C1.item.name}`;v.enqueue({type:"tool-call",toolCallId:o0,toolName:h4,input:C1.item.arguments,providerExecuted:!0,dynamic:!0}),v.enqueue({type:"tool-result",toolCallId:o0,toolName:h4,result:{type:"call",serverLabel:C1.item.server_label,name:C1.item.name,arguments:C1.item.arguments,...C1.item.output!=null?{output:C1.item.output}:{},...C1.item.error!=null?{error:C1.item.error}:{}},providerMetadata:{[Z]:{itemId:C1.item.id}}})}else if(C1.item.type==="mcp_list_tools")P[C1.output_index]=void 0;else if(C1.item.type==="apply_patch_call"){let X0=P[C1.output_index];if((X0==null?void 0:X0.applyPatch)&&!X0.applyPatch.endEmitted&&C1.item.operation.type!=="delete_file"){if(!X0.applyPatch.hasDiff)v.enqueue({type:"tool-input-delta",id:X0.toolCallId,delta:iR(C1.item.operation.diff)});v.enqueue({type:"tool-input-delta",id:X0.toolCallId,delta:'"}}'}),v.enqueue({type:"tool-input-end",id:X0.toolCallId}),X0.applyPatch.endEmitted=!0}if(X0&&C1.item.status==="completed")v.enqueue({type:"tool-call",toolCallId:X0.toolCallId,toolName:J.toCustomToolName("apply_patch"),input:JSON.stringify({callId:C1.item.call_id,operation:C1.item.operation}),providerMetadata:{[Z]:{itemId:C1.item.id}}});P[C1.output_index]=void 0}else if(C1.item.type==="mcp_approval_request"){P[C1.output_index]=void 0;let X0=(d1=(o1=(v1=U.config).generateId)==null?void 0:o1.call(v1))!=null?d1:G6(),o0=(h1=C1.item.approval_request_id)!=null?h1:C1.item.id;N.set(o0,X0);let h4=`mcp.${C1.item.name}`;v.enqueue({type:"tool-call",toolCallId:X0,toolName:h4,input:C1.item.arguments,providerExecuted:!0,dynamic:!0}),v.enqueue({type:"tool-approval-request",approvalId:o0,toolCallId:X0})}else if(C1.item.type==="local_shell_call")P[C1.output_index]=void 0,v.enqueue({type:"tool-call",toolCallId:C1.item.call_id,toolName:J.toCustomToolName("local_shell"),input:JSON.stringify({action:{type:"exec",command:C1.item.action.command,timeoutMs:C1.item.action.timeout_ms,user:C1.item.action.user,workingDirectory:C1.item.action.working_directory,env:C1.item.action.env}}),providerMetadata:{[Z]:{itemId:C1.item.id}}});else if(C1.item.type==="shell_call")P[C1.output_index]=void 0,v.enqueue({type:"tool-call",toolCallId:C1.item.call_id,toolName:J.toCustomToolName("shell"),input:JSON.stringify({action:{commands:C1.item.action.commands}}),...$&&{providerExecuted:!0},providerMetadata:{[Z]:{itemId:C1.item.id}}});else if(C1.item.type==="shell_call_output")v.enqueue({type:"tool-result",toolCallId:C1.item.call_id,toolName:J.toCustomToolName("shell"),result:{output:C1.item.output.map((X0)=>({stdout:X0.stdout,stderr:X0.stderr,outcome:X0.outcome.type==="exit"?{type:"exit",exitCode:X0.outcome.exit_code}:{type:"timeout"}}))}});else if(C1.item.type==="reasoning"){let X0=I[C1.item.id],o0=Object.entries(X0.summaryParts).filter(([h4,V])=>V==="active"||V==="can-conclude").map(([h4])=>h4);for(let h4 of o0)v.enqueue({type:"reasoning-end",id:`${C1.item.id}:${h4}`,providerMetadata:{[Z]:{itemId:C1.item.id,reasoningEncryptedContent:(Y1=C1.item.encrypted_content)!=null?Y1:null}}});delete I[C1.item.id]}}else if(An9(C1)){let X0=P[C1.output_index];if(X0!=null)v.enqueue({type:"tool-input-delta",id:X0.toolCallId,delta:C1.delta})}else if(Tn9(C1)){let X0=P[C1.output_index];if(X0!=null)v.enqueue({type:"tool-input-delta",id:X0.toolCallId,delta:C1.delta})}else if(Mn9(C1)){let X0=P[C1.output_index];if(X0==null?void 0:X0.applyPatch)v.enqueue({type:"tool-input-delta",id:X0.toolCallId,delta:iR(C1.delta)}),X0.applyPatch.hasDiff=!0}else if(Rn9(C1)){let X0=P[C1.output_index];if((X0==null?void 0:X0.applyPatch)&&!X0.applyPatch.endEmitted){if(!X0.applyPatch.hasDiff)v.enqueue({type:"tool-input-delta",id:X0.toolCallId,delta:iR(C1.diff)}),X0.applyPatch.hasDiff=!0;v.enqueue({type:"tool-input-delta",id:X0.toolCallId,delta:'"}}'}),v.enqueue({type:"tool-input-end",id:X0.toolCallId}),X0.applyPatch.endEmitted=!0}}else if(In9(C1))v.enqueue({type:"tool-result",toolCallId:C1.item_id,toolName:J.toCustomToolName("image_generation"),result:{result:C1.partial_image_b64},preliminary:!0});else if(Vn9(C1)){let X0=P[C1.output_index];if(X0!=null)v.enqueue({type:"tool-input-delta",id:X0.toolCallId,delta:iR(C1.delta)})}else if(jn9(C1)){let X0=P[C1.output_index];if(X0!=null)v.enqueue({type:"tool-input-delta",id:X0.toolCallId,delta:'"}'}),v.enqueue({type:"tool-input-end",id:X0.toolCallId}),v.enqueue({type:"tool-call",toolCallId:X0.toolCallId,toolName:J.toCustomToolName("code_interpreter"),input:JSON.stringify({code:C1.code,containerId:X0.codeInterpreter.containerId}),providerExecuted:!0})}else if(qn9(C1))E=C1.response.id,v.enqueue({type:"response-metadata",id:C1.response.id,timestamp:new Date(C1.response.created_at*1000),modelId:C1.response.model});else if(wn9(C1)){if(v.enqueue({type:"text-delta",id:C1.item_id,delta:C1.delta}),(($0=(l1=X.providerOptions)==null?void 0:l1[Z])==null?void 0:$0.logprobs)&&C1.logprobs)D.push(C1.logprobs)}else if(C1.type==="response.reasoning_summary_part.added"){if(C1.summary_index>0){let X0=I[C1.item_id];X0.summaryParts[C1.summary_index]="active";for(let o0 of Object.keys(X0.summaryParts))if(X0.summaryParts[o0]==="can-conclude")v.enqueue({type:"reasoning-end",id:`${C1.item_id}:${o0}`,providerMetadata:{[Z]:{itemId:C1.item_id}}}),X0.summaryParts[o0]="concluded";v.enqueue({type:"reasoning-start",id:`${C1.item_id}:${C1.summary_index}`,providerMetadata:{[Z]:{itemId:C1.item_id,reasoningEncryptedContent:(q1=(r1=I[C1.item_id])==null?void 0:r1.encryptedContent)!=null?q1:null}}})}}else if(C1.type==="response.reasoning_summary_text.delta")v.enqueue({type:"reasoning-delta",id:`${C1.item_id}:${C1.summary_index}`,delta:C1.delta,providerMetadata:{[Z]:{itemId:C1.item_id}}});else if(C1.type==="response.reasoning_summary_part.done")if(W)v.enqueue({type:"reasoning-end",id:`${C1.item_id}:${C1.summary_index}`,providerMetadata:{[Z]:{itemId:C1.item_id}}}),I[C1.item_id].summaryParts[C1.summary_index]="concluded";else I[C1.item_id].summaryParts[C1.summary_index]="can-conclude";else if(En9(C1)){if(z={unified:oS0({finishReason:(P1=C1.response.incomplete_details)==null?void 0:P1.reason,hasFunctionCall:M}),raw:(W1=(z1=C1.response.incomplete_details)==null?void 0:z1.reason)!=null?W1:void 0},O=C1.response.usage,typeof C1.response.service_tier==="string")R=C1.response.service_tier}else if(Pn9(C1)){let X0=(k1=C1.response.incomplete_details)==null?void 0:k1.reason;z={unified:X0?oS0({finishReason:X0,hasFunctionCall:M}):"error",raw:X0!=null?X0:"error"},O=(M1=C1.response.usage)!=null?M1:void 0}else if(Sn9(C1)){if(q.push(C1.annotation),C1.annotation.type==="url_citation")v.enqueue({type:"source",sourceType:"url",id:(y1=(j1=(p1=U.config).generateId)==null?void 0:j1.call(p1))!=null?y1:G6(),url:C1.annotation.url,title:C1.annotation.title});else if(C1.annotation.type==="file_citation")v.enqueue({type:"source",sourceType:"document",id:(L4=(Z0=(e1=U.config).generateId)==null?void 0:Z0.call(e1))!=null?L4:G6(),mediaType:"text/plain",title:C1.annotation.filename,filename:C1.annotation.filename,providerMetadata:{[Z]:{type:C1.annotation.type,fileId:C1.annotation.file_id,index:C1.annotation.index}}});else if(C1.annotation.type==="container_file_citation")v.enqueue({type:"source",sourceType:"document",id:(z0=(U0=(l0=U.config).generateId)==null?void 0:U0.call(l0))!=null?z0:G6(),mediaType:"text/plain",title:C1.annotation.filename,filename:C1.annotation.filename,providerMetadata:{[Z]:{type:C1.annotation.type,fileId:C1.annotation.file_id,containerId:C1.annotation.container_id}}});else if(C1.annotation.type==="file_path")v.enqueue({type:"source",sourceType:"document",id:(R6=(M0=(f0=U.config).generateId)==null?void 0:M0.call(f0))!=null?R6:G6(),mediaType:"application/octet-stream",title:C1.annotation.file_id,filename:C1.annotation.file_id,providerMetadata:{[Z]:{type:C1.annotation.type,fileId:C1.annotation.file_id,index:C1.annotation.index}}})}else if(kn9(C1))v.enqueue({type:"error",error:C1})},flush(_){let v={[Z]:{responseId:E,...D.length>0?{logprobs:D}:{},...R!==void 0?{serviceTier:R}:{}}};_.enqueue({type:"finish",finishReason:z,usage:hb6(O),providerMetadata:v})}})),request:{body:Y},response:{headers:K}}}},Cn9,vn9=class{constructor(X,Y){this.modelId=X,this.config=Y,this.specificationVersion="v3"}get provider(){return this.config.provider}async getArgs({text:X,voice:Y="alloy",outputFormat:G="mp3",speed:Q,instructions:J,language:W,providerOptions:Z}){let $=[],K=await f5({provider:"openai",providerOptions:Z,schema:Cn9}),H={model:this.modelId,input:X,voice:Y,response_format:"mp3",speed:Q,instructions:J};if(G)if(["mp3","opus","aac","flac","wav","pcm"].includes(G))H.response_format=G;else $.push({type:"unsupported",feature:"outputFormat",details:`Unsupported output format: ${G}. Using mp3 instead.`});if(K){let U={};for(let B in U){let N=U[B];if(N!==void 0)H[B]=N}}if(W)$.push({type:"unsupported",feature:"language",details:`OpenAI speech models do not support language selection. Language parameter "${W}" was ignored.`});return{requestBody:H,warnings:$}}async doGenerate(X){var Y,G,Q;let J=(Q=(G=(Y=this.config._internal)==null?void 0:Y.currentDate)==null?void 0:G.call(Y))!=null?Q:new Date,{requestBody:W,warnings:Z}=await this.getArgs(X),{value:$,responseHeaders:K,rawValue:H}=await s8({url:this.config.url({path:"/audio/speech",modelId:this.modelId}),headers:f8(this.config.headers(),X.headers),body:W,failedResponseHandler:YB,successfulResponseHandler:vv6(),abortSignal:X.abortSignal,fetch:this.config.fetch});return{audio:$,warnings:Z,request:{body:JSON.stringify(W)},response:{timestamp:J,modelId:this.modelId,headers:K,body:H}}}},_n9,fn9,cb6,bn9=class{constructor(X,Y){this.modelId=X,this.config=Y,this.specificationVersion="v3"}get provider(){return this.config.provider}async getArgs({audio:X,mediaType:Y,providerOptions:G}){let Q=[],J=await f5({provider:"openai",providerOptions:G,schema:fn9}),W=new FormData,Z=X instanceof Uint8Array?new Blob([X]):new Blob([PG(X)]);W.append("model",this.modelId);let $=Vv6(Y);if(W.append("file",new File([Z],"audio",{type:Y}),`audio.${$}`),J){let K={include:J.include,language:J.language,prompt:J.prompt,response_format:["gpt-4o-transcribe","gpt-4o-mini-transcribe"].includes(this.modelId)?"json":"verbose_json",temperature:J.temperature,timestamp_granularities:J.timestampGranularities};for(let[H,U]of Object.entries(K))if(U!=null)if(Array.isArray(U))for(let B of U)W.append(`${H}[]`,String(B));else W.append(H,String(U))}return{formData:W,warnings:Q}}async doGenerate(X){var Y,G,Q,J,W,Z,$,K;let H=(Q=(G=(Y=this.config._internal)==null?void 0:Y.currentDate)==null?void 0:G.call(Y))!=null?Q:new Date,{formData:U,warnings:B}=await this.getArgs(X),{value:N,responseHeaders:z,rawValue:O}=await aR1({url:this.config.url({path:"/audio/transcriptions",modelId:this.modelId}),headers:f8(this.config.headers(),X.headers),formData:U,failedResponseHandler:YB,successfulResponseHandler:i8(_n9),abortSignal:X.abortSignal,fetch:this.config.fetch}),D=N.language!=null&&N.language in cb6?cb6[N.language]:void 0;return{text:N.text,segments:($=(Z=(J=N.segments)==null?void 0:J.map((E)=>({text:E.text,startSecond:E.start,endSecond:E.end})))!=null?Z:(W=N.words)==null?void 0:W.map((E)=>({text:E.word,startSecond:E.start,endSecond:E.end})))!=null?$:[],language:D,durationInSeconds:(K=N.duration)!=null?K:void 0,warnings:B,response:{timestamp:H,modelId:this.modelId,headers:z,body:O}}}},yn9="3.0.53",ojY;var Xy6=w(()=>{S0();m4();S0();i0();S0();m4();S0();S0();i0();S0();i0();m4();S0();m4();i0();S0();S0();i0();m4();S0();S0();i0();S0();i0();S0();S0();i0();S0();i0();S0();i0();S0();i0();S0();i0();S0();i0();S0();i0();S0();i0();S0();i0();S0();i0();S0();i0();S0();i0();m4();S0();m4();S0();i0();S0();i0();S0();i0();m4();S0();S0();S0();i0();S0();S0();i0();S0();i0();Gk0=F.object({error:F.object({message:F.string(),type:F.string().nullish(),param:F.any().nullish(),code:F.union([F.string(),F.number()]).nullish()})}),YB=bX({errorSchema:Gk0,errorToMessage:(X)=>X.error.message});Qp9=Q0(()=>n1(F.object({id:F.string().nullish(),created:F.number().nullish(),model:F.string().nullish(),choices:F.array(F.object({message:F.object({role:F.literal("assistant").nullish(),content:F.string().nullish(),tool_calls:F.array(F.object({id:F.string().nullish(),type:F.literal("function"),function:F.object({name:F.string(),arguments:F.string()})})).nullish(),annotations:F.array(F.object({type:F.literal("url_citation"),url_citation:F.object({start_index:F.number(),end_index:F.number(),url:F.string(),title:F.string()})})).nullish()}),index:F.number(),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()}))})).nullish()}).nullish(),finish_reason:F.string().nullish()})),usage:F.object({prompt_tokens:F.number().nullish(),completion_tokens:F.number().nullish(),total_tokens:F.number().nullish(),prompt_tokens_details:F.object({cached_tokens:F.number().nullish()}).nullish(),completion_tokens_details:F.object({reasoning_tokens:F.number().nullish(),accepted_prediction_tokens:F.number().nullish(),rejected_prediction_tokens:F.number().nullish()}).nullish()}).nullish()}))),Jp9=Q0(()=>n1(F.union([F.object({id:F.string().nullish(),created:F.number().nullish(),model:F.string().nullish(),choices:F.array(F.object({delta:F.object({role:F.enum(["assistant"]).nullish(),content:F.string().nullish(),tool_calls:F.array(F.object({index:F.number(),id:F.string().nullish(),type:F.literal("function").nullish(),function:F.object({name:F.string().nullish(),arguments:F.string().nullish()})})).nullish(),annotations:F.array(F.object({type:F.literal("url_citation"),url_citation:F.object({start_index:F.number(),end_index:F.number(),url:F.string(),title:F.string()})})).nullish()}).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()}))})).nullish()}).nullish(),finish_reason:F.string().nullish(),index:F.number()})),usage:F.object({prompt_tokens:F.number().nullish(),completion_tokens:F.number().nullish(),total_tokens:F.number().nullish(),prompt_tokens_details:F.object({cached_tokens:F.number().nullish()}).nullish(),completion_tokens_details:F.object({reasoning_tokens:F.number().nullish(),accepted_prediction_tokens:F.number().nullish(),rejected_prediction_tokens:F.number().nullish()}).nullish()}).nullish()}),Gk0]))),Zp9=Q0(()=>n1(F.object({logitBias:F.record(F.coerce.number(),F.number()).optional(),logprobs:F.union([F.boolean(),F.number()]).optional(),parallelToolCalls:F.boolean().optional(),user:F.string().optional(),reasoningEffort:F.enum(["none","minimal","low","medium","high","xhigh"]).optional(),maxCompletionTokens:F.number().optional(),store:F.boolean().optional(),metadata:F.record(F.string().max(64),F.string().max(512)).optional(),prediction:F.record(F.string(),F.any()).optional(),serviceTier:F.enum(["auto","flex","priority","default"]).optional(),strictJsonSchema:F.boolean().optional(),textVerbosity:F.enum(["low","medium","high"]).optional(),promptCacheKey:F.string().optional(),promptCacheRetention:F.enum(["in_memory","24h"]).optional(),safetyIdentifier:F.string().optional(),systemMessageMode:F.enum(["system","developer","remove"]).optional(),forceReasoning:F.boolean().optional()})));Hp9=Q0(()=>n1(F.object({id:F.string().nullish(),created:F.number().nullish(),model:F.string().nullish(),choices:F.array(F.object({text:F.string(),finish_reason:F.string(),logprobs:F.object({tokens:F.array(F.string()),token_logprobs:F.array(F.number()),top_logprobs:F.array(F.record(F.string(),F.number())).nullish()}).nullish()})),usage:F.object({prompt_tokens:F.number(),completion_tokens:F.number(),total_tokens:F.number()}).nullish()}))),Fp9=Q0(()=>n1(F.union([F.object({id:F.string().nullish(),created:F.number().nullish(),model:F.string().nullish(),choices:F.array(F.object({text:F.string(),finish_reason:F.string().nullish(),index:F.number(),logprobs:F.object({tokens:F.array(F.string()),token_logprobs:F.array(F.number()),top_logprobs:F.array(F.record(F.string(),F.number())).nullish()}).nullish()})),usage:F.object({prompt_tokens:F.number(),completion_tokens:F.number(),total_tokens:F.number()}).nullish()}),Gk0]))),bb6=Q0(()=>n1(F.object({echo:F.boolean().optional(),logitBias:F.record(F.string(),F.number()).optional(),suffix:F.string().optional(),user:F.string().optional(),logprobs:F.union([F.boolean(),F.number()]).optional()}))),Bp9=Q0(()=>n1(F.object({dimensions:F.number().optional(),user:F.string().optional()}))),Np9=Q0(()=>n1(F.object({data:F.array(F.object({embedding:F.array(F.number())})),usage:F.object({prompt_tokens:F.number()}).nullish()}))),yb6=Q0(()=>n1(F.object({created:F.number().nullish(),data:F.array(F.object({b64_json:F.string(),revised_prompt:F.string().nullish()})),background:F.string().nullish(),output_format:F.string().nullish(),size:F.string().nullish(),quality:F.string().nullish(),usage:F.object({input_tokens:F.number().nullish(),output_tokens:F.number().nullish(),total_tokens:F.number().nullish(),input_tokens_details:F.object({image_tokens:F.number().nullish(),text_tokens:F.number().nullish()}).nullish()}).nullish()}))),Op9={"dall-e-3":1,"dall-e-2":10,"gpt-image-1":10,"gpt-image-1-mini":10,"gpt-image-1.5":10,"chatgpt-image-latest":10},Dp9=["chatgpt-image-","gpt-image-1-mini","gpt-image-1.5","gpt-image-1"];pb6=Q0(()=>n1(F.object({callId:F.string(),operation:F.discriminatedUnion("type",[F.object({type:F.literal("create_file"),path:F.string(),diff:F.string()}),F.object({type:F.literal("delete_file"),path:F.string()}),F.object({type:F.literal("update_file"),path:F.string(),diff:F.string()})])}))),nb6=Q0(()=>n1(F.object({status:F.enum(["completed","failed"]),output:F.string().optional()}))),FjY=Q0(()=>n1(F.object({}))),Pp9=E8({id:"openai.apply_patch",inputSchema:pb6,outputSchema:nb6}),qp9=Pp9,Ap9=Q0(()=>n1(F.object({code:F.string().nullish(),containerId:F.string()}))),Tp9=Q0(()=>n1(F.object({outputs:F.array(F.discriminatedUnion("type",[F.object({type:F.literal("logs"),logs:F.string()}),F.object({type:F.literal("image"),url:F.string()})])).nullish()}))),Ip9=Q0(()=>n1(F.object({container:F.union([F.string(),F.object({fileIds:F.array(F.string()).optional()})]).optional()}))),Vp9=E8({id:"openai.code_interpreter",inputSchema:Ap9,outputSchema:Tp9}),Mp9=Q0(()=>n1(F.object({name:F.string(),description:F.string().optional(),format:F.union([F.object({type:F.literal("grammar"),syntax:F.enum(["regex","lark"]),definition:F.string()}),F.object({type:F.literal("text")})]).optional()}))),Rp9=Q0(()=>n1(F.string())),Sp9=p5({id:"openai.custom",inputSchema:Rp9}),tb6=F.object({key:F.string(),type:F.enum(["eq","ne","gt","gte","lt","lte","in","nin"]),value:F.union([F.string(),F.number(),F.boolean(),F.array(F.string())])}),ab6=F.object({type:F.enum(["and","or"]),filters:F.array(F.union([tb6,F.lazy(()=>ab6)]))}),Cp9=Q0(()=>n1(F.object({vectorStoreIds:F.array(F.string()),maxNumResults:F.number().optional(),ranking:F.object({ranker:F.string().optional(),scoreThreshold:F.number().optional()}).optional(),filters:F.union([tb6,ab6]).optional()}))),vp9=Q0(()=>n1(F.object({queries:F.array(F.string()),results:F.array(F.object({attributes:F.record(F.string(),F.unknown()),fileId:F.string(),filename:F.string(),score:F.number(),text:F.string()})).nullable()}))),_p9=E8({id:"openai.file_search",inputSchema:F.object({}),outputSchema:vp9}),fp9=Q0(()=>n1(F.object({background:F.enum(["auto","opaque","transparent"]).optional(),inputFidelity:F.enum(["low","high"]).optional(),inputImageMask:F.object({fileId:F.string().optional(),imageUrl:F.string().optional()}).optional(),model:F.string().optional(),moderation:F.enum(["auto"]).optional(),outputCompression:F.number().int().min(0).max(100).optional(),outputFormat:F.enum(["png","jpeg","webp"]).optional(),partialImages:F.number().int().min(0).max(3).optional(),quality:F.enum(["auto","low","medium","high"]).optional(),size:F.enum(["1024x1024","1024x1536","1536x1024","auto"]).optional()}).strict())),bp9=Q0(()=>n1(F.object({}))),yp9=Q0(()=>n1(F.object({result:F.string()}))),xp9=E8({id:"openai.image_generation",inputSchema:bp9,outputSchema:yp9}),rb6=Q0(()=>n1(F.object({action:F.object({type:F.literal("exec"),command:F.array(F.string()),timeoutMs:F.number().optional(),user:F.string().optional(),workingDirectory:F.string().optional(),env:F.record(F.string(),F.string()).optional()})}))),ob6=Q0(()=>n1(F.object({output:F.string()}))),gp9=E8({id:"openai.local_shell",inputSchema:rb6,outputSchema:ob6}),sb6=Q0(()=>n1(F.object({action:F.object({commands:F.array(F.string()),timeoutMs:F.number().optional(),maxOutputLength:F.number().optional()})}))),sS0=Q0(()=>n1(F.object({output:F.array(F.object({stdout:F.string(),stderr:F.string(),outcome:F.discriminatedUnion("type",[F.object({type:F.literal("timeout")}),F.object({type:F.literal("exit"),exitCode:F.number()})])}))}))),up9=F.array(F.discriminatedUnion("type",[F.object({type:F.literal("skillReference"),skillId:F.string(),version:F.string().optional()}),F.object({type:F.literal("inline"),name:F.string(),description:F.string(),source:F.object({type:F.literal("base64"),mediaType:F.literal("application/zip"),data:F.string()})})])).optional(),lp9=Q0(()=>n1(F.object({environment:F.union([F.object({type:F.literal("containerAuto"),fileIds:F.array(F.string()).optional(),memoryLimit:F.enum(["1g","4g","16g","64g"]).optional(),networkPolicy:F.discriminatedUnion("type",[F.object({type:F.literal("disabled")}),F.object({type:F.literal("allowlist"),allowedDomains:F.array(F.string()),domainSecrets:F.array(F.object({domain:F.string(),name:F.string(),value:F.string()})).optional()})]).optional(),skills:up9}),F.object({type:F.literal("containerReference"),containerId:F.string()}),F.object({type:F.literal("local").optional(),skills:F.array(F.object({name:F.string(),description:F.string(),path:F.string()})).optional()})]).optional()}))),mp9=E8({id:"openai.shell",inputSchema:sb6,outputSchema:sS0}),dp9=Q0(()=>n1(F.object({execution:F.enum(["server","client"]).optional(),description:F.string().optional(),parameters:F.record(F.string(),F.unknown()).optional()}))),eS0=Q0(()=>n1(F.object({arguments:F.unknown().optional(),call_id:F.string().nullish()}))),Xk0=Q0(()=>n1(F.object({tools:F.array(F.record(F.string(),F.unknown()))}))),cp9=E8({id:"openai.tool_search",inputSchema:eS0,outputSchema:Xk0}),pp9=Q0(()=>n1(F.object({externalWebAccess:F.boolean().optional(),filters:F.object({allowedDomains:F.array(F.string()).optional()}).optional(),searchContextSize:F.enum(["low","medium","high"]).optional(),userLocation:F.object({type:F.literal("approximate"),country:F.string().optional(),city:F.string().optional(),region:F.string().optional(),timezone:F.string().optional()}).optional()}))),np9=Q0(()=>n1(F.object({}))),tp9=Q0(()=>n1(F.object({action:F.discriminatedUnion("type",[F.object({type:F.literal("search"),query:F.string().optional()}),F.object({type:F.literal("openPage"),url:F.string().nullish()}),F.object({type:F.literal("findInPage"),url:F.string().nullish(),pattern:F.string().nullish()})]).optional(),sources:F.array(F.discriminatedUnion("type",[F.object({type:F.literal("url"),url:F.string()}),F.object({type:F.literal("api"),name:F.string()})])).optional()}))),ap9=E8({id:"openai.web_search",inputSchema:np9,outputSchema:tp9}),op9=Q0(()=>n1(F.object({searchContextSize:F.enum(["low","medium","high"]).optional(),userLocation:F.object({type:F.literal("approximate"),country:F.string().optional(),city:F.string().optional(),region:F.string().optional(),timezone:F.string().optional()}).optional()}))),sp9=Q0(()=>n1(F.object({}))),ep9=Q0(()=>n1(F.object({action:F.discriminatedUnion("type",[F.object({type:F.literal("search"),query:F.string().optional()}),F.object({type:F.literal("openPage"),url:F.string().nullish()}),F.object({type:F.literal("findInPage"),url:F.string().nullish(),pattern:F.string().nullish()})]).optional()}))),Xn9=E8({id:"openai.web_search_preview",inputSchema:sp9,outputSchema:ep9}),Yk0=F.lazy(()=>F.union([F.string(),F.number(),F.boolean(),F.null(),F.array(Yk0),F.record(F.string(),Yk0)])),Yn9=Q0(()=>n1(F.object({serverLabel:F.string(),allowedTools:F.union([F.array(F.string()),F.object({readOnly:F.boolean().optional(),toolNames:F.array(F.string()).optional()})]).optional(),authorization:F.string().optional(),connectorId:F.string().optional(),headers:F.record(F.string(),F.string()).optional(),requireApproval:F.union([F.enum(["always","never"]),F.object({never:F.object({toolNames:F.array(F.string()).optional()}).optional()})]).optional(),serverDescription:F.string().optional(),serverUrl:F.string().optional()}).refine((X)=>X.serverUrl!=null||X.connectorId!=null,"One of serverUrl or connectorId must be provided."))),Gn9=Q0(()=>n1(F.object({}))),Qn9=Q0(()=>n1(F.object({type:F.literal("call"),serverLabel:F.string(),name:F.string(),arguments:F.string(),output:F.string().nullish(),error:F.union([F.string(),Yk0]).optional()}))),Jn9=E8({id:"openai.mcp",inputSchema:Gn9,outputSchema:Qn9}),Wn9={applyPatch:qp9,customTool:kp9,codeInterpreter:jp9,fileSearch:_p9,imageGeneration:hp9,localShell:gp9,shell:mp9,webSearchPreview:Xn9,webSearch:rp9,mcp:Zn9,toolSearch:ip9};Hn9=F.object({itemId:F.string().nullish(),reasoningEncryptedContent:F.string().nullish()});_Z1=F.lazy(()=>F.union([F.string(),F.number(),F.boolean(),F.null(),F.array(_Z1),F.record(F.string(),_Z1.optional())])),Fn9=Q0(()=>n1(F.union([F.object({type:F.literal("response.output_text.delta"),item_id:F.string(),delta:F.string(),logprobs:F.array(F.object({token:F.string(),logprob:F.number(),top_logprobs:F.array(F.object({token:F.string(),logprob:F.number()}))})).nullish()}),F.object({type:F.enum(["response.completed","response.incomplete"]),response:F.object({incomplete_details:F.object({reason:F.string()}).nullish(),usage:F.object({input_tokens:F.number(),input_tokens_details:F.object({cached_tokens:F.number().nullish()}).nullish(),output_tokens:F.number(),output_tokens_details:F.object({reasoning_tokens:F.number().nullish()}).nullish()}),service_tier:F.string().nullish()})}),F.object({type:F.literal("response.failed"),response:F.object({error:F.object({code:F.string().nullish(),message:F.string()}).nullish(),incomplete_details:F.object({reason:F.string()}).nullish(),usage:F.object({input_tokens:F.number(),input_tokens_details:F.object({cached_tokens:F.number().nullish()}).nullish(),output_tokens:F.number(),output_tokens_details:F.object({reasoning_tokens:F.number().nullish()}).nullish()}).nullish(),service_tier:F.string().nullish()})}),F.object({type:F.literal("response.created"),response:F.object({id:F.string(),created_at:F.number(),model:F.string(),service_tier:F.string().nullish()})}),F.object({type:F.literal("response.output_item.added"),output_index:F.number(),item:F.discriminatedUnion("type",[F.object({type:F.literal("message"),id:F.string(),phase:F.enum(["commentary","final_answer"]).nullish()}),F.object({type:F.literal("reasoning"),id:F.string(),encrypted_content:F.string().nullish()}),F.object({type:F.literal("function_call"),id:F.string(),call_id:F.string(),name:F.string(),arguments:F.string()}),F.object({type:F.literal("web_search_call"),id:F.string(),status:F.string()}),F.object({type:F.literal("computer_call"),id:F.string(),status:F.string()}),F.object({type:F.literal("file_search_call"),id:F.string()}),F.object({type:F.literal("image_generation_call"),id:F.string()}),F.object({type:F.literal("code_interpreter_call"),id:F.string(),container_id:F.string(),code:F.string().nullable(),outputs:F.array(F.discriminatedUnion("type",[F.object({type:F.literal("logs"),logs:F.string()}),F.object({type:F.literal("image"),url:F.string()})])).nullable(),status:F.string()}),F.object({type:F.literal("mcp_call"),id:F.string(),status:F.string(),approval_request_id:F.string().nullish()}),F.object({type:F.literal("mcp_list_tools"),id:F.string()}),F.object({type:F.literal("mcp_approval_request"),id:F.string()}),F.object({type:F.literal("apply_patch_call"),id:F.string(),call_id:F.string(),status:F.enum(["in_progress","completed"]),operation:F.discriminatedUnion("type",[F.object({type:F.literal("create_file"),path:F.string(),diff:F.string()}),F.object({type:F.literal("delete_file"),path:F.string()}),F.object({type:F.literal("update_file"),path:F.string(),diff:F.string()})])}),F.object({type:F.literal("custom_tool_call"),id:F.string(),call_id:F.string(),name:F.string(),input:F.string()}),F.object({type:F.literal("shell_call"),id:F.string(),call_id:F.string(),status:F.enum(["in_progress","completed","incomplete"]),action:F.object({commands:F.array(F.string())})}),F.object({type:F.literal("shell_call_output"),id:F.string(),call_id:F.string(),status:F.enum(["in_progress","completed","incomplete"]),output:F.array(F.object({stdout:F.string(),stderr:F.string(),outcome:F.discriminatedUnion("type",[F.object({type:F.literal("timeout")}),F.object({type:F.literal("exit"),exit_code:F.number()})])}))}),F.object({type:F.literal("tool_search_call"),id:F.string(),execution:F.enum(["server","client"]),call_id:F.string().nullable(),status:F.enum(["in_progress","completed","incomplete"]),arguments:F.unknown()}),F.object({type:F.literal("tool_search_output"),id:F.string(),execution:F.enum(["server","client"]),call_id:F.string().nullable(),status:F.enum(["in_progress","completed","incomplete"]),tools:F.array(F.record(F.string(),_Z1.optional()))})])}),F.object({type:F.literal("response.output_item.done"),output_index:F.number(),item:F.discriminatedUnion("type",[F.object({type:F.literal("message"),id:F.string(),phase:F.enum(["commentary","final_answer"]).nullish()}),F.object({type:F.literal("reasoning"),id:F.string(),encrypted_content:F.string().nullish()}),F.object({type:F.literal("function_call"),id:F.string(),call_id:F.string(),name:F.string(),arguments:F.string(),status:F.literal("completed")}),F.object({type:F.literal("custom_tool_call"),id:F.string(),call_id:F.string(),name:F.string(),input:F.string(),status:F.literal("completed")}),F.object({type:F.literal("code_interpreter_call"),id:F.string(),code:F.string().nullable(),container_id:F.string(),outputs:F.array(F.discriminatedUnion("type",[F.object({type:F.literal("logs"),logs:F.string()}),F.object({type:F.literal("image"),url:F.string()})])).nullable()}),F.object({type:F.literal("image_generation_call"),id:F.string(),result:F.string()}),F.object({type:F.literal("web_search_call"),id:F.string(),status:F.string(),action:F.discriminatedUnion("type",[F.object({type:F.literal("search"),query:F.string().nullish(),sources:F.array(F.discriminatedUnion("type",[F.object({type:F.literal("url"),url:F.string()}),F.object({type:F.literal("api"),name:F.string()})])).nullish()}),F.object({type:F.literal("open_page"),url:F.string().nullish()}),F.object({type:F.literal("find_in_page"),url:F.string().nullish(),pattern:F.string().nullish()})]).nullish()}),F.object({type:F.literal("file_search_call"),id:F.string(),queries:F.array(F.string()),results:F.array(F.object({attributes:F.record(F.string(),F.union([F.string(),F.number(),F.boolean()])),file_id:F.string(),filename:F.string(),score:F.number(),text:F.string()})).nullish()}),F.object({type:F.literal("local_shell_call"),id:F.string(),call_id:F.string(),action:F.object({type:F.literal("exec"),command:F.array(F.string()),timeout_ms:F.number().optional(),user:F.string().optional(),working_directory:F.string().optional(),env:F.record(F.string(),F.string()).optional()})}),F.object({type:F.literal("computer_call"),id:F.string(),status:F.literal("completed")}),F.object({type:F.literal("mcp_call"),id:F.string(),status:F.string(),arguments:F.string(),name:F.string(),server_label:F.string(),output:F.string().nullish(),error:F.union([F.string(),F.object({type:F.string().optional(),code:F.union([F.number(),F.string()]).optional(),message:F.string().optional()}).loose()]).nullish(),approval_request_id:F.string().nullish()}),F.object({type:F.literal("mcp_list_tools"),id:F.string(),server_label:F.string(),tools:F.array(F.object({name:F.string(),description:F.string().optional(),input_schema:F.any(),annotations:F.record(F.string(),F.unknown()).optional()})),error:F.union([F.string(),F.object({type:F.string().optional(),code:F.union([F.number(),F.string()]).optional(),message:F.string().optional()}).loose()]).optional()}),F.object({type:F.literal("mcp_approval_request"),id:F.string(),server_label:F.string(),name:F.string(),arguments:F.string(),approval_request_id:F.string().optional()}),F.object({type:F.literal("apply_patch_call"),id:F.string(),call_id:F.string(),status:F.enum(["in_progress","completed"]),operation:F.discriminatedUnion("type",[F.object({type:F.literal("create_file"),path:F.string(),diff:F.string()}),F.object({type:F.literal("delete_file"),path:F.string()}),F.object({type:F.literal("update_file"),path:F.string(),diff:F.string()})])}),F.object({type:F.literal("shell_call"),id:F.string(),call_id:F.string(),status:F.enum(["in_progress","completed","incomplete"]),action:F.object({commands:F.array(F.string())})}),F.object({type:F.literal("shell_call_output"),id:F.string(),call_id:F.string(),status:F.enum(["in_progress","completed","incomplete"]),output:F.array(F.object({stdout:F.string(),stderr:F.string(),outcome:F.discriminatedUnion("type",[F.object({type:F.literal("timeout")}),F.object({type:F.literal("exit"),exit_code:F.number()})])}))}),F.object({type:F.literal("tool_search_call"),id:F.string(),execution:F.enum(["server","client"]),call_id:F.string().nullable(),status:F.enum(["in_progress","completed","incomplete"]),arguments:F.unknown()}),F.object({type:F.literal("tool_search_output"),id:F.string(),execution:F.enum(["server","client"]),call_id:F.string().nullable(),status:F.enum(["in_progress","completed","incomplete"]),tools:F.array(F.record(F.string(),_Z1.optional()))})])}),F.object({type:F.literal("response.function_call_arguments.delta"),item_id:F.string(),output_index:F.number(),delta:F.string()}),F.object({type:F.literal("response.custom_tool_call_input.delta"),item_id:F.string(),output_index:F.number(),delta:F.string()}),F.object({type:F.literal("response.image_generation_call.partial_image"),item_id:F.string(),output_index:F.number(),partial_image_b64:F.string()}),F.object({type:F.literal("response.code_interpreter_call_code.delta"),item_id:F.string(),output_index:F.number(),delta:F.string()}),F.object({type:F.literal("response.code_interpreter_call_code.done"),item_id:F.string(),output_index:F.number(),code:F.string()}),F.object({type:F.literal("response.output_text.annotation.added"),annotation:F.discriminatedUnion("type",[F.object({type:F.literal("url_citation"),start_index:F.number(),end_index:F.number(),url:F.string(),title:F.string()}),F.object({type:F.literal("file_citation"),file_id:F.string(),filename:F.string(),index:F.number()}),F.object({type:F.literal("container_file_citation"),container_id:F.string(),file_id:F.string(),filename:F.string(),start_index:F.number(),end_index:F.number()}),F.object({type:F.literal("file_path"),file_id:F.string(),index:F.number()})])}),F.object({type:F.literal("response.reasoning_summary_part.added"),item_id:F.string(),summary_index:F.number()}),F.object({type:F.literal("response.reasoning_summary_text.delta"),item_id:F.string(),summary_index:F.number(),delta:F.string()}),F.object({type:F.literal("response.reasoning_summary_part.done"),item_id:F.string(),summary_index:F.number()}),F.object({type:F.literal("response.apply_patch_call_operation_diff.delta"),item_id:F.string(),output_index:F.number(),delta:F.string(),obfuscation:F.string().nullish()}),F.object({type:F.literal("response.apply_patch_call_operation_diff.done"),item_id:F.string(),output_index:F.number(),diff:F.string()}),F.object({type:F.literal("error"),sequence_number:F.number(),error:F.object({type:F.string(),code:F.string(),message:F.string(),param:F.string().nullish()})}),F.object({type:F.string()}).loose().transform((X)=>({type:"unknown_chunk",message:X.type}))]))),Un9=Q0(()=>n1(F.object({id:F.string().optional(),created_at:F.number().optional(),error:F.object({message:F.string(),type:F.string(),param:F.string().nullish(),code:F.string()}).nullish(),model:F.string().optional(),output:F.array(F.discriminatedUnion("type",[F.object({type:F.literal("message"),role:F.literal("assistant"),id:F.string(),phase:F.enum(["commentary","final_answer"]).nullish(),content:F.array(F.object({type:F.literal("output_text"),text:F.string(),logprobs:F.array(F.object({token:F.string(),logprob:F.number(),top_logprobs:F.array(F.object({token:F.string(),logprob:F.number()}))})).nullish(),annotations:F.array(F.discriminatedUnion("type",[F.object({type:F.literal("url_citation"),start_index:F.number(),end_index:F.number(),url:F.string(),title:F.string()}),F.object({type:F.literal("file_citation"),file_id:F.string(),filename:F.string(),index:F.number()}),F.object({type:F.literal("container_file_citation"),container_id:F.string(),file_id:F.string(),filename:F.string(),start_index:F.number(),end_index:F.number()}),F.object({type:F.literal("file_path"),file_id:F.string(),index:F.number()})]))}))}),F.object({type:F.literal("web_search_call"),id:F.string(),status:F.string(),action:F.discriminatedUnion("type",[F.object({type:F.literal("search"),query:F.string().nullish(),sources:F.array(F.discriminatedUnion("type",[F.object({type:F.literal("url"),url:F.string()}),F.object({type:F.literal("api"),name:F.string()})])).nullish()}),F.object({type:F.literal("open_page"),url:F.string().nullish()}),F.object({type:F.literal("find_in_page"),url:F.string().nullish(),pattern:F.string().nullish()})]).nullish()}),F.object({type:F.literal("file_search_call"),id:F.string(),queries:F.array(F.string()),results:F.array(F.object({attributes:F.record(F.string(),F.union([F.string(),F.number(),F.boolean()])),file_id:F.string(),filename:F.string(),score:F.number(),text:F.string()})).nullish()}),F.object({type:F.literal("code_interpreter_call"),id:F.string(),code:F.string().nullable(),container_id:F.string(),outputs:F.array(F.discriminatedUnion("type",[F.object({type:F.literal("logs"),logs:F.string()}),F.object({type:F.literal("image"),url:F.string()})])).nullable()}),F.object({type:F.literal("image_generation_call"),id:F.string(),result:F.string()}),F.object({type:F.literal("local_shell_call"),id:F.string(),call_id:F.string(),action:F.object({type:F.literal("exec"),command:F.array(F.string()),timeout_ms:F.number().optional(),user:F.string().optional(),working_directory:F.string().optional(),env:F.record(F.string(),F.string()).optional()})}),F.object({type:F.literal("function_call"),call_id:F.string(),name:F.string(),arguments:F.string(),id:F.string()}),F.object({type:F.literal("custom_tool_call"),call_id:F.string(),name:F.string(),input:F.string(),id:F.string()}),F.object({type:F.literal("computer_call"),id:F.string(),status:F.string().optional()}),F.object({type:F.literal("reasoning"),id:F.string(),encrypted_content:F.string().nullish(),summary:F.array(F.object({type:F.literal("summary_text"),text:F.string()}))}),F.object({type:F.literal("mcp_call"),id:F.string(),status:F.string(),arguments:F.string(),name:F.string(),server_label:F.string(),output:F.string().nullish(),error:F.union([F.string(),F.object({type:F.string().optional(),code:F.union([F.number(),F.string()]).optional(),message:F.string().optional()}).loose()]).nullish(),approval_request_id:F.string().nullish()}),F.object({type:F.literal("mcp_list_tools"),id:F.string(),server_label:F.string(),tools:F.array(F.object({name:F.string(),description:F.string().optional(),input_schema:F.any(),annotations:F.record(F.string(),F.unknown()).optional()})),error:F.union([F.string(),F.object({type:F.string().optional(),code:F.union([F.number(),F.string()]).optional(),message:F.string().optional()}).loose()]).optional()}),F.object({type:F.literal("mcp_approval_request"),id:F.string(),server_label:F.string(),name:F.string(),arguments:F.string(),approval_request_id:F.string().optional()}),F.object({type:F.literal("apply_patch_call"),id:F.string(),call_id:F.string(),status:F.enum(["in_progress","completed"]),operation:F.discriminatedUnion("type",[F.object({type:F.literal("create_file"),path:F.string(),diff:F.string()}),F.object({type:F.literal("delete_file"),path:F.string()}),F.object({type:F.literal("update_file"),path:F.string(),diff:F.string()})])}),F.object({type:F.literal("shell_call"),id:F.string(),call_id:F.string(),status:F.enum(["in_progress","completed","incomplete"]),action:F.object({commands:F.array(F.string())})}),F.object({type:F.literal("shell_call_output"),id:F.string(),call_id:F.string(),status:F.enum(["in_progress","completed","incomplete"]),output:F.array(F.object({stdout:F.string(),stderr:F.string(),outcome:F.discriminatedUnion("type",[F.object({type:F.literal("timeout")}),F.object({type:F.literal("exit"),exit_code:F.number()})])}))}),F.object({type:F.literal("tool_search_call"),id:F.string(),execution:F.enum(["server","client"]),call_id:F.string().nullable(),status:F.enum(["in_progress","completed","incomplete"]),arguments:F.unknown()}),F.object({type:F.literal("tool_search_output"),id:F.string(),execution:F.enum(["server","client"]),call_id:F.string().nullable(),status:F.enum(["in_progress","completed","incomplete"]),tools:F.array(F.record(F.string(),_Z1.optional()))})])).optional(),service_tier:F.string().nullish(),incomplete_details:F.object({reason:F.string()}).nullish(),usage:F.object({input_tokens:F.number(),input_tokens_details:F.object({cached_tokens:F.number().nullish()}).nullish(),output_tokens:F.number(),output_tokens_details:F.object({reasoning_tokens:F.number().nullish()}).nullish()}).optional()}))),Bn9=["o1","o1-2024-12-17","o3","o3-2025-04-16","o3-mini","o3-mini-2025-01-31","o4-mini","o4-mini-2025-04-16","gpt-5","gpt-5-2025-08-07","gpt-5-codex","gpt-5-mini","gpt-5-mini-2025-08-07","gpt-5-nano","gpt-5-nano-2025-08-07","gpt-5-pro","gpt-5-pro-2025-10-06","gpt-5.1","gpt-5.1-chat-latest","gpt-5.1-codex-mini","gpt-5.1-codex","gpt-5.1-codex-max","gpt-5.2","gpt-5.2-chat-latest","gpt-5.2-pro","gpt-5.2-codex","gpt-5.3-chat-latest","gpt-5.3-codex","gpt-5.4","gpt-5.4-2026-03-05","gpt-5.4-mini","gpt-5.4-mini-2026-03-17","gpt-5.4-nano","gpt-5.4-nano-2026-03-17","gpt-5.4-pro","gpt-5.4-pro-2026-03-05"],ujY=["gpt-4.1","gpt-4.1-2025-04-14","gpt-4.1-mini","gpt-4.1-mini-2025-04-14","gpt-4.1-nano","gpt-4.1-nano-2025-04-14","gpt-4o","gpt-4o-2024-05-13","gpt-4o-2024-08-06","gpt-4o-2024-11-20","gpt-4o-audio-preview","gpt-4o-audio-preview-2024-12-17","gpt-4o-search-preview","gpt-4o-search-preview-2025-03-11","gpt-4o-mini-search-preview","gpt-4o-mini-search-preview-2025-03-11","gpt-4o-mini","gpt-4o-mini-2024-07-18","gpt-3.5-turbo-0125","gpt-3.5-turbo","gpt-3.5-turbo-1106","gpt-5-chat-latest",...Bn9],ub6=Q0(()=>n1(F.object({conversation:F.string().nullish(),include:F.array(F.enum(["reasoning.encrypted_content","file_search_call.results","message.output_text.logprobs"])).nullish(),instructions:F.string().nullish(),logprobs:F.union([F.boolean(),F.number().min(1).max(eb6)]).optional(),maxToolCalls:F.number().nullish(),metadata:F.any().nullish(),parallelToolCalls:F.boolean().nullish(),previousResponseId:F.string().nullish(),promptCacheKey:F.string().nullish(),promptCacheRetention:F.enum(["in_memory","24h"]).nullish(),reasoningEffort:F.string().nullish(),reasoningSummary:F.string().nullish(),safetyIdentifier:F.string().nullish(),serviceTier:F.enum(["auto","flex","priority","default"]).nullish(),store:F.boolean().nullish(),strictJsonSchema:F.boolean().nullish(),textVerbosity:F.enum(["low","medium","high"]).nullish(),truncation:F.enum(["auto","disabled"]).nullish(),user:F.string().nullish(),systemMessageMode:F.enum(["system","developer","remove"]).optional(),forceReasoning:F.boolean().optional()})));Cn9=Q0(()=>n1(F.object({instructions:F.string().nullish(),speed:F.number().min(0.25).max(4).default(1).nullish()}))),_n9=Q0(()=>n1(F.object({text:F.string(),language:F.string().nullish(),duration:F.number().nullish(),words:F.array(F.object({word:F.string(),start:F.number(),end:F.number()})).nullish(),segments:F.array(F.object({id:F.number(),seek:F.number(),start:F.number(),end:F.number(),text:F.string(),tokens:F.array(F.number()),temperature:F.number(),avg_logprob:F.number(),compression_ratio:F.number(),no_speech_prob:F.number()})).nullish()}))),fn9=Q0(()=>n1(F.object({include:F.array(F.string()).optional(),language:F.string().optional(),prompt:F.string().optional(),temperature:F.number().min(0).max(1).default(0).optional(),timestampGranularities:F.array(F.enum(["word","segment"])).default(["segment"]).optional()}))),cb6={afrikaans:"af",arabic:"ar",armenian:"hy",azerbaijani:"az",belarusian:"be",bosnian:"bs",bulgarian:"bg",catalan:"ca",chinese:"zh",croatian:"hr",czech:"cs",danish:"da",dutch:"nl",english:"en",estonian:"et",finnish:"fi",french:"fr",galician:"gl",german:"de",greek:"el",hebrew:"he",hindi:"hi",hungarian:"hu",icelandic:"is",indonesian:"id",italian:"it",japanese:"ja",kannada:"kn",kazakh:"kk",korean:"ko",latvian:"lv",lithuanian:"lt",macedonian:"mk",malay:"ms",marathi:"mr",maori:"mi",nepali:"ne",norwegian:"no",persian:"fa",polish:"pl",portuguese:"pt",romanian:"ro",russian:"ru",serbian:"sr",slovak:"sk",slovenian:"sl",spanish:"es",swahili:"sw",swedish:"sv",tagalog:"tl",tamil:"ta",thai:"th",turkish:"tr",ukrainian:"uk",urdu:"ur",vietnamese:"vi",welsh:"cy"};ojY=Qk0()});function xn9(X){let Y=JSON.parse(X);if(!Y.baseUrl||typeof Y.baseUrl!=="string")throw Error("Invalid OpenAI-compatible credential: missing baseUrl field");let G=Y.baseUrl.replace(/\/+$/,"");if(!G.endsWith("/v1"))G+="/v1";return{baseUrl:G,apiKey:Y.apiKey??""}}var hn9="https://assets.decocache.com/decocms/d138aa7e-5b8c-4821-9e64-6aff40df2cdc/ChatGPT_logo.svg",Yy6;var Gy6=w(()=>{Xy6();Yy6={info:{id:"openai-compatible",name:"OpenAI Compatible",description:"Custom OpenAI-compatible endpoint",logo:hn9},supportedMethods:["api-key"],create(X){let{baseUrl:Y,apiKey:G}=xn9(X),Q=Qk0({baseURL:Y,apiKey:G||"not-needed",name:"openai-compatible"}),J=Object.assign((...W)=>Q.chat(...W),Q,{languageModel:Q.chat});return{info:this.info,aiSdk:J,async listModels(){let W={};if(G)W.Authorization=`Bearer ${G}`;let Z=await fetch(`${Y}/models`,{headers:W,signal:AbortSignal.timeout(15000)});if(!Z.ok)throw Error(`OpenAI-compatible listModels failed: ${Z.status}`);return(await Z.json()).data.map((K)=>({providerId:"openai-compatible",modelId:K.id,title:K.id,description:K.owned_by?`Owned by ${K.owned_by}`:null,logo:null,capabilities:[],limits:null,costs:null}))}}}}});function zJ(){let X=u4();return{...X.aiGatewayEnabled&&{deco:RG1},...X.localMode&&{"claude-code":jS0,codex:cS0},anthropic:a_6,google:Rb6,openrouter:Vj1,"openai-compatible":Yy6}}var OL=w(()=>{r_6();jS1();_S1();Sb6();Gy6();z20();D20();l9()});function gn9(X){return X.includes("/")?X.split("/").slice(1).join("/"):X}function un9(X){let Y=X.supported_parameters.includes("tools"),G=X.supported_parameters.includes("reasoning");return{providerId:"openrouter",modelId:gn9(X.id),title:X.name,description:X.description||null,logo:null,capabilities:[...new Set([...X.architecture.input_modalities.map((Q)=>Q==="image"?"vision":Q),...X.architecture.output_modalities,...Y?["tools"]:[],...G?["reasoning"]:[]])],limits:{contextWindow:X.context_length,maxOutputTokens:X.top_provider.max_completion_tokens||null},costs:{input:X.pricing.prompt,output:X.pricing.completion}}}function Jy6(X){let Y=new Map;for(let G of X){let Q={description:G.description,capabilities:G.capabilities,limits:G.limits,costs:G.costs};Y.set(G.modelId,Q);let J=G.modelId.replace(/\./g,"-");if(J!==G.modelId)Y.set(J,Q)}return Y}async function ln9(X){if(X){let Y=await X.get(Qy6,"openrouter");if(Y)return Jy6(Y)}try{let Y=await fetch("https://openrouter.ai/api/v1/models",{signal:AbortSignal.timeout(1e4)});if(!Y.ok)return new Map;let{data:G}=await Y.json(),Q=G.map(un9);if(X)await X.set(Qy6,"openrouter",Q);return Jy6(Q)}catch{return new Map}}function mn9(X){let Y=X.replace(/\./g,"-"),G=X.replace(/-\d{8}$/,""),Q=G.replace(/\./g,"-");return[...new Set([X,Y,G,Q])]}function dn9(X){return X.providerId==="anthropic"||X.modelId.startsWith("anthropic/")}function Wy6(X,Y){if(dn9(Y)&&X.includes("vision")&&!X.includes("file"))return[...X,"file"];return X}function cn9(X,Y){return X.map((G)=>{let J=mn9(G.modelId).map(($)=>Y.get($)).find(Boolean),W=G.capabilities.length?G.capabilities:J?.capabilities??[],Z=Wy6(W,G);if(!J)return Z===W?G:{...G,capabilities:Z};return{...G,description:G.description??J.description??null,capabilities:Z,limits:G.limits??J.limits??null,costs:G.costs??J.costs??null}})}class Jk0{storage;cache;constructor(X,Y){this.storage=X;this.cache=Y}async activate(X,Y){let{keyInfo:G,apiKey:Q}=await this.storage.resolve(X,Y),J=zJ()[G.providerId];if(!J)throw Error(`Unknown provider: ${G.providerId}`);return J.create(Q)}async listModels(X,Y){let{keyInfo:G,apiKey:Q}=await this.storage.resolve(X,Y),J=G.providerId,W=zJ()[J];if(!W)throw Error(`Unknown provider: ${J}`);if(this.cache){let B=await this.cache.get(Y,J);if(B)return Zy6(B,W,Q)}let $=await W.create(Q).listModels(),K=new Set,H=$.filter((B)=>{if(B.deprecated)return!1;if(K.has(B.modelId))return!1;return K.add(B.modelId),!0});if(J!=="openrouter"){let B=await ln9(this.cache);H=cn9(H,B)}else H=H.map((B)=>({...B,capabilities:Wy6(B.capabilities,B)}));let U=H.map((B)=>({...B,providerId:J}));if(this.cache)await this.cache.set(Y,J,U);return Zy6(U,W,Q)}}function Zy6(X,Y,G){let J=Y.create(G).asyncResearch;if(!J)return X;return X.map((W)=>J.canHandle(W.modelId)?{...W,asyncResearch:!0}:W)}var Qy6="_global";var $y6=w(()=>{OL()});function bS1(X,Y){return{get:(G)=>X.get(Y,G),put:(G,Q,J)=>X.put(Y,G,Q,J),list:(G)=>X.list(Y,G),delete:(G)=>X.delete(Y,G),head:(G)=>X.head(Y,G),presignedGetUrl:(G,Q)=>X.presignedGetUrl(Y,G,Q),presignedPutUrl:(G,Q,J)=>X.presignedPutUrl(Y,G,Q,J)}}import{mkdir as in9,readdir as pn9,readFile as Ky6,stat as yS1,unlink as nn9,writeFile as tn9}from"fs/promises";import{createHmac as an9}from"crypto";import{dirname as rn9,join as bZ1}from"path";function Zk0(X){let Y=X.replace(/[^a-zA-Z0-9_-]/g,"_");return bZ1(on9,Y)}function fZ1(X,Y){return bZ1(Zk0(X),Gr(Y))}class yZ1{orgId;baseUrl;constructor(X,Y){this.orgId=X;this.baseUrl=Y}async get(X){let Y=fZ1(this.orgId,X),G=await yS1(Y),Q=QA(X),J=await Ky6(Y),W=kV1(Q);return{content:W?new TextDecoder().decode(J):Buffer.from(J).toString("base64"),contentType:Q,encoding:W?"utf-8":"base64",size:G.size,lastModified:G.mtime}}async put(X,Y,G){let Q=fZ1(this.orgId,X);return await in9(rn9(Q),{recursive:!0}),await tn9(Q,typeof Y==="string"?Buffer.from(Y,"utf-8"):Y),{key:X}}async list(X){let Y=X?.prefix?bZ1(Zk0(this.orgId),Gr(X.prefix)):Zk0(this.orgId),G;try{G=await pn9(Y,{withFileTypes:!0})}catch{return{objects:[],isTruncated:!1}}let Q=X?.maxKeys??1000,J=X?.prefix,W=G.filter(($)=>$.isFile());if(X?.delimiter){let $=[],K=G.filter((O)=>O.isDirectory());for(let O of K){let D=J?`${J}/${O.name}/`:`${O.name}/`;$.push(D)}$.sort();let H=Q,U=$.slice(0,H);H-=U.length;let B=W.slice(0,H),N=$.length+W.length;return{objects:await Promise.all(B.map(async(O)=>{let D=await yS1(bZ1(Y,O.name));return{key:J?`${J}/${O.name}`:O.name,size:D.size,lastModified:D.mtime}})),isTruncated:N>Q,commonPrefixes:U.length>0?U:void 0}}return{objects:await Promise.all(W.slice(0,Q).map(async($)=>{let K=await yS1(bZ1(Y,$.name));return{key:J?`${J}/${$.name}`:$.name,size:K.size,lastModified:K.mtime}})),isTruncated:W.length>Q}}async delete(X){await nn9(fZ1(this.orgId,X))}async head(X){let Y=await yS1(fZ1(this.orgId,X));return{contentType:QA(X),size:Y.size,lastModified:Y.mtime}}async presignedGetUrl(X){let Y=fZ1(this.orgId,X),G=await Ky6(Y),Q=QA(X),J=Buffer.from(G).toString("base64");return`data:${Q};base64,${J}`}async presignedPutUrl(X,Y=3600){if(!this.baseUrl)throw Error("baseUrl required for presigned PUT URLs in dev mode");let G=Gr(X),Q=Math.floor(Date.now()/1000)+Y,J=u4().encryptionKey||"dev-secret",W=`${this.orgId}:${G}:${Q}:PUT`,Z=an9("sha256",J).update(W).digest("hex"),$=new URL(`/api/dev-assets/${this.orgId}/${G}`,this.baseUrl);return $.searchParams.set("expires",Q.toString()),$.searchParams.set("signature",Z),$.searchParams.set("method","PUT"),$.toString()}}var on9="./data/assets";var Wk0=w(()=>{nT0();l9()});function sn9(X){if(!X)return;try{let Y=JSON.parse(X);if(typeof Y!=="object"||Y===null||Array.isArray(Y))return;let G={};for(let[Q,J]of Object.entries(Y))if(typeof J==="string")G[Q]=J;return Object.keys(G).length>0?G:void 0}catch{return}}function en9(X,Y){for(let[G,Q]of Object.entries(Y)){let J=X[G];if(!J||J.length===0){let W=X["*"];if(!W||W.length===0)return!1;if(W.includes("*"))continue;for(let Z of Q)if(!W.includes(Z))return!1;continue}if(J.includes("*"))continue;for(let W of Q)if(!J.includes(W))return!1}return!0}function Kk0(X){let{auth:Y,headers:G,role:Q,permissions:J,userId:W}=X,Z=Y.api.hasPermission;return{hasPermission:async($,K)=>{if(Q&&XR0.includes(Q))return!0;if(J)return en9(J,$);if(!Z)return console.error("[Auth] hasPermission API not available"),!1;let H=K?.organizationId?{organizationId:K.organizationId}:{};try{if((await Z({headers:G,body:{permission:$,...H}}))?.success===!0)return!0;let B={};for(let z of Object.keys($))B[z]=["*"];return(await Z({headers:G,body:{permission:B,...H}}))?.success===!0}catch(U){return console.error("[Auth] Permission check failed:",U),!1}},organization:{create:async($)=>{return Y.api.createOrganization({headers:G,body:$})},update:async($)=>{return Y.api.updateOrganization({headers:G,body:$})},delete:async($)=>{await Y.api.deleteOrganization({headers:G,body:{organizationId:$}})},get:async($)=>{return Y.api.getFullOrganization({headers:G,query:$?{organizationId:$}:void 0})},list:async($)=>{return Y.api.listOrganizations({headers:G,query:$?{userId:$}:void 0})},addMember:async($)=>{return Y.api.addMember({headers:G,body:$})},removeMember:async($)=>{await Y.api.removeMember({headers:G,body:$})},listMembers:async($)=>{return Y.api.listMembers({headers:G,query:$?{organizationId:$.organizationId,limit:$.limit,offset:$.offset}:void 0})},updateMemberRole:async($)=>{return Y.api.updateMemberRole({headers:G,body:$})}},apiKey:{create:async($)=>{return Y.api.createApiKey({body:{...$,userId:W}})},list:async()=>{return Y.api.listApiKeys({headers:G})},update:async($)=>{return Y.api.updateApiKey({body:{...$,userId:W}})},delete:async($)=>{await Y.api.deleteApiKey({headers:G,body:{keyId:$}})}}}}async function Hk0(X,Y,G){if(XR0.includes(G))return;let Q=await X.selectFrom("organizationRole").select(["permission"]).where("organizationId","=",Y).where("role","=",G).executeTakeFirst();if(!Q?.permission)return;try{return JSON.parse(Q.permission)}catch{console.error(`[Auth] Failed to parse permissions for role: ${G}`);return}}async function Xt9(X,Y,G,Q=Fy6,J){let W=X.headers.get("Authorization");try{let Z=new Headers(X.headers);Z.set("X-MCP-Session-Auth","true");let $=await Q.measure("auth_get_mcp_session",()=>Y.api.getMcpSession({headers:Z}));if($){let K=$.userId,H=X.headers.get("x-org-id"),U=X.headers.get("x-org-slug"),B=await Q.measure("auth_query_membership",()=>{let D=G.selectFrom("member").innerJoin("organization","organization.id","member.organizationId").select(["member.role","member.organizationId","organization.id as orgId","organization.slug as orgSlug","organization.name as orgName"]).where("member.userId","=",K);if(H)return D.where("organization.id","=",H).executeTakeFirst();if(U)return D.where("organization.slug","=",U).executeTakeFirst();return D.executeTakeFirst()}),N=B?.role,z=B?{id:B.orgId,slug:B.orgSlug,name:B.orgName}:void 0;if(B&&N)J?.set(K,B.organizationId,N);let O;if(B&&N)O=await Q.measure("auth_fetch_role_permissions",()=>Hk0(G,B.organizationId,N));return{user:{id:K,role:N},role:N,permissions:O,organization:z}}}catch(Z){console.error("[Auth] OAuth session check failed:",Z)}if(W?.startsWith("Bearer ")){let Z=W.replace("Bearer ","").trim();try{let $=await Q.measure("auth_verify_mesh_jwt",()=>ST6(Z));if($){let K,H=$.metadata?.organizationId;if($.sub&&H){let N=J?.get($.sub,H);if(N)K=N;else if(K=(await Q.measure("auth_query_membership",()=>G.selectFrom("member").select(["member.role"]).where("member.userId","=",$.sub).where("member.organizationId","=",H).executeTakeFirst()))?.role,K)J?.set($.sub,H,K)}let U,B=$.metadata?.organizationId;if(B){let N=$.metadata?.organizationName,z=$.metadata?.organizationSlug;if(N||z)U={id:B,name:N,slug:z};else{let O=await Q.measure("auth_query_org_for_mesh_jwt",()=>G.selectFrom("organization").select(["id","slug","name"]).where("id","=",B).executeTakeFirst());U=O?{id:O.id,slug:O.slug,name:O.name}:{id:B}}}return{user:{id:$.sub,connectionId:$.metadata?.connectionId,role:K},role:K,permissions:$.permissions,organization:U}}}catch{}try{let $=await Q.measure("auth_verify_api_key",()=>Y.api.verifyApiKey({body:{key:Z}}));if($?.valid&&$.key){let K=$.key.metadata?.organization,H=$.key.permissions,U,B=$.key.userId;if(B&&K?.id){let N=J?.get(B,K.id);if(N)U=N;else if(U=(await Q.measure("auth_query_membership",()=>G.selectFrom("member").select(["member.role"]).where("member.userId","=",B).where("member.organizationId","=",K.id).executeTakeFirst()))?.role,B&&U)J?.set(B,K.id,U)}return{apiKeyId:$.key.id,user:{id:$.key.userId,role:U},role:U,permissions:H,organization:K?{id:K.id,slug:K.slug,name:K.name}:void 0}}}catch($){console.error("[Auth] API key check failed:",$)}}try{let Z=new Headers(X.headers);Z.delete("Authorization");let $=await Q.measure("auth_get_session",()=>Y.api.getSession({headers:Z}));if($){let K,H,U=X.headers.get("x-org-id"),B=X.headers.get("x-org-slug");if(!U&&!B&&X.method.toUpperCase()==="GET")try{let N=new URL(X.url).searchParams;U=N.get("x-org-id"),B=N.get("x-org-slug")}catch{}if(U||B){let N=await Q.measure("auth_query_membership_from_header",()=>{let z=G.selectFrom("member").innerJoin("organization","organization.id","member.organizationId").select(["member.role","organization.id as orgId","organization.slug as orgSlug","organization.name as orgName"]).where("member.userId","=",$.user.id);if(U)z=z.where("organization.id","=",U);else if(B)z=z.where("organization.slug","=",B);return z.executeTakeFirst()});if(N)K={id:N.orgId,slug:N.orgSlug,name:N.orgName},H=N.role}else if($.session.activeOrganizationId){let N=await Q.measure("auth_get_full_organization",()=>Y.api.getFullOrganization({headers:Z}).catch(()=>null));if(N)K={id:N.id,slug:N.slug,name:N.name},H=N.members?.find((O)=>O.userId===$.user.id)?.role;else K={id:$.session.activeOrganizationId,slug:"",name:""}}return{user:{id:$.user.id,email:$.user.email,emailVerified:!!$.user.emailVerified,name:$.user.name,image:$.user.image??void 0,role:H},role:H,organization:K}}}catch(Z){let $=Z;console.error("[Auth] Session check failed:",JSON.stringify({message:$.message,body:$.body,stack:$.stack},null,2))}return{user:void 0}}async function Uy6(X){let Y=new lM(X.encryption.key),G=u4().clickhouseUrl,Q=!!G,J=Q?"clickhouse":"duckdb",W,Z;if(Q)W=new RJ1(G),Z=new RJ1(G);else{let{engine:D}=await fM0({basePath:AD()}),{engine:E}=await fM0({basePath:SV()});W=D,Z=E}let{resolve:$}=await import("path"),K=$(AD()),H=$(SV()),U=Q?(D)=>"monitoring_logs":(D)=>`read_ndjson('${K}/${D}/**/*.ndjson', auto_detect=true)`,B=process.env.USE_METRICS_ROLLUP!=="false",N=Q?(D)=>B?"monitoring_metrics_rollup_1m":"monitoring_metrics":(D)=>`read_ndjson('${H}/${D}/**/*.ndjson', auto_detect=true)`,z=new bJ1(X.db),O={connections:new vG1(X.db,Y),organizationSettings:new bM0(X.db),monitoring:new bj0(W,U,Z,N,J),virtualMcps:new _G1(X.db),users:new nM0(X.db),tags:new pM0(X.db),virtualMcpPluginConfigs:new yM0(X.db),aiProviderKeys:new kG1(X.db,Y),oauthPkceStates:new GR0(X.db),automations:MR1(X.db),triggerCallbackTokens:new SJ1(X.db),orgSsoConfig:new uM0(X.db,Y),orgSsoSessions:new lM0(X.db),registry:{items:new jo(X.db),publishRequests:new Mo(X.db),publishApiKeys:new Ro(X.db),monitorRuns:new bR1(X.db),monitorResults:new yR1(X.db),monitorConnections:new xR1(X.db)},brandContext:new kJ1(X.db),organizationDomains:new mw(X.db)};return async(D,E)=>{let P=E?.timings??Fy6,q=Co(),j=D?await X.observability.tracer.startActiveSpan("mesh.auth",async(u)=>{try{let a=await Xt9(D,X.auth,X.db,P,X.memberRoleCache);return u.setStatus({code:$k0.SpanStatusCode.OK}),a}catch(a){throw u.setStatus({code:$k0.SpanStatusCode.ERROR,message:a.message}),u.recordException(a),a}finally{u.end()}}):{user:void 0},M=D?.headers.get("x-caller-id")??j.user?.connectionId??void 0,I=Kk0({auth:X.auth,headers:D?.headers??new Headers,role:j.role,permissions:j.permissions,userId:j.user?.id}),R={user:j.user};if(j.apiKeyId)R.apiKey={id:j.apiKeyId,name:"",userId:""};let C=j.organization,_=D?u4().baseUrl??`${new URL(D.url).origin}`:t$(),v=new SR(X.auth,R.user?.id,void 0,I,j.role,"self",void 0,C?.id),y={...O,threads:new fJ1(z,C?.id)},h=new Jk0(y.aiProviderKeys,X.modelListCache),d=Qr(),i=!C?null:d?bS1(d,C.id):new yZ1(C.id,_),f={timings:P,auth:R,connectionId:M,organization:C,storage:y,vault:Y,authInstance:X.auth,boundAuth:I,access:v,db:X.db,tracer:X.observability.tracer,meter:X.observability.meter,baseUrl:_,objectStorage:i,metadata:{requestId:crypto.randomUUID(),timestamp:new Date,wellKnownForwardableHeaders:Object.fromEntries(Yt9.map((u)=>[u,D?.headers.get(u)??null]).filter(([u,a])=>a!==null)),userAgent:D?.headers.get("x-mesh-client")||D?.headers.get("User-Agent")||void 0,ipAddress:(D?.headers.get("CF-Connecting-IP")||D?.headers.get("X-Forwarded-For"))??void 0,properties:sn9(D?.headers.get("x-mesh-properties"))},eventBus:X.eventBus,aiProviders:h,createMCPProxy:async(u)=>{return await XC6(u,f)},invalidateMemberRole:X.memberRoleCache?(u,a)=>X.memberRoleCache.invalidate(u,a):void 0,getOrCreateClient:q,pendingRevalidations:[],firecrawlApiKey:u4().firecrawlApiKey};return f}}var $k0,Hy6,GB,Fy6,Yt9;var xZ1=w(()=>{mM();jj1();l9();lw();E20();P20();XR6();vk6();oK();_k6();xM0();gM0();ck6();ik6();hR1();uR1();vJ1();dR1();cR1();w20();$y6();CV1();Wk0();$k0=X1(x0(),1);GB={set:(X)=>{Hy6=X},create:async(X,Y)=>{return await Hy6(X,Y)}},Fy6={measure:async(X,Y)=>{return await Y()}},Yt9=["x-hub-signature-256"]});async function Gt9(X,Y,G){return(await Y.storage.connections.findById(X,G))?.connection_url??null}function Qt9(X){let Y=X.toLowerCase();return Y.includes("resource_metadata=")||Y.includes("invalid_token")||Y.includes("oauth")}async function By6(X,Y={}){try{let G=await fetch(X,{method:"POST",headers:{...Y,"Content-Type":"application/json",Accept:"application/json, text/event-stream"},body:JSON.stringify({jsonrpc:"2.0",id:0,method:"initialize",params:{protocolVersion:"2025-06-18",capabilities:{},clientInfo:{name:"mcp-cms-proxy",version:"1.0.0"}}})});if(G.status===401){let Q=G.headers.get("WWW-Authenticate");if(Q){if(Qt9(Q))return Q}if(await Jt9(X))return'Bearer realm="mcp"'}return null}catch{return null}}async function Jt9(X){try{let Y=new URL(X),G=new URL("/.well-known/oauth-authorization-server",Y.origin),Q=await fetch(G.toString(),{method:"GET",headers:{Accept:"application/json"}});if(Q.ok){let J=await Q.json();if(J.authorization_endpoint||J.token_endpoint||J.issuer)return!0}return!1}catch{return!1}}async function Xs(X){let G=new URL(X).pathname;if(G.endsWith("/"))G=G.slice(0,-1);let Q=new URL(X);Q.pathname=`${G}/.well-known/oauth-protected-resource`;let J=await fetch(Q.toString(),{method:"GET",headers:{Accept:"application/json"}});if(J.ok)return J;if(!Fk0.includes(J.status))return J;let W=new URL(X);if(W.pathname=`/.well-known/oauth-protected-resource${G}`,J=await fetch(W.toString(),{method:"GET",headers:{Accept:"application/json"}}),!Fk0.includes(J.status))return J;let Z=new URL(X);return Z.pathname="/.well-known/oauth-protected-resource",J=await fetch(Z.toString(),{method:"GET",headers:{Accept:"application/json"}}),J}async function Zt9(X){let Y;try{Y=new URL(X).origin}catch{return null}try{let G=await Xs(X);if(G.ok){let Q=await G.json();if(Q.authorization_servers?.[0])return Q.authorization_servers[0]}}catch{}return Y}async function Ny6(X){let Y=X.get("meshContext");if(!Y)Y=await GB.create(X.req.raw),X.set("meshContext",Y);return Y}function zy6(X){return X?`/api/${X}`:""}async function Oy6({error:X,reqUrl:Y,connectionId:G,connectionUrl:Q,headers:J,orgSlug:W}){let Z=X.message?.toLowerCase()??"";if(!(X.status===401||X.code===401||X.message?.includes("401")||Z.includes("unauthorized")||Z.includes("invalid_token")||Z.includes("api key required")||Z.includes("api-key required")))return null;if(Boolean(await By6(Q,J))){let H=zy6(W);return new Response(null,{status:401,headers:{"WWW-Authenticate":`Bearer realm="mcp",resource_metadata="${Y.origin}${H}/mcp/${G}/.well-known/oauth-protected-resource"`}})}return new Response(JSON.stringify({error:"unauthorized",message:"Authentication required but server does not support OAuth"}),{status:401,headers:{"Content-Type":"application/json"}})}async function gZ1(X){let G=new URL(X).pathname;if(G.endsWith("/"))G=G.slice(0,-1);let Q=G!==""&&G!=="/",J=[];if(Q){let Z=new URL(X);Z.pathname=`/.well-known/oauth-authorization-server${G}`,J.push(Z);let $=new URL(X);$.pathname=`/.well-known/openid-configuration${G}`,J.push($);let K=new URL(X);K.pathname=`${G}/.well-known/openid-configuration`,J.push(K)}else{let Z=new URL(X);Z.pathname="/.well-known/oauth-authorization-server",J.push(Z);let $=new URL(X);$.pathname="/.well-known/openid-configuration",J.push($)}let W=null;for(let Z of J){if(W=await fetch(Z.toString(),{method:"GET",headers:{Accept:"application/json"}}),W.ok)return W;if(W.status!==404&&W.status!==401)return W}return W}var Fk0,Dy6=(X)=>{if(!(X.hostname==="localhost"||X.hostname.endsWith(".localhost")||X.hostname==="127.0.0.1"))X.protocol="https:";return X},hZ1=async(X)=>{let Y=X.req.param("connectionId"),G=await Ny6(X),Q=Dy6(new URL(X.req.url)),J=X.req.param("org")??G.organization?.slug,W;if(J)if(G.organization?.id&&G.organization.slug===J)W=G.organization.id;else{let U=await G.db.selectFrom("organization").select("id").where("slug","=",J).executeTakeFirst();if(!U)return X.json({error:"Connection not found"},404);W=U.id}let Z=await Gt9(Y,G,W);if(!Z)return X.json({error:"Connection not found"},404);let $=zy6(J),K=`${Q.origin}${$}/mcp/${Y}`,H=`${Q.origin}/oauth-proxy/${Y}`;try{let U=await Xs(Z);if(!U.ok&&Fk0.includes(U.status)){if(await By6(Z))return new Response(JSON.stringify({resource:K,authorization_servers:[H],bearer_methods_supported:["header"],scopes_supported:["*"]}),{status:200,headers:{"Content-Type":"application/json"}});return new Response(U.body,{status:U.status,statusText:U.statusText,headers:{"Content-Type":"application/json"}})}if(!U.ok)return new Response(U.body,{status:U.status,statusText:U.statusText,headers:{"Content-Type":"application/json"}});let B=await U.json();if("issuer"in B&&!("resource"in B)&&(("authorization_endpoint"in B)||("token_endpoint"in B))){let O={resource:K,authorization_servers:[H],bearer_methods_supported:["header"],scopes_supported:"scopes_supported"in B&&Array.isArray(B.scopes_supported)&&B.scopes_supported.length>0?B.scopes_supported:["*"]};return new Response(JSON.stringify(O),{status:200,headers:{"Content-Type":"application/json"}})}let z={...B,resource:K,authorization_servers:[H]};return new Response(JSON.stringify(z),{status:U.status,statusText:U.statusText,headers:{"Content-Type":"application/json"}})}catch(U){let B=U;return console.error("[oauth-proxy] Failed to proxy OAuth protected resource metadata:",B),X.json({error:"Failed to proxy OAuth metadata",message:B.message},502)}},Uk0=()=>{let X=new A6;return X.get("/.well-known/oauth-protected-resource/mcp/:connectionId",(Y)=>hZ1(Y)),X.get("/mcp/:connectionId/.well-known/oauth-protected-resource",(Y)=>hZ1(Y)),X},wy6=()=>{let X=new A6;return X.get("/mcp/:connectionId/.well-known/oauth-protected-resource",(Y)=>hZ1(Y)),X},Wt9=async(X)=>{let Y=X.req.param("connectionId"),G=await Ny6(X),Q=await G.storage.connections.findById(Y);if(!Q?.connection_url)return X.json({error:"Connection not found or no auth server"},404);let J=await Zt9(Q.connection_url);if(!J)return X.json({error:"Connection not found or no auth server"},404);let W=await G.db.selectFrom("organization").select("slug").where("id","=",Q.organization_id).executeTakeFirst();try{let Z=await gZ1(J);if(!Z.ok)return new Response(Z.body,{status:Z.status,statusText:Z.statusText,headers:{"Content-Type":"application/json"}});let $=await Z.json(),K=Dy6(new URL(X.req.url)),H=W?.slug?`${K.origin}/api/${W.slug}/oauth-proxy/${Y}`:`${K.origin}/oauth-proxy/${Y}`,U={...$,authorization_endpoint:$.authorization_endpoint?`${H}/authorize`:void 0,token_endpoint:$.token_endpoint?`${H}/token`:void 0,registration_endpoint:$.registration_endpoint?`${H}/register`:void 0};return new Response(JSON.stringify(U),{status:200,headers:{"Content-Type":"application/json"}})}catch(Z){let $=Z;return console.error("[oauth-proxy] Failed to proxy auth server metadata:",$),X.json({error:"Failed to proxy auth server metadata",message:$.message},502)}},Bk0=()=>{let X=new A6;return X.get("/.well-known/oauth-authorization-server/oauth-proxy/:connectionId",Wt9),X},Ly6;var uZ1=w(()=>{iX();xZ1();Fk0=[404,401,406];Ly6=new A6;Ly6.route("/",Uk0());Ly6.route("/",Bk0())});async function xS1(X){try{let Y;try{let Q=await Xs(X);if(Q.ok)Y=(await Q.json()).authorization_servers?.[0]}catch{}if(!Y)Y=new URL(X).origin;let G=await gZ1(Y);if(G.ok)return(await G.json()).token_endpoint??null;return null}catch{return null}}var Nk0=w(()=>{uZ1()});class V3{db;vault;constructor(X,Y){this.db=X;this.vault=Y}async get(X){let Y=await this.db.selectFrom("downstream_tokens").selectAll().where("connectionId","=",X).executeTakeFirst();if(!Y)return null;return this.decryptToken(Y)}async upsert(X){let Y=new Date().toISOString(),G=await this.vault.encrypt(X.accessToken),Q=X.refreshToken?await this.vault.encrypt(X.refreshToken):null,J=X.clientSecret?await this.vault.encrypt(X.clientSecret):null;return await this.db.transaction().execute(async(W)=>{let Z=await W.selectFrom("downstream_tokens").select(["id","createdAt"]).where("connectionId","=",X.connectionId).executeTakeFirst();if(Z)return await W.updateTable("downstream_tokens").set({accessToken:G,refreshToken:Q,scope:X.scope,expiresAt:X.expiresAt?.toISOString()??null,clientId:X.clientId,clientSecret:J,tokenEndpoint:X.tokenEndpoint,updatedAt:Y}).where("id","=",Z.id).execute(),{id:Z.id,connectionId:X.connectionId,accessToken:X.accessToken,refreshToken:X.refreshToken,scope:X.scope,expiresAt:X.expiresAt,createdAt:Z.createdAt,updatedAt:Y,clientId:X.clientId,clientSecret:X.clientSecret,tokenEndpoint:X.tokenEndpoint};let $=m7("dtok");return await W.insertInto("downstream_tokens").values({id:$,connectionId:X.connectionId,accessToken:G,refreshToken:Q,scope:X.scope,expiresAt:X.expiresAt?.toISOString()??null,clientId:X.clientId,clientSecret:J,tokenEndpoint:X.tokenEndpoint,createdAt:Y,updatedAt:Y}).execute(),{id:$,connectionId:X.connectionId,accessToken:X.accessToken,refreshToken:X.refreshToken,scope:X.scope,expiresAt:X.expiresAt,createdAt:Y,updatedAt:Y,clientId:X.clientId,clientSecret:X.clientSecret,tokenEndpoint:X.tokenEndpoint}})}async delete(X){await this.db.deleteFrom("downstream_tokens").where("connectionId","=",X).execute()}isExpired(X,Y=0){if(!X.expiresAt)return!1;let Q=(X.expiresAt instanceof Date?X.expiresAt:new Date(X.expiresAt)).getTime();if(Number.isNaN(Q))return!0;return Q-Y<Date.now()}async decryptToken(X){let Y=await this.vault.decrypt(X.accessToken),G=X.refreshToken?await this.vault.decrypt(X.refreshToken):null,Q=X.clientSecret?await this.vault.decrypt(X.clientSecret):null;return{id:X.id,connectionId:X.connectionId,accessToken:Y,refreshToken:G,scope:X.scope,expiresAt:X.expiresAt,createdAt:X.createdAt,updatedAt:X.updatedAt,clientId:X.clientId,clientSecret:Q,tokenEndpoint:X.tokenEndpoint}}}var pR=w(()=>{kH()});function $t9(X){if(!X)return;let Y={};for(let[G,Q]of Object.entries(X))if(Q&&typeof Q==="object"&&!Array.isArray(Q)&&"__binding"in Q){let{__binding:J,...W}=Q;Y[G]=W}else Y[G]=Q;return Y}async function Ok0(X,Y,G){return Y.tracer.startActiveSpan("mesh.connection.build_headers",{attributes:{"connection.id":X.id}},async(Q)=>{try{let J=await Kt9(X,Y,G);return Q.setStatus({code:zk0.SpanStatusCode.OK}),J}catch(J){throw Q.setStatus({code:zk0.SpanStatusCode.ERROR,message:J.message}),Q.recordException(J),J}finally{Q.end()}})}async function Kt9(X,Y,G){let Q=X.id,J=Rj0(X.configuration_state,X.configuration_scopes),W=Y.auth.user,Z=W?.id??Y.auth.apiKey?.userId??(G?X.created_by:void 0),[$,K]=Z?await RT6({sub:Z,user:{id:Z,email:W?.email,name:W?.name,image:W?.image,role:W?.role},metadata:{state:$t9(X.configuration_state),meshUrl:Y.baseUrl,connectionId:Q,organizationId:Y.organization?.id,organizationName:Y.organization?.name,organizationSlug:Y.organization?.slug},permissions:J}).then((O)=>[O,null]).catch((O)=>[null,O]):[null,Error("User ID required to issue configuration token")];if(K)console.error("Failed to issue configuration token:",$);let H=Y.auth.user?.connectionId,U={...H?{"x-caller-id":H}:{},...Y.metadata.wellKnownForwardableHeaders??{},"x-request-id":Y.metadata.requestId},B=null,N=new V3(Y.db,Y.vault),z=await N.get(Q);if(z){let O=!!z.refreshToken&&!!z.tokenEndpoint;if(N.isExpired(z,O?300000:0))if(O){let E=z.tokenEndpoint;if(X.connection_url&&z.tokenEndpoint?.includes("/oauth-proxy/")){let q=await xS1(X.connection_url);if(q)E=q}let P=await PQ1({...z,tokenEndpoint:E});if(P.success&&P.accessToken)await N.upsert({connectionId:Q,accessToken:P.accessToken,refreshToken:P.refreshToken??z.refreshToken,scope:P.scope??z.scope,expiresAt:P.expiresIn?new Date(Date.now()+P.expiresIn*1000):null,clientId:z.clientId,clientSecret:z.clientSecret,tokenEndpoint:E}),B=P.accessToken;else{if(P.permanent===!0)await N.delete(Q);console.error("[Proxy] token refresh failed",{connectionId:Q,status:P.status,errorCode:P.errorCode,permanent:P.permanent===!0,deleted:P.permanent===!0})}}else await N.delete(Q),console.warn(`[Proxy] Token expired for ${Q} with no refresh capability (refreshToken: ${!!z.refreshToken}, tokenEndpoint: ${!!z.tokenEndpoint})`);else B=z.accessToken}if(!B&&X.connection_token)B=X.connection_token;if(B)U.Authorization=`Bearer ${B}`;if($)U["x-mesh-token"]=$;return U}var zk0;var Ey6=w(()=>{Sj0();mM();nM1();Nk0();pR();zk0=X1(x0(),1)});function Py6(X){let Y=new fG1({command:X.command,args:X.args,env:X.env,cwd:X.cwd,stderr:"pipe"}),G=X.name||X.id,Q="\x1B[2m",J="\x1B[0m";return Y.stderr?.on("data",(W)=>{let Z=W.toString().trimEnd();if(Z)console.error(`${Z} \x1B[2m[${G}]\x1B[0m`)}),Y}var qy6=w(()=>{C20()});var Ht9="mcp.mesh",Ys;var Ay6=w(()=>{gH();hR1();Lt();Ys=class Ys extends zt{options;constructor(X,Y){super(X);this.options=Y}toolsListPromise=null;fetchToolsFromServer(){if(!this.toolsListPromise)this.toolsListPromise=new Promise((X)=>{let Y=`auth-tools-${Date.now()}`,G=this.innerTransport.onmessage;this.innerTransport.onmessage=(Q)=>{if("id"in Q&&Q.id===Y)if(this.innerTransport.onmessage=G,this.toolsListPromise=null,"result"in Q){let J=Q.result?.tools??null;X(J)}else X(null);else G?.(Q)},this.innerTransport.send({jsonrpc:"2.0",id:Y,method:"tools/list",params:{}}).catch(()=>{this.innerTransport.onmessage=G,this.toolsListPromise=null,X(null)})});return this.toolsListPromise}async ensureToolsMap(){let X=this.options.cache??UQ(),Y=await IA("tools",this.options.connection.id,async()=>{let G=await this.fetchToolsFromServer();if(G===null)throw Error("Failed to fetch tools list");return G},X,(G)=>this.options.ctx.pendingRevalidations.push(G));if(!Y)return new Map;return new Map(Y.map((G)=>[G.name,G]))}async handleOutgoingMessage(X){if(!this.isRequest(X))return this.innerTransport.send(X);let Y=X;if(Y.method==="tools/call")await this.authorizeToolCall(Y),this.stripMetaFromArguments(Y);return this.innerTransport.send(X)}async authorizeToolCall(X){if(this.options.superUser)return;let G=X.params.name,{ctx:Q,connection:J}=this.options;if(await this.isPublicTool(G))return;if(!Q.auth.user?.id&&!Q.auth.apiKey?.id)throw Error("Authentication required. Please provide a valid OAuth token or API key.");let W=async()=>{return(await this.ensureToolsMap()).get(G)?._meta};await new SR(Q.authInstance,Q.auth.user?.id??Q.auth.apiKey?.userId,G,Q.boundAuth,Q.organization?.role??Q.auth.user?.role,J.id,W,Q.organization?.id).check(G)}async isPublicTool(X){if(X.startsWith("MESH_PUBLIC_"))return!0;let G=(await this.ensureToolsMap()).get(X);if(!G?._meta)return!1;return G._meta[Ht9]?.public_tool===!0}stripMetaFromArguments(X){let Y=X.params;if(Y.arguments&&"_meta"in Y.arguments){let{_meta:G,...Q}=Y.arguments;Y.arguments=Q}}}});class Dk0{patterns=[{type:"email",regex:/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/g},{type:"api_key",regex:/(?:api[_-]?key|token|secret|password|bearer)\s*[:=]\s*['"]?[\w-]{16,}['"]?/gi},{type:"jwt",regex:/eyJ[A-Za-z0-9-_]+\.eyJ[A-Za-z0-9-_]+\.[A-Za-z0-9-_.+/=]*/g},{type:"credit_card",regex:/\b\d{4}[- ]?\d{4}[- ]?\d{4}[- ]?\d{4}\b/g},{type:"ssn",regex:/\b\d{3}-\d{2}-\d{4}\b/g}];redact(X){if(X===null||X===void 0)return X;if(typeof X==="string")return this.redactString(X);if(Array.isArray(X))return X.map((Y)=>this.redact(Y));if(typeof X==="object"){let Y={};for(let[G,Q]of Object.entries(X)){let J=this.redactString(G);Y[J]=this.redact(Q)}return Y}return X}redactString(X){let Y=X;for(let G of this.patterns)Y=Y.replace(G.regex,`[REDACTED:${G.type}]`);return Y}}function mZ1(X,Y){try{if(!X.organizationId)return;let G=wk0.redact(X.toolArguments??{}),Q=wk0.redact(X.result??{}),J=X.errorMessage?wk0.redactString(X.errorMessage):"";lZ1.logs.getLogger("mesh.monitoring","1.0.0").emit({severityNumber:X.isError?lZ1.SeverityNumber.ERROR:lZ1.SeverityNumber.INFO,severityText:X.isError?"ERROR":"INFO",body:X.toolName,attributes:{[R5.TYPE]:X.type??$51,[R5.ORGANIZATION_ID]:X.organizationId,[R5.CONNECTION_ID]:X.connectionId,[R5.CONNECTION_TITLE]:"",[R5.TOOL_NAME]:X.toolName,[R5.INPUT]:U51(JSON.stringify(G)),[R5.OUTPUT]:U51(JSON.stringify(Q)),[R5.IS_ERROR]:X.isError,[R5.ERROR_MESSAGE]:J,[R5.DURATION_MS]:X.duration,[R5.USER_ID]:X.userId||"",[R5.REQUEST_ID]:X.requestId,[R5.USER_AGENT]:X.userAgent||"",[R5.VIRTUAL_MCP_ID]:X.virtualMcpId||"",[R5.PROPERTIES]:X.properties?JSON.stringify(X.properties):""},context:Y})}catch{}}var lZ1,wk0;var hS1=w(()=>{oK();fG0();lZ1=X1(B81(),1),wk0=new Dk0});function Lk0(X){let{ctx:Y,organizationId:G,connectionId:Q,toolName:J,durationMs:W,isError:Z}=X;if(!G||!Q||!J)return;let $={"tool.name":J,"organization.id":G,"connection.id":Q,status:Z?"error":"success","error.type":Z?X.errorType||"Error":""};Y.meter.createHistogram("tool.execution.duration",{description:"Duration of tool executions in milliseconds",unit:"ms"}).record(W,$),Y.meter.createCounter("tool.execution.count",{description:"Number of tool executions"}).add(1,$)}function Ty6(X){if(!X.isError)return;let Y=X.content;if(!Array.isArray(Y))return;for(let G of Y)if(G&&typeof G==="object"&&"type"in G&&G.type==="text"&&"text"in G&&typeof G.text==="string")return G.text;return}function Iy6(X){if(!X)return;let Y=X._meta;if(!Y||typeof Y!=="object"||Array.isArray(Y))return;let G=Y.properties;if(!G||typeof G!=="object"||Array.isArray(G))return;let Q={};for(let[J,W]of Object.entries(G))if(typeof W==="string")Q[J]=W;return Object.keys(Q).length>0?Q:void 0}function Vy6(X,Y){if(!X&&!Y)return;if(!X)return Y;if(!Y)return X;return{...Y,...X}}var jy6=w(()=>{q7();hS1();oK()});var dZ1,Gs;var My6=w(()=>{Lt();hS1();jy6();dZ1=X1(x0(),1);Gs=class Gs extends zt{options;inflightRequests=new Map;requestContext;constructor(X,Y){super(X);this.options=Y;this.requestContext=dZ1.context.active()}async handleOutgoingMessage(X){if(this.isRequest(X)){let Y=X;this.onRequestStart(Y)}return this.innerTransport.send(X)}handleIncomingMessage(X){if(this.isResponse(X)){let Y=X;this.onResponseEnd(Y)}this.onmessage?.(X)}onRequestStart(X){let{ctx:Y,connectionId:G}=this.options,Q,J;if(X.method==="tools/call"&&X.params){let Z=X.params;Q=Z.name,J=Z.arguments}let W;if(X.method==="tools/call"&&Q)W=Y.tracer.startSpan("mcp.proxy.callTool",{attributes:{"connection.id":G,"tool.name":Q,"request.id":Y.metadata.requestId,"jsonrpc.id":X.id,"jsonrpc.method":X.method}},this.requestContext);if(X.id!==null&&X.id!==void 0)this.inflightRequests.set(X.id,{startTime:Date.now(),method:X.method,toolName:Q,toolArguments:J,span:W})}onResponseEnd(X){if(X.id===null||X.id===void 0)return;let Y=this.inflightRequests.get(X.id);if(!Y)return;let{ctx:G,connectionId:Q}=this.options,{startTime:J,method:W,toolName:Z,toolArguments:$,span:K}=Y,H=Date.now()-J;if(this.inflightRequests.delete(X.id),W!=="tools/call"||!Z)return;let U=G.organization?.id??"",B="error"in X,N=B?X.error:X.result,z=B?{content:[{type:"text",text:X.error?.message||"Unknown error"}],isError:!0}:N;if(G.meter.createHistogram("connection.proxy.duration").record(H,{"connection.id":Q,"organization.id":U,"tool.name":Z,status:B?"error":"success"}),B)G.meter.createCounter("connection.proxy.errors").add(1,{"connection.id":Q,"organization.id":U,"tool.name":Z,error:X.error?.message});else G.meter.createCounter("connection.proxy.requests").add(1,{"connection.id":Q,"organization.id":U,"tool.name":Z,status:"success"});if(U)Lk0({ctx:G,organizationId:U,connectionId:Q,toolName:Z,durationMs:H,isError:B,errorType:B?"RemoteError":""});if(K){if(B&&X.error)K.recordException(Error(X.error.message));let O=Iy6($),D=Vy6(G.metadata.properties,O),E=dZ1.trace.setSpan(dZ1.context.active(),K);mZ1({organizationId:G.organization?.id??"",connectionId:Q,toolName:Z,toolArguments:$,result:z,duration:H,isError:Boolean(B),errorMessage:Ty6(z)||null,userId:G.auth.user?.id||G.auth.apiKey?.userId||null,requestId:G.metadata.requestId,userAgent:G.metadata.userAgent||null,virtualMcpId:this.options.virtualMcpId||null,properties:D||null},E),K.end()}}async close(){for(let X of this.inflightRequests.values())if(X.span)X.span.setAttributes({"transport.closed":!0}),X.span.end();return this.inflightRequests.clear(),super.close()}}});var Ry6=w(()=>{Lt();Ay6();My6()});async function Sy6(X,Y,G=!1){let Q=X.id,J=Y.connectionId&&Y.connectionId!==Q?Y.connectionId:void 0;switch(X.connection_type){case"STDIO":{if(!u4().localMode)throw Error("STDIO connections are only available in local mode (--local-mode).");let W=X.connection_headers;if(!aN(W))throw Error("STDIO connection missing parameters");let Z=Py6({id:Q,name:X.title,command:W.command,args:W.args,env:W.envVars,cwd:W.cwd});return Z=Ot(Z,($)=>new Ys($,{ctx:Y,connection:X,superUser:G}),($)=>new Gs($,{ctx:Y,connectionId:Q,virtualMcpId:J})),Ft9(Z,Q)}case"HTTP":case"Websocket":{if(!X.connection_url)throw Error(`${X.connection_type} connection missing URL`);let W=await Ok0(X,Y,G),Z=X.connection_headers;if(Z&&"headers"in Z)Object.assign(W,Z.headers);let $=new nN(new URL(X.connection_url),{requestInit:{headers:W}});return $=Ot($,(K)=>new Ys(K,{ctx:Y,connection:X,superUser:G}),(K)=>new Gs(K,{ctx:Y,connectionId:Q,virtualMcpId:J})),Y.getOrCreateClient($,Q)}case"SSE":{if(!X.connection_url)throw Error("SSE connection missing URL");let W=await Ok0(X,Y,G),Z=X.connection_headers;if(Z&&"headers"in Z)Object.assign(W,Z.headers);let $=new Xw(new URL(X.connection_url),{requestInit:{headers:W}});return $=Ot($,(K)=>new Ys(K,{ctx:Y,connection:X,superUser:G}),(K)=>new Gs(K,{ctx:Y,connectionId:Q,virtualMcpId:J})),Y.getOrCreateClient($,Q)}default:throw Error(`Unknown connection type: ${X.connection_type}`)}}var Ft9;var ky6=w(()=>{l9();cw();d71();Ut();Ey6();cR1();qy6();Ry6();Ft9=Co()});function gS1(X){return X.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")}function Ek0(X){if(X&&typeof X==="object"&&"gatewayClientId"in X&&typeof X.gatewayClientId==="string")return X.gatewayClientId;return}function Pk0(X,Y){if(!Y)return X;let G=`${gS1(Y)}_`;return X.startsWith(G)?X.slice(G.length):X}function Ut9(X){return X.split(/[-_]/).map((Y)=>Y?Y.charAt(0).toUpperCase()+Y.slice(1):Y).join(" ")}var uS1;var Cy6=w(()=>{iN();uS1=class uS1 extends uY{clients;slugToKey=new Map;resolvedClients=new Map;toolsCache=null;resourcesCache=null;resourceTemplatesCache=null;promptsCache=null;resourceRouteMap=new Map;constructor(X,Y){super(Y?.clientInfo??{name:"gateway-client",version:"1.0.0"},{capabilities:Y?.capabilities});this.clients=X;for(let G of Object.keys(X)){let Q=gS1(G);if(this.slugToKey.has(Q))throw Error(`GatewayClient: duplicate slug "${Q}" from keys "${this.slugToKey.get(Q)}" and "${G}"`);this.slugToKey.set(Q,G)}}namespace(X,Y){return`${gS1(X)}_${Y}`}async resolveToolTarget(X){let Y=X.indexOf("_");if(Y!==-1){let Q=X.slice(0,Y),J=this.slugToKey.get(Q);if(J)return[J,X.slice(Y+1)]}let{tools:G}=await this.listTools();for(let Q of G){let J=Ek0(Q._meta);if(!J)continue;if(Pk0(Q.name,J)===X)return[J,X]}if(Y===-1)throw Error(`GatewayClient: could not resolve tool "${X}" \u2014 no namespace prefix and not found in any client`);throw Error(`GatewayClient: unknown namespace "${X.slice(0,Y)}" in "${X}" and not found by original name in any client`)}async resolvePromptTarget(X){let Y=X.indexOf("_");if(Y!==-1){let Q=X.slice(0,Y),J=this.slugToKey.get(Q);if(J)return[J,X.slice(Y+1)]}let{prompts:G}=await this.listPrompts();for(let Q of G){let J=Ek0(Q._meta);if(!J)continue;if(Pk0(Q.name,J)===X)return[J,X]}if(Y===-1)throw Error(`GatewayClient: could not resolve prompt "${X}" \u2014 no namespace prefix and not found in any client`);throw Error(`GatewayClient: unknown namespace "${X.slice(0,Y)}" in "${X}" and not found by original name in any client`)}resolveClient(X){let Y=this.resolvedClients.get(X);if(Y)return Y;let G=this.clients[X];if(!G)return Promise.reject(Error(`GatewayClient: unknown client key "${X}"`));let Q=G.client,W=(typeof Q==="function"?Promise.resolve(Q()):Promise.resolve(Q)).catch((Z)=>{throw this.resolvedClients.delete(X),Z});return this.resolvedClients.set(X,W),W}getResolvedClient(X){return this.resolveClient(X)}async fetchAllTools(X){let Y=[],G;do{let Q=await X.listTools(G?{cursor:G}:void 0);Y.push(...Q.tools),G=Q.nextCursor}while(G);return Y}async fetchAllResources(X){let Y=[],G;do{let Q=await X.listResources(G?{cursor:G}:void 0);Y.push(...Q.resources),G=Q.nextCursor}while(G);return Y}async fetchAllResourceTemplates(X){let Y=[],G;do{let Q=await X.listResourceTemplates(G?{cursor:G}:void 0);Y.push(...Q.resourceTemplates),G=Q.nextCursor}while(G);return Y}async fetchAllPrompts(X){let Y=[],G;do{let Q=await X.listPrompts(G?{cursor:G}:void 0);Y.push(...Q.prompts),G=Q.nextCursor}while(G);return Y}listTools(X,Y){if(!this.toolsCache)this.toolsCache=this.aggregateTools();return this.toolsCache}async aggregateTools(){let X=[];for(let[Y,G]of Object.entries(this.clients)){let Q=await this.resolveClient(Y),J=await this.fetchAllTools(Q),W=G.tools,Z=W?new Set(W):null;for(let $ of J){if(Z&&!Z.has($.name))continue;X.push({...$,name:this.namespace(Y,$.name),_meta:{...$._meta??{},gatewayClientId:Y}})}}return{tools:X}}listResources(X,Y){if(!this.resourcesCache)this.resourcesCache=this.aggregateResources();return this.resourcesCache}async aggregateResources(){let X=new Set,Y=[],G=new Map;for(let[Q,J]of Object.entries(this.clients)){let W=await this.resolveClient(Q),Z=await this.fetchAllResources(W),$=J.resources,K=$?new Set($):null;for(let H of Z){if(K&&!K.has(H.uri)&&!(H.name&&K.has(H.name)))continue;if(X.has(H.uri)){console.warn(`GatewayClient: duplicate resource "${H.uri}" from client "${Q}" \u2014 skipping`);continue}X.add(H.uri),G.set(H.uri,Q),Y.push({...H,_meta:{...H._meta??{},gatewayClientId:Q}})}}return this.resourceRouteMap=G,{resources:Y}}listResourceTemplates(X,Y){if(!this.resourceTemplatesCache)this.resourceTemplatesCache=this.aggregateResourceTemplates();return this.resourceTemplatesCache}async aggregateResourceTemplates(){let X=new Set,Y=[];for(let[G,Q]of Object.entries(this.clients)){let J=await this.resolveClient(G),W=await this.fetchAllResourceTemplates(J);for(let Z of W){if(X.has(Z.uriTemplate)){console.warn(`GatewayClient: duplicate resource template "${Z.uriTemplate}" from client "${G}" \u2014 skipping`);continue}X.add(Z.uriTemplate),Y.push({...Z,_meta:{...Z._meta??{},gatewayClientId:G}})}}return{resourceTemplates:Y}}listPrompts(X,Y){if(!this.promptsCache)this.promptsCache=this.aggregatePrompts();return this.promptsCache}async aggregatePrompts(){let X=[];for(let[Y,G]of Object.entries(this.clients)){let Q=await this.resolveClient(Y),J=await this.fetchAllPrompts(Q),W=G.prompts,Z=W?new Set(W):null;for(let $ of J){if(Z&&!Z.has($.name))continue;X.push({...$,name:this.namespace(Y,$.name),title:$.title??Ut9($.name),_meta:{...$._meta??{},gatewayClientId:Y}})}}return{prompts:X}}async callTool(X,Y,G){let[Q,J]=await this.resolveToolTarget(X.name);return(await this.resolveClient(Q)).callTool({...X,name:J},Y,G)}async readResource(X,Y){let G=await this.resolveResourceRoute(X.uri);return(await this.resolveClient(G)).readResource(X)}async getPrompt(X,Y){let[G,Q]=await this.resolvePromptTarget(X.name);return(await this.resolveClient(G)).getPrompt({...X,name:Q})}async resolveResourceRoute(X){let Y=this.resourceRouteMap.get(X);if(Y)return Y;if(this.resourcesCache=null,await this.listResources(),Y=this.resourceRouteMap.get(X),Y)return Y;throw Error(`GatewayClient: resource "${X}" not found in any upstream client`)}getServerCapabilities(){return{tools:{},resources:{},prompts:{}}}getInstructions(){return}refresh(){this.toolsCache=null,this.resourcesCache=null,this.resourceTemplatesCache=null,this.promptsCache=null}async close(){let X=[...this.resolvedClients.values()].map((Y)=>Y.then((G)=>G.close()).catch(()=>{}));await Promise.allSettled(X),await super.close()}}});var vy6=w(()=>{Cy6()});var qk0;var _y6=w(()=>{vy6();gR1();qk0=class qk0 extends uS1{options;ctx;constructor(X,Y){let G=new Map(X.virtualMcp.connections.map((J)=>[J.connection_id,J])),Q={};for(let J of X.connections){let W=G.get(J.id);Q[J.id]={client:()=>So(J,Y,X.superUser??!1,X.mcpListCache),...W?.selected_tools!=null?{tools:W.selected_tools}:{},...W?.selected_resources!=null?{resources:W.selected_resources}:{},...W?.selected_prompts!=null?{prompts:W.selected_prompts}:{}}}super(Q,{clientInfo:{name:"virtual-mcp-passthrough",version:"1.0.0"},capabilities:{tasks:{list:{},cancel:{},requests:{tool:{call:{}}}}}});this.options=X;this.ctx=Y}async[Symbol.asyncDispose](){await this.close()}getInstructions(){return this.options.virtualMcp.metadata?.instructions??void 0}getConnectionTitleMap(){return new Map(this.options.connections.map((X)=>[X.id,X.title]))}}});function Bt9(X,Y){if(X.connection_type!=="VIRTUAL")return!1;if(!Y||tN(Y))return!1;return X.id===Y}async function fy6(X,Y,G=!1){let Q=X.id,J=await Y.storage.virtualMcps.findById(Q);if(!J)throw Error(`Virtual MCP not found: ${Q}`);return nR(J,Y,"passthrough",G)}async function nR(X,Y,G,Q=!1,J){let W=X.connections.map((H)=>H.connection_id),K={connections:(await Y.tracer.startActiveSpan("mesh.virtual_mcp.load_connections",{attributes:{"virtual_mcp.id":X.id??"decopilot","virtual_mcp.connection_count":W.length}},async(H)=>{try{let U=await Promise.all(W.map((B)=>Y.storage.connections.findById(B)));return H.setStatus({code:Ak0.SpanStatusCode.OK}),U}catch(U){throw H.setStatus({code:Ak0.SpanStatusCode.ERROR,message:U.message}),H.recordException(U),U}finally{H.end()}})).filter((H)=>H!==null&&H.status==="active"&&!Bt9(H,X.id)),virtualMcp:X,superUser:Q,mcpListCache:UQ()??void 0,listTimeoutMs:J?.listTimeoutMs};return new qk0(K,Y)}var Ak0;var cZ1=w(()=>{q7();gH();_y6();Ak0=X1(x0(),1)});async function fW(X,Y,G=!1){if(X.connection_type==="VIRTUAL")return fy6(X,Y,G);return Sy6(X,Y,G)}var sM0=w(()=>{ky6();cZ1()});function lS1(X){return(Y)=>{if(Y instanceof D4&&Y.code===j4.MethodNotFound)return X;throw Y}}var by6=w(()=>{eX()});function Tk0(X,Y,G){let Q=So(X,Y,G,UQ()??void 0),J=sD(Q,{name:"mcp-mesh-enhanced",version:"1.0.0"},{capabilities:Nt9,toolCallTimeoutMs:nA});return J.server.setRequestHandler(Qq,async()=>{return await Q.listResources().catch(lS1({resources:[]}))}),J.server.setRequestHandler(Jq,async()=>{return await Q.listResourceTemplates().catch(lS1({resourceTemplates:[]}))}),J.server.setRequestHandler(Zq,async()=>{return await Q.listPrompts().catch(lS1({prompts:[]}))}),J}var Nt9;var yy6=w(()=>{q7();eX();gR1();gH();by6();Nt9={tools:{},resources:{},prompts:{}}});var Qs=w(()=>{sM0();yy6()});var zt9,Ot9,Dt9,wt9,Ik0;var xy6=w(()=>{LQ1();yM6();EW();lM6();dM6();GG1();Pj();iM6();q7();K0();h0();lw();gH();Qs();Zr();cw();L20();zt9=[{name:/^(COLLECTION_REGISTRY_APP_LIST|REGISTRY_ITEM_LIST)$/,inputSchema:F.object({})}],Ot9={LLM:cM1,LLMS:cM1,ASSISTANTS:bM6,MCP:mM6,OBJECT_STORAGE:MM,WORKFLOW:eF0,WORKFLOW_EXECUTION:qn4,AI_GATEWAY_BILLING:cM6,EVENT_BUS:hM1,TRIGGER:gM1,REGISTRY:zt9,BRAND:dM1},Dt9=LU.extend({binding:F.union([F.array(F.object({}).passthrough()),F.object({}).passthrough(),F.string()]).optional(),include_virtual:F.boolean().optional().describe("Whether to include VIRTUAL connections in the results. Defaults to false."),slug:F.string().optional().describe("Filter by connection slug. Matches against app_name, or a slug derived from connection_url or title.")}),wt9=Gw(W3),Ik0=m1({name:"COLLECTION_CONNECTIONS_LIST",description:"List all connections in the organization with filtering, sorting, and pagination",annotations:{title:"List Connections",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:Dt9,outputSchema:wt9,handler:async(X,Y)=>{await Y.access.check();let G=s1(Y),Q=X.binding?typeof X.binding==="string"?(()=>{let B=Ot9[X.binding.toUpperCase()];if(!B)throw Error(`Unknown binding: ${X.binding}`);return B})():X.binding:void 0,J=Q?Rq1(Q):void 0,W=!!J,Z=X.limit??100,$=X.offset??0,{items:K,totalCount:H}=await Y.storage.connections.list(G.id,{includeVirtual:X.include_virtual??!1,slug:X.slug,where:X.where,orderBy:X.orderBy,limit:W?void 0:Z,offset:W?void 0:$});if(J){let B=UQ(),N=P7.SELF(G.id);await Promise.all(K.map(async(z)=>{if(z.tools!==null)return;let O=z.id===N?async()=>{let{listManagementTools:E}=await Promise.resolve().then(() => (Js(),mS1));return E(Y)}:async()=>{let E=await fW(z,Y,!0);try{return(await E.listTools()).tools}finally{await E.close().catch(()=>{})}},D=await IA("tools",z.id,O,B);if(D!==null)z.tools=D}))}if(fU()){let B=t$(),N=P7.DEV_ASSETS(G.id);if(!K.some((z)=>z.id===N)){let z=Jr(G.id,B);if(!X.slug||CG1(z)===X.slug)K.unshift(z)}}if(W){let B=(await Promise.all(K.map(async(D)=>{if(!D.tools||D.tools.length===0)return null;return J.isImplementedBy(D.tools.map((P)=>({name:P.name,inputSchema:P.inputSchema,outputSchema:P.outputSchema})))?D:null}))).filter((D)=>D!==null),N=B.length,z=B.slice($,$+Z),O=$+Z<N;return{items:z,totalCount:N,hasMore:O}}let U=$+Z<H;return{items:K,totalCount:H,hasMore:U}}})});var Lt9,Vk0;var hy6=w(()=>{EW();q7();h0();lw();gH();Qs();Zr();cw();Lt9=i71(W3),Vk0=m1({name:"COLLECTION_CONNECTIONS_GET",description:"Get a connection's configuration, tools list, and status by ID.",annotations:{title:"Get Connection",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},_meta:{ui:{visibility:["app"]}},inputSchema:c71,outputSchema:Lt9,handler:async(X,Y)=>{let G=s1(Y);if(await Y.access.check(),fU()&&vV1(X.id,G.id))return{item:Jr(G.id,t$())};let Q=await Y.storage.connections.findById(X.id);if(!Q||Q.organization_id!==G.id)return{item:null};if(Q.tools===null){let J=P7.SELF(G.id),W=Q.id===J?async()=>{let{listManagementTools:$}=await Promise.resolve().then(() => (Js(),mS1));return $(Y)}:async()=>{let $=await fW(Q,Y,!0);try{return(await $.listTools()).tools}finally{await $.close().catch(()=>{})}},Z=await IA("tools",Q.id,W,UQ(),($)=>Y.pendingRevalidations.push($));if(Z!==null)Q.tools=Z}return{item:Q}}})});function gy6(X,Y,G){if(Y.some((Q)=>Q!=="*"&&Q.startsWith("SELF::"))&&X.SELF===void 0)X.SELF={value:`${G}_self`}}async function qt9(X,Y,G,Q){for(let W of Y){if(W==="*")continue;let[Z]=pM6(W),$=iM1(Z,X);if($===void 0||$===null)throw Error(`Scope references key "${Z}" but it's not present in state`)}let J=nM6(X,Y);for(let W of J){if(W.endsWith("_self"))continue;let Z=await Q.storage.connections.findById(W);if(!Z||Z.organization_id!==G)throw Error(`Referenced connection not found: ${W}`);try{await Q.access.check(W)}catch($){throw Error(`Access denied to referenced connection: ${W}. ${$.message}`)}}}var Et9,Pt9,jk0;var uy6=w(()=>{Sj0();Qs();pR();K0();h0();gH();bG1();cw();Et9=F.object({id:F.string().describe("ID of the connection to update"),data:R71.describe("Partial connection data to update")}),Pt9=F.object({item:W3.describe("The updated connection entity")});jk0=m1({name:"COLLECTION_CONNECTIONS_UPDATE",description:"Update a connection's configuration. Re-fetches tools from the server on URL change.",annotations:{title:"Update Connection",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:Et9,outputSchema:Pt9,handler:async(X,Y)=>{N0(Y);let G=s1(Y);await Y.access.check();let Q=H6(Y);if(!Q)throw Error("User ID required to update connection");let{id:J,data:W}=X,Z=await Y.storage.connections.findById(J);if(!Z||Z.organization_id!==G.id)throw Error("Connection not found in organization");let $=W.connection_type??Z.connection_type,K=W.connection_url??Z.connection_url;if($==="VIRTUAL"){let E=zj(K);if(!E)throw Error("VIRTUAL connection requires connection_url in format: virtual://$virtual_mcp_id");let P=await Y.storage.virtualMcps.findById(E);if(!P)throw Error(`Virtual MCP not found: ${E}`);if(P.organization_id!==G.id)throw Error("Virtual MCP does not belong to the current organization");K=Oj(E)}let H=W.configuration_state??Z.configuration_state??{},U=W.configuration_scopes??Z.configuration_scopes??[];if(W.configuration_state!==void 0||W.configuration_scopes!==void 0){if(W.configuration_state!==void 0)H=W.configuration_state??{};else if(H===null||H===void 0)H={};if(W.configuration_scopes!==void 0)U=W.configuration_scopes??[];if(U.length>0){let E=H;gy6(E,U,G.id),await qt9(E,U,G.id,Y)}}let B=W.connection_token??Z.connection_token;if(!B)try{let P=await new V3(Y.db,Y.vault).get(J);if(P?.accessToken)B=P.accessToken}catch{}let N=await UA({id:Z.id,title:W.title??Z.title,connection_type:$,connection_url:K,connection_token:B,connection_headers:W.connection_headers??Z.connection_headers}).catch(()=>null),z=N?.tools?.length?N.tools:null;if(W.configuration_scopes===void 0&&N?.scopes?.length)U=N.scopes;gy6(H,U,G.id);let O={...W,connection_url:K,tools:null,configuration_state:H,configuration_scopes:U,updated_by:Q},D=await Y.storage.connections.update(J,O);if(z)UQ()?.set("tools",J,z).catch(()=>{});if((W.configuration_state!==void 0||W.configuration_scopes!==void 0)&&H&&U)try{await(await fW(D,Y,!1)).callTool({name:"ON_MCP_CONFIGURATION",arguments:{state:H,scopes:U}})}catch(E){console.error("Failed to invoke ON_MCP_CONFIGURATION callback",E)}return{item:D}}})});var At9,Mk0;var ly6=w(()=>{EW();K0();CX();h0();gH();cw();At9=p71.extend({force:F.boolean().optional().describe("If true, removes this connection from all agents that reference it before deleting")}),Mk0=m1({name:"COLLECTION_CONNECTIONS_DELETE",description:"Permanently delete a connection. Set force=true to auto-remove from referencing Virtual MCPs.",annotations:{title:"Delete Connection",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:At9,outputSchema:n71(W3),handler:async(X,Y)=>{N0(Y);let G=s1(Y);await Y.access.check();let Q=await Y.storage.connections.findById(X.id);if(!Q)throw Error(`Connection not found: ${X.id}`);if(Q.organization_id!==G.id)throw Error("Connection not found in organization");if(Q.metadata?.isFixed===!0)throw Error("This connection is a fixed system connection and cannot be deleted");let W=await Y.storage.virtualMcps.listByConnectionId(G.id,X.id);if(W.length>0)if(X.force)await Y.storage.virtualMcps.removeConnectionReferences(X.id);else throw Error(JSON.stringify({code:"CONNECTION_IN_USE",agentNames:W.map((K)=>K.title)}));await Y.storage.connections.delete(X.id);let Z=await Y.storage.organizationSettings.get(G.id);if(Z?.registry_config){let{registries:K,blockedMcps:H}=Z.registry_config;if(X.id in K){let{[X.id]:U,...B}=K;await Y.storage.organizationSettings.upsert(G.id,{registry_config:{registries:B,blockedMcps:H}})}}UQ()?.invalidate(X.id).catch(()=>{});let $=H6(Y);if($)M6.capture({distinctId:$,event:"connection_deleted",groups:{organization:G.id},properties:{connection_id:Q.id,connection_type:Q.connection_type,app_name:Q.app_name??null,organization_id:G.id,forced:X.force??!1}});return{item:Q}}})});var Rk0;var my6=w(()=>{K0();h0();Rk0=m1({name:"CONNECTION_TEST",description:"Test connection health and latency",annotations:{title:"Test Connection",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!0},inputSchema:F.object({id:F.string()}),outputSchema:F.object({id:F.string(),healthy:F.boolean(),latencyMs:F.number()}),handler:async(X,Y)=>{let G=s1(Y);await Y.access.check();let Q=await Y.storage.connections.findById(X.id);if(!Q||Q.organization_id!==G.id)throw Error("Connection not found");let J=await Y.storage.connections.testConnection(X.id);return{id:X.id,...J}}})});var dy6=w(()=>{DM6();xy6();hy6();uy6();ly6();my6()});function cy6(X){if(X===null||X===void 0)return"NULL";if(typeof X==="number")return String(X);if(typeof X==="boolean")return X?"TRUE":"FALSE";if(typeof X==="string")return`'${X.replace(/'/g,"''")}'`;if(X instanceof Date)return`'${X.toISOString()}'`;return`'${JSON.stringify(X).replace(/'/g,"''")}'`}function Vt9(X,Y){let G=X;for(let J=Y.length;J>=1;J--){let W=`$${J}`;if(G.includes(W))G=G.replaceAll(W,cy6(Y[J-1]))}let Q=[];for(let J=0;J<G.length;J++)if(G[J]==="?")Q.push(J);for(let J=Math.min(Q.length,Y.length)-1;J>=0;J--){let W=Q[J],Z=cy6(Y[J]);G=G.slice(0,W)+Z+G.slice(W+1)}return G}function iy6(X){return X.replace(/-/g,"_")}function Mt9(X){return`app_${iy6(X)}`}function Rt9(X){return`app_role_${iy6(X)}`}function St9(X){if(X instanceof Error){let Y=X.message.toLowerCase(),G=X.code;return G==="3F000"||G==="42704"||G==="22023"||Y.includes("schema")&&Y.includes("does not exist")||Y.includes("role")&&Y.includes("does not exist")}return!1}async function kt9(X,Y,G){if(await B1`CREATE SCHEMA IF NOT EXISTS ${B1.id(Y)}`.execute(X),!(await B1`
2367
+ ${Y}:`]}}function _b6({id:X,model:Y,created:G}){return{id:X!=null?X:void 0,modelId:Y!=null?Y:void 0,timestamp:G!=null?new Date(G*1000):void 0}}function fb6(X){switch(X){case"stop":return"stop";case"length":return"length";case"content_filter":return"content-filter";case"function_call":case"tool_calls":return"tool-calls";default:return"other"}}function wp9(X){return Dp9.some((Y)=>X.startsWith(Y))}function xb6(X,Y,G){if(X==null)return{};let Q={};if(X.image_tokens!=null){let J=Math.floor(X.image_tokens/G),W=X.image_tokens-J*(G-1);Q.imageTokens=Y===G-1?W:J}if(X.text_tokens!=null){let J=Math.floor(X.text_tokens/G),W=X.text_tokens-J*(G-1);Q.textTokens=Y===G-1?W:J}return Q}async function Ep9(X){if(!X)return;if(X.type==="url")return FR0(X.url);let Y=X.data instanceof Uint8Array?X.data:PG(X.data);return new Blob([Y],{type:X.mediaType})}function hb6(X){var Y,G,Q,J;if(X==null)return{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};let{input_tokens:W,output_tokens:Z}=X,$=(G=(Y=X.input_tokens_details)==null?void 0:Y.cached_tokens)!=null?G:0,K=(J=(Q=X.output_tokens_details)==null?void 0:Q.reasoning_tokens)!=null?J:0;return{inputTokens:{total:W,noCache:W-$,cacheRead:$,cacheWrite:void 0},outputTokens:{total:Z,text:Z-K,reasoning:K},raw:X}}function $n9(X){return JSON.stringify(X===void 0?{}:X)}function gb6(X,Y){if(!Y)return!1;return Y.some((G)=>X.startsWith(G))}async function Kn9({prompt:X,toolNameMapping:Y,systemMessageMode:G,providerOptionsName:Q,fileIdPrefixes:J,store:W,hasConversation:Z=!1,hasLocalShellTool:$=!1,hasShellTool:K=!1,hasApplyPatchTool:H=!1,customProviderToolNames:U}){var B,N,z,O,D,E,P,q,j,M,I,R,C,_,v,y,h;let d=[],i=[],f=new Set;for(let{role:u,content:a}of X)switch(u){case"system":{switch(G){case"system":{d.push({role:"system",content:a});break}case"developer":{d.push({role:"developer",content:a});break}case"remove":{i.push({type:"other",message:"system messages are removed for this model"});break}default:throw Error(`Unsupported system message mode: ${G}`)}break}case"user":{d.push({role:"user",content:a.map((r,U1)=>{var w1,$1,O1;switch(r.type){case"text":return{type:"input_text",text:r.text};case"file":if(r.mediaType.startsWith("image/")){let v1=r.mediaType==="image/*"?"image/jpeg":r.mediaType;return{type:"input_image",...r.data instanceof URL?{image_url:r.data.toString()}:typeof r.data==="string"&&gb6(r.data,J)?{file_id:r.data}:{image_url:`data:${v1};base64,${KZ(r.data)}`},detail:($1=(w1=r.providerOptions)==null?void 0:w1[Q])==null?void 0:$1.imageDetail}}else if(r.mediaType==="application/pdf"){if(r.data instanceof URL)return{type:"input_file",file_url:r.data.toString()};return{type:"input_file",...typeof r.data==="string"&&gb6(r.data,J)?{file_id:r.data}:{filename:(O1=r.filename)!=null?O1:`part-${U1}.pdf`,file_data:`data:application/pdf;base64,${KZ(r.data)}`}}}else throw new I5({functionality:`file part media type ${r.mediaType}`})}})});break}case"assistant":{let r={};for(let U1 of a)switch(U1.type){case"text":{let w1=(B=U1.providerOptions)==null?void 0:B[Q],$1=w1==null?void 0:w1.itemId,O1=w1==null?void 0:w1.phase;if(Z&&$1!=null)break;if(W&&$1!=null){d.push({type:"item_reference",id:$1});break}d.push({role:"assistant",content:[{type:"output_text",text:U1.text}],id:$1,...O1!=null&&{phase:O1}});break}case"tool-call":{let w1=(E=(z=(N=U1.providerOptions)==null?void 0:N[Q])==null?void 0:z.itemId)!=null?E:(D=(O=U1.providerMetadata)==null?void 0:O[Q])==null?void 0:D.itemId;if(Z&&w1!=null)break;let $1=Y.toProviderToolName(U1.toolName);if($1==="tool_search"){if(W&&w1!=null){d.push({type:"item_reference",id:w1});break}let O1=typeof U1.input==="string"?await NR0({text:U1.input,schema:eS0}):await L8({value:U1.input,schema:eS0}),v1=O1.call_id!=null?"client":"server";d.push({type:"tool_search_call",id:w1!=null?w1:U1.toolCallId,execution:v1,call_id:(P=O1.call_id)!=null?P:null,status:"completed",arguments:O1.arguments});break}if(U1.providerExecuted){if(W&&w1!=null)d.push({type:"item_reference",id:w1});break}if(W&&w1!=null){d.push({type:"item_reference",id:w1});break}if($&&$1==="local_shell"){let O1=await L8({value:U1.input,schema:rb6});d.push({type:"local_shell_call",call_id:U1.toolCallId,id:w1,action:{type:"exec",command:O1.action.command,timeout_ms:O1.action.timeoutMs,user:O1.action.user,working_directory:O1.action.workingDirectory,env:O1.action.env}});break}if(K&&$1==="shell"){let O1=await L8({value:U1.input,schema:sb6});d.push({type:"shell_call",call_id:U1.toolCallId,id:w1,status:"completed",action:{commands:O1.action.commands,timeout_ms:O1.action.timeoutMs,max_output_length:O1.action.maxOutputLength}});break}if(H&&$1==="apply_patch"){let O1=await L8({value:U1.input,schema:pb6});d.push({type:"apply_patch_call",call_id:O1.callId,id:w1,status:"completed",operation:O1.operation});break}if(U==null?void 0:U.has($1)){d.push({type:"custom_tool_call",call_id:U1.toolCallId,name:$1,input:typeof U1.input==="string"?U1.input:JSON.stringify(U1.input),id:w1});break}d.push({type:"function_call",call_id:U1.toolCallId,name:$1,arguments:$n9(U1.input),id:w1});break}case"tool-result":{if(U1.output.type==="execution-denied"||U1.output.type==="json"&&typeof U1.output.value==="object"&&U1.output.value!=null&&"type"in U1.output.value&&U1.output.value.type==="execution-denied")break;if(Z)break;let w1=Y.toProviderToolName(U1.toolName);if(w1==="tool_search"){let $1=(M=(j=(q=U1.providerOptions)==null?void 0:q[Q])==null?void 0:j.itemId)!=null?M:U1.toolCallId;if(W)d.push({type:"item_reference",id:$1});else if(U1.output.type==="json"){let O1=await L8({value:U1.output.value,schema:Xk0});d.push({type:"tool_search_output",id:$1,execution:"server",call_id:null,status:"completed",tools:O1.tools})}break}if(K&&w1==="shell"){if(U1.output.type==="json"){let $1=await L8({value:U1.output.value,schema:sS0});d.push({type:"shell_call_output",call_id:U1.toolCallId,output:$1.output.map((O1)=>({stdout:O1.stdout,stderr:O1.stderr,outcome:O1.outcome.type==="timeout"?{type:"timeout"}:{type:"exit",exit_code:O1.outcome.exitCode}}))})}break}if(W){let $1=(C=(R=(I=U1.providerOptions)==null?void 0:I[Q])==null?void 0:R.itemId)!=null?C:U1.toolCallId;d.push({type:"item_reference",id:$1})}else i.push({type:"other",message:`Results for OpenAI tool ${U1.toolName} are not sent to the API when store is false`});break}case"reasoning":{let w1=await f5({provider:Q,providerOptions:U1.providerOptions,schema:Hn9}),$1=w1==null?void 0:w1.itemId;if(Z&&$1!=null)break;if($1!=null){let O1=r[$1];if(W){if(O1===void 0)d.push({type:"item_reference",id:$1}),r[$1]={type:"reasoning",id:$1,summary:[]}}else{let v1=[];if(U1.text.length>0)v1.push({type:"summary_text",text:U1.text});else if(O1!==void 0)i.push({type:"other",message:`Cannot append empty reasoning part to existing reasoning sequence. Skipping reasoning part: ${JSON.stringify(U1)}.`});if(O1===void 0)r[$1]={type:"reasoning",id:$1,encrypted_content:w1==null?void 0:w1.reasoningEncryptedContent,summary:v1},d.push(r[$1]);else if(O1.summary.push(...v1),(w1==null?void 0:w1.reasoningEncryptedContent)!=null)O1.encrypted_content=w1.reasoningEncryptedContent}}else{let O1=w1==null?void 0:w1.reasoningEncryptedContent;if(O1!=null){let v1=[];if(U1.text.length>0)v1.push({type:"summary_text",text:U1.text});d.push({type:"reasoning",encrypted_content:O1,summary:v1})}else i.push({type:"other",message:`Non-OpenAI reasoning parts are not supported. Skipping reasoning part: ${JSON.stringify(U1)}.`})}break}}break}case"tool":{for(let r of a){if(r.type==="tool-approval-response"){let O1=r;if(f.has(O1.approvalId))continue;if(f.add(O1.approvalId),W)d.push({type:"item_reference",id:O1.approvalId});d.push({type:"mcp_approval_response",approval_request_id:O1.approvalId,approve:O1.approved});continue}let U1=r.output;if(U1.type==="execution-denied"){if((v=(_=U1.providerOptions)==null?void 0:_.openai)==null?void 0:v.approvalId)continue}let w1=Y.toProviderToolName(r.toolName);if(w1==="tool_search"&&U1.type==="json"){let O1=await L8({value:U1.value,schema:Xk0});d.push({type:"tool_search_output",execution:"client",call_id:r.toolCallId,status:"completed",tools:O1.tools});continue}if($&&w1==="local_shell"&&U1.type==="json"){let O1=await L8({value:U1.value,schema:ob6});d.push({type:"local_shell_call_output",call_id:r.toolCallId,output:O1.output});continue}if(K&&w1==="shell"&&U1.type==="json"){let O1=await L8({value:U1.value,schema:sS0});d.push({type:"shell_call_output",call_id:r.toolCallId,output:O1.output.map((v1)=>({stdout:v1.stdout,stderr:v1.stderr,outcome:v1.outcome.type==="timeout"?{type:"timeout"}:{type:"exit",exit_code:v1.outcome.exitCode}}))});continue}if(H&&r.toolName==="apply_patch"&&U1.type==="json"){let O1=await L8({value:U1.value,schema:nb6});d.push({type:"apply_patch_call_output",call_id:r.toolCallId,status:O1.status,output:O1.output});continue}if(U==null?void 0:U.has(w1)){let O1;switch(U1.type){case"text":case"error-text":O1=U1.value;break;case"execution-denied":O1=(y=U1.reason)!=null?y:"Tool execution denied.";break;case"json":case"error-json":O1=JSON.stringify(U1.value);break;case"content":O1=U1.value.map((v1)=>{var o1;switch(v1.type){case"text":return{type:"input_text",text:v1.text};case"image-data":return{type:"input_image",image_url:`data:${v1.mediaType};base64,${v1.data}`};case"image-url":return{type:"input_image",image_url:v1.url};case"file-data":return{type:"input_file",filename:(o1=v1.filename)!=null?o1:"data",file_data:`data:${v1.mediaType};base64,${v1.data}`};case"file-url":return{type:"input_file",file_url:v1.url};default:i.push({type:"other",message:`unsupported custom tool content part type: ${v1.type}`});return}}).filter(fR);break;default:O1=""}d.push({type:"custom_tool_call_output",call_id:r.toolCallId,output:O1});continue}let $1;switch(U1.type){case"text":case"error-text":$1=U1.value;break;case"execution-denied":$1=(h=U1.reason)!=null?h:"Tool execution denied.";break;case"json":case"error-json":$1=JSON.stringify(U1.value);break;case"content":$1=U1.value.map((O1)=>{var v1;switch(O1.type){case"text":return{type:"input_text",text:O1.text};case"image-data":return{type:"input_image",image_url:`data:${O1.mediaType};base64,${O1.data}`};case"image-url":return{type:"input_image",image_url:O1.url};case"file-data":return{type:"input_file",filename:(v1=O1.filename)!=null?v1:"data",file_data:`data:${O1.mediaType};base64,${O1.data}`};case"file-url":return{type:"input_file",file_url:O1.url};default:{i.push({type:"other",message:`unsupported tool content part type: ${O1.type}`});return}}}).filter(fR);break}d.push({type:"function_call_output",call_id:r.toolCallId,output:$1})}break}default:throw Error(`Unsupported role: ${u}`)}if(!W&&d.some((u)=>("type"in u)&&u.type==="reasoning"&&u.encrypted_content==null))i.push({type:"other",message:"Reasoning parts without encrypted content are not supported when store is false. Skipping reasoning parts."}),d=d.filter((u)=>!("type"in u)||u.type!=="reasoning"||u.encrypted_content!=null);return{input:d,warnings:i}}function oS0({finishReason:X,hasFunctionCall:Y}){switch(X){case void 0:case null:return Y?"tool-calls":"stop";case"max_output_tokens":return"length";case"content_filter":return"content-filter";default:return Y?"tool-calls":"other"}}async function Nn9({tools:X,toolChoice:Y,toolNameMapping:G,customProviderToolNames:Q}){var J,W;X=(X==null?void 0:X.length)?X:void 0;let Z=[];if(X==null)return{tools:void 0,toolChoice:void 0,toolWarnings:Z};let $=[],K=Q!=null?Q:new Set;for(let U of X)switch(U.type){case"function":{let B=(J=U.providerOptions)==null?void 0:J.openai,N=B==null?void 0:B.deferLoading;$.push({type:"function",name:U.name,description:U.description,parameters:U.inputSchema,...U.strict!=null?{strict:U.strict}:{},...N!=null?{defer_loading:N}:{}});break}case"provider":{switch(U.id){case"openai.file_search":{let B=await L8({value:U.args,schema:Cp9});$.push({type:"file_search",vector_store_ids:B.vectorStoreIds,max_num_results:B.maxNumResults,ranking_options:B.ranking?{ranker:B.ranking.ranker,score_threshold:B.ranking.scoreThreshold}:void 0,filters:B.filters});break}case"openai.local_shell":{$.push({type:"local_shell"});break}case"openai.shell":{let B=await L8({value:U.args,schema:lp9});$.push({type:"shell",...B.environment&&{environment:zn9(B.environment)}});break}case"openai.apply_patch":{$.push({type:"apply_patch"});break}case"openai.web_search_preview":{let B=await L8({value:U.args,schema:op9});$.push({type:"web_search_preview",search_context_size:B.searchContextSize,user_location:B.userLocation});break}case"openai.web_search":{let B=await L8({value:U.args,schema:pp9});$.push({type:"web_search",filters:B.filters!=null?{allowed_domains:B.filters.allowedDomains}:void 0,external_web_access:B.externalWebAccess,search_context_size:B.searchContextSize,user_location:B.userLocation});break}case"openai.code_interpreter":{let B=await L8({value:U.args,schema:Ip9});$.push({type:"code_interpreter",container:B.container==null?{type:"auto",file_ids:void 0}:typeof B.container==="string"?B.container:{type:"auto",file_ids:B.container.fileIds}});break}case"openai.image_generation":{let B=await L8({value:U.args,schema:fp9});$.push({type:"image_generation",background:B.background,input_fidelity:B.inputFidelity,input_image_mask:B.inputImageMask?{file_id:B.inputImageMask.fileId,image_url:B.inputImageMask.imageUrl}:void 0,model:B.model,moderation:B.moderation,partial_images:B.partialImages,quality:B.quality,output_compression:B.outputCompression,output_format:B.outputFormat,size:B.size});break}case"openai.mcp":{let B=await L8({value:U.args,schema:Yn9}),N=(D)=>({tool_names:D.toolNames}),z=B.requireApproval,O=z==null?void 0:typeof z==="string"?z:z.never!=null?{never:N(z.never)}:void 0;$.push({type:"mcp",server_label:B.serverLabel,allowed_tools:Array.isArray(B.allowedTools)?B.allowedTools:B.allowedTools?{read_only:B.allowedTools.readOnly,tool_names:B.allowedTools.toolNames}:void 0,authorization:B.authorization,connector_id:B.connectorId,headers:B.headers,require_approval:O!=null?O:"never",server_description:B.serverDescription,server_url:B.serverUrl});break}case"openai.custom":{let B=await L8({value:U.args,schema:Mp9});$.push({type:"custom",name:B.name,description:B.description,format:B.format}),K.add(B.name);break}case"openai.tool_search":{let B=await L8({value:U.args,schema:dp9});$.push({type:"tool_search",...B.execution!=null?{execution:B.execution}:{},...B.description!=null?{description:B.description}:{},...B.parameters!=null?{parameters:B.parameters}:{}});break}}break}default:Z.push({type:"unsupported",feature:`function tool ${U}`});break}if(Y==null)return{tools:$,toolChoice:void 0,toolWarnings:Z};let H=Y.type;switch(H){case"auto":case"none":case"required":return{tools:$,toolChoice:H,toolWarnings:Z};case"tool":{let U=(W=G==null?void 0:G.toProviderToolName(Y.toolName))!=null?W:Y.toolName;return{tools:$,toolChoice:U==="code_interpreter"||U==="file_search"||U==="image_generation"||U==="web_search_preview"||U==="web_search"||U==="mcp"||U==="apply_patch"?{type:U}:K.has(U)?{type:"custom",name:U}:{type:"function",name:U},toolWarnings:Z}}default:throw new I5({functionality:`tool choice type: ${H}`})}}function zn9(X){if(X.type==="containerReference")return{type:"container_reference",container_id:X.containerId};if(X.type==="containerAuto"){let G=X;return{type:"container_auto",file_ids:G.fileIds,memory_limit:G.memoryLimit,network_policy:G.networkPolicy==null?void 0:G.networkPolicy.type==="disabled"?{type:"disabled"}:{type:"allowlist",allowed_domains:G.networkPolicy.allowedDomains,domain_secrets:G.networkPolicy.domainSecrets},skills:On9(G.skills)}}return{type:"local",skills:X.skills}}function On9(X){return X==null?void 0:X.map((Y)=>Y.type==="skillReference"?{type:"skill_reference",skill_id:Y.skillId,version:Y.version}:{type:"inline",name:Y.name,description:Y.description,source:{type:"base64",media_type:Y.source.mediaType,data:Y.source.data}})}function lb6(X){var Y,G;let Q={};for(let J of X){if(J.role!=="assistant")continue;for(let W of J.content){if(W.type!=="tool-call")continue;let Z=(G=(Y=W.providerOptions)==null?void 0:Y.openai)==null?void 0:G.approvalRequestId;if(Z!=null)Q[Z]=W.toolCallId}}return Q}function wn9(X){return X.type==="response.output_text.delta"}function Ln9(X){return X.type==="response.output_item.done"}function En9(X){return X.type==="response.completed"||X.type==="response.incomplete"}function Pn9(X){return X.type==="response.failed"}function qn9(X){return X.type==="response.created"}function An9(X){return X.type==="response.function_call_arguments.delta"}function Tn9(X){return X.type==="response.custom_tool_call_input.delta"}function In9(X){return X.type==="response.image_generation_call.partial_image"}function Vn9(X){return X.type==="response.code_interpreter_call_code.delta"}function jn9(X){return X.type==="response.code_interpreter_call_code.done"}function Mn9(X){return X.type==="response.apply_patch_call_operation_diff.delta"}function Rn9(X){return X.type==="response.apply_patch_call_operation_diff.done"}function mb6(X){return X.type==="response.output_item.added"}function Sn9(X){return X.type==="response.output_text.annotation.added"}function kn9(X){return X.type==="error"}function db6(X){var Y;if(X==null)return{};switch(X.type){case"search":return{action:{type:"search",query:(Y=X.query)!=null?Y:void 0},...X.sources!=null&&{sources:X.sources}};case"open_page":return{action:{type:"openPage",url:X.url}};case"find_in_page":return{action:{type:"findInPage",url:X.url,pattern:X.pattern}}}}function iR(X){return JSON.stringify(X).slice(1,-1)}function Qk0(X={}){var Y,G;let Q=(Y=sA(_z({settingValue:X.baseURL,environmentVariableName:"OPENAI_BASE_URL"})))!=null?Y:"https://api.openai.com/v1",J=(G=X.name)!=null?G:"openai",W=()=>u9({Authorization:`Bearer ${yo({apiKey:X.apiKey,environmentVariableName:"OPENAI_API_KEY",description:"OpenAI"})}`,"OpenAI-Organization":X.organization,"OpenAI-Project":X.project,...X.headers},`ai-sdk/openai/${yn9}`),Z=(D)=>new $p9(D,{provider:`${J}.chat`,url:({path:E})=>`${Q}${E}`,headers:W,fetch:X.fetch}),$=(D)=>new Up9(D,{provider:`${J}.completion`,url:({path:E})=>`${Q}${E}`,headers:W,fetch:X.fetch}),K=(D)=>new zp9(D,{provider:`${J}.embedding`,url:({path:E})=>`${Q}${E}`,headers:W,fetch:X.fetch}),H=(D)=>new Lp9(D,{provider:`${J}.image`,url:({path:E})=>`${Q}${E}`,headers:W,fetch:X.fetch}),U=(D)=>new bn9(D,{provider:`${J}.transcription`,url:({path:E})=>`${Q}${E}`,headers:W,fetch:X.fetch}),B=(D)=>new vn9(D,{provider:`${J}.speech`,url:({path:E})=>`${Q}${E}`,headers:W,fetch:X.fetch}),N=(D)=>{if(new.target)throw Error("The OpenAI model function cannot be called with the new keyword.");return z(D)},z=(D)=>{return new Dn9(D,{provider:`${J}.responses`,url:({path:E})=>`${Q}${E}`,headers:W,fetch:X.fetch,fileIdPrefixes:["file-"]})},O=function(D){return N(D)};return O.specificationVersion="v3",O.languageModel=N,O.chat=Z,O.completion=$,O.responses=z,O.embedding=K,O.embeddingModel=K,O.textEmbedding=K,O.textEmbeddingModel=K,O.image=H,O.imageModel=H,O.transcription=U,O.transcriptionModel=U,O.speech=B,O.speechModel=B,O.tools=Wn9,O}var Gk0,YB,Qp9,Jp9,Zp9,$p9=class{constructor(X,Y){this.specificationVersion="v3",this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=X,this.config=Y}get provider(){return this.config.provider}async getArgs({prompt:X,maxOutputTokens:Y,temperature:G,topP:Q,topK:J,frequencyPenalty:W,presencePenalty:Z,stopSequences:$,responseFormat:K,seed:H,tools:U,toolChoice:B,providerOptions:N}){var z,O,D,E,P;let q=[],j=(z=await f5({provider:"openai",providerOptions:N,schema:Zp9}))!=null?z:{},M=ib6(this.modelId),I=(O=j.forceReasoning)!=null?O:M.isReasoningModel;if(J!=null)q.push({type:"unsupported",feature:"topK"});let{messages:R,warnings:C}=Gp9({prompt:X,systemMessageMode:(D=j.systemMessageMode)!=null?D:I?"developer":M.systemMessageMode});q.push(...C);let _=(E=j.strictJsonSchema)!=null?E:!0,v={model:this.modelId,logit_bias:j.logitBias,logprobs:j.logprobs===!0||typeof j.logprobs==="number"?!0:void 0,top_logprobs:typeof j.logprobs==="number"?j.logprobs:typeof j.logprobs==="boolean"?j.logprobs?0:void 0:void 0,user:j.user,parallel_tool_calls:j.parallelToolCalls,max_tokens:Y,temperature:G,top_p:Q,frequency_penalty:W,presence_penalty:Z,response_format:(K==null?void 0:K.type)==="json"?K.schema!=null?{type:"json_schema",json_schema:{schema:K.schema,strict:_,name:(P=K.name)!=null?P:"response",description:K.description}}:{type:"json_object"}:void 0,stop:$,seed:H,verbosity:j.textVerbosity,max_completion_tokens:j.maxCompletionTokens,store:j.store,metadata:j.metadata,prediction:j.prediction,reasoning_effort:j.reasoningEffort,service_tier:j.serviceTier,prompt_cache_key:j.promptCacheKey,prompt_cache_retention:j.promptCacheRetention,safety_identifier:j.safetyIdentifier,messages:R};if(I){if(j.reasoningEffort!=="none"||!M.supportsNonReasoningParameters){if(v.temperature!=null)v.temperature=void 0,q.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for reasoning models"});if(v.top_p!=null)v.top_p=void 0,q.push({type:"unsupported",feature:"topP",details:"topP is not supported for reasoning models"});if(v.logprobs!=null)v.logprobs=void 0,q.push({type:"other",message:"logprobs is not supported for reasoning models"})}if(v.frequency_penalty!=null)v.frequency_penalty=void 0,q.push({type:"unsupported",feature:"frequencyPenalty",details:"frequencyPenalty is not supported for reasoning models"});if(v.presence_penalty!=null)v.presence_penalty=void 0,q.push({type:"unsupported",feature:"presencePenalty",details:"presencePenalty is not supported for reasoning models"});if(v.logit_bias!=null)v.logit_bias=void 0,q.push({type:"other",message:"logitBias is not supported for reasoning models"});if(v.top_logprobs!=null)v.top_logprobs=void 0,q.push({type:"other",message:"topLogprobs is not supported for reasoning models"});if(v.max_tokens!=null){if(v.max_completion_tokens==null)v.max_completion_tokens=v.max_tokens;v.max_tokens=void 0}}else if(this.modelId.startsWith("gpt-4o-search-preview")||this.modelId.startsWith("gpt-4o-mini-search-preview")){if(v.temperature!=null)v.temperature=void 0,q.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for the search preview models and has been removed."})}if(j.serviceTier==="flex"&&!M.supportsFlexProcessing)q.push({type:"unsupported",feature:"serviceTier",details:"flex processing is only available for o3, o4-mini, and gpt-5 models"}),v.service_tier=void 0;if(j.serviceTier==="priority"&&!M.supportsPriorityProcessing)q.push({type:"unsupported",feature:"serviceTier",details:"priority processing is only available for supported models (gpt-4, gpt-5, gpt-5-mini, o3, o4-mini) and requires Enterprise access. gpt-5-nano is not supported"}),v.service_tier=void 0;let{tools:y,toolChoice:h,toolWarnings:d}=Wp9({tools:U,toolChoice:B});return{args:{...v,tools:y,tool_choice:h},warnings:[...q,...d]}}async doGenerate(X){var Y,G,Q,J,W,Z,$;let{args:K,warnings:H}=await this.getArgs(X),{responseHeaders:U,value:B,rawValue:N}=await s8({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:f8(this.config.headers(),X.headers),body:K,failedResponseHandler:YB,successfulResponseHandler:i8(Qp9),abortSignal:X.abortSignal,fetch:this.config.fetch}),z=B.choices[0],O=[],D=z.message.content;if(D!=null&&D.length>0)O.push({type:"text",text:D});for(let j of(Y=z.message.tool_calls)!=null?Y:[])O.push({type:"tool-call",toolCallId:(G=j.id)!=null?G:G6(),toolName:j.function.name,input:j.function.arguments});for(let j of(Q=z.message.annotations)!=null?Q:[])O.push({type:"source",sourceType:"url",id:G6(),url:j.url_citation.url,title:j.url_citation.title});let E=(J=B.usage)==null?void 0:J.completion_tokens_details,P=(W=B.usage)==null?void 0:W.prompt_tokens_details,q={openai:{}};if((E==null?void 0:E.accepted_prediction_tokens)!=null)q.openai.acceptedPredictionTokens=E==null?void 0:E.accepted_prediction_tokens;if((E==null?void 0:E.rejected_prediction_tokens)!=null)q.openai.rejectedPredictionTokens=E==null?void 0:E.rejected_prediction_tokens;if(((Z=z.logprobs)==null?void 0:Z.content)!=null)q.openai.logprobs=z.logprobs.content;return{content:O,finishReason:{unified:Cb6(z.finish_reason),raw:($=z.finish_reason)!=null?$:void 0},usage:kb6(B.usage),request:{body:K},response:{...rS0(B),headers:U,body:N},warnings:H,providerMetadata:q}}async doStream(X){let{args:Y,warnings:G}=await this.getArgs(X),Q={...Y,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:J,value:W}=await s8({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:f8(this.config.headers(),X.headers),body:Q,failedResponseHandler:YB,successfulResponseHandler:mH(Jp9),abortSignal:X.abortSignal,fetch:this.config.fetch}),Z=[],$={unified:"other",raw:void 0},K=void 0,H=!1,U=!1,B={openai:{}};return{stream:W.pipeThrough(new TransformStream({start(N){N.enqueue({type:"stream-start",warnings:G})},transform(N,z){var O,D,E,P,q,j,M,I,R,C,_,v,y,h,d,i,f;if(X.includeRawChunks)z.enqueue({type:"raw",rawValue:N.rawValue});if(!N.success){$={unified:"error",raw:void 0},z.enqueue({type:"error",error:N.error});return}let u=N.value;if("error"in u){$={unified:"error",raw:void 0},z.enqueue({type:"error",error:u.error});return}if(!H){let U1=rS0(u);if(Object.values(U1).some(Boolean))H=!0,z.enqueue({type:"response-metadata",...rS0(u)})}if(u.usage!=null){if(K=u.usage,((O=u.usage.completion_tokens_details)==null?void 0:O.accepted_prediction_tokens)!=null)B.openai.acceptedPredictionTokens=(D=u.usage.completion_tokens_details)==null?void 0:D.accepted_prediction_tokens;if(((E=u.usage.completion_tokens_details)==null?void 0:E.rejected_prediction_tokens)!=null)B.openai.rejectedPredictionTokens=(P=u.usage.completion_tokens_details)==null?void 0:P.rejected_prediction_tokens}let a=u.choices[0];if((a==null?void 0:a.finish_reason)!=null)$={unified:Cb6(a.finish_reason),raw:a.finish_reason};if(((q=a==null?void 0:a.logprobs)==null?void 0:q.content)!=null)B.openai.logprobs=a.logprobs.content;if((a==null?void 0:a.delta)==null)return;let r=a.delta;if(r.content!=null){if(!U)z.enqueue({type:"text-start",id:"0"}),U=!0;z.enqueue({type:"text-delta",id:"0",delta:r.content})}if(r.tool_calls!=null)for(let U1 of r.tool_calls){let w1=U1.index;if(Z[w1]==null){if(U1.type!=null&&U1.type!=="function")throw new vo({data:U1,message:"Expected 'function' type."});if(U1.id==null)throw new vo({data:U1,message:"Expected 'id' to be a string."});if(((j=U1.function)==null?void 0:j.name)==null)throw new vo({data:U1,message:"Expected 'function.name' to be a string."});z.enqueue({type:"tool-input-start",id:U1.id,toolName:U1.function.name}),Z[w1]={id:U1.id,type:"function",function:{name:U1.function.name,arguments:(M=U1.function.arguments)!=null?M:""},hasFinished:!1};let O1=Z[w1];if(((I=O1.function)==null?void 0:I.name)!=null&&((R=O1.function)==null?void 0:R.arguments)!=null){if(O1.function.arguments.length>0)z.enqueue({type:"tool-input-delta",id:O1.id,delta:O1.function.arguments});if(zR0(O1.function.arguments))z.enqueue({type:"tool-input-end",id:O1.id}),z.enqueue({type:"tool-call",toolCallId:(C=O1.id)!=null?C:G6(),toolName:O1.function.name,input:O1.function.arguments}),O1.hasFinished=!0}continue}let $1=Z[w1];if($1.hasFinished)continue;if(((_=U1.function)==null?void 0:_.arguments)!=null)$1.function.arguments+=(y=(v=U1.function)==null?void 0:v.arguments)!=null?y:"";if(z.enqueue({type:"tool-input-delta",id:$1.id,delta:(h=U1.function.arguments)!=null?h:""}),((d=$1.function)==null?void 0:d.name)!=null&&((i=$1.function)==null?void 0:i.arguments)!=null&&zR0($1.function.arguments))z.enqueue({type:"tool-input-end",id:$1.id}),z.enqueue({type:"tool-call",toolCallId:(f=$1.id)!=null?f:G6(),toolName:$1.function.name,input:$1.function.arguments}),$1.hasFinished=!0}if(r.annotations!=null)for(let U1 of r.annotations)z.enqueue({type:"source",sourceType:"url",id:G6(),url:U1.url_citation.url,title:U1.url_citation.title})},flush(N){if(U)N.enqueue({type:"text-end",id:"0"});N.enqueue({type:"finish",finishReason:$,usage:kb6(K),...B!=null?{providerMetadata:B}:{}})}})),request:{body:Q},response:{headers:J}}}},Hp9,Fp9,bb6,Up9=class{constructor(X,Y){this.specificationVersion="v3",this.supportedUrls={},this.modelId=X,this.config=Y}get providerOptionsName(){return this.config.provider.split(".")[0].trim()}get provider(){return this.config.provider}async getArgs({prompt:X,maxOutputTokens:Y,temperature:G,topP:Q,topK:J,frequencyPenalty:W,presencePenalty:Z,stopSequences:$,responseFormat:K,tools:H,toolChoice:U,seed:B,providerOptions:N}){let z=[],O={...await f5({provider:"openai",providerOptions:N,schema:bb6}),...await f5({provider:this.providerOptionsName,providerOptions:N,schema:bb6})};if(J!=null)z.push({type:"unsupported",feature:"topK"});if(H==null?void 0:H.length)z.push({type:"unsupported",feature:"tools"});if(U!=null)z.push({type:"unsupported",feature:"toolChoice"});if(K!=null&&K.type!=="text")z.push({type:"unsupported",feature:"responseFormat",details:"JSON response format is not supported."});let{prompt:D,stopSequences:E}=Kp9({prompt:X}),P=[...E!=null?E:[],...$!=null?$:[]];return{args:{model:this.modelId,echo:O.echo,logit_bias:O.logitBias,logprobs:(O==null?void 0:O.logprobs)===!0?0:(O==null?void 0:O.logprobs)===!1?void 0:O==null?void 0:O.logprobs,suffix:O.suffix,user:O.user,max_tokens:Y,temperature:G,top_p:Q,frequency_penalty:W,presence_penalty:Z,seed:B,prompt:D,stop:P.length>0?P:void 0},warnings:z}}async doGenerate(X){var Y;let{args:G,warnings:Q}=await this.getArgs(X),{responseHeaders:J,value:W,rawValue:Z}=await s8({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:f8(this.config.headers(),X.headers),body:G,failedResponseHandler:YB,successfulResponseHandler:i8(Hp9),abortSignal:X.abortSignal,fetch:this.config.fetch}),$=W.choices[0],K={openai:{}};if($.logprobs!=null)K.openai.logprobs=$.logprobs;return{content:[{type:"text",text:$.text}],usage:vb6(W.usage),finishReason:{unified:fb6($.finish_reason),raw:(Y=$.finish_reason)!=null?Y:void 0},request:{body:G},response:{..._b6(W),headers:J,body:Z},providerMetadata:K,warnings:Q}}async doStream(X){let{args:Y,warnings:G}=await this.getArgs(X),Q={...Y,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:J,value:W}=await s8({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:f8(this.config.headers(),X.headers),body:Q,failedResponseHandler:YB,successfulResponseHandler:mH(Fp9),abortSignal:X.abortSignal,fetch:this.config.fetch}),Z={unified:"other",raw:void 0},$={openai:{}},K=void 0,H=!0;return{stream:W.pipeThrough(new TransformStream({start(U){U.enqueue({type:"stream-start",warnings:G})},transform(U,B){if(X.includeRawChunks)B.enqueue({type:"raw",rawValue:U.rawValue});if(!U.success){Z={unified:"error",raw:void 0},B.enqueue({type:"error",error:U.error});return}let N=U.value;if("error"in N){Z={unified:"error",raw:void 0},B.enqueue({type:"error",error:N.error});return}if(H)H=!1,B.enqueue({type:"response-metadata",..._b6(N)}),B.enqueue({type:"text-start",id:"0"});if(N.usage!=null)K=N.usage;let z=N.choices[0];if((z==null?void 0:z.finish_reason)!=null)Z={unified:fb6(z.finish_reason),raw:z.finish_reason};if((z==null?void 0:z.logprobs)!=null)$.openai.logprobs=z.logprobs;if((z==null?void 0:z.text)!=null&&z.text.length>0)B.enqueue({type:"text-delta",id:"0",delta:z.text})},flush(U){if(!H)U.enqueue({type:"text-end",id:"0"});U.enqueue({type:"finish",finishReason:Z,providerMetadata:$,usage:vb6(K)})}})),request:{body:Q},response:{headers:J}}}},Bp9,Np9,zp9=class{constructor(X,Y){this.specificationVersion="v3",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0,this.modelId=X,this.config=Y}get provider(){return this.config.provider}async doEmbed({values:X,headers:Y,abortSignal:G,providerOptions:Q}){var J;if(X.length>this.maxEmbeddingsPerCall)throw new _o({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:X});let W=(J=await f5({provider:"openai",providerOptions:Q,schema:Bp9}))!=null?J:{},{responseHeaders:Z,value:$,rawValue:K}=await s8({url:this.config.url({path:"/embeddings",modelId:this.modelId}),headers:f8(this.config.headers(),Y),body:{model:this.modelId,input:X,encoding_format:"float",dimensions:W.dimensions,user:W.user},failedResponseHandler:YB,successfulResponseHandler:i8(Np9),abortSignal:G,fetch:this.config.fetch});return{warnings:[],embeddings:$.data.map((H)=>H.embedding),usage:$.usage?{tokens:$.usage.prompt_tokens}:void 0,response:{headers:Z,body:K}}}},yb6,Op9,Dp9,Lp9=class{constructor(X,Y){this.modelId=X,this.config=Y,this.specificationVersion="v3"}get maxImagesPerCall(){var X;return(X=Op9[this.modelId])!=null?X:1}get provider(){return this.config.provider}async doGenerate({prompt:X,files:Y,mask:G,n:Q,size:J,aspectRatio:W,seed:Z,providerOptions:$,headers:K,abortSignal:H}){var U,B,N,z,O,D,E,P,q,j,M;let I=[];if(W!=null)I.push({type:"unsupported",feature:"aspectRatio",details:"This model does not support aspect ratio. Use `size` instead."});if(Z!=null)I.push({type:"unsupported",feature:"seed"});let R=(N=(B=(U=this.config._internal)==null?void 0:U.currentDate)==null?void 0:B.call(U))!=null?N:new Date;if(Y!=null){let{value:v,responseHeaders:y}=await aR1({url:this.config.url({path:"/images/edits",modelId:this.modelId}),headers:f8(this.config.headers(),K),formData:Lv6({model:this.modelId,prompt:X,image:await Promise.all(Y.map((h)=>h.type==="file"?new Blob([h.data instanceof Uint8Array?new Blob([h.data],{type:h.mediaType}):new Blob([PG(h.data)],{type:h.mediaType})],{type:h.mediaType}):FR0(h.url))),mask:G!=null?await Ep9(G):void 0,n:Q,size:J,...(z=$.openai)!=null?z:{}}),failedResponseHandler:YB,successfulResponseHandler:i8(yb6),abortSignal:H,fetch:this.config.fetch});return{images:v.data.map((h)=>h.b64_json),warnings:I,usage:v.usage!=null?{inputTokens:(O=v.usage.input_tokens)!=null?O:void 0,outputTokens:(D=v.usage.output_tokens)!=null?D:void 0,totalTokens:(E=v.usage.total_tokens)!=null?E:void 0}:void 0,response:{timestamp:R,modelId:this.modelId,headers:y},providerMetadata:{openai:{images:v.data.map((h,d)=>{var i,f,u,a,r,U1;return{...h.revised_prompt?{revisedPrompt:h.revised_prompt}:{},created:(i=v.created)!=null?i:void 0,size:(f=v.size)!=null?f:void 0,quality:(u=v.quality)!=null?u:void 0,background:(a=v.background)!=null?a:void 0,outputFormat:(r=v.output_format)!=null?r:void 0,...xb6((U1=v.usage)==null?void 0:U1.input_tokens_details,d,v.data.length)}})}}}}let{value:C,responseHeaders:_}=await s8({url:this.config.url({path:"/images/generations",modelId:this.modelId}),headers:f8(this.config.headers(),K),body:{model:this.modelId,prompt:X,n:Q,size:J,...(P=$.openai)!=null?P:{},...!wp9(this.modelId)?{response_format:"b64_json"}:{}},failedResponseHandler:YB,successfulResponseHandler:i8(yb6),abortSignal:H,fetch:this.config.fetch});return{images:C.data.map((v)=>v.b64_json),warnings:I,usage:C.usage!=null?{inputTokens:(q=C.usage.input_tokens)!=null?q:void 0,outputTokens:(j=C.usage.output_tokens)!=null?j:void 0,totalTokens:(M=C.usage.total_tokens)!=null?M:void 0}:void 0,response:{timestamp:R,modelId:this.modelId,headers:_},providerMetadata:{openai:{images:C.data.map((v,y)=>{var h,d,i,f,u,a;return{...v.revised_prompt?{revisedPrompt:v.revised_prompt}:{},created:(h=C.created)!=null?h:void 0,size:(d=C.size)!=null?d:void 0,quality:(i=C.quality)!=null?i:void 0,background:(f=C.background)!=null?f:void 0,outputFormat:(u=C.output_format)!=null?u:void 0,...xb6((a=C.usage)==null?void 0:a.input_tokens_details,y,C.data.length)}})}}}}},pb6,nb6,FjY,Pp9,qp9,Ap9,Tp9,Ip9,Vp9,jp9=(X={})=>{return Vp9(X)},Mp9,Rp9,Sp9,kp9=(X)=>Sp9(X),tb6,ab6,Cp9,vp9,_p9,fp9,bp9,yp9,xp9,hp9=(X={})=>{return xp9(X)},rb6,ob6,gp9,sb6,sS0,up9,lp9,mp9,dp9,eS0,Xk0,cp9,ip9=(X={})=>cp9(X),pp9,np9,tp9,ap9,rp9=(X={})=>ap9(X),op9,sp9,ep9,Xn9,Yk0,Yn9,Gn9,Qn9,Jn9,Zn9=(X)=>Jn9(X),Wn9,Hn9,_Z1,Fn9,Un9,eb6=20,Bn9,ujY,ub6,Dn9=class{constructor(X,Y){this.specificationVersion="v3",this.supportedUrls={"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/]},this.modelId=X,this.config=Y}get provider(){return this.config.provider}async getArgs({maxOutputTokens:X,temperature:Y,stopSequences:G,topP:Q,topK:J,presencePenalty:W,frequencyPenalty:Z,seed:$,prompt:K,providerOptions:H,tools:U,toolChoice:B,responseFormat:N}){var z,O,D,E,P,q,j,M,I;let R=[],C=ib6(this.modelId);if(J!=null)R.push({type:"unsupported",feature:"topK"});if($!=null)R.push({type:"unsupported",feature:"seed"});if(W!=null)R.push({type:"unsupported",feature:"presencePenalty"});if(Z!=null)R.push({type:"unsupported",feature:"frequencyPenalty"});if(G!=null)R.push({type:"unsupported",feature:"stopSequences"});let _=this.config.provider.includes("azure")?"azure":"openai",v=await f5({provider:_,providerOptions:H,schema:ub6});if(v==null&&_!=="openai")v=await f5({provider:"openai",providerOptions:H,schema:ub6});let y=(z=v==null?void 0:v.forceReasoning)!=null?z:C.isReasoningModel;if((v==null?void 0:v.conversation)&&(v==null?void 0:v.previousResponseId))R.push({type:"unsupported",feature:"conversation",details:"conversation and previousResponseId cannot be used together"});let h=nR1({tools:U,providerToolNames:{"openai.code_interpreter":"code_interpreter","openai.file_search":"file_search","openai.image_generation":"image_generation","openai.local_shell":"local_shell","openai.shell":"shell","openai.web_search":"web_search","openai.web_search_preview":"web_search_preview","openai.mcp":"mcp","openai.apply_patch":"apply_patch","openai.tool_search":"tool_search"},resolveProviderToolName:($0)=>$0.id==="openai.custom"?$0.args.name:void 0}),d=new Set,{tools:i,toolChoice:f,toolWarnings:u}=await Nn9({tools:U,toolChoice:B,toolNameMapping:h,customProviderToolNames:d}),{input:a,warnings:r}=await Kn9({prompt:K,toolNameMapping:h,systemMessageMode:(O=v==null?void 0:v.systemMessageMode)!=null?O:y?"developer":C.systemMessageMode,providerOptionsName:_,fileIdPrefixes:this.config.fileIdPrefixes,store:(D=v==null?void 0:v.store)!=null?D:!0,hasConversation:(v==null?void 0:v.conversation)!=null,hasLocalShellTool:O1("openai.local_shell"),hasShellTool:O1("openai.shell"),hasApplyPatchTool:O1("openai.apply_patch"),customProviderToolNames:d.size>0?d:void 0});R.push(...r);let U1=(E=v==null?void 0:v.strictJsonSchema)!=null?E:!0,w1=v==null?void 0:v.include;function $1($0){if(w1==null)w1=[$0];else if(!w1.includes($0))w1=[...w1,$0]}function O1($0){return(U==null?void 0:U.find((r1)=>r1.type==="provider"&&r1.id===$0))!=null}let v1=typeof(v==null?void 0:v.logprobs)==="number"?v==null?void 0:v.logprobs:(v==null?void 0:v.logprobs)===!0?eb6:void 0;if(v1)$1("message.output_text.logprobs");let o1=(P=U==null?void 0:U.find(($0)=>$0.type==="provider"&&($0.id==="openai.web_search"||$0.id==="openai.web_search_preview")))==null?void 0:P.name;if(o1)$1("web_search_call.action.sources");if(O1("openai.code_interpreter"))$1("code_interpreter_call.outputs");let d1=v==null?void 0:v.store;if(d1===!1&&y)$1("reasoning.encrypted_content");let h1={model:this.modelId,input:a,temperature:Y,top_p:Q,max_output_tokens:X,...((N==null?void 0:N.type)==="json"||(v==null?void 0:v.textVerbosity))&&{text:{...(N==null?void 0:N.type)==="json"&&{format:N.schema!=null?{type:"json_schema",strict:U1,name:(q=N.name)!=null?q:"response",description:N.description,schema:N.schema}:{type:"json_object"}},...(v==null?void 0:v.textVerbosity)&&{verbosity:v.textVerbosity}}},conversation:v==null?void 0:v.conversation,max_tool_calls:v==null?void 0:v.maxToolCalls,metadata:v==null?void 0:v.metadata,parallel_tool_calls:v==null?void 0:v.parallelToolCalls,previous_response_id:v==null?void 0:v.previousResponseId,store:d1,user:v==null?void 0:v.user,instructions:v==null?void 0:v.instructions,service_tier:v==null?void 0:v.serviceTier,include:w1,prompt_cache_key:v==null?void 0:v.promptCacheKey,prompt_cache_retention:v==null?void 0:v.promptCacheRetention,safety_identifier:v==null?void 0:v.safetyIdentifier,top_logprobs:v1,truncation:v==null?void 0:v.truncation,...y&&((v==null?void 0:v.reasoningEffort)!=null||(v==null?void 0:v.reasoningSummary)!=null)&&{reasoning:{...(v==null?void 0:v.reasoningEffort)!=null&&{effort:v.reasoningEffort},...(v==null?void 0:v.reasoningSummary)!=null&&{summary:v.reasoningSummary}}}};if(y){if(!((v==null?void 0:v.reasoningEffort)==="none"&&C.supportsNonReasoningParameters)){if(h1.temperature!=null)h1.temperature=void 0,R.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for reasoning models"});if(h1.top_p!=null)h1.top_p=void 0,R.push({type:"unsupported",feature:"topP",details:"topP is not supported for reasoning models"})}}else{if((v==null?void 0:v.reasoningEffort)!=null)R.push({type:"unsupported",feature:"reasoningEffort",details:"reasoningEffort is not supported for non-reasoning models"});if((v==null?void 0:v.reasoningSummary)!=null)R.push({type:"unsupported",feature:"reasoningSummary",details:"reasoningSummary is not supported for non-reasoning models"})}if((v==null?void 0:v.serviceTier)==="flex"&&!C.supportsFlexProcessing)R.push({type:"unsupported",feature:"serviceTier",details:"flex processing is only available for o3, o4-mini, and gpt-5 models"}),delete h1.service_tier;if((v==null?void 0:v.serviceTier)==="priority"&&!C.supportsPriorityProcessing)R.push({type:"unsupported",feature:"serviceTier",details:"priority processing is only available for supported models (gpt-4, gpt-5, gpt-5-mini, o3, o4-mini) and requires Enterprise access. gpt-5-nano is not supported"}),delete h1.service_tier;let Y1=(I=(M=(j=U==null?void 0:U.find(($0)=>$0.type==="provider"&&$0.id==="openai.shell"))==null?void 0:j.args)==null?void 0:M.environment)==null?void 0:I.type,l1=Y1==="containerAuto"||Y1==="containerReference";return{webSearchToolName:o1,args:{...h1,tools:i,tool_choice:f},warnings:[...R,...u],store:d1,toolNameMapping:h,providerOptionsName:_,isShellProviderExecuted:l1}}async doGenerate(X){var Y,G,Q,J,W,Z,$,K,H,U,B,N,z,O,D,E,P,q,j,M,I,R,C,_,v,y,h,d;let{args:i,warnings:f,webSearchToolName:u,toolNameMapping:a,providerOptionsName:r,isShellProviderExecuted:U1}=await this.getArgs(X),w1=this.config.url({path:"/responses",modelId:this.modelId}),$1=lb6(X.prompt),{responseHeaders:O1,value:v1,rawValue:o1}=await s8({url:w1,headers:f8(this.config.headers(),X.headers),body:i,failedResponseHandler:YB,successfulResponseHandler:i8(Un9),abortSignal:X.abortSignal,fetch:this.config.fetch});if(v1.error)throw new c8({message:v1.error.message,url:w1,requestBodyValues:i,statusCode:400,responseHeaders:O1,responseBody:o1,isRetryable:!1});let d1=[],h1=[],Y1=!1,l1=[];for(let q1 of v1.output)switch(q1.type){case"reasoning":{if(q1.summary.length===0)q1.summary.push({type:"summary_text",text:""});for(let P1 of q1.summary)d1.push({type:"reasoning",text:P1.text,providerMetadata:{[r]:{itemId:q1.id,reasoningEncryptedContent:(Y=q1.encrypted_content)!=null?Y:null}}});break}case"image_generation_call":{d1.push({type:"tool-call",toolCallId:q1.id,toolName:a.toCustomToolName("image_generation"),input:"{}",providerExecuted:!0}),d1.push({type:"tool-result",toolCallId:q1.id,toolName:a.toCustomToolName("image_generation"),result:{result:q1.result}});break}case"tool_search_call":{let P1=(G=q1.call_id)!=null?G:q1.id,z1=q1.execution==="server";if(z1)l1.push(P1);d1.push({type:"tool-call",toolCallId:P1,toolName:a.toCustomToolName("tool_search"),input:JSON.stringify({arguments:q1.arguments,call_id:q1.call_id}),...z1?{providerExecuted:!0}:{},providerMetadata:{[r]:{itemId:q1.id}}});break}case"tool_search_output":{let P1=(J=(Q=q1.call_id)!=null?Q:l1.shift())!=null?J:q1.id;d1.push({type:"tool-result",toolCallId:P1,toolName:a.toCustomToolName("tool_search"),result:{tools:q1.tools},providerMetadata:{[r]:{itemId:q1.id}}});break}case"local_shell_call":{d1.push({type:"tool-call",toolCallId:q1.call_id,toolName:a.toCustomToolName("local_shell"),input:JSON.stringify({action:q1.action}),providerMetadata:{[r]:{itemId:q1.id}}});break}case"shell_call":{d1.push({type:"tool-call",toolCallId:q1.call_id,toolName:a.toCustomToolName("shell"),input:JSON.stringify({action:{commands:q1.action.commands}}),...U1&&{providerExecuted:!0},providerMetadata:{[r]:{itemId:q1.id}}});break}case"shell_call_output":{d1.push({type:"tool-result",toolCallId:q1.call_id,toolName:a.toCustomToolName("shell"),result:{output:q1.output.map((P1)=>({stdout:P1.stdout,stderr:P1.stderr,outcome:P1.outcome.type==="exit"?{type:"exit",exitCode:P1.outcome.exit_code}:{type:"timeout"}}))}});break}case"message":{for(let P1 of q1.content){if(((Z=(W=X.providerOptions)==null?void 0:W[r])==null?void 0:Z.logprobs)&&P1.logprobs)h1.push(P1.logprobs);let z1={itemId:q1.id,...q1.phase!=null&&{phase:q1.phase},...P1.annotations.length>0&&{annotations:P1.annotations}};d1.push({type:"text",text:P1.text,providerMetadata:{[r]:z1}});for(let W1 of P1.annotations)if(W1.type==="url_citation")d1.push({type:"source",sourceType:"url",id:(H=(K=($=this.config).generateId)==null?void 0:K.call($))!=null?H:G6(),url:W1.url,title:W1.title});else if(W1.type==="file_citation")d1.push({type:"source",sourceType:"document",id:(N=(B=(U=this.config).generateId)==null?void 0:B.call(U))!=null?N:G6(),mediaType:"text/plain",title:W1.filename,filename:W1.filename,providerMetadata:{[r]:{type:W1.type,fileId:W1.file_id,index:W1.index}}});else if(W1.type==="container_file_citation")d1.push({type:"source",sourceType:"document",id:(D=(O=(z=this.config).generateId)==null?void 0:O.call(z))!=null?D:G6(),mediaType:"text/plain",title:W1.filename,filename:W1.filename,providerMetadata:{[r]:{type:W1.type,fileId:W1.file_id,containerId:W1.container_id}}});else if(W1.type==="file_path")d1.push({type:"source",sourceType:"document",id:(q=(P=(E=this.config).generateId)==null?void 0:P.call(E))!=null?q:G6(),mediaType:"application/octet-stream",title:W1.file_id,filename:W1.file_id,providerMetadata:{[r]:{type:W1.type,fileId:W1.file_id,index:W1.index}}})}break}case"function_call":{Y1=!0,d1.push({type:"tool-call",toolCallId:q1.call_id,toolName:q1.name,input:q1.arguments,providerMetadata:{[r]:{itemId:q1.id}}});break}case"custom_tool_call":{Y1=!0;let P1=a.toCustomToolName(q1.name);d1.push({type:"tool-call",toolCallId:q1.call_id,toolName:P1,input:JSON.stringify(q1.input),providerMetadata:{[r]:{itemId:q1.id}}});break}case"web_search_call":{d1.push({type:"tool-call",toolCallId:q1.id,toolName:a.toCustomToolName(u!=null?u:"web_search"),input:JSON.stringify({}),providerExecuted:!0}),d1.push({type:"tool-result",toolCallId:q1.id,toolName:a.toCustomToolName(u!=null?u:"web_search"),result:db6(q1.action)});break}case"mcp_call":{let P1=q1.approval_request_id!=null?(j=$1[q1.approval_request_id])!=null?j:q1.id:q1.id,z1=`mcp.${q1.name}`;d1.push({type:"tool-call",toolCallId:P1,toolName:z1,input:q1.arguments,providerExecuted:!0,dynamic:!0}),d1.push({type:"tool-result",toolCallId:P1,toolName:z1,result:{type:"call",serverLabel:q1.server_label,name:q1.name,arguments:q1.arguments,...q1.output!=null?{output:q1.output}:{},...q1.error!=null?{error:q1.error}:{}},providerMetadata:{[r]:{itemId:q1.id}}});break}case"mcp_list_tools":break;case"mcp_approval_request":{let P1=(M=q1.approval_request_id)!=null?M:q1.id,z1=(C=(R=(I=this.config).generateId)==null?void 0:R.call(I))!=null?C:G6(),W1=`mcp.${q1.name}`;d1.push({type:"tool-call",toolCallId:z1,toolName:W1,input:q1.arguments,providerExecuted:!0,dynamic:!0}),d1.push({type:"tool-approval-request",approvalId:P1,toolCallId:z1});break}case"computer_call":{d1.push({type:"tool-call",toolCallId:q1.id,toolName:a.toCustomToolName("computer_use"),input:"",providerExecuted:!0}),d1.push({type:"tool-result",toolCallId:q1.id,toolName:a.toCustomToolName("computer_use"),result:{type:"computer_use_tool_result",status:q1.status||"completed"}});break}case"file_search_call":{d1.push({type:"tool-call",toolCallId:q1.id,toolName:a.toCustomToolName("file_search"),input:"{}",providerExecuted:!0}),d1.push({type:"tool-result",toolCallId:q1.id,toolName:a.toCustomToolName("file_search"),result:{queries:q1.queries,results:(v=(_=q1.results)==null?void 0:_.map((P1)=>({attributes:P1.attributes,fileId:P1.file_id,filename:P1.filename,score:P1.score,text:P1.text})))!=null?v:null}});break}case"code_interpreter_call":{d1.push({type:"tool-call",toolCallId:q1.id,toolName:a.toCustomToolName("code_interpreter"),input:JSON.stringify({code:q1.code,containerId:q1.container_id}),providerExecuted:!0}),d1.push({type:"tool-result",toolCallId:q1.id,toolName:a.toCustomToolName("code_interpreter"),result:{outputs:q1.outputs}});break}case"apply_patch_call":{d1.push({type:"tool-call",toolCallId:q1.call_id,toolName:a.toCustomToolName("apply_patch"),input:JSON.stringify({callId:q1.call_id,operation:q1.operation}),providerMetadata:{[r]:{itemId:q1.id}}});break}}let $0={[r]:{responseId:v1.id,...h1.length>0?{logprobs:h1}:{},...typeof v1.service_tier==="string"?{serviceTier:v1.service_tier}:{}}},r1=v1.usage;return{content:d1,finishReason:{unified:oS0({finishReason:(y=v1.incomplete_details)==null?void 0:y.reason,hasFunctionCall:Y1}),raw:(d=(h=v1.incomplete_details)==null?void 0:h.reason)!=null?d:void 0},usage:hb6(r1),request:{body:i},response:{id:v1.id,timestamp:new Date(v1.created_at*1000),modelId:v1.model,headers:O1,body:o1},providerMetadata:$0,warnings:f}}async doStream(X){let{args:Y,warnings:G,webSearchToolName:Q,toolNameMapping:J,store:W,providerOptionsName:Z,isShellProviderExecuted:$}=await this.getArgs(X),{responseHeaders:K,value:H}=await s8({url:this.config.url({path:"/responses",modelId:this.modelId}),headers:f8(this.config.headers(),X.headers),body:{...Y,stream:!0},failedResponseHandler:YB,successfulResponseHandler:mH(Fn9),abortSignal:X.abortSignal,fetch:this.config.fetch}),U=this,B=lb6(X.prompt),N=new Map,z={unified:"other",raw:void 0},O=void 0,D=[],E=null,P={},q=[],j,M=!1,I={},R,C=[];return{stream:H.pipeThrough(new TransformStream({start(_){_.enqueue({type:"stream-start",warnings:G})},transform(_,v){var y,h,d,i,f,u,a,r,U1,w1,$1,O1,v1,o1,d1,h1,Y1,l1,$0,r1,q1,P1,z1,W1,k1,M1,p1,j1,y1,e1,Z0,L4,l0,U0,z0,f0,M0,R6;if(X.includeRawChunks)v.enqueue({type:"raw",rawValue:_.rawValue});if(!_.success){z={unified:"error",raw:void 0},v.enqueue({type:"error",error:_.error});return}let C1=_.value;if(mb6(C1)){if(C1.item.type==="function_call")P[C1.output_index]={toolName:C1.item.name,toolCallId:C1.item.call_id},v.enqueue({type:"tool-input-start",id:C1.item.call_id,toolName:C1.item.name});else if(C1.item.type==="custom_tool_call"){let X0=J.toCustomToolName(C1.item.name);P[C1.output_index]={toolName:X0,toolCallId:C1.item.call_id},v.enqueue({type:"tool-input-start",id:C1.item.call_id,toolName:X0})}else if(C1.item.type==="web_search_call")P[C1.output_index]={toolName:J.toCustomToolName(Q!=null?Q:"web_search"),toolCallId:C1.item.id},v.enqueue({type:"tool-input-start",id:C1.item.id,toolName:J.toCustomToolName(Q!=null?Q:"web_search"),providerExecuted:!0}),v.enqueue({type:"tool-input-end",id:C1.item.id}),v.enqueue({type:"tool-call",toolCallId:C1.item.id,toolName:J.toCustomToolName(Q!=null?Q:"web_search"),input:JSON.stringify({}),providerExecuted:!0});else if(C1.item.type==="computer_call")P[C1.output_index]={toolName:J.toCustomToolName("computer_use"),toolCallId:C1.item.id},v.enqueue({type:"tool-input-start",id:C1.item.id,toolName:J.toCustomToolName("computer_use"),providerExecuted:!0});else if(C1.item.type==="code_interpreter_call")P[C1.output_index]={toolName:J.toCustomToolName("code_interpreter"),toolCallId:C1.item.id,codeInterpreter:{containerId:C1.item.container_id}},v.enqueue({type:"tool-input-start",id:C1.item.id,toolName:J.toCustomToolName("code_interpreter"),providerExecuted:!0}),v.enqueue({type:"tool-input-delta",id:C1.item.id,delta:`{"containerId":"${C1.item.container_id}","code":"`});else if(C1.item.type==="file_search_call")v.enqueue({type:"tool-call",toolCallId:C1.item.id,toolName:J.toCustomToolName("file_search"),input:"{}",providerExecuted:!0});else if(C1.item.type==="image_generation_call")v.enqueue({type:"tool-call",toolCallId:C1.item.id,toolName:J.toCustomToolName("image_generation"),input:"{}",providerExecuted:!0});else if(C1.item.type==="tool_search_call"){let X0=C1.item.id,o0=J.toCustomToolName("tool_search"),h4=C1.item.execution==="server";if(P[C1.output_index]={toolName:o0,toolCallId:X0,toolSearchExecution:(y=C1.item.execution)!=null?y:"server"},h4)v.enqueue({type:"tool-input-start",id:X0,toolName:o0,providerExecuted:!0})}else if(C1.item.type==="tool_search_output");else if(C1.item.type==="mcp_call"||C1.item.type==="mcp_list_tools"||C1.item.type==="mcp_approval_request");else if(C1.item.type==="apply_patch_call"){let{call_id:X0,operation:o0}=C1.item;if(P[C1.output_index]={toolName:J.toCustomToolName("apply_patch"),toolCallId:X0,applyPatch:{hasDiff:o0.type==="delete_file",endEmitted:o0.type==="delete_file"}},v.enqueue({type:"tool-input-start",id:X0,toolName:J.toCustomToolName("apply_patch")}),o0.type==="delete_file"){let h4=JSON.stringify({callId:X0,operation:o0});v.enqueue({type:"tool-input-delta",id:X0,delta:h4}),v.enqueue({type:"tool-input-end",id:X0})}else v.enqueue({type:"tool-input-delta",id:X0,delta:`{"callId":"${iR(X0)}","operation":{"type":"${iR(o0.type)}","path":"${iR(o0.path)}","diff":"`})}else if(C1.item.type==="shell_call")P[C1.output_index]={toolName:J.toCustomToolName("shell"),toolCallId:C1.item.call_id};else if(C1.item.type==="shell_call_output");else if(C1.item.type==="message")q.splice(0,q.length),j=(h=C1.item.phase)!=null?h:void 0,v.enqueue({type:"text-start",id:C1.item.id,providerMetadata:{[Z]:{itemId:C1.item.id,...C1.item.phase!=null&&{phase:C1.item.phase}}}});else if(mb6(C1)&&C1.item.type==="reasoning")I[C1.item.id]={encryptedContent:C1.item.encrypted_content,summaryParts:{0:"active"}},v.enqueue({type:"reasoning-start",id:`${C1.item.id}:0`,providerMetadata:{[Z]:{itemId:C1.item.id,reasoningEncryptedContent:(d=C1.item.encrypted_content)!=null?d:null}}})}else if(Ln9(C1)){if(C1.item.type==="message"){let X0=(i=C1.item.phase)!=null?i:j;j=void 0,v.enqueue({type:"text-end",id:C1.item.id,providerMetadata:{[Z]:{itemId:C1.item.id,...X0!=null&&{phase:X0},...q.length>0&&{annotations:q}}}})}else if(C1.item.type==="function_call")P[C1.output_index]=void 0,M=!0,v.enqueue({type:"tool-input-end",id:C1.item.call_id}),v.enqueue({type:"tool-call",toolCallId:C1.item.call_id,toolName:C1.item.name,input:C1.item.arguments,providerMetadata:{[Z]:{itemId:C1.item.id}}});else if(C1.item.type==="custom_tool_call"){P[C1.output_index]=void 0,M=!0;let X0=J.toCustomToolName(C1.item.name);v.enqueue({type:"tool-input-end",id:C1.item.call_id}),v.enqueue({type:"tool-call",toolCallId:C1.item.call_id,toolName:X0,input:JSON.stringify(C1.item.input),providerMetadata:{[Z]:{itemId:C1.item.id}}})}else if(C1.item.type==="web_search_call")P[C1.output_index]=void 0,v.enqueue({type:"tool-result",toolCallId:C1.item.id,toolName:J.toCustomToolName(Q!=null?Q:"web_search"),result:db6(C1.item.action)});else if(C1.item.type==="computer_call")P[C1.output_index]=void 0,v.enqueue({type:"tool-input-end",id:C1.item.id}),v.enqueue({type:"tool-call",toolCallId:C1.item.id,toolName:J.toCustomToolName("computer_use"),input:"",providerExecuted:!0}),v.enqueue({type:"tool-result",toolCallId:C1.item.id,toolName:J.toCustomToolName("computer_use"),result:{type:"computer_use_tool_result",status:C1.item.status||"completed"}});else if(C1.item.type==="file_search_call")P[C1.output_index]=void 0,v.enqueue({type:"tool-result",toolCallId:C1.item.id,toolName:J.toCustomToolName("file_search"),result:{queries:C1.item.queries,results:(u=(f=C1.item.results)==null?void 0:f.map((X0)=>({attributes:X0.attributes,fileId:X0.file_id,filename:X0.filename,score:X0.score,text:X0.text})))!=null?u:null}});else if(C1.item.type==="code_interpreter_call")P[C1.output_index]=void 0,v.enqueue({type:"tool-result",toolCallId:C1.item.id,toolName:J.toCustomToolName("code_interpreter"),result:{outputs:C1.item.outputs}});else if(C1.item.type==="image_generation_call")v.enqueue({type:"tool-result",toolCallId:C1.item.id,toolName:J.toCustomToolName("image_generation"),result:{result:C1.item.result}});else if(C1.item.type==="tool_search_call"){let X0=P[C1.output_index],o0=C1.item.execution==="server";if(X0!=null){let h4=o0?X0.toolCallId:(a=C1.item.call_id)!=null?a:C1.item.id;if(o0)C.push(h4);else v.enqueue({type:"tool-input-start",id:h4,toolName:X0.toolName});v.enqueue({type:"tool-input-end",id:h4}),v.enqueue({type:"tool-call",toolCallId:h4,toolName:X0.toolName,input:JSON.stringify({arguments:C1.item.arguments,call_id:o0?null:h4}),...o0?{providerExecuted:!0}:{},providerMetadata:{[Z]:{itemId:C1.item.id}}})}P[C1.output_index]=void 0}else if(C1.item.type==="tool_search_output"){let X0=(U1=(r=C1.item.call_id)!=null?r:C.shift())!=null?U1:C1.item.id;v.enqueue({type:"tool-result",toolCallId:X0,toolName:J.toCustomToolName("tool_search"),result:{tools:C1.item.tools},providerMetadata:{[Z]:{itemId:C1.item.id}}})}else if(C1.item.type==="mcp_call"){P[C1.output_index]=void 0;let X0=(w1=C1.item.approval_request_id)!=null?w1:void 0,o0=X0!=null?(O1=($1=N.get(X0))!=null?$1:B[X0])!=null?O1:C1.item.id:C1.item.id,h4=`mcp.${C1.item.name}`;v.enqueue({type:"tool-call",toolCallId:o0,toolName:h4,input:C1.item.arguments,providerExecuted:!0,dynamic:!0}),v.enqueue({type:"tool-result",toolCallId:o0,toolName:h4,result:{type:"call",serverLabel:C1.item.server_label,name:C1.item.name,arguments:C1.item.arguments,...C1.item.output!=null?{output:C1.item.output}:{},...C1.item.error!=null?{error:C1.item.error}:{}},providerMetadata:{[Z]:{itemId:C1.item.id}}})}else if(C1.item.type==="mcp_list_tools")P[C1.output_index]=void 0;else if(C1.item.type==="apply_patch_call"){let X0=P[C1.output_index];if((X0==null?void 0:X0.applyPatch)&&!X0.applyPatch.endEmitted&&C1.item.operation.type!=="delete_file"){if(!X0.applyPatch.hasDiff)v.enqueue({type:"tool-input-delta",id:X0.toolCallId,delta:iR(C1.item.operation.diff)});v.enqueue({type:"tool-input-delta",id:X0.toolCallId,delta:'"}}'}),v.enqueue({type:"tool-input-end",id:X0.toolCallId}),X0.applyPatch.endEmitted=!0}if(X0&&C1.item.status==="completed")v.enqueue({type:"tool-call",toolCallId:X0.toolCallId,toolName:J.toCustomToolName("apply_patch"),input:JSON.stringify({callId:C1.item.call_id,operation:C1.item.operation}),providerMetadata:{[Z]:{itemId:C1.item.id}}});P[C1.output_index]=void 0}else if(C1.item.type==="mcp_approval_request"){P[C1.output_index]=void 0;let X0=(d1=(o1=(v1=U.config).generateId)==null?void 0:o1.call(v1))!=null?d1:G6(),o0=(h1=C1.item.approval_request_id)!=null?h1:C1.item.id;N.set(o0,X0);let h4=`mcp.${C1.item.name}`;v.enqueue({type:"tool-call",toolCallId:X0,toolName:h4,input:C1.item.arguments,providerExecuted:!0,dynamic:!0}),v.enqueue({type:"tool-approval-request",approvalId:o0,toolCallId:X0})}else if(C1.item.type==="local_shell_call")P[C1.output_index]=void 0,v.enqueue({type:"tool-call",toolCallId:C1.item.call_id,toolName:J.toCustomToolName("local_shell"),input:JSON.stringify({action:{type:"exec",command:C1.item.action.command,timeoutMs:C1.item.action.timeout_ms,user:C1.item.action.user,workingDirectory:C1.item.action.working_directory,env:C1.item.action.env}}),providerMetadata:{[Z]:{itemId:C1.item.id}}});else if(C1.item.type==="shell_call")P[C1.output_index]=void 0,v.enqueue({type:"tool-call",toolCallId:C1.item.call_id,toolName:J.toCustomToolName("shell"),input:JSON.stringify({action:{commands:C1.item.action.commands}}),...$&&{providerExecuted:!0},providerMetadata:{[Z]:{itemId:C1.item.id}}});else if(C1.item.type==="shell_call_output")v.enqueue({type:"tool-result",toolCallId:C1.item.call_id,toolName:J.toCustomToolName("shell"),result:{output:C1.item.output.map((X0)=>({stdout:X0.stdout,stderr:X0.stderr,outcome:X0.outcome.type==="exit"?{type:"exit",exitCode:X0.outcome.exit_code}:{type:"timeout"}}))}});else if(C1.item.type==="reasoning"){let X0=I[C1.item.id],o0=Object.entries(X0.summaryParts).filter(([h4,V])=>V==="active"||V==="can-conclude").map(([h4])=>h4);for(let h4 of o0)v.enqueue({type:"reasoning-end",id:`${C1.item.id}:${h4}`,providerMetadata:{[Z]:{itemId:C1.item.id,reasoningEncryptedContent:(Y1=C1.item.encrypted_content)!=null?Y1:null}}});delete I[C1.item.id]}}else if(An9(C1)){let X0=P[C1.output_index];if(X0!=null)v.enqueue({type:"tool-input-delta",id:X0.toolCallId,delta:C1.delta})}else if(Tn9(C1)){let X0=P[C1.output_index];if(X0!=null)v.enqueue({type:"tool-input-delta",id:X0.toolCallId,delta:C1.delta})}else if(Mn9(C1)){let X0=P[C1.output_index];if(X0==null?void 0:X0.applyPatch)v.enqueue({type:"tool-input-delta",id:X0.toolCallId,delta:iR(C1.delta)}),X0.applyPatch.hasDiff=!0}else if(Rn9(C1)){let X0=P[C1.output_index];if((X0==null?void 0:X0.applyPatch)&&!X0.applyPatch.endEmitted){if(!X0.applyPatch.hasDiff)v.enqueue({type:"tool-input-delta",id:X0.toolCallId,delta:iR(C1.diff)}),X0.applyPatch.hasDiff=!0;v.enqueue({type:"tool-input-delta",id:X0.toolCallId,delta:'"}}'}),v.enqueue({type:"tool-input-end",id:X0.toolCallId}),X0.applyPatch.endEmitted=!0}}else if(In9(C1))v.enqueue({type:"tool-result",toolCallId:C1.item_id,toolName:J.toCustomToolName("image_generation"),result:{result:C1.partial_image_b64},preliminary:!0});else if(Vn9(C1)){let X0=P[C1.output_index];if(X0!=null)v.enqueue({type:"tool-input-delta",id:X0.toolCallId,delta:iR(C1.delta)})}else if(jn9(C1)){let X0=P[C1.output_index];if(X0!=null)v.enqueue({type:"tool-input-delta",id:X0.toolCallId,delta:'"}'}),v.enqueue({type:"tool-input-end",id:X0.toolCallId}),v.enqueue({type:"tool-call",toolCallId:X0.toolCallId,toolName:J.toCustomToolName("code_interpreter"),input:JSON.stringify({code:C1.code,containerId:X0.codeInterpreter.containerId}),providerExecuted:!0})}else if(qn9(C1))E=C1.response.id,v.enqueue({type:"response-metadata",id:C1.response.id,timestamp:new Date(C1.response.created_at*1000),modelId:C1.response.model});else if(wn9(C1)){if(v.enqueue({type:"text-delta",id:C1.item_id,delta:C1.delta}),(($0=(l1=X.providerOptions)==null?void 0:l1[Z])==null?void 0:$0.logprobs)&&C1.logprobs)D.push(C1.logprobs)}else if(C1.type==="response.reasoning_summary_part.added"){if(C1.summary_index>0){let X0=I[C1.item_id];X0.summaryParts[C1.summary_index]="active";for(let o0 of Object.keys(X0.summaryParts))if(X0.summaryParts[o0]==="can-conclude")v.enqueue({type:"reasoning-end",id:`${C1.item_id}:${o0}`,providerMetadata:{[Z]:{itemId:C1.item_id}}}),X0.summaryParts[o0]="concluded";v.enqueue({type:"reasoning-start",id:`${C1.item_id}:${C1.summary_index}`,providerMetadata:{[Z]:{itemId:C1.item_id,reasoningEncryptedContent:(q1=(r1=I[C1.item_id])==null?void 0:r1.encryptedContent)!=null?q1:null}}})}}else if(C1.type==="response.reasoning_summary_text.delta")v.enqueue({type:"reasoning-delta",id:`${C1.item_id}:${C1.summary_index}`,delta:C1.delta,providerMetadata:{[Z]:{itemId:C1.item_id}}});else if(C1.type==="response.reasoning_summary_part.done")if(W)v.enqueue({type:"reasoning-end",id:`${C1.item_id}:${C1.summary_index}`,providerMetadata:{[Z]:{itemId:C1.item_id}}}),I[C1.item_id].summaryParts[C1.summary_index]="concluded";else I[C1.item_id].summaryParts[C1.summary_index]="can-conclude";else if(En9(C1)){if(z={unified:oS0({finishReason:(P1=C1.response.incomplete_details)==null?void 0:P1.reason,hasFunctionCall:M}),raw:(W1=(z1=C1.response.incomplete_details)==null?void 0:z1.reason)!=null?W1:void 0},O=C1.response.usage,typeof C1.response.service_tier==="string")R=C1.response.service_tier}else if(Pn9(C1)){let X0=(k1=C1.response.incomplete_details)==null?void 0:k1.reason;z={unified:X0?oS0({finishReason:X0,hasFunctionCall:M}):"error",raw:X0!=null?X0:"error"},O=(M1=C1.response.usage)!=null?M1:void 0}else if(Sn9(C1)){if(q.push(C1.annotation),C1.annotation.type==="url_citation")v.enqueue({type:"source",sourceType:"url",id:(y1=(j1=(p1=U.config).generateId)==null?void 0:j1.call(p1))!=null?y1:G6(),url:C1.annotation.url,title:C1.annotation.title});else if(C1.annotation.type==="file_citation")v.enqueue({type:"source",sourceType:"document",id:(L4=(Z0=(e1=U.config).generateId)==null?void 0:Z0.call(e1))!=null?L4:G6(),mediaType:"text/plain",title:C1.annotation.filename,filename:C1.annotation.filename,providerMetadata:{[Z]:{type:C1.annotation.type,fileId:C1.annotation.file_id,index:C1.annotation.index}}});else if(C1.annotation.type==="container_file_citation")v.enqueue({type:"source",sourceType:"document",id:(z0=(U0=(l0=U.config).generateId)==null?void 0:U0.call(l0))!=null?z0:G6(),mediaType:"text/plain",title:C1.annotation.filename,filename:C1.annotation.filename,providerMetadata:{[Z]:{type:C1.annotation.type,fileId:C1.annotation.file_id,containerId:C1.annotation.container_id}}});else if(C1.annotation.type==="file_path")v.enqueue({type:"source",sourceType:"document",id:(R6=(M0=(f0=U.config).generateId)==null?void 0:M0.call(f0))!=null?R6:G6(),mediaType:"application/octet-stream",title:C1.annotation.file_id,filename:C1.annotation.file_id,providerMetadata:{[Z]:{type:C1.annotation.type,fileId:C1.annotation.file_id,index:C1.annotation.index}}})}else if(kn9(C1))v.enqueue({type:"error",error:C1})},flush(_){let v={[Z]:{responseId:E,...D.length>0?{logprobs:D}:{},...R!==void 0?{serviceTier:R}:{}}};_.enqueue({type:"finish",finishReason:z,usage:hb6(O),providerMetadata:v})}})),request:{body:Y},response:{headers:K}}}},Cn9,vn9=class{constructor(X,Y){this.modelId=X,this.config=Y,this.specificationVersion="v3"}get provider(){return this.config.provider}async getArgs({text:X,voice:Y="alloy",outputFormat:G="mp3",speed:Q,instructions:J,language:W,providerOptions:Z}){let $=[],K=await f5({provider:"openai",providerOptions:Z,schema:Cn9}),H={model:this.modelId,input:X,voice:Y,response_format:"mp3",speed:Q,instructions:J};if(G)if(["mp3","opus","aac","flac","wav","pcm"].includes(G))H.response_format=G;else $.push({type:"unsupported",feature:"outputFormat",details:`Unsupported output format: ${G}. Using mp3 instead.`});if(K){let U={};for(let B in U){let N=U[B];if(N!==void 0)H[B]=N}}if(W)$.push({type:"unsupported",feature:"language",details:`OpenAI speech models do not support language selection. Language parameter "${W}" was ignored.`});return{requestBody:H,warnings:$}}async doGenerate(X){var Y,G,Q;let J=(Q=(G=(Y=this.config._internal)==null?void 0:Y.currentDate)==null?void 0:G.call(Y))!=null?Q:new Date,{requestBody:W,warnings:Z}=await this.getArgs(X),{value:$,responseHeaders:K,rawValue:H}=await s8({url:this.config.url({path:"/audio/speech",modelId:this.modelId}),headers:f8(this.config.headers(),X.headers),body:W,failedResponseHandler:YB,successfulResponseHandler:vv6(),abortSignal:X.abortSignal,fetch:this.config.fetch});return{audio:$,warnings:Z,request:{body:JSON.stringify(W)},response:{timestamp:J,modelId:this.modelId,headers:K,body:H}}}},_n9,fn9,cb6,bn9=class{constructor(X,Y){this.modelId=X,this.config=Y,this.specificationVersion="v3"}get provider(){return this.config.provider}async getArgs({audio:X,mediaType:Y,providerOptions:G}){let Q=[],J=await f5({provider:"openai",providerOptions:G,schema:fn9}),W=new FormData,Z=X instanceof Uint8Array?new Blob([X]):new Blob([PG(X)]);W.append("model",this.modelId);let $=Vv6(Y);if(W.append("file",new File([Z],"audio",{type:Y}),`audio.${$}`),J){let K={include:J.include,language:J.language,prompt:J.prompt,response_format:["gpt-4o-transcribe","gpt-4o-mini-transcribe"].includes(this.modelId)?"json":"verbose_json",temperature:J.temperature,timestamp_granularities:J.timestampGranularities};for(let[H,U]of Object.entries(K))if(U!=null)if(Array.isArray(U))for(let B of U)W.append(`${H}[]`,String(B));else W.append(H,String(U))}return{formData:W,warnings:Q}}async doGenerate(X){var Y,G,Q,J,W,Z,$,K;let H=(Q=(G=(Y=this.config._internal)==null?void 0:Y.currentDate)==null?void 0:G.call(Y))!=null?Q:new Date,{formData:U,warnings:B}=await this.getArgs(X),{value:N,responseHeaders:z,rawValue:O}=await aR1({url:this.config.url({path:"/audio/transcriptions",modelId:this.modelId}),headers:f8(this.config.headers(),X.headers),formData:U,failedResponseHandler:YB,successfulResponseHandler:i8(_n9),abortSignal:X.abortSignal,fetch:this.config.fetch}),D=N.language!=null&&N.language in cb6?cb6[N.language]:void 0;return{text:N.text,segments:($=(Z=(J=N.segments)==null?void 0:J.map((E)=>({text:E.text,startSecond:E.start,endSecond:E.end})))!=null?Z:(W=N.words)==null?void 0:W.map((E)=>({text:E.word,startSecond:E.start,endSecond:E.end})))!=null?$:[],language:D,durationInSeconds:(K=N.duration)!=null?K:void 0,warnings:B,response:{timestamp:H,modelId:this.modelId,headers:z,body:O}}}},yn9="3.0.53",ojY;var Xy6=w(()=>{S0();m4();S0();i0();S0();m4();S0();S0();i0();S0();i0();m4();S0();m4();i0();S0();S0();i0();m4();S0();S0();i0();S0();i0();S0();S0();i0();S0();i0();S0();i0();S0();i0();S0();i0();S0();i0();S0();i0();S0();i0();S0();i0();S0();i0();S0();i0();S0();i0();m4();S0();m4();S0();i0();S0();i0();S0();i0();m4();S0();S0();S0();i0();S0();S0();i0();S0();i0();Gk0=F.object({error:F.object({message:F.string(),type:F.string().nullish(),param:F.any().nullish(),code:F.union([F.string(),F.number()]).nullish()})}),YB=bX({errorSchema:Gk0,errorToMessage:(X)=>X.error.message});Qp9=Q0(()=>n1(F.object({id:F.string().nullish(),created:F.number().nullish(),model:F.string().nullish(),choices:F.array(F.object({message:F.object({role:F.literal("assistant").nullish(),content:F.string().nullish(),tool_calls:F.array(F.object({id:F.string().nullish(),type:F.literal("function"),function:F.object({name:F.string(),arguments:F.string()})})).nullish(),annotations:F.array(F.object({type:F.literal("url_citation"),url_citation:F.object({start_index:F.number(),end_index:F.number(),url:F.string(),title:F.string()})})).nullish()}),index:F.number(),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()}))})).nullish()}).nullish(),finish_reason:F.string().nullish()})),usage:F.object({prompt_tokens:F.number().nullish(),completion_tokens:F.number().nullish(),total_tokens:F.number().nullish(),prompt_tokens_details:F.object({cached_tokens:F.number().nullish()}).nullish(),completion_tokens_details:F.object({reasoning_tokens:F.number().nullish(),accepted_prediction_tokens:F.number().nullish(),rejected_prediction_tokens:F.number().nullish()}).nullish()}).nullish()}))),Jp9=Q0(()=>n1(F.union([F.object({id:F.string().nullish(),created:F.number().nullish(),model:F.string().nullish(),choices:F.array(F.object({delta:F.object({role:F.enum(["assistant"]).nullish(),content:F.string().nullish(),tool_calls:F.array(F.object({index:F.number(),id:F.string().nullish(),type:F.literal("function").nullish(),function:F.object({name:F.string().nullish(),arguments:F.string().nullish()})})).nullish(),annotations:F.array(F.object({type:F.literal("url_citation"),url_citation:F.object({start_index:F.number(),end_index:F.number(),url:F.string(),title:F.string()})})).nullish()}).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()}))})).nullish()}).nullish(),finish_reason:F.string().nullish(),index:F.number()})),usage:F.object({prompt_tokens:F.number().nullish(),completion_tokens:F.number().nullish(),total_tokens:F.number().nullish(),prompt_tokens_details:F.object({cached_tokens:F.number().nullish()}).nullish(),completion_tokens_details:F.object({reasoning_tokens:F.number().nullish(),accepted_prediction_tokens:F.number().nullish(),rejected_prediction_tokens:F.number().nullish()}).nullish()}).nullish()}),Gk0]))),Zp9=Q0(()=>n1(F.object({logitBias:F.record(F.coerce.number(),F.number()).optional(),logprobs:F.union([F.boolean(),F.number()]).optional(),parallelToolCalls:F.boolean().optional(),user:F.string().optional(),reasoningEffort:F.enum(["none","minimal","low","medium","high","xhigh"]).optional(),maxCompletionTokens:F.number().optional(),store:F.boolean().optional(),metadata:F.record(F.string().max(64),F.string().max(512)).optional(),prediction:F.record(F.string(),F.any()).optional(),serviceTier:F.enum(["auto","flex","priority","default"]).optional(),strictJsonSchema:F.boolean().optional(),textVerbosity:F.enum(["low","medium","high"]).optional(),promptCacheKey:F.string().optional(),promptCacheRetention:F.enum(["in_memory","24h"]).optional(),safetyIdentifier:F.string().optional(),systemMessageMode:F.enum(["system","developer","remove"]).optional(),forceReasoning:F.boolean().optional()})));Hp9=Q0(()=>n1(F.object({id:F.string().nullish(),created:F.number().nullish(),model:F.string().nullish(),choices:F.array(F.object({text:F.string(),finish_reason:F.string(),logprobs:F.object({tokens:F.array(F.string()),token_logprobs:F.array(F.number()),top_logprobs:F.array(F.record(F.string(),F.number())).nullish()}).nullish()})),usage:F.object({prompt_tokens:F.number(),completion_tokens:F.number(),total_tokens:F.number()}).nullish()}))),Fp9=Q0(()=>n1(F.union([F.object({id:F.string().nullish(),created:F.number().nullish(),model:F.string().nullish(),choices:F.array(F.object({text:F.string(),finish_reason:F.string().nullish(),index:F.number(),logprobs:F.object({tokens:F.array(F.string()),token_logprobs:F.array(F.number()),top_logprobs:F.array(F.record(F.string(),F.number())).nullish()}).nullish()})),usage:F.object({prompt_tokens:F.number(),completion_tokens:F.number(),total_tokens:F.number()}).nullish()}),Gk0]))),bb6=Q0(()=>n1(F.object({echo:F.boolean().optional(),logitBias:F.record(F.string(),F.number()).optional(),suffix:F.string().optional(),user:F.string().optional(),logprobs:F.union([F.boolean(),F.number()]).optional()}))),Bp9=Q0(()=>n1(F.object({dimensions:F.number().optional(),user:F.string().optional()}))),Np9=Q0(()=>n1(F.object({data:F.array(F.object({embedding:F.array(F.number())})),usage:F.object({prompt_tokens:F.number()}).nullish()}))),yb6=Q0(()=>n1(F.object({created:F.number().nullish(),data:F.array(F.object({b64_json:F.string(),revised_prompt:F.string().nullish()})),background:F.string().nullish(),output_format:F.string().nullish(),size:F.string().nullish(),quality:F.string().nullish(),usage:F.object({input_tokens:F.number().nullish(),output_tokens:F.number().nullish(),total_tokens:F.number().nullish(),input_tokens_details:F.object({image_tokens:F.number().nullish(),text_tokens:F.number().nullish()}).nullish()}).nullish()}))),Op9={"dall-e-3":1,"dall-e-2":10,"gpt-image-1":10,"gpt-image-1-mini":10,"gpt-image-1.5":10,"chatgpt-image-latest":10},Dp9=["chatgpt-image-","gpt-image-1-mini","gpt-image-1.5","gpt-image-1"];pb6=Q0(()=>n1(F.object({callId:F.string(),operation:F.discriminatedUnion("type",[F.object({type:F.literal("create_file"),path:F.string(),diff:F.string()}),F.object({type:F.literal("delete_file"),path:F.string()}),F.object({type:F.literal("update_file"),path:F.string(),diff:F.string()})])}))),nb6=Q0(()=>n1(F.object({status:F.enum(["completed","failed"]),output:F.string().optional()}))),FjY=Q0(()=>n1(F.object({}))),Pp9=E8({id:"openai.apply_patch",inputSchema:pb6,outputSchema:nb6}),qp9=Pp9,Ap9=Q0(()=>n1(F.object({code:F.string().nullish(),containerId:F.string()}))),Tp9=Q0(()=>n1(F.object({outputs:F.array(F.discriminatedUnion("type",[F.object({type:F.literal("logs"),logs:F.string()}),F.object({type:F.literal("image"),url:F.string()})])).nullish()}))),Ip9=Q0(()=>n1(F.object({container:F.union([F.string(),F.object({fileIds:F.array(F.string()).optional()})]).optional()}))),Vp9=E8({id:"openai.code_interpreter",inputSchema:Ap9,outputSchema:Tp9}),Mp9=Q0(()=>n1(F.object({name:F.string(),description:F.string().optional(),format:F.union([F.object({type:F.literal("grammar"),syntax:F.enum(["regex","lark"]),definition:F.string()}),F.object({type:F.literal("text")})]).optional()}))),Rp9=Q0(()=>n1(F.string())),Sp9=p5({id:"openai.custom",inputSchema:Rp9}),tb6=F.object({key:F.string(),type:F.enum(["eq","ne","gt","gte","lt","lte","in","nin"]),value:F.union([F.string(),F.number(),F.boolean(),F.array(F.string())])}),ab6=F.object({type:F.enum(["and","or"]),filters:F.array(F.union([tb6,F.lazy(()=>ab6)]))}),Cp9=Q0(()=>n1(F.object({vectorStoreIds:F.array(F.string()),maxNumResults:F.number().optional(),ranking:F.object({ranker:F.string().optional(),scoreThreshold:F.number().optional()}).optional(),filters:F.union([tb6,ab6]).optional()}))),vp9=Q0(()=>n1(F.object({queries:F.array(F.string()),results:F.array(F.object({attributes:F.record(F.string(),F.unknown()),fileId:F.string(),filename:F.string(),score:F.number(),text:F.string()})).nullable()}))),_p9=E8({id:"openai.file_search",inputSchema:F.object({}),outputSchema:vp9}),fp9=Q0(()=>n1(F.object({background:F.enum(["auto","opaque","transparent"]).optional(),inputFidelity:F.enum(["low","high"]).optional(),inputImageMask:F.object({fileId:F.string().optional(),imageUrl:F.string().optional()}).optional(),model:F.string().optional(),moderation:F.enum(["auto"]).optional(),outputCompression:F.number().int().min(0).max(100).optional(),outputFormat:F.enum(["png","jpeg","webp"]).optional(),partialImages:F.number().int().min(0).max(3).optional(),quality:F.enum(["auto","low","medium","high"]).optional(),size:F.enum(["1024x1024","1024x1536","1536x1024","auto"]).optional()}).strict())),bp9=Q0(()=>n1(F.object({}))),yp9=Q0(()=>n1(F.object({result:F.string()}))),xp9=E8({id:"openai.image_generation",inputSchema:bp9,outputSchema:yp9}),rb6=Q0(()=>n1(F.object({action:F.object({type:F.literal("exec"),command:F.array(F.string()),timeoutMs:F.number().optional(),user:F.string().optional(),workingDirectory:F.string().optional(),env:F.record(F.string(),F.string()).optional()})}))),ob6=Q0(()=>n1(F.object({output:F.string()}))),gp9=E8({id:"openai.local_shell",inputSchema:rb6,outputSchema:ob6}),sb6=Q0(()=>n1(F.object({action:F.object({commands:F.array(F.string()),timeoutMs:F.number().optional(),maxOutputLength:F.number().optional()})}))),sS0=Q0(()=>n1(F.object({output:F.array(F.object({stdout:F.string(),stderr:F.string(),outcome:F.discriminatedUnion("type",[F.object({type:F.literal("timeout")}),F.object({type:F.literal("exit"),exitCode:F.number()})])}))}))),up9=F.array(F.discriminatedUnion("type",[F.object({type:F.literal("skillReference"),skillId:F.string(),version:F.string().optional()}),F.object({type:F.literal("inline"),name:F.string(),description:F.string(),source:F.object({type:F.literal("base64"),mediaType:F.literal("application/zip"),data:F.string()})})])).optional(),lp9=Q0(()=>n1(F.object({environment:F.union([F.object({type:F.literal("containerAuto"),fileIds:F.array(F.string()).optional(),memoryLimit:F.enum(["1g","4g","16g","64g"]).optional(),networkPolicy:F.discriminatedUnion("type",[F.object({type:F.literal("disabled")}),F.object({type:F.literal("allowlist"),allowedDomains:F.array(F.string()),domainSecrets:F.array(F.object({domain:F.string(),name:F.string(),value:F.string()})).optional()})]).optional(),skills:up9}),F.object({type:F.literal("containerReference"),containerId:F.string()}),F.object({type:F.literal("local").optional(),skills:F.array(F.object({name:F.string(),description:F.string(),path:F.string()})).optional()})]).optional()}))),mp9=E8({id:"openai.shell",inputSchema:sb6,outputSchema:sS0}),dp9=Q0(()=>n1(F.object({execution:F.enum(["server","client"]).optional(),description:F.string().optional(),parameters:F.record(F.string(),F.unknown()).optional()}))),eS0=Q0(()=>n1(F.object({arguments:F.unknown().optional(),call_id:F.string().nullish()}))),Xk0=Q0(()=>n1(F.object({tools:F.array(F.record(F.string(),F.unknown()))}))),cp9=E8({id:"openai.tool_search",inputSchema:eS0,outputSchema:Xk0}),pp9=Q0(()=>n1(F.object({externalWebAccess:F.boolean().optional(),filters:F.object({allowedDomains:F.array(F.string()).optional()}).optional(),searchContextSize:F.enum(["low","medium","high"]).optional(),userLocation:F.object({type:F.literal("approximate"),country:F.string().optional(),city:F.string().optional(),region:F.string().optional(),timezone:F.string().optional()}).optional()}))),np9=Q0(()=>n1(F.object({}))),tp9=Q0(()=>n1(F.object({action:F.discriminatedUnion("type",[F.object({type:F.literal("search"),query:F.string().optional()}),F.object({type:F.literal("openPage"),url:F.string().nullish()}),F.object({type:F.literal("findInPage"),url:F.string().nullish(),pattern:F.string().nullish()})]).optional(),sources:F.array(F.discriminatedUnion("type",[F.object({type:F.literal("url"),url:F.string()}),F.object({type:F.literal("api"),name:F.string()})])).optional()}))),ap9=E8({id:"openai.web_search",inputSchema:np9,outputSchema:tp9}),op9=Q0(()=>n1(F.object({searchContextSize:F.enum(["low","medium","high"]).optional(),userLocation:F.object({type:F.literal("approximate"),country:F.string().optional(),city:F.string().optional(),region:F.string().optional(),timezone:F.string().optional()}).optional()}))),sp9=Q0(()=>n1(F.object({}))),ep9=Q0(()=>n1(F.object({action:F.discriminatedUnion("type",[F.object({type:F.literal("search"),query:F.string().optional()}),F.object({type:F.literal("openPage"),url:F.string().nullish()}),F.object({type:F.literal("findInPage"),url:F.string().nullish(),pattern:F.string().nullish()})]).optional()}))),Xn9=E8({id:"openai.web_search_preview",inputSchema:sp9,outputSchema:ep9}),Yk0=F.lazy(()=>F.union([F.string(),F.number(),F.boolean(),F.null(),F.array(Yk0),F.record(F.string(),Yk0)])),Yn9=Q0(()=>n1(F.object({serverLabel:F.string(),allowedTools:F.union([F.array(F.string()),F.object({readOnly:F.boolean().optional(),toolNames:F.array(F.string()).optional()})]).optional(),authorization:F.string().optional(),connectorId:F.string().optional(),headers:F.record(F.string(),F.string()).optional(),requireApproval:F.union([F.enum(["always","never"]),F.object({never:F.object({toolNames:F.array(F.string()).optional()}).optional()})]).optional(),serverDescription:F.string().optional(),serverUrl:F.string().optional()}).refine((X)=>X.serverUrl!=null||X.connectorId!=null,"One of serverUrl or connectorId must be provided."))),Gn9=Q0(()=>n1(F.object({}))),Qn9=Q0(()=>n1(F.object({type:F.literal("call"),serverLabel:F.string(),name:F.string(),arguments:F.string(),output:F.string().nullish(),error:F.union([F.string(),Yk0]).optional()}))),Jn9=E8({id:"openai.mcp",inputSchema:Gn9,outputSchema:Qn9}),Wn9={applyPatch:qp9,customTool:kp9,codeInterpreter:jp9,fileSearch:_p9,imageGeneration:hp9,localShell:gp9,shell:mp9,webSearchPreview:Xn9,webSearch:rp9,mcp:Zn9,toolSearch:ip9};Hn9=F.object({itemId:F.string().nullish(),reasoningEncryptedContent:F.string().nullish()});_Z1=F.lazy(()=>F.union([F.string(),F.number(),F.boolean(),F.null(),F.array(_Z1),F.record(F.string(),_Z1.optional())])),Fn9=Q0(()=>n1(F.union([F.object({type:F.literal("response.output_text.delta"),item_id:F.string(),delta:F.string(),logprobs:F.array(F.object({token:F.string(),logprob:F.number(),top_logprobs:F.array(F.object({token:F.string(),logprob:F.number()}))})).nullish()}),F.object({type:F.enum(["response.completed","response.incomplete"]),response:F.object({incomplete_details:F.object({reason:F.string()}).nullish(),usage:F.object({input_tokens:F.number(),input_tokens_details:F.object({cached_tokens:F.number().nullish()}).nullish(),output_tokens:F.number(),output_tokens_details:F.object({reasoning_tokens:F.number().nullish()}).nullish()}),service_tier:F.string().nullish()})}),F.object({type:F.literal("response.failed"),response:F.object({error:F.object({code:F.string().nullish(),message:F.string()}).nullish(),incomplete_details:F.object({reason:F.string()}).nullish(),usage:F.object({input_tokens:F.number(),input_tokens_details:F.object({cached_tokens:F.number().nullish()}).nullish(),output_tokens:F.number(),output_tokens_details:F.object({reasoning_tokens:F.number().nullish()}).nullish()}).nullish(),service_tier:F.string().nullish()})}),F.object({type:F.literal("response.created"),response:F.object({id:F.string(),created_at:F.number(),model:F.string(),service_tier:F.string().nullish()})}),F.object({type:F.literal("response.output_item.added"),output_index:F.number(),item:F.discriminatedUnion("type",[F.object({type:F.literal("message"),id:F.string(),phase:F.enum(["commentary","final_answer"]).nullish()}),F.object({type:F.literal("reasoning"),id:F.string(),encrypted_content:F.string().nullish()}),F.object({type:F.literal("function_call"),id:F.string(),call_id:F.string(),name:F.string(),arguments:F.string()}),F.object({type:F.literal("web_search_call"),id:F.string(),status:F.string()}),F.object({type:F.literal("computer_call"),id:F.string(),status:F.string()}),F.object({type:F.literal("file_search_call"),id:F.string()}),F.object({type:F.literal("image_generation_call"),id:F.string()}),F.object({type:F.literal("code_interpreter_call"),id:F.string(),container_id:F.string(),code:F.string().nullable(),outputs:F.array(F.discriminatedUnion("type",[F.object({type:F.literal("logs"),logs:F.string()}),F.object({type:F.literal("image"),url:F.string()})])).nullable(),status:F.string()}),F.object({type:F.literal("mcp_call"),id:F.string(),status:F.string(),approval_request_id:F.string().nullish()}),F.object({type:F.literal("mcp_list_tools"),id:F.string()}),F.object({type:F.literal("mcp_approval_request"),id:F.string()}),F.object({type:F.literal("apply_patch_call"),id:F.string(),call_id:F.string(),status:F.enum(["in_progress","completed"]),operation:F.discriminatedUnion("type",[F.object({type:F.literal("create_file"),path:F.string(),diff:F.string()}),F.object({type:F.literal("delete_file"),path:F.string()}),F.object({type:F.literal("update_file"),path:F.string(),diff:F.string()})])}),F.object({type:F.literal("custom_tool_call"),id:F.string(),call_id:F.string(),name:F.string(),input:F.string()}),F.object({type:F.literal("shell_call"),id:F.string(),call_id:F.string(),status:F.enum(["in_progress","completed","incomplete"]),action:F.object({commands:F.array(F.string())})}),F.object({type:F.literal("shell_call_output"),id:F.string(),call_id:F.string(),status:F.enum(["in_progress","completed","incomplete"]),output:F.array(F.object({stdout:F.string(),stderr:F.string(),outcome:F.discriminatedUnion("type",[F.object({type:F.literal("timeout")}),F.object({type:F.literal("exit"),exit_code:F.number()})])}))}),F.object({type:F.literal("tool_search_call"),id:F.string(),execution:F.enum(["server","client"]),call_id:F.string().nullable(),status:F.enum(["in_progress","completed","incomplete"]),arguments:F.unknown()}),F.object({type:F.literal("tool_search_output"),id:F.string(),execution:F.enum(["server","client"]),call_id:F.string().nullable(),status:F.enum(["in_progress","completed","incomplete"]),tools:F.array(F.record(F.string(),_Z1.optional()))})])}),F.object({type:F.literal("response.output_item.done"),output_index:F.number(),item:F.discriminatedUnion("type",[F.object({type:F.literal("message"),id:F.string(),phase:F.enum(["commentary","final_answer"]).nullish()}),F.object({type:F.literal("reasoning"),id:F.string(),encrypted_content:F.string().nullish()}),F.object({type:F.literal("function_call"),id:F.string(),call_id:F.string(),name:F.string(),arguments:F.string(),status:F.literal("completed")}),F.object({type:F.literal("custom_tool_call"),id:F.string(),call_id:F.string(),name:F.string(),input:F.string(),status:F.literal("completed")}),F.object({type:F.literal("code_interpreter_call"),id:F.string(),code:F.string().nullable(),container_id:F.string(),outputs:F.array(F.discriminatedUnion("type",[F.object({type:F.literal("logs"),logs:F.string()}),F.object({type:F.literal("image"),url:F.string()})])).nullable()}),F.object({type:F.literal("image_generation_call"),id:F.string(),result:F.string()}),F.object({type:F.literal("web_search_call"),id:F.string(),status:F.string(),action:F.discriminatedUnion("type",[F.object({type:F.literal("search"),query:F.string().nullish(),sources:F.array(F.discriminatedUnion("type",[F.object({type:F.literal("url"),url:F.string()}),F.object({type:F.literal("api"),name:F.string()})])).nullish()}),F.object({type:F.literal("open_page"),url:F.string().nullish()}),F.object({type:F.literal("find_in_page"),url:F.string().nullish(),pattern:F.string().nullish()})]).nullish()}),F.object({type:F.literal("file_search_call"),id:F.string(),queries:F.array(F.string()),results:F.array(F.object({attributes:F.record(F.string(),F.union([F.string(),F.number(),F.boolean()])),file_id:F.string(),filename:F.string(),score:F.number(),text:F.string()})).nullish()}),F.object({type:F.literal("local_shell_call"),id:F.string(),call_id:F.string(),action:F.object({type:F.literal("exec"),command:F.array(F.string()),timeout_ms:F.number().optional(),user:F.string().optional(),working_directory:F.string().optional(),env:F.record(F.string(),F.string()).optional()})}),F.object({type:F.literal("computer_call"),id:F.string(),status:F.literal("completed")}),F.object({type:F.literal("mcp_call"),id:F.string(),status:F.string(),arguments:F.string(),name:F.string(),server_label:F.string(),output:F.string().nullish(),error:F.union([F.string(),F.object({type:F.string().optional(),code:F.union([F.number(),F.string()]).optional(),message:F.string().optional()}).loose()]).nullish(),approval_request_id:F.string().nullish()}),F.object({type:F.literal("mcp_list_tools"),id:F.string(),server_label:F.string(),tools:F.array(F.object({name:F.string(),description:F.string().optional(),input_schema:F.any(),annotations:F.record(F.string(),F.unknown()).optional()})),error:F.union([F.string(),F.object({type:F.string().optional(),code:F.union([F.number(),F.string()]).optional(),message:F.string().optional()}).loose()]).optional()}),F.object({type:F.literal("mcp_approval_request"),id:F.string(),server_label:F.string(),name:F.string(),arguments:F.string(),approval_request_id:F.string().optional()}),F.object({type:F.literal("apply_patch_call"),id:F.string(),call_id:F.string(),status:F.enum(["in_progress","completed"]),operation:F.discriminatedUnion("type",[F.object({type:F.literal("create_file"),path:F.string(),diff:F.string()}),F.object({type:F.literal("delete_file"),path:F.string()}),F.object({type:F.literal("update_file"),path:F.string(),diff:F.string()})])}),F.object({type:F.literal("shell_call"),id:F.string(),call_id:F.string(),status:F.enum(["in_progress","completed","incomplete"]),action:F.object({commands:F.array(F.string())})}),F.object({type:F.literal("shell_call_output"),id:F.string(),call_id:F.string(),status:F.enum(["in_progress","completed","incomplete"]),output:F.array(F.object({stdout:F.string(),stderr:F.string(),outcome:F.discriminatedUnion("type",[F.object({type:F.literal("timeout")}),F.object({type:F.literal("exit"),exit_code:F.number()})])}))}),F.object({type:F.literal("tool_search_call"),id:F.string(),execution:F.enum(["server","client"]),call_id:F.string().nullable(),status:F.enum(["in_progress","completed","incomplete"]),arguments:F.unknown()}),F.object({type:F.literal("tool_search_output"),id:F.string(),execution:F.enum(["server","client"]),call_id:F.string().nullable(),status:F.enum(["in_progress","completed","incomplete"]),tools:F.array(F.record(F.string(),_Z1.optional()))})])}),F.object({type:F.literal("response.function_call_arguments.delta"),item_id:F.string(),output_index:F.number(),delta:F.string()}),F.object({type:F.literal("response.custom_tool_call_input.delta"),item_id:F.string(),output_index:F.number(),delta:F.string()}),F.object({type:F.literal("response.image_generation_call.partial_image"),item_id:F.string(),output_index:F.number(),partial_image_b64:F.string()}),F.object({type:F.literal("response.code_interpreter_call_code.delta"),item_id:F.string(),output_index:F.number(),delta:F.string()}),F.object({type:F.literal("response.code_interpreter_call_code.done"),item_id:F.string(),output_index:F.number(),code:F.string()}),F.object({type:F.literal("response.output_text.annotation.added"),annotation:F.discriminatedUnion("type",[F.object({type:F.literal("url_citation"),start_index:F.number(),end_index:F.number(),url:F.string(),title:F.string()}),F.object({type:F.literal("file_citation"),file_id:F.string(),filename:F.string(),index:F.number()}),F.object({type:F.literal("container_file_citation"),container_id:F.string(),file_id:F.string(),filename:F.string(),start_index:F.number(),end_index:F.number()}),F.object({type:F.literal("file_path"),file_id:F.string(),index:F.number()})])}),F.object({type:F.literal("response.reasoning_summary_part.added"),item_id:F.string(),summary_index:F.number()}),F.object({type:F.literal("response.reasoning_summary_text.delta"),item_id:F.string(),summary_index:F.number(),delta:F.string()}),F.object({type:F.literal("response.reasoning_summary_part.done"),item_id:F.string(),summary_index:F.number()}),F.object({type:F.literal("response.apply_patch_call_operation_diff.delta"),item_id:F.string(),output_index:F.number(),delta:F.string(),obfuscation:F.string().nullish()}),F.object({type:F.literal("response.apply_patch_call_operation_diff.done"),item_id:F.string(),output_index:F.number(),diff:F.string()}),F.object({type:F.literal("error"),sequence_number:F.number(),error:F.object({type:F.string(),code:F.string(),message:F.string(),param:F.string().nullish()})}),F.object({type:F.string()}).loose().transform((X)=>({type:"unknown_chunk",message:X.type}))]))),Un9=Q0(()=>n1(F.object({id:F.string().optional(),created_at:F.number().optional(),error:F.object({message:F.string(),type:F.string(),param:F.string().nullish(),code:F.string()}).nullish(),model:F.string().optional(),output:F.array(F.discriminatedUnion("type",[F.object({type:F.literal("message"),role:F.literal("assistant"),id:F.string(),phase:F.enum(["commentary","final_answer"]).nullish(),content:F.array(F.object({type:F.literal("output_text"),text:F.string(),logprobs:F.array(F.object({token:F.string(),logprob:F.number(),top_logprobs:F.array(F.object({token:F.string(),logprob:F.number()}))})).nullish(),annotations:F.array(F.discriminatedUnion("type",[F.object({type:F.literal("url_citation"),start_index:F.number(),end_index:F.number(),url:F.string(),title:F.string()}),F.object({type:F.literal("file_citation"),file_id:F.string(),filename:F.string(),index:F.number()}),F.object({type:F.literal("container_file_citation"),container_id:F.string(),file_id:F.string(),filename:F.string(),start_index:F.number(),end_index:F.number()}),F.object({type:F.literal("file_path"),file_id:F.string(),index:F.number()})]))}))}),F.object({type:F.literal("web_search_call"),id:F.string(),status:F.string(),action:F.discriminatedUnion("type",[F.object({type:F.literal("search"),query:F.string().nullish(),sources:F.array(F.discriminatedUnion("type",[F.object({type:F.literal("url"),url:F.string()}),F.object({type:F.literal("api"),name:F.string()})])).nullish()}),F.object({type:F.literal("open_page"),url:F.string().nullish()}),F.object({type:F.literal("find_in_page"),url:F.string().nullish(),pattern:F.string().nullish()})]).nullish()}),F.object({type:F.literal("file_search_call"),id:F.string(),queries:F.array(F.string()),results:F.array(F.object({attributes:F.record(F.string(),F.union([F.string(),F.number(),F.boolean()])),file_id:F.string(),filename:F.string(),score:F.number(),text:F.string()})).nullish()}),F.object({type:F.literal("code_interpreter_call"),id:F.string(),code:F.string().nullable(),container_id:F.string(),outputs:F.array(F.discriminatedUnion("type",[F.object({type:F.literal("logs"),logs:F.string()}),F.object({type:F.literal("image"),url:F.string()})])).nullable()}),F.object({type:F.literal("image_generation_call"),id:F.string(),result:F.string()}),F.object({type:F.literal("local_shell_call"),id:F.string(),call_id:F.string(),action:F.object({type:F.literal("exec"),command:F.array(F.string()),timeout_ms:F.number().optional(),user:F.string().optional(),working_directory:F.string().optional(),env:F.record(F.string(),F.string()).optional()})}),F.object({type:F.literal("function_call"),call_id:F.string(),name:F.string(),arguments:F.string(),id:F.string()}),F.object({type:F.literal("custom_tool_call"),call_id:F.string(),name:F.string(),input:F.string(),id:F.string()}),F.object({type:F.literal("computer_call"),id:F.string(),status:F.string().optional()}),F.object({type:F.literal("reasoning"),id:F.string(),encrypted_content:F.string().nullish(),summary:F.array(F.object({type:F.literal("summary_text"),text:F.string()}))}),F.object({type:F.literal("mcp_call"),id:F.string(),status:F.string(),arguments:F.string(),name:F.string(),server_label:F.string(),output:F.string().nullish(),error:F.union([F.string(),F.object({type:F.string().optional(),code:F.union([F.number(),F.string()]).optional(),message:F.string().optional()}).loose()]).nullish(),approval_request_id:F.string().nullish()}),F.object({type:F.literal("mcp_list_tools"),id:F.string(),server_label:F.string(),tools:F.array(F.object({name:F.string(),description:F.string().optional(),input_schema:F.any(),annotations:F.record(F.string(),F.unknown()).optional()})),error:F.union([F.string(),F.object({type:F.string().optional(),code:F.union([F.number(),F.string()]).optional(),message:F.string().optional()}).loose()]).optional()}),F.object({type:F.literal("mcp_approval_request"),id:F.string(),server_label:F.string(),name:F.string(),arguments:F.string(),approval_request_id:F.string().optional()}),F.object({type:F.literal("apply_patch_call"),id:F.string(),call_id:F.string(),status:F.enum(["in_progress","completed"]),operation:F.discriminatedUnion("type",[F.object({type:F.literal("create_file"),path:F.string(),diff:F.string()}),F.object({type:F.literal("delete_file"),path:F.string()}),F.object({type:F.literal("update_file"),path:F.string(),diff:F.string()})])}),F.object({type:F.literal("shell_call"),id:F.string(),call_id:F.string(),status:F.enum(["in_progress","completed","incomplete"]),action:F.object({commands:F.array(F.string())})}),F.object({type:F.literal("shell_call_output"),id:F.string(),call_id:F.string(),status:F.enum(["in_progress","completed","incomplete"]),output:F.array(F.object({stdout:F.string(),stderr:F.string(),outcome:F.discriminatedUnion("type",[F.object({type:F.literal("timeout")}),F.object({type:F.literal("exit"),exit_code:F.number()})])}))}),F.object({type:F.literal("tool_search_call"),id:F.string(),execution:F.enum(["server","client"]),call_id:F.string().nullable(),status:F.enum(["in_progress","completed","incomplete"]),arguments:F.unknown()}),F.object({type:F.literal("tool_search_output"),id:F.string(),execution:F.enum(["server","client"]),call_id:F.string().nullable(),status:F.enum(["in_progress","completed","incomplete"]),tools:F.array(F.record(F.string(),_Z1.optional()))})])).optional(),service_tier:F.string().nullish(),incomplete_details:F.object({reason:F.string()}).nullish(),usage:F.object({input_tokens:F.number(),input_tokens_details:F.object({cached_tokens:F.number().nullish()}).nullish(),output_tokens:F.number(),output_tokens_details:F.object({reasoning_tokens:F.number().nullish()}).nullish()}).optional()}))),Bn9=["o1","o1-2024-12-17","o3","o3-2025-04-16","o3-mini","o3-mini-2025-01-31","o4-mini","o4-mini-2025-04-16","gpt-5","gpt-5-2025-08-07","gpt-5-codex","gpt-5-mini","gpt-5-mini-2025-08-07","gpt-5-nano","gpt-5-nano-2025-08-07","gpt-5-pro","gpt-5-pro-2025-10-06","gpt-5.1","gpt-5.1-chat-latest","gpt-5.1-codex-mini","gpt-5.1-codex","gpt-5.1-codex-max","gpt-5.2","gpt-5.2-chat-latest","gpt-5.2-pro","gpt-5.2-codex","gpt-5.3-chat-latest","gpt-5.3-codex","gpt-5.4","gpt-5.4-2026-03-05","gpt-5.4-mini","gpt-5.4-mini-2026-03-17","gpt-5.4-nano","gpt-5.4-nano-2026-03-17","gpt-5.4-pro","gpt-5.4-pro-2026-03-05"],ujY=["gpt-4.1","gpt-4.1-2025-04-14","gpt-4.1-mini","gpt-4.1-mini-2025-04-14","gpt-4.1-nano","gpt-4.1-nano-2025-04-14","gpt-4o","gpt-4o-2024-05-13","gpt-4o-2024-08-06","gpt-4o-2024-11-20","gpt-4o-audio-preview","gpt-4o-audio-preview-2024-12-17","gpt-4o-search-preview","gpt-4o-search-preview-2025-03-11","gpt-4o-mini-search-preview","gpt-4o-mini-search-preview-2025-03-11","gpt-4o-mini","gpt-4o-mini-2024-07-18","gpt-3.5-turbo-0125","gpt-3.5-turbo","gpt-3.5-turbo-1106","gpt-5-chat-latest",...Bn9],ub6=Q0(()=>n1(F.object({conversation:F.string().nullish(),include:F.array(F.enum(["reasoning.encrypted_content","file_search_call.results","message.output_text.logprobs"])).nullish(),instructions:F.string().nullish(),logprobs:F.union([F.boolean(),F.number().min(1).max(eb6)]).optional(),maxToolCalls:F.number().nullish(),metadata:F.any().nullish(),parallelToolCalls:F.boolean().nullish(),previousResponseId:F.string().nullish(),promptCacheKey:F.string().nullish(),promptCacheRetention:F.enum(["in_memory","24h"]).nullish(),reasoningEffort:F.string().nullish(),reasoningSummary:F.string().nullish(),safetyIdentifier:F.string().nullish(),serviceTier:F.enum(["auto","flex","priority","default"]).nullish(),store:F.boolean().nullish(),strictJsonSchema:F.boolean().nullish(),textVerbosity:F.enum(["low","medium","high"]).nullish(),truncation:F.enum(["auto","disabled"]).nullish(),user:F.string().nullish(),systemMessageMode:F.enum(["system","developer","remove"]).optional(),forceReasoning:F.boolean().optional()})));Cn9=Q0(()=>n1(F.object({instructions:F.string().nullish(),speed:F.number().min(0.25).max(4).default(1).nullish()}))),_n9=Q0(()=>n1(F.object({text:F.string(),language:F.string().nullish(),duration:F.number().nullish(),words:F.array(F.object({word:F.string(),start:F.number(),end:F.number()})).nullish(),segments:F.array(F.object({id:F.number(),seek:F.number(),start:F.number(),end:F.number(),text:F.string(),tokens:F.array(F.number()),temperature:F.number(),avg_logprob:F.number(),compression_ratio:F.number(),no_speech_prob:F.number()})).nullish()}))),fn9=Q0(()=>n1(F.object({include:F.array(F.string()).optional(),language:F.string().optional(),prompt:F.string().optional(),temperature:F.number().min(0).max(1).default(0).optional(),timestampGranularities:F.array(F.enum(["word","segment"])).default(["segment"]).optional()}))),cb6={afrikaans:"af",arabic:"ar",armenian:"hy",azerbaijani:"az",belarusian:"be",bosnian:"bs",bulgarian:"bg",catalan:"ca",chinese:"zh",croatian:"hr",czech:"cs",danish:"da",dutch:"nl",english:"en",estonian:"et",finnish:"fi",french:"fr",galician:"gl",german:"de",greek:"el",hebrew:"he",hindi:"hi",hungarian:"hu",icelandic:"is",indonesian:"id",italian:"it",japanese:"ja",kannada:"kn",kazakh:"kk",korean:"ko",latvian:"lv",lithuanian:"lt",macedonian:"mk",malay:"ms",marathi:"mr",maori:"mi",nepali:"ne",norwegian:"no",persian:"fa",polish:"pl",portuguese:"pt",romanian:"ro",russian:"ru",serbian:"sr",slovak:"sk",slovenian:"sl",spanish:"es",swahili:"sw",swedish:"sv",tagalog:"tl",tamil:"ta",thai:"th",turkish:"tr",ukrainian:"uk",urdu:"ur",vietnamese:"vi",welsh:"cy"};ojY=Qk0()});function xn9(X){let Y=JSON.parse(X);if(!Y.baseUrl||typeof Y.baseUrl!=="string")throw Error("Invalid OpenAI-compatible credential: missing baseUrl field");let G=Y.baseUrl.replace(/\/+$/,"");if(!G.endsWith("/v1"))G+="/v1";return{baseUrl:G,apiKey:Y.apiKey??""}}var hn9="https://assets.decocache.com/decocms/d138aa7e-5b8c-4821-9e64-6aff40df2cdc/ChatGPT_logo.svg",Yy6;var Gy6=w(()=>{Xy6();Yy6={info:{id:"openai-compatible",name:"OpenAI Compatible",description:"Custom OpenAI-compatible endpoint",logo:hn9},supportedMethods:["api-key"],create(X){let{baseUrl:Y,apiKey:G}=xn9(X),Q=Qk0({baseURL:Y,apiKey:G||"not-needed",name:"openai-compatible"}),J=Object.assign((...W)=>Q.chat(...W),Q,{languageModel:Q.chat});return{info:this.info,aiSdk:J,async listModels(){let W={};if(G)W.Authorization=`Bearer ${G}`;let Z=await fetch(`${Y}/models`,{headers:W,signal:AbortSignal.timeout(15000)});if(!Z.ok)throw Error(`OpenAI-compatible listModels failed: ${Z.status}`);return(await Z.json()).data.map((K)=>({providerId:"openai-compatible",modelId:K.id,title:K.id,description:K.owned_by?`Owned by ${K.owned_by}`:null,logo:null,capabilities:[],limits:null,costs:null}))}}}}});function zJ(){let X=u4();return{...X.aiGatewayEnabled&&{deco:RG1},...X.localMode&&{"claude-code":jS0,codex:cS0},anthropic:a_6,google:Rb6,openrouter:Vj1,"openai-compatible":Yy6}}var OL=w(()=>{r_6();jS1();_S1();Sb6();Gy6();z20();D20();l9()});function gn9(X){return X.includes("/")?X.split("/").slice(1).join("/"):X}function un9(X){let Y=X.supported_parameters.includes("tools"),G=X.supported_parameters.includes("reasoning");return{providerId:"openrouter",modelId:gn9(X.id),title:X.name,description:X.description||null,logo:null,capabilities:[...new Set([...X.architecture.input_modalities.map((Q)=>Q==="image"?"vision":Q),...X.architecture.output_modalities,...Y?["tools"]:[],...G?["reasoning"]:[]])],limits:{contextWindow:X.context_length,maxOutputTokens:X.top_provider.max_completion_tokens||null},costs:{input:X.pricing.prompt,output:X.pricing.completion}}}function Jy6(X){let Y=new Map;for(let G of X){let Q={description:G.description,capabilities:G.capabilities,limits:G.limits,costs:G.costs};Y.set(G.modelId,Q);let J=G.modelId.replace(/\./g,"-");if(J!==G.modelId)Y.set(J,Q)}return Y}async function ln9(X){if(X){let Y=await X.get(Qy6,"openrouter");if(Y)return Jy6(Y)}try{let Y=await fetch("https://openrouter.ai/api/v1/models",{signal:AbortSignal.timeout(1e4)});if(!Y.ok)return new Map;let{data:G}=await Y.json(),Q=G.map(un9);if(X)await X.set(Qy6,"openrouter",Q);return Jy6(Q)}catch{return new Map}}function mn9(X){let Y=X.replace(/\./g,"-"),G=X.replace(/-\d{8}$/,""),Q=G.replace(/\./g,"-");return[...new Set([X,Y,G,Q])]}function dn9(X){return X.providerId==="anthropic"||X.modelId.startsWith("anthropic/")}function Wy6(X,Y){if(dn9(Y)&&X.includes("vision")&&!X.includes("file"))return[...X,"file"];return X}function cn9(X,Y){return X.map((G)=>{let J=mn9(G.modelId).map(($)=>Y.get($)).find(Boolean),W=G.capabilities.length?G.capabilities:J?.capabilities??[],Z=Wy6(W,G);if(!J)return Z===W?G:{...G,capabilities:Z};return{...G,description:G.description??J.description??null,capabilities:Z,limits:G.limits??J.limits??null,costs:G.costs??J.costs??null}})}class Jk0{storage;cache;constructor(X,Y){this.storage=X;this.cache=Y}async activate(X,Y){let{keyInfo:G,apiKey:Q}=await this.storage.resolve(X,Y),J=zJ()[G.providerId];if(!J)throw Error(`Unknown provider: ${G.providerId}`);return J.create(Q)}async listModels(X,Y){let{keyInfo:G,apiKey:Q}=await this.storage.resolve(X,Y),J=G.providerId,W=zJ()[J];if(!W)throw Error(`Unknown provider: ${J}`);if(this.cache){let B=await this.cache.get(Y,J);if(B)return Zy6(B,W,Q)}let $=await W.create(Q).listModels(),K=new Set,H=$.filter((B)=>{if(B.deprecated)return!1;if(K.has(B.modelId))return!1;return K.add(B.modelId),!0});if(J!=="openrouter"){let B=await ln9(this.cache);H=cn9(H,B)}else H=H.map((B)=>({...B,capabilities:Wy6(B.capabilities,B)}));let U=H.map((B)=>({...B,providerId:J}));if(this.cache)await this.cache.set(Y,J,U);return Zy6(U,W,Q)}}function Zy6(X,Y,G){let J=Y.create(G).asyncResearch;if(!J)return X;return X.map((W)=>J.canHandle(W.modelId)?{...W,asyncResearch:!0}:W)}var Qy6="_global";var $y6=w(()=>{OL()});function bS1(X,Y){return{get:(G)=>X.get(Y,G),put:(G,Q,J)=>X.put(Y,G,Q,J),list:(G)=>X.list(Y,G),delete:(G)=>X.delete(Y,G),head:(G)=>X.head(Y,G),presignedGetUrl:(G,Q)=>X.presignedGetUrl(Y,G,Q),presignedPutUrl:(G,Q,J)=>X.presignedPutUrl(Y,G,Q,J)}}import{mkdir as in9,readdir as pn9,readFile as Ky6,stat as yS1,unlink as nn9,writeFile as tn9}from"fs/promises";import{createHmac as an9}from"crypto";import{dirname as rn9,join as bZ1}from"path";function Zk0(X){let Y=X.replace(/[^a-zA-Z0-9_-]/g,"_");return bZ1(on9,Y)}function fZ1(X,Y){return bZ1(Zk0(X),Gr(Y))}class yZ1{orgId;baseUrl;constructor(X,Y){this.orgId=X;this.baseUrl=Y}async get(X){let Y=fZ1(this.orgId,X),G=await yS1(Y),Q=QA(X),J=await Ky6(Y),W=kV1(Q);return{content:W?new TextDecoder().decode(J):Buffer.from(J).toString("base64"),contentType:Q,encoding:W?"utf-8":"base64",size:G.size,lastModified:G.mtime}}async put(X,Y,G){let Q=fZ1(this.orgId,X);return await in9(rn9(Q),{recursive:!0}),await tn9(Q,typeof Y==="string"?Buffer.from(Y,"utf-8"):Y),{key:X}}async list(X){let Y=X?.prefix?bZ1(Zk0(this.orgId),Gr(X.prefix)):Zk0(this.orgId),G;try{G=await pn9(Y,{withFileTypes:!0})}catch{return{objects:[],isTruncated:!1}}let Q=X?.maxKeys??1000,J=X?.prefix,W=G.filter(($)=>$.isFile());if(X?.delimiter){let $=[],K=G.filter((O)=>O.isDirectory());for(let O of K){let D=J?`${J}/${O.name}/`:`${O.name}/`;$.push(D)}$.sort();let H=Q,U=$.slice(0,H);H-=U.length;let B=W.slice(0,H),N=$.length+W.length;return{objects:await Promise.all(B.map(async(O)=>{let D=await yS1(bZ1(Y,O.name));return{key:J?`${J}/${O.name}`:O.name,size:D.size,lastModified:D.mtime}})),isTruncated:N>Q,commonPrefixes:U.length>0?U:void 0}}return{objects:await Promise.all(W.slice(0,Q).map(async($)=>{let K=await yS1(bZ1(Y,$.name));return{key:J?`${J}/${$.name}`:$.name,size:K.size,lastModified:K.mtime}})),isTruncated:W.length>Q}}async delete(X){await nn9(fZ1(this.orgId,X))}async head(X){let Y=await yS1(fZ1(this.orgId,X));return{contentType:QA(X),size:Y.size,lastModified:Y.mtime}}async presignedGetUrl(X){let Y=fZ1(this.orgId,X),G=await Ky6(Y),Q=QA(X),J=Buffer.from(G).toString("base64");return`data:${Q};base64,${J}`}async presignedPutUrl(X,Y=3600){if(!this.baseUrl)throw Error("baseUrl required for presigned PUT URLs in dev mode");let G=Gr(X),Q=Math.floor(Date.now()/1000)+Y,J=u4().encryptionKey||"dev-secret",W=`${this.orgId}:${G}:${Q}:PUT`,Z=an9("sha256",J).update(W).digest("hex"),$=new URL(`/api/dev-assets/${this.orgId}/${G}`,this.baseUrl);return $.searchParams.set("expires",Q.toString()),$.searchParams.set("signature",Z),$.searchParams.set("method","PUT"),$.toString()}}var on9="./data/assets";var Wk0=w(()=>{nT0();l9()});function sn9(X){if(!X)return;try{let Y=JSON.parse(X);if(typeof Y!=="object"||Y===null||Array.isArray(Y))return;let G={};for(let[Q,J]of Object.entries(Y))if(typeof J==="string")G[Q]=J;return Object.keys(G).length>0?G:void 0}catch{return}}function en9(X,Y){for(let[G,Q]of Object.entries(Y)){let J=X[G];if(!J||J.length===0){let W=X["*"];if(!W||W.length===0)return!1;if(W.includes("*"))continue;for(let Z of Q)if(!W.includes(Z))return!1;continue}if(J.includes("*"))continue;for(let W of Q)if(!J.includes(W))return!1}return!0}function Kk0(X){let{auth:Y,headers:G,role:Q,permissions:J,userId:W}=X,Z=Y.api.hasPermission;return{hasPermission:async($,K)=>{if(Q&&XR0.includes(Q))return!0;if(J)return en9(J,$);if(!Z)return console.error("[Auth] hasPermission API not available"),!1;let H=K?.organizationId?{organizationId:K.organizationId}:{};try{if((await Z({headers:G,body:{permission:$,...H}}))?.success===!0)return!0;let B={};for(let z of Object.keys($))B[z]=["*"];return(await Z({headers:G,body:{permission:B,...H}}))?.success===!0}catch(U){return console.error("[Auth] Permission check failed:",U),!1}},organization:{create:async($)=>{return Y.api.createOrganization({headers:G,body:$})},update:async($)=>{return Y.api.updateOrganization({headers:G,body:$})},delete:async($)=>{await Y.api.deleteOrganization({headers:G,body:{organizationId:$}})},get:async($)=>{return Y.api.getFullOrganization({headers:G,query:$?{organizationId:$}:void 0})},list:async($)=>{return Y.api.listOrganizations({headers:G,query:$?{userId:$}:void 0})},addMember:async($)=>{return Y.api.addMember({headers:G,body:$})},removeMember:async($)=>{await Y.api.removeMember({headers:G,body:$})},listMembers:async($)=>{return Y.api.listMembers({headers:G,query:$?{organizationId:$.organizationId,limit:$.limit,offset:$.offset}:void 0})},updateMemberRole:async($)=>{return Y.api.updateMemberRole({headers:G,body:$})}},apiKey:{create:async($)=>{return Y.api.createApiKey({body:{...$,userId:W}})},list:async()=>{return Y.api.listApiKeys({headers:G})},update:async($)=>{return Y.api.updateApiKey({body:{...$,userId:W}})},delete:async($)=>{await Y.api.deleteApiKey({headers:G,body:{keyId:$}})}}}}async function Hk0(X,Y,G){if(XR0.includes(G))return;let Q=await X.selectFrom("organizationRole").select(["permission"]).where("organizationId","=",Y).where("role","=",G).executeTakeFirst();if(!Q?.permission)return;try{return JSON.parse(Q.permission)}catch{console.error(`[Auth] Failed to parse permissions for role: ${G}`);return}}async function Xt9(X,Y,G,Q=Fy6,J){let W=X.headers.get("Authorization");try{let Z=new Headers(X.headers);Z.set("X-MCP-Session-Auth","true");let $=await Q.measure("auth_get_mcp_session",()=>Y.api.getMcpSession({headers:Z}));if($){let K=$.userId,H=X.headers.get("x-org-id"),U=X.headers.get("x-org-slug"),B=await Q.measure("auth_query_membership",()=>{let D=G.selectFrom("member").innerJoin("organization","organization.id","member.organizationId").select(["member.role","member.organizationId","organization.id as orgId","organization.slug as orgSlug","organization.name as orgName","organization.metadata as orgMetadata"]).where("member.userId","=",K);if(H)return D.where("organization.id","=",H).executeTakeFirst();if(U)return D.where("organization.slug","=",U).executeTakeFirst();return D.executeTakeFirst()});if(B?.orgMetadata)try{if(JSON.parse(B.orgMetadata).archived===!0)throw Error("Organization is archived")}catch(D){if(D.message==="Organization is archived")throw D}let N=B?.role,z=B?{id:B.orgId,slug:B.orgSlug,name:B.orgName}:void 0;if(B&&N)J?.set(K,B.organizationId,N);let O;if(B&&N)O=await Q.measure("auth_fetch_role_permissions",()=>Hk0(G,B.organizationId,N));return{user:{id:K,role:N},role:N,permissions:O,organization:z}}}catch(Z){console.error("[Auth] OAuth session check failed:",Z)}if(W?.startsWith("Bearer ")){let Z=W.replace("Bearer ","").trim();try{let $=await Q.measure("auth_verify_mesh_jwt",()=>ST6(Z));if($){let K,H=$.metadata?.organizationId;if($.sub&&H){let N=J?.get($.sub,H);if(N)K=N;else if(K=(await Q.measure("auth_query_membership",()=>G.selectFrom("member").select(["member.role"]).where("member.userId","=",$.sub).where("member.organizationId","=",H).executeTakeFirst()))?.role,K)J?.set($.sub,H,K)}let U,B=$.metadata?.organizationId;if(B){let N=$.metadata?.organizationName,z=$.metadata?.organizationSlug;if(N||z)U={id:B,name:N,slug:z};else{let O=await Q.measure("auth_query_org_for_mesh_jwt",()=>G.selectFrom("organization").select(["id","slug","name"]).where("id","=",B).executeTakeFirst());U=O?{id:O.id,slug:O.slug,name:O.name}:{id:B}}}return{user:{id:$.sub,connectionId:$.metadata?.connectionId,role:K},role:K,permissions:$.permissions,organization:U}}}catch{}try{let $=await Q.measure("auth_verify_api_key",()=>Y.api.verifyApiKey({body:{key:Z}}));if($?.valid&&$.key){let K=$.key.metadata?.organization,H=$.key.permissions,U,B=$.key.userId;if(B&&K?.id){let N=J?.get(B,K.id);if(N)U=N;else if(U=(await Q.measure("auth_query_membership",()=>G.selectFrom("member").select(["member.role"]).where("member.userId","=",B).where("member.organizationId","=",K.id).executeTakeFirst()))?.role,B&&U)J?.set(B,K.id,U)}return{apiKeyId:$.key.id,user:{id:$.key.userId,role:U},role:U,permissions:H,organization:K?{id:K.id,slug:K.slug,name:K.name}:void 0}}}catch($){console.error("[Auth] API key check failed:",$)}}try{let Z=new Headers(X.headers);Z.delete("Authorization");let $=await Q.measure("auth_get_session",()=>Y.api.getSession({headers:Z}));if($){let K,H,U=X.headers.get("x-org-id"),B=X.headers.get("x-org-slug");if(!U&&!B&&X.method.toUpperCase()==="GET")try{let N=new URL(X.url).searchParams;U=N.get("x-org-id"),B=N.get("x-org-slug")}catch{}if(U||B){let N=await Q.measure("auth_query_membership_from_header",()=>{let z=G.selectFrom("member").innerJoin("organization","organization.id","member.organizationId").select(["member.role","organization.id as orgId","organization.slug as orgSlug","organization.name as orgName"]).where("member.userId","=",$.user.id);if(U)z=z.where("organization.id","=",U);else if(B)z=z.where("organization.slug","=",B);return z.executeTakeFirst()});if(N)K={id:N.orgId,slug:N.orgSlug,name:N.orgName},H=N.role}else if($.session.activeOrganizationId){let N=await Q.measure("auth_get_full_organization",()=>Y.api.getFullOrganization({headers:Z}).catch(()=>null));if(N){if(N.metadata?.archived===!0)throw Error("Organization is archived");K={id:N.id,slug:N.slug,name:N.name},H=N.members?.find((O)=>O.userId===$.user.id)?.role}else K={id:$.session.activeOrganizationId,slug:"",name:""}}return{user:{id:$.user.id,email:$.user.email,emailVerified:!!$.user.emailVerified,name:$.user.name,image:$.user.image??void 0,role:H},role:H,organization:K}}}catch(Z){let $=Z;console.error("[Auth] Session check failed:",JSON.stringify({message:$.message,body:$.body,stack:$.stack},null,2))}return{user:void 0}}async function Uy6(X){let Y=new lM(X.encryption.key),G=u4().clickhouseUrl,Q=!!G,J=Q?"clickhouse":"duckdb",W,Z;if(Q)W=new RJ1(G),Z=new RJ1(G);else{let{engine:D}=await fM0({basePath:AD()}),{engine:E}=await fM0({basePath:SV()});W=D,Z=E}let{resolve:$}=await import("path"),K=$(AD()),H=$(SV()),U=Q?(D)=>"monitoring_logs":(D)=>`read_ndjson('${K}/${D}/**/*.ndjson', auto_detect=true)`,B=process.env.USE_METRICS_ROLLUP!=="false",N=Q?(D)=>B?"monitoring_metrics_rollup_1m":"monitoring_metrics":(D)=>`read_ndjson('${H}/${D}/**/*.ndjson', auto_detect=true)`,z=new bJ1(X.db),O={connections:new vG1(X.db,Y),organizationSettings:new bM0(X.db),monitoring:new bj0(W,U,Z,N,J),virtualMcps:new _G1(X.db),users:new nM0(X.db),tags:new pM0(X.db),virtualMcpPluginConfigs:new yM0(X.db),aiProviderKeys:new kG1(X.db,Y),oauthPkceStates:new GR0(X.db),automations:MR1(X.db),triggerCallbackTokens:new SJ1(X.db),orgSsoConfig:new uM0(X.db,Y),orgSsoSessions:new lM0(X.db),registry:{items:new jo(X.db),publishRequests:new Mo(X.db),publishApiKeys:new Ro(X.db),monitorRuns:new bR1(X.db),monitorResults:new yR1(X.db),monitorConnections:new xR1(X.db)},brandContext:new kJ1(X.db),organizationDomains:new mw(X.db)};return async(D,E)=>{let P=E?.timings??Fy6,q=Co(),j=D?await X.observability.tracer.startActiveSpan("mesh.auth",async(u)=>{try{let a=await Xt9(D,X.auth,X.db,P,X.memberRoleCache);return u.setStatus({code:$k0.SpanStatusCode.OK}),a}catch(a){throw u.setStatus({code:$k0.SpanStatusCode.ERROR,message:a.message}),u.recordException(a),a}finally{u.end()}}):{user:void 0},M=D?.headers.get("x-caller-id")??j.user?.connectionId??void 0,I=Kk0({auth:X.auth,headers:D?.headers??new Headers,role:j.role,permissions:j.permissions,userId:j.user?.id}),R={user:j.user};if(j.apiKeyId)R.apiKey={id:j.apiKeyId,name:"",userId:""};let C=j.organization,_=D?u4().baseUrl??`${new URL(D.url).origin}`:t$(),v=new SR(X.auth,R.user?.id,void 0,I,j.role,"self",void 0,C?.id),y={...O,threads:new fJ1(z,C?.id)},h=new Jk0(y.aiProviderKeys,X.modelListCache),d=Qr(),i=!C?null:d?bS1(d,C.id):new yZ1(C.id,_),f={timings:P,auth:R,connectionId:M,organization:C,storage:y,vault:Y,authInstance:X.auth,boundAuth:I,access:v,db:X.db,tracer:X.observability.tracer,meter:X.observability.meter,baseUrl:_,objectStorage:i,metadata:{requestId:crypto.randomUUID(),timestamp:new Date,wellKnownForwardableHeaders:Object.fromEntries(Yt9.map((u)=>[u,D?.headers.get(u)??null]).filter(([u,a])=>a!==null)),userAgent:D?.headers.get("x-mesh-client")||D?.headers.get("User-Agent")||void 0,ipAddress:(D?.headers.get("CF-Connecting-IP")||D?.headers.get("X-Forwarded-For"))??void 0,properties:sn9(D?.headers.get("x-mesh-properties"))},eventBus:X.eventBus,aiProviders:h,createMCPProxy:async(u)=>{return await XC6(u,f)},invalidateMemberRole:X.memberRoleCache?(u,a)=>X.memberRoleCache.invalidate(u,a):void 0,getOrCreateClient:q,pendingRevalidations:[],firecrawlApiKey:u4().firecrawlApiKey};return f}}var $k0,Hy6,GB,Fy6,Yt9;var xZ1=w(()=>{mM();jj1();l9();lw();E20();P20();XR6();vk6();oK();_k6();xM0();gM0();ck6();ik6();hR1();uR1();vJ1();dR1();cR1();w20();$y6();CV1();Wk0();$k0=X1(x0(),1);GB={set:(X)=>{Hy6=X},create:async(X,Y)=>{return await Hy6(X,Y)}},Fy6={measure:async(X,Y)=>{return await Y()}},Yt9=["x-hub-signature-256"]});async function Gt9(X,Y,G){return(await Y.storage.connections.findById(X,G))?.connection_url??null}function Qt9(X){let Y=X.toLowerCase();return Y.includes("resource_metadata=")||Y.includes("invalid_token")||Y.includes("oauth")}async function By6(X,Y={}){try{let G=await fetch(X,{method:"POST",headers:{...Y,"Content-Type":"application/json",Accept:"application/json, text/event-stream"},body:JSON.stringify({jsonrpc:"2.0",id:0,method:"initialize",params:{protocolVersion:"2025-06-18",capabilities:{},clientInfo:{name:"mcp-cms-proxy",version:"1.0.0"}}})});if(G.status===401){let Q=G.headers.get("WWW-Authenticate");if(Q){if(Qt9(Q))return Q}if(await Jt9(X))return'Bearer realm="mcp"'}return null}catch{return null}}async function Jt9(X){try{let Y=new URL(X),G=new URL("/.well-known/oauth-authorization-server",Y.origin),Q=await fetch(G.toString(),{method:"GET",headers:{Accept:"application/json"}});if(Q.ok){let J=await Q.json();if(J.authorization_endpoint||J.token_endpoint||J.issuer)return!0}return!1}catch{return!1}}async function Xs(X){let G=new URL(X).pathname;if(G.endsWith("/"))G=G.slice(0,-1);let Q=new URL(X);Q.pathname=`${G}/.well-known/oauth-protected-resource`;let J=await fetch(Q.toString(),{method:"GET",headers:{Accept:"application/json"}});if(J.ok)return J;if(!Fk0.includes(J.status))return J;let W=new URL(X);if(W.pathname=`/.well-known/oauth-protected-resource${G}`,J=await fetch(W.toString(),{method:"GET",headers:{Accept:"application/json"}}),!Fk0.includes(J.status))return J;let Z=new URL(X);return Z.pathname="/.well-known/oauth-protected-resource",J=await fetch(Z.toString(),{method:"GET",headers:{Accept:"application/json"}}),J}async function Zt9(X){let Y;try{Y=new URL(X).origin}catch{return null}try{let G=await Xs(X);if(G.ok){let Q=await G.json();if(Q.authorization_servers?.[0])return Q.authorization_servers[0]}}catch{}return Y}async function Ny6(X){let Y=X.get("meshContext");if(!Y)Y=await GB.create(X.req.raw),X.set("meshContext",Y);return Y}function zy6(X){return X?`/api/${X}`:""}async function Oy6({error:X,reqUrl:Y,connectionId:G,connectionUrl:Q,headers:J,orgSlug:W}){let Z=X.message?.toLowerCase()??"";if(!(X.status===401||X.code===401||X.message?.includes("401")||Z.includes("unauthorized")||Z.includes("invalid_token")||Z.includes("api key required")||Z.includes("api-key required")))return null;if(Boolean(await By6(Q,J))){let H=zy6(W);return new Response(null,{status:401,headers:{"WWW-Authenticate":`Bearer realm="mcp",resource_metadata="${Y.origin}${H}/mcp/${G}/.well-known/oauth-protected-resource"`}})}return new Response(JSON.stringify({error:"unauthorized",message:"Authentication required but server does not support OAuth"}),{status:401,headers:{"Content-Type":"application/json"}})}async function gZ1(X){let G=new URL(X).pathname;if(G.endsWith("/"))G=G.slice(0,-1);let Q=G!==""&&G!=="/",J=[];if(Q){let Z=new URL(X);Z.pathname=`/.well-known/oauth-authorization-server${G}`,J.push(Z);let $=new URL(X);$.pathname=`/.well-known/openid-configuration${G}`,J.push($);let K=new URL(X);K.pathname=`${G}/.well-known/openid-configuration`,J.push(K)}else{let Z=new URL(X);Z.pathname="/.well-known/oauth-authorization-server",J.push(Z);let $=new URL(X);$.pathname="/.well-known/openid-configuration",J.push($)}let W=null;for(let Z of J){if(W=await fetch(Z.toString(),{method:"GET",headers:{Accept:"application/json"}}),W.ok)return W;if(W.status!==404&&W.status!==401)return W}return W}var Fk0,Dy6=(X)=>{if(!(X.hostname==="localhost"||X.hostname.endsWith(".localhost")||X.hostname==="127.0.0.1"))X.protocol="https:";return X},hZ1=async(X)=>{let Y=X.req.param("connectionId"),G=await Ny6(X),Q=Dy6(new URL(X.req.url)),J=X.req.param("org")??G.organization?.slug,W;if(J)if(G.organization?.id&&G.organization.slug===J)W=G.organization.id;else{let U=await G.db.selectFrom("organization").select("id").where("slug","=",J).executeTakeFirst();if(!U)return X.json({error:"Connection not found"},404);W=U.id}let Z=await Gt9(Y,G,W);if(!Z)return X.json({error:"Connection not found"},404);let $=zy6(J),K=`${Q.origin}${$}/mcp/${Y}`,H=`${Q.origin}/oauth-proxy/${Y}`;try{let U=await Xs(Z);if(!U.ok&&Fk0.includes(U.status)){if(await By6(Z))return new Response(JSON.stringify({resource:K,authorization_servers:[H],bearer_methods_supported:["header"],scopes_supported:["*"]}),{status:200,headers:{"Content-Type":"application/json"}});return new Response(U.body,{status:U.status,statusText:U.statusText,headers:{"Content-Type":"application/json"}})}if(!U.ok)return new Response(U.body,{status:U.status,statusText:U.statusText,headers:{"Content-Type":"application/json"}});let B=await U.json();if("issuer"in B&&!("resource"in B)&&(("authorization_endpoint"in B)||("token_endpoint"in B))){let O={resource:K,authorization_servers:[H],bearer_methods_supported:["header"],scopes_supported:"scopes_supported"in B&&Array.isArray(B.scopes_supported)&&B.scopes_supported.length>0?B.scopes_supported:["*"]};return new Response(JSON.stringify(O),{status:200,headers:{"Content-Type":"application/json"}})}let z={...B,resource:K,authorization_servers:[H]};return new Response(JSON.stringify(z),{status:U.status,statusText:U.statusText,headers:{"Content-Type":"application/json"}})}catch(U){let B=U;return console.error("[oauth-proxy] Failed to proxy OAuth protected resource metadata:",B),X.json({error:"Failed to proxy OAuth metadata",message:B.message},502)}},Uk0=()=>{let X=new A6;return X.get("/.well-known/oauth-protected-resource/mcp/:connectionId",(Y)=>hZ1(Y)),X.get("/mcp/:connectionId/.well-known/oauth-protected-resource",(Y)=>hZ1(Y)),X},wy6=()=>{let X=new A6;return X.get("/mcp/:connectionId/.well-known/oauth-protected-resource",(Y)=>hZ1(Y)),X},Wt9=async(X)=>{let Y=X.req.param("connectionId"),G=await Ny6(X),Q=await G.storage.connections.findById(Y);if(!Q?.connection_url)return X.json({error:"Connection not found or no auth server"},404);let J=await Zt9(Q.connection_url);if(!J)return X.json({error:"Connection not found or no auth server"},404);let W=await G.db.selectFrom("organization").select("slug").where("id","=",Q.organization_id).executeTakeFirst();try{let Z=await gZ1(J);if(!Z.ok)return new Response(Z.body,{status:Z.status,statusText:Z.statusText,headers:{"Content-Type":"application/json"}});let $=await Z.json(),K=Dy6(new URL(X.req.url)),H=W?.slug?`${K.origin}/api/${W.slug}/oauth-proxy/${Y}`:`${K.origin}/oauth-proxy/${Y}`,U={...$,authorization_endpoint:$.authorization_endpoint?`${H}/authorize`:void 0,token_endpoint:$.token_endpoint?`${H}/token`:void 0,registration_endpoint:$.registration_endpoint?`${H}/register`:void 0};return new Response(JSON.stringify(U),{status:200,headers:{"Content-Type":"application/json"}})}catch(Z){let $=Z;return console.error("[oauth-proxy] Failed to proxy auth server metadata:",$),X.json({error:"Failed to proxy auth server metadata",message:$.message},502)}},Bk0=()=>{let X=new A6;return X.get("/.well-known/oauth-authorization-server/oauth-proxy/:connectionId",Wt9),X},Ly6;var uZ1=w(()=>{iX();xZ1();Fk0=[404,401,406];Ly6=new A6;Ly6.route("/",Uk0());Ly6.route("/",Bk0())});async function xS1(X){try{let Y;try{let Q=await Xs(X);if(Q.ok)Y=(await Q.json()).authorization_servers?.[0]}catch{}if(!Y)Y=new URL(X).origin;let G=await gZ1(Y);if(G.ok)return(await G.json()).token_endpoint??null;return null}catch{return null}}var Nk0=w(()=>{uZ1()});class V3{db;vault;constructor(X,Y){this.db=X;this.vault=Y}async get(X){let Y=await this.db.selectFrom("downstream_tokens").selectAll().where("connectionId","=",X).executeTakeFirst();if(!Y)return null;return this.decryptToken(Y)}async upsert(X){let Y=new Date().toISOString(),G=await this.vault.encrypt(X.accessToken),Q=X.refreshToken?await this.vault.encrypt(X.refreshToken):null,J=X.clientSecret?await this.vault.encrypt(X.clientSecret):null;return await this.db.transaction().execute(async(W)=>{let Z=await W.selectFrom("downstream_tokens").select(["id","createdAt"]).where("connectionId","=",X.connectionId).executeTakeFirst();if(Z)return await W.updateTable("downstream_tokens").set({accessToken:G,refreshToken:Q,scope:X.scope,expiresAt:X.expiresAt?.toISOString()??null,clientId:X.clientId,clientSecret:J,tokenEndpoint:X.tokenEndpoint,updatedAt:Y}).where("id","=",Z.id).execute(),{id:Z.id,connectionId:X.connectionId,accessToken:X.accessToken,refreshToken:X.refreshToken,scope:X.scope,expiresAt:X.expiresAt,createdAt:Z.createdAt,updatedAt:Y,clientId:X.clientId,clientSecret:X.clientSecret,tokenEndpoint:X.tokenEndpoint};let $=m7("dtok");return await W.insertInto("downstream_tokens").values({id:$,connectionId:X.connectionId,accessToken:G,refreshToken:Q,scope:X.scope,expiresAt:X.expiresAt?.toISOString()??null,clientId:X.clientId,clientSecret:J,tokenEndpoint:X.tokenEndpoint,createdAt:Y,updatedAt:Y}).execute(),{id:$,connectionId:X.connectionId,accessToken:X.accessToken,refreshToken:X.refreshToken,scope:X.scope,expiresAt:X.expiresAt,createdAt:Y,updatedAt:Y,clientId:X.clientId,clientSecret:X.clientSecret,tokenEndpoint:X.tokenEndpoint}})}async delete(X){await this.db.deleteFrom("downstream_tokens").where("connectionId","=",X).execute()}isExpired(X,Y=0){if(!X.expiresAt)return!1;let Q=(X.expiresAt instanceof Date?X.expiresAt:new Date(X.expiresAt)).getTime();if(Number.isNaN(Q))return!0;return Q-Y<Date.now()}async decryptToken(X){let Y=await this.vault.decrypt(X.accessToken),G=X.refreshToken?await this.vault.decrypt(X.refreshToken):null,Q=X.clientSecret?await this.vault.decrypt(X.clientSecret):null;return{id:X.id,connectionId:X.connectionId,accessToken:Y,refreshToken:G,scope:X.scope,expiresAt:X.expiresAt,createdAt:X.createdAt,updatedAt:X.updatedAt,clientId:X.clientId,clientSecret:Q,tokenEndpoint:X.tokenEndpoint}}}var pR=w(()=>{kH()});function $t9(X){if(!X)return;let Y={};for(let[G,Q]of Object.entries(X))if(Q&&typeof Q==="object"&&!Array.isArray(Q)&&"__binding"in Q){let{__binding:J,...W}=Q;Y[G]=W}else Y[G]=Q;return Y}async function Ok0(X,Y,G){return Y.tracer.startActiveSpan("mesh.connection.build_headers",{attributes:{"connection.id":X.id}},async(Q)=>{try{let J=await Kt9(X,Y,G);return Q.setStatus({code:zk0.SpanStatusCode.OK}),J}catch(J){throw Q.setStatus({code:zk0.SpanStatusCode.ERROR,message:J.message}),Q.recordException(J),J}finally{Q.end()}})}async function Kt9(X,Y,G){let Q=X.id,J=Rj0(X.configuration_state,X.configuration_scopes),W=Y.auth.user,Z=W?.id??Y.auth.apiKey?.userId??(G?X.created_by:void 0),[$,K]=Z?await RT6({sub:Z,user:{id:Z,email:W?.email,name:W?.name,image:W?.image,role:W?.role},metadata:{state:$t9(X.configuration_state),meshUrl:Y.baseUrl,connectionId:Q,organizationId:Y.organization?.id,organizationName:Y.organization?.name,organizationSlug:Y.organization?.slug},permissions:J}).then((O)=>[O,null]).catch((O)=>[null,O]):[null,Error("User ID required to issue configuration token")];if(K)console.error("Failed to issue configuration token:",$);let H=Y.auth.user?.connectionId,U={...H?{"x-caller-id":H}:{},...Y.metadata.wellKnownForwardableHeaders??{},"x-request-id":Y.metadata.requestId},B=null,N=new V3(Y.db,Y.vault),z=await N.get(Q);if(z){let O=!!z.refreshToken&&!!z.tokenEndpoint;if(N.isExpired(z,O?300000:0))if(O){let E=z.tokenEndpoint;if(X.connection_url&&z.tokenEndpoint?.includes("/oauth-proxy/")){let q=await xS1(X.connection_url);if(q)E=q}let P=await PQ1({...z,tokenEndpoint:E});if(P.success&&P.accessToken)await N.upsert({connectionId:Q,accessToken:P.accessToken,refreshToken:P.refreshToken??z.refreshToken,scope:P.scope??z.scope,expiresAt:P.expiresIn?new Date(Date.now()+P.expiresIn*1000):null,clientId:z.clientId,clientSecret:z.clientSecret,tokenEndpoint:E}),B=P.accessToken;else{if(P.permanent===!0)await N.delete(Q);console.error("[Proxy] token refresh failed",{connectionId:Q,status:P.status,errorCode:P.errorCode,permanent:P.permanent===!0,deleted:P.permanent===!0})}}else await N.delete(Q),console.warn(`[Proxy] Token expired for ${Q} with no refresh capability (refreshToken: ${!!z.refreshToken}, tokenEndpoint: ${!!z.tokenEndpoint})`);else B=z.accessToken}if(!B&&X.connection_token)B=X.connection_token;if(B)U.Authorization=`Bearer ${B}`;if($)U["x-mesh-token"]=$;return U}var zk0;var Ey6=w(()=>{Sj0();mM();nM1();Nk0();pR();zk0=X1(x0(),1)});function Py6(X){let Y=new fG1({command:X.command,args:X.args,env:X.env,cwd:X.cwd,stderr:"pipe"}),G=X.name||X.id,Q="\x1B[2m",J="\x1B[0m";return Y.stderr?.on("data",(W)=>{let Z=W.toString().trimEnd();if(Z)console.error(`${Z} \x1B[2m[${G}]\x1B[0m`)}),Y}var qy6=w(()=>{C20()});var Ht9="mcp.mesh",Ys;var Ay6=w(()=>{gH();hR1();Lt();Ys=class Ys extends zt{options;constructor(X,Y){super(X);this.options=Y}toolsListPromise=null;fetchToolsFromServer(){if(!this.toolsListPromise)this.toolsListPromise=new Promise((X)=>{let Y=`auth-tools-${Date.now()}`,G=this.innerTransport.onmessage;this.innerTransport.onmessage=(Q)=>{if("id"in Q&&Q.id===Y)if(this.innerTransport.onmessage=G,this.toolsListPromise=null,"result"in Q){let J=Q.result?.tools??null;X(J)}else X(null);else G?.(Q)},this.innerTransport.send({jsonrpc:"2.0",id:Y,method:"tools/list",params:{}}).catch(()=>{this.innerTransport.onmessage=G,this.toolsListPromise=null,X(null)})});return this.toolsListPromise}async ensureToolsMap(){let X=this.options.cache??UQ(),Y=await IA("tools",this.options.connection.id,async()=>{let G=await this.fetchToolsFromServer();if(G===null)throw Error("Failed to fetch tools list");return G},X,(G)=>this.options.ctx.pendingRevalidations.push(G));if(!Y)return new Map;return new Map(Y.map((G)=>[G.name,G]))}async handleOutgoingMessage(X){if(!this.isRequest(X))return this.innerTransport.send(X);let Y=X;if(Y.method==="tools/call")await this.authorizeToolCall(Y),this.stripMetaFromArguments(Y);return this.innerTransport.send(X)}async authorizeToolCall(X){if(this.options.superUser)return;let G=X.params.name,{ctx:Q,connection:J}=this.options;if(await this.isPublicTool(G))return;if(!Q.auth.user?.id&&!Q.auth.apiKey?.id)throw Error("Authentication required. Please provide a valid OAuth token or API key.");let W=async()=>{return(await this.ensureToolsMap()).get(G)?._meta};await new SR(Q.authInstance,Q.auth.user?.id??Q.auth.apiKey?.userId,G,Q.boundAuth,Q.organization?.role??Q.auth.user?.role,J.id,W,Q.organization?.id).check(G)}async isPublicTool(X){if(X.startsWith("MESH_PUBLIC_"))return!0;let G=(await this.ensureToolsMap()).get(X);if(!G?._meta)return!1;return G._meta[Ht9]?.public_tool===!0}stripMetaFromArguments(X){let Y=X.params;if(Y.arguments&&"_meta"in Y.arguments){let{_meta:G,...Q}=Y.arguments;Y.arguments=Q}}}});class Dk0{patterns=[{type:"email",regex:/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/g},{type:"api_key",regex:/(?:api[_-]?key|token|secret|password|bearer)\s*[:=]\s*['"]?[\w-]{16,}['"]?/gi},{type:"jwt",regex:/eyJ[A-Za-z0-9-_]+\.eyJ[A-Za-z0-9-_]+\.[A-Za-z0-9-_.+/=]*/g},{type:"credit_card",regex:/\b\d{4}[- ]?\d{4}[- ]?\d{4}[- ]?\d{4}\b/g},{type:"ssn",regex:/\b\d{3}-\d{2}-\d{4}\b/g}];redact(X){if(X===null||X===void 0)return X;if(typeof X==="string")return this.redactString(X);if(Array.isArray(X))return X.map((Y)=>this.redact(Y));if(typeof X==="object"){let Y={};for(let[G,Q]of Object.entries(X)){let J=this.redactString(G);Y[J]=this.redact(Q)}return Y}return X}redactString(X){let Y=X;for(let G of this.patterns)Y=Y.replace(G.regex,`[REDACTED:${G.type}]`);return Y}}function mZ1(X,Y){try{if(!X.organizationId)return;let G=wk0.redact(X.toolArguments??{}),Q=wk0.redact(X.result??{}),J=X.errorMessage?wk0.redactString(X.errorMessage):"";lZ1.logs.getLogger("mesh.monitoring","1.0.0").emit({severityNumber:X.isError?lZ1.SeverityNumber.ERROR:lZ1.SeverityNumber.INFO,severityText:X.isError?"ERROR":"INFO",body:X.toolName,attributes:{[R5.TYPE]:X.type??$51,[R5.ORGANIZATION_ID]:X.organizationId,[R5.CONNECTION_ID]:X.connectionId,[R5.CONNECTION_TITLE]:"",[R5.TOOL_NAME]:X.toolName,[R5.INPUT]:U51(JSON.stringify(G)),[R5.OUTPUT]:U51(JSON.stringify(Q)),[R5.IS_ERROR]:X.isError,[R5.ERROR_MESSAGE]:J,[R5.DURATION_MS]:X.duration,[R5.USER_ID]:X.userId||"",[R5.REQUEST_ID]:X.requestId,[R5.USER_AGENT]:X.userAgent||"",[R5.VIRTUAL_MCP_ID]:X.virtualMcpId||"",[R5.PROPERTIES]:X.properties?JSON.stringify(X.properties):""},context:Y})}catch{}}var lZ1,wk0;var hS1=w(()=>{oK();fG0();lZ1=X1(B81(),1),wk0=new Dk0});function Lk0(X){let{ctx:Y,organizationId:G,connectionId:Q,toolName:J,durationMs:W,isError:Z}=X;if(!G||!Q||!J)return;let $={"tool.name":J,"organization.id":G,"connection.id":Q,status:Z?"error":"success","error.type":Z?X.errorType||"Error":""};Y.meter.createHistogram("tool.execution.duration",{description:"Duration of tool executions in milliseconds",unit:"ms"}).record(W,$),Y.meter.createCounter("tool.execution.count",{description:"Number of tool executions"}).add(1,$)}function Ty6(X){if(!X.isError)return;let Y=X.content;if(!Array.isArray(Y))return;for(let G of Y)if(G&&typeof G==="object"&&"type"in G&&G.type==="text"&&"text"in G&&typeof G.text==="string")return G.text;return}function Iy6(X){if(!X)return;let Y=X._meta;if(!Y||typeof Y!=="object"||Array.isArray(Y))return;let G=Y.properties;if(!G||typeof G!=="object"||Array.isArray(G))return;let Q={};for(let[J,W]of Object.entries(G))if(typeof W==="string")Q[J]=W;return Object.keys(Q).length>0?Q:void 0}function Vy6(X,Y){if(!X&&!Y)return;if(!X)return Y;if(!Y)return X;return{...Y,...X}}var jy6=w(()=>{q7();hS1();oK()});var dZ1,Gs;var My6=w(()=>{Lt();hS1();jy6();dZ1=X1(x0(),1);Gs=class Gs extends zt{options;inflightRequests=new Map;requestContext;constructor(X,Y){super(X);this.options=Y;this.requestContext=dZ1.context.active()}async handleOutgoingMessage(X){if(this.isRequest(X)){let Y=X;this.onRequestStart(Y)}return this.innerTransport.send(X)}handleIncomingMessage(X){if(this.isResponse(X)){let Y=X;this.onResponseEnd(Y)}this.onmessage?.(X)}onRequestStart(X){let{ctx:Y,connectionId:G}=this.options,Q,J;if(X.method==="tools/call"&&X.params){let Z=X.params;Q=Z.name,J=Z.arguments}let W;if(X.method==="tools/call"&&Q)W=Y.tracer.startSpan("mcp.proxy.callTool",{attributes:{"connection.id":G,"tool.name":Q,"request.id":Y.metadata.requestId,"jsonrpc.id":X.id,"jsonrpc.method":X.method}},this.requestContext);if(X.id!==null&&X.id!==void 0)this.inflightRequests.set(X.id,{startTime:Date.now(),method:X.method,toolName:Q,toolArguments:J,span:W})}onResponseEnd(X){if(X.id===null||X.id===void 0)return;let Y=this.inflightRequests.get(X.id);if(!Y)return;let{ctx:G,connectionId:Q}=this.options,{startTime:J,method:W,toolName:Z,toolArguments:$,span:K}=Y,H=Date.now()-J;if(this.inflightRequests.delete(X.id),W!=="tools/call"||!Z)return;let U=G.organization?.id??"",B="error"in X,N=B?X.error:X.result,z=B?{content:[{type:"text",text:X.error?.message||"Unknown error"}],isError:!0}:N;if(G.meter.createHistogram("connection.proxy.duration").record(H,{"connection.id":Q,"organization.id":U,"tool.name":Z,status:B?"error":"success"}),B)G.meter.createCounter("connection.proxy.errors").add(1,{"connection.id":Q,"organization.id":U,"tool.name":Z,error:X.error?.message});else G.meter.createCounter("connection.proxy.requests").add(1,{"connection.id":Q,"organization.id":U,"tool.name":Z,status:"success"});if(U)Lk0({ctx:G,organizationId:U,connectionId:Q,toolName:Z,durationMs:H,isError:B,errorType:B?"RemoteError":""});if(K){if(B&&X.error)K.recordException(Error(X.error.message));let O=Iy6($),D=Vy6(G.metadata.properties,O),E=dZ1.trace.setSpan(dZ1.context.active(),K);mZ1({organizationId:G.organization?.id??"",connectionId:Q,toolName:Z,toolArguments:$,result:z,duration:H,isError:Boolean(B),errorMessage:Ty6(z)||null,userId:G.auth.user?.id||G.auth.apiKey?.userId||null,requestId:G.metadata.requestId,userAgent:G.metadata.userAgent||null,virtualMcpId:this.options.virtualMcpId||null,properties:D||null},E),K.end()}}async close(){for(let X of this.inflightRequests.values())if(X.span)X.span.setAttributes({"transport.closed":!0}),X.span.end();return this.inflightRequests.clear(),super.close()}}});var Ry6=w(()=>{Lt();Ay6();My6()});async function Sy6(X,Y,G=!1){let Q=X.id,J=Y.connectionId&&Y.connectionId!==Q?Y.connectionId:void 0;switch(X.connection_type){case"STDIO":{if(!u4().localMode)throw Error("STDIO connections are only available in local mode (--local-mode).");let W=X.connection_headers;if(!aN(W))throw Error("STDIO connection missing parameters");let Z=Py6({id:Q,name:X.title,command:W.command,args:W.args,env:W.envVars,cwd:W.cwd});return Z=Ot(Z,($)=>new Ys($,{ctx:Y,connection:X,superUser:G}),($)=>new Gs($,{ctx:Y,connectionId:Q,virtualMcpId:J})),Ft9(Z,Q)}case"HTTP":case"Websocket":{if(!X.connection_url)throw Error(`${X.connection_type} connection missing URL`);let W=await Ok0(X,Y,G),Z=X.connection_headers;if(Z&&"headers"in Z)Object.assign(W,Z.headers);let $=new nN(new URL(X.connection_url),{requestInit:{headers:W}});return $=Ot($,(K)=>new Ys(K,{ctx:Y,connection:X,superUser:G}),(K)=>new Gs(K,{ctx:Y,connectionId:Q,virtualMcpId:J})),Y.getOrCreateClient($,Q)}case"SSE":{if(!X.connection_url)throw Error("SSE connection missing URL");let W=await Ok0(X,Y,G),Z=X.connection_headers;if(Z&&"headers"in Z)Object.assign(W,Z.headers);let $=new Xw(new URL(X.connection_url),{requestInit:{headers:W}});return $=Ot($,(K)=>new Ys(K,{ctx:Y,connection:X,superUser:G}),(K)=>new Gs(K,{ctx:Y,connectionId:Q,virtualMcpId:J})),Y.getOrCreateClient($,Q)}default:throw Error(`Unknown connection type: ${X.connection_type}`)}}var Ft9;var ky6=w(()=>{l9();cw();d71();Ut();Ey6();cR1();qy6();Ry6();Ft9=Co()});function gS1(X){return X.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")}function Ek0(X){if(X&&typeof X==="object"&&"gatewayClientId"in X&&typeof X.gatewayClientId==="string")return X.gatewayClientId;return}function Pk0(X,Y){if(!Y)return X;let G=`${gS1(Y)}_`;return X.startsWith(G)?X.slice(G.length):X}function Ut9(X){return X.split(/[-_]/).map((Y)=>Y?Y.charAt(0).toUpperCase()+Y.slice(1):Y).join(" ")}var uS1;var Cy6=w(()=>{iN();uS1=class uS1 extends uY{clients;slugToKey=new Map;resolvedClients=new Map;toolsCache=null;resourcesCache=null;resourceTemplatesCache=null;promptsCache=null;resourceRouteMap=new Map;constructor(X,Y){super(Y?.clientInfo??{name:"gateway-client",version:"1.0.0"},{capabilities:Y?.capabilities});this.clients=X;for(let G of Object.keys(X)){let Q=gS1(G);if(this.slugToKey.has(Q))throw Error(`GatewayClient: duplicate slug "${Q}" from keys "${this.slugToKey.get(Q)}" and "${G}"`);this.slugToKey.set(Q,G)}}namespace(X,Y){return`${gS1(X)}_${Y}`}async resolveToolTarget(X){let Y=X.indexOf("_");if(Y!==-1){let Q=X.slice(0,Y),J=this.slugToKey.get(Q);if(J)return[J,X.slice(Y+1)]}let{tools:G}=await this.listTools();for(let Q of G){let J=Ek0(Q._meta);if(!J)continue;if(Pk0(Q.name,J)===X)return[J,X]}if(Y===-1)throw Error(`GatewayClient: could not resolve tool "${X}" \u2014 no namespace prefix and not found in any client`);throw Error(`GatewayClient: unknown namespace "${X.slice(0,Y)}" in "${X}" and not found by original name in any client`)}async resolvePromptTarget(X){let Y=X.indexOf("_");if(Y!==-1){let Q=X.slice(0,Y),J=this.slugToKey.get(Q);if(J)return[J,X.slice(Y+1)]}let{prompts:G}=await this.listPrompts();for(let Q of G){let J=Ek0(Q._meta);if(!J)continue;if(Pk0(Q.name,J)===X)return[J,X]}if(Y===-1)throw Error(`GatewayClient: could not resolve prompt "${X}" \u2014 no namespace prefix and not found in any client`);throw Error(`GatewayClient: unknown namespace "${X.slice(0,Y)}" in "${X}" and not found by original name in any client`)}resolveClient(X){let Y=this.resolvedClients.get(X);if(Y)return Y;let G=this.clients[X];if(!G)return Promise.reject(Error(`GatewayClient: unknown client key "${X}"`));let Q=G.client,W=(typeof Q==="function"?Promise.resolve(Q()):Promise.resolve(Q)).catch((Z)=>{throw this.resolvedClients.delete(X),Z});return this.resolvedClients.set(X,W),W}getResolvedClient(X){return this.resolveClient(X)}async fetchAllTools(X){let Y=[],G;do{let Q=await X.listTools(G?{cursor:G}:void 0);Y.push(...Q.tools),G=Q.nextCursor}while(G);return Y}async fetchAllResources(X){let Y=[],G;do{let Q=await X.listResources(G?{cursor:G}:void 0);Y.push(...Q.resources),G=Q.nextCursor}while(G);return Y}async fetchAllResourceTemplates(X){let Y=[],G;do{let Q=await X.listResourceTemplates(G?{cursor:G}:void 0);Y.push(...Q.resourceTemplates),G=Q.nextCursor}while(G);return Y}async fetchAllPrompts(X){let Y=[],G;do{let Q=await X.listPrompts(G?{cursor:G}:void 0);Y.push(...Q.prompts),G=Q.nextCursor}while(G);return Y}listTools(X,Y){if(!this.toolsCache)this.toolsCache=this.aggregateTools();return this.toolsCache}async aggregateTools(){let X=[];for(let[Y,G]of Object.entries(this.clients)){let Q=await this.resolveClient(Y),J=await this.fetchAllTools(Q),W=G.tools,Z=W?new Set(W):null;for(let $ of J){if(Z&&!Z.has($.name))continue;X.push({...$,name:this.namespace(Y,$.name),_meta:{...$._meta??{},gatewayClientId:Y}})}}return{tools:X}}listResources(X,Y){if(!this.resourcesCache)this.resourcesCache=this.aggregateResources();return this.resourcesCache}async aggregateResources(){let X=new Set,Y=[],G=new Map;for(let[Q,J]of Object.entries(this.clients)){let W=await this.resolveClient(Q),Z=await this.fetchAllResources(W),$=J.resources,K=$?new Set($):null;for(let H of Z){if(K&&!K.has(H.uri)&&!(H.name&&K.has(H.name)))continue;if(X.has(H.uri)){console.warn(`GatewayClient: duplicate resource "${H.uri}" from client "${Q}" \u2014 skipping`);continue}X.add(H.uri),G.set(H.uri,Q),Y.push({...H,_meta:{...H._meta??{},gatewayClientId:Q}})}}return this.resourceRouteMap=G,{resources:Y}}listResourceTemplates(X,Y){if(!this.resourceTemplatesCache)this.resourceTemplatesCache=this.aggregateResourceTemplates();return this.resourceTemplatesCache}async aggregateResourceTemplates(){let X=new Set,Y=[];for(let[G,Q]of Object.entries(this.clients)){let J=await this.resolveClient(G),W=await this.fetchAllResourceTemplates(J);for(let Z of W){if(X.has(Z.uriTemplate)){console.warn(`GatewayClient: duplicate resource template "${Z.uriTemplate}" from client "${G}" \u2014 skipping`);continue}X.add(Z.uriTemplate),Y.push({...Z,_meta:{...Z._meta??{},gatewayClientId:G}})}}return{resourceTemplates:Y}}listPrompts(X,Y){if(!this.promptsCache)this.promptsCache=this.aggregatePrompts();return this.promptsCache}async aggregatePrompts(){let X=[];for(let[Y,G]of Object.entries(this.clients)){let Q=await this.resolveClient(Y),J=await this.fetchAllPrompts(Q),W=G.prompts,Z=W?new Set(W):null;for(let $ of J){if(Z&&!Z.has($.name))continue;X.push({...$,name:this.namespace(Y,$.name),title:$.title??Ut9($.name),_meta:{...$._meta??{},gatewayClientId:Y}})}}return{prompts:X}}async callTool(X,Y,G){let[Q,J]=await this.resolveToolTarget(X.name);return(await this.resolveClient(Q)).callTool({...X,name:J},Y,G)}async readResource(X,Y){let G=await this.resolveResourceRoute(X.uri);return(await this.resolveClient(G)).readResource(X)}async getPrompt(X,Y){let[G,Q]=await this.resolvePromptTarget(X.name);return(await this.resolveClient(G)).getPrompt({...X,name:Q})}async resolveResourceRoute(X){let Y=this.resourceRouteMap.get(X);if(Y)return Y;if(this.resourcesCache=null,await this.listResources(),Y=this.resourceRouteMap.get(X),Y)return Y;throw Error(`GatewayClient: resource "${X}" not found in any upstream client`)}getServerCapabilities(){return{tools:{},resources:{},prompts:{}}}getInstructions(){return}refresh(){this.toolsCache=null,this.resourcesCache=null,this.resourceTemplatesCache=null,this.promptsCache=null}async close(){let X=[...this.resolvedClients.values()].map((Y)=>Y.then((G)=>G.close()).catch(()=>{}));await Promise.allSettled(X),await super.close()}}});var vy6=w(()=>{Cy6()});var qk0;var _y6=w(()=>{vy6();gR1();qk0=class qk0 extends uS1{options;ctx;constructor(X,Y){let G=new Map(X.virtualMcp.connections.map((J)=>[J.connection_id,J])),Q={};for(let J of X.connections){let W=G.get(J.id);Q[J.id]={client:()=>So(J,Y,X.superUser??!1,X.mcpListCache),...W?.selected_tools!=null?{tools:W.selected_tools}:{},...W?.selected_resources!=null?{resources:W.selected_resources}:{},...W?.selected_prompts!=null?{prompts:W.selected_prompts}:{}}}super(Q,{clientInfo:{name:"virtual-mcp-passthrough",version:"1.0.0"},capabilities:{tasks:{list:{},cancel:{},requests:{tool:{call:{}}}}}});this.options=X;this.ctx=Y}async[Symbol.asyncDispose](){await this.close()}getInstructions(){return this.options.virtualMcp.metadata?.instructions??void 0}getConnectionTitleMap(){return new Map(this.options.connections.map((X)=>[X.id,X.title]))}}});function Bt9(X,Y){if(X.connection_type!=="VIRTUAL")return!1;if(!Y||tN(Y))return!1;return X.id===Y}async function fy6(X,Y,G=!1){let Q=X.id,J=await Y.storage.virtualMcps.findById(Q);if(!J)throw Error(`Virtual MCP not found: ${Q}`);return nR(J,Y,"passthrough",G)}async function nR(X,Y,G,Q=!1,J){let W=X.connections.map((H)=>H.connection_id),K={connections:(await Y.tracer.startActiveSpan("mesh.virtual_mcp.load_connections",{attributes:{"virtual_mcp.id":X.id??"decopilot","virtual_mcp.connection_count":W.length}},async(H)=>{try{let U=await Promise.all(W.map((B)=>Y.storage.connections.findById(B)));return H.setStatus({code:Ak0.SpanStatusCode.OK}),U}catch(U){throw H.setStatus({code:Ak0.SpanStatusCode.ERROR,message:U.message}),H.recordException(U),U}finally{H.end()}})).filter((H)=>H!==null&&H.status==="active"&&!Bt9(H,X.id)),virtualMcp:X,superUser:Q,mcpListCache:UQ()??void 0,listTimeoutMs:J?.listTimeoutMs};return new qk0(K,Y)}var Ak0;var cZ1=w(()=>{q7();gH();_y6();Ak0=X1(x0(),1)});async function fW(X,Y,G=!1){if(X.connection_type==="VIRTUAL")return fy6(X,Y,G);return Sy6(X,Y,G)}var sM0=w(()=>{ky6();cZ1()});function lS1(X){return(Y)=>{if(Y instanceof D4&&Y.code===j4.MethodNotFound)return X;throw Y}}var by6=w(()=>{eX()});function Tk0(X,Y,G){let Q=So(X,Y,G,UQ()??void 0),J=sD(Q,{name:"mcp-mesh-enhanced",version:"1.0.0"},{capabilities:Nt9,toolCallTimeoutMs:nA});return J.server.setRequestHandler(Qq,async()=>{return await Q.listResources().catch(lS1({resources:[]}))}),J.server.setRequestHandler(Jq,async()=>{return await Q.listResourceTemplates().catch(lS1({resourceTemplates:[]}))}),J.server.setRequestHandler(Zq,async()=>{return await Q.listPrompts().catch(lS1({prompts:[]}))}),J}var Nt9;var yy6=w(()=>{q7();eX();gR1();gH();by6();Nt9={tools:{},resources:{},prompts:{}}});var Qs=w(()=>{sM0();yy6()});var zt9,Ot9,Dt9,wt9,Ik0;var xy6=w(()=>{LQ1();yM6();EW();lM6();dM6();GG1();Pj();iM6();q7();K0();h0();lw();gH();Qs();Zr();cw();L20();zt9=[{name:/^(COLLECTION_REGISTRY_APP_LIST|REGISTRY_ITEM_LIST)$/,inputSchema:F.object({})}],Ot9={LLM:cM1,LLMS:cM1,ASSISTANTS:bM6,MCP:mM6,OBJECT_STORAGE:MM,WORKFLOW:eF0,WORKFLOW_EXECUTION:qn4,AI_GATEWAY_BILLING:cM6,EVENT_BUS:hM1,TRIGGER:gM1,REGISTRY:zt9,BRAND:dM1},Dt9=LU.extend({binding:F.union([F.array(F.object({}).passthrough()),F.object({}).passthrough(),F.string()]).optional(),include_virtual:F.boolean().optional().describe("Whether to include VIRTUAL connections in the results. Defaults to false."),slug:F.string().optional().describe("Filter by connection slug. Matches against app_name, or a slug derived from connection_url or title.")}),wt9=Gw(W3),Ik0=m1({name:"COLLECTION_CONNECTIONS_LIST",description:"List all connections in the organization with filtering, sorting, and pagination",annotations:{title:"List Connections",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:Dt9,outputSchema:wt9,handler:async(X,Y)=>{await Y.access.check();let G=s1(Y),Q=X.binding?typeof X.binding==="string"?(()=>{let B=Ot9[X.binding.toUpperCase()];if(!B)throw Error(`Unknown binding: ${X.binding}`);return B})():X.binding:void 0,J=Q?Rq1(Q):void 0,W=!!J,Z=X.limit??100,$=X.offset??0,{items:K,totalCount:H}=await Y.storage.connections.list(G.id,{includeVirtual:X.include_virtual??!1,slug:X.slug,where:X.where,orderBy:X.orderBy,limit:W?void 0:Z,offset:W?void 0:$});if(J){let B=UQ(),N=P7.SELF(G.id);await Promise.all(K.map(async(z)=>{if(z.tools!==null)return;let O=z.id===N?async()=>{let{listManagementTools:E}=await Promise.resolve().then(() => (Js(),mS1));return E(Y)}:async()=>{let E=await fW(z,Y,!0);try{return(await E.listTools()).tools}finally{await E.close().catch(()=>{})}},D=await IA("tools",z.id,O,B);if(D!==null)z.tools=D}))}if(fU()){let B=t$(),N=P7.DEV_ASSETS(G.id);if(!K.some((z)=>z.id===N)){let z=Jr(G.id,B);if(!X.slug||CG1(z)===X.slug)K.unshift(z)}}if(W){let B=(await Promise.all(K.map(async(D)=>{if(!D.tools||D.tools.length===0)return null;return J.isImplementedBy(D.tools.map((P)=>({name:P.name,inputSchema:P.inputSchema,outputSchema:P.outputSchema})))?D:null}))).filter((D)=>D!==null),N=B.length,z=B.slice($,$+Z),O=$+Z<N;return{items:z,totalCount:N,hasMore:O}}let U=$+Z<H;return{items:K,totalCount:H,hasMore:U}}})});var Lt9,Vk0;var hy6=w(()=>{EW();q7();h0();lw();gH();Qs();Zr();cw();Lt9=i71(W3),Vk0=m1({name:"COLLECTION_CONNECTIONS_GET",description:"Get a connection's configuration, tools list, and status by ID.",annotations:{title:"Get Connection",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},_meta:{ui:{visibility:["app"]}},inputSchema:c71,outputSchema:Lt9,handler:async(X,Y)=>{let G=s1(Y);if(await Y.access.check(),fU()&&vV1(X.id,G.id))return{item:Jr(G.id,t$())};let Q=await Y.storage.connections.findById(X.id);if(!Q||Q.organization_id!==G.id)return{item:null};if(Q.tools===null){let J=P7.SELF(G.id),W=Q.id===J?async()=>{let{listManagementTools:$}=await Promise.resolve().then(() => (Js(),mS1));return $(Y)}:async()=>{let $=await fW(Q,Y,!0);try{return(await $.listTools()).tools}finally{await $.close().catch(()=>{})}},Z=await IA("tools",Q.id,W,UQ(),($)=>Y.pendingRevalidations.push($));if(Z!==null)Q.tools=Z}return{item:Q}}})});function gy6(X,Y,G){if(Y.some((Q)=>Q!=="*"&&Q.startsWith("SELF::"))&&X.SELF===void 0)X.SELF={value:`${G}_self`}}async function qt9(X,Y,G,Q){for(let W of Y){if(W==="*")continue;let[Z]=pM6(W),$=iM1(Z,X);if($===void 0||$===null)throw Error(`Scope references key "${Z}" but it's not present in state`)}let J=nM6(X,Y);for(let W of J){if(W.endsWith("_self"))continue;let Z=await Q.storage.connections.findById(W);if(!Z||Z.organization_id!==G)throw Error(`Referenced connection not found: ${W}`);try{await Q.access.check(W)}catch($){throw Error(`Access denied to referenced connection: ${W}. ${$.message}`)}}}var Et9,Pt9,jk0;var uy6=w(()=>{Sj0();Qs();pR();K0();h0();gH();bG1();cw();Et9=F.object({id:F.string().describe("ID of the connection to update"),data:R71.describe("Partial connection data to update")}),Pt9=F.object({item:W3.describe("The updated connection entity")});jk0=m1({name:"COLLECTION_CONNECTIONS_UPDATE",description:"Update a connection's configuration. Re-fetches tools from the server on URL change.",annotations:{title:"Update Connection",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:Et9,outputSchema:Pt9,handler:async(X,Y)=>{N0(Y);let G=s1(Y);await Y.access.check();let Q=H6(Y);if(!Q)throw Error("User ID required to update connection");let{id:J,data:W}=X,Z=await Y.storage.connections.findById(J);if(!Z||Z.organization_id!==G.id)throw Error("Connection not found in organization");let $=W.connection_type??Z.connection_type,K=W.connection_url??Z.connection_url;if($==="VIRTUAL"){let E=zj(K);if(!E)throw Error("VIRTUAL connection requires connection_url in format: virtual://$virtual_mcp_id");let P=await Y.storage.virtualMcps.findById(E);if(!P)throw Error(`Virtual MCP not found: ${E}`);if(P.organization_id!==G.id)throw Error("Virtual MCP does not belong to the current organization");K=Oj(E)}let H=W.configuration_state??Z.configuration_state??{},U=W.configuration_scopes??Z.configuration_scopes??[];if(W.configuration_state!==void 0||W.configuration_scopes!==void 0){if(W.configuration_state!==void 0)H=W.configuration_state??{};else if(H===null||H===void 0)H={};if(W.configuration_scopes!==void 0)U=W.configuration_scopes??[];if(U.length>0){let E=H;gy6(E,U,G.id),await qt9(E,U,G.id,Y)}}let B=W.connection_token??Z.connection_token;if(!B)try{let P=await new V3(Y.db,Y.vault).get(J);if(P?.accessToken)B=P.accessToken}catch{}let N=await UA({id:Z.id,title:W.title??Z.title,connection_type:$,connection_url:K,connection_token:B,connection_headers:W.connection_headers??Z.connection_headers}).catch(()=>null),z=N?.tools?.length?N.tools:null;if(W.configuration_scopes===void 0&&N?.scopes?.length)U=N.scopes;gy6(H,U,G.id);let O={...W,connection_url:K,tools:null,configuration_state:H,configuration_scopes:U,updated_by:Q},D=await Y.storage.connections.update(J,O);if(z)UQ()?.set("tools",J,z).catch(()=>{});if((W.configuration_state!==void 0||W.configuration_scopes!==void 0)&&H&&U)try{await(await fW(D,Y,!1)).callTool({name:"ON_MCP_CONFIGURATION",arguments:{state:H,scopes:U}})}catch(E){console.error("Failed to invoke ON_MCP_CONFIGURATION callback",E)}return{item:D}}})});var At9,Mk0;var ly6=w(()=>{EW();K0();CX();h0();gH();cw();At9=p71.extend({force:F.boolean().optional().describe("If true, removes this connection from all agents that reference it before deleting")}),Mk0=m1({name:"COLLECTION_CONNECTIONS_DELETE",description:"Permanently delete a connection. Set force=true to auto-remove from referencing Virtual MCPs.",annotations:{title:"Delete Connection",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:At9,outputSchema:n71(W3),handler:async(X,Y)=>{N0(Y);let G=s1(Y);await Y.access.check();let Q=await Y.storage.connections.findById(X.id);if(!Q)throw Error(`Connection not found: ${X.id}`);if(Q.organization_id!==G.id)throw Error("Connection not found in organization");if(Q.metadata?.isFixed===!0)throw Error("This connection is a fixed system connection and cannot be deleted");let W=await Y.storage.virtualMcps.listByConnectionId(G.id,X.id);if(W.length>0)if(X.force)await Y.storage.virtualMcps.removeConnectionReferences(X.id);else throw Error(JSON.stringify({code:"CONNECTION_IN_USE",agentNames:W.map((K)=>K.title)}));await Y.storage.connections.delete(X.id);let Z=await Y.storage.organizationSettings.get(G.id);if(Z?.registry_config){let{registries:K,blockedMcps:H}=Z.registry_config;if(X.id in K){let{[X.id]:U,...B}=K;await Y.storage.organizationSettings.upsert(G.id,{registry_config:{registries:B,blockedMcps:H}})}}UQ()?.invalidate(X.id).catch(()=>{});let $=H6(Y);if($)M6.capture({distinctId:$,event:"connection_deleted",groups:{organization:G.id},properties:{connection_id:Q.id,connection_type:Q.connection_type,app_name:Q.app_name??null,organization_id:G.id,forced:X.force??!1}});return{item:Q}}})});var Rk0;var my6=w(()=>{K0();h0();Rk0=m1({name:"CONNECTION_TEST",description:"Test connection health and latency",annotations:{title:"Test Connection",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!0},inputSchema:F.object({id:F.string()}),outputSchema:F.object({id:F.string(),healthy:F.boolean(),latencyMs:F.number()}),handler:async(X,Y)=>{let G=s1(Y);await Y.access.check();let Q=await Y.storage.connections.findById(X.id);if(!Q||Q.organization_id!==G.id)throw Error("Connection not found");let J=await Y.storage.connections.testConnection(X.id);return{id:X.id,...J}}})});var dy6=w(()=>{DM6();xy6();hy6();uy6();ly6();my6()});function cy6(X){if(X===null||X===void 0)return"NULL";if(typeof X==="number")return String(X);if(typeof X==="boolean")return X?"TRUE":"FALSE";if(typeof X==="string")return`'${X.replace(/'/g,"''")}'`;if(X instanceof Date)return`'${X.toISOString()}'`;return`'${JSON.stringify(X).replace(/'/g,"''")}'`}function Vt9(X,Y){let G=X;for(let J=Y.length;J>=1;J--){let W=`$${J}`;if(G.includes(W))G=G.replaceAll(W,cy6(Y[J-1]))}let Q=[];for(let J=0;J<G.length;J++)if(G[J]==="?")Q.push(J);for(let J=Math.min(Q.length,Y.length)-1;J>=0;J--){let W=Q[J],Z=cy6(Y[J]);G=G.slice(0,W)+Z+G.slice(W+1)}return G}function iy6(X){return X.replace(/-/g,"_")}function Mt9(X){return`app_${iy6(X)}`}function Rt9(X){return`app_role_${iy6(X)}`}function St9(X){if(X instanceof Error){let Y=X.message.toLowerCase(),G=X.code;return G==="3F000"||G==="42704"||G==="22023"||Y.includes("schema")&&Y.includes("does not exist")||Y.includes("role")&&Y.includes("does not exist")}return!1}async function kt9(X,Y,G){if(await B1`CREATE SCHEMA IF NOT EXISTS ${B1.id(Y)}`.execute(X),!(await B1`
2368
2368
  SELECT EXISTS (SELECT 1 FROM pg_roles WHERE rolname = ${G}) as exists
2369
2369
  `.execute(X)).rows[0]?.exists)await B1`CREATE ROLE ${B1.id(G)} NOLOGIN`.execute(X);await B1`GRANT ${B1.id(G)} TO CURRENT_USER`.execute(X),await B1`GRANT USAGE, CREATE ON SCHEMA ${B1.id(Y)} TO ${B1.id(G)}`.execute(X),await B1`GRANT ALL ON ALL TABLES IN SCHEMA ${B1.id(Y)} TO ${B1.id(G)}`.execute(X),await B1`GRANT ALL ON ALL SEQUENCES IN SCHEMA ${B1.id(Y)} TO ${B1.id(G)}`.execute(X),await B1`ALTER DEFAULT PRIVILEGES IN SCHEMA ${B1.id(Y)} GRANT ALL ON TABLES TO ${B1.id(G)}`.execute(X),await B1`ALTER DEFAULT PRIVILEGES IN SCHEMA ${B1.id(Y)} GRANT ALL ON SEQUENCES TO ${B1.id(G)}`.execute(X),await B1`REVOKE ALL ON SCHEMA public FROM ${B1.id(G)}`.execute(X)}async function Ct9(X,Y,G,Q){try{return await X.transaction().execute(async(J)=>{return await B1`SET LOCAL ROLE ${B1.id(G)}`.execute(J),await B1`SET LOCAL search_path TO ${B1.id(Y)}`.execute(J),await B1.raw(Q).execute(J)})}catch(J){if(St9(J))return await kt9(X,Y,G),await X.transaction().execute(async(W)=>{return await B1`SET LOCAL ROLE ${B1.id(G)}`.execute(W),await B1`SET LOCAL search_path TO ${B1.id(Y)}`.execute(W),await B1.raw(Q).execute(W)});throw J}}var It9,jt9,py6;var ny6=w(()=>{B6();K0();h0();It9=F.object({results:F.array(F.unknown()).optional(),success:F.boolean().optional()});jt9=F.object({sql:F.string().describe("The SQL query to run"),params:F.array(F.any()).describe("The parameters to pass to the SQL query").optional()});py6=m1({name:"DATABASES_RUN_SQL",description:"Run a SQL query in a connection-scoped isolated schema. Supports SELECT, DDL, and DML.",annotations:{title:"Run SQL Query",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:jt9,outputSchema:F.object({result:F.array(It9)}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=Vt9(X.sql,X.params||[]);if(!Y.connectionId)throw Error("Connection context required for database access");console.warn("DATABASES_RUN_SQL invoked",{"tool.deprecation_probe":"DATABASES_RUN_SQL","connection.id":Y.connectionId,"organization.id":Y.organization?.id??null,"user.id":Y.auth.user?.id??null});let Q=Mt9(Y.connectionId),J=Rt9(Y.connectionId);return{result:[{results:(await Ct9(Y.db,Q,J,G)).rows,success:!0}]}}})});var ty6,_t9,ay6;var DL=w(()=>{K0();LQ1();ty6=F.object({connectionId:F.string().optional().describe("Filter subscriptions by connection ID (optional)")}),_t9=F.object({id:F.string().describe("Subscription ID"),connectionId:F.string().describe("Subscriber connection ID"),eventType:F.string().describe("Event type pattern"),publisher:F.string().nullable().describe("Publisher connection filter (null = all publishers)"),filter:F.string().nullable().describe("JSONPath filter expression"),enabled:F.boolean().describe("Whether subscription is enabled"),createdAt:F.string().datetime().describe("Created timestamp (ISO 8601)"),updatedAt:F.string().datetime().describe("Updated timestamp (ISO 8601)")}),ay6=F.object({subscriptions:F.array(_t9).describe("List of subscriptions")})});var Sk0;var ry6=w(()=>{h0();DL();Sk0=m1({name:"EVENT_PUBLISH",description:`Publish an event. Supports immediate, scheduled (deliverAt), and recurring (cron) delivery.
2370
2370
 
2371
2371
  - Source is auto-set to the caller's connection ID.
2372
- - Use EVENT_CANCEL to stop recurring events.`,annotations:{title:"Publish Event",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!1},inputSchema:ZQ1,outputSchema:WQ1,handler:async(X,Y)=>{N0(Y);let G=s1(Y);await Y.access.check();let Q=Y.connectionId;if(!Q)throw Error("Connection ID required to publish events. Use a connection-scoped token.");let J=await Y.eventBus.publish(G.id,Q,{type:X.type,subject:X.subject,data:X.data,deliverAt:X.deliverAt,cron:X.cron});return{id:J.id,type:J.type,source:J.source,time:J.time}}})});var kk0;var oy6=w(()=>{h0();DL();kk0=m1({name:"EVENT_SUBSCRIBE",description:"Subscribe to events of a specific type. Caller's connection is set as subscriber automatically.",annotations:{title:"Subscribe to Events",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:$Q1,outputSchema:KQ1,handler:async(X,Y)=>{N0(Y);let G=s1(Y);await Y.access.check();let Q=Y.connectionId;if(!Q)throw Error("Connection ID required to subscribe. Use a connection-scoped token.");let J=await Y.eventBus.subscribe(G.id,{connectionId:Q,eventType:X.eventType,publisher:X.publisher,filter:X.filter});return{subscription:{id:J.id,connectionId:J.connectionId,eventType:J.eventType,publisher:J.publisher,filter:J.filter,enabled:J.enabled,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt,updatedAt:J.updatedAt instanceof Date?J.updatedAt.toISOString():J.updatedAt}}}})});var Ck0;var sy6=w(()=>{h0();DL();Ck0=m1({name:"EVENT_UNSUBSCRIBE",description:"Remove a subscription to stop receiving events of that type.",annotations:{title:"Unsubscribe from Events",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:UQ1,outputSchema:BQ1,handler:async(X,Y)=>{N0(Y);let G=s1(Y);await Y.access.check();let Q=Y.connectionId;if(!Q)throw Error("Connection ID required to unsubscribe. Use a connection-scoped token.");let J=await Y.eventBus.getSubscription(G.id,X.subscriptionId);if(!J)throw Error(`Subscription not found: ${X.subscriptionId}`);if(J.connectionId!==Q)throw Error("Cannot unsubscribe from a subscription owned by another connection");return{success:(await Y.eventBus.unsubscribe(G.id,X.subscriptionId)).success,subscriptionId:X.subscriptionId}}})});var vk0;var ey6=w(()=>{h0();DL();vk0=m1({name:"EVENT_CANCEL",description:"Stop a recurring event from delivering further. Only the original publisher can cancel.",annotations:{title:"Cancel Recurring Event",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:NQ1,outputSchema:zQ1,handler:async(X,Y)=>{N0(Y);let G=s1(Y);await Y.access.check();let Q=Y.connectionId;if(!Q)throw Error("Connection ID required to cancel events. Use a connection-scoped token.");if(!await Y.eventBus.getEvent(G.id,X.eventId))throw Error(`Event not found: ${X.eventId}`);if(!(await Y.eventBus.cancelEvent(G.id,X.eventId,Q)).success)throw Error("Failed to cancel event. Either the event is already completed/failed, or you are not the publisher.");return{success:!0,eventId:X.eventId}}})});var _k0;var Xx6=w(()=>{h0();DL();_k0=m1({name:"EVENT_ACK",description:"Acknowledge event delivery after processing. Only needed for events received with retryAfter.",annotations:{title:"Acknowledge Event",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:OQ1,outputSchema:DQ1,handler:async(X,Y)=>{N0(Y);let G=s1(Y);await Y.access.check();let Q=Y.connectionId;if(!Q)throw Error("Connection ID required to acknowledge events. Use a connection-scoped token.");if(!(await Y.eventBus.ackEvent(G.id,X.eventId,Q)).success)throw Error("Failed to acknowledge event. Either the event was not found, already delivered, or you are not a subscriber.");return{success:!0,eventId:X.eventId}}})});var fk0;var Yx6=w(()=>{h0();DL();fk0=m1({name:"EVENT_SUBSCRIPTION_LIST",description:"List event subscriptions. Filter by connection ID to scope results.",annotations:{title:"List Event Subscriptions",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:ty6,outputSchema:ay6,handler:async(X,Y)=>{N0(Y);let G=s1(Y);return await Y.access.check(),{subscriptions:(await Y.eventBus.listSubscriptions(G.id,X.connectionId)).map((J)=>({id:J.id,connectionId:J.connectionId,eventType:J.eventType,publisher:J.publisher,filter:J.filter,enabled:J.enabled,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt,updatedAt:J.updatedAt instanceof Date?J.updatedAt.toISOString():J.updatedAt}))}}})});var bk0;var Gx6=w(()=>{h0();DL();bk0=m1({name:"EVENT_SYNC_SUBSCRIPTIONS",description:"Declaratively sync subscriptions: creates new, deletes removed, updates changed filters.",annotations:{title:"Sync Event Subscriptions",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:HQ1,outputSchema:FQ1,handler:async(X,Y)=>{N0(Y);let G=s1(Y);await Y.access.check();let Q=Y.connectionId;if(!Q)throw Error("Connection ID required to sync subscriptions. Use a connection-scoped token.");let J=await Y.eventBus.syncSubscriptions(G.id,{connectionId:Q,subscriptions:X.subscriptions});return{created:J.created,updated:J.updated,deleted:J.deleted,unchanged:J.unchanged,subscriptions:J.subscriptions.map((W)=>({id:W.id,connectionId:W.connectionId,eventType:W.eventType,publisher:W.publisher,filter:W.filter,enabled:W.enabled,createdAt:W.createdAt instanceof Date?W.createdAt.toISOString():W.createdAt,updatedAt:W.updatedAt instanceof Date?W.updatedAt.toISOString():W.updatedAt}))}}})});var Qx6=w(()=>{ry6();oy6();sy6();ey6();Xx6();Yx6();Gx6();DL()});var tR=w(()=>{Aq1()});function bt9(){let X=Jx6[Math.floor(Math.random()*Jx6.length)];return`icon://${Zx6[Math.floor(Math.random()*Zx6.length)]}?color=${X}`}var Jx6,Zx6,yt9,xt9,yk0;var Wx6=w(()=>{K0();h0();tR();Jx6=["red","orange","amber","yellow","lime","green","emerald","cyan","sky","blue","indigo","violet","purple","fuchsia","pink","rose"],Zx6=["Star01","Zap","Heart","Globe01","Compass03","Lightbulb02","Rocket01","Flag01","BookOpen01","Shield01","Key01","Diamond01","Cube01","Target04","Award01","Briefcase01","Coffee","Feather","Hexagon01","Layers3_01","Map01","Palette","Package","Terminal"];yt9=F.object({data:C71.describe("Data for the new virtual MCP")}),xt9=F.object({item:$3.describe("The created virtual MCP entity")}),yk0=m1({name:"COLLECTION_VIRTUAL_MCP_CREATE",description:"Create a Virtual MCP that aggregates tools from multiple connections into one endpoint.",annotations:{title:"Create Virtual MCP",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:yt9,outputSchema:xt9,handler:async(X,Y)=>{N0(Y);let G=s1(Y);await Y.access.check();let Q=H6(Y);if(!Q)throw Error("User ID required to create virtual MCP");let J={...X.data,icon:X.data.icon??bt9()};return{item:await Y.storage.virtualMcps.create(G.id,Q,J)}}})});function ht9(X){let Y=[],G=0;while(G<X.length){let Q=X[G];if(Q==="%")Y.push(".*");else if(Q==="_")Y.push(".");else if(/[.*+?^${}()|[\]\\]/.test(Q))Y.push("\\"+Q);else Y.push(Q);G++}return Y.join("")}function WT(X){return typeof X==="string"||typeof X==="number"}function xk0(X,Y){let G=Y.split("."),Q=X;for(let J of G){if(Q==null||typeof Q!=="object")return;Q=Q[J]}return Q}function gt9(X,Y){return X.connections.some((G)=>G.connection_id===Y)}function dS1(X,Y){if("conditions"in Y){let{operator:$,conditions:K}=Y;switch($){case"and":return K.every((H)=>dS1(X,H));case"or":return K.some((H)=>dS1(X,H));case"not":return!K.every((H)=>dS1(X,H));default:return!0}}let{field:G,operator:Q,value:J}=Y,W=G.join(".");if(W==="connection_id"){if(Q!=="eq"||typeof J!=="string")return!1;return gt9(X,J)}let Z=xk0(X,W);switch(Q){case"eq":return Z===J;case"gt":return WT(Z)&&WT(J)&&Z>J;case"gte":return WT(Z)&&WT(J)&&Z>=J;case"lt":return WT(Z)&&WT(J)&&Z<J;case"lte":return WT(Z)&&WT(J)&&Z<=J;case"in":return Array.isArray(J)&&J.includes(Z);case"like":if(typeof Z!=="string"||typeof J!=="string")return!1;if(J.length>100)return!1;let $=ht9(J);return new RegExp(`^${$}$`,"i").test(Z);case"contains":if(typeof Z!=="string"||typeof J!=="string")return!1;return Z.toLowerCase().includes(J.toLowerCase());default:return!0}}function ut9(X,Y){return[...X].sort((G,Q)=>{for(let J of Y){let W=J.field.join("."),Z=xk0(G,W),$=xk0(Q,W),K=0;if(Z==null&&$==null)continue;if(Z==null)K=J.nulls==="first"?-1:1;else if($==null)K=J.nulls==="first"?1:-1;else if(typeof Z==="string"&&typeof $==="string")K=Z.localeCompare($);else if(typeof Z==="number"&&typeof $==="number")K=Z-$;else K=String(Z).localeCompare(String($));if(K!==0)return J.direction==="desc"?-K:K}return 0})}var lt9,mt9,hk0;var $x6=w(()=>{EW();h0();tR();lt9=LU,mt9=Gw($3),hk0=m1({name:"COLLECTION_VIRTUAL_MCP_LIST",description:"List all MCP virtual MCPs in the organization",annotations:{title:"List Virtual MCPs",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:lt9,outputSchema:mt9,handler:async(X,Y)=>{await Y.access.check();let G=s1(Y),Q=X.where&&!("conditions"in X.where)&&X.where.field.join(".")==="connection_id"&&X.where.operator==="eq"&&typeof X.where.value==="string"?X.where.value:void 0,J=X.where&&!("conditions"in X.where)&&X.where.field.join(".")==="pinned"&&X.where.operator==="eq"&&typeof X.where.value==="boolean"?X.where.value:void 0,Z=Q?await Y.storage.virtualMcps.listByConnectionId(G.id,Q):await Y.storage.virtualMcps.list(G.id,J!==void 0?{pinnedOnly:J}:void 0);if(X.where)Z=Z.filter((N)=>dS1(N,X.where));if(X.orderBy&&X.orderBy.length>0)Z=ut9(Z,X.orderBy);let $=Z.length,K=X.offset??0,H=X.limit??100,U=Z.slice(K,K+H),B=K+H<$;return{items:U,totalCount:$,hasMore:B}}})});var dt9,ct9,gk0;var Kx6=w(()=>{K0();h0();tR();dt9=F.object({id:F.string().describe("ID of the virtual MCP to retrieve")}),ct9=F.object({item:$3.nullable().describe("The retrieved virtual MCP, or null if not found")}),gk0=m1({name:"COLLECTION_VIRTUAL_MCP_GET",description:"Get a Virtual MCP's configuration, connections, and virtual tools by ID.",annotations:{title:"Get Virtual MCP",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:dt9,outputSchema:ct9,handler:async(X,Y)=>{N0(Y);let G=s1(Y);await Y.access.check();let Q=await Y.storage.virtualMcps.findById(X.id);if(Q&&Q.organization_id!==G.id)return{item:null};if(!Q)return{item:null};return{item:Q}}})});var it9,pt9,uk0;var Hx6=w(()=>{K0();h0();tR();it9=F.object({id:F.string().describe("ID of the virtual MCP to update"),data:v71.describe("Partial virtual MCP data to update")}),pt9=F.object({item:$3.describe("The updated virtual MCP entity")}),uk0=m1({name:"COLLECTION_VIRTUAL_MCP_UPDATE",description:"Update a Virtual MCP's name, slug, or connection list.",annotations:{title:"Update Virtual MCP",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:it9,outputSchema:pt9,handler:async(X,Y)=>{N0(Y);let G=s1(Y);await Y.access.check();let Q=H6(Y);if(!Q)throw Error("User ID required to update virtual MCP");let J=await Y.storage.virtualMcps.findById(X.id);if(!J)throw Error(`Virtual MCP not found: ${X.id}`);if(J.organization_id!==G.id)throw Error(`Virtual MCP not found: ${X.id}`);let W={...X.data};if(W.metadata&&J.metadata)W.metadata={...J.metadata,...W.metadata};return{item:await Y.storage.virtualMcps.update(X.id,Q,W)}}})});var nt9,tt9,lk0;var Fx6=w(()=>{K0();h0();tR();nt9=F.object({id:F.string().describe("ID of the virtual MCP to delete")}),tt9=F.object({item:$3.describe("The deleted virtual MCP entity")}),lk0=m1({name:"COLLECTION_VIRTUAL_MCP_DELETE",description:"Permanently delete a Virtual MCP and its virtual tools.",annotations:{title:"Delete Virtual MCP",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:nt9,outputSchema:tt9,handler:async(X,Y)=>{N0(Y);let G=s1(Y);await Y.access.check();let Q=await Y.storage.virtualMcps.findById(X.id);if(!Q)throw Error(`Virtual MCP not found: ${X.id}`);if(Q.organization_id!==G.id)throw Error(`Virtual MCP not found: ${X.id}`);return await Y.storage.virtualMcps.delete(X.id),{item:Q}}})});var at9,mk0;var Ux6=w(()=>{K0();h0();at9=F.object({id:F.string(),virtualMcpId:F.string(),pluginId:F.string(),connectionId:F.string().nullable(),settings:F.record(F.string(),F.unknown()).nullable(),createdAt:F.string(),updatedAt:F.string()}),mk0=m1({name:"VIRTUAL_MCP_PLUGIN_CONFIG_GET",description:"Get a plugin's current configuration for a specific virtual MCP.",annotations:{title:"Get Virtual MCP Plugin Config",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({virtualMcpId:F.string().describe("Virtual MCP ID"),pluginId:F.string().describe("Plugin ID")}),outputSchema:F.object({config:at9.nullable()}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let{virtualMcpId:G,pluginId:Q}=X,J=await Y.storage.virtualMcpPluginConfigs.get(G,Q);if(!J)return{config:null};return{config:{id:J.id,virtualMcpId:J.virtualMcpId,pluginId:J.pluginId,connectionId:J.connectionId,settings:J.settings,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt,updatedAt:J.updatedAt instanceof Date?J.updatedAt.toISOString():J.updatedAt}}}})});var rt9,dk0;var Bx6=w(()=>{K0();h0();Zr();lw();rt9=F.object({id:F.string(),virtualMcpId:F.string(),pluginId:F.string(),connectionId:F.string().nullable(),settings:F.record(F.string(),F.unknown()).nullable(),createdAt:F.string(),updatedAt:F.string()}),dk0=m1({name:"VIRTUAL_MCP_PLUGIN_CONFIG_UPDATE",description:"Set or update a plugin's configuration for a specific virtual MCP.",annotations:{title:"Update Virtual MCP Plugin Config",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({virtualMcpId:F.string().describe("Virtual MCP ID"),pluginId:F.string().describe("Plugin ID"),connectionId:F.string().nullable().optional().describe("MCP connection to bind"),settings:F.record(F.string(),F.unknown()).nullable().optional().describe("Plugin-specific settings")}),outputSchema:F.object({config:rt9}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let{virtualMcpId:G,pluginId:Q,connectionId:J,settings:W}=X,Z=H6(Y),$=await Y.storage.connections.findById(G);if(!$)throw Error(`Connection not found: ${G}`);let K=J?await Y.storage.connections.findById(J):null;if(J&&$.organization_id&&!K&&fU()){if(vV1(J,$.organization_id)){if(!Z)throw Error("User ID required to create dev-assets connection");let U=Jr($.organization_id,t$());await Y.storage.connections.create({...U,organization_id:$.organization_id,created_by:Z})}}let H=await Y.storage.virtualMcpPluginConfigs.upsert(G,Q,{connectionId:J,settings:W});return{config:{id:H.id,virtualMcpId:H.virtualMcpId,pluginId:H.pluginId,connectionId:H.connectionId,settings:H.settings,createdAt:H.createdAt instanceof Date?H.createdAt.toISOString():H.createdAt,updatedAt:H.updatedAt instanceof Date?H.updatedAt.toISOString():H.updatedAt}}}})});var ot9,ck0;var Nx6=w(()=>{K0();h0();tR();ot9=F.object({connectionId:F.string(),toolName:F.string(),label:F.string(),icon:F.string().nullable().optional()}),ck0=m1({name:"VIRTUAL_MCP_PINNED_VIEWS_UPDATE",description:"Update the pinned sidebar views for a virtual MCP. Replaces all current pins.",annotations:{title:"Update Pinned Views",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({virtualMcpId:F.string().describe("Virtual MCP ID"),pinnedViews:F.array(ot9).describe("Pinned views to set for the virtual MCP sidebar"),layout:F.object({defaultMainView:F.object({type:F.string(),id:F.string().optional(),toolName:F.string().optional()}).nullable().optional(),chatDefaultOpen:F.boolean().nullable().optional()}).optional()}),outputSchema:F.object({item:$3.nullable()}),handler:async(X,Y)=>{N0(Y);let G=s1(Y);await Y.access.check();let{virtualMcpId:Q,pinnedViews:J,layout:W}=X,Z=H6(Y),$=await Y.storage.virtualMcps.findById(Q);if(!$)throw Error(`Virtual MCP not found: ${Q}`);if($.organization_id!==G.id)throw Error(`Virtual MCP not found: ${Q}`);let K=$.metadata?.ui??{},H={...K,pinnedViews:J.length>0?J:null,layout:W??K.layout??null};return{item:await Y.storage.virtualMcps.update(Q,Z??"system",{metadata:{...$.metadata,ui:H}})}}})});var zx6=w(()=>{Wx6();$x6();Kx6();Hx6();Fx6();Ux6();Bx6();Nx6()});var ik0;var Ox6=w(()=>{T$();h0();K0();ik0=m1({name:"MONITORING_LOG_GET",description:"Get a single monitoring log by ID with full input and output data.",annotations:{title:"Get Monitoring Log",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({id:F.string().describe("Log ID to fetch")}),outputSchema:F.object({log:F.object({id:F.string().optional(),organizationId:F.string(),connectionId:F.string(),toolName:F.string(),input:F.record(F.string(),F.unknown()),output:F.record(F.string(),F.unknown()),isError:F.boolean(),errorMessage:F.string().nullish(),durationMs:F.number(),timestamp:F.string(),userId:F.string().nullish(),requestId:F.string(),userAgent:F.string().nullish(),virtualMcpId:F.string().nullish(),properties:F.record(F.string(),F.string()).nullish()}).nullable().describe("The monitoring log, or null if not found")}),handler:async(X,Y)=>{await Y.access.check(),await aP();let G=s1(Y),Q=await Y.storage.monitoring.getById(G.id,X.id);if(!Q)return{log:null};return{log:{...Q,timestamp:Q.timestamp instanceof Date?Q.timestamp.toISOString():Q.timestamp}}}})});var et9,pk0;var Dx6=w(()=>{T$();h0();K0();et9=F.object({id:F.string().optional().describe("Unique log identifier"),organizationId:F.string().describe("Organization ID"),connectionId:F.string().describe("Connection ID"),toolName:F.string().describe("Name of the tool that was called"),isError:F.boolean().describe("Whether the call resulted in an error"),errorMessage:F.string().nullish().describe("Error message if applicable"),durationMs:F.number().describe("Call duration in milliseconds"),timestamp:F.string().describe("ISO 8601 timestamp of the call"),userId:F.string().nullish().describe("User who triggered the call"),requestId:F.string().describe("Unique request identifier"),userAgent:F.string().nullish().describe("Client identifier (x-mesh-client header)"),virtualMcpId:F.string().nullish().describe("Virtual MCP (Agent) ID if routed through an agent"),properties:F.record(F.string(),F.string()).nullish().describe("Custom key-value metadata attached to the log")}),pk0=m1({name:"MONITORING_LOGS_LIST",description:"List monitoring logs for tool calls with filtering and pagination.",annotations:{title:"List Monitoring Logs",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({connectionId:F.string().optional().describe("Filter by connection ID"),excludeConnectionIds:F.array(F.string()).optional().describe("Exclude logs from these connection IDs (e.g. system connections)"),virtualMcpId:F.string().optional().describe("Filter by Virtual MCP (Agent) ID"),toolName:F.string().optional().describe("Filter by tool name"),isError:F.boolean().optional().describe("Filter by error status"),startDate:F.string().datetime().optional().describe("Filter by start date (ISO 8601 datetime string)"),endDate:F.string().datetime().optional().describe("Filter by end date (ISO 8601 datetime string)"),limit:F.number().default(20).describe("Maximum number of results"),offset:F.number().default(0).describe("Offset for pagination"),properties:F.record(F.string(),F.string()).optional().describe("Filter by exact property key=value matches"),propertyKeys:F.array(F.string()).optional().describe("Filter by logs that have these property keys"),propertyPatterns:F.record(F.string(),F.string()).optional().describe("Filter by property value patterns (SQL LIKE, use % as wildcard)"),propertyInValues:F.record(F.string(),F.string()).optional().describe("Filter by exact match within comma-separated values (e.g., user_tags in 'Engineering')")}),outputSchema:F.object({logs:F.array(et9).describe("Array of monitoring logs"),total:F.number().describe("Total number of logs matching filters"),offset:F.number().describe("Current offset for pagination"),limit:F.number().describe("Current limit for pagination")}),handler:async(X,Y)=>{await aP();let G=s1(Y),J=X.properties||X.propertyKeys||X.propertyPatterns||X.propertyInValues?{properties:X.properties,propertyKeys:X.propertyKeys,propertyPatterns:X.propertyPatterns,propertyInValues:X.propertyInValues}:void 0,W={organizationId:G.id,connectionId:X.connectionId,excludeConnectionIds:X.excludeConnectionIds,virtualMcpId:X.virtualMcpId,toolName:X.toolName,isError:X.isError,startDate:X.startDate?new Date(X.startDate):void 0,endDate:X.endDate?new Date(X.endDate):void 0,limit:X.limit,offset:X.offset,propertyFilters:J},Z=await Y.storage.monitoring.query(W);return{logs:Z.logs.map(({input:$,output:K,...H})=>({...H,timestamp:H.timestamp instanceof Date?H.timestamp.toISOString():H.timestamp})),total:Z.total,offset:X.offset,limit:X.limit}}})});var nk0;var wx6=w(()=>{T$();h0();K0();nk0=m1({name:"MONITORING_STATS",description:"Get aggregated statistics (counts, latency, error rates) for tool call monitoring.",annotations:{title:"Get Monitoring Stats",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({startDate:F.string().datetime().optional().describe("Filter by start date (ISO 8601 datetime string)"),endDate:F.string().datetime().optional().describe("Filter by end date (ISO 8601 datetime string)"),interval:F.string().regex(/^\d+[mhd]$/).optional().describe("Bucket interval for timeseries data (e.g. 1m, 5m, 2h, 1d). When provided, returns timeseries array."),connectionIds:F.array(F.string()).max(100).optional().describe("Filter by specific connection IDs (max 100)"),excludeConnectionIds:F.array(F.string()).max(100).optional().describe("Exclude specific connection IDs (max 100)"),toolNames:F.array(F.string()).max(100).optional().describe("Filter by specific tool names (max 100)"),status:F.enum(["success","error"]).optional().describe("Filter metrics by execution status"),topN:F.number().int().min(1).max(20).optional().describe("When provided with interval, also return top tools and their timeseries")}),outputSchema:F.object({totalCalls:F.number().describe("Total number of tool calls"),errorRate:F.number().optional().describe("Error rate as a decimal (0 to 1)"),avgDurationMs:F.number().describe("Average call duration in milliseconds"),errorRatePercent:F.string().optional().describe("Error rate as a percentage string"),totalErrors:F.number().optional().describe("Total number of errors"),p50DurationMs:F.number().optional().describe("50th percentile duration in milliseconds"),p95DurationMs:F.number().optional().describe("95th percentile duration in milliseconds"),connectionBreakdown:F.array(F.object({connectionId:F.string(),calls:F.number(),errors:F.number(),errorRate:F.number(),avgDurationMs:F.number()})).optional().describe("Per-connection metric breakdown"),topTools:F.array(F.object({toolName:F.string(),connectionId:F.string().nullable(),calls:F.number()})).optional().describe("Top tools ranked by calls"),topToolsTimeseries:F.array(F.object({timestamp:F.string(),toolName:F.string(),calls:F.number(),errors:F.number(),avg:F.number(),p95:F.number()})).optional().describe("Per-tool metric timeseries for the top tools"),timeseries:F.array(F.object({timestamp:F.string(),calls:F.number(),errors:F.number(),errorRate:F.number(),avg:F.number(),p50:F.number(),p95:F.number()})).optional().describe("Timeseries data points bucketed by interval")}),handler:async(X,Y)=>{let G=s1(Y);if(await Y.access.check(),await aP(),X.interval){let J=await Y.storage.monitoring.queryMetricTimeseries({organizationId:G.id,interval:X.interval,startDate:X.startDate?new Date(X.startDate):void 0,endDate:X.endDate?new Date(X.endDate):void 0,filters:{connectionIds:X.connectionIds,excludeConnectionIds:X.excludeConnectionIds,toolNames:X.toolNames,status:X.status}});if(!X.topN)return J;let W=await Y.storage.monitoring.queryMetricTopToolsTimeseries({organizationId:G.id,interval:X.interval,startDate:X.startDate?new Date(X.startDate):void 0,endDate:X.endDate?new Date(X.endDate):void 0,topN:X.topN,filters:{connectionIds:X.connectionIds,excludeConnectionIds:X.excludeConnectionIds,toolNames:X.toolNames,status:X.status}});return{...J,topTools:W.topTools,topToolsTimeseries:W.timeseries}}let Q=await Y.storage.monitoring.getStats({organizationId:G.id,startDate:X.startDate?new Date(X.startDate):void 0,endDate:X.endDate?new Date(X.endDate):void 0});return{...Q,errorRatePercent:(Q.errorRate*100).toFixed(2)}}})});var Lx6=w(()=>{Ox6();Dx6();wx6()});var tk0;var Ex6=w(()=>{K0();h0();tk0=m1({name:"ORGANIZATION_CREATE",description:"Create a new organization. The caller becomes the owner automatically.",annotations:{title:"Create Organization",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:F.object({slug:F.string().min(1).max(50).regex(/^[a-z0-9-]+$/,"Slug must be lowercase alphanumeric with hyphens"),name:F.string().min(1).max(255),description:F.string().optional()}),outputSchema:F.object({id:F.string(),name:F.string(),slug:F.string(),logo:F.string().nullable().optional(),metadata:F.any().optional(),createdAt:F.string().datetime().describe("ISO 8601 timestamp"),members:F.array(F.any()).optional()}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=H6(Y);if(!G)throw Error("User ID required to create organization");let Q=await Y.boundAuth.organization.create({name:X.name,slug:X.slug,metadata:X.description?{description:X.description}:void 0,userId:G});if(!Q)throw Error("Failed to create organization");return{...Q,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt}}})});var ak0;var Px6=w(()=>{K0();h0();ak0=m1({name:"ORGANIZATION_LIST",description:"List organizations the current user belongs to.",annotations:{title:"List Organizations",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},_meta:{ui:{visibility:"app"}},inputSchema:F.object({userId:F.string().optional()}),outputSchema:F.object({organizations:F.array(F.object({id:F.string(),name:F.string(),slug:F.string(),logo:F.string().nullable().optional(),metadata:F.any().optional(),createdAt:F.string().datetime().describe("ISO 8601 timestamp")}))}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=H6(Y),Q=X.userId||G;if(!Q)throw Error("User ID required to list organizations");return{organizations:(await Y.boundAuth.organization.list(Q)).map((W)=>({...W,createdAt:W.createdAt instanceof Date?W.createdAt.toISOString():W.createdAt}))}}})});var rk0;var qx6=w(()=>{K0();h0();rk0=m1({name:"ORGANIZATION_GET",description:"Get an organization's details, members, and settings by slug or ID.",annotations:{title:"Get Organization",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({}),outputSchema:F.object({id:F.string(),name:F.string(),slug:F.string(),logo:F.string().nullable().optional(),metadata:F.any().optional(),createdAt:F.string().datetime().describe("ISO 8601 timestamp"),members:F.array(F.any()).optional(),invitations:F.array(F.any()).optional()}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=await Y.boundAuth.organization.get();if(!G)throw Error("No active organization found");let Q=new Date,J=G.invitations?.filter((W)=>new Date(W.expiresAt)>Q);return{...G,invitations:J,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():G.createdAt}}})});var ok0;var Ax6=w(()=>{K0();h0();ok0=m1({name:"ORGANIZATION_UPDATE",description:"Update an organization's name or description.",annotations:{title:"Update Organization",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({id:F.string(),name:F.string().min(1).max(255).optional(),description:F.string().optional()}),outputSchema:F.object({id:F.string(),name:F.string(),slug:F.string(),logo:F.string().nullable().optional(),metadata:F.any().optional(),createdAt:F.string().datetime().describe("ISO 8601 timestamp")}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G={};if(X.name)G.name=X.name;if(X.description)G.metadata={description:X.description};let Q=await Y.boundAuth.organization.update({organizationId:X.id,data:G});if(!Q)throw Error("Failed to update organization");return{...Q,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt}}})});var sk0;var Tx6=w(()=>{K0();h0();sk0=m1({name:"ORGANIZATION_DELETE",description:"Delete an organization.",annotations:{title:"Delete Organization",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({id:F.string()}),outputSchema:F.object({success:F.boolean(),id:F.string()}),handler:async(X,Y)=>{return N0(Y),await Y.access.check(),await Y.boundAuth.organization.delete(X.id),{success:!0,id:X.id}}})});var pZ1,nZ1,iZ1,tZ1,aZ1,Zs;var rZ1=w(()=>{K0();pZ1=F.object({title:F.string(),url:F.string(),icon:F.string()}),nZ1=F.object({registries:F.record(F.string(),F.object({enabled:F.boolean()})).describe("Per-registry enabled/disabled state. Key is connection ID. Absent registries are treated as enabled."),blockedMcps:F.array(F.string()).describe("List of MCP app_name or app_id values to hide from the store.")}),iZ1=F.object({keyId:F.string(),modelId:F.string(),title:F.string().optional()}).nullable(),tZ1=F.object({enabled:F.boolean(),chat:F.object({fast:iZ1,smart:iZ1,thinking:iZ1}),image:iZ1,webResearch:iZ1}),aZ1=F.object({ids:F.array(F.string()).describe("Ordered list of agent ids to show on the home view. Mix of well-known template ids and custom virtual MCP ids.")}),Zs=F.object({id:F.string().describe("Brand context ID"),name:F.string().describe("Company name"),domain:F.string().describe("Company domain (e.g. example.com)"),overview:F.string().describe("Company overview / description"),logo:F.string().nullable().optional().describe("Logo URL"),favicon:F.string().nullable().optional().describe("Favicon URL"),ogImage:F.string().nullable().optional().describe("OG image URL"),fonts:F.object({heading:F.string().optional().describe("Font family for headings"),body:F.string().optional().describe("Font family for body text"),code:F.string().optional().describe("Font family for code / monospace")}).nullable().optional().describe("Font families by semantic role"),colors:F.object({primary:F.string().optional().describe("Primary brand color (hex)"),secondary:F.string().optional().describe("Secondary brand color (hex)"),accent:F.string().optional().describe("Accent / highlight color (hex)"),background:F.string().optional().describe("Background color (hex)"),foreground:F.string().optional().describe("Foreground / text color (hex)")}).nullable().optional().describe("Semantic color palette"),images:F.array(F.record(F.string(),F.unknown())).nullable().optional().describe("Brand images"),metadata:F.record(F.string(),F.unknown()).nullable().optional().describe("Extra design tokens (typography, components, spacing, layout, tone, etc.)"),archivedAt:F.string().nullable().optional().describe("Archive timestamp (null to unarchive)"),isDefault:F.boolean().optional().describe("Whether this is the default brand for the organization")})});var ek0;var Ix6=w(()=>{K0();h0();rZ1();ek0=m1({name:"ORGANIZATION_SETTINGS_GET",description:"Get organization-level settings including sidebar configuration, store registry settings, simple model mode, and default home agents.",annotations:{title:"Get Organization Settings",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({}),outputSchema:F.object({organizationId:F.string(),sidebar_items:F.array(pZ1).nullable().optional(),enabled_plugins:F.array(F.string()).nullable().optional(),registry_config:nZ1.nullable().optional(),simple_mode:tZ1.nullable().optional(),default_home_agents:aZ1.nullable().optional(),createdAt:F.string().datetime().optional().describe("ISO 8601 timestamp"),updatedAt:F.string().datetime().optional().describe("ISO 8601 timestamp")}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=Y.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");let Q=await Y.storage.organizationSettings.get(G);if(!Q)return{organizationId:G};return{...Q,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt,updatedAt:Q.updatedAt instanceof Date?Q.updatedAt.toISOString():Q.updatedAt}}})});var XC0;var Vx6=w(()=>{K0();h0();rZ1();XC0=m1({name:"ORGANIZATION_SETTINGS_UPDATE",description:"Update organization-level settings such as sidebar configuration, store registry settings, simple model mode, and default home agents.",annotations:{title:"Update Organization Settings",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({organizationId:F.string(),sidebar_items:F.array(pZ1).optional(),enabled_plugins:F.array(F.string()).optional(),registry_config:nZ1.optional(),simple_mode:tZ1.optional(),default_home_agents:aZ1.optional()}),outputSchema:F.object({organizationId:F.string(),sidebar_items:F.array(pZ1).nullable().optional(),enabled_plugins:F.array(F.string()).nullable().optional(),registry_config:nZ1.nullable().optional(),simple_mode:tZ1.nullable().optional(),default_home_agents:aZ1.nullable().optional(),createdAt:F.string().datetime().describe("ISO 8601 timestamp"),updatedAt:F.string().datetime().describe("ISO 8601 timestamp")}),handler:async(X,Y)=>{if(N0(Y),await Y.access.check(),Y.organization&&Y.organization.id!==X.organizationId)throw Error("Cannot update settings for a different organization");let G=await Y.storage.organizationSettings.upsert(X.organizationId,{sidebar_items:X.sidebar_items,enabled_plugins:X.enabled_plugins,registry_config:X.registry_config,simple_mode:X.simple_mode,default_home_agents:X.default_home_agents});return{...G,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():G.createdAt,updatedAt:G.updatedAt instanceof Date?G.updatedAt.toISOString():G.updatedAt}}})});var jx6,YC0,GC0;var Mx6=w(()=>{K0();h0();rZ1();jx6=Zs.extend({organizationId:F.string(),archivedAt:F.string().nullable().optional().describe("ISO 8601 timestamp"),createdAt:F.string().describe("ISO 8601 timestamp"),updatedAt:F.string().describe("ISO 8601 timestamp")}),YC0=m1({name:"BRAND_CONTEXT_LIST",description:"List all brand contexts (company profiles) for the current organization.",annotations:{title:"List Brand Contexts",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({includeArchived:F.boolean().optional().describe("Include archived brands in the list")}),outputSchema:F.object({items:F.array(jx6)}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=Y.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");return{items:(await Y.storage.brandContext.list(G,{includeArchived:X.includeArchived})).map((J)=>({...J,archivedAt:J.archivedAt instanceof Date?J.archivedAt.toISOString():J.archivedAt,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt,updatedAt:J.updatedAt instanceof Date?J.updatedAt.toISOString():J.updatedAt}))}}}),GC0=m1({name:"BRAND_CONTEXT_GET",description:"Get a specific brand context by ID.",annotations:{title:"Get Brand Context",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({id:F.string().describe("Brand context ID")}),outputSchema:jx6.extend({organizationId:F.string()}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=Y.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");let Q=await Y.storage.brandContext.get(X.id,G);if(!Q)throw Error("Brand context not found");return{...Q,archivedAt:Q.archivedAt instanceof Date?Q.archivedAt.toISOString():Q.archivedAt,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt,updatedAt:Q.updatedAt instanceof Date?Q.updatedAt.toISOString():Q.updatedAt}}})});var Rx6,QC0,JC0,ZC0;var Sx6=w(()=>{K0();h0();rZ1();Rx6=Zs.extend({organizationId:F.string(),createdAt:F.string().describe("ISO 8601 timestamp"),updatedAt:F.string().describe("ISO 8601 timestamp")}),QC0=m1({name:"BRAND_CONTEXT_CREATE",description:"Create a new brand context (company profile) for the current organization.",annotations:{title:"Create Brand Context",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!1},inputSchema:Zs.omit({id:!0}),outputSchema:Rx6,handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=Y.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");let Q=await Y.storage.brandContext.create(G,{name:X.name,domain:X.domain,overview:X.overview,logo:X.logo??null,favicon:X.favicon??null,ogImage:X.ogImage??null,fonts:X.fonts??null,colors:X.colors??null,images:X.images??null,metadata:X.metadata??null});return{...Q,archivedAt:Q.archivedAt instanceof Date?Q.archivedAt.toISOString():Q.archivedAt,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt,updatedAt:Q.updatedAt instanceof Date?Q.updatedAt.toISOString():Q.updatedAt}}}),JC0=m1({name:"BRAND_CONTEXT_UPDATE",description:"Update an existing brand context by ID.",annotations:{title:"Update Brand Context",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:Zs.partial().required({id:!0}),outputSchema:Rx6,handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=Y.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");if(!await Y.storage.brandContext.get(X.id,G))throw Error("Brand context not found");let{id:J,...W}=X;if(W.isDefault===!0)await Y.storage.brandContext.setDefault(J,G);let Z=await Y.storage.brandContext.update(J,G,{name:W.name,domain:W.domain,overview:W.overview,logo:W.logo!==void 0?W.logo??null:void 0,favicon:W.favicon!==void 0?W.favicon??null:void 0,ogImage:W.ogImage!==void 0?W.ogImage??null:void 0,fonts:W.fonts!==void 0?W.fonts??null:void 0,colors:W.colors!==void 0?W.colors??null:void 0,images:W.images!==void 0?W.images??null:void 0,metadata:W.metadata!==void 0?W.metadata??null:void 0,archivedAt:W.archivedAt!==void 0?W.archivedAt??null:void 0,isDefault:W.isDefault===!1?!1:void 0});return{...Z,archivedAt:Z.archivedAt instanceof Date?Z.archivedAt.toISOString():Z.archivedAt,createdAt:Z.createdAt instanceof Date?Z.createdAt.toISOString():Z.createdAt,updatedAt:Z.updatedAt instanceof Date?Z.updatedAt.toISOString():Z.updatedAt}}}),ZC0=m1({name:"BRAND_CONTEXT_DELETE",description:"Archive a brand context by ID (soft delete).",annotations:{title:"Archive Brand Context",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({id:F.string().describe("Brand context ID")}),outputSchema:F.object({success:F.boolean()}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=Y.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");if(!await Y.storage.brandContext.get(X.id,G))throw Error("Brand context not found");return await Y.storage.brandContext.update(X.id,G,{archivedAt:new Date().toISOString(),isDefault:!1}),{success:!0}}})});async function cS1(X,Y,G){let Q=X.trim();if(!Q.startsWith("http"))Q=`https://${Q}`;let J=await fetch("https://api.firecrawl.dev/v1/scrape",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Y}`},body:JSON.stringify({url:Q,formats:["branding"]})});if(!J.ok){let N=await J.text().catch(()=>"");throw Error(`Firecrawl API error: ${J.status} ${N.slice(0,200)}`)}let W=await J.json();if(!W.success||!W.data?.branding)return null;let Z=W.data.branding,$=W.data.metadata??{},K=Qa9(Z,$);return{name:$.title?.split(/[|\u2013\u2014]|\s+-\s+/).map((N)=>N.trim()).filter(Boolean)?.slice().sort((N,z)=>N.length-z.length)[0]??$.ogSiteName??G??X,domain:X,overview:$.description??"",logo:K.logo,favicon:K.favicon,ogImage:K.ogImage,fonts:K.fonts,colors:K.colors,images:null,metadata:Object.keys(K.metadata).length>0?K.metadata:null}}function Qa9(X,Y){let G=X.images??{},Q=X.colors??{},J={};for(let[U,B]of Object.entries(Q))if(typeof B==="string"&&B&&Ya9.has(U))J[U]=B;let W={},$=(X.typography??{}).fontFamilies??{};for(let[U,B]of Object.entries($))if(typeof B==="string"&&B){let N=Ga9[U.toLowerCase()];if(N&&!W[N])W[N]=B}let K=X.fonts;if(Array.isArray(K))for(let U of K){let B=U.family;if(typeof B==="string"&&B&&!W.body)W.body=B}let H={};for(let U of["typography","components","spacing","layout","animations","icons","tone","personality","colorScheme"])if(X[U]!==void 0)H[U]=X[U];return{logo:G.logo??null,favicon:G.favicon??null,ogImage:G.ogImage??Y.ogImage??null,fonts:Object.keys(W).length>0?W:null,colors:Object.keys(J).length>0?J:null,metadata:H}}var Ya9,Ga9;var WC0=w(()=>{Ya9=new Set(["primary","secondary","accent","background","foreground"]),Ga9={heading:"heading",headings:"heading",head:"heading",title:"heading",body:"body",primary:"body",text:"body",code:"code",monospace:"code",mono:"code"}});var $C0;var kx6=w(()=>{K0();h0();WC0();$C0=m1({name:"BRAND_CONTEXT_EXTRACT",description:"Extract brand context (colors, fonts, logos) from a website URL using Firecrawl.",annotations:{title:"Extract Brand Context",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!0},inputSchema:F.object({domain:F.string().describe("Website domain to extract brand from"),brandId:F.string().optional().describe("Existing brand context ID to update (creates new if omitted)")}),outputSchema:F.object({id:F.string(),name:F.string(),domain:F.string(),success:F.boolean()}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=Y.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");let Q=Y.firecrawlApiKey;if(!Q)throw Error("FIRECRAWL_API_KEY is not configured. Set the environment variable to enable brand extraction.");let J=await cS1(X.domain,Q,X.domain);if(!J)throw Error("Firecrawl did not return branding data for this URL");let W={name:J.name,domain:J.domain,overview:J.overview,logo:J.logo,favicon:J.favicon,ogImage:J.ogImage,fonts:J.fonts,colors:J.colors,images:J.images,metadata:J.metadata};if(X.brandId){if(!await Y.storage.brandContext.get(X.brandId,G))throw Error("Brand context not found");let K=await Y.storage.brandContext.update(X.brandId,G,W);return{id:K.id,name:K.name,domain:K.domain,success:!0}}let Z=await Y.storage.brandContext.create(G,W);return{id:Z.id,name:Z.name,domain:Z.domain,success:!0}}})});function Cx6(X){let Y=X.metadata??{};return{id:X.id,name:X.name,domain:X.domain||void 0,colors:X.colors??void 0,fonts:X.fonts??void 0,assets:X.logo||X.favicon||X.ogImage?{logo:X.logo??void 0,favicon:X.favicon??void 0,ogImage:X.ogImage??void 0}:void 0,overview:X.overview||void 0,tagline:typeof Y.tagline==="string"?Y.tagline:void 0,tone:typeof Y.tone==="string"?Y.tone:void 0,metadata:(()=>{let G=Object.fromEntries(Object.entries(Y).filter(([Q])=>Q!=="tagline"&&Q!=="tone"));return Object.keys(G).length>0?G:void 0})()}}var KC0,HC0;var vx6=w(()=>{Mj0();h0();KC0=m1({name:"BRAND_GET",description:"Get a brand context by ID. Omit the ID to get the default brand for the organization.",annotations:{title:"Get Brand",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:uM1,outputSchema:wQ1,handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=Y.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");let Q=X.id?await Y.storage.brandContext.get(X.id,G):await Y.storage.brandContext.getDefault(G);if(!Q)throw Error(X.id?"Brand not found":"No default brand configured");return Cx6(Q)}}),HC0=m1({name:"BRAND_LIST",description:"List all active brands for the current organization.",annotations:{title:"List Brands",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:lM1,outputSchema:mM1,handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=Y.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");return{items:(await Y.storage.brandContext.list(G)).map(Cx6)}}})});var FC0;var _x6=w(()=>{K0();h0();FC0=m1({name:"ORGANIZATION_DOMAIN_GET",description:"Get the claimed email domain for an organization.",annotations:{title:"Get Organization Domain",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({}),outputSchema:F.object({domain:F.string().nullable(),autoJoinEnabled:F.boolean()}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=s1(Y),Q=await Y.storage.organizationDomains.getByOrganizationId(G.id);return{domain:Q?.domain??null,autoJoinEnabled:Q?.autoJoinEnabled??!1}}})});var Ja9,UC0,BC0,NC0;var fx6=w(()=>{K0();h0();aR();Ja9=/^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)+$/,UC0=m1({name:"ORGANIZATION_DOMAIN_SET",description:"Claim an email domain for an organization. The caller's verified email must match the domain.",annotations:{title:"Set Organization Domain",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({domain:F.string().min(1).max(255).describe("Email domain to claim (e.g. 'acme.com')"),autoJoinEnabled:F.boolean().optional().default(!1).describe("Whether users with matching email domain can auto-join")}),outputSchema:F.object({domain:F.string(),autoJoinEnabled:F.boolean()}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=s1(Y),Q=X.domain.toLowerCase().trim();if(!Ja9.test(Q))throw Error(`Invalid domain format: "${Q}". Must be a valid domain like "acme.com"`);if($T.has(Q))throw Error(`Cannot claim generic email domain "${Q}". Only corporate domains are allowed.`);let J=Y.auth.user?.email;if(!J)throw Error("User email is required to claim a domain.");if(!Y.auth.user?.emailVerified)throw Error("Email must be verified before claiming a domain.");let W=J.split("@")[1]?.toLowerCase();if(W!==Q)throw Error(`You can only claim your own email domain ("${W}"), not "${Q}".`);let Z=await Y.storage.organizationDomains.getByOrganizationId(G.id);if(Z&&Z.domain!==Q)throw Error(`This organization already claims "${Z.domain}". Clear it first before claiming a new domain.`);let $=await Y.storage.organizationDomains.setDomain(G.id,Q,X.autoJoinEnabled);return{domain:$.domain,autoJoinEnabled:$.autoJoinEnabled}}}),BC0=m1({name:"ORGANIZATION_DOMAIN_UPDATE",description:"Update auto-join setting for the organization's already-claimed domain.",annotations:{title:"Update Organization Domain Settings",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({autoJoinEnabled:F.boolean().describe("Whether users with matching email domain can auto-join")}),outputSchema:F.object({domain:F.string(),autoJoinEnabled:F.boolean()}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=s1(Y);if(!await Y.storage.organizationDomains.getByOrganizationId(G.id))throw Error("No domain claimed for this organization.");let J=await Y.storage.organizationDomains.updateAutoJoin(G.id,X.autoJoinEnabled);return{domain:J.domain,autoJoinEnabled:J.autoJoinEnabled}}}),NC0=m1({name:"ORGANIZATION_DOMAIN_CLEAR",description:"Remove the claimed email domain for an organization.",annotations:{title:"Clear Organization Domain",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({}),outputSchema:F.object({success:F.boolean()}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=s1(Y);return await Y.storage.organizationDomains.clearDomain(G.id),{success:!0}}})});var zC0;var bx6=w(()=>{K0();CX();h0();zC0=m1({name:"ORGANIZATION_MEMBER_ADD",description:"Invite a member to the organization by email with an assigned role.",annotations:{title:"Add Organization Member",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({organizationId:F.string().optional(),userId:F.string(),role:F.array(F.string())}),outputSchema:F.object({id:F.string(),organizationId:F.string(),userId:F.string(),role:F.union([F.string(),F.array(F.string())]),createdAt:F.string().datetime().describe("ISO 8601 timestamp")}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=X.organizationId||Y.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");if(G!==Y.organization?.id)throw Error("Organization ID does not match authenticated organization");let Q=await Y.boundAuth.organization.addMember({organizationId:G,userId:X.userId,role:X.role});if(!Q)throw Error("Failed to add member");let J=H6(Y);if(J)M6.capture({distinctId:J,event:"organization_member_added",groups:{organization:G},properties:{organization_id:G,added_user_id:X.userId,role:X.role}});return{...Q,role:Q.role,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt}}})});var OC0;var yx6=w(()=>{K0();CX();h0();OC0=m1({name:"ORGANIZATION_MEMBER_REMOVE",description:"Remove a member from the organization. Revokes all their access immediately.",annotations:{title:"Remove Organization Member",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({organizationId:F.string().optional(),memberIdOrEmail:F.string()}),outputSchema:F.object({success:F.boolean(),memberIdOrEmail:F.string()}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=X.organizationId||Y.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");await Y.boundAuth.organization.removeMember({organizationId:G,memberIdOrEmail:X.memberIdOrEmail});let Q=H6(Y);if(Q)M6.capture({distinctId:Q,event:"organization_member_removed",groups:{organization:G},properties:{organization_id:G,member_id_or_email:X.memberIdOrEmail}});return{success:!0,memberIdOrEmail:X.memberIdOrEmail}}})});var DC0;var xx6=w(()=>{K0();h0();DC0=m1({name:"ORGANIZATION_MEMBER_LIST",description:"List all members in the organization with their roles.",annotations:{title:"List Organization Members",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({limit:F.number().optional(),offset:F.number().optional()}),outputSchema:F.object({members:F.array(F.object({id:F.string(),organizationId:F.string(),userId:F.string(),role:F.string(),createdAt:F.string().datetime().describe("ISO 8601 timestamp"),user:F.object({id:F.string(),name:F.string(),email:F.string(),image:F.string().optional()}).optional()}))}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=Y.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");let Q=await Y.boundAuth.organization.listMembers({organizationId:G,limit:X.limit,offset:X.offset});return{members:(Array.isArray(Q)?Q:[]).map((W)=>({...W,createdAt:W.createdAt instanceof Date?W.createdAt.toISOString():W.createdAt}))}}})});var wC0;var hx6=w(()=>{K0();CX();h0();wC0=m1({name:"ORGANIZATION_MEMBER_UPDATE_ROLE",description:"Change a member's role (e.g., admin, member) within the organization.",annotations:{title:"Update Member Role",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({organizationId:F.string().optional(),memberId:F.string(),role:F.array(F.string())}),outputSchema:F.object({id:F.string(),organizationId:F.string(),userId:F.string(),role:F.union([F.literal("admin"),F.literal("member"),F.literal("owner")]),createdAt:F.string().datetime().describe("ISO 8601 timestamp"),user:F.object({email:F.string(),name:F.string(),image:F.string().optional()})}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=X.organizationId||Y.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");let Q=await Y.boundAuth.organization.updateMemberRole({organizationId:G,memberId:X.memberId,role:X.role});if(!Q)throw Error("Failed to update member role");Y.invalidateMemberRole?.(Q.userId,G);let J=H6(Y);if(J)M6.capture({distinctId:J,event:"organization_member_role_updated",groups:{organization:G},properties:{organization_id:G,member_id:X.memberId,target_user_id:Q.userId,new_role:Array.isArray(X.role)?X.role.join(","):X.role}});return{...Q,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt}}})});var gx6=w(()=>{Ex6();Px6();qx6();Ax6();Tx6();Ix6();Vx6();Mx6();Sx6();kx6();vx6();_x6();fx6();bx6();yx6();xx6();hx6()});var LC0;var ux6=w(()=>{K0();h0();LC0=m1({name:"TAGS_LIST",description:"List all tags available in the organization.",annotations:{title:"List Tags",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({}),outputSchema:F.object({tags:F.array(F.object({id:F.string(),organizationId:F.string(),name:F.string(),createdAt:F.string().describe("ISO 8601 timestamp")}))}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=s1(Y);return{tags:(await Y.storage.tags.listOrgTags(G.id)).map((J)=>({...J,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():String(J.createdAt)}))}}})});var EC0;var lx6=w(()=>{K0();h0();EC0=m1({name:"TAGS_CREATE",description:"Create a new tag that can be assigned to organization members.",annotations:{title:"Create Tag",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:F.object({name:F.string().min(1).max(50).describe("Tag name")}),outputSchema:F.object({tag:F.object({id:F.string(),organizationId:F.string(),name:F.string(),createdAt:F.string().describe("ISO 8601 timestamp")})}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=s1(Y),Q=await Y.storage.tags.createTag(G.id,X.name);return{tag:{...Q,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():String(Q.createdAt)}}}})});var PC0;var mx6=w(()=>{K0();h0();PC0=m1({name:"TAGS_DELETE",description:"Delete a tag and automatically remove it from all assigned members.",annotations:{title:"Delete Tag",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({tagId:F.string().describe("Tag ID to delete")}),outputSchema:F.object({success:F.boolean()}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=s1(Y),Q=await Y.storage.tags.getTag(X.tagId);if(!Q)throw Error("Tag not found");if(Q.organizationId!==G.id)throw Error("Tag does not belong to this organization");return await Y.storage.tags.deleteTag(X.tagId),{success:!0}}})});var qC0;var dx6=w(()=>{K0();h0();qC0=m1({name:"MEMBER_TAGS_GET",description:"Get all tags currently assigned to a specific member.",annotations:{title:"Get Member Tags",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({memberId:F.string().describe("Member ID")}),outputSchema:F.object({tags:F.array(F.object({id:F.string(),organizationId:F.string(),name:F.string(),createdAt:F.string().describe("ISO 8601 timestamp")}))}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=s1(Y);if(!await Y.storage.tags.verifyMemberOrg(X.memberId,G.id))throw Error(`Member not found in this organization: ${X.memberId}`);return{tags:(await Y.storage.tags.getMemberTags(X.memberId)).map((W)=>({...W,createdAt:W.createdAt instanceof Date?W.createdAt.toISOString():String(W.createdAt)}))}}})});var AC0;var cx6=w(()=>{K0();h0();AC0=m1({name:"MEMBER_TAGS_SET",description:"Replace all tags on a member with the given set. Pass empty array to clear.",annotations:{title:"Set Member Tags",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({memberId:F.string().describe("Member ID"),tagIds:F.array(F.string()).describe("Array of tag IDs to assign")}),outputSchema:F.object({success:F.boolean(),tags:F.array(F.object({id:F.string(),organizationId:F.string(),name:F.string(),createdAt:F.string().describe("ISO 8601 timestamp")}))}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=s1(Y);if(!await Y.storage.tags.verifyMemberOrg(X.memberId,G.id))throw Error(`Member not found in this organization: ${X.memberId}`);for(let W of X.tagIds){let Z=await Y.storage.tags.getTag(W);if(!Z)throw Error(`Tag not found: ${W}`);if(Z.organizationId!==G.id)throw Error(`Tag does not belong to this organization: ${W}`)}return await Y.storage.tags.setMemberTags(X.memberId,X.tagIds),{success:!0,tags:(await Y.storage.tags.getMemberTags(X.memberId)).map((W)=>({...W,createdAt:W.createdAt instanceof Date?W.createdAt.toISOString():String(W.createdAt)}))}}})});var ix6=w(()=>{ux6();lx6();mx6();dx6();cx6()});var px6=w(()=>{q7()});var nx6,$a9,tx6,xz,ax6,rx6;var rR=w(()=>{K0();px6();nx6=F.object({id:F.string().describe("Unique message ID"),thread_id:F.string().describe("ID of the parent thread"),metadata:F.unknown().optional().describe("Optional message metadata"),parts:F.array(F.record(F.string(),F.unknown())).describe("Message content parts (AI SDK UIMessagePart format)"),role:F.enum(["user","assistant","system"]).describe("Message role"),created_at:F.string().datetime().describe("Timestamp of creation"),updated_at:F.string().datetime().describe("Timestamp of last update")}),$a9=F.object({toolName:F.string().describe("Fully qualified tool name"),appId:F.string().describe("App ID that owns the tool"),args:F.record(F.string(),F.unknown()).describe("Arguments used when expanding the tool"),expandedAt:F.string().datetime().describe("When the tool was expanded")}),tx6=F.object({expanded_tools:F.array($a9).optional()}).catchall(F.unknown()),xz=F.object({id:F.string().describe("Unique thread ID"),organization_id:F.string().describe("Organization this thread belongs to"),title:F.string().describe("Thread title"),description:F.string().nullable().describe("Thread description"),created_at:F.string().datetime().describe("Timestamp of creation"),updated_at:F.string().datetime().describe("Timestamp of last update"),hidden:F.boolean().optional().describe("Whether the thread is hidden"),status:F.enum([...Bt,"expired"]).describe("Thread execution status. 'expired' is virtual -- computed at read time for stale in_progress threads"),created_by:F.string().describe("User ID who created the thread"),updated_by:F.string().optional().describe("User ID who last updated the thread"),virtual_mcp_id:F.string().optional().describe("Virtual MCP (agent) this thread was initiated with"),branch:F.string().nullable().optional().describe("Git branch this thread is pinned to (GitHub-linked vms only)"),metadata:tx6.optional().describe("Free-form per-thread UI state (e.g. expanded_tools)"),run_config:F.record(F.string(),F.unknown()).nullable().optional().describe("Persisted run configuration (contains agent and model info)")}),ax6=F.object({id:F.string().optional().describe("Optional custom ID for the thread"),title:F.string().optional().describe("Thread title"),description:F.string().nullish().describe("Thread description"),virtual_mcp_id:F.string().describe("Virtual MCP (agent) this thread is bound to"),branch:F.string().min(1).optional().describe("Preferred branch. Used only when the vMCP has a githubRepo; ignored otherwise. When omitted, the server picks the most-recently-touched branch from the user's vmMap, falling back to a freshly generated name.")}),rx6=F.object({title:F.string().optional().describe("New thread title"),description:F.string().nullish().describe("New thread description"),hidden:F.boolean().optional().describe("Whether the thread is hidden"),status:F.enum(["requires_action","failed","in_progress","completed"]).optional().describe("New thread status (user-set override). 'expired' is a computed virtual status and cannot be set directly."),metadata:tx6.optional().describe("Full replacement of the thread's metadata object"),branch:F.string().nullish().describe("New git branch for this thread")})});function iS1(){let X=ox6[Math.floor(Math.random()*ox6.length)],Y=sx6[Math.floor(Math.random()*sx6.length)];return`deco/${X}-${Y}`}var ox6,sx6;var TC0=w(()=>{ox6=["amber","bold","bright","calm","crimson","coral","daring","deep","dusty","eager","faint","fierce","frozen","gentle","golden","grand","green","hollow","iron","ivory","keen","lasting","lunar","mellow","misty","noble","olive","pale","prime","quiet","rapid","rustic","serene","sharp","silver","sleek","solar","stark","still","swift","tawny","tender","thin","true","vast","velvet","warm","wild","young","zen"],sx6=["anchor","birch","brook","cedar","cliff","cove","crane","dune","echo","ember","falcon","fern","flint","forge","frost","glade","grove","harbor","hawk","iris","jade","lark","maple","marsh","mesa","opal","orbit","peak","pine","plume","quartz","rapids","reef","ridge","river","sage","shore","slate","spruce","stone","summit","thorn","tide","trail","vale","wren","aspen","delta","crest","spark"]});function Fa9(X,Y){let G=X?.[Y];if(!G)return;return Object.entries(G).sort(([,J],[,W])=>(W.createdAt??0)-(J.createdAt??0))[0]?.[0]}var Ka9,Ha9,IC0;var ex6=w(()=>{K0();CX();h0();rR();kH();TC0();Ka9=F.object({data:ax6.describe("Data for the new thread (id is auto-generated if not provided)")}),Ha9=F.object({item:xz.describe("The created thread entity")});IC0=m1({name:"COLLECTION_THREADS_CREATE",description:"Create a new thread for organizing messages and conversations.",annotations:{title:"Create Thread",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:Ka9,outputSchema:Ha9,handler:async(X,Y)=>{N0(Y);let G=s1(Y);await Y.access.check();let Q=H6(Y);if(!Q)throw Error("User ID required to create thread");let{data:J}=X,W=J.id??m7("thrd"),Z=await Y.storage.virtualMcps.findById(J.virtual_mcp_id,G.id);if(!Z)throw Error(`Virtual MCP not found: ${J.virtual_mcp_id}`);let $=Z.metadata,K=$?.githubRepo,H=null;if(K)H=J.branch??Fa9($?.vmMap,Q)??iS1();let U=await Y.storage.threads.create({id:W,organization_id:G.id,title:J.title,description:J.description,virtual_mcp_id:J.virtual_mcp_id,branch:H,created_by:Q});return M6.capture({distinctId:Q,event:"chat_started",groups:{organization:G.id},properties:{organization_id:G.id,thread_id:W,has_title:!!X.data.title,created_via:"tool"}}),{item:{...U,hidden:U.hidden??!1}}}})});function KT(X,Y=Date.now()){let G=X.status;if(G==="in_progress"){let Q=new Date(X.updated_at).getTime();if(!Number.isFinite(Q)||Y-Q>1800000)G="expired"}return{...X,status:G,hidden:X.hidden??!1}}var Ua9,Ba9,VC0;var Xh6=w(()=>{EW();h0();rR();K0();Ua9=LU.extend({where:F.object({created_by:F.string().optional(),trigger_ids:F.array(F.string()).optional(),virtual_mcp_id:F.string().optional(),hidden:F.boolean().optional(),has_trigger:F.boolean().optional()}).optional(),startDate:F.string().datetime().optional().describe("Filter threads updated at or after this ISO timestamp"),endDate:F.string().datetime().optional().describe("Filter threads updated at or before this ISO timestamp"),search:F.string().optional().describe("Full-text search on thread title (case-insensitive)"),status:F.string().optional().describe("Filter by thread status (e.g. completed, failed, in_progress)"),userId:F.string().optional().describe("Filter by the user who created the thread"),agentId:F.string().optional().describe("Filter by agent (connection or virtual MCP) ID")}),Ba9=Gw(xz),VC0=m1({name:"COLLECTION_THREADS_LIST",description:"List threads with filtering, sorting, and pagination.",annotations:{title:"List Threads",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:Ua9,outputSchema:Ba9,handler:async(X,Y)=>{await Y.access.check();let G=Y.auth.user?.id;if(!G)throw Error("User ID required to list threads");s1(Y);let Q=X.offset??0,J=X.limit??100,W=X.where?.trigger_ids,Z=X.where?.virtual_mcp_id,$=X.userId??(X.where?.created_by==="me"?G:X.where?.created_by),{threads:K,total:H}=W?.length?await Y.storage.threads.listByTriggerIds(W,{limit:J,offset:Q}):await Y.storage.threads.list($,{limit:J,offset:Q,virtualMcpId:Z,startDate:X.startDate,endDate:X.endDate,search:X.search,status:X.status,agentId:X.agentId,includeArchived:X.where?.hidden,hasTrigger:X.where?.has_trigger}),U=Q+J<H,B=Date.now();return{items:K.map((N)=>KT(N,B)),totalCount:H,hasMore:U}}})});var Na9,jC0;var Yh6=w(()=>{EW();h0();rR();Na9=i71(xz),jC0=m1({name:"COLLECTION_THREADS_GET",description:"Get a thread's details and metadata by ID.",annotations:{title:"Get Thread",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:c71,outputSchema:Na9,handler:async(X,Y)=>{N0(Y),s1(Y),await Y.access.check();let G=await Y.storage.threads.get(X.id);if(!G)return{item:null};return{item:KT(G)}}})});var za9,Oa9,MC0;var Gh6=w(()=>{K0();CX();h0();rR();za9=F.object({id:F.string().describe("ID of the thread to update"),data:rx6.describe("Partial thread data to update")}),Oa9=F.object({item:xz.describe("The updated thread entity")}),MC0=m1({name:"COLLECTION_THREADS_UPDATE",description:"Update a thread's title, description, or visibility.",annotations:{title:"Update Thread",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:za9,outputSchema:Oa9,handler:async(X,Y)=>{N0(Y);let G=s1(Y);await Y.access.check();let Q=H6(Y);if(!Q)throw Error("User ID required to update thread");let{id:J,data:W}=X,Z=await Y.storage.threads.get(J);if(!Z)throw Error("Thread not found in organization");if(W.branch===null&&Z.virtual_mcp_id){if((await Y.storage.virtualMcps.findById(Z.virtual_mcp_id,s1(Y).id))?.metadata?.githubRepo)throw Error("Cannot set branch=null on a github-linked thread (vMCP has githubRepo)")}let $={title:W.title,description:W.description,hidden:W.hidden,updated_by:Q};if(W.status)$.status=W.status;if(W.metadata!==void 0)$.metadata=W.metadata;if(W.branch!==void 0)$.branch=W.branch;let K=await Y.storage.threads.update(J,$);if(W.hidden!==void 0&&W.hidden!==Z.hidden)M6.capture({distinctId:Q,event:W.hidden?"chat_archived":"chat_unarchived",groups:{organization:G.id},properties:{organization_id:G.id,thread_id:J}});return{item:KT(K)}}})});var RC0;var Qh6=w(()=>{EW();CX();h0();rR();RC0=m1({name:"COLLECTION_THREADS_DELETE",description:"Permanently delete a thread and all its messages.",annotations:{title:"Delete Thread",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:p71,outputSchema:n71(xz),handler:async(X,Y)=>{N0(Y);let G=s1(Y);await Y.access.check();let Q=await Y.storage.threads.get(X.id);if(!Q)throw Error(`Thread not found: ${X.id}`);await Y.storage.threads.delete(X.id);let J=H6(Y);if(J)M6.capture({distinctId:J,event:"chat_deleted",groups:{organization:G.id},properties:{organization_id:G.id,thread_id:X.id}});return{item:KT(Q)}}})});function Jh6(X){if(!X)return null;if("field"in X&&X.field[0]==="thread_id"&&X.operator==="eq")return String(X.value);if("conditions"in X)for(let Y of X.conditions){let G=Jh6(Y);if(G)return G}return null}var Da9,wa9,SC0;var Zh6=w(()=>{EW();K0();h0();rR();Da9=LU.extend({thread_id:F.string().optional().describe("ID of the thread to list messages for (required)")}),wa9=Gw(nx6),SC0=m1({name:"COLLECTION_THREAD_MESSAGES_LIST",description:"List messages in a thread with pagination. Requires thread_id. Returns messages in chronological order.",annotations:{title:"List Thread Messages",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:Da9,outputSchema:wa9,handler:async(X,Y)=>{s1(Y),await Y.access.check();let G=X.thread_id??Jh6(X.where);if(!G)throw Error("thread_id is required (provide as top-level param or in where clause)");let Q=X.offset??0,J=X.limit??100,{messages:W,total:Z}=await Y.storage.threads.listMessages(G,{limit:J,offset:Q}),$=Q+J<Z;return{items:W,totalCount:Z,hasMore:$}}})});var Wh6=w(()=>{ex6();Xh6();Yh6();Gh6();Qh6();Zh6()});function Ea9(X){return{type:"doc",content:[{type:"paragraph",content:[{type:"text",text:X}]}]}}function Pa9(X){return X.map((Y)=>{let G=Y.metadata;if(G?.tiptapDoc)return Y;let Q=Y.parts.find((J)=>J.type==="text"&&typeof J.text==="string");if(!Q?.text||typeof Q.text!=="string")return Y;return{...Y,metadata:{...G,tiptapDoc:Ea9(Q.text)}}})}function pS1(X){let Y;if(typeof X==="string")try{let G=JSON.parse(X);if(Array.isArray(G)&&G.length>0&&G[0]?.role&&Array.isArray(G[0]?.parts))Y=G;else Y=[{role:"user",parts:[{type:"text",text:X}]}]}catch{Y=[{role:"user",parts:[{type:"text",text:X}]}]}else Y=X;return Pa9(Y)}var kC0;var $h6=w(()=>{K0();CX();h0();kC0=m1({name:"AUTOMATION_CREATE",description:"Create an automation with instructions, agent, and model config. Triggers can be added separately.",annotations:{title:"Create Automation",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!1},inputSchema:F.object({name:F.string().min(1).max(255),virtual_mcp_id:F.string(),messages:F.union([F.string(),F.array(F.looseObject({id:F.string().optional(),role:F.enum(["user","assistant","system"]),parts:F.array(F.record(F.string(),F.unknown())),metadata:F.unknown().optional()}))]),models:F.object({credentialId:F.string(),thinking:F.object({id:F.string(),capabilities:F.object({vision:F.boolean().optional(),text:F.boolean().optional(),tools:F.boolean().optional()}).optional(),provider:F.enum(["openai","anthropic","google","xai","deepseek","openrouter","openai-compatible"]).optional().nullable(),limits:F.object({contextWindow:F.number().optional(),maxOutputTokens:F.number().optional()}).optional()}),coding:F.object({id:F.string()}).optional(),fast:F.object({id:F.string()}).optional(),tier:F.enum(["fast","smart","thinking"]).optional()}).loose().optional(),temperature:F.number().default(0.5),active:F.boolean().default(!0)}),outputSchema:F.object({id:F.string(),name:F.string(),active:F.boolean(),created_at:F.string()}),handler:async(X,Y)=>{N0(Y);let G=s1(Y);await Y.access.check();let Q=H6(Y);if(!Q)throw Error("Unable to determine user identity");let J=pS1(X.messages),W=X.models;if(!W){let $=await Y.storage.aiProviderKeys.list({organizationId:G.id});if($.length===0)throw Error("No AI provider credentials configured");let K=$[0],H=await Y.aiProviders.listModels(K.id,G.id);if(H.length===0)throw Error("No models available from the configured AI provider");W={credentialId:K.id,thinking:{id:H[0].modelId}}}let Z=await Y.storage.automations.create({organization_id:G.id,created_by:Q,name:X.name,messages:JSON.stringify(J),models:JSON.stringify(W),temperature:X.temperature,active:X.active,virtual_mcp_id:X.virtual_mcp_id});return M6.capture({distinctId:Q,event:"automation_created",groups:{organization:G.id},properties:{organization_id:G.id,automation_id:Z.id,virtual_mcp_id:X.virtual_mcp_id,active:Z.active,model_id:W.thinking.id}}),{id:Z.id,name:Z.name,active:Z.active,created_at:Z.created_at}}})});var CC0;var Kh6=w(()=>{K0();h0();CC0=m1({name:"AUTOMATION_GET",description:"Get an automation's full configuration and triggers by ID.",annotations:{title:"Get Automation",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({id:F.string()}),outputSchema:F.object({automation:F.object({id:F.string(),name:F.string(),active:F.boolean(),created_by:F.string(),created_at:F.string(),updated_at:F.string(),virtual_mcp_id:F.string(),messages:F.unknown(),models:F.unknown(),temperature:F.number(),triggers:F.array(F.object({id:F.string(),type:F.enum(["cron","event"]),cron_expression:F.string().nullable(),connection_id:F.string().nullable(),event_type:F.string().nullable(),params:F.unknown().nullable(),last_run_at:F.string().nullable(),created_at:F.string()}))}).nullable()}),handler:async(X,Y)=>{N0(Y);let G=s1(Y);await Y.access.check();let Q=await Y.storage.automations.findById(X.id,G.id);if(!Q)return{automation:null};let J=await Y.storage.automations.listTriggers(Q.id);return{automation:{id:Q.id,name:Q.name,active:Q.active,created_by:Q.created_by,created_at:Q.created_at,updated_at:Q.updated_at,virtual_mcp_id:Q.virtual_mcp_id,messages:JSON.parse(Q.messages),models:JSON.parse(Q.models),temperature:Q.temperature,triggers:J.map((W)=>({id:W.id,type:W.type,cron_expression:W.cron_expression,connection_id:W.connection_id,event_type:W.event_type,params:W.params?JSON.parse(W.params):null,last_run_at:W.last_run_at,created_at:W.created_at}))}}}})});var vC0;var Hh6=w(()=>{K0();h0();vC0=m1({name:"AUTOMATION_LIST",description:"List automations with their status, triggers, and configuration.",annotations:{title:"List Automations",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({virtual_mcp_id:F.string().optional().nullable()}),outputSchema:F.object({automations:F.array(F.object({id:F.string(),name:F.string(),active:F.boolean(),created_by:F.string(),created_at:F.string(),trigger_count:F.number(),nearest_next_run_at:F.string().nullable(),virtual_mcp_id:F.string()}))}),handler:async(X,Y)=>{N0(Y);let G=s1(Y);return await Y.access.check(),{automations:(await Y.storage.automations.listWithTriggerCounts(G.id,X.virtual_mcp_id)).map((W)=>({id:W.id,name:W.name,active:W.active,created_by:W.created_by,created_at:W.created_at,trigger_count:W.trigger_count,nearest_next_run_at:W.nearest_next_run_at,virtual_mcp_id:W.virtual_mcp_id}))}}})});class iH{constructor(X={}){this._started=!1,this._hasHandledRequest=!1,this._streamMapping=new Map,this._requestToStreamMapping=new Map,this._requestResponseMap=new Map,this._initialized=!1,this._enableJsonResponse=!1,this._standaloneSseStreamId="_GET_stream",this.sessionIdGenerator=X.sessionIdGenerator,this._enableJsonResponse=X.enableJsonResponse??!1,this._eventStore=X.eventStore,this._onsessioninitialized=X.onsessioninitialized,this._onsessionclosed=X.onsessionclosed,this._allowedHosts=X.allowedHosts,this._allowedOrigins=X.allowedOrigins,this._enableDnsRebindingProtection=X.enableDnsRebindingProtection??!1,this._retryInterval=X.retryInterval}async start(){if(this._started)throw Error("Transport already started");this._started=!0}createJsonErrorResponse(X,Y,G,Q){let J={code:Y,message:G};if(Q?.data!==void 0)J.data=Q.data;return new Response(JSON.stringify({jsonrpc:"2.0",error:J,id:null}),{status:X,headers:{"Content-Type":"application/json",...Q?.headers}})}validateRequestHeaders(X){if(!this._enableDnsRebindingProtection)return;if(this._allowedHosts&&this._allowedHosts.length>0){let Y=X.headers.get("host");if(!Y||!this._allowedHosts.includes(Y)){let G=`Invalid Host header: ${Y}`;return this.onerror?.(Error(G)),this.createJsonErrorResponse(403,-32000,G)}}if(this._allowedOrigins&&this._allowedOrigins.length>0){let Y=X.headers.get("origin");if(Y&&!this._allowedOrigins.includes(Y)){let G=`Invalid Origin header: ${Y}`;return this.onerror?.(Error(G)),this.createJsonErrorResponse(403,-32000,G)}}return}async handleRequest(X,Y){if(!this.sessionIdGenerator&&this._hasHandledRequest)throw Error("Stateless transport cannot be reused across requests. Create a new transport per request.");this._hasHandledRequest=!0;let G=this.validateRequestHeaders(X);if(G)return G;switch(X.method){case"POST":return this.handlePostRequest(X,Y);case"GET":return this.handleGetRequest(X);case"DELETE":return this.handleDeleteRequest(X);default:return this.handleUnsupportedRequest()}}async writePrimingEvent(X,Y,G,Q){if(!this._eventStore)return;if(Q<"2025-11-25")return;let J=await this._eventStore.storeEvent(G,{}),W=`id: ${J}
2372
+ - Use EVENT_CANCEL to stop recurring events.`,annotations:{title:"Publish Event",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!1},inputSchema:ZQ1,outputSchema:WQ1,handler:async(X,Y)=>{N0(Y);let G=s1(Y);await Y.access.check();let Q=Y.connectionId;if(!Q)throw Error("Connection ID required to publish events. Use a connection-scoped token.");let J=await Y.eventBus.publish(G.id,Q,{type:X.type,subject:X.subject,data:X.data,deliverAt:X.deliverAt,cron:X.cron});return{id:J.id,type:J.type,source:J.source,time:J.time}}})});var kk0;var oy6=w(()=>{h0();DL();kk0=m1({name:"EVENT_SUBSCRIBE",description:"Subscribe to events of a specific type. Caller's connection is set as subscriber automatically.",annotations:{title:"Subscribe to Events",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:$Q1,outputSchema:KQ1,handler:async(X,Y)=>{N0(Y);let G=s1(Y);await Y.access.check();let Q=Y.connectionId;if(!Q)throw Error("Connection ID required to subscribe. Use a connection-scoped token.");let J=await Y.eventBus.subscribe(G.id,{connectionId:Q,eventType:X.eventType,publisher:X.publisher,filter:X.filter});return{subscription:{id:J.id,connectionId:J.connectionId,eventType:J.eventType,publisher:J.publisher,filter:J.filter,enabled:J.enabled,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt,updatedAt:J.updatedAt instanceof Date?J.updatedAt.toISOString():J.updatedAt}}}})});var Ck0;var sy6=w(()=>{h0();DL();Ck0=m1({name:"EVENT_UNSUBSCRIBE",description:"Remove a subscription to stop receiving events of that type.",annotations:{title:"Unsubscribe from Events",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:UQ1,outputSchema:BQ1,handler:async(X,Y)=>{N0(Y);let G=s1(Y);await Y.access.check();let Q=Y.connectionId;if(!Q)throw Error("Connection ID required to unsubscribe. Use a connection-scoped token.");let J=await Y.eventBus.getSubscription(G.id,X.subscriptionId);if(!J)throw Error(`Subscription not found: ${X.subscriptionId}`);if(J.connectionId!==Q)throw Error("Cannot unsubscribe from a subscription owned by another connection");return{success:(await Y.eventBus.unsubscribe(G.id,X.subscriptionId)).success,subscriptionId:X.subscriptionId}}})});var vk0;var ey6=w(()=>{h0();DL();vk0=m1({name:"EVENT_CANCEL",description:"Stop a recurring event from delivering further. Only the original publisher can cancel.",annotations:{title:"Cancel Recurring Event",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:NQ1,outputSchema:zQ1,handler:async(X,Y)=>{N0(Y);let G=s1(Y);await Y.access.check();let Q=Y.connectionId;if(!Q)throw Error("Connection ID required to cancel events. Use a connection-scoped token.");if(!await Y.eventBus.getEvent(G.id,X.eventId))throw Error(`Event not found: ${X.eventId}`);if(!(await Y.eventBus.cancelEvent(G.id,X.eventId,Q)).success)throw Error("Failed to cancel event. Either the event is already completed/failed, or you are not the publisher.");return{success:!0,eventId:X.eventId}}})});var _k0;var Xx6=w(()=>{h0();DL();_k0=m1({name:"EVENT_ACK",description:"Acknowledge event delivery after processing. Only needed for events received with retryAfter.",annotations:{title:"Acknowledge Event",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:OQ1,outputSchema:DQ1,handler:async(X,Y)=>{N0(Y);let G=s1(Y);await Y.access.check();let Q=Y.connectionId;if(!Q)throw Error("Connection ID required to acknowledge events. Use a connection-scoped token.");if(!(await Y.eventBus.ackEvent(G.id,X.eventId,Q)).success)throw Error("Failed to acknowledge event. Either the event was not found, already delivered, or you are not a subscriber.");return{success:!0,eventId:X.eventId}}})});var fk0;var Yx6=w(()=>{h0();DL();fk0=m1({name:"EVENT_SUBSCRIPTION_LIST",description:"List event subscriptions. Filter by connection ID to scope results.",annotations:{title:"List Event Subscriptions",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:ty6,outputSchema:ay6,handler:async(X,Y)=>{N0(Y);let G=s1(Y);return await Y.access.check(),{subscriptions:(await Y.eventBus.listSubscriptions(G.id,X.connectionId)).map((J)=>({id:J.id,connectionId:J.connectionId,eventType:J.eventType,publisher:J.publisher,filter:J.filter,enabled:J.enabled,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt,updatedAt:J.updatedAt instanceof Date?J.updatedAt.toISOString():J.updatedAt}))}}})});var bk0;var Gx6=w(()=>{h0();DL();bk0=m1({name:"EVENT_SYNC_SUBSCRIPTIONS",description:"Declaratively sync subscriptions: creates new, deletes removed, updates changed filters.",annotations:{title:"Sync Event Subscriptions",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:HQ1,outputSchema:FQ1,handler:async(X,Y)=>{N0(Y);let G=s1(Y);await Y.access.check();let Q=Y.connectionId;if(!Q)throw Error("Connection ID required to sync subscriptions. Use a connection-scoped token.");let J=await Y.eventBus.syncSubscriptions(G.id,{connectionId:Q,subscriptions:X.subscriptions});return{created:J.created,updated:J.updated,deleted:J.deleted,unchanged:J.unchanged,subscriptions:J.subscriptions.map((W)=>({id:W.id,connectionId:W.connectionId,eventType:W.eventType,publisher:W.publisher,filter:W.filter,enabled:W.enabled,createdAt:W.createdAt instanceof Date?W.createdAt.toISOString():W.createdAt,updatedAt:W.updatedAt instanceof Date?W.updatedAt.toISOString():W.updatedAt}))}}})});var Qx6=w(()=>{ry6();oy6();sy6();ey6();Xx6();Yx6();Gx6();DL()});var tR=w(()=>{Aq1()});function bt9(){let X=Jx6[Math.floor(Math.random()*Jx6.length)];return`icon://${Zx6[Math.floor(Math.random()*Zx6.length)]}?color=${X}`}var Jx6,Zx6,yt9,xt9,yk0;var Wx6=w(()=>{K0();h0();tR();Jx6=["red","orange","amber","yellow","lime","green","emerald","cyan","sky","blue","indigo","violet","purple","fuchsia","pink","rose"],Zx6=["Star01","Zap","Heart","Globe01","Compass03","Lightbulb02","Rocket01","Flag01","BookOpen01","Shield01","Key01","Diamond01","Cube01","Target04","Award01","Briefcase01","Coffee","Feather","Hexagon01","Layers3_01","Map01","Palette","Package","Terminal"];yt9=F.object({data:C71.describe("Data for the new virtual MCP")}),xt9=F.object({item:$3.describe("The created virtual MCP entity")}),yk0=m1({name:"COLLECTION_VIRTUAL_MCP_CREATE",description:"Create a Virtual MCP that aggregates tools from multiple connections into one endpoint.",annotations:{title:"Create Virtual MCP",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:yt9,outputSchema:xt9,handler:async(X,Y)=>{N0(Y);let G=s1(Y);await Y.access.check();let Q=H6(Y);if(!Q)throw Error("User ID required to create virtual MCP");let J={...X.data,icon:X.data.icon??bt9()};return{item:await Y.storage.virtualMcps.create(G.id,Q,J)}}})});function ht9(X){let Y=[],G=0;while(G<X.length){let Q=X[G];if(Q==="%")Y.push(".*");else if(Q==="_")Y.push(".");else if(/[.*+?^${}()|[\]\\]/.test(Q))Y.push("\\"+Q);else Y.push(Q);G++}return Y.join("")}function WT(X){return typeof X==="string"||typeof X==="number"}function xk0(X,Y){let G=Y.split("."),Q=X;for(let J of G){if(Q==null||typeof Q!=="object")return;Q=Q[J]}return Q}function gt9(X,Y){return X.connections.some((G)=>G.connection_id===Y)}function dS1(X,Y){if("conditions"in Y){let{operator:$,conditions:K}=Y;switch($){case"and":return K.every((H)=>dS1(X,H));case"or":return K.some((H)=>dS1(X,H));case"not":return!K.every((H)=>dS1(X,H));default:return!0}}let{field:G,operator:Q,value:J}=Y,W=G.join(".");if(W==="connection_id"){if(Q!=="eq"||typeof J!=="string")return!1;return gt9(X,J)}let Z=xk0(X,W);switch(Q){case"eq":return Z===J;case"gt":return WT(Z)&&WT(J)&&Z>J;case"gte":return WT(Z)&&WT(J)&&Z>=J;case"lt":return WT(Z)&&WT(J)&&Z<J;case"lte":return WT(Z)&&WT(J)&&Z<=J;case"in":return Array.isArray(J)&&J.includes(Z);case"like":if(typeof Z!=="string"||typeof J!=="string")return!1;if(J.length>100)return!1;let $=ht9(J);return new RegExp(`^${$}$`,"i").test(Z);case"contains":if(typeof Z!=="string"||typeof J!=="string")return!1;return Z.toLowerCase().includes(J.toLowerCase());default:return!0}}function ut9(X,Y){return[...X].sort((G,Q)=>{for(let J of Y){let W=J.field.join("."),Z=xk0(G,W),$=xk0(Q,W),K=0;if(Z==null&&$==null)continue;if(Z==null)K=J.nulls==="first"?-1:1;else if($==null)K=J.nulls==="first"?1:-1;else if(typeof Z==="string"&&typeof $==="string")K=Z.localeCompare($);else if(typeof Z==="number"&&typeof $==="number")K=Z-$;else K=String(Z).localeCompare(String($));if(K!==0)return J.direction==="desc"?-K:K}return 0})}var lt9,mt9,hk0;var $x6=w(()=>{EW();h0();tR();lt9=LU,mt9=Gw($3),hk0=m1({name:"COLLECTION_VIRTUAL_MCP_LIST",description:"List all MCP virtual MCPs in the organization",annotations:{title:"List Virtual MCPs",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:lt9,outputSchema:mt9,handler:async(X,Y)=>{await Y.access.check();let G=s1(Y),Q=X.where&&!("conditions"in X.where)&&X.where.field.join(".")==="connection_id"&&X.where.operator==="eq"&&typeof X.where.value==="string"?X.where.value:void 0,J=X.where&&!("conditions"in X.where)&&X.where.field.join(".")==="pinned"&&X.where.operator==="eq"&&typeof X.where.value==="boolean"?X.where.value:void 0,Z=Q?await Y.storage.virtualMcps.listByConnectionId(G.id,Q):await Y.storage.virtualMcps.list(G.id,J!==void 0?{pinnedOnly:J}:void 0);if(X.where)Z=Z.filter((N)=>dS1(N,X.where));if(X.orderBy&&X.orderBy.length>0)Z=ut9(Z,X.orderBy);let $=Z.length,K=X.offset??0,H=X.limit??100,U=Z.slice(K,K+H),B=K+H<$;return{items:U,totalCount:$,hasMore:B}}})});var dt9,ct9,gk0;var Kx6=w(()=>{K0();h0();tR();dt9=F.object({id:F.string().describe("ID of the virtual MCP to retrieve")}),ct9=F.object({item:$3.nullable().describe("The retrieved virtual MCP, or null if not found")}),gk0=m1({name:"COLLECTION_VIRTUAL_MCP_GET",description:"Get a Virtual MCP's configuration, connections, and virtual tools by ID.",annotations:{title:"Get Virtual MCP",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:dt9,outputSchema:ct9,handler:async(X,Y)=>{N0(Y);let G=s1(Y);await Y.access.check();let Q=await Y.storage.virtualMcps.findById(X.id);if(Q&&Q.organization_id!==G.id)return{item:null};if(!Q)return{item:null};return{item:Q}}})});var it9,pt9,uk0;var Hx6=w(()=>{K0();h0();tR();it9=F.object({id:F.string().describe("ID of the virtual MCP to update"),data:v71.describe("Partial virtual MCP data to update")}),pt9=F.object({item:$3.describe("The updated virtual MCP entity")}),uk0=m1({name:"COLLECTION_VIRTUAL_MCP_UPDATE",description:"Update a Virtual MCP's name, slug, or connection list.",annotations:{title:"Update Virtual MCP",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:it9,outputSchema:pt9,handler:async(X,Y)=>{N0(Y);let G=s1(Y);await Y.access.check();let Q=H6(Y);if(!Q)throw Error("User ID required to update virtual MCP");let J=await Y.storage.virtualMcps.findById(X.id);if(!J)throw Error(`Virtual MCP not found: ${X.id}`);if(J.organization_id!==G.id)throw Error(`Virtual MCP not found: ${X.id}`);let W={...X.data};if(W.metadata&&J.metadata)W.metadata={...J.metadata,...W.metadata};return{item:await Y.storage.virtualMcps.update(X.id,Q,W)}}})});var nt9,tt9,lk0;var Fx6=w(()=>{K0();h0();tR();nt9=F.object({id:F.string().describe("ID of the virtual MCP to delete")}),tt9=F.object({item:$3.describe("The deleted virtual MCP entity")}),lk0=m1({name:"COLLECTION_VIRTUAL_MCP_DELETE",description:"Permanently delete a Virtual MCP and its virtual tools.",annotations:{title:"Delete Virtual MCP",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:nt9,outputSchema:tt9,handler:async(X,Y)=>{N0(Y);let G=s1(Y);await Y.access.check();let Q=await Y.storage.virtualMcps.findById(X.id);if(!Q)throw Error(`Virtual MCP not found: ${X.id}`);if(Q.organization_id!==G.id)throw Error(`Virtual MCP not found: ${X.id}`);return await Y.storage.virtualMcps.delete(X.id),{item:Q}}})});var at9,mk0;var Ux6=w(()=>{K0();h0();at9=F.object({id:F.string(),virtualMcpId:F.string(),pluginId:F.string(),connectionId:F.string().nullable(),settings:F.record(F.string(),F.unknown()).nullable(),createdAt:F.string(),updatedAt:F.string()}),mk0=m1({name:"VIRTUAL_MCP_PLUGIN_CONFIG_GET",description:"Get a plugin's current configuration for a specific virtual MCP.",annotations:{title:"Get Virtual MCP Plugin Config",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({virtualMcpId:F.string().describe("Virtual MCP ID"),pluginId:F.string().describe("Plugin ID")}),outputSchema:F.object({config:at9.nullable()}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let{virtualMcpId:G,pluginId:Q}=X,J=await Y.storage.virtualMcpPluginConfigs.get(G,Q);if(!J)return{config:null};return{config:{id:J.id,virtualMcpId:J.virtualMcpId,pluginId:J.pluginId,connectionId:J.connectionId,settings:J.settings,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt,updatedAt:J.updatedAt instanceof Date?J.updatedAt.toISOString():J.updatedAt}}}})});var rt9,dk0;var Bx6=w(()=>{K0();h0();Zr();lw();rt9=F.object({id:F.string(),virtualMcpId:F.string(),pluginId:F.string(),connectionId:F.string().nullable(),settings:F.record(F.string(),F.unknown()).nullable(),createdAt:F.string(),updatedAt:F.string()}),dk0=m1({name:"VIRTUAL_MCP_PLUGIN_CONFIG_UPDATE",description:"Set or update a plugin's configuration for a specific virtual MCP.",annotations:{title:"Update Virtual MCP Plugin Config",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({virtualMcpId:F.string().describe("Virtual MCP ID"),pluginId:F.string().describe("Plugin ID"),connectionId:F.string().nullable().optional().describe("MCP connection to bind"),settings:F.record(F.string(),F.unknown()).nullable().optional().describe("Plugin-specific settings")}),outputSchema:F.object({config:rt9}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let{virtualMcpId:G,pluginId:Q,connectionId:J,settings:W}=X,Z=H6(Y),$=await Y.storage.connections.findById(G);if(!$)throw Error(`Connection not found: ${G}`);let K=J?await Y.storage.connections.findById(J):null;if(J&&$.organization_id&&!K&&fU()){if(vV1(J,$.organization_id)){if(!Z)throw Error("User ID required to create dev-assets connection");let U=Jr($.organization_id,t$());await Y.storage.connections.create({...U,organization_id:$.organization_id,created_by:Z})}}let H=await Y.storage.virtualMcpPluginConfigs.upsert(G,Q,{connectionId:J,settings:W});return{config:{id:H.id,virtualMcpId:H.virtualMcpId,pluginId:H.pluginId,connectionId:H.connectionId,settings:H.settings,createdAt:H.createdAt instanceof Date?H.createdAt.toISOString():H.createdAt,updatedAt:H.updatedAt instanceof Date?H.updatedAt.toISOString():H.updatedAt}}}})});var ot9,ck0;var Nx6=w(()=>{K0();h0();tR();ot9=F.object({connectionId:F.string(),toolName:F.string(),label:F.string(),icon:F.string().nullable().optional()}),ck0=m1({name:"VIRTUAL_MCP_PINNED_VIEWS_UPDATE",description:"Update the pinned sidebar views for a virtual MCP. Replaces all current pins.",annotations:{title:"Update Pinned Views",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({virtualMcpId:F.string().describe("Virtual MCP ID"),pinnedViews:F.array(ot9).describe("Pinned views to set for the virtual MCP sidebar"),layout:F.object({defaultMainView:F.object({type:F.string(),id:F.string().optional(),toolName:F.string().optional()}).nullable().optional(),chatDefaultOpen:F.boolean().nullable().optional()}).optional()}),outputSchema:F.object({item:$3.nullable()}),handler:async(X,Y)=>{N0(Y);let G=s1(Y);await Y.access.check();let{virtualMcpId:Q,pinnedViews:J,layout:W}=X,Z=H6(Y),$=await Y.storage.virtualMcps.findById(Q);if(!$)throw Error(`Virtual MCP not found: ${Q}`);if($.organization_id!==G.id)throw Error(`Virtual MCP not found: ${Q}`);let K=$.metadata?.ui??{},H={...K,pinnedViews:J.length>0?J:null,layout:W??K.layout??null};return{item:await Y.storage.virtualMcps.update(Q,Z??"system",{metadata:{...$.metadata,ui:H}})}}})});var zx6=w(()=>{Wx6();$x6();Kx6();Hx6();Fx6();Ux6();Bx6();Nx6()});var ik0;var Ox6=w(()=>{T$();h0();K0();ik0=m1({name:"MONITORING_LOG_GET",description:"Get a single monitoring log by ID with full input and output data.",annotations:{title:"Get Monitoring Log",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({id:F.string().describe("Log ID to fetch")}),outputSchema:F.object({log:F.object({id:F.string().optional(),organizationId:F.string(),connectionId:F.string(),toolName:F.string(),input:F.record(F.string(),F.unknown()),output:F.record(F.string(),F.unknown()),isError:F.boolean(),errorMessage:F.string().nullish(),durationMs:F.number(),timestamp:F.string(),userId:F.string().nullish(),requestId:F.string(),userAgent:F.string().nullish(),virtualMcpId:F.string().nullish(),properties:F.record(F.string(),F.string()).nullish()}).nullable().describe("The monitoring log, or null if not found")}),handler:async(X,Y)=>{await Y.access.check(),await aP();let G=s1(Y),Q=await Y.storage.monitoring.getById(G.id,X.id);if(!Q)return{log:null};return{log:{...Q,timestamp:Q.timestamp instanceof Date?Q.timestamp.toISOString():Q.timestamp}}}})});var et9,pk0;var Dx6=w(()=>{T$();h0();K0();et9=F.object({id:F.string().optional().describe("Unique log identifier"),organizationId:F.string().describe("Organization ID"),connectionId:F.string().describe("Connection ID"),toolName:F.string().describe("Name of the tool that was called"),isError:F.boolean().describe("Whether the call resulted in an error"),errorMessage:F.string().nullish().describe("Error message if applicable"),durationMs:F.number().describe("Call duration in milliseconds"),timestamp:F.string().describe("ISO 8601 timestamp of the call"),userId:F.string().nullish().describe("User who triggered the call"),requestId:F.string().describe("Unique request identifier"),userAgent:F.string().nullish().describe("Client identifier (x-mesh-client header)"),virtualMcpId:F.string().nullish().describe("Virtual MCP (Agent) ID if routed through an agent"),properties:F.record(F.string(),F.string()).nullish().describe("Custom key-value metadata attached to the log")}),pk0=m1({name:"MONITORING_LOGS_LIST",description:"List monitoring logs for tool calls with filtering and pagination.",annotations:{title:"List Monitoring Logs",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({connectionId:F.string().optional().describe("Filter by connection ID"),excludeConnectionIds:F.array(F.string()).optional().describe("Exclude logs from these connection IDs (e.g. system connections)"),virtualMcpId:F.string().optional().describe("Filter by Virtual MCP (Agent) ID"),toolName:F.string().optional().describe("Filter by tool name"),isError:F.boolean().optional().describe("Filter by error status"),startDate:F.string().datetime().optional().describe("Filter by start date (ISO 8601 datetime string)"),endDate:F.string().datetime().optional().describe("Filter by end date (ISO 8601 datetime string)"),limit:F.number().default(20).describe("Maximum number of results"),offset:F.number().default(0).describe("Offset for pagination"),properties:F.record(F.string(),F.string()).optional().describe("Filter by exact property key=value matches"),propertyKeys:F.array(F.string()).optional().describe("Filter by logs that have these property keys"),propertyPatterns:F.record(F.string(),F.string()).optional().describe("Filter by property value patterns (SQL LIKE, use % as wildcard)"),propertyInValues:F.record(F.string(),F.string()).optional().describe("Filter by exact match within comma-separated values (e.g., user_tags in 'Engineering')")}),outputSchema:F.object({logs:F.array(et9).describe("Array of monitoring logs"),total:F.number().describe("Total number of logs matching filters"),offset:F.number().describe("Current offset for pagination"),limit:F.number().describe("Current limit for pagination")}),handler:async(X,Y)=>{await aP();let G=s1(Y),J=X.properties||X.propertyKeys||X.propertyPatterns||X.propertyInValues?{properties:X.properties,propertyKeys:X.propertyKeys,propertyPatterns:X.propertyPatterns,propertyInValues:X.propertyInValues}:void 0,W={organizationId:G.id,connectionId:X.connectionId,excludeConnectionIds:X.excludeConnectionIds,virtualMcpId:X.virtualMcpId,toolName:X.toolName,isError:X.isError,startDate:X.startDate?new Date(X.startDate):void 0,endDate:X.endDate?new Date(X.endDate):void 0,limit:X.limit,offset:X.offset,propertyFilters:J},Z=await Y.storage.monitoring.query(W);return{logs:Z.logs.map(({input:$,output:K,...H})=>({...H,timestamp:H.timestamp instanceof Date?H.timestamp.toISOString():H.timestamp})),total:Z.total,offset:X.offset,limit:X.limit}}})});var nk0;var wx6=w(()=>{T$();h0();K0();nk0=m1({name:"MONITORING_STATS",description:"Get aggregated statistics (counts, latency, error rates) for tool call monitoring.",annotations:{title:"Get Monitoring Stats",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({startDate:F.string().datetime().optional().describe("Filter by start date (ISO 8601 datetime string)"),endDate:F.string().datetime().optional().describe("Filter by end date (ISO 8601 datetime string)"),interval:F.string().regex(/^\d+[mhd]$/).optional().describe("Bucket interval for timeseries data (e.g. 1m, 5m, 2h, 1d). When provided, returns timeseries array."),connectionIds:F.array(F.string()).max(100).optional().describe("Filter by specific connection IDs (max 100)"),excludeConnectionIds:F.array(F.string()).max(100).optional().describe("Exclude specific connection IDs (max 100)"),toolNames:F.array(F.string()).max(100).optional().describe("Filter by specific tool names (max 100)"),status:F.enum(["success","error"]).optional().describe("Filter metrics by execution status"),topN:F.number().int().min(1).max(20).optional().describe("When provided with interval, also return top tools and their timeseries")}),outputSchema:F.object({totalCalls:F.number().describe("Total number of tool calls"),errorRate:F.number().optional().describe("Error rate as a decimal (0 to 1)"),avgDurationMs:F.number().describe("Average call duration in milliseconds"),errorRatePercent:F.string().optional().describe("Error rate as a percentage string"),totalErrors:F.number().optional().describe("Total number of errors"),p50DurationMs:F.number().optional().describe("50th percentile duration in milliseconds"),p95DurationMs:F.number().optional().describe("95th percentile duration in milliseconds"),connectionBreakdown:F.array(F.object({connectionId:F.string(),calls:F.number(),errors:F.number(),errorRate:F.number(),avgDurationMs:F.number()})).optional().describe("Per-connection metric breakdown"),topTools:F.array(F.object({toolName:F.string(),connectionId:F.string().nullable(),calls:F.number()})).optional().describe("Top tools ranked by calls"),topToolsTimeseries:F.array(F.object({timestamp:F.string(),toolName:F.string(),calls:F.number(),errors:F.number(),avg:F.number(),p95:F.number()})).optional().describe("Per-tool metric timeseries for the top tools"),timeseries:F.array(F.object({timestamp:F.string(),calls:F.number(),errors:F.number(),errorRate:F.number(),avg:F.number(),p50:F.number(),p95:F.number()})).optional().describe("Timeseries data points bucketed by interval")}),handler:async(X,Y)=>{let G=s1(Y);if(await Y.access.check(),await aP(),X.interval){let J=await Y.storage.monitoring.queryMetricTimeseries({organizationId:G.id,interval:X.interval,startDate:X.startDate?new Date(X.startDate):void 0,endDate:X.endDate?new Date(X.endDate):void 0,filters:{connectionIds:X.connectionIds,excludeConnectionIds:X.excludeConnectionIds,toolNames:X.toolNames,status:X.status}});if(!X.topN)return J;let W=await Y.storage.monitoring.queryMetricTopToolsTimeseries({organizationId:G.id,interval:X.interval,startDate:X.startDate?new Date(X.startDate):void 0,endDate:X.endDate?new Date(X.endDate):void 0,topN:X.topN,filters:{connectionIds:X.connectionIds,excludeConnectionIds:X.excludeConnectionIds,toolNames:X.toolNames,status:X.status}});return{...J,topTools:W.topTools,topToolsTimeseries:W.timeseries}}let Q=await Y.storage.monitoring.getStats({organizationId:G.id,startDate:X.startDate?new Date(X.startDate):void 0,endDate:X.endDate?new Date(X.endDate):void 0});return{...Q,errorRatePercent:(Q.errorRate*100).toFixed(2)}}})});var Lx6=w(()=>{Ox6();Dx6();wx6()});var tk0;var Ex6=w(()=>{K0();h0();tk0=m1({name:"ORGANIZATION_CREATE",description:"Create a new organization. The caller becomes the owner automatically.",annotations:{title:"Create Organization",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:F.object({slug:F.string().min(1).max(50).regex(/^[a-z0-9-]+$/,"Slug must be lowercase alphanumeric with hyphens"),name:F.string().min(1).max(255),description:F.string().optional()}),outputSchema:F.object({id:F.string(),name:F.string(),slug:F.string(),logo:F.string().nullable().optional(),metadata:F.any().optional(),createdAt:F.string().datetime().describe("ISO 8601 timestamp"),members:F.array(F.any()).optional()}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=H6(Y);if(!G)throw Error("User ID required to create organization");let Q=await Y.boundAuth.organization.create({name:X.name,slug:X.slug,metadata:X.description?{description:X.description}:void 0,userId:G});if(!Q)throw Error("Failed to create organization");return{...Q,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt}}})});var ak0;var Px6=w(()=>{K0();h0();ak0=m1({name:"ORGANIZATION_LIST",description:"List organizations the current user belongs to.",annotations:{title:"List Organizations",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},_meta:{ui:{visibility:"app"}},inputSchema:F.object({userId:F.string().optional()}),outputSchema:F.object({organizations:F.array(F.object({id:F.string(),name:F.string(),slug:F.string(),logo:F.string().nullable().optional(),metadata:F.any().optional(),createdAt:F.string().datetime().describe("ISO 8601 timestamp")}))}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=H6(Y),Q=X.userId||G;if(!Q)throw Error("User ID required to list organizations");return{organizations:(await Y.boundAuth.organization.list(Q)).filter((W)=>W.metadata?.archived!==!0).map((W)=>({...W,createdAt:W.createdAt instanceof Date?W.createdAt.toISOString():W.createdAt}))}}})});var rk0;var qx6=w(()=>{K0();h0();rk0=m1({name:"ORGANIZATION_GET",description:"Get an organization's details, members, and settings by slug or ID.",annotations:{title:"Get Organization",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({}),outputSchema:F.object({id:F.string(),name:F.string(),slug:F.string(),logo:F.string().nullable().optional(),metadata:F.any().optional(),createdAt:F.string().datetime().describe("ISO 8601 timestamp"),members:F.array(F.any()).optional(),invitations:F.array(F.any()).optional()}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=await Y.boundAuth.organization.get();if(!G)throw Error("No active organization found");let Q=new Date,J=G.invitations?.filter((W)=>new Date(W.expiresAt)>Q);return{...G,invitations:J,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():G.createdAt}}})});var ok0;var Ax6=w(()=>{K0();h0();ok0=m1({name:"ORGANIZATION_UPDATE",description:"Update an organization's name or description.",annotations:{title:"Update Organization",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({id:F.string(),name:F.string().min(1).max(255).optional(),description:F.string().optional()}),outputSchema:F.object({id:F.string(),name:F.string(),slug:F.string(),logo:F.string().nullable().optional(),metadata:F.any().optional(),createdAt:F.string().datetime().describe("ISO 8601 timestamp")}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G={};if(X.name)G.name=X.name;if(X.description)G.metadata={description:X.description};let Q=await Y.boundAuth.organization.update({organizationId:X.id,data:G});if(!Q)throw Error("Failed to update organization");return{...Q,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt}}})});var sk0;var Tx6=w(()=>{K0();h0();sk0=m1({name:"ORGANIZATION_DELETE",description:"Archive an organization (soft delete).",annotations:{title:"Delete Organization",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({id:F.string()}),outputSchema:F.object({success:F.boolean(),id:F.string()}),handler:async(X,Y)=>{return N0(Y),await Y.access.check(),await Y.boundAuth.organization.update({organizationId:X.id,data:{metadata:{archived:!0,archivedAt:new Date().toISOString()}}}),{success:!0,id:X.id}}})});var pZ1,nZ1,iZ1,tZ1,aZ1,Zs;var rZ1=w(()=>{K0();pZ1=F.object({title:F.string(),url:F.string(),icon:F.string()}),nZ1=F.object({registries:F.record(F.string(),F.object({enabled:F.boolean()})).describe("Per-registry enabled/disabled state. Key is connection ID. Absent registries are treated as enabled."),blockedMcps:F.array(F.string()).describe("List of MCP app_name or app_id values to hide from the store.")}),iZ1=F.object({keyId:F.string(),modelId:F.string(),title:F.string().optional()}).nullable(),tZ1=F.object({enabled:F.boolean(),chat:F.object({fast:iZ1,smart:iZ1,thinking:iZ1}),image:iZ1,webResearch:iZ1}),aZ1=F.object({ids:F.array(F.string()).describe("Ordered list of agent ids to show on the home view. Mix of well-known template ids and custom virtual MCP ids.")}),Zs=F.object({id:F.string().describe("Brand context ID"),name:F.string().describe("Company name"),domain:F.string().describe("Company domain (e.g. example.com)"),overview:F.string().describe("Company overview / description"),logo:F.string().nullable().optional().describe("Logo URL"),favicon:F.string().nullable().optional().describe("Favicon URL"),ogImage:F.string().nullable().optional().describe("OG image URL"),fonts:F.object({heading:F.string().optional().describe("Font family for headings"),body:F.string().optional().describe("Font family for body text"),code:F.string().optional().describe("Font family for code / monospace")}).nullable().optional().describe("Font families by semantic role"),colors:F.object({primary:F.string().optional().describe("Primary brand color (hex)"),secondary:F.string().optional().describe("Secondary brand color (hex)"),accent:F.string().optional().describe("Accent / highlight color (hex)"),background:F.string().optional().describe("Background color (hex)"),foreground:F.string().optional().describe("Foreground / text color (hex)")}).nullable().optional().describe("Semantic color palette"),images:F.array(F.record(F.string(),F.unknown())).nullable().optional().describe("Brand images"),metadata:F.record(F.string(),F.unknown()).nullable().optional().describe("Extra design tokens (typography, components, spacing, layout, tone, etc.)"),archivedAt:F.string().nullable().optional().describe("Archive timestamp (null to unarchive)"),isDefault:F.boolean().optional().describe("Whether this is the default brand for the organization")})});var ek0;var Ix6=w(()=>{K0();h0();rZ1();ek0=m1({name:"ORGANIZATION_SETTINGS_GET",description:"Get organization-level settings including sidebar configuration, store registry settings, simple model mode, and default home agents.",annotations:{title:"Get Organization Settings",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({}),outputSchema:F.object({organizationId:F.string(),sidebar_items:F.array(pZ1).nullable().optional(),enabled_plugins:F.array(F.string()).nullable().optional(),registry_config:nZ1.nullable().optional(),simple_mode:tZ1.nullable().optional(),default_home_agents:aZ1.nullable().optional(),createdAt:F.string().datetime().optional().describe("ISO 8601 timestamp"),updatedAt:F.string().datetime().optional().describe("ISO 8601 timestamp")}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=Y.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");let Q=await Y.storage.organizationSettings.get(G);if(!Q)return{organizationId:G};return{...Q,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt,updatedAt:Q.updatedAt instanceof Date?Q.updatedAt.toISOString():Q.updatedAt}}})});var XC0;var Vx6=w(()=>{K0();h0();rZ1();XC0=m1({name:"ORGANIZATION_SETTINGS_UPDATE",description:"Update organization-level settings such as sidebar configuration, store registry settings, simple model mode, and default home agents.",annotations:{title:"Update Organization Settings",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({organizationId:F.string(),sidebar_items:F.array(pZ1).optional(),enabled_plugins:F.array(F.string()).optional(),registry_config:nZ1.optional(),simple_mode:tZ1.optional(),default_home_agents:aZ1.optional()}),outputSchema:F.object({organizationId:F.string(),sidebar_items:F.array(pZ1).nullable().optional(),enabled_plugins:F.array(F.string()).nullable().optional(),registry_config:nZ1.nullable().optional(),simple_mode:tZ1.nullable().optional(),default_home_agents:aZ1.nullable().optional(),createdAt:F.string().datetime().describe("ISO 8601 timestamp"),updatedAt:F.string().datetime().describe("ISO 8601 timestamp")}),handler:async(X,Y)=>{if(N0(Y),await Y.access.check(),Y.organization&&Y.organization.id!==X.organizationId)throw Error("Cannot update settings for a different organization");let G=await Y.storage.organizationSettings.upsert(X.organizationId,{sidebar_items:X.sidebar_items,enabled_plugins:X.enabled_plugins,registry_config:X.registry_config,simple_mode:X.simple_mode,default_home_agents:X.default_home_agents});return{...G,createdAt:G.createdAt instanceof Date?G.createdAt.toISOString():G.createdAt,updatedAt:G.updatedAt instanceof Date?G.updatedAt.toISOString():G.updatedAt}}})});var jx6,YC0,GC0;var Mx6=w(()=>{K0();h0();rZ1();jx6=Zs.extend({organizationId:F.string(),archivedAt:F.string().nullable().optional().describe("ISO 8601 timestamp"),createdAt:F.string().describe("ISO 8601 timestamp"),updatedAt:F.string().describe("ISO 8601 timestamp")}),YC0=m1({name:"BRAND_CONTEXT_LIST",description:"List all brand contexts (company profiles) for the current organization.",annotations:{title:"List Brand Contexts",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({includeArchived:F.boolean().optional().describe("Include archived brands in the list")}),outputSchema:F.object({items:F.array(jx6)}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=Y.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");return{items:(await Y.storage.brandContext.list(G,{includeArchived:X.includeArchived})).map((J)=>({...J,archivedAt:J.archivedAt instanceof Date?J.archivedAt.toISOString():J.archivedAt,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():J.createdAt,updatedAt:J.updatedAt instanceof Date?J.updatedAt.toISOString():J.updatedAt}))}}}),GC0=m1({name:"BRAND_CONTEXT_GET",description:"Get a specific brand context by ID.",annotations:{title:"Get Brand Context",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({id:F.string().describe("Brand context ID")}),outputSchema:jx6.extend({organizationId:F.string()}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=Y.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");let Q=await Y.storage.brandContext.get(X.id,G);if(!Q)throw Error("Brand context not found");return{...Q,archivedAt:Q.archivedAt instanceof Date?Q.archivedAt.toISOString():Q.archivedAt,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt,updatedAt:Q.updatedAt instanceof Date?Q.updatedAt.toISOString():Q.updatedAt}}})});var Rx6,QC0,JC0,ZC0;var Sx6=w(()=>{K0();h0();rZ1();Rx6=Zs.extend({organizationId:F.string(),createdAt:F.string().describe("ISO 8601 timestamp"),updatedAt:F.string().describe("ISO 8601 timestamp")}),QC0=m1({name:"BRAND_CONTEXT_CREATE",description:"Create a new brand context (company profile) for the current organization.",annotations:{title:"Create Brand Context",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!1},inputSchema:Zs.omit({id:!0}),outputSchema:Rx6,handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=Y.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");let Q=await Y.storage.brandContext.create(G,{name:X.name,domain:X.domain,overview:X.overview,logo:X.logo??null,favicon:X.favicon??null,ogImage:X.ogImage??null,fonts:X.fonts??null,colors:X.colors??null,images:X.images??null,metadata:X.metadata??null});return{...Q,archivedAt:Q.archivedAt instanceof Date?Q.archivedAt.toISOString():Q.archivedAt,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt,updatedAt:Q.updatedAt instanceof Date?Q.updatedAt.toISOString():Q.updatedAt}}}),JC0=m1({name:"BRAND_CONTEXT_UPDATE",description:"Update an existing brand context by ID.",annotations:{title:"Update Brand Context",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:Zs.partial().required({id:!0}),outputSchema:Rx6,handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=Y.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");if(!await Y.storage.brandContext.get(X.id,G))throw Error("Brand context not found");let{id:J,...W}=X;if(W.isDefault===!0)await Y.storage.brandContext.setDefault(J,G);let Z=await Y.storage.brandContext.update(J,G,{name:W.name,domain:W.domain,overview:W.overview,logo:W.logo!==void 0?W.logo??null:void 0,favicon:W.favicon!==void 0?W.favicon??null:void 0,ogImage:W.ogImage!==void 0?W.ogImage??null:void 0,fonts:W.fonts!==void 0?W.fonts??null:void 0,colors:W.colors!==void 0?W.colors??null:void 0,images:W.images!==void 0?W.images??null:void 0,metadata:W.metadata!==void 0?W.metadata??null:void 0,archivedAt:W.archivedAt!==void 0?W.archivedAt??null:void 0,isDefault:W.isDefault===!1?!1:void 0});return{...Z,archivedAt:Z.archivedAt instanceof Date?Z.archivedAt.toISOString():Z.archivedAt,createdAt:Z.createdAt instanceof Date?Z.createdAt.toISOString():Z.createdAt,updatedAt:Z.updatedAt instanceof Date?Z.updatedAt.toISOString():Z.updatedAt}}}),ZC0=m1({name:"BRAND_CONTEXT_DELETE",description:"Archive a brand context by ID (soft delete).",annotations:{title:"Archive Brand Context",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({id:F.string().describe("Brand context ID")}),outputSchema:F.object({success:F.boolean()}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=Y.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");if(!await Y.storage.brandContext.get(X.id,G))throw Error("Brand context not found");return await Y.storage.brandContext.update(X.id,G,{archivedAt:new Date().toISOString(),isDefault:!1}),{success:!0}}})});async function cS1(X,Y,G){let Q=X.trim();if(!Q.startsWith("http"))Q=`https://${Q}`;let J=await fetch("https://api.firecrawl.dev/v1/scrape",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Y}`},body:JSON.stringify({url:Q,formats:["branding"]})});if(!J.ok){let N=await J.text().catch(()=>"");throw Error(`Firecrawl API error: ${J.status} ${N.slice(0,200)}`)}let W=await J.json();if(!W.success||!W.data?.branding)return null;let Z=W.data.branding,$=W.data.metadata??{},K=Qa9(Z,$);return{name:$.title?.split(/[|\u2013\u2014]|\s+-\s+/).map((N)=>N.trim()).filter(Boolean)?.slice().sort((N,z)=>N.length-z.length)[0]??$.ogSiteName??G??X,domain:X,overview:$.description??"",logo:K.logo,favicon:K.favicon,ogImage:K.ogImage,fonts:K.fonts,colors:K.colors,images:null,metadata:Object.keys(K.metadata).length>0?K.metadata:null}}function Qa9(X,Y){let G=X.images??{},Q=X.colors??{},J={};for(let[U,B]of Object.entries(Q))if(typeof B==="string"&&B&&Ya9.has(U))J[U]=B;let W={},$=(X.typography??{}).fontFamilies??{};for(let[U,B]of Object.entries($))if(typeof B==="string"&&B){let N=Ga9[U.toLowerCase()];if(N&&!W[N])W[N]=B}let K=X.fonts;if(Array.isArray(K))for(let U of K){let B=U.family;if(typeof B==="string"&&B&&!W.body)W.body=B}let H={};for(let U of["typography","components","spacing","layout","animations","icons","tone","personality","colorScheme"])if(X[U]!==void 0)H[U]=X[U];return{logo:G.logo??null,favicon:G.favicon??null,ogImage:G.ogImage??Y.ogImage??null,fonts:Object.keys(W).length>0?W:null,colors:Object.keys(J).length>0?J:null,metadata:H}}var Ya9,Ga9;var WC0=w(()=>{Ya9=new Set(["primary","secondary","accent","background","foreground"]),Ga9={heading:"heading",headings:"heading",head:"heading",title:"heading",body:"body",primary:"body",text:"body",code:"code",monospace:"code",mono:"code"}});var $C0;var kx6=w(()=>{K0();h0();WC0();$C0=m1({name:"BRAND_CONTEXT_EXTRACT",description:"Extract brand context (colors, fonts, logos) from a website URL using Firecrawl.",annotations:{title:"Extract Brand Context",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!0},inputSchema:F.object({domain:F.string().describe("Website domain to extract brand from"),brandId:F.string().optional().describe("Existing brand context ID to update (creates new if omitted)")}),outputSchema:F.object({id:F.string(),name:F.string(),domain:F.string(),success:F.boolean()}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=Y.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");let Q=Y.firecrawlApiKey;if(!Q)throw Error("FIRECRAWL_API_KEY is not configured. Set the environment variable to enable brand extraction.");let J=await cS1(X.domain,Q,X.domain);if(!J)throw Error("Firecrawl did not return branding data for this URL");let W={name:J.name,domain:J.domain,overview:J.overview,logo:J.logo,favicon:J.favicon,ogImage:J.ogImage,fonts:J.fonts,colors:J.colors,images:J.images,metadata:J.metadata};if(X.brandId){if(!await Y.storage.brandContext.get(X.brandId,G))throw Error("Brand context not found");let K=await Y.storage.brandContext.update(X.brandId,G,W);return{id:K.id,name:K.name,domain:K.domain,success:!0}}let Z=await Y.storage.brandContext.create(G,W);return{id:Z.id,name:Z.name,domain:Z.domain,success:!0}}})});function Cx6(X){let Y=X.metadata??{};return{id:X.id,name:X.name,domain:X.domain||void 0,colors:X.colors??void 0,fonts:X.fonts??void 0,assets:X.logo||X.favicon||X.ogImage?{logo:X.logo??void 0,favicon:X.favicon??void 0,ogImage:X.ogImage??void 0}:void 0,overview:X.overview||void 0,tagline:typeof Y.tagline==="string"?Y.tagline:void 0,tone:typeof Y.tone==="string"?Y.tone:void 0,metadata:(()=>{let G=Object.fromEntries(Object.entries(Y).filter(([Q])=>Q!=="tagline"&&Q!=="tone"));return Object.keys(G).length>0?G:void 0})()}}var KC0,HC0;var vx6=w(()=>{Mj0();h0();KC0=m1({name:"BRAND_GET",description:"Get a brand context by ID. Omit the ID to get the default brand for the organization.",annotations:{title:"Get Brand",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:uM1,outputSchema:wQ1,handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=Y.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");let Q=X.id?await Y.storage.brandContext.get(X.id,G):await Y.storage.brandContext.getDefault(G);if(!Q)throw Error(X.id?"Brand not found":"No default brand configured");return Cx6(Q)}}),HC0=m1({name:"BRAND_LIST",description:"List all active brands for the current organization.",annotations:{title:"List Brands",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:lM1,outputSchema:mM1,handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=Y.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");return{items:(await Y.storage.brandContext.list(G)).map(Cx6)}}})});var FC0;var _x6=w(()=>{K0();h0();FC0=m1({name:"ORGANIZATION_DOMAIN_GET",description:"Get the claimed email domain for an organization.",annotations:{title:"Get Organization Domain",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({}),outputSchema:F.object({domain:F.string().nullable(),autoJoinEnabled:F.boolean()}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=s1(Y),Q=await Y.storage.organizationDomains.getByOrganizationId(G.id);return{domain:Q?.domain??null,autoJoinEnabled:Q?.autoJoinEnabled??!1}}})});var Ja9,UC0,BC0,NC0;var fx6=w(()=>{K0();h0();aR();Ja9=/^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)+$/,UC0=m1({name:"ORGANIZATION_DOMAIN_SET",description:"Claim an email domain for an organization. The caller's verified email must match the domain.",annotations:{title:"Set Organization Domain",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({domain:F.string().min(1).max(255).describe("Email domain to claim (e.g. 'acme.com')"),autoJoinEnabled:F.boolean().optional().default(!1).describe("Whether users with matching email domain can auto-join")}),outputSchema:F.object({domain:F.string(),autoJoinEnabled:F.boolean()}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=s1(Y),Q=X.domain.toLowerCase().trim();if(!Ja9.test(Q))throw Error(`Invalid domain format: "${Q}". Must be a valid domain like "acme.com"`);if($T.has(Q))throw Error(`Cannot claim generic email domain "${Q}". Only corporate domains are allowed.`);let J=Y.auth.user?.email;if(!J)throw Error("User email is required to claim a domain.");if(!Y.auth.user?.emailVerified)throw Error("Email must be verified before claiming a domain.");let W=J.split("@")[1]?.toLowerCase();if(W!==Q)throw Error(`You can only claim your own email domain ("${W}"), not "${Q}".`);let Z=await Y.storage.organizationDomains.getByOrganizationId(G.id);if(Z&&Z.domain!==Q)throw Error(`This organization already claims "${Z.domain}". Clear it first before claiming a new domain.`);let $=await Y.storage.organizationDomains.setDomain(G.id,Q,X.autoJoinEnabled);return{domain:$.domain,autoJoinEnabled:$.autoJoinEnabled}}}),BC0=m1({name:"ORGANIZATION_DOMAIN_UPDATE",description:"Update auto-join setting for the organization's already-claimed domain.",annotations:{title:"Update Organization Domain Settings",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({autoJoinEnabled:F.boolean().describe("Whether users with matching email domain can auto-join")}),outputSchema:F.object({domain:F.string(),autoJoinEnabled:F.boolean()}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=s1(Y);if(!await Y.storage.organizationDomains.getByOrganizationId(G.id))throw Error("No domain claimed for this organization.");let J=await Y.storage.organizationDomains.updateAutoJoin(G.id,X.autoJoinEnabled);return{domain:J.domain,autoJoinEnabled:J.autoJoinEnabled}}}),NC0=m1({name:"ORGANIZATION_DOMAIN_CLEAR",description:"Remove the claimed email domain for an organization.",annotations:{title:"Clear Organization Domain",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({}),outputSchema:F.object({success:F.boolean()}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=s1(Y);return await Y.storage.organizationDomains.clearDomain(G.id),{success:!0}}})});var zC0;var bx6=w(()=>{K0();CX();h0();zC0=m1({name:"ORGANIZATION_MEMBER_ADD",description:"Invite a member to the organization by email with an assigned role.",annotations:{title:"Add Organization Member",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({organizationId:F.string().optional(),userId:F.string(),role:F.array(F.string())}),outputSchema:F.object({id:F.string(),organizationId:F.string(),userId:F.string(),role:F.union([F.string(),F.array(F.string())]),createdAt:F.string().datetime().describe("ISO 8601 timestamp")}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=X.organizationId||Y.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");if(G!==Y.organization?.id)throw Error("Organization ID does not match authenticated organization");let Q=await Y.boundAuth.organization.addMember({organizationId:G,userId:X.userId,role:X.role});if(!Q)throw Error("Failed to add member");let J=H6(Y);if(J)M6.capture({distinctId:J,event:"organization_member_added",groups:{organization:G},properties:{organization_id:G,added_user_id:X.userId,role:X.role}});return{...Q,role:Q.role,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt}}})});var OC0;var yx6=w(()=>{K0();CX();h0();OC0=m1({name:"ORGANIZATION_MEMBER_REMOVE",description:"Remove a member from the organization. Revokes all their access immediately.",annotations:{title:"Remove Organization Member",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({organizationId:F.string().optional(),memberIdOrEmail:F.string()}),outputSchema:F.object({success:F.boolean(),memberIdOrEmail:F.string()}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=X.organizationId||Y.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");await Y.boundAuth.organization.removeMember({organizationId:G,memberIdOrEmail:X.memberIdOrEmail});let Q=H6(Y);if(Q)M6.capture({distinctId:Q,event:"organization_member_removed",groups:{organization:G},properties:{organization_id:G,member_id_or_email:X.memberIdOrEmail}});return{success:!0,memberIdOrEmail:X.memberIdOrEmail}}})});var DC0;var xx6=w(()=>{K0();h0();DC0=m1({name:"ORGANIZATION_MEMBER_LIST",description:"List all members in the organization with their roles.",annotations:{title:"List Organization Members",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({limit:F.number().optional(),offset:F.number().optional()}),outputSchema:F.object({members:F.array(F.object({id:F.string(),organizationId:F.string(),userId:F.string(),role:F.string(),createdAt:F.string().datetime().describe("ISO 8601 timestamp"),user:F.object({id:F.string(),name:F.string(),email:F.string(),image:F.string().optional()}).optional()}))}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=Y.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");let Q=await Y.boundAuth.organization.listMembers({organizationId:G,limit:X.limit,offset:X.offset});return{members:(Array.isArray(Q)?Q:[]).map((W)=>({...W,createdAt:W.createdAt instanceof Date?W.createdAt.toISOString():W.createdAt}))}}})});var wC0;var hx6=w(()=>{K0();CX();h0();wC0=m1({name:"ORGANIZATION_MEMBER_UPDATE_ROLE",description:"Change a member's role (e.g., admin, member) within the organization.",annotations:{title:"Update Member Role",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({organizationId:F.string().optional(),memberId:F.string(),role:F.array(F.string())}),outputSchema:F.object({id:F.string(),organizationId:F.string(),userId:F.string(),role:F.union([F.literal("admin"),F.literal("member"),F.literal("owner")]),createdAt:F.string().datetime().describe("ISO 8601 timestamp"),user:F.object({email:F.string(),name:F.string(),image:F.string().optional()})}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=X.organizationId||Y.organization?.id;if(!G)throw Error("Organization ID required (no active organization in context)");let Q=await Y.boundAuth.organization.updateMemberRole({organizationId:G,memberId:X.memberId,role:X.role});if(!Q)throw Error("Failed to update member role");Y.invalidateMemberRole?.(Q.userId,G);let J=H6(Y);if(J)M6.capture({distinctId:J,event:"organization_member_role_updated",groups:{organization:G},properties:{organization_id:G,member_id:X.memberId,target_user_id:Q.userId,new_role:Array.isArray(X.role)?X.role.join(","):X.role}});return{...Q,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():Q.createdAt}}})});var gx6=w(()=>{Ex6();Px6();qx6();Ax6();Tx6();Ix6();Vx6();Mx6();Sx6();kx6();vx6();_x6();fx6();bx6();yx6();xx6();hx6()});var LC0;var ux6=w(()=>{K0();h0();LC0=m1({name:"TAGS_LIST",description:"List all tags available in the organization.",annotations:{title:"List Tags",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({}),outputSchema:F.object({tags:F.array(F.object({id:F.string(),organizationId:F.string(),name:F.string(),createdAt:F.string().describe("ISO 8601 timestamp")}))}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=s1(Y);return{tags:(await Y.storage.tags.listOrgTags(G.id)).map((J)=>({...J,createdAt:J.createdAt instanceof Date?J.createdAt.toISOString():String(J.createdAt)}))}}})});var EC0;var lx6=w(()=>{K0();h0();EC0=m1({name:"TAGS_CREATE",description:"Create a new tag that can be assigned to organization members.",annotations:{title:"Create Tag",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1},inputSchema:F.object({name:F.string().min(1).max(50).describe("Tag name")}),outputSchema:F.object({tag:F.object({id:F.string(),organizationId:F.string(),name:F.string(),createdAt:F.string().describe("ISO 8601 timestamp")})}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=s1(Y),Q=await Y.storage.tags.createTag(G.id,X.name);return{tag:{...Q,createdAt:Q.createdAt instanceof Date?Q.createdAt.toISOString():String(Q.createdAt)}}}})});var PC0;var mx6=w(()=>{K0();h0();PC0=m1({name:"TAGS_DELETE",description:"Delete a tag and automatically remove it from all assigned members.",annotations:{title:"Delete Tag",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({tagId:F.string().describe("Tag ID to delete")}),outputSchema:F.object({success:F.boolean()}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=s1(Y),Q=await Y.storage.tags.getTag(X.tagId);if(!Q)throw Error("Tag not found");if(Q.organizationId!==G.id)throw Error("Tag does not belong to this organization");return await Y.storage.tags.deleteTag(X.tagId),{success:!0}}})});var qC0;var dx6=w(()=>{K0();h0();qC0=m1({name:"MEMBER_TAGS_GET",description:"Get all tags currently assigned to a specific member.",annotations:{title:"Get Member Tags",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({memberId:F.string().describe("Member ID")}),outputSchema:F.object({tags:F.array(F.object({id:F.string(),organizationId:F.string(),name:F.string(),createdAt:F.string().describe("ISO 8601 timestamp")}))}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=s1(Y);if(!await Y.storage.tags.verifyMemberOrg(X.memberId,G.id))throw Error(`Member not found in this organization: ${X.memberId}`);return{tags:(await Y.storage.tags.getMemberTags(X.memberId)).map((W)=>({...W,createdAt:W.createdAt instanceof Date?W.createdAt.toISOString():String(W.createdAt)}))}}})});var AC0;var cx6=w(()=>{K0();h0();AC0=m1({name:"MEMBER_TAGS_SET",description:"Replace all tags on a member with the given set. Pass empty array to clear.",annotations:{title:"Set Member Tags",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({memberId:F.string().describe("Member ID"),tagIds:F.array(F.string()).describe("Array of tag IDs to assign")}),outputSchema:F.object({success:F.boolean(),tags:F.array(F.object({id:F.string(),organizationId:F.string(),name:F.string(),createdAt:F.string().describe("ISO 8601 timestamp")}))}),handler:async(X,Y)=>{N0(Y),await Y.access.check();let G=s1(Y);if(!await Y.storage.tags.verifyMemberOrg(X.memberId,G.id))throw Error(`Member not found in this organization: ${X.memberId}`);for(let W of X.tagIds){let Z=await Y.storage.tags.getTag(W);if(!Z)throw Error(`Tag not found: ${W}`);if(Z.organizationId!==G.id)throw Error(`Tag does not belong to this organization: ${W}`)}return await Y.storage.tags.setMemberTags(X.memberId,X.tagIds),{success:!0,tags:(await Y.storage.tags.getMemberTags(X.memberId)).map((W)=>({...W,createdAt:W.createdAt instanceof Date?W.createdAt.toISOString():String(W.createdAt)}))}}})});var ix6=w(()=>{ux6();lx6();mx6();dx6();cx6()});var px6=w(()=>{q7()});var nx6,$a9,tx6,xz,ax6,rx6;var rR=w(()=>{K0();px6();nx6=F.object({id:F.string().describe("Unique message ID"),thread_id:F.string().describe("ID of the parent thread"),metadata:F.unknown().optional().describe("Optional message metadata"),parts:F.array(F.record(F.string(),F.unknown())).describe("Message content parts (AI SDK UIMessagePart format)"),role:F.enum(["user","assistant","system"]).describe("Message role"),created_at:F.string().datetime().describe("Timestamp of creation"),updated_at:F.string().datetime().describe("Timestamp of last update")}),$a9=F.object({toolName:F.string().describe("Fully qualified tool name"),appId:F.string().describe("App ID that owns the tool"),args:F.record(F.string(),F.unknown()).describe("Arguments used when expanding the tool"),expandedAt:F.string().datetime().describe("When the tool was expanded")}),tx6=F.object({expanded_tools:F.array($a9).optional()}).catchall(F.unknown()),xz=F.object({id:F.string().describe("Unique thread ID"),organization_id:F.string().describe("Organization this thread belongs to"),title:F.string().describe("Thread title"),description:F.string().nullable().describe("Thread description"),created_at:F.string().datetime().describe("Timestamp of creation"),updated_at:F.string().datetime().describe("Timestamp of last update"),hidden:F.boolean().optional().describe("Whether the thread is hidden"),status:F.enum([...Bt,"expired"]).describe("Thread execution status. 'expired' is virtual -- computed at read time for stale in_progress threads"),created_by:F.string().describe("User ID who created the thread"),updated_by:F.string().optional().describe("User ID who last updated the thread"),virtual_mcp_id:F.string().optional().describe("Virtual MCP (agent) this thread was initiated with"),branch:F.string().nullable().optional().describe("Git branch this thread is pinned to (GitHub-linked vms only)"),metadata:tx6.optional().describe("Free-form per-thread UI state (e.g. expanded_tools)"),run_config:F.record(F.string(),F.unknown()).nullable().optional().describe("Persisted run configuration (contains agent and model info)")}),ax6=F.object({id:F.string().optional().describe("Optional custom ID for the thread"),title:F.string().optional().describe("Thread title"),description:F.string().nullish().describe("Thread description"),virtual_mcp_id:F.string().describe("Virtual MCP (agent) this thread is bound to"),branch:F.string().min(1).optional().describe("Preferred branch. Used only when the vMCP has a githubRepo; ignored otherwise. When omitted, the server picks the most-recently-touched branch from the user's vmMap, falling back to a freshly generated name.")}),rx6=F.object({title:F.string().optional().describe("New thread title"),description:F.string().nullish().describe("New thread description"),hidden:F.boolean().optional().describe("Whether the thread is hidden"),status:F.enum(["requires_action","failed","in_progress","completed"]).optional().describe("New thread status (user-set override). 'expired' is a computed virtual status and cannot be set directly."),metadata:tx6.optional().describe("Full replacement of the thread's metadata object"),branch:F.string().nullish().describe("New git branch for this thread")})});function iS1(){let X=ox6[Math.floor(Math.random()*ox6.length)],Y=sx6[Math.floor(Math.random()*sx6.length)];return`deco/${X}-${Y}`}var ox6,sx6;var TC0=w(()=>{ox6=["amber","bold","bright","calm","crimson","coral","daring","deep","dusty","eager","faint","fierce","frozen","gentle","golden","grand","green","hollow","iron","ivory","keen","lasting","lunar","mellow","misty","noble","olive","pale","prime","quiet","rapid","rustic","serene","sharp","silver","sleek","solar","stark","still","swift","tawny","tender","thin","true","vast","velvet","warm","wild","young","zen"],sx6=["anchor","birch","brook","cedar","cliff","cove","crane","dune","echo","ember","falcon","fern","flint","forge","frost","glade","grove","harbor","hawk","iris","jade","lark","maple","marsh","mesa","opal","orbit","peak","pine","plume","quartz","rapids","reef","ridge","river","sage","shore","slate","spruce","stone","summit","thorn","tide","trail","vale","wren","aspen","delta","crest","spark"]});function Fa9(X,Y){let G=X?.[Y];if(!G)return;return Object.entries(G).sort(([,J],[,W])=>(W.createdAt??0)-(J.createdAt??0))[0]?.[0]}var Ka9,Ha9,IC0;var ex6=w(()=>{K0();CX();h0();rR();kH();TC0();Ka9=F.object({data:ax6.describe("Data for the new thread (id is auto-generated if not provided)")}),Ha9=F.object({item:xz.describe("The created thread entity")});IC0=m1({name:"COLLECTION_THREADS_CREATE",description:"Create a new thread for organizing messages and conversations.",annotations:{title:"Create Thread",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:Ka9,outputSchema:Ha9,handler:async(X,Y)=>{N0(Y);let G=s1(Y);await Y.access.check();let Q=H6(Y);if(!Q)throw Error("User ID required to create thread");let{data:J}=X,W=J.id??m7("thrd"),Z=await Y.storage.virtualMcps.findById(J.virtual_mcp_id,G.id);if(!Z)throw Error(`Virtual MCP not found: ${J.virtual_mcp_id}`);let $=Z.metadata,K=$?.githubRepo,H=null;if(K)H=J.branch??Fa9($?.vmMap,Q)??iS1();let U=await Y.storage.threads.create({id:W,organization_id:G.id,title:J.title,description:J.description,virtual_mcp_id:J.virtual_mcp_id,branch:H,created_by:Q});return M6.capture({distinctId:Q,event:"chat_started",groups:{organization:G.id},properties:{organization_id:G.id,thread_id:W,has_title:!!X.data.title,created_via:"tool"}}),{item:{...U,hidden:U.hidden??!1}}}})});function KT(X,Y=Date.now()){let G=X.status;if(G==="in_progress"){let Q=new Date(X.updated_at).getTime();if(!Number.isFinite(Q)||Y-Q>1800000)G="expired"}return{...X,status:G,hidden:X.hidden??!1}}var Ua9,Ba9,VC0;var Xh6=w(()=>{EW();h0();rR();K0();Ua9=LU.extend({where:F.object({created_by:F.string().optional(),trigger_ids:F.array(F.string()).optional(),virtual_mcp_id:F.string().optional(),hidden:F.boolean().optional(),has_trigger:F.boolean().optional()}).optional(),startDate:F.string().datetime().optional().describe("Filter threads updated at or after this ISO timestamp"),endDate:F.string().datetime().optional().describe("Filter threads updated at or before this ISO timestamp"),search:F.string().optional().describe("Full-text search on thread title (case-insensitive)"),status:F.string().optional().describe("Filter by thread status (e.g. completed, failed, in_progress)"),userId:F.string().optional().describe("Filter by the user who created the thread"),agentId:F.string().optional().describe("Filter by agent (connection or virtual MCP) ID")}),Ba9=Gw(xz),VC0=m1({name:"COLLECTION_THREADS_LIST",description:"List threads with filtering, sorting, and pagination.",annotations:{title:"List Threads",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:Ua9,outputSchema:Ba9,handler:async(X,Y)=>{await Y.access.check();let G=Y.auth.user?.id;if(!G)throw Error("User ID required to list threads");s1(Y);let Q=X.offset??0,J=X.limit??100,W=X.where?.trigger_ids,Z=X.where?.virtual_mcp_id,$=X.userId??(X.where?.created_by==="me"?G:X.where?.created_by),{threads:K,total:H}=W?.length?await Y.storage.threads.listByTriggerIds(W,{limit:J,offset:Q}):await Y.storage.threads.list($,{limit:J,offset:Q,virtualMcpId:Z,startDate:X.startDate,endDate:X.endDate,search:X.search,status:X.status,agentId:X.agentId,includeArchived:X.where?.hidden,hasTrigger:X.where?.has_trigger}),U=Q+J<H,B=Date.now();return{items:K.map((N)=>KT(N,B)),totalCount:H,hasMore:U}}})});var Na9,jC0;var Yh6=w(()=>{EW();h0();rR();Na9=i71(xz),jC0=m1({name:"COLLECTION_THREADS_GET",description:"Get a thread's details and metadata by ID.",annotations:{title:"Get Thread",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:c71,outputSchema:Na9,handler:async(X,Y)=>{N0(Y),s1(Y),await Y.access.check();let G=await Y.storage.threads.get(X.id);if(!G)return{item:null};return{item:KT(G)}}})});var za9,Oa9,MC0;var Gh6=w(()=>{K0();CX();h0();rR();za9=F.object({id:F.string().describe("ID of the thread to update"),data:rx6.describe("Partial thread data to update")}),Oa9=F.object({item:xz.describe("The updated thread entity")}),MC0=m1({name:"COLLECTION_THREADS_UPDATE",description:"Update a thread's title, description, or visibility.",annotations:{title:"Update Thread",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:za9,outputSchema:Oa9,handler:async(X,Y)=>{N0(Y);let G=s1(Y);await Y.access.check();let Q=H6(Y);if(!Q)throw Error("User ID required to update thread");let{id:J,data:W}=X,Z=await Y.storage.threads.get(J);if(!Z)throw Error("Thread not found in organization");if(W.branch===null&&Z.virtual_mcp_id){if((await Y.storage.virtualMcps.findById(Z.virtual_mcp_id,s1(Y).id))?.metadata?.githubRepo)throw Error("Cannot set branch=null on a github-linked thread (vMCP has githubRepo)")}let $={title:W.title,description:W.description,hidden:W.hidden,updated_by:Q};if(W.status)$.status=W.status;if(W.metadata!==void 0)$.metadata=W.metadata;if(W.branch!==void 0)$.branch=W.branch;let K=await Y.storage.threads.update(J,$);if(W.hidden!==void 0&&W.hidden!==Z.hidden)M6.capture({distinctId:Q,event:W.hidden?"chat_archived":"chat_unarchived",groups:{organization:G.id},properties:{organization_id:G.id,thread_id:J}});return{item:KT(K)}}})});var RC0;var Qh6=w(()=>{EW();CX();h0();rR();RC0=m1({name:"COLLECTION_THREADS_DELETE",description:"Permanently delete a thread and all its messages.",annotations:{title:"Delete Thread",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!0,openWorldHint:!1},inputSchema:p71,outputSchema:n71(xz),handler:async(X,Y)=>{N0(Y);let G=s1(Y);await Y.access.check();let Q=await Y.storage.threads.get(X.id);if(!Q)throw Error(`Thread not found: ${X.id}`);await Y.storage.threads.delete(X.id);let J=H6(Y);if(J)M6.capture({distinctId:J,event:"chat_deleted",groups:{organization:G.id},properties:{organization_id:G.id,thread_id:X.id}});return{item:KT(Q)}}})});function Jh6(X){if(!X)return null;if("field"in X&&X.field[0]==="thread_id"&&X.operator==="eq")return String(X.value);if("conditions"in X)for(let Y of X.conditions){let G=Jh6(Y);if(G)return G}return null}var Da9,wa9,SC0;var Zh6=w(()=>{EW();K0();h0();rR();Da9=LU.extend({thread_id:F.string().optional().describe("ID of the thread to list messages for (required)")}),wa9=Gw(nx6),SC0=m1({name:"COLLECTION_THREAD_MESSAGES_LIST",description:"List messages in a thread with pagination. Requires thread_id. Returns messages in chronological order.",annotations:{title:"List Thread Messages",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:Da9,outputSchema:wa9,handler:async(X,Y)=>{s1(Y),await Y.access.check();let G=X.thread_id??Jh6(X.where);if(!G)throw Error("thread_id is required (provide as top-level param or in where clause)");let Q=X.offset??0,J=X.limit??100,{messages:W,total:Z}=await Y.storage.threads.listMessages(G,{limit:J,offset:Q}),$=Q+J<Z;return{items:W,totalCount:Z,hasMore:$}}})});var Wh6=w(()=>{ex6();Xh6();Yh6();Gh6();Qh6();Zh6()});function Ea9(X){return{type:"doc",content:[{type:"paragraph",content:[{type:"text",text:X}]}]}}function Pa9(X){return X.map((Y)=>{let G=Y.metadata;if(G?.tiptapDoc)return Y;let Q=Y.parts.find((J)=>J.type==="text"&&typeof J.text==="string");if(!Q?.text||typeof Q.text!=="string")return Y;return{...Y,metadata:{...G,tiptapDoc:Ea9(Q.text)}}})}function pS1(X){let Y;if(typeof X==="string")try{let G=JSON.parse(X);if(Array.isArray(G)&&G.length>0&&G[0]?.role&&Array.isArray(G[0]?.parts))Y=G;else Y=[{role:"user",parts:[{type:"text",text:X}]}]}catch{Y=[{role:"user",parts:[{type:"text",text:X}]}]}else Y=X;return Pa9(Y)}var kC0;var $h6=w(()=>{K0();CX();h0();kC0=m1({name:"AUTOMATION_CREATE",description:"Create an automation with instructions, agent, and model config. Triggers can be added separately.",annotations:{title:"Create Automation",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!1},inputSchema:F.object({name:F.string().min(1).max(255),virtual_mcp_id:F.string(),messages:F.union([F.string(),F.array(F.looseObject({id:F.string().optional(),role:F.enum(["user","assistant","system"]),parts:F.array(F.record(F.string(),F.unknown())),metadata:F.unknown().optional()}))]),models:F.object({credentialId:F.string(),thinking:F.object({id:F.string(),capabilities:F.object({vision:F.boolean().optional(),text:F.boolean().optional(),tools:F.boolean().optional()}).optional(),provider:F.enum(["openai","anthropic","google","xai","deepseek","openrouter","openai-compatible"]).optional().nullable(),limits:F.object({contextWindow:F.number().optional(),maxOutputTokens:F.number().optional()}).optional()}),coding:F.object({id:F.string()}).optional(),fast:F.object({id:F.string()}).optional(),tier:F.enum(["fast","smart","thinking"]).optional()}).loose().optional(),temperature:F.number().default(0.5),active:F.boolean().default(!0)}),outputSchema:F.object({id:F.string(),name:F.string(),active:F.boolean(),created_at:F.string()}),handler:async(X,Y)=>{N0(Y);let G=s1(Y);await Y.access.check();let Q=H6(Y);if(!Q)throw Error("Unable to determine user identity");let J=pS1(X.messages),W=X.models;if(!W){let $=await Y.storage.aiProviderKeys.list({organizationId:G.id});if($.length===0)throw Error("No AI provider credentials configured");let K=$[0],H=await Y.aiProviders.listModels(K.id,G.id);if(H.length===0)throw Error("No models available from the configured AI provider");W={credentialId:K.id,thinking:{id:H[0].modelId}}}let Z=await Y.storage.automations.create({organization_id:G.id,created_by:Q,name:X.name,messages:JSON.stringify(J),models:JSON.stringify(W),temperature:X.temperature,active:X.active,virtual_mcp_id:X.virtual_mcp_id});return M6.capture({distinctId:Q,event:"automation_created",groups:{organization:G.id},properties:{organization_id:G.id,automation_id:Z.id,virtual_mcp_id:X.virtual_mcp_id,active:Z.active,model_id:W.thinking.id}}),{id:Z.id,name:Z.name,active:Z.active,created_at:Z.created_at}}})});var CC0;var Kh6=w(()=>{K0();h0();CC0=m1({name:"AUTOMATION_GET",description:"Get an automation's full configuration and triggers by ID.",annotations:{title:"Get Automation",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({id:F.string()}),outputSchema:F.object({automation:F.object({id:F.string(),name:F.string(),active:F.boolean(),created_by:F.string(),created_at:F.string(),updated_at:F.string(),virtual_mcp_id:F.string(),messages:F.unknown(),models:F.unknown(),temperature:F.number(),triggers:F.array(F.object({id:F.string(),type:F.enum(["cron","event"]),cron_expression:F.string().nullable(),connection_id:F.string().nullable(),event_type:F.string().nullable(),params:F.unknown().nullable(),last_run_at:F.string().nullable(),created_at:F.string()}))}).nullable()}),handler:async(X,Y)=>{N0(Y);let G=s1(Y);await Y.access.check();let Q=await Y.storage.automations.findById(X.id,G.id);if(!Q)return{automation:null};let J=await Y.storage.automations.listTriggers(Q.id);return{automation:{id:Q.id,name:Q.name,active:Q.active,created_by:Q.created_by,created_at:Q.created_at,updated_at:Q.updated_at,virtual_mcp_id:Q.virtual_mcp_id,messages:JSON.parse(Q.messages),models:JSON.parse(Q.models),temperature:Q.temperature,triggers:J.map((W)=>({id:W.id,type:W.type,cron_expression:W.cron_expression,connection_id:W.connection_id,event_type:W.event_type,params:W.params?JSON.parse(W.params):null,last_run_at:W.last_run_at,created_at:W.created_at}))}}}})});var vC0;var Hh6=w(()=>{K0();h0();vC0=m1({name:"AUTOMATION_LIST",description:"List automations with their status, triggers, and configuration.",annotations:{title:"List Automations",readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1},inputSchema:F.object({virtual_mcp_id:F.string().optional().nullable()}),outputSchema:F.object({automations:F.array(F.object({id:F.string(),name:F.string(),active:F.boolean(),created_by:F.string(),created_at:F.string(),trigger_count:F.number(),nearest_next_run_at:F.string().nullable(),virtual_mcp_id:F.string()}))}),handler:async(X,Y)=>{N0(Y);let G=s1(Y);return await Y.access.check(),{automations:(await Y.storage.automations.listWithTriggerCounts(G.id,X.virtual_mcp_id)).map((W)=>({id:W.id,name:W.name,active:W.active,created_by:W.created_by,created_at:W.created_at,trigger_count:W.trigger_count,nearest_next_run_at:W.nearest_next_run_at,virtual_mcp_id:W.virtual_mcp_id}))}}})});class iH{constructor(X={}){this._started=!1,this._hasHandledRequest=!1,this._streamMapping=new Map,this._requestToStreamMapping=new Map,this._requestResponseMap=new Map,this._initialized=!1,this._enableJsonResponse=!1,this._standaloneSseStreamId="_GET_stream",this.sessionIdGenerator=X.sessionIdGenerator,this._enableJsonResponse=X.enableJsonResponse??!1,this._eventStore=X.eventStore,this._onsessioninitialized=X.onsessioninitialized,this._onsessionclosed=X.onsessionclosed,this._allowedHosts=X.allowedHosts,this._allowedOrigins=X.allowedOrigins,this._enableDnsRebindingProtection=X.enableDnsRebindingProtection??!1,this._retryInterval=X.retryInterval}async start(){if(this._started)throw Error("Transport already started");this._started=!0}createJsonErrorResponse(X,Y,G,Q){let J={code:Y,message:G};if(Q?.data!==void 0)J.data=Q.data;return new Response(JSON.stringify({jsonrpc:"2.0",error:J,id:null}),{status:X,headers:{"Content-Type":"application/json",...Q?.headers}})}validateRequestHeaders(X){if(!this._enableDnsRebindingProtection)return;if(this._allowedHosts&&this._allowedHosts.length>0){let Y=X.headers.get("host");if(!Y||!this._allowedHosts.includes(Y)){let G=`Invalid Host header: ${Y}`;return this.onerror?.(Error(G)),this.createJsonErrorResponse(403,-32000,G)}}if(this._allowedOrigins&&this._allowedOrigins.length>0){let Y=X.headers.get("origin");if(Y&&!this._allowedOrigins.includes(Y)){let G=`Invalid Origin header: ${Y}`;return this.onerror?.(Error(G)),this.createJsonErrorResponse(403,-32000,G)}}return}async handleRequest(X,Y){if(!this.sessionIdGenerator&&this._hasHandledRequest)throw Error("Stateless transport cannot be reused across requests. Create a new transport per request.");this._hasHandledRequest=!0;let G=this.validateRequestHeaders(X);if(G)return G;switch(X.method){case"POST":return this.handlePostRequest(X,Y);case"GET":return this.handleGetRequest(X);case"DELETE":return this.handleDeleteRequest(X);default:return this.handleUnsupportedRequest()}}async writePrimingEvent(X,Y,G,Q){if(!this._eventStore)return;if(Q<"2025-11-25")return;let J=await this._eventStore.storeEvent(G,{}),W=`id: ${J}
2373
2373
  data:
2374
2374
 
2375
2375
  `;if(this._retryInterval!==void 0)W=`id: ${J}
@@ -6034,7 +6034,11 @@ var TRANSIENT_ERRORS = [
6034
6034
  "early EOF",
6035
6035
  "unexpected disconnect",
6036
6036
  "Connection reset by peer",
6037
- "Connection timed out"
6037
+ "Connection timed out",
6038
+ "Operation too slow",
6039
+ "transfer closed with",
6040
+ "RPC failed",
6041
+ "the remote end hung up"
6038
6042
  ];
6039
6043
  var CLONE_MAX_RETRIES = 3;
6040
6044
  var CLONE_RETRY_DELAY_MS = 3000;