@chaibuilder/sdk 4.0.0-beta.8 → 4.0.0-beta.9

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 (139) hide show
  1. package/README.md +4 -5
  2. package/dist/{2SSKDMRQ-DewwiCoQ.js → 2SSKDMRQ-CdFBQR2o.js} +2 -2
  3. package/dist/{2SSKDMRQ-DHv4u_0i.cjs → 2SSKDMRQ-CuQ42ST6.cjs} +1 -1
  4. package/dist/{AP7HFJJL-cz754qhG.cjs → AP7HFJJL-DcnEb4BE.cjs} +1 -1
  5. package/dist/{AP7HFJJL-ComnZw7J.js → AP7HFJJL-bDlWX5Yx.js} +1 -1
  6. package/dist/{IconPicker-2H9IGKMS.js → IconPicker-CNwplOGy.js} +1 -1
  7. package/dist/{IconPicker-U0Z2dWeR.cjs → IconPicker-FpyYsxOf.cjs} +1 -1
  8. package/dist/STRINGS-BExFecZW.js +8 -0
  9. package/dist/STRINGS-FNnfjF5H.cjs +1 -0
  10. package/dist/{WDYDFRGG-BfRX3M58.cjs → WDYDFRGG-BxLmjulP.cjs} +1 -1
  11. package/dist/{WDYDFRGG-vy7nMYD4.js → WDYDFRGG-CWq7H6Qk.js} +2 -2
  12. package/dist/{actions-registery-CtQSSexG.cjs → actions-registery-BRgseJas.cjs} +16 -16
  13. package/dist/{actions-registery-DqrFhSMp.js → actions-registery-DRV8xywr.js} +180 -181
  14. package/dist/actions.cjs +1 -1
  15. package/dist/actions.d.ts +112 -51
  16. package/dist/actions.js +2 -2
  17. package/dist/{active-in-another-tab-5hn17Jeq.js → active-in-another-tab-C392ZWQc.js} +2 -2
  18. package/dist/{active-in-another-tab-ijahI5qu.cjs → active-in-another-tab-DEWOFgY5.cjs} +1 -1
  19. package/dist/{add-new-language-page-DmOyPy0u.js → add-new-language-page-BL2F_Cu7.js} +3 -3
  20. package/dist/{add-new-language-page-vmNKNx-e.cjs → add-new-language-page-DBWd0wDY.cjs} +1 -1
  21. package/dist/{add-new-page-XDuCkOyb.cjs → add-new-page-DYrQeKCi.cjs} +1 -1
  22. package/dist/{add-new-page-NHScAQn8.js → add-new-page-QVlyJhn9.js} +2 -2
  23. package/dist/{ai-panel-content-CHJ0JcQI.js → ai-panel-content-CCOluPtK.js} +3 -3
  24. package/dist/{ai-panel-content-BDqW16AW.cjs → ai-panel-content-DCZRBa6s.cjs} +1 -1
  25. package/dist/{ai-panel-default-lang-HeYWpbMu.cjs → ai-panel-default-lang-C3t0elrO.cjs} +2 -2
  26. package/dist/{ai-panel-default-lang-BIomgsN0.js → ai-panel-default-lang-Crz7QAxl.js} +4 -4
  27. package/dist/{ai-panel-other-lang-BMelEs3p.cjs → ai-panel-other-lang-BRkr4Te3.cjs} +1 -1
  28. package/dist/{ai-panel-other-lang-CbAgG-qX.js → ai-panel-other-lang-DIF8PYLh.js} +4 -4
  29. package/dist/{ai-prompt-input-BH8LOVT4.js → ai-prompt-input-D4dqy8L2.js} +1 -1
  30. package/dist/{ai-prompt-input-C_GG6nwq.cjs → ai-prompt-input-Ybgvrvd6.cjs} +1 -1
  31. package/dist/{ai-translation-prompt-CkHaFv5I.cjs → ai-translation-prompt-Ck12Bfl6.cjs} +1 -1
  32. package/dist/{ai-translation-prompt-DxsNw8YR.js → ai-translation-prompt-eZ4Sllva.js} +1 -1
  33. package/dist/{apply-binding-BvWfJCSZ.js → apply-binding-CLU6Xp4K.js} +77 -81
  34. package/dist/apply-binding-NvZX_rJe.cjs +1 -0
  35. package/dist/{code-editor-CGBAc-A6.js → code-editor-D45h29W1.js} +1 -1
  36. package/dist/{code-editor-GV8ibQ4h.cjs → code-editor-DH8eU4WL.cjs} +1 -1
  37. package/dist/{continue-editing-in-this-client-Da8ab_9d.js → continue-editing-in-this-client-BRrIvSrl.js} +2 -2
  38. package/dist/{continue-editing-in-this-client-DKHP0pq8.cjs → continue-editing-in-this-client-DgZ9Q18G.cjs} +1 -1
  39. package/dist/core-8lkXy4lC.cjs +1 -0
  40. package/dist/core-BvsZwF26.js +52 -0
  41. package/dist/core.cjs +1 -1
  42. package/dist/core.d.ts +147 -87
  43. package/dist/core.js +2 -2
  44. package/dist/{css-import-modal-CcZVLsF9.js → css-import-modal-BhLPzQH8.js} +1 -1
  45. package/dist/{css-import-modal-B4j26_cO.cjs → css-import-modal-C2-oVwFv.cjs} +1 -1
  46. package/dist/{delete-design-token-DzINIVtO.js → delete-design-token-D4Q5-Xql.js} +1 -1
  47. package/dist/{delete-design-token-3-WwqXMO.cjs → delete-design-token-DJSQluQ6.cjs} +1 -1
  48. package/dist/{delete-page-B7ODELqM.cjs → delete-page-BxbsKhY5.cjs} +1 -1
  49. package/dist/{delete-page-DwZDMwfI.js → delete-page-xHdZT-7c.js} +2 -2
  50. package/dist/{design-token-usage-DQf180Lg.js → design-token-usage-7wgmVSWI.js} +1 -1
  51. package/dist/{design-token-usage-Dy08kcIc.cjs → design-token-usage-KZ4pilLm.cjs} +1 -1
  52. package/dist/{digital-asset-manager-CDy9kHZO.js → digital-asset-manager-BmbVU7fX.js} +3 -3
  53. package/dist/{digital-asset-manager-C7subULa.cjs → digital-asset-manager-a1fqrQVH.cjs} +1 -1
  54. package/dist/{duplicate-page-DTnSztlr.js → duplicate-page-5uIno9Yh.js} +3 -3
  55. package/dist/{duplicate-page-CWQ9aMd9.cjs → duplicate-page-BBTxn_o1.cjs} +1 -1
  56. package/dist/{dynamic-page-selector-DJuxLcsM.cjs → dynamic-page-selector-C1ef0i2I.cjs} +1 -1
  57. package/dist/{dynamic-page-selector-DYW3ov_u.js → dynamic-page-selector-rhvhg7ol.js} +2 -2
  58. package/dist/{image-editor-DLeSST0K.js → image-editor-BXYZDa0s.js} +1 -1
  59. package/dist/{image-editor-C4H3AkZK.cjs → image-editor-rqUgAO8V.cjs} +1 -1
  60. package/dist/{index-D5d4QDq7.js → index-Be9lAaD7.js} +420 -422
  61. package/dist/index-BhqugjzS.cjs +160 -0
  62. package/dist/index-CNEEEgTV.cjs +5 -0
  63. package/dist/{index-BK0xWO1z.js → index-mjuSGlPU.js} +440 -447
  64. package/dist/{json-diff-viewer-g6SY62bl.cjs → json-diff-viewer-C9qmLiaq.cjs} +1 -1
  65. package/dist/{json-diff-viewer-BYHieVod.js → json-diff-viewer-aVwY7_hZ.js} +2 -2
  66. package/dist/{lang-panel-BG1GMn-1.js → lang-panel-BTWk23Mw.js} +3 -3
  67. package/dist/{lang-panel-Dm1eOO2J.cjs → lang-panel-Bo1ZWYfu.cjs} +1 -1
  68. package/dist/{manage-design-tokens-BdWQUHhw.js → manage-design-tokens-id8bylgO.js} +3 -3
  69. package/dist/manage-design-tokens-lUMCgjdS.cjs +1 -0
  70. package/dist/{mark-as-template-DUFnfVM3.cjs → mark-as-template-BYXBDXMv.cjs} +1 -1
  71. package/dist/{mark-as-template-D2XxagVO.js → mark-as-template-hv3WD852.js} +2 -2
  72. package/dist/{nested-path-selector-content-Wd6-Eql0.js → nested-path-selector-content-B8z90MFF.js} +1 -1
  73. package/dist/{nested-path-selector-content-CQOx2L9C.cjs → nested-path-selector-content-DgFFXcTD.cjs} +1 -1
  74. package/dist/{no-language-page-content-C11uF6hs.cjs → no-language-page-content-6Kk8UjFX.cjs} +1 -1
  75. package/dist/{no-language-page-content-BOv6TZIk.js → no-language-page-content-DMACzysm.js} +2 -2
  76. package/dist/{no-language-page-dialog-DIXyKRJq.js → no-language-page-dialog-D4n_XYUq.js} +2 -2
  77. package/dist/{no-language-page-dialog-CY5XhXsC.cjs → no-language-page-dialog-mBH-fthh.cjs} +1 -1
  78. package/dist/{page-creator-zSUFF4eT.cjs → page-creator-CGglYnYg.cjs} +1 -1
  79. package/dist/{page-creator-WX9lMrJY.js → page-creator-CgsOF0Eg.js} +3 -3
  80. package/dist/{page-lock-D9miLZjm.js → page-lock-CUCEBnJb.js} +2 -2
  81. package/dist/{page-lock-DGhR_url.cjs → page-lock-Hsi61Mk5.cjs} +1 -1
  82. package/dist/{page-locked-dialog-DTLnbfuP.cjs → page-locked-dialog-DSxbAMpt.cjs} +1 -1
  83. package/dist/{page-locked-dialog-CNCUCcvH.js → page-locked-dialog-bHvbFllT.js} +2 -2
  84. package/dist/{page-manager-new-Dd2c-Q_O.cjs → page-manager-new-CBfFl5rL.cjs} +1 -1
  85. package/dist/{page-manager-new-BFFOLh-l.js → page-manager-new-Cifc526h.js} +7 -7
  86. package/dist/{page-manager-search-and-filter-C1IWF_4d.js → page-manager-search-and-filter-CLJss6pV.js} +2 -2
  87. package/dist/{page-manager-search-and-filter-BKdQUJ2W.cjs → page-manager-search-and-filter-mEKl-UKh.cjs} +1 -1
  88. package/dist/{page-revisions-content-D0cflnj1.cjs → page-revisions-content-C95dQJyx.cjs} +1 -1
  89. package/dist/{page-revisions-content-DHapiLck.js → page-revisions-content-DvL4ya9g.js} +3 -3
  90. package/dist/pages.cjs +1 -1
  91. package/dist/pages.d.ts +146 -93
  92. package/dist/pages.js +1 -1
  93. package/dist/{publish-pages-content-BqLcnKry.cjs → publish-pages-content-B-6vSkql.cjs} +1 -1
  94. package/dist/{publish-pages-content-Bd2zJHtK.js → publish-pages-content-B8-IZW_U.js} +3 -3
  95. package/dist/render.cjs +1 -1
  96. package/dist/render.d.ts +12 -14
  97. package/dist/render.js +3 -3
  98. package/dist/{rte-widget-modal-RS8PMKOn.js → rte-widget-modal-1SbY5bcQ.js} +1 -1
  99. package/dist/{rte-widget-modal-DiB5BjH1.cjs → rte-widget-modal-CyKwtbOG.cjs} +1 -1
  100. package/dist/runtime.cjs +1 -1
  101. package/dist/runtime.d.ts +91 -77
  102. package/dist/runtime.js +57 -56
  103. package/dist/{save-to-lib--6ZXHEbC.js → save-to-lib-BKcBfjfi.js} +2 -2
  104. package/dist/{save-to-lib-BXJvaC1N.cjs → save-to-lib-BmPh_Vns.cjs} +1 -1
  105. package/dist/{selected-block-display-CUnCqXQw.js → selected-block-display-B3hHlcLA.js} +2 -2
  106. package/dist/{selected-block-display-BfpJda4h.cjs → selected-block-display-BCvTNcp2.cjs} +1 -1
  107. package/dist/{seo-panel-Bs-FcY1A.js → seo-panel-D3EyOYij.js} +2 -2
  108. package/dist/{seo-panel-CQITMfZ6.cjs → seo-panel-DVClgzX9.cjs} +1 -1
  109. package/dist/{shared-json-ld-DDXXi-Mj.cjs → shared-json-ld-BRgJTv0m.cjs} +1 -1
  110. package/dist/{shared-json-ld-7EujD341.js → shared-json-ld-DSPadwbY.js} +2 -2
  111. package/dist/{slug-input-CsVJAr7r.cjs → slug-input-B39SPBdP.cjs} +1 -1
  112. package/dist/{slug-input-DoEIq5rs.js → slug-input-C3UrwSkt.js} +1 -1
  113. package/dist/supabase-actions.cjs +1 -1
  114. package/dist/supabase-actions.js +1 -1
  115. package/dist/{take-over-request-C14kJ356.js → take-over-request-DfAlPvpE.js} +2 -2
  116. package/dist/{take-over-request-D5Oo3MPo.cjs → take-over-request-Tq9-gOCV.cjs} +1 -1
  117. package/dist/{theme-panel-footer-Dvknelm8.js → theme-panel-footer-DIy4baYU.js} +2 -2
  118. package/dist/{theme-panel-footer-Eeibz2JA.cjs → theme-panel-footer-DQzjVBBP.cjs} +1 -1
  119. package/dist/{translation-warning-modal-YlzP2XoO.js → translation-warning-modal-BHwLZZOw.js} +1 -1
  120. package/dist/{translation-warning-modal-CPzdHzqq.cjs → translation-warning-modal-Ckwt5Skc.cjs} +1 -1
  121. package/dist/types.cjs +1 -0
  122. package/dist/types.d.ts +598 -0
  123. package/dist/types.js +1 -0
  124. package/dist/{unmark-as-template-BGDwuCnv.cjs → unmark-as-template-BKA-sNZr.cjs} +1 -1
  125. package/dist/{unmark-as-template-CPJvQk7L.js → unmark-as-template-CbgifSbI.js} +2 -2
  126. package/dist/{unpublish-page-BMowW5wT.cjs → unpublish-page-BqzvOD76.cjs} +1 -1
  127. package/dist/{unpublish-page-DlFHLlmI.js → unpublish-page-DXQpAkvc.js} +2 -2
  128. package/dist/utils.d.ts +5 -5
  129. package/dist/web-blocks.cjs +1 -1
  130. package/dist/web-blocks.js +237 -237
  131. package/dist/{web-preview-BUnv3jIc.js → web-preview-DH7Yv-jg.js} +1 -1
  132. package/dist/{web-preview-D8GQHCjs.cjs → web-preview-DShy13AM.cjs} +1 -1
  133. package/package.json +6 -1
  134. package/dist/apply-binding-IsUf6UWJ.cjs +0 -1
  135. package/dist/core-Dr7QYemB.js +0 -56
  136. package/dist/core-Y0lXLwkq.cjs +0 -1
  137. package/dist/index-BRJCj7c_.cjs +0 -5
  138. package/dist/index-Bm8iS2OH.cjs +0 -160
  139. package/dist/manage-design-tokens-XWs_B6jo.cjs +0 -1
@@ -1,8 +1,8 @@
1
- "use strict";var ou=Object.defineProperty;var su=(e,t,r)=>t in e?ou(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var Ee=(e,t,r)=>su(e,typeof t!="symbol"?t+"":t,r);const ut=require("./register-partial-type-ig9fUWIJ.cjs"),j=require("lodash-es"),iu=require("./_commonjsHelpers-DwGv2jUC.cjs"),lu=require("fs"),uu=require("path"),cu=require("os"),ss=require("crypto"),du=require("drizzle-orm/postgres-js"),pu=require("postgres"),f=require("drizzle-orm/pg-core"),m=require("drizzle-orm"),fu=require("./models-5gOsRC56.cjs"),_=require("zod"),gu=require("./core-Y0lXLwkq.cjs"),mu=require("node:crypto");var is="vercel.ai.error",hu=Symbol.for(is),Ta,ba,H=class ls extends(ba=Error,Ta=hu,ba){constructor({name:t,message:r,cause:n}){super(r),this[Ta]=!0,this.name=t,this.cause=n}static isInstance(t){return ls.hasMarker(t,is)}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}},us="AI_APICallError",cs=`vercel.ai.error.${us}`,yu=Symbol.for(cs),Ea,Ia,$e=class extends(Ia=H,Ea=yu,Ia){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:us,message:e,cause:s}),this[Ea]=!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,cs)}},ds="AI_EmptyResponseBodyError",ps=`vercel.ai.error.${ds}`,vu=Symbol.for(ps),Sa,Aa,_u=class extends(Aa=H,Sa=vu,Aa){constructor({message:e="Empty response body"}={}){super({name:ds,message:e}),this[Sa]=!0}static isInstance(e){return H.hasMarker(e,ps)}};function Wt(e){return e==null?"unknown error":typeof e=="string"?e:e instanceof Error?e.message:JSON.stringify(e)}var fs="AI_InvalidArgumentError",gs=`vercel.ai.error.${fs}`,wu=Symbol.for(gs),Na,Oa,Tu=class extends(Oa=H,Na=wu,Oa){constructor({message:t,cause:r,argument:n}){super({name:fs,message:t,cause:r}),this[Na]=!0,this.argument=n}static isInstance(t){return H.hasMarker(t,gs)}},ms="AI_InvalidPromptError",hs=`vercel.ai.error.${ms}`,bu=Symbol.for(hs),Ra,xa,qt=class extends(xa=H,Ra=bu,xa){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,hs)}},ys="AI_JSONParseError",vs=`vercel.ai.error.${ys}`,Eu=Symbol.for(vs),ka,Pa,Zr=class extends(Pa=H,ka=Eu,Pa){constructor({text:e,cause:t}){super({name:ys,message:`JSON parsing failed: Text: ${e}.
2
- Error message: ${Wt(t)}`,cause:t}),this[ka]=!0,this.text=e}static isInstance(e){return H.hasMarker(e,vs)}},_s="AI_TypeValidationError",ws=`vercel.ai.error.${_s}`,Iu=Symbol.for(ws),Ca,za,Rt=class $n extends(za=H,Ca=Iu,za){constructor({value:t,cause:r}){super({name:_s,message:`Type validation failed: Value: ${JSON.stringify(t)}.
3
- Error message: ${Wt(r)}`,cause:r}),this[Ca]=!0,this.value=t}static isInstance(t){return H.hasMarker(t,ws)}static wrap({value:t,cause:r}){return $n.isInstance(r)&&r.value===t?r:new $n({value:t,cause:r})}};function T(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 p=0;p<c.length;p++){const d=c[p];d in i||(i[d]=u[d].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 Bt extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class Ts extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}}const bs={};function vt(e){return bs}function Es(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 Mn(e,t){return typeof t=="bigint"?t.toString():t}function ln(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function Yn(e){return e==null}function Wn(e){const t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function Su(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 Da=Symbol("evaluating");function Y(e,t,r){let n;Object.defineProperty(e,t,{get(){if(n!==Da)return n===void 0&&(n=Da,n=r()),n},set(a){Object.defineProperty(e,t,{value:a})},configurable:!0})}function Pt(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 $a(e){return JSON.stringify(e)}function Au(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const Is="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function gr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const Nu=ln(()=>{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 Vt(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 Ss(e){return Vt(e)?{...e}:Array.isArray(e)?[...e]:e}const Ou=new Set(["string","number","symbol"]);function Ht(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Et(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 Ru(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}const xu={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 ku(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 Pt(this,"shape",s),s},checks:[]});return Et(e,o)}function Pu(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 Pt(this,"shape",s),s},checks:[]});return Et(e,o)}function Cu(e,t){if(!Vt(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 Pt(this,"shape",o),o}});return Et(e,a)}function zu(e,t){if(!Vt(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 Pt(this,"shape",n),n}});return Et(e,r)}function Du(e,t){const r=bt(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t._zod.def.shape};return Pt(this,"shape",n),n},get catchall(){return t._zod.def.catchall},checks:[]});return Et(e,r)}function $u(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 Pt(this,"shape",l),l},checks:[]});return Et(t,s)}function Mu(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 Pt(this,"shape",o),o}});return Et(t,n)}function Zt(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 Gt(e,t){return t.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function Mr(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=Mr((s=(o=(a=e.inst)==null?void 0:a._zod.def)==null?void 0:o.error)==null?void 0:s.call(o,e))??Mr((i=t==null?void 0:t.error)==null?void 0:i.call(t,e))??Mr((l=r.customError)==null?void 0:l.call(r,e))??Mr((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 Kn(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function mr(...e){const[t,r,n]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:n}:{...t}}const As=(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,Mn,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Ns=T("$ZodError",As),Os=T("$ZodError",As,{Parent:Error});function Fu(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 Lu(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 Xn=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 Bt;if(s.issues.length){const i=new((a==null?void 0:a.Err)??e)(s.issues.map(l=>_t(l,o,vt())));throw Is(i,a==null?void 0:a.callee),i}return s.value},Qn=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,vt())));throw Is(i,a==null?void 0:a.callee),i}return s.value},un=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 Bt;return o.issues.length?{success:!1,error:new(e??Ns)(o.issues.map(s=>_t(s,a,vt())))}:{success:!0,data:o.value}},Uu=un(Os),cn=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,vt())))}:{success:!0,data:o.value}},ju=cn(Os),qu=e=>(t,r,n)=>{const a=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return Xn(e)(t,r,a)},Zu=e=>(t,r,n)=>Xn(e)(t,r,n),Gu=e=>async(t,r,n)=>{const a=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return Qn(e)(t,r,a)},Bu=e=>async(t,r,n)=>Qn(e)(t,r,n),Vu=e=>(t,r,n)=>{const a=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return un(e)(t,r,a)},Hu=e=>(t,r,n)=>un(e)(t,r,n),Ju=e=>async(t,r,n)=>{const a=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return cn(e)(t,r,a)},Yu=e=>async(t,r,n)=>cn(e)(t,r,n),Wu=/^[cC][^\s-]{8,}$/,Ku=/^[0-9a-z]+$/,Xu=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Qu=/^[0-9a-vA-V]{20}$/,ec=/^[A-Za-z0-9]{27}$/,tc=/^[a-zA-Z0-9_-]{21}$/,rc=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,nc=/^([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})$/,Ma=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)$/,ac=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,oc="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function sc(){return new RegExp(oc,"u")}const ic=/^(?:(?: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])$/,lc=/^(([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}|:))$/,uc=/^((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])$/,cc=/^(([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])$/,dc=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Rs=/^[A-Za-z0-9_-]*$/,pc=/^\+[1-9]\d{6,14}$/,xs="(?:(?:\\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])))",fc=new RegExp(`^${xs}$`);function ks(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 gc(e){return new RegExp(`^${ks(e)}$`)}function mc(e){const t=ks({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(`^${xs}T(?:${n})$`)}const hc=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}$`)},yc=/^-?\d+$/,Ps=/^-?\d+(?:\.\d+)?$/,vc=/^(?:true|false)$/i,_c=/^null$/i,wc=/^[^A-Z]*$/,Tc=/^[^a-z]*$/,Me=T("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),Cs={number:"number",bigint:"bigint",object:"date"},zs=T("$ZodCheckLessThan",(e,t)=>{Me.init(e,t);const r=Cs[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})}}),Ds=T("$ZodCheckGreaterThan",(e,t)=>{Me.init(e,t);const r=Cs[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})}}),bc=T("$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):Su(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})}}),Ec=T("$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]=xu[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=yc)}),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})}}),Ic=T("$ZodCheckMaxLength",(e,t)=>{var r;Me.init(e,t),(r=e._zod.def).when??(r.when=n=>{const a=n.value;return!Yn(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=Kn(a);n.issues.push({origin:s,code:"too_big",maximum:t.maximum,inclusive:!0,input:a,inst:e,continue:!t.abort})}}),Sc=T("$ZodCheckMinLength",(e,t)=>{var r;Me.init(e,t),(r=e._zod.def).when??(r.when=n=>{const a=n.value;return!Yn(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=Kn(a);n.issues.push({origin:s,code:"too_small",minimum:t.minimum,inclusive:!0,input:a,inst:e,continue:!t.abort})}}),Ac=T("$ZodCheckLengthEquals",(e,t)=>{var r;Me.init(e,t),(r=e._zod.def).when??(r.when=n=>{const a=n.value;return!Yn(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=Kn(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})}}),dn=T("$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=()=>{})}),Nc=T("$ZodCheckRegex",(e,t)=>{dn.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})}}),Oc=T("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=wc),dn.init(e,t)}),Rc=T("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Tc),dn.init(e,t)}),xc=T("$ZodCheckIncludes",(e,t)=>{Me.init(e,t);const r=Ht(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})}}),kc=T("$ZodCheckStartsWith",(e,t)=>{Me.init(e,t);const r=new RegExp(`^${Ht(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})}}),Pc=T("$ZodCheckEndsWith",(e,t)=>{Me.init(e,t);const r=new RegExp(`.*${Ht(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})}}),Cc=T("$ZodCheckOverwrite",(e,t)=>{Me.init(e,t),e._zod.check=r=>{r.value=t.tx(r.value)}});class zc{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(`
1
+ "use strict";var ou=Object.defineProperty;var su=(e,t,r)=>t in e?ou(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var Ee=(e,t,r)=>su(e,typeof t!="symbol"?t+"":t,r);const ut=require("./register-partial-type-ig9fUWIJ.cjs"),q=require("lodash-es"),iu=require("./_commonjsHelpers-DwGv2jUC.cjs"),lu=require("fs"),uu=require("path"),cu=require("os"),ss=require("crypto"),du=require("drizzle-orm/postgres-js"),pu=require("postgres"),f=require("drizzle-orm/pg-core"),m=require("drizzle-orm"),fu=require("./models-5gOsRC56.cjs"),_=require("zod"),gu=require("./core-8lkXy4lC.cjs"),mu=require("node:crypto");var is="vercel.ai.error",hu=Symbol.for(is),Ta,ba,H=class ls extends(ba=Error,Ta=hu,ba){constructor({name:t,message:r,cause:n}){super(r),this[Ta]=!0,this.name=t,this.cause=n}static isInstance(t){return ls.hasMarker(t,is)}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}},us="AI_APICallError",cs=`vercel.ai.error.${us}`,yu=Symbol.for(cs),Ea,Ia,De=class extends(Ia=H,Ea=yu,Ia){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:us,message:e,cause:s}),this[Ea]=!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,cs)}},ds="AI_EmptyResponseBodyError",ps=`vercel.ai.error.${ds}`,vu=Symbol.for(ps),Sa,Aa,_u=class extends(Aa=H,Sa=vu,Aa){constructor({message:e="Empty response body"}={}){super({name:ds,message:e}),this[Sa]=!0}static isInstance(e){return H.hasMarker(e,ps)}};function Wt(e){return e==null?"unknown error":typeof e=="string"?e:e instanceof Error?e.message:JSON.stringify(e)}var fs="AI_InvalidArgumentError",gs=`vercel.ai.error.${fs}`,wu=Symbol.for(gs),Na,Oa,Tu=class extends(Oa=H,Na=wu,Oa){constructor({message:t,cause:r,argument:n}){super({name:fs,message:t,cause:r}),this[Na]=!0,this.argument=n}static isInstance(t){return H.hasMarker(t,gs)}},ms="AI_InvalidPromptError",hs=`vercel.ai.error.${ms}`,bu=Symbol.for(hs),Ra,xa,qt=class extends(xa=H,Ra=bu,xa){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,hs)}},ys="AI_JSONParseError",vs=`vercel.ai.error.${ys}`,Eu=Symbol.for(vs),ka,Pa,Zr=class extends(Pa=H,ka=Eu,Pa){constructor({text:e,cause:t}){super({name:ys,message:`JSON parsing failed: Text: ${e}.
2
+ Error message: ${Wt(t)}`,cause:t}),this[ka]=!0,this.text=e}static isInstance(e){return H.hasMarker(e,vs)}},_s="AI_TypeValidationError",ws=`vercel.ai.error.${_s}`,Iu=Symbol.for(ws),Ca,za,Rt=class Dn extends(za=H,Ca=Iu,za){constructor({value:t,cause:r}){super({name:_s,message:`Type validation failed: Value: ${JSON.stringify(t)}.
3
+ Error message: ${Wt(r)}`,cause:r}),this[Ca]=!0,this.value=t}static isInstance(t){return H.hasMarker(t,ws)}static wrap({value:t,cause:r}){return Dn.isInstance(r)&&r.value===t?r:new Dn({value:t,cause:r})}};function T(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 p=0;p<c.length;p++){const d=c[p];d in i||(i[d]=u[d].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 Bt extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class Ts extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}}const bs={};function vt(e){return bs}function Es(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 Mn(e,t){return typeof t=="bigint"?t.toString():t}function ln(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function Yn(e){return e==null}function Wn(e){const t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function Su(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 Pt(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 Da(e){return JSON.stringify(e)}function Au(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const Is="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function gr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const Nu=ln(()=>{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 Vt(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 Ss(e){return Vt(e)?{...e}:Array.isArray(e)?[...e]:e}const Ou=new Set(["string","number","symbol"]);function Ht(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Et(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 Ru(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}const xu={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 ku(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 Pt(this,"shape",s),s},checks:[]});return Et(e,o)}function Pu(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 Pt(this,"shape",s),s},checks:[]});return Et(e,o)}function Cu(e,t){if(!Vt(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 Pt(this,"shape",o),o}});return Et(e,a)}function zu(e,t){if(!Vt(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 Pt(this,"shape",n),n}});return Et(e,r)}function $u(e,t){const r=bt(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t._zod.def.shape};return Pt(this,"shape",n),n},get catchall(){return t._zod.def.catchall},checks:[]});return Et(e,r)}function Du(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 Pt(this,"shape",l),l},checks:[]});return Et(t,s)}function Mu(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 Pt(this,"shape",o),o}});return Et(t,n)}function Zt(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 Gt(e,t){return t.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function Mr(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=Mr((s=(o=(a=e.inst)==null?void 0:a._zod.def)==null?void 0:o.error)==null?void 0:s.call(o,e))??Mr((i=t==null?void 0:t.error)==null?void 0:i.call(t,e))??Mr((l=r.customError)==null?void 0:l.call(r,e))??Mr((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 Kn(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function mr(...e){const[t,r,n]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:n}:{...t}}const As=(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,Mn,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Ns=T("$ZodError",As),Os=T("$ZodError",As,{Parent:Error});function Fu(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 Lu(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 Xn=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 Bt;if(s.issues.length){const i=new((a==null?void 0:a.Err)??e)(s.issues.map(l=>_t(l,o,vt())));throw Is(i,a==null?void 0:a.callee),i}return s.value},Qn=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,vt())));throw Is(i,a==null?void 0:a.callee),i}return s.value},un=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 Bt;return o.issues.length?{success:!1,error:new(e??Ns)(o.issues.map(s=>_t(s,a,vt())))}:{success:!0,data:o.value}},Uu=un(Os),cn=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,vt())))}:{success:!0,data:o.value}},ju=cn(Os),qu=e=>(t,r,n)=>{const a=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return Xn(e)(t,r,a)},Zu=e=>(t,r,n)=>Xn(e)(t,r,n),Gu=e=>async(t,r,n)=>{const a=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return Qn(e)(t,r,a)},Bu=e=>async(t,r,n)=>Qn(e)(t,r,n),Vu=e=>(t,r,n)=>{const a=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return un(e)(t,r,a)},Hu=e=>(t,r,n)=>un(e)(t,r,n),Ju=e=>async(t,r,n)=>{const a=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return cn(e)(t,r,a)},Yu=e=>async(t,r,n)=>cn(e)(t,r,n),Wu=/^[cC][^\s-]{8,}$/,Ku=/^[0-9a-z]+$/,Xu=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Qu=/^[0-9a-vA-V]{20}$/,ec=/^[A-Za-z0-9]{27}$/,tc=/^[a-zA-Z0-9_-]{21}$/,rc=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,nc=/^([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})$/,Ma=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)$/,ac=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,oc="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function sc(){return new RegExp(oc,"u")}const ic=/^(?:(?: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])$/,lc=/^(([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}|:))$/,uc=/^((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])$/,cc=/^(([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])$/,dc=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Rs=/^[A-Za-z0-9_-]*$/,pc=/^\+[1-9]\d{6,14}$/,xs="(?:(?:\\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])))",fc=new RegExp(`^${xs}$`);function ks(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 gc(e){return new RegExp(`^${ks(e)}$`)}function mc(e){const t=ks({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(`^${xs}T(?:${n})$`)}const hc=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}$`)},yc=/^-?\d+$/,Ps=/^-?\d+(?:\.\d+)?$/,vc=/^(?:true|false)$/i,_c=/^null$/i,wc=/^[^A-Z]*$/,Tc=/^[^a-z]*$/,Me=T("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),Cs={number:"number",bigint:"bigint",object:"date"},zs=T("$ZodCheckLessThan",(e,t)=>{Me.init(e,t);const r=Cs[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=T("$ZodCheckGreaterThan",(e,t)=>{Me.init(e,t);const r=Cs[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})}}),bc=T("$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):Su(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})}}),Ec=T("$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]=xu[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=yc)}),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})}}),Ic=T("$ZodCheckMaxLength",(e,t)=>{var r;Me.init(e,t),(r=e._zod.def).when??(r.when=n=>{const a=n.value;return!Yn(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=Kn(a);n.issues.push({origin:s,code:"too_big",maximum:t.maximum,inclusive:!0,input:a,inst:e,continue:!t.abort})}}),Sc=T("$ZodCheckMinLength",(e,t)=>{var r;Me.init(e,t),(r=e._zod.def).when??(r.when=n=>{const a=n.value;return!Yn(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=Kn(a);n.issues.push({origin:s,code:"too_small",minimum:t.minimum,inclusive:!0,input:a,inst:e,continue:!t.abort})}}),Ac=T("$ZodCheckLengthEquals",(e,t)=>{var r;Me.init(e,t),(r=e._zod.def).when??(r.when=n=>{const a=n.value;return!Yn(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=Kn(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})}}),dn=T("$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=()=>{})}),Nc=T("$ZodCheckRegex",(e,t)=>{dn.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})}}),Oc=T("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=wc),dn.init(e,t)}),Rc=T("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Tc),dn.init(e,t)}),xc=T("$ZodCheckIncludes",(e,t)=>{Me.init(e,t);const r=Ht(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})}}),kc=T("$ZodCheckStartsWith",(e,t)=>{Me.init(e,t);const r=new RegExp(`^${Ht(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})}}),Pc=T("$ZodCheckEndsWith",(e,t)=>{Me.init(e,t);const r=new RegExp(`.*${Ht(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})}}),Cc=T("$ZodCheckOverwrite",(e,t)=>{Me.init(e,t),e._zod.check=r=>{r.value=t.tx(r.value)}});class zc{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
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 Dc={major:4,minor:3,patch:5},ce=T("$ZodType",(e,t)=>{var a;var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Dc;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=Zt(i),p;for(const d of l){if(d._zod.def.when){if(!d._zod.def.when(i))continue}else if(c)continue;const v=i.issues.length,E=d._zod.check(i);if(E instanceof Promise&&(u==null?void 0:u.async)===!1)throw new Bt;if(p||E instanceof Promise)p=(p??Promise.resolve()).then(async()=>{await E,i.issues.length!==v&&(c||(c=Zt(i,v)))});else{if(i.issues.length===v)continue;c||(c=Zt(i,v))}}return p?p.then(()=>i):i},s=(i,l,u)=>{if(Zt(i))return i.aborted=!0,i;const c=o(l,n,u);if(c instanceof Promise){if(u.async===!1)throw new Bt;return c.then(p=>e._zod.parse(p,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(p=>s(p,i,l)):s(c,i,l)}const u=e._zod.parse(i,l);if(u instanceof Promise){if(l.async===!1)throw new Bt;return u.then(c=>o(c,n,l))}return o(u,n,l)}}Y(e,"~standard",()=>({validate:o=>{var s;try{const i=Uu(e,o);return i.success?{value:i.data}:{issues:(s=i.error)==null?void 0:s.issues}}catch{return ju(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}))}),ea=T("$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()??hc(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=T("$ZodStringFormat",(e,t)=>{dn.init(e,t),ea.init(e,t)}),$c=T("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=nc),me.init(e,t)}),Mc=T("$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=Ma(n))}else t.pattern??(t.pattern=Ma());me.init(e,t)}),Fc=T("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=ac),me.init(e,t)}),Lc=T("$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})}}}),Uc=T("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=sc()),me.init(e,t)}),jc=T("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=tc),me.init(e,t)}),qc=T("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=Wu),me.init(e,t)}),Zc=T("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=Ku),me.init(e,t)}),Gc=T("$ZodULID",(e,t)=>{t.pattern??(t.pattern=Xu),me.init(e,t)}),Bc=T("$ZodXID",(e,t)=>{t.pattern??(t.pattern=Qu),me.init(e,t)}),Vc=T("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=ec),me.init(e,t)}),Hc=T("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=mc(t)),me.init(e,t)}),Jc=T("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=fc),me.init(e,t)}),Yc=T("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=gc(t)),me.init(e,t)}),Wc=T("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=rc),me.init(e,t)}),Kc=T("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=ic),me.init(e,t),e._zod.bag.format="ipv4"}),Xc=T("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=lc),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})}}}),Qc=T("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=uc),me.init(e,t)}),ed=T("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=cc),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 $s(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const td=T("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=dc),me.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=r=>{$s(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}});function rd(e){if(!Rs.test(e))return!1;const t=e.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=t.padEnd(Math.ceil(t.length/4)*4,"=");return $s(r)}const nd=T("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Rs),me.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=r=>{rd(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),ad=T("$ZodE164",(e,t)=>{t.pattern??(t.pattern=pc),me.init(e,t)});function od(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 sd=T("$ZodJWT",(e,t)=>{me.init(e,t),e._zod.check=r=>{od(r.value,t.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}}),Ms=T("$ZodNumber",(e,t)=>{ce.init(e,t),e._zod.pattern=e._zod.bag.pattern??Ps,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}}),id=T("$ZodNumberFormat",(e,t)=>{Ec.init(e,t),Ms.init(e,t)}),ld=T("$ZodBoolean",(e,t)=>{ce.init(e,t),e._zod.pattern=vc,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}}),ud=T("$ZodNull",(e,t)=>{ce.init(e,t),e._zod.pattern=_c,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}}),cd=T("$ZodAny",(e,t)=>{ce.init(e,t),e._zod.parse=r=>r}),dd=T("$ZodUnknown",(e,t)=>{ce.init(e,t),e._zod.parse=r=>r}),pd=T("$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 Fa(e,t,r){e.issues.length&&t.issues.push(...Gt(r,e.issues)),t.value[r]=e.value}const fd=T("$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=>Fa(u,r,s))):Fa(l,r,s)}return o.length?Promise.all(o).then(()=>r):r}});function Gr(e,t,r,n,a){if(e.issues.length){if(a&&!(r in n))return;t.issues.push(...Gt(r,e.issues))}e.value===void 0?r in n&&(t.value[r]=void 0):t.value[r]=e.value}function Fs(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=Ru(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(r)}}function Ls(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 p in t){if(i.has(p))continue;if(u==="never"){s.push(p);continue}const d=l.run({value:t[p],issues:[]},n);d instanceof Promise?e.push(d.then(v=>Gr(v,r,p,t,c))):Gr(d,r,p,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 gd=T("$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=ln(()=>Fs(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 p of c.values)l[u].add(p)}}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=[],p=s.shape;for(const d of s.keys){const v=p[d],E=v._zod.optout==="optional",w=v._zod.run({value:u[d],issues:[]},l);w instanceof Promise?c.push(w.then(I=>Gr(I,i,d,u,E))):Gr(w,i,d,u,E)}return o?Ls(c,u,i,l,n.value,e):c.length?Promise.all(c).then(()=>i):i}}),md=T("$ZodObjectJIT",(e,t)=>{gd.init(e,t);const r=e._zod.parse,n=ln(()=>Fs(t)),a=d=>{var h;const v=new zc(["shape","payload","ctx"]),E=n.value,w=D=>{const R=$a(D);return`shape[${R}]._zod.run({ value: input[${R}], issues: [] }, ctx)`};v.write("const input = payload.value;");const I=Object.create(null);let P=0;for(const D of E.keys)I[D]=`key_${P++}`;v.write("const newResult = {};");for(const D of E.keys){const R=I[D],y=$a(D),O=d[D],z=((h=O==null?void 0:O._zod)==null?void 0:h.optout)==="optional";v.write(`const ${R} = ${w(D)};`),z?v.write(`
5
+ `))}}const $c={major:4,minor:3,patch:5},ce=T("$ZodType",(e,t)=>{var a;var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=$c;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=Zt(i),p;for(const d of l){if(d._zod.def.when){if(!d._zod.def.when(i))continue}else if(c)continue;const v=i.issues.length,E=d._zod.check(i);if(E instanceof Promise&&(u==null?void 0:u.async)===!1)throw new Bt;if(p||E instanceof Promise)p=(p??Promise.resolve()).then(async()=>{await E,i.issues.length!==v&&(c||(c=Zt(i,v)))});else{if(i.issues.length===v)continue;c||(c=Zt(i,v))}}return p?p.then(()=>i):i},s=(i,l,u)=>{if(Zt(i))return i.aborted=!0,i;const c=o(l,n,u);if(c instanceof Promise){if(u.async===!1)throw new Bt;return c.then(p=>e._zod.parse(p,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(p=>s(p,i,l)):s(c,i,l)}const u=e._zod.parse(i,l);if(u instanceof Promise){if(l.async===!1)throw new Bt;return u.then(c=>o(c,n,l))}return o(u,n,l)}}Y(e,"~standard",()=>({validate:o=>{var s;try{const i=Uu(e,o);return i.success?{value:i.data}:{issues:(s=i.error)==null?void 0:s.issues}}catch{return ju(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}))}),ea=T("$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()??hc(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=T("$ZodStringFormat",(e,t)=>{dn.init(e,t),ea.init(e,t)}),Dc=T("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=nc),me.init(e,t)}),Mc=T("$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=Ma(n))}else t.pattern??(t.pattern=Ma());me.init(e,t)}),Fc=T("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=ac),me.init(e,t)}),Lc=T("$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})}}}),Uc=T("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=sc()),me.init(e,t)}),jc=T("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=tc),me.init(e,t)}),qc=T("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=Wu),me.init(e,t)}),Zc=T("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=Ku),me.init(e,t)}),Gc=T("$ZodULID",(e,t)=>{t.pattern??(t.pattern=Xu),me.init(e,t)}),Bc=T("$ZodXID",(e,t)=>{t.pattern??(t.pattern=Qu),me.init(e,t)}),Vc=T("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=ec),me.init(e,t)}),Hc=T("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=mc(t)),me.init(e,t)}),Jc=T("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=fc),me.init(e,t)}),Yc=T("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=gc(t)),me.init(e,t)}),Wc=T("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=rc),me.init(e,t)}),Kc=T("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=ic),me.init(e,t),e._zod.bag.format="ipv4"}),Xc=T("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=lc),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})}}}),Qc=T("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=uc),me.init(e,t)}),ed=T("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=cc),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 Ds(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const td=T("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=dc),me.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=r=>{Ds(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}});function rd(e){if(!Rs.test(e))return!1;const t=e.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=t.padEnd(Math.ceil(t.length/4)*4,"=");return Ds(r)}const nd=T("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Rs),me.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=r=>{rd(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),ad=T("$ZodE164",(e,t)=>{t.pattern??(t.pattern=pc),me.init(e,t)});function od(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 sd=T("$ZodJWT",(e,t)=>{me.init(e,t),e._zod.check=r=>{od(r.value,t.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}}),Ms=T("$ZodNumber",(e,t)=>{ce.init(e,t),e._zod.pattern=e._zod.bag.pattern??Ps,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}}),id=T("$ZodNumberFormat",(e,t)=>{Ec.init(e,t),Ms.init(e,t)}),ld=T("$ZodBoolean",(e,t)=>{ce.init(e,t),e._zod.pattern=vc,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}}),ud=T("$ZodNull",(e,t)=>{ce.init(e,t),e._zod.pattern=_c,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}}),cd=T("$ZodAny",(e,t)=>{ce.init(e,t),e._zod.parse=r=>r}),dd=T("$ZodUnknown",(e,t)=>{ce.init(e,t),e._zod.parse=r=>r}),pd=T("$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 Fa(e,t,r){e.issues.length&&t.issues.push(...Gt(r,e.issues)),t.value[r]=e.value}const fd=T("$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=>Fa(u,r,s))):Fa(l,r,s)}return o.length?Promise.all(o).then(()=>r):r}});function Gr(e,t,r,n,a){if(e.issues.length){if(a&&!(r in n))return;t.issues.push(...Gt(r,e.issues))}e.value===void 0?r in n&&(t.value[r]=void 0):t.value[r]=e.value}function Fs(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=Ru(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(r)}}function Ls(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 p in t){if(i.has(p))continue;if(u==="never"){s.push(p);continue}const d=l.run({value:t[p],issues:[]},n);d instanceof Promise?e.push(d.then(v=>Gr(v,r,p,t,c))):Gr(d,r,p,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 gd=T("$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=ln(()=>Fs(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 p of c.values)l[u].add(p)}}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=[],p=s.shape;for(const d of s.keys){const v=p[d],E=v._zod.optout==="optional",w=v._zod.run({value:u[d],issues:[]},l);w instanceof Promise?c.push(w.then(I=>Gr(I,i,d,u,E))):Gr(w,i,d,u,E)}return o?Ls(c,u,i,l,n.value,e):c.length?Promise.all(c).then(()=>i):i}}),md=T("$ZodObjectJIT",(e,t)=>{gd.init(e,t);const r=e._zod.parse,n=ln(()=>Fs(t)),a=d=>{var h;const v=new zc(["shape","payload","ctx"]),E=n.value,w=$=>{const R=Da($);return`shape[${R}]._zod.run({ value: input[${R}], issues: [] }, ctx)`};v.write("const input = payload.value;");const I=Object.create(null);let P=0;for(const $ of E.keys)I[$]=`key_${P++}`;v.write("const newResult = {};");for(const $ of E.keys){const R=I[$],y=Da($),O=d[$],z=((h=O==null?void 0:O._zod)==null?void 0:h.optout)==="optional";v.write(`const ${R} = ${w($)};`),z?v.write(`
6
6
  if (${R}.issues.length) {
7
7
  if (${y} in input) {
8
8
  payload.issues = payload.issues.concat(${R}.issues.map(iss => ({
@@ -36,17 +36,17 @@ Error message: ${Wt(r)}`,cause:r}),this[Ca]=!0,this.value=t}static isInstance(t)
36
36
  newResult[${y}] = ${R}.value;
37
37
  }
38
38
 
39
- `)}v.write("payload.value = newResult;"),v.write("return payload;");const C=v.compile();return(D,R)=>C(d,D,R)};let o;const s=gr,i=!bs.jitless,u=i&&Nu.value,c=t.catchall;let p;e._zod.parse=(d,v)=>{p??(p=n.value);const E=d.value;return s(E)?i&&u&&(v==null?void 0:v.async)===!1&&v.jitless!==!0?(o||(o=a(t.shape)),d=o(d,v),c?Ls([],E,d,v,p,e):d):r(d,v):(d.issues.push({expected:"object",code:"invalid_type",input:E,inst:e}),d)}});function La(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=>!Zt(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,vt())))}),t)}const Us=T("$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=>Wn(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=>La(l,a,e,o)):La(i,a,e,o)}}),hd=T("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,Us.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=ln(()=>{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)}}),yd=T("$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])=>Ua(r,l,u)):Ua(r,o,s)}});function Fn(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(Vt(e)&&Vt(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=Fn(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=Fn(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 Ua(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}),Zt(e))return e;const s=Fn(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 vd=T("$ZodRecord",(e,t)=>{ce.init(e,t),e._zod.parse=(r,n)=>{const a=r.value;if(!Vt(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(p=>{p.issues.length&&r.issues.push(...Gt(u,p.issues)),r.value[u]=p.value})):(c.issues.length&&r.issues.push(...Gt(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"&&Ps.test(i)&&l.issues.length&&l.issues.some(p=>p.code==="invalid_type"&&p.expected==="number")){const p=t.keyType._zod.run({value:Number(i),issues:[]},n);if(p instanceof Promise)throw new Error("Async schemas not supported in object keys currently");p.issues.length===0&&(l=p)}if(l.issues.length){t.mode==="loose"?r.value[i]=a[i]:r.issues.push({code:"invalid_key",origin:"record",issues:l.issues.map(p=>_t(p,n,vt())),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(p=>{p.issues.length&&r.issues.push(...Gt(i,p.issues)),r.value[l.value]=p.value})):(c.issues.length&&r.issues.push(...Gt(i,c.issues)),r.value[l.value]=c.value)}}return o.length?Promise.all(o).then(()=>r):r}}),_d=T("$ZodEnum",(e,t)=>{ce.init(e,t);const r=Es(t.entries),n=new Set(r);e._zod.values=n,e._zod.pattern=new RegExp(`^(${r.filter(a=>Ou.has(typeof a)).map(a=>typeof a=="string"?Ht(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}}),wd=T("$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"?Ht(n):n?Ht(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}}),Td=T("$ZodTransform",(e,t)=>{ce.init(e,t),e._zod.parse=(r,n)=>{if(n.direction==="backward")throw new Ts(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 Bt;return r.value=a,r}});function ja(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}const js=T("$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(`^(${Wn(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=>ja(o,r.value)):ja(a,r.value)}return r.value===void 0?r:t.innerType._zod.run(r,n)}}),bd=T("$ZodExactOptional",(e,t)=>{js.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)}),Ed=T("$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(`^(${Wn(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)}),Id=T("$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=>qa(o,t)):qa(a,t)}});function qa(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const Sd=T("$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))}),Ad=T("$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=>Za(o,e)):Za(a,e)}});function Za(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 Nd=T("$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,vt()))},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,vt()))},input:r.value}),r.issues=[]),r)}}),Od=T("$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=>Fr(s,t.in,n)):Fr(o,t.in,n)}const a=t.in._zod.run(r,n);return a instanceof Promise?a.then(o=>Fr(o,t.out,n)):Fr(a,t.out,n)}});function Fr(e,t,r){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},r)}const Rd=T("$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(Ga):Ga(a)}});function Ga(e){return e.value=Object.freeze(e.value),e}const xd=T("$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)}),kd=T("$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=>Ba(o,r,n,e));Ba(a,r,n,e)}});function Ba(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(mr(a))}}var Va;class Pd{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 Cd(){return new Pd}(Va=globalThis).__zod_globalRegistry??(Va.__zod_globalRegistry=Cd());const ur=globalThis.__zod_globalRegistry;function zd(e,t){return new e({type:"string",...k(t)})}function Dd(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...k(t)})}function Ha(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...k(t)})}function $d(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...k(t)})}function Md(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...k(t)})}function Fd(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...k(t)})}function Ld(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...k(t)})}function Ud(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...k(t)})}function jd(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...k(t)})}function qd(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...k(t)})}function Zd(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...k(t)})}function Gd(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...k(t)})}function Bd(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...k(t)})}function Vd(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...k(t)})}function Hd(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...k(t)})}function Jd(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...k(t)})}function Yd(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...k(t)})}function Wd(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...k(t)})}function Kd(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...k(t)})}function Xd(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...k(t)})}function Qd(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...k(t)})}function ep(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...k(t)})}function tp(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...k(t)})}function rp(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...k(t)})}function np(e,t){return new e({type:"string",format:"date",check:"string_format",...k(t)})}function ap(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...k(t)})}function op(e,t){return new e({type:"string",format:"duration",check:"string_format",...k(t)})}function sp(e,t){return new e({type:"number",checks:[],...k(t)})}function ip(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...k(t)})}function lp(e,t){return new e({type:"boolean",...k(t)})}function up(e,t){return new e({type:"null",...k(t)})}function cp(e){return new e({type:"any"})}function dp(e){return new e({type:"unknown"})}function pp(e,t){return new e({type:"never",...k(t)})}function Ja(e,t){return new zs({check:"less_than",...k(t),value:e,inclusive:!1})}function Tn(e,t){return new zs({check:"less_than",...k(t),value:e,inclusive:!0})}function Ya(e,t){return new Ds({check:"greater_than",...k(t),value:e,inclusive:!1})}function bn(e,t){return new Ds({check:"greater_than",...k(t),value:e,inclusive:!0})}function Wa(e,t){return new bc({check:"multiple_of",...k(t),value:e})}function qs(e,t){return new Ic({check:"max_length",...k(t),maximum:e})}function Br(e,t){return new Sc({check:"min_length",...k(t),minimum:e})}function Zs(e,t){return new Ac({check:"length_equals",...k(t),length:e})}function fp(e,t){return new Nc({check:"string_format",format:"regex",...k(t),pattern:e})}function gp(e){return new Oc({check:"string_format",format:"lowercase",...k(e)})}function mp(e){return new Rc({check:"string_format",format:"uppercase",...k(e)})}function hp(e,t){return new xc({check:"string_format",format:"includes",...k(t),includes:e})}function yp(e,t){return new kc({check:"string_format",format:"starts_with",...k(t),prefix:e})}function vp(e,t){return new Pc({check:"string_format",format:"ends_with",...k(t),suffix:e})}function Kt(e){return new Cc({check:"overwrite",tx:e})}function _p(e){return Kt(t=>t.normalize(e))}function wp(){return Kt(e=>e.trim())}function Tp(){return Kt(e=>e.toLowerCase())}function bp(){return Kt(e=>e.toUpperCase())}function Ep(){return Kt(e=>Au(e))}function Ip(e,t,r){return new e({type:"array",element:t,...k(r)})}function Sp(e,t,r){const n=k(r);return n.abort??(n.abort=!0),new e({type:"custom",check:"custom",fn:t,...n})}function Ap(e,t,r){return new e({type:"custom",check:"custom",fn:t,...k(r)})}function Np(e){const t=Op(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(mr(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(mr(a))}},e(r.value,r)));return t}function Op(e,t){const r=new Me({check:"custom",...k(t)});return r._zod.check=e,r}function Vr(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)??ur,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,p;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=(p=(c=e._zod).toJSONSchema)==null?void 0:p.call(c);if(i)s.schema=i;else{const d={...r,schemaPath:[...r.schemaPath,e],path:r.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,s.schema,d);else{const E=s.schema,w=t.processors[a.type];if(!w)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${a.type}`);w(e,t,E,d)}const v=e._zod.parent;v&&(s.ref||(s.ref=v),ue(v,t,d),t.seen.get(v).isParent=!0)}const l=t.metadataRegistry.get(e);return l&&Object.assign(s.schema,l),t.io==="input"&&De(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 Hr(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 p=(s=e.metadataRegistry.get(c[0]))==null?void 0:s.id;if(p){const d=n.get(p);if(d&&d!==c[0])throw new Error(`Duplicate schema id "${p}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);n.set(p,c[0])}}const a=c=>{var w;const p=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){const I=(w=e.external.registry.get(c[0]))==null?void 0:w.id,P=e.external.uri??(h=>h);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")}#/${p}/${C}`}}if(c[1]===r)return{ref:"#"};const v=`#/${p}/`,E=c[1].schema.id??`__schema${e.counter++}`;return{defId:E,ref:v+E}},o=c=>{if(c[1].schema.$ref)return;const p=c[1],{ref:d,defId:v}=a(c);p.def={...p.schema},v&&(p.defId=v);const E=p.schema;for(const w in E)delete E[w];E.$ref=d};if(e.cycles==="throw")for(const c of e.seen.entries()){const p=c[1];if(p.cycle)throw new Error(`Cycle detected: #/${(i=p.cycle)==null?void 0:i.join("/")}/<root>
39
+ `)}v.write("payload.value = newResult;"),v.write("return payload;");const C=v.compile();return($,R)=>C(d,$,R)};let o;const s=gr,i=!bs.jitless,u=i&&Nu.value,c=t.catchall;let p;e._zod.parse=(d,v)=>{p??(p=n.value);const E=d.value;return s(E)?i&&u&&(v==null?void 0:v.async)===!1&&v.jitless!==!0?(o||(o=a(t.shape)),d=o(d,v),c?Ls([],E,d,v,p,e):d):r(d,v):(d.issues.push({expected:"object",code:"invalid_type",input:E,inst:e}),d)}});function La(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=>!Zt(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,vt())))}),t)}const Us=T("$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=>Wn(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=>La(l,a,e,o)):La(i,a,e,o)}}),hd=T("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,Us.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=ln(()=>{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)}}),yd=T("$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])=>Ua(r,l,u)):Ua(r,o,s)}});function Fn(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(Vt(e)&&Vt(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=Fn(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=Fn(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 Ua(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}),Zt(e))return e;const s=Fn(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 vd=T("$ZodRecord",(e,t)=>{ce.init(e,t),e._zod.parse=(r,n)=>{const a=r.value;if(!Vt(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(p=>{p.issues.length&&r.issues.push(...Gt(u,p.issues)),r.value[u]=p.value})):(c.issues.length&&r.issues.push(...Gt(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"&&Ps.test(i)&&l.issues.length&&l.issues.some(p=>p.code==="invalid_type"&&p.expected==="number")){const p=t.keyType._zod.run({value:Number(i),issues:[]},n);if(p instanceof Promise)throw new Error("Async schemas not supported in object keys currently");p.issues.length===0&&(l=p)}if(l.issues.length){t.mode==="loose"?r.value[i]=a[i]:r.issues.push({code:"invalid_key",origin:"record",issues:l.issues.map(p=>_t(p,n,vt())),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(p=>{p.issues.length&&r.issues.push(...Gt(i,p.issues)),r.value[l.value]=p.value})):(c.issues.length&&r.issues.push(...Gt(i,c.issues)),r.value[l.value]=c.value)}}return o.length?Promise.all(o).then(()=>r):r}}),_d=T("$ZodEnum",(e,t)=>{ce.init(e,t);const r=Es(t.entries),n=new Set(r);e._zod.values=n,e._zod.pattern=new RegExp(`^(${r.filter(a=>Ou.has(typeof a)).map(a=>typeof a=="string"?Ht(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}}),wd=T("$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"?Ht(n):n?Ht(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}}),Td=T("$ZodTransform",(e,t)=>{ce.init(e,t),e._zod.parse=(r,n)=>{if(n.direction==="backward")throw new Ts(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 Bt;return r.value=a,r}});function ja(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}const js=T("$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(`^(${Wn(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=>ja(o,r.value)):ja(a,r.value)}return r.value===void 0?r:t.innerType._zod.run(r,n)}}),bd=T("$ZodExactOptional",(e,t)=>{js.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)}),Ed=T("$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(`^(${Wn(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)}),Id=T("$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=>qa(o,t)):qa(a,t)}});function qa(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const Sd=T("$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))}),Ad=T("$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=>Za(o,e)):Za(a,e)}});function Za(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 Nd=T("$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,vt()))},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,vt()))},input:r.value}),r.issues=[]),r)}}),Od=T("$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=>Fr(s,t.in,n)):Fr(o,t.in,n)}const a=t.in._zod.run(r,n);return a instanceof Promise?a.then(o=>Fr(o,t.out,n)):Fr(a,t.out,n)}});function Fr(e,t,r){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},r)}const Rd=T("$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(Ga):Ga(a)}});function Ga(e){return e.value=Object.freeze(e.value),e}const xd=T("$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)}),kd=T("$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=>Ba(o,r,n,e));Ba(a,r,n,e)}});function Ba(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(mr(a))}}var Va;class Pd{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 Cd(){return new Pd}(Va=globalThis).__zod_globalRegistry??(Va.__zod_globalRegistry=Cd());const ur=globalThis.__zod_globalRegistry;function zd(e,t){return new e({type:"string",...k(t)})}function $d(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...k(t)})}function Ha(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...k(t)})}function Dd(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...k(t)})}function Md(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...k(t)})}function Fd(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...k(t)})}function Ld(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...k(t)})}function Ud(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...k(t)})}function jd(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...k(t)})}function qd(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...k(t)})}function Zd(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...k(t)})}function Gd(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...k(t)})}function Bd(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...k(t)})}function Vd(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...k(t)})}function Hd(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...k(t)})}function Jd(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...k(t)})}function Yd(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...k(t)})}function Wd(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...k(t)})}function Kd(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...k(t)})}function Xd(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...k(t)})}function Qd(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...k(t)})}function ep(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...k(t)})}function tp(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...k(t)})}function rp(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...k(t)})}function np(e,t){return new e({type:"string",format:"date",check:"string_format",...k(t)})}function ap(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...k(t)})}function op(e,t){return new e({type:"string",format:"duration",check:"string_format",...k(t)})}function sp(e,t){return new e({type:"number",checks:[],...k(t)})}function ip(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...k(t)})}function lp(e,t){return new e({type:"boolean",...k(t)})}function up(e,t){return new e({type:"null",...k(t)})}function cp(e){return new e({type:"any"})}function dp(e){return new e({type:"unknown"})}function pp(e,t){return new e({type:"never",...k(t)})}function Ja(e,t){return new zs({check:"less_than",...k(t),value:e,inclusive:!1})}function Tn(e,t){return new zs({check:"less_than",...k(t),value:e,inclusive:!0})}function Ya(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 Wa(e,t){return new bc({check:"multiple_of",...k(t),value:e})}function qs(e,t){return new Ic({check:"max_length",...k(t),maximum:e})}function Br(e,t){return new Sc({check:"min_length",...k(t),minimum:e})}function Zs(e,t){return new Ac({check:"length_equals",...k(t),length:e})}function fp(e,t){return new Nc({check:"string_format",format:"regex",...k(t),pattern:e})}function gp(e){return new Oc({check:"string_format",format:"lowercase",...k(e)})}function mp(e){return new Rc({check:"string_format",format:"uppercase",...k(e)})}function hp(e,t){return new xc({check:"string_format",format:"includes",...k(t),includes:e})}function yp(e,t){return new kc({check:"string_format",format:"starts_with",...k(t),prefix:e})}function vp(e,t){return new Pc({check:"string_format",format:"ends_with",...k(t),suffix:e})}function Kt(e){return new Cc({check:"overwrite",tx:e})}function _p(e){return Kt(t=>t.normalize(e))}function wp(){return Kt(e=>e.trim())}function Tp(){return Kt(e=>e.toLowerCase())}function bp(){return Kt(e=>e.toUpperCase())}function Ep(){return Kt(e=>Au(e))}function Ip(e,t,r){return new e({type:"array",element:t,...k(r)})}function Sp(e,t,r){const n=k(r);return n.abort??(n.abort=!0),new e({type:"custom",check:"custom",fn:t,...n})}function Ap(e,t,r){return new e({type:"custom",check:"custom",fn:t,...k(r)})}function Np(e){const t=Op(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(mr(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(mr(a))}},e(r.value,r)));return t}function Op(e,t){const r=new Me({check:"custom",...k(t)});return r._zod.check=e,r}function Vr(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)??ur,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,p;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=(p=(c=e._zod).toJSONSchema)==null?void 0:p.call(c);if(i)s.schema=i;else{const d={...r,schemaPath:[...r.schemaPath,e],path:r.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,s.schema,d);else{const E=s.schema,w=t.processors[a.type];if(!w)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${a.type}`);w(e,t,E,d)}const v=e._zod.parent;v&&(s.ref||(s.ref=v),ue(v,t,d),t.seen.get(v).isParent=!0)}const l=t.metadataRegistry.get(e);return l&&Object.assign(s.schema,l),t.io==="input"&&$e(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 Hr(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 p=(s=e.metadataRegistry.get(c[0]))==null?void 0:s.id;if(p){const d=n.get(p);if(d&&d!==c[0])throw new Error(`Duplicate schema id "${p}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);n.set(p,c[0])}}const a=c=>{var w;const p=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){const I=(w=e.external.registry.get(c[0]))==null?void 0:w.id,P=e.external.uri??(h=>h);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")}#/${p}/${C}`}}if(c[1]===r)return{ref:"#"};const v=`#/${p}/`,E=c[1].schema.id??`__schema${e.counter++}`;return{defId:E,ref:v+E}},o=c=>{if(c[1].schema.$ref)return;const p=c[1],{ref:d,defId:v}=a(c);p.def={...p.schema},v&&(p.defId=v);const E=p.schema;for(const w in E)delete E[w];E.$ref=d};if(e.cycles==="throw")for(const c of e.seen.entries()){const p=c[1];if(p.cycle)throw new Error(`Cycle detected: #/${(i=p.cycle)==null?void 0:i.join("/")}/<root>
40
40
 
41
- Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const c of e.seen.entries()){const p=c[1];if(t===c[0]){o(c);continue}if(e.external){const v=(l=e.external.registry.get(c[0]))==null?void 0:l.id;if(t!==c[0]&&v){o(c);continue}}if((u=e.metadataRegistry.get(c[0]))==null?void 0:u.id){o(c);continue}if(p.cycle){o(c);continue}if(p.count>1&&e.reused==="ref"){o(c);continue}}}function Jr(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 p=c.def??c.schema,d={...p},v=c.ref;if(c.ref=null,v){n(v);const w=e.seen.get(v),I=w.schema;if(I.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(p.allOf=p.allOf??[],p.allOf.push(I)):Object.assign(p,I),Object.assign(p,d),u._zod.parent===v)for(const C in p)C==="$ref"||C==="allOf"||C in d||delete p[C];if(I.$ref)for(const C in p)C==="$ref"||C==="allOf"||C in w.def&&JSON.stringify(p[C])===JSON.stringify(w.def[C])&&delete p[C]}const E=u._zod.parent;if(E&&E!==v){n(E);const w=e.seen.get(E);if(w!=null&&w.schema.$ref&&(p.$ref=w.schema.$ref,w.def))for(const I in p)I==="$ref"||I==="allOf"||I in w.def&&JSON.stringify(p[I])===JSON.stringify(w.def[I])&&delete p[I]}e.override({zodSchema:u,jsonSchema:p,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:Yr(t,"input",e.processors),output:Yr(t,"output",e.processors)}},enumerable:!1,writable:!1}),u}catch{throw new Error("Error converting schema to JSON.")}}function De(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 De(n.element,r);if(n.type==="set")return De(n.valueType,r);if(n.type==="lazy")return De(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 De(n.innerType,r);if(n.type==="intersection")return De(n.left,r)||De(n.right,r);if(n.type==="record"||n.type==="map")return De(n.keyType,r)||De(n.valueType,r);if(n.type==="pipe")return De(n.in,r)||De(n.out,r);if(n.type==="object"){for(const a in n.shape)if(De(n.shape[a],r))return!0;return!1}if(n.type==="union"){for(const a of n.options)if(De(a,r))return!0;return!1}if(n.type==="tuple"){for(const a of n.items)if(De(a,r))return!0;return!!(n.rest&&De(n.rest,r))}return!1}const Rp=(e,t={})=>r=>{const n=Vr({...r,processors:t});return ue(e,n),Hr(n,e),Jr(n,e)},Yr=(e,t,r={})=>n=>{const{libraryOptions:a,target:o}=n??{},s=Vr({...a??{},target:o,io:t,processors:r});return ue(e,s),Hr(s,e),Jr(s,e)},xp={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Gs=(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=xp[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(p=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:p.source}))])}},Bs=(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)},Vs=(e,t,r,n)=>{r.type="boolean"},kp=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema")},Pp=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema")},Hs=(e,t,r,n)=>{t.target==="openapi-3.0"?(r.type="string",r.nullable=!0,r.enum=[null]):r.type="null"},Cp=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},zp=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema")},Js=(e,t,r,n)=>{r.not={}},Ys=(e,t,r,n)=>{},Ws=(e,t,r,n)=>{},Dp=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema")},Ks=(e,t,r,n)=>{const a=e._zod.def,o=Es(a.entries);o.every(s=>typeof s=="number")&&(r.type="number"),o.every(s=>typeof s=="string")&&(r.type="string"),r.enum=o},Xs=(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},$p=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema")},Mp=(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},Fp=(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)},Lp=(e,t,r,n)=>{r.type="boolean"},Qs=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},Up=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Function types cannot be represented in JSON Schema")},ei=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},jp=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema")},qp=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema")},ti=(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"]})},ri=(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 p=o.shape[c]._zod;return t.io==="input"?p.optin===void 0:p.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)},ni=(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},ai=(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},Zp=(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((d,v)=>ue(d,t,{...n,path:[...n.path,s,v]})),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:p}=e._zod.bag;typeof c=="number"&&(a.minItems=c),typeof p=="number"&&(a.maxItems=p)},oi=(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 p of l)a.patternProperties[p.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(p=>typeof p=="string"||typeof p=="number");c.length>0&&(a.required=c)}},si=(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"}]},ii=(e,t,r,n)=>{const a=e._zod.def;ue(a.innerType,t,n);const o=t.seen.get(e);o.ref=a.innerType},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,r.default=JSON.parse(JSON.stringify(a.defaultValue))},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,t.io==="input"&&(r._prefault=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;let s;try{s=a.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}r.default=s},di=(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},pi=(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},Gp=(e,t,r,n)=>{const a=e._zod.def;ue(a.innerType,t,n);const o=t.seen.get(e);o.ref=a.innerType},ta=(e,t,r,n)=>{const a=e._zod.def;ue(a.innerType,t,n);const o=t.seen.get(e);o.ref=a.innerType},fi=(e,t,r,n)=>{const a=e._zod.innerType;ue(a,t,n);const o=t.seen.get(e);o.ref=a},Ka={string:Gs,number:Bs,boolean:Vs,bigint:kp,symbol:Pp,null:Hs,undefined:Cp,void:zp,never:Js,any:Ys,unknown:Ws,date:Dp,enum:Ks,literal:Xs,nan:$p,template_literal:Mp,file:Fp,success:Lp,custom:Qs,function:Up,transform:ei,map:jp,set:qp,array:ti,object:ri,union:ni,intersection:ai,tuple:Zp,record:oi,nullable:si,nonoptional:ii,default:li,prefault:ui,catch:ci,pipe:di,readonly:pi,promise:Gp,optional:ta,lazy:fi};function Bp(e,t){if("_idmap"in e){const n=e,a=Vr({...t,processors:Ka}),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;Hr(a,c),s[u]=Jr(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=Vr({...t,processors:Ka});return ue(e,r),Hr(r,e),Jr(r,e)}const Vp=T("ZodISODateTime",(e,t)=>{Hc.init(e,t),ye.init(e,t)});function Hp(e){return rp(Vp,e)}const Jp=T("ZodISODate",(e,t)=>{Jc.init(e,t),ye.init(e,t)});function Yp(e){return np(Jp,e)}const Wp=T("ZodISOTime",(e,t)=>{Yc.init(e,t),ye.init(e,t)});function Kp(e){return ap(Wp,e)}const Xp=T("ZodISODuration",(e,t)=>{Wc.init(e,t),ye.init(e,t)});function Qp(e){return op(Xp,e)}const ef=(e,t)=>{Ns.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:r=>Lu(e,r)},flatten:{value:r=>Fu(e,r)},addIssue:{value:r=>{e.issues.push(r),e.message=JSON.stringify(e.issues,Mn,2)}},addIssues:{value:r=>{e.issues.push(...r),e.message=JSON.stringify(e.issues,Mn,2)}},isEmpty:{get(){return e.issues.length===0}}})},Be=T("ZodError",ef,{Parent:Error}),tf=Xn(Be),rf=Qn(Be),nf=un(Be),gi=cn(Be),af=qu(Be),of=Zu(Be),sf=Gu(Be),lf=Bu(Be),uf=Vu(Be),cf=Hu(Be),df=Ju(Be),pf=Yu(Be),de=T("ZodType",(e,t)=>(ce.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:Yr(e,"input"),output:Yr(e,"output")}}),e.toJSONSchema=Rp(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)=>Et(e,r,n),e.brand=()=>e,e.register=((r,n)=>(r.add(e,n),e)),e.parse=(r,n)=>tf(e,r,n,{callee:e.parse}),e.safeParse=(r,n)=>nf(e,r,n),e.parseAsync=async(r,n)=>rf(e,r,n,{callee:e.parseAsync}),e.safeParseAsync=async(r,n)=>gi(e,r,n),e.spa=e.safeParseAsync,e.encode=(r,n)=>af(e,r,n),e.decode=(r,n)=>of(e,r,n),e.encodeAsync=async(r,n)=>sf(e,r,n),e.decodeAsync=async(r,n)=>lf(e,r,n),e.safeEncode=(r,n)=>uf(e,r,n),e.safeDecode=(r,n)=>cf(e,r,n),e.safeEncodeAsync=async(r,n)=>df(e,r,n),e.safeDecodeAsync=async(r,n)=>pf(e,r,n),e.refine=(r,n)=>e.check(dg(r,n)),e.superRefine=r=>e.check(pg(r)),e.overwrite=r=>e.check(Kt(r)),e.optional=()=>eo(e),e.exactOptional=()=>Wf(e),e.nullable=()=>to(e),e.nullish=()=>eo(to(e)),e.nonoptional=r=>rg(e,r),e.array=()=>Ue(e),e.or=r=>Pe([e,r]),e.and=r=>Gf(e,r),e.transform=r=>ro(e,Jf(r)),e.default=r=>Qf(e,r),e.prefault=r=>tg(e,r),e.catch=r=>ag(e,r),e.pipe=r=>ro(e,r),e.readonly=()=>ig(e),e.describe=r=>{const n=e.clone();return ur.add(n,{description:r}),n},Object.defineProperty(e,"description",{get(){var r;return(r=ur.get(e))==null?void 0:r.description},configurable:!0}),e.meta=(...r)=>{if(r.length===0)return ur.get(e);const n=e.clone();return ur.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=T("_ZodString",(e,t)=>{ea.init(e,t),de.init(e,t),e._zod.processJSONSchema=(n,a,o)=>Gs(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(fp(...n)),e.includes=(...n)=>e.check(hp(...n)),e.startsWith=(...n)=>e.check(yp(...n)),e.endsWith=(...n)=>e.check(vp(...n)),e.min=(...n)=>e.check(Br(...n)),e.max=(...n)=>e.check(qs(...n)),e.length=(...n)=>e.check(Zs(...n)),e.nonempty=(...n)=>e.check(Br(1,...n)),e.lowercase=n=>e.check(gp(n)),e.uppercase=n=>e.check(mp(n)),e.trim=()=>e.check(wp()),e.normalize=(...n)=>e.check(_p(...n)),e.toLowerCase=()=>e.check(Tp()),e.toUpperCase=()=>e.check(bp()),e.slugify=()=>e.check(Ep())}),ff=T("ZodString",(e,t)=>{ea.init(e,t),mi.init(e,t),e.email=r=>e.check(Dd(gf,r)),e.url=r=>e.check(Ud(mf,r)),e.jwt=r=>e.check(tp(xf,r)),e.emoji=r=>e.check(jd(hf,r)),e.guid=r=>e.check(Ha(Xa,r)),e.uuid=r=>e.check($d(Lr,r)),e.uuidv4=r=>e.check(Md(Lr,r)),e.uuidv6=r=>e.check(Fd(Lr,r)),e.uuidv7=r=>e.check(Ld(Lr,r)),e.nanoid=r=>e.check(qd(yf,r)),e.guid=r=>e.check(Ha(Xa,r)),e.cuid=r=>e.check(Zd(vf,r)),e.cuid2=r=>e.check(Gd(_f,r)),e.ulid=r=>e.check(Bd(wf,r)),e.base64=r=>e.check(Xd(Nf,r)),e.base64url=r=>e.check(Qd(Of,r)),e.xid=r=>e.check(Vd(Tf,r)),e.ksuid=r=>e.check(Hd(bf,r)),e.ipv4=r=>e.check(Jd(Ef,r)),e.ipv6=r=>e.check(Yd(If,r)),e.cidrv4=r=>e.check(Wd(Sf,r)),e.cidrv6=r=>e.check(Kd(Af,r)),e.e164=r=>e.check(ep(Rf,r)),e.datetime=r=>e.check(Hp(r)),e.date=r=>e.check(Yp(r)),e.time=r=>e.check(Kp(r)),e.duration=r=>e.check(Qp(r))});function x(e){return zd(ff,e)}const ye=T("ZodStringFormat",(e,t)=>{me.init(e,t),mi.init(e,t)}),gf=T("ZodEmail",(e,t)=>{Fc.init(e,t),ye.init(e,t)}),Xa=T("ZodGUID",(e,t)=>{$c.init(e,t),ye.init(e,t)}),Lr=T("ZodUUID",(e,t)=>{Mc.init(e,t),ye.init(e,t)}),mf=T("ZodURL",(e,t)=>{Lc.init(e,t),ye.init(e,t)}),hf=T("ZodEmoji",(e,t)=>{Uc.init(e,t),ye.init(e,t)}),yf=T("ZodNanoID",(e,t)=>{jc.init(e,t),ye.init(e,t)}),vf=T("ZodCUID",(e,t)=>{qc.init(e,t),ye.init(e,t)}),_f=T("ZodCUID2",(e,t)=>{Zc.init(e,t),ye.init(e,t)}),wf=T("ZodULID",(e,t)=>{Gc.init(e,t),ye.init(e,t)}),Tf=T("ZodXID",(e,t)=>{Bc.init(e,t),ye.init(e,t)}),bf=T("ZodKSUID",(e,t)=>{Vc.init(e,t),ye.init(e,t)}),Ef=T("ZodIPv4",(e,t)=>{Kc.init(e,t),ye.init(e,t)}),If=T("ZodIPv6",(e,t)=>{Xc.init(e,t),ye.init(e,t)}),Sf=T("ZodCIDRv4",(e,t)=>{Qc.init(e,t),ye.init(e,t)}),Af=T("ZodCIDRv6",(e,t)=>{ed.init(e,t),ye.init(e,t)}),Nf=T("ZodBase64",(e,t)=>{td.init(e,t),ye.init(e,t)}),Of=T("ZodBase64URL",(e,t)=>{nd.init(e,t),ye.init(e,t)}),Rf=T("ZodE164",(e,t)=>{ad.init(e,t),ye.init(e,t)}),xf=T("ZodJWT",(e,t)=>{sd.init(e,t),ye.init(e,t)}),hi=T("ZodNumber",(e,t)=>{Ms.init(e,t),de.init(e,t),e._zod.processJSONSchema=(n,a,o)=>Bs(e,n,a),e.gt=(n,a)=>e.check(Ya(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(Ja(n,a)),e.lte=(n,a)=>e.check(Tn(n,a)),e.max=(n,a)=>e.check(Tn(n,a)),e.int=n=>e.check(Qa(n)),e.safe=n=>e.check(Qa(n)),e.positive=n=>e.check(Ya(0,n)),e.nonnegative=n=>e.check(bn(0,n)),e.negative=n=>e.check(Ja(0,n)),e.nonpositive=n=>e.check(Tn(0,n)),e.multipleOf=(n,a)=>e.check(Wa(n,a)),e.step=(n,a)=>e.check(Wa(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 Wr(e){return sp(hi,e)}const kf=T("ZodNumberFormat",(e,t)=>{id.init(e,t),hi.init(e,t)});function Qa(e){return ip(kf,e)}const Pf=T("ZodBoolean",(e,t)=>{ld.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>Vs(e,r,n)});function ra(e){return lp(Pf,e)}const Cf=T("ZodNull",(e,t)=>{ud.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>Hs(e,r,n)});function zf(e){return up(Cf,e)}const Df=T("ZodAny",(e,t)=>{cd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>Ys()});function ht(){return cp(Df)}const $f=T("ZodUnknown",(e,t)=>{dd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>Ws()});function xt(){return dp($f)}const Mf=T("ZodNever",(e,t)=>{pd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>Js(e,r,n)});function Ff(e){return pp(Mf,e)}const Lf=T("ZodArray",(e,t)=>{fd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ti(e,r,n,a),e.element=t.element,e.min=(r,n)=>e.check(Br(r,n)),e.nonempty=r=>e.check(Br(1,r)),e.max=(r,n)=>e.check(qs(r,n)),e.length=(r,n)=>e.check(Zs(r,n)),e.unwrap=()=>e.element});function Ue(e,t){return Ip(Lf,e,t)}const Uf=T("ZodObject",(e,t)=>{md.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ri(e,r,n,a),Y(e,"shape",()=>t.shape),e.keyof=()=>vi(Object.keys(e._zod.def.shape)),e.catchall=r=>e.clone({...e._zod.def,catchall:r}),e.passthrough=()=>e.clone({...e._zod.def,catchall:xt()}),e.loose=()=>e.clone({...e._zod.def,catchall:xt()}),e.strict=()=>e.clone({...e._zod.def,catchall:Ff()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=r=>Cu(e,r),e.safeExtend=r=>zu(e,r),e.merge=r=>Du(e,r),e.pick=r=>ku(e,r),e.omit=r=>Pu(e,r),e.partial=(...r)=>$u(_i,e,r[0]),e.required=(...r)=>Mu(wi,e,r[0])});function G(e,t){const r={type:"object",shape:e??{},...k(t)};return new Uf(r)}const yi=T("ZodUnion",(e,t)=>{Us.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ni(e,r,n,a),e.options=t.options});function Pe(e,t){return new yi({type:"union",options:e,...k(t)})}const jf=T("ZodDiscriminatedUnion",(e,t)=>{yi.init(e,t),hd.init(e,t)});function qf(e,t,r){return new jf({type:"union",options:t,discriminator:e,...k(r)})}const Zf=T("ZodIntersection",(e,t)=>{yd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ai(e,r,n,a)});function Gf(e,t){return new Zf({type:"intersection",left:e,right:t})}const Bf=T("ZodRecord",(e,t)=>{vd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>oi(e,r,n,a),e.keyType=t.keyType,e.valueType=t.valueType});function wt(e,t,r){return new Bf({type:"record",keyType:e,valueType:t,...k(r)})}const Ln=T("ZodEnum",(e,t)=>{_d.init(e,t),de.init(e,t),e._zod.processJSONSchema=(n,a,o)=>Ks(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 Ln({...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 Ln({...t,checks:[],...k(a),entries:o})}});function vi(e,t){const r=Array.isArray(e)?Object.fromEntries(e.map(n=>[n,n])):e;return new Ln({type:"enum",entries:r,...k(t)})}const Vf=T("ZodLiteral",(e,t)=>{wd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>Xs(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 Vf({type:"literal",values:Array.isArray(e)?e:[e],...k(t)})}const Hf=T("ZodTransform",(e,t)=>{Td.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ei(e,r),e._zod.parse=(r,n)=>{if(n.direction==="backward")throw new Ts(e.constructor.name);r.addIssue=o=>{if(typeof o=="string")r.issues.push(mr(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(mr(s))}};const a=t.transform(r.value,r);return a instanceof Promise?a.then(o=>(r.value=o,r)):(r.value=a,r)}});function Jf(e){return new Hf({type:"transform",transform:e})}const _i=T("ZodOptional",(e,t)=>{js.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ta(e,r,n,a),e.unwrap=()=>e._zod.def.innerType});function eo(e){return new _i({type:"optional",innerType:e})}const Yf=T("ZodExactOptional",(e,t)=>{bd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ta(e,r,n,a),e.unwrap=()=>e._zod.def.innerType});function Wf(e){return new Yf({type:"optional",innerType:e})}const Kf=T("ZodNullable",(e,t)=>{Ed.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>si(e,r,n,a),e.unwrap=()=>e._zod.def.innerType});function to(e){return new Kf({type:"nullable",innerType:e})}const Xf=T("ZodDefault",(e,t)=>{Id.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>li(e,r,n,a),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Qf(e,t){return new Xf({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():Ss(t)}})}const eg=T("ZodPrefault",(e,t)=>{Sd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ui(e,r,n,a),e.unwrap=()=>e._zod.def.innerType});function tg(e,t){return new eg({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():Ss(t)}})}const wi=T("ZodNonOptional",(e,t)=>{Ad.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 rg(e,t){return new wi({type:"nonoptional",innerType:e,...k(t)})}const ng=T("ZodCatch",(e,t)=>{Nd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ci(e,r,n,a),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function ag(e,t){return new ng({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}const og=T("ZodPipe",(e,t)=>{Od.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>di(e,r,n,a),e.in=t.in,e.out=t.out});function ro(e,t){return new og({type:"pipe",in:e,out:t})}const sg=T("ZodReadonly",(e,t)=>{Rd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>pi(e,r,n,a),e.unwrap=()=>e._zod.def.innerType});function ig(e){return new sg({type:"readonly",innerType:e})}const lg=T("ZodLazy",(e,t)=>{xd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>fi(e,r,n,a),e.unwrap=()=>e._zod.def.getter()});function ug(e){return new lg({type:"lazy",getter:e})}const na=T("ZodCustom",(e,t)=>{kd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>Qs(e,r)});function cg(e,t){return Sp(na,e??(()=>!0),t)}function dg(e,t={}){return Ap(na,e,t)}function pg(e){return Np(e)}function Kr(e,t={}){const r=new na({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 hr;(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})(hr||(hr={}));var no;(function(e){e.mergeShapes=(t,r)=>({...t,...r})})(no||(no={}));hr.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]);hr.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 Xr 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 Xr))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,hr.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()}}Xr.create=e=>new Xr(e);var ao;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t==null?void 0:t.message})(ao||(ao={}));var q;(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"})(q||(q={}));class oo 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 En(e){}function fg(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=En,onError:r=En,onRetry:n=En,onComment:a}=e;let o="",s=!0,i,l="",u="";function c(w){const I=s?w.replace(/^\xEF\xBB\xBF/,""):w,[P,C]=gg(`${o}${I}`);for(const h of P)p(h);o=C,s=!1}function p(w){if(w===""){v();return}if(w.startsWith(":")){a&&a(w.slice(w.startsWith(": ")?2:1));return}const I=w.indexOf(":");if(I!==-1){const P=w.slice(0,I),C=w[I+1]===" "?2:1,h=w.slice(I+C);d(P,h,w);return}d(w,"",w)}function d(w,I,P){switch(w){case"event":u=I;break;case"data":l=`${l}${I}
41
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const c of e.seen.entries()){const p=c[1];if(t===c[0]){o(c);continue}if(e.external){const v=(l=e.external.registry.get(c[0]))==null?void 0:l.id;if(t!==c[0]&&v){o(c);continue}}if((u=e.metadataRegistry.get(c[0]))==null?void 0:u.id){o(c);continue}if(p.cycle){o(c);continue}if(p.count>1&&e.reused==="ref"){o(c);continue}}}function Jr(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 p=c.def??c.schema,d={...p},v=c.ref;if(c.ref=null,v){n(v);const w=e.seen.get(v),I=w.schema;if(I.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(p.allOf=p.allOf??[],p.allOf.push(I)):Object.assign(p,I),Object.assign(p,d),u._zod.parent===v)for(const C in p)C==="$ref"||C==="allOf"||C in d||delete p[C];if(I.$ref)for(const C in p)C==="$ref"||C==="allOf"||C in w.def&&JSON.stringify(p[C])===JSON.stringify(w.def[C])&&delete p[C]}const E=u._zod.parent;if(E&&E!==v){n(E);const w=e.seen.get(E);if(w!=null&&w.schema.$ref&&(p.$ref=w.schema.$ref,w.def))for(const I in p)I==="$ref"||I==="allOf"||I in w.def&&JSON.stringify(p[I])===JSON.stringify(w.def[I])&&delete p[I]}e.override({zodSchema:u,jsonSchema:p,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:Yr(t,"input",e.processors),output:Yr(t,"output",e.processors)}},enumerable:!1,writable:!1}),u}catch{throw new Error("Error converting schema to JSON.")}}function $e(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 $e(n.element,r);if(n.type==="set")return $e(n.valueType,r);if(n.type==="lazy")return $e(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 $e(n.innerType,r);if(n.type==="intersection")return $e(n.left,r)||$e(n.right,r);if(n.type==="record"||n.type==="map")return $e(n.keyType,r)||$e(n.valueType,r);if(n.type==="pipe")return $e(n.in,r)||$e(n.out,r);if(n.type==="object"){for(const a in n.shape)if($e(n.shape[a],r))return!0;return!1}if(n.type==="union"){for(const a of n.options)if($e(a,r))return!0;return!1}if(n.type==="tuple"){for(const a of n.items)if($e(a,r))return!0;return!!(n.rest&&$e(n.rest,r))}return!1}const Rp=(e,t={})=>r=>{const n=Vr({...r,processors:t});return ue(e,n),Hr(n,e),Jr(n,e)},Yr=(e,t,r={})=>n=>{const{libraryOptions:a,target:o}=n??{},s=Vr({...a??{},target:o,io:t,processors:r});return ue(e,s),Hr(s,e),Jr(s,e)},xp={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Gs=(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=xp[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(p=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:p.source}))])}},Bs=(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)},Vs=(e,t,r,n)=>{r.type="boolean"},kp=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema")},Pp=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema")},Hs=(e,t,r,n)=>{t.target==="openapi-3.0"?(r.type="string",r.nullable=!0,r.enum=[null]):r.type="null"},Cp=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},zp=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema")},Js=(e,t,r,n)=>{r.not={}},Ys=(e,t,r,n)=>{},Ws=(e,t,r,n)=>{},$p=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema")},Ks=(e,t,r,n)=>{const a=e._zod.def,o=Es(a.entries);o.every(s=>typeof s=="number")&&(r.type="number"),o.every(s=>typeof s=="string")&&(r.type="string"),r.enum=o},Xs=(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},Dp=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema")},Mp=(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},Fp=(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)},Lp=(e,t,r,n)=>{r.type="boolean"},Qs=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},Up=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Function types cannot be represented in JSON Schema")},ei=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},jp=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema")},qp=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema")},ti=(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"]})},ri=(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 p=o.shape[c]._zod;return t.io==="input"?p.optin===void 0:p.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)},ni=(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},ai=(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},Zp=(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((d,v)=>ue(d,t,{...n,path:[...n.path,s,v]})),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:p}=e._zod.bag;typeof c=="number"&&(a.minItems=c),typeof p=="number"&&(a.maxItems=p)},oi=(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 p of l)a.patternProperties[p.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(p=>typeof p=="string"||typeof p=="number");c.length>0&&(a.required=c)}},si=(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"}]},ii=(e,t,r,n)=>{const a=e._zod.def;ue(a.innerType,t,n);const o=t.seen.get(e);o.ref=a.innerType},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,r.default=JSON.parse(JSON.stringify(a.defaultValue))},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,t.io==="input"&&(r._prefault=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;let s;try{s=a.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}r.default=s},di=(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},pi=(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},Gp=(e,t,r,n)=>{const a=e._zod.def;ue(a.innerType,t,n);const o=t.seen.get(e);o.ref=a.innerType},ta=(e,t,r,n)=>{const a=e._zod.def;ue(a.innerType,t,n);const o=t.seen.get(e);o.ref=a.innerType},fi=(e,t,r,n)=>{const a=e._zod.innerType;ue(a,t,n);const o=t.seen.get(e);o.ref=a},Ka={string:Gs,number:Bs,boolean:Vs,bigint:kp,symbol:Pp,null:Hs,undefined:Cp,void:zp,never:Js,any:Ys,unknown:Ws,date:$p,enum:Ks,literal:Xs,nan:Dp,template_literal:Mp,file:Fp,success:Lp,custom:Qs,function:Up,transform:ei,map:jp,set:qp,array:ti,object:ri,union:ni,intersection:ai,tuple:Zp,record:oi,nullable:si,nonoptional:ii,default:li,prefault:ui,catch:ci,pipe:di,readonly:pi,promise:Gp,optional:ta,lazy:fi};function Bp(e,t){if("_idmap"in e){const n=e,a=Vr({...t,processors:Ka}),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;Hr(a,c),s[u]=Jr(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=Vr({...t,processors:Ka});return ue(e,r),Hr(r,e),Jr(r,e)}const Vp=T("ZodISODateTime",(e,t)=>{Hc.init(e,t),ye.init(e,t)});function Hp(e){return rp(Vp,e)}const Jp=T("ZodISODate",(e,t)=>{Jc.init(e,t),ye.init(e,t)});function Yp(e){return np(Jp,e)}const Wp=T("ZodISOTime",(e,t)=>{Yc.init(e,t),ye.init(e,t)});function Kp(e){return ap(Wp,e)}const Xp=T("ZodISODuration",(e,t)=>{Wc.init(e,t),ye.init(e,t)});function Qp(e){return op(Xp,e)}const ef=(e,t)=>{Ns.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:r=>Lu(e,r)},flatten:{value:r=>Fu(e,r)},addIssue:{value:r=>{e.issues.push(r),e.message=JSON.stringify(e.issues,Mn,2)}},addIssues:{value:r=>{e.issues.push(...r),e.message=JSON.stringify(e.issues,Mn,2)}},isEmpty:{get(){return e.issues.length===0}}})},Be=T("ZodError",ef,{Parent:Error}),tf=Xn(Be),rf=Qn(Be),nf=un(Be),gi=cn(Be),af=qu(Be),of=Zu(Be),sf=Gu(Be),lf=Bu(Be),uf=Vu(Be),cf=Hu(Be),df=Ju(Be),pf=Yu(Be),de=T("ZodType",(e,t)=>(ce.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:Yr(e,"input"),output:Yr(e,"output")}}),e.toJSONSchema=Rp(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)=>Et(e,r,n),e.brand=()=>e,e.register=((r,n)=>(r.add(e,n),e)),e.parse=(r,n)=>tf(e,r,n,{callee:e.parse}),e.safeParse=(r,n)=>nf(e,r,n),e.parseAsync=async(r,n)=>rf(e,r,n,{callee:e.parseAsync}),e.safeParseAsync=async(r,n)=>gi(e,r,n),e.spa=e.safeParseAsync,e.encode=(r,n)=>af(e,r,n),e.decode=(r,n)=>of(e,r,n),e.encodeAsync=async(r,n)=>sf(e,r,n),e.decodeAsync=async(r,n)=>lf(e,r,n),e.safeEncode=(r,n)=>uf(e,r,n),e.safeDecode=(r,n)=>cf(e,r,n),e.safeEncodeAsync=async(r,n)=>df(e,r,n),e.safeDecodeAsync=async(r,n)=>pf(e,r,n),e.refine=(r,n)=>e.check(dg(r,n)),e.superRefine=r=>e.check(pg(r)),e.overwrite=r=>e.check(Kt(r)),e.optional=()=>eo(e),e.exactOptional=()=>Wf(e),e.nullable=()=>to(e),e.nullish=()=>eo(to(e)),e.nonoptional=r=>rg(e,r),e.array=()=>Ue(e),e.or=r=>Pe([e,r]),e.and=r=>Gf(e,r),e.transform=r=>ro(e,Jf(r)),e.default=r=>Qf(e,r),e.prefault=r=>tg(e,r),e.catch=r=>ag(e,r),e.pipe=r=>ro(e,r),e.readonly=()=>ig(e),e.describe=r=>{const n=e.clone();return ur.add(n,{description:r}),n},Object.defineProperty(e,"description",{get(){var r;return(r=ur.get(e))==null?void 0:r.description},configurable:!0}),e.meta=(...r)=>{if(r.length===0)return ur.get(e);const n=e.clone();return ur.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=T("_ZodString",(e,t)=>{ea.init(e,t),de.init(e,t),e._zod.processJSONSchema=(n,a,o)=>Gs(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(fp(...n)),e.includes=(...n)=>e.check(hp(...n)),e.startsWith=(...n)=>e.check(yp(...n)),e.endsWith=(...n)=>e.check(vp(...n)),e.min=(...n)=>e.check(Br(...n)),e.max=(...n)=>e.check(qs(...n)),e.length=(...n)=>e.check(Zs(...n)),e.nonempty=(...n)=>e.check(Br(1,...n)),e.lowercase=n=>e.check(gp(n)),e.uppercase=n=>e.check(mp(n)),e.trim=()=>e.check(wp()),e.normalize=(...n)=>e.check(_p(...n)),e.toLowerCase=()=>e.check(Tp()),e.toUpperCase=()=>e.check(bp()),e.slugify=()=>e.check(Ep())}),ff=T("ZodString",(e,t)=>{ea.init(e,t),mi.init(e,t),e.email=r=>e.check($d(gf,r)),e.url=r=>e.check(Ud(mf,r)),e.jwt=r=>e.check(tp(xf,r)),e.emoji=r=>e.check(jd(hf,r)),e.guid=r=>e.check(Ha(Xa,r)),e.uuid=r=>e.check(Dd(Lr,r)),e.uuidv4=r=>e.check(Md(Lr,r)),e.uuidv6=r=>e.check(Fd(Lr,r)),e.uuidv7=r=>e.check(Ld(Lr,r)),e.nanoid=r=>e.check(qd(yf,r)),e.guid=r=>e.check(Ha(Xa,r)),e.cuid=r=>e.check(Zd(vf,r)),e.cuid2=r=>e.check(Gd(_f,r)),e.ulid=r=>e.check(Bd(wf,r)),e.base64=r=>e.check(Xd(Nf,r)),e.base64url=r=>e.check(Qd(Of,r)),e.xid=r=>e.check(Vd(Tf,r)),e.ksuid=r=>e.check(Hd(bf,r)),e.ipv4=r=>e.check(Jd(Ef,r)),e.ipv6=r=>e.check(Yd(If,r)),e.cidrv4=r=>e.check(Wd(Sf,r)),e.cidrv6=r=>e.check(Kd(Af,r)),e.e164=r=>e.check(ep(Rf,r)),e.datetime=r=>e.check(Hp(r)),e.date=r=>e.check(Yp(r)),e.time=r=>e.check(Kp(r)),e.duration=r=>e.check(Qp(r))});function x(e){return zd(ff,e)}const ye=T("ZodStringFormat",(e,t)=>{me.init(e,t),mi.init(e,t)}),gf=T("ZodEmail",(e,t)=>{Fc.init(e,t),ye.init(e,t)}),Xa=T("ZodGUID",(e,t)=>{Dc.init(e,t),ye.init(e,t)}),Lr=T("ZodUUID",(e,t)=>{Mc.init(e,t),ye.init(e,t)}),mf=T("ZodURL",(e,t)=>{Lc.init(e,t),ye.init(e,t)}),hf=T("ZodEmoji",(e,t)=>{Uc.init(e,t),ye.init(e,t)}),yf=T("ZodNanoID",(e,t)=>{jc.init(e,t),ye.init(e,t)}),vf=T("ZodCUID",(e,t)=>{qc.init(e,t),ye.init(e,t)}),_f=T("ZodCUID2",(e,t)=>{Zc.init(e,t),ye.init(e,t)}),wf=T("ZodULID",(e,t)=>{Gc.init(e,t),ye.init(e,t)}),Tf=T("ZodXID",(e,t)=>{Bc.init(e,t),ye.init(e,t)}),bf=T("ZodKSUID",(e,t)=>{Vc.init(e,t),ye.init(e,t)}),Ef=T("ZodIPv4",(e,t)=>{Kc.init(e,t),ye.init(e,t)}),If=T("ZodIPv6",(e,t)=>{Xc.init(e,t),ye.init(e,t)}),Sf=T("ZodCIDRv4",(e,t)=>{Qc.init(e,t),ye.init(e,t)}),Af=T("ZodCIDRv6",(e,t)=>{ed.init(e,t),ye.init(e,t)}),Nf=T("ZodBase64",(e,t)=>{td.init(e,t),ye.init(e,t)}),Of=T("ZodBase64URL",(e,t)=>{nd.init(e,t),ye.init(e,t)}),Rf=T("ZodE164",(e,t)=>{ad.init(e,t),ye.init(e,t)}),xf=T("ZodJWT",(e,t)=>{sd.init(e,t),ye.init(e,t)}),hi=T("ZodNumber",(e,t)=>{Ms.init(e,t),de.init(e,t),e._zod.processJSONSchema=(n,a,o)=>Bs(e,n,a),e.gt=(n,a)=>e.check(Ya(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(Ja(n,a)),e.lte=(n,a)=>e.check(Tn(n,a)),e.max=(n,a)=>e.check(Tn(n,a)),e.int=n=>e.check(Qa(n)),e.safe=n=>e.check(Qa(n)),e.positive=n=>e.check(Ya(0,n)),e.nonnegative=n=>e.check(bn(0,n)),e.negative=n=>e.check(Ja(0,n)),e.nonpositive=n=>e.check(Tn(0,n)),e.multipleOf=(n,a)=>e.check(Wa(n,a)),e.step=(n,a)=>e.check(Wa(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 Wr(e){return sp(hi,e)}const kf=T("ZodNumberFormat",(e,t)=>{id.init(e,t),hi.init(e,t)});function Qa(e){return ip(kf,e)}const Pf=T("ZodBoolean",(e,t)=>{ld.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>Vs(e,r,n)});function ra(e){return lp(Pf,e)}const Cf=T("ZodNull",(e,t)=>{ud.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>Hs(e,r,n)});function zf(e){return up(Cf,e)}const $f=T("ZodAny",(e,t)=>{cd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>Ys()});function ht(){return cp($f)}const Df=T("ZodUnknown",(e,t)=>{dd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>Ws()});function xt(){return dp(Df)}const Mf=T("ZodNever",(e,t)=>{pd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>Js(e,r,n)});function Ff(e){return pp(Mf,e)}const Lf=T("ZodArray",(e,t)=>{fd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ti(e,r,n,a),e.element=t.element,e.min=(r,n)=>e.check(Br(r,n)),e.nonempty=r=>e.check(Br(1,r)),e.max=(r,n)=>e.check(qs(r,n)),e.length=(r,n)=>e.check(Zs(r,n)),e.unwrap=()=>e.element});function Ue(e,t){return Ip(Lf,e,t)}const Uf=T("ZodObject",(e,t)=>{md.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ri(e,r,n,a),Y(e,"shape",()=>t.shape),e.keyof=()=>vi(Object.keys(e._zod.def.shape)),e.catchall=r=>e.clone({...e._zod.def,catchall:r}),e.passthrough=()=>e.clone({...e._zod.def,catchall:xt()}),e.loose=()=>e.clone({...e._zod.def,catchall:xt()}),e.strict=()=>e.clone({...e._zod.def,catchall:Ff()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=r=>Cu(e,r),e.safeExtend=r=>zu(e,r),e.merge=r=>$u(e,r),e.pick=r=>ku(e,r),e.omit=r=>Pu(e,r),e.partial=(...r)=>Du(_i,e,r[0]),e.required=(...r)=>Mu(wi,e,r[0])});function G(e,t){const r={type:"object",shape:e??{},...k(t)};return new Uf(r)}const yi=T("ZodUnion",(e,t)=>{Us.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ni(e,r,n,a),e.options=t.options});function Pe(e,t){return new yi({type:"union",options:e,...k(t)})}const jf=T("ZodDiscriminatedUnion",(e,t)=>{yi.init(e,t),hd.init(e,t)});function qf(e,t,r){return new jf({type:"union",options:t,discriminator:e,...k(r)})}const Zf=T("ZodIntersection",(e,t)=>{yd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ai(e,r,n,a)});function Gf(e,t){return new Zf({type:"intersection",left:e,right:t})}const Bf=T("ZodRecord",(e,t)=>{vd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>oi(e,r,n,a),e.keyType=t.keyType,e.valueType=t.valueType});function wt(e,t,r){return new Bf({type:"record",keyType:e,valueType:t,...k(r)})}const Ln=T("ZodEnum",(e,t)=>{_d.init(e,t),de.init(e,t),e._zod.processJSONSchema=(n,a,o)=>Ks(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 Ln({...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 Ln({...t,checks:[],...k(a),entries:o})}});function vi(e,t){const r=Array.isArray(e)?Object.fromEntries(e.map(n=>[n,n])):e;return new Ln({type:"enum",entries:r,...k(t)})}const Vf=T("ZodLiteral",(e,t)=>{wd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>Xs(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 Vf({type:"literal",values:Array.isArray(e)?e:[e],...k(t)})}const Hf=T("ZodTransform",(e,t)=>{Td.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ei(e,r),e._zod.parse=(r,n)=>{if(n.direction==="backward")throw new Ts(e.constructor.name);r.addIssue=o=>{if(typeof o=="string")r.issues.push(mr(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(mr(s))}};const a=t.transform(r.value,r);return a instanceof Promise?a.then(o=>(r.value=o,r)):(r.value=a,r)}});function Jf(e){return new Hf({type:"transform",transform:e})}const _i=T("ZodOptional",(e,t)=>{js.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ta(e,r,n,a),e.unwrap=()=>e._zod.def.innerType});function eo(e){return new _i({type:"optional",innerType:e})}const Yf=T("ZodExactOptional",(e,t)=>{bd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ta(e,r,n,a),e.unwrap=()=>e._zod.def.innerType});function Wf(e){return new Yf({type:"optional",innerType:e})}const Kf=T("ZodNullable",(e,t)=>{Ed.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>si(e,r,n,a),e.unwrap=()=>e._zod.def.innerType});function to(e){return new Kf({type:"nullable",innerType:e})}const Xf=T("ZodDefault",(e,t)=>{Id.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>li(e,r,n,a),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Qf(e,t){return new Xf({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():Ss(t)}})}const eg=T("ZodPrefault",(e,t)=>{Sd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ui(e,r,n,a),e.unwrap=()=>e._zod.def.innerType});function tg(e,t){return new eg({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():Ss(t)}})}const wi=T("ZodNonOptional",(e,t)=>{Ad.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 rg(e,t){return new wi({type:"nonoptional",innerType:e,...k(t)})}const ng=T("ZodCatch",(e,t)=>{Nd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ci(e,r,n,a),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function ag(e,t){return new ng({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}const og=T("ZodPipe",(e,t)=>{Od.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>di(e,r,n,a),e.in=t.in,e.out=t.out});function ro(e,t){return new og({type:"pipe",in:e,out:t})}const sg=T("ZodReadonly",(e,t)=>{Rd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>pi(e,r,n,a),e.unwrap=()=>e._zod.def.innerType});function ig(e){return new sg({type:"readonly",innerType:e})}const lg=T("ZodLazy",(e,t)=>{xd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>fi(e,r,n,a),e.unwrap=()=>e._zod.def.getter()});function ug(e){return new lg({type:"lazy",getter:e})}const na=T("ZodCustom",(e,t)=>{kd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>Qs(e,r)});function cg(e,t){return Sp(na,e??(()=>!0),t)}function dg(e,t={}){return Ap(na,e,t)}function pg(e){return Np(e)}function Kr(e,t={}){const r=new na({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 hr;(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})(hr||(hr={}));var no;(function(e){e.mergeShapes=(t,r)=>({...t,...r})})(no||(no={}));hr.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]);hr.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 Xr 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 Xr))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,hr.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()}}Xr.create=e=>new Xr(e);var ao;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t==null?void 0:t.message})(ao||(ao={}));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 oo 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 En(e){}function fg(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=En,onError:r=En,onRetry:n=En,onComment:a}=e;let o="",s=!0,i,l="",u="";function c(w){const I=s?w.replace(/^\xEF\xBB\xBF/,""):w,[P,C]=gg(`${o}${I}`);for(const h of P)p(h);o=C,s=!1}function p(w){if(w===""){v();return}if(w.startsWith(":")){a&&a(w.slice(w.startsWith(": ")?2:1));return}const I=w.indexOf(":");if(I!==-1){const P=w.slice(0,I),C=w[I+1]===" "?2:1,h=w.slice(I+C);d(P,h,w);return}d(w,"",w)}function d(w,I,P){switch(w){case"event":u=I;break;case"data":l=`${l}${I}
42
42
  `;break;case"id":i=I.includes("\0")?void 0:I;break;case"retry":/^\d+$/.test(I)?n(parseInt(I,10)):r(new oo(`Invalid \`retry\` value: "${I}"`,{type:"invalid-retry",value:I,line:P}));break;default:r(new oo(`Unknown field "${w.length>20?`${w.slice(0,20)}…`:w}"`,{type:"unknown-field",field:w,value:I,line:P}));break}}function v(){l.length>0&&t({id:i,event:u||void 0,data:l.endsWith(`
43
43
  `)?l.slice(0,-1):l}),i=void 0,l="",u=""}function E(w={}){o&&w.consume&&p(o),s=!0,i=void 0,l="",u="",o=""}return{feed:c,reset:E}}function gg(e){const t=[];let r="",n=0;for(;n<e.length;){const a=e.indexOf("\r",n),o=e.indexOf(`
44
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 mg extends TransformStream{constructor({onError:t,onRetry:r,onComment:n}={}){let a;super({start(o){a=fg({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 Qr(...e){return e.reduce((t,r)=>({...t,...r??{}}),{})}async function hg(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(so());return}const o=setTimeout(()=>{s(),n()},e),s=()=>{clearTimeout(o),r==null||r.removeEventListener("abort",i)},i=()=>{s(),a(so())};r==null||r.addEventListener("abort",i)})}function so(){return new DOMException("Delay was aborted","AbortError")}var ir=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 Ar(e){return Object.fromEntries([...e.headers])}var{btoa:yg,atob:vg}=globalThis;function aa(e){const t=e.replace(/-/g,"+").replace(/_/g,"/"),r=vg(t);return Uint8Array.from(r,n=>n.codePointAt(0))}function en(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCodePoint(e[r]);return yg(t)}var Ti="AI_DownloadError",bi=`vercel.ai.error.${Ti}`,_g=Symbol.for(bi),io,lo,In=class extends(lo=H,io=_g,lo){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:Ti,message:a,cause:n}),this[io]=!0,this.url=e,this.statusCode=t,this.statusText=r}static isInstance(e){return H.hasMarker(e,bi)}},Nr=({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 Tu({argument:"separator",message:`The separator "${n}" must not be part of the alphabet "${r}".`});return()=>`${e}${n}${a()}`};Nr();function oa(e){return e==null?"unknown error":typeof e=="string"?e:e instanceof Error?e.message:JSON.stringify(e)}function kt(e){return(e instanceof Error||e instanceof DOMException)&&(e.name==="AbortError"||e.name==="ResponseAborted"||e.name==="TimeoutError")}var wg=["fetch failed","failed to fetch"];function Ei({error:e,url:t,requestBodyValues:r}){if(kt(e))return e;if(e instanceof TypeError&&wg.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 sa(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 Tg(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(Tg(e)),n=r.get("user-agent")||"";return r.set("user-agent",[n,...t].filter(Boolean).join(" ")),Object.fromEntries(r.entries())}var Ii="4.0.3",bg=()=>globalThis.fetch,uo=async({url:e,headers:t={},successfulResponseHandler:r,failedResponseHandler:n,abortSignal:a,fetch:o=bg()})=>{try{const s=await o(e,{method:"GET",headers:Or(t,`ai-sdk/provider-utils/${Ii}`,sa()),signal:a}),i=Ar(s);if(!s.ok){let l;try{l=await n({response:s,url:e,requestBodyValues:{}})}catch(u){throw kt(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&&(kt(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 Ei({error:s,url:e,requestBodyValues:{}})}};function Eg({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 qr({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 Ig=/"__proto__"\s*:/,Sg=/"constructor"\s*:/;function co(e){const t=JSON.parse(e);return t===null||typeof t!="object"||Ig.test(e)===!1&&Sg.test(e)===!1?t:Ag(t)}function Ag(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 Si(e){const{stackTraceLimit:t}=Error;try{Error.stackTraceLimit=0}catch{return co(e)}try{return co(e)}finally{Error.stackTraceLimit=t}}function Ai(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]=At(r[n])}e.items!=null&&(e.items=Array.isArray(e.items)?e.items.map(At):At(e.items)),e.anyOf!=null&&(e.anyOf=e.anyOf.map(At)),e.allOf!=null&&(e.allOf=e.allOf.map(At)),e.oneOf!=null&&(e.oneOf=e.oneOf.map(At));const{definitions:t}=e;if(t!=null)for(const r of Object.keys(t))t[r]=At(t[r]);return e}function At(e){return typeof e=="boolean"?e:Ai(e)}var Ng=Symbol("Let zodToJsonSchema decide on which parser to use"),po={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"},Og=e=>typeof e=="string"?{...po,name:e}:{...po,...e};function je(){return{}}function Rg(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)!==q.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 xg(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 kg(){return{type:"boolean"}}function Ni(e,t){return oe(e.type._def,t)}var Pg=(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 Cg(e)}}var Cg=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 zg(e,t){return{...oe(e.innerType._def,t),default:e.defaultValue()}}function Dg(e,t){return t.effectStrategy==="input"?oe(e.schema._def,t):je()}function $g(e){return{type:"string",enum:Array.from(e.values)}}var Mg=e=>"type"in e&&e.type==="string"?!1:"allOf"in e;function Fg(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(Mg(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 Lg(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 Sn=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:()=>(Sn===void 0&&(Sn=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),Sn),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":ze(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":ze(r,n.regex,n.message,t);break;case"cuid":ze(r,He.cuid,n.message,t);break;case"cuid2":ze(r,He.cuid2,n.message,t);break;case"startsWith":ze(r,RegExp(`^${An(n.value,t)}`),n.message,t);break;case"endsWith":ze(r,RegExp(`${An(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":{ze(r,RegExp(An(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":ze(r,He.base64url,n.message,t);break;case"jwt":ze(r,He.jwt,n.message,t);break;case"cidr":{n.version!=="v6"&&ze(r,He.ipv4Cidr,n.message,t),n.version!=="v4"&&ze(r,He.ipv6Cidr,n.message,t);break}case"emoji":ze(r,He.emoji(),n.message,t);break;case"ulid":{ze(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":{ze(r,He.base64,n.message,t);break}}break}case"nanoid":ze(r,He.nanoid,n.message,t)}return r}function An(e,t){return t.patternStrategy==="escape"?jg(e):e}var Ug=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function jg(e){let t="";for(let r=0;r<e.length;r++)Ug.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 ze(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:fo(t,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):e.pattern=fo(t,n)}function fo(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
45
+ `&&n++}}return[t,r]}class mg extends TransformStream{constructor({onError:t,onRetry:r,onComment:n}={}){let a;super({start(o){a=fg({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 Qr(...e){return e.reduce((t,r)=>({...t,...r??{}}),{})}async function hg(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(so());return}const o=setTimeout(()=>{s(),n()},e),s=()=>{clearTimeout(o),r==null||r.removeEventListener("abort",i)},i=()=>{s(),a(so())};r==null||r.addEventListener("abort",i)})}function so(){return new DOMException("Delay was aborted","AbortError")}var ir=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 Ar(e){return Object.fromEntries([...e.headers])}var{btoa:yg,atob:vg}=globalThis;function aa(e){const t=e.replace(/-/g,"+").replace(/_/g,"/"),r=vg(t);return Uint8Array.from(r,n=>n.codePointAt(0))}function en(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCodePoint(e[r]);return yg(t)}var Ti="AI_DownloadError",bi=`vercel.ai.error.${Ti}`,_g=Symbol.for(bi),io,lo,In=class extends(lo=H,io=_g,lo){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:Ti,message:a,cause:n}),this[io]=!0,this.url=e,this.statusCode=t,this.statusText=r}static isInstance(e){return H.hasMarker(e,bi)}},Nr=({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 Tu({argument:"separator",message:`The separator "${n}" must not be part of the alphabet "${r}".`});return()=>`${e}${n}${a()}`};Nr();function oa(e){return e==null?"unknown error":typeof e=="string"?e:e instanceof Error?e.message:JSON.stringify(e)}function kt(e){return(e instanceof Error||e instanceof DOMException)&&(e.name==="AbortError"||e.name==="ResponseAborted"||e.name==="TimeoutError")}var wg=["fetch failed","failed to fetch"];function Ei({error:e,url:t,requestBodyValues:r}){if(kt(e))return e;if(e instanceof TypeError&&wg.includes(e.message.toLowerCase())){const n=e.cause;if(n!=null)return new De({message:`Cannot connect to API: ${n.message}`,cause:n,url:t,requestBodyValues:r,isRetryable:!0})}return e}function sa(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 Tg(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(Tg(e)),n=r.get("user-agent")||"";return r.set("user-agent",[n,...t].filter(Boolean).join(" ")),Object.fromEntries(r.entries())}var Ii="4.0.3",bg=()=>globalThis.fetch,uo=async({url:e,headers:t={},successfulResponseHandler:r,failedResponseHandler:n,abortSignal:a,fetch:o=bg()})=>{try{const s=await o(e,{method:"GET",headers:Or(t,`ai-sdk/provider-utils/${Ii}`,sa()),signal:a}),i=Ar(s);if(!s.ok){let l;try{l=await n({response:s,url:e,requestBodyValues:{}})}catch(u){throw kt(u)||De.isInstance(u)?u:new De({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&&(kt(l)||De.isInstance(l))?l:new De({message:"Failed to process successful response",cause:l,statusCode:s.status,url:e,responseHeaders:i,requestBodyValues:{}})}}catch(s){throw Ei({error:s,url:e,requestBodyValues:{}})}};function Eg({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 qr({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 Ig=/"__proto__"\s*:/,Sg=/"constructor"\s*:/;function co(e){const t=JSON.parse(e);return t===null||typeof t!="object"||Ig.test(e)===!1&&Sg.test(e)===!1?t:Ag(t)}function Ag(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 Si(e){const{stackTraceLimit:t}=Error;try{Error.stackTraceLimit=0}catch{return co(e)}try{return co(e)}finally{Error.stackTraceLimit=t}}function Ai(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]=At(r[n])}e.items!=null&&(e.items=Array.isArray(e.items)?e.items.map(At):At(e.items)),e.anyOf!=null&&(e.anyOf=e.anyOf.map(At)),e.allOf!=null&&(e.allOf=e.allOf.map(At)),e.oneOf!=null&&(e.oneOf=e.oneOf.map(At));const{definitions:t}=e;if(t!=null)for(const r of Object.keys(t))t[r]=At(t[r]);return e}function At(e){return typeof e=="boolean"?e:Ai(e)}var Ng=Symbol("Let zodToJsonSchema decide on which parser to use"),po={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"},Og=e=>typeof e=="string"?{...po,name:e}:{...po,...e};function je(){return{}}function Rg(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 xg(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 kg(){return{type:"boolean"}}function Ni(e,t){return oe(e.type._def,t)}var Pg=(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 Cg(e)}}var Cg=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 zg(e,t){return{...oe(e.innerType._def,t),default:e.defaultValue()}}function $g(e,t){return t.effectStrategy==="input"?oe(e.schema._def,t):je()}function Dg(e){return{type:"string",enum:Array.from(e.values)}}var Mg=e=>"type"in e&&e.type==="string"?!1:"allOf"in e;function Fg(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(Mg(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 Lg(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 Sn=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:()=>(Sn===void 0&&(Sn=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),Sn),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":ze(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":ze(r,n.regex,n.message,t);break;case"cuid":ze(r,He.cuid,n.message,t);break;case"cuid2":ze(r,He.cuid2,n.message,t);break;case"startsWith":ze(r,RegExp(`^${An(n.value,t)}`),n.message,t);break;case"endsWith":ze(r,RegExp(`${An(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":{ze(r,RegExp(An(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":ze(r,He.base64url,n.message,t);break;case"jwt":ze(r,He.jwt,n.message,t);break;case"cidr":{n.version!=="v6"&&ze(r,He.ipv4Cidr,n.message,t),n.version!=="v4"&&ze(r,He.ipv6Cidr,n.message,t);break}case"emoji":ze(r,He.emoji(),n.message,t);break;case"ulid":{ze(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":{ze(r,He.base64,n.message,t);break}}break}case"nanoid":ze(r,He.nanoid,n.message,t)}return r}function An(e,t){return t.patternStrategy==="escape"?jg(e):e}var Ug=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function jg(e){let t="";for(let r=0;r<e.length;r++)Ug.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 ze(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:fo(t,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):e.pattern=fo(t,n)}function fo(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
46
  ]))`;continue}else if(a[u]==="$"){o+=`($|(?=[\r
47
47
  ]))`;continue}}if(n.s&&a[u]==="."){o+=i?`${a[u]}\r
48
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 xi(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)===q.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)===q.ZodEnum)return{...l,propertyNames:{enum:e.keyType._def.values}};if(((s=e.keyType)==null?void 0:s._def.typeName)===q.ZodBranded&&e.keyType._def.type._def.typeName===q.ZodString&&((i=e.keyType._def.type._def.checks)!=null&&i.length)){const{type:u,...c}=Ni(e.keyType._def,t);return{...l,propertyNames:c}}}return l}function qg(e,t){if(t.mapStrategy==="record")return xi(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 Zg(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 Gg(){return{not:je()}}function Bg(){return{type:"null"}}var Un={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function Vg(e,t){const r=e.options instanceof Map?Array.from(e.options.values()):e.options;if(r.every(n=>n._def.typeName in Un&&(!n._def.checks||!n._def.checks.length))){const n=r.reduce((a,o)=>{const s=Un[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 Hg(e,t)}var Hg=(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 Jg(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return{type:[Un[e.innerType._def.typeName],"null"]};const r=oe(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function Yg(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 Wg(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=Xg(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=Kg(e,t);return o!==void 0&&(r.additionalProperties=o),r}function Kg(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 Xg(e){try{return e.isOptional()}catch{return!0}}var Qg=(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()},em=(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 tm(e,t){return oe(e.type._def,t)}function rm(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 nm(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 am(){return{not:je()}}function om(){return je()}var sm=(e,t)=>oe(e.innerType._def,t),im=(e,t,r)=>{switch(t){case q.ZodString:return Ri(e,r);case q.ZodNumber:return Yg(e);case q.ZodObject:return Wg(e,r);case q.ZodBigInt:return xg(e);case q.ZodBoolean:return kg();case q.ZodDate:return Oi(e,r);case q.ZodUndefined:return am();case q.ZodNull:return Bg();case q.ZodArray:return Rg(e,r);case q.ZodUnion:case q.ZodDiscriminatedUnion:return Vg(e,r);case q.ZodIntersection:return Fg(e,r);case q.ZodTuple:return nm(e,r);case q.ZodRecord:return xi(e,r);case q.ZodLiteral:return Lg(e);case q.ZodEnum:return $g(e);case q.ZodNativeEnum:return Zg(e);case q.ZodNullable:return Jg(e,r);case q.ZodOptional:return Qg(e,r);case q.ZodMap:return qg(e,r);case q.ZodSet:return rm(e,r);case q.ZodLazy:return()=>e.getter()._def;case q.ZodPromise:return tm(e,r);case q.ZodNaN:case q.ZodNever:return Gg();case q.ZodEffects:return Dg(e,r);case q.ZodAny:return je();case q.ZodUnknown:return om();case q.ZodDefault:return zg(e,r);case q.ZodBranded:return Ni(e,r);case q.ZodReadonly:return sm(e,r);case q.ZodCatch:return Pg(e,r);case q.ZodPipeline:return em(e,r);case q.ZodFunction:case q.ZodVoid:case q.ZodSymbol:return;default:return(n=>{})()}},lm=(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!==Ng)return l}if(a&&!r){const l=um(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=im(e,e.typeName,t),i=typeof s=="function"?oe(s(),t):s;if(i&&cm(e,t,i),t.postProcess){const l=t.postProcess(i,e,t);return o.jsonSchema=i,l}return o.jsonSchema=i,i}var um=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:lm(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}},cm=(e,t,r)=>(e.description&&(r.description=e.description),r),dm=e=>{const t=Og(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}]))}},pm=(e,t)=>{var r;const n=dm(t);let a=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((u,[c,p])=>{var d;return{...u,[c]:(d=oe(p._def,{...n,currentPath:[...n.basePath,n.definitionPath,c]},!0))!=null?d: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},jn=Symbol.for("vercel.ai.schema");function Xt(e){let t;return()=>(t==null&&(t=e()),t)}function pn(e,{validate:t}={}){return{[jn]:!0,_type:void 0,get jsonSchema(){return typeof e=="function"&&(e=e()),e},validate:t}}function fm(e){return typeof e=="object"&&e!==null&&jn in e&&e[jn]===!0&&"jsonSchema"in e&&"validate"in e}function Qt(e){return e==null?pn({properties:{},additionalProperties:!1}):fm(e)?e:"~standard"in e?e["~standard"].vendor==="zod"?Ct(e):gm(e):e()}function gm(e){return pn(()=>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 mm(e,t){var r;const n=(r=void 0)!=null?r:!1;return pn(()=>pm(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 hm(e,t){var r;const n=(r=void 0)!=null?r:!1;return pn(()=>Ai(Bp(e,{target:"draft-7",io:"input",reused:n?"ref":"inline"})),{validate:async a=>{const o=await gi(e,a);return o.success?{success:!0,value:o.data}:{success:!1,error:o.error}}})}function ym(e){return"_zod"in e}function Ct(e,t){return ym(e)?hm(e):mm(e)}async function qn({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=Qt(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 vm({text:e,schema:t}){try{const r=Si(e);return t==null?r:qn({value:r,schema:t})}catch(r){throw Zr.isInstance(r)||Rt.isInstance(r)?r:new Zr({text:e,cause:r})}}async function We({text:e,schema:t}){try{const r=Si(e);return t==null?{success:!0,value:r,rawValue:r}:await rt({value:r,schema:t})}catch(r){return{success:!1,error:Zr.isInstance(r)?r:new Zr({text:e,cause:r}),rawValue:void 0}}}function _m({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new mg).pipeThrough(new TransformStream({async transform({data:r},n){r!=="[DONE]"&&n.enqueue(await We({text:r,schema:t}))}}))}var wm=()=>globalThis.fetch,tn=async({url:e,headers:t,body:r,failedResponseHandler:n,successfulResponseHandler:a,abortSignal:o,fetch:s})=>Tm({url:e,headers:{"Content-Type":"application/json",...t},body:{content:JSON.stringify(r),values:r},failedResponseHandler:n,successfulResponseHandler:a,abortSignal:o,fetch:s}),Tm=async({url:e,headers:t={},body:r,successfulResponseHandler:n,failedResponseHandler:a,abortSignal:o,fetch:s=wm()})=>{try{const i=await s(e,{method:"POST",headers:Or(t,`ai-sdk/provider-utils/${Ii}`,sa()),body:r.content,signal:o}),l=Ar(i);if(!i.ok){let u;try{u=await a({response:i,url:e,requestBodyValues:r.values})}catch(c){throw kt(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&&(kt(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 Ei({error:i,url:e,requestBodyValues:r.values})}};async function Ge(e){return typeof e=="function"&&(e=e()),Promise.resolve(e)}var Jt=({errorSchema:e,errorToMessage:t,isRetryable:r})=>async({response:n,url:a,requestBodyValues:o})=>{const s=await n.text(),i=Ar(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 vm({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)})}}},bm=e=>async({response:t})=>{const r=Ar(t);if(t.body==null)throw new _u({});return{responseHeaders:r,value:_m({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=Ar(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 Em(e){return e==null?void 0:e.replace(/\/$/,"")}function Im(e){return e!=null&&typeof e[Symbol.asyncIterator]=="function"}async function*Sm({execute:e,input:t,options:r}){const n=e(t,r);if(Im(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 Nn,go;function Am(){if(go)return Nn;go=1;var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,n=Object.prototype.hasOwnProperty,a=(c,p)=>{for(var d in p)e(c,d,{get:p[d],enumerable:!0})},o=(c,p,d,v)=>{if(p&&typeof p=="object"||typeof p=="function")for(let E of r(p))!n.call(c,E)&&E!==d&&e(c,E,{get:()=>p[E],enumerable:!(v=t(p,E))||v.enumerable});return c},s=c=>o(e({},"__esModule",{value:!0}),c),i={};a(i,{SYMBOL_FOR_REQ_CONTEXT:()=>l,getContext:()=>u}),Nn=s(i);const l=Symbol.for("@vercel/request-context");function u(){var p,d;return((d=(p=globalThis[l])==null?void 0:p.get)==null?void 0:d.call(p))??{}}return Nn}var On,mo;function Nm(){if(mo)return On;mo=1;var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,n=Object.prototype.hasOwnProperty,a=(p,d)=>{for(var v in d)e(p,v,{get:d[v],enumerable:!0})},o=(p,d,v,E)=>{if(d&&typeof d=="object"||typeof d=="function")for(let w of r(d))!n.call(p,w)&&w!==v&&e(p,w,{get:()=>d[w],enumerable:!(E=t(d,w))||E.enumerable});return p},s=p=>o(e({},"__esModule",{value:!0}),p),i={};a(i,{getContext:()=>l.getContext,getVercelOidcToken:()=>u,getVercelOidcTokenSync:()=>c}),On=s(i);var l=Am();async function u(){return""}function c(){return""}return On}var ki=Nm(),Om="vercel.ai.gateway.error",Rn=Symbol.for(Om),ho,yo,qe=class Pi extends(yo=Error,ho=Rn,yo){constructor({message:t,statusCode:r=500,cause:n}){super(t),this[ho]=!0,this.statusCode=r,this.cause=n}static isInstance(t){return Pi.hasMarker(t)}static hasMarker(t){return typeof t=="object"&&t!==null&&Rn in t&&t[Rn]===!0}},Ci="GatewayAuthenticationError",Rm=`vercel.ai.gateway.error.${Ci}`,vo=Symbol.for(Rm),_o,wo,ia=class zi extends(wo=qe,_o=vo,wo){constructor({message:t="Authentication failed",statusCode:r=401,cause:n}={}){super({message:t,statusCode:r,cause:n}),this[_o]=!0,this.name=Ci,this.type="authentication_error"}static isInstance(t){return qe.hasMarker(t)&&vo 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.
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 xi(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}=Ni(e.keyType._def,t);return{...l,propertyNames:c}}}return l}function qg(e,t){if(t.mapStrategy==="record")return xi(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 Zg(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 Gg(){return{not:je()}}function Bg(){return{type:"null"}}var Un={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function Vg(e,t){const r=e.options instanceof Map?Array.from(e.options.values()):e.options;if(r.every(n=>n._def.typeName in Un&&(!n._def.checks||!n._def.checks.length))){const n=r.reduce((a,o)=>{const s=Un[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 Hg(e,t)}var Hg=(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 Jg(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return{type:[Un[e.innerType._def.typeName],"null"]};const r=oe(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function Yg(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 Wg(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=Xg(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=Kg(e,t);return o!==void 0&&(r.additionalProperties=o),r}function Kg(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 Xg(e){try{return e.isOptional()}catch{return!0}}var Qg=(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()},em=(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 tm(e,t){return oe(e.type._def,t)}function rm(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 nm(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 am(){return{not:je()}}function om(){return je()}var sm=(e,t)=>oe(e.innerType._def,t),im=(e,t,r)=>{switch(t){case j.ZodString:return Ri(e,r);case j.ZodNumber:return Yg(e);case j.ZodObject:return Wg(e,r);case j.ZodBigInt:return xg(e);case j.ZodBoolean:return kg();case j.ZodDate:return Oi(e,r);case j.ZodUndefined:return am();case j.ZodNull:return Bg();case j.ZodArray:return Rg(e,r);case j.ZodUnion:case j.ZodDiscriminatedUnion:return Vg(e,r);case j.ZodIntersection:return Fg(e,r);case j.ZodTuple:return nm(e,r);case j.ZodRecord:return xi(e,r);case j.ZodLiteral:return Lg(e);case j.ZodEnum:return Dg(e);case j.ZodNativeEnum:return Zg(e);case j.ZodNullable:return Jg(e,r);case j.ZodOptional:return Qg(e,r);case j.ZodMap:return qg(e,r);case j.ZodSet:return rm(e,r);case j.ZodLazy:return()=>e.getter()._def;case j.ZodPromise:return tm(e,r);case j.ZodNaN:case j.ZodNever:return Gg();case j.ZodEffects:return $g(e,r);case j.ZodAny:return je();case j.ZodUnknown:return om();case j.ZodDefault:return zg(e,r);case j.ZodBranded:return Ni(e,r);case j.ZodReadonly:return sm(e,r);case j.ZodCatch:return Pg(e,r);case j.ZodPipeline:return em(e,r);case j.ZodFunction:case j.ZodVoid:case j.ZodSymbol:return;default:return(n=>{})()}},lm=(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!==Ng)return l}if(a&&!r){const l=um(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=im(e,e.typeName,t),i=typeof s=="function"?oe(s(),t):s;if(i&&cm(e,t,i),t.postProcess){const l=t.postProcess(i,e,t);return o.jsonSchema=i,l}return o.jsonSchema=i,i}var um=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:lm(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}},cm=(e,t,r)=>(e.description&&(r.description=e.description),r),dm=e=>{const t=Og(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}]))}},pm=(e,t)=>{var r;const n=dm(t);let a=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((u,[c,p])=>{var d;return{...u,[c]:(d=oe(p._def,{...n,currentPath:[...n.basePath,n.definitionPath,c]},!0))!=null?d: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},jn=Symbol.for("vercel.ai.schema");function Xt(e){let t;return()=>(t==null&&(t=e()),t)}function pn(e,{validate:t}={}){return{[jn]:!0,_type:void 0,get jsonSchema(){return typeof e=="function"&&(e=e()),e},validate:t}}function fm(e){return typeof e=="object"&&e!==null&&jn in e&&e[jn]===!0&&"jsonSchema"in e&&"validate"in e}function Qt(e){return e==null?pn({properties:{},additionalProperties:!1}):fm(e)?e:"~standard"in e?e["~standard"].vendor==="zod"?Ct(e):gm(e):e()}function gm(e){return pn(()=>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 mm(e,t){var r;const n=(r=void 0)!=null?r:!1;return pn(()=>pm(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 hm(e,t){var r;const n=(r=void 0)!=null?r:!1;return pn(()=>Ai(Bp(e,{target:"draft-7",io:"input",reused:n?"ref":"inline"})),{validate:async a=>{const o=await gi(e,a);return o.success?{success:!0,value:o.data}:{success:!1,error:o.error}}})}function ym(e){return"_zod"in e}function Ct(e,t){return ym(e)?hm(e):mm(e)}async function qn({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=Qt(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 vm({text:e,schema:t}){try{const r=Si(e);return t==null?r:qn({value:r,schema:t})}catch(r){throw Zr.isInstance(r)||Rt.isInstance(r)?r:new Zr({text:e,cause:r})}}async function We({text:e,schema:t}){try{const r=Si(e);return t==null?{success:!0,value:r,rawValue:r}:await rt({value:r,schema:t})}catch(r){return{success:!1,error:Zr.isInstance(r)?r:new Zr({text:e,cause:r}),rawValue:void 0}}}function _m({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new mg).pipeThrough(new TransformStream({async transform({data:r},n){r!=="[DONE]"&&n.enqueue(await We({text:r,schema:t}))}}))}var wm=()=>globalThis.fetch,tn=async({url:e,headers:t,body:r,failedResponseHandler:n,successfulResponseHandler:a,abortSignal:o,fetch:s})=>Tm({url:e,headers:{"Content-Type":"application/json",...t},body:{content:JSON.stringify(r),values:r},failedResponseHandler:n,successfulResponseHandler:a,abortSignal:o,fetch:s}),Tm=async({url:e,headers:t={},body:r,successfulResponseHandler:n,failedResponseHandler:a,abortSignal:o,fetch:s=wm()})=>{try{const i=await s(e,{method:"POST",headers:Or(t,`ai-sdk/provider-utils/${Ii}`,sa()),body:r.content,signal:o}),l=Ar(i);if(!i.ok){let u;try{u=await a({response:i,url:e,requestBodyValues:r.values})}catch(c){throw kt(c)||De.isInstance(c)?c:new De({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&&(kt(u)||De.isInstance(u))?u:new De({message:"Failed to process successful response",cause:u,statusCode:i.status,url:e,responseHeaders:l,requestBodyValues:r.values})}}catch(i){throw Ei({error:i,url:e,requestBodyValues:r.values})}};async function Ge(e){return typeof e=="function"&&(e=e()),Promise.resolve(e)}var Jt=({errorSchema:e,errorToMessage:t,isRetryable:r})=>async({response:n,url:a,requestBodyValues:o})=>{const s=await n.text(),i=Ar(n);if(s.trim()==="")return{responseHeaders:i,value:new De({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 vm({text:s,schema:e});return{responseHeaders:i,value:new De({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 De({message:n.statusText,url:a,requestBodyValues:o,statusCode:n.status,responseHeaders:i,responseBody:s,isRetryable:r==null?void 0:r(n)})}}},bm=e=>async({response:t})=>{const r=Ar(t);if(t.body==null)throw new _u({});return{responseHeaders:r,value:_m({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=Ar(t);if(!o.success)throw new De({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 Em(e){return e==null?void 0:e.replace(/\/$/,"")}function Im(e){return e!=null&&typeof e[Symbol.asyncIterator]=="function"}async function*Sm({execute:e,input:t,options:r}){const n=e(t,r);if(Im(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 Nn,go;function Am(){if(go)return Nn;go=1;var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,n=Object.prototype.hasOwnProperty,a=(c,p)=>{for(var d in p)e(c,d,{get:p[d],enumerable:!0})},o=(c,p,d,v)=>{if(p&&typeof p=="object"||typeof p=="function")for(let E of r(p))!n.call(c,E)&&E!==d&&e(c,E,{get:()=>p[E],enumerable:!(v=t(p,E))||v.enumerable});return c},s=c=>o(e({},"__esModule",{value:!0}),c),i={};a(i,{SYMBOL_FOR_REQ_CONTEXT:()=>l,getContext:()=>u}),Nn=s(i);const l=Symbol.for("@vercel/request-context");function u(){var p,d;return((d=(p=globalThis[l])==null?void 0:p.get)==null?void 0:d.call(p))??{}}return Nn}var On,mo;function Nm(){if(mo)return On;mo=1;var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,n=Object.prototype.hasOwnProperty,a=(p,d)=>{for(var v in d)e(p,v,{get:d[v],enumerable:!0})},o=(p,d,v,E)=>{if(d&&typeof d=="object"||typeof d=="function")for(let w of r(d))!n.call(p,w)&&w!==v&&e(p,w,{get:()=>d[w],enumerable:!(E=t(d,w))||E.enumerable});return p},s=p=>o(e({},"__esModule",{value:!0}),p),i={};a(i,{getContext:()=>l.getContext,getVercelOidcToken:()=>u,getVercelOidcTokenSync:()=>c}),On=s(i);var l=Am();async function u(){return""}function c(){return""}return On}var ki=Nm(),Om="vercel.ai.gateway.error",Rn=Symbol.for(Om),ho,yo,qe=class Pi extends(yo=Error,ho=Rn,yo){constructor({message:t,statusCode:r=500,cause:n}){super(t),this[ho]=!0,this.statusCode=r,this.cause=n}static isInstance(t){return Pi.hasMarker(t)}static hasMarker(t){return typeof t=="object"&&t!==null&&Rn in t&&t[Rn]===!0}},Ci="GatewayAuthenticationError",Rm=`vercel.ai.gateway.error.${Ci}`,vo=Symbol.for(Rm),_o,wo,ia=class zi extends(wo=qe,_o=vo,wo){constructor({message:t="Authentication failed",statusCode:r=401,cause:n}={}){super({message:t,statusCode:r,cause:n}),this[_o]=!0,this.name=Ci,this.type="authentication_error"}static isInstance(t){return qe.hasMarker(t)&&vo 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
50
 
51
51
  Create a new API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
52
52
 
@@ -61,7 +61,7 @@ Create an API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
61
61
  Provide via 'apiKey' option or 'AI_GATEWAY_API_KEY' environment variable.
62
62
 
63
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})}},Di="GatewayInvalidRequestError",xm=`vercel.ai.gateway.error.${Di}`,To=Symbol.for(xm),bo,Eo,km=class extends(Eo=qe,bo=To,Eo){constructor({message:e="Invalid request",statusCode:t=400,cause:r}={}){super({message:e,statusCode:t,cause:r}),this[bo]=!0,this.name=Di,this.type="invalid_request_error"}static isInstance(e){return qe.hasMarker(e)&&To in e}},$i="GatewayRateLimitError",Pm=`vercel.ai.gateway.error.${$i}`,Io=Symbol.for(Pm),So,Ao,Cm=class extends(Ao=qe,So=Io,Ao){constructor({message:e="Rate limit exceeded",statusCode:t=429,cause:r}={}){super({message:e,statusCode:t,cause:r}),this[So]=!0,this.name=$i,this.type="rate_limit_exceeded"}static isInstance(e){return qe.hasMarker(e)&&Io in e}},Mi="GatewayModelNotFoundError",zm=`vercel.ai.gateway.error.${Mi}`,No=Symbol.for(zm),Dm=Xt(()=>Ct(G({modelId:x()}))),Oo,Ro,$m=class extends(Ro=qe,Oo=No,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=Mi,this.type="model_not_found",this.modelId=r}static isInstance(e){return qe.hasMarker(e)&&No in e}},Fi="GatewayInternalServerError",Mm=`vercel.ai.gateway.error.${Fi}`,xo=Symbol.for(Mm),ko,Po,Co=class extends(Po=qe,ko=xo,Po){constructor({message:e="Internal server error",statusCode:t=500,cause:r}={}){super({message:e,statusCode:t,cause:r}),this[ko]=!0,this.name=Fi,this.type="internal_server_error"}static isInstance(e){return qe.hasMarker(e)&&xo in e}},Li="GatewayResponseError",Fm=`vercel.ai.gateway.error.${Li}`,zo=Symbol.for(Fm),Do,$o,Lm=class extends($o=qe,Do=zo,$o){constructor({message:e="Invalid response from Gateway",statusCode:t=502,response:r,validationError:n,cause:a}={}){super({message:e,statusCode:t,cause:a}),this[Do]=!0,this.name=Li,this.type="response_error",this.response=r,this.validationError=n}static isInstance(e){return qe.hasMarker(e)&&zo in e}};async function Mo({response:e,statusCode:t,defaultMessage:r="Gateway request failed",cause:n,authMethod:a}){const o=await rt({value:e,schema:Um});if(!o.success)return new Lm({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 ia.createContextualError({apiKeyProvided:a==="api-key",oidcTokenProvided:a==="oidc",statusCode:t,cause:n});case"invalid_request_error":return new km({message:l,statusCode:t,cause:n});case"rate_limit_exceeded":return new Cm({message:l,statusCode:t,cause:n});case"model_not_found":{const u=await rt({value:s.error.param,schema:Dm});return new $m({message:l,statusCode:t,modelId:u.success?u.value.modelId:void 0,cause:n})}case"internal_server_error":return new Co({message:l,statusCode:t,cause:n});default:return new Co({message:l,statusCode:t,cause:n})}}var Um=Xt(()=>Ct(G({error:G({message:x(),type:x().nullish(),param:xt().nullish(),code:Pe([x(),Wr()]).nullish()})})));function Tt(e,t){var r;return qe.isInstance(e)?e:$e.isInstance(e)?Mo({response:jm(e),statusCode:(r=e.statusCode)!=null?r:500,defaultMessage:"Gateway request failed",cause:e,authMethod:t}):Mo({response:{},statusCode:500,defaultMessage:e instanceof Error?`Gateway request failed: ${e.message}`:"Unknown Gateway error",cause:e,authMethod:t})}function jm(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 Ui="ai-gateway-auth-method";async function Yt(e){const t=await rt({value:e[Ui],schema:qm});return t.success?t.value:void 0}var qm=Xt(()=>Ct(Pe([ee("api-key"),ee("oidc")]))),Fo=class{constructor(e){this.config=e}async getAvailableModels(){try{const{value:e}=await uo({url:`${this.config.baseURL}/config`,headers:await Ge(this.config.headers()),successfulResponseHandler:yr(Zm),failedResponseHandler:Jt({errorSchema:ht(),errorToMessage:t=>t}),fetch:this.config.fetch});return e}catch(e){throw await Tt(e)}}async getCredits(){try{const e=new URL(this.config.baseURL),{value:t}=await uo({url:`${e.origin}/v1/credits`,headers:await Ge(this.config.headers()),successfulResponseHandler:yr(Gm),failedResponseHandler:Jt({errorSchema:ht(),errorToMessage:r=>r}),fetch:this.config.fetch});return t}catch(e){throw await Tt(e)}}},Zm=Xt(()=>Ct(G({models:Ue(G({id:x(),name:x(),description:x().nullish(),pricing:G({input:x(),output:x(),input_cache_read:x().nullish(),input_cache_write:x().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:x(),modelId:x()}),modelType:vi(["language","embedding","image"]).nullish()}))}))),Gm=Xt(()=>Ct(G({balance:x(),total_used:x()}).transform(({balance:e,total_used:t})=>({balance:e,totalUsed:t})))),Bm=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 tn({url:this.getUrl(),headers:Qr(a,e.headers,this.getModelConfigHeaders(this.modelId,!1),await Ge(this.config.o11yHeaders)),body:t,successfulResponseHandler:yr(ht()),failedResponseHandler:Jt({errorSchema:ht(),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 Tt(o,await Yt(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 tn({url:this.getUrl(),headers:Qr(a,e.headers,this.getModelConfigHeaders(this.modelId,!0),await Ge(this.config.o11yHeaders)),body:t,successfulResponseHandler:bm(ht()),failedResponseHandler:Jt({errorSchema:ht(),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 Tt(o,await Yt(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)}}},Vm=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 tn({url:this.getUrl(),headers:Qr(o,t??{},this.getModelConfigHeaders(),await Ge(this.config.o11yHeaders)),body:{values:e,...n?{providerOptions:n}:{}},successfulResponseHandler:yr(Hm),failedResponseHandler:Jt({errorSchema:ht(),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 Tt(s,await Yt(o))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"3","ai-model-id":this.modelId}}},Hm=Xt(()=>Ct(G({embeddings:Ue(Ue(Wr())),usage:G({tokens:Wr()}).nullish(),providerMetadata:wt(x(),wt(x(),xt())).optional()}))),Jm=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 p=await Ge(this.config.headers());try{const{responseHeaders:d,value:v,rawValue:E}=await tn({url:this.getUrl(),headers:Qr(p,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(w=>Lo(w))},...s&&{mask:Lo(s)}},successfulResponseHandler:yr(Wm),failedResponseHandler:Jt({errorSchema:ht(),errorToMessage:w=>w}),...u&&{abortSignal:u},fetch:this.config.fetch});return{images:v.images,warnings:(c=v.warnings)!=null?c:[],providerMetadata:v.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:d}}}catch(d){throw Tt(d,await Yt(p))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"3","ai-model-id":this.modelId}}};function Lo(e){return e.type==="file"&&e.data instanceof Uint8Array?{...e,data:en(e.data)}:e}var Ym=G({images:Ue(xt()).optional()}).catchall(xt()),Wm=G({images:Ue(x()),warnings:Ue(G({type:ee("other"),message:x()})).optional(),providerMetadata:wt(x(),Ym).optional()});async function Km(){var e;return(e=ki.getContext().headers)==null?void 0:e["x-vercel-id"]}var Xm="3.0.8",Qm="0.0.1";function eh(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=Em(e.baseURL))!=null?r:"https://ai-gateway.vercel.sh/v3/ai",l=async()=>{try{const w=await rh(e);return Or({Authorization:`Bearer ${w.token}`,"ai-gateway-protocol-version":Qm,[Ui]:w.authMethod,...e.headers},`ai-sdk/gateway/${Xm}`)}catch(w){throw ia.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:w})}},u=()=>{const w=qr({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),I=qr({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),P=qr({settingValue:void 0,environmentVariableName:"VERCEL_REGION"});return async()=>{const C=await Km();return{...w&&{"ai-o11y-deployment-id":w},...I&&{"ai-o11y-environment":I},...P&&{"ai-o11y-region":P},...C&&{"ai-o11y-request-id":C}}}},c=w=>new Bm(w,{provider:"gateway",baseURL:i,headers:l,fetch:e.fetch,o11yHeaders:u()}),p=async()=>{var w,I,P;const C=(P=(I=(w=e._internal)==null?void 0:w.currentDate)==null?void 0:I.call(w).getTime())!=null?P:Date.now();return(!n||C-s>o)&&(s=C,n=new Fo({baseURL:i,headers:l,fetch:e.fetch}).getAvailableModels().then(h=>(a=h,h)).catch(async h=>{throw await Tt(h,await Yt(await l()))})),a?Promise.resolve(a):n},d=async()=>new Fo({baseURL:i,headers:l,fetch:e.fetch}).getCredits().catch(async w=>{throw await Tt(w,await Yt(await l()))}),v=function(w){if(new.target)throw new Error("The Gateway Provider model function cannot be called with the new keyword.");return c(w)};v.specificationVersion="v3",v.getAvailableModels=p,v.getCredits=d,v.imageModel=w=>new Jm(w,{provider:"gateway",baseURL:i,headers:l,fetch:e.fetch,o11yHeaders:u()}),v.languageModel=c;const E=w=>new Vm(w,{provider:"gateway",baseURL:i,headers:l,fetch:e.fetch,o11yHeaders:u()});return v.embeddingModel=E,v.textEmbeddingModel=E,v}var th=eh();async function rh(e){const t=qr({settingValue:e.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});return t?{token:t,authMethod:"api-key"}:{token:await ki.getVercelOidcToken(),authMethod:"oidc"}}var nh=typeof globalThis=="object"?globalThis:typeof self=="object"?self:typeof window=="object"?window:typeof global=="object"?global:{},Ot="1.9.0",Uo=/^(\d+)\.(\d+)\.(\d+)(-(.+))?$/;function ah(e){var t=new Set([e]),r=new Set,n=e.match(Uo);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(Uo);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 oh=ah(Ot),sh=Ot.split(".")[0],vr=Symbol.for("opentelemetry.js.api."+sh),_r=nh;function la(e,t,r,n){var a;n===void 0&&(n=!1);var o=_r[vr]=(a=_r[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 wr(e){var t,r,n=(t=_r[vr])===null||t===void 0?void 0:t.version;if(!(!n||!oh(n)))return(r=_r[vr])===null||r===void 0?void 0:r[e]}function ua(e,t){t.debug("@opentelemetry/api: Unregistering a global for "+e+" v"+Ot+".");var r=_r[vr];r&&delete r[e]}var ih=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},lh=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))},uh=(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 lr("debug",this._namespace,t)},e.prototype.error=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return lr("error",this._namespace,t)},e.prototype.info=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return lr("info",this._namespace,t)},e.prototype.warn=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return lr("warn",this._namespace,t)},e.prototype.verbose=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return lr("verbose",this._namespace,t)},e})();function lr(e,t,r){var n=wr("diag");if(n)return r.unshift(t),n[e].apply(n,lh([],ih(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 ch(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 dh=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},ph=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))},fh="diag",rn=(function(){function e(){function t(a){return function(){for(var o=[],s=0;s<arguments.length;s++)o[s]=arguments[s];var i=wr("diag");if(i)return i[a].apply(i,ph([],dh(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=wr("diag"),p=ch((i=o.logLevel)!==null&&i!==void 0?i:Le.INFO,a);if(c&&!o.suppressOverrideMessage){var d=(l=new Error().stack)!==null&&l!==void 0?l:"<failed to generate stacktrace>";c.warn("Current logger will be overwritten from "+d),p.warn("Current logger will overwrite one already registered from "+d)}return la("diag",p,r,!0)};r.setLogger=n,r.disable=function(){ua(fh,r)},r.createComponentLogger=function(a){return new uh(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 gh(e){return Symbol.for(e)}var mh=(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})(),hh=new mh,yh=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},vh=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))},_h=(function(){function e(){}return e.prototype.active=function(){return hh},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,vh([n],yh(a),!1))},e.prototype.bind=function(t,r){return r},e.prototype.enable=function(){return this},e.prototype.disable=function(){return this},e})(),wh=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},Th=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))},xn="context",bh=new _h,ji=(function(){function e(){}return e.getInstance=function(){return this._instance||(this._instance=new e),this._instance},e.prototype.setGlobalContextManager=function(t){return la(xn,t,rn.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,Th([t,r,n],wh(o),!1))},e.prototype.bind=function(t,r){return this._getContextManager().bind(t,r)},e.prototype._getContextManager=function(){return wr(xn)||bh},e.prototype.disable=function(){this._getContextManager().disable(),ua(xn,rn.instance())},e})(),Zn;(function(e){e[e.NONE=0]="NONE",e[e.SAMPLED=1]="SAMPLED"})(Zn||(Zn={}));var qi="0000000000000000",Zi="00000000000000000000000000000000",Eh={traceId:Zi,spanId:qi,traceFlags:Zn.NONE},dr=(function(){function e(t){t===void 0&&(t=Eh),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})(),ca=gh("OpenTelemetry Context Key SPAN");function da(e){return e.getValue(ca)||void 0}function Ih(){return da(ji.getInstance().active())}function pa(e,t){return e.setValue(ca,t)}function Sh(e){return e.deleteValue(ca)}function Ah(e,t){return pa(e,new dr(t))}function Gi(e){var t;return(t=da(e))===null||t===void 0?void 0:t.spanContext()}var Nh=/^([0-9a-f]{32})$/i,Oh=/^[0-9a-f]{16}$/i;function Rh(e){return Nh.test(e)&&e!==Zi}function xh(e){return Oh.test(e)&&e!==qi}function Bi(e){return Rh(e.traceId)&&xh(e.spanId)}function kh(e){return new dr(e)}var kn=ji.getInstance(),Vi=(function(){function e(){}return e.prototype.startSpan=function(t,r,n){n===void 0&&(n=kn.active());var a=!!(r!=null&&r.root);if(a)return new dr;var o=n&&Gi(n);return Ph(o)&&Bi(o)?new dr(o):new dr},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??kn.active(),u=this.startSpan(t,o,l),c=pa(l,u);return kn.with(c,i,void 0,u)}},e})();function Ph(e){return typeof e=="object"&&typeof e.spanId=="string"&&typeof e.traceId=="string"&&typeof e.traceFlags=="number"}var Ch=new Vi,zh=(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):Ch},e})(),Dh=(function(){function e(){}return e.prototype.getTracer=function(t,r,n){return new Vi},e})(),$h=new Dh,jo=(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 zh(this,t,r,n)},e.prototype.getDelegate=function(){var t;return(t=this._delegate)!==null&&t!==void 0?t:$h},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})(),nn;(function(e){e[e.UNSET=0]="UNSET",e[e.OK=1]="OK",e[e.ERROR=2]="ERROR"})(nn||(nn={}));var Pn="trace",Mh=(function(){function e(){this._proxyTracerProvider=new jo,this.wrapSpanContext=kh,this.isSpanContextValid=Bi,this.deleteSpan=Sh,this.getSpan=da,this.getActiveSpan=Ih,this.getSpanContext=Gi,this.setSpan=pa,this.setSpanContext=Ah}return e.getInstance=function(){return this._instance||(this._instance=new e),this._instance},e.prototype.setGlobalTracerProvider=function(t){var r=la(Pn,this._proxyTracerProvider,rn.instance());return r&&this._proxyTracerProvider.setDelegate(t),r},e.prototype.getTracerProvider=function(){return wr(Pn)||this._proxyTracerProvider},e.prototype.getTracer=function(t,r){return this.getTracerProvider().getTracer(t,r)},e.prototype.disable=function(){ua(Pn,rn.instance()),this._proxyTracerProvider=new jo},e})(),Fh=Mh.getInstance(),Lh=Object.defineProperty,Uh=(e,t)=>{for(var r in t)Lh(e,r,{get:t[r],enumerable:!0})},Hi="AI_InvalidArgumentError",Ji=`vercel.ai.error.${Hi}`,jh=Symbol.for(Ji),Yi,et=class extends H{constructor({parameter:e,value:t,message:r}){super({name:Hi,message:`Invalid argument for parameter ${e}: ${r}`}),this[Yi]=!0,this.parameter=e,this.value=t}static isInstance(e){return H.hasMarker(e,Ji)}};Yi=jh;var Wi="AI_InvalidToolApprovalError",Ki=`vercel.ai.error.${Wi}`,qh=Symbol.for(Ki),Xi,Zh=class extends H{constructor({approvalId:e}){super({name:Wi,message:`Tool approval response references unknown approvalId: "${e}". No matching tool-approval-request found in message history.`}),this[Xi]=!0,this.approvalId=e}static isInstance(e){return H.hasMarker(e,Ki)}};Xi=qh;var Qi="AI_InvalidToolInputError",el=`vercel.ai.error.${Qi}`,Gh=Symbol.for(el),tl,fa=class extends H{constructor({toolInput:e,toolName:t,cause:r,message:n=`Invalid input for tool ${t}: ${Wt(r)}`}){super({name:Qi,message:n,cause:r}),this[tl]=!0,this.toolInput=e,this.toolName=t}static isInstance(e){return H.hasMarker(e,el)}};tl=Gh;var rl="AI_ToolCallNotFoundForApprovalError",nl=`vercel.ai.error.${rl}`,Bh=Symbol.for(nl),al,ga=class extends H{constructor({toolCallId:e,approvalId:t}){super({name:rl,message:`Tool call "${e}" not found for approval request "${t}".`}),this[al]=!0,this.toolCallId=e,this.approvalId=t}static isInstance(e){return H.hasMarker(e,nl)}};al=Bh;var ol="AI_NoObjectGeneratedError",sl=`vercel.ai.error.${ol}`,Vh=Symbol.for(sl),il,yt=class extends H{constructor({message:e="No object generated.",cause:t,text:r,response:n,usage:a,finishReason:o}){super({name:ol,message:e,cause:t}),this[il]=!0,this.text=r,this.response=n,this.usage=a,this.finishReason=o}static isInstance(e){return H.hasMarker(e,sl)}};il=Vh;var ll="AI_NoOutputGeneratedError",ul=`vercel.ai.error.${ll}`,Hh=Symbol.for(ul),cl,dl=class extends H{constructor({message:e="No output generated.",cause:t}={}){super({name:ll,message:e,cause:t}),this[cl]=!0}static isInstance(e){return H.hasMarker(e,ul)}};cl=Hh;var pl="AI_NoSuchToolError",fl=`vercel.ai.error.${pl}`,Jh=Symbol.for(fl),gl,Gn=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:pl,message:r}),this[gl]=!0,this.toolName=e,this.availableTools=t}static isInstance(e){return H.hasMarker(e,fl)}};gl=Jh;var ml="AI_ToolCallRepairError",hl=`vercel.ai.error.${ml}`,Yh=Symbol.for(hl),yl,Wh=class extends H{constructor({cause:e,originalError:t,message:r=`Error repairing tool call: ${Wt(e)}`}){super({name:ml,message:r,cause:e}),this[yl]=!0,this.originalError=t}static isInstance(e){return H.hasMarker(e,hl)}};yl=Yh;var Kh=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}},vl="AI_InvalidMessageRoleError",_l=`vercel.ai.error.${vl}`,Xh=Symbol.for(_l),wl,Qh=class extends H{constructor({role:e,message:t=`Invalid message role: '${e}'. Must be one of: "system", "user", "assistant", "tool".`}){super({name:vl,message:t}),this[wl]=!0,this.role=e}static isInstance(e){return H.hasMarker(e,_l)}};wl=Xh;var Tl="AI_RetryError",bl=`vercel.ai.error.${Tl}`,ey=Symbol.for(bl),El,qo=class extends H{constructor({message:e,reason:t,errors:r}){super({name:Tl,message:e}),this[El]=!0,this.reason=t,this.errors=r,this.lastError=r[r.length-1]}static isInstance(e){return H.hasMarker(e,bl)}};El=ey;function ty({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 ry="AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.",Zo=!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}Zo||(Zo=!0,console.info(ry));for(const r of e.warnings)console.warn(ty({warning:r,provider:e.provider,model:e.model}))}};function ny({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 ay(e){return e.specificationVersion==="v3"?e:(ny({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:Il(a.finishReason),usage:Sl(a.usage)}};case"doStream":return async(...n)=>{const a=await t.doStream(...n);return{...a,stream:oy(a.stream)}};default:return t[r]}}}))}function oy(e){return e.pipeThrough(new TransformStream({transform(t,r){switch(t.type){case"finish":r.enqueue({...t,finishReason:Il(t.finishReason),usage:Sl(t.usage)});break;default:r.enqueue(t);break}}}))}function Il(e){return{unified:e==="unknown"?"other":e,raw:void 0}}function Sl(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 an(e){if(typeof e!="string"){if(e.specificationVersion!=="v3"&&e.specificationVersion!=="v2"){const t=e;throw new Kh({version:t.specificationVersion,provider:t.provider,modelId:t.modelId})}return ay(e)}return sy().languageModel(e)}function sy(){var e;return(e=globalThis.AI_SDK_DEFAULT_PROVIDER)!=null?e:th}var iy=[{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]}],ly=e=>{const t=typeof e=="string"?aa(e):e,r=(t[6]&127)<<21|(t[7]&127)<<14|(t[8]&127)<<7|t[9]&127;return t.slice(r+10)};function uy(e){return typeof e=="string"&&e.startsWith("SUQz")||typeof e!="string"&&e.length>10&&e[0]===73&&e[1]===68&&e[2]===51?ly(e):e}function cy({data:e,signatures:t}){const r=uy(e),n=typeof r=="string"?aa(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 Al="6.0.11",dy=async({url:e})=>{var t;const r=e.toString();try{const n=await fetch(r,{headers:Or({},`ai-sdk/${Al}`,sa())});if(!n.ok)throw new In({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 In.isInstance(n)?n:new In({url:r,cause:n})}},py=(e=dy)=>t=>Promise.all(t.map(async r=>r.isUrlSupportedByModel?null:e(r)));function fy(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 Nl=Pe([x(),Kr(Uint8Array),Kr(ArrayBuffer),cg(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}=fy(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 gy(e){return typeof e=="string"?e:e instanceof ArrayBuffer?en(new Uint8Array(e)):en(e)}function Tr(e){return e===void 0?[]:Array.isArray(e)?e:[e]}async function Rl({prompt:e,supportedUrls:t,download:r=py()}){const n=await hy(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=>my({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 my({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=>yy(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:Go(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:Go(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 Qh({role:n})}}}async function hy(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&&Eg({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 yy(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=cy({data:l,signatures:iy}))!=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 Go(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 pr({toolCallId:e,input:t,output:r,tool:n,errorMode:a}){return a==="text"?{type:"error-text",value:Wt(r)}:a==="json"?{type:"error-json",value:Bo(r)}:n!=null&&n.toModelOutput?await n.toModelOutput({toolCallId:e,input:t,output:r}):typeof r=="string"?{type:"text",value:r}:{type:"json",value:Bo(r)}}function Bo(e){return e===void 0?null:e}function Bn({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 vy(e){return e!=null&&Object.keys(e).length>0}async function xl({tools:e,toolChoice:t,activeTools:r}){if(!vy(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 Qt(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 br=ug(()=>Pe([zf(),x(),Wr(),ra(),wt(x(),br.optional()),Ue(br)])),he=wt(x(),wt(x(),br.optional())),kl=G({type:ee("text"),text:x(),providerOptions:he.optional()}),_y=G({type:ee("image"),image:Pe([Nl,Kr(URL)]),mediaType:x().optional(),providerOptions:he.optional()}),Pl=G({type:ee("file"),data:Pe([Nl,Kr(URL)]),filename:x().optional(),mediaType:x(),providerOptions:he.optional()}),wy=G({type:ee("reasoning"),text:x(),providerOptions:he.optional()}),Ty=G({type:ee("tool-call"),toolCallId:x(),toolName:x(),input:xt(),providerOptions:he.optional(),providerExecuted:ra().optional()}),by=qf("type",[G({type:ee("text"),value:x(),providerOptions:he.optional()}),G({type:ee("json"),value:br,providerOptions:he.optional()}),G({type:ee("execution-denied"),reason:x().optional(),providerOptions:he.optional()}),G({type:ee("error-text"),value:x(),providerOptions:he.optional()}),G({type:ee("error-json"),value:br,providerOptions:he.optional()}),G({type:ee("content"),value:Ue(Pe([G({type:ee("text"),text:x(),providerOptions:he.optional()}),G({type:ee("media"),data:x(),mediaType:x()}),G({type:ee("file-data"),data:x(),mediaType:x(),filename:x().optional(),providerOptions:he.optional()}),G({type:ee("file-url"),url:x(),providerOptions:he.optional()}),G({type:ee("file-id"),fileId:Pe([x(),wt(x(),x())]),providerOptions:he.optional()}),G({type:ee("image-data"),data:x(),mediaType:x(),providerOptions:he.optional()}),G({type:ee("image-url"),url:x(),providerOptions:he.optional()}),G({type:ee("image-file-id"),fileId:Pe([x(),wt(x(),x())]),providerOptions:he.optional()}),G({type:ee("custom"),providerOptions:he.optional()})]))})]),Cl=G({type:ee("tool-result"),toolCallId:x(),toolName:x(),output:by,providerOptions:he.optional()}),Ey=G({type:ee("tool-approval-request"),approvalId:x(),toolCallId:x()}),Iy=G({type:ee("tool-approval-response"),approvalId:x(),approved:ra(),reason:x().optional()}),Sy=G({role:ee("system"),content:x(),providerOptions:he.optional()}),Ay=G({role:ee("user"),content:Pe([x(),Ue(Pe([kl,_y,Pl]))]),providerOptions:he.optional()}),Ny=G({role:ee("assistant"),content:Pe([x(),Ue(Pe([kl,Pl,wy,Ty,Cl,Ey]))]),providerOptions:he.optional()}),Oy=G({role:ee("tool"),content:Ue(Pe([Cl,Iy])),providerOptions:he.optional()}),Ry=Pe([Sy,Ay,Ny,Oy]);async function zl(e){if(e.prompt==null&&e.messages==null)throw new qt({prompt:e,message:"prompt or messages must be defined"});if(e.prompt!=null&&e.messages!=null)throw new qt({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 qt({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 qt({prompt:e,message:"prompt or messages must be defined"});if(t.length===0)throw new qt({prompt:e,message:"messages must not be empty"});const r=await rt({value:t,schema:Ue(Ry)});if(!r.success)throw new qt({prompt:e,message:"The messages do not match the ModelMessage[] schema.",cause:r.error});return{messages:t,system:e.system}}function Dl(e){if(!ia.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
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",xm=`vercel.ai.gateway.error.${$i}`,To=Symbol.for(xm),bo,Eo,km=class extends(Eo=qe,bo=To,Eo){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)&&To in e}},Di="GatewayRateLimitError",Pm=`vercel.ai.gateway.error.${Di}`,Io=Symbol.for(Pm),So,Ao,Cm=class extends(Ao=qe,So=Io,Ao){constructor({message:e="Rate limit exceeded",statusCode:t=429,cause:r}={}){super({message:e,statusCode:t,cause:r}),this[So]=!0,this.name=Di,this.type="rate_limit_exceeded"}static isInstance(e){return qe.hasMarker(e)&&Io in e}},Mi="GatewayModelNotFoundError",zm=`vercel.ai.gateway.error.${Mi}`,No=Symbol.for(zm),$m=Xt(()=>Ct(G({modelId:x()}))),Oo,Ro,Dm=class extends(Ro=qe,Oo=No,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=Mi,this.type="model_not_found",this.modelId=r}static isInstance(e){return qe.hasMarker(e)&&No in e}},Fi="GatewayInternalServerError",Mm=`vercel.ai.gateway.error.${Fi}`,xo=Symbol.for(Mm),ko,Po,Co=class extends(Po=qe,ko=xo,Po){constructor({message:e="Internal server error",statusCode:t=500,cause:r}={}){super({message:e,statusCode:t,cause:r}),this[ko]=!0,this.name=Fi,this.type="internal_server_error"}static isInstance(e){return qe.hasMarker(e)&&xo in e}},Li="GatewayResponseError",Fm=`vercel.ai.gateway.error.${Li}`,zo=Symbol.for(Fm),$o,Do,Lm=class extends(Do=qe,$o=zo,Do){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=Li,this.type="response_error",this.response=r,this.validationError=n}static isInstance(e){return qe.hasMarker(e)&&zo in e}};async function Mo({response:e,statusCode:t,defaultMessage:r="Gateway request failed",cause:n,authMethod:a}){const o=await rt({value:e,schema:Um});if(!o.success)return new Lm({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 ia.createContextualError({apiKeyProvided:a==="api-key",oidcTokenProvided:a==="oidc",statusCode:t,cause:n});case"invalid_request_error":return new km({message:l,statusCode:t,cause:n});case"rate_limit_exceeded":return new Cm({message:l,statusCode:t,cause:n});case"model_not_found":{const u=await rt({value:s.error.param,schema:$m});return new Dm({message:l,statusCode:t,modelId:u.success?u.value.modelId:void 0,cause:n})}case"internal_server_error":return new Co({message:l,statusCode:t,cause:n});default:return new Co({message:l,statusCode:t,cause:n})}}var Um=Xt(()=>Ct(G({error:G({message:x(),type:x().nullish(),param:xt().nullish(),code:Pe([x(),Wr()]).nullish()})})));function Tt(e,t){var r;return qe.isInstance(e)?e:De.isInstance(e)?Mo({response:jm(e),statusCode:(r=e.statusCode)!=null?r:500,defaultMessage:"Gateway request failed",cause:e,authMethod:t}):Mo({response:{},statusCode:500,defaultMessage:e instanceof Error?`Gateway request failed: ${e.message}`:"Unknown Gateway error",cause:e,authMethod:t})}function jm(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 Ui="ai-gateway-auth-method";async function Yt(e){const t=await rt({value:e[Ui],schema:qm});return t.success?t.value:void 0}var qm=Xt(()=>Ct(Pe([ee("api-key"),ee("oidc")]))),Fo=class{constructor(e){this.config=e}async getAvailableModels(){try{const{value:e}=await uo({url:`${this.config.baseURL}/config`,headers:await Ge(this.config.headers()),successfulResponseHandler:yr(Zm),failedResponseHandler:Jt({errorSchema:ht(),errorToMessage:t=>t}),fetch:this.config.fetch});return e}catch(e){throw await Tt(e)}}async getCredits(){try{const e=new URL(this.config.baseURL),{value:t}=await uo({url:`${e.origin}/v1/credits`,headers:await Ge(this.config.headers()),successfulResponseHandler:yr(Gm),failedResponseHandler:Jt({errorSchema:ht(),errorToMessage:r=>r}),fetch:this.config.fetch});return t}catch(e){throw await Tt(e)}}},Zm=Xt(()=>Ct(G({models:Ue(G({id:x(),name:x(),description:x().nullish(),pricing:G({input:x(),output:x(),input_cache_read:x().nullish(),input_cache_write:x().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:x(),modelId:x()}),modelType:vi(["language","embedding","image"]).nullish()}))}))),Gm=Xt(()=>Ct(G({balance:x(),total_used:x()}).transform(({balance:e,total_used:t})=>({balance:e,totalUsed:t})))),Bm=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 tn({url:this.getUrl(),headers:Qr(a,e.headers,this.getModelConfigHeaders(this.modelId,!1),await Ge(this.config.o11yHeaders)),body:t,successfulResponseHandler:yr(ht()),failedResponseHandler:Jt({errorSchema:ht(),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 Tt(o,await Yt(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 tn({url:this.getUrl(),headers:Qr(a,e.headers,this.getModelConfigHeaders(this.modelId,!0),await Ge(this.config.o11yHeaders)),body:t,successfulResponseHandler:bm(ht()),failedResponseHandler:Jt({errorSchema:ht(),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 Tt(o,await Yt(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)}}},Vm=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 tn({url:this.getUrl(),headers:Qr(o,t??{},this.getModelConfigHeaders(),await Ge(this.config.o11yHeaders)),body:{values:e,...n?{providerOptions:n}:{}},successfulResponseHandler:yr(Hm),failedResponseHandler:Jt({errorSchema:ht(),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 Tt(s,await Yt(o))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"3","ai-model-id":this.modelId}}},Hm=Xt(()=>Ct(G({embeddings:Ue(Ue(Wr())),usage:G({tokens:Wr()}).nullish(),providerMetadata:wt(x(),wt(x(),xt())).optional()}))),Jm=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 p=await Ge(this.config.headers());try{const{responseHeaders:d,value:v,rawValue:E}=await tn({url:this.getUrl(),headers:Qr(p,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(w=>Lo(w))},...s&&{mask:Lo(s)}},successfulResponseHandler:yr(Wm),failedResponseHandler:Jt({errorSchema:ht(),errorToMessage:w=>w}),...u&&{abortSignal:u},fetch:this.config.fetch});return{images:v.images,warnings:(c=v.warnings)!=null?c:[],providerMetadata:v.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:d}}}catch(d){throw Tt(d,await Yt(p))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"3","ai-model-id":this.modelId}}};function Lo(e){return e.type==="file"&&e.data instanceof Uint8Array?{...e,data:en(e.data)}:e}var Ym=G({images:Ue(xt()).optional()}).catchall(xt()),Wm=G({images:Ue(x()),warnings:Ue(G({type:ee("other"),message:x()})).optional(),providerMetadata:wt(x(),Ym).optional()});async function Km(){var e;return(e=ki.getContext().headers)==null?void 0:e["x-vercel-id"]}var Xm="3.0.8",Qm="0.0.1";function eh(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=Em(e.baseURL))!=null?r:"https://ai-gateway.vercel.sh/v3/ai",l=async()=>{try{const w=await rh(e);return Or({Authorization:`Bearer ${w.token}`,"ai-gateway-protocol-version":Qm,[Ui]:w.authMethod,...e.headers},`ai-sdk/gateway/${Xm}`)}catch(w){throw ia.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:w})}},u=()=>{const w=qr({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),I=qr({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),P=qr({settingValue:void 0,environmentVariableName:"VERCEL_REGION"});return async()=>{const C=await Km();return{...w&&{"ai-o11y-deployment-id":w},...I&&{"ai-o11y-environment":I},...P&&{"ai-o11y-region":P},...C&&{"ai-o11y-request-id":C}}}},c=w=>new Bm(w,{provider:"gateway",baseURL:i,headers:l,fetch:e.fetch,o11yHeaders:u()}),p=async()=>{var w,I,P;const C=(P=(I=(w=e._internal)==null?void 0:w.currentDate)==null?void 0:I.call(w).getTime())!=null?P:Date.now();return(!n||C-s>o)&&(s=C,n=new Fo({baseURL:i,headers:l,fetch:e.fetch}).getAvailableModels().then(h=>(a=h,h)).catch(async h=>{throw await Tt(h,await Yt(await l()))})),a?Promise.resolve(a):n},d=async()=>new Fo({baseURL:i,headers:l,fetch:e.fetch}).getCredits().catch(async w=>{throw await Tt(w,await Yt(await l()))}),v=function(w){if(new.target)throw new Error("The Gateway Provider model function cannot be called with the new keyword.");return c(w)};v.specificationVersion="v3",v.getAvailableModels=p,v.getCredits=d,v.imageModel=w=>new Jm(w,{provider:"gateway",baseURL:i,headers:l,fetch:e.fetch,o11yHeaders:u()}),v.languageModel=c;const E=w=>new Vm(w,{provider:"gateway",baseURL:i,headers:l,fetch:e.fetch,o11yHeaders:u()});return v.embeddingModel=E,v.textEmbeddingModel=E,v}var th=eh();async function rh(e){const t=qr({settingValue:e.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});return t?{token:t,authMethod:"api-key"}:{token:await ki.getVercelOidcToken(),authMethod:"oidc"}}var nh=typeof globalThis=="object"?globalThis:typeof self=="object"?self:typeof window=="object"?window:typeof global=="object"?global:{},Ot="1.9.0",Uo=/^(\d+)\.(\d+)\.(\d+)(-(.+))?$/;function ah(e){var t=new Set([e]),r=new Set,n=e.match(Uo);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(Uo);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 oh=ah(Ot),sh=Ot.split(".")[0],vr=Symbol.for("opentelemetry.js.api."+sh),_r=nh;function la(e,t,r,n){var a;n===void 0&&(n=!1);var o=_r[vr]=(a=_r[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 wr(e){var t,r,n=(t=_r[vr])===null||t===void 0?void 0:t.version;if(!(!n||!oh(n)))return(r=_r[vr])===null||r===void 0?void 0:r[e]}function ua(e,t){t.debug("@opentelemetry/api: Unregistering a global for "+e+" v"+Ot+".");var r=_r[vr];r&&delete r[e]}var ih=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},lh=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))},uh=(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 lr("debug",this._namespace,t)},e.prototype.error=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return lr("error",this._namespace,t)},e.prototype.info=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return lr("info",this._namespace,t)},e.prototype.warn=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return lr("warn",this._namespace,t)},e.prototype.verbose=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return lr("verbose",this._namespace,t)},e})();function lr(e,t,r){var n=wr("diag");if(n)return r.unshift(t),n[e].apply(n,lh([],ih(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 ch(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 dh=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},ph=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))},fh="diag",rn=(function(){function e(){function t(a){return function(){for(var o=[],s=0;s<arguments.length;s++)o[s]=arguments[s];var i=wr("diag");if(i)return i[a].apply(i,ph([],dh(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=wr("diag"),p=ch((i=o.logLevel)!==null&&i!==void 0?i:Le.INFO,a);if(c&&!o.suppressOverrideMessage){var d=(l=new Error().stack)!==null&&l!==void 0?l:"<failed to generate stacktrace>";c.warn("Current logger will be overwritten from "+d),p.warn("Current logger will overwrite one already registered from "+d)}return la("diag",p,r,!0)};r.setLogger=n,r.disable=function(){ua(fh,r)},r.createComponentLogger=function(a){return new uh(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 gh(e){return Symbol.for(e)}var mh=(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})(),hh=new mh,yh=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},vh=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))},_h=(function(){function e(){}return e.prototype.active=function(){return hh},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,vh([n],yh(a),!1))},e.prototype.bind=function(t,r){return r},e.prototype.enable=function(){return this},e.prototype.disable=function(){return this},e})(),wh=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},Th=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))},xn="context",bh=new _h,ji=(function(){function e(){}return e.getInstance=function(){return this._instance||(this._instance=new e),this._instance},e.prototype.setGlobalContextManager=function(t){return la(xn,t,rn.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,Th([t,r,n],wh(o),!1))},e.prototype.bind=function(t,r){return this._getContextManager().bind(t,r)},e.prototype._getContextManager=function(){return wr(xn)||bh},e.prototype.disable=function(){this._getContextManager().disable(),ua(xn,rn.instance())},e})(),Zn;(function(e){e[e.NONE=0]="NONE",e[e.SAMPLED=1]="SAMPLED"})(Zn||(Zn={}));var qi="0000000000000000",Zi="00000000000000000000000000000000",Eh={traceId:Zi,spanId:qi,traceFlags:Zn.NONE},dr=(function(){function e(t){t===void 0&&(t=Eh),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})(),ca=gh("OpenTelemetry Context Key SPAN");function da(e){return e.getValue(ca)||void 0}function Ih(){return da(ji.getInstance().active())}function pa(e,t){return e.setValue(ca,t)}function Sh(e){return e.deleteValue(ca)}function Ah(e,t){return pa(e,new dr(t))}function Gi(e){var t;return(t=da(e))===null||t===void 0?void 0:t.spanContext()}var Nh=/^([0-9a-f]{32})$/i,Oh=/^[0-9a-f]{16}$/i;function Rh(e){return Nh.test(e)&&e!==Zi}function xh(e){return Oh.test(e)&&e!==qi}function Bi(e){return Rh(e.traceId)&&xh(e.spanId)}function kh(e){return new dr(e)}var kn=ji.getInstance(),Vi=(function(){function e(){}return e.prototype.startSpan=function(t,r,n){n===void 0&&(n=kn.active());var a=!!(r!=null&&r.root);if(a)return new dr;var o=n&&Gi(n);return Ph(o)&&Bi(o)?new dr(o):new dr},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??kn.active(),u=this.startSpan(t,o,l),c=pa(l,u);return kn.with(c,i,void 0,u)}},e})();function Ph(e){return typeof e=="object"&&typeof e.spanId=="string"&&typeof e.traceId=="string"&&typeof e.traceFlags=="number"}var Ch=new Vi,zh=(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):Ch},e})(),$h=(function(){function e(){}return e.prototype.getTracer=function(t,r,n){return new Vi},e})(),Dh=new $h,jo=(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 zh(this,t,r,n)},e.prototype.getDelegate=function(){var t;return(t=this._delegate)!==null&&t!==void 0?t:Dh},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})(),nn;(function(e){e[e.UNSET=0]="UNSET",e[e.OK=1]="OK",e[e.ERROR=2]="ERROR"})(nn||(nn={}));var Pn="trace",Mh=(function(){function e(){this._proxyTracerProvider=new jo,this.wrapSpanContext=kh,this.isSpanContextValid=Bi,this.deleteSpan=Sh,this.getSpan=da,this.getActiveSpan=Ih,this.getSpanContext=Gi,this.setSpan=pa,this.setSpanContext=Ah}return e.getInstance=function(){return this._instance||(this._instance=new e),this._instance},e.prototype.setGlobalTracerProvider=function(t){var r=la(Pn,this._proxyTracerProvider,rn.instance());return r&&this._proxyTracerProvider.setDelegate(t),r},e.prototype.getTracerProvider=function(){return wr(Pn)||this._proxyTracerProvider},e.prototype.getTracer=function(t,r){return this.getTracerProvider().getTracer(t,r)},e.prototype.disable=function(){ua(Pn,rn.instance()),this._proxyTracerProvider=new jo},e})(),Fh=Mh.getInstance(),Lh=Object.defineProperty,Uh=(e,t)=>{for(var r in t)Lh(e,r,{get:t[r],enumerable:!0})},Hi="AI_InvalidArgumentError",Ji=`vercel.ai.error.${Hi}`,jh=Symbol.for(Ji),Yi,et=class extends H{constructor({parameter:e,value:t,message:r}){super({name:Hi,message:`Invalid argument for parameter ${e}: ${r}`}),this[Yi]=!0,this.parameter=e,this.value=t}static isInstance(e){return H.hasMarker(e,Ji)}};Yi=jh;var Wi="AI_InvalidToolApprovalError",Ki=`vercel.ai.error.${Wi}`,qh=Symbol.for(Ki),Xi,Zh=class extends H{constructor({approvalId:e}){super({name:Wi,message:`Tool approval response references unknown approvalId: "${e}". No matching tool-approval-request found in message history.`}),this[Xi]=!0,this.approvalId=e}static isInstance(e){return H.hasMarker(e,Ki)}};Xi=qh;var Qi="AI_InvalidToolInputError",el=`vercel.ai.error.${Qi}`,Gh=Symbol.for(el),tl,fa=class extends H{constructor({toolInput:e,toolName:t,cause:r,message:n=`Invalid input for tool ${t}: ${Wt(r)}`}){super({name:Qi,message:n,cause:r}),this[tl]=!0,this.toolInput=e,this.toolName=t}static isInstance(e){return H.hasMarker(e,el)}};tl=Gh;var rl="AI_ToolCallNotFoundForApprovalError",nl=`vercel.ai.error.${rl}`,Bh=Symbol.for(nl),al,ga=class extends H{constructor({toolCallId:e,approvalId:t}){super({name:rl,message:`Tool call "${e}" not found for approval request "${t}".`}),this[al]=!0,this.toolCallId=e,this.approvalId=t}static isInstance(e){return H.hasMarker(e,nl)}};al=Bh;var ol="AI_NoObjectGeneratedError",sl=`vercel.ai.error.${ol}`,Vh=Symbol.for(sl),il,yt=class extends H{constructor({message:e="No object generated.",cause:t,text:r,response:n,usage:a,finishReason:o}){super({name:ol,message:e,cause:t}),this[il]=!0,this.text=r,this.response=n,this.usage=a,this.finishReason=o}static isInstance(e){return H.hasMarker(e,sl)}};il=Vh;var ll="AI_NoOutputGeneratedError",ul=`vercel.ai.error.${ll}`,Hh=Symbol.for(ul),cl,dl=class extends H{constructor({message:e="No output generated.",cause:t}={}){super({name:ll,message:e,cause:t}),this[cl]=!0}static isInstance(e){return H.hasMarker(e,ul)}};cl=Hh;var pl="AI_NoSuchToolError",fl=`vercel.ai.error.${pl}`,Jh=Symbol.for(fl),gl,Gn=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:pl,message:r}),this[gl]=!0,this.toolName=e,this.availableTools=t}static isInstance(e){return H.hasMarker(e,fl)}};gl=Jh;var ml="AI_ToolCallRepairError",hl=`vercel.ai.error.${ml}`,Yh=Symbol.for(hl),yl,Wh=class extends H{constructor({cause:e,originalError:t,message:r=`Error repairing tool call: ${Wt(e)}`}){super({name:ml,message:r,cause:e}),this[yl]=!0,this.originalError=t}static isInstance(e){return H.hasMarker(e,hl)}};yl=Yh;var Kh=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}},vl="AI_InvalidMessageRoleError",_l=`vercel.ai.error.${vl}`,Xh=Symbol.for(_l),wl,Qh=class extends H{constructor({role:e,message:t=`Invalid message role: '${e}'. Must be one of: "system", "user", "assistant", "tool".`}){super({name:vl,message:t}),this[wl]=!0,this.role=e}static isInstance(e){return H.hasMarker(e,_l)}};wl=Xh;var Tl="AI_RetryError",bl=`vercel.ai.error.${Tl}`,ey=Symbol.for(bl),El,qo=class extends H{constructor({message:e,reason:t,errors:r}){super({name:Tl,message:e}),this[El]=!0,this.reason=t,this.errors=r,this.lastError=r[r.length-1]}static isInstance(e){return H.hasMarker(e,bl)}};El=ey;function ty({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 ry="AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.",Zo=!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}Zo||(Zo=!0,console.info(ry));for(const r of e.warnings)console.warn(ty({warning:r,provider:e.provider,model:e.model}))}};function ny({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 ay(e){return e.specificationVersion==="v3"?e:(ny({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:Il(a.finishReason),usage:Sl(a.usage)}};case"doStream":return async(...n)=>{const a=await t.doStream(...n);return{...a,stream:oy(a.stream)}};default:return t[r]}}}))}function oy(e){return e.pipeThrough(new TransformStream({transform(t,r){switch(t.type){case"finish":r.enqueue({...t,finishReason:Il(t.finishReason),usage:Sl(t.usage)});break;default:r.enqueue(t);break}}}))}function Il(e){return{unified:e==="unknown"?"other":e,raw:void 0}}function Sl(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 an(e){if(typeof e!="string"){if(e.specificationVersion!=="v3"&&e.specificationVersion!=="v2"){const t=e;throw new Kh({version:t.specificationVersion,provider:t.provider,modelId:t.modelId})}return ay(e)}return sy().languageModel(e)}function sy(){var e;return(e=globalThis.AI_SDK_DEFAULT_PROVIDER)!=null?e:th}var iy=[{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]}],ly=e=>{const t=typeof e=="string"?aa(e):e,r=(t[6]&127)<<21|(t[7]&127)<<14|(t[8]&127)<<7|t[9]&127;return t.slice(r+10)};function uy(e){return typeof e=="string"&&e.startsWith("SUQz")||typeof e!="string"&&e.length>10&&e[0]===73&&e[1]===68&&e[2]===51?ly(e):e}function cy({data:e,signatures:t}){const r=uy(e),n=typeof r=="string"?aa(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 Al="6.0.11",dy=async({url:e})=>{var t;const r=e.toString();try{const n=await fetch(r,{headers:Or({},`ai-sdk/${Al}`,sa())});if(!n.ok)throw new In({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 In.isInstance(n)?n:new In({url:r,cause:n})}},py=(e=dy)=>t=>Promise.all(t.map(async r=>r.isUrlSupportedByModel?null:e(r)));function fy(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 Nl=Pe([x(),Kr(Uint8Array),Kr(ArrayBuffer),cg(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}=fy(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 gy(e){return typeof e=="string"?e:e instanceof ArrayBuffer?en(new Uint8Array(e)):en(e)}function Tr(e){return e===void 0?[]:Array.isArray(e)?e:[e]}async function Rl({prompt:e,supportedUrls:t,download:r=py()}){const n=await hy(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=>my({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 my({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=>yy(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:Go(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:Go(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 Qh({role:n})}}}async function hy(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&&Eg({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 yy(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=cy({data:l,signatures:iy}))!=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 Go(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 pr({toolCallId:e,input:t,output:r,tool:n,errorMode:a}){return a==="text"?{type:"error-text",value:Wt(r)}:a==="json"?{type:"error-json",value:Bo(r)}:n!=null&&n.toModelOutput?await n.toModelOutput({toolCallId:e,input:t,output:r}):typeof r=="string"?{type:"text",value:r}:{type:"json",value:Bo(r)}}function Bo(e){return e===void 0?null:e}function Bn({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 vy(e){return e!=null&&Object.keys(e).length>0}async function xl({tools:e,toolChoice:t,activeTools:r}){if(!vy(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 Qt(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 br=ug(()=>Pe([zf(),x(),Wr(),ra(),wt(x(),br.optional()),Ue(br)])),he=wt(x(),wt(x(),br.optional())),kl=G({type:ee("text"),text:x(),providerOptions:he.optional()}),_y=G({type:ee("image"),image:Pe([Nl,Kr(URL)]),mediaType:x().optional(),providerOptions:he.optional()}),Pl=G({type:ee("file"),data:Pe([Nl,Kr(URL)]),filename:x().optional(),mediaType:x(),providerOptions:he.optional()}),wy=G({type:ee("reasoning"),text:x(),providerOptions:he.optional()}),Ty=G({type:ee("tool-call"),toolCallId:x(),toolName:x(),input:xt(),providerOptions:he.optional(),providerExecuted:ra().optional()}),by=qf("type",[G({type:ee("text"),value:x(),providerOptions:he.optional()}),G({type:ee("json"),value:br,providerOptions:he.optional()}),G({type:ee("execution-denied"),reason:x().optional(),providerOptions:he.optional()}),G({type:ee("error-text"),value:x(),providerOptions:he.optional()}),G({type:ee("error-json"),value:br,providerOptions:he.optional()}),G({type:ee("content"),value:Ue(Pe([G({type:ee("text"),text:x(),providerOptions:he.optional()}),G({type:ee("media"),data:x(),mediaType:x()}),G({type:ee("file-data"),data:x(),mediaType:x(),filename:x().optional(),providerOptions:he.optional()}),G({type:ee("file-url"),url:x(),providerOptions:he.optional()}),G({type:ee("file-id"),fileId:Pe([x(),wt(x(),x())]),providerOptions:he.optional()}),G({type:ee("image-data"),data:x(),mediaType:x(),providerOptions:he.optional()}),G({type:ee("image-url"),url:x(),providerOptions:he.optional()}),G({type:ee("image-file-id"),fileId:Pe([x(),wt(x(),x())]),providerOptions:he.optional()}),G({type:ee("custom"),providerOptions:he.optional()})]))})]),Cl=G({type:ee("tool-result"),toolCallId:x(),toolName:x(),output:by,providerOptions:he.optional()}),Ey=G({type:ee("tool-approval-request"),approvalId:x(),toolCallId:x()}),Iy=G({type:ee("tool-approval-response"),approvalId:x(),approved:ra(),reason:x().optional()}),Sy=G({role:ee("system"),content:x(),providerOptions:he.optional()}),Ay=G({role:ee("user"),content:Pe([x(),Ue(Pe([kl,_y,Pl]))]),providerOptions:he.optional()}),Ny=G({role:ee("assistant"),content:Pe([x(),Ue(Pe([kl,Pl,wy,Ty,Cl,Ey]))]),providerOptions:he.optional()}),Oy=G({role:ee("tool"),content:Ue(Pe([Cl,Iy])),providerOptions:he.optional()}),Ry=Pe([Sy,Ay,Ny,Oy]);async function zl(e){if(e.prompt==null&&e.messages==null)throw new qt({prompt:e,message:"prompt or messages must be defined"});if(e.prompt!=null&&e.messages!=null)throw new qt({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 qt({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 qt({prompt:e,message:"prompt or messages must be defined"});if(t.length===0)throw new qt({prompt:e,message:"messages must not be empty"});const r=await rt({value:t,schema:Ue(Ry)});if(!r.success)throw new qt({prompt:e,message:"The messages do not match the ModelMessage[] schema.",cause:r.error});return{messages:t,system:e.system}}function $l(e){if(!ia.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
65
 
66
66
  To authenticate, set the \x1B[33mAI_GATEWAY_API_KEY\x1B[0m environment variable with your API key.
67
67
 
@@ -69,11 +69,11 @@ Alternatively, you can use a provider module instead of the AI Gateway.
69
69
 
70
70
  Learn more: \x1B[34m${r}\x1B[0m
71
71
 
72
- `),{name:"GatewayAuthenticationError"})}function Er({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 $l({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 xy={startSpan(){return Ur},startActiveSpan(e,t,r,n){if(typeof t=="function")return t(Ur);if(typeof r=="function")return r(Ur);if(typeof n=="function")return n(Ur)}},Ur={spanContext(){return ky},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}},ky={traceId:"",spanId:"",traceFlags:0};function Ml({isEnabled:e=!1,tracer:t}={}){return e?t||Fh.getTracer("ai"):xy}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{Fl(o,s)}finally{o.end()}throw s}})}function Fl(e,t){t instanceof Error?(e.recordException({name:t.name,message:t.message,stack:t.stack}),e.setStatus({code:nn.ERROR,message:t.message})):e.setStatus({code:nn.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 Ll(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?gy(r.data):r.data}:r)})))}function Ul(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 Cn(){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 jl(e,t){var r,n,a,o,s,i,l,u,c,p;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,(p=t.outputTokenDetails)==null?void 0:p.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 fn(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]=fn(o,a):r[n]=a}return r}function Py({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 Cy=({maxRetries:e=2,initialDelayInMs:t=2e3,backoffFactor:r=2,abortSignal:n}={})=>async a=>ql(a,{maxRetries:e,delayInMs:t,backoffFactor:r,abortSignal:n});async function ql(e,{maxRetries:t,delayInMs:r,backoffFactor:n,abortSignal:a},o=[]){try{return await e()}catch(s){if(kt(s)||t===0)throw s;const i=oa(s),l=[...o,s],u=l.length;if(u>t)throw new qo({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 hg(Py({error:s,exponentialBackoffDelay:r}),{abortSignal:a}),ql(e,{maxRetries:t,delayInMs:n*r,backoffFactor:n,abortSignal:a},l);throw u===1?s:new qo({message:`Failed after ${u} attempts with non-retryable error: '${i}'`,reason:"errorNotRetryable",errors:l})}}function Zl({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:Cy({maxRetries:r,abortSignal:t})}}function Gl({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 Zh({approvalId:l.approvalId});if(a[u.toolCallId]!=null)continue;const c=r[u.toolCallId];if(c==null)throw new ga({toolCallId:u.toolCallId,approvalId:u.approvalId});const p={approvalRequest:u,approvalResponse:l,toolCall:c};l.approved?o.push(p):s.push(p)}return{approvedToolApprovals:o,deniedToolApprovals:s}}async function ha({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,p=t==null?void 0:t[l];if((p==null?void 0:p.execute)!=null)return Ir({name:"ai.toolCall",attributes:tt({telemetry:n,attributes:{...Er({operationId:"ai.toolCall",telemetry:n}),"ai.toolCall.name":l,"ai.toolCall.id":u,"ai.toolCall.args":{output:()=>JSON.stringify(c)}}}),tracer:r,fn:async d=>{let v;try{const E=Sm({execute:p.execute.bind(p),input:c,options:{toolCallId:u,messages:a,abortSignal:o,experimental_context:s}});for await(const w of E)w.type==="preliminary"?i==null||i({...e,type:"tool-result",output:w.output,preliminary:!0}):v=w.output}catch(E){return Fl(d,E),{type:"tool-error",toolCallId:u,toolName:l,input:c,error:E,dynamic:p.type==="dynamic",...e.providerMetadata!=null?{providerMetadata:e.providerMetadata}:{}}}try{d.setAttributes(await tt({telemetry:n,attributes:{"ai.toolCall.result":{output:()=>JSON.stringify(v)}}}))}catch{}return{type:"tool-result",toolCallId:u,toolName:l,input:c,output:v,dynamic:p.type==="dynamic",...e.providerMetadata!=null?{providerMetadata:e.providerMetadata}:{}}}})}function Vo(e){const t=e.filter(r=>r.type==="text");if(t.length!==0)return t.map(r=>r.text).join("")}var Bl=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=en(this.uint8ArrayData)),this.base64Data}get uint8Array(){return this.uint8ArrayData==null&&(this.uint8ArrayData=aa(this.base64Data)),this.uint8ArrayData}},zy=class extends Bl{constructor(e){super(e),this.type="file"}};async function Vl({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 Dy={};Uh(Dy,{array:()=>Fy,choice:()=>Ly,json:()=>Uy,object:()=>My,text:()=>on});function $y(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 p=e.substring(n,l+1);!"false".startsWith(p)&&!"true".startsWith(p)&&!"null".startsWith(p)?(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:$y(e)}),t.success?{value:t.value,state:"repaired-parse"}:{value:void 0,state:"failed-parse"})}var on=()=>({responseFormat:Promise.resolve({type:"text"}),async parseCompleteOutput({text:e}){return e},async parsePartialOutput({text:e}){return{partial:e}}}),My=({schema:e,name:t,description:r})=>{const n=Qt(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 yt({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 yt({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}}}}},Fy=({element:e,name:t,description:r})=>{const n=Qt(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 yt({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 yt({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 yt({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}}}}}},Ly=({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 yt({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 yt({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}}}}),Uy=({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 yt({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 Hl({toolCall:e,tools:t,repairToolCall:r,system:n,messages:a}){var o;try{if(t==null){if(e.providerExecuted&&e.dynamic)return await Jl(e);throw new Gn({toolName:e.toolName})}try{return await Ho({toolCall:e,tools:t})}catch(s){if(r==null||!(Gn.isInstance(s)||fa.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 Qt(u).jsonSchema},system:n,messages:a,error:s})}catch(l){throw new Wh({cause:l,originalError:s})}if(i==null)throw s;return await Ho({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 Jl(e){const t=e.input.trim()===""?{success:!0,value:{}}:await We({text:e.input});if(t.success===!1)throw new fa({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 Ho({toolCall:e,tools:t}){const r=e.toolName,n=t[r];if(n==null){if(e.providerExecuted&&e.dynamic)return await Jl(e);throw new Gn({toolName:e.toolName,availableTools:Object.keys(t)})}const a=Qt(n.inputSchema),o=e.input.trim()===""?await rt({value:{},schema:a}):await We({text:e.input,schema:a});if(o.success===!1)throw new fa({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 Yl=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 Wl(e){return({steps:t})=>t.length===e}async function Kl({stopConditions:e,steps:t}){return(await Promise.all(e.map(r=>r({steps:t})))).some(r=>r)}async function Vn({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 pr({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 pr({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 pr({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 jy=Nr({prefix:"aitxt",size:24});async function Hn({model:e,tools:t,toolChoice:r,system:n,prompt:a,messages:o,maxRetries:s,abortSignal:i,headers:l,stopWhen:u=Wl(1),experimental_output:c,output:p=c,experimental_telemetry:d,providerOptions:v,experimental_activeTools:E,activeTools:w=E,experimental_prepareStep:I,prepareStep:P=I,experimental_repairToolCall:C,experimental_download:h,experimental_context:D,_internal:{generateId:R=jy,currentDate:y=()=>new Date}={},onStepFinish:O,onFinish:z,...F}){const se=an(e),L=Tr(u),{maxRetries:X,retry:Q}=Zl({maxRetries:s,abortSignal:i}),le=Bn(F),Oe=Or(l??{},`ai/${Al}`),we=$l({model:se,telemetry:d,headers:Oe,settings:{...le,maxRetries:X}}),ct=await zl({system:n,prompt:a,messages:o}),Fe=Ml(d);try{return await Ir({name:"ai.generateText",attributes:tt({telemetry:d,attributes:{...Er({operationId:"ai.generateText",telemetry:d}),...we,"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 Dt,Ce,$t,Mt,nt,at,xr,dt;const er=ct.messages,ot=[],{approvedToolApprovals:kr,deniedToolApprovals:tr}=Gl({messages:er}),It=kr.filter(U=>!U.toolCall.providerExecuted);if(tr.length>0||It.length>0){const U=await Jo({toolCalls:It.map(W=>W.toolCall),tools:t,tracer:Fe,telemetry:d,messages:er,abortSignal:i,experimental_context:D}),ae=[];for(const W of U){const st=await pr({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 tr)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=[...kr,...tr].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 Pr=Bn(F);let J,pe=[],fe=[];const ne=[],V=new Map;do{const U=[...er,...ot],ae=await(P==null?void 0:P({model:se,steps:ne,stepNumber:ne.length,messages:U,experimental_context:D})),W=an((Dt=ae==null?void 0:ae.model)!=null?Dt:se),st=await Rl({prompt:{system:(Ce=ae==null?void 0:ae.system)!=null?Ce:ct.system,messages:($t=ae==null?void 0:ae.messages)!=null?$t:U},supportedUrls:await W.supportedUrls,download:h});D=(Mt=ae==null?void 0:ae.experimental_context)!=null?Mt:D;const{toolChoice:ke,tools:pt}=await xl({tools:t,toolChoice:(nt=ae==null?void 0:ae.toolChoice)!=null?nt:r,activeTools:(at=ae==null?void 0:ae.activeTools)!=null?at:w});J=await Q(()=>{var $;return Ir({name:"ai.generateText.doGenerate",attributes:tt({telemetry:d,attributes:{...Er({operationId:"ai.generateText.doGenerate",telemetry:d}),...we,"ai.model.provider":W.provider,"ai.model.id":W.modelId,"ai.prompt.messages":{input:()=>Ll(st)},"ai.prompt.tools":{input:()=>pt==null?void 0:pt.map(Te=>JSON.stringify(Te))},"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 Te=>{var Ft,it,Lt,Cr,zr,rr,nr,lt;const Dr=fn(v,ae==null?void 0:ae.providerOptions),Re=await W.doGenerate({...Pr,tools:pt,toolChoice:ke,responseFormat:await(p==null?void 0:p.responseFormat),prompt:st,providerOptions:Dr,abortSignal:i,headers:Oe}),gt={id:(it=(Ft=Re.response)==null?void 0:Ft.id)!=null?it:R(),timestamp:(Cr=(Lt=Re.response)==null?void 0:Lt.timestamp)!=null?Cr:y(),modelId:(rr=(zr=Re.response)==null?void 0:zr.modelId)!=null?rr:W.modelId,headers:(nr=Re.response)==null?void 0:nr.headers,body:(lt=Re.response)==null?void 0:lt.body};return Te.setAttributes(await tt({telemetry:d,attributes:{"ai.response.finishReason":Re.finishReason.unified,"ai.response.text":{output:()=>Vo(Re.content)},"ai.response.toolCalls":{output:()=>{const mt=Yo(Re.content);return mt==null?void 0:JSON.stringify(mt)}},"ai.response.id":gt.id,"ai.response.model":gt.modelId,"ai.response.timestamp":gt.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(Re.providerMetadata),"ai.usage.promptTokens":Re.usage.inputTokens.total,"ai.usage.completionTokens":Re.usage.outputTokens.total,"gen_ai.response.finish_reasons":[Re.finishReason.unified],"gen_ai.response.id":gt.id,"gen_ai.response.model":gt.modelId,"gen_ai.usage.input_tokens":Re.usage.inputTokens.total,"gen_ai.usage.output_tokens":Re.usage.outputTokens.total}})),{...Re,response:gt}}})});const ve=await Promise.all(J.content.filter($=>$.type==="tool-call").map($=>Hl({toolCall:$,tools:t,repairToolCall:C,system:n,messages:U}))),Se={};for(const $ of ve){if($.invalid)continue;const Te=t==null?void 0:t[$.toolName];Te!=null&&((Te==null?void 0:Te.onInputAvailable)!=null&&await Te.onInputAvailable({input:$.input,toolCallId:$.toolCallId,messages:U,abortSignal:i,experimental_context:D}),await Vl({tool:Te,toolCall:$,messages:U,experimental_context:D})&&(Se[$.toolCallId]={type:"tool-approval-request",approvalId:R(),toolCall:$}))}const _e=ve.filter($=>$.invalid&&$.dynamic);fe=[];for(const $ of _e)fe.push({type:"tool-error",toolCallId:$.toolCallId,toolName:$.toolName,input:$.input,error:oa($.error),dynamic:!0});pe=ve.filter($=>!$.providerExecuted),t!=null&&fe.push(...await Jo({toolCalls:pe.filter($=>!$.invalid&&Se[$.toolCallId]==null),tools:t,tracer:Fe,telemetry:d,messages:U,abortSignal:i,experimental_context:D}));for(const $ of ve){if(!$.providerExecuted)continue;const Te=t==null?void 0:t[$.toolName];(Te==null?void 0:Te.type)==="provider"&&Te.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 St=Zy({content:J.content,toolCalls:ve,toolOutputs:fe,toolApprovalRequests:Object.values(Se),tools:t});ot.push(...await Vn({content:St,tools:t}));const ft=new Yl({content:St,finishReason:J.finishReason.unified,rawFinishReason:J.finishReason.raw,usage:Ul(J.usage),warnings:J.warnings,providerMetadata:J.providerMetadata,request:(xr=J.request)!=null?xr:{},response:{...J.response,messages:structuredClone(ot)}});ma({warnings:(dt=J.warnings)!=null?dt:[],provider:W.provider,model:W.modelId}),ne.push(ft),await(O==null?void 0:O(ft))}while((pe.length>0&&fe.length===pe.length||V.size>0)&&!await Kl({stopConditions:L,steps:ne}));zt.setAttributes(await tt({telemetry:d,attributes:{"ai.response.finishReason":J.finishReason.unified,"ai.response.text":{output:()=>Vo(J.content)},"ai.response.toolCalls":{output:()=>{const U=Yo(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)=>jl(U,ae.usage),{inputTokens:void 0,outputTokens:void 0,totalTokens:void 0,reasoningTokens:void 0,cachedInputTokens:void 0});await(z==null?void 0:z({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:D}));let N;return B.finishReason==="stop"&&(N=await(p??on()).parseCompleteOutput({text:B.text},{response:B.response,usage:B.usage,finishReason:B.finishReason})),new qy({steps:ne,totalUsage:Ke,output:N})}})}catch(zt){throw Dl(zt)}}async function Jo({toolCalls:e,tools:t,tracer:r,telemetry:n,messages:a,abortSignal:o,experimental_context:s}){return(await Promise.all(e.map(async l=>ha({toolCall:l,tools:t,tracer:r,telemetry:n,messages:a,abortSignal:o,experimental_context:s})))).filter(l=>l!=null)}var qy=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 dl;return this._output}};function Yo(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 Zy({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 Bl(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 ga({toolCallId:s.toolCallId,approvalId:s.approvalId});o.push({type:"tool-approval-request",approvalId:s.approvalId,toolCall:i});break}}return[...o,...r,...n]}function gn(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 Gy({status:e,statusText:t,headers:r,textStream:n}){return new Response(n.pipeThrough(new TextEncoderStream),{status:e??200,statusText:t,headers:gn(r,{"content-type":"text/plain; charset=utf-8"})})}function Xl({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(p=>{e.once("drain",p)})}}catch(l){throw l}finally{e.end()}})()}function By({response:e,status:t,statusText:r,headers:n,textStream:a}){Xl({response:e,status:t,statusText:r,headers:Object.fromEntries(gn(n,{"content-type":"text/plain; charset=utf-8"}).entries()),stream:a.pipeThrough(new TextEncoderStream)})}var Ql=class extends TransformStream{constructor(){super({transform(e,t){t.enqueue(`data: ${JSON.stringify(e)}
72
+ `),{name:"GatewayAuthenticationError"})}function Er({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 Dl({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 xy={startSpan(){return Ur},startActiveSpan(e,t,r,n){if(typeof t=="function")return t(Ur);if(typeof r=="function")return r(Ur);if(typeof n=="function")return n(Ur)}},Ur={spanContext(){return ky},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}},ky={traceId:"",spanId:"",traceFlags:0};function Ml({isEnabled:e=!1,tracer:t}={}){return e?t||Fh.getTracer("ai"):xy}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{Fl(o,s)}finally{o.end()}throw s}})}function Fl(e,t){t instanceof Error?(e.recordException({name:t.name,message:t.message,stack:t.stack}),e.setStatus({code:nn.ERROR,message:t.message})):e.setStatus({code:nn.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 Ll(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?gy(r.data):r.data}:r)})))}function Ul(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 Cn(){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 jl(e,t){var r,n,a,o,s,i,l,u,c,p;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,(p=t.outputTokenDetails)==null?void 0:p.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 fn(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]=fn(o,a):r[n]=a}return r}function Py({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 Cy=({maxRetries:e=2,initialDelayInMs:t=2e3,backoffFactor:r=2,abortSignal:n}={})=>async a=>ql(a,{maxRetries:e,delayInMs:t,backoffFactor:r,abortSignal:n});async function ql(e,{maxRetries:t,delayInMs:r,backoffFactor:n,abortSignal:a},o=[]){try{return await e()}catch(s){if(kt(s)||t===0)throw s;const i=oa(s),l=[...o,s],u=l.length;if(u>t)throw new qo({message:`Failed after ${u} attempts. Last error: ${i}`,reason:"maxRetriesExceeded",errors:l});if(s instanceof Error&&De.isInstance(s)&&s.isRetryable===!0&&u<=t)return await hg(Py({error:s,exponentialBackoffDelay:r}),{abortSignal:a}),ql(e,{maxRetries:t,delayInMs:n*r,backoffFactor:n,abortSignal:a},l);throw u===1?s:new qo({message:`Failed after ${u} attempts with non-retryable error: '${i}'`,reason:"errorNotRetryable",errors:l})}}function Zl({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:Cy({maxRetries:r,abortSignal:t})}}function Gl({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 Zh({approvalId:l.approvalId});if(a[u.toolCallId]!=null)continue;const c=r[u.toolCallId];if(c==null)throw new ga({toolCallId:u.toolCallId,approvalId:u.approvalId});const p={approvalRequest:u,approvalResponse:l,toolCall:c};l.approved?o.push(p):s.push(p)}return{approvedToolApprovals:o,deniedToolApprovals:s}}async function ha({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,p=t==null?void 0:t[l];if((p==null?void 0:p.execute)!=null)return Ir({name:"ai.toolCall",attributes:tt({telemetry:n,attributes:{...Er({operationId:"ai.toolCall",telemetry:n}),"ai.toolCall.name":l,"ai.toolCall.id":u,"ai.toolCall.args":{output:()=>JSON.stringify(c)}}}),tracer:r,fn:async d=>{let v;try{const E=Sm({execute:p.execute.bind(p),input:c,options:{toolCallId:u,messages:a,abortSignal:o,experimental_context:s}});for await(const w of E)w.type==="preliminary"?i==null||i({...e,type:"tool-result",output:w.output,preliminary:!0}):v=w.output}catch(E){return Fl(d,E),{type:"tool-error",toolCallId:u,toolName:l,input:c,error:E,dynamic:p.type==="dynamic",...e.providerMetadata!=null?{providerMetadata:e.providerMetadata}:{}}}try{d.setAttributes(await tt({telemetry:n,attributes:{"ai.toolCall.result":{output:()=>JSON.stringify(v)}}}))}catch{}return{type:"tool-result",toolCallId:u,toolName:l,input:c,output:v,dynamic:p.type==="dynamic",...e.providerMetadata!=null?{providerMetadata:e.providerMetadata}:{}}}})}function Vo(e){const t=e.filter(r=>r.type==="text");if(t.length!==0)return t.map(r=>r.text).join("")}var Bl=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=en(this.uint8ArrayData)),this.base64Data}get uint8Array(){return this.uint8ArrayData==null&&(this.uint8ArrayData=aa(this.base64Data)),this.uint8ArrayData}},zy=class extends Bl{constructor(e){super(e),this.type="file"}};async function Vl({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 $y={};Uh($y,{array:()=>Fy,choice:()=>Ly,json:()=>Uy,object:()=>My,text:()=>on});function Dy(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 p=e.substring(n,l+1);!"false".startsWith(p)&&!"true".startsWith(p)&&!"null".startsWith(p)?(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:Dy(e)}),t.success?{value:t.value,state:"repaired-parse"}:{value:void 0,state:"failed-parse"})}var on=()=>({responseFormat:Promise.resolve({type:"text"}),async parseCompleteOutput({text:e}){return e},async parsePartialOutput({text:e}){return{partial:e}}}),My=({schema:e,name:t,description:r})=>{const n=Qt(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 yt({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 yt({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}}}}},Fy=({element:e,name:t,description:r})=>{const n=Qt(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 yt({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 yt({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 yt({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}}}}}},Ly=({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 yt({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 yt({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}}}}),Uy=({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 yt({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 Hl({toolCall:e,tools:t,repairToolCall:r,system:n,messages:a}){var o;try{if(t==null){if(e.providerExecuted&&e.dynamic)return await Jl(e);throw new Gn({toolName:e.toolName})}try{return await Ho({toolCall:e,tools:t})}catch(s){if(r==null||!(Gn.isInstance(s)||fa.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 Qt(u).jsonSchema},system:n,messages:a,error:s})}catch(l){throw new Wh({cause:l,originalError:s})}if(i==null)throw s;return await Ho({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 Jl(e){const t=e.input.trim()===""?{success:!0,value:{}}:await We({text:e.input});if(t.success===!1)throw new fa({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 Ho({toolCall:e,tools:t}){const r=e.toolName,n=t[r];if(n==null){if(e.providerExecuted&&e.dynamic)return await Jl(e);throw new Gn({toolName:e.toolName,availableTools:Object.keys(t)})}const a=Qt(n.inputSchema),o=e.input.trim()===""?await rt({value:{},schema:a}):await We({text:e.input,schema:a});if(o.success===!1)throw new fa({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 Yl=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 Wl(e){return({steps:t})=>t.length===e}async function Kl({stopConditions:e,steps:t}){return(await Promise.all(e.map(r=>r({steps:t})))).some(r=>r)}async function Vn({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 pr({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 pr({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 pr({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 jy=Nr({prefix:"aitxt",size:24});async function Hn({model:e,tools:t,toolChoice:r,system:n,prompt:a,messages:o,maxRetries:s,abortSignal:i,headers:l,stopWhen:u=Wl(1),experimental_output:c,output:p=c,experimental_telemetry:d,providerOptions:v,experimental_activeTools:E,activeTools:w=E,experimental_prepareStep:I,prepareStep:P=I,experimental_repairToolCall:C,experimental_download:h,experimental_context:$,_internal:{generateId:R=jy,currentDate:y=()=>new Date}={},onStepFinish:O,onFinish:z,...F}){const se=an(e),L=Tr(u),{maxRetries:X,retry:Q}=Zl({maxRetries:s,abortSignal:i}),le=Bn(F),Oe=Or(l??{},`ai/${Al}`),we=Dl({model:se,telemetry:d,headers:Oe,settings:{...le,maxRetries:X}}),ct=await zl({system:n,prompt:a,messages:o}),Fe=Ml(d);try{return await Ir({name:"ai.generateText",attributes:tt({telemetry:d,attributes:{...Er({operationId:"ai.generateText",telemetry:d}),...we,"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,Dt,Mt,nt,at,xr,dt;const er=ct.messages,ot=[],{approvedToolApprovals:kr,deniedToolApprovals:tr}=Gl({messages:er}),It=kr.filter(U=>!U.toolCall.providerExecuted);if(tr.length>0||It.length>0){const U=await Jo({toolCalls:It.map(W=>W.toolCall),tools:t,tracer:Fe,telemetry:d,messages:er,abortSignal:i,experimental_context:$}),ae=[];for(const W of U){const st=await pr({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 tr)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=[...kr,...tr].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 Pr=Bn(F);let J,pe=[],fe=[];const ne=[],V=new Map;do{const U=[...er,...ot],ae=await(P==null?void 0:P({model:se,steps:ne,stepNumber:ne.length,messages:U,experimental_context:$})),W=an(($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:(Dt=ae==null?void 0:ae.messages)!=null?Dt:U},supportedUrls:await W.supportedUrls,download:h});$=(Mt=ae==null?void 0:ae.experimental_context)!=null?Mt:$;const{toolChoice:ke,tools:pt}=await xl({tools:t,toolChoice:(nt=ae==null?void 0:ae.toolChoice)!=null?nt:r,activeTools:(at=ae==null?void 0:ae.activeTools)!=null?at:w});J=await Q(()=>{var D;return Ir({name:"ai.generateText.doGenerate",attributes:tt({telemetry:d,attributes:{...Er({operationId:"ai.generateText.doGenerate",telemetry:d}),...we,"ai.model.provider":W.provider,"ai.model.id":W.modelId,"ai.prompt.messages":{input:()=>Ll(st)},"ai.prompt.tools":{input:()=>pt==null?void 0:pt.map(Te=>JSON.stringify(Te))},"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":(D=F.temperature)!=null?D:void 0,"gen_ai.request.top_k":F.topK,"gen_ai.request.top_p":F.topP}}),tracer:Fe,fn:async Te=>{var Ft,it,Lt,Cr,zr,rr,nr,lt;const $r=fn(v,ae==null?void 0:ae.providerOptions),Re=await W.doGenerate({...Pr,tools:pt,toolChoice:ke,responseFormat:await(p==null?void 0:p.responseFormat),prompt:st,providerOptions:$r,abortSignal:i,headers:Oe}),gt={id:(it=(Ft=Re.response)==null?void 0:Ft.id)!=null?it:R(),timestamp:(Cr=(Lt=Re.response)==null?void 0:Lt.timestamp)!=null?Cr:y(),modelId:(rr=(zr=Re.response)==null?void 0:zr.modelId)!=null?rr:W.modelId,headers:(nr=Re.response)==null?void 0:nr.headers,body:(lt=Re.response)==null?void 0:lt.body};return Te.setAttributes(await tt({telemetry:d,attributes:{"ai.response.finishReason":Re.finishReason.unified,"ai.response.text":{output:()=>Vo(Re.content)},"ai.response.toolCalls":{output:()=>{const mt=Yo(Re.content);return mt==null?void 0:JSON.stringify(mt)}},"ai.response.id":gt.id,"ai.response.model":gt.modelId,"ai.response.timestamp":gt.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(Re.providerMetadata),"ai.usage.promptTokens":Re.usage.inputTokens.total,"ai.usage.completionTokens":Re.usage.outputTokens.total,"gen_ai.response.finish_reasons":[Re.finishReason.unified],"gen_ai.response.id":gt.id,"gen_ai.response.model":gt.modelId,"gen_ai.usage.input_tokens":Re.usage.inputTokens.total,"gen_ai.usage.output_tokens":Re.usage.outputTokens.total}})),{...Re,response:gt}}})});const ve=await Promise.all(J.content.filter(D=>D.type==="tool-call").map(D=>Hl({toolCall:D,tools:t,repairToolCall:C,system:n,messages:U}))),Se={};for(const D of ve){if(D.invalid)continue;const Te=t==null?void 0:t[D.toolName];Te!=null&&((Te==null?void 0:Te.onInputAvailable)!=null&&await Te.onInputAvailable({input:D.input,toolCallId:D.toolCallId,messages:U,abortSignal:i,experimental_context:$}),await Vl({tool:Te,toolCall:D,messages:U,experimental_context:$})&&(Se[D.toolCallId]={type:"tool-approval-request",approvalId:R(),toolCall:D}))}const _e=ve.filter(D=>D.invalid&&D.dynamic);fe=[];for(const D of _e)fe.push({type:"tool-error",toolCallId:D.toolCallId,toolName:D.toolName,input:D.input,error:oa(D.error),dynamic:!0});pe=ve.filter(D=>!D.providerExecuted),t!=null&&fe.push(...await Jo({toolCalls:pe.filter(D=>!D.invalid&&Se[D.toolCallId]==null),tools:t,tracer:Fe,telemetry:d,messages:U,abortSignal:i,experimental_context:$}));for(const D of ve){if(!D.providerExecuted)continue;const Te=t==null?void 0:t[D.toolName];(Te==null?void 0:Te.type)==="provider"&&Te.supportsDeferredResults&&(J.content.some(it=>it.type==="tool-result"&&it.toolCallId===D.toolCallId)||V.set(D.toolCallId,{toolName:D.toolName}))}for(const D of J.content)D.type==="tool-result"&&V.delete(D.toolCallId);const St=Zy({content:J.content,toolCalls:ve,toolOutputs:fe,toolApprovalRequests:Object.values(Se),tools:t});ot.push(...await Vn({content:St,tools:t}));const ft=new Yl({content:St,finishReason:J.finishReason.unified,rawFinishReason:J.finishReason.raw,usage:Ul(J.usage),warnings:J.warnings,providerMetadata:J.providerMetadata,request:(xr=J.request)!=null?xr:{},response:{...J.response,messages:structuredClone(ot)}});ma({warnings:(dt=J.warnings)!=null?dt:[],provider:W.provider,model:W.modelId}),ne.push(ft),await(O==null?void 0:O(ft))}while((pe.length>0&&fe.length===pe.length||V.size>0)&&!await Kl({stopConditions:L,steps:ne}));zt.setAttributes(await tt({telemetry:d,attributes:{"ai.response.finishReason":J.finishReason.unified,"ai.response.text":{output:()=>Vo(J.content)},"ai.response.toolCalls":{output:()=>{const U=Yo(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)=>jl(U,ae.usage),{inputTokens:void 0,outputTokens:void 0,totalTokens:void 0,reasoningTokens:void 0,cachedInputTokens:void 0});await(z==null?void 0:z({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:$}));let N;return B.finishReason==="stop"&&(N=await(p??on()).parseCompleteOutput({text:B.text},{response:B.response,usage:B.usage,finishReason:B.finishReason})),new qy({steps:ne,totalUsage:Ke,output:N})}})}catch(zt){throw $l(zt)}}async function Jo({toolCalls:e,tools:t,tracer:r,telemetry:n,messages:a,abortSignal:o,experimental_context:s}){return(await Promise.all(e.map(async l=>ha({toolCall:l,tools:t,tracer:r,telemetry:n,messages:a,abortSignal:o,experimental_context:s})))).filter(l=>l!=null)}var qy=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 dl;return this._output}};function Yo(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 Zy({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 Bl(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 ga({toolCallId:s.toolCallId,approvalId:s.approvalId});o.push({type:"tool-approval-request",approvalId:s.approvalId,toolCall:i});break}}return[...o,...r,...n]}function gn(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 Gy({status:e,statusText:t,headers:r,textStream:n}){return new Response(n.pipeThrough(new TextEncoderStream),{status:e??200,statusText:t,headers:gn(r,{"content-type":"text/plain; charset=utf-8"})})}function Xl({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(p=>{e.once("drain",p)})}}catch(l){throw l}finally{e.end()}})()}function By({response:e,status:t,statusText:r,headers:n,textStream:a}){Xl({response:e,status:t,statusText:r,headers:Object.fromEntries(gn(n,{"content-type":"text/plain; charset=utf-8"}).entries()),stream:a.pipeThrough(new TextEncoderStream)})}var Ql=class extends TransformStream{constructor(){super({transform(e,t){t.enqueue(`data: ${JSON.stringify(e)}
73
73
 
74
74
  `)},flush(e){e.enqueue(`data: [DONE]
75
75
 
76
- `)}})}},eu={"content-type":"text/event-stream","cache-control":"no-cache",connection:"keep-alive","x-vercel-ai-ui-message-stream":"v1","x-accel-buffering":"no"};function Vy({status:e,statusText:t,headers:r,stream:n,consumeSseStream:a}){let o=n.pipeThrough(new Ql);if(a){const[s,i]=o.tee();o=s,a({stream:i})}return new Response(o.pipeThrough(new TextEncoderStream),{status:e,statusText:t,headers:gn(r,eu)})}function Hy({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 Jy(e){return e.type.startsWith("data-")}function Jn(e){return e.type.startsWith("tool-")}function Yy(e){return e.type==="dynamic-tool"}function Wy(e){return Jn(e)||Yy(e)}function Wo(e){return e.type.split("-").slice(1).join("-")}function Ky({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 Xy({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 p,d,v,E;function w(h){const R=u.message.parts.filter(Wy).find(y=>y.toolCallId===h);if(R==null)throw new Error(`no tool invocation found for tool call ${h}`);return R}function I(h){var D;const R=u.message.parts.find(z=>Jn(z)&&z.toolCallId===h.toolCallId),y=h,O=R;R!=null?(R.state=h.state,O.input=y.input,O.output=y.output,O.errorText=y.errorText,O.rawInput=y.rawInput,O.preliminary=y.preliminary,h.title!==void 0&&(O.title=h.title),O.providerExecuted=(D=y.providerExecuted)!=null?D:R.providerExecuted,y.providerMetadata!=null&&R.state==="input-available"&&(R.callProviderMetadata=y.providerMetadata)):u.message.parts.push({type:`tool-${h.toolName}`,toolCallId:h.toolCallId,state:h.state,title:h.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(h){var D,R;const y=u.message.parts.find(F=>F.type==="dynamic-tool"&&F.toolCallId===h.toolCallId),O=h,z=y;y!=null?(y.state=h.state,z.toolName=h.toolName,z.input=O.input,z.output=O.output,z.errorText=O.errorText,z.rawInput=(D=O.rawInput)!=null?D:z.rawInput,z.preliminary=O.preliminary,h.title!==void 0&&(z.title=h.title),z.providerExecuted=(R=O.providerExecuted)!=null?R:y.providerExecuted,O.providerMetadata!=null&&y.state==="input-available"&&(y.callProviderMetadata=O.providerMetadata)):u.message.parts.push({type:"dynamic-tool",toolName:h.toolName,toolCallId:h.toolCallId,state:h.state,input:O.input,output:O.output,errorText:O.errorText,preliminary:O.preliminary,providerExecuted:O.providerExecuted,title:h.title,...O.providerMetadata!=null?{callProviderMetadata:O.providerMetadata}:{}})}async function C(h){if(h!=null){const D=u.message.metadata!=null?fn(u.message.metadata,h):h;t!=null&&await qn({value:D,schema:t}),u.message.metadata=D}}switch(i.type){case"text-start":{const h={type:"text",text:"",providerMetadata:i.providerMetadata,state:"streaming"};u.activeTextParts[i.id]=h,u.message.parts.push(h),c();break}case"text-delta":{const h=u.activeTextParts[i.id];h.text+=i.delta,h.providerMetadata=(p=i.providerMetadata)!=null?p:h.providerMetadata,c();break}case"text-end":{const h=u.activeTextParts[i.id];h.state="done",h.providerMetadata=(d=i.providerMetadata)!=null?d:h.providerMetadata,delete u.activeTextParts[i.id],c();break}case"reasoning-start":{const h={type:"reasoning",text:"",providerMetadata:i.providerMetadata,state:"streaming"};u.activeReasoningParts[i.id]=h,u.message.parts.push(h),c();break}case"reasoning-delta":{const h=u.activeReasoningParts[i.id];h.text+=i.delta,h.providerMetadata=(v=i.providerMetadata)!=null?v:h.providerMetadata,c();break}case"reasoning-end":{const h=u.activeReasoningParts[i.id];h.providerMetadata=(E=i.providerMetadata)!=null?E:h.providerMetadata,h.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 h=u.message.parts.filter(Jn);u.partialToolCalls[i.toolCallId]={text:"",toolName:i.toolName,index:h.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 h=u.partialToolCalls[i.toolCallId];h.text+=i.inputTextDelta;const{value:D}=await Rr(h.text);h.dynamic?P({toolCallId:i.toolCallId,toolName:h.toolName,state:"input-streaming",input:D,title:h.title}):I({toolCallId:i.toolCallId,toolName:h.toolName,state:"input-streaming",input:D,title:h.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 h=w(i.toolCallId);h.state="approval-requested",h.approval={id:i.approvalId},c();break}case"tool-output-denied":{const h=w(i.toolCallId);h.state="output-denied",c();break}case"tool-output-available":{const h=w(i.toolCallId);h.type==="dynamic-tool"?P({toolCallId:i.toolCallId,toolName:h.toolName,state:"output-available",input:h.input,output:i.output,preliminary:i.preliminary,providerExecuted:i.providerExecuted,title:h.title}):I({toolCallId:i.toolCallId,toolName:Wo(h),state:"output-available",input:h.input,output:i.output,providerExecuted:i.providerExecuted,preliminary:i.preliminary,title:h.title}),c();break}case"tool-output-error":{const h=w(i.toolCallId);h.type==="dynamic-tool"?P({toolCallId:i.toolCallId,toolName:h.toolName,state:"output-error",input:h.input,errorText:i.errorText,providerExecuted:i.providerExecuted,title:h.title}):I({toolCallId:i.toolCallId,toolName:Wo(h),state:"output-error",input:h.input,rawInput:h.rawInput,errorText:i.errorText,providerExecuted:i.providerExecuted,title:h.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(Jy(i)){(r==null?void 0:r[i.type])!=null&&await qn({value:i.data,schema:r[i.type]});const h=i;if(h.transient){s==null||s(h);break}const D=h.id!=null?u.message.parts.find(R=>h.type===R.type&&h.id===R.id):void 0;D!=null?D.data=h.data:u.message.parts.push(h),s==null||s(h),c()}}l.enqueue(i)})}}))}function Qy({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(d,v){if(d.type==="start"){const E=d;E.messageId==null&&e!=null&&(E.messageId=e)}d.type==="abort"&&(s=!0),v.enqueue(d)}}));if(r==null)return i;const l=Ky({lastMessage:o?structuredClone(o):void 0,messageId:e??""}),u=async d=>{await d({state:l,write:()=>{}})};let c=!1;const p=async()=>{if(c||!r)return;c=!0;const d=l.message.id===(o==null?void 0:o.id);await r({isAborted:s,isContinuation:d,responseMessage:l.message,messages:[...d?t.slice(0,-1):t,l.message],finishReason:l.finishReason})};return Xy({stream:i,runUpdateMessageJob:u,onError:n}).pipeThrough(new TransformStream({transform(d,v){v.enqueue(d)},async cancel(){await p()},async flush(){await p()}}))}function ev({response:e,status:t,statusText:r,headers:n,stream:a,consumeSseStream:o}){let s=a.pipeThrough(new Ql);if(o){const[i,l]=s.tee();s=i,o({stream:l})}Xl({response:e,status:t,statusText:r,headers:Object.fromEntries(gn(n,eu).entries()),stream:s.pipeThrough(new TextEncoderStream)})}function jr(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 tv({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 Ko(){let e,t;return{promise:new Promise((n,a)=>{e=n,t=a}),resolve:e,reject:t}}function rv(){let e=[],t=null,r=!1,n=Ko();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=Ko(),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 nv(){var e,t;return(t=(e=globalThis==null?void 0:globalThis.performance)==null?void 0:e.now())!=null?t:Date.now()}function av({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 p=new ReadableStream({start(h){c=h}}),d=new Set,v=new Map,E=new Map;let w=!1,I;function P(){w&&d.size===0&&(I!=null&&c.enqueue(I),c.close())}const C=new TransformStream({async transform(h,D){const R=h.type;switch(R){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":{D.enqueue(h);break}case"file":{D.enqueue({type:"file",file:new zy({data:h.data,mediaType:h.mediaType})});break}case"finish":{I={type:"finish",finishReason:h.finishReason.unified,rawFinishReason:h.finishReason.raw,usage:Ul(h.usage),providerMetadata:h.providerMetadata};break}case"tool-approval-request":{const y=E.get(h.toolCallId);if(y==null){c.enqueue({type:"error",error:new ga({toolCallId:h.toolCallId,approvalId:h.approvalId})});break}D.enqueue({type:"tool-approval-request",approvalId:h.approvalId,toolCall:y});break}case"tool-call":{try{const y=await Hl({toolCall:h,tools:e,repairToolCall:i,system:a,messages:o});if(E.set(y.toolCallId,y),D.enqueue(y),y.invalid){c.enqueue({type:"tool-error",toolCallId:y.toolCallId,toolName:y.toolName,input:y.input,error:oa(y.error),dynamic:!0,title:y.title});break}const O=e==null?void 0:e[y.toolName];if(O==null)break;if(O.onInputAvailable!=null&&await O.onInputAvailable({input:y.input,toolCallId:y.toolCallId,messages:o,abortSignal:s,experimental_context:l}),await Vl({tool:O,toolCall:y,messages:o,experimental_context:l})){c.enqueue({type:"tool-approval-request",approvalId:u(),toolCall:y});break}if(v.set(y.toolCallId,y.input),O.execute!=null&&y.providerExecuted!==!0){const z=u();d.add(z),ha({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(()=>{d.delete(z),P()})}}catch(y){c.enqueue({type:"error",error:y})}break}case"tool-result":{const y=h.toolName;h.isError?c.enqueue({type:"tool-error",toolCallId:h.toolCallId,toolName:y,input:v.get(h.toolCallId),providerExecuted:!0,error:h.result,dynamic:h.dynamic}):D.enqueue({type:"tool-result",toolCallId:h.toolCallId,toolName:y,input:v.get(h.toolCallId),output:h.result,providerExecuted:!0,dynamic:h.dynamic});break}default:{const y=R;throw new Error(`Unhandled chunk type: ${y}`)}}},flush(){w=!0,P()}});return new ReadableStream({async start(h){return Promise.all([t.pipeThrough(C).pipeTo(new WritableStream({write(D){h.enqueue(D)},close(){}})),p.pipeTo(new WritableStream({write(D){h.enqueue(D)},close(){h.close()}}))])}})}var ov=Nr({prefix:"aitxt",size:24});function sv({model:e,tools:t,toolChoice:r,system:n,prompt:a,messages:o,maxRetries:s,abortSignal:i,headers:l,stopWhen:u=Wl(1),experimental_output:c,output:p=c,experimental_telemetry:d,prepareStep:v,providerOptions:E,experimental_activeTools:w,activeTools:I=w,experimental_repairToolCall:P,experimental_transform:C,experimental_download:h,includeRawChunks:D=!1,onChunk:R,onError:y=({error:Oe})=>{console.error(Oe)},onFinish:O,onAbort:z,onStepFinish:F,experimental_context:se,_internal:{now:L=nv,generateId:X=ov,currentDate:Q=()=>new Date}={},...le}){return new lv({model:an(e),telemetry:d,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:p,providerOptions:E,prepareStep:v,includeRawChunks:D,onChunk:R,onError:y,onFinish:O,onAbort:z,onStepFinish:F,now:L,currentDate:Q,generateId:X,experimental_context:se,download:h})}function iv(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 p=JSON.stringify(c.partial);p!==o&&(s({controller:l,partialOutput:c.partial}),o=p)}}})}var lv=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:p,activeTools:d,repairToolCall:v,stopConditions:E,output:w,providerOptions:I,prepareStep:P,includeRawChunks:C,now:h,currentDate:D,generateId:R,onChunk:y,onError:O,onFinish:z,onAbort:F,onStepFinish:se,experimental_context:L,download:X}){this._totalUsage=new ir,this._finishReason=new ir,this._rawFinishReason=new ir,this._steps=new ir,this.outputSpecification=w,this.includeRawChunks=C,this.tools=u;let Q,le=[];const Oe=[];let we,ct,Fe,zt={},Dt=[];const Ce=[],$t=new Map;let Mt,nt={},at={};const xr=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 O({error:Dl(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,Dt=N.warnings),N.type==="finish-step"){const U=await Vn({content:le,tools:u}),ae=new Yl({content:le,finishReason:N.finishReason,rawFinishReason:N.rawFinishReason,usage:N.usage,warnings:Dt,request:zt,response:{...N.response,messages:[...Oe,...U]},providerMetadata:N.providerMetadata});await(se==null?void 0:se(ae)),ma({warnings:Dt,provider:e.provider,model:e.modelId}),Ce.push(ae),Oe.push(...U),Q.resolve()}N.type==="finish"&&(Fe=N.totalUsage,we=N.finishReason,ct=N.rawFinishReason)},async flush(pe){try{if(Ce.length===0){const B=new dl({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=we??"other",ne=Fe??Cn();J._finishReason.resolve(fe),J._rawFinishReason.resolve(ct),J._totalUsage.resolve(ne),J._steps.resolve(Ce);const V=Ce[Ce.length-1];await(z==null?void 0:z({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})),Mt.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{Mt.end()}}}),dt=rv();this.addStream=dt.addStream,this.closeStream=dt.close;const er=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 er.read();if(ne){pe.close();return}if(o!=null&&o.aborted){fe();return}pe.enqueue(V)}catch(ne){kt(ne)&&(o!=null&&o.aborted)?fe():pe.error(ne)}},cancel(pe){return dt.stream.cancel(pe)}});for(const pe of p)ot=ot.pipeThrough(pe({tools:u,stopStream(){dt.terminate()}}));this.baseStream=ot.pipeThrough(iv(w??on())).pipeThrough(xr);const{maxRetries:kr,retry:tr}=Zl({maxRetries:a,abortSignal:o}),It=Ml(t),Ze=Bn(n),Pr=$l({model:e,telemetry:t,headers:r,settings:{...Ze,maxRetries:kr}}),J=this;Ir({name:"ai.streamText",attributes:tt({telemetry:t,attributes:{...Er({operationId:"ai.streamText",telemetry:t}),...Pr,"ai.prompt":{input:()=>JSON.stringify({system:s,prompt:i,messages:l})}}}),tracer:It,endWhenDone:!1,fn:async pe=>{Mt=pe;const fe=await zl({system:s,prompt:i,messages:l}),ne=fe.messages,V=[],{approvedToolApprovals:B,deniedToolApprovals:Ke}=Gl({messages:ne});if(Ke.length>0||B.length>0){const U=[...B,...Ke].filter(ve=>ve.toolCall.providerExecuted),ae=B.filter(ve=>!ve.toolCall.providerExecuted),W=Ke.filter(ve=>!ve.toolCall.providerExecuted),st=Ke.filter(ve=>ve.toolCall.providerExecuted);let ke;const pt=new ReadableStream({start(ve){ke=ve}});J.addStream(pt);try{for(const Se of[...W,...st])ke==null||ke.enqueue({type:"tool-output-denied",toolCallId:Se.toolCall.toolCallId,toolName:Se.toolCall.toolName});const ve=[];if(await Promise.all(ae.map(async Se=>{const _e=await ha({toolCall:Se.toolCall,tools:u,tracer:It,telemetry:t,messages:ne,abortSignal:o,experimental_context:L,onPreliminaryToolResult:St=>{ke==null||ke.enqueue(St)}});_e!=null&&(ke==null||ke.enqueue(_e),ve.push(_e))})),U.length>0&&V.push({role:"tool",content:U.map(Se=>({type:"tool-approval-response",approvalId:Se.approvalResponse.approvalId,approved:Se.approvalResponse.approved,reason:Se.approvalResponse.reason,providerExecuted:!0}))}),ve.length>0||W.length>0){const Se=[];for(const _e of ve)Se.push({type:"tool-result",toolCallId:_e.toolCallId,toolName:_e.toolName,output:await pr({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)Se.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:Se})}}finally{ke==null||ke.close()}}Oe.push(...V);async function N({currentStep:U,responseMessages:ae,usage:W}){var st,ke,pt,ve,Se,_e;const St=J.includeRawChunks;Q=new ir;const ft=[...ne,...ae],$=await(P==null?void 0:P({model:e,steps:Ce,stepNumber:Ce.length,messages:ft,experimental_context:L})),Te=an((st=$==null?void 0:$.model)!=null?st:e),Ft=await Rl({prompt:{system:(ke=$==null?void 0:$.system)!=null?ke:fe.system,messages:(pt=$==null?void 0:$.messages)!=null?pt:ft},supportedUrls:await Te.supportedUrls,download:X}),{toolChoice:it,tools:Lt}=await xl({tools:u,toolChoice:(ve=$==null?void 0:$.toolChoice)!=null?ve:c,activeTools:(Se=$==null?void 0:$.activeTools)!=null?Se:d});L=(_e=$==null?void 0:$.experimental_context)!=null?_e:L;const Cr=fn(I,$==null?void 0:$.providerOptions),{result:{stream:zr,response:rr,request:nr},doStreamSpan:lt,startTimestampMs:Dr}=await tr(()=>Ir({name:"ai.streamText.doStream",attributes:tt({telemetry:t,attributes:{...Er({operationId:"ai.streamText.doStream",telemetry:t}),...Pr,"ai.model.provider":Te.provider,"ai.model.id":Te.modelId,"ai.prompt.messages":{input:()=>Ll(Ft)},"ai.prompt.tools":{input:()=>Lt==null?void 0:Lt.map(M=>JSON.stringify(M))},"ai.prompt.toolChoice":{input:()=>it!=null?JSON.stringify(it):void 0},"gen_ai.system":Te.provider,"gen_ai.request.model":Te.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:It,endWhenDone:!1,fn:async M=>({startTimestampMs:h(),doStreamSpan:M,result:await Te.doStream({...Ze,tools:Lt,toolChoice:it,responseFormat:await(w==null?void 0:w.responseFormat),prompt:Ft,providerOptions:Cr,abortSignal:o,headers:r,includeRawChunks:St})})})),Re=av({tools:u,generatorStream:zr,tracer:It,telemetry:t,system:s,messages:ft,repairToolCall:v,abortSignal:o,experimental_context:L,generateId:R}),gt=nr??{},mt=[],ar=[];let mn;const hn={};let Ut="other",yn,Ve=Cn(),vn,_a=!0,Xe={id:R(),timestamp:D(),modelId:e.modelId},wa="";J.addStream(Re.pipeThrough(new TransformStream({async transform(M,xe){var or,sr,$r,Ne,jt;if(M.type==="stream-start"){mn=M.warnings;return}if(_a){const be=h()-Dr;_a=!1,lt.addEvent("ai.stream.firstChunk",{"ai.response.msToFirstChunk":be}),lt.setAttributes({"ai.response.msToFirstChunk":be}),xe.enqueue({type:"start-step",request:gt,warnings:mn??[]})}const _n=M.type;switch(_n){case"tool-approval-request":case"text-start":case"text-end":{xe.enqueue(M);break}case"text-delta":{M.delta.length>0&&(xe.enqueue({type:"text-delta",id:M.id,text:M.delta,providerMetadata:M.providerMetadata}),wa+=M.delta);break}case"reasoning-start":case"reasoning-end":{xe.enqueue(M);break}case"reasoning-delta":{xe.enqueue({type:"reasoning-delta",id:M.id,text:M.delta,providerMetadata:M.providerMetadata});break}case"tool-call":{xe.enqueue(M),mt.push(M);break}case"tool-result":{xe.enqueue(M),M.preliminary||ar.push(M);break}case"tool-error":{xe.enqueue(M),ar.push(M);break}case"response-metadata":{Xe={id:(or=M.id)!=null?or:Xe.id,timestamp:(sr=M.timestamp)!=null?sr:Xe.timestamp,modelId:($r=M.modelId)!=null?$r:Xe.modelId};break}case"finish":{Ve=M.usage,Ut=M.finishReason,yn=M.rawFinishReason,vn=M.providerMetadata;const be=h()-Dr;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":{xe.enqueue(M);break}case"source":{xe.enqueue(M);break}case"tool-input-start":{hn[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}),xe.enqueue({...M,dynamic:(jt=M.dynamic)!=null?jt:(be==null?void 0:be.type)==="dynamic",title:be==null?void 0:be.title});break}case"tool-input-end":{delete hn[M.id],xe.enqueue(M);break}case"tool-input-delta":{const be=hn[M.id],wn=u==null?void 0:u[be];(wn==null?void 0:wn.onInputDelta)!=null&&await wn.onInputDelta({inputTextDelta:M.delta,toolCallId:M.id,messages:ft,abortSignal:o,experimental_context:L}),xe.enqueue(M);break}case"error":{xe.enqueue(M),Ut="error";break}case"raw":{St&&xe.enqueue(M);break}default:{const be=_n;throw new Error(`Unknown chunk type: ${be}`)}}},async flush(M){const xe=mt.length>0?JSON.stringify(mt):void 0;try{lt.setAttributes(await tt({telemetry:t,attributes:{"ai.response.finishReason":Ut,"ai.response.text":{output:()=>wa},"ai.response.toolCalls":{output:()=>xe},"ai.response.id":Xe.id,"ai.response.model":Xe.modelId,"ai.response.timestamp":Xe.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(vn),"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":[Ut],"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:Ut,rawFinishReason:yn,usage:Ve,providerMetadata:vn,response:{...Xe,headers:rr==null?void 0:rr.headers}});const or=jl(W,Ve);await Q.promise;const sr=mt.filter(Ne=>Ne.providerExecuted!==!0),$r=ar.filter(Ne=>Ne.providerExecuted!==!0);for(const Ne of mt){if(Ne.providerExecuted!==!0)continue;const jt=u==null?void 0:u[Ne.toolName];(jt==null?void 0:jt.type)==="provider"&&jt.supportsDeferredResults&&(ar.some(be=>be.type==="tool-result"&&be.toolCallId===Ne.toolCallId)||$t.set(Ne.toolCallId,{toolName:Ne.toolName}))}for(const Ne of ar)Ne.type==="tool-result"&&$t.delete(Ne.toolCallId);if((sr.length>0&&$r.length===sr.length||$t.size>0)&&!await Kl({stopConditions:E,steps:Ce})){ae.push(...await Vn({content:Ce[Ce.length-1].content,tools:u}));try{await N({currentStep:U+1,responseMessages:ae,usage:or})}catch(Ne){M.enqueue({type:"error",error:Ne}),J.closeStream()}}else M.enqueue({type:"finish",finishReason:Ut,rawFinishReason:yn,totalUsage:or}),J.closeStream()}})))}await N({currentStep:0,responseMessages:V,usage:Cn()})}}).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 jr(this.teeStream().pipeThrough(new TransformStream({transform({part:e},t){e.type==="text-delta"&&t.enqueue(e.text)}})))}get fullStream(){return jr(this.teeStream().pipeThrough(new TransformStream({transform({part:e},t){t.enqueue(e)}})))}async consumeStream(e){var t;try{await tv({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 jr(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:on()).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=Wt}={}){const u=t!=null?Hy({originalMessages:e,responseMessageId:t}):void 0,c=d=>{var v;const E=(v=this.tools)==null?void 0:v[d.toolName];return E==null?d.dynamic:(E==null?void 0:E.type)==="dynamic"?!0:void 0},p=this.fullStream.pipeThrough(new TransformStream({transform:async(d,v)=>{const E=n==null?void 0:n({part:d}),w=d.type;switch(w){case"text-start":{v.enqueue({type:"text-start",id:d.id,...d.providerMetadata!=null?{providerMetadata:d.providerMetadata}:{}});break}case"text-delta":{v.enqueue({type:"text-delta",id:d.id,delta:d.text,...d.providerMetadata!=null?{providerMetadata:d.providerMetadata}:{}});break}case"text-end":{v.enqueue({type:"text-end",id:d.id,...d.providerMetadata!=null?{providerMetadata:d.providerMetadata}:{}});break}case"reasoning-start":{v.enqueue({type:"reasoning-start",id:d.id,...d.providerMetadata!=null?{providerMetadata:d.providerMetadata}:{}});break}case"reasoning-delta":{a&&v.enqueue({type:"reasoning-delta",id:d.id,delta:d.text,...d.providerMetadata!=null?{providerMetadata:d.providerMetadata}:{}});break}case"reasoning-end":{v.enqueue({type:"reasoning-end",id:d.id,...d.providerMetadata!=null?{providerMetadata:d.providerMetadata}:{}});break}case"file":{v.enqueue({type:"file",mediaType:d.file.mediaType,url:`data:${d.file.mediaType};base64,${d.file.base64}`});break}case"source":{o&&d.sourceType==="url"&&v.enqueue({type:"source-url",sourceId:d.id,url:d.url,title:d.title,...d.providerMetadata!=null?{providerMetadata:d.providerMetadata}:{}}),o&&d.sourceType==="document"&&v.enqueue({type:"source-document",sourceId:d.id,mediaType:d.mediaType,title:d.title,filename:d.filename,...d.providerMetadata!=null?{providerMetadata:d.providerMetadata}:{}});break}case"tool-input-start":{const I=c(d);v.enqueue({type:"tool-input-start",toolCallId:d.id,toolName:d.toolName,...d.providerExecuted!=null?{providerExecuted:d.providerExecuted}:{},...I!=null?{dynamic:I}:{},...d.title!=null?{title:d.title}:{}});break}case"tool-input-delta":{v.enqueue({type:"tool-input-delta",toolCallId:d.id,inputTextDelta:d.delta});break}case"tool-call":{const I=c(d);d.invalid?v.enqueue({type:"tool-input-error",toolCallId:d.toolCallId,toolName:d.toolName,input:d.input,...d.providerExecuted!=null?{providerExecuted:d.providerExecuted}:{},...d.providerMetadata!=null?{providerMetadata:d.providerMetadata}:{},...I!=null?{dynamic:I}:{},errorText:l(d.error),...d.title!=null?{title:d.title}:{}}):v.enqueue({type:"tool-input-available",toolCallId:d.toolCallId,toolName:d.toolName,input:d.input,...d.providerExecuted!=null?{providerExecuted:d.providerExecuted}:{},...d.providerMetadata!=null?{providerMetadata:d.providerMetadata}:{},...I!=null?{dynamic:I}:{},...d.title!=null?{title:d.title}:{}});break}case"tool-approval-request":{v.enqueue({type:"tool-approval-request",approvalId:d.approvalId,toolCallId:d.toolCall.toolCallId});break}case"tool-result":{const I=c(d);v.enqueue({type:"tool-output-available",toolCallId:d.toolCallId,output:d.output,...d.providerExecuted!=null?{providerExecuted:d.providerExecuted}:{},...d.preliminary!=null?{preliminary:d.preliminary}:{},...I!=null?{dynamic:I}:{}});break}case"tool-error":{const I=c(d);v.enqueue({type:"tool-output-error",toolCallId:d.toolCallId,errorText:l(d.error),...d.providerExecuted!=null?{providerExecuted:d.providerExecuted}:{},...I!=null?{dynamic:I}:{}});break}case"tool-output-denied":{v.enqueue({type:"tool-output-denied",toolCallId:d.toolCallId});break}case"error":{v.enqueue({type:"error",errorText:l(d.error)});break}case"start-step":{v.enqueue({type:"start-step"});break}case"finish-step":{v.enqueue({type:"finish-step"});break}case"start":{s&&v.enqueue({type:"start",...E!=null?{messageMetadata:E}:{},...u!=null?{messageId:u}:{}});break}case"finish":{i&&v.enqueue({type:"finish",finishReason:d.finishReason,...E!=null?{messageMetadata:E}:{}});break}case"abort":{v.enqueue(d);break}case"tool-input-end":break;case"raw":break;default:{const I=w;throw new Error(`Unknown chunk type: ${I}`)}}E!=null&&w!=="start"&&w!=="finish"&&v.enqueue({type:"message-metadata",messageMetadata:E})}}));return jr(Qy({stream:p,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}={}){ev({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){By({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 Vy({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 Gy({textStream:this.textStream,...e})}};Nr({prefix:"aiobj",size:24});Nr({prefix:"aiobj",size:24});const uv=`You are an expert language translator specializing in preserving data structure integrity while translating content.
76
+ `)}})}},eu={"content-type":"text/event-stream","cache-control":"no-cache",connection:"keep-alive","x-vercel-ai-ui-message-stream":"v1","x-accel-buffering":"no"};function Vy({status:e,statusText:t,headers:r,stream:n,consumeSseStream:a}){let o=n.pipeThrough(new Ql);if(a){const[s,i]=o.tee();o=s,a({stream:i})}return new Response(o.pipeThrough(new TextEncoderStream),{status:e,statusText:t,headers:gn(r,eu)})}function Hy({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 Jy(e){return e.type.startsWith("data-")}function Jn(e){return e.type.startsWith("tool-")}function Yy(e){return e.type==="dynamic-tool"}function Wy(e){return Jn(e)||Yy(e)}function Wo(e){return e.type.split("-").slice(1).join("-")}function Ky({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 Xy({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 p,d,v,E;function w(h){const R=u.message.parts.filter(Wy).find(y=>y.toolCallId===h);if(R==null)throw new Error(`no tool invocation found for tool call ${h}`);return R}function I(h){var $;const R=u.message.parts.find(z=>Jn(z)&&z.toolCallId===h.toolCallId),y=h,O=R;R!=null?(R.state=h.state,O.input=y.input,O.output=y.output,O.errorText=y.errorText,O.rawInput=y.rawInput,O.preliminary=y.preliminary,h.title!==void 0&&(O.title=h.title),O.providerExecuted=($=y.providerExecuted)!=null?$:R.providerExecuted,y.providerMetadata!=null&&R.state==="input-available"&&(R.callProviderMetadata=y.providerMetadata)):u.message.parts.push({type:`tool-${h.toolName}`,toolCallId:h.toolCallId,state:h.state,title:h.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(h){var $,R;const y=u.message.parts.find(F=>F.type==="dynamic-tool"&&F.toolCallId===h.toolCallId),O=h,z=y;y!=null?(y.state=h.state,z.toolName=h.toolName,z.input=O.input,z.output=O.output,z.errorText=O.errorText,z.rawInput=($=O.rawInput)!=null?$:z.rawInput,z.preliminary=O.preliminary,h.title!==void 0&&(z.title=h.title),z.providerExecuted=(R=O.providerExecuted)!=null?R:y.providerExecuted,O.providerMetadata!=null&&y.state==="input-available"&&(y.callProviderMetadata=O.providerMetadata)):u.message.parts.push({type:"dynamic-tool",toolName:h.toolName,toolCallId:h.toolCallId,state:h.state,input:O.input,output:O.output,errorText:O.errorText,preliminary:O.preliminary,providerExecuted:O.providerExecuted,title:h.title,...O.providerMetadata!=null?{callProviderMetadata:O.providerMetadata}:{}})}async function C(h){if(h!=null){const $=u.message.metadata!=null?fn(u.message.metadata,h):h;t!=null&&await qn({value:$,schema:t}),u.message.metadata=$}}switch(i.type){case"text-start":{const h={type:"text",text:"",providerMetadata:i.providerMetadata,state:"streaming"};u.activeTextParts[i.id]=h,u.message.parts.push(h),c();break}case"text-delta":{const h=u.activeTextParts[i.id];h.text+=i.delta,h.providerMetadata=(p=i.providerMetadata)!=null?p:h.providerMetadata,c();break}case"text-end":{const h=u.activeTextParts[i.id];h.state="done",h.providerMetadata=(d=i.providerMetadata)!=null?d:h.providerMetadata,delete u.activeTextParts[i.id],c();break}case"reasoning-start":{const h={type:"reasoning",text:"",providerMetadata:i.providerMetadata,state:"streaming"};u.activeReasoningParts[i.id]=h,u.message.parts.push(h),c();break}case"reasoning-delta":{const h=u.activeReasoningParts[i.id];h.text+=i.delta,h.providerMetadata=(v=i.providerMetadata)!=null?v:h.providerMetadata,c();break}case"reasoning-end":{const h=u.activeReasoningParts[i.id];h.providerMetadata=(E=i.providerMetadata)!=null?E:h.providerMetadata,h.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 h=u.message.parts.filter(Jn);u.partialToolCalls[i.toolCallId]={text:"",toolName:i.toolName,index:h.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 h=u.partialToolCalls[i.toolCallId];h.text+=i.inputTextDelta;const{value:$}=await Rr(h.text);h.dynamic?P({toolCallId:i.toolCallId,toolName:h.toolName,state:"input-streaming",input:$,title:h.title}):I({toolCallId:i.toolCallId,toolName:h.toolName,state:"input-streaming",input:$,title:h.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 h=w(i.toolCallId);h.state="approval-requested",h.approval={id:i.approvalId},c();break}case"tool-output-denied":{const h=w(i.toolCallId);h.state="output-denied",c();break}case"tool-output-available":{const h=w(i.toolCallId);h.type==="dynamic-tool"?P({toolCallId:i.toolCallId,toolName:h.toolName,state:"output-available",input:h.input,output:i.output,preliminary:i.preliminary,providerExecuted:i.providerExecuted,title:h.title}):I({toolCallId:i.toolCallId,toolName:Wo(h),state:"output-available",input:h.input,output:i.output,providerExecuted:i.providerExecuted,preliminary:i.preliminary,title:h.title}),c();break}case"tool-output-error":{const h=w(i.toolCallId);h.type==="dynamic-tool"?P({toolCallId:i.toolCallId,toolName:h.toolName,state:"output-error",input:h.input,errorText:i.errorText,providerExecuted:i.providerExecuted,title:h.title}):I({toolCallId:i.toolCallId,toolName:Wo(h),state:"output-error",input:h.input,rawInput:h.rawInput,errorText:i.errorText,providerExecuted:i.providerExecuted,title:h.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(Jy(i)){(r==null?void 0:r[i.type])!=null&&await qn({value:i.data,schema:r[i.type]});const h=i;if(h.transient){s==null||s(h);break}const $=h.id!=null?u.message.parts.find(R=>h.type===R.type&&h.id===R.id):void 0;$!=null?$.data=h.data:u.message.parts.push(h),s==null||s(h),c()}}l.enqueue(i)})}}))}function Qy({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(d,v){if(d.type==="start"){const E=d;E.messageId==null&&e!=null&&(E.messageId=e)}d.type==="abort"&&(s=!0),v.enqueue(d)}}));if(r==null)return i;const l=Ky({lastMessage:o?structuredClone(o):void 0,messageId:e??""}),u=async d=>{await d({state:l,write:()=>{}})};let c=!1;const p=async()=>{if(c||!r)return;c=!0;const d=l.message.id===(o==null?void 0:o.id);await r({isAborted:s,isContinuation:d,responseMessage:l.message,messages:[...d?t.slice(0,-1):t,l.message],finishReason:l.finishReason})};return Xy({stream:i,runUpdateMessageJob:u,onError:n}).pipeThrough(new TransformStream({transform(d,v){v.enqueue(d)},async cancel(){await p()},async flush(){await p()}}))}function ev({response:e,status:t,statusText:r,headers:n,stream:a,consumeSseStream:o}){let s=a.pipeThrough(new Ql);if(o){const[i,l]=s.tee();s=i,o({stream:l})}Xl({response:e,status:t,statusText:r,headers:Object.fromEntries(gn(n,eu).entries()),stream:s.pipeThrough(new TextEncoderStream)})}function jr(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 tv({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 Ko(){let e,t;return{promise:new Promise((n,a)=>{e=n,t=a}),resolve:e,reject:t}}function rv(){let e=[],t=null,r=!1,n=Ko();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=Ko(),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 nv(){var e,t;return(t=(e=globalThis==null?void 0:globalThis.performance)==null?void 0:e.now())!=null?t:Date.now()}function av({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 p=new ReadableStream({start(h){c=h}}),d=new Set,v=new Map,E=new Map;let w=!1,I;function P(){w&&d.size===0&&(I!=null&&c.enqueue(I),c.close())}const C=new TransformStream({async transform(h,$){const R=h.type;switch(R){case"stream-start":case"text-start":case"text-delta":case"text-end":case"reasoning-start":case"reasoning-delta":case"reasoning-end":case"tool-input-start":case"tool-input-delta":case"tool-input-end":case"source":case"response-metadata":case"error":case"raw":{$.enqueue(h);break}case"file":{$.enqueue({type:"file",file:new zy({data:h.data,mediaType:h.mediaType})});break}case"finish":{I={type:"finish",finishReason:h.finishReason.unified,rawFinishReason:h.finishReason.raw,usage:Ul(h.usage),providerMetadata:h.providerMetadata};break}case"tool-approval-request":{const y=E.get(h.toolCallId);if(y==null){c.enqueue({type:"error",error:new ga({toolCallId:h.toolCallId,approvalId:h.approvalId})});break}$.enqueue({type:"tool-approval-request",approvalId:h.approvalId,toolCall:y});break}case"tool-call":{try{const y=await Hl({toolCall:h,tools:e,repairToolCall:i,system:a,messages:o});if(E.set(y.toolCallId,y),$.enqueue(y),y.invalid){c.enqueue({type:"tool-error",toolCallId:y.toolCallId,toolName:y.toolName,input:y.input,error:oa(y.error),dynamic:!0,title:y.title});break}const O=e==null?void 0:e[y.toolName];if(O==null)break;if(O.onInputAvailable!=null&&await O.onInputAvailable({input:y.input,toolCallId:y.toolCallId,messages:o,abortSignal:s,experimental_context:l}),await Vl({tool:O,toolCall:y,messages:o,experimental_context:l})){c.enqueue({type:"tool-approval-request",approvalId:u(),toolCall:y});break}if(v.set(y.toolCallId,y.input),O.execute!=null&&y.providerExecuted!==!0){const z=u();d.add(z),ha({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(()=>{d.delete(z),P()})}}catch(y){c.enqueue({type:"error",error:y})}break}case"tool-result":{const y=h.toolName;h.isError?c.enqueue({type:"tool-error",toolCallId:h.toolCallId,toolName:y,input:v.get(h.toolCallId),providerExecuted:!0,error:h.result,dynamic:h.dynamic}):$.enqueue({type:"tool-result",toolCallId:h.toolCallId,toolName:y,input:v.get(h.toolCallId),output:h.result,providerExecuted:!0,dynamic:h.dynamic});break}default:{const y=R;throw new Error(`Unhandled chunk type: ${y}`)}}},flush(){w=!0,P()}});return new ReadableStream({async start(h){return Promise.all([t.pipeThrough(C).pipeTo(new WritableStream({write($){h.enqueue($)},close(){}})),p.pipeTo(new WritableStream({write($){h.enqueue($)},close(){h.close()}}))])}})}var ov=Nr({prefix:"aitxt",size:24});function sv({model:e,tools:t,toolChoice:r,system:n,prompt:a,messages:o,maxRetries:s,abortSignal:i,headers:l,stopWhen:u=Wl(1),experimental_output:c,output:p=c,experimental_telemetry:d,prepareStep:v,providerOptions:E,experimental_activeTools:w,activeTools:I=w,experimental_repairToolCall:P,experimental_transform:C,experimental_download:h,includeRawChunks:$=!1,onChunk:R,onError:y=({error:Oe})=>{console.error(Oe)},onFinish:O,onAbort:z,onStepFinish:F,experimental_context:se,_internal:{now:L=nv,generateId:X=ov,currentDate:Q=()=>new Date}={},...le}){return new lv({model:an(e),telemetry:d,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:p,providerOptions:E,prepareStep:v,includeRawChunks:$,onChunk:R,onError:y,onFinish:O,onAbort:z,onStepFinish:F,now:L,currentDate:Q,generateId:X,experimental_context:se,download:h})}function iv(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 p=JSON.stringify(c.partial);p!==o&&(s({controller:l,partialOutput:c.partial}),o=p)}}})}var lv=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:p,activeTools:d,repairToolCall:v,stopConditions:E,output:w,providerOptions:I,prepareStep:P,includeRawChunks:C,now:h,currentDate:$,generateId:R,onChunk:y,onError:O,onFinish:z,onAbort:F,onStepFinish:se,experimental_context:L,download:X}){this._totalUsage=new ir,this._finishReason=new ir,this._rawFinishReason=new ir,this._steps=new ir,this.outputSpecification=w,this.includeRawChunks=C,this.tools=u;let Q,le=[];const Oe=[];let we,ct,Fe,zt={},$t=[];const Ce=[],Dt=new Map;let Mt,nt={},at={};const xr=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 O({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 Vn({content:le,tools:u}),ae=new Yl({content:le,finishReason:N.finishReason,rawFinishReason:N.rawFinishReason,usage:N.usage,warnings:$t,request:zt,response:{...N.response,messages:[...Oe,...U]},providerMetadata:N.providerMetadata});await(se==null?void 0:se(ae)),ma({warnings:$t,provider:e.provider,model:e.modelId}),Ce.push(ae),Oe.push(...U),Q.resolve()}N.type==="finish"&&(Fe=N.totalUsage,we=N.finishReason,ct=N.rawFinishReason)},async flush(pe){try{if(Ce.length===0){const B=new dl({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=we??"other",ne=Fe??Cn();J._finishReason.resolve(fe),J._rawFinishReason.resolve(ct),J._totalUsage.resolve(ne),J._steps.resolve(Ce);const V=Ce[Ce.length-1];await(z==null?void 0:z({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})),Mt.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{Mt.end()}}}),dt=rv();this.addStream=dt.addStream,this.closeStream=dt.close;const er=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 er.read();if(ne){pe.close();return}if(o!=null&&o.aborted){fe();return}pe.enqueue(V)}catch(ne){kt(ne)&&(o!=null&&o.aborted)?fe():pe.error(ne)}},cancel(pe){return dt.stream.cancel(pe)}});for(const pe of p)ot=ot.pipeThrough(pe({tools:u,stopStream(){dt.terminate()}}));this.baseStream=ot.pipeThrough(iv(w??on())).pipeThrough(xr);const{maxRetries:kr,retry:tr}=Zl({maxRetries:a,abortSignal:o}),It=Ml(t),Ze=Bn(n),Pr=Dl({model:e,telemetry:t,headers:r,settings:{...Ze,maxRetries:kr}}),J=this;Ir({name:"ai.streamText",attributes:tt({telemetry:t,attributes:{...Er({operationId:"ai.streamText",telemetry:t}),...Pr,"ai.prompt":{input:()=>JSON.stringify({system:s,prompt:i,messages:l})}}}),tracer:It,endWhenDone:!1,fn:async pe=>{Mt=pe;const fe=await zl({system:s,prompt:i,messages:l}),ne=fe.messages,V=[],{approvedToolApprovals:B,deniedToolApprovals:Ke}=Gl({messages:ne});if(Ke.length>0||B.length>0){const U=[...B,...Ke].filter(ve=>ve.toolCall.providerExecuted),ae=B.filter(ve=>!ve.toolCall.providerExecuted),W=Ke.filter(ve=>!ve.toolCall.providerExecuted),st=Ke.filter(ve=>ve.toolCall.providerExecuted);let ke;const pt=new ReadableStream({start(ve){ke=ve}});J.addStream(pt);try{for(const Se of[...W,...st])ke==null||ke.enqueue({type:"tool-output-denied",toolCallId:Se.toolCall.toolCallId,toolName:Se.toolCall.toolName});const ve=[];if(await Promise.all(ae.map(async Se=>{const _e=await ha({toolCall:Se.toolCall,tools:u,tracer:It,telemetry:t,messages:ne,abortSignal:o,experimental_context:L,onPreliminaryToolResult:St=>{ke==null||ke.enqueue(St)}});_e!=null&&(ke==null||ke.enqueue(_e),ve.push(_e))})),U.length>0&&V.push({role:"tool",content:U.map(Se=>({type:"tool-approval-response",approvalId:Se.approvalResponse.approvalId,approved:Se.approvalResponse.approved,reason:Se.approvalResponse.reason,providerExecuted:!0}))}),ve.length>0||W.length>0){const Se=[];for(const _e of ve)Se.push({type:"tool-result",toolCallId:_e.toolCallId,toolName:_e.toolName,output:await pr({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)Se.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:Se})}}finally{ke==null||ke.close()}}Oe.push(...V);async function N({currentStep:U,responseMessages:ae,usage:W}){var st,ke,pt,ve,Se,_e;const St=J.includeRawChunks;Q=new ir;const ft=[...ne,...ae],D=await(P==null?void 0:P({model:e,steps:Ce,stepNumber:Ce.length,messages:ft,experimental_context:L})),Te=an((st=D==null?void 0:D.model)!=null?st:e),Ft=await Rl({prompt:{system:(ke=D==null?void 0:D.system)!=null?ke:fe.system,messages:(pt=D==null?void 0:D.messages)!=null?pt:ft},supportedUrls:await Te.supportedUrls,download:X}),{toolChoice:it,tools:Lt}=await xl({tools:u,toolChoice:(ve=D==null?void 0:D.toolChoice)!=null?ve:c,activeTools:(Se=D==null?void 0:D.activeTools)!=null?Se:d});L=(_e=D==null?void 0:D.experimental_context)!=null?_e:L;const Cr=fn(I,D==null?void 0:D.providerOptions),{result:{stream:zr,response:rr,request:nr},doStreamSpan:lt,startTimestampMs:$r}=await tr(()=>Ir({name:"ai.streamText.doStream",attributes:tt({telemetry:t,attributes:{...Er({operationId:"ai.streamText.doStream",telemetry:t}),...Pr,"ai.model.provider":Te.provider,"ai.model.id":Te.modelId,"ai.prompt.messages":{input:()=>Ll(Ft)},"ai.prompt.tools":{input:()=>Lt==null?void 0:Lt.map(M=>JSON.stringify(M))},"ai.prompt.toolChoice":{input:()=>it!=null?JSON.stringify(it):void 0},"gen_ai.system":Te.provider,"gen_ai.request.model":Te.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:It,endWhenDone:!1,fn:async M=>({startTimestampMs:h(),doStreamSpan:M,result:await Te.doStream({...Ze,tools:Lt,toolChoice:it,responseFormat:await(w==null?void 0:w.responseFormat),prompt:Ft,providerOptions:Cr,abortSignal:o,headers:r,includeRawChunks:St})})})),Re=av({tools:u,generatorStream:zr,tracer:It,telemetry:t,system:s,messages:ft,repairToolCall:v,abortSignal:o,experimental_context:L,generateId:R}),gt=nr??{},mt=[],ar=[];let mn;const hn={};let Ut="other",yn,Ve=Cn(),vn,_a=!0,Xe={id:R(),timestamp:$(),modelId:e.modelId},wa="";J.addStream(Re.pipeThrough(new TransformStream({async transform(M,xe){var or,sr,Dr,Ne,jt;if(M.type==="stream-start"){mn=M.warnings;return}if(_a){const be=h()-$r;_a=!1,lt.addEvent("ai.stream.firstChunk",{"ai.response.msToFirstChunk":be}),lt.setAttributes({"ai.response.msToFirstChunk":be}),xe.enqueue({type:"start-step",request:gt,warnings:mn??[]})}const _n=M.type;switch(_n){case"tool-approval-request":case"text-start":case"text-end":{xe.enqueue(M);break}case"text-delta":{M.delta.length>0&&(xe.enqueue({type:"text-delta",id:M.id,text:M.delta,providerMetadata:M.providerMetadata}),wa+=M.delta);break}case"reasoning-start":case"reasoning-end":{xe.enqueue(M);break}case"reasoning-delta":{xe.enqueue({type:"reasoning-delta",id:M.id,text:M.delta,providerMetadata:M.providerMetadata});break}case"tool-call":{xe.enqueue(M),mt.push(M);break}case"tool-result":{xe.enqueue(M),M.preliminary||ar.push(M);break}case"tool-error":{xe.enqueue(M),ar.push(M);break}case"response-metadata":{Xe={id:(or=M.id)!=null?or:Xe.id,timestamp:(sr=M.timestamp)!=null?sr:Xe.timestamp,modelId:(Dr=M.modelId)!=null?Dr:Xe.modelId};break}case"finish":{Ve=M.usage,Ut=M.finishReason,yn=M.rawFinishReason,vn=M.providerMetadata;const be=h()-$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":{xe.enqueue(M);break}case"source":{xe.enqueue(M);break}case"tool-input-start":{hn[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}),xe.enqueue({...M,dynamic:(jt=M.dynamic)!=null?jt:(be==null?void 0:be.type)==="dynamic",title:be==null?void 0:be.title});break}case"tool-input-end":{delete hn[M.id],xe.enqueue(M);break}case"tool-input-delta":{const be=hn[M.id],wn=u==null?void 0:u[be];(wn==null?void 0:wn.onInputDelta)!=null&&await wn.onInputDelta({inputTextDelta:M.delta,toolCallId:M.id,messages:ft,abortSignal:o,experimental_context:L}),xe.enqueue(M);break}case"error":{xe.enqueue(M),Ut="error";break}case"raw":{St&&xe.enqueue(M);break}default:{const be=_n;throw new Error(`Unknown chunk type: ${be}`)}}},async flush(M){const xe=mt.length>0?JSON.stringify(mt):void 0;try{lt.setAttributes(await tt({telemetry:t,attributes:{"ai.response.finishReason":Ut,"ai.response.text":{output:()=>wa},"ai.response.toolCalls":{output:()=>xe},"ai.response.id":Xe.id,"ai.response.model":Xe.modelId,"ai.response.timestamp":Xe.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(vn),"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":[Ut],"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:Ut,rawFinishReason:yn,usage:Ve,providerMetadata:vn,response:{...Xe,headers:rr==null?void 0:rr.headers}});const or=jl(W,Ve);await Q.promise;const sr=mt.filter(Ne=>Ne.providerExecuted!==!0),Dr=ar.filter(Ne=>Ne.providerExecuted!==!0);for(const Ne of mt){if(Ne.providerExecuted!==!0)continue;const jt=u==null?void 0:u[Ne.toolName];(jt==null?void 0:jt.type)==="provider"&&jt.supportsDeferredResults&&(ar.some(be=>be.type==="tool-result"&&be.toolCallId===Ne.toolCallId)||Dt.set(Ne.toolCallId,{toolName:Ne.toolName}))}for(const Ne of ar)Ne.type==="tool-result"&&Dt.delete(Ne.toolCallId);if((sr.length>0&&Dr.length===sr.length||Dt.size>0)&&!await Kl({stopConditions:E,steps:Ce})){ae.push(...await Vn({content:Ce[Ce.length-1].content,tools:u}));try{await N({currentStep:U+1,responseMessages:ae,usage:or})}catch(Ne){M.enqueue({type:"error",error:Ne}),J.closeStream()}}else M.enqueue({type:"finish",finishReason:Ut,rawFinishReason:yn,totalUsage:or}),J.closeStream()}})))}await N({currentStep:0,responseMessages:V,usage:Cn()})}}).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 jr(this.teeStream().pipeThrough(new TransformStream({transform({part:e},t){e.type==="text-delta"&&t.enqueue(e.text)}})))}get fullStream(){return jr(this.teeStream().pipeThrough(new TransformStream({transform({part:e},t){t.enqueue(e)}})))}async consumeStream(e){var t;try{await tv({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 jr(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:on()).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=Wt}={}){const u=t!=null?Hy({originalMessages:e,responseMessageId:t}):void 0,c=d=>{var v;const E=(v=this.tools)==null?void 0:v[d.toolName];return E==null?d.dynamic:(E==null?void 0:E.type)==="dynamic"?!0:void 0},p=this.fullStream.pipeThrough(new TransformStream({transform:async(d,v)=>{const E=n==null?void 0:n({part:d}),w=d.type;switch(w){case"text-start":{v.enqueue({type:"text-start",id:d.id,...d.providerMetadata!=null?{providerMetadata:d.providerMetadata}:{}});break}case"text-delta":{v.enqueue({type:"text-delta",id:d.id,delta:d.text,...d.providerMetadata!=null?{providerMetadata:d.providerMetadata}:{}});break}case"text-end":{v.enqueue({type:"text-end",id:d.id,...d.providerMetadata!=null?{providerMetadata:d.providerMetadata}:{}});break}case"reasoning-start":{v.enqueue({type:"reasoning-start",id:d.id,...d.providerMetadata!=null?{providerMetadata:d.providerMetadata}:{}});break}case"reasoning-delta":{a&&v.enqueue({type:"reasoning-delta",id:d.id,delta:d.text,...d.providerMetadata!=null?{providerMetadata:d.providerMetadata}:{}});break}case"reasoning-end":{v.enqueue({type:"reasoning-end",id:d.id,...d.providerMetadata!=null?{providerMetadata:d.providerMetadata}:{}});break}case"file":{v.enqueue({type:"file",mediaType:d.file.mediaType,url:`data:${d.file.mediaType};base64,${d.file.base64}`});break}case"source":{o&&d.sourceType==="url"&&v.enqueue({type:"source-url",sourceId:d.id,url:d.url,title:d.title,...d.providerMetadata!=null?{providerMetadata:d.providerMetadata}:{}}),o&&d.sourceType==="document"&&v.enqueue({type:"source-document",sourceId:d.id,mediaType:d.mediaType,title:d.title,filename:d.filename,...d.providerMetadata!=null?{providerMetadata:d.providerMetadata}:{}});break}case"tool-input-start":{const I=c(d);v.enqueue({type:"tool-input-start",toolCallId:d.id,toolName:d.toolName,...d.providerExecuted!=null?{providerExecuted:d.providerExecuted}:{},...I!=null?{dynamic:I}:{},...d.title!=null?{title:d.title}:{}});break}case"tool-input-delta":{v.enqueue({type:"tool-input-delta",toolCallId:d.id,inputTextDelta:d.delta});break}case"tool-call":{const I=c(d);d.invalid?v.enqueue({type:"tool-input-error",toolCallId:d.toolCallId,toolName:d.toolName,input:d.input,...d.providerExecuted!=null?{providerExecuted:d.providerExecuted}:{},...d.providerMetadata!=null?{providerMetadata:d.providerMetadata}:{},...I!=null?{dynamic:I}:{},errorText:l(d.error),...d.title!=null?{title:d.title}:{}}):v.enqueue({type:"tool-input-available",toolCallId:d.toolCallId,toolName:d.toolName,input:d.input,...d.providerExecuted!=null?{providerExecuted:d.providerExecuted}:{},...d.providerMetadata!=null?{providerMetadata:d.providerMetadata}:{},...I!=null?{dynamic:I}:{},...d.title!=null?{title:d.title}:{}});break}case"tool-approval-request":{v.enqueue({type:"tool-approval-request",approvalId:d.approvalId,toolCallId:d.toolCall.toolCallId});break}case"tool-result":{const I=c(d);v.enqueue({type:"tool-output-available",toolCallId:d.toolCallId,output:d.output,...d.providerExecuted!=null?{providerExecuted:d.providerExecuted}:{},...d.preliminary!=null?{preliminary:d.preliminary}:{},...I!=null?{dynamic:I}:{}});break}case"tool-error":{const I=c(d);v.enqueue({type:"tool-output-error",toolCallId:d.toolCallId,errorText:l(d.error),...d.providerExecuted!=null?{providerExecuted:d.providerExecuted}:{},...I!=null?{dynamic:I}:{}});break}case"tool-output-denied":{v.enqueue({type:"tool-output-denied",toolCallId:d.toolCallId});break}case"error":{v.enqueue({type:"error",errorText:l(d.error)});break}case"start-step":{v.enqueue({type:"start-step"});break}case"finish-step":{v.enqueue({type:"finish-step"});break}case"start":{s&&v.enqueue({type:"start",...E!=null?{messageMetadata:E}:{},...u!=null?{messageId:u}:{}});break}case"finish":{i&&v.enqueue({type:"finish",finishReason:d.finishReason,...E!=null?{messageMetadata:E}:{}});break}case"abort":{v.enqueue(d);break}case"tool-input-end":break;case"raw":break;default:{const I=w;throw new Error(`Unknown chunk type: ${I}`)}}E!=null&&w!=="start"&&w!=="finish"&&v.enqueue({type:"message-metadata",messageMetadata:E})}}));return jr(Qy({stream:p,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}={}){ev({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){By({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 Vy({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 Gy({textStream:this.textStream,...e})}};Nr({prefix:"aiobj",size:24});Nr({prefix:"aiobj",size:24});const uv=`You are an expert language translator specializing in preserving data structure integrity while translating content.
77
77
 
78
78
  TASK: Translate all text content within the provided JSON structure to the target language.
79
79
 
@@ -350,11 +350,11 @@ Format:
350
350
  - NEVER break the format.
351
351
  - NEVER place ANYTHING before '--START--'.
352
352
  - The output must always begin with '--START--' and end with '--END--'.
353
- `.trim();function tu(e=null){if(e)switch(e){case"TRANSLATE_CONTENT":return uv;case"UPDATE_CONTENT":return cv;default:return Xo}return Xo}const dv="google/gemini-2.5-flash";class pv{constructor(t){Ee(this,"model",dv);Ee(this,"temperature",.7);this.options=t,this.model=(t==null?void 0:t.model)??this.model}async handleRequest(t,r){var d,v;const{messages:n,image:a,initiator:o=null,model:s}=t,i=s||this.model,l=n.filter(E=>E.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,p=sv({model:i,system:tu(o),messages:c,temperature:this.temperature,onFinish:((d=this.options)==null?void 0:d.onFinish)??j.noop,onError:((v=this.options)==null?void 0:v.onError)??j.noop});return r&&p.pipeTextStreamToResponse(r),p}isConfigured(){return!0}}var Qe={exports:{}};const fv="16.6.1",gv={version:fv};var Qo;function ru(){if(Qo)return Qe.exports;Qo=1;const e=lu,t=uu,r=cu,n=ss,o=gv.version,s=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function i(y){const O={};let z=y.toString();z=z.replace(/\r\n?/mg,`
353
+ `.trim();function tu(e=null){if(e)switch(e){case"TRANSLATE_CONTENT":return uv;case"UPDATE_CONTENT":return cv;default:return Xo}return Xo}const dv="google/gemini-2.5-flash";class pv{constructor(t){Ee(this,"model",dv);Ee(this,"temperature",.7);this.options=t,this.model=(t==null?void 0:t.model)??this.model}async handleRequest(t,r){var d,v;const{messages:n,image:a,initiator:o=null,model:s}=t,i=s||this.model,l=n.filter(E=>E.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,p=sv({model:i,system:tu(o),messages:c,temperature:this.temperature,onFinish:((d=this.options)==null?void 0:d.onFinish)??q.noop,onError:((v=this.options)==null?void 0:v.onError)??q.noop});return r&&p.pipeTextStreamToResponse(r),p}isConfigured(){return!0}}var Qe={exports:{}};const fv="16.6.1",gv={version:fv};var Qo;function ru(){if(Qo)return Qe.exports;Qo=1;const e=lu,t=uu,r=cu,n=ss,o=gv.version,s=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function i(y){const O={};let z=y.toString();z=z.replace(/\r\n?/mg,`
354
354
  `);let F;for(;(F=s.exec(z))!=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,`
355
- `),L=L.replace(/\\r/g,"\r")),O[se]=L}return O}function l(y){y=y||{};const O=E(y);y.path=O;const z=R.configDotenv(y);if(!z.parsed){const X=new Error(`MISSING_DATA: Cannot parse ${O} for an unknown reason`);throw X.code="MISSING_DATA",X}const F=d(y).split(","),se=F.length;let L;for(let X=0;X<se;X++)try{const Q=F[X].trim(),le=v(z,Q);L=R.decrypt(le.ciphertext,le.key);break}catch(Q){if(X+1>=se)throw Q}return R.parse(L)}function u(y){console.log(`[dotenv@${o}][WARN] ${y}`)}function c(y){console.log(`[dotenv@${o}][DEBUG] ${y}`)}function p(y){console.log(`[dotenv@${o}] ${y}`)}function d(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 v(y,O){let z;try{z=new URL(O)}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=z.password;if(!F){const Q=new Error("INVALID_DOTENV_KEY: Missing key part");throw Q.code="INVALID_DOTENV_KEY",Q}const se=z.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 E(y){let O=null;if(y&&y.path&&y.path.length>0)if(Array.isArray(y.path))for(const z of y.path)e.existsSync(z)&&(O=z.endsWith(".vault")?z:`${z}.vault`);else O=y.path.endsWith(".vault")?y.path:`${y.path}.vault`;else O=t.resolve(process.cwd(),".env.vault");return e.existsSync(O)?O:null}function w(y){return y[0]==="~"?t.join(r.homedir(),y.slice(1)):y}function I(y){const O=!!(y&&y.debug),z=y&&"quiet"in y?y.quiet:!0;(O||!z)&&p("Loading env from encrypted .env.vault");const F=R._parseVault(y);let se=process.env;return y&&y.processEnv!=null&&(se=y.processEnv),R.populate(se,F,y),{parsed:F}}function P(y){const O=t.resolve(process.cwd(),".env");let z="utf8";const F=!!(y&&y.debug),se=y&&"quiet"in y?y.quiet:!0;y&&y.encoding?z=y.encoding:F&&c("No encoding is specified. UTF-8 is used by default");let L=[O];if(y&&y.path)if(!Array.isArray(y.path))L=[w(y.path)];else{L=[];for(const Oe of y.path)L.push(w(Oe))}let X;const Q={};for(const Oe of L)try{const we=R.parse(e.readFileSync(Oe,{encoding:z}));R.populate(Q,we,y)}catch(we){F&&c(`Failed to load ${Oe} ${we.message}`),X=we}let le=process.env;if(y&&y.processEnv!=null&&(le=y.processEnv),R.populate(le,Q,y),F||!se){const Oe=Object.keys(Q).length,we=[];for(const ct of L)try{const Fe=t.relative(process.cwd(),ct);we.push(Fe)}catch(Fe){F&&c(`Failed to load ${ct} ${Fe.message}`),X=Fe}p(`injecting env (${Oe}) from ${we.join(",")}`)}return X?{parsed:Q,error:X}:{parsed:Q}}function C(y){if(d(y).length===0)return R.configDotenv(y);const O=E(y);return O?R._configVault(y):(u(`You set DOTENV_KEY but you are missing a .env.vault file at ${O}. Did you forget to build it?`),R.configDotenv(y))}function h(y,O){const z=Buffer.from(O.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",z,se);return X.setAuthTag(L),`${X.update(F)}${X.final()}`}catch(X){const Q=X instanceof RangeError,le=X.message==="Invalid key length",Oe=X.message==="Unsupported state or unable to authenticate data";if(Q||le){const we=new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw we.code="INVALID_DOTENV_KEY",we}else if(Oe){const we=new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw we.code="DECRYPTION_FAILED",we}else throw X}}function D(y,O,z={}){const F=!!(z&&z.debug),se=!!(z&&z.override);if(typeof O!="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(O))Object.prototype.hasOwnProperty.call(y,L)?(se===!0&&(y[L]=O[L]),F&&c(se===!0?`"${L}" is already defined and WAS overwritten`:`"${L}" is already defined and was NOT overwritten`)):y[L]=O[L]}const R={configDotenv:P,_configVault:I,_parseVault:l,config:C,decrypt:h,parse:i,populate:D};return Qe.exports.configDotenv=R.configDotenv,Qe.exports._configVault=R._configVault,Qe.exports._parseVault=R._parseVault,Qe.exports.config=R.config,Qe.exports.decrypt=R.decrypt,Qe.exports.parse=R.parse,Qe.exports.populate=R.populate,Qe.exports=R,Qe.exports}var mv=ru();const hv=iu.getDefaultExportFromCjs(mv),yv=f.pgSequence("app_pages_metadata_id_seq",{startWith:"1",increment:"1",minValue:"1",maxValue:"9223372036854775807",cache:"1",cycle:!1}),vv=f.pgSequence("webhook_events_id_seq",{startWith:"1",increment:"1",minValue:"1",maxValue:"9223372036854775807",cache:"1",cycle:!1}),_v=f.pgTable("app_assets",{id:f.uuid().defaultRandom().primaryKey().notNull(),app:f.uuid(),name:f.text(),description:f.text(),url:f.text(),size:f.text(),folderId:f.text(),thumbnailUrl:f.text(),duration:f.numeric(),format:f.text(),width:f.numeric(),height:f.numeric(),createdBy:f.text(),createdAt:f.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),type:f.text(),updatedAt:f.timestamp({withTimezone:!0,mode:"string"})},e=>[f.foreignKey({columns:[e.app],foreignColumns:[Ae.id],name:"app_assets_app_fkey"})]),ge=f.pgTable("app_pages_online",{createdAt:f.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),slug:f.text().notNull(),lang:f.text().default("").notNull(),seo:f.jsonb().default({}),app:f.uuid().notNull(),id:f.uuid().primaryKey().notNull(),name:f.text().notNull(),primaryPage:f.uuid(),blocks:f.jsonb().default([]),currentEditor:f.text(),changes:f.jsonb(),partialBlocks:f.text(),links:f.text(),online:f.boolean().default(!0),pageType:f.text(),parent:f.uuid(),lastSaved:f.timestamp({withTimezone:!0,mode:"string"}),dynamic:f.boolean().default(!1),libRefId:f.uuid(),dynamicSlugCustom:f.text().default(""),metadata:f.jsonb().default({}),jsonld:f.jsonb().default({}),globalJsonLds:f.jsonb().default([]),designTokens:f.jsonb()},e=>[f.foreignKey({columns:[e.app],foreignColumns:[Ae.id],name:"app_pages_online_app_fkey"})]),Ae=f.pgTable("apps",{id:f.uuid().defaultRandom().primaryKey().notNull(),createdAt:f.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),name:f.text(),user:f.text(),settings:f.jsonb().default({}),theme:f.jsonb().default({}),fallbackLang:f.text().default("en"),languages:f.jsonb().default([]),changes:f.jsonb(),deletedAt:f.timestamp({withTimezone:!0,mode:"string"}),client:f.uuid(),designTokens:f.jsonb().default({})}),fr=f.pgTable("apps_online",{id:f.uuid().primaryKey().notNull(),createdAt:f.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),name:f.text(),user:f.text(),settings:f.jsonb().default({}),theme:f.jsonb().default({}),fallbackLang:f.text().default("en"),languages:f.jsonb().default([]),changes:f.jsonb(),apiKey:f.text(),deletedAt:f.timestamp({withTimezone:!0,mode:"string"}),client:f.uuid(),designTokens:f.jsonb().default({})}),K=f.pgTable("libraries",{id:f.uuid().defaultRandom().primaryKey().notNull(),createdAt:f.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),name:f.text(),app:f.uuid(),type:f.text(),status:f.text().default("active").notNull(),client:f.uuid()},e=>[f.foreignKey({columns:[e.app],foreignColumns:[Ae.id],name:"libraries_app_fkey"})]),wv=f.pgTable("app_form_submissions",{id:f.uuid().defaultRandom().primaryKey().notNull(),createdAt:f.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),app:f.uuid(),formData:f.json(),additionalData:f.json(),formName:f.text().default(""),pageUrl:f.text()},e=>[f.foreignKey({columns:[e.app],foreignColumns:[Ae.id],name:"app_form_submissions_app_fkey"})]),g=f.pgTable("app_pages",{createdAt:f.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),slug:f.text().notNull(),lang:f.text().default("").notNull(),seo:f.jsonb().default({}),app:f.uuid().notNull(),id:f.uuid().defaultRandom().primaryKey().notNull(),name:f.text().notNull(),primaryPage:f.uuid(),blocks:f.jsonb().default([]),currentEditor:f.text(),changes:f.jsonb(),online:f.boolean().default(!1),parent:f.uuid(),pageType:f.text(),lastSaved:f.timestamp({withTimezone:!0,mode:"string"}),dynamic:f.boolean().default(!1),libRefId:f.uuid(),dynamicSlugCustom:f.text().default(""),metadata:f.jsonb().default({}),jsonld:f.jsonb().default({}),globalJsonLds:f.jsonb().default([]),links:f.text(),partialBlocks:f.text(),designTokens:f.jsonb()},e=>[f.foreignKey({columns:[e.app],foreignColumns:[Ae.id],name:"app_pages_app_fkey"}),f.foreignKey({columns:[e.parent],foreignColumns:[e.id],name:"app_pages_parent_fkey"})]),Ie=f.pgTable("app_pages_revisions",{createdAt:f.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),slug:f.text().notNull(),lang:f.text().default("").notNull(),seo:f.jsonb().default({}),app:f.uuid().notNull(),id:f.uuid().notNull(),name:f.text().notNull(),primaryPage:f.uuid(),blocks:f.jsonb().default([]),currentEditor:f.text(),changes:f.jsonb(),partialBlocks:f.text(),links:f.text(),online:f.boolean().default(!0),pageType:f.text(),parent:f.uuid(),lastSaved:f.timestamp({withTimezone:!0,mode:"string"}),dynamic:f.boolean().default(!1),uid:f.uuid().defaultRandom().primaryKey().notNull(),type:f.text(),libRefId:f.uuid(),dynamicSlugCustom:f.text().default(""),metadata:f.jsonb().default({}),jsonld:f.jsonb().default({}),globalJsonLds:f.jsonb().default([]),designTokens:f.jsonb()},e=>[f.foreignKey({columns:[e.app],foreignColumns:[Ae.id],name:"app_pages_revisions_app_fkey"})]),cr=f.pgTable("app_users",{id:f.uuid().defaultRandom().primaryKey().notNull(),createdAt:f.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),user:f.text(),app:f.uuid(),role:f.text(),permissions:f.jsonb(),status:f.text().default("active").notNull()},e=>[f.foreignKey({columns:[e.app],foreignColumns:[Ae.id],name:"app_users_app_fkey"})]),te=f.pgTable("library_templates",{id:f.uuid().defaultRandom().primaryKey().notNull(),createdAt:f.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),user:f.text(),name:f.text(),description:f.text(),pageId:f.uuid(),pageType:f.text(),library:f.uuid(),preview:f.text()},e=>[f.foreignKey({columns:[e.library],foreignColumns:[K.id],name:"library_templates_library_fkey"})]),re=f.pgTable("library_items",{id:f.uuid().defaultRandom().primaryKey().notNull(),createdAt:f.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),library:f.uuid(),name:f.text(),description:f.text(),blocks:f.jsonb().default([]),preview:f.text(),group:f.text().default("general"),user:f.text(),html:f.text()},e=>[f.foreignKey({columns:[e.library],foreignColumns:[K.id],name:"library_items_library_fkey"})]),ya=f.pgTable("ai_logs",{id:f.bigint({mode:"number"}).primaryKey().generatedByDefaultAsIdentity({name:"ai_logs_id_seq",startWith:1,increment:1,minValue:1,maxValue:9223372036854776e3,cache:1}),createdAt:f.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),model:f.text(),totalDuration:f.numeric(),error:f.text(),totalTokens:f.numeric(),tokenUsage:f.jsonb(),user:f.text(),client:f.uuid().defaultRandom(),cost:f.doublePrecision().default(m.sql`'0'`),prompt:f.text(),app:f.uuid()},e=>[f.foreignKey({columns:[e.app],foreignColumns:[Ae.id],name:"ai_logs_app_fkey"})]),nu=Object.freeze(Object.defineProperty({__proto__:null,aiLogs:ya,appAssets:_v,appFormSubmissions:wv,appPages:g,appPagesMetadataIdSeq:yv,appPagesOnline:ge,appPagesRevisions:Ie,appUsers:cr,apps:Ae,appsOnline:fr,libraries:K,libraryItems:re,libraryTemplates:te,webhookEventsIdSeq:vv},Symbol.toStringTag,{value:"Module"}));hv.config();const au=process.env.CHAIBUILDER_DATABASE_URL;if(!au)throw new Error("Database not configured. Please set CHAIBUILDER_DATABASE_URL environment variable.");const Tv=pu(au,{max:10}),S=du.drizzle(Tv,{schema:nu});async function A(e){try{return{data:await e(),error:null}}catch(t){return{data:null,error:t}}}const bv=e=>{var t;return((t=fu.AI_MODELS.find(r=>r.id===e))==null?void 0:t.multiplier)||1};async function Ev({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(ya).values(l));u&&console.error("Error logging AI request error:",u)}async function Iv({userId:e,startTime:t,arg:r,prompt:n,model:a,appId:o}){var d,v,E;const s=r==null?void 0:r.totalUsage,i=(v=(d=r==null?void 0:r.providerMetadata)==null?void 0:d.gateway)==null?void 0:v.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)*bv(a))),tokenUsage:s,cost:i,prompt:n,user:e,client:((E=process==null?void 0:process.env)==null?void 0:E.CHAIBUILDER_CLIENT_ID)||null,app:o},{error:p}=await A(()=>S.insert(ya).values(c));p&&console.error("Error logging AI request:",p)}class b 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(){Ee(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 _.z.ZodError?r.issues.map(a=>`${a.path.join(".")}: ${a.message}`).join(", "):null}}setContext(t){this.context=t}async verifyAccess(){if(!this.context)throw new b("Context not set","CONTEXT_NOT_SET",500);const{appId:t,userId:r}=this.context;if(!r)throw new b("User ID not found in context","UNAUTHORIZED",401);const{data:n,error:a}=await A(()=>S.select().from(cr).where(m.and(m.eq(cr.app,t),m.eq(cr.user,r),m.eq(cr.status,"active"))));if(a)throw new b("Error checking user access","ERROR_CHECKING_USER_ACCESS",500,a);if(!n||n.length===0)throw new b("User does not have access to this app","UNAUTHORIZED",401)}handleError(t){if(t instanceof b)throw t;if(t instanceof _.z.ZodError){const r=t.issues.map(n=>`${n.path.join(".")}: ${n.message}`).join(", ");throw new b(`Validation failed: ${r}`,"VALIDATION_ERROR")}else{const r=t instanceof Error?t.message:"Unknown error";throw new b(r,"ACTION_ERROR")}}}class Sv extends Z{getValidationSchema(){return _.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 pv({onFinish:l=>{var u,c;try{Iv({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(p){console.error("Error logging AI request:",p)}},onError:l=>{var u,c;try{Ev({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(p){console.error("Error logging AI request error:",p)}}}),s={messages:t.messages||[],image:t.image,model:t.model,initiator:t.type||null};return{_streamingResponse:!0,_streamResult:await o.handleRequest(s)}}}class Av extends Z{getValidationSchema(){return _.z.any()}async execute(){return await this.verifyAccess(),{access:!0}}}class Nv extends Z{getValidationSchema(){return _.z.object({name:_.z.string().min(1),slug:_.z.string(),pageType:_.z.string(),parent:_.z.string().nullable().optional(),lang:_.z.string().optional(),primaryPage:_.z.string().nullable().optional(),dynamic:_.z.boolean().optional(),hasSlug:_.z.boolean().optional(),template:_.z.string().optional(),seo:_.z.record(_.z.string(),_.z.any()).optional(),jsonLD:_.z.record(_.z.string(),_.z.any()).optional(),dynamicSlugCustom:_.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 b("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 b("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:t.jsonLD??{},online:!1,currentEditor:null,changes:null,libRefId:null,lastSaved:null},{data:s,error:i}=await A(()=>S.insert(g).values(o).returning({id:g.id,name:g.name,slug:g.slug,lang:g.lang,pageType:g.pageType,parent:g.parent,online:g.online,primaryPage:g.primaryPage}));if(i)throw new b("Failed to create page","ERROR_CREATING_PAGE",500,i);if(!s||s.length===0)throw new b("Failed to create page","INSERT_FAILED");const l=s[0];return{page:j.omit(l.primaryPage?{...l,id:l.primaryPage}:l,["primaryPage"])}}async doesSlugExist(t,r){if(!this.context)throw new b("Context not set","CONTEXT_NOT_SET");const{appId:n}=this.context,{data:a,error:o}=await A(()=>S.query.appPages.findFirst({where:m.and(m.eq(g.slug,t),m.eq(g.pageType,r),m.eq(g.app,n)),columns:{id:!0}}));if(o)throw new b(`${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,m.eq(te.library,K.id)).where(m.eq(te.id,t)).limit(1).then(p=>p[0]));if(a)throw new b(`Failed to fetch template: ${a.message||"Unknown database error"}`,"ERROR_GETTING_TEMPLATE_BLOCKS",500,a);if(!n||!n.template||!n.library)throw new b(`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:m.eq(g.id,o.pageId),columns:{blocks:!0}}));if(l)throw new b(`Failed to fetch template blocks: ${l.message||"Unknown database error"}`,"ERROR_GETTING_TEMPLATE_BLOCKS",500,l);if(!i)throw new b(`Template page not found with ID: ${o.pageId}`,"TEMPLATE_PAGE_NOT_FOUND");let u=i.blocks||[];if(u=u.map(p=>p._type==="GlobalBlock"&&!j.isEmpty(p.globalBlock)?{...p,_type:"PartialBlock",partialBlockId:p.globalBlock}:p),!(s.app===r)){const p=s.name||"",d=u.filter(E=>E._type==="PartialBlock"&&!j.isEmpty(E.partialBlockId)),v=await Promise.all(d.map(({partialBlockId:E})=>this.copyPartialBlockFromTemplate(E,p,r)));u=u.map(E=>{const w=v.find(I=>(I==null?void 0:I.libRefId)===E.partialBlockId);return w&&(E._name=`${p} - ${E._name}`,E.partialBlockId=w.id),E})}return u}async copyPartialBlockFromTemplate(t,r,n){const{data:a,error:o}=await A(()=>S.query.appPages.findFirst({where:m.eq(g.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(g).values(s).returning({id:g.id,libRefId:g.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 Ov extends Z{getValidationSchema(){return _.z.object({id:_.z.string().min(1)})}async execute(t){if(await this.verifyAccess(),!this.context)throw new b("Context not set","CONTEXT_NOT_SET");const{id:r}=t,{error:n}=await A(()=>S.delete(re).where(m.eq(re.id,r)));if(n)throw new b("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 Sr{constructor(t,r=!1){Ee(this,"appId");Ee(this,"enableLogging");this.appId=t,this.enableLogging=r}async getPagesTree(){const{data:t,error:r}=await A(()=>S.select({id:g.id,name:g.name,slug:g.slug,pageType:g.pageType,primaryPage:g.primaryPage,parent:g.parent,lang:g.lang,dynamic:g.dynamic}).from(g).where(m.eq(g.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(`
355
+ `),L=L.replace(/\\r/g,"\r")),O[se]=L}return O}function l(y){y=y||{};const O=E(y);y.path=O;const z=R.configDotenv(y);if(!z.parsed){const X=new Error(`MISSING_DATA: Cannot parse ${O} for an unknown reason`);throw X.code="MISSING_DATA",X}const F=d(y).split(","),se=F.length;let L;for(let X=0;X<se;X++)try{const Q=F[X].trim(),le=v(z,Q);L=R.decrypt(le.ciphertext,le.key);break}catch(Q){if(X+1>=se)throw Q}return R.parse(L)}function u(y){console.log(`[dotenv@${o}][WARN] ${y}`)}function c(y){console.log(`[dotenv@${o}][DEBUG] ${y}`)}function p(y){console.log(`[dotenv@${o}] ${y}`)}function d(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 v(y,O){let z;try{z=new URL(O)}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=z.password;if(!F){const Q=new Error("INVALID_DOTENV_KEY: Missing key part");throw Q.code="INVALID_DOTENV_KEY",Q}const se=z.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 E(y){let O=null;if(y&&y.path&&y.path.length>0)if(Array.isArray(y.path))for(const z of y.path)e.existsSync(z)&&(O=z.endsWith(".vault")?z:`${z}.vault`);else O=y.path.endsWith(".vault")?y.path:`${y.path}.vault`;else O=t.resolve(process.cwd(),".env.vault");return e.existsSync(O)?O:null}function w(y){return y[0]==="~"?t.join(r.homedir(),y.slice(1)):y}function I(y){const O=!!(y&&y.debug),z=y&&"quiet"in y?y.quiet:!0;(O||!z)&&p("Loading env from encrypted .env.vault");const F=R._parseVault(y);let se=process.env;return y&&y.processEnv!=null&&(se=y.processEnv),R.populate(se,F,y),{parsed:F}}function P(y){const O=t.resolve(process.cwd(),".env");let z="utf8";const F=!!(y&&y.debug),se=y&&"quiet"in y?y.quiet:!0;y&&y.encoding?z=y.encoding:F&&c("No encoding is specified. UTF-8 is used by default");let L=[O];if(y&&y.path)if(!Array.isArray(y.path))L=[w(y.path)];else{L=[];for(const Oe of y.path)L.push(w(Oe))}let X;const Q={};for(const Oe of L)try{const we=R.parse(e.readFileSync(Oe,{encoding:z}));R.populate(Q,we,y)}catch(we){F&&c(`Failed to load ${Oe} ${we.message}`),X=we}let le=process.env;if(y&&y.processEnv!=null&&(le=y.processEnv),R.populate(le,Q,y),F||!se){const Oe=Object.keys(Q).length,we=[];for(const ct of L)try{const Fe=t.relative(process.cwd(),ct);we.push(Fe)}catch(Fe){F&&c(`Failed to load ${ct} ${Fe.message}`),X=Fe}p(`injecting env (${Oe}) from ${we.join(",")}`)}return X?{parsed:Q,error:X}:{parsed:Q}}function C(y){if(d(y).length===0)return R.configDotenv(y);const O=E(y);return O?R._configVault(y):(u(`You set DOTENV_KEY but you are missing a .env.vault file at ${O}. Did you forget to build it?`),R.configDotenv(y))}function h(y,O){const z=Buffer.from(O.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",z,se);return X.setAuthTag(L),`${X.update(F)}${X.final()}`}catch(X){const Q=X instanceof RangeError,le=X.message==="Invalid key length",Oe=X.message==="Unsupported state or unable to authenticate data";if(Q||le){const we=new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw we.code="INVALID_DOTENV_KEY",we}else if(Oe){const we=new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw we.code="DECRYPTION_FAILED",we}else throw X}}function $(y,O,z={}){const F=!!(z&&z.debug),se=!!(z&&z.override);if(typeof O!="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(O))Object.prototype.hasOwnProperty.call(y,L)?(se===!0&&(y[L]=O[L]),F&&c(se===!0?`"${L}" is already defined and WAS overwritten`:`"${L}" is already defined and was NOT overwritten`)):y[L]=O[L]}const R={configDotenv:P,_configVault:I,_parseVault:l,config:C,decrypt:h,parse:i,populate:$};return Qe.exports.configDotenv=R.configDotenv,Qe.exports._configVault=R._configVault,Qe.exports._parseVault=R._parseVault,Qe.exports.config=R.config,Qe.exports.decrypt=R.decrypt,Qe.exports.parse=R.parse,Qe.exports.populate=R.populate,Qe.exports=R,Qe.exports}var mv=ru();const hv=iu.getDefaultExportFromCjs(mv),yv=f.pgSequence("app_pages_metadata_id_seq",{startWith:"1",increment:"1",minValue:"1",maxValue:"9223372036854775807",cache:"1",cycle:!1}),vv=f.pgSequence("webhook_events_id_seq",{startWith:"1",increment:"1",minValue:"1",maxValue:"9223372036854775807",cache:"1",cycle:!1}),_v=f.pgTable("app_assets",{id:f.uuid().defaultRandom().primaryKey().notNull(),app:f.uuid(),name:f.text(),description:f.text(),url:f.text(),size:f.text(),folderId:f.text(),thumbnailUrl:f.text(),duration:f.numeric(),format:f.text(),width:f.numeric(),height:f.numeric(),createdBy:f.text(),createdAt:f.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),type:f.text(),updatedAt:f.timestamp({withTimezone:!0,mode:"string"})},e=>[f.foreignKey({columns:[e.app],foreignColumns:[Ae.id],name:"app_assets_app_fkey"})]),ge=f.pgTable("app_pages_online",{createdAt:f.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),slug:f.text().notNull(),lang:f.text().default("").notNull(),seo:f.jsonb().default({}),app:f.uuid().notNull(),id:f.uuid().primaryKey().notNull(),name:f.text().notNull(),primaryPage:f.uuid(),blocks:f.jsonb().default([]),currentEditor:f.text(),changes:f.jsonb(),partialBlocks:f.text(),links:f.text(),online:f.boolean().default(!0),pageType:f.text(),parent:f.uuid(),lastSaved:f.timestamp({withTimezone:!0,mode:"string"}),dynamic:f.boolean().default(!1),libRefId:f.uuid(),dynamicSlugCustom:f.text().default(""),metadata:f.jsonb().default({}),jsonld:f.jsonb().default({}),globalJsonLds:f.jsonb().default([]),designTokens:f.jsonb()},e=>[f.foreignKey({columns:[e.app],foreignColumns:[Ae.id],name:"app_pages_online_app_fkey"})]),Ae=f.pgTable("apps",{id:f.uuid().defaultRandom().primaryKey().notNull(),createdAt:f.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),name:f.text(),user:f.text(),settings:f.jsonb().default({}),theme:f.jsonb().default({}),fallbackLang:f.text().default("en"),languages:f.jsonb().default([]),changes:f.jsonb(),deletedAt:f.timestamp({withTimezone:!0,mode:"string"}),client:f.uuid(),designTokens:f.jsonb().default({})}),fr=f.pgTable("apps_online",{id:f.uuid().primaryKey().notNull(),createdAt:f.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),name:f.text(),user:f.text(),settings:f.jsonb().default({}),theme:f.jsonb().default({}),fallbackLang:f.text().default("en"),languages:f.jsonb().default([]),changes:f.jsonb(),apiKey:f.text(),deletedAt:f.timestamp({withTimezone:!0,mode:"string"}),client:f.uuid(),designTokens:f.jsonb().default({})}),K=f.pgTable("libraries",{id:f.uuid().defaultRandom().primaryKey().notNull(),createdAt:f.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),name:f.text(),app:f.uuid(),type:f.text(),status:f.text().default("active").notNull(),client:f.uuid()},e=>[f.foreignKey({columns:[e.app],foreignColumns:[Ae.id],name:"libraries_app_fkey"})]),wv=f.pgTable("app_form_submissions",{id:f.uuid().defaultRandom().primaryKey().notNull(),createdAt:f.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),app:f.uuid(),formData:f.json(),additionalData:f.json(),formName:f.text().default(""),pageUrl:f.text()},e=>[f.foreignKey({columns:[e.app],foreignColumns:[Ae.id],name:"app_form_submissions_app_fkey"})]),g=f.pgTable("app_pages",{createdAt:f.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),slug:f.text().notNull(),lang:f.text().default("").notNull(),seo:f.jsonb().default({}),app:f.uuid().notNull(),id:f.uuid().defaultRandom().primaryKey().notNull(),name:f.text().notNull(),primaryPage:f.uuid(),blocks:f.jsonb().default([]),currentEditor:f.text(),changes:f.jsonb(),online:f.boolean().default(!1),parent:f.uuid(),pageType:f.text(),lastSaved:f.timestamp({withTimezone:!0,mode:"string"}),dynamic:f.boolean().default(!1),libRefId:f.uuid(),dynamicSlugCustom:f.text().default(""),metadata:f.jsonb().default({}),jsonld:f.jsonb().default({}),globalJsonLds:f.jsonb().default([]),links:f.text(),partialBlocks:f.text(),designTokens:f.jsonb()},e=>[f.foreignKey({columns:[e.app],foreignColumns:[Ae.id],name:"app_pages_app_fkey"}),f.foreignKey({columns:[e.parent],foreignColumns:[e.id],name:"app_pages_parent_fkey"})]),Ie=f.pgTable("app_pages_revisions",{createdAt:f.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),slug:f.text().notNull(),lang:f.text().default("").notNull(),seo:f.jsonb().default({}),app:f.uuid().notNull(),id:f.uuid().notNull(),name:f.text().notNull(),primaryPage:f.uuid(),blocks:f.jsonb().default([]),currentEditor:f.text(),changes:f.jsonb(),partialBlocks:f.text(),links:f.text(),online:f.boolean().default(!0),pageType:f.text(),parent:f.uuid(),lastSaved:f.timestamp({withTimezone:!0,mode:"string"}),dynamic:f.boolean().default(!1),uid:f.uuid().defaultRandom().primaryKey().notNull(),type:f.text(),libRefId:f.uuid(),dynamicSlugCustom:f.text().default(""),metadata:f.jsonb().default({}),jsonld:f.jsonb().default({}),globalJsonLds:f.jsonb().default([]),designTokens:f.jsonb()},e=>[f.foreignKey({columns:[e.app],foreignColumns:[Ae.id],name:"app_pages_revisions_app_fkey"})]),cr=f.pgTable("app_users",{id:f.uuid().defaultRandom().primaryKey().notNull(),createdAt:f.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),user:f.text(),app:f.uuid(),role:f.text(),permissions:f.jsonb(),status:f.text().default("active").notNull()},e=>[f.foreignKey({columns:[e.app],foreignColumns:[Ae.id],name:"app_users_app_fkey"})]),te=f.pgTable("library_templates",{id:f.uuid().defaultRandom().primaryKey().notNull(),createdAt:f.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),user:f.text(),name:f.text(),description:f.text(),pageId:f.uuid(),pageType:f.text(),library:f.uuid(),preview:f.text()},e=>[f.foreignKey({columns:[e.library],foreignColumns:[K.id],name:"library_templates_library_fkey"})]),re=f.pgTable("library_items",{id:f.uuid().defaultRandom().primaryKey().notNull(),createdAt:f.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),library:f.uuid(),name:f.text(),description:f.text(),blocks:f.jsonb().default([]),preview:f.text(),group:f.text().default("general"),user:f.text(),html:f.text()},e=>[f.foreignKey({columns:[e.library],foreignColumns:[K.id],name:"library_items_library_fkey"})]),ya=f.pgTable("ai_logs",{id:f.bigint({mode:"number"}).primaryKey().generatedByDefaultAsIdentity({name:"ai_logs_id_seq",startWith:1,increment:1,minValue:1,maxValue:9223372036854776e3,cache:1}),createdAt:f.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),model:f.text(),totalDuration:f.numeric(),error:f.text(),totalTokens:f.numeric(),tokenUsage:f.jsonb(),user:f.text(),client:f.uuid().defaultRandom(),cost:f.doublePrecision().default(m.sql`'0'`),prompt:f.text(),app:f.uuid()},e=>[f.foreignKey({columns:[e.app],foreignColumns:[Ae.id],name:"ai_logs_app_fkey"})]),nu=Object.freeze(Object.defineProperty({__proto__:null,aiLogs:ya,appAssets:_v,appFormSubmissions:wv,appPages:g,appPagesMetadataIdSeq:yv,appPagesOnline:ge,appPagesRevisions:Ie,appUsers:cr,apps:Ae,appsOnline:fr,libraries:K,libraryItems:re,libraryTemplates:te,webhookEventsIdSeq:vv},Symbol.toStringTag,{value:"Module"}));hv.config();const au=process.env.CHAIBUILDER_DATABASE_URL;if(!au)throw new Error("Database not configured. Please set CHAIBUILDER_DATABASE_URL environment variable.");const Tv=pu(au,{max:10}),S=du.drizzle(Tv,{schema:nu});async function A(e){try{return{data:await e(),error:null}}catch(t){return{data:null,error:t}}}const bv=e=>{var t;return((t=fu.AI_MODELS.find(r=>r.id===e))==null?void 0:t.multiplier)||1};async function Ev({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(ya).values(l));u&&console.error("Error logging AI request error:",u)}async function Iv({userId:e,startTime:t,arg:r,prompt:n,model:a,appId:o}){var d,v,E;const s=r==null?void 0:r.totalUsage,i=(v=(d=r==null?void 0:r.providerMetadata)==null?void 0:d.gateway)==null?void 0:v.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)*bv(a))),tokenUsage:s,cost:i,prompt:n,user:e,client:((E=process==null?void 0:process.env)==null?void 0:E.CHAIBUILDER_CLIENT_ID)||null,app:o},{error:p}=await A(()=>S.insert(ya).values(c));p&&console.error("Error logging AI request:",p)}class b 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(){Ee(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 _.z.ZodError?r.issues.map(a=>`${a.path.join(".")}: ${a.message}`).join(", "):null}}setContext(t){this.context=t}async verifyAccess(){if(!this.context)throw new b("Context not set","CONTEXT_NOT_SET",500);const{appId:t,userId:r}=this.context;if(!r)throw new b("User ID not found in context","UNAUTHORIZED",401);const{data:n,error:a}=await A(()=>S.select().from(cr).where(m.and(m.eq(cr.app,t),m.eq(cr.user,r),m.eq(cr.status,"active"))));if(a)throw new b("Error checking user access","ERROR_CHECKING_USER_ACCESS",500,a);if(!n||n.length===0)throw new b("User does not have access to this app","UNAUTHORIZED",401)}handleError(t){if(t instanceof b)throw t;if(t instanceof _.z.ZodError){const r=t.issues.map(n=>`${n.path.join(".")}: ${n.message}`).join(", ");throw new b(`Validation failed: ${r}`,"VALIDATION_ERROR")}else{const r=t instanceof Error?t.message:"Unknown error";throw new b(r,"ACTION_ERROR")}}}class Sv extends Z{getValidationSchema(){return _.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 pv({onFinish:l=>{var u,c;try{Iv({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(p){console.error("Error logging AI request:",p)}},onError:l=>{var u,c;try{Ev({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(p){console.error("Error logging AI request error:",p)}}}),s={messages:t.messages||[],image:t.image,model:t.model,initiator:t.type||null};return{_streamingResponse:!0,_streamResult:await o.handleRequest(s)}}}class Av extends Z{getValidationSchema(){return _.z.any()}async execute(){return await this.verifyAccess(),{access:!0}}}class Nv extends Z{getValidationSchema(){return _.z.object({name:_.z.string().min(1),slug:_.z.string(),pageType:_.z.string(),parent:_.z.string().nullable().optional(),lang:_.z.string().optional(),primaryPage:_.z.string().nullable().optional(),dynamic:_.z.boolean().optional(),hasSlug:_.z.boolean().optional(),template:_.z.string().optional(),seo:_.z.record(_.z.string(),_.z.any()).optional(),jsonLD:_.z.record(_.z.string(),_.z.any()).optional(),dynamicSlugCustom:_.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 b("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 b("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:t.jsonLD??{},online:!1,currentEditor:null,changes:null,libRefId:null,lastSaved:null},{data:s,error:i}=await A(()=>S.insert(g).values(o).returning({id:g.id,name:g.name,slug:g.slug,lang:g.lang,pageType:g.pageType,parent:g.parent,online:g.online,primaryPage:g.primaryPage}));if(i)throw new b("Failed to create page","ERROR_CREATING_PAGE",500,i);if(!s||s.length===0)throw new b("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 b("Context not set","CONTEXT_NOT_SET");const{appId:n}=this.context,{data:a,error:o}=await A(()=>S.query.appPages.findFirst({where:m.and(m.eq(g.slug,t),m.eq(g.pageType,r),m.eq(g.app,n)),columns:{id:!0}}));if(o)throw new b(`${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,m.eq(te.library,K.id)).where(m.eq(te.id,t)).limit(1).then(p=>p[0]));if(a)throw new b(`Failed to fetch template: ${a.message||"Unknown database error"}`,"ERROR_GETTING_TEMPLATE_BLOCKS",500,a);if(!n||!n.template||!n.library)throw new b(`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:m.eq(g.id,o.pageId),columns:{blocks:!0}}));if(l)throw new b(`Failed to fetch template blocks: ${l.message||"Unknown database error"}`,"ERROR_GETTING_TEMPLATE_BLOCKS",500,l);if(!i)throw new b(`Template page not found with ID: ${o.pageId}`,"TEMPLATE_PAGE_NOT_FOUND");let u=i.blocks||[];if(u=u.map(p=>p._type==="GlobalBlock"&&!q.isEmpty(p.globalBlock)?{...p,_type:"PartialBlock",partialBlockId:p.globalBlock}:p),!(s.app===r)){const p=s.name||"",d=u.filter(E=>E._type==="PartialBlock"&&!q.isEmpty(E.partialBlockId)),v=await Promise.all(d.map(({partialBlockId:E})=>this.copyPartialBlockFromTemplate(E,p,r)));u=u.map(E=>{const w=v.find(I=>(I==null?void 0:I.libRefId)===E.partialBlockId);return w&&(E._name=`${p} - ${E._name}`,E.partialBlockId=w.id),E})}return u}async copyPartialBlockFromTemplate(t,r,n){const{data:a,error:o}=await A(()=>S.query.appPages.findFirst({where:m.eq(g.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(g).values(s).returning({id:g.id,libRefId:g.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 Ov extends Z{getValidationSchema(){return _.z.object({id:_.z.string().min(1)})}async execute(t){if(await this.verifyAccess(),!this.context)throw new b("Context not set","CONTEXT_NOT_SET");const{id:r}=t,{error:n}=await A(()=>S.delete(re).where(m.eq(re.id,r)));if(n)throw new b("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 Sr{constructor(t,r=!1){Ee(this,"appId");Ee(this,"enableLogging");this.appId=t,this.enableLogging=r}async getPagesTree(){const{data:t,error:r}=await A(()=>S.select({id:g.id,name:g.name,slug:g.slug,pageType:g.pageType,primaryPage:g.primaryPage,parent:g.parent,lang:g.lang,dynamic:g.dynamic}).from(g).where(m.eq(g.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(`
356
356
  === PRIMARY LANGUAGE PAGES TREE ===`),console.log(JSON.stringify(o,null,2)));const s=this.buildLanguageTree(a,o);return this.enableLogging&&(console.log(`
357
- === 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(d=>d.lang===l);if(!c)return null;const p={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(d=>{const v=a(d,l);v&&p.children.push(v)}),p},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 Rv extends Z{constructor(){super(...arguments);Ee(this,"appId","");Ee(this,"userId","");Ee(this,"pageTreeBuilder")}getValidationSchema(){return _.z.object({id:_.z.string().min(1,"Page ID is required")})}async execute(r){if(await this.verifyAccess(),!this.context)throw new b("Context not set","CONTEXT_NOT_SET");this.appId=this.context.appId,this.userId=this.context.userId||"";try{return this.pageTreeBuilder=new Sr(this.appId),await this.deletePage(r.id)}catch(n){if(n instanceof b)throw n;const a=n instanceof Error?n.message:"Failed to delete page";throw new b(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(m.inArray(te.pageId,n)));if(a)throw ie("DELETE_FAILED",a);const{error:o}=await A(()=>S.delete(Ie).where(m.inArray(Ie.id,n)));if(o)throw ie("DELETE_FAILED",o);const{error:s}=await A(()=>S.delete(g).where(m.inArray(g.id,n)));if(s)throw ie("DELETE_FAILED",s);const{error:i}=await A(()=>S.delete(ge).where(m.inArray(ge.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:g.currentEditor}).from(g).where(m.and(m.eq(g.id,r),m.eq(g.app,this.appId))).limit(1));return a||!n||n.length===0?null:((o=n[0])==null?void 0:o.currentEditor)||null}}class xv extends Z{getValidationSchema(){return _.z.object({revisionId:_.z.string().nonempty("Revision ID is required")})}async execute(t){if(await this.verifyAccess(),!this.context)throw new b("Context not set","CONTEXT_NOT_SET");const{appId:r}=this.context,{error:n}=await A(()=>S.delete(Ie).where(m.and(m.eq(Ie.uid,t.revisionId),m.eq(Ie.app,r))));if(n)throw new b("Failed to delete page revision","DELETE_REVISION_ERROR");return{success:!0}}}class kv extends Z{getValidationSchema(){return _.z.object({pageId:_.z.string().nonempty(),name:_.z.string().nonempty(),slug:_.z.string().optional()})}async execute(t){if(await this.verifyAccess(),!this.context)throw new b("Context not set","CONTEXT_NOT_SET");const{appId:r}=this.context;if(t.slug&&await this.doesSlugExist(t.slug))throw new b("Slug already exists","SLUG_EXISTS");const{data:n,error:a}=await A(()=>S.query.appPages.findFirst({where:m.and(m.eq(g.id,t.pageId),m.eq(g.app,r))}));if(a)throw a;if(!n)throw new b("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(g).values(o).returning({id:g.id});if(!s)throw new b("Failed to create duplicate page","INSERT_FAILED");return{id:s.id}}async doesSlugExist(t){if(!this.context)throw new b("Context not set","CONTEXT_NOT_SET");const{appId:r}=this.context,{data:n,error:a}=await A(()=>S.query.appPages.findFirst({where:m.and(m.eq(g.slug,t),m.eq(g.app,r)),columns:{id:!0}}));if(a)throw new b(`${a.message}`,"SLUG_CHECK_FAILED");return!!n}}var es={},zn,ts;function Pv(){if(ts)return zn;ts=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 Dn,rs;function Cv(){if(rs)return Dn;rs=1;const e=/^dotenv_config_(encoding|path|quiet|debug|override|DOTENV_KEY)=(.+)$/;return Dn=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},Dn}var ns;function zv(){return ns||(ns=1,(function(){ru().config(Object.assign({},Pv(),Cv()(process.argv)))})()),es}zv();const as="anthropic/claude-haiku-4.5";class Dv extends Z{getValidationSchema(){return _.z.object({prompt:_.z.string().min(1,"Prompt is required"),context:_.z.string().optional(),image:_.z.string().optional()})}async execute(t){if(await this.verifyAccess(),!this.context)throw new b("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.
357
+ === 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(d=>d.lang===l);if(!c)return null;const p={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(d=>{const v=a(d,l);v&&p.children.push(v)}),p},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 Rv extends Z{constructor(){super(...arguments);Ee(this,"appId","");Ee(this,"userId","");Ee(this,"pageTreeBuilder")}getValidationSchema(){return _.z.object({id:_.z.string().min(1,"Page ID is required")})}async execute(r){if(await this.verifyAccess(),!this.context)throw new b("Context not set","CONTEXT_NOT_SET");this.appId=this.context.appId,this.userId=this.context.userId||"";try{return this.pageTreeBuilder=new Sr(this.appId),await this.deletePage(r.id)}catch(n){if(n instanceof b)throw n;const a=n instanceof Error?n.message:"Failed to delete page";throw new b(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(m.inArray(te.pageId,n)));if(a)throw ie("DELETE_FAILED",a);const{error:o}=await A(()=>S.delete(Ie).where(m.inArray(Ie.id,n)));if(o)throw ie("DELETE_FAILED",o);const{error:s}=await A(()=>S.delete(g).where(m.inArray(g.id,n)));if(s)throw ie("DELETE_FAILED",s);const{error:i}=await A(()=>S.delete(ge).where(m.inArray(ge.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:g.currentEditor}).from(g).where(m.and(m.eq(g.id,r),m.eq(g.app,this.appId))).limit(1));return a||!n||n.length===0?null:((o=n[0])==null?void 0:o.currentEditor)||null}}class xv extends Z{getValidationSchema(){return _.z.object({revisionId:_.z.string().nonempty("Revision ID is required")})}async execute(t){if(await this.verifyAccess(),!this.context)throw new b("Context not set","CONTEXT_NOT_SET");const{appId:r}=this.context,{error:n}=await A(()=>S.delete(Ie).where(m.and(m.eq(Ie.uid,t.revisionId),m.eq(Ie.app,r))));if(n)throw new b("Failed to delete page revision","DELETE_REVISION_ERROR");return{success:!0}}}class kv extends Z{getValidationSchema(){return _.z.object({pageId:_.z.string().nonempty(),name:_.z.string().nonempty(),slug:_.z.string().optional()})}async execute(t){if(await this.verifyAccess(),!this.context)throw new b("Context not set","CONTEXT_NOT_SET");const{appId:r}=this.context;if(t.slug&&await this.doesSlugExist(t.slug))throw new b("Slug already exists","SLUG_EXISTS");const{data:n,error:a}=await A(()=>S.query.appPages.findFirst({where:m.and(m.eq(g.id,t.pageId),m.eq(g.app,r))}));if(a)throw a;if(!n)throw new b("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(g).values(o).returning({id:g.id});if(!s)throw new b("Failed to create duplicate page","INSERT_FAILED");return{id:s.id}}async doesSlugExist(t){if(!this.context)throw new b("Context not set","CONTEXT_NOT_SET");const{appId:r}=this.context,{data:n,error:a}=await A(()=>S.query.appPages.findFirst({where:m.and(m.eq(g.slug,t),m.eq(g.app,r)),columns:{id:!0}}));if(a)throw new b(`${a.message}`,"SLUG_CHECK_FAILED");return!!n}}var es={},zn,ts;function Pv(){if(ts)return zn;ts=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,rs;function Cv(){if(rs)return $n;rs=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 ns;function zv(){return ns||(ns=1,(function(){ru().config(Object.assign({},Pv(),Cv()(process.argv)))})()),es}zv();const as="anthropic/claude-haiku-4.5";class $v extends Z{getValidationSchema(){return _.z.object({prompt:_.z.string().min(1,"Prompt is required"),context:_.z.string().optional(),image:_.z.string().optional()})}async execute(t){if(await this.verifyAccess(),!this.context)throw new b("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.
358
358
 
359
359
  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.
360
360
 
@@ -404,7 +404,7 @@ IMAGE USAGE RULES:
404
404
 
405
405
  The final output should be clean, semantic HTML that works across all devices and screen sizes.
406
406
 
407
- ${t.context?`Additional Context: ${t.context}`:""}`;let a=(t.image?await Hn({model:as,system:r,messages:[{role:"user",content:[{type:"text",text:t.prompt},{type:"image",image:t.image}]}],temperature:.7}):await Hn({model:as,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 $v="anthropic/claude-haiku-4.5",os={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 Mv extends Z{getValidationSchema(){return _.z.object({pageContext:_.z.string(),dynamic:_.z.boolean(),pageContent:_.z.string(),field:_.z.enum(["title","description","ogTitle","ogDescription","searchTitle","searchDescription","jsonLD"]),lang:_.z.string().nonempty(),keyword:_.z.string().optional()})}async execute(t){if(await this.verifyAccess(),!this.context)throw new b("Context not set","CONTEXT_NOT_SET");return{field:(await Hn({model:$v,system:`You are a SEO expert. Follow the instructions carefully.
407
+ ${t.context?`Additional Context: ${t.context}`:""}`;let a=(t.image?await Hn({model:as,system:r,messages:[{role:"user",content:[{type:"text",text:t.prompt},{type:"image",image:t.image}]}],temperature:.7}):await Hn({model:as,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 Dv="anthropic/claude-haiku-4.5",os={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 Mv extends Z{getValidationSchema(){return _.z.object({pageContext:_.z.string(),dynamic:_.z.boolean(),pageContent:_.z.string(),field:_.z.enum(["title","description","ogTitle","ogDescription","searchTitle","searchDescription","jsonLD"]),lang:_.z.string().nonempty(),keyword:_.z.string().optional()})}async execute(t){if(await this.verifyAccess(),!this.context)throw new b("Context not set","CONTEXT_NOT_SET");return{field:(await Hn({model:Dv,system:`You are a SEO expert. Follow the instructions carefully.
408
408
  Return plain string values except for json ld. For JSONLD, remove \`\`\`json\`\`\` and \`\`\`\`\` and return only valid JSON.
409
409
  Instructions: ${os[t.field]}
410
410
  ${t.keyword?`Optimize the generated content for "${t.keyword}" keyword(s)`:""}
@@ -415,4 +415,4 @@ ${t.context?`Additional Context: ${t.context}`:""}`;let a=(t.image?await Hn({mod
415
415
  Page Context: ${t.pageContext}
416
416
  Page Content: ${t.pageContent}
417
417
  Dynamic: ${t.dynamic}
418
- Language: ${t.lang}`})).text}}}class Fv extends Z{getValidationSchema(){return _.z.object({block:_.z.any(),pageProps:_.z.any().optional().default({}),lang:_.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=gu.getRegisteredChaiBlock(s);return!i||!j.isFunction(i.dataProvider)?{}:await i.dataProvider({block:n,pageProps:a,lang:o,draft:!0,inBuilder:!0})??{}}catch(n){return this.handleError(n)}}}class Lv extends Z{getValidationSchema(){return _.z.object({lang:_.z.string(),pageType:_.z.string().optional(),pageProps:_.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 Uv extends Z{constructor(){super(...arguments);Ee(this,"appId","")}getValidationSchema(){return _.z.object({})}async execute(){if(!this.context)throw new b("Context not set","CONTEXT_NOT_SET");this.appId=this.context.appId;try{return await this.getChanges()}catch(r){if(r instanceof b)throw r;const n=r instanceof Error?r.message:"Failed to get changes";throw new b(n,"GET_CHANGES_ERROR")}}async getChanges(){const{data:r,error:n}=await A(()=>S.select({id:g.id,slug:g.slug,name:g.name,pageType:g.pageType,lang:g.lang,changes:g.changes,primaryPage:g.primaryPage,online:g.online,currentEditor:g.currentEditor}).from(g).where(m.and(m.eq(g.app,this.appId),m.isNotNull(g.changes))));if(n)throw new b("Error getting changed pages","ERROR_GETTING_CHANGES");const{data:a,error:o}=await A(()=>S.select({id:g.id,slug:g.slug,name:g.name,pageType:g.pageType,lang:g.lang,changes:g.changes,primaryPage:g.primaryPage,online:g.online}).from(g).where(m.and(m.eq(g.app,this.appId),m.isNull(g.currentEditor),m.eq(g.online,!1))));if(o)throw new b("Error getting offline pages","ERROR_GETTING_OFFLINE_PAGES");const s=(a||[]).map(p=>({...p,changes:["Take Online"]})),l=[...(r||[]).filter(p=>!s.some(d=>d.id===p.id)).map(p=>({...p,changes:p.changes})),...s],{data:u,error:c}=await A(()=>S.select({changes:Ae.changes}).from(Ae).where(m.and(m.eq(Ae.id,this.appId),m.isNotNull(Ae.changes))));return!c&&u&&u.length>0&&l.push({id:"THEME",slug:"",name:"Theme",pageType:"theme",lang:"",changes:["Updated"],primaryPage:null,online:!0}),l}}class jv extends Z{getValidationSchema(){return _.z.object({})}async execute(){try{return ut.getChaiCollections().map(r=>j.omit(r,"fetch"))}catch(t){return this.handleError(t)}}}class qv extends Z{getValidationSchema(){return _.z.object({versions:_.z.object({version1:_.z.object({type:_.z.enum(["draft","revision","live"]),id:_.z.string()}),version2:_.z.object({type:_.z.enum(["draft","revision","live"]),id:_.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:m.eq(g.id,r),columns:{blocks:!0,seo:!0}})));break;case"live":({data:n,error:a}=await A(()=>S.query.appPagesOnline.findFirst({where:m.eq(ge.id,r),columns:{blocks:!0,seo:!0}})));break;case"revision":({data:n,error:a}=await A(()=>S.query.appPagesRevisions.findFirst({where:m.eq(Ie.uid,r),columns:{blocks:!0,seo:!0}})));break;default:throw new b(`Invalid version type: ${t}`,"INVALID_VERSION_TYPE")}if(a)throw new b(`Failed to fetch blocks for ${t} version: ${a.message}`,"FETCH_BLOCKS_ERROR");if(!n)throw new b(`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 b("Context not set","CONTEXT_NOT_SET")}}class Zv extends Z{getValidationSchema(){return _.z.object({id:_.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=g,{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(m.and(m.eq(a.app,r),m.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:p,error:d}=await A(()=>S.select({blocks:a.blocks}).from(a).where(m.and(m.eq(a.app,r),m.eq(a.id,l))).limit(1));if(d)throw ie("BLOCKS_NOT_FOUND",d);u=((c=p==null?void 0:p[0])==null?void 0:c.blocks)??[]}return{...i,blocks:u,id:n,languagePageId:i.id}}}class Gv extends Z{getValidationSchema(){return _.z.object({pageType:_.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 Bv extends Z{getValidationSchema(){return _.z.object({id:_.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:g.id,name:g.name,slug:g.slug,lang:g.lang,primaryPage:g.primaryPage,pageType:g.pageType,seo:g.seo,currentEditor:g.currentEditor,online:g.online,parent:g.parent,metadata:g.metadata,dynamic:g.dynamic,dynamicSlugCustom:g.dynamicSlugCustom}).from(g).where(m.and(m.eq(g.app,r),m.or(m.eq(g.primaryPage,n),m.eq(g.id,n)))));if(o)throw ie("LANGUAGE_PAGES_ERROR",o);return a.map(s=>j.omit(s,["app"]))}}class Vv extends Z{getValidationSchema(){return _.z.object({}).optional().default({})}async execute(){var l;if(!this.context)throw new b("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(m.eq(K.app,t)).limit(1));if(r.error)throw new b("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(m.eq(K.client,a)));if(s)throw new b("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 Hv extends Z{getValidationSchema(){return _.z.object({})}async execute(){if(!this.context)throw new b("Context not set","CONTEXT_NOT_SET");const{data:t,error:r}=await A(()=>S.select({id:K.id}).from(K).where(m.eq(K.app,this.context.appId)).limit(1));if(r)throw new b("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(m.eq(re.library,n.id)));if(o)throw new b("Failed to fetch library groups","GET_LIBRARY_GROUPS_FAILED",500,o);const s=j.map(a,"group").filter(i=>i!=null);return j.map(j.uniq(s),i=>({id:i,name:i}))}}class Jv extends Z{getValidationSchema(){return _.z.object({id:_.z.string().min(1)})}async execute(t){if(!this.context)throw new b("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,m.eq(re.library,K.id)).where(m.eq(re.id,n)));if(o)throw new b("Failed to fetch library item","GET_LIBRARY_ITEM_FAILED",500,o);if(!a||a.length===0)throw new b("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?j.set(i,"0._libBlockId",s.id):j.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 Yv extends Z{getValidationSchema(){return _.z.object({id:_.z.string().min(1)})}async execute(t){if(!this.context)throw new b("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(m.eq(re.library,r)));if(a)throw new b("Failed to fetch library items","GET_LIBRARY_ITEMS_FAILED",500,a);return n||[]}}class Wv extends Z{getValidationSchema(){return _.z.object({pageId:_.z.string().min(1,"Page ID is required")})}async execute(t){if(!this.context)throw new b("Context not set","CONTEXT_NOT_SET");try{return await this.getRevisions(t.pageId)}catch(r){if(r instanceof b)throw r;const n=r instanceof Error?r.message:"Failed to get page revisions";throw new b(n,"GET_PAGE_REVISIONS_ERROR")}}async getRevisions(t){const{data:r,error:n}=await A(()=>S.select({currentEditor:g.currentEditor,createdAt:g.createdAt}).from(g).where(m.and(m.eq(g.app,this.context.appId),m.eq(g.id,t)))),{data:a,error:o}=await A(()=>S.select({uid:Ie.uid,currentEditor:Ie.currentEditor,createdAt:Ie.createdAt,type:Ie.type}).from(Ie).where(m.and(m.eq(Ie.app,this.context.appId),m.eq(Ie.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 b(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 b(u,"ERROR_GETTING_PAGE_REVISIONS")}const s=r==null?void 0:r[0],l=[...s?[{...s,type:"published",uid:"current"}]:[],...a??[]];return j.orderBy(l,["createdAt"],["desc"])}}class Kv extends Z{getValidationSchema(){return _.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,...j.isFunction(r.defaultTrackingInfo)?{trackingDefault:r.defaultTrackingInfo()}:{},...j.isFunction(r.defaultSeo)?{defaultSeo:r.defaultSeo()}:{},...j.isFunction(r.defaultJSONLD)?{defaultJSONLD:r.defaultJSONLD()}:{}})))}catch(t){return this.handleError(t)}}}class Xv extends Z{getValidationSchema(){return _.z.object({id:_.z.string().nonempty(),type:_.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:m.and(m.eq(g.id,t.id),m.eq(g.lang,t.lang??""))})));break;case"live":({data:r,error:n}=await A(()=>S.query.appPagesOnline.findFirst({where:m.and(m.eq(ge.id,t.id),m.eq(ge.lang,t.lang??""))})));break;case"revision":({data:r,error:n}=await A(()=>S.query.appPagesRevisions.findFirst({where:m.and(m.eq(Ie.uid,t.id),m.eq(Ie.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?g:ge,o=t.filter(({_type:c})=>c==="GlobalBlock"||c==="PartialBlock");if(o.length===0)return t;const s=o.map(c=>j.get(c,"partialBlockId",j.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(m.and(m.eq(a.app,n),m.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 p=o[c];if(!p)continue;const d=j.get(p,"partialBlockId",j.get(p,"globalBlock",""));if(d==="")continue;let v=u.get(d)??[];v.length>0&&(v=v.map(w=>(j.isEmpty(w._parent)&&(w._parent=p._parent),j.has(p,"_show")&&(w._show=p._show),w)));const E=t.indexOf(p);E!==-1&&t.splice(E,1,...v)}return t}}class Qv extends Z{getValidationSchema(){return _.z.object({})}async execute(){return{role:"admin",permissions:null}}}class e_ extends Z{getValidationSchema(){return _.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:g.id,designTokens:g.designTokens,name:g.name,slug:g.slug,links:g.links,partialBlocks:g.partialBlocks}).from(g).where(m.and(m.eq(g.lang,""),m.eq(g.app,t))));if(n)throw ie("FETCH_SITE_DATA_FAILED",n);const a={};return j.each(r,o=>{var s;a[o.id]={name:o.name,isPartial:j.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 t_ extends Z{getValidationSchema(){return _.z.object({pageType:_.z.string().min(1)})}async execute(t){if(!this.context)throw new b("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:m.eq(K.app,r),columns:{id:!0}}));if(o)throw new b("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(m.eq(K.type,"shared")));if(i)throw new b("Failed to fetch shared libraries","GET_SHARED_LIBRARIES_FAILED",500,i);const l=[...a?[a.id]:[],...(s||[]).map(p=>p.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(m.and(m.eq(te.pageType,n),m.inArray(te.library,l))));if(c)throw new b("Failed to fetch templates","GET_TEMPLATES_FAILED",500,c);return u||[]}}class r_ extends Z{getValidationSchema(){return _.z.object({lang:_.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:g.id,name:g.name,slug:g.slug,pageType:g.pageType,currentEditor:g.currentEditor,parent:g.parent,online:g.online,lastSaved:g.lastSaved,createdAt:g.createdAt,dynamic:g.dynamic,dynamicSlugCustom:g.dynamicSlugCustom,primaryPage:g.primaryPage}).from(g).where(m.and(m.eq(g.app,r),m.eq(g.lang,a))));if(s)throw ie("ERROR_GETTING_WEBSITE_PAGES",s);if(!o||o.length===0)return[];const i=o.filter(p=>!j.isEmpty(p.slug)).map(p=>p.id),{data:l,error:u}=await A(()=>S.select({pageId:te.pageId}).from(te).where(m.inArray(te.pageId,i)));if(u)throw ie("ERROR_GETTING_TEMPLATE_INFO",u);const c=new Set((l||[]).map(p=>p.pageId));return o.map(p=>({...p,pageType:p.pageType??"page",isTemplate:c.has(p.id)}))}}class n_ extends Z{getValidationSchema(){return _.z.object({draft:_.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?Ae:fr,{data:o,error:s}=await A(()=>S.select({theme:a.theme,fallbackLang:a.fallbackLang,languages:a.languages,settings:a.settings,designTokens:a.designTokens}).from(a).where(m.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=j.first(o);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)}}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=ss.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 a_ extends Z{getValidationSchema(){return _.z.object({id:_.z.string().min(1),description:_.z.string().optional(),name:_.z.string().min(1),pageType:_.z.string().min(1),previewImage:_.z.string().optional(),previewImageUrl:_.z.string().optional()})}async execute(t){var w;if(await this.verifyAccess(),!this.context)throw new b("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:p}=await A(()=>S.query.libraries.findFirst({where:m.eq(K.app,r),columns:{id:!0}}));if(p)throw new b("Failed to fetch site library","GET_SITE_LIBRARY_FAILED",500,p);if(!c)throw new b("Library not found for this app","GET_SITE_LIBRARY_FAILED");let d=u;if(l){const I=va("UPLOAD_TO_STORAGE");I==null||I.setContext(this.context);const P=`template-${Date.now()}.webp`,C=`${r}/templates`,h=await(I==null?void 0:I.execute({file:l,fileName:P,contentType:"image/webp",folder:C}));if(h!=null&&h.error)throw new b("Failed to upload preview image","UPLOAD_PREVIEW_FAILED",500,h.error);d=((w=h==null?void 0:h.data)==null?void 0:w.url)||u}const{data:v,error:E}=await A(()=>S.insert(te).values({library:c.id,user:n??null,pageId:a,description:o??null,name:s+" Template",pageType:i,preview:d??null}).returning({id:te.id,library:te.library,pageType:te.pageType,pageId:te.pageId,description:te.description,preview:te.preview}));if(E||!v||v.length===0)throw new b("Failed to mark page as template","UPDATE_FAILED",500,E);return v[0]}}class o_ extends Z{constructor(){super(...arguments);Ee(this,"appId","");Ee(this,"userId","")}getValidationSchema(){return _.z.object({ids:_.z.array(_.z.string()).optional()})}async execute(r){await this.verifyAccess(),this.validateContext(),this.appId=this.context.appId,this.userId=this.context.userId??"";try{const n=r.ids??[];if(n.length===0)throw new b("IDS_REQUIRED","At least one page ID or THEME must be provided");const a=await Promise.all(n.map(o=>o==="THEME"?this.publishTheme():this.publishPage(o)));return await this.clearChanges(n),{tags:j.uniq(j.flattenDeep(a))}}catch(n){return this.handleExecutionError(n)}}validateContext(){if(!this.context)throw new b("Context not set","CONTEXT_NOT_SET")}async publishTheme(){const r=await this.cloneApp(),{error:n}=await A(()=>S.delete(fr).where(m.eq(fr.id,this.appId)));if(n)throw new b("Error deleting online theme","ERROR_PUBLISHING_THEME",500,n);const{error:a}=await A(()=>S.insert(fr).values({...r,changes:null}));if(a)throw new b("Error inserting online theme","ERROR_PUBLISHING_THEME",500,a);const{error:o}=await A(()=>S.update(Ae).set({changes:null}).where(m.eq(Ae.id,this.appId)));if(o)throw new b("Error updating theme","ERROR_PUBLISHING_THEME",500,o);return[`website-settings-${this.appId}`]}async cloneApp(){const{data:r,error:n}=await A(()=>S.query.apps.findFirst({where:m.eq(Ae.id,this.appId)}));if(n||!r)throw new b("Site not found","SITE_NOT_FOUND",404,n);return r}async clearChanges(r){const n=r.filter(o=>o!=="THEME");if(n.length===0)return;const{error:a}=await A(()=>S.update(g).set({changes:null,online:!0}).where(m.and(m.inArray(g.id,n),m.eq(g.app,this.appId))));if(a)throw new b("Error clearing changes","ERROR_CLEARING_CHANGES",500,a)}async getPartialBlockUsage(r){const{data:n}=await A(()=>S.query.appPagesOnline.findMany({where:m.and(m.eq(ge.app,this.appId),m.like(ge.partialBlocks,`%${r}%`)),columns:{id:!0}}));return j.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 j.isEmpty(n.slug)&&a.push(...await this.getPartialBlockUsage(n.primaryPage??n.id)),a}async createRevision(r){const{data:n,error:a}=await A(()=>S.query.appPagesOnline.findFirst({where:m.eq(ge.id,r)}));if(a||!n||!j.isEmpty(n.primaryPage))return!1;const{error:o}=await A(()=>S.insert(Ie).values({...n,type:"published",uid:void 0}));if(o)throw new b("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(ge).where(m.eq(ge.id,r.id)));if(n)throw new b("Error deleting online page","ERROR_PUBLISHING_PAGE",500,n);const{changes:a,createdAt:o,...s}=r,{data:i,error:l}=await A(()=>S.insert(ge).values({...s,currentEditor:this.userId}).returning({id:ge.id,primaryPage:ge.primaryPage}));if(l||!i||i.length===0)throw new b("Error publishing page","ERROR_PUBLISHING_PAGE",500,l);return i[0]}async clonePage(r){const{data:n,error:a}=await A(()=>S.query.appPages.findFirst({where:m.and(m.eq(g.id,r),m.eq(g.app,this.appId))}));if(a||!n)throw new b("Page not found","PAGE_NOT_FOUND",404,a);return n}handleExecutionError(r){throw r instanceof b?r:new b(`Failed to publish changes: ${r instanceof Error?r.message:"Unknown error"}`,"PUBLISH_CHANGES_FAILED")}}class s_ extends Z{getValidationSchema(){return _.z.object({revisionId:_.z.string().nonempty(),discardCurrent:_.z.boolean(),pageId:_.z.string().optional()})}async execute(t){if(await this.verifyAccess(),!this.context)throw new b("Context not set","CONTEXT_NOT_SET");const{appId:r}=this.context;let n,a;if(t.revisionId==="current"){if(!t.pageId)throw new b("pageId is required when restoring current revision","PAGE_ID_REQUIRED");const{data:o,error:s}=await A(()=>S.query.appPagesOnline.findFirst({where:m.and(m.eq(ge.id,t.pageId),m.eq(ge.app,r)),columns:{id:!0,blocks:!0}}));if(s)throw new b("Error fetching live page","FETCH_ERROR");if(!o)throw new b("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:m.and(m.eq(Ie.uid,t.revisionId),m.eq(Ie.app,r)),columns:{id:!0,blocks:!0,type:!0}}));if(s)throw new b("Error fetching revision","FETCH_ERROR");if(!o)throw new b("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:m.and(m.eq(g.id,n),m.eq(g.app,r))}));if(s)throw new b("Error fetching current page","FETCH_ERROR");if(!o)throw new b("Current page not found","PAGE_NOT_FOUND");const i=o.blocks,l={id:n,blocks:i,type:"draft",createdAt:"now()",...j.pick(o,["name","slug","pageType","lang","app","currentEditor"])};await S.insert(Ie).values(l)}return await S.update(g).set({blocks:a}).where(m.eq(g.id,n)),{success:!0,pageId:n}}}class i_ extends Z{getValidationSchema(){return _.z.object({pageType:_.z.string(),query:_.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 l_ extends Z{getValidationSchema(){return _.z.object({pageType:_.z.string().min(1),query:_.z.string().optional()})}async execute(t){if(!this.context)throw new b("Context not set","CONTEXT_NOT_SET");const{appId:r}=this.context,{pageType:n,query:a=""}=t,o=this.isUUID(a),s=[m.eq(g.app,r),m.isNull(g.primaryPage),m.eq(g.pageType,n)];let i;a?o?i=m.and(...s,m.eq(g.id,a)):i=m.and(...s,m.or(m.ilike(g.slug,`%${a}%`),m.ilike(g.name,`%${a}%`))):i=m.and(...s);const{data:l,error:u}=await A(()=>S.select({id:g.id,slug:g.slug,name:g.name}).from(g).where(i));if(u)throw new b("Failed to search pages","ERROR_SEARCHING_PAGES",500,u);return l||[]}isUUID(t){return t.length===36}}class u_ extends Z{constructor(){super(...arguments);Ee(this,"appId","")}getValidationSchema(){return _.z.object({id:_.z.string().min(1,"Page ID is required")})}async execute(r){if(await this.verifyAccess(),!this.context)throw new b("Context not set","CONTEXT_NOT_SET");this.appId=this.context.appId;try{return await this.takeOffline(r.id)}catch(n){if(n instanceof b)throw n;const a=n instanceof Error?n.message:"Failed to take page offline";throw new b(a,"TAKE_OFFLINE_ERROR")}}async takeOffline(r){const n=await this.getPageType(r),{error:a}=await A(()=>S.update(g).set({online:!1}).where(m.and(m.eq(g.id,r),m.eq(g.app,this.appId))));if(a)throw new b("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:g.id,slug:g.slug,lang:g.lang,pageType:g.pageType,name:g.name,online:g.online,seo:g.seo}).from(g).where(m.eq(g.id,r)));if(s||!o||o.length===0)throw new b("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(ge).where(m.eq(ge.id,r)));if(n)throw new b("Error deleting page from online pages table","ERROR_DELETING_PAGE_FROM_ONLINE_PAGES_TABLE");const{error:a}=await A(()=>S.delete(ge).where(m.eq(ge.primaryPage,r)));if(a)throw new b("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:g.primaryPage,pageType:g.pageType,slug:g.slug}).from(g).where(m.and(m.eq(g.id,r),m.eq(g.app,this.appId))));if(a||!n||n.length===0)throw new b("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:g.id,primaryPage:g.primaryPage}).from(g).where(m.and(m.eq(g.id,r),m.eq(g.app,this.appId))));if(a||!n||n.length===0)throw new b("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:g.id,partialBlocks:g.partialBlocks}).from(g).where(m.eq(g.app,this.appId)));return a||!n?[]:n.filter(o=>(o.partialBlocks||"").split("|").includes(r)).map(o=>o.id)}}class c_ extends Z{getValidationSchema(){return _.z.object({id:_.z.string().min(1)})}async execute(t){if(await this.verifyAccess(),!this.context)throw new b("Context not set","CONTEXT_NOT_SET");const{id:r}=t,{error:n}=await A(()=>S.delete(te).where(m.eq(te.pageId,r)));if(n)throw new b("Failed to unmark page as template","DELETE_FAILED",500,n);return{success:!0}}}class d_{constructor(t){Ee(this,"appId");Ee(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 b(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 b(i,"SLUG_ALREADY_EXISTS")}}async isSlugChanged(t,r){if(!r)return!1;const{data:n,error:a}=await A(()=>S.select({slug:g.slug}).from(g).where(m.and(m.eq(g.id,t),m.eq(g.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:g.parent}).from(g).where(m.and(m.eq(g.id,t),m.eq(g.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 Sr(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 b("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 Sr(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 b("Cannot change parent of language pages directly","INVALID_OPERATION"):new b("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(d=>({id:d.id,newSlug:d.newSlug}))];for(const d of l)this.updateNodeSlugInTree(d.id,d.newSlug,a.primaryTree);const c=this.pageTreeBuilder.findLanguagePagesForPrimary(t,a.languageTree);let p;n&&(p=this.pageTreeBuilder.findLanguagePagesForPrimary(n,a.languageTree));for(const d of c){const v=p==null?void 0:p.filter(P=>P.lang===d.lang)[0],E=(v==null?void 0:v.id)||null,w=this.pageTreeBuilder.calculateSlugFromParent(E,d.slug,a.languageTree);this.validateSlugAvailabilityInTree(w,d.id,d.dynamic||!1,a,!0),this.updateNodeSlugInTree(d.id,w,a.languageTree);const I=this.pageTreeBuilder.collectNestedChildSlugs(d,d.slug,w);for(const P of I)this.updateNodeSlugInTree(P.id,P.newSlug,a.languageTree);u.push({id:d.id,newSlug:w}),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:m.sql`now()`};if(i.id===n){const c=j.pick(r,["name","seo","blocks","currentEditor","buildTime","parent","pageType","dynamic","dynamicSlugCustom","links","partialBlocks","designTokens"]);Object.keys(c).forEach(p=>{c[p]===void 0&&delete c[p]}),Object.assign(l,{...c,changes:a})}const{error:u}=await A(()=>S.update(g).set(l).where(m.and(m.eq(g.id,i.id),m.eq(g.app,this.appId))));if(u)throw new b(`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(ge).set({slug:i.newSlug}).where(m.and(m.eq(ge.id,i.id),m.eq(ge.app,this.appId))))});await Promise.all(s)}setPageTreeBuilder(t){this.pageTreeBuilder=t}}class p_ extends Z{constructor(){super(...arguments);Ee(this,"appId","");Ee(this,"pageTreeBuilder");Ee(this,"slugChangeHandler")}getValidationSchema(){return _.z.object({id:_.z.string().nonempty(),blocks:_.z.array(_.z.any()).optional(),currentEditor:_.z.string().optional(),slug:_.z.string().optional(),name:_.z.string().optional(),seo:_.z.record(_.z.string(),_.z.any()).optional(),buildTime:_.z.boolean().optional(),parent:_.z.union([_.z.string(),_.z.null()]).optional(),pageType:_.z.string().optional(),dynamic:_.z.boolean().optional(),dynamicSlugCustom:_.z.string().optional(),needTranslations:_.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 d_(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 Sr(this.appId),this.slugChangeHandler.setPageTreeBuilder(this.pageTreeBuilder),await this.handleParentChangeWithHandler(r.id,n)):a&&n.slug?(this.pageTreeBuilder=new Sr(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 j.compact(r.filter(n=>n._type==="GlobalBlock"||n._type==="PartialBlock").map(n=>j.get(n,"partialBlockId",j.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 j.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 b("Context not set","CONTEXT_NOT_SET")}extractAllowedPageFields(r){return j.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=j.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(g).set({...n,changes:a,lastSaved:m.sql`now()`}).where(m.and(m.eq(g.id,r),m.eq(g.app,this.appId))));if(o)throw new b("Error updating page","ERROR_UPDATING_PAGE")}isOnlyBlocksUpdate(r){return j.keys(r).includes("blocks")}async fetchUpdatedPageData(r){const{data:n,error:a}=await A(()=>S.select({id:g.id,slug:g.slug,lang:g.lang,pageType:g.pageType,name:g.name,online:g.online,parent:g.parent,seo:g.seo}).from(g).where(m.eq(g.id,r)).limit(1));if(a||!n||n.length===0)throw new b("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 b?r:new b(`Failed to update page: ${r instanceof Error?r.message:"Unknown error"}`,"UPDATE_PAGE_FAILED")}}class f_ extends Z{getValidationSchema(){return _.z.object({id:_.z.string().nonempty(),metadata:_.z.record(_.z.string(),_.z.any())})}async execute(t){if(await this.verifyAccess(),!this.context)throw new b("Context not set","CONTEXT_NOT_SET");const{appId:r}=this.context,{data:n,error:a}=await A(()=>S.query.appPages.findFirst({where:m.and(m.eq(g.id,t.id),m.eq(g.app,r)),columns:{id:!0}}));if(a)throw new b(`Failed to fetch page: ${a.message}`,"FETCH_FAILED");if(!n)throw new b("Page not found","PAGE_NOT_FOUND");const{error:o}=await A(()=>S.update(g).set({metadata:t.metadata}).where(m.and(m.eq(g.id,t.id),m.eq(g.app,r))));if(o)throw console.error(o),new b("Failed to update page metadata","UPDATE_FAILED");return{success:!0}}}class g_ extends Z{getValidationSchema(){return _.z.object({settings:_.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,a={...j.pick(t.settings,["theme","designTokens"]),changes:["Updated"]},{error:o}=await A(()=>S.update(Ae).set(a).where(m.eq(Ae.id,r)));if(o)throw ie("ERROR_UPDATE_WEBSITE_SETTINGS",o);return{success:!0}}}class m_ extends Z{getValidationSchema(){return _.z.object({name:_.z.string().min(1),group:_.z.string().min(1),blocks:_.z.array(_.z.any()),description:_.z.string().optional(),previewImage:_.z.string().optional(),id:_.z.string().optional(),previewImageUrl:_.z.string().optional()})}async execute(t){var E;if(await this.verifyAccess(),!this.context)throw new b("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:p,error:d}=await A(()=>S.query.libraries.findFirst({where:m.eq(K.app,r),columns:{id:!0}}));if(d)throw new b("Failed to fetch site library","GET_SITE_LIBRARY_FAILED",500,d);if(!p)throw new b("Library not found for this app","GET_SITE_LIBRARY_FAILED");let v=u;if(l){const w=va("UPLOAD_TO_STORAGE");w==null||w.setContext(this.context);const I=`library-item-${Date.now()}.webp`,P=`${r}/library-items`,C=await(w==null?void 0:w.execute({file:l,fileName:I,contentType:"image/webp",folder:P}));if(C!=null&&C.error)throw new b("Failed to upload preview image","UPLOAD_PREVIEW_FAILED",500,C.error);v=((E=C==null?void 0:C.data)==null?void 0:E.url)||u}if(c){const w={name:a,blocks:s,library:p.id,description:i??null,group:o,user:n??null};v&&(w.preview=v);const{data:I,error:P}=await A(()=>S.update(re).set(w).where(m.eq(re.id,c)).returning());if(P||!I||I.length===0)throw new b("Failed to update library item","UPDATE_LIBRARY_ITEM_FAILED",500,P);return I[0]}else{const w=mu.randomUUID(),I=[...s];j.set(I,"0._libBlockId",w);const P={id:w,name:a,blocks:I,library:p.id,description:i??null,group:o,user:n??null,preview:v??null},{data:C,error:h}=await A(()=>S.insert(re).values(P).returning());if(h||!C||C.length===0)throw new b("Failed to create library item","CREATE_LIBRARY_ITEM_FAILED",500,h);return C[0]}}}const Nt=class Nt{constructor(){Ee(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 Sv),this.register("CHECK_USER_ACCESS",new Av),this.register("CREATE_PAGE",new Nv),this.register("DELETE_PAGE",new Rv),this.register("DUPLICATE_PAGE",new kv),this.register("RESTORE_PAGE_REVISION",new s_),this.register("UPDATE_PAGE_METADATA",new f_),this.register("GENERATE_SEO_FIELD",new Mv),this.register("GENERATE_HTML_FROM_PROMPT",new Dv),this.register("GET_REVISION_PAGE",new Xv),this.register("UPDATE_PAGE",new p_),this.register("GET_COMPARE_DATA",new qv),this.register("GET_SITE_WIDE_USAGE",new e_),this.register("GET_WEBSITE_DRAFT_SETTINGS",new n_),this.register("GET_WEBSITE_PAGES",new r_),this.register("GET_LIBRARIES",new Vv),this.register("GET_DRAFT_PAGE",new Zv),this.register("GET_LANGUAGE_PAGES",new Bv),this.register("UPSERT_LIBRARY_ITEM",new m_),this.register("MARK_AS_TEMPLATE",new a_),this.register("GET_LIBRARY_ITEM",new Jv),this.register("GET_LIBRARY_ITEMS",new Yv),this.register("DELETE_LIBRARY_ITEM",new Ov),this.register("UNMARK_AS_TEMPLATE",new c_),this.register("GET_TEMPLATES_BY_TYPE",new t_),this.register("SEARCH_PAGES",new l_),this.register("GET_PAGE_REVISIONS",new Wv),this.register("PUBLISH_CHANGES",new o_),this.register("UPDATE_WEBSITE_SETTINGS",new g_),this.register("TAKE_OFFLINE",new u_),this.register("GET_CHANGES",new Uv),this.register("GET_LIBRARY_GROUPS",new Hv),this.register("DELETE_PAGE_REVISION",new xv),this.register("GET_COLLECTIONS",new jv),this.register("GET_BLOCK_ASYNC_PROPS",new Fv),this.register("GET_BUILDER_PAGE_DATA",new Lv),this.register("GET_PAGE_TYPES",new Kv),this.register("SEARCH_PAGE_TYPE_ITEMS",new i_),this.register("GET_DYNAMIC_PAGES",new Gv),this.register("GET_ROLE_AND_PERMISSIONS",new Qv)}static getInstance(){return Nt.instance||(Nt.instance=new Nt),Nt.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 j.get(this.actions,t)}getAllActions(){return this.actions}};Ee(Nt,"instance");let sn=Nt;const va=e=>sn.getInstance().getAction(e),h_=sn.getInstance();exports.ActionError=b;exports.ChaiBaseAction=Z;exports.actionsRegistery=h_;exports.db=S;exports.getAskAiSystemPrompt=tu;exports.getChaiAction=va;exports.safeQuery=A;exports.schema=nu;
418
+ Language: ${t.lang}`})).text}}}class Fv extends Z{getValidationSchema(){return _.z.object({block:_.z.any(),pageProps:_.z.any().optional().default({}),lang:_.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=gu.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 Lv extends Z{getValidationSchema(){return _.z.object({lang:_.z.string(),pageType:_.z.string().optional(),pageProps:_.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 Uv extends Z{constructor(){super(...arguments);Ee(this,"appId","")}getValidationSchema(){return _.z.object({})}async execute(){if(!this.context)throw new b("Context not set","CONTEXT_NOT_SET");this.appId=this.context.appId;try{return await this.getChanges()}catch(r){if(r instanceof b)throw r;const n=r instanceof Error?r.message:"Failed to get changes";throw new b(n,"GET_CHANGES_ERROR")}}async getChanges(){const{data:r,error:n}=await A(()=>S.select({id:g.id,slug:g.slug,name:g.name,pageType:g.pageType,lang:g.lang,changes:g.changes,primaryPage:g.primaryPage,online:g.online,currentEditor:g.currentEditor}).from(g).where(m.and(m.eq(g.app,this.appId),m.isNotNull(g.changes))));if(n)throw new b("Error getting changed pages","ERROR_GETTING_CHANGES");const{data:a,error:o}=await A(()=>S.select({id:g.id,slug:g.slug,name:g.name,pageType:g.pageType,lang:g.lang,changes:g.changes,primaryPage:g.primaryPage,online:g.online}).from(g).where(m.and(m.eq(g.app,this.appId),m.isNull(g.currentEditor),m.eq(g.online,!1))));if(o)throw new b("Error getting offline pages","ERROR_GETTING_OFFLINE_PAGES");const s=(a||[]).map(p=>({...p,changes:["Take Online"]})),l=[...(r||[]).filter(p=>!s.some(d=>d.id===p.id)).map(p=>({...p,changes:p.changes})),...s],{data:u,error:c}=await A(()=>S.select({changes:Ae.changes}).from(Ae).where(m.and(m.eq(Ae.id,this.appId),m.isNotNull(Ae.changes))));return!c&&u&&u.length>0&&l.push({id:"THEME",slug:"",name:"Theme",pageType:"theme",lang:"",changes:["Updated"],primaryPage:null,online:!0}),l}}class jv extends Z{getValidationSchema(){return _.z.object({})}async execute(){try{return ut.getChaiCollections().map(r=>q.omit(r,"fetch"))}catch(t){return this.handleError(t)}}}class qv extends Z{getValidationSchema(){return _.z.object({versions:_.z.object({version1:_.z.object({type:_.z.enum(["draft","revision","live"]),id:_.z.string()}),version2:_.z.object({type:_.z.enum(["draft","revision","live"]),id:_.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:m.eq(g.id,r),columns:{blocks:!0,seo:!0}})));break;case"live":({data:n,error:a}=await A(()=>S.query.appPagesOnline.findFirst({where:m.eq(ge.id,r),columns:{blocks:!0,seo:!0}})));break;case"revision":({data:n,error:a}=await A(()=>S.query.appPagesRevisions.findFirst({where:m.eq(Ie.uid,r),columns:{blocks:!0,seo:!0}})));break;default:throw new b(`Invalid version type: ${t}`,"INVALID_VERSION_TYPE")}if(a)throw new b(`Failed to fetch blocks for ${t} version: ${a.message}`,"FETCH_BLOCKS_ERROR");if(!n)throw new b(`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 b("Context not set","CONTEXT_NOT_SET")}}class Zv extends Z{getValidationSchema(){return _.z.object({id:_.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=g,{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(m.and(m.eq(a.app,r),m.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:p,error:d}=await A(()=>S.select({blocks:a.blocks}).from(a).where(m.and(m.eq(a.app,r),m.eq(a.id,l))).limit(1));if(d)throw ie("BLOCKS_NOT_FOUND",d);u=((c=p==null?void 0:p[0])==null?void 0:c.blocks)??[]}return{...i,blocks:u,id:n,languagePageId:i.id}}}class Gv extends Z{getValidationSchema(){return _.z.object({pageType:_.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 Bv extends Z{getValidationSchema(){return _.z.object({id:_.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:g.id,name:g.name,slug:g.slug,lang:g.lang,primaryPage:g.primaryPage,pageType:g.pageType,seo:g.seo,currentEditor:g.currentEditor,online:g.online,parent:g.parent,metadata:g.metadata,dynamic:g.dynamic,dynamicSlugCustom:g.dynamicSlugCustom}).from(g).where(m.and(m.eq(g.app,r),m.or(m.eq(g.primaryPage,n),m.eq(g.id,n)))));if(o)throw ie("LANGUAGE_PAGES_ERROR",o);return a.map(s=>q.omit(s,["app"]))}}class Vv extends Z{getValidationSchema(){return _.z.object({}).optional().default({})}async execute(){var l;if(!this.context)throw new b("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(m.eq(K.app,t)).limit(1));if(r.error)throw new b("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(m.eq(K.client,a)));if(s)throw new b("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 Hv extends Z{getValidationSchema(){return _.z.object({})}async execute(){if(!this.context)throw new b("Context not set","CONTEXT_NOT_SET");const{data:t,error:r}=await A(()=>S.select({id:K.id}).from(K).where(m.eq(K.app,this.context.appId)).limit(1));if(r)throw new b("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(m.eq(re.library,n.id)));if(o)throw new b("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 Jv extends Z{getValidationSchema(){return _.z.object({id:_.z.string().min(1)})}async execute(t){if(!this.context)throw new b("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,m.eq(re.library,K.id)).where(m.eq(re.id,n)));if(o)throw new b("Failed to fetch library item","GET_LIBRARY_ITEM_FAILED",500,o);if(!a||a.length===0)throw new b("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 Yv extends Z{getValidationSchema(){return _.z.object({id:_.z.string().min(1)})}async execute(t){if(!this.context)throw new b("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(m.eq(re.library,r)));if(a)throw new b("Failed to fetch library items","GET_LIBRARY_ITEMS_FAILED",500,a);return n||[]}}class Wv extends Z{getValidationSchema(){return _.z.object({pageId:_.z.string().min(1,"Page ID is required")})}async execute(t){if(!this.context)throw new b("Context not set","CONTEXT_NOT_SET");try{return await this.getRevisions(t.pageId)}catch(r){if(r instanceof b)throw r;const n=r instanceof Error?r.message:"Failed to get page revisions";throw new b(n,"GET_PAGE_REVISIONS_ERROR")}}async getRevisions(t){const{data:r,error:n}=await A(()=>S.select({currentEditor:g.currentEditor,createdAt:g.createdAt}).from(g).where(m.and(m.eq(g.app,this.context.appId),m.eq(g.id,t)))),{data:a,error:o}=await A(()=>S.select({uid:Ie.uid,currentEditor:Ie.currentEditor,createdAt:Ie.createdAt,type:Ie.type}).from(Ie).where(m.and(m.eq(Ie.app,this.context.appId),m.eq(Ie.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 b(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 b(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 Kv extends Z{getValidationSchema(){return _.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 Xv extends Z{getValidationSchema(){return _.z.object({id:_.z.string().nonempty(),type:_.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:m.and(m.eq(g.id,t.id),m.eq(g.lang,t.lang??""))})));break;case"live":({data:r,error:n}=await A(()=>S.query.appPagesOnline.findFirst({where:m.and(m.eq(ge.id,t.id),m.eq(ge.lang,t.lang??""))})));break;case"revision":({data:r,error:n}=await A(()=>S.query.appPagesRevisions.findFirst({where:m.and(m.eq(Ie.uid,t.id),m.eq(Ie.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?g:ge,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(m.and(m.eq(a.app,n),m.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 p=o[c];if(!p)continue;const d=q.get(p,"partialBlockId",q.get(p,"globalBlock",""));if(d==="")continue;let v=u.get(d)??[];v.length>0&&(v=v.map(w=>(q.isEmpty(w._parent)&&(w._parent=p._parent),q.has(p,"_show")&&(w._show=p._show),w)));const E=t.indexOf(p);E!==-1&&t.splice(E,1,...v)}return t}}class Qv extends Z{getValidationSchema(){return _.z.object({})}async execute(){return{role:"admin",permissions:null}}}class e_ extends Z{getValidationSchema(){return _.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:g.id,designTokens:g.designTokens,name:g.name,slug:g.slug,links:g.links,partialBlocks:g.partialBlocks}).from(g).where(m.and(m.eq(g.lang,""),m.eq(g.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 t_ extends Z{getValidationSchema(){return _.z.object({pageType:_.z.string().min(1)})}async execute(t){if(!this.context)throw new b("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:m.eq(K.app,r),columns:{id:!0}}));if(o)throw new b("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(m.eq(K.type,"shared")));if(i)throw new b("Failed to fetch shared libraries","GET_SHARED_LIBRARIES_FAILED",500,i);const l=[...a?[a.id]:[],...(s||[]).map(p=>p.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(m.and(m.eq(te.pageType,n),m.inArray(te.library,l))));if(c)throw new b("Failed to fetch templates","GET_TEMPLATES_FAILED",500,c);return u||[]}}class r_ extends Z{getValidationSchema(){return _.z.object({lang:_.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:g.id,name:g.name,slug:g.slug,pageType:g.pageType,currentEditor:g.currentEditor,parent:g.parent,online:g.online,lastSaved:g.lastSaved,createdAt:g.createdAt,dynamic:g.dynamic,dynamicSlugCustom:g.dynamicSlugCustom,primaryPage:g.primaryPage}).from(g).where(m.and(m.eq(g.app,r),m.eq(g.lang,a))));if(s)throw ie("ERROR_GETTING_WEBSITE_PAGES",s);if(!o||o.length===0)return[];const i=o.filter(p=>!q.isEmpty(p.slug)).map(p=>p.id),{data:l,error:u}=await A(()=>S.select({pageId:te.pageId}).from(te).where(m.inArray(te.pageId,i)));if(u)throw ie("ERROR_GETTING_TEMPLATE_INFO",u);const c=new Set((l||[]).map(p=>p.pageId));return o.map(p=>({...p,pageType:p.pageType??"page",isTemplate:c.has(p.id)}))}}class n_ extends Z{getValidationSchema(){return _.z.object({draft:_.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?Ae:fr,{data:o,error:s}=await A(()=>S.select({theme:a.theme,fallbackLang:a.fallbackLang,languages:a.languages,settings:a.settings,designTokens:a.designTokens}).from(a).where(m.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);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)}}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=ss.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 a_ extends Z{getValidationSchema(){return _.z.object({id:_.z.string().min(1),description:_.z.string().optional(),name:_.z.string().min(1),pageType:_.z.string().min(1),previewImage:_.z.string().optional(),previewImageUrl:_.z.string().optional()})}async execute(t){var w;if(await this.verifyAccess(),!this.context)throw new b("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:p}=await A(()=>S.query.libraries.findFirst({where:m.eq(K.app,r),columns:{id:!0}}));if(p)throw new b("Failed to fetch site library","GET_SITE_LIBRARY_FAILED",500,p);if(!c)throw new b("Library not found for this app","GET_SITE_LIBRARY_FAILED");let d=u;if(l){const I=va("UPLOAD_TO_STORAGE");I==null||I.setContext(this.context);const P=`template-${Date.now()}.webp`,C=`${r}/templates`,h=await(I==null?void 0:I.execute({file:l,fileName:P,contentType:"image/webp",folder:C}));if(h!=null&&h.error)throw new b("Failed to upload preview image","UPLOAD_PREVIEW_FAILED",500,h.error);d=((w=h==null?void 0:h.data)==null?void 0:w.url)||u}const{data:v,error:E}=await A(()=>S.insert(te).values({library:c.id,user:n??null,pageId:a,description:o??null,name:s+" Template",pageType:i,preview:d??null}).returning({id:te.id,library:te.library,pageType:te.pageType,pageId:te.pageId,description:te.description,preview:te.preview}));if(E||!v||v.length===0)throw new b("Failed to mark page as template","UPDATE_FAILED",500,E);return v[0]}}class o_ extends Z{constructor(){super(...arguments);Ee(this,"appId","");Ee(this,"userId","")}getValidationSchema(){return _.z.object({ids:_.z.array(_.z.string()).optional()})}async execute(r){await this.verifyAccess(),this.validateContext(),this.appId=this.context.appId,this.userId=this.context.userId??"";try{const n=r.ids??[];if(n.length===0)throw new b("IDS_REQUIRED","At least one page ID or THEME must be provided");const a=await Promise.all(n.map(o=>o==="THEME"?this.publishTheme():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 b("Context not set","CONTEXT_NOT_SET")}async publishTheme(){const r=await this.cloneApp(),{error:n}=await A(()=>S.delete(fr).where(m.eq(fr.id,this.appId)));if(n)throw new b("Error deleting online theme","ERROR_PUBLISHING_THEME",500,n);const{error:a}=await A(()=>S.insert(fr).values({...r,changes:null}));if(a)throw new b("Error inserting online theme","ERROR_PUBLISHING_THEME",500,a);const{error:o}=await A(()=>S.update(Ae).set({changes:null}).where(m.eq(Ae.id,this.appId)));if(o)throw new b("Error updating theme","ERROR_PUBLISHING_THEME",500,o);return[`website-settings-${this.appId}`]}async cloneApp(){const{data:r,error:n}=await A(()=>S.query.apps.findFirst({where:m.eq(Ae.id,this.appId)}));if(n||!r)throw new b("Site not found","SITE_NOT_FOUND",404,n);return r}async clearChanges(r){const n=r.filter(o=>o!=="THEME");if(n.length===0)return;const{error:a}=await A(()=>S.update(g).set({changes:null,online:!0}).where(m.and(m.inArray(g.id,n),m.eq(g.app,this.appId))));if(a)throw new b("Error clearing changes","ERROR_CLEARING_CHANGES",500,a)}async getPartialBlockUsage(r){const{data:n}=await A(()=>S.query.appPagesOnline.findMany({where:m.and(m.eq(ge.app,this.appId),m.like(ge.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){const{data:n,error:a}=await A(()=>S.query.appPagesOnline.findFirst({where:m.eq(ge.id,r)}));if(a||!n||!q.isEmpty(n.primaryPage))return!1;const{error:o}=await A(()=>S.insert(Ie).values({...n,type:"published",uid:void 0}));if(o)throw new b("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(ge).where(m.eq(ge.id,r.id)));if(n)throw new b("Error deleting online page","ERROR_PUBLISHING_PAGE",500,n);const{changes:a,createdAt:o,...s}=r,{data:i,error:l}=await A(()=>S.insert(ge).values({...s,currentEditor:this.userId}).returning({id:ge.id,primaryPage:ge.primaryPage}));if(l||!i||i.length===0)throw new b("Error publishing page","ERROR_PUBLISHING_PAGE",500,l);return i[0]}async clonePage(r){const{data:n,error:a}=await A(()=>S.query.appPages.findFirst({where:m.and(m.eq(g.id,r),m.eq(g.app,this.appId))}));if(a||!n)throw new b("Page not found","PAGE_NOT_FOUND",404,a);return n}handleExecutionError(r){throw r instanceof b?r:new b(`Failed to publish changes: ${r instanceof Error?r.message:"Unknown error"}`,"PUBLISH_CHANGES_FAILED")}}class s_ extends Z{getValidationSchema(){return _.z.object({revisionId:_.z.string().nonempty(),discardCurrent:_.z.boolean(),pageId:_.z.string().optional()})}async execute(t){if(await this.verifyAccess(),!this.context)throw new b("Context not set","CONTEXT_NOT_SET");const{appId:r}=this.context;let n,a;if(t.revisionId==="current"){if(!t.pageId)throw new b("pageId is required when restoring current revision","PAGE_ID_REQUIRED");const{data:o,error:s}=await A(()=>S.query.appPagesOnline.findFirst({where:m.and(m.eq(ge.id,t.pageId),m.eq(ge.app,r)),columns:{id:!0,blocks:!0}}));if(s)throw new b("Error fetching live page","FETCH_ERROR");if(!o)throw new b("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:m.and(m.eq(Ie.uid,t.revisionId),m.eq(Ie.app,r)),columns:{id:!0,blocks:!0,type:!0}}));if(s)throw new b("Error fetching revision","FETCH_ERROR");if(!o)throw new b("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:m.and(m.eq(g.id,n),m.eq(g.app,r))}));if(s)throw new b("Error fetching current page","FETCH_ERROR");if(!o)throw new b("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(Ie).values(l)}return await S.update(g).set({blocks:a}).where(m.eq(g.id,n)),{success:!0,pageId:n}}}class i_ extends Z{getValidationSchema(){return _.z.object({pageType:_.z.string(),query:_.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 l_ extends Z{getValidationSchema(){return _.z.object({pageType:_.z.string().min(1),query:_.z.string().optional()})}async execute(t){if(!this.context)throw new b("Context not set","CONTEXT_NOT_SET");const{appId:r}=this.context,{pageType:n,query:a=""}=t,o=this.isUUID(a),s=[m.eq(g.app,r),m.isNull(g.primaryPage),m.eq(g.pageType,n)];let i;a?o?i=m.and(...s,m.eq(g.id,a)):i=m.and(...s,m.or(m.ilike(g.slug,`%${a}%`),m.ilike(g.name,`%${a}%`))):i=m.and(...s);const{data:l,error:u}=await A(()=>S.select({id:g.id,slug:g.slug,name:g.name}).from(g).where(i));if(u)throw new b("Failed to search pages","ERROR_SEARCHING_PAGES",500,u);return l||[]}isUUID(t){return t.length===36}}class u_ extends Z{constructor(){super(...arguments);Ee(this,"appId","")}getValidationSchema(){return _.z.object({id:_.z.string().min(1,"Page ID is required")})}async execute(r){if(await this.verifyAccess(),!this.context)throw new b("Context not set","CONTEXT_NOT_SET");this.appId=this.context.appId;try{return await this.takeOffline(r.id)}catch(n){if(n instanceof b)throw n;const a=n instanceof Error?n.message:"Failed to take page offline";throw new b(a,"TAKE_OFFLINE_ERROR")}}async takeOffline(r){const n=await this.getPageType(r),{error:a}=await A(()=>S.update(g).set({online:!1}).where(m.and(m.eq(g.id,r),m.eq(g.app,this.appId))));if(a)throw new b("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:g.id,slug:g.slug,lang:g.lang,pageType:g.pageType,name:g.name,online:g.online,seo:g.seo}).from(g).where(m.eq(g.id,r)));if(s||!o||o.length===0)throw new b("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(ge).where(m.eq(ge.id,r)));if(n)throw new b("Error deleting page from online pages table","ERROR_DELETING_PAGE_FROM_ONLINE_PAGES_TABLE");const{error:a}=await A(()=>S.delete(ge).where(m.eq(ge.primaryPage,r)));if(a)throw new b("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:g.primaryPage,pageType:g.pageType,slug:g.slug}).from(g).where(m.and(m.eq(g.id,r),m.eq(g.app,this.appId))));if(a||!n||n.length===0)throw new b("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:g.id,primaryPage:g.primaryPage}).from(g).where(m.and(m.eq(g.id,r),m.eq(g.app,this.appId))));if(a||!n||n.length===0)throw new b("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:g.id,partialBlocks:g.partialBlocks}).from(g).where(m.eq(g.app,this.appId)));return a||!n?[]:n.filter(o=>(o.partialBlocks||"").split("|").includes(r)).map(o=>o.id)}}class c_ extends Z{getValidationSchema(){return _.z.object({id:_.z.string().min(1)})}async execute(t){if(await this.verifyAccess(),!this.context)throw new b("Context not set","CONTEXT_NOT_SET");const{id:r}=t,{error:n}=await A(()=>S.delete(te).where(m.eq(te.pageId,r)));if(n)throw new b("Failed to unmark page as template","DELETE_FAILED",500,n);return{success:!0}}}class d_{constructor(t){Ee(this,"appId");Ee(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 b(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 b(i,"SLUG_ALREADY_EXISTS")}}async isSlugChanged(t,r){if(!r)return!1;const{data:n,error:a}=await A(()=>S.select({slug:g.slug}).from(g).where(m.and(m.eq(g.id,t),m.eq(g.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:g.parent}).from(g).where(m.and(m.eq(g.id,t),m.eq(g.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 Sr(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 b("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 Sr(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 b("Cannot change parent of language pages directly","INVALID_OPERATION"):new b("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(d=>({id:d.id,newSlug:d.newSlug}))];for(const d of l)this.updateNodeSlugInTree(d.id,d.newSlug,a.primaryTree);const c=this.pageTreeBuilder.findLanguagePagesForPrimary(t,a.languageTree);let p;n&&(p=this.pageTreeBuilder.findLanguagePagesForPrimary(n,a.languageTree));for(const d of c){const v=p==null?void 0:p.filter(P=>P.lang===d.lang)[0],E=(v==null?void 0:v.id)||null,w=this.pageTreeBuilder.calculateSlugFromParent(E,d.slug,a.languageTree);this.validateSlugAvailabilityInTree(w,d.id,d.dynamic||!1,a,!0),this.updateNodeSlugInTree(d.id,w,a.languageTree);const I=this.pageTreeBuilder.collectNestedChildSlugs(d,d.slug,w);for(const P of I)this.updateNodeSlugInTree(P.id,P.newSlug,a.languageTree);u.push({id:d.id,newSlug:w}),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:m.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(p=>{c[p]===void 0&&delete c[p]}),Object.assign(l,{...c,changes:a})}const{error:u}=await A(()=>S.update(g).set(l).where(m.and(m.eq(g.id,i.id),m.eq(g.app,this.appId))));if(u)throw new b(`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(ge).set({slug:i.newSlug}).where(m.and(m.eq(ge.id,i.id),m.eq(ge.app,this.appId))))});await Promise.all(s)}setPageTreeBuilder(t){this.pageTreeBuilder=t}}class p_ extends Z{constructor(){super(...arguments);Ee(this,"appId","");Ee(this,"pageTreeBuilder");Ee(this,"slugChangeHandler")}getValidationSchema(){return _.z.object({id:_.z.string().nonempty(),blocks:_.z.array(_.z.any()).optional(),currentEditor:_.z.string().optional(),slug:_.z.string().optional(),name:_.z.string().optional(),seo:_.z.record(_.z.string(),_.z.any()).optional(),buildTime:_.z.boolean().optional(),parent:_.z.union([_.z.string(),_.z.null()]).optional(),pageType:_.z.string().optional(),dynamic:_.z.boolean().optional(),dynamicSlugCustom:_.z.string().optional(),needTranslations:_.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 d_(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 Sr(this.appId),this.slugChangeHandler.setPageTreeBuilder(this.pageTreeBuilder),await this.handleParentChangeWithHandler(r.id,n)):a&&n.slug?(this.pageTreeBuilder=new Sr(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 b("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(g).set({...n,changes:a,lastSaved:m.sql`now()`}).where(m.and(m.eq(g.id,r),m.eq(g.app,this.appId))));if(o)throw new b("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:g.id,slug:g.slug,lang:g.lang,pageType:g.pageType,name:g.name,online:g.online,parent:g.parent,seo:g.seo}).from(g).where(m.eq(g.id,r)).limit(1));if(a||!n||n.length===0)throw new b("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 b?r:new b(`Failed to update page: ${r instanceof Error?r.message:"Unknown error"}`,"UPDATE_PAGE_FAILED")}}class f_ extends Z{getValidationSchema(){return _.z.object({id:_.z.string().nonempty(),metadata:_.z.record(_.z.string(),_.z.any())})}async execute(t){if(await this.verifyAccess(),!this.context)throw new b("Context not set","CONTEXT_NOT_SET");const{appId:r}=this.context,{data:n,error:a}=await A(()=>S.query.appPages.findFirst({where:m.and(m.eq(g.id,t.id),m.eq(g.app,r)),columns:{id:!0}}));if(a)throw new b(`Failed to fetch page: ${a.message}`,"FETCH_FAILED");if(!n)throw new b("Page not found","PAGE_NOT_FOUND");const{error:o}=await A(()=>S.update(g).set({metadata:t.metadata}).where(m.and(m.eq(g.id,t.id),m.eq(g.app,r))));if(o)throw console.error(o),new b("Failed to update page metadata","UPDATE_FAILED");return{success:!0}}}class g_ extends Z{getValidationSchema(){return _.z.object({settings:_.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,a={...q.pick(t.settings,["theme","designTokens"]),changes:["Updated"]},{error:o}=await A(()=>S.update(Ae).set(a).where(m.eq(Ae.id,r)));if(o)throw ie("ERROR_UPDATE_WEBSITE_SETTINGS",o);return{success:!0}}}class m_ extends Z{getValidationSchema(){return _.z.object({name:_.z.string().min(1),group:_.z.string().min(1),blocks:_.z.array(_.z.any()),description:_.z.string().optional(),previewImage:_.z.string().optional(),id:_.z.string().optional(),previewImageUrl:_.z.string().optional()})}async execute(t){var E;if(await this.verifyAccess(),!this.context)throw new b("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:p,error:d}=await A(()=>S.query.libraries.findFirst({where:m.eq(K.app,r),columns:{id:!0}}));if(d)throw new b("Failed to fetch site library","GET_SITE_LIBRARY_FAILED",500,d);if(!p)throw new b("Library not found for this app","GET_SITE_LIBRARY_FAILED");let v=u;if(l){const w=va("UPLOAD_TO_STORAGE");w==null||w.setContext(this.context);const I=`library-item-${Date.now()}.webp`,P=`${r}/library-items`,C=await(w==null?void 0:w.execute({file:l,fileName:I,contentType:"image/webp",folder:P}));if(C!=null&&C.error)throw new b("Failed to upload preview image","UPLOAD_PREVIEW_FAILED",500,C.error);v=((E=C==null?void 0:C.data)==null?void 0:E.url)||u}if(c){const w={name:a,blocks:s,library:p.id,description:i??null,group:o,user:n??null};v&&(w.preview=v);const{data:I,error:P}=await A(()=>S.update(re).set(w).where(m.eq(re.id,c)).returning());if(P||!I||I.length===0)throw new b("Failed to update library item","UPDATE_LIBRARY_ITEM_FAILED",500,P);return I[0]}else{const w=mu.randomUUID(),I=[...s];q.set(I,"0._libBlockId",w);const P={id:w,name:a,blocks:I,library:p.id,description:i??null,group:o,user:n??null,preview:v??null},{data:C,error:h}=await A(()=>S.insert(re).values(P).returning());if(h||!C||C.length===0)throw new b("Failed to create library item","CREATE_LIBRARY_ITEM_FAILED",500,h);return C[0]}}}const Nt=class Nt{constructor(){Ee(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 Sv),this.register("CHECK_USER_ACCESS",new Av),this.register("CREATE_PAGE",new Nv),this.register("DELETE_PAGE",new Rv),this.register("DUPLICATE_PAGE",new kv),this.register("RESTORE_PAGE_REVISION",new s_),this.register("UPDATE_PAGE_METADATA",new f_),this.register("GENERATE_SEO_FIELD",new Mv),this.register("GENERATE_HTML_FROM_PROMPT",new $v),this.register("GET_REVISION_PAGE",new Xv),this.register("UPDATE_PAGE",new p_),this.register("GET_COMPARE_DATA",new qv),this.register("GET_SITE_WIDE_USAGE",new e_),this.register("GET_WEBSITE_DRAFT_SETTINGS",new n_),this.register("GET_WEBSITE_PAGES",new r_),this.register("GET_LIBRARIES",new Vv),this.register("GET_DRAFT_PAGE",new Zv),this.register("GET_LANGUAGE_PAGES",new Bv),this.register("UPSERT_LIBRARY_ITEM",new m_),this.register("MARK_AS_TEMPLATE",new a_),this.register("GET_LIBRARY_ITEM",new Jv),this.register("GET_LIBRARY_ITEMS",new Yv),this.register("DELETE_LIBRARY_ITEM",new Ov),this.register("UNMARK_AS_TEMPLATE",new c_),this.register("GET_TEMPLATES_BY_TYPE",new t_),this.register("SEARCH_PAGES",new l_),this.register("GET_PAGE_REVISIONS",new Wv),this.register("PUBLISH_CHANGES",new o_),this.register("UPDATE_WEBSITE_SETTINGS",new g_),this.register("TAKE_OFFLINE",new u_),this.register("GET_CHANGES",new Uv),this.register("GET_LIBRARY_GROUPS",new Hv),this.register("DELETE_PAGE_REVISION",new xv),this.register("GET_COLLECTIONS",new jv),this.register("GET_BLOCK_ASYNC_PROPS",new Fv),this.register("GET_BUILDER_PAGE_DATA",new Lv),this.register("GET_PAGE_TYPES",new Kv),this.register("SEARCH_PAGE_TYPE_ITEMS",new i_),this.register("GET_DYNAMIC_PAGES",new Gv),this.register("GET_ROLE_AND_PERMISSIONS",new Qv)}static getInstance(){return Nt.instance||(Nt.instance=new Nt),Nt.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}};Ee(Nt,"instance");let sn=Nt;const va=e=>sn.getInstance().getAction(e),h_=sn.getInstance();exports.ActionError=b;exports.ChaiBaseAction=Z;exports.actionsRegistery=h_;exports.db=S;exports.getAskAiSystemPrompt=tu;exports.getChaiAction=va;exports.safeQuery=A;exports.schema=nu;