@chaibuilder/sdk 4.0.0-beta.4 → 4.0.0-beta.41

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 (266) hide show
  1. package/README.md +72 -50
  2. package/dist/{2SSKDMRQ-Difo_1pg.js → 2SSKDMRQ-CdpXONNF.js} +3 -3
  3. package/dist/{2SSKDMRQ-CopJgtZb.cjs → 2SSKDMRQ-Dq_oq6gn.cjs} +1 -1
  4. package/dist/{AP7HFJJL-BPuPBqj4.js → AP7HFJJL-CZb0rAxI.js} +1 -1
  5. package/dist/{AP7HFJJL-DYxDgaOs.cjs → AP7HFJJL-Do14BULM.cjs} +1 -1
  6. package/dist/{IconPicker-B2-oriq2.js → IconPicker-CvZSjXc6.js} +2 -2
  7. package/dist/{IconPicker-C0oycHbs.cjs → IconPicker-DUN9bxmQ.cjs} +1 -1
  8. package/dist/STRINGS-BExFecZW.js +8 -0
  9. package/dist/STRINGS-FNnfjF5H.cjs +1 -0
  10. package/dist/{WDYDFRGG-DbejaRPK.cjs → WDYDFRGG-DfczfcZ8.cjs} +1 -1
  11. package/dist/{WDYDFRGG-KK8pkcW1.js → WDYDFRGG-Dxa2zFdt.js} +4 -4
  12. package/dist/{actions-registery-y_ENc8zj.js → actions-registery-CMKfEXxX.js} +3397 -3202
  13. package/dist/actions-registery-CqhNZFV3.cjs +481 -0
  14. package/dist/actions.cjs +1 -1
  15. package/dist/actions.d.ts +0 -158
  16. package/dist/actions.js +3 -3
  17. package/dist/{active-in-another-tab-DkR2HWI4.js → active-in-another-tab-BREv3Xj8.js} +5 -5
  18. package/dist/{active-in-another-tab-Cu_ASKtx.cjs → active-in-another-tab-C9o276yY.cjs} +1 -1
  19. package/dist/{add-new-language-page-CBY0RR6q.js → add-new-language-page-C4PSVDV5.js} +4 -4
  20. package/dist/{add-new-language-page-BXuwluuU.cjs → add-new-language-page-jHLJjrl1.cjs} +1 -1
  21. package/dist/{add-new-page-C_PzKby8.cjs → add-new-page-BPPMxBYi.cjs} +1 -1
  22. package/dist/add-new-page-DomZuT16.js +31 -0
  23. package/dist/{ai-panel-content--YM01Aly.js → ai-panel-content-CsmUoTCg.js} +6 -6
  24. package/dist/{ai-panel-content-rRmJdH7L.cjs → ai-panel-content-DlS51Qef.cjs} +1 -1
  25. package/dist/ai-panel-default-lang-BRVlAMMU.js +317 -0
  26. package/dist/ai-panel-default-lang-DVKDEnbe.cjs +3 -0
  27. package/dist/ai-panel-other-lang-B-2xJz2W.cjs +1 -0
  28. package/dist/ai-panel-other-lang-BPVS6lO_.js +132 -0
  29. package/dist/{ai-prompt-input-DueQYNf-.js → ai-prompt-input-B0FMhaLB.js} +30 -34
  30. package/dist/{ai-prompt-input-N9PcYCFa.cjs → ai-prompt-input-CY2pBPzO.cjs} +1 -1
  31. package/dist/{ai-translation-prompt-B36F3d7K.js → ai-translation-prompt-6LlaU9LO.js} +2 -2
  32. package/dist/{ai-translation-prompt-IAdWMNZb.cjs → ai-translation-prompt-BwhKmgC3.cjs} +1 -1
  33. package/dist/apply-binding-BuwI_Uf5.cjs +41 -0
  34. package/dist/apply-binding-RQRSIe56.js +942 -0
  35. package/dist/change-password-modal-BlSTfit6.js +137 -0
  36. package/dist/change-password-modal-wbCcGfDM.cjs +1 -0
  37. package/dist/{code-display-DloSPyPr.cjs → code-display-BR-gij5j.cjs} +1 -1
  38. package/dist/{code-display-Ck81Id9K.js → code-display-DdWcOQ_i.js} +1 -1
  39. package/dist/code-editor-BC_saYAw.cjs +1 -0
  40. package/dist/code-editor-Be5VT6om.js +57 -0
  41. package/dist/{continue-editing-in-this-client-DmGFLHXw.cjs → continue-editing-in-this-client-Bs_3q1hH.cjs} +1 -1
  42. package/dist/{continue-editing-in-this-client-Dm9cCj7K.js → continue-editing-in-this-client-Z1rBUPU8.js} +3 -3
  43. package/dist/core-czmLeR0h.cjs +1 -0
  44. package/dist/core-nSRy3D7z.js +54 -0
  45. package/dist/core.cjs +1 -1
  46. package/dist/core.d.ts +285 -103
  47. package/dist/core.js +71 -42
  48. package/dist/{css-import-modal-9P_0uNa4.js → css-import-modal-DMZRgpy0.js} +8 -8
  49. package/dist/{css-import-modal-Rh1QAVxo.cjs → css-import-modal-QaTHJ7CT.cjs} +1 -1
  50. package/dist/delete-page-BoP3I06P.js +84 -0
  51. package/dist/delete-page-CjXYHAsS.cjs +1 -0
  52. package/dist/{design-token-usage-MNYsFlPG.js → design-token-usage-DFanW2r-.js} +26 -26
  53. package/dist/{design-token-usage-CXglXgcJ.cjs → design-token-usage-kEPgi-3C.cjs} +1 -1
  54. package/dist/{digital-asset-manager-CqCWBO0s.js → digital-asset-manager-BbI7Ye34.js} +6 -6
  55. package/dist/digital-asset-manager-N8tcW28y.cjs +1 -0
  56. package/dist/{duplicate-page-DzZByALW.cjs → duplicate-page-B-4nFU4j.cjs} +1 -1
  57. package/dist/{duplicate-page-BknLfqr0.js → duplicate-page-C6y7FdRQ.js} +7 -7
  58. package/dist/{dynamic-page-selector-WA007Sni.cjs → dynamic-page-selector-Cq4U-49i.cjs} +1 -1
  59. package/dist/{dynamic-page-selector-DoW7OyUB.js → dynamic-page-selector-DQCWphi0.js} +16 -16
  60. package/dist/fonts/bungee/Bungee-Regular.woff2 +0 -0
  61. package/dist/fonts/dm_sans/dm-sans-variable.woff2 +0 -0
  62. package/dist/fonts/geist/Geist-VariableFont_wght.ttf +0 -0
  63. package/dist/fonts/geist/Geist-VariableFont_wght.woff2 +0 -0
  64. package/dist/fonts/geist/geist-variable.woff2 +0 -0
  65. package/dist/fonts/geist-mono/GeistMono-VariableFont_wght.woff2 +0 -0
  66. package/dist/fonts/inter/inter-latin.woff2 +0 -0
  67. package/dist/fonts/inter/inter-variable.woff2 +1449 -0
  68. package/dist/fonts/lato/lato-variable.woff2 +0 -0
  69. package/dist/fonts/lavishly_yours/lavishly-yours.woff2 +11 -0
  70. package/dist/fonts/merriweather/merriweather-variable.woff2 +11 -0
  71. package/dist/fonts/montserrat/montserrat-variable.woff2 +0 -0
  72. package/dist/fonts/nunito_sans/nunito-sans-variable.woff2 +11 -0
  73. package/dist/fonts/open_sans/open-sans-variable.woff2 +0 -0
  74. package/dist/fonts/oswald/oswald-variable.woff2 +0 -0
  75. package/dist/fonts/playfair_display/playfair-display-variable.woff2 +11 -0
  76. package/dist/fonts/poppins/poppins-variable.woff2 +0 -0
  77. package/dist/fonts/raleway/raleway-variable.woff2 +0 -0
  78. package/dist/fonts/roboto/roboto-variable.woff2 +11 -0
  79. package/dist/fonts/source_sans_3/source-sans-3-variable.woff2 +11 -0
  80. package/dist/fonts/ubuntu/ubuntu-variable.woff2 +0 -0
  81. package/dist/fonts-B3UYxuJI.js +25 -0
  82. package/dist/fonts-D5fTqvSS.cjs +1 -0
  83. package/dist/{get-chai-builder-tailwind-config-BFePCEIS.cjs → get-chai-builder-tailwind-config-7CxFxEYL.cjs} +1 -1
  84. package/dist/{get-chai-builder-tailwind-config-BXf_xLHk.js → get-chai-builder-tailwind-config-DC4sDOYK.js} +5 -5
  85. package/dist/{get-chai-builder-theme-BApShjRz.cjs → get-chai-builder-theme-B5RkBTsB.cjs} +1 -1
  86. package/dist/{get-chai-builder-theme-DDVRJQ6Z.js → get-chai-builder-theme-BpuwSLeS.js} +1 -1
  87. package/dist/{image-compression-DsZ1oqpb.js → image-compression-DPFITwOL.js} +2 -2
  88. package/dist/image-compression-UaU7Bwqe.cjs +1 -0
  89. package/dist/{image-editor-CqwaVxO2.cjs → image-editor-565A0NpE.cjs} +1 -1
  90. package/dist/{image-editor-CQnNtak2.js → image-editor-Dz_HQ0I8.js} +1 -1
  91. package/dist/index-3pEi7VzS.cjs +5 -0
  92. package/dist/index-C3CV1lXL.cjs +160 -0
  93. package/dist/index-CDVuf3C1.js +5118 -0
  94. package/dist/{index-rAcNbjk_.js → index-wBr2Ml98.js} +6152 -6102
  95. package/dist/{json-diff-viewer-CLuUHiPU.cjs → json-diff-viewer-CMYFM6D6.cjs} +7 -7
  96. package/dist/{json-diff-viewer-CMvGUvJ2.js → json-diff-viewer-DG7a5-2B.js} +87 -85
  97. package/dist/{lang-panel-CnwTb05j.js → lang-panel-BvGiJJ8s.js} +26 -26
  98. package/dist/lang-panel-D97iJH-l.cjs +1 -0
  99. package/dist/library-blocks/bento/agency-showcase/agency-showcase.html +175 -0
  100. package/dist/library-blocks/bento/agency-showcase/agency-showcase.webp +0 -0
  101. package/dist/library-blocks/bento/creative-portfolio/creative-portfolio.html +116 -0
  102. package/dist/library-blocks/bento/creative-portfolio/creative-portfolio.webp +0 -0
  103. package/dist/library-blocks/bento/product-features/product-features.html +159 -0
  104. package/dist/library-blocks/bento/product-features/product-features.webp +0 -0
  105. package/dist/library-blocks/bento/saas-dashboard/saas-dashboard.html +182 -0
  106. package/dist/library-blocks/bento/saas-dashboard/saas-dashboard.webp +0 -0
  107. package/dist/library-blocks/bento/startup-metrics/startup-metrics.html +170 -0
  108. package/dist/library-blocks/bento/startup-metrics/startup-metrics.webp +0 -0
  109. package/dist/library-blocks/blocks-list.json +149 -0
  110. package/dist/library-blocks/feature/agency-services/agency-services.html +194 -0
  111. package/dist/library-blocks/feature/agency-services/agency-services.webp +0 -0
  112. package/dist/library-blocks/feature/consulting-firm/consulting-firm.html +219 -0
  113. package/dist/library-blocks/feature/consulting-firm/consulting-firm.webp +0 -0
  114. package/dist/library-blocks/feature/design-studio/design-studio.html +190 -0
  115. package/dist/library-blocks/feature/design-studio/design-studio.webp +0 -0
  116. package/dist/library-blocks/feature/freelancer-toolkit/freelancer-toolkit.html +195 -0
  117. package/dist/library-blocks/feature/freelancer-toolkit/freelancer-toolkit.webp +0 -0
  118. package/dist/library-blocks/feature/marketing-agency/marketing-agency.html +212 -0
  119. package/dist/library-blocks/feature/marketing-agency/marketing-agency.webp +0 -0
  120. package/dist/library-blocks/footer/creative-agency/creative-agency.html +64 -0
  121. package/dist/library-blocks/footer/creative-agency/creative-agency.webp +0 -0
  122. package/dist/library-blocks/footer/minimal-portfolio/minimal-portfolio.html +106 -0
  123. package/dist/library-blocks/footer/minimal-portfolio/minimal-portfolio.webp +0 -0
  124. package/dist/library-blocks/footer/saas-startup/saas-startup.html +117 -0
  125. package/dist/library-blocks/footer/saas-startup/saas-startup.webp +0 -0
  126. package/dist/library-blocks/hero/creative-agency/creative-agency.html +117 -0
  127. package/dist/library-blocks/hero/creative-agency/creative-agency.webp +0 -0
  128. package/dist/library-blocks/hero/developer-focused/developer-focused.html +124 -0
  129. package/dist/library-blocks/hero/developer-focused/developer-focused.webp +0 -0
  130. package/dist/library-blocks/hero/minimal-saas/minimal-saas.html +98 -0
  131. package/dist/library-blocks/hero/minimal-saas/minimal-saas.webp +0 -0
  132. package/dist/library-blocks/hero/portfolio-showcase/portfolio-showcase.html +148 -0
  133. package/dist/library-blocks/hero/portfolio-showcase/portfolio-showcase.webp +0 -0
  134. package/dist/library-blocks/hero/startup-landing/startup-landing.html +130 -0
  135. package/dist/library-blocks/hero/startup-landing/startup-landing.webp +0 -0
  136. package/dist/library-blocks/navbar/creative-agency/creative-agency.html +139 -0
  137. package/dist/library-blocks/navbar/creative-agency/creative-agency.webp +0 -0
  138. package/dist/library-blocks/navbar/minimal-portfolio/minimal-portfolio.html +164 -0
  139. package/dist/library-blocks/navbar/minimal-portfolio/minimal-portfolio.webp +0 -0
  140. package/dist/library-blocks/navbar/saas-startup/saas-startup.html +129 -0
  141. package/dist/library-blocks/navbar/saas-startup/saas-startup.webp +0 -0
  142. package/dist/manage-design-tokens-4Gu6TMKZ.js +446 -0
  143. package/dist/manage-design-tokens-Do9Kptp3.cjs +1 -0
  144. package/dist/manage-design-tokens-modal-Btbdgoun.cjs +1 -0
  145. package/dist/manage-design-tokens-modal-CkyFE8NW.js +161 -0
  146. package/dist/{mark-as-template-DBLshWb5.js → mark-as-template-Djhnj93U.js} +11 -11
  147. package/dist/{mark-as-template-CpWEBJGd.cjs → mark-as-template-QPJ0DqxL.cjs} +1 -1
  148. package/dist/{nested-path-selector-content-C2sD9dkq.cjs → nested-path-selector-content-BcmSxXxL.cjs} +1 -1
  149. package/dist/{nested-path-selector-content-6OBJ8LG8.js → nested-path-selector-content-DkPIHcVj.js} +2 -2
  150. package/dist/{no-language-page-content-CzENgtnu.js → no-language-page-content-DTq-5StU.js} +9 -9
  151. package/dist/{no-language-page-content-BvPDdccK.cjs → no-language-page-content-ZQz4Kr0-.cjs} +1 -1
  152. package/dist/{no-language-page-dialog-CbYI2cVg.js → no-language-page-dialog-2rA-YBbC.js} +2 -2
  153. package/dist/{no-language-page-dialog-CgW4yJBC.cjs → no-language-page-dialog-BsLkwJID.cjs} +1 -1
  154. package/dist/{page-creator-Cc83uQqw.js → page-creator-Dzpc0_dN.js} +143 -143
  155. package/dist/page-creator-lcDUpPjh.cjs +1 -0
  156. package/dist/{page-lock-CT7SmQqp.cjs → page-lock-B2GU-1YM.cjs} +1 -1
  157. package/dist/{page-lock-BJUkyxdh.js → page-lock-ulFtdOkt.js} +2 -2
  158. package/dist/{page-locked-dialog-DsEbWRed.js → page-locked-dialog-B9VpkvhN.js} +22 -22
  159. package/dist/page-locked-dialog-CJ53Z6sQ.cjs +1 -0
  160. package/dist/page-manager-new-CkoS0B1i.cjs +1 -0
  161. package/dist/page-manager-new-OoC8W7Yn.js +408 -0
  162. package/dist/{page-manager-search-and-filter-Bfm0j1gg.cjs → page-manager-search-and-filter-BosoN3wg.cjs} +1 -1
  163. package/dist/{page-manager-search-and-filter-zq-LfhQ1.js → page-manager-search-and-filter-JfSTGlvp.js} +30 -29
  164. package/dist/{page-revisions-content-D38G2tJM.js → page-revisions-content-DsFh5itr.js} +133 -122
  165. package/dist/page-revisions-content-Dtd-t1N3.cjs +1 -0
  166. package/dist/pages.cjs +1 -1
  167. package/dist/pages.d.ts +330 -96
  168. package/dist/pages.js +23 -19
  169. package/dist/plugin-BSjgGgwo.js +248 -0
  170. package/dist/plugin-DHpuZZXz.cjs +22 -0
  171. package/dist/publish-pages-content-C7oS7pkz.cjs +1 -0
  172. package/dist/{publish-pages-content-CS7f41Ac.js → publish-pages-content-DJc7iu8d.js} +39 -39
  173. package/dist/{register-chai-top-bar-ESJHs5s-.js → register-chai-top-bar-D6GjnauV.js} +87 -87
  174. package/dist/register-chai-top-bar-DyW9GPzV.cjs +1 -0
  175. package/dist/render.cjs +2 -2
  176. package/dist/render.d.ts +20 -18
  177. package/dist/render.js +133 -132
  178. package/dist/{rte-widget-modal-BKNx2wln.cjs → rte-widget-modal-BKQaoxh9.cjs} +1 -1
  179. package/dist/{rte-widget-modal-D6Zik0Ta.js → rte-widget-modal-BdBYmqgs.js} +10 -10
  180. package/dist/runtime-client.cjs +1 -0
  181. package/dist/runtime-client.d.ts +158 -0
  182. package/dist/runtime-client.js +32 -0
  183. package/dist/runtime.cjs +11 -1
  184. package/dist/runtime.d.ts +153 -270
  185. package/dist/runtime.js +107 -71
  186. package/dist/{save-to-lib-WwOzbgiF.js → save-to-lib-5nwSdZ9R.js} +153 -147
  187. package/dist/save-to-lib-D0WdH4lq.cjs +1 -0
  188. package/dist/sdk.css +1 -1
  189. package/dist/{selected-block-display-B1SG_UXw.js → selected-block-display-D8ROZHHv.js} +12 -12
  190. package/dist/{selected-block-display-BOgnQRLF.cjs → selected-block-display-DjYeUPdU.cjs} +1 -1
  191. package/dist/{seo-panel-BkOgRoWd.js → seo-panel-BbyRNAEo.js} +27 -27
  192. package/dist/seo-panel-DRjSxmk5.cjs +2 -0
  193. package/dist/shared-json-ld-BbNLdzCO.cjs +1 -0
  194. package/dist/{shared-json-ld-uka9TOgA.js → shared-json-ld-EPbpTI9V.js} +88 -88
  195. package/dist/{slug-input-Cyd6NR6J.cjs → slug-input-CIzxXknM.cjs} +1 -1
  196. package/dist/{slug-input-DHLmUNrH.js → slug-input-DSbJecNr.js} +8 -8
  197. package/dist/supabase-actions.cjs +1 -1
  198. package/dist/supabase-actions.d.ts +45 -0
  199. package/dist/supabase-actions.js +380 -275
  200. package/dist/{take-over-request-Ca0X-qyf.js → take-over-request-BOGDk0H4.js} +13 -13
  201. package/dist/take-over-request-BXntCMdj.cjs +1 -0
  202. package/dist/{translation-warning-modal-pSZVKcNW.cjs → translation-warning-modal-DhJaOyLo.cjs} +1 -1
  203. package/dist/{translation-warning-modal-DrpFeI83.js → translation-warning-modal-reVr0L9e.js} +9 -9
  204. package/dist/types.cjs +1 -0
  205. package/dist/types.d.ts +756 -0
  206. package/dist/types.js +1 -0
  207. package/dist/{unmark-as-template-BMqgelv-.js → unmark-as-template-BM85Y7WK.js} +11 -11
  208. package/dist/{unmark-as-template-DF1Ms4VN.cjs → unmark-as-template-DOPyeU7R.cjs} +1 -1
  209. package/dist/unpublish-page-DHfds-1-.js +28 -0
  210. package/dist/{unpublish-page-Bsq2yEqQ.cjs → unpublish-page-Dz028Bzp.cjs} +1 -1
  211. package/dist/unpublished-partials-modal-BO5ZZdTw.js +52 -0
  212. package/dist/unpublished-partials-modal-CMqQa9-m.cjs +1 -0
  213. package/dist/utils.cjs +1 -1
  214. package/dist/utils.d.ts +6 -6
  215. package/dist/utils.js +2 -2
  216. package/dist/web-blocks.cjs +1 -1
  217. package/dist/web-blocks.js +360 -351
  218. package/dist/{web-preview-kres0aG7.cjs → web-preview-5MzixBt5.cjs} +1 -1
  219. package/dist/{web-preview-D6h1L2nV.js → web-preview-BNjG8s8A.js} +2 -2
  220. package/package.json +34 -35
  221. package/dist/actions-registery-JdxhXhT6.cjs +0 -418
  222. package/dist/add-new-page-DJLJFLAd.js +0 -31
  223. package/dist/ai-panel-default-lang-BZl0tPYo.js +0 -341
  224. package/dist/ai-panel-default-lang-D2zhXvKP.cjs +0 -3
  225. package/dist/ai-panel-other-lang-Bfjk2CYZ.js +0 -162
  226. package/dist/ai-panel-other-lang-Y4bEKHoG.cjs +0 -1
  227. package/dist/apply-binding-BvWfJCSZ.js +0 -841
  228. package/dist/apply-binding-IsUf6UWJ.cjs +0 -1
  229. package/dist/code-editor-Bb7JumZy.js +0 -51
  230. package/dist/code-editor-DQB8lAOk.cjs +0 -1
  231. package/dist/core-Dr7QYemB.js +0 -56
  232. package/dist/core-Y0lXLwkq.cjs +0 -1
  233. package/dist/delete-design-token-BG8yHcS5.cjs +0 -1
  234. package/dist/delete-design-token-COvR4G1S.js +0 -40
  235. package/dist/delete-page-CNucxe4P.js +0 -71
  236. package/dist/delete-page-DAvEjHwF.cjs +0 -1
  237. package/dist/digital-asset-manager-CB5MRBcW.cjs +0 -1
  238. package/dist/fonts/GeistMonoVF.woff +0 -0
  239. package/dist/fonts/GeistVF.woff +0 -0
  240. package/dist/fonts-B-Xt29pe.cjs +0 -1
  241. package/dist/fonts-DRly3Wzd.js +0 -78
  242. package/dist/image-compression-DZ9WMmyn.cjs +0 -1
  243. package/dist/index-B-rSiAp_.cjs +0 -1
  244. package/dist/index-C0-pgg_p.cjs +0 -5
  245. package/dist/index-C99FhuF1.cjs +0 -160
  246. package/dist/index-Dno42B0a.js +0 -4734
  247. package/dist/index-Dxfyt4d4.js +0 -39
  248. package/dist/lang-panel-fDCYm5Jm.cjs +0 -1
  249. package/dist/manage-design-tokens-BsSZE9Vs.js +0 -241
  250. package/dist/manage-design-tokens-BvH5KTJX.cjs +0 -1
  251. package/dist/page-creator-g8GqgcKH.cjs +0 -1
  252. package/dist/page-locked-dialog-Co5b9XIZ.cjs +0 -1
  253. package/dist/page-manager-new-5rFP5DyQ.js +0 -395
  254. package/dist/page-manager-new-BOkJImo2.cjs +0 -1
  255. package/dist/page-revisions-content-ag-MHBGr.cjs +0 -1
  256. package/dist/plugin-BGlQf0iy.cjs +0 -22
  257. package/dist/plugin-C-ht41UZ.js +0 -245
  258. package/dist/publish-pages-content-BiX-GMLw.cjs +0 -1
  259. package/dist/register-chai-top-bar-BqwKw4uy.cjs +0 -1
  260. package/dist/save-to-lib-ffjCZYJ5.cjs +0 -1
  261. package/dist/seo-panel-FjS1UF_y.cjs +0 -2
  262. package/dist/shared-json-ld-yJkXjENy.cjs +0 -1
  263. package/dist/take-over-request-CmpJVe9T.cjs +0 -1
  264. package/dist/theme-panel-footer-BUXIu252.js +0 -26
  265. package/dist/theme-panel-footer-CKO9YYwZ.cjs +0 -1
  266. package/dist/unpublish-page-BJ0Bsvt2.js +0 -28
@@ -0,0 +1,481 @@
1
+ "use strict";var fu=Object.defineProperty;var gu=(e,t,r)=>t in e?fu(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var Ie=(e,t,r)=>gu(e,typeof t!="symbol"?t+"":t,r);const ut=require("./register-partial-type-ig9fUWIJ.cjs"),q=require("lodash-es"),hu=require("./_commonjsHelpers-DwGv2jUC.cjs"),mu=require("fs"),yu=require("path"),vu=require("os"),is=require("crypto"),wu=require("drizzle-orm/postgres-js"),_u=require("postgres"),g=require("drizzle-orm/pg-core"),h=require("drizzle-orm"),Tu=require("./models-5gOsRC56.cjs"),v=require("zod"),Eu=require("./core-czmLeR0h.cjs"),bu=require("node:crypto");var ls="vercel.ai.error",Iu=Symbol.for(ls),Ea,ba,H=class us extends(ba=Error,Ea=Iu,ba){constructor({name:t,message:r,cause:n}){super(r),this[Ea]=!0,this.name=t,this.cause=n}static isInstance(t){return us.hasMarker(t,ls)}static hasMarker(t,r){const n=Symbol.for(r);return t!=null&&typeof t=="object"&&n in t&&typeof t[n]=="boolean"&&t[n]===!0}},cs="AI_APICallError",ds=`vercel.ai.error.${cs}`,Su=Symbol.for(ds),Ia,Sa,$e=class extends(Sa=H,Ia=Su,Sa){constructor({message:e,url:t,requestBodyValues:r,statusCode:n,responseHeaders:a,responseBody:o,cause:s,isRetryable:i=n!=null&&(n===408||n===409||n===429||n>=500),data:l}){super({name:cs,message:e,cause:s}),this[Ia]=!0,this.url=t,this.requestBodyValues=r,this.statusCode=n,this.responseHeaders=a,this.responseBody=o,this.isRetryable=i,this.data=l}static isInstance(e){return H.hasMarker(e,ds)}},ps="AI_EmptyResponseBodyError",fs=`vercel.ai.error.${ps}`,Au=Symbol.for(fs),Aa,Na,Nu=class extends(Na=H,Aa=Au,Na){constructor({message:e="Empty response body"}={}){super({name:ps,message:e}),this[Aa]=!0}static isInstance(e){return H.hasMarker(e,fs)}};function Kt(e){return e==null?"unknown error":typeof e=="string"?e:e instanceof Error?e.message:JSON.stringify(e)}var gs="AI_InvalidArgumentError",hs=`vercel.ai.error.${gs}`,xu=Symbol.for(hs),xa,Oa,Ou=class extends(Oa=H,xa=xu,Oa){constructor({message:t,cause:r,argument:n}){super({name:gs,message:t,cause:r}),this[xa]=!0,this.argument=n}static isInstance(t){return H.hasMarker(t,hs)}},ms="AI_InvalidPromptError",ys=`vercel.ai.error.${ms}`,Ru=Symbol.for(ys),Ra,ka,Zt=class extends(ka=H,Ra=Ru,ka){constructor({prompt:e,message:t,cause:r}){super({name:ms,message:`Invalid prompt: ${t}`,cause:r}),this[Ra]=!0,this.prompt=e}static isInstance(e){return H.hasMarker(e,ys)}},vs="AI_JSONParseError",ws=`vercel.ai.error.${vs}`,ku=Symbol.for(ws),Pa,Ca,Gr=class extends(Ca=H,Pa=ku,Ca){constructor({text:e,cause:t}){super({name:vs,message:`JSON parsing failed: Text: ${e}.
2
+ Error message: ${Kt(t)}`,cause:t}),this[Pa]=!0,this.text=e}static isInstance(e){return H.hasMarker(e,ws)}},_s="AI_TypeValidationError",Ts=`vercel.ai.error.${_s}`,Pu=Symbol.for(Ts),Da,za,Rt=class Mn extends(za=H,Da=Pu,za){constructor({value:t,cause:r}){super({name:_s,message:`Type validation failed: Value: ${JSON.stringify(t)}.
3
+ Error message: ${Kt(r)}`,cause:r}),this[Da]=!0,this.value=t}static isInstance(t){return H.hasMarker(t,Ts)}static wrap({value:t,cause:r}){return Mn.isInstance(r)&&r.value===t?r:new Mn({value:t,cause:r})}};function E(e,t,r){function n(i,l){if(i._zod||Object.defineProperty(i,"_zod",{value:{def:l,constr:s,traits:new Set},enumerable:!1}),i._zod.traits.has(e))return;i._zod.traits.add(e),t(i,l);const u=s.prototype,c=Object.keys(u);for(let d=0;d<c.length;d++){const p=c[d];p in i||(i[p]=u[p].bind(i))}}const a=(r==null?void 0:r.Parent)??Object;class o extends a{}Object.defineProperty(o,"name",{value:e});function s(i){var l;const u=r!=null&&r.Parent?new o:this;n(u,i),(l=u._zod).deferred??(l.deferred=[]);for(const c of u._zod.deferred)c();return u}return Object.defineProperty(s,"init",{value:n}),Object.defineProperty(s,Symbol.hasInstance,{value:i=>{var l,u;return r!=null&&r.Parent&&i instanceof r.Parent?!0:(u=(l=i==null?void 0:i._zod)==null?void 0:l.traits)==null?void 0:u.has(e)}}),Object.defineProperty(s,"name",{value:e}),s}class Vt extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class Es extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}}const bs={};function wt(e){return bs}function Is(e){const t=Object.values(e).filter(n=>typeof n=="number");return Object.entries(e).filter(([n,a])=>t.indexOf(+n)===-1).map(([n,a])=>a)}function Fn(e,t){return typeof t=="bigint"?t.toString():t}function un(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function Wn(e){return e==null}function Kn(e){const t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function Cu(e,t){const r=(e.toString().split(".")[1]||"").length,n=t.toString();let a=(n.split(".")[1]||"").length;if(a===0&&/\d?e-\d?/.test(n)){const l=n.match(/\d?e-(\d?)/);l!=null&&l[1]&&(a=Number.parseInt(l[1]))}const o=r>a?r:a,s=Number.parseInt(e.toFixed(o).replace(".","")),i=Number.parseInt(t.toFixed(o).replace(".",""));return s%i/10**o}const $a=Symbol("evaluating");function Y(e,t,r){let n;Object.defineProperty(e,t,{get(){if(n!==$a)return n===void 0&&(n=$a,n=r()),n},set(a){Object.defineProperty(e,t,{value:a})},configurable:!0})}function Ct(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function bt(...e){const t={};for(const r of e){const n=Object.getOwnPropertyDescriptors(r);Object.assign(t,n)}return Object.defineProperties({},t)}function Ma(e){return JSON.stringify(e)}function Du(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const Ss="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function gr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const zu=un(()=>{var e;if(typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)!=null&&e.includes("Cloudflare")))return!1;try{const t=Function;return new t(""),!0}catch{return!1}});function Ht(e){if(gr(e)===!1)return!1;const t=e.constructor;if(t===void 0||typeof t!="function")return!0;const r=t.prototype;return!(gr(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function As(e){return Ht(e)?{...e}:Array.isArray(e)?[...e]:e}const $u=new Set(["string","number","symbol"]);function Jt(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function It(e,t,r){const n=new e._zod.constr(t??e._zod.def);return(!t||r!=null&&r.parent)&&(n._zod.parent=e),n}function k(e){const t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if((t==null?void 0:t.message)!==void 0){if((t==null?void 0:t.error)!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function Mu(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}const Fu={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function Lu(e,t){const r=e._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");const o=bt(e._zod.def,{get shape(){const s={};for(const i in t){if(!(i in r.shape))throw new Error(`Unrecognized key: "${i}"`);t[i]&&(s[i]=r.shape[i])}return Ct(this,"shape",s),s},checks:[]});return It(e,o)}function Uu(e,t){const r=e._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");const o=bt(e._zod.def,{get shape(){const s={...e._zod.def.shape};for(const i in t){if(!(i in r.shape))throw new Error(`Unrecognized key: "${i}"`);t[i]&&delete s[i]}return Ct(this,"shape",s),s},checks:[]});return It(e,o)}function ju(e,t){if(!Ht(t))throw new Error("Invalid input to extend: expected a plain object");const r=e._zod.def.checks;if(r&&r.length>0){const o=e._zod.def.shape;for(const s in t)if(Object.getOwnPropertyDescriptor(o,s)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}const a=bt(e._zod.def,{get shape(){const o={...e._zod.def.shape,...t};return Ct(this,"shape",o),o}});return It(e,a)}function qu(e,t){if(!Ht(t))throw new Error("Invalid input to safeExtend: expected a plain object");const r=bt(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t};return Ct(this,"shape",n),n}});return It(e,r)}function Zu(e,t){const r=bt(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t._zod.def.shape};return Ct(this,"shape",n),n},get catchall(){return t._zod.def.catchall},checks:[]});return It(e,r)}function Gu(e,t,r){const a=t._zod.def.checks;if(a&&a.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");const s=bt(t._zod.def,{get shape(){const i=t._zod.def.shape,l={...i};if(r)for(const u in r){if(!(u in i))throw new Error(`Unrecognized key: "${u}"`);r[u]&&(l[u]=e?new e({type:"optional",innerType:i[u]}):i[u])}else for(const u in i)l[u]=e?new e({type:"optional",innerType:i[u]}):i[u];return Ct(this,"shape",l),l},checks:[]});return It(t,s)}function Bu(e,t,r){const n=bt(t._zod.def,{get shape(){const a=t._zod.def.shape,o={...a};if(r)for(const s in r){if(!(s in o))throw new Error(`Unrecognized key: "${s}"`);r[s]&&(o[s]=new e({type:"nonoptional",innerType:a[s]}))}else for(const s in a)o[s]=new e({type:"nonoptional",innerType:a[s]});return Ct(this,"shape",o),o}});return It(t,n)}function Gt(e,t=0){var r;if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(((r=e.issues[n])==null?void 0:r.continue)!==!0)return!0;return!1}function Bt(e,t){return t.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function Fr(e){return typeof e=="string"?e:e==null?void 0:e.message}function _t(e,t,r){var a,o,s,i,l,u;const n={...e,path:e.path??[]};if(!e.message){const c=Fr((s=(o=(a=e.inst)==null?void 0:a._zod.def)==null?void 0:o.error)==null?void 0:s.call(o,e))??Fr((i=t==null?void 0:t.error)==null?void 0:i.call(t,e))??Fr((l=r.customError)==null?void 0:l.call(r,e))??Fr((u=r.localeError)==null?void 0:u.call(r,e))??"Invalid input";n.message=c}return delete n.inst,delete n.continue,t!=null&&t.reportInput||delete n.input,n}function Xn(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function hr(...e){const[t,r,n]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:n}:{...t}}const Ns=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,Fn,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},xs=E("$ZodError",Ns),Os=E("$ZodError",Ns,{Parent:Error});function Vu(e,t=r=>r.message){const r={},n=[];for(const a of e.issues)a.path.length>0?(r[a.path[0]]=r[a.path[0]]||[],r[a.path[0]].push(t(a))):n.push(t(a));return{formErrors:n,fieldErrors:r}}function Hu(e,t=r=>r.message){const r={_errors:[]},n=a=>{for(const o of a.issues)if(o.code==="invalid_union"&&o.errors.length)o.errors.map(s=>n({issues:s}));else if(o.code==="invalid_key")n({issues:o.issues});else if(o.code==="invalid_element")n({issues:o.issues});else if(o.path.length===0)r._errors.push(t(o));else{let s=r,i=0;for(;i<o.path.length;){const l=o.path[i];i===o.path.length-1?(s[l]=s[l]||{_errors:[]},s[l]._errors.push(t(o))):s[l]=s[l]||{_errors:[]},s=s[l],i++}}};return n(e),r}const Qn=e=>(t,r,n,a)=>{const o=n?Object.assign(n,{async:!1}):{async:!1},s=t._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new Vt;if(s.issues.length){const i=new((a==null?void 0:a.Err)??e)(s.issues.map(l=>_t(l,o,wt())));throw Ss(i,a==null?void 0:a.callee),i}return s.value},ea=e=>async(t,r,n,a)=>{const o=n?Object.assign(n,{async:!0}):{async:!0};let s=t._zod.run({value:r,issues:[]},o);if(s instanceof Promise&&(s=await s),s.issues.length){const i=new((a==null?void 0:a.Err)??e)(s.issues.map(l=>_t(l,o,wt())));throw Ss(i,a==null?void 0:a.callee),i}return s.value},cn=e=>(t,r,n)=>{const a=n?{...n,async:!1}:{async:!1},o=t._zod.run({value:r,issues:[]},a);if(o instanceof Promise)throw new Vt;return o.issues.length?{success:!1,error:new(e??xs)(o.issues.map(s=>_t(s,a,wt())))}:{success:!0,data:o.value}},Ju=cn(Os),dn=e=>async(t,r,n)=>{const a=n?Object.assign(n,{async:!0}):{async:!0};let o=t._zod.run({value:r,issues:[]},a);return o instanceof Promise&&(o=await o),o.issues.length?{success:!1,error:new e(o.issues.map(s=>_t(s,a,wt())))}:{success:!0,data:o.value}},Yu=dn(Os),Wu=e=>(t,r,n)=>{const a=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return Qn(e)(t,r,a)},Ku=e=>(t,r,n)=>Qn(e)(t,r,n),Xu=e=>async(t,r,n)=>{const a=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return ea(e)(t,r,a)},Qu=e=>async(t,r,n)=>ea(e)(t,r,n),ec=e=>(t,r,n)=>{const a=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return cn(e)(t,r,a)},tc=e=>(t,r,n)=>cn(e)(t,r,n),rc=e=>async(t,r,n)=>{const a=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return dn(e)(t,r,a)},nc=e=>async(t,r,n)=>dn(e)(t,r,n),ac=/^[cC][^\s-]{8,}$/,oc=/^[0-9a-z]+$/,sc=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,ic=/^[0-9a-vA-V]{20}$/,lc=/^[A-Za-z0-9]{27}$/,uc=/^[a-zA-Z0-9_-]{21}$/,cc=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,dc=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Fa=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,pc=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,fc="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function gc(){return new RegExp(fc,"u")}const hc=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,mc=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,yc=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,vc=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,wc=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Rs=/^[A-Za-z0-9_-]*$/,_c=/^\+[1-9]\d{6,14}$/,ks="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",Tc=new RegExp(`^${ks}$`);function Ps(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Ec(e){return new RegExp(`^${Ps(e)}$`)}function bc(e){const t=Ps({precision:e.precision}),r=["Z"];e.local&&r.push(""),e.offset&&r.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const n=`${t}(?:${r.join("|")})`;return new RegExp(`^${ks}T(?:${n})$`)}const Ic=e=>{const t=e?`[\\s\\S]{${(e==null?void 0:e.minimum)??0},${(e==null?void 0:e.maximum)??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},Sc=/^-?\d+$/,Cs=/^-?\d+(?:\.\d+)?$/,Ac=/^(?:true|false)$/i,Nc=/^null$/i,xc=/^[^A-Z]*$/,Oc=/^[^a-z]*$/,Me=E("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),Ds={number:"number",bigint:"bigint",object:"date"},zs=E("$ZodCheckLessThan",(e,t)=>{Me.init(e,t);const r=Ds[typeof t.value];e._zod.onattach.push(n=>{const a=n._zod.bag,o=(t.inclusive?a.maximum:a.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<o&&(t.inclusive?a.maximum=t.value:a.exclusiveMaximum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value<=t.value:n.value<t.value)||n.issues.push({origin:r,code:"too_big",maximum:typeof t.value=="object"?t.value.getTime():t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),$s=E("$ZodCheckGreaterThan",(e,t)=>{Me.init(e,t);const r=Ds[typeof t.value];e._zod.onattach.push(n=>{const a=n._zod.bag,o=(t.inclusive?a.minimum:a.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>o&&(t.inclusive?a.minimum=t.value:a.exclusiveMinimum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value>=t.value:n.value>t.value)||n.issues.push({origin:r,code:"too_small",minimum:typeof t.value=="object"?t.value.getTime():t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Rc=E("$ZodCheckMultipleOf",(e,t)=>{Me.init(e,t),e._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=r=>{if(typeof r.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%t.value===BigInt(0):Cu(r.value,t.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:t.value,input:r.value,inst:e,continue:!t.abort})}}),kc=E("$ZodCheckNumberFormat",(e,t)=>{var s;Me.init(e,t),t.format=t.format||"float64";const r=(s=t.format)==null?void 0:s.includes("int"),n=r?"int":"number",[a,o]=Fu[t.format];e._zod.onattach.push(i=>{const l=i._zod.bag;l.format=t.format,l.minimum=a,l.maximum=o,r&&(l.pattern=Sc)}),e._zod.check=i=>{const l=i.value;if(r){if(!Number.isInteger(l)){i.issues.push({expected:n,format:t.format,code:"invalid_type",continue:!1,input:l,inst:e});return}if(!Number.isSafeInteger(l)){l>0?i.issues.push({input:l,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,inclusive:!0,continue:!t.abort}):i.issues.push({input:l,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,inclusive:!0,continue:!t.abort});return}}l<a&&i.issues.push({origin:"number",input:l,code:"too_small",minimum:a,inclusive:!0,inst:e,continue:!t.abort}),l>o&&i.issues.push({origin:"number",input:l,code:"too_big",maximum:o,inclusive:!0,inst:e,continue:!t.abort})}}),Pc=E("$ZodCheckMaxLength",(e,t)=>{var r;Me.init(e,t),(r=e._zod.def).when??(r.when=n=>{const a=n.value;return!Wn(a)&&a.length!==void 0}),e._zod.onattach.push(n=>{const a=n._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<a&&(n._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{const a=n.value;if(a.length<=t.maximum)return;const s=Xn(a);n.issues.push({origin:s,code:"too_big",maximum:t.maximum,inclusive:!0,input:a,inst:e,continue:!t.abort})}}),Cc=E("$ZodCheckMinLength",(e,t)=>{var r;Me.init(e,t),(r=e._zod.def).when??(r.when=n=>{const a=n.value;return!Wn(a)&&a.length!==void 0}),e._zod.onattach.push(n=>{const a=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>a&&(n._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{const a=n.value;if(a.length>=t.minimum)return;const s=Xn(a);n.issues.push({origin:s,code:"too_small",minimum:t.minimum,inclusive:!0,input:a,inst:e,continue:!t.abort})}}),Dc=E("$ZodCheckLengthEquals",(e,t)=>{var r;Me.init(e,t),(r=e._zod.def).when??(r.when=n=>{const a=n.value;return!Wn(a)&&a.length!==void 0}),e._zod.onattach.push(n=>{const a=n._zod.bag;a.minimum=t.length,a.maximum=t.length,a.length=t.length}),e._zod.check=n=>{const a=n.value,o=a.length;if(o===t.length)return;const s=Xn(a),i=o>t.length;n.issues.push({origin:s,...i?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),pn=E("$ZodCheckStringFormat",(e,t)=>{var r,n;Me.init(e,t),e._zod.onattach.push(a=>{const o=a._zod.bag;o.format=t.format,t.pattern&&(o.patterns??(o.patterns=new Set),o.patterns.add(t.pattern))}),t.pattern?(r=e._zod).check??(r.check=a=>{t.pattern.lastIndex=0,!t.pattern.test(a.value)&&a.issues.push({origin:"string",code:"invalid_format",format:t.format,input:a.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(n=e._zod).check??(n.check=()=>{})}),zc=E("$ZodCheckRegex",(e,t)=>{pn.init(e,t),e._zod.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),$c=E("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=xc),pn.init(e,t)}),Mc=E("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Oc),pn.init(e,t)}),Fc=E("$ZodCheckIncludes",(e,t)=>{Me.init(e,t);const r=Jt(t.includes),n=new RegExp(typeof t.position=="number"?`^.{${t.position}}${r}`:r);t.pattern=n,e._zod.onattach.push(a=>{const o=a._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=a=>{a.value.includes(t.includes,t.position)||a.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:a.value,inst:e,continue:!t.abort})}}),Lc=E("$ZodCheckStartsWith",(e,t)=>{Me.init(e,t);const r=new RegExp(`^${Jt(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{const a=n._zod.bag;a.patterns??(a.patterns=new Set),a.patterns.add(r)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),Uc=E("$ZodCheckEndsWith",(e,t)=>{Me.init(e,t);const r=new RegExp(`.*${Jt(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{const a=n._zod.bag;a.patterns??(a.patterns=new Set),a.patterns.add(r)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),jc=E("$ZodCheckOverwrite",(e,t)=>{Me.init(e,t),e._zod.check=r=>{r.value=t.tx(r.value)}});class qc{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}const n=t.split(`
4
+ `).filter(s=>s),a=Math.min(...n.map(s=>s.length-s.trimStart().length)),o=n.map(s=>s.slice(a)).map(s=>" ".repeat(this.indent*2)+s);for(const s of o)this.content.push(s)}compile(){const t=Function,r=this==null?void 0:this.args,a=[...((this==null?void 0:this.content)??[""]).map(o=>` ${o}`)];return new t(...r,a.join(`
5
+ `))}}const Zc={major:4,minor:3,patch:5},ce=E("$ZodType",(e,t)=>{var a;var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Zc;const n=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&n.unshift(e);for(const o of n)for(const s of o._zod.onattach)s(e);if(n.length===0)(r=e._zod).deferred??(r.deferred=[]),(a=e._zod.deferred)==null||a.push(()=>{e._zod.run=e._zod.parse});else{const o=(i,l,u)=>{let c=Gt(i),d;for(const p of l){if(p._zod.def.when){if(!p._zod.def.when(i))continue}else if(c)continue;const w=i.issues.length,b=p._zod.check(i);if(b instanceof Promise&&(u==null?void 0:u.async)===!1)throw new Vt;if(d||b instanceof Promise)d=(d??Promise.resolve()).then(async()=>{await b,i.issues.length!==w&&(c||(c=Gt(i,w)))});else{if(i.issues.length===w)continue;c||(c=Gt(i,w))}}return d?d.then(()=>i):i},s=(i,l,u)=>{if(Gt(i))return i.aborted=!0,i;const c=o(l,n,u);if(c instanceof Promise){if(u.async===!1)throw new Vt;return c.then(d=>e._zod.parse(d,u))}return e._zod.parse(c,u)};e._zod.run=(i,l)=>{if(l.skipChecks)return e._zod.parse(i,l);if(l.direction==="backward"){const c=e._zod.parse({value:i.value,issues:[]},{...l,skipChecks:!0});return c instanceof Promise?c.then(d=>s(d,i,l)):s(c,i,l)}const u=e._zod.parse(i,l);if(u instanceof Promise){if(l.async===!1)throw new Vt;return u.then(c=>o(c,n,l))}return o(u,n,l)}}Y(e,"~standard",()=>({validate:o=>{var s;try{const i=Ju(e,o);return i.success?{value:i.data}:{issues:(s=i.error)==null?void 0:s.issues}}catch{return Yu(e,o).then(l=>{var u;return l.success?{value:l.data}:{issues:(u=l.error)==null?void 0:u.issues}})}},vendor:"zod",version:1}))}),ta=E("$ZodString",(e,t)=>{var r;ce.init(e,t),e._zod.pattern=[...((r=e==null?void 0:e._zod.bag)==null?void 0:r.patterns)??[]].pop()??Ic(e._zod.bag),e._zod.parse=(n,a)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value=="string"||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),me=E("$ZodStringFormat",(e,t)=>{pn.init(e,t),ta.init(e,t)}),Gc=E("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=dc),me.init(e,t)}),Bc=E("$ZodUUID",(e,t)=>{if(t.version){const n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(n===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=Fa(n))}else t.pattern??(t.pattern=Fa());me.init(e,t)}),Vc=E("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=pc),me.init(e,t)}),Hc=E("$ZodURL",(e,t)=>{me.init(e,t),e._zod.check=r=>{try{const n=r.value.trim(),a=new URL(n);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(a.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:r.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(a.protocol.endsWith(":")?a.protocol.slice(0,-1):a.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:r.value,inst:e,continue:!t.abort})),t.normalize?r.value=a.href:r.value=n;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort})}}}),Jc=E("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=gc()),me.init(e,t)}),Yc=E("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=uc),me.init(e,t)}),Wc=E("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=ac),me.init(e,t)}),Kc=E("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=oc),me.init(e,t)}),Xc=E("$ZodULID",(e,t)=>{t.pattern??(t.pattern=sc),me.init(e,t)}),Qc=E("$ZodXID",(e,t)=>{t.pattern??(t.pattern=ic),me.init(e,t)}),ed=E("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=lc),me.init(e,t)}),td=E("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=bc(t)),me.init(e,t)}),rd=E("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=Tc),me.init(e,t)}),nd=E("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=Ec(t)),me.init(e,t)}),ad=E("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=cc),me.init(e,t)}),od=E("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=hc),me.init(e,t),e._zod.bag.format="ipv4"}),sd=E("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=mc),me.init(e,t),e._zod.bag.format="ipv6",e._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:e,continue:!t.abort})}}}),id=E("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=yc),me.init(e,t)}),ld=E("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=vc),me.init(e,t),e._zod.check=r=>{const n=r.value.split("/");try{if(n.length!==2)throw new Error;const[a,o]=n;if(!o)throw new Error;const s=Number(o);if(`${s}`!==o)throw new Error;if(s<0||s>128)throw new Error;new URL(`http://[${a}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:e,continue:!t.abort})}}});function Ms(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const ud=E("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=wc),me.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=r=>{Ms(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}});function cd(e){if(!Rs.test(e))return!1;const t=e.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=t.padEnd(Math.ceil(t.length/4)*4,"=");return Ms(r)}const dd=E("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Rs),me.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=r=>{cd(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),pd=E("$ZodE164",(e,t)=>{t.pattern??(t.pattern=_c),me.init(e,t)});function fd(e,t=null){try{const r=e.split(".");if(r.length!==3)return!1;const[n]=r;if(!n)return!1;const a=JSON.parse(atob(n));return!("typ"in a&&(a==null?void 0:a.typ)!=="JWT"||!a.alg||t&&(!("alg"in a)||a.alg!==t))}catch{return!1}}const gd=E("$ZodJWT",(e,t)=>{me.init(e,t),e._zod.check=r=>{fd(r.value,t.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}}),Fs=E("$ZodNumber",(e,t)=>{ce.init(e,t),e._zod.pattern=e._zod.bag.pattern??Cs,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=Number(r.value)}catch{}const a=r.value;if(typeof a=="number"&&!Number.isNaN(a)&&Number.isFinite(a))return r;const o=typeof a=="number"?Number.isNaN(a)?"NaN":Number.isFinite(a)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:a,inst:e,...o?{received:o}:{}}),r}}),hd=E("$ZodNumberFormat",(e,t)=>{kc.init(e,t),Fs.init(e,t)}),md=E("$ZodBoolean",(e,t)=>{ce.init(e,t),e._zod.pattern=Ac,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=!!r.value}catch{}const a=r.value;return typeof a=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:a,inst:e}),r}}),yd=E("$ZodNull",(e,t)=>{ce.init(e,t),e._zod.pattern=Nc,e._zod.values=new Set([null]),e._zod.parse=(r,n)=>{const a=r.value;return a===null||r.issues.push({expected:"null",code:"invalid_type",input:a,inst:e}),r}}),vd=E("$ZodAny",(e,t)=>{ce.init(e,t),e._zod.parse=r=>r}),wd=E("$ZodUnknown",(e,t)=>{ce.init(e,t),e._zod.parse=r=>r}),_d=E("$ZodNever",(e,t)=>{ce.init(e,t),e._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:e}),r)});function La(e,t,r){e.issues.length&&t.issues.push(...Bt(r,e.issues)),t.value[r]=e.value}const Td=E("$ZodArray",(e,t)=>{ce.init(e,t),e._zod.parse=(r,n)=>{const a=r.value;if(!Array.isArray(a))return r.issues.push({expected:"array",code:"invalid_type",input:a,inst:e}),r;r.value=Array(a.length);const o=[];for(let s=0;s<a.length;s++){const i=a[s],l=t.element._zod.run({value:i,issues:[]},n);l instanceof Promise?o.push(l.then(u=>La(u,r,s))):La(l,r,s)}return o.length?Promise.all(o).then(()=>r):r}});function Br(e,t,r,n,a){if(e.issues.length){if(a&&!(r in n))return;t.issues.push(...Bt(r,e.issues))}e.value===void 0?r in n&&(t.value[r]=void 0):t.value[r]=e.value}function Ls(e){var n,a,o,s;const t=Object.keys(e.shape);for(const i of t)if(!((s=(o=(a=(n=e.shape)==null?void 0:n[i])==null?void 0:a._zod)==null?void 0:o.traits)!=null&&s.has("$ZodType")))throw new Error(`Invalid element at key "${i}": expected a Zod schema`);const r=Mu(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(r)}}function Us(e,t,r,n,a,o){const s=[],i=a.keySet,l=a.catchall._zod,u=l.def.type,c=l.optout==="optional";for(const d in t){if(i.has(d))continue;if(u==="never"){s.push(d);continue}const p=l.run({value:t[d],issues:[]},n);p instanceof Promise?e.push(p.then(w=>Br(w,r,d,t,c))):Br(p,r,d,t,c)}return s.length&&r.issues.push({code:"unrecognized_keys",keys:s,input:t,inst:o}),e.length?Promise.all(e).then(()=>r):r}const Ed=E("$ZodObject",(e,t)=>{ce.init(e,t);const r=Object.getOwnPropertyDescriptor(t,"shape");if(!(r!=null&&r.get)){const i=t.shape;Object.defineProperty(t,"shape",{get:()=>{const l={...i};return Object.defineProperty(t,"shape",{value:l}),l}})}const n=un(()=>Ls(t));Y(e._zod,"propValues",()=>{const i=t.shape,l={};for(const u in i){const c=i[u]._zod;if(c.values){l[u]??(l[u]=new Set);for(const d of c.values)l[u].add(d)}}return l});const a=gr,o=t.catchall;let s;e._zod.parse=(i,l)=>{s??(s=n.value);const u=i.value;if(!a(u))return i.issues.push({expected:"object",code:"invalid_type",input:u,inst:e}),i;i.value={};const c=[],d=s.shape;for(const p of s.keys){const w=d[p],b=w._zod.optout==="optional",_=w._zod.run({value:u[p],issues:[]},l);_ instanceof Promise?c.push(_.then(I=>Br(I,i,p,u,b))):Br(_,i,p,u,b)}return o?Us(c,u,i,l,n.value,e):c.length?Promise.all(c).then(()=>i):i}}),bd=E("$ZodObjectJIT",(e,t)=>{Ed.init(e,t);const r=e._zod.parse,n=un(()=>Ls(t)),a=p=>{var m;const w=new qc(["shape","payload","ctx"]),b=n.value,_=z=>{const O=Ma(z);return`shape[${O}]._zod.run({ value: input[${O}], issues: [] }, ctx)`};w.write("const input = payload.value;");const I=Object.create(null);let P=0;for(const z of b.keys)I[z]=`key_${P++}`;w.write("const newResult = {};");for(const z of b.keys){const O=I[z],y=Ma(z),x=p[z],D=((m=x==null?void 0:x._zod)==null?void 0:m.optout)==="optional";w.write(`const ${O} = ${_(z)};`),D?w.write(`
6
+ if (${O}.issues.length) {
7
+ if (${y} in input) {
8
+ payload.issues = payload.issues.concat(${O}.issues.map(iss => ({
9
+ ...iss,
10
+ path: iss.path ? [${y}, ...iss.path] : [${y}]
11
+ })));
12
+ }
13
+ }
14
+
15
+ if (${O}.value === undefined) {
16
+ if (${y} in input) {
17
+ newResult[${y}] = undefined;
18
+ }
19
+ } else {
20
+ newResult[${y}] = ${O}.value;
21
+ }
22
+
23
+ `):w.write(`
24
+ if (${O}.issues.length) {
25
+ payload.issues = payload.issues.concat(${O}.issues.map(iss => ({
26
+ ...iss,
27
+ path: iss.path ? [${y}, ...iss.path] : [${y}]
28
+ })));
29
+ }
30
+
31
+ if (${O}.value === undefined) {
32
+ if (${y} in input) {
33
+ newResult[${y}] = undefined;
34
+ }
35
+ } else {
36
+ newResult[${y}] = ${O}.value;
37
+ }
38
+
39
+ `)}w.write("payload.value = newResult;"),w.write("return payload;");const C=w.compile();return(z,O)=>C(p,z,O)};let o;const s=gr,i=!bs.jitless,u=i&&zu.value,c=t.catchall;let d;e._zod.parse=(p,w)=>{d??(d=n.value);const b=p.value;return s(b)?i&&u&&(w==null?void 0:w.async)===!1&&w.jitless!==!0?(o||(o=a(t.shape)),p=o(p,w),c?Us([],b,p,w,d,e):p):r(p,w):(p.issues.push({expected:"object",code:"invalid_type",input:b,inst:e}),p)}});function Ua(e,t,r,n){for(const o of e)if(o.issues.length===0)return t.value=o.value,t;const a=e.filter(o=>!Gt(o));return a.length===1?(t.value=a[0].value,a[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:r,errors:e.map(o=>o.issues.map(s=>_t(s,n,wt())))}),t)}const js=E("$ZodUnion",(e,t)=>{ce.init(e,t),Y(e._zod,"optin",()=>t.options.some(a=>a._zod.optin==="optional")?"optional":void 0),Y(e._zod,"optout",()=>t.options.some(a=>a._zod.optout==="optional")?"optional":void 0),Y(e._zod,"values",()=>{if(t.options.every(a=>a._zod.values))return new Set(t.options.flatMap(a=>Array.from(a._zod.values)))}),Y(e._zod,"pattern",()=>{if(t.options.every(a=>a._zod.pattern)){const a=t.options.map(o=>o._zod.pattern);return new RegExp(`^(${a.map(o=>Kn(o.source)).join("|")})$`)}});const r=t.options.length===1,n=t.options[0]._zod.run;e._zod.parse=(a,o)=>{if(r)return n(a,o);let s=!1;const i=[];for(const l of t.options){const u=l._zod.run({value:a.value,issues:[]},o);if(u instanceof Promise)i.push(u),s=!0;else{if(u.issues.length===0)return u;i.push(u)}}return s?Promise.all(i).then(l=>Ua(l,a,e,o)):Ua(i,a,e,o)}}),Id=E("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,js.init(e,t);const r=e._zod.parse;Y(e._zod,"propValues",()=>{const a={};for(const o of t.options){const s=o._zod.propValues;if(!s||Object.keys(s).length===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(o)}"`);for(const[i,l]of Object.entries(s)){a[i]||(a[i]=new Set);for(const u of l)a[i].add(u)}}return a});const n=un(()=>{var s;const a=t.options,o=new Map;for(const i of a){const l=(s=i._zod.propValues)==null?void 0:s[t.discriminator];if(!l||l.size===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(i)}"`);for(const u of l){if(o.has(u))throw new Error(`Duplicate discriminator value "${String(u)}"`);o.set(u,i)}}return o});e._zod.parse=(a,o)=>{const s=a.value;if(!gr(s))return a.issues.push({code:"invalid_type",expected:"object",input:s,inst:e}),a;const i=n.value.get(s==null?void 0:s[t.discriminator]);return i?i._zod.run(a,o):t.unionFallback?r(a,o):(a.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,input:s,path:[t.discriminator],inst:e}),a)}}),Sd=E("$ZodIntersection",(e,t)=>{ce.init(e,t),e._zod.parse=(r,n)=>{const a=r.value,o=t.left._zod.run({value:a,issues:[]},n),s=t.right._zod.run({value:a,issues:[]},n);return o instanceof Promise||s instanceof Promise?Promise.all([o,s]).then(([l,u])=>ja(r,l,u)):ja(r,o,s)}});function Ln(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(Ht(e)&&Ht(t)){const r=Object.keys(t),n=Object.keys(e).filter(o=>r.indexOf(o)!==-1),a={...e,...t};for(const o of n){const s=Ln(e[o],t[o]);if(!s.valid)return{valid:!1,mergeErrorPath:[o,...s.mergeErrorPath]};a[o]=s.data}return{valid:!0,data:a}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const r=[];for(let n=0;n<e.length;n++){const a=e[n],o=t[n],s=Ln(a,o);if(!s.valid)return{valid:!1,mergeErrorPath:[n,...s.mergeErrorPath]};r.push(s.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function ja(e,t,r){const n=new Map;let a;for(const i of t.issues)if(i.code==="unrecognized_keys"){a??(a=i);for(const l of i.keys)n.has(l)||n.set(l,{}),n.get(l).l=!0}else e.issues.push(i);for(const i of r.issues)if(i.code==="unrecognized_keys")for(const l of i.keys)n.has(l)||n.set(l,{}),n.get(l).r=!0;else e.issues.push(i);const o=[...n].filter(([,i])=>i.l&&i.r).map(([i])=>i);if(o.length&&a&&e.issues.push({...a,keys:o}),Gt(e))return e;const s=Ln(t.value,r.value);if(!s.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(s.mergeErrorPath)}`);return e.value=s.data,e}const Ad=E("$ZodRecord",(e,t)=>{ce.init(e,t),e._zod.parse=(r,n)=>{const a=r.value;if(!Ht(a))return r.issues.push({expected:"record",code:"invalid_type",input:a,inst:e}),r;const o=[],s=t.keyType._zod.values;if(s){r.value={};const i=new Set;for(const u of s)if(typeof u=="string"||typeof u=="number"||typeof u=="symbol"){i.add(typeof u=="number"?u.toString():u);const c=t.valueType._zod.run({value:a[u],issues:[]},n);c instanceof Promise?o.push(c.then(d=>{d.issues.length&&r.issues.push(...Bt(u,d.issues)),r.value[u]=d.value})):(c.issues.length&&r.issues.push(...Bt(u,c.issues)),r.value[u]=c.value)}let l;for(const u in a)i.has(u)||(l=l??[],l.push(u));l&&l.length>0&&r.issues.push({code:"unrecognized_keys",input:a,inst:e,keys:l})}else{r.value={};for(const i of Reflect.ownKeys(a)){if(i==="__proto__")continue;let l=t.keyType._zod.run({value:i,issues:[]},n);if(l instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof i=="string"&&Cs.test(i)&&l.issues.length&&l.issues.some(d=>d.code==="invalid_type"&&d.expected==="number")){const d=t.keyType._zod.run({value:Number(i),issues:[]},n);if(d instanceof Promise)throw new Error("Async schemas not supported in object keys currently");d.issues.length===0&&(l=d)}if(l.issues.length){t.mode==="loose"?r.value[i]=a[i]:r.issues.push({code:"invalid_key",origin:"record",issues:l.issues.map(d=>_t(d,n,wt())),input:i,path:[i],inst:e});continue}const c=t.valueType._zod.run({value:a[i],issues:[]},n);c instanceof Promise?o.push(c.then(d=>{d.issues.length&&r.issues.push(...Bt(i,d.issues)),r.value[l.value]=d.value})):(c.issues.length&&r.issues.push(...Bt(i,c.issues)),r.value[l.value]=c.value)}}return o.length?Promise.all(o).then(()=>r):r}}),Nd=E("$ZodEnum",(e,t)=>{ce.init(e,t);const r=Is(t.entries),n=new Set(r);e._zod.values=n,e._zod.pattern=new RegExp(`^(${r.filter(a=>$u.has(typeof a)).map(a=>typeof a=="string"?Jt(a):a.toString()).join("|")})$`),e._zod.parse=(a,o)=>{const s=a.value;return n.has(s)||a.issues.push({code:"invalid_value",values:r,input:s,inst:e}),a}}),xd=E("$ZodLiteral",(e,t)=>{if(ce.init(e,t),t.values.length===0)throw new Error("Cannot create literal schema with no valid values");const r=new Set(t.values);e._zod.values=r,e._zod.pattern=new RegExp(`^(${t.values.map(n=>typeof n=="string"?Jt(n):n?Jt(n.toString()):String(n)).join("|")})$`),e._zod.parse=(n,a)=>{const o=n.value;return r.has(o)||n.issues.push({code:"invalid_value",values:t.values,input:o,inst:e}),n}}),Od=E("$ZodTransform",(e,t)=>{ce.init(e,t),e._zod.parse=(r,n)=>{if(n.direction==="backward")throw new Es(e.constructor.name);const a=t.transform(r.value,r);if(n.async)return(a instanceof Promise?a:Promise.resolve(a)).then(s=>(r.value=s,r));if(a instanceof Promise)throw new Vt;return r.value=a,r}});function qa(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}const qs=E("$ZodOptional",(e,t)=>{ce.init(e,t),e._zod.optin="optional",e._zod.optout="optional",Y(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),Y(e._zod,"pattern",()=>{const r=t.innerType._zod.pattern;return r?new RegExp(`^(${Kn(r.source)})?$`):void 0}),e._zod.parse=(r,n)=>{if(t.innerType._zod.optin==="optional"){const a=t.innerType._zod.run(r,n);return a instanceof Promise?a.then(o=>qa(o,r.value)):qa(a,r.value)}return r.value===void 0?r:t.innerType._zod.run(r,n)}}),Rd=E("$ZodExactOptional",(e,t)=>{qs.init(e,t),Y(e._zod,"values",()=>t.innerType._zod.values),Y(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(r,n)=>t.innerType._zod.run(r,n)}),kd=E("$ZodNullable",(e,t)=>{ce.init(e,t),Y(e._zod,"optin",()=>t.innerType._zod.optin),Y(e._zod,"optout",()=>t.innerType._zod.optout),Y(e._zod,"pattern",()=>{const r=t.innerType._zod.pattern;return r?new RegExp(`^(${Kn(r.source)}|null)$`):void 0}),Y(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(r,n)=>r.value===null?r:t.innerType._zod.run(r,n)}),Pd=E("$ZodDefault",(e,t)=>{ce.init(e,t),e._zod.optin="optional",Y(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);if(r.value===void 0)return r.value=t.defaultValue,r;const a=t.innerType._zod.run(r,n);return a instanceof Promise?a.then(o=>Za(o,t)):Za(a,t)}});function Za(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const Cd=E("$ZodPrefault",(e,t)=>{ce.init(e,t),e._zod.optin="optional",Y(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>(n.direction==="backward"||r.value===void 0&&(r.value=t.defaultValue),t.innerType._zod.run(r,n))}),Dd=E("$ZodNonOptional",(e,t)=>{ce.init(e,t),Y(e._zod,"values",()=>{const r=t.innerType._zod.values;return r?new Set([...r].filter(n=>n!==void 0)):void 0}),e._zod.parse=(r,n)=>{const a=t.innerType._zod.run(r,n);return a instanceof Promise?a.then(o=>Ga(o,e)):Ga(a,e)}});function Ga(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}const zd=E("$ZodCatch",(e,t)=>{ce.init(e,t),Y(e._zod,"optin",()=>t.innerType._zod.optin),Y(e._zod,"optout",()=>t.innerType._zod.optout),Y(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);const a=t.innerType._zod.run(r,n);return a instanceof Promise?a.then(o=>(r.value=o.value,o.issues.length&&(r.value=t.catchValue({...r,error:{issues:o.issues.map(s=>_t(s,n,wt()))},input:r.value}),r.issues=[]),r)):(r.value=a.value,a.issues.length&&(r.value=t.catchValue({...r,error:{issues:a.issues.map(o=>_t(o,n,wt()))},input:r.value}),r.issues=[]),r)}}),$d=E("$ZodPipe",(e,t)=>{ce.init(e,t),Y(e._zod,"values",()=>t.in._zod.values),Y(e._zod,"optin",()=>t.in._zod.optin),Y(e._zod,"optout",()=>t.out._zod.optout),Y(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(r,n)=>{if(n.direction==="backward"){const o=t.out._zod.run(r,n);return o instanceof Promise?o.then(s=>Lr(s,t.in,n)):Lr(o,t.in,n)}const a=t.in._zod.run(r,n);return a instanceof Promise?a.then(o=>Lr(o,t.out,n)):Lr(a,t.out,n)}});function Lr(e,t,r){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},r)}const Md=E("$ZodReadonly",(e,t)=>{ce.init(e,t),Y(e._zod,"propValues",()=>t.innerType._zod.propValues),Y(e._zod,"values",()=>t.innerType._zod.values),Y(e._zod,"optin",()=>{var r,n;return(n=(r=t.innerType)==null?void 0:r._zod)==null?void 0:n.optin}),Y(e._zod,"optout",()=>{var r,n;return(n=(r=t.innerType)==null?void 0:r._zod)==null?void 0:n.optout}),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);const a=t.innerType._zod.run(r,n);return a instanceof Promise?a.then(Ba):Ba(a)}});function Ba(e){return e.value=Object.freeze(e.value),e}const Fd=E("$ZodLazy",(e,t)=>{ce.init(e,t),Y(e._zod,"innerType",()=>t.getter()),Y(e._zod,"pattern",()=>{var r,n;return(n=(r=e._zod.innerType)==null?void 0:r._zod)==null?void 0:n.pattern}),Y(e._zod,"propValues",()=>{var r,n;return(n=(r=e._zod.innerType)==null?void 0:r._zod)==null?void 0:n.propValues}),Y(e._zod,"optin",()=>{var r,n;return((n=(r=e._zod.innerType)==null?void 0:r._zod)==null?void 0:n.optin)??void 0}),Y(e._zod,"optout",()=>{var r,n;return((n=(r=e._zod.innerType)==null?void 0:r._zod)==null?void 0:n.optout)??void 0}),e._zod.parse=(r,n)=>e._zod.innerType._zod.run(r,n)}),Ld=E("$ZodCustom",(e,t)=>{Me.init(e,t),ce.init(e,t),e._zod.parse=(r,n)=>r,e._zod.check=r=>{const n=r.value,a=t.fn(n);if(a instanceof Promise)return a.then(o=>Va(o,r,n,e));Va(a,r,n,e)}});function Va(e,t,r,n){if(!e){const a={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(a.params=n._zod.def.params),t.issues.push(hr(a))}}var Ha;class Ud{constructor(){this._map=new WeakMap,this._idmap=new Map}add(t,...r){const n=r[0];return this._map.set(t,n),n&&typeof n=="object"&&"id"in n&&this._idmap.set(n.id,t),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(t){const r=this._map.get(t);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(t),this}get(t){const r=t._zod.parent;if(r){const n={...this.get(r)??{}};delete n.id;const a={...n,...this._map.get(t)};return Object.keys(a).length?a:void 0}return this._map.get(t)}has(t){return this._map.has(t)}}function jd(){return new Ud}(Ha=globalThis).__zod_globalRegistry??(Ha.__zod_globalRegistry=jd());const cr=globalThis.__zod_globalRegistry;function qd(e,t){return new e({type:"string",...k(t)})}function Zd(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...k(t)})}function Ja(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...k(t)})}function Gd(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...k(t)})}function Bd(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...k(t)})}function Vd(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...k(t)})}function Hd(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...k(t)})}function Jd(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...k(t)})}function Yd(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...k(t)})}function Wd(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...k(t)})}function Kd(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...k(t)})}function Xd(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...k(t)})}function Qd(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...k(t)})}function ep(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...k(t)})}function tp(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...k(t)})}function rp(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...k(t)})}function np(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...k(t)})}function ap(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...k(t)})}function op(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...k(t)})}function sp(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...k(t)})}function ip(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...k(t)})}function lp(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...k(t)})}function up(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...k(t)})}function cp(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...k(t)})}function dp(e,t){return new e({type:"string",format:"date",check:"string_format",...k(t)})}function pp(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...k(t)})}function fp(e,t){return new e({type:"string",format:"duration",check:"string_format",...k(t)})}function gp(e,t){return new e({type:"number",checks:[],...k(t)})}function hp(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...k(t)})}function mp(e,t){return new e({type:"boolean",...k(t)})}function yp(e,t){return new e({type:"null",...k(t)})}function vp(e){return new e({type:"any"})}function wp(e){return new e({type:"unknown"})}function _p(e,t){return new e({type:"never",...k(t)})}function Ya(e,t){return new zs({check:"less_than",...k(t),value:e,inclusive:!1})}function En(e,t){return new zs({check:"less_than",...k(t),value:e,inclusive:!0})}function Wa(e,t){return new $s({check:"greater_than",...k(t),value:e,inclusive:!1})}function bn(e,t){return new $s({check:"greater_than",...k(t),value:e,inclusive:!0})}function Ka(e,t){return new Rc({check:"multiple_of",...k(t),value:e})}function Zs(e,t){return new Pc({check:"max_length",...k(t),maximum:e})}function Vr(e,t){return new Cc({check:"min_length",...k(t),minimum:e})}function Gs(e,t){return new Dc({check:"length_equals",...k(t),length:e})}function Tp(e,t){return new zc({check:"string_format",format:"regex",...k(t),pattern:e})}function Ep(e){return new $c({check:"string_format",format:"lowercase",...k(e)})}function bp(e){return new Mc({check:"string_format",format:"uppercase",...k(e)})}function Ip(e,t){return new Fc({check:"string_format",format:"includes",...k(t),includes:e})}function Sp(e,t){return new Lc({check:"string_format",format:"starts_with",...k(t),prefix:e})}function Ap(e,t){return new Uc({check:"string_format",format:"ends_with",...k(t),suffix:e})}function Xt(e){return new jc({check:"overwrite",tx:e})}function Np(e){return Xt(t=>t.normalize(e))}function xp(){return Xt(e=>e.trim())}function Op(){return Xt(e=>e.toLowerCase())}function Rp(){return Xt(e=>e.toUpperCase())}function kp(){return Xt(e=>Du(e))}function Pp(e,t,r){return new e({type:"array",element:t,...k(r)})}function Cp(e,t,r){const n=k(r);return n.abort??(n.abort=!0),new e({type:"custom",check:"custom",fn:t,...n})}function Dp(e,t,r){return new e({type:"custom",check:"custom",fn:t,...k(r)})}function zp(e){const t=$p(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(hr(n,r.value,t._zod.def));else{const a=n;a.fatal&&(a.continue=!1),a.code??(a.code="custom"),a.input??(a.input=r.value),a.inst??(a.inst=t),a.continue??(a.continue=!t._zod.def.abort),r.issues.push(hr(a))}},e(r.value,r)));return t}function $p(e,t){const r=new Me({check:"custom",...k(t)});return r._zod.check=e,r}function Hr(e){let t=(e==null?void 0:e.target)??"draft-2020-12";return t==="draft-4"&&(t="draft-04"),t==="draft-7"&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:(e==null?void 0:e.metadata)??cr,target:t,unrepresentable:(e==null?void 0:e.unrepresentable)??"throw",override:(e==null?void 0:e.override)??(()=>{}),io:(e==null?void 0:e.io)??"output",counter:0,seen:new Map,cycles:(e==null?void 0:e.cycles)??"ref",reused:(e==null?void 0:e.reused)??"inline",external:(e==null?void 0:e.external)??void 0}}function ue(e,t,r={path:[],schemaPath:[]}){var c,d;var n;const a=e._zod.def,o=t.seen.get(e);if(o)return o.count++,r.schemaPath.includes(e)&&(o.cycle=r.path),o.schema;const s={schema:{},count:1,cycle:void 0,path:r.path};t.seen.set(e,s);const i=(d=(c=e._zod).toJSONSchema)==null?void 0:d.call(c);if(i)s.schema=i;else{const p={...r,schemaPath:[...r.schemaPath,e],path:r.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,s.schema,p);else{const b=s.schema,_=t.processors[a.type];if(!_)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${a.type}`);_(e,t,b,p)}const w=e._zod.parent;w&&(s.ref||(s.ref=w),ue(w,t,p),t.seen.get(w).isParent=!0)}const l=t.metadataRegistry.get(e);return l&&Object.assign(s.schema,l),t.io==="input"&&ze(e)&&(delete s.schema.examples,delete s.schema.default),t.io==="input"&&s.schema._prefault&&((n=s.schema).default??(n.default=s.schema._prefault)),delete s.schema._prefault,t.seen.get(e).schema}function Jr(e,t){var s,i,l,u;const r=e.seen.get(t);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");const n=new Map;for(const c of e.seen.entries()){const d=(s=e.metadataRegistry.get(c[0]))==null?void 0:s.id;if(d){const p=n.get(d);if(p&&p!==c[0])throw new Error(`Duplicate schema id "${d}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);n.set(d,c[0])}}const a=c=>{var _;const d=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){const I=(_=e.external.registry.get(c[0]))==null?void 0:_.id,P=e.external.uri??(m=>m);if(I)return{ref:P(I)};const C=c[1].defId??c[1].schema.id??`schema${e.counter++}`;return c[1].defId=C,{defId:C,ref:`${P("__shared")}#/${d}/${C}`}}if(c[1]===r)return{ref:"#"};const w=`#/${d}/`,b=c[1].schema.id??`__schema${e.counter++}`;return{defId:b,ref:w+b}},o=c=>{if(c[1].schema.$ref)return;const d=c[1],{ref:p,defId:w}=a(c);d.def={...d.schema},w&&(d.defId=w);const b=d.schema;for(const _ in b)delete b[_];b.$ref=p};if(e.cycles==="throw")for(const c of e.seen.entries()){const d=c[1];if(d.cycle)throw new Error(`Cycle detected: #/${(i=d.cycle)==null?void 0:i.join("/")}/<root>
40
+
41
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const c of e.seen.entries()){const d=c[1];if(t===c[0]){o(c);continue}if(e.external){const w=(l=e.external.registry.get(c[0]))==null?void 0:l.id;if(t!==c[0]&&w){o(c);continue}}if((u=e.metadataRegistry.get(c[0]))==null?void 0:u.id){o(c);continue}if(d.cycle){o(c);continue}if(d.count>1&&e.reused==="ref"){o(c);continue}}}function Yr(e,t){var s,i,l;const r=e.seen.get(t);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");const n=u=>{const c=e.seen.get(u);if(c.ref===null)return;const d=c.def??c.schema,p={...d},w=c.ref;if(c.ref=null,w){n(w);const _=e.seen.get(w),I=_.schema;if(I.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(d.allOf=d.allOf??[],d.allOf.push(I)):Object.assign(d,I),Object.assign(d,p),u._zod.parent===w)for(const C in d)C==="$ref"||C==="allOf"||C in p||delete d[C];if(I.$ref)for(const C in d)C==="$ref"||C==="allOf"||C in _.def&&JSON.stringify(d[C])===JSON.stringify(_.def[C])&&delete d[C]}const b=u._zod.parent;if(b&&b!==w){n(b);const _=e.seen.get(b);if(_!=null&&_.schema.$ref&&(d.$ref=_.schema.$ref,_.def))for(const I in d)I==="$ref"||I==="allOf"||I in _.def&&JSON.stringify(d[I])===JSON.stringify(_.def[I])&&delete d[I]}e.override({zodSchema:u,jsonSchema:d,path:c.path??[]})};for(const u of[...e.seen.entries()].reverse())n(u[0]);const a={};if(e.target==="draft-2020-12"?a.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?a.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?a.$schema="http://json-schema.org/draft-04/schema#":e.target,(s=e.external)!=null&&s.uri){const u=(i=e.external.registry.get(t))==null?void 0:i.id;if(!u)throw new Error("Schema is missing an `id` property");a.$id=e.external.uri(u)}Object.assign(a,r.def??r.schema);const o=((l=e.external)==null?void 0:l.defs)??{};for(const u of e.seen.entries()){const c=u[1];c.def&&c.defId&&(o[c.defId]=c.def)}e.external||Object.keys(o).length>0&&(e.target==="draft-2020-12"?a.$defs=o:a.definitions=o);try{const u=JSON.parse(JSON.stringify(a));return Object.defineProperty(u,"~standard",{value:{...t["~standard"],jsonSchema:{input:Wr(t,"input",e.processors),output:Wr(t,"output",e.processors)}},enumerable:!1,writable:!1}),u}catch{throw new Error("Error converting schema to JSON.")}}function ze(e,t){const r=t??{seen:new Set};if(r.seen.has(e))return!1;r.seen.add(e);const n=e._zod.def;if(n.type==="transform")return!0;if(n.type==="array")return ze(n.element,r);if(n.type==="set")return ze(n.valueType,r);if(n.type==="lazy")return ze(n.getter(),r);if(n.type==="promise"||n.type==="optional"||n.type==="nonoptional"||n.type==="nullable"||n.type==="readonly"||n.type==="default"||n.type==="prefault")return ze(n.innerType,r);if(n.type==="intersection")return ze(n.left,r)||ze(n.right,r);if(n.type==="record"||n.type==="map")return ze(n.keyType,r)||ze(n.valueType,r);if(n.type==="pipe")return ze(n.in,r)||ze(n.out,r);if(n.type==="object"){for(const a in n.shape)if(ze(n.shape[a],r))return!0;return!1}if(n.type==="union"){for(const a of n.options)if(ze(a,r))return!0;return!1}if(n.type==="tuple"){for(const a of n.items)if(ze(a,r))return!0;return!!(n.rest&&ze(n.rest,r))}return!1}const Mp=(e,t={})=>r=>{const n=Hr({...r,processors:t});return ue(e,n),Jr(n,e),Yr(n,e)},Wr=(e,t,r={})=>n=>{const{libraryOptions:a,target:o}=n??{},s=Hr({...a??{},target:o,io:t,processors:r});return ue(e,s),Jr(s,e),Yr(s,e)},Fp={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Bs=(e,t,r,n)=>{const a=r;a.type="string";const{minimum:o,maximum:s,format:i,patterns:l,contentEncoding:u}=e._zod.bag;if(typeof o=="number"&&(a.minLength=o),typeof s=="number"&&(a.maxLength=s),i&&(a.format=Fp[i]??i,a.format===""&&delete a.format,i==="time"&&delete a.format),u&&(a.contentEncoding=u),l&&l.size>0){const c=[...l];c.length===1?a.pattern=c[0].source:c.length>1&&(a.allOf=[...c.map(d=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:d.source}))])}},Vs=(e,t,r,n)=>{const a=r,{minimum:o,maximum:s,format:i,multipleOf:l,exclusiveMaximum:u,exclusiveMinimum:c}=e._zod.bag;typeof i=="string"&&i.includes("int")?a.type="integer":a.type="number",typeof c=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(a.minimum=c,a.exclusiveMinimum=!0):a.exclusiveMinimum=c),typeof o=="number"&&(a.minimum=o,typeof c=="number"&&t.target!=="draft-04"&&(c>=o?delete a.minimum:delete a.exclusiveMinimum)),typeof u=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(a.maximum=u,a.exclusiveMaximum=!0):a.exclusiveMaximum=u),typeof s=="number"&&(a.maximum=s,typeof u=="number"&&t.target!=="draft-04"&&(u<=s?delete a.maximum:delete a.exclusiveMaximum)),typeof l=="number"&&(a.multipleOf=l)},Hs=(e,t,r,n)=>{r.type="boolean"},Lp=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema")},Up=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema")},Js=(e,t,r,n)=>{t.target==="openapi-3.0"?(r.type="string",r.nullable=!0,r.enum=[null]):r.type="null"},jp=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},qp=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema")},Ys=(e,t,r,n)=>{r.not={}},Ws=(e,t,r,n)=>{},Ks=(e,t,r,n)=>{},Zp=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema")},Xs=(e,t,r,n)=>{const a=e._zod.def,o=Is(a.entries);o.every(s=>typeof s=="number")&&(r.type="number"),o.every(s=>typeof s=="string")&&(r.type="string"),r.enum=o},Qs=(e,t,r,n)=>{const a=e._zod.def,o=[];for(const s of a.values)if(s===void 0){if(t.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof s=="bigint"){if(t.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");o.push(Number(s))}else o.push(s);if(o.length!==0)if(o.length===1){const s=o[0];r.type=s===null?"null":typeof s,t.target==="draft-04"||t.target==="openapi-3.0"?r.enum=[s]:r.const=s}else o.every(s=>typeof s=="number")&&(r.type="number"),o.every(s=>typeof s=="string")&&(r.type="string"),o.every(s=>typeof s=="boolean")&&(r.type="boolean"),o.every(s=>s===null)&&(r.type="null"),r.enum=o},Gp=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema")},Bp=(e,t,r,n)=>{const a=r,o=e._zod.pattern;if(!o)throw new Error("Pattern not found in template literal");a.type="string",a.pattern=o.source},Vp=(e,t,r,n)=>{const a=r,o={type:"string",format:"binary",contentEncoding:"binary"},{minimum:s,maximum:i,mime:l}=e._zod.bag;s!==void 0&&(o.minLength=s),i!==void 0&&(o.maxLength=i),l?l.length===1?(o.contentMediaType=l[0],Object.assign(a,o)):(Object.assign(a,o),a.anyOf=l.map(u=>({contentMediaType:u}))):Object.assign(a,o)},Hp=(e,t,r,n)=>{r.type="boolean"},ei=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},Jp=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Function types cannot be represented in JSON Schema")},ti=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},Yp=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema")},Wp=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema")},ri=(e,t,r,n)=>{const a=r,o=e._zod.def,{minimum:s,maximum:i}=e._zod.bag;typeof s=="number"&&(a.minItems=s),typeof i=="number"&&(a.maxItems=i),a.type="array",a.items=ue(o.element,t,{...n,path:[...n.path,"items"]})},ni=(e,t,r,n)=>{var u;const a=r,o=e._zod.def;a.type="object",a.properties={};const s=o.shape;for(const c in s)a.properties[c]=ue(s[c],t,{...n,path:[...n.path,"properties",c]});const i=new Set(Object.keys(s)),l=new Set([...i].filter(c=>{const d=o.shape[c]._zod;return t.io==="input"?d.optin===void 0:d.optout===void 0}));l.size>0&&(a.required=Array.from(l)),((u=o.catchall)==null?void 0:u._zod.def.type)==="never"?a.additionalProperties=!1:o.catchall?o.catchall&&(a.additionalProperties=ue(o.catchall,t,{...n,path:[...n.path,"additionalProperties"]})):t.io==="output"&&(a.additionalProperties=!1)},ai=(e,t,r,n)=>{const a=e._zod.def,o=a.inclusive===!1,s=a.options.map((i,l)=>ue(i,t,{...n,path:[...n.path,o?"oneOf":"anyOf",l]}));o?r.oneOf=s:r.anyOf=s},oi=(e,t,r,n)=>{const a=e._zod.def,o=ue(a.left,t,{...n,path:[...n.path,"allOf",0]}),s=ue(a.right,t,{...n,path:[...n.path,"allOf",1]}),i=u=>"allOf"in u&&Object.keys(u).length===1,l=[...i(o)?o.allOf:[o],...i(s)?s.allOf:[s]];r.allOf=l},Kp=(e,t,r,n)=>{const a=r,o=e._zod.def;a.type="array";const s=t.target==="draft-2020-12"?"prefixItems":"items",i=t.target==="draft-2020-12"||t.target==="openapi-3.0"?"items":"additionalItems",l=o.items.map((p,w)=>ue(p,t,{...n,path:[...n.path,s,w]})),u=o.rest?ue(o.rest,t,{...n,path:[...n.path,i,...t.target==="openapi-3.0"?[o.items.length]:[]]}):null;t.target==="draft-2020-12"?(a.prefixItems=l,u&&(a.items=u)):t.target==="openapi-3.0"?(a.items={anyOf:l},u&&a.items.anyOf.push(u),a.minItems=l.length,u||(a.maxItems=l.length)):(a.items=l,u&&(a.additionalItems=u));const{minimum:c,maximum:d}=e._zod.bag;typeof c=="number"&&(a.minItems=c),typeof d=="number"&&(a.maxItems=d)},si=(e,t,r,n)=>{const a=r,o=e._zod.def;a.type="object";const s=o.keyType,i=s._zod.bag,l=i==null?void 0:i.patterns;if(o.mode==="loose"&&l&&l.size>0){const c=ue(o.valueType,t,{...n,path:[...n.path,"patternProperties","*"]});a.patternProperties={};for(const d of l)a.patternProperties[d.source]=c}else(t.target==="draft-07"||t.target==="draft-2020-12")&&(a.propertyNames=ue(o.keyType,t,{...n,path:[...n.path,"propertyNames"]})),a.additionalProperties=ue(o.valueType,t,{...n,path:[...n.path,"additionalProperties"]});const u=s._zod.values;if(u){const c=[...u].filter(d=>typeof d=="string"||typeof d=="number");c.length>0&&(a.required=c)}},ii=(e,t,r,n)=>{const a=e._zod.def,o=ue(a.innerType,t,n),s=t.seen.get(e);t.target==="openapi-3.0"?(s.ref=a.innerType,r.nullable=!0):r.anyOf=[o,{type:"null"}]},li=(e,t,r,n)=>{const a=e._zod.def;ue(a.innerType,t,n);const o=t.seen.get(e);o.ref=a.innerType},ui=(e,t,r,n)=>{const a=e._zod.def;ue(a.innerType,t,n);const o=t.seen.get(e);o.ref=a.innerType,r.default=JSON.parse(JSON.stringify(a.defaultValue))},ci=(e,t,r,n)=>{const a=e._zod.def;ue(a.innerType,t,n);const o=t.seen.get(e);o.ref=a.innerType,t.io==="input"&&(r._prefault=JSON.parse(JSON.stringify(a.defaultValue)))},di=(e,t,r,n)=>{const a=e._zod.def;ue(a.innerType,t,n);const o=t.seen.get(e);o.ref=a.innerType;let s;try{s=a.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}r.default=s},pi=(e,t,r,n)=>{const a=e._zod.def,o=t.io==="input"?a.in._zod.def.type==="transform"?a.out:a.in:a.out;ue(o,t,n);const s=t.seen.get(e);s.ref=o},fi=(e,t,r,n)=>{const a=e._zod.def;ue(a.innerType,t,n);const o=t.seen.get(e);o.ref=a.innerType,r.readOnly=!0},Xp=(e,t,r,n)=>{const a=e._zod.def;ue(a.innerType,t,n);const o=t.seen.get(e);o.ref=a.innerType},ra=(e,t,r,n)=>{const a=e._zod.def;ue(a.innerType,t,n);const o=t.seen.get(e);o.ref=a.innerType},gi=(e,t,r,n)=>{const a=e._zod.innerType;ue(a,t,n);const o=t.seen.get(e);o.ref=a},Xa={string:Bs,number:Vs,boolean:Hs,bigint:Lp,symbol:Up,null:Js,undefined:jp,void:qp,never:Ys,any:Ws,unknown:Ks,date:Zp,enum:Xs,literal:Qs,nan:Gp,template_literal:Bp,file:Vp,success:Hp,custom:ei,function:Jp,transform:ti,map:Yp,set:Wp,array:ri,object:ni,union:ai,intersection:oi,tuple:Kp,record:si,nullable:ii,nonoptional:li,default:ui,prefault:ci,catch:di,pipe:pi,readonly:fi,promise:Xp,optional:ra,lazy:gi};function Qp(e,t){if("_idmap"in e){const n=e,a=Hr({...t,processors:Xa}),o={};for(const l of n._idmap.entries()){const[u,c]=l;ue(c,a)}const s={},i={registry:n,uri:t==null?void 0:t.uri,defs:o};a.external=i;for(const l of n._idmap.entries()){const[u,c]=l;Jr(a,c),s[u]=Yr(a,c)}if(Object.keys(o).length>0){const l=a.target==="draft-2020-12"?"$defs":"definitions";s.__shared={[l]:o}}return{schemas:s}}const r=Hr({...t,processors:Xa});return ue(e,r),Jr(r,e),Yr(r,e)}const ef=E("ZodISODateTime",(e,t)=>{td.init(e,t),ve.init(e,t)});function tf(e){return cp(ef,e)}const rf=E("ZodISODate",(e,t)=>{rd.init(e,t),ve.init(e,t)});function nf(e){return dp(rf,e)}const af=E("ZodISOTime",(e,t)=>{nd.init(e,t),ve.init(e,t)});function of(e){return pp(af,e)}const sf=E("ZodISODuration",(e,t)=>{ad.init(e,t),ve.init(e,t)});function lf(e){return fp(sf,e)}const uf=(e,t)=>{xs.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:r=>Hu(e,r)},flatten:{value:r=>Vu(e,r)},addIssue:{value:r=>{e.issues.push(r),e.message=JSON.stringify(e.issues,Fn,2)}},addIssues:{value:r=>{e.issues.push(...r),e.message=JSON.stringify(e.issues,Fn,2)}},isEmpty:{get(){return e.issues.length===0}}})},Be=E("ZodError",uf,{Parent:Error}),cf=Qn(Be),df=ea(Be),pf=cn(Be),hi=dn(Be),ff=Wu(Be),gf=Ku(Be),hf=Xu(Be),mf=Qu(Be),yf=ec(Be),vf=tc(Be),wf=rc(Be),_f=nc(Be),de=E("ZodType",(e,t)=>(ce.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:Wr(e,"input"),output:Wr(e,"output")}}),e.toJSONSchema=Mp(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.check=(...r)=>e.clone(bt(t,{checks:[...t.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),{parent:!0}),e.with=e.check,e.clone=(r,n)=>It(e,r,n),e.brand=()=>e,e.register=((r,n)=>(r.add(e,n),e)),e.parse=(r,n)=>cf(e,r,n,{callee:e.parse}),e.safeParse=(r,n)=>pf(e,r,n),e.parseAsync=async(r,n)=>df(e,r,n,{callee:e.parseAsync}),e.safeParseAsync=async(r,n)=>hi(e,r,n),e.spa=e.safeParseAsync,e.encode=(r,n)=>ff(e,r,n),e.decode=(r,n)=>gf(e,r,n),e.encodeAsync=async(r,n)=>hf(e,r,n),e.decodeAsync=async(r,n)=>mf(e,r,n),e.safeEncode=(r,n)=>yf(e,r,n),e.safeDecode=(r,n)=>vf(e,r,n),e.safeEncodeAsync=async(r,n)=>wf(e,r,n),e.safeDecodeAsync=async(r,n)=>_f(e,r,n),e.refine=(r,n)=>e.check(wg(r,n)),e.superRefine=r=>e.check(_g(r)),e.overwrite=r=>e.check(Xt(r)),e.optional=()=>to(e),e.exactOptional=()=>ag(e),e.nullable=()=>ro(e),e.nullish=()=>to(ro(e)),e.nonoptional=r=>cg(e,r),e.array=()=>Ue(e),e.or=r=>Pe([e,r]),e.and=r=>Xf(e,r),e.transform=r=>no(e,rg(r)),e.default=r=>ig(e,r),e.prefault=r=>ug(e,r),e.catch=r=>pg(e,r),e.pipe=r=>no(e,r),e.readonly=()=>hg(e),e.describe=r=>{const n=e.clone();return cr.add(n,{description:r}),n},Object.defineProperty(e,"description",{get(){var r;return(r=cr.get(e))==null?void 0:r.description},configurable:!0}),e.meta=(...r)=>{if(r.length===0)return cr.get(e);const n=e.clone();return cr.add(n,r[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=r=>r(e),e)),mi=E("_ZodString",(e,t)=>{ta.init(e,t),de.init(e,t),e._zod.processJSONSchema=(n,a,o)=>Bs(e,n,a);const r=e._zod.bag;e.format=r.format??null,e.minLength=r.minimum??null,e.maxLength=r.maximum??null,e.regex=(...n)=>e.check(Tp(...n)),e.includes=(...n)=>e.check(Ip(...n)),e.startsWith=(...n)=>e.check(Sp(...n)),e.endsWith=(...n)=>e.check(Ap(...n)),e.min=(...n)=>e.check(Vr(...n)),e.max=(...n)=>e.check(Zs(...n)),e.length=(...n)=>e.check(Gs(...n)),e.nonempty=(...n)=>e.check(Vr(1,...n)),e.lowercase=n=>e.check(Ep(n)),e.uppercase=n=>e.check(bp(n)),e.trim=()=>e.check(xp()),e.normalize=(...n)=>e.check(Np(...n)),e.toLowerCase=()=>e.check(Op()),e.toUpperCase=()=>e.check(Rp()),e.slugify=()=>e.check(kp())}),Tf=E("ZodString",(e,t)=>{ta.init(e,t),mi.init(e,t),e.email=r=>e.check(Zd(Ef,r)),e.url=r=>e.check(Jd(bf,r)),e.jwt=r=>e.check(up(Ff,r)),e.emoji=r=>e.check(Yd(If,r)),e.guid=r=>e.check(Ja(Qa,r)),e.uuid=r=>e.check(Gd(Ur,r)),e.uuidv4=r=>e.check(Bd(Ur,r)),e.uuidv6=r=>e.check(Vd(Ur,r)),e.uuidv7=r=>e.check(Hd(Ur,r)),e.nanoid=r=>e.check(Wd(Sf,r)),e.guid=r=>e.check(Ja(Qa,r)),e.cuid=r=>e.check(Kd(Af,r)),e.cuid2=r=>e.check(Xd(Nf,r)),e.ulid=r=>e.check(Qd(xf,r)),e.base64=r=>e.check(sp(zf,r)),e.base64url=r=>e.check(ip($f,r)),e.xid=r=>e.check(ep(Of,r)),e.ksuid=r=>e.check(tp(Rf,r)),e.ipv4=r=>e.check(rp(kf,r)),e.ipv6=r=>e.check(np(Pf,r)),e.cidrv4=r=>e.check(ap(Cf,r)),e.cidrv6=r=>e.check(op(Df,r)),e.e164=r=>e.check(lp(Mf,r)),e.datetime=r=>e.check(tf(r)),e.date=r=>e.check(nf(r)),e.time=r=>e.check(of(r)),e.duration=r=>e.check(lf(r))});function R(e){return qd(Tf,e)}const ve=E("ZodStringFormat",(e,t)=>{me.init(e,t),mi.init(e,t)}),Ef=E("ZodEmail",(e,t)=>{Vc.init(e,t),ve.init(e,t)}),Qa=E("ZodGUID",(e,t)=>{Gc.init(e,t),ve.init(e,t)}),Ur=E("ZodUUID",(e,t)=>{Bc.init(e,t),ve.init(e,t)}),bf=E("ZodURL",(e,t)=>{Hc.init(e,t),ve.init(e,t)}),If=E("ZodEmoji",(e,t)=>{Jc.init(e,t),ve.init(e,t)}),Sf=E("ZodNanoID",(e,t)=>{Yc.init(e,t),ve.init(e,t)}),Af=E("ZodCUID",(e,t)=>{Wc.init(e,t),ve.init(e,t)}),Nf=E("ZodCUID2",(e,t)=>{Kc.init(e,t),ve.init(e,t)}),xf=E("ZodULID",(e,t)=>{Xc.init(e,t),ve.init(e,t)}),Of=E("ZodXID",(e,t)=>{Qc.init(e,t),ve.init(e,t)}),Rf=E("ZodKSUID",(e,t)=>{ed.init(e,t),ve.init(e,t)}),kf=E("ZodIPv4",(e,t)=>{od.init(e,t),ve.init(e,t)}),Pf=E("ZodIPv6",(e,t)=>{sd.init(e,t),ve.init(e,t)}),Cf=E("ZodCIDRv4",(e,t)=>{id.init(e,t),ve.init(e,t)}),Df=E("ZodCIDRv6",(e,t)=>{ld.init(e,t),ve.init(e,t)}),zf=E("ZodBase64",(e,t)=>{ud.init(e,t),ve.init(e,t)}),$f=E("ZodBase64URL",(e,t)=>{dd.init(e,t),ve.init(e,t)}),Mf=E("ZodE164",(e,t)=>{pd.init(e,t),ve.init(e,t)}),Ff=E("ZodJWT",(e,t)=>{gd.init(e,t),ve.init(e,t)}),yi=E("ZodNumber",(e,t)=>{Fs.init(e,t),de.init(e,t),e._zod.processJSONSchema=(n,a,o)=>Vs(e,n,a),e.gt=(n,a)=>e.check(Wa(n,a)),e.gte=(n,a)=>e.check(bn(n,a)),e.min=(n,a)=>e.check(bn(n,a)),e.lt=(n,a)=>e.check(Ya(n,a)),e.lte=(n,a)=>e.check(En(n,a)),e.max=(n,a)=>e.check(En(n,a)),e.int=n=>e.check(eo(n)),e.safe=n=>e.check(eo(n)),e.positive=n=>e.check(Wa(0,n)),e.nonnegative=n=>e.check(bn(0,n)),e.negative=n=>e.check(Ya(0,n)),e.nonpositive=n=>e.check(En(0,n)),e.multipleOf=(n,a)=>e.check(Ka(n,a)),e.step=(n,a)=>e.check(Ka(n,a)),e.finite=()=>e;const r=e._zod.bag;e.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),e.isFinite=!0,e.format=r.format??null});function Kr(e){return gp(yi,e)}const Lf=E("ZodNumberFormat",(e,t)=>{hd.init(e,t),yi.init(e,t)});function eo(e){return hp(Lf,e)}const Uf=E("ZodBoolean",(e,t)=>{md.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>Hs(e,r,n)});function na(e){return mp(Uf,e)}const jf=E("ZodNull",(e,t)=>{yd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>Js(e,r,n)});function qf(e){return yp(jf,e)}const Zf=E("ZodAny",(e,t)=>{vd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>Ws()});function yt(){return vp(Zf)}const Gf=E("ZodUnknown",(e,t)=>{wd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>Ks()});function kt(){return wp(Gf)}const Bf=E("ZodNever",(e,t)=>{_d.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>Ys(e,r,n)});function Vf(e){return _p(Bf,e)}const Hf=E("ZodArray",(e,t)=>{Td.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ri(e,r,n,a),e.element=t.element,e.min=(r,n)=>e.check(Vr(r,n)),e.nonempty=r=>e.check(Vr(1,r)),e.max=(r,n)=>e.check(Zs(r,n)),e.length=(r,n)=>e.check(Gs(r,n)),e.unwrap=()=>e.element});function Ue(e,t){return Pp(Hf,e,t)}const Jf=E("ZodObject",(e,t)=>{bd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ni(e,r,n,a),Y(e,"shape",()=>t.shape),e.keyof=()=>wi(Object.keys(e._zod.def.shape)),e.catchall=r=>e.clone({...e._zod.def,catchall:r}),e.passthrough=()=>e.clone({...e._zod.def,catchall:kt()}),e.loose=()=>e.clone({...e._zod.def,catchall:kt()}),e.strict=()=>e.clone({...e._zod.def,catchall:Vf()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=r=>ju(e,r),e.safeExtend=r=>qu(e,r),e.merge=r=>Zu(e,r),e.pick=r=>Lu(e,r),e.omit=r=>Uu(e,r),e.partial=(...r)=>Gu(_i,e,r[0]),e.required=(...r)=>Bu(Ti,e,r[0])});function G(e,t){const r={type:"object",shape:e??{},...k(t)};return new Jf(r)}const vi=E("ZodUnion",(e,t)=>{js.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ai(e,r,n,a),e.options=t.options});function Pe(e,t){return new vi({type:"union",options:e,...k(t)})}const Yf=E("ZodDiscriminatedUnion",(e,t)=>{vi.init(e,t),Id.init(e,t)});function Wf(e,t,r){return new Yf({type:"union",options:t,discriminator:e,...k(r)})}const Kf=E("ZodIntersection",(e,t)=>{Sd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>oi(e,r,n,a)});function Xf(e,t){return new Kf({type:"intersection",left:e,right:t})}const Qf=E("ZodRecord",(e,t)=>{Ad.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>si(e,r,n,a),e.keyType=t.keyType,e.valueType=t.valueType});function Tt(e,t,r){return new Qf({type:"record",keyType:e,valueType:t,...k(r)})}const Un=E("ZodEnum",(e,t)=>{Nd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(n,a,o)=>Xs(e,n,a),e.enum=t.entries,e.options=Object.values(t.entries);const r=new Set(Object.keys(t.entries));e.extract=(n,a)=>{const o={};for(const s of n)if(r.has(s))o[s]=t.entries[s];else throw new Error(`Key ${s} not found in enum`);return new Un({...t,checks:[],...k(a),entries:o})},e.exclude=(n,a)=>{const o={...t.entries};for(const s of n)if(r.has(s))delete o[s];else throw new Error(`Key ${s} not found in enum`);return new Un({...t,checks:[],...k(a),entries:o})}});function wi(e,t){const r=Array.isArray(e)?Object.fromEntries(e.map(n=>[n,n])):e;return new Un({type:"enum",entries:r,...k(t)})}const eg=E("ZodLiteral",(e,t)=>{xd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>Qs(e,r,n),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function ee(e,t){return new eg({type:"literal",values:Array.isArray(e)?e:[e],...k(t)})}const tg=E("ZodTransform",(e,t)=>{Od.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ti(e,r),e._zod.parse=(r,n)=>{if(n.direction==="backward")throw new Es(e.constructor.name);r.addIssue=o=>{if(typeof o=="string")r.issues.push(hr(o,r.value,t));else{const s=o;s.fatal&&(s.continue=!1),s.code??(s.code="custom"),s.input??(s.input=r.value),s.inst??(s.inst=e),r.issues.push(hr(s))}};const a=t.transform(r.value,r);return a instanceof Promise?a.then(o=>(r.value=o,r)):(r.value=a,r)}});function rg(e){return new tg({type:"transform",transform:e})}const _i=E("ZodOptional",(e,t)=>{qs.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ra(e,r,n,a),e.unwrap=()=>e._zod.def.innerType});function to(e){return new _i({type:"optional",innerType:e})}const ng=E("ZodExactOptional",(e,t)=>{Rd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ra(e,r,n,a),e.unwrap=()=>e._zod.def.innerType});function ag(e){return new ng({type:"optional",innerType:e})}const og=E("ZodNullable",(e,t)=>{kd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ii(e,r,n,a),e.unwrap=()=>e._zod.def.innerType});function ro(e){return new og({type:"nullable",innerType:e})}const sg=E("ZodDefault",(e,t)=>{Pd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ui(e,r,n,a),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function ig(e,t){return new sg({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():As(t)}})}const lg=E("ZodPrefault",(e,t)=>{Cd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ci(e,r,n,a),e.unwrap=()=>e._zod.def.innerType});function ug(e,t){return new lg({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():As(t)}})}const Ti=E("ZodNonOptional",(e,t)=>{Dd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>li(e,r,n,a),e.unwrap=()=>e._zod.def.innerType});function cg(e,t){return new Ti({type:"nonoptional",innerType:e,...k(t)})}const dg=E("ZodCatch",(e,t)=>{zd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>di(e,r,n,a),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function pg(e,t){return new dg({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}const fg=E("ZodPipe",(e,t)=>{$d.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>pi(e,r,n,a),e.in=t.in,e.out=t.out});function no(e,t){return new fg({type:"pipe",in:e,out:t})}const gg=E("ZodReadonly",(e,t)=>{Md.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>fi(e,r,n,a),e.unwrap=()=>e._zod.def.innerType});function hg(e){return new gg({type:"readonly",innerType:e})}const mg=E("ZodLazy",(e,t)=>{Fd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>gi(e,r,n,a),e.unwrap=()=>e._zod.def.getter()});function yg(e){return new mg({type:"lazy",getter:e})}const aa=E("ZodCustom",(e,t)=>{Ld.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ei(e,r)});function vg(e,t){return Cp(aa,e??(()=>!0),t)}function wg(e,t={}){return Dp(aa,e,t)}function _g(e){return zp(e)}function Xr(e,t={}){const r=new aa({type:"custom",check:"custom",fn:n=>n instanceof e,abort:!0,...k(t)});return r._zod.bag.Class=e,r._zod.check=n=>{n.value instanceof e||n.issues.push({code:"invalid_type",expected:e.name,input:n.value,inst:r,path:[...r._zod.def.path??[]]})},r}var mr;(function(e){e.assertEqual=a=>{};function t(a){}e.assertIs=t;function r(a){throw new Error}e.assertNever=r,e.arrayToEnum=a=>{const o={};for(const s of a)o[s]=s;return o},e.getValidEnumValues=a=>{const o=e.objectKeys(a).filter(i=>typeof a[a[i]]!="number"),s={};for(const i of o)s[i]=a[i];return e.objectValues(s)},e.objectValues=a=>e.objectKeys(a).map(function(o){return a[o]}),e.objectKeys=typeof Object.keys=="function"?a=>Object.keys(a):a=>{const o=[];for(const s in a)Object.prototype.hasOwnProperty.call(a,s)&&o.push(s);return o},e.find=(a,o)=>{for(const s of a)if(o(s))return s},e.isInteger=typeof Number.isInteger=="function"?a=>Number.isInteger(a):a=>typeof a=="number"&&Number.isFinite(a)&&Math.floor(a)===a;function n(a,o=" | "){return a.map(s=>typeof s=="string"?`'${s}'`:s).join(o)}e.joinValues=n,e.jsonStringifyReplacer=(a,o)=>typeof o=="bigint"?o.toString():o})(mr||(mr={}));var ao;(function(e){e.mergeShapes=(t,r)=>({...t,...r})})(ao||(ao={}));mr.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]);mr.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class Qr extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};const r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=t}format(t){const r=t||function(o){return o.message},n={_errors:[]},a=o=>{for(const s of o.issues)if(s.code==="invalid_union")s.unionErrors.map(a);else if(s.code==="invalid_return_type")a(s.returnTypeError);else if(s.code==="invalid_arguments")a(s.argumentsError);else if(s.path.length===0)n._errors.push(r(s));else{let i=n,l=0;for(;l<s.path.length;){const u=s.path[l];l===s.path.length-1?(i[u]=i[u]||{_errors:[]},i[u]._errors.push(r(s))):i[u]=i[u]||{_errors:[]},i=i[u],l++}}};return a(this),n}static assert(t){if(!(t instanceof Qr))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,mr.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=r=>r.message){const r=Object.create(null),n=[];for(const a of this.issues)if(a.path.length>0){const o=a.path[0];r[o]=r[o]||[],r[o].push(t(a))}else n.push(t(a));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}}Qr.create=e=>new Qr(e);var oo;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t==null?void 0:t.message})(oo||(oo={}));var j;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(j||(j={}));class so extends Error{constructor(t,r){super(t),this.name="ParseError",this.type=r.type,this.field=r.field,this.value=r.value,this.line=r.line}}function In(e){}function Tg(e){if(typeof e=="function")throw new TypeError("`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?");const{onEvent:t=In,onError:r=In,onRetry:n=In,onComment:a}=e;let o="",s=!0,i,l="",u="";function c(_){const I=s?_.replace(/^\xEF\xBB\xBF/,""):_,[P,C]=Eg(`${o}${I}`);for(const m of P)d(m);o=C,s=!1}function d(_){if(_===""){w();return}if(_.startsWith(":")){a&&a(_.slice(_.startsWith(": ")?2:1));return}const I=_.indexOf(":");if(I!==-1){const P=_.slice(0,I),C=_[I+1]===" "?2:1,m=_.slice(I+C);p(P,m,_);return}p(_,"",_)}function p(_,I,P){switch(_){case"event":u=I;break;case"data":l=`${l}${I}
42
+ `;break;case"id":i=I.includes("\0")?void 0:I;break;case"retry":/^\d+$/.test(I)?n(parseInt(I,10)):r(new so(`Invalid \`retry\` value: "${I}"`,{type:"invalid-retry",value:I,line:P}));break;default:r(new so(`Unknown field "${_.length>20?`${_.slice(0,20)}…`:_}"`,{type:"unknown-field",field:_,value:I,line:P}));break}}function w(){l.length>0&&t({id:i,event:u||void 0,data:l.endsWith(`
43
+ `)?l.slice(0,-1):l}),i=void 0,l="",u=""}function b(_={}){o&&_.consume&&d(o),s=!0,i=void 0,l="",u="",o=""}return{feed:c,reset:b}}function Eg(e){const t=[];let r="",n=0;for(;n<e.length;){const a=e.indexOf("\r",n),o=e.indexOf(`
44
+ `,n);let s=-1;if(a!==-1&&o!==-1?s=Math.min(a,o):a!==-1?a===e.length-1?s=-1:s=a:o!==-1&&(s=o),s===-1){r=e.slice(n);break}else{const i=e.slice(n,s);t.push(i),n=s+1,e[n-1]==="\r"&&e[n]===`
45
+ `&&n++}}return[t,r]}class bg extends TransformStream{constructor({onError:t,onRetry:r,onComment:n}={}){let a;super({start(o){a=Tg({onEvent:s=>{o.enqueue(s)},onError(s){t==="terminate"?o.error(s):typeof t=="function"&&t(s)},onRetry:r,onComment:n})},transform(o){a.feed(o)}})}}function en(...e){return e.reduce((t,r)=>({...t,...r??{}}),{})}async function Ig(e,t){if(e==null)return Promise.resolve();const r=t==null?void 0:t.abortSignal;return new Promise((n,a)=>{if(r!=null&&r.aborted){a(io());return}const o=setTimeout(()=>{s(),n()},e),s=()=>{clearTimeout(o),r==null||r.removeEventListener("abort",i)},i=()=>{s(),a(io())};r==null||r.addEventListener("abort",i)})}function io(){return new DOMException("Delay was aborted","AbortError")}var lr=class{constructor(){this.status={type:"pending"},this._resolve=void 0,this._reject=void 0}get promise(){return this._promise?this._promise:(this._promise=new Promise((e,t)=>{this.status.type==="resolved"?e(this.status.value):this.status.type==="rejected"&&t(this.status.error),this._resolve=e,this._reject=t}),this._promise)}resolve(e){var t;this.status={type:"resolved",value:e},this._promise&&((t=this._resolve)==null||t.call(this,e))}reject(e){var t;this.status={type:"rejected",error:e},this._promise&&((t=this._reject)==null||t.call(this,e))}isResolved(){return this.status.type==="resolved"}isRejected(){return this.status.type==="rejected"}isPending(){return this.status.type==="pending"}};function Nr(e){return Object.fromEntries([...e.headers])}var{btoa:Sg,atob:Ag}=globalThis;function oa(e){const t=e.replace(/-/g,"+").replace(/_/g,"/"),r=Ag(t);return Uint8Array.from(r,n=>n.codePointAt(0))}function tn(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCodePoint(e[r]);return Sg(t)}var Ei="AI_DownloadError",bi=`vercel.ai.error.${Ei}`,Ng=Symbol.for(bi),lo,uo,Sn=class extends(uo=H,lo=Ng,uo){constructor({url:e,statusCode:t,statusText:r,cause:n,message:a=n==null?`Failed to download ${e}: ${t} ${r}`:`Failed to download ${e}: ${n}`}){super({name:Ei,message:a,cause:n}),this[lo]=!0,this.url=e,this.statusCode=t,this.statusText=r}static isInstance(e){return H.hasMarker(e,bi)}},xr=({prefix:e,size:t=16,alphabet:r="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",separator:n="-"}={})=>{const a=()=>{const o=r.length,s=new Array(t);for(let i=0;i<t;i++)s[i]=r[Math.random()*o|0];return s.join("")};if(e==null)return a;if(r.includes(n))throw new Ou({argument:"separator",message:`The separator "${n}" must not be part of the alphabet "${r}".`});return()=>`${e}${n}${a()}`};xr();function sa(e){return e==null?"unknown error":typeof e=="string"?e:e instanceof Error?e.message:JSON.stringify(e)}function Pt(e){return(e instanceof Error||e instanceof DOMException)&&(e.name==="AbortError"||e.name==="ResponseAborted"||e.name==="TimeoutError")}var xg=["fetch failed","failed to fetch"];function Ii({error:e,url:t,requestBodyValues:r}){if(Pt(e))return e;if(e instanceof TypeError&&xg.includes(e.message.toLowerCase())){const n=e.cause;if(n!=null)return new $e({message:`Cannot connect to API: ${n.message}`,cause:n,url:t,requestBodyValues:r,isRetryable:!0})}return e}function ia(e=globalThis){var t,r,n;return e.window?"runtime/browser":(t=e.navigator)!=null&&t.userAgent?`runtime/${e.navigator.userAgent.toLowerCase()}`:(n=(r=e.process)==null?void 0:r.versions)!=null&&n.node?`runtime/node.js/${e.process.version.substring(0)}`:e.EdgeRuntime?"runtime/vercel-edge":"runtime/unknown"}function Og(e){if(e==null)return{};const t={};if(e instanceof Headers)e.forEach((r,n)=>{t[n.toLowerCase()]=r});else{Array.isArray(e)||(e=Object.entries(e));for(const[r,n]of e)n!=null&&(t[r.toLowerCase()]=n)}return t}function Or(e,...t){const r=new Headers(Og(e)),n=r.get("user-agent")||"";return r.set("user-agent",[n,...t].filter(Boolean).join(" ")),Object.fromEntries(r.entries())}var Si="4.0.3",Rg=()=>globalThis.fetch,co=async({url:e,headers:t={},successfulResponseHandler:r,failedResponseHandler:n,abortSignal:a,fetch:o=Rg()})=>{try{const s=await o(e,{method:"GET",headers:Or(t,`ai-sdk/provider-utils/${Si}`,ia()),signal:a}),i=Nr(s);if(!s.ok){let l;try{l=await n({response:s,url:e,requestBodyValues:{}})}catch(u){throw Pt(u)||$e.isInstance(u)?u:new $e({message:"Failed to process error response",cause:u,statusCode:s.status,url:e,responseHeaders:i,requestBodyValues:{}})}throw l.value}try{return await r({response:s,url:e,requestBodyValues:{}})}catch(l){throw l instanceof Error&&(Pt(l)||$e.isInstance(l))?l:new $e({message:"Failed to process successful response",cause:l,statusCode:s.status,url:e,responseHeaders:i,requestBodyValues:{}})}}catch(s){throw Ii({error:s,url:e,requestBodyValues:{}})}};function kg({mediaType:e,url:t,supportedUrls:r}){return t=t.toLowerCase(),e=e.toLowerCase(),Object.entries(r).map(([n,a])=>{const o=n.toLowerCase();return o==="*"||o==="*/*"?{mediaTypePrefix:"",regexes:a}:{mediaTypePrefix:o.replace(/\*/,""),regexes:a}}).filter(({mediaTypePrefix:n})=>e.startsWith(n)).flatMap(({regexes:n})=>n).some(n=>n.test(t))}function Zr({settingValue:e,environmentVariableName:t}){if(typeof e=="string")return e;if(!(e!=null||typeof process>"u")&&(e=process.env[t],!(e==null||typeof e!="string")))return e}var Pg=/"__proto__"\s*:/,Cg=/"constructor"\s*:/;function po(e){const t=JSON.parse(e);return t===null||typeof t!="object"||Pg.test(e)===!1&&Cg.test(e)===!1?t:Dg(t)}function Dg(e){let t=[e];for(;t.length;){const r=t;t=[];for(const n of r){if(Object.prototype.hasOwnProperty.call(n,"__proto__"))throw new SyntaxError("Object contains forbidden prototype property");if(Object.prototype.hasOwnProperty.call(n,"constructor")&&Object.prototype.hasOwnProperty.call(n.constructor,"prototype"))throw new SyntaxError("Object contains forbidden prototype property");for(const a in n){const o=n[a];o&&typeof o=="object"&&t.push(o)}}}return e}function Ai(e){const{stackTraceLimit:t}=Error;try{Error.stackTraceLimit=0}catch{return po(e)}try{return po(e)}finally{Error.stackTraceLimit=t}}function Ni(e){if(e.type==="object"||Array.isArray(e.type)&&e.type.includes("object")){e.additionalProperties=!1;const{properties:r}=e;if(r!=null)for(const n of Object.keys(r))r[n]=Nt(r[n])}e.items!=null&&(e.items=Array.isArray(e.items)?e.items.map(Nt):Nt(e.items)),e.anyOf!=null&&(e.anyOf=e.anyOf.map(Nt)),e.allOf!=null&&(e.allOf=e.allOf.map(Nt)),e.oneOf!=null&&(e.oneOf=e.oneOf.map(Nt));const{definitions:t}=e;if(t!=null)for(const r of Object.keys(t))t[r]=Nt(t[r]);return e}function Nt(e){return typeof e=="boolean"?e:Ni(e)}var zg=Symbol("Let zodToJsonSchema decide on which parser to use"),fo={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",strictUnions:!1,definitions:{},errorMessages:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref"},$g=e=>typeof e=="string"?{...fo,name:e}:{...fo,...e};function je(){return{}}function Mg(e,t){var r,n,a;const o={type:"array"};return(r=e.type)!=null&&r._def&&((a=(n=e.type)==null?void 0:n._def)==null?void 0:a.typeName)!==j.ZodAny&&(o.items=oe(e.type._def,{...t,currentPath:[...t.currentPath,"items"]})),e.minLength&&(o.minItems=e.minLength.value),e.maxLength&&(o.maxItems=e.maxLength.value),e.exactLength&&(o.minItems=e.exactLength.value,o.maxItems=e.exactLength.value),o}function Fg(e){const t={type:"integer",format:"int64"};if(!e.checks)return t;for(const r of e.checks)switch(r.kind){case"min":r.inclusive?t.minimum=r.value:t.exclusiveMinimum=r.value;break;case"max":r.inclusive?t.maximum=r.value:t.exclusiveMaximum=r.value;break;case"multipleOf":t.multipleOf=r.value;break}return t}function Lg(){return{type:"boolean"}}function xi(e,t){return oe(e.type._def,t)}var Ug=(e,t)=>oe(e.innerType._def,t);function Oi(e,t,r){const n=r??t.dateStrategy;if(Array.isArray(n))return{anyOf:n.map((a,o)=>Oi(e,t,a))};switch(n){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return jg(e)}}var jg=e=>{const t={type:"integer",format:"unix-time"};for(const r of e.checks)switch(r.kind){case"min":t.minimum=r.value;break;case"max":t.maximum=r.value;break}return t};function qg(e,t){return{...oe(e.innerType._def,t),default:e.defaultValue()}}function Zg(e,t){return t.effectStrategy==="input"?oe(e.schema._def,t):je()}function Gg(e){return{type:"string",enum:Array.from(e.values)}}var Bg=e=>"type"in e&&e.type==="string"?!1:"allOf"in e;function Vg(e,t){const r=[oe(e.left._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),oe(e.right._def,{...t,currentPath:[...t.currentPath,"allOf","1"]})].filter(a=>!!a),n=[];return r.forEach(a=>{if(Bg(a))n.push(...a.allOf);else{let o=a;if("additionalProperties"in a&&a.additionalProperties===!1){const{additionalProperties:s,...i}=a;o=i}n.push(o)}}),n.length?{allOf:n}:void 0}function Hg(e){const t=typeof e.value;return t!=="bigint"&&t!=="number"&&t!=="boolean"&&t!=="string"?{type:Array.isArray(e.value)?"array":"object"}:{type:t==="bigint"?"integer":t,const:e.value}}var An=void 0,He={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(An===void 0&&(An=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),An),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function Ri(e,t){const r={type:"string"};if(e.checks)for(const n of e.checks)switch(n.kind){case"min":r.minLength=typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value;break;case"max":r.maxLength=typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value;break;case"email":switch(t.emailStrategy){case"format:email":Je(r,"email",n.message,t);break;case"format:idn-email":Je(r,"idn-email",n.message,t);break;case"pattern:zod":De(r,He.email,n.message,t);break}break;case"url":Je(r,"uri",n.message,t);break;case"uuid":Je(r,"uuid",n.message,t);break;case"regex":De(r,n.regex,n.message,t);break;case"cuid":De(r,He.cuid,n.message,t);break;case"cuid2":De(r,He.cuid2,n.message,t);break;case"startsWith":De(r,RegExp(`^${Nn(n.value,t)}`),n.message,t);break;case"endsWith":De(r,RegExp(`${Nn(n.value,t)}$`),n.message,t);break;case"datetime":Je(r,"date-time",n.message,t);break;case"date":Je(r,"date",n.message,t);break;case"time":Je(r,"time",n.message,t);break;case"duration":Je(r,"duration",n.message,t);break;case"length":r.minLength=typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,r.maxLength=typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value;break;case"includes":{De(r,RegExp(Nn(n.value,t)),n.message,t);break}case"ip":{n.version!=="v6"&&Je(r,"ipv4",n.message,t),n.version!=="v4"&&Je(r,"ipv6",n.message,t);break}case"base64url":De(r,He.base64url,n.message,t);break;case"jwt":De(r,He.jwt,n.message,t);break;case"cidr":{n.version!=="v6"&&De(r,He.ipv4Cidr,n.message,t),n.version!=="v4"&&De(r,He.ipv6Cidr,n.message,t);break}case"emoji":De(r,He.emoji(),n.message,t);break;case"ulid":{De(r,He.ulid,n.message,t);break}case"base64":{switch(t.base64Strategy){case"format:binary":{Je(r,"binary",n.message,t);break}case"contentEncoding:base64":{r.contentEncoding="base64";break}case"pattern:zod":{De(r,He.base64,n.message,t);break}}break}case"nanoid":De(r,He.nanoid,n.message,t)}return r}function Nn(e,t){return t.patternStrategy==="escape"?Yg(e):e}var Jg=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function Yg(e){let t="";for(let r=0;r<e.length;r++)Jg.has(e[r])||(t+="\\"),t+=e[r];return t}function Je(e,t,r,n){var a;e.format||(a=e.anyOf)!=null&&a.some(o=>o.format)?(e.anyOf||(e.anyOf=[]),e.format&&(e.anyOf.push({format:e.format}),delete e.format),e.anyOf.push({format:t,...r&&n.errorMessages&&{errorMessage:{format:r}}})):e.format=t}function De(e,t,r,n){var a;e.pattern||(a=e.allOf)!=null&&a.some(o=>o.pattern)?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push({pattern:e.pattern}),delete e.pattern),e.allOf.push({pattern:go(t,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):e.pattern=go(t,n)}function go(e,t){var r;if(!t.applyRegexFlags||!e.flags)return e.source;const n={i:e.flags.includes("i"),m:e.flags.includes("m"),s:e.flags.includes("s")},a=n.i?e.source.toLowerCase():e.source;let o="",s=!1,i=!1,l=!1;for(let u=0;u<a.length;u++){if(s){o+=a[u],s=!1;continue}if(n.i){if(i){if(a[u].match(/[a-z]/)){l?(o+=a[u],o+=`${a[u-2]}-${a[u]}`.toUpperCase(),l=!1):a[u+1]==="-"&&((r=a[u+2])!=null&&r.match(/[a-z]/))?(o+=a[u],l=!0):o+=`${a[u]}${a[u].toUpperCase()}`;continue}}else if(a[u].match(/[a-z]/)){o+=`[${a[u]}${a[u].toUpperCase()}]`;continue}}if(n.m){if(a[u]==="^"){o+=`(^|(?<=[\r
46
+ ]))`;continue}else if(a[u]==="$"){o+=`($|(?=[\r
47
+ ]))`;continue}}if(n.s&&a[u]==="."){o+=i?`${a[u]}\r
48
+ `:`[${a[u]}\r
49
+ ]`;continue}o+=a[u],a[u]==="\\"?s=!0:i&&a[u]==="]"?i=!1:!i&&a[u]==="["&&(i=!0)}try{new RegExp(o)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return o}function ki(e,t){var r,n,a,o,s,i;const l={type:"object",additionalProperties:(r=oe(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]}))!=null?r:t.allowedAdditionalProperties};if(((n=e.keyType)==null?void 0:n._def.typeName)===j.ZodString&&((a=e.keyType._def.checks)!=null&&a.length)){const{type:u,...c}=Ri(e.keyType._def,t);return{...l,propertyNames:c}}else{if(((o=e.keyType)==null?void 0:o._def.typeName)===j.ZodEnum)return{...l,propertyNames:{enum:e.keyType._def.values}};if(((s=e.keyType)==null?void 0:s._def.typeName)===j.ZodBranded&&e.keyType._def.type._def.typeName===j.ZodString&&((i=e.keyType._def.type._def.checks)!=null&&i.length)){const{type:u,...c}=xi(e.keyType._def,t);return{...l,propertyNames:c}}}return l}function Wg(e,t){if(t.mapStrategy==="record")return ki(e,t);const r=oe(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||je(),n=oe(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||je();return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function Kg(e){const t=e.values,n=Object.keys(e.values).filter(o=>typeof t[t[o]]!="number").map(o=>t[o]),a=Array.from(new Set(n.map(o=>typeof o)));return{type:a.length===1?a[0]==="string"?"string":"number":["string","number"],enum:n}}function Xg(){return{not:je()}}function Qg(){return{type:"null"}}var jn={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function eh(e,t){const r=e.options instanceof Map?Array.from(e.options.values()):e.options;if(r.every(n=>n._def.typeName in jn&&(!n._def.checks||!n._def.checks.length))){const n=r.reduce((a,o)=>{const s=jn[o._def.typeName];return s&&!a.includes(s)?[...a,s]:a},[]);return{type:n.length>1?n:n[0]}}else if(r.every(n=>n._def.typeName==="ZodLiteral"&&!n.description)){const n=r.reduce((a,o)=>{const s=typeof o._def.value;switch(s){case"string":case"number":case"boolean":return[...a,s];case"bigint":return[...a,"integer"];case"object":if(o._def.value===null)return[...a,"null"];case"symbol":case"undefined":case"function":default:return a}},[]);if(n.length===r.length){const a=n.filter((o,s,i)=>i.indexOf(o)===s);return{type:a.length>1?a:a[0],enum:r.reduce((o,s)=>o.includes(s._def.value)?o:[...o,s._def.value],[])}}}else if(r.every(n=>n._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((n,a)=>[...n,...a._def.values.filter(o=>!n.includes(o))],[])};return th(e,t)}var th=(e,t)=>{const r=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((n,a)=>oe(n._def,{...t,currentPath:[...t.currentPath,"anyOf",`${a}`]})).filter(n=>!!n&&(!t.strictUnions||typeof n=="object"&&Object.keys(n).length>0));return r.length?{anyOf:r}:void 0};function rh(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return{type:[jn[e.innerType._def.typeName],"null"]};const r=oe(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function nh(e){const t={type:"number"};if(!e.checks)return t;for(const r of e.checks)switch(r.kind){case"int":t.type="integer";break;case"min":r.inclusive?t.minimum=r.value:t.exclusiveMinimum=r.value;break;case"max":r.inclusive?t.maximum=r.value:t.exclusiveMaximum=r.value;break;case"multipleOf":t.multipleOf=r.value;break}return t}function ah(e,t){const r={type:"object",properties:{}},n=[],a=e.shape();for(const s in a){let i=a[s];if(i===void 0||i._def===void 0)continue;const l=sh(i),u=oe(i._def,{...t,currentPath:[...t.currentPath,"properties",s],propertyPath:[...t.currentPath,"properties",s]});u!==void 0&&(r.properties[s]=u,l||n.push(s))}n.length&&(r.required=n);const o=oh(e,t);return o!==void 0&&(r.additionalProperties=o),r}function oh(e,t){if(e.catchall._def.typeName!=="ZodNever")return oe(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]});switch(e.unknownKeys){case"passthrough":return t.allowedAdditionalProperties;case"strict":return t.rejectedAdditionalProperties;case"strip":return t.removeAdditionalStrategy==="strict"?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}function sh(e){try{return e.isOptional()}catch{return!0}}var ih=(e,t)=>{var r;if(t.currentPath.toString()===((r=t.propertyPath)==null?void 0:r.toString()))return oe(e.innerType._def,t);const n=oe(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return n?{anyOf:[{not:je()},n]}:je()},lh=(e,t)=>{if(t.pipeStrategy==="input")return oe(e.in._def,t);if(t.pipeStrategy==="output")return oe(e.out._def,t);const r=oe(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),n=oe(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,n].filter(a=>a!==void 0)}};function uh(e,t){return oe(e.type._def,t)}function ch(e,t){const n={type:"array",uniqueItems:!0,items:oe(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};return e.minSize&&(n.minItems=e.minSize.value),e.maxSize&&(n.maxItems=e.maxSize.value),n}function dh(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((r,n)=>oe(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:oe(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((r,n)=>oe(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}function ph(){return{not:je()}}function fh(){return je()}var gh=(e,t)=>oe(e.innerType._def,t),hh=(e,t,r)=>{switch(t){case j.ZodString:return Ri(e,r);case j.ZodNumber:return nh(e);case j.ZodObject:return ah(e,r);case j.ZodBigInt:return Fg(e);case j.ZodBoolean:return Lg();case j.ZodDate:return Oi(e,r);case j.ZodUndefined:return ph();case j.ZodNull:return Qg();case j.ZodArray:return Mg(e,r);case j.ZodUnion:case j.ZodDiscriminatedUnion:return eh(e,r);case j.ZodIntersection:return Vg(e,r);case j.ZodTuple:return dh(e,r);case j.ZodRecord:return ki(e,r);case j.ZodLiteral:return Hg(e);case j.ZodEnum:return Gg(e);case j.ZodNativeEnum:return Kg(e);case j.ZodNullable:return rh(e,r);case j.ZodOptional:return ih(e,r);case j.ZodMap:return Wg(e,r);case j.ZodSet:return ch(e,r);case j.ZodLazy:return()=>e.getter()._def;case j.ZodPromise:return uh(e,r);case j.ZodNaN:case j.ZodNever:return Xg();case j.ZodEffects:return Zg(e,r);case j.ZodAny:return je();case j.ZodUnknown:return fh();case j.ZodDefault:return qg(e,r);case j.ZodBranded:return xi(e,r);case j.ZodReadonly:return gh(e,r);case j.ZodCatch:return Ug(e,r);case j.ZodPipeline:return lh(e,r);case j.ZodFunction:case j.ZodVoid:case j.ZodSymbol:return;default:return(n=>{})()}},mh=(e,t)=>{let r=0;for(;r<e.length&&r<t.length&&e[r]===t[r];r++);return[(e.length-r).toString(),...t.slice(r)].join("/")};function oe(e,t,r=!1){var n;const a=t.seen.get(e);if(t.override){const l=(n=t.override)==null?void 0:n.call(t,e,t,a,r);if(l!==zg)return l}if(a&&!r){const l=yh(a,t);if(l!==void 0)return l}const o={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,o);const s=hh(e,e.typeName,t),i=typeof s=="function"?oe(s(),t):s;if(i&&vh(e,t,i),t.postProcess){const l=t.postProcess(i,e,t);return o.jsonSchema=i,l}return o.jsonSchema=i,i}var yh=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:mh(t.currentPath,e.path)};case"none":case"seen":return e.path.length<t.currentPath.length&&e.path.every((r,n)=>t.currentPath[n]===r)?(console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),je()):t.$refStrategy==="seen"?je():void 0}},vh=(e,t,r)=>(e.description&&(r.description=e.description),r),wh=e=>{const t=$g(e),r=t.name!==void 0?[...t.basePath,t.definitionPath,t.name]:t.basePath;return{...t,currentPath:r,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([n,a])=>[a._def,{def:a._def,path:[...t.basePath,t.definitionPath,n],jsonSchema:void 0}]))}},_h=(e,t)=>{var r;const n=wh(t);let a=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((u,[c,d])=>{var p;return{...u,[c]:(p=oe(d._def,{...n,currentPath:[...n.basePath,n.definitionPath,c]},!0))!=null?p:je()}},{}):void 0;const o=typeof t=="string"?t:(t==null?void 0:t.nameStrategy)==="title"||t==null?void 0:t.name,s=(r=oe(e._def,o===void 0?n:{...n,currentPath:[...n.basePath,n.definitionPath,o]},!1))!=null?r:je(),i=typeof t=="object"&&t.name!==void 0&&t.nameStrategy==="title"?t.name:void 0;i!==void 0&&(s.title=i);const l=o===void 0?a?{...s,[n.definitionPath]:a}:s:{$ref:[...n.$refStrategy==="relative"?[]:n.basePath,n.definitionPath,o].join("/"),[n.definitionPath]:{...a,[o]:s}};return l.$schema="http://json-schema.org/draft-07/schema#",l},qn=Symbol.for("vercel.ai.schema");function Qt(e){let t;return()=>(t==null&&(t=e()),t)}function fn(e,{validate:t}={}){return{[qn]:!0,_type:void 0,get jsonSchema(){return typeof e=="function"&&(e=e()),e},validate:t}}function Th(e){return typeof e=="object"&&e!==null&&qn in e&&e[qn]===!0&&"jsonSchema"in e&&"validate"in e}function er(e){return e==null?fn({properties:{},additionalProperties:!1}):Th(e)?e:"~standard"in e?e["~standard"].vendor==="zod"?Dt(e):Eh(e):e()}function Eh(e){return fn(()=>e["~standard"].jsonSchema.input({target:"draft-07"}),{validate:async t=>{const r=await e["~standard"].validate(t);return"value"in r?{success:!0,value:r.value}:{success:!1,error:new Rt({value:t,cause:r.issues})}}})}function bh(e,t){var r;const n=(r=void 0)!=null?r:!1;return fn(()=>_h(e,{$refStrategy:n?"root":"none"}),{validate:async a=>{const o=await e.safeParseAsync(a);return o.success?{success:!0,value:o.data}:{success:!1,error:o.error}}})}function Ih(e,t){var r;const n=(r=void 0)!=null?r:!1;return fn(()=>Ni(Qp(e,{target:"draft-7",io:"input",reused:n?"ref":"inline"})),{validate:async a=>{const o=await hi(e,a);return o.success?{success:!0,value:o.data}:{success:!1,error:o.error}}})}function Sh(e){return"_zod"in e}function Dt(e,t){return Sh(e)?Ih(e):bh(e)}async function Zn({value:e,schema:t}){const r=await rt({value:e,schema:t});if(!r.success)throw Rt.wrap({value:e,cause:r.error});return r.value}async function rt({value:e,schema:t}){const r=er(t);try{if(r.validate==null)return{success:!0,value:e,rawValue:e};const n=await r.validate(e);return n.success?{success:!0,value:n.value,rawValue:e}:{success:!1,error:Rt.wrap({value:e,cause:n.error}),rawValue:e}}catch(n){return{success:!1,error:Rt.wrap({value:e,cause:n}),rawValue:e}}}async function Ah({text:e,schema:t}){try{const r=Ai(e);return t==null?r:Zn({value:r,schema:t})}catch(r){throw Gr.isInstance(r)||Rt.isInstance(r)?r:new Gr({text:e,cause:r})}}async function We({text:e,schema:t}){try{const r=Ai(e);return t==null?{success:!0,value:r,rawValue:r}:await rt({value:r,schema:t})}catch(r){return{success:!1,error:Gr.isInstance(r)?r:new Gr({text:e,cause:r}),rawValue:void 0}}}function Nh({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new bg).pipeThrough(new TransformStream({async transform({data:r},n){r!=="[DONE]"&&n.enqueue(await We({text:r,schema:t}))}}))}var xh=()=>globalThis.fetch,rn=async({url:e,headers:t,body:r,failedResponseHandler:n,successfulResponseHandler:a,abortSignal:o,fetch:s})=>Oh({url:e,headers:{"Content-Type":"application/json",...t},body:{content:JSON.stringify(r),values:r},failedResponseHandler:n,successfulResponseHandler:a,abortSignal:o,fetch:s}),Oh=async({url:e,headers:t={},body:r,successfulResponseHandler:n,failedResponseHandler:a,abortSignal:o,fetch:s=xh()})=>{try{const i=await s(e,{method:"POST",headers:Or(t,`ai-sdk/provider-utils/${Si}`,ia()),body:r.content,signal:o}),l=Nr(i);if(!i.ok){let u;try{u=await a({response:i,url:e,requestBodyValues:r.values})}catch(c){throw Pt(c)||$e.isInstance(c)?c:new $e({message:"Failed to process error response",cause:c,statusCode:i.status,url:e,responseHeaders:l,requestBodyValues:r.values})}throw u.value}try{return await n({response:i,url:e,requestBodyValues:r.values})}catch(u){throw u instanceof Error&&(Pt(u)||$e.isInstance(u))?u:new $e({message:"Failed to process successful response",cause:u,statusCode:i.status,url:e,responseHeaders:l,requestBodyValues:r.values})}}catch(i){throw Ii({error:i,url:e,requestBodyValues:r.values})}};async function Ge(e){return typeof e=="function"&&(e=e()),Promise.resolve(e)}var Yt=({errorSchema:e,errorToMessage:t,isRetryable:r})=>async({response:n,url:a,requestBodyValues:o})=>{const s=await n.text(),i=Nr(n);if(s.trim()==="")return{responseHeaders:i,value:new $e({message:n.statusText,url:a,requestBodyValues:o,statusCode:n.status,responseHeaders:i,responseBody:s,isRetryable:r==null?void 0:r(n)})};try{const l=await Ah({text:s,schema:e});return{responseHeaders:i,value:new $e({message:t(l),url:a,requestBodyValues:o,statusCode:n.status,responseHeaders:i,responseBody:s,data:l,isRetryable:r==null?void 0:r(n,l)})}}catch{return{responseHeaders:i,value:new $e({message:n.statusText,url:a,requestBodyValues:o,statusCode:n.status,responseHeaders:i,responseBody:s,isRetryable:r==null?void 0:r(n)})}}},Rh=e=>async({response:t})=>{const r=Nr(t);if(t.body==null)throw new Nu({});return{responseHeaders:r,value:Nh({stream:t.body,schema:e})}},yr=e=>async({response:t,url:r,requestBodyValues:n})=>{const a=await t.text(),o=await We({text:a,schema:e}),s=Nr(t);if(!o.success)throw new $e({message:"Invalid JSON response",cause:o.error,statusCode:t.status,responseHeaders:s,responseBody:a,url:r,requestBodyValues:n});return{responseHeaders:s,value:o.value,rawValue:o.rawValue}};function kh(e){return e==null?void 0:e.replace(/\/$/,"")}function Ph(e){return e!=null&&typeof e[Symbol.asyncIterator]=="function"}async function*Ch({execute:e,input:t,options:r}){const n=e(t,r);if(Ph(n)){let a;for await(const o of n)a=o,yield{type:"preliminary",output:o};yield{type:"final",output:a}}else yield{type:"final",output:await n}}var xn,ho;function Dh(){if(ho)return xn;ho=1;var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,n=Object.prototype.hasOwnProperty,a=(c,d)=>{for(var p in d)e(c,p,{get:d[p],enumerable:!0})},o=(c,d,p,w)=>{if(d&&typeof d=="object"||typeof d=="function")for(let b of r(d))!n.call(c,b)&&b!==p&&e(c,b,{get:()=>d[b],enumerable:!(w=t(d,b))||w.enumerable});return c},s=c=>o(e({},"__esModule",{value:!0}),c),i={};a(i,{SYMBOL_FOR_REQ_CONTEXT:()=>l,getContext:()=>u}),xn=s(i);const l=Symbol.for("@vercel/request-context");function u(){var d,p;return((p=(d=globalThis[l])==null?void 0:d.get)==null?void 0:p.call(d))??{}}return xn}var On,mo;function zh(){if(mo)return On;mo=1;var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,n=Object.prototype.hasOwnProperty,a=(d,p)=>{for(var w in p)e(d,w,{get:p[w],enumerable:!0})},o=(d,p,w,b)=>{if(p&&typeof p=="object"||typeof p=="function")for(let _ of r(p))!n.call(d,_)&&_!==w&&e(d,_,{get:()=>p[_],enumerable:!(b=t(p,_))||b.enumerable});return d},s=d=>o(e({},"__esModule",{value:!0}),d),i={};a(i,{getContext:()=>l.getContext,getVercelOidcToken:()=>u,getVercelOidcTokenSync:()=>c}),On=s(i);var l=Dh();async function u(){return""}function c(){return""}return On}var Pi=zh(),$h="vercel.ai.gateway.error",Rn=Symbol.for($h),yo,vo,qe=class Ci extends(vo=Error,yo=Rn,vo){constructor({message:t,statusCode:r=500,cause:n}){super(t),this[yo]=!0,this.statusCode=r,this.cause=n}static isInstance(t){return Ci.hasMarker(t)}static hasMarker(t){return typeof t=="object"&&t!==null&&Rn in t&&t[Rn]===!0}},Di="GatewayAuthenticationError",Mh=`vercel.ai.gateway.error.${Di}`,wo=Symbol.for(Mh),_o,To,la=class zi extends(To=qe,_o=wo,To){constructor({message:t="Authentication failed",statusCode:r=401,cause:n}={}){super({message:t,statusCode:r,cause:n}),this[_o]=!0,this.name=Di,this.type="authentication_error"}static isInstance(t){return qe.hasMarker(t)&&wo in t}static createContextualError({apiKeyProvided:t,oidcTokenProvided:r,message:n="Authentication failed",statusCode:a=401,cause:o}){let s;return t?s=`AI Gateway authentication failed: Invalid API key.
50
+
51
+ Create a new API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
52
+
53
+ Provide via 'apiKey' option or 'AI_GATEWAY_API_KEY' environment variable.`:r?s=`AI Gateway authentication failed: Invalid OIDC token.
54
+
55
+ Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the token.
56
+
57
+ Alternatively, use an API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys`:s=`AI Gateway authentication failed: No authentication provided.
58
+
59
+ Option 1 - API key:
60
+ Create an API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
61
+ Provide via 'apiKey' option or 'AI_GATEWAY_API_KEY' environment variable.
62
+
63
+ Option 2 - OIDC token:
64
+ Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the token.`,new zi({message:s,statusCode:a,cause:o})}},$i="GatewayInvalidRequestError",Fh=`vercel.ai.gateway.error.${$i}`,Eo=Symbol.for(Fh),bo,Io,Lh=class extends(Io=qe,bo=Eo,Io){constructor({message:e="Invalid request",statusCode:t=400,cause:r}={}){super({message:e,statusCode:t,cause:r}),this[bo]=!0,this.name=$i,this.type="invalid_request_error"}static isInstance(e){return qe.hasMarker(e)&&Eo in e}},Mi="GatewayRateLimitError",Uh=`vercel.ai.gateway.error.${Mi}`,So=Symbol.for(Uh),Ao,No,jh=class extends(No=qe,Ao=So,No){constructor({message:e="Rate limit exceeded",statusCode:t=429,cause:r}={}){super({message:e,statusCode:t,cause:r}),this[Ao]=!0,this.name=Mi,this.type="rate_limit_exceeded"}static isInstance(e){return qe.hasMarker(e)&&So in e}},Fi="GatewayModelNotFoundError",qh=`vercel.ai.gateway.error.${Fi}`,xo=Symbol.for(qh),Zh=Qt(()=>Dt(G({modelId:R()}))),Oo,Ro,Gh=class extends(Ro=qe,Oo=xo,Ro){constructor({message:e="Model not found",statusCode:t=404,modelId:r,cause:n}={}){super({message:e,statusCode:t,cause:n}),this[Oo]=!0,this.name=Fi,this.type="model_not_found",this.modelId=r}static isInstance(e){return qe.hasMarker(e)&&xo in e}},Li="GatewayInternalServerError",Bh=`vercel.ai.gateway.error.${Li}`,ko=Symbol.for(Bh),Po,Co,Do=class extends(Co=qe,Po=ko,Co){constructor({message:e="Internal server error",statusCode:t=500,cause:r}={}){super({message:e,statusCode:t,cause:r}),this[Po]=!0,this.name=Li,this.type="internal_server_error"}static isInstance(e){return qe.hasMarker(e)&&ko in e}},Ui="GatewayResponseError",Vh=`vercel.ai.gateway.error.${Ui}`,zo=Symbol.for(Vh),$o,Mo,Hh=class extends(Mo=qe,$o=zo,Mo){constructor({message:e="Invalid response from Gateway",statusCode:t=502,response:r,validationError:n,cause:a}={}){super({message:e,statusCode:t,cause:a}),this[$o]=!0,this.name=Ui,this.type="response_error",this.response=r,this.validationError=n}static isInstance(e){return qe.hasMarker(e)&&zo in e}};async function Fo({response:e,statusCode:t,defaultMessage:r="Gateway request failed",cause:n,authMethod:a}){const o=await rt({value:e,schema:Jh});if(!o.success)return new Hh({message:`Invalid error response format: ${r}`,statusCode:t,response:e,validationError:o.error,cause:n});const s=o.value,i=s.error.type,l=s.error.message;switch(i){case"authentication_error":return la.createContextualError({apiKeyProvided:a==="api-key",oidcTokenProvided:a==="oidc",statusCode:t,cause:n});case"invalid_request_error":return new Lh({message:l,statusCode:t,cause:n});case"rate_limit_exceeded":return new jh({message:l,statusCode:t,cause:n});case"model_not_found":{const u=await rt({value:s.error.param,schema:Zh});return new Gh({message:l,statusCode:t,modelId:u.success?u.value.modelId:void 0,cause:n})}case"internal_server_error":return new Do({message:l,statusCode:t,cause:n});default:return new Do({message:l,statusCode:t,cause:n})}}var Jh=Qt(()=>Dt(G({error:G({message:R(),type:R().nullish(),param:kt().nullish(),code:Pe([R(),Kr()]).nullish()})})));function Et(e,t){var r;return qe.isInstance(e)?e:$e.isInstance(e)?Fo({response:Yh(e),statusCode:(r=e.statusCode)!=null?r:500,defaultMessage:"Gateway request failed",cause:e,authMethod:t}):Fo({response:{},statusCode:500,defaultMessage:e instanceof Error?`Gateway request failed: ${e.message}`:"Unknown Gateway error",cause:e,authMethod:t})}function Yh(e){if(e.data!==void 0)return e.data;if(e.responseBody!=null)try{return JSON.parse(e.responseBody)}catch{return e.responseBody}return{}}var ji="ai-gateway-auth-method";async function Wt(e){const t=await rt({value:e[ji],schema:Wh});return t.success?t.value:void 0}var Wh=Qt(()=>Dt(Pe([ee("api-key"),ee("oidc")]))),Lo=class{constructor(e){this.config=e}async getAvailableModels(){try{const{value:e}=await co({url:`${this.config.baseURL}/config`,headers:await Ge(this.config.headers()),successfulResponseHandler:yr(Kh),failedResponseHandler:Yt({errorSchema:yt(),errorToMessage:t=>t}),fetch:this.config.fetch});return e}catch(e){throw await Et(e)}}async getCredits(){try{const e=new URL(this.config.baseURL),{value:t}=await co({url:`${e.origin}/v1/credits`,headers:await Ge(this.config.headers()),successfulResponseHandler:yr(Xh),failedResponseHandler:Yt({errorSchema:yt(),errorToMessage:r=>r}),fetch:this.config.fetch});return t}catch(e){throw await Et(e)}}},Kh=Qt(()=>Dt(G({models:Ue(G({id:R(),name:R(),description:R().nullish(),pricing:G({input:R(),output:R(),input_cache_read:R().nullish(),input_cache_write:R().nullish()}).transform(({input:e,output:t,input_cache_read:r,input_cache_write:n})=>({input:e,output:t,...r?{cachedInputTokens:r}:{},...n?{cacheCreationInputTokens:n}:{}})).nullish(),specification:G({specificationVersion:ee("v3"),provider:R(),modelId:R()}),modelType:wi(["language","embedding","image"]).nullish()}))}))),Xh=Qt(()=>Dt(G({balance:R(),total_used:R()}).transform(({balance:e,total_used:t})=>({balance:e,totalUsed:t})))),Qh=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v3",this.supportedUrls={"*/*":[/.*/]}}get provider(){return this.config.provider}async getArgs(e){const{abortSignal:t,...r}=e;return{args:this.maybeEncodeFileParts(r),warnings:[]}}async doGenerate(e){const{args:t,warnings:r}=await this.getArgs(e),{abortSignal:n}=e,a=await Ge(this.config.headers());try{const{responseHeaders:o,value:s,rawValue:i}=await rn({url:this.getUrl(),headers:en(a,e.headers,this.getModelConfigHeaders(this.modelId,!1),await Ge(this.config.o11yHeaders)),body:t,successfulResponseHandler:yr(yt()),failedResponseHandler:Yt({errorSchema:yt(),errorToMessage:l=>l}),...n&&{abortSignal:n},fetch:this.config.fetch});return{...s,request:{body:t},response:{headers:o,body:i},warnings:r}}catch(o){throw await Et(o,await Wt(a))}}async doStream(e){const{args:t,warnings:r}=await this.getArgs(e),{abortSignal:n}=e,a=await Ge(this.config.headers());try{const{value:o,responseHeaders:s}=await rn({url:this.getUrl(),headers:en(a,e.headers,this.getModelConfigHeaders(this.modelId,!0),await Ge(this.config.o11yHeaders)),body:t,successfulResponseHandler:Rh(yt()),failedResponseHandler:Yt({errorSchema:yt(),errorToMessage:i=>i}),...n&&{abortSignal:n},fetch:this.config.fetch});return{stream:o.pipeThrough(new TransformStream({start(i){r.length>0&&i.enqueue({type:"stream-start",warnings:r})},transform(i,l){if(i.success){const u=i.value;if(u.type==="raw"&&!e.includeRawChunks)return;u.type==="response-metadata"&&u.timestamp&&typeof u.timestamp=="string"&&(u.timestamp=new Date(u.timestamp)),l.enqueue(u)}else l.error(i.error)}})),request:{body:t},response:{headers:s}}}catch(o){throw await Et(o,await Wt(a))}}isFilePart(e){return e&&typeof e=="object"&&"type"in e&&e.type==="file"}maybeEncodeFileParts(e){for(const t of e.prompt)for(const r of t.content)if(this.isFilePart(r)){const n=r;if(n.data instanceof Uint8Array){const a=Uint8Array.from(n.data),o=Buffer.from(a).toString("base64");n.data=new URL(`data:${n.mediaType||"application/octet-stream"};base64,${o}`)}}return e}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders(e,t){return{"ai-language-model-specification-version":"3","ai-language-model-id":e,"ai-language-model-streaming":String(t)}}},em=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v3",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}get provider(){return this.config.provider}async doEmbed({values:e,headers:t,abortSignal:r,providerOptions:n}){var a;const o=await Ge(this.config.headers());try{const{responseHeaders:s,value:i,rawValue:l}=await rn({url:this.getUrl(),headers:en(o,t??{},this.getModelConfigHeaders(),await Ge(this.config.o11yHeaders)),body:{values:e,...n?{providerOptions:n}:{}},successfulResponseHandler:yr(tm),failedResponseHandler:Yt({errorSchema:yt(),errorToMessage:u=>u}),...r&&{abortSignal:r},fetch:this.config.fetch});return{embeddings:i.embeddings,usage:(a=i.usage)!=null?a:void 0,providerMetadata:i.providerMetadata,response:{headers:s,body:l},warnings:[]}}catch(s){throw await Et(s,await Wt(o))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"3","ai-model-id":this.modelId}}},tm=Qt(()=>Dt(G({embeddings:Ue(Ue(Kr())),usage:G({tokens:Kr()}).nullish(),providerMetadata:Tt(R(),Tt(R(),kt())).optional()}))),rm=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v3",this.maxImagesPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate({prompt:e,n:t,size:r,aspectRatio:n,seed:a,files:o,mask:s,providerOptions:i,headers:l,abortSignal:u}){var c;const d=await Ge(this.config.headers());try{const{responseHeaders:p,value:w,rawValue:b}=await rn({url:this.getUrl(),headers:en(d,l??{},this.getModelConfigHeaders(),await Ge(this.config.o11yHeaders)),body:{prompt:e,n:t,...r&&{size:r},...n&&{aspectRatio:n},...a&&{seed:a},...i&&{providerOptions:i},...o&&{files:o.map(_=>Uo(_))},...s&&{mask:Uo(s)}},successfulResponseHandler:yr(am),failedResponseHandler:Yt({errorSchema:yt(),errorToMessage:_=>_}),...u&&{abortSignal:u},fetch:this.config.fetch});return{images:w.images,warnings:(c=w.warnings)!=null?c:[],providerMetadata:w.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:p}}}catch(p){throw Et(p,await Wt(d))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"3","ai-model-id":this.modelId}}};function Uo(e){return e.type==="file"&&e.data instanceof Uint8Array?{...e,data:tn(e.data)}:e}var nm=G({images:Ue(kt()).optional()}).catchall(kt()),am=G({images:Ue(R()),warnings:Ue(G({type:ee("other"),message:R()})).optional(),providerMetadata:Tt(R(),nm).optional()});async function om(){var e;return(e=Pi.getContext().headers)==null?void 0:e["x-vercel-id"]}var sm="3.0.8",im="0.0.1";function lm(e={}){var t,r;let n=null,a=null;const o=(t=e.metadataCacheRefreshMillis)!=null?t:1e3*60*5;let s=0;const i=(r=kh(e.baseURL))!=null?r:"https://ai-gateway.vercel.sh/v3/ai",l=async()=>{try{const _=await cm(e);return Or({Authorization:`Bearer ${_.token}`,"ai-gateway-protocol-version":im,[ji]:_.authMethod,...e.headers},`ai-sdk/gateway/${sm}`)}catch(_){throw la.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:_})}},u=()=>{const _=Zr({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),I=Zr({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),P=Zr({settingValue:void 0,environmentVariableName:"VERCEL_REGION"});return async()=>{const C=await om();return{..._&&{"ai-o11y-deployment-id":_},...I&&{"ai-o11y-environment":I},...P&&{"ai-o11y-region":P},...C&&{"ai-o11y-request-id":C}}}},c=_=>new Qh(_,{provider:"gateway",baseURL:i,headers:l,fetch:e.fetch,o11yHeaders:u()}),d=async()=>{var _,I,P;const C=(P=(I=(_=e._internal)==null?void 0:_.currentDate)==null?void 0:I.call(_).getTime())!=null?P:Date.now();return(!n||C-s>o)&&(s=C,n=new Lo({baseURL:i,headers:l,fetch:e.fetch}).getAvailableModels().then(m=>(a=m,m)).catch(async m=>{throw await Et(m,await Wt(await l()))})),a?Promise.resolve(a):n},p=async()=>new Lo({baseURL:i,headers:l,fetch:e.fetch}).getCredits().catch(async _=>{throw await Et(_,await Wt(await l()))}),w=function(_){if(new.target)throw new Error("The Gateway Provider model function cannot be called with the new keyword.");return c(_)};w.specificationVersion="v3",w.getAvailableModels=d,w.getCredits=p,w.imageModel=_=>new rm(_,{provider:"gateway",baseURL:i,headers:l,fetch:e.fetch,o11yHeaders:u()}),w.languageModel=c;const b=_=>new em(_,{provider:"gateway",baseURL:i,headers:l,fetch:e.fetch,o11yHeaders:u()});return w.embeddingModel=b,w.textEmbeddingModel=b,w}var um=lm();async function cm(e){const t=Zr({settingValue:e.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});return t?{token:t,authMethod:"api-key"}:{token:await Pi.getVercelOidcToken(),authMethod:"oidc"}}var dm=typeof globalThis=="object"?globalThis:typeof self=="object"?self:typeof window=="object"?window:typeof global=="object"?global:{},Ot="1.9.0",jo=/^(\d+)\.(\d+)\.(\d+)(-(.+))?$/;function pm(e){var t=new Set([e]),r=new Set,n=e.match(jo);if(!n)return function(){return!1};var a={major:+n[1],minor:+n[2],patch:+n[3],prerelease:n[4]};if(a.prerelease!=null)return function(l){return l===e};function o(i){return r.add(i),!1}function s(i){return t.add(i),!0}return function(l){if(t.has(l))return!0;if(r.has(l))return!1;var u=l.match(jo);if(!u)return o(l);var c={major:+u[1],minor:+u[2],patch:+u[3],prerelease:u[4]};return c.prerelease!=null||a.major!==c.major?o(l):a.major===0?a.minor===c.minor&&a.patch<=c.patch?s(l):o(l):a.minor<=c.minor?s(l):o(l)}}var fm=pm(Ot),gm=Ot.split(".")[0],vr=Symbol.for("opentelemetry.js.api."+gm),wr=dm;function ua(e,t,r,n){var a;n===void 0&&(n=!1);var o=wr[vr]=(a=wr[vr])!==null&&a!==void 0?a:{version:Ot};if(!n&&o[e]){var s=new Error("@opentelemetry/api: Attempted duplicate registration of API: "+e);return r.error(s.stack||s.message),!1}if(o.version!==Ot){var s=new Error("@opentelemetry/api: Registration of version v"+o.version+" for "+e+" does not match previously registered API v"+Ot);return r.error(s.stack||s.message),!1}return o[e]=t,r.debug("@opentelemetry/api: Registered a global for "+e+" v"+Ot+"."),!0}function _r(e){var t,r,n=(t=wr[vr])===null||t===void 0?void 0:t.version;if(!(!n||!fm(n)))return(r=wr[vr])===null||r===void 0?void 0:r[e]}function ca(e,t){t.debug("@opentelemetry/api: Unregistering a global for "+e+" v"+Ot+".");var r=wr[vr];r&&delete r[e]}var hm=function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),a,o=[],s;try{for(;(t===void 0||t-- >0)&&!(a=n.next()).done;)o.push(a.value)}catch(i){s={error:i}}finally{try{a&&!a.done&&(r=n.return)&&r.call(n)}finally{if(s)throw s.error}}return o},mm=function(e,t,r){if(r||arguments.length===2)for(var n=0,a=t.length,o;n<a;n++)(o||!(n in t))&&(o||(o=Array.prototype.slice.call(t,0,n)),o[n]=t[n]);return e.concat(o||Array.prototype.slice.call(t))},ym=(function(){function e(t){this._namespace=t.namespace||"DiagComponentLogger"}return e.prototype.debug=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return ur("debug",this._namespace,t)},e.prototype.error=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return ur("error",this._namespace,t)},e.prototype.info=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return ur("info",this._namespace,t)},e.prototype.warn=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return ur("warn",this._namespace,t)},e.prototype.verbose=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return ur("verbose",this._namespace,t)},e})();function ur(e,t,r){var n=_r("diag");if(n)return r.unshift(t),n[e].apply(n,mm([],hm(r),!1))}var Le;(function(e){e[e.NONE=0]="NONE",e[e.ERROR=30]="ERROR",e[e.WARN=50]="WARN",e[e.INFO=60]="INFO",e[e.DEBUG=70]="DEBUG",e[e.VERBOSE=80]="VERBOSE",e[e.ALL=9999]="ALL"})(Le||(Le={}));function vm(e,t){e<Le.NONE?e=Le.NONE:e>Le.ALL&&(e=Le.ALL),t=t||{};function r(n,a){var o=t[n];return typeof o=="function"&&e>=a?o.bind(t):function(){}}return{error:r("error",Le.ERROR),warn:r("warn",Le.WARN),info:r("info",Le.INFO),debug:r("debug",Le.DEBUG),verbose:r("verbose",Le.VERBOSE)}}var wm=function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),a,o=[],s;try{for(;(t===void 0||t-- >0)&&!(a=n.next()).done;)o.push(a.value)}catch(i){s={error:i}}finally{try{a&&!a.done&&(r=n.return)&&r.call(n)}finally{if(s)throw s.error}}return o},_m=function(e,t,r){if(r||arguments.length===2)for(var n=0,a=t.length,o;n<a;n++)(o||!(n in t))&&(o||(o=Array.prototype.slice.call(t,0,n)),o[n]=t[n]);return e.concat(o||Array.prototype.slice.call(t))},Tm="diag",nn=(function(){function e(){function t(a){return function(){for(var o=[],s=0;s<arguments.length;s++)o[s]=arguments[s];var i=_r("diag");if(i)return i[a].apply(i,_m([],wm(o),!1))}}var r=this,n=function(a,o){var s,i,l;if(o===void 0&&(o={logLevel:Le.INFO}),a===r){var u=new Error("Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation");return r.error((s=u.stack)!==null&&s!==void 0?s:u.message),!1}typeof o=="number"&&(o={logLevel:o});var c=_r("diag"),d=vm((i=o.logLevel)!==null&&i!==void 0?i:Le.INFO,a);if(c&&!o.suppressOverrideMessage){var p=(l=new Error().stack)!==null&&l!==void 0?l:"<failed to generate stacktrace>";c.warn("Current logger will be overwritten from "+p),d.warn("Current logger will overwrite one already registered from "+p)}return ua("diag",d,r,!0)};r.setLogger=n,r.disable=function(){ca(Tm,r)},r.createComponentLogger=function(a){return new ym(a)},r.verbose=t("verbose"),r.debug=t("debug"),r.info=t("info"),r.warn=t("warn"),r.error=t("error")}return e.instance=function(){return this._instance||(this._instance=new e),this._instance},e})();function Em(e){return Symbol.for(e)}var bm=(function(){function e(t){var r=this;r._currentContext=t?new Map(t):new Map,r.getValue=function(n){return r._currentContext.get(n)},r.setValue=function(n,a){var o=new e(r._currentContext);return o._currentContext.set(n,a),o},r.deleteValue=function(n){var a=new e(r._currentContext);return a._currentContext.delete(n),a}}return e})(),Im=new bm,Sm=function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),a,o=[],s;try{for(;(t===void 0||t-- >0)&&!(a=n.next()).done;)o.push(a.value)}catch(i){s={error:i}}finally{try{a&&!a.done&&(r=n.return)&&r.call(n)}finally{if(s)throw s.error}}return o},Am=function(e,t,r){if(r||arguments.length===2)for(var n=0,a=t.length,o;n<a;n++)(o||!(n in t))&&(o||(o=Array.prototype.slice.call(t,0,n)),o[n]=t[n]);return e.concat(o||Array.prototype.slice.call(t))},Nm=(function(){function e(){}return e.prototype.active=function(){return Im},e.prototype.with=function(t,r,n){for(var a=[],o=3;o<arguments.length;o++)a[o-3]=arguments[o];return r.call.apply(r,Am([n],Sm(a),!1))},e.prototype.bind=function(t,r){return r},e.prototype.enable=function(){return this},e.prototype.disable=function(){return this},e})(),xm=function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),a,o=[],s;try{for(;(t===void 0||t-- >0)&&!(a=n.next()).done;)o.push(a.value)}catch(i){s={error:i}}finally{try{a&&!a.done&&(r=n.return)&&r.call(n)}finally{if(s)throw s.error}}return o},Om=function(e,t,r){if(r||arguments.length===2)for(var n=0,a=t.length,o;n<a;n++)(o||!(n in t))&&(o||(o=Array.prototype.slice.call(t,0,n)),o[n]=t[n]);return e.concat(o||Array.prototype.slice.call(t))},kn="context",Rm=new Nm,qi=(function(){function e(){}return e.getInstance=function(){return this._instance||(this._instance=new e),this._instance},e.prototype.setGlobalContextManager=function(t){return ua(kn,t,nn.instance())},e.prototype.active=function(){return this._getContextManager().active()},e.prototype.with=function(t,r,n){for(var a,o=[],s=3;s<arguments.length;s++)o[s-3]=arguments[s];return(a=this._getContextManager()).with.apply(a,Om([t,r,n],xm(o),!1))},e.prototype.bind=function(t,r){return this._getContextManager().bind(t,r)},e.prototype._getContextManager=function(){return _r(kn)||Rm},e.prototype.disable=function(){this._getContextManager().disable(),ca(kn,nn.instance())},e})(),Gn;(function(e){e[e.NONE=0]="NONE",e[e.SAMPLED=1]="SAMPLED"})(Gn||(Gn={}));var Zi="0000000000000000",Gi="00000000000000000000000000000000",km={traceId:Gi,spanId:Zi,traceFlags:Gn.NONE},pr=(function(){function e(t){t===void 0&&(t=km),this._spanContext=t}return e.prototype.spanContext=function(){return this._spanContext},e.prototype.setAttribute=function(t,r){return this},e.prototype.setAttributes=function(t){return this},e.prototype.addEvent=function(t,r){return this},e.prototype.addLink=function(t){return this},e.prototype.addLinks=function(t){return this},e.prototype.setStatus=function(t){return this},e.prototype.updateName=function(t){return this},e.prototype.end=function(t){},e.prototype.isRecording=function(){return!1},e.prototype.recordException=function(t,r){},e})(),da=Em("OpenTelemetry Context Key SPAN");function pa(e){return e.getValue(da)||void 0}function Pm(){return pa(qi.getInstance().active())}function fa(e,t){return e.setValue(da,t)}function Cm(e){return e.deleteValue(da)}function Dm(e,t){return fa(e,new pr(t))}function Bi(e){var t;return(t=pa(e))===null||t===void 0?void 0:t.spanContext()}var zm=/^([0-9a-f]{32})$/i,$m=/^[0-9a-f]{16}$/i;function Mm(e){return zm.test(e)&&e!==Gi}function Fm(e){return $m.test(e)&&e!==Zi}function Vi(e){return Mm(e.traceId)&&Fm(e.spanId)}function Lm(e){return new pr(e)}var Pn=qi.getInstance(),Hi=(function(){function e(){}return e.prototype.startSpan=function(t,r,n){n===void 0&&(n=Pn.active());var a=!!(r!=null&&r.root);if(a)return new pr;var o=n&&Bi(n);return Um(o)&&Vi(o)?new pr(o):new pr},e.prototype.startActiveSpan=function(t,r,n,a){var o,s,i;if(!(arguments.length<2)){arguments.length===2?i=r:arguments.length===3?(o=r,i=n):(o=r,s=n,i=a);var l=s??Pn.active(),u=this.startSpan(t,o,l),c=fa(l,u);return Pn.with(c,i,void 0,u)}},e})();function Um(e){return typeof e=="object"&&typeof e.spanId=="string"&&typeof e.traceId=="string"&&typeof e.traceFlags=="number"}var jm=new Hi,qm=(function(){function e(t,r,n,a){this._provider=t,this.name=r,this.version=n,this.options=a}return e.prototype.startSpan=function(t,r,n){return this._getTracer().startSpan(t,r,n)},e.prototype.startActiveSpan=function(t,r,n,a){var o=this._getTracer();return Reflect.apply(o.startActiveSpan,o,arguments)},e.prototype._getTracer=function(){if(this._delegate)return this._delegate;var t=this._provider.getDelegateTracer(this.name,this.version,this.options);return t?(this._delegate=t,this._delegate):jm},e})(),Zm=(function(){function e(){}return e.prototype.getTracer=function(t,r,n){return new Hi},e})(),Gm=new Zm,qo=(function(){function e(){}return e.prototype.getTracer=function(t,r,n){var a;return(a=this.getDelegateTracer(t,r,n))!==null&&a!==void 0?a:new qm(this,t,r,n)},e.prototype.getDelegate=function(){var t;return(t=this._delegate)!==null&&t!==void 0?t:Gm},e.prototype.setDelegate=function(t){this._delegate=t},e.prototype.getDelegateTracer=function(t,r,n){var a;return(a=this._delegate)===null||a===void 0?void 0:a.getTracer(t,r,n)},e})(),an;(function(e){e[e.UNSET=0]="UNSET",e[e.OK=1]="OK",e[e.ERROR=2]="ERROR"})(an||(an={}));var Cn="trace",Bm=(function(){function e(){this._proxyTracerProvider=new qo,this.wrapSpanContext=Lm,this.isSpanContextValid=Vi,this.deleteSpan=Cm,this.getSpan=pa,this.getActiveSpan=Pm,this.getSpanContext=Bi,this.setSpan=fa,this.setSpanContext=Dm}return e.getInstance=function(){return this._instance||(this._instance=new e),this._instance},e.prototype.setGlobalTracerProvider=function(t){var r=ua(Cn,this._proxyTracerProvider,nn.instance());return r&&this._proxyTracerProvider.setDelegate(t),r},e.prototype.getTracerProvider=function(){return _r(Cn)||this._proxyTracerProvider},e.prototype.getTracer=function(t,r){return this.getTracerProvider().getTracer(t,r)},e.prototype.disable=function(){ca(Cn,nn.instance()),this._proxyTracerProvider=new qo},e})(),Vm=Bm.getInstance(),Hm=Object.defineProperty,Jm=(e,t)=>{for(var r in t)Hm(e,r,{get:t[r],enumerable:!0})},Ji="AI_InvalidArgumentError",Yi=`vercel.ai.error.${Ji}`,Ym=Symbol.for(Yi),Wi,et=class extends H{constructor({parameter:e,value:t,message:r}){super({name:Ji,message:`Invalid argument for parameter ${e}: ${r}`}),this[Wi]=!0,this.parameter=e,this.value=t}static isInstance(e){return H.hasMarker(e,Yi)}};Wi=Ym;var Ki="AI_InvalidToolApprovalError",Xi=`vercel.ai.error.${Ki}`,Wm=Symbol.for(Xi),Qi,Km=class extends H{constructor({approvalId:e}){super({name:Ki,message:`Tool approval response references unknown approvalId: "${e}". No matching tool-approval-request found in message history.`}),this[Qi]=!0,this.approvalId=e}static isInstance(e){return H.hasMarker(e,Xi)}};Qi=Wm;var el="AI_InvalidToolInputError",tl=`vercel.ai.error.${el}`,Xm=Symbol.for(tl),rl,ga=class extends H{constructor({toolInput:e,toolName:t,cause:r,message:n=`Invalid input for tool ${t}: ${Kt(r)}`}){super({name:el,message:n,cause:r}),this[rl]=!0,this.toolInput=e,this.toolName=t}static isInstance(e){return H.hasMarker(e,tl)}};rl=Xm;var nl="AI_ToolCallNotFoundForApprovalError",al=`vercel.ai.error.${nl}`,Qm=Symbol.for(al),ol,ha=class extends H{constructor({toolCallId:e,approvalId:t}){super({name:nl,message:`Tool call "${e}" not found for approval request "${t}".`}),this[ol]=!0,this.toolCallId=e,this.approvalId=t}static isInstance(e){return H.hasMarker(e,al)}};ol=Qm;var sl="AI_NoObjectGeneratedError",il=`vercel.ai.error.${sl}`,ey=Symbol.for(il),ll,vt=class extends H{constructor({message:e="No object generated.",cause:t,text:r,response:n,usage:a,finishReason:o}){super({name:sl,message:e,cause:t}),this[ll]=!0,this.text=r,this.response=n,this.usage=a,this.finishReason=o}static isInstance(e){return H.hasMarker(e,il)}};ll=ey;var ul="AI_NoOutputGeneratedError",cl=`vercel.ai.error.${ul}`,ty=Symbol.for(cl),dl,pl=class extends H{constructor({message:e="No output generated.",cause:t}={}){super({name:ul,message:e,cause:t}),this[dl]=!0}static isInstance(e){return H.hasMarker(e,cl)}};dl=ty;var fl="AI_NoSuchToolError",gl=`vercel.ai.error.${fl}`,ry=Symbol.for(gl),hl,Bn=class extends H{constructor({toolName:e,availableTools:t=void 0,message:r=`Model tried to call unavailable tool '${e}'. ${t===void 0?"No tools are available.":`Available tools: ${t.join(", ")}.`}`}){super({name:fl,message:r}),this[hl]=!0,this.toolName=e,this.availableTools=t}static isInstance(e){return H.hasMarker(e,gl)}};hl=ry;var ml="AI_ToolCallRepairError",yl=`vercel.ai.error.${ml}`,ny=Symbol.for(yl),vl,ay=class extends H{constructor({cause:e,originalError:t,message:r=`Error repairing tool call: ${Kt(e)}`}){super({name:ml,message:r,cause:e}),this[vl]=!0,this.originalError=t}static isInstance(e){return H.hasMarker(e,yl)}};vl=ny;var oy=class extends H{constructor(e){super({name:"AI_UnsupportedModelVersionError",message:`Unsupported model version ${e.version} for provider "${e.provider}" and model "${e.modelId}". AI SDK 5 only supports models that implement specification version "v2".`}),this.version=e.version,this.provider=e.provider,this.modelId=e.modelId}},wl="AI_InvalidMessageRoleError",_l=`vercel.ai.error.${wl}`,sy=Symbol.for(_l),Tl,iy=class extends H{constructor({role:e,message:t=`Invalid message role: '${e}'. Must be one of: "system", "user", "assistant", "tool".`}){super({name:wl,message:t}),this[Tl]=!0,this.role=e}static isInstance(e){return H.hasMarker(e,_l)}};Tl=sy;var El="AI_RetryError",bl=`vercel.ai.error.${El}`,ly=Symbol.for(bl),Il,Zo=class extends H{constructor({message:e,reason:t,errors:r}){super({name:El,message:e}),this[Il]=!0,this.reason=t,this.errors=r,this.lastError=r[r.length-1]}static isInstance(e){return H.hasMarker(e,bl)}};Il=ly;function uy({warning:e,provider:t,model:r}){const n=`AI SDK Warning (${t} / ${r}):`;switch(e.type){case"unsupported":{let a=`${n} The feature "${e.feature}" is not supported.`;return e.details&&(a+=` ${e.details}`),a}case"compatibility":{let a=`${n} The feature "${e.feature}" is used in a compatibility mode.`;return e.details&&(a+=` ${e.details}`),a}case"other":return`${n} ${e.message}`;default:return`${n} ${JSON.stringify(e,null,2)}`}}var cy="AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.",Go=!1,ma=e=>{if(e.warnings.length===0)return;const t=globalThis.AI_SDK_LOG_WARNINGS;if(t!==!1){if(typeof t=="function"){t(e);return}Go||(Go=!0,console.info(cy));for(const r of e.warnings)console.warn(uy({warning:r,provider:e.provider,model:e.model}))}};function dy({provider:e,modelId:t}){ma({warnings:[{type:"compatibility",feature:"specificationVersion",details:"Using v2 specification compatibility mode. Some features may not be available."}],provider:e,model:t})}function py(e){return e.specificationVersion==="v3"?e:(dy({provider:e.provider,modelId:e.modelId}),new Proxy(e,{get(t,r){switch(r){case"specificationVersion":return"v3";case"doGenerate":return async(...n)=>{const a=await t.doGenerate(...n);return{...a,finishReason:Sl(a.finishReason),usage:Al(a.usage)}};case"doStream":return async(...n)=>{const a=await t.doStream(...n);return{...a,stream:fy(a.stream)}};default:return t[r]}}}))}function fy(e){return e.pipeThrough(new TransformStream({transform(t,r){switch(t.type){case"finish":r.enqueue({...t,finishReason:Sl(t.finishReason),usage:Al(t.usage)});break;default:r.enqueue(t);break}}}))}function Sl(e){return{unified:e==="unknown"?"other":e,raw:void 0}}function Al(e){return{inputTokens:{total:e.inputTokens,noCache:void 0,cacheRead:e.cachedInputTokens,cacheWrite:void 0},outputTokens:{total:e.outputTokens,text:void 0,reasoning:e.reasoningTokens}}}function on(e){if(typeof e!="string"){if(e.specificationVersion!=="v3"&&e.specificationVersion!=="v2"){const t=e;throw new oy({version:t.specificationVersion,provider:t.provider,modelId:t.modelId})}return py(e)}return gy().languageModel(e)}function gy(){var e;return(e=globalThis.AI_SDK_DEFAULT_PROVIDER)!=null?e:um}var hy=[{mediaType:"image/gif",bytesPrefix:[71,73,70]},{mediaType:"image/png",bytesPrefix:[137,80,78,71]},{mediaType:"image/jpeg",bytesPrefix:[255,216]},{mediaType:"image/webp",bytesPrefix:[82,73,70,70,null,null,null,null,87,69,66,80]},{mediaType:"image/bmp",bytesPrefix:[66,77]},{mediaType:"image/tiff",bytesPrefix:[73,73,42,0]},{mediaType:"image/tiff",bytesPrefix:[77,77,0,42]},{mediaType:"image/avif",bytesPrefix:[0,0,0,32,102,116,121,112,97,118,105,102]},{mediaType:"image/heic",bytesPrefix:[0,0,0,32,102,116,121,112,104,101,105,99]}],my=e=>{const t=typeof e=="string"?oa(e):e,r=(t[6]&127)<<21|(t[7]&127)<<14|(t[8]&127)<<7|t[9]&127;return t.slice(r+10)};function yy(e){return typeof e=="string"&&e.startsWith("SUQz")||typeof e!="string"&&e.length>10&&e[0]===73&&e[1]===68&&e[2]===51?my(e):e}function vy({data:e,signatures:t}){const r=yy(e),n=typeof r=="string"?oa(r.substring(0,Math.min(r.length,24))):r;for(const a of t)if(n.length>=a.bytesPrefix.length&&a.bytesPrefix.every((o,s)=>o===null||n[s]===o))return a.mediaType}var Nl="6.0.11",wy=async({url:e})=>{var t;const r=e.toString();try{const n=await fetch(r,{headers:Or({},`ai-sdk/${Nl}`,ia())});if(!n.ok)throw new Sn({url:r,statusCode:n.status,statusText:n.statusText});return{data:new Uint8Array(await n.arrayBuffer()),mediaType:(t=n.headers.get("content-type"))!=null?t:void 0}}catch(n){throw Sn.isInstance(n)?n:new Sn({url:r,cause:n})}},_y=(e=wy)=>t=>Promise.all(t.map(async r=>r.isUrlSupportedByModel?null:e(r)));function Ty(e){try{const[t,r]=e.split(",");return{mediaType:t.split(";")[0].split(":")[1],base64Content:r}}catch{return{mediaType:void 0,base64Content:void 0}}}var xl=Pe([R(),Xr(Uint8Array),Xr(ArrayBuffer),vg(e=>{var t,r;return(r=(t=globalThis.Buffer)==null?void 0:t.isBuffer(e))!=null?r:!1},{message:"Must be a Buffer"})]);function Ol(e){if(e instanceof Uint8Array)return{data:e,mediaType:void 0};if(e instanceof ArrayBuffer)return{data:new Uint8Array(e),mediaType:void 0};if(typeof e=="string")try{e=new URL(e)}catch{}if(e instanceof URL&&e.protocol==="data:"){const{mediaType:t,base64Content:r}=Ty(e.toString());if(t==null||r==null)throw new H({name:"InvalidDataContentError",message:`Invalid data URL format in content ${e.toString()}`});return{data:r,mediaType:t}}return{data:e,mediaType:void 0}}function Ey(e){return typeof e=="string"?e:e instanceof ArrayBuffer?tn(new Uint8Array(e)):tn(e)}function Tr(e){return e===void 0?[]:Array.isArray(e)?e:[e]}async function Rl({prompt:e,supportedUrls:t,download:r=_y()}){const n=await Iy(e.messages,r,t),a=[...e.system!=null?typeof e.system=="string"?[{role:"system",content:e.system}]:Tr(e.system).map(s=>({role:"system",content:s.content,providerOptions:s.providerOptions})):[],...e.messages.map(s=>by({message:s,downloadedAssets:n}))],o=[];for(const s of a){if(s.role!=="tool"){o.push(s);continue}const i=o.at(-1);(i==null?void 0:i.role)==="tool"?i.content.push(...s.content):o.push(s)}return o}function by({message:e,downloadedAssets:t}){const r=e.role;switch(r){case"system":return{role:"system",content:e.content,providerOptions:e.providerOptions};case"user":return typeof e.content=="string"?{role:"user",content:[{type:"text",text:e.content}],providerOptions:e.providerOptions}:{role:"user",content:e.content.map(n=>Sy(n,t)).filter(n=>n.type!=="text"||n.text!==""),providerOptions:e.providerOptions};case"assistant":return typeof e.content=="string"?{role:"assistant",content:[{type:"text",text:e.content}],providerOptions:e.providerOptions}:{role:"assistant",content:e.content.filter(n=>n.type!=="text"||n.text!==""||n.providerOptions!=null).filter(n=>n.type!=="tool-approval-request").map(n=>{const a=n.providerOptions;switch(n.type){case"file":{const{data:o,mediaType:s}=Ol(n.data);return{type:"file",data:o,filename:n.filename,mediaType:s??n.mediaType,providerOptions:a}}case"reasoning":return{type:"reasoning",text:n.text,providerOptions:a};case"text":return{type:"text",text:n.text,providerOptions:a};case"tool-call":return{type:"tool-call",toolCallId:n.toolCallId,toolName:n.toolName,input:n.input,providerExecuted:n.providerExecuted,providerOptions:a};case"tool-result":return{type:"tool-result",toolCallId:n.toolCallId,toolName:n.toolName,output:Bo(n.output),providerOptions:a}}}),providerOptions:e.providerOptions};case"tool":return{role:"tool",content:e.content.filter(n=>n.type!=="tool-approval-response"||n.providerExecuted).map(n=>{switch(n.type){case"tool-result":return{type:"tool-result",toolCallId:n.toolCallId,toolName:n.toolName,output:Bo(n.output),providerOptions:n.providerOptions};case"tool-approval-response":return{type:"tool-approval-response",approvalId:n.approvalId,approved:n.approved,reason:n.reason}}}),providerOptions:e.providerOptions};default:{const n=r;throw new iy({role:n})}}}async function Iy(e,t,r){const n=e.filter(o=>o.role==="user").map(o=>o.content).filter(o=>Array.isArray(o)).flat().filter(o=>o.type==="image"||o.type==="file").map(o=>{var s;const i=(s=o.mediaType)!=null?s:o.type==="image"?"image/*":void 0;let l=o.type==="image"?o.image:o.data;if(typeof l=="string")try{l=new URL(l)}catch{}return{mediaType:i,data:l}}).filter(o=>o.data instanceof URL).map(o=>({url:o.data,isUrlSupportedByModel:o.mediaType!=null&&kg({url:o.data.toString(),mediaType:o.mediaType,supportedUrls:r})})),a=await t(n);return Object.fromEntries(a.map((o,s)=>o==null?null:[n[s].url.toString(),{data:o.data,mediaType:o.mediaType}]).filter(o=>o!=null))}function Sy(e,t){var r;if(e.type==="text")return{type:"text",text:e.text,providerOptions:e.providerOptions};let n;const a=e.type;switch(a){case"image":n=e.image;break;case"file":n=e.data;break;default:throw new Error(`Unsupported part type: ${a}`)}const{data:o,mediaType:s}=Ol(n);let i=s??e.mediaType,l=o;if(l instanceof URL){const u=t[l.toString()];u&&(l=u.data,i??(i=u.mediaType))}switch(a){case"image":return(l instanceof Uint8Array||typeof l=="string")&&(i=(r=vy({data:l,signatures:hy}))!=null?r:i),{type:"file",mediaType:i??"image/*",filename:void 0,data:l,providerOptions:e.providerOptions};case"file":{if(i==null)throw new Error("Media type is missing for file part");return{type:"file",mediaType:i,filename:e.filename,data:l,providerOptions:e.providerOptions}}}}function Bo(e){return e.type!=="content"?e:{type:"content",value:e.value.map(t=>t.type!=="media"?t:t.mediaType.startsWith("image/")?{type:"image-data",data:t.data,mediaType:t.mediaType}:{type:"file-data",data:t.data,mediaType:t.mediaType})}}async function fr({toolCallId:e,input:t,output:r,tool:n,errorMode:a}){return a==="text"?{type:"error-text",value:Kt(r)}:a==="json"?{type:"error-json",value:Vo(r)}:n!=null&&n.toModelOutput?await n.toModelOutput({toolCallId:e,input:t,output:r}):typeof r=="string"?{type:"text",value:r}:{type:"json",value:Vo(r)}}function Vo(e){return e===void 0?null:e}function Vn({maxOutputTokens:e,temperature:t,topP:r,topK:n,presencePenalty:a,frequencyPenalty:o,seed:s,stopSequences:i}){if(e!=null){if(!Number.isInteger(e))throw new et({parameter:"maxOutputTokens",value:e,message:"maxOutputTokens must be an integer"});if(e<1)throw new et({parameter:"maxOutputTokens",value:e,message:"maxOutputTokens must be >= 1"})}if(t!=null&&typeof t!="number")throw new et({parameter:"temperature",value:t,message:"temperature must be a number"});if(r!=null&&typeof r!="number")throw new et({parameter:"topP",value:r,message:"topP must be a number"});if(n!=null&&typeof n!="number")throw new et({parameter:"topK",value:n,message:"topK must be a number"});if(a!=null&&typeof a!="number")throw new et({parameter:"presencePenalty",value:a,message:"presencePenalty must be a number"});if(o!=null&&typeof o!="number")throw new et({parameter:"frequencyPenalty",value:o,message:"frequencyPenalty must be a number"});if(s!=null&&!Number.isInteger(s))throw new et({parameter:"seed",value:s,message:"seed must be an integer"});return{maxOutputTokens:e,temperature:t,topP:r,topK:n,presencePenalty:a,frequencyPenalty:o,stopSequences:i,seed:s}}function Ay(e){return e!=null&&Object.keys(e).length>0}async function kl({tools:e,toolChoice:t,activeTools:r}){if(!Ay(e))return{tools:void 0,toolChoice:void 0};const n=r!=null?Object.entries(e).filter(([o])=>r.includes(o)):Object.entries(e),a=[];for(const[o,s]of n){const i=s.type;switch(i){case void 0:case"dynamic":case"function":a.push({type:"function",name:o,description:s.description,inputSchema:await er(s.inputSchema).jsonSchema,...s.inputExamples!=null?{inputExamples:s.inputExamples}:{},providerOptions:s.providerOptions,...s.strict!=null?{strict:s.strict}:{}});break;case"provider":a.push({type:"provider",name:o,id:s.id,args:s.args});break;default:{const l=i;throw new Error(`Unsupported tool type: ${l}`)}}}return{tools:a,toolChoice:t==null?{type:"auto"}:typeof t=="string"?{type:t}:{type:"tool",toolName:t.toolName}}}var Er=yg(()=>Pe([qf(),R(),Kr(),na(),Tt(R(),Er.optional()),Ue(Er)])),ye=Tt(R(),Tt(R(),Er.optional())),Pl=G({type:ee("text"),text:R(),providerOptions:ye.optional()}),Ny=G({type:ee("image"),image:Pe([xl,Xr(URL)]),mediaType:R().optional(),providerOptions:ye.optional()}),Cl=G({type:ee("file"),data:Pe([xl,Xr(URL)]),filename:R().optional(),mediaType:R(),providerOptions:ye.optional()}),xy=G({type:ee("reasoning"),text:R(),providerOptions:ye.optional()}),Oy=G({type:ee("tool-call"),toolCallId:R(),toolName:R(),input:kt(),providerOptions:ye.optional(),providerExecuted:na().optional()}),Ry=Wf("type",[G({type:ee("text"),value:R(),providerOptions:ye.optional()}),G({type:ee("json"),value:Er,providerOptions:ye.optional()}),G({type:ee("execution-denied"),reason:R().optional(),providerOptions:ye.optional()}),G({type:ee("error-text"),value:R(),providerOptions:ye.optional()}),G({type:ee("error-json"),value:Er,providerOptions:ye.optional()}),G({type:ee("content"),value:Ue(Pe([G({type:ee("text"),text:R(),providerOptions:ye.optional()}),G({type:ee("media"),data:R(),mediaType:R()}),G({type:ee("file-data"),data:R(),mediaType:R(),filename:R().optional(),providerOptions:ye.optional()}),G({type:ee("file-url"),url:R(),providerOptions:ye.optional()}),G({type:ee("file-id"),fileId:Pe([R(),Tt(R(),R())]),providerOptions:ye.optional()}),G({type:ee("image-data"),data:R(),mediaType:R(),providerOptions:ye.optional()}),G({type:ee("image-url"),url:R(),providerOptions:ye.optional()}),G({type:ee("image-file-id"),fileId:Pe([R(),Tt(R(),R())]),providerOptions:ye.optional()}),G({type:ee("custom"),providerOptions:ye.optional()})]))})]),Dl=G({type:ee("tool-result"),toolCallId:R(),toolName:R(),output:Ry,providerOptions:ye.optional()}),ky=G({type:ee("tool-approval-request"),approvalId:R(),toolCallId:R()}),Py=G({type:ee("tool-approval-response"),approvalId:R(),approved:na(),reason:R().optional()}),Cy=G({role:ee("system"),content:R(),providerOptions:ye.optional()}),Dy=G({role:ee("user"),content:Pe([R(),Ue(Pe([Pl,Ny,Cl]))]),providerOptions:ye.optional()}),zy=G({role:ee("assistant"),content:Pe([R(),Ue(Pe([Pl,Cl,xy,Oy,Dl,ky]))]),providerOptions:ye.optional()}),$y=G({role:ee("tool"),content:Ue(Pe([Dl,Py])),providerOptions:ye.optional()}),My=Pe([Cy,Dy,zy,$y]);async function zl(e){if(e.prompt==null&&e.messages==null)throw new Zt({prompt:e,message:"prompt or messages must be defined"});if(e.prompt!=null&&e.messages!=null)throw new Zt({prompt:e,message:"prompt and messages cannot be defined at the same time"});if(e.system!=null&&typeof e.system!="string"&&!Tr(e.system).every(n=>typeof n=="object"&&n!==null&&"role"in n&&n.role==="system"))throw new Zt({prompt:e,message:"system must be a string, SystemModelMessage, or array of SystemModelMessage"});let t;if(e.prompt!=null&&typeof e.prompt=="string")t=[{role:"user",content:e.prompt}];else if(e.prompt!=null&&Array.isArray(e.prompt))t=e.prompt;else if(e.messages!=null)t=e.messages;else throw new Zt({prompt:e,message:"prompt or messages must be defined"});if(t.length===0)throw new Zt({prompt:e,message:"messages must not be empty"});const r=await rt({value:t,schema:Ue(My)});if(!r.success)throw new Zt({prompt:e,message:"The messages do not match the ModelMessage[] schema.",cause:r.error});return{messages:t,system:e.system}}function $l(e){if(!la.isInstance(e))return e;const t=(process==null?void 0:process.env.NODE_ENV)==="production",r="https://ai-sdk.dev/unauthenticated-ai-gateway";return t?new H({name:"GatewayError",message:`Unauthenticated. Configure AI_GATEWAY_API_KEY or use a provider module. Learn more: ${r}`}):Object.assign(new Error(`\x1B[1m\x1B[31mUnauthenticated request to AI Gateway.\x1B[0m
65
+
66
+ To authenticate, set the \x1B[33mAI_GATEWAY_API_KEY\x1B[0m environment variable with your API key.
67
+
68
+ Alternatively, you can use a provider module instead of the AI Gateway.
69
+
70
+ Learn more: \x1B[34m${r}\x1B[0m
71
+
72
+ `),{name:"GatewayAuthenticationError"})}function br({operationId:e,telemetry:t}){return{"operation.name":`${e}${(t==null?void 0:t.functionId)!=null?` ${t.functionId}`:""}`,"resource.name":t==null?void 0:t.functionId,"ai.operationId":e,"ai.telemetry.functionId":t==null?void 0:t.functionId}}function Ml({model:e,settings:t,telemetry:r,headers:n}){var a;return{"ai.model.provider":e.provider,"ai.model.id":e.modelId,...Object.entries(t).reduce((o,[s,i])=>(o[`ai.settings.${s}`]=i,o),{}),...Object.entries((a=r==null?void 0:r.metadata)!=null?a:{}).reduce((o,[s,i])=>(o[`ai.telemetry.metadata.${s}`]=i,o),{}),...Object.entries(n??{}).reduce((o,[s,i])=>(i!==void 0&&(o[`ai.request.headers.${s}`]=i),o),{})}}var Fy={startSpan(){return jr},startActiveSpan(e,t,r,n){if(typeof t=="function")return t(jr);if(typeof r=="function")return r(jr);if(typeof n=="function")return n(jr)}},jr={spanContext(){return Ly},setAttribute(){return this},setAttributes(){return this},addEvent(){return this},addLink(){return this},addLinks(){return this},setStatus(){return this},updateName(){return this},end(){return this},isRecording(){return!1},recordException(){return this}},Ly={traceId:"",spanId:"",traceFlags:0};function Fl({isEnabled:e=!1,tracer:t}={}){return e?t||Vm.getTracer("ai"):Fy}async function Ir({name:e,tracer:t,attributes:r,fn:n,endWhenDone:a=!0}){return t.startActiveSpan(e,{attributes:await r},async o=>{try{const s=await n(o);return a&&o.end(),s}catch(s){try{Ll(o,s)}finally{o.end()}throw s}})}function Ll(e,t){t instanceof Error?(e.recordException({name:t.name,message:t.message,stack:t.stack}),e.setStatus({code:an.ERROR,message:t.message})):e.setStatus({code:an.ERROR})}async function tt({telemetry:e,attributes:t}){if((e==null?void 0:e.isEnabled)!==!0)return{};const r={};for(const[n,a]of Object.entries(t))if(a!=null){if(typeof a=="object"&&"input"in a&&typeof a.input=="function"){if((e==null?void 0:e.recordInputs)===!1)continue;const o=await a.input();o!=null&&(r[n]=o);continue}if(typeof a=="object"&&"output"in a&&typeof a.output=="function"){if((e==null?void 0:e.recordOutputs)===!1)continue;const o=await a.output();o!=null&&(r[n]=o);continue}r[n]=a}return r}function Ul(e){return JSON.stringify(e.map(t=>({...t,content:typeof t.content=="string"?t.content:t.content.map(r=>r.type==="file"?{...r,data:r.data instanceof Uint8Array?Ey(r.data):r.data}:r)})))}function jl(e){return{inputTokens:e.inputTokens.total,inputTokenDetails:{noCacheTokens:e.inputTokens.noCache,cacheReadTokens:e.inputTokens.cacheRead,cacheWriteTokens:e.inputTokens.cacheWrite},outputTokens:e.outputTokens.total,outputTokenDetails:{textTokens:e.outputTokens.text,reasoningTokens:e.outputTokens.reasoning},totalTokens:Ye(e.inputTokens.total,e.outputTokens.total),raw:e.raw,reasoningTokens:e.outputTokens.reasoning,cachedInputTokens:e.inputTokens.cacheRead}}function Dn(){return{inputTokens:void 0,inputTokenDetails:{noCacheTokens:void 0,cacheReadTokens:void 0,cacheWriteTokens:void 0},outputTokens:void 0,outputTokenDetails:{textTokens:void 0,reasoningTokens:void 0},totalTokens:void 0,raw:void 0}}function ql(e,t){var r,n,a,o,s,i,l,u,c,d;return{inputTokens:Ye(e.inputTokens,t.inputTokens),inputTokenDetails:{noCacheTokens:Ye((r=e.inputTokenDetails)==null?void 0:r.noCacheTokens,(n=t.inputTokenDetails)==null?void 0:n.noCacheTokens),cacheReadTokens:Ye((a=e.inputTokenDetails)==null?void 0:a.cacheReadTokens,(o=t.inputTokenDetails)==null?void 0:o.cacheReadTokens),cacheWriteTokens:Ye((s=e.inputTokenDetails)==null?void 0:s.cacheWriteTokens,(i=t.inputTokenDetails)==null?void 0:i.cacheWriteTokens)},outputTokens:Ye(e.outputTokens,t.outputTokens),outputTokenDetails:{textTokens:Ye((l=e.outputTokenDetails)==null?void 0:l.textTokens,(u=t.outputTokenDetails)==null?void 0:u.textTokens),reasoningTokens:Ye((c=e.outputTokenDetails)==null?void 0:c.reasoningTokens,(d=t.outputTokenDetails)==null?void 0:d.reasoningTokens)},totalTokens:Ye(e.totalTokens,t.totalTokens),reasoningTokens:Ye(e.reasoningTokens,t.reasoningTokens),cachedInputTokens:Ye(e.cachedInputTokens,t.cachedInputTokens)}}function Ye(e,t){return e==null&&t==null?void 0:(e??0)+(t??0)}function gn(e,t){if(e===void 0&&t===void 0)return;if(e===void 0)return t;if(t===void 0)return e;const r={...e};for(const n in t)if(Object.prototype.hasOwnProperty.call(t,n)){const a=t[n];if(a===void 0)continue;const o=n in e?e[n]:void 0,s=a!==null&&typeof a=="object"&&!Array.isArray(a)&&!(a instanceof Date)&&!(a instanceof RegExp),i=o!=null&&typeof o=="object"&&!Array.isArray(o)&&!(o instanceof Date)&&!(o instanceof RegExp);s&&i?r[n]=gn(o,a):r[n]=a}return r}function Uy({error:e,exponentialBackoffDelay:t}){const r=e.responseHeaders;if(!r)return t;let n;const a=r["retry-after-ms"];if(a){const s=parseFloat(a);Number.isNaN(s)||(n=s)}const o=r["retry-after"];if(o&&n===void 0){const s=parseFloat(o);Number.isNaN(s)?n=Date.parse(o)-Date.now():n=s*1e3}return n!=null&&!Number.isNaN(n)&&0<=n&&(n<60*1e3||n<t)?n:t}var jy=({maxRetries:e=2,initialDelayInMs:t=2e3,backoffFactor:r=2,abortSignal:n}={})=>async a=>Zl(a,{maxRetries:e,delayInMs:t,backoffFactor:r,abortSignal:n});async function Zl(e,{maxRetries:t,delayInMs:r,backoffFactor:n,abortSignal:a},o=[]){try{return await e()}catch(s){if(Pt(s)||t===0)throw s;const i=sa(s),l=[...o,s],u=l.length;if(u>t)throw new Zo({message:`Failed after ${u} attempts. Last error: ${i}`,reason:"maxRetriesExceeded",errors:l});if(s instanceof Error&&$e.isInstance(s)&&s.isRetryable===!0&&u<=t)return await Ig(Uy({error:s,exponentialBackoffDelay:r}),{abortSignal:a}),Zl(e,{maxRetries:t,delayInMs:n*r,backoffFactor:n,abortSignal:a},l);throw u===1?s:new Zo({message:`Failed after ${u} attempts with non-retryable error: '${i}'`,reason:"errorNotRetryable",errors:l})}}function Gl({maxRetries:e,abortSignal:t}){if(e!=null){if(!Number.isInteger(e))throw new et({parameter:"maxRetries",value:e,message:"maxRetries must be an integer"});if(e<0)throw new et({parameter:"maxRetries",value:e,message:"maxRetries must be >= 0"})}const r=e??2;return{maxRetries:r,retry:jy({maxRetries:r,abortSignal:t})}}function Bl({messages:e}){const t=e.at(-1);if((t==null?void 0:t.role)!="tool")return{approvedToolApprovals:[],deniedToolApprovals:[]};const r={};for(const l of e)if(l.role==="assistant"&&typeof l.content!="string"){const u=l.content;for(const c of u)c.type==="tool-call"&&(r[c.toolCallId]=c)}const n={};for(const l of e)if(l.role==="assistant"&&typeof l.content!="string"){const u=l.content;for(const c of u)c.type==="tool-approval-request"&&(n[c.approvalId]=c)}const a={};for(const l of t.content)l.type==="tool-result"&&(a[l.toolCallId]=l);const o=[],s=[],i=t.content.filter(l=>l.type==="tool-approval-response");for(const l of i){const u=n[l.approvalId];if(u==null)throw new Km({approvalId:l.approvalId});if(a[u.toolCallId]!=null)continue;const c=r[u.toolCallId];if(c==null)throw new ha({toolCallId:u.toolCallId,approvalId:u.approvalId});const d={approvalRequest:u,approvalResponse:l,toolCall:c};l.approved?o.push(d):s.push(d)}return{approvedToolApprovals:o,deniedToolApprovals:s}}async function ya({toolCall:e,tools:t,tracer:r,telemetry:n,messages:a,abortSignal:o,experimental_context:s,onPreliminaryToolResult:i}){const{toolName:l,toolCallId:u,input:c}=e,d=t==null?void 0:t[l];if((d==null?void 0:d.execute)!=null)return Ir({name:"ai.toolCall",attributes:tt({telemetry:n,attributes:{...br({operationId:"ai.toolCall",telemetry:n}),"ai.toolCall.name":l,"ai.toolCall.id":u,"ai.toolCall.args":{output:()=>JSON.stringify(c)}}}),tracer:r,fn:async p=>{let w;try{const b=Ch({execute:d.execute.bind(d),input:c,options:{toolCallId:u,messages:a,abortSignal:o,experimental_context:s}});for await(const _ of b)_.type==="preliminary"?i==null||i({...e,type:"tool-result",output:_.output,preliminary:!0}):w=_.output}catch(b){return Ll(p,b),{type:"tool-error",toolCallId:u,toolName:l,input:c,error:b,dynamic:d.type==="dynamic",...e.providerMetadata!=null?{providerMetadata:e.providerMetadata}:{}}}try{p.setAttributes(await tt({telemetry:n,attributes:{"ai.toolCall.result":{output:()=>JSON.stringify(w)}}}))}catch{}return{type:"tool-result",toolCallId:u,toolName:l,input:c,output:w,dynamic:d.type==="dynamic",...e.providerMetadata!=null?{providerMetadata:e.providerMetadata}:{}}}})}function Ho(e){const t=e.filter(r=>r.type==="text");if(t.length!==0)return t.map(r=>r.text).join("")}var Vl=class{constructor({data:e,mediaType:t}){const r=e instanceof Uint8Array;this.base64Data=r?void 0:e,this.uint8ArrayData=r?e:void 0,this.mediaType=t}get base64(){return this.base64Data==null&&(this.base64Data=tn(this.uint8ArrayData)),this.base64Data}get uint8Array(){return this.uint8ArrayData==null&&(this.uint8ArrayData=oa(this.base64Data)),this.uint8ArrayData}},qy=class extends Vl{constructor(e){super(e),this.type="file"}};async function Hl({tool:e,toolCall:t,messages:r,experimental_context:n}){return e.needsApproval==null?!1:typeof e.needsApproval=="boolean"?e.needsApproval:await e.needsApproval(t.input,{toolCallId:t.toolCallId,messages:r,experimental_context:n})}var Zy={};Jm(Zy,{array:()=>Vy,choice:()=>Hy,json:()=>Jy,object:()=>By,text:()=>sn});function Gy(e){const t=["ROOT"];let r=-1,n=null;function a(l,u,c){switch(l){case'"':{r=u,t.pop(),t.push(c),t.push("INSIDE_STRING");break}case"f":case"t":case"n":{r=u,n=u,t.pop(),t.push(c),t.push("INSIDE_LITERAL");break}case"-":{t.pop(),t.push(c),t.push("INSIDE_NUMBER");break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{r=u,t.pop(),t.push(c),t.push("INSIDE_NUMBER");break}case"{":{r=u,t.pop(),t.push(c),t.push("INSIDE_OBJECT_START");break}case"[":{r=u,t.pop(),t.push(c),t.push("INSIDE_ARRAY_START");break}}}function o(l,u){switch(l){case",":{t.pop(),t.push("INSIDE_OBJECT_AFTER_COMMA");break}case"}":{r=u,t.pop();break}}}function s(l,u){switch(l){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{r=u,t.pop();break}}}for(let l=0;l<e.length;l++){const u=e[l];switch(t[t.length-1]){case"ROOT":a(u,l,"FINISH");break;case"INSIDE_OBJECT_START":{switch(u){case'"':{t.pop(),t.push("INSIDE_OBJECT_KEY");break}case"}":{r=l,t.pop();break}}break}case"INSIDE_OBJECT_AFTER_COMMA":{switch(u){case'"':{t.pop(),t.push("INSIDE_OBJECT_KEY");break}}break}case"INSIDE_OBJECT_KEY":{switch(u){case'"':{t.pop(),t.push("INSIDE_OBJECT_AFTER_KEY");break}}break}case"INSIDE_OBJECT_AFTER_KEY":{switch(u){case":":{t.pop(),t.push("INSIDE_OBJECT_BEFORE_VALUE");break}}break}case"INSIDE_OBJECT_BEFORE_VALUE":{a(u,l,"INSIDE_OBJECT_AFTER_VALUE");break}case"INSIDE_OBJECT_AFTER_VALUE":{o(u,l);break}case"INSIDE_STRING":{switch(u){case'"':{t.pop(),r=l;break}case"\\":{t.push("INSIDE_STRING_ESCAPE");break}default:r=l}break}case"INSIDE_ARRAY_START":{switch(u){case"]":{r=l,t.pop();break}default:{r=l,a(u,l,"INSIDE_ARRAY_AFTER_VALUE");break}}break}case"INSIDE_ARRAY_AFTER_VALUE":{switch(u){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{r=l,t.pop();break}default:{r=l;break}}break}case"INSIDE_ARRAY_AFTER_COMMA":{a(u,l,"INSIDE_ARRAY_AFTER_VALUE");break}case"INSIDE_STRING_ESCAPE":{t.pop(),r=l;break}case"INSIDE_NUMBER":{switch(u){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{r=l;break}case"e":case"E":case"-":case".":break;case",":{t.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&s(u,l),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&o(u,l);break}case"}":{t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&o(u,l);break}case"]":{t.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&s(u,l);break}default:{t.pop();break}}break}case"INSIDE_LITERAL":{const d=e.substring(n,l+1);!"false".startsWith(d)&&!"true".startsWith(d)&&!"null".startsWith(d)?(t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"?o(u,l):t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&s(u,l)):r=l;break}}}let i=e.slice(0,r+1);for(let l=t.length-1;l>=0;l--)switch(t[l]){case"INSIDE_STRING":{i+='"';break}case"INSIDE_OBJECT_KEY":case"INSIDE_OBJECT_AFTER_KEY":case"INSIDE_OBJECT_AFTER_COMMA":case"INSIDE_OBJECT_START":case"INSIDE_OBJECT_BEFORE_VALUE":case"INSIDE_OBJECT_AFTER_VALUE":{i+="}";break}case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":{i+="]";break}case"INSIDE_LITERAL":{const c=e.substring(n,e.length);"true".startsWith(c)?i+="true".slice(c.length):"false".startsWith(c)?i+="false".slice(c.length):"null".startsWith(c)&&(i+="null".slice(c.length))}}return i}async function Rr(e){if(e===void 0)return{value:void 0,state:"undefined-input"};let t=await We({text:e});return t.success?{value:t.value,state:"successful-parse"}:(t=await We({text:Gy(e)}),t.success?{value:t.value,state:"repaired-parse"}:{value:void 0,state:"failed-parse"})}var sn=()=>({responseFormat:Promise.resolve({type:"text"}),async parseCompleteOutput({text:e}){return e},async parsePartialOutput({text:e}){return{partial:e}}}),By=({schema:e,name:t,description:r})=>{const n=er(e);return{responseFormat:Ge(n.jsonSchema).then(a=>({type:"json",schema:a,...t!=null&&{name:t},...r!=null&&{description:r}})),async parseCompleteOutput({text:a},o){const s=await We({text:a});if(!s.success)throw new vt({message:"No object generated: could not parse the response.",cause:s.error,text:a,response:o.response,usage:o.usage,finishReason:o.finishReason});const i=await rt({value:s.value,schema:n});if(!i.success)throw new vt({message:"No object generated: response did not match schema.",cause:i.error,text:a,response:o.response,usage:o.usage,finishReason:o.finishReason});return i.value},async parsePartialOutput({text:a}){const o=await Rr(a);switch(o.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:o.value}}}}},Vy=({element:e,name:t,description:r})=>{const n=er(e);return{responseFormat:Ge(n.jsonSchema).then(a=>{const{$schema:o,...s}=a;return{type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{elements:{type:"array",items:s}},required:["elements"],additionalProperties:!1},...t!=null&&{name:t},...r!=null&&{description:r}}}),async parseCompleteOutput({text:a},o){const s=await We({text:a});if(!s.success)throw new vt({message:"No object generated: could not parse the response.",cause:s.error,text:a,response:o.response,usage:o.usage,finishReason:o.finishReason});const i=s.value;if(i==null||typeof i!="object"||!("elements"in i)||!Array.isArray(i.elements))throw new vt({message:"No object generated: response did not match schema.",cause:new Rt({value:i,cause:"response must be an object with an elements array"}),text:a,response:o.response,usage:o.usage,finishReason:o.finishReason});for(const l of i.elements){const u=await rt({value:l,schema:n});if(!u.success)throw new vt({message:"No object generated: response did not match schema.",cause:u.error,text:a,response:o.response,usage:o.usage,finishReason:o.finishReason})}return i.elements},async parsePartialOutput({text:a}){const o=await Rr(a);switch(o.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{const s=o.value;if(s==null||typeof s!="object"||!("elements"in s)||!Array.isArray(s.elements))return;const i=o.state==="repaired-parse"&&s.elements.length>0?s.elements.slice(0,-1):s.elements,l=[];for(const u of i){const c=await rt({value:u,schema:n});c.success&&l.push(c.value)}return{partial:l}}}}}},Hy=({options:e,name:t,description:r})=>({responseFormat:Promise.resolve({type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{result:{type:"string",enum:e}},required:["result"],additionalProperties:!1},...t!=null&&{name:t},...r!=null&&{description:r}}),async parseCompleteOutput({text:n},a){const o=await We({text:n});if(!o.success)throw new vt({message:"No object generated: could not parse the response.",cause:o.error,text:n,response:a.response,usage:a.usage,finishReason:a.finishReason});const s=o.value;if(s==null||typeof s!="object"||!("result"in s)||typeof s.result!="string"||!e.includes(s.result))throw new vt({message:"No object generated: response did not match schema.",cause:new Rt({value:s,cause:"response must be an object that contains a choice value."}),text:n,response:a.response,usage:a.usage,finishReason:a.finishReason});return s.result},async parsePartialOutput({text:n}){const a=await Rr(n);switch(a.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{const o=a.value;if(o==null||typeof o!="object"||!("result"in o)||typeof o.result!="string")return;const s=e.filter(i=>i.startsWith(o.result));return a.state==="successful-parse"?s.includes(o.result)?{partial:o.result}:void 0:s.length===1?{partial:s[0]}:void 0}}}}),Jy=({name:e,description:t}={})=>({responseFormat:Promise.resolve({type:"json",...e!=null&&{name:e},...t!=null&&{description:t}}),async parseCompleteOutput({text:r},n){const a=await We({text:r});if(!a.success)throw new vt({message:"No object generated: could not parse the response.",cause:a.error,text:r,response:n.response,usage:n.usage,finishReason:n.finishReason});return a.value},async parsePartialOutput({text:r}){const n=await Rr(r);switch(n.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return n.value===void 0?void 0:{partial:n.value}}}});async function Jl({toolCall:e,tools:t,repairToolCall:r,system:n,messages:a}){var o;try{if(t==null){if(e.providerExecuted&&e.dynamic)return await Yl(e);throw new Bn({toolName:e.toolName})}try{return await Jo({toolCall:e,tools:t})}catch(s){if(r==null||!(Bn.isInstance(s)||ga.isInstance(s)))throw s;let i=null;try{i=await r({toolCall:e,tools:t,inputSchema:async({toolName:l})=>{const{inputSchema:u}=t[l];return await er(u).jsonSchema},system:n,messages:a,error:s})}catch(l){throw new ay({cause:l,originalError:s})}if(i==null)throw s;return await Jo({toolCall:i,tools:t})}}catch(s){const i=await We({text:e.input}),l=i.success?i.value:e.input;return{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:l,dynamic:!0,invalid:!0,error:s,title:(o=t==null?void 0:t[e.toolName])==null?void 0:o.title,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata}}}async function Yl(e){const t=e.input.trim()===""?{success:!0,value:{}}:await We({text:e.input});if(t.success===!1)throw new ga({toolName:e.toolName,toolInput:e.input,cause:t.error});return{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:t.value,providerExecuted:!0,dynamic:!0,providerMetadata:e.providerMetadata}}async function Jo({toolCall:e,tools:t}){const r=e.toolName,n=t[r];if(n==null){if(e.providerExecuted&&e.dynamic)return await Yl(e);throw new Bn({toolName:e.toolName,availableTools:Object.keys(t)})}const a=er(n.inputSchema),o=e.input.trim()===""?await rt({value:{},schema:a}):await We({text:e.input,schema:a});if(o.success===!1)throw new ga({toolName:r,toolInput:e.input,cause:o.error});return n.type==="dynamic"?{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:o.value,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,dynamic:!0,title:n.title}:{type:"tool-call",toolCallId:e.toolCallId,toolName:r,input:o.value,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:n.title}}var Wl=class{constructor({content:e,finishReason:t,rawFinishReason:r,usage:n,warnings:a,request:o,response:s,providerMetadata:i}){this.content=e,this.finishReason=t,this.rawFinishReason=r,this.usage=n,this.warnings=a,this.request=o,this.response=s,this.providerMetadata=i}get text(){return this.content.filter(e=>e.type==="text").map(e=>e.text).join("")}get reasoning(){return this.content.filter(e=>e.type==="reasoning")}get reasoningText(){return this.reasoning.length===0?void 0:this.reasoning.map(e=>e.text).join("")}get files(){return this.content.filter(e=>e.type==="file").map(e=>e.file)}get sources(){return this.content.filter(e=>e.type==="source")}get toolCalls(){return this.content.filter(e=>e.type==="tool-call")}get staticToolCalls(){return this.toolCalls.filter(e=>e.dynamic!==!0)}get dynamicToolCalls(){return this.toolCalls.filter(e=>e.dynamic===!0)}get toolResults(){return this.content.filter(e=>e.type==="tool-result")}get staticToolResults(){return this.toolResults.filter(e=>e.dynamic!==!0)}get dynamicToolResults(){return this.toolResults.filter(e=>e.dynamic===!0)}};function Kl(e){return({steps:t})=>t.length===e}async function Xl({stopConditions:e,steps:t}){return(await Promise.all(e.map(r=>r({steps:t})))).some(r=>r)}async function Hn({content:e,tools:t}){const r=[],n=[];for(const o of e)if(o.type!=="source"&&!((o.type==="tool-result"||o.type==="tool-error")&&!o.providerExecuted)&&!(o.type==="text"&&o.text.length===0))switch(o.type){case"text":n.push({type:"text",text:o.text,providerOptions:o.providerMetadata});break;case"reasoning":n.push({type:"reasoning",text:o.text,providerOptions:o.providerMetadata});break;case"file":n.push({type:"file",data:o.file.base64,mediaType:o.file.mediaType,providerOptions:o.providerMetadata});break;case"tool-call":n.push({type:"tool-call",toolCallId:o.toolCallId,toolName:o.toolName,input:o.input,providerExecuted:o.providerExecuted,providerOptions:o.providerMetadata});break;case"tool-result":{const s=await fr({toolCallId:o.toolCallId,input:o.input,tool:t==null?void 0:t[o.toolName],output:o.output,errorMode:"none"});n.push({type:"tool-result",toolCallId:o.toolCallId,toolName:o.toolName,output:s,providerOptions:o.providerMetadata});break}case"tool-error":{const s=await fr({toolCallId:o.toolCallId,input:o.input,tool:t==null?void 0:t[o.toolName],output:o.error,errorMode:"json"});n.push({type:"tool-result",toolCallId:o.toolCallId,toolName:o.toolName,output:s,providerOptions:o.providerMetadata});break}case"tool-approval-request":n.push({type:"tool-approval-request",approvalId:o.approvalId,toolCallId:o.toolCall.toolCallId});break}n.length>0&&r.push({role:"assistant",content:n});const a=[];for(const o of e){if(!(o.type==="tool-result"||o.type==="tool-error")||o.providerExecuted)continue;const s=await fr({toolCallId:o.toolCallId,input:o.input,tool:t==null?void 0:t[o.toolName],output:o.type==="tool-result"?o.output:o.error,errorMode:o.type==="tool-error"?"text":"none"});a.push({type:"tool-result",toolCallId:o.toolCallId,toolName:o.toolName,output:s,...o.providerMetadata!=null?{providerOptions:o.providerMetadata}:{}})}return a.length>0&&r.push({role:"tool",content:a}),r}var Yy=xr({prefix:"aitxt",size:24});async function Jn({model:e,tools:t,toolChoice:r,system:n,prompt:a,messages:o,maxRetries:s,abortSignal:i,headers:l,stopWhen:u=Kl(1),experimental_output:c,output:d=c,experimental_telemetry:p,providerOptions:w,experimental_activeTools:b,activeTools:_=b,experimental_prepareStep:I,prepareStep:P=I,experimental_repairToolCall:C,experimental_download:m,experimental_context:z,_internal:{generateId:O=Yy,currentDate:y=()=>new Date}={},onStepFinish:x,onFinish:D,...F}){const se=on(e),L=Tr(u),{maxRetries:X,retry:Q}=Gl({maxRetries:s,abortSignal:i}),le=Vn(F),xe=Or(l??{},`ai/${Nl}`),Te=Ml({model:se,telemetry:p,headers:xe,settings:{...le,maxRetries:X}}),ct=await zl({system:n,prompt:a,messages:o}),Fe=Fl(p);try{return await Ir({name:"ai.generateText",attributes:tt({telemetry:p,attributes:{...br({operationId:"ai.generateText",telemetry:p}),...Te,"ai.model.provider":se.provider,"ai.model.id":se.modelId,"ai.prompt":{input:()=>JSON.stringify({system:n,prompt:a,messages:o})}}}),tracer:Fe,fn:async zt=>{var $t,Ce,Mt,Ft,nt,at,kr,dt;const tr=ct.messages,ot=[],{approvedToolApprovals:Pr,deniedToolApprovals:rr}=Bl({messages:tr}),St=Pr.filter(U=>!U.toolCall.providerExecuted);if(rr.length>0||St.length>0){const U=await Yo({toolCalls:St.map(W=>W.toolCall),tools:t,tracer:Fe,telemetry:p,messages:tr,abortSignal:i,experimental_context:z}),ae=[];for(const W of U){const st=await fr({toolCallId:W.toolCallId,input:W.input,tool:t==null?void 0:t[W.toolName],output:W.type==="tool-result"?W.output:W.error,errorMode:W.type==="tool-error"?"json":"none"});ae.push({type:"tool-result",toolCallId:W.toolCallId,toolName:W.toolName,output:st})}for(const W of rr)ae.push({type:"tool-result",toolCallId:W.toolCall.toolCallId,toolName:W.toolCall.toolName,output:{type:"execution-denied",reason:W.approvalResponse.reason,...W.toolCall.providerExecuted&&{providerOptions:{openai:{approvalId:W.approvalResponse.approvalId}}}}});ot.push({role:"tool",content:ae})}const Ze=[...Pr,...rr].filter(U=>U.toolCall.providerExecuted);Ze.length>0&&ot.push({role:"tool",content:Ze.map(U=>({type:"tool-approval-response",approvalId:U.approvalResponse.approvalId,approved:U.approvalResponse.approved,reason:U.approvalResponse.reason,providerExecuted:!0}))});const Cr=Vn(F);let J,pe=[],fe=[];const ne=[],V=new Map;do{const U=[...tr,...ot],ae=await(P==null?void 0:P({model:se,steps:ne,stepNumber:ne.length,messages:U,experimental_context:z})),W=on(($t=ae==null?void 0:ae.model)!=null?$t:se),st=await Rl({prompt:{system:(Ce=ae==null?void 0:ae.system)!=null?Ce:ct.system,messages:(Mt=ae==null?void 0:ae.messages)!=null?Mt:U},supportedUrls:await W.supportedUrls,download:m});z=(Ft=ae==null?void 0:ae.experimental_context)!=null?Ft:z;const{toolChoice:ke,tools:pt}=await kl({tools:t,toolChoice:(nt=ae==null?void 0:ae.toolChoice)!=null?nt:r,activeTools:(at=ae==null?void 0:ae.activeTools)!=null?at:_});J=await Q(()=>{var $;return Ir({name:"ai.generateText.doGenerate",attributes:tt({telemetry:p,attributes:{...br({operationId:"ai.generateText.doGenerate",telemetry:p}),...Te,"ai.model.provider":W.provider,"ai.model.id":W.modelId,"ai.prompt.messages":{input:()=>Ul(st)},"ai.prompt.tools":{input:()=>pt==null?void 0:pt.map(Ee=>JSON.stringify(Ee))},"ai.prompt.toolChoice":{input:()=>ke!=null?JSON.stringify(ke):void 0},"gen_ai.system":W.provider,"gen_ai.request.model":W.modelId,"gen_ai.request.frequency_penalty":F.frequencyPenalty,"gen_ai.request.max_tokens":F.maxOutputTokens,"gen_ai.request.presence_penalty":F.presencePenalty,"gen_ai.request.stop_sequences":F.stopSequences,"gen_ai.request.temperature":($=F.temperature)!=null?$:void 0,"gen_ai.request.top_k":F.topK,"gen_ai.request.top_p":F.topP}}),tracer:Fe,fn:async Ee=>{var Lt,it,Ut,Dr,zr,nr,ar,lt;const $r=gn(w,ae==null?void 0:ae.providerOptions),Oe=await W.doGenerate({...Cr,tools:pt,toolChoice:ke,responseFormat:await(d==null?void 0:d.responseFormat),prompt:st,providerOptions:$r,abortSignal:i,headers:xe}),gt={id:(it=(Lt=Oe.response)==null?void 0:Lt.id)!=null?it:O(),timestamp:(Dr=(Ut=Oe.response)==null?void 0:Ut.timestamp)!=null?Dr:y(),modelId:(nr=(zr=Oe.response)==null?void 0:zr.modelId)!=null?nr:W.modelId,headers:(ar=Oe.response)==null?void 0:ar.headers,body:(lt=Oe.response)==null?void 0:lt.body};return Ee.setAttributes(await tt({telemetry:p,attributes:{"ai.response.finishReason":Oe.finishReason.unified,"ai.response.text":{output:()=>Ho(Oe.content)},"ai.response.toolCalls":{output:()=>{const ht=Wo(Oe.content);return ht==null?void 0:JSON.stringify(ht)}},"ai.response.id":gt.id,"ai.response.model":gt.modelId,"ai.response.timestamp":gt.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(Oe.providerMetadata),"ai.usage.promptTokens":Oe.usage.inputTokens.total,"ai.usage.completionTokens":Oe.usage.outputTokens.total,"gen_ai.response.finish_reasons":[Oe.finishReason.unified],"gen_ai.response.id":gt.id,"gen_ai.response.model":gt.modelId,"gen_ai.usage.input_tokens":Oe.usage.inputTokens.total,"gen_ai.usage.output_tokens":Oe.usage.outputTokens.total}})),{...Oe,response:gt}}})});const we=await Promise.all(J.content.filter($=>$.type==="tool-call").map($=>Jl({toolCall:$,tools:t,repairToolCall:C,system:n,messages:U}))),Ae={};for(const $ of we){if($.invalid)continue;const Ee=t==null?void 0:t[$.toolName];Ee!=null&&((Ee==null?void 0:Ee.onInputAvailable)!=null&&await Ee.onInputAvailable({input:$.input,toolCallId:$.toolCallId,messages:U,abortSignal:i,experimental_context:z}),await Hl({tool:Ee,toolCall:$,messages:U,experimental_context:z})&&(Ae[$.toolCallId]={type:"tool-approval-request",approvalId:O(),toolCall:$}))}const _e=we.filter($=>$.invalid&&$.dynamic);fe=[];for(const $ of _e)fe.push({type:"tool-error",toolCallId:$.toolCallId,toolName:$.toolName,input:$.input,error:sa($.error),dynamic:!0});pe=we.filter($=>!$.providerExecuted),t!=null&&fe.push(...await Yo({toolCalls:pe.filter($=>!$.invalid&&Ae[$.toolCallId]==null),tools:t,tracer:Fe,telemetry:p,messages:U,abortSignal:i,experimental_context:z}));for(const $ of we){if(!$.providerExecuted)continue;const Ee=t==null?void 0:t[$.toolName];(Ee==null?void 0:Ee.type)==="provider"&&Ee.supportsDeferredResults&&(J.content.some(it=>it.type==="tool-result"&&it.toolCallId===$.toolCallId)||V.set($.toolCallId,{toolName:$.toolName}))}for(const $ of J.content)$.type==="tool-result"&&V.delete($.toolCallId);const At=Ky({content:J.content,toolCalls:we,toolOutputs:fe,toolApprovalRequests:Object.values(Ae),tools:t});ot.push(...await Hn({content:At,tools:t}));const ft=new Wl({content:At,finishReason:J.finishReason.unified,rawFinishReason:J.finishReason.raw,usage:jl(J.usage),warnings:J.warnings,providerMetadata:J.providerMetadata,request:(kr=J.request)!=null?kr:{},response:{...J.response,messages:structuredClone(ot)}});ma({warnings:(dt=J.warnings)!=null?dt:[],provider:W.provider,model:W.modelId}),ne.push(ft),await(x==null?void 0:x(ft))}while((pe.length>0&&fe.length===pe.length||V.size>0)&&!await Xl({stopConditions:L,steps:ne}));zt.setAttributes(await tt({telemetry:p,attributes:{"ai.response.finishReason":J.finishReason.unified,"ai.response.text":{output:()=>Ho(J.content)},"ai.response.toolCalls":{output:()=>{const U=Wo(J.content);return U==null?void 0:JSON.stringify(U)}},"ai.response.providerMetadata":JSON.stringify(J.providerMetadata),"ai.usage.promptTokens":J.usage.inputTokens.total,"ai.usage.completionTokens":J.usage.outputTokens.total}}));const B=ne[ne.length-1],Ke=ne.reduce((U,ae)=>ql(U,ae.usage),{inputTokens:void 0,outputTokens:void 0,totalTokens:void 0,reasoningTokens:void 0,cachedInputTokens:void 0});await(D==null?void 0:D({finishReason:B.finishReason,rawFinishReason:B.rawFinishReason,usage:B.usage,content:B.content,text:B.text,reasoningText:B.reasoningText,reasoning:B.reasoning,files:B.files,sources:B.sources,toolCalls:B.toolCalls,staticToolCalls:B.staticToolCalls,dynamicToolCalls:B.dynamicToolCalls,toolResults:B.toolResults,staticToolResults:B.staticToolResults,dynamicToolResults:B.dynamicToolResults,request:B.request,response:B.response,warnings:B.warnings,providerMetadata:B.providerMetadata,steps:ne,totalUsage:Ke,experimental_context:z}));let N;return B.finishReason==="stop"&&(N=await(d??sn()).parseCompleteOutput({text:B.text},{response:B.response,usage:B.usage,finishReason:B.finishReason})),new Wy({steps:ne,totalUsage:Ke,output:N})}})}catch(zt){throw $l(zt)}}async function Yo({toolCalls:e,tools:t,tracer:r,telemetry:n,messages:a,abortSignal:o,experimental_context:s}){return(await Promise.all(e.map(async l=>ya({toolCall:l,tools:t,tracer:r,telemetry:n,messages:a,abortSignal:o,experimental_context:s})))).filter(l=>l!=null)}var Wy=class{constructor(e){this.steps=e.steps,this._output=e.output,this.totalUsage=e.totalUsage}get finalStep(){return this.steps[this.steps.length-1]}get content(){return this.finalStep.content}get text(){return this.finalStep.text}get files(){return this.finalStep.files}get reasoningText(){return this.finalStep.reasoningText}get reasoning(){return this.finalStep.reasoning}get toolCalls(){return this.finalStep.toolCalls}get staticToolCalls(){return this.finalStep.staticToolCalls}get dynamicToolCalls(){return this.finalStep.dynamicToolCalls}get toolResults(){return this.finalStep.toolResults}get staticToolResults(){return this.finalStep.staticToolResults}get dynamicToolResults(){return this.finalStep.dynamicToolResults}get sources(){return this.finalStep.sources}get finishReason(){return this.finalStep.finishReason}get rawFinishReason(){return this.finalStep.rawFinishReason}get warnings(){return this.finalStep.warnings}get providerMetadata(){return this.finalStep.providerMetadata}get response(){return this.finalStep.response}get request(){return this.finalStep.request}get usage(){return this.finalStep.usage}get experimental_output(){return this.output}get output(){if(this._output==null)throw new pl;return this._output}};function Wo(e){const t=e.filter(r=>r.type==="tool-call");if(t.length!==0)return t.map(r=>({toolCallId:r.toolCallId,toolName:r.toolName,input:r.input}))}function Ky({content:e,toolCalls:t,toolOutputs:r,toolApprovalRequests:n,tools:a}){const o=[];for(const s of e)switch(s.type){case"text":case"reasoning":case"source":o.push(s);break;case"file":{o.push({type:"file",file:new Vl(s),...s.providerMetadata!=null?{providerMetadata:s.providerMetadata}:{}});break}case"tool-call":{o.push(t.find(i=>i.toolCallId===s.toolCallId));break}case"tool-result":{const i=t.find(l=>l.toolCallId===s.toolCallId);if(i==null){const l=a==null?void 0:a[s.toolName];if(!((l==null?void 0:l.type)==="provider"&&l.supportsDeferredResults))throw new Error(`Tool call ${s.toolCallId} not found.`);s.isError?o.push({type:"tool-error",toolCallId:s.toolCallId,toolName:s.toolName,input:void 0,error:s.result,providerExecuted:!0,dynamic:s.dynamic}):o.push({type:"tool-result",toolCallId:s.toolCallId,toolName:s.toolName,input:void 0,output:s.result,providerExecuted:!0,dynamic:s.dynamic});break}s.isError?o.push({type:"tool-error",toolCallId:s.toolCallId,toolName:s.toolName,input:i.input,error:s.result,providerExecuted:!0,dynamic:i.dynamic}):o.push({type:"tool-result",toolCallId:s.toolCallId,toolName:s.toolName,input:i.input,output:s.result,providerExecuted:!0,dynamic:i.dynamic});break}case"tool-approval-request":{const i=t.find(l=>l.toolCallId===s.toolCallId);if(i==null)throw new ha({toolCallId:s.toolCallId,approvalId:s.approvalId});o.push({type:"tool-approval-request",approvalId:s.approvalId,toolCall:i});break}}return[...o,...r,...n]}function hn(e,t){const r=new Headers(e??{});for(const[n,a]of Object.entries(t))r.has(n)||r.set(n,a);return r}function Xy({status:e,statusText:t,headers:r,textStream:n}){return new Response(n.pipeThrough(new TextEncoderStream),{status:e??200,statusText:t,headers:hn(r,{"content-type":"text/plain; charset=utf-8"})})}function Ql({response:e,status:t,statusText:r,headers:n,stream:a}){const o=t??200;r!==void 0?e.writeHead(o,r,n):e.writeHead(o,n);const s=a.getReader();(async()=>{try{for(;;){const{done:l,value:u}=await s.read();if(l)break;e.write(u)||await new Promise(d=>{e.once("drain",d)})}}catch(l){throw l}finally{e.end()}})()}function Qy({response:e,status:t,statusText:r,headers:n,textStream:a}){Ql({response:e,status:t,statusText:r,headers:Object.fromEntries(hn(n,{"content-type":"text/plain; charset=utf-8"}).entries()),stream:a.pipeThrough(new TextEncoderStream)})}var eu=class extends TransformStream{constructor(){super({transform(e,t){t.enqueue(`data: ${JSON.stringify(e)}
73
+
74
+ `)},flush(e){e.enqueue(`data: [DONE]
75
+
76
+ `)}})}},tu={"content-type":"text/event-stream","cache-control":"no-cache",connection:"keep-alive","x-vercel-ai-ui-message-stream":"v1","x-accel-buffering":"no"};function ev({status:e,statusText:t,headers:r,stream:n,consumeSseStream:a}){let o=n.pipeThrough(new eu);if(a){const[s,i]=o.tee();o=s,a({stream:i})}return new Response(o.pipeThrough(new TextEncoderStream),{status:e,statusText:t,headers:hn(r,tu)})}function tv({originalMessages:e,responseMessageId:t}){if(e==null)return;const r=e[e.length-1];return(r==null?void 0:r.role)==="assistant"?r.id:typeof t=="function"?t():t}function rv(e){return e.type.startsWith("data-")}function Yn(e){return e.type.startsWith("tool-")}function nv(e){return e.type==="dynamic-tool"}function av(e){return Yn(e)||nv(e)}function Ko(e){return e.type.split("-").slice(1).join("-")}function ov({lastMessage:e,messageId:t}){return{message:(e==null?void 0:e.role)==="assistant"?e:{id:t,metadata:void 0,role:"assistant",parts:[]},activeTextParts:{},activeReasoningParts:{},partialToolCalls:{}}}function sv({stream:e,messageMetadataSchema:t,dataPartSchemas:r,runUpdateMessageJob:n,onError:a,onToolCall:o,onData:s}){return e.pipeThrough(new TransformStream({async transform(i,l){await n(async({state:u,write:c})=>{var d,p,w,b;function _(m){const O=u.message.parts.filter(av).find(y=>y.toolCallId===m);if(O==null)throw new Error(`no tool invocation found for tool call ${m}`);return O}function I(m){var z;const O=u.message.parts.find(D=>Yn(D)&&D.toolCallId===m.toolCallId),y=m,x=O;O!=null?(O.state=m.state,x.input=y.input,x.output=y.output,x.errorText=y.errorText,x.rawInput=y.rawInput,x.preliminary=y.preliminary,m.title!==void 0&&(x.title=m.title),x.providerExecuted=(z=y.providerExecuted)!=null?z:O.providerExecuted,y.providerMetadata!=null&&O.state==="input-available"&&(O.callProviderMetadata=y.providerMetadata)):u.message.parts.push({type:`tool-${m.toolName}`,toolCallId:m.toolCallId,state:m.state,title:m.title,input:y.input,output:y.output,rawInput:y.rawInput,errorText:y.errorText,providerExecuted:y.providerExecuted,preliminary:y.preliminary,...y.providerMetadata!=null?{callProviderMetadata:y.providerMetadata}:{}})}function P(m){var z,O;const y=u.message.parts.find(F=>F.type==="dynamic-tool"&&F.toolCallId===m.toolCallId),x=m,D=y;y!=null?(y.state=m.state,D.toolName=m.toolName,D.input=x.input,D.output=x.output,D.errorText=x.errorText,D.rawInput=(z=x.rawInput)!=null?z:D.rawInput,D.preliminary=x.preliminary,m.title!==void 0&&(D.title=m.title),D.providerExecuted=(O=x.providerExecuted)!=null?O:y.providerExecuted,x.providerMetadata!=null&&y.state==="input-available"&&(y.callProviderMetadata=x.providerMetadata)):u.message.parts.push({type:"dynamic-tool",toolName:m.toolName,toolCallId:m.toolCallId,state:m.state,input:x.input,output:x.output,errorText:x.errorText,preliminary:x.preliminary,providerExecuted:x.providerExecuted,title:m.title,...x.providerMetadata!=null?{callProviderMetadata:x.providerMetadata}:{}})}async function C(m){if(m!=null){const z=u.message.metadata!=null?gn(u.message.metadata,m):m;t!=null&&await Zn({value:z,schema:t}),u.message.metadata=z}}switch(i.type){case"text-start":{const m={type:"text",text:"",providerMetadata:i.providerMetadata,state:"streaming"};u.activeTextParts[i.id]=m,u.message.parts.push(m),c();break}case"text-delta":{const m=u.activeTextParts[i.id];m.text+=i.delta,m.providerMetadata=(d=i.providerMetadata)!=null?d:m.providerMetadata,c();break}case"text-end":{const m=u.activeTextParts[i.id];m.state="done",m.providerMetadata=(p=i.providerMetadata)!=null?p:m.providerMetadata,delete u.activeTextParts[i.id],c();break}case"reasoning-start":{const m={type:"reasoning",text:"",providerMetadata:i.providerMetadata,state:"streaming"};u.activeReasoningParts[i.id]=m,u.message.parts.push(m),c();break}case"reasoning-delta":{const m=u.activeReasoningParts[i.id];m.text+=i.delta,m.providerMetadata=(w=i.providerMetadata)!=null?w:m.providerMetadata,c();break}case"reasoning-end":{const m=u.activeReasoningParts[i.id];m.providerMetadata=(b=i.providerMetadata)!=null?b:m.providerMetadata,m.state="done",delete u.activeReasoningParts[i.id],c();break}case"file":{u.message.parts.push({type:"file",mediaType:i.mediaType,url:i.url}),c();break}case"source-url":{u.message.parts.push({type:"source-url",sourceId:i.sourceId,url:i.url,title:i.title,providerMetadata:i.providerMetadata}),c();break}case"source-document":{u.message.parts.push({type:"source-document",sourceId:i.sourceId,mediaType:i.mediaType,title:i.title,filename:i.filename,providerMetadata:i.providerMetadata}),c();break}case"tool-input-start":{const m=u.message.parts.filter(Yn);u.partialToolCalls[i.toolCallId]={text:"",toolName:i.toolName,index:m.length,dynamic:i.dynamic,title:i.title},i.dynamic?P({toolCallId:i.toolCallId,toolName:i.toolName,state:"input-streaming",input:void 0,providerExecuted:i.providerExecuted,title:i.title}):I({toolCallId:i.toolCallId,toolName:i.toolName,state:"input-streaming",input:void 0,providerExecuted:i.providerExecuted,title:i.title}),c();break}case"tool-input-delta":{const m=u.partialToolCalls[i.toolCallId];m.text+=i.inputTextDelta;const{value:z}=await Rr(m.text);m.dynamic?P({toolCallId:i.toolCallId,toolName:m.toolName,state:"input-streaming",input:z,title:m.title}):I({toolCallId:i.toolCallId,toolName:m.toolName,state:"input-streaming",input:z,title:m.title}),c();break}case"tool-input-available":{i.dynamic?P({toolCallId:i.toolCallId,toolName:i.toolName,state:"input-available",input:i.input,providerExecuted:i.providerExecuted,providerMetadata:i.providerMetadata,title:i.title}):I({toolCallId:i.toolCallId,toolName:i.toolName,state:"input-available",input:i.input,providerExecuted:i.providerExecuted,providerMetadata:i.providerMetadata,title:i.title}),c(),o&&!i.providerExecuted&&await o({toolCall:i});break}case"tool-input-error":{i.dynamic?P({toolCallId:i.toolCallId,toolName:i.toolName,state:"output-error",input:i.input,errorText:i.errorText,providerExecuted:i.providerExecuted,providerMetadata:i.providerMetadata}):I({toolCallId:i.toolCallId,toolName:i.toolName,state:"output-error",input:void 0,rawInput:i.input,errorText:i.errorText,providerExecuted:i.providerExecuted,providerMetadata:i.providerMetadata}),c();break}case"tool-approval-request":{const m=_(i.toolCallId);m.state="approval-requested",m.approval={id:i.approvalId},c();break}case"tool-output-denied":{const m=_(i.toolCallId);m.state="output-denied",c();break}case"tool-output-available":{const m=_(i.toolCallId);m.type==="dynamic-tool"?P({toolCallId:i.toolCallId,toolName:m.toolName,state:"output-available",input:m.input,output:i.output,preliminary:i.preliminary,providerExecuted:i.providerExecuted,title:m.title}):I({toolCallId:i.toolCallId,toolName:Ko(m),state:"output-available",input:m.input,output:i.output,providerExecuted:i.providerExecuted,preliminary:i.preliminary,title:m.title}),c();break}case"tool-output-error":{const m=_(i.toolCallId);m.type==="dynamic-tool"?P({toolCallId:i.toolCallId,toolName:m.toolName,state:"output-error",input:m.input,errorText:i.errorText,providerExecuted:i.providerExecuted,title:m.title}):I({toolCallId:i.toolCallId,toolName:Ko(m),state:"output-error",input:m.input,rawInput:m.rawInput,errorText:i.errorText,providerExecuted:i.providerExecuted,title:m.title}),c();break}case"start-step":{u.message.parts.push({type:"step-start"});break}case"finish-step":{u.activeTextParts={},u.activeReasoningParts={};break}case"start":{i.messageId!=null&&(u.message.id=i.messageId),await C(i.messageMetadata),(i.messageId!=null||i.messageMetadata!=null)&&c();break}case"finish":{i.finishReason!=null&&(u.finishReason=i.finishReason),await C(i.messageMetadata),i.messageMetadata!=null&&c();break}case"message-metadata":{await C(i.messageMetadata),i.messageMetadata!=null&&c();break}case"error":{a==null||a(new Error(i.errorText));break}default:if(rv(i)){(r==null?void 0:r[i.type])!=null&&await Zn({value:i.data,schema:r[i.type]});const m=i;if(m.transient){s==null||s(m);break}const z=m.id!=null?u.message.parts.find(O=>m.type===O.type&&m.id===O.id):void 0;z!=null?z.data=m.data:u.message.parts.push(m),s==null||s(m),c()}}l.enqueue(i)})}}))}function iv({messageId:e,originalMessages:t=[],onFinish:r,onError:n,stream:a}){let o=t==null?void 0:t[t.length-1];(o==null?void 0:o.role)!=="assistant"?o=void 0:e=o.id;let s=!1;const i=a.pipeThrough(new TransformStream({transform(p,w){if(p.type==="start"){const b=p;b.messageId==null&&e!=null&&(b.messageId=e)}p.type==="abort"&&(s=!0),w.enqueue(p)}}));if(r==null)return i;const l=ov({lastMessage:o?structuredClone(o):void 0,messageId:e??""}),u=async p=>{await p({state:l,write:()=>{}})};let c=!1;const d=async()=>{if(c||!r)return;c=!0;const p=l.message.id===(o==null?void 0:o.id);await r({isAborted:s,isContinuation:p,responseMessage:l.message,messages:[...p?t.slice(0,-1):t,l.message],finishReason:l.finishReason})};return sv({stream:i,runUpdateMessageJob:u,onError:n}).pipeThrough(new TransformStream({transform(p,w){w.enqueue(p)},async cancel(){await d()},async flush(){await d()}}))}function lv({response:e,status:t,statusText:r,headers:n,stream:a,consumeSseStream:o}){let s=a.pipeThrough(new eu);if(o){const[i,l]=s.tee();s=i,o({stream:l})}Ql({response:e,status:t,statusText:r,headers:Object.fromEntries(hn(n,tu).entries()),stream:s.pipeThrough(new TextEncoderStream)})}function qr(e){const t=e.pipeThrough(new TransformStream);return t[Symbol.asyncIterator]=function(){const r=this.getReader();let n=!1;async function a(o){var s;n=!0;try{o&&await((s=r.cancel)==null?void 0:s.call(r))}finally{try{r.releaseLock()}catch{}}}return{async next(){if(n)return{done:!0,value:void 0};const{done:o,value:s}=await r.read();return o?(await a(!0),{done:!0,value:void 0}):{done:!1,value:s}},async return(){return await a(!0),{done:!0,value:void 0}},async throw(o){throw await a(!0),o}}},t}async function uv({stream:e,onError:t}){const r=e.getReader();try{for(;;){const{done:n}=await r.read();if(n)break}}catch(n){t==null||t(n)}finally{r.releaseLock()}}function Xo(){let e,t;return{promise:new Promise((n,a)=>{e=n,t=a}),resolve:e,reject:t}}function cv(){let e=[],t=null,r=!1,n=Xo();const a=()=>{r=!0,n.resolve(),e.forEach(s=>s.cancel()),e=[],t==null||t.close()},o=async()=>{if(r&&e.length===0){t==null||t.close();return}if(e.length===0)return n=Xo(),await n.promise,o();try{const{value:s,done:i}=await e[0].read();i?(e.shift(),e.length===0&&r?t==null||t.close():await o()):t==null||t.enqueue(s)}catch(s){t==null||t.error(s),e.shift(),a()}};return{stream:new ReadableStream({start(s){t=s},pull:o,async cancel(){for(const s of e)await s.cancel();e=[],r=!0}}),addStream:s=>{if(r)throw new Error("Cannot add inner stream: outer stream is closed");e.push(s.getReader()),n.resolve()},close:()=>{r=!0,n.resolve(),e.length===0&&(t==null||t.close())},terminate:a}}function dv(){var e,t;return(t=(e=globalThis==null?void 0:globalThis.performance)==null?void 0:e.now())!=null?t:Date.now()}function pv({tools:e,generatorStream:t,tracer:r,telemetry:n,system:a,messages:o,abortSignal:s,repairToolCall:i,experimental_context:l,generateId:u}){let c=null;const d=new ReadableStream({start(m){c=m}}),p=new Set,w=new Map,b=new Map;let _=!1,I;function P(){_&&p.size===0&&(I!=null&&c.enqueue(I),c.close())}const C=new TransformStream({async transform(m,z){const O=m.type;switch(O){case"stream-start":case"text-start":case"text-delta":case"text-end":case"reasoning-start":case"reasoning-delta":case"reasoning-end":case"tool-input-start":case"tool-input-delta":case"tool-input-end":case"source":case"response-metadata":case"error":case"raw":{z.enqueue(m);break}case"file":{z.enqueue({type:"file",file:new qy({data:m.data,mediaType:m.mediaType})});break}case"finish":{I={type:"finish",finishReason:m.finishReason.unified,rawFinishReason:m.finishReason.raw,usage:jl(m.usage),providerMetadata:m.providerMetadata};break}case"tool-approval-request":{const y=b.get(m.toolCallId);if(y==null){c.enqueue({type:"error",error:new ha({toolCallId:m.toolCallId,approvalId:m.approvalId})});break}z.enqueue({type:"tool-approval-request",approvalId:m.approvalId,toolCall:y});break}case"tool-call":{try{const y=await Jl({toolCall:m,tools:e,repairToolCall:i,system:a,messages:o});if(b.set(y.toolCallId,y),z.enqueue(y),y.invalid){c.enqueue({type:"tool-error",toolCallId:y.toolCallId,toolName:y.toolName,input:y.input,error:sa(y.error),dynamic:!0,title:y.title});break}const x=e==null?void 0:e[y.toolName];if(x==null)break;if(x.onInputAvailable!=null&&await x.onInputAvailable({input:y.input,toolCallId:y.toolCallId,messages:o,abortSignal:s,experimental_context:l}),await Hl({tool:x,toolCall:y,messages:o,experimental_context:l})){c.enqueue({type:"tool-approval-request",approvalId:u(),toolCall:y});break}if(w.set(y.toolCallId,y.input),x.execute!=null&&y.providerExecuted!==!0){const D=u();p.add(D),ya({toolCall:y,tools:e,tracer:r,telemetry:n,messages:o,abortSignal:s,experimental_context:l,onPreliminaryToolResult:F=>{c.enqueue(F)}}).then(F=>{c.enqueue(F)}).catch(F=>{c.enqueue({type:"error",error:F})}).finally(()=>{p.delete(D),P()})}}catch(y){c.enqueue({type:"error",error:y})}break}case"tool-result":{const y=m.toolName;m.isError?c.enqueue({type:"tool-error",toolCallId:m.toolCallId,toolName:y,input:w.get(m.toolCallId),providerExecuted:!0,error:m.result,dynamic:m.dynamic}):z.enqueue({type:"tool-result",toolCallId:m.toolCallId,toolName:y,input:w.get(m.toolCallId),output:m.result,providerExecuted:!0,dynamic:m.dynamic});break}default:{const y=O;throw new Error(`Unhandled chunk type: ${y}`)}}},flush(){_=!0,P()}});return new ReadableStream({async start(m){return Promise.all([t.pipeThrough(C).pipeTo(new WritableStream({write(z){m.enqueue(z)},close(){}})),d.pipeTo(new WritableStream({write(z){m.enqueue(z)},close(){m.close()}}))])}})}var fv=xr({prefix:"aitxt",size:24});function gv({model:e,tools:t,toolChoice:r,system:n,prompt:a,messages:o,maxRetries:s,abortSignal:i,headers:l,stopWhen:u=Kl(1),experimental_output:c,output:d=c,experimental_telemetry:p,prepareStep:w,providerOptions:b,experimental_activeTools:_,activeTools:I=_,experimental_repairToolCall:P,experimental_transform:C,experimental_download:m,includeRawChunks:z=!1,onChunk:O,onError:y=({error:xe})=>{console.error(xe)},onFinish:x,onAbort:D,onStepFinish:F,experimental_context:se,_internal:{now:L=dv,generateId:X=fv,currentDate:Q=()=>new Date}={},...le}){return new mv({model:on(e),telemetry:p,headers:l,settings:le,maxRetries:s,abortSignal:i,system:n,prompt:a,messages:o,tools:t,toolChoice:r,transforms:Tr(C),activeTools:I,repairToolCall:P,stopConditions:Tr(u),output:d,providerOptions:b,prepareStep:w,includeRawChunks:z,onChunk:O,onError:y,onFinish:x,onAbort:D,onStepFinish:F,now:L,currentDate:Q,generateId:X,experimental_context:se,download:m})}function hv(e){let t,r="",n="",a,o="";function s({controller:i,partialOutput:l=void 0}){i.enqueue({part:{type:"text-delta",id:t,text:n,providerMetadata:a},partialOutput:l}),n=""}return new TransformStream({async transform(i,l){var u;if(i.type==="finish-step"&&n.length>0&&s({controller:l}),i.type!=="text-delta"&&i.type!=="text-start"&&i.type!=="text-end"){l.enqueue({part:i,partialOutput:void 0});return}if(t==null)t=i.id;else if(i.id!==t){l.enqueue({part:i,partialOutput:void 0});return}if(i.type==="text-start"){l.enqueue({part:i,partialOutput:void 0});return}if(i.type==="text-end"){n.length>0&&s({controller:l}),l.enqueue({part:i,partialOutput:void 0});return}r+=i.text,n+=i.text,a=(u=i.providerMetadata)!=null?u:a;const c=await e.parsePartialOutput({text:r});if(c!==void 0){const d=JSON.stringify(c.partial);d!==o&&(s({controller:l,partialOutput:c.partial}),o=d)}}})}var mv=class{constructor({model:e,telemetry:t,headers:r,settings:n,maxRetries:a,abortSignal:o,system:s,prompt:i,messages:l,tools:u,toolChoice:c,transforms:d,activeTools:p,repairToolCall:w,stopConditions:b,output:_,providerOptions:I,prepareStep:P,includeRawChunks:C,now:m,currentDate:z,generateId:O,onChunk:y,onError:x,onFinish:D,onAbort:F,onStepFinish:se,experimental_context:L,download:X}){this._totalUsage=new lr,this._finishReason=new lr,this._rawFinishReason=new lr,this._steps=new lr,this.outputSpecification=_,this.includeRawChunks=C,this.tools=u;let Q,le=[];const xe=[];let Te,ct,Fe,zt={},$t=[];const Ce=[],Mt=new Map;let Ft,nt={},at={};const kr=new TransformStream({async transform(pe,fe){var ne,V,B,Ke;fe.enqueue(pe);const{part:N}=pe;if((N.type==="text-delta"||N.type==="reasoning-delta"||N.type==="source"||N.type==="tool-call"||N.type==="tool-result"||N.type==="tool-input-start"||N.type==="tool-input-delta"||N.type==="raw")&&await(y==null?void 0:y({chunk:N})),N.type==="error"&&await x({error:$l(N.error)}),N.type==="text-start"&&(nt[N.id]={type:"text",text:"",providerMetadata:N.providerMetadata},le.push(nt[N.id])),N.type==="text-delta"){const U=nt[N.id];if(U==null){fe.enqueue({part:{type:"error",error:`text part ${N.id} not found`},partialOutput:void 0});return}U.text+=N.text,U.providerMetadata=(ne=N.providerMetadata)!=null?ne:U.providerMetadata}if(N.type==="text-end"){const U=nt[N.id];if(U==null){fe.enqueue({part:{type:"error",error:`text part ${N.id} not found`},partialOutput:void 0});return}U.providerMetadata=(V=N.providerMetadata)!=null?V:U.providerMetadata,delete nt[N.id]}if(N.type==="reasoning-start"&&(at[N.id]={type:"reasoning",text:"",providerMetadata:N.providerMetadata},le.push(at[N.id])),N.type==="reasoning-delta"){const U=at[N.id];if(U==null){fe.enqueue({part:{type:"error",error:`reasoning part ${N.id} not found`},partialOutput:void 0});return}U.text+=N.text,U.providerMetadata=(B=N.providerMetadata)!=null?B:U.providerMetadata}if(N.type==="reasoning-end"){const U=at[N.id];if(U==null){fe.enqueue({part:{type:"error",error:`reasoning part ${N.id} not found`},partialOutput:void 0});return}U.providerMetadata=(Ke=N.providerMetadata)!=null?Ke:U.providerMetadata,delete at[N.id]}if(N.type==="file"&&le.push({type:"file",file:N.file}),N.type==="source"&&le.push(N),N.type==="tool-call"&&le.push(N),N.type==="tool-result"&&!N.preliminary&&le.push(N),N.type==="tool-approval-request"&&le.push(N),N.type==="tool-error"&&le.push(N),N.type==="start-step"&&(le=[],at={},nt={},zt=N.request,$t=N.warnings),N.type==="finish-step"){const U=await Hn({content:le,tools:u}),ae=new Wl({content:le,finishReason:N.finishReason,rawFinishReason:N.rawFinishReason,usage:N.usage,warnings:$t,request:zt,response:{...N.response,messages:[...xe,...U]},providerMetadata:N.providerMetadata});await(se==null?void 0:se(ae)),ma({warnings:$t,provider:e.provider,model:e.modelId}),Ce.push(ae),xe.push(...U),Q.resolve()}N.type==="finish"&&(Fe=N.totalUsage,Te=N.finishReason,ct=N.rawFinishReason)},async flush(pe){try{if(Ce.length===0){const B=new pl({message:"No output generated. Check the stream for errors."});J._finishReason.reject(B),J._rawFinishReason.reject(B),J._totalUsage.reject(B),J._steps.reject(B);return}const fe=Te??"other",ne=Fe??Dn();J._finishReason.resolve(fe),J._rawFinishReason.resolve(ct),J._totalUsage.resolve(ne),J._steps.resolve(Ce);const V=Ce[Ce.length-1];await(D==null?void 0:D({finishReason:V.finishReason,rawFinishReason:V.rawFinishReason,totalUsage:ne,usage:V.usage,content:V.content,text:V.text,reasoningText:V.reasoningText,reasoning:V.reasoning,files:V.files,sources:V.sources,toolCalls:V.toolCalls,staticToolCalls:V.staticToolCalls,dynamicToolCalls:V.dynamicToolCalls,toolResults:V.toolResults,staticToolResults:V.staticToolResults,dynamicToolResults:V.dynamicToolResults,request:V.request,response:V.response,warnings:V.warnings,providerMetadata:V.providerMetadata,steps:Ce,experimental_context:L})),Ft.setAttributes(await tt({telemetry:t,attributes:{"ai.response.finishReason":fe,"ai.response.text":{output:()=>V.text},"ai.response.toolCalls":{output:()=>{var B;return(B=V.toolCalls)!=null&&B.length?JSON.stringify(V.toolCalls):void 0}},"ai.response.providerMetadata":JSON.stringify(V.providerMetadata),"ai.usage.inputTokens":ne.inputTokens,"ai.usage.outputTokens":ne.outputTokens,"ai.usage.totalTokens":ne.totalTokens,"ai.usage.reasoningTokens":ne.reasoningTokens,"ai.usage.cachedInputTokens":ne.cachedInputTokens}}))}catch(fe){pe.error(fe)}finally{Ft.end()}}}),dt=cv();this.addStream=dt.addStream,this.closeStream=dt.close;const tr=dt.stream.getReader();let ot=new ReadableStream({async start(pe){pe.enqueue({type:"start"})},async pull(pe){function fe(){F==null||F({steps:Ce}),pe.enqueue({type:"abort"}),pe.close()}try{const{done:ne,value:V}=await tr.read();if(ne){pe.close();return}if(o!=null&&o.aborted){fe();return}pe.enqueue(V)}catch(ne){Pt(ne)&&(o!=null&&o.aborted)?fe():pe.error(ne)}},cancel(pe){return dt.stream.cancel(pe)}});for(const pe of d)ot=ot.pipeThrough(pe({tools:u,stopStream(){dt.terminate()}}));this.baseStream=ot.pipeThrough(hv(_??sn())).pipeThrough(kr);const{maxRetries:Pr,retry:rr}=Gl({maxRetries:a,abortSignal:o}),St=Fl(t),Ze=Vn(n),Cr=Ml({model:e,telemetry:t,headers:r,settings:{...Ze,maxRetries:Pr}}),J=this;Ir({name:"ai.streamText",attributes:tt({telemetry:t,attributes:{...br({operationId:"ai.streamText",telemetry:t}),...Cr,"ai.prompt":{input:()=>JSON.stringify({system:s,prompt:i,messages:l})}}}),tracer:St,endWhenDone:!1,fn:async pe=>{Ft=pe;const fe=await zl({system:s,prompt:i,messages:l}),ne=fe.messages,V=[],{approvedToolApprovals:B,deniedToolApprovals:Ke}=Bl({messages:ne});if(Ke.length>0||B.length>0){const U=[...B,...Ke].filter(we=>we.toolCall.providerExecuted),ae=B.filter(we=>!we.toolCall.providerExecuted),W=Ke.filter(we=>!we.toolCall.providerExecuted),st=Ke.filter(we=>we.toolCall.providerExecuted);let ke;const pt=new ReadableStream({start(we){ke=we}});J.addStream(pt);try{for(const Ae of[...W,...st])ke==null||ke.enqueue({type:"tool-output-denied",toolCallId:Ae.toolCall.toolCallId,toolName:Ae.toolCall.toolName});const we=[];if(await Promise.all(ae.map(async Ae=>{const _e=await ya({toolCall:Ae.toolCall,tools:u,tracer:St,telemetry:t,messages:ne,abortSignal:o,experimental_context:L,onPreliminaryToolResult:At=>{ke==null||ke.enqueue(At)}});_e!=null&&(ke==null||ke.enqueue(_e),we.push(_e))})),U.length>0&&V.push({role:"tool",content:U.map(Ae=>({type:"tool-approval-response",approvalId:Ae.approvalResponse.approvalId,approved:Ae.approvalResponse.approved,reason:Ae.approvalResponse.reason,providerExecuted:!0}))}),we.length>0||W.length>0){const Ae=[];for(const _e of we)Ae.push({type:"tool-result",toolCallId:_e.toolCallId,toolName:_e.toolName,output:await fr({toolCallId:_e.toolCallId,input:_e.input,tool:u==null?void 0:u[_e.toolName],output:_e.type==="tool-result"?_e.output:_e.error,errorMode:_e.type==="tool-error"?"json":"none"})});for(const _e of W)Ae.push({type:"tool-result",toolCallId:_e.toolCall.toolCallId,toolName:_e.toolCall.toolName,output:{type:"execution-denied",reason:_e.approvalResponse.reason}});V.push({role:"tool",content:Ae})}}finally{ke==null||ke.close()}}xe.push(...V);async function N({currentStep:U,responseMessages:ae,usage:W}){var st,ke,pt,we,Ae,_e;const At=J.includeRawChunks;Q=new lr;const ft=[...ne,...ae],$=await(P==null?void 0:P({model:e,steps:Ce,stepNumber:Ce.length,messages:ft,experimental_context:L})),Ee=on((st=$==null?void 0:$.model)!=null?st:e),Lt=await Rl({prompt:{system:(ke=$==null?void 0:$.system)!=null?ke:fe.system,messages:(pt=$==null?void 0:$.messages)!=null?pt:ft},supportedUrls:await Ee.supportedUrls,download:X}),{toolChoice:it,tools:Ut}=await kl({tools:u,toolChoice:(we=$==null?void 0:$.toolChoice)!=null?we:c,activeTools:(Ae=$==null?void 0:$.activeTools)!=null?Ae:p});L=(_e=$==null?void 0:$.experimental_context)!=null?_e:L;const Dr=gn(I,$==null?void 0:$.providerOptions),{result:{stream:zr,response:nr,request:ar},doStreamSpan:lt,startTimestampMs:$r}=await rr(()=>Ir({name:"ai.streamText.doStream",attributes:tt({telemetry:t,attributes:{...br({operationId:"ai.streamText.doStream",telemetry:t}),...Cr,"ai.model.provider":Ee.provider,"ai.model.id":Ee.modelId,"ai.prompt.messages":{input:()=>Ul(Lt)},"ai.prompt.tools":{input:()=>Ut==null?void 0:Ut.map(M=>JSON.stringify(M))},"ai.prompt.toolChoice":{input:()=>it!=null?JSON.stringify(it):void 0},"gen_ai.system":Ee.provider,"gen_ai.request.model":Ee.modelId,"gen_ai.request.frequency_penalty":Ze.frequencyPenalty,"gen_ai.request.max_tokens":Ze.maxOutputTokens,"gen_ai.request.presence_penalty":Ze.presencePenalty,"gen_ai.request.stop_sequences":Ze.stopSequences,"gen_ai.request.temperature":Ze.temperature,"gen_ai.request.top_k":Ze.topK,"gen_ai.request.top_p":Ze.topP}}),tracer:St,endWhenDone:!1,fn:async M=>({startTimestampMs:m(),doStreamSpan:M,result:await Ee.doStream({...Ze,tools:Ut,toolChoice:it,responseFormat:await(_==null?void 0:_.responseFormat),prompt:Lt,providerOptions:Dr,abortSignal:o,headers:r,includeRawChunks:At})})})),Oe=pv({tools:u,generatorStream:zr,tracer:St,telemetry:t,system:s,messages:ft,repairToolCall:w,abortSignal:o,experimental_context:L,generateId:O}),gt=ar??{},ht=[],or=[];let mn;const yn={};let jt="other",vn,Ve=Dn(),wn,_a=!0,Xe={id:O(),timestamp:z(),modelId:e.modelId},Ta="";J.addStream(Oe.pipeThrough(new TransformStream({async transform(M,Re){var sr,ir,Mr,Ne,qt;if(M.type==="stream-start"){mn=M.warnings;return}if(_a){const be=m()-$r;_a=!1,lt.addEvent("ai.stream.firstChunk",{"ai.response.msToFirstChunk":be}),lt.setAttributes({"ai.response.msToFirstChunk":be}),Re.enqueue({type:"start-step",request:gt,warnings:mn??[]})}const _n=M.type;switch(_n){case"tool-approval-request":case"text-start":case"text-end":{Re.enqueue(M);break}case"text-delta":{M.delta.length>0&&(Re.enqueue({type:"text-delta",id:M.id,text:M.delta,providerMetadata:M.providerMetadata}),Ta+=M.delta);break}case"reasoning-start":case"reasoning-end":{Re.enqueue(M);break}case"reasoning-delta":{Re.enqueue({type:"reasoning-delta",id:M.id,text:M.delta,providerMetadata:M.providerMetadata});break}case"tool-call":{Re.enqueue(M),ht.push(M);break}case"tool-result":{Re.enqueue(M),M.preliminary||or.push(M);break}case"tool-error":{Re.enqueue(M),or.push(M);break}case"response-metadata":{Xe={id:(sr=M.id)!=null?sr:Xe.id,timestamp:(ir=M.timestamp)!=null?ir:Xe.timestamp,modelId:(Mr=M.modelId)!=null?Mr:Xe.modelId};break}case"finish":{Ve=M.usage,jt=M.finishReason,vn=M.rawFinishReason,wn=M.providerMetadata;const be=m()-$r;lt.addEvent("ai.stream.finish"),lt.setAttributes({"ai.response.msToFinish":be,"ai.response.avgOutputTokensPerSecond":1e3*((Ne=Ve.outputTokens)!=null?Ne:0)/be});break}case"file":{Re.enqueue(M);break}case"source":{Re.enqueue(M);break}case"tool-input-start":{yn[M.id]=M.toolName;const be=u==null?void 0:u[M.toolName];(be==null?void 0:be.onInputStart)!=null&&await be.onInputStart({toolCallId:M.id,messages:ft,abortSignal:o,experimental_context:L}),Re.enqueue({...M,dynamic:(qt=M.dynamic)!=null?qt:(be==null?void 0:be.type)==="dynamic",title:be==null?void 0:be.title});break}case"tool-input-end":{delete yn[M.id],Re.enqueue(M);break}case"tool-input-delta":{const be=yn[M.id],Tn=u==null?void 0:u[be];(Tn==null?void 0:Tn.onInputDelta)!=null&&await Tn.onInputDelta({inputTextDelta:M.delta,toolCallId:M.id,messages:ft,abortSignal:o,experimental_context:L}),Re.enqueue(M);break}case"error":{Re.enqueue(M),jt="error";break}case"raw":{At&&Re.enqueue(M);break}default:{const be=_n;throw new Error(`Unknown chunk type: ${be}`)}}},async flush(M){const Re=ht.length>0?JSON.stringify(ht):void 0;try{lt.setAttributes(await tt({telemetry:t,attributes:{"ai.response.finishReason":jt,"ai.response.text":{output:()=>Ta},"ai.response.toolCalls":{output:()=>Re},"ai.response.id":Xe.id,"ai.response.model":Xe.modelId,"ai.response.timestamp":Xe.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(wn),"ai.usage.inputTokens":Ve.inputTokens,"ai.usage.outputTokens":Ve.outputTokens,"ai.usage.totalTokens":Ve.totalTokens,"ai.usage.reasoningTokens":Ve.reasoningTokens,"ai.usage.cachedInputTokens":Ve.cachedInputTokens,"gen_ai.response.finish_reasons":[jt],"gen_ai.response.id":Xe.id,"gen_ai.response.model":Xe.modelId,"gen_ai.usage.input_tokens":Ve.inputTokens,"gen_ai.usage.output_tokens":Ve.outputTokens}}))}catch{}finally{lt.end()}M.enqueue({type:"finish-step",finishReason:jt,rawFinishReason:vn,usage:Ve,providerMetadata:wn,response:{...Xe,headers:nr==null?void 0:nr.headers}});const sr=ql(W,Ve);await Q.promise;const ir=ht.filter(Ne=>Ne.providerExecuted!==!0),Mr=or.filter(Ne=>Ne.providerExecuted!==!0);for(const Ne of ht){if(Ne.providerExecuted!==!0)continue;const qt=u==null?void 0:u[Ne.toolName];(qt==null?void 0:qt.type)==="provider"&&qt.supportsDeferredResults&&(or.some(be=>be.type==="tool-result"&&be.toolCallId===Ne.toolCallId)||Mt.set(Ne.toolCallId,{toolName:Ne.toolName}))}for(const Ne of or)Ne.type==="tool-result"&&Mt.delete(Ne.toolCallId);if((ir.length>0&&Mr.length===ir.length||Mt.size>0)&&!await Xl({stopConditions:b,steps:Ce})){ae.push(...await Hn({content:Ce[Ce.length-1].content,tools:u}));try{await N({currentStep:U+1,responseMessages:ae,usage:sr})}catch(Ne){M.enqueue({type:"error",error:Ne}),J.closeStream()}}else M.enqueue({type:"finish",finishReason:jt,rawFinishReason:vn,totalUsage:sr}),J.closeStream()}})))}await N({currentStep:0,responseMessages:V,usage:Dn()})}}).catch(pe=>{J.addStream(new ReadableStream({start(fe){fe.enqueue({type:"error",error:pe}),fe.close()}})),J.closeStream()})}get steps(){return this.consumeStream(),this._steps.promise}get finalStep(){return this.steps.then(e=>e[e.length-1])}get content(){return this.finalStep.then(e=>e.content)}get warnings(){return this.finalStep.then(e=>e.warnings)}get providerMetadata(){return this.finalStep.then(e=>e.providerMetadata)}get text(){return this.finalStep.then(e=>e.text)}get reasoningText(){return this.finalStep.then(e=>e.reasoningText)}get reasoning(){return this.finalStep.then(e=>e.reasoning)}get sources(){return this.finalStep.then(e=>e.sources)}get files(){return this.finalStep.then(e=>e.files)}get toolCalls(){return this.finalStep.then(e=>e.toolCalls)}get staticToolCalls(){return this.finalStep.then(e=>e.staticToolCalls)}get dynamicToolCalls(){return this.finalStep.then(e=>e.dynamicToolCalls)}get toolResults(){return this.finalStep.then(e=>e.toolResults)}get staticToolResults(){return this.finalStep.then(e=>e.staticToolResults)}get dynamicToolResults(){return this.finalStep.then(e=>e.dynamicToolResults)}get usage(){return this.finalStep.then(e=>e.usage)}get request(){return this.finalStep.then(e=>e.request)}get response(){return this.finalStep.then(e=>e.response)}get totalUsage(){return this.consumeStream(),this._totalUsage.promise}get finishReason(){return this.consumeStream(),this._finishReason.promise}get rawFinishReason(){return this.consumeStream(),this._rawFinishReason.promise}teeStream(){const[e,t]=this.baseStream.tee();return this.baseStream=t,e}get textStream(){return qr(this.teeStream().pipeThrough(new TransformStream({transform({part:e},t){e.type==="text-delta"&&t.enqueue(e.text)}})))}get fullStream(){return qr(this.teeStream().pipeThrough(new TransformStream({transform({part:e},t){t.enqueue(e)}})))}async consumeStream(e){var t;try{await uv({stream:this.fullStream,onError:e==null?void 0:e.onError})}catch(r){(t=e==null?void 0:e.onError)==null||t.call(e,r)}}get experimental_partialOutputStream(){return this.partialOutputStream}get partialOutputStream(){return qr(this.teeStream().pipeThrough(new TransformStream({transform({partialOutput:e},t){e!=null&&t.enqueue(e)}})))}get output(){return this.finalStep.then(e=>{var t;return((t=this.outputSpecification)!=null?t:sn()).parseCompleteOutput({text:e.text},{response:e.response,usage:e.usage,finishReason:e.finishReason})})}toUIMessageStream({originalMessages:e,generateMessageId:t,onFinish:r,messageMetadata:n,sendReasoning:a=!0,sendSources:o=!1,sendStart:s=!0,sendFinish:i=!0,onError:l=Kt}={}){const u=t!=null?tv({originalMessages:e,responseMessageId:t}):void 0,c=p=>{var w;const b=(w=this.tools)==null?void 0:w[p.toolName];return b==null?p.dynamic:(b==null?void 0:b.type)==="dynamic"?!0:void 0},d=this.fullStream.pipeThrough(new TransformStream({transform:async(p,w)=>{const b=n==null?void 0:n({part:p}),_=p.type;switch(_){case"text-start":{w.enqueue({type:"text-start",id:p.id,...p.providerMetadata!=null?{providerMetadata:p.providerMetadata}:{}});break}case"text-delta":{w.enqueue({type:"text-delta",id:p.id,delta:p.text,...p.providerMetadata!=null?{providerMetadata:p.providerMetadata}:{}});break}case"text-end":{w.enqueue({type:"text-end",id:p.id,...p.providerMetadata!=null?{providerMetadata:p.providerMetadata}:{}});break}case"reasoning-start":{w.enqueue({type:"reasoning-start",id:p.id,...p.providerMetadata!=null?{providerMetadata:p.providerMetadata}:{}});break}case"reasoning-delta":{a&&w.enqueue({type:"reasoning-delta",id:p.id,delta:p.text,...p.providerMetadata!=null?{providerMetadata:p.providerMetadata}:{}});break}case"reasoning-end":{w.enqueue({type:"reasoning-end",id:p.id,...p.providerMetadata!=null?{providerMetadata:p.providerMetadata}:{}});break}case"file":{w.enqueue({type:"file",mediaType:p.file.mediaType,url:`data:${p.file.mediaType};base64,${p.file.base64}`});break}case"source":{o&&p.sourceType==="url"&&w.enqueue({type:"source-url",sourceId:p.id,url:p.url,title:p.title,...p.providerMetadata!=null?{providerMetadata:p.providerMetadata}:{}}),o&&p.sourceType==="document"&&w.enqueue({type:"source-document",sourceId:p.id,mediaType:p.mediaType,title:p.title,filename:p.filename,...p.providerMetadata!=null?{providerMetadata:p.providerMetadata}:{}});break}case"tool-input-start":{const I=c(p);w.enqueue({type:"tool-input-start",toolCallId:p.id,toolName:p.toolName,...p.providerExecuted!=null?{providerExecuted:p.providerExecuted}:{},...I!=null?{dynamic:I}:{},...p.title!=null?{title:p.title}:{}});break}case"tool-input-delta":{w.enqueue({type:"tool-input-delta",toolCallId:p.id,inputTextDelta:p.delta});break}case"tool-call":{const I=c(p);p.invalid?w.enqueue({type:"tool-input-error",toolCallId:p.toolCallId,toolName:p.toolName,input:p.input,...p.providerExecuted!=null?{providerExecuted:p.providerExecuted}:{},...p.providerMetadata!=null?{providerMetadata:p.providerMetadata}:{},...I!=null?{dynamic:I}:{},errorText:l(p.error),...p.title!=null?{title:p.title}:{}}):w.enqueue({type:"tool-input-available",toolCallId:p.toolCallId,toolName:p.toolName,input:p.input,...p.providerExecuted!=null?{providerExecuted:p.providerExecuted}:{},...p.providerMetadata!=null?{providerMetadata:p.providerMetadata}:{},...I!=null?{dynamic:I}:{},...p.title!=null?{title:p.title}:{}});break}case"tool-approval-request":{w.enqueue({type:"tool-approval-request",approvalId:p.approvalId,toolCallId:p.toolCall.toolCallId});break}case"tool-result":{const I=c(p);w.enqueue({type:"tool-output-available",toolCallId:p.toolCallId,output:p.output,...p.providerExecuted!=null?{providerExecuted:p.providerExecuted}:{},...p.preliminary!=null?{preliminary:p.preliminary}:{},...I!=null?{dynamic:I}:{}});break}case"tool-error":{const I=c(p);w.enqueue({type:"tool-output-error",toolCallId:p.toolCallId,errorText:l(p.error),...p.providerExecuted!=null?{providerExecuted:p.providerExecuted}:{},...I!=null?{dynamic:I}:{}});break}case"tool-output-denied":{w.enqueue({type:"tool-output-denied",toolCallId:p.toolCallId});break}case"error":{w.enqueue({type:"error",errorText:l(p.error)});break}case"start-step":{w.enqueue({type:"start-step"});break}case"finish-step":{w.enqueue({type:"finish-step"});break}case"start":{s&&w.enqueue({type:"start",...b!=null?{messageMetadata:b}:{},...u!=null?{messageId:u}:{}});break}case"finish":{i&&w.enqueue({type:"finish",finishReason:p.finishReason,...b!=null?{messageMetadata:b}:{}});break}case"abort":{w.enqueue(p);break}case"tool-input-end":break;case"raw":break;default:{const I=_;throw new Error(`Unknown chunk type: ${I}`)}}b!=null&&_!=="start"&&_!=="finish"&&w.enqueue({type:"message-metadata",messageMetadata:b})}}));return qr(iv({stream:d,messageId:u??(t==null?void 0:t()),originalMessages:e,onFinish:r,onError:l}))}pipeUIMessageStreamToResponse(e,{originalMessages:t,generateMessageId:r,onFinish:n,messageMetadata:a,sendReasoning:o,sendSources:s,sendFinish:i,sendStart:l,onError:u,...c}={}){lv({response:e,stream:this.toUIMessageStream({originalMessages:t,generateMessageId:r,onFinish:n,messageMetadata:a,sendReasoning:o,sendSources:s,sendFinish:i,sendStart:l,onError:u}),...c})}pipeTextStreamToResponse(e,t){Qy({response:e,textStream:this.textStream,...t})}toUIMessageStreamResponse({originalMessages:e,generateMessageId:t,onFinish:r,messageMetadata:n,sendReasoning:a,sendSources:o,sendFinish:s,sendStart:i,onError:l,...u}={}){return ev({stream:this.toUIMessageStream({originalMessages:e,generateMessageId:t,onFinish:r,messageMetadata:n,sendReasoning:a,sendSources:o,sendFinish:s,sendStart:i,onError:l}),...u})}toTextStreamResponse(e){return Xy({textStream:this.textStream,...e})}};xr({prefix:"aiobj",size:24});xr({prefix:"aiobj",size:24});const yv=`You are an expert language translator specializing in preserving data structure integrity while translating content.
77
+
78
+ TASK: Translate all text content within the provided JSON structure to the target language.
79
+
80
+ TRANSLATION PATTERN:
81
+ 1. Content Translation Strategy:
82
+ - Identify text content properties (e.g., 'content', 'label', 'text', 'title', 'description')
83
+ - Preserve the original property as the default language content
84
+ - Add language-specific variants using the pattern: '{propertyName}-{languageCode}'
85
+
86
+ 2. Property Naming Convention:
87
+ - Original: 'content' (default language)
88
+ - Translated: 'content-fr', 'content-es', 'content-de', etc.
89
+ - Examples: 'label' → 'label-fr', 'title' → 'title-es', 'description' → 'description-de'
90
+
91
+ 3. Implementation Rules:
92
+ - NEVER override or remove the original property
93
+ - Language code is provided in the user request
94
+ - If there is already a property with the same name as the translated property, replace it with the translated property.
95
+
96
+ REQUIREMENTS (Common):
97
+ 1. Return ONLY the translated JSON structure - no markdown formatting, code blocks, or explanations
98
+ 2. Preserve the exact JSON structure, keys, and data types
99
+ 3. Maintain proper grammar, tone, and cultural context in the target language
100
+ 4. Maintain the original structure and data types
101
+ 5. Translate ONLY human-readable text content - do NOT translate:
102
+ - JSON keys/property names
103
+ - Data binding placeholders (format: {{dataBindingId}})
104
+ - HTML attributes (class, id, data-*, etc.)
105
+ - URLs, file paths, or technical identifiers
106
+ - Code snippets or technical values
107
+ 6. Ensure translated text fits naturally within the original context
108
+ 7. Keep numbers, dates, and technical terms unchanged unless culturally appropriate to translate
109
+
110
+ OUTPUT FORMAT: Valid JSON only, ready to be parsed directly.`,vv=`You are an expert language translator and content editor specializing in preserving data structure integrity while modifying content.
111
+
112
+ TASK: Modify content within the provided JSON structure according to user request for the target language.
113
+
114
+ CONTENT MODIFICATION STRATEGY:
115
+ 1. Language Property Selection:
116
+ - First, check if '{propertyName}-{languageCode}' exists (e.g., 'content-fr', 'label-es', 'title-de')
117
+ - If language-specific property exists: Use and modify that property's content
118
+ - If language-specific property does NOT exist: Use the default language property content, translate it to the target language, and create the '{propertyName}-{languageCode}' property with the translated content
119
+
120
+ 2. Property Naming Convention:
121
+ - Default language: 'content', 'label', 'text', 'title', 'description'
122
+ - Language-specific: 'content-{languageCode}', 'label-{languageCode}', etc.
123
+ - Examples: 'content-fr', 'label-es', 'title-de', 'description-ja'
124
+
125
+ 3. Implementation Rules:
126
+ - NEVER modify the original default language property
127
+ - Only modify or create the language-specific property ('{propertyName}-{languageCode}')
128
+ - Language code is provided in the user request
129
+ - Preserve all other language variants unchanged
130
+
131
+ REQUIREMENTS (Common):
132
+ 1. Return ONLY the modified JSON structure - no markdown formatting, code blocks, or explanations
133
+ 2. Preserve the exact JSON structure, keys, and data types
134
+ 3. Maintain proper grammar, tone, and cultural context in the target language
135
+ 4. Maintain the original structure and data types
136
+
137
+ CRITICAL REQUIREMENTS (Content Modification):
138
+ 1. Apply user-requested modifications (improve, lengthen, shorten, fix grammar, change tone, rephrase, etc.) to the language-specific property
139
+ 2. If language-specific property exists: Modify its content according to user request
140
+ 3. If language-specific property does NOT exist: Translate default content to target language first, then apply modifications
141
+ 4. Do NOT translate or modify:
142
+ - JSON keys/property names
143
+ - Data binding placeholders (format: {{dataBindingId}})
144
+ - HTML attributes (class, id, data-*, etc.)
145
+ - URLs, file paths, or technical identifiers
146
+ - Code snippets or technical values
147
+ 5. Preserve all other language variants and properties unchanged
148
+ 6. Apply changes consistently across related properties when applicable
149
+
150
+ OUTPUT FORMAT: Valid JSON only, ready to be parsed directly.`,Qo=`
151
+ 🚨 CRITICAL FORMAT REQUIREMENT: Your response MUST start with '--START--' immediately. NEVER include any text, thinking, or reasoning before '--START--'. 🚨
152
+
153
+
154
+ # 1. RESPONSE FORMAT RULES (ALWAYS OBEY FIRST)
155
+
156
+ Every response MUST follow this structure:
157
+
158
+ --START--
159
+ --THINKING={short plain-language reasoning}
160
+ (one or more ACTION blocks: ADD / EDIT / REMOVE)
161
+ --END--
162
+
163
+ Rules:
164
+ - The VERY FIRST characters must be '--START--'.
165
+ - '--THINKING=' must appear immediately after '--START--'.
166
+ - No commentary, markdown, or text outside '--START--' and '--END--'.
167
+ - Use simple natural language in THINKING. Do NOT mention ids, attributes, DOM, HTML tags, or technical terms.
168
+ - If no action is required, still output:
169
+ --START--
170
+ --THINKING={why no changes needed}
171
+ --END--
172
+
173
+
174
+ # 2. ACTION FORMAT DEFINITIONS (MANDATORY)
175
+
176
+ ### ADD Action
177
+ Used to insert new HTML.
178
+ Do not add bid attribute to any element.
179
+
180
+ Format:
181
+ --ACTION=ADD|PARENT={parent_id or 'undefined'}|POS={position or -1}--
182
+ --TASK={plain-language description of what you are adding}
183
+ --HTML--
184
+ {HTML here}
185
+ --ENDHTML--
186
+ --MSG={plain-language explanation}
187
+ --ENDACTION--
188
+
189
+ Rules:
190
+ - PARENT = bid of parent, or 'undefined' for root.
191
+ - POS = -1 to append at the end.
192
+ - HTML must include full and valid tags.
193
+
194
+
195
+ ### EDIT Action
196
+ Used to replace an existing element completely.
197
+ Combine multiple edits into one action with one edit id where possible.
198
+
199
+ Format:
200
+ --ACTION=EDIT|ID={target_id}--
201
+ --TASK={plain-language description of what you are changing}
202
+ --HTML--
203
+ {full replacement HTML here}
204
+ --ENDHTML--
205
+ --MSG={plain-language explanation}
206
+ --ENDACTION--
207
+
208
+ Rules:
209
+ - Must include full tag being replaced.
210
+ - Never partially edit; always replace full HTML for the target element.
211
+
212
+
213
+ ### REMOVE Action
214
+ Used to delete elements.
215
+
216
+ Format:
217
+ --ACTION=REMOVE|IDS={id1, id2, ...}--
218
+ --TASK={plain-language description of what you are removing}
219
+ --MSG={plain-language explanation}
220
+ --ENDACTION--
221
+
222
+
223
+ ### THINKING Block (STRICT)
224
+ Placed immediately after '--START--'.
225
+
226
+ Format:
227
+ --THINKING={short plain-language reasoning}
228
+
229
+ Rules:
230
+ - Only one concise line.
231
+ - No mentions of tags, ids, attributes, DOM, or code.
232
+ - Focus on visual/content intentions.
233
+
234
+
235
+ # 3. HTML GENERATION RULES (MANDATORY)
236
+
237
+ You are an expert HTML/CSS developer specializing in Tailwind CSS and shadcn/ui patterns.
238
+ You produce clean, semantic, accessible, production-ready HTML.
239
+ Generate **pure HTML**, with no markdown, no comments, no extra text.
240
+
241
+ ### General Guidelines
242
+ 1. Use **only Tailwind CSS v3 utility classes**, no custom CSS.
243
+ 2. Use **shadcn/ui design system** semantic tokens for all colors.
244
+ 3. Use **semantic HTML** with proper accessibility.
245
+ 4. Always produce **responsive, mobile-first** layout.
246
+ 5. **Do NOT include** <!DOCTYPE>, <html>, <head>, or <body>.
247
+ 6. Keep UI varied — don't repeat the same layout patterns.
248
+ 7. Use \`<details><summary>\` for accordion, FAQ, and mobile menu interactions.
249
+ 8. Do NOT use Tailwind container queries.
250
+ 9. If UI is generated from a user-provided image, ensure full responsiveness.
251
+ 10. **If the user has attached an image, the HTML MUST be generated based strictly on the layout, spacing, hierarchy, and visual appearance of that image.**
252
+ - Match structure as closely as possible
253
+ - Maintain the Tailwind + shadcn theme rules
254
+ - The HTML output should reflect the exact design of the provided image
255
+
256
+
257
+ # 3.1 DESIGN EXCELLENCE & CREATIVITY (CRITICAL)
258
+
259
+ Create distinctive, production-grade interfaces that avoid generic "AI slop" aesthetics. Every UI you generate should be visually striking, memorable, and intentionally designed.
260
+
261
+ ### Design Thinking Process
262
+ Before generating HTML, commit to a BOLD aesthetic direction:
263
+ - **Purpose**: Consider what problem this interface solves and who uses it
264
+ - **Tone**: Choose a clear aesthetic direction: brutally minimal, maximalist, retro-futuristic, organic/natural, luxury/refined, playful/toy-like, editorial/magazine, brutalist/raw, art deco/geometric, soft/pastel, industrial/utilitarian, etc. Use these for inspiration but design something true to the context.
265
+ - **Differentiation**: What makes this UNFORGETTABLE? What's the one thing someone will remember?
266
+
267
+ **CRITICAL**: Choose a clear conceptual direction and execute it with precision. Bold maximalism and refined minimalism both work - the key is intentionality, not intensity.
268
+
269
+ ### Design Excellence Guidelines
270
+
271
+ **Typography & Font Selection**:
272
+ - Choose fonts that are beautiful, unique, and interesting
273
+ - AVOID generic fonts: Arial, Inter, Roboto, system fonts
274
+ - Use distinctive font combinations that elevate the design
275
+ - Pair a distinctive display font with a refined body font
276
+ - Consider: font-serif, font-mono for variety, or use weight variations (font-light, font-bold) creatively
277
+
278
+ **Color & Visual Hierarchy**:
279
+ - Commit to a cohesive aesthetic with dominant colors and sharp accents
280
+ - Avoid timid, evenly-distributed palettes
281
+ - Use shadcn tokens creatively (not just bg-background everywhere)
282
+ - Consider bold color blocking, dramatic contrasts, or refined monochrome
283
+ - AVOID: purple gradients on white backgrounds, predictable color schemes
284
+
285
+ **Spatial Composition**:
286
+ - Create unexpected layouts with asymmetry, overlap, diagonal flow
287
+ - Use grid-breaking elements and generous negative space OR controlled density
288
+ - Avoid predictable grid patterns - be creative with positioning
289
+ - Consider: absolute positioning, creative flexbox/grid layouts, overlapping elements
290
+
291
+ **Backgrounds & Visual Details**:
292
+ - Create atmosphere and depth rather than defaulting to solid colors
293
+ - Consider: gradient meshes, subtle textures, geometric patterns
294
+ - Use layered transparencies, dramatic shadows, decorative borders
295
+ - Add visual interest with background patterns or accent elements
296
+
297
+ **NEVER Use Generic AI Aesthetics**:
298
+ - Overused font families (Inter, Roboto, Arial, system fonts)
299
+ - Cliched color schemes (purple gradients on white)
300
+ - Predictable layouts and component patterns
301
+ - Cookie-cutter designs lacking context-specific character
302
+ - NEVER converge on common choices (Space Grotesk, etc.) across generations
303
+
304
+ **Implementation Complexity**:
305
+ - Match complexity to the aesthetic vision
306
+ - Maximalist designs: elaborate code with extensive effects
307
+ - Minimalist designs: restraint, precision, careful spacing and typography
308
+ - Elegance comes from executing the vision well
309
+
310
+ **Variation Mandate**:
311
+ - Every design should be different
312
+ - Vary between light and dark themes
313
+ - Change fonts, layouts, color schemes between generations
314
+ - Interpret user requests creatively with unexpected choices
315
+
316
+
317
+ # 4. ATTRIBUTE & CUSTOM COMPONENT RULES
318
+
319
+ ### chai-name
320
+ - Add \`chai-name\` attribute to tags
321
+ - Use descriptive section names (e.g., "Hero Section", "Navigation").
322
+
323
+ ## Custom Web components(CRITICAL)
324
+ - Html can have custom web components. All web components starts with <chai- prefix.
325
+ - Use "about-this-component" attribute to understand what the component does.
326
+ - Check for can-move and can-delete attribute to check if the component can be moved or deleted.
327
+ - If an attribute value starts with #styles: treat it like class attribute with tailwind classes.
328
+ Use the attribute key to understand what the attribute does and apply classes. Maintain the #styles: at start followed by tailwind classes.
329
+ - Do not change the chai-type attribute. Do not remove any attributes.
330
+
331
+ ### SVG & Icons
332
+ - Always include width/height attributes.
333
+ - Ensure correct \`viewBox\`.
334
+
335
+
336
+ # 5. SHADCN/THEME COLOR RULES (STRICT)
337
+
338
+ Use ONLY these semantic tokens:
339
+
340
+ - bg-background + text-foreground
341
+ - bg-card + text-card-foreground
342
+ - bg-primary + text-primary-foreground
343
+ - bg-secondary + text-secondary-foreground
344
+ - bg-muted + text-muted-foreground
345
+ - bg-accent + text-accent-foreground
346
+ - bg-destructive + text-destructive-foreground
347
+ - border-border, border-input
348
+ - ring-ring
349
+
350
+ ### Contrast Rules
351
+ - Always maintain clear readable contrast.
352
+ - Never pair same-family bg/text tokens (e.g., bg-primary + text-primary).
353
+
354
+ ### Hover Rules
355
+ - Primary buttons: hover:bg-primary/90
356
+ - Cards: hover:bg-accent hover:text-accent-foreground
357
+ - Links: text-muted-foreground hover:text-foreground
358
+ - Nav links: text-foreground/80 hover:text-foreground
359
+
360
+
361
+
362
+ # 6. RESPONSIVENESS RULES
363
+
364
+ - Mobile-first approach.
365
+ - Breakpoints: sm, md, lg, xl.
366
+ - Smooth scaling between sizes.
367
+ - At md breakpoint:
368
+ * Reduce grid columns (lg:4 → md:2 → sm:1)
369
+ * Adjust padding, spacing, and layouts
370
+ * Ensure nav/mobilmenus behave correctly
371
+ * Ensure cards remain aligned
372
+
373
+
374
+ # 7. SPECIFIC UI PATTERNS
375
+
376
+ ### Mobile Menu (<details><summary>)
377
+ - Use 'summary' containing an SVG hamburger icon.
378
+ - Mobile menu container sample:
379
+ absolute right-1 mt-2 min-w-64 bg-card border border-border rounded-lg shadow-lg z-50 p-4
380
+ - Menu item sample:
381
+ block py-2 px-4 hover:bg-accent rounded-md transition-colors
382
+ - Touch targets must be at least 44px tall.
383
+
384
+ ### Accordions / Nested Menus
385
+ - Always use <details> and <summary>.
386
+
387
+
388
+ # 8. IMAGE RULES
389
+
390
+ - Use **Picsum Photos** only.
391
+ Format:
392
+ https://picsum.photos/seed/{seed}/{width}/{height}
393
+
394
+ - Seeds must be descriptive, e.g.:
395
+ workspace-modern, tech-innovation, team-office
396
+
397
+ - Suggested sizes:
398
+ * Hero: 1200x600
399
+ * Cards: 400x300
400
+ * Team: 300x300
401
+
402
+ - Always include descriptive alt text.
403
+ - Always include explicit \`width\` and \`height\` HTML attributes on every \`<img>\` tag** matching the image dimensions.
404
+ Example: \`<img src="https://domain/hero/1200/600" alt="Hero image" width="1200" height="600">\`
405
+
406
+
407
+ # 9. OUTPUT RESTRICTIONS
408
+
409
+ - Output ONLY the exact allowed action blocks inside the mandatory format.
410
+ - NEVER include stray text.
411
+ - NEVER include markdown.
412
+ - NEVER break the format.
413
+ - NEVER place ANYTHING before '--START--'.
414
+ - The output must always begin with '--START--' and end with '--END--'.
415
+ `.trim();function ru(e=null){if(e)switch(e){case"TRANSLATE_CONTENT":return yv;case"UPDATE_CONTENT":return vv;default:return Qo}return Qo}const wv="google/gemini-2.5-flash";class _v{constructor(t){Ie(this,"model",wv);Ie(this,"temperature",.7);this.options=t,this.model=(t==null?void 0:t.model)??this.model}async handleRequest(t,r){var p,w;const{messages:n,image:a,initiator:o=null,model:s}=t,i=s||this.model,l=n.filter(b=>b.role!=="system"),u=l[l.length-1],c=a?[...l.slice(0,-1),{role:"user",content:[{type:"text",text:u.content},{type:"image",image:a}]}]:n,d=gv({model:i,system:ru(o),messages:c,temperature:this.temperature,onFinish:((p=this.options)==null?void 0:p.onFinish)??q.noop,onError:((w=this.options)==null?void 0:w.onError)??q.noop});return r&&d.pipeTextStreamToResponse(r),d}isConfigured(){return!0}}var Qe={exports:{}};const Tv="16.6.1",Ev={version:Tv};var es;function nu(){if(es)return Qe.exports;es=1;const e=mu,t=yu,r=vu,n=is,o=Ev.version,s=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function i(y){const x={};let D=y.toString();D=D.replace(/\r\n?/mg,`
416
+ `);let F;for(;(F=s.exec(D))!=null;){const se=F[1];let L=F[2]||"";L=L.trim();const X=L[0];L=L.replace(/^(['"`])([\s\S]*)\1$/mg,"$2"),X==='"'&&(L=L.replace(/\\n/g,`
417
+ `),L=L.replace(/\\r/g,"\r")),x[se]=L}return x}function l(y){y=y||{};const x=b(y);y.path=x;const D=O.configDotenv(y);if(!D.parsed){const X=new Error(`MISSING_DATA: Cannot parse ${x} for an unknown reason`);throw X.code="MISSING_DATA",X}const F=p(y).split(","),se=F.length;let L;for(let X=0;X<se;X++)try{const Q=F[X].trim(),le=w(D,Q);L=O.decrypt(le.ciphertext,le.key);break}catch(Q){if(X+1>=se)throw Q}return O.parse(L)}function u(y){console.log(`[dotenv@${o}][WARN] ${y}`)}function c(y){console.log(`[dotenv@${o}][DEBUG] ${y}`)}function d(y){console.log(`[dotenv@${o}] ${y}`)}function p(y){return y&&y.DOTENV_KEY&&y.DOTENV_KEY.length>0?y.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function w(y,x){let D;try{D=new URL(x)}catch(Q){if(Q.code==="ERR_INVALID_URL"){const le=new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development");throw le.code="INVALID_DOTENV_KEY",le}throw Q}const F=D.password;if(!F){const Q=new Error("INVALID_DOTENV_KEY: Missing key part");throw Q.code="INVALID_DOTENV_KEY",Q}const se=D.searchParams.get("environment");if(!se){const Q=new Error("INVALID_DOTENV_KEY: Missing environment part");throw Q.code="INVALID_DOTENV_KEY",Q}const L=`DOTENV_VAULT_${se.toUpperCase()}`,X=y.parsed[L];if(!X){const Q=new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${L} in your .env.vault file.`);throw Q.code="NOT_FOUND_DOTENV_ENVIRONMENT",Q}return{ciphertext:X,key:F}}function b(y){let x=null;if(y&&y.path&&y.path.length>0)if(Array.isArray(y.path))for(const D of y.path)e.existsSync(D)&&(x=D.endsWith(".vault")?D:`${D}.vault`);else x=y.path.endsWith(".vault")?y.path:`${y.path}.vault`;else x=t.resolve(process.cwd(),".env.vault");return e.existsSync(x)?x:null}function _(y){return y[0]==="~"?t.join(r.homedir(),y.slice(1)):y}function I(y){const x=!!(y&&y.debug),D=y&&"quiet"in y?y.quiet:!0;(x||!D)&&d("Loading env from encrypted .env.vault");const F=O._parseVault(y);let se=process.env;return y&&y.processEnv!=null&&(se=y.processEnv),O.populate(se,F,y),{parsed:F}}function P(y){const x=t.resolve(process.cwd(),".env");let D="utf8";const F=!!(y&&y.debug),se=y&&"quiet"in y?y.quiet:!0;y&&y.encoding?D=y.encoding:F&&c("No encoding is specified. UTF-8 is used by default");let L=[x];if(y&&y.path)if(!Array.isArray(y.path))L=[_(y.path)];else{L=[];for(const xe of y.path)L.push(_(xe))}let X;const Q={};for(const xe of L)try{const Te=O.parse(e.readFileSync(xe,{encoding:D}));O.populate(Q,Te,y)}catch(Te){F&&c(`Failed to load ${xe} ${Te.message}`),X=Te}let le=process.env;if(y&&y.processEnv!=null&&(le=y.processEnv),O.populate(le,Q,y),F||!se){const xe=Object.keys(Q).length,Te=[];for(const ct of L)try{const Fe=t.relative(process.cwd(),ct);Te.push(Fe)}catch(Fe){F&&c(`Failed to load ${ct} ${Fe.message}`),X=Fe}d(`injecting env (${xe}) from ${Te.join(",")}`)}return X?{parsed:Q,error:X}:{parsed:Q}}function C(y){if(p(y).length===0)return O.configDotenv(y);const x=b(y);return x?O._configVault(y):(u(`You set DOTENV_KEY but you are missing a .env.vault file at ${x}. Did you forget to build it?`),O.configDotenv(y))}function m(y,x){const D=Buffer.from(x.slice(-64),"hex");let F=Buffer.from(y,"base64");const se=F.subarray(0,12),L=F.subarray(-16);F=F.subarray(12,-16);try{const X=n.createDecipheriv("aes-256-gcm",D,se);return X.setAuthTag(L),`${X.update(F)}${X.final()}`}catch(X){const Q=X instanceof RangeError,le=X.message==="Invalid key length",xe=X.message==="Unsupported state or unable to authenticate data";if(Q||le){const Te=new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw Te.code="INVALID_DOTENV_KEY",Te}else if(xe){const Te=new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw Te.code="DECRYPTION_FAILED",Te}else throw X}}function z(y,x,D={}){const F=!!(D&&D.debug),se=!!(D&&D.override);if(typeof x!="object"){const L=new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");throw L.code="OBJECT_REQUIRED",L}for(const L of Object.keys(x))Object.prototype.hasOwnProperty.call(y,L)?(se===!0&&(y[L]=x[L]),F&&c(se===!0?`"${L}" is already defined and WAS overwritten`:`"${L}" is already defined and was NOT overwritten`)):y[L]=x[L]}const O={configDotenv:P,_configVault:I,_parseVault:l,config:C,decrypt:m,parse:i,populate:z};return Qe.exports.configDotenv=O.configDotenv,Qe.exports._configVault=O._configVault,Qe.exports._parseVault=O._parseVault,Qe.exports.config=O.config,Qe.exports.decrypt=O.decrypt,Qe.exports.parse=O.parse,Qe.exports.populate=O.populate,Qe.exports=O,Qe.exports}var bv=nu();const Iv=hu.getDefaultExportFromCjs(bv),Sv=g.pgSequence("app_pages_metadata_id_seq",{startWith:"1",increment:"1",minValue:"1",maxValue:"9223372036854775807",cache:"1",cycle:!1}),Av=g.pgSequence("webhook_events_id_seq",{startWith:"1",increment:"1",minValue:"1",maxValue:"9223372036854775807",cache:"1",cycle:!1}),Nv=g.pgTable("app_assets",{id:g.uuid().defaultRandom().primaryKey().notNull(),app:g.uuid(),name:g.text(),description:g.text(),url:g.text(),size:g.text(),folderId:g.text(),thumbnailUrl:g.text(),duration:g.numeric(),format:g.text(),width:g.numeric(),height:g.numeric(),createdBy:g.text(),createdAt:g.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),type:g.text(),updatedAt:g.timestamp({withTimezone:!0,mode:"string"})},e=>[g.foreignKey({columns:[e.app],foreignColumns:[ge.id],name:"app_assets_app_fkey"})]),he=g.pgTable("app_pages_online",{createdAt:g.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),slug:g.text().notNull(),lang:g.text().default("").notNull(),seo:g.jsonb().default({}),app:g.uuid().notNull(),id:g.uuid().primaryKey().notNull(),name:g.text().notNull(),primaryPage:g.uuid(),blocks:g.jsonb().default([]),currentEditor:g.text(),changes:g.jsonb(),partialBlocks:g.text(),links:g.text(),online:g.boolean().default(!0),pageType:g.text(),parent:g.uuid(),lastSaved:g.timestamp({withTimezone:!0,mode:"string"}),dynamic:g.boolean().default(!1),libRefId:g.uuid(),dynamicSlugCustom:g.text().default(""),metadata:g.jsonb().default({}),jsonld:g.jsonb().default({}),globalJsonLds:g.jsonb().default([]),designTokens:g.jsonb()},e=>[g.foreignKey({columns:[e.app],foreignColumns:[ge.id],name:"app_pages_online_app_fkey"})]),ge=g.pgTable("apps",{id:g.uuid().defaultRandom().primaryKey().notNull(),createdAt:g.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),name:g.text(),user:g.text(),settings:g.jsonb().default({}),theme:g.jsonb().default({}),fallbackLang:g.text().default("en"),languages:g.jsonb().default([]),changes:g.jsonb(),deletedAt:g.timestamp({withTimezone:!0,mode:"string"}),client:g.uuid(),designTokens:g.jsonb().default({})}),mt=g.pgTable("apps_online",{id:g.uuid().primaryKey().notNull(),createdAt:g.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),name:g.text(),user:g.text(),settings:g.jsonb().default({}),theme:g.jsonb().default({}),fallbackLang:g.text().default("en"),languages:g.jsonb().default([]),changes:g.jsonb(),apiKey:g.text(),deletedAt:g.timestamp({withTimezone:!0,mode:"string"}),client:g.uuid(),designTokens:g.jsonb().default({})}),K=g.pgTable("libraries",{id:g.uuid().defaultRandom().primaryKey().notNull(),createdAt:g.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),name:g.text(),app:g.uuid(),type:g.text(),status:g.text().default("active").notNull(),client:g.uuid()},e=>[g.foreignKey({columns:[e.app],foreignColumns:[ge.id],name:"libraries_app_fkey"})]),xv=g.pgTable("app_form_submissions",{id:g.uuid().defaultRandom().primaryKey().notNull(),createdAt:g.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),app:g.uuid(),formData:g.json(),additionalData:g.json(),formName:g.text().default(""),pageUrl:g.text()},e=>[g.foreignKey({columns:[e.app],foreignColumns:[ge.id],name:"app_form_submissions_app_fkey"})]),f=g.pgTable("app_pages",{createdAt:g.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),slug:g.text().notNull(),lang:g.text().default("").notNull(),seo:g.jsonb().default({}),app:g.uuid().notNull(),id:g.uuid().defaultRandom().primaryKey().notNull(),name:g.text().notNull(),primaryPage:g.uuid(),blocks:g.jsonb().default([]),currentEditor:g.text(),changes:g.jsonb(),online:g.boolean().default(!1),parent:g.uuid(),pageType:g.text(),lastSaved:g.timestamp({withTimezone:!0,mode:"string"}),dynamic:g.boolean().default(!1),libRefId:g.uuid(),dynamicSlugCustom:g.text().default(""),metadata:g.jsonb().default({}),jsonld:g.jsonb().default({}),globalJsonLds:g.jsonb().default([]),links:g.text(),partialBlocks:g.text(),designTokens:g.jsonb()},e=>[g.foreignKey({columns:[e.app],foreignColumns:[ge.id],name:"app_pages_app_fkey"}),g.foreignKey({columns:[e.parent],foreignColumns:[e.id],name:"app_pages_parent_fkey"})]),Se=g.pgTable("app_pages_revisions",{createdAt:g.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),slug:g.text().notNull(),lang:g.text().default("").notNull(),seo:g.jsonb().default({}),app:g.uuid().notNull(),id:g.uuid().notNull(),name:g.text().notNull(),primaryPage:g.uuid(),blocks:g.jsonb().default([]),currentEditor:g.text(),changes:g.jsonb(),partialBlocks:g.text(),links:g.text(),online:g.boolean().default(!0),pageType:g.text(),parent:g.uuid(),lastSaved:g.timestamp({withTimezone:!0,mode:"string"}),dynamic:g.boolean().default(!1),uid:g.uuid().defaultRandom().primaryKey().notNull(),type:g.text(),libRefId:g.uuid(),dynamicSlugCustom:g.text().default(""),metadata:g.jsonb().default({}),jsonld:g.jsonb().default({}),globalJsonLds:g.jsonb().default([]),designTokens:g.jsonb()},e=>[g.foreignKey({columns:[e.app],foreignColumns:[ge.id],name:"app_pages_revisions_app_fkey"})]),dr=g.pgTable("app_users",{id:g.uuid().defaultRandom().primaryKey().notNull(),createdAt:g.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),user:g.text(),app:g.uuid(),role:g.text(),permissions:g.jsonb(),status:g.text().default("active").notNull()},e=>[g.foreignKey({columns:[e.app],foreignColumns:[ge.id],name:"app_users_app_fkey"})]),te=g.pgTable("library_templates",{id:g.uuid().defaultRandom().primaryKey().notNull(),createdAt:g.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),user:g.text(),name:g.text(),description:g.text(),pageId:g.uuid(),pageType:g.text(),library:g.uuid(),preview:g.text()},e=>[g.foreignKey({columns:[e.library],foreignColumns:[K.id],name:"library_templates_library_fkey"})]),re=g.pgTable("library_items",{id:g.uuid().defaultRandom().primaryKey().notNull(),createdAt:g.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),library:g.uuid(),name:g.text(),description:g.text(),blocks:g.jsonb().default([]),preview:g.text(),group:g.text().default("general"),user:g.text(),html:g.text()},e=>[g.foreignKey({columns:[e.library],foreignColumns:[K.id],name:"library_items_library_fkey"})]),va=g.pgTable("ai_logs",{id:g.bigint({mode:"number"}).primaryKey().generatedByDefaultAsIdentity({name:"ai_logs_id_seq",startWith:1,increment:1,minValue:1,maxValue:9223372036854776e3,cache:1}),createdAt:g.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),model:g.text(),totalDuration:g.numeric(),error:g.text(),totalTokens:g.numeric(),tokenUsage:g.jsonb(),user:g.text(),client:g.uuid().defaultRandom(),cost:g.doublePrecision().default(h.sql`'0'`),prompt:g.text(),app:g.uuid()},e=>[g.foreignKey({columns:[e.app],foreignColumns:[ge.id],name:"ai_logs_app_fkey"})]),au=Object.freeze(Object.defineProperty({__proto__:null,aiLogs:va,appAssets:Nv,appFormSubmissions:xv,appPages:f,appPagesMetadataIdSeq:Sv,appPagesOnline:he,appPagesRevisions:Se,appUsers:dr,apps:ge,appsOnline:mt,libraries:K,libraryItems:re,libraryTemplates:te,webhookEventsIdSeq:Av},Symbol.toStringTag,{value:"Module"}));Iv.config();let Sr=process.env.CHAIBUILDER_DATABASE_URL;if(!Sr)throw new Error("Database not configured. Please set CHAIBUILDER_DATABASE_URL environment variable.");const Ov=e=>e.trim().replace(/^"|"$/g,"");Sr=Ov(Sr);const Rv=e=>e.startsWith("postgresql://")||e.startsWith("postgres://");if(!Rv(Sr))throw new Error("Database connection string is invalid. Please check your CHAIBUILDER_DATABASE_URL environment variable.");const kv=_u(Sr,{max:10}),S=wu.drizzle(kv,{schema:au});async function A(e){try{return{data:await e(),error:null}}catch(t){return{data:null,error:t}}}const Pv=e=>{var t;return((t=Tu.AI_MODELS.find(r=>r.id===e))==null?void 0:t.multiplier)||1};async function Cv({userId:e,startTime:t,error:r,model:n,prompt:a,appId:o}){var c;const s=String(r),i=t>0?new Date().getTime()-t:0,l={model:n,totalDuration:String(i),error:s,totalTokens:"0",tokenUsage:{},cost:0,prompt:a,user:e,client:((c=process==null?void 0:process.env)==null?void 0:c.CHAIBUILDER_CLIENT_ID)||null,app:o},{error:u}=await A(()=>S.insert(va).values(l));u&&console.error("Error logging AI request error:",u)}async function Dv({userId:e,startTime:t,arg:r,prompt:n,model:a,appId:o}){var p,w,b;const s=r==null?void 0:r.totalUsage,i=(w=(p=r==null?void 0:r.providerMetadata)==null?void 0:p.gateway)==null?void 0:w.cost,l=t>0?Math.floor(new Date().getTime()-t):0,u=n.indexOf("USER REQUEST");n=n.substring(u).trim();const c={model:a,totalDuration:String(l),error:null,totalTokens:String(Math.round(((s==null?void 0:s.totalTokens)??0)*Pv(a))),tokenUsage:s,cost:i,prompt:n,user:e,client:((b=process==null?void 0:process.env)==null?void 0:b.CHAIBUILDER_CLIENT_ID)||null,app:o},{error:d}=await A(()=>S.insert(va).values(c));d&&console.error("Error logging AI request:",d)}class T extends Error{constructor(t,r="ACTION_ERROR",n=400,a){super(t),this.code=r,this.status=n,this.error=a,this.name="ActionError",a&&console.error(a)}}class Z{constructor(){Ie(this,"context",null)}validate(t){if(!t)return!0;try{return this.getValidationSchema().parse(t),!0}catch{return!1}}getValidationErrors(t){if(!t)return null;try{return this.getValidationSchema().parse(t),null}catch(r){return r instanceof v.z.ZodError?r.issues.map(a=>`${a.path.join(".")}: ${a.message}`).join(", "):null}}setContext(t){this.context=t}async getUserAccess(){if(!this.context)throw new T("Context not set","CONTEXT_NOT_SET",500);const{appId:t,userId:r}=this.context;if(!r)throw new T("User ID not found in context","UNAUTHORIZED",401);const{data:n,error:a}=await A(()=>S.select().from(dr).where(h.and(h.eq(dr.app,t),h.eq(dr.user,r),h.eq(dr.status,"active"))));if(a)throw new T("Error checking user access","ERROR_CHECKING_USER_ACCESS",500,a);if(!n||n.length===0)throw new T("User does not have access to this app","UNAUTHORIZED",401);return n[0]}async verifyAccess(){await this.getUserAccess()}handleError(t){if(t instanceof T)throw t;if(t instanceof v.z.ZodError){const r=t.issues.map(n=>`${n.path.join(".")}: ${n.message}`).join(", ");throw new T(`Validation failed: ${r}`,"VALIDATION_ERROR")}else{const r=t instanceof Error?t.message:"Unknown error";throw new T(r,"ACTION_ERROR")}}}class zv extends Z{getValidationSchema(){return v.z.any()}async execute(t){if(!this.context)throw new Error("Context not set");const r=new Date().getTime(),{userId:n,appId:a}=this.context,o=new _v({onFinish:l=>{var u,c;try{Dv({arg:l,prompt:((c=(u=t.messages)==null?void 0:u[t.messages.length-1])==null?void 0:c.content)||"",userId:n,model:t.model||"",startTime:r,appId:a})}catch(d){console.error("Error logging AI request:",d)}},onError:l=>{var u,c;try{Cv({error:l,userId:n,startTime:r,model:t.model||"",prompt:((c=(u=t.messages)==null?void 0:u[t.messages.length-1])==null?void 0:c.content)||"",appId:a})}catch(d){console.error("Error logging AI request error:",d)}}}),s={messages:t.messages||[],image:t.image,model:t.model,initiator:t.initiator||null};return{_streamingResponse:!0,_streamResult:await o.handleRequest(s)}}}class $v extends Z{getValidationSchema(){return v.z.any()}async execute(){const t=await this.getUserAccess();return{access:!0,role:t.role||"user",permissions:t.permissions||null}}}class Mv extends Z{getValidationSchema(){return v.z.object({name:v.z.string().min(1),slug:v.z.string(),pageType:v.z.string(),parent:v.z.string().nullable().optional(),lang:v.z.string().optional(),primaryPage:v.z.string().nullable().optional(),dynamic:v.z.boolean().optional(),hasSlug:v.z.boolean().optional(),template:v.z.string().optional(),seo:v.z.record(v.z.string(),v.z.any()).optional(),jsonLD:v.z.record(v.z.string(),v.z.any()).optional(),dynamicSlugCustom:v.z.string().optional()}).refine(t=>t.lang&&t.lang!==""?!!t.primaryPage:!0,{message:"primaryPage is required when lang option is not empty",path:["primaryPage"]})}async execute(t){if(await this.verifyAccess(),!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{appId:r}=this.context;if((t.hasSlug??t.pageType!=="global")&&t.slug&&await this.doesSlugExist(t.slug,t.pageType))throw new T("Slug already exists","SLUG_ALREADY_USED");let a=[];t.template&&(a=await this.getTemplateBlocks(t.template,r));const o={app:r,name:t.name,slug:t.slug,pageType:t.pageType,parent:t.parent??null,lang:t.primaryPage?t.lang??"":"",primaryPage:t.primaryPage??null,dynamic:t.dynamic??!1,dynamicSlugCustom:t.dynamicSlugCustom??"",blocks:a,seo:t.seo??{title:t.name,jsonLD:"",noIndex:!1,ogImage:"",ogTitle:"",noFollow:"",description:"",searchTitle:"",cononicalUrl:"",ogDescription:"",searchDescription:""},jsonld:{},online:!1,currentEditor:null,changes:null,libRefId:null,lastSaved:null},{data:s,error:i}=await A(()=>S.insert(f).values(o).returning({id:f.id,name:f.name,slug:f.slug,lang:f.lang,pageType:f.pageType,parent:f.parent,online:f.online,primaryPage:f.primaryPage}));if(i)throw new T("Failed to create page","ERROR_CREATING_PAGE",500,i);if(!s||s.length===0)throw new T("Failed to create page","INSERT_FAILED");const l=s[0];return{page:q.omit(l.primaryPage?{...l,id:l.primaryPage}:l,["primaryPage"])}}async doesSlugExist(t,r){if(!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{appId:n}=this.context,{data:a,error:o}=await A(()=>S.query.appPages.findFirst({where:h.and(h.eq(f.slug,t),h.eq(f.pageType,r),h.eq(f.app,n)),columns:{id:!0}}));if(o)throw new T(`${o.message}`,"SLUG_CHECK_FAILED");return!!a}async getTemplateBlocks(t,r){const{data:n,error:a}=await A(()=>S.select({template:te,library:{id:K.id,app:K.app,name:K.name}}).from(te).leftJoin(K,h.eq(te.library,K.id)).where(h.eq(te.id,t)).limit(1).then(d=>d[0]));if(a)throw new T(`Failed to fetch template: ${a.message||"Unknown database error"}`,"ERROR_GETTING_TEMPLATE_BLOCKS",500,a);if(!n||!n.template||!n.library)throw new T(`Template not found with ID: ${t}`,"TEMPLATE_NOT_FOUND");const o=n.template,s=n.library,{data:i,error:l}=await A(()=>S.query.appPages.findFirst({where:h.eq(f.id,o.pageId),columns:{blocks:!0}}));if(l)throw new T(`Failed to fetch template blocks: ${l.message||"Unknown database error"}`,"ERROR_GETTING_TEMPLATE_BLOCKS",500,l);if(!i)throw new T(`Template page not found with ID: ${o.pageId}`,"TEMPLATE_PAGE_NOT_FOUND");let u=i.blocks||[];if(u=u.map(d=>d._type==="GlobalBlock"&&!q.isEmpty(d.globalBlock)?{...d,_type:"PartialBlock",partialBlockId:d.globalBlock}:d),!(s.app===r)){const d=s.name||"",p=u.filter(b=>b._type==="PartialBlock"&&!q.isEmpty(b.partialBlockId)),w=await Promise.all(p.map(({partialBlockId:b})=>this.copyPartialBlockFromTemplate(b,d,r)));u=u.map(b=>{const _=w.find(I=>(I==null?void 0:I.libRefId)===b.partialBlockId);return _&&(b._name=`${d} - ${b._name}`,b.partialBlockId=_.id),b})}return u}async copyPartialBlockFromTemplate(t,r,n){const{data:a,error:o}=await A(()=>S.query.appPages.findFirst({where:h.eq(f.id,t)}));if(o||!a)return console.error("Failed to fetch partial block:",o),null;const s={...a,id:void 0,app:n,libRefId:t,name:`${r} - ${a.name}`,createdAt:void 0,online:!1,currentEditor:null,changes:null,lastSaved:null},{data:i,error:l}=await A(()=>S.insert(f).values(s).returning({id:f.id,libRefId:f.libRefId}));if(l||!i||i.length===0)return console.error("Failed to create partial block copy:",l),null;const u=i[0];return{id:u.id,libRefId:u.libRefId||t}}}class Fv extends Z{getValidationSchema(){return v.z.object({id:v.z.string().min(1)})}async execute(t){if(await this.verifyAccess(),!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{id:r}=t,{error:n}=await A(()=>S.delete(re).where(h.eq(re.id,r)));if(n)throw new T("Failed to delete library item","DELETE_LIBRARY_ITEM_FAILED",500,n);return{success:!0}}}const ie=(e,t)=>(console.error(t),new Error(e));class Ar{constructor(t,r=!1){Ie(this,"appId");Ie(this,"enableLogging");this.appId=t,this.enableLogging=r}async getPagesTree(){const{data:t,error:r}=await A(()=>S.select({id:f.id,name:f.name,slug:f.slug,pageType:f.pageType,primaryPage:f.primaryPage,parent:f.parent,lang:f.lang,dynamic:f.dynamic}).from(f).where(h.eq(f.app,this.appId)));if(r)throw ie("ERROR_GETTING_PAGES",r);const n=(t==null?void 0:t.filter(i=>i.primaryPage===null))||[],a=(t==null?void 0:t.filter(i=>i.primaryPage!==null))||[],o=this.buildPrimaryTree(n);this.enableLogging&&(console.log(`
418
+ === PRIMARY LANGUAGE PAGES TREE ===`),console.log(JSON.stringify(o,null,2)));const s=this.buildLanguageTree(a,o);return this.enableLogging&&(console.log(`
419
+ === OTHER LANGUAGE PAGES TREE ===`),console.log(JSON.stringify(s,null,2))),{primaryTree:o,languageTree:s,totalPrimaryPages:n.length,totalLanguagePages:a.length}}buildPrimaryTree(t){const r=new Map;t.forEach(a=>{r.set(a.id,{id:a.id,pageType:a.pageType,primaryPage:a.primaryPage,parent:a.parent,name:a.name,dynamic:a.dynamic,slug:a.slug,children:[]})});const n=[];return t.forEach(a=>{const o=r.get(a.id);if(o)if(a.parent===null)n.push(o);else{const s=r.get(a.parent);s?s.children.push(o):n.push(o)}}),n}buildLanguageTree(t,r){const n=new Map;t.forEach(i=>{const l=i.primaryPage;n.has(l)||n.set(l,[]),n.get(l).push(i)});const a=(i,l)=>{const c=(n.get(i.id)||[]).find(p=>p.lang===l);if(!c)return null;const d={id:c.id,pageType:c.pageType,primaryPage:c.primaryPage,parent:c.parent,lang:c.lang,name:c.name,slug:c.slug,dynamic:c.dynamic,children:[]};return i.children.forEach(p=>{const w=a(p,l);w&&d.children.push(w)}),d},o=[],s=new Set;return t.forEach(i=>{i.lang&&s.add(i.lang)}),s.forEach(i=>{r.forEach(l=>{const u=a(l,i);u&&o.push(u)})}),o}findPageInPrimaryTree(t,r){for(const n of r){if(n.id===t)return n;if(n.children&&n.children.length>0){const a=this.findPageInPrimaryTree(t,n.children);if(a)return a}}return null}findPageInLanguageTree(t,r){for(const n of r){if(n.id===t)return n;if(n.children&&n.children.length>0){const a=this.findPageInLanguageTree(t,n.children);if(a)return a}}return null}calculateSlugFromParent(t,r,n){if(!t){const l=r.split("/").filter(Boolean);return"/"+(l[l.length-1]||"")}let a=this.findPageInPrimaryTree(t,n);if(!a&&(a=this.findPageInLanguageTree(t,n),!a))throw new Error("Parent page not found in tree");const o=r.split("/").filter(Boolean),s=o[o.length-1]||"";return`${a.slug.endsWith("/")?a.slug.slice(0,-1):a.slug}/${s}`}collectNestedChildIds(t){const r=[];for(const n of t.children){r.push(n.id);const a=this.collectNestedChildIds(n);r.push(...a)}return r}findLanguagePagesForPrimary(t,r){const n=[],a=o=>{for(const s of o)s.primaryPage===t&&n.push(s),s.children&&s.children.length>0&&a(s.children)};return a(r),n}collectNestedChildSlugs(t,r,n){const a=[],o=(s,i,l)=>{for(const u of s){const c=this.generateNewChildSlug(u.slug,i,l);a.push({id:u.id,oldSlug:u.slug,newSlug:c}),u.children&&u.children.length>0&&o(u.children,u.slug,c)}};return o(t.children,r,n),a}generateNewChildSlug(t,r,n){return t===r?n:t.startsWith(r+"/")?t.replace(r+"/",n+"/"):t.startsWith(r)&&t!==r?t.replace(r,n):`${n}/${t.split("/").pop()}`}}class Lv extends Z{constructor(){super(...arguments);Ie(this,"appId","");Ie(this,"userId","");Ie(this,"pageTreeBuilder")}getValidationSchema(){return v.z.object({id:v.z.string().min(1,"Page ID is required")})}async execute(r){if(await this.verifyAccess(),!this.context)throw new T("Context not set","CONTEXT_NOT_SET");this.appId=this.context.appId,this.userId=this.context.userId||"";try{return this.pageTreeBuilder=new Ar(this.appId),await this.deletePage(r.id)}catch(n){if(n instanceof T)throw n;const a=n instanceof Error?n.message:"Failed to delete page";throw new T(a,"DELETE_PAGE_ERROR")}}async deletePage(r){const n=await this.getCurrentEditor(r);if(n&&n!==this.userId)return{tags:[],code:"PAGE_LOCKED",editor:n};const a=await this.pageTreeBuilder.getPagesTree(),o=this.pageTreeBuilder.findPageInLanguageTree(r,a.languageTree),s=this.pageTreeBuilder.findPageInPrimaryTree(r,a.primaryTree);if(!o&&!s)throw ie("ERROR_DELETING_PAGE","Page not found");return o!==null?await this.deleteLanguagePageWithTree(r,o,a):await this.deletePrimaryPageWithTree(r,a)}async performDeletionWithIds(r){const n=[...r].reverse(),{error:a}=await A(()=>S.delete(te).where(h.inArray(te.pageId,n)));if(a)throw ie("DELETE_FAILED",a);const{error:o}=await A(()=>S.delete(Se).where(h.inArray(Se.id,n)));if(o)throw ie("DELETE_FAILED",o);const{error:s}=await A(()=>S.delete(f).where(h.inArray(f.id,n)));if(s)throw ie("DELETE_FAILED",s);const{error:i}=await A(()=>S.delete(he).where(h.inArray(he.id,n)));if(i)throw ie("DELETE_FAILED",i)}async deleteLanguagePageWithTree(r,n,a){const o=n.primaryPage;if(!this.pageTreeBuilder.findPageInPrimaryTree(o,a.primaryTree))throw ie("ERROR_DELETING_PAGE","Primary page not found");const i=this.pageTreeBuilder.collectNestedChildIds(n);return await this.performDeletionWithIds([r,...i]),{tags:[`page-${r}`,...i.map(l=>`page-${l}`)],totalDeleted:1+i.length}}async deletePrimaryPageWithTree(r,n){const a=this.pageTreeBuilder.findPageInPrimaryTree(r,n.primaryTree);if(!a)throw ie("ERROR_DELETING_PAGE","Primary page not found");const o=this.pageTreeBuilder.collectNestedChildIds(a),s=this.pageTreeBuilder.findLanguagePagesForPrimary(r,n.languageTree),i=[];s.forEach(u=>{i.push(u.id);const c=this.pageTreeBuilder.collectNestedChildIds(u);i.push(...c)});const l=[...new Set([...o,...i])];return await this.performDeletionWithIds([r,...l]),{tags:[`page-${r}`,...l.map(u=>`page-${u}`)],totalDeleted:1+l.length}}async getCurrentEditor(r){var o;const{data:n,error:a}=await A(()=>S.select({currentEditor:f.currentEditor}).from(f).where(h.and(h.eq(f.id,r),h.eq(f.app,this.appId))).limit(1));return a||!n||n.length===0?null:((o=n[0])==null?void 0:o.currentEditor)||null}}class Uv extends Z{getValidationSchema(){return v.z.object({revisionId:v.z.string().nonempty("Revision ID is required")})}async execute(t){if(await this.verifyAccess(),!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{appId:r}=this.context,{error:n}=await A(()=>S.delete(Se).where(h.and(h.eq(Se.uid,t.revisionId),h.eq(Se.app,r))));if(n)throw new T("Failed to delete page revision","DELETE_REVISION_ERROR");return{success:!0}}}class jv extends Z{getValidationSchema(){return v.z.object({pageId:v.z.string().nonempty(),name:v.z.string().nonempty(),slug:v.z.string().optional()})}async execute(t){if(await this.verifyAccess(),!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{appId:r}=this.context;if(t.slug&&await this.doesSlugExist(t.slug))throw new T("Slug already exists","SLUG_EXISTS");const{data:n,error:a}=await A(()=>S.query.appPages.findFirst({where:h.and(h.eq(f.id,t.pageId),h.eq(f.app,r))}));if(a)throw a;if(!n)throw new T("Page not found","PAGE_NOT_FOUND");const o={...n,id:void 0,createdAt:void 0,name:t.name,currentEditor:null,changes:null,online:!1,libRefId:null,lastSaved:null,...t.slug&&{slug:t.slug}},[s]=await S.insert(f).values(o).returning({id:f.id});if(!s)throw new T("Failed to create duplicate page","INSERT_FAILED");return{id:s.id}}async doesSlugExist(t){if(!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{appId:r}=this.context,{data:n,error:a}=await A(()=>S.query.appPages.findFirst({where:h.and(h.eq(f.slug,t),h.eq(f.app,r)),columns:{id:!0}}));if(a)throw new T(`${a.message}`,"SLUG_CHECK_FAILED");return!!n}}var ts={},zn,rs;function qv(){if(rs)return zn;rs=1;const e={};return process.env.DOTENV_CONFIG_ENCODING!=null&&(e.encoding=process.env.DOTENV_CONFIG_ENCODING),process.env.DOTENV_CONFIG_PATH!=null&&(e.path=process.env.DOTENV_CONFIG_PATH),process.env.DOTENV_CONFIG_QUIET!=null&&(e.quiet=process.env.DOTENV_CONFIG_QUIET),process.env.DOTENV_CONFIG_DEBUG!=null&&(e.debug=process.env.DOTENV_CONFIG_DEBUG),process.env.DOTENV_CONFIG_OVERRIDE!=null&&(e.override=process.env.DOTENV_CONFIG_OVERRIDE),process.env.DOTENV_CONFIG_DOTENV_KEY!=null&&(e.DOTENV_KEY=process.env.DOTENV_CONFIG_DOTENV_KEY),zn=e,zn}var $n,ns;function Zv(){if(ns)return $n;ns=1;const e=/^dotenv_config_(encoding|path|quiet|debug|override|DOTENV_KEY)=(.+)$/;return $n=function(r){const n=r.reduce(function(a,o){const s=o.match(e);return s&&(a[s[1]]=s[2]),a},{});return"quiet"in n||(n.quiet="true"),n},$n}var as;function Gv(){return as||(as=1,(function(){nu().config(Object.assign({},qv(),Zv()(process.argv)))})()),ts}Gv();const os="anthropic/claude-haiku-4.5";class Bv extends Z{getValidationSchema(){return v.z.object({prompt:v.z.string().min(1,"Prompt is required"),context:v.z.string().optional(),image:v.z.string().optional()})}async execute(t){if(await this.verifyAccess(),!this.context)throw new T("Context not set","CONTEXT_NOT_SET");try{const r=`You are an expert HTML/CSS developer specializing in Tailwind CSS and shadcn/ui design patterns.
420
+
421
+ Create pure HTML code only. Make it fully responsive using Tailwind CSS v3 classes exclusively - no custom CSS or classes allowed. Implement container queries (@container) where appropriate for enhanced responsive behavior.
422
+
423
+ CRITICAL REQUIREMENTS:
424
+ 1. Return ONLY the HTML code without any markdown formatting, code blocks, or explanations
425
+ 2. Use ONLY Tailwind CSS v3+ utility classes - absolutely no custom CSS or classes
426
+ 3. Use shadcn/ui design system theming and styling patterns (neutral colors, proper spacing, modern aesthetics)
427
+ 4. Apply semantic HTML structure with proper accessibility attributes (ARIA labels, alt texts, proper heading hierarchy)
428
+ 5. Add \`chai-name\` attributes to ALL wrapper/container elements with descriptive values that match their content purpose
429
+ 6. Ensure mobile-first responsive design approach
430
+ 7. Implement container queries using @container classes where appropriate for enhanced responsive behavior
431
+ 8. Do NOT include <!DOCTYPE>, <html>, <head>, or <body> tags - only the content HTML
432
+ 9. Use proper contrast ratios for accessibility
433
+ 10. Keep the code clean, well-structured, and semantic
434
+ 11. Think about UI randomly. Do not generate the same layout every time.
435
+ 12. For accordion style ui, use html details and summary tags. eg: accordions, mobile menu etc.
436
+
437
+ Examples of chai-name usage:
438
+ - Navigation wrapper: chai-name="Navigation"
439
+ - Links container: chai-name="Nav Links"
440
+ - Hero section: chai-name="Hero Section"
441
+ - Content wrapper: chai-name="Main Content"
442
+ - Footer: chai-name="Site Footer"
443
+
444
+ HTML Tags (EXTREMELY IMPORTANT):
445
+ - for navbar, always create a mobile menu with details and summary tags. Createa proper mobile menu with hamburger icon and dropdown style menu items.
446
+ - for accordion style ui, use html details and summary tags.
447
+ - For nested menu, use html details and summary tags with dropdown style menu items.
448
+
449
+ Shadcn/ui Classes (EXTREMELY IMPORTANT):
450
+ - NEVER use hardcoded color classes like bg-blue-500, text-red-600, border-green-400, etc.
451
+ - ONLY use shadcn/ui theme color classes that work with CSS variables
452
+ - Allowed color classes: bg-background, bg-foreground, bg-card, bg-popover, bg-primary, bg-secondary, bg-muted, bg-accent, bg-destructive
453
+ - Text colors: text-foreground, text-muted-foreground, text-primary, text-secondary, text-accent, text-destructive, text-card-foreground, text-popover-foreground, text-primary-foreground, text-secondary-foreground, text-accent-foreground, text-destructive-foreground
454
+ - Border colors: border-border, border-input, border-ring, border-primary, border-secondary, border-accent, border-destructive
455
+ - DO NOT use dark mode classes (dark:bg-*, dark:text-*, etc.) - we handle dark mode via CSS variables
456
+ - For neutral backgrounds use: bg-background, bg-card, bg-muted
457
+ - For text use: text-foreground, text-muted-foreground
458
+ - For interactive elements use: bg-primary, text-primary-foreground, hover:bg-primary/90
459
+ - For borders use: border-border, border-input
460
+
461
+ IMAGE USAGE RULES:
462
+ - Use royalty-free images from Unsplash or picsum photos
463
+ - Choose images that are relevant to the content context
464
+ - Always include descriptive alt text for accessibility
465
+ - Use appropriate image dimensions (e.g., w=1200 for hero images, w=800 for cards, w=400 for thumbnails)
466
+ - Always include explicit width and height HTML attributes on every <img> tag matching the image dimensions
467
+ Example: \`<img src="https://domain/hero/1200/600" alt="Hero image" width="1200" height="600">\`
468
+ The final output should be clean, semantic HTML that works across all devices and screen sizes.
469
+
470
+ ${t.context?`Additional Context: ${t.context}`:""}`;let a=(t.image?await Jn({model:os,system:r,messages:[{role:"user",content:[{type:"text",text:t.prompt},{type:"image",image:t.image}]}],temperature:.7}):await Jn({model:os,system:r,prompt:t.prompt,temperature:.7})).text.trim();return a=a.replace(/^```html\n?/i,""),a=a.replace(/^```\n?/,""),a=a.replace(/\n?```$/,""),a=a.trim(),{html:a}}catch(r){console.log("error",r),this.handleError(r)}}}const Vv="anthropic/claude-haiku-4.5",ss={title:"Generate title for the following page. Max length: 60 characters",description:"Generate description for the following page. Max length: 160 characters",ogTitle:"Generate og title for the following page. Max length: 60 characters",ogDescription:"Generate og description for the following page. Max length: 160 characters",searchTitle:"Generate search title for the following page. Max length: 60 characters",searchDescription:"Generate search description for the following page. Max length: 160 characters",jsonLD:"Generate json ld for the following page. Return only json ld"};class Hv extends Z{getValidationSchema(){return v.z.object({pageContext:v.z.string(),dynamic:v.z.boolean(),pageContent:v.z.string(),field:v.z.enum(["title","description","ogTitle","ogDescription","searchTitle","searchDescription","jsonLD"]),lang:v.z.string().nonempty(),keyword:v.z.string().optional()})}async execute(t){if(await this.verifyAccess(),!this.context)throw new T("Context not set","CONTEXT_NOT_SET");return{field:(await Jn({model:Vv,system:`You are a SEO expert. Follow the instructions carefully.
471
+ Return plain string values except for json ld. For JSONLD, remove \`\`\`json\`\`\` and \`\`\`\`\` and return only valid JSON.
472
+ Instructions: ${ss[t.field]}
473
+ ${t.keyword?`Optimize the generated content for "${t.keyword}" keyword(s)`:""}
474
+ Page Context: ${t.pageContext}
475
+ Page Content: ${t.pageContent}
476
+ Dynamic: ${t.dynamic}
477
+ Language: ${t.lang}`,prompt:`${ss[t.field]}
478
+ Page Context: ${t.pageContext}
479
+ Page Content: ${t.pageContent}
480
+ Dynamic: ${t.dynamic}
481
+ Language: ${t.lang}`})).text}}}class Jv extends Z{getValidationSchema(){return v.z.object({block:v.z.any(),pageProps:v.z.any().optional().default({}),lang:v.z.string()})}async execute(t){var r;try{const{block:n,pageProps:a,lang:o}=t,s=n._type;if(s==="Repeater"&&((r=n==null?void 0:n.repeaterItems)!=null&&r.includes("{{#"))){const u=n.repeaterItems.replace("{{#","").replace("}}",""),c=ut.getChaiCollection(u);return c?await(c==null?void 0:c.fetch({block:n,pageProps:a,lang:o,draft:!0,inBuilder:!0}))??[]:[]}const i=Eu.getRegisteredChaiBlock(s);return!i||!q.isFunction(i.dataProvider)?{}:await i.dataProvider({block:n,pageProps:a,lang:o,draft:!0,inBuilder:!0})??{}}catch(n){return this.handleError(n)}}}class ou extends Z{getValidationSchema(){return v.z.object({lang:v.z.string(),pageType:v.z.string().optional(),pageProps:v.z.any().optional().default({})})}async execute(t){try{const{lang:r,pageType:n,pageProps:a={}}=t,o=await ut.getChaiGlobalData({lang:r,draft:!0,inBuilder:!0});if(!n)return{global:o};const s=ut.getChaiPageType(n);return s?{...s.dataProvider?await s.dataProvider({lang:r,draft:!0,inBuilder:!0,pageProps:a}):{},global:o}:{global:o}}catch(r){return this.handleError(r)}}}class Yv extends Z{constructor(){super(...arguments);Ie(this,"appId","")}getValidationSchema(){return v.z.object({})}async execute(){if(!this.context)throw new T("Context not set","CONTEXT_NOT_SET");this.appId=this.context.appId;try{return await this.getChanges()}catch(r){if(r instanceof T)throw r;const n=r instanceof Error?r.message:"Failed to get changes";throw new T(n,"GET_CHANGES_ERROR")}}async getChanges(){const{data:r,error:n}=await A(()=>S.select({id:f.id,slug:f.slug,name:f.name,pageType:f.pageType,lang:f.lang,changes:f.changes,primaryPage:f.primaryPage,online:f.online,currentEditor:f.currentEditor}).from(f).where(h.and(h.eq(f.app,this.appId),h.isNotNull(f.changes))));if(n)throw new T("Error getting changed pages","ERROR_GETTING_CHANGES");const{data:a,error:o}=await A(()=>S.select({id:f.id,slug:f.slug,name:f.name,pageType:f.pageType,lang:f.lang,changes:f.changes,primaryPage:f.primaryPage,online:f.online}).from(f).where(h.and(h.eq(f.app,this.appId),h.isNull(f.currentEditor),h.eq(f.online,!1))));if(o)throw new T("Error getting offline pages","ERROR_GETTING_OFFLINE_PAGES");const s=(a||[]).map(d=>({...d,changes:["Take Online"]})),l=[...(r||[]).filter(d=>!s.some(p=>p.id===d.id)).map(d=>({...d,changes:d.changes})),...s],{data:u,error:c}=await A(()=>S.select({changes:ge.changes}).from(ge).where(h.and(h.eq(ge.id,this.appId),h.isNotNull(ge.changes))));if(!c&&u&&u.length>0){const d=u[0].changes??[];d.includes("THEME")&&l.push({id:"THEME",slug:"",name:"Theme",pageType:"theme",lang:"",changes:["Updated"],primaryPage:null,online:!0}),d.includes("DESIGN_TOKENS")&&l.push({id:"DESIGN_TOKENS",slug:"",name:"Design Tokens",pageType:"design_tokens",lang:"",changes:["Updated"],primaryPage:null,online:!0})}return l}}class su extends Z{getValidationSchema(){return v.z.object({})}async execute(){try{return ut.getChaiCollections().map(r=>q.omit(r,"fetch"))}catch(t){return this.handleError(t)}}}class Wv extends Z{getValidationSchema(){return v.z.object({versions:v.z.object({version1:v.z.object({type:v.z.enum(["draft","revision","live"]),id:v.z.string()}),version2:v.z.object({type:v.z.enum(["draft","revision","live"]),id:v.z.string()})})})}async execute(t){this.validateContext();const r=await this.getBlocksForVersion(t.versions.version1.type,t.versions.version1.id),n=await this.getBlocksForVersion(t.versions.version2.type,t.versions.version2.id);return{version1:{blocks:r.blocks,seo:r.seo},version2:{blocks:n.blocks,seo:n.seo}}}async getBlocksForVersion(t,r){let n,a;switch(t){case"draft":({data:n,error:a}=await A(()=>S.query.appPages.findFirst({where:h.eq(f.id,r),columns:{blocks:!0,seo:!0}})));break;case"live":({data:n,error:a}=await A(()=>S.query.appPagesOnline.findFirst({where:h.eq(he.id,r),columns:{blocks:!0,seo:!0}})));break;case"revision":({data:n,error:a}=await A(()=>S.query.appPagesRevisions.findFirst({where:h.eq(Se.uid,r),columns:{blocks:!0,seo:!0}})));break;default:throw new T(`Invalid version type: ${t}`,"INVALID_VERSION_TYPE")}if(a)throw new T(`Failed to fetch blocks for ${t} version: ${a.message}`,"FETCH_BLOCKS_ERROR");if(!n)throw new T(`No data found for ${t} version with id: ${r}`,"VERSION_NOT_FOUND");return{blocks:n.blocks||[],seo:n.seo||{}}}validateContext(){if(!this.context)throw new T("Context not set","CONTEXT_NOT_SET")}}class iu extends Z{getValidationSchema(){return v.z.object({id:v.z.string()})}async execute(t){var c;if(!this.context)throw ie("CONTEXT_NOT_SET",new Error("CONTEXT_NOT_SET"));const{appId:r}=this.context,{id:n}=t,a=f,{data:o,error:s}=await A(()=>S.select({id:a.id,name:a.name,slug:a.slug,lang:a.lang,primaryPage:a.primaryPage,seo:a.seo,currentEditor:a.currentEditor,pageType:a.pageType,lastSaved:a.lastSaved,dynamic:a.dynamic,parent:a.parent,blocks:a.blocks}).from(a).where(h.and(h.eq(a.app,r),h.eq(a.id,n))).limit(1));if(s)throw ie("PAGE_NOT_FOUND",s);if(!o||o.length===0)throw ie("PAGE_NOT_FOUND",new Error("Page not found"));const i=o[0],l=i.primaryPage??i.id;let u=i.blocks??[];if(l!==i.id){const{data:d,error:p}=await A(()=>S.select({blocks:a.blocks}).from(a).where(h.and(h.eq(a.app,r),h.eq(a.id,l))).limit(1));if(p)throw ie("BLOCKS_NOT_FOUND",p);u=((c=d==null?void 0:d[0])==null?void 0:c.blocks)??[]}return{...i,blocks:u,id:n,languagePageId:i.id}}}class Kv extends Z{getValidationSchema(){return v.z.object({pageType:v.z.string()})}async execute(t){try{const{pageType:r,...n}=t,a=ut.getChaiPageType(r);return a?a.getDynamicPages?await a.getDynamicPages(n):[]:{error:"Page type not found"}}catch(r){return this.handleError(r)}}}class lu extends Z{getValidationSchema(){return v.z.object({id:v.z.string()})}async execute(t){if(!this.context)throw ie("CONTEXT_NOT_SET",new Error("CONTEXT_NOT_SET"));const{appId:r}=this.context,{id:n}=t,{data:a,error:o}=await A(()=>S.select({id:f.id,name:f.name,slug:f.slug,lang:f.lang,primaryPage:f.primaryPage,pageType:f.pageType,seo:f.seo,currentEditor:f.currentEditor,online:f.online,parent:f.parent,metadata:f.metadata,dynamic:f.dynamic,dynamicSlugCustom:f.dynamicSlugCustom,changes:f.changes}).from(f).where(h.and(h.eq(f.app,r),h.or(h.eq(f.primaryPage,n),h.eq(f.id,n)))));if(o)throw ie("LANGUAGE_PAGES_ERROR",o);return a.map(s=>q.omit(s,["app"]))}}class uu extends Z{getValidationSchema(){return v.z.object({}).optional().default({})}async execute(){var l;if(!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{appId:t}=this.context,r=await A(()=>S.select({id:K.id,name:K.name,type:K.type,createdAt:K.createdAt}).from(K).where(h.eq(K.app,t)).limit(1));if(r.error)throw new T("Failed to fetch site library","DB_ERROR");const n=r.data[0]||null,a=((l=process==null?void 0:process.env)==null?void 0:l.CHAIBUILDER_CLIENT_ID)||null;if(!a)return n?[{id:n.id,name:n.name,type:n.type,createdAt:n.createdAt,isSiteLibrary:!0}]:[];const{data:o,error:s}=await A(()=>S.select({id:K.id,name:K.name,type:K.type,createdAt:K.createdAt}).from(K).where(h.eq(K.client,a)));if(s)throw new T("Failed to fetch libraries","DB_ERROR");const i=(n==null?void 0:n.id)||null;return o.map(u=>({id:u.id,name:u.name,type:u.type,createdAt:u.createdAt,isSiteLibrary:i?u.id===i:!1}))}}class Xv extends Z{getValidationSchema(){return v.z.object({})}async execute(){if(!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{data:t,error:r}=await A(()=>S.select({id:K.id}).from(K).where(h.eq(K.app,this.context.appId)).limit(1));if(r)throw new T("Failed to fetch site library","GET_SITE_LIBRARY_FAILED",500,r);if(!t||t.length===0)return[];const n=t[0],{data:a,error:o}=await A(()=>S.select({group:re.group}).from(re).where(h.eq(re.library,n.id)));if(o)throw new T("Failed to fetch library groups","GET_LIBRARY_GROUPS_FAILED",500,o);const s=q.map(a,"group").filter(i=>i!=null);return q.map(q.uniq(s),i=>({id:i,name:i}))}}class Qv extends Z{getValidationSchema(){return v.z.object({id:v.z.string().min(1)})}async execute(t){if(!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{appId:r}=this.context,{id:n}=t,{data:a,error:o}=await A(()=>S.select({id:re.id,name:re.name,blocks:re.blocks,library:re.library,description:re.description,group:re.group,user:re.user,preview:re.preview,createdAt:re.createdAt,html:re.html,libraryApp:K.app,libraryName:K.name}).from(re).leftJoin(K,h.eq(re.library,K.id)).where(h.eq(re.id,n)));if(o)throw new T("Failed to fetch library item","GET_LIBRARY_ITEM_FAILED",500,o);if(!a||a.length===0)throw new T("Library item not found","GET_LIBRARY_ITEM_FAILED");const s=a[0],i=Array.isArray(s.blocks)?[...s.blocks]:s.blocks;return s.libraryApp===r?q.set(i,"0._libBlockId",s.id):q.set(i,"0._libBlockId",void 0),{id:s.id,name:s.name,blocks:i,description:s.description,group:s.group,user:s.user,preview:s.preview,createdAt:s.createdAt,html:s.html}}}class ew extends Z{getValidationSchema(){return v.z.object({id:v.z.string().min(1)})}async execute(t){if(!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{id:r}=t,{data:n,error:a}=await A(()=>S.select({id:re.id,name:re.name,library:re.library,group:re.group,description:re.description,preview:re.preview}).from(re).where(h.eq(re.library,r)));if(a)throw new T("Failed to fetch library items","GET_LIBRARY_ITEMS_FAILED",500,a);return n||[]}}class tw extends Z{getValidationSchema(){return v.z.object({pageId:v.z.string().min(1,"Page ID is required")})}async execute(t){if(!this.context)throw new T("Context not set","CONTEXT_NOT_SET");try{return await this.getRevisions(t.pageId)}catch(r){if(r instanceof T)throw r;const n=r instanceof Error?r.message:"Failed to get page revisions";throw new T(n,"GET_PAGE_REVISIONS_ERROR")}}async getRevisions(t){const{data:r,error:n}=await A(()=>S.select({currentEditor:f.currentEditor,createdAt:f.createdAt}).from(f).where(h.and(h.eq(f.app,this.context.appId),h.eq(f.id,t)))),{data:a,error:o}=await A(()=>S.select({uid:Se.uid,currentEditor:Se.currentEditor,createdAt:Se.createdAt,type:Se.type}).from(Se).where(h.and(h.eq(Se.app,this.context.appId),h.eq(Se.id,t))));if(n){const u=n instanceof Error?`Error getting current page for revisions: ${n.message}`:"Error getting current page for revisions";throw new T(u,"ERROR_GETTING_CURRENT_PAGE_FOR_REVISIONS")}if(o){const u=o instanceof Error?`Error getting page revisions: ${o.message}`:"Error getting page revisions";throw new T(u,"ERROR_GETTING_PAGE_REVISIONS")}const s=r==null?void 0:r[0],l=[...s?[{...s,type:"published",uid:"current"}]:[],...a??[]];return q.orderBy(l,["createdAt"],["desc"])}}class cu extends Z{getValidationSchema(){return v.z.object({})}async execute(){try{return await Promise.all(ut.getChaiPageTypes().map(async r=>({key:r.key,helpText:r.helpText??"",icon:r.icon??"",dynamicSegments:r.dynamicSegments??"",dynamicSlug:r.dynamicSlug??"",hasSlug:r.hasSlug??!0,name:typeof r.name=="function"?await r.name():r.name,...q.isFunction(r.defaultSeo)?{defaultSeo:r.defaultSeo()}:{},...q.isFunction(r.defaultJSONLD)?{defaultJSONLD:r.defaultJSONLD()}:{}})))}catch(t){return this.handleError(t)}}}class rw extends Z{getValidationSchema(){return v.z.object({id:v.z.string().nonempty(),type:v.z.enum(["draft","live","revision"])})}async execute(t){if(!this.context)throw ie("CONTEXT_NOT_SET",new Error("CONTEXT_NOT_SET"));let r,n;switch(t.type){case"draft":({data:r,error:n}=await A(()=>S.query.appPages.findFirst({where:h.and(h.eq(f.id,t.id),h.eq(f.lang,t.lang??""))})));break;case"live":({data:r,error:n}=await A(()=>S.query.appPagesOnline.findFirst({where:h.and(h.eq(he.id,t.id),h.eq(he.lang,t.lang??""))})));break;case"revision":({data:r,error:n}=await A(()=>S.query.appPagesRevisions.findFirst({where:h.and(h.eq(Se.uid,t.id),h.eq(Se.lang,t.lang??""))})));break}if(n||!r)throw ie("NOT_FOUND",n||new Error("Page not found"));let a=(r==null?void 0:r.blocks)??[];return a=await this.getMergedBlocks(a,t.type==="draft",this.context.appId),{...r,blocks:a}}async getMergedBlocks(t,r,n){const a=r?f:he,o=t.filter(({_type:c})=>c==="GlobalBlock"||c==="PartialBlock");if(o.length===0)return t;const s=o.map(c=>q.get(c,"partialBlockId",q.get(c,"globalBlock",""))).filter(c=>c!=="");if(s.length===0)return t;const{data:i,error:l}=await A(()=>S.select({id:a.id,blocks:a.blocks}).from(a).where(h.and(h.eq(a.app,n),h.inArray(a.id,s))));if(l)throw ie("PARTIAL_BLOCKS_FETCH_ERROR",l);const u=new Map;i&&i.forEach(c=>{u.set(c.id,c.blocks??[])});for(let c=0;c<o.length;c++){const d=o[c];if(!d)continue;const p=q.get(d,"partialBlockId",q.get(d,"globalBlock",""));if(p==="")continue;let w=u.get(p)??[];w.length>0&&(w=w.map(_=>(q.isEmpty(_._parent)&&(_._parent=d._parent),q.has(d,"_show")&&(_._show=d._show),_)));const b=t.indexOf(d);b!==-1&&t.splice(b,1,...w)}return t}}class nw extends Z{getValidationSchema(){return v.z.undefined()}async execute(){if(!this.context)throw ie("CONTEXT_NOT_SET",new Error("CONTEXT_NOT_SET"));const{appId:t}=this.context,{data:r,error:n}=await A(()=>S.select({id:f.id,designTokens:f.designTokens,name:f.name,slug:f.slug,links:f.links,partialBlocks:f.partialBlocks}).from(f).where(h.and(h.eq(f.lang,""),h.eq(f.app,t))));if(n)throw ie("FETCH_SITE_DATA_FAILED",n);const a={};return q.each(r,o=>{var s;a[o.id]={name:o.name,isPartial:q.isEmpty(o.slug),partialBlocks:o.partialBlocks?(s=o.partialBlocks)==null?void 0:s.split("|").filter(Boolean):[],links:o.links?o.links.split("|").filter(Boolean):[],designTokens:o.designTokens??{}}}),a}}class aw extends Z{getValidationSchema(){return v.z.object({pageType:v.z.string().min(1)})}async execute(t){if(!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{appId:r}=this.context,{pageType:n}=t,{data:a,error:o}=await A(()=>S.query.libraries.findFirst({where:h.eq(K.app,r),columns:{id:!0}}));if(o)throw new T("Failed to fetch site library","GET_SITE_LIBRARY_FAILED",500,o);const{data:s,error:i}=await A(()=>S.select({id:K.id}).from(K).where(h.eq(K.type,"shared")));if(i)throw new T("Failed to fetch shared libraries","GET_SHARED_LIBRARIES_FAILED",500,i);const l=[...a?[a.id]:[],...(s||[]).map(d=>d.id)];if(l.length===0)return[];const{data:u,error:c}=await A(()=>S.select({id:te.id,library:te.library,pageId:te.pageId,pageType:te.pageType,name:te.name,description:te.description,preview:te.preview,user:te.user,createdAt:te.createdAt}).from(te).where(h.and(h.eq(te.pageType,n),h.inArray(te.library,l))));if(c)throw new T("Failed to fetch templates","GET_TEMPLATES_FAILED",500,c);return u||[]}}class du extends Z{getValidationSchema(){return v.z.object({lang:v.z.string().optional()})}async execute(t){if(!this.context)throw ie("CONTEXT_NOT_SET",new Error("CONTEXT_NOT_SET"));const{appId:r}=this.context,a=(t??{lang:""}).lang??"",{data:o,error:s}=await A(()=>S.select({id:f.id,name:f.name,slug:f.slug,pageType:f.pageType,currentEditor:f.currentEditor,parent:f.parent,online:f.online,lastSaved:f.lastSaved,createdAt:f.createdAt,dynamic:f.dynamic,dynamicSlugCustom:f.dynamicSlugCustom,primaryPage:f.primaryPage,changes:f.changes,lang:f.lang,designTokens:f.designTokens,links:f.links,partialBlocks:f.partialBlocks}).from(f).where(h.and(h.eq(f.app,r),h.eq(f.lang,a))));if(s)throw ie("ERROR_GETTING_WEBSITE_PAGES",s);if(!o||o.length===0)return[];const i=o.filter(d=>!q.isEmpty(d.slug)).map(d=>d.id),{data:l,error:u}=await A(()=>S.select({pageId:te.pageId}).from(te).where(h.inArray(te.pageId,i)));if(u)throw ie("ERROR_GETTING_TEMPLATE_INFO",u);const c=new Set((l||[]).map(d=>d.pageId));return o.map(d=>({...d,pageType:d.pageType??"page",isTemplate:c.has(d.id),changes:d.changes,lang:d.lang,designTokens:d.designTokens,links:d.links,partialBlocks:d.partialBlocks}))}}class pu extends Z{getValidationSchema(){return v.z.object({draft:v.z.boolean()})}async execute(t){if(!this.context)throw ie("CONTEXT_NOT_SET",new Error("CONTEXT_NOT_SET"));const{appId:r}=this.context,{draft:n}=t,a=n?ge:mt,{data:o,error:s}=await A(()=>S.select({theme:a.theme,fallbackLang:a.fallbackLang,languages:a.languages,settings:a.settings,designTokens:a.designTokens,changes:a.changes}).from(a).where(h.eq(a.id,r)).limit(1));if(s)throw ie("ERROR_PROJECT_CONFIG",s);if(!o||o.length===0)throw ie("PROJECT_NOT_FOUND",new Error("Project not found"));const i=q.first(o),l=(i==null?void 0:i.changes)??[];return{...this.getDefaultSettings(),...i,fallbackLang:(i==null?void 0:i.fallbackLang)||this.getDefaultSettings().fallbackLang,languages:(i==null?void 0:i.languages)||this.getDefaultSettings().languages,theme:(i==null?void 0:i.theme)||this.getDefaultSettings().theme,appKey:this.generateDeterministicUuid(r),appChanges:l}}getDefaultSettings(){return{fallbackLang:"en",languages:[],theme:{colors:{card:["#FFFFFF","#09090B"],ring:["#2563EB","#3B82F6"],input:["#E4E4E7","#27272A"],muted:["#F4F4F5","#27272A"],accent:["#F4F4F5","#27272A"],border:["#E4E4E7","#27272A"],popover:["#FFFFFF","#09090B"],primary:["#2563EB","#3B82F6"],secondary:["#F4F4F5","#27272A"],background:["#FFFFFF","#09090B"],foreground:["#09090B","#FFFFFF"],destructive:["#EF4444","#7F1D1D"],"card-foreground":["#09090B","#FFFFFF"],"muted-foreground":["#71717A","#A1A1AA"],"accent-foreground":["#09090B","#FFFFFF"],"popover-foreground":["#09090B","#FFFFFF"],"primary-foreground":["#FFFFFF","#FFFFFF"],"secondary-foreground":["#09090B","#FFFFFF"],"destructive-foreground":["#FFFFFF","#FFFFFF"]},fontFamily:{body:"Roboto",heading:"Poppins"},borderRadius:"30px"},settings:{},designTokens:{}}}generateDeterministicUuid(t){const r=is.createHash("sha256").update(t).digest("hex");return[r.substring(0,8),r.substring(8,12),"4"+r.substring(13,16),(parseInt(r.substring(16,17),16)&3|8).toString(16)+r.substring(17,20),r.substring(20,32)].join("-")}}class ow extends Z{getValidationSchema(){return v.z.object({id:v.z.string().min(1),description:v.z.string().optional(),name:v.z.string().min(1),pageType:v.z.string().min(1),previewImage:v.z.string().optional(),previewImageUrl:v.z.string().optional()})}async execute(t){var _;if(await this.verifyAccess(),!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{appId:r,userId:n}=this.context,{id:a,description:o,name:s,pageType:i,previewImage:l,previewImageUrl:u}=t,{data:c,error:d}=await A(()=>S.query.libraries.findFirst({where:h.eq(K.app,r),columns:{id:!0}}));if(d)throw new T("Failed to fetch site library","GET_SITE_LIBRARY_FAILED",500,d);if(!c)throw new T("Library not found for this app","GET_SITE_LIBRARY_FAILED");let p=u;if(l){const I=wa("UPLOAD_TO_STORAGE");I==null||I.setContext(this.context);const P=`template-${Date.now()}.webp`,C=`${r}/templates`,m=await(I==null?void 0:I.execute({file:l,fileName:P,contentType:"image/webp",folder:C}));if(m!=null&&m.error)throw new T("Failed to upload preview image","UPLOAD_PREVIEW_FAILED",500,m.error);p=((_=m==null?void 0:m.data)==null?void 0:_.url)||u}const{data:w,error:b}=await A(()=>S.insert(te).values({library:c.id,user:n??null,pageId:a,description:o??null,name:s+" Template",pageType:i,preview:p??null}).returning({id:te.id,library:te.library,pageType:te.pageType,pageId:te.pageId,description:te.description,preview:te.preview}));if(b||!w||w.length===0)throw new T("Failed to mark page as template","UPDATE_FAILED",500,b);return w[0]}}class sw extends Z{constructor(){super(...arguments);Ie(this,"appId","");Ie(this,"revisionsEnabled",!1)}getValidationSchema(){return v.z.object({ids:v.z.array(v.z.string()).optional(),revisions:v.z.boolean().optional()})}async execute(r){await this.verifyAccess(),this.validateContext(),this.appId=this.context.appId,this.revisionsEnabled=r.revisions??!1;try{const n=r.ids??[];if(n.length===0)throw new T("IDS_REQUIRED","At least one page ID or THEME must be provided");const a=await Promise.all(n.map(o=>o==="THEME"?this.publishTheme():o==="DESIGN_TOKENS"?this.publishDesignToken():this.publishPage(o)));return await this.clearChanges(n),{tags:q.uniq(q.flattenDeep(a))}}catch(n){return this.handleExecutionError(n)}}validateContext(){if(!this.context)throw new T("Context not set","CONTEXT_NOT_SET")}async publishTheme(){const r=await this.cloneApp(),{error:n}=await A(()=>S.delete(mt).where(h.eq(mt.id,this.appId)));if(n)throw new T("Error deleting online theme","ERROR_PUBLISHING_THEME",500,n);const{error:a}=await A(()=>S.insert(mt).values({...r,changes:null}));if(a)throw new T("Error inserting online theme","ERROR_PUBLISHING_THEME",500,a);return await this.removeFromChangesArray("THEME","ERROR_PUBLISHING_THEME"),[`website-settings-${this.appId}`]}async publishDesignToken(){const r=await this.cloneApp(),{error:n}=await A(()=>S.delete(mt).where(h.eq(mt.id,this.appId)));if(n)throw new T("Error deleting online app","ERROR_PUBLISHING_DESIGN_TOKEN",500,n);const{error:a}=await A(()=>S.insert(mt).values({...r,changes:null}));if(a)throw new T("Error inserting online app","ERROR_PUBLISHING_DESIGN_TOKEN",500,a);return await this.removeFromChangesArray("DESIGN_TOKENS","ERROR_PUBLISHING_DESIGN_TOKEN"),[`website-settings-${this.appId}`]}async removeFromChangesArray(r,n){var u;const{data:a,error:o}=await A(()=>S.select({changes:ge.changes}).from(ge).where(h.eq(ge.id,this.appId)));if(o)throw new T("Error fetching changes",n,500,o);const i=(((u=a==null?void 0:a[0])==null?void 0:u.changes)??[]).filter(c=>c!==r),{error:l}=await A(()=>S.update(ge).set({changes:i.length>0?i:null}).where(h.eq(ge.id,this.appId)));if(l)throw new T("Error updating changes",n,500,l)}async cloneApp(){const{data:r,error:n}=await A(()=>S.query.apps.findFirst({where:h.eq(ge.id,this.appId)}));if(n||!r)throw new T("Site not found","SITE_NOT_FOUND",404,n);return r}async clearChanges(r){const n=r.filter(o=>o!=="THEME"&&o!=="DESIGN_TOKENS");if(n.length===0)return;const{error:a}=await A(()=>S.update(f).set({changes:null,online:!0}).where(h.and(h.inArray(f.id,n),h.eq(f.app,this.appId))));if(a)throw new T("Error clearing changes","ERROR_CLEARING_CHANGES",500,a)}async getPartialBlockUsage(r){const{data:n}=await A(()=>S.query.appPagesOnline.findMany({where:h.and(h.eq(he.app,this.appId),h.like(he.partialBlocks,`%${r}%`)),columns:{id:!0}}));return q.uniq(n??[]).map(a=>a.id).map(a=>`page-${a}`)}async publishPage(r){const n=await this.clonePage(r);await this.addOnlinePage(n);const a=[`page-${n.primaryPage??n.id}`];return q.isEmpty(n.slug)&&a.push(...await this.getPartialBlockUsage(n.primaryPage??n.id)),a}async createRevision(r){if(!this.revisionsEnabled)return!1;const{data:n,error:a}=await A(()=>S.query.appPagesOnline.findFirst({where:h.eq(he.id,r)}));if(a||!n||!q.isEmpty(n.primaryPage))return!1;const{error:o}=await A(()=>S.insert(Se).values({...n,type:"published",uid:void 0}));if(o)throw new T("Error creating revision","ERROR_CREATING_REVISION",500,o);return!0}async addOnlinePage(r){await this.createRevision(r.id);const{error:n}=await A(()=>S.delete(he).where(h.eq(he.id,r.id)));if(n)throw new T("Error deleting online page","ERROR_PUBLISHING_PAGE",500,n);const{changes:a,createdAt:o,...s}=r,{data:i,error:l}=await A(()=>{var c;return S.insert(he).values({...s,currentEditor:(c=this.context)==null?void 0:c.userId}).returning({id:he.id,primaryPage:he.primaryPage})});if(l||!i||i.length===0)throw new T("Error publishing page","ERROR_PUBLISHING_PAGE",500,l);const{error:u}=await A(()=>S.update(f).set({changes:null}).where(h.eq(f.id,r.id)));if(u)throw new T("Error clearing page changes","ERROR_PUBLISHING_PAGE",500,u);return i[0]}async clonePage(r){const{data:n,error:a}=await A(()=>S.query.appPages.findFirst({where:h.and(h.eq(f.id,r),h.eq(f.app,this.appId))}));if(a||!n)throw new T("Page not found","PAGE_NOT_FOUND",404,a);return n}handleExecutionError(r){throw r instanceof T?r:new T(`Failed to publish changes: ${r instanceof Error?r.message:"Unknown error"}`,"PUBLISH_CHANGES_FAILED")}}class iw extends Z{getValidationSchema(){return v.z.object({revisionId:v.z.string().nonempty(),discardCurrent:v.z.boolean(),pageId:v.z.string().optional()})}async execute(t){if(await this.verifyAccess(),!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{appId:r}=this.context;let n,a;if(t.revisionId==="current"){if(!t.pageId)throw new T("pageId is required when restoring current revision","PAGE_ID_REQUIRED");const{data:o,error:s}=await A(()=>S.query.appPagesOnline.findFirst({where:h.and(h.eq(he.id,t.pageId),h.eq(he.app,r)),columns:{id:!0,blocks:!0}}));if(s)throw new T("Error fetching live page","FETCH_ERROR");if(!o)throw new T("Live page not found","PAGE_NOT_FOUND");n=o.id,a=o.blocks}else{const{data:o,error:s}=await A(()=>S.query.appPagesRevisions.findFirst({where:h.and(h.eq(Se.uid,t.revisionId),h.eq(Se.app,r)),columns:{id:!0,blocks:!0,type:!0}}));if(s)throw new T("Error fetching revision","FETCH_ERROR");if(!o)throw new T("Revision not found","REVISION_NOT_FOUND");n=o.id,a=o.blocks}if(!t.discardCurrent){const{data:o,error:s}=await A(()=>S.query.appPages.findFirst({where:h.and(h.eq(f.id,n),h.eq(f.app,r))}));if(s)throw new T("Error fetching current page","FETCH_ERROR");if(!o)throw new T("Current page not found","PAGE_NOT_FOUND");const i=o.blocks,l={id:n,blocks:i,type:"draft",createdAt:"now()",...q.pick(o,["name","slug","pageType","lang","app","currentEditor"])};await S.insert(Se).values(l)}return await S.update(f).set({blocks:a}).where(h.eq(f.id,n)),{success:!0,pageId:n}}}class lw extends Z{getValidationSchema(){return v.z.object({pageType:v.z.string(),query:v.z.string()})}async execute(t){try{const{pageType:r,query:n}=t,a=ut.getChaiPageType(r);if(!a)return{error:"Page type not found"};if(a.search){const o=await a.search(n);return o instanceof Error?{error:o.message}:o}return[]}catch(r){return this.handleError(r)}}}class uw extends Z{getValidationSchema(){return v.z.object({pageType:v.z.string().min(1),query:v.z.string().optional()})}async execute(t){if(!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{appId:r}=this.context,{pageType:n,query:a=""}=t,o=this.isUUID(a),s=[h.eq(f.app,r),h.eq(f.pageType,n)];let i;a?o?i=h.and(...s,h.eq(f.id,a)):i=h.and(...s,h.or(h.ilike(f.slug,`%${a}%`),h.ilike(f.name,`%${a}%`))):i=h.and(...s);const{data:l,error:u}=await A(()=>S.select({id:f.id,slug:f.slug,name:f.name,lang:f.lang,primaryPage:f.primaryPage}).from(f).where(i));if(u)throw new T("Failed to search pages","ERROR_SEARCHING_PAGES",500,u);return l||[]}isUUID(t){return t.length===36}}class cw extends Z{constructor(){super(...arguments);Ie(this,"appId","")}getValidationSchema(){return v.z.object({id:v.z.string().min(1,"Page ID is required")})}async execute(r){if(await this.verifyAccess(),!this.context)throw new T("Context not set","CONTEXT_NOT_SET");this.appId=this.context.appId;try{return await this.takeOffline(r.id)}catch(n){if(n instanceof T)throw n;const a=n instanceof Error?n.message:"Failed to take page offline";throw new T(a,"TAKE_OFFLINE_ERROR")}}async takeOffline(r){const n=await this.getPageType(r),{error:a}=await A(()=>S.update(f).set({online:!1}).where(h.and(h.eq(f.id,r),h.eq(f.app,this.appId))));if(a)throw new T("Error taking page offline","ERROR_TAKING_PAGE_OFFLINE");if(await this.deleteOnlinePage(r),n==="language")return{tags:[`page-${await this.getPrimaryPage(r)}`]};if(n==="partial")return{tags:[...(await this.getPartialBlockUsage(r)).map(l=>`page-${l}`)]};const{data:o,error:s}=await A(()=>S.select({id:f.id,slug:f.slug,lang:f.lang,pageType:f.pageType,name:f.name,online:f.online,seo:f.seo}).from(f).where(h.eq(f.id,r)));if(s||!o||o.length===0)throw new T("Error getting page after taking offline","ERROR_TAKING_PAGE_OFFLINE");return{tags:[`page-${r}`],page:o[0]}}async deleteOnlinePage(r){const{error:n}=await A(()=>S.delete(he).where(h.eq(he.id,r)));if(n)throw new T("Error deleting page from online pages table","ERROR_DELETING_PAGE_FROM_ONLINE_PAGES_TABLE");const{error:a}=await A(()=>S.delete(he).where(h.eq(he.primaryPage,r)));if(a)throw new T("Error deleting page from online pages table","ERROR_DELETING_PAGE_FROM_ONLINE_PAGES_TABLE")}async getPageType(r){const{data:n,error:a}=await A(()=>S.select({primaryPage:f.primaryPage,pageType:f.pageType,slug:f.slug}).from(f).where(h.and(h.eq(f.id,r),h.eq(f.app,this.appId))));if(a||!n||n.length===0)throw new T("Page not found","PAGE_NOT_FOUND");const o=n[0];return(i=>!i||i.trim()==="")(o.slug)?"partial":o.primaryPage?"language":"primary"}async getPrimaryPage(r){const{data:n,error:a}=await A(()=>S.select({id:f.id,primaryPage:f.primaryPage}).from(f).where(h.and(h.eq(f.id,r),h.eq(f.app,this.appId))));if(a||!n||n.length===0)throw new T("Error getting primary page","ERROR_GETTING_PRIMARY_PAGE");const o=n[0];return o.primaryPage??o.id}async getPartialBlockUsage(r){const{data:n,error:a}=await A(()=>S.select({id:f.id,partialBlocks:f.partialBlocks}).from(f).where(h.eq(f.app,this.appId)));return a||!n?[]:n.filter(o=>(o.partialBlocks||"").split("|").includes(r)).map(o=>o.id)}}class dw extends Z{getValidationSchema(){return v.z.object({id:v.z.string().min(1)})}async execute(t){if(await this.verifyAccess(),!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{id:r}=t,{error:n}=await A(()=>S.delete(te).where(h.eq(te.pageId,r)));if(n)throw new T("Failed to unmark page as template","DELETE_FAILED",500,n);return{success:!0}}}class pw{constructor(t){Ie(this,"appId");Ie(this,"pageTreeBuilder");this.appId=t}updateNodeSlugInTree(t,r,n){for(const a of n){if(a.id===t)return a.slug=r,!0;if(a.children&&a.children.length>0&&this.updateNodeSlugInTree(t,r,a.children))return!0}return!1}validateSlugAvailabilityInTree(t,r,n,a,o=!1){const s=i=>{for(const l of i){const u=l.dynamic??!1;if(l.slug===t&&l.id!==r&&u===n||l.children&&l.children.length>0&&s(l.children))return!0}return!1};if(s(a.primaryTree)){const i=o?`Slug '${t}' conflicts with a primary page slug. Language page slugs cannot overlap with primary page slugs.`:`Slug '${t}' is already in use. Please choose another slug`;throw new T(i,"SLUG_ALREADY_EXISTS")}if(s(a.languageTree)){const i=o?`Slug '${t}' is already in use by another language page. Please choose another slug.`:`Slug '${t}' conflicts with a language page slug. Please choose another slug.`;throw new T(i,"SLUG_ALREADY_EXISTS")}}async isSlugChanged(t,r){if(!r)return!1;const{data:n,error:a}=await A(()=>S.select({slug:f.slug}).from(f).where(h.and(h.eq(f.id,t),h.eq(f.app,this.appId))).limit(1));if(a||!n||n.length===0)return!1;const o=n[0];return(o==null?void 0:o.slug)!==r}async isParentChanged(t,r){if(r===void 0)return!1;const{data:n,error:a}=await A(()=>S.select({parent:f.parent}).from(f).where(h.and(h.eq(f.id,t),h.eq(f.app,this.appId))).limit(1));if(a||!n||n.length===0)return!1;const o=n[0];return(o==null?void 0:o.parent)!==r}async handleSlugChangeWithTree(t,r){const n=r.slug;this.pageTreeBuilder||(this.pageTreeBuilder=new Ar(this.appId));const a=await this.pageTreeBuilder.getPagesTree();let o=this.pageTreeBuilder.findPageInPrimaryTree(t,a.primaryTree);if(!o&&(o=this.pageTreeBuilder.findPageInLanguageTree(t,a.languageTree),!o))throw new T("Page not found in tree","PAGE_NOT_FOUND_IN_TREE");const s=o.slug,i=o.dynamic||!1;this.validateSlugAvailabilityInTree(n,t,i,a);let l=[];const u=this.pageTreeBuilder.collectNestedChildSlugs(o,s,n);return l=[{id:t,newSlug:n},...u.map(c=>({id:c.id,newSlug:c.newSlug}))],l}async handleParentChangeWithTree(t,r){const n=r.parent;this.pageTreeBuilder||(this.pageTreeBuilder=new Ar(this.appId));const a=await this.pageTreeBuilder.getPagesTree(),o=this.pageTreeBuilder.findPageInPrimaryTree(t,a.primaryTree);if(!o)throw this.pageTreeBuilder.findPageInLanguageTree(t,a.languageTree)?new T("Cannot change parent of language pages directly","INVALID_OPERATION"):new T("Primary page not found in tree","PAGE_NOT_FOUND_IN_TREE");const s=o.slug,i=r.slug?r.slug:this.pageTreeBuilder.calculateSlugFromParent(n,s,a.primaryTree);this.validateSlugAvailabilityInTree(i,t,o.dynamic||!1,a),this.updateNodeSlugInTree(t,i,a.primaryTree);const l=this.pageTreeBuilder.collectNestedChildSlugs(o,s,i),u=[{id:t,newSlug:i},...l.map(p=>({id:p.id,newSlug:p.newSlug}))];for(const p of l)this.updateNodeSlugInTree(p.id,p.newSlug,a.primaryTree);const c=this.pageTreeBuilder.findLanguagePagesForPrimary(t,a.languageTree);let d;n&&(d=this.pageTreeBuilder.findLanguagePagesForPrimary(n,a.languageTree));for(const p of c){const w=d==null?void 0:d.filter(P=>P.lang===p.lang)[0],b=(w==null?void 0:w.id)||null,_=this.pageTreeBuilder.calculateSlugFromParent(b,p.slug,a.languageTree);this.validateSlugAvailabilityInTree(_,p.id,p.dynamic||!1,a,!0),this.updateNodeSlugInTree(p.id,_,a.languageTree);const I=this.pageTreeBuilder.collectNestedChildSlugs(p,p.slug,_);for(const P of I)this.updateNodeSlugInTree(P.id,P.newSlug,a.languageTree);u.push({id:p.id,newSlug:_}),u.push(...I.map(P=>({id:P.id,newSlug:P.newSlug})))}return u}async batchUpdateSlugs(t,r,n,a){const o=t.map(async i=>{const l={slug:i.newSlug,lastSaved:h.sql`now()`};if(i.id===n){const c=q.pick(r,["name","seo","blocks","currentEditor","buildTime","parent","pageType","dynamic","dynamicSlugCustom","links","partialBlocks","designTokens"]);Object.keys(c).forEach(d=>{c[d]===void 0&&delete c[d]}),Object.assign(l,{...c,changes:a})}const{error:u}=await A(()=>S.update(f).set(l).where(h.and(h.eq(f.id,i.id),h.eq(f.app,this.appId))));if(u)throw new T(`Failed to update page ${i.id}`,"UPDATE_PAGE_FAILED");return i.id});await Promise.all(o);const s=t.map(async i=>{await A(()=>S.update(he).set({slug:i.newSlug}).where(h.and(h.eq(he.id,i.id),h.eq(he.app,this.appId))))});await Promise.all(s)}setPageTreeBuilder(t){this.pageTreeBuilder=t}}class fw extends Z{constructor(){super(...arguments);Ie(this,"appId","");Ie(this,"pageTreeBuilder");Ie(this,"slugChangeHandler")}getValidationSchema(){return v.z.object({id:v.z.string().nonempty(),blocks:v.z.array(v.z.any()).optional(),currentEditor:v.z.string().optional(),slug:v.z.string().optional(),name:v.z.string().optional(),seo:v.z.record(v.z.string(),v.z.any()).optional(),buildTime:v.z.boolean().optional(),parent:v.z.union([v.z.string(),v.z.null()]).optional(),pageType:v.z.string().optional(),dynamic:v.z.boolean().optional(),dynamicSlugCustom:v.z.string().optional(),needTranslations:v.z.boolean().optional()})}async execute(r){await this.verifyAccess(),this.validateContext(),this.appId=this.context.appId;try{if(this.isOnlyBlocksUpdate(r))return await this.updateBlocks(r.id,r.blocks),await this.buildResponse(r.id,r);const n=this.extractAllowedPageFields(r);this.slugChangeHandler=new pw(this.appId);const a=await this.slugChangeHandler.isSlugChanged(r.id,n.slug);return await this.slugChangeHandler.isParentChanged(r.id,n.parent)&&n.parent!==void 0?(this.pageTreeBuilder=new Ar(this.appId),this.slugChangeHandler.setPageTreeBuilder(this.pageTreeBuilder),await this.handleParentChangeWithHandler(r.id,n)):a&&n.slug?(this.pageTreeBuilder=new Ar(this.appId),this.slugChangeHandler.setPageTreeBuilder(this.pageTreeBuilder),await this.handleSlugChangeWithHandler(r.id,n)):await this.updatePageInDatabase(r.id,n),await this.buildResponse(r.id,n)}catch(n){return this.handleExecutionError(n)}}async updateBlocks(r,n){const a=this.getLinks(n),o=this.getPartialBlocks(n),s=this.getDesignTokens(n);await this.updatePageInDatabase(r,{blocks:n,links:a,partialBlocks:o,designTokens:s})}getPartialBlocks(r){return q.compact(r.filter(n=>n._type==="GlobalBlock"||n._type==="PartialBlock").map(n=>q.get(n,"partialBlockId",q.get(n,"globalBlock",!1)))).join("|")}getLinks(r){const n=JSON.stringify(r),a=/pageType:[^:]+:([a-f0-9-]{36})/gi,o=[];let s;for(;(s=a.exec(n))!==null;)s[1]&&o.push(s[1]);return q.compact(o).join("|")}getDesignTokens(r){const n=/dt#[^ "]+/g,a={};for(const o of r){const s=JSON.stringify(o);let i;for(;(i=n.exec(s))!==null;)if(i[0]){const l=i[0];a[l]||(a[l]={}),a[l][o._id]=o._name||o._type}}return a}validateContext(){if(!this.context)throw new T("Context not set","CONTEXT_NOT_SET")}extractAllowedPageFields(r){return q.pick(r,["slug","name","seo","blocks","currentEditor","buildTime","parent","pageType","dynamic","dynamicSlugCustom"])}async handleSlugChangeWithHandler(r,n){const a=await this.slugChangeHandler.handleSlugChangeWithTree(r,n),o=this.determineChangeTypes(n);await this.slugChangeHandler.batchUpdateSlugs(a,n,r,o)}async handleParentChangeWithHandler(r,n){const a=await this.slugChangeHandler.handleParentChangeWithTree(r,n),o=this.determineChangeTypes(n);await this.slugChangeHandler.batchUpdateSlugs(a,n,r,o)}determineChangeTypes(r){const n=[],a=q.keys(r);return a.includes("blocks")&&n.push("Page"),a.includes("seo")&&n.push("SEO"),n.length>0?n:["Updated"]}async updatePageInDatabase(r,n){const a=this.determineChangeTypes(n),{error:o}=await A(()=>S.update(f).set({...n,changes:a,lastSaved:h.sql`now()`}).where(h.and(h.eq(f.id,r),h.eq(f.app,this.appId))));if(a.includes("Page")){const{error:s}=await A(()=>S.update(f).set({changes:a}).where(h.and(h.eq(f.primaryPage,r),h.eq(f.app,this.appId))));if(s)throw new T("Error updating page","ERROR_UPDATING_PAGE")}if(o)throw new T("Error updating page","ERROR_UPDATING_PAGE")}isOnlyBlocksUpdate(r){return q.keys(r).includes("blocks")}async fetchUpdatedPageData(r){const{data:n,error:a}=await A(()=>S.select({id:f.id,slug:f.slug,lang:f.lang,pageType:f.pageType,name:f.name,online:f.online,parent:f.parent,seo:f.seo}).from(f).where(h.eq(f.id,r)).limit(1));if(a||!n||n.length===0)throw new T("Error getting updated page","ERROR_GETTING_PAGE");return n[0]}async buildResponse(r,n){return this.isOnlyBlocksUpdate(n)?{success:!0}:{page:await this.fetchUpdatedPageData(r)}}handleExecutionError(r){throw console.log("Error updating page:",r),r instanceof T?r:new T(`Failed to update page: ${r instanceof Error?r.message:"Unknown error"}`,"UPDATE_PAGE_FAILED")}}class gw extends Z{getValidationSchema(){return v.z.object({id:v.z.string().nonempty(),metadata:v.z.record(v.z.string(),v.z.any())})}async execute(t){if(await this.verifyAccess(),!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{appId:r}=this.context,{data:n,error:a}=await A(()=>S.query.appPages.findFirst({where:h.and(h.eq(f.id,t.id),h.eq(f.app,r)),columns:{id:!0}}));if(a)throw new T(`Failed to fetch page: ${a.message}`,"FETCH_FAILED");if(!n)throw new T("Page not found","PAGE_NOT_FOUND");const{error:o}=await A(()=>S.update(f).set({metadata:t.metadata}).where(h.and(h.eq(f.id,t.id),h.eq(f.app,r))));if(o)throw console.error(o),new T("Failed to update page metadata","UPDATE_FAILED");return{success:!0}}}class hw extends Z{getValidationSchema(){return v.z.object({settings:v.z.any()})}async execute(t){if(await this.verifyAccess(),!this.context)throw ie("CONTEXT_NOT_SET",new Error("CONTEXT_NOT_SET"));const{appId:r}=this.context,n=q.pick(t.settings,["theme","designTokens"]),{data:a,error:o}=await A(()=>S.select({changes:ge.changes}).from(ge).where(h.eq(ge.id,r)));if(o)throw ie("ERROR_UPDATE_WEBSITE_FIELDS",o);const s=a[0].changes??[],i={theme:"THEME",designTokens:"DESIGN_TOKENS"},l=Object.keys(n).map(p=>i[p]).filter(Boolean),u=[...new Set([...s,...l])],c={...n,changes:u},{error:d}=await A(()=>S.update(ge).set(c).where(h.eq(ge.id,r)));if(d)throw ie("ERROR_UPDATE_WEBSITE_FIELDS",d);return{success:!0}}}class mw extends Z{getValidationSchema(){return v.z.object({name:v.z.string().min(1),group:v.z.string().min(1),blocks:v.z.array(v.z.any()),description:v.z.string().optional(),previewImage:v.z.string().optional(),id:v.z.string().optional(),previewImageUrl:v.z.string().optional()})}async execute(t){var b;if(await this.verifyAccess(),!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{appId:r,userId:n}=this.context,{name:a,group:o,blocks:s,description:i,previewImage:l,previewImageUrl:u,id:c}=t,{data:d,error:p}=await A(()=>S.query.libraries.findFirst({where:h.eq(K.app,r),columns:{id:!0}}));if(p)throw new T("Failed to fetch site library","GET_SITE_LIBRARY_FAILED",500,p);if(!d)throw new T("Library not found for this app","GET_SITE_LIBRARY_FAILED");let w=u;if(l){const _=wa("UPLOAD_TO_STORAGE");_==null||_.setContext(this.context);const I=`library-item-${Date.now()}.webp`,P=`${r}/library-items`,C=await(_==null?void 0:_.execute({file:l,fileName:I,contentType:"image/webp",folder:P}));if(C!=null&&C.error)throw new T("Failed to upload preview image","UPLOAD_PREVIEW_FAILED",500,C.error);w=((b=C==null?void 0:C.data)==null?void 0:b.url)||u}if(c){const _={name:a,blocks:s,library:d.id,description:i??null,group:o,user:n??null};w&&(_.preview=w);const{data:I,error:P}=await A(()=>S.update(re).set(_).where(h.eq(re.id,c)).returning());if(P||!I||I.length===0)throw new T("Failed to update library item","UPDATE_LIBRARY_ITEM_FAILED",500,P);return I[0]}else{const _=bu.randomUUID(),I=[...s];q.set(I,"0._libBlockId",_);const P={id:_,name:a,blocks:I,library:d.id,description:i??null,group:o,user:n??null,preview:w??null},{data:C,error:m}=await A(()=>S.insert(re).values(P).returning());if(m||!C||C.length===0)throw new T("Failed to create library item","CREATE_LIBRARY_ITEM_FAILED",500,m);return C[0]}}}class yw extends Z{getValidationSchema(){return v.z.object({}).optional().default({})}async execute(){const t=new pu,r=new du,n=new cu,a=new uu,o=new su;this.context&&(t.setContext(this.context),r.setContext(this.context),n.setContext(this.context),a.setContext(this.context),o.setContext(this.context));const[s,i,l,u,c]=await Promise.all([t.execute({draft:!0}),r.execute({lang:""}),n.execute(),a.execute(),o.execute()]);return{websiteSettings:s,websitePages:i,pageTypes:l,libraries:u,collections:c}}}class vw extends Z{getValidationSchema(){return v.z.object({id:v.z.string(),lang:v.z.string(),pageType:v.z.string().optional(),pageProps:v.z.any().optional().default({})})}async execute(t){const{id:r,lang:n,pageType:a,pageProps:o={}}=t,s=new iu,i=new ou,l=new lu;this.context&&(s.setContext(this.context),i.setContext(this.context),l.setContext(this.context));try{const[u,c,d]=await Promise.all([s.execute({id:r}),i.execute({lang:n,pageType:a,pageProps:o}),l.execute({id:r})]);return{draftPage:u,builderPageData:c,languagePages:d}}catch(u){const c=u instanceof Error?u.message:String(u);throw new Error(`Failed to fetch page data: ${c}`)}}}const xt=class xt{constructor(){Ie(this,"actions",{});ut.registerChaiPageType("page",{name:"Static Page",icon:'<svg stroke="currentColor" fill="currentColor" strokeWidth="0" viewBox="0 0 24 24" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M5 8V20H19V8H5ZM5 6H19V4H5V6ZM20 22H4C3.44772 22 3 21.5523 3 21V3C3 2.44772 3.44772 2 4 2H20C20.5523 2 21 2.44772 21 3V21C21 21.5523 20.5523 22 20 22ZM7 10H11V14H7V10ZM7 16H17V18H7V16ZM13 11H17V13H13V11Z"></path></svg>'}),ut.registerChaiPartialType("global",{name:"Global Block",helpText:"A global block can be reused in multiple pages.",icon:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-hash-icon lucide-hash"><line x1="4" x2="20" y1="9" y2="9"/><line x1="4" x2="20" y1="15" y2="15"/><line x1="10" x2="8" y1="3" y2="21"/><line x1="16" x2="14" y1="3" y2="21"/></svg>'}),this.register("ASK_AI",new zv),this.register("CHECK_USER_ACCESS",new $v),this.register("CREATE_PAGE",new Mv),this.register("DELETE_PAGE",new Lv),this.register("DUPLICATE_PAGE",new jv),this.register("RESTORE_PAGE_REVISION",new iw),this.register("UPDATE_PAGE_METADATA",new gw),this.register("GENERATE_SEO_FIELD",new Hv),this.register("GENERATE_HTML_FROM_PROMPT",new Bv),this.register("GET_REVISION_PAGE",new rw),this.register("UPDATE_PAGE",new fw),this.register("GET_COMPARE_DATA",new Wv),this.register("GET_SITE_WIDE_USAGE",new nw),this.register("GET_WEBSITE_DRAFT_SETTINGS",new pu),this.register("GET_WEBSITE_PAGES",new du),this.register("GET_LIBRARIES",new uu),this.register("GET_DRAFT_PAGE",new iu),this.register("GET_LANGUAGE_PAGES",new lu),this.register("UPSERT_LIBRARY_ITEM",new mw),this.register("MARK_AS_TEMPLATE",new ow),this.register("GET_LIBRARY_ITEM",new Qv),this.register("GET_LIBRARY_ITEMS",new ew),this.register("DELETE_LIBRARY_ITEM",new Fv),this.register("UNMARK_AS_TEMPLATE",new dw),this.register("GET_TEMPLATES_BY_TYPE",new aw),this.register("SEARCH_PAGES",new uw),this.register("GET_PAGE_REVISIONS",new tw),this.register("PUBLISH_CHANGES",new sw),this.register("UPDATE_WEBSITE_FIELDS",new hw),this.register("TAKE_OFFLINE",new cw),this.register("GET_CHANGES",new Yv),this.register("GET_LIBRARY_GROUPS",new Xv),this.register("DELETE_PAGE_REVISION",new Uv),this.register("GET_COLLECTIONS",new su),this.register("GET_BLOCK_ASYNC_PROPS",new Jv),this.register("GET_BUILDER_PAGE_DATA",new ou),this.register("GET_PAGE_TYPES",new cu),this.register("SEARCH_PAGE_TYPE_ITEMS",new lw),this.register("GET_DYNAMIC_PAGES",new Kv),this.register("GET_WEBSITE_DATA",new yw),this.register("GET_PAGE_ALL_DATA",new vw)}static getInstance(){return xt.instance||(xt.instance=new xt),xt.instance}register(t,r){this.actions[t]=r}registerActions(t){for(const[r,n]of Object.entries(t))this.register(r,n)}getAction(t){return q.get(this.actions,t)}getAllActions(){return this.actions}};Ie(xt,"instance");let ln=xt;const wa=e=>ln.getInstance().getAction(e),ww=ln.getInstance();exports.ActionError=T;exports.ChaiBaseAction=Z;exports.actionsRegistery=ww;exports.db=S;exports.getAskAiSystemPrompt=ru;exports.getChaiAction=wa;exports.safeQuery=A;exports.schema=au;