@chaibuilder/sdk 4.0.0-beta.44 → 4.0.0-beta.45

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 (106) hide show
  1. package/dist/{2SSKDMRQ-BrCeJE2w.js → 2SSKDMRQ-CqsUj10r.js} +2 -2
  2. package/dist/{2SSKDMRQ-BKWkM_6d.cjs → 2SSKDMRQ-D12irKaV.cjs} +1 -1
  3. package/dist/{AP7HFJJL-CskLuLc8.js → AP7HFJJL-CEMjieq8.js} +1 -1
  4. package/dist/{AP7HFJJL-vt0XlZqG.cjs → AP7HFJJL-CQ1kBXlH.cjs} +1 -1
  5. package/dist/{IconPicker-BJ6a_dl-.js → IconPicker-CGtjTiWr.js} +1 -1
  6. package/dist/{WDYDFRGG-Nw-WmjVB.cjs → WDYDFRGG-BGBMGOXn.cjs} +1 -1
  7. package/dist/{WDYDFRGG-BN61b01J.js → WDYDFRGG-Djk7UWh1.js} +2 -2
  8. package/dist/{actions-registery-CqhNZFV3.cjs → actions-registery-B6tt904t.cjs} +18 -18
  9. package/dist/{actions-registery-CMKfEXxX.js → actions-registery-D1v8fvDh.js} +712 -709
  10. package/dist/actions.cjs +1 -1
  11. package/dist/actions.d.ts +135 -0
  12. package/dist/actions.js +7 -6
  13. package/dist/{active-in-another-tab-DHTYNRjQ.cjs → active-in-another-tab-BWn6jTeo.cjs} +1 -1
  14. package/dist/{active-in-another-tab-CZHN4gdI.js → active-in-another-tab-b3dtgwXA.js} +4 -4
  15. package/dist/{add-new-language-page-DUm56cDk.cjs → add-new-language-page-CJgeCgQ_.cjs} +1 -1
  16. package/dist/{add-new-language-page-J0FxQGri.js → add-new-language-page-DLSJWwTI.js} +3 -3
  17. package/dist/{add-new-page-B4dH-sG6.js → add-new-page-CS8dEOhg.js} +2 -2
  18. package/dist/{add-new-page-D0H-HGrE.cjs → add-new-page-IRS1Ft0d.cjs} +1 -1
  19. package/dist/{ai-panel-default-lang-BHzxr8XE.cjs → ai-panel-default-lang-BTjr4pC6.cjs} +2 -2
  20. package/dist/{ai-panel-default-lang-DrKTSHgh.js → ai-panel-default-lang-NdhYzpxN.js} +10 -10
  21. package/dist/{ai-panel-other-lang-CMs97ftp.js → ai-panel-other-lang-Bj2wYIfM.js} +14 -14
  22. package/dist/{ai-panel-other-lang-B6cRPiU9.cjs → ai-panel-other-lang-BpjPfSPX.cjs} +1 -1
  23. package/dist/ai-prompt-input-B8SFfk6N.cjs +1 -0
  24. package/dist/ai-prompt-input-bleYNRnH.js +650 -0
  25. package/dist/{ai-translation-prompt-Ddum5Ge5.cjs → ai-translation-prompt-D1rNu8P-.cjs} +1 -1
  26. package/dist/{ai-translation-prompt-BfJry6ZR.js → ai-translation-prompt-DHfe6Wzy.js} +1 -1
  27. package/dist/{change-password-modal-C4ngPnKd.js → change-password-modal-OPNVgWPf.js} +4 -4
  28. package/dist/{change-password-modal-UTKwQzI4.cjs → change-password-modal-pr1urpGi.cjs} +1 -1
  29. package/dist/{code-editor-LNL_FEZ0.js → code-editor-BfGHceIq.js} +1 -1
  30. package/dist/{continue-editing-in-this-client-rjJy4-cq.cjs → continue-editing-in-this-client-B0fhkHm9.cjs} +1 -1
  31. package/dist/{continue-editing-in-this-client-CuBlXJb6.js → continue-editing-in-this-client-BM6Ru46L.js} +2 -2
  32. package/dist/core.js +18 -18
  33. package/dist/{css-import-modal-ChRsUOVa.js → css-import-modal-CEQccCmc.js} +1 -1
  34. package/dist/{delete-page-BaJ0oesv.cjs → delete-page-CXRD2fUG.cjs} +1 -1
  35. package/dist/{delete-page-BegGYX7_.js → delete-page-YGXD04Z1.js} +2 -2
  36. package/dist/{design-token-usage-Bgphgz_u.js → design-token-usage-CVPBTF21.js} +8 -8
  37. package/dist/{digital-asset-manager-uzOuwVMR.cjs → digital-asset-manager-BLnvpLiu.cjs} +1 -1
  38. package/dist/{digital-asset-manager-BPy9RYlx.js → digital-asset-manager-CC02mA_u.js} +3 -3
  39. package/dist/{duplicate-page-n6osptll.js → duplicate-page-Df3_zMuR.js} +12 -12
  40. package/dist/{duplicate-page-BofwxP4t.cjs → duplicate-page-N6d80CFF.cjs} +1 -1
  41. package/dist/{dynamic-page-selector-CVI1LwdD.cjs → dynamic-page-selector-CehQLxyZ.cjs} +1 -1
  42. package/dist/{dynamic-page-selector-6EWhAHX0.js → dynamic-page-selector-DDUtutYp.js} +12 -12
  43. package/dist/{image-editor-D1euq0rl.js → image-editor-CzxSXo-u.js} +1 -1
  44. package/dist/index-DAJ9bufO.cjs +5 -0
  45. package/dist/{index-fThd1uce.js → index-RwAuF_BE.js} +39 -39
  46. package/dist/{index-fxuo68Am.js → index-nVkLHaAS.js} +1344 -1289
  47. package/dist/{json-diff-viewer-C0kg3Rss.js → json-diff-viewer-CgWyab6R.js} +6 -6
  48. package/dist/{json-diff-viewer-B2Q7bs-U.cjs → json-diff-viewer-DgcLmglp.cjs} +1 -1
  49. package/dist/{lang-panel-DgDlmKaN.js → lang-panel-B95Qvr7o.js} +22 -22
  50. package/dist/{lang-panel-MB00AgoJ.cjs → lang-panel-D1usAgp_.cjs} +1 -1
  51. package/dist/{manage-design-tokens-nTmzLQyq.js → manage-design-tokens-D2Oz-jVp.js} +2 -2
  52. package/dist/{manage-design-tokens-modal-ayqKkRLc.js → manage-design-tokens-modal-ZR8PuhWC.js} +2 -2
  53. package/dist/{mark-as-template-CProQdMy.cjs → mark-as-template-BN3Ao9n8.cjs} +1 -1
  54. package/dist/{mark-as-template-BARMivkY.js → mark-as-template-CzBJQ_nj.js} +2 -2
  55. package/dist/{models-D95ZYr_x.js → models-BCu-p_QK.js} +4 -4
  56. package/dist/{models-5gOsRC56.cjs → models-D0RH2u4C.cjs} +1 -1
  57. package/dist/{nested-path-selector-content-DxW18z33.js → nested-path-selector-content-Ct80kFX-.js} +1 -1
  58. package/dist/{no-language-page-content-CB_UK8pU.js → no-language-page-content-CGyfOtV3.js} +4 -4
  59. package/dist/{no-language-page-content-C2Q-PlyR.cjs → no-language-page-content-DMxN5AZK.cjs} +1 -1
  60. package/dist/{no-language-page-dialog-B7SNu92-.cjs → no-language-page-dialog-5I_REfoR.cjs} +1 -1
  61. package/dist/{no-language-page-dialog-DsZDAaRd.js → no-language-page-dialog-DJXWLTYK.js} +2 -2
  62. package/dist/{page-creator-CnyQu1Te.cjs → page-creator-CGOumc-z.cjs} +1 -1
  63. package/dist/{page-creator-CulX1J10.js → page-creator-IQs478pG.js} +3 -3
  64. package/dist/{page-lock-BQr6vqz-.cjs → page-lock-CLZ_Oj1q.cjs} +1 -1
  65. package/dist/{page-lock-DbH7spVl.js → page-lock-Dx3unkMc.js} +2 -2
  66. package/dist/{page-locked-dialog-BgaqVH5J.js → page-locked-dialog-C_JgymA0.js} +15 -15
  67. package/dist/{page-locked-dialog-B3ZmWOt_.cjs → page-locked-dialog-fTJsy11q.cjs} +1 -1
  68. package/dist/{page-manager-new-DNBm5H5A.js → page-manager-new-Cdt2NoSS.js} +29 -29
  69. package/dist/{page-manager-new-ydVnl9s6.cjs → page-manager-new-yyjdahAJ.cjs} +1 -1
  70. package/dist/{page-manager-search-and-filter-BhBT7qY0.cjs → page-manager-search-and-filter-BQ6yd7_7.cjs} +1 -1
  71. package/dist/{page-manager-search-and-filter-jYP_ub36.js → page-manager-search-and-filter-kF_V1Kw5.js} +26 -26
  72. package/dist/{page-revisions-content-YGYK8pv9.js → page-revisions-content-Cf1Cn0wo.js} +24 -24
  73. package/dist/{page-revisions-content-ZOroDtgV.cjs → page-revisions-content-DfDZS2ME.cjs} +1 -1
  74. package/dist/pages.cjs +1 -1
  75. package/dist/pages.d.ts +2 -0
  76. package/dist/pages.js +24 -23
  77. package/dist/{publish-pages-content-BgdFWGKT.js → publish-pages-content-BLXYr2sJ.js} +23 -23
  78. package/dist/{publish-pages-content-Du3LgWM2.cjs → publish-pages-content-BYPD6vxL.cjs} +1 -1
  79. package/dist/{rte-widget-modal-B7wA8UGi.js → rte-widget-modal-Tj_pS3ql.js} +1 -1
  80. package/dist/{save-to-lib-Dxisxuo9.cjs → save-to-lib-BZvVC0bb.cjs} +1 -1
  81. package/dist/{save-to-lib-hHRxVrjy.js → save-to-lib-DGONzxBC.js} +62 -62
  82. package/dist/{selected-block-display-BNX9ZuNH.js → selected-block-display-CoWqh7BT.js} +11 -11
  83. package/dist/{selected-block-display-5hDghITH.cjs → selected-block-display-D1p8khWb.cjs} +1 -1
  84. package/dist/{seo-panel-CBEV-Nds.js → seo-panel-C5_war2g.js} +25 -25
  85. package/dist/{seo-panel-C1DEkfcC.cjs → seo-panel-DTxo0HRg.cjs} +1 -1
  86. package/dist/{shared-json-ld-4o0YbV25.js → shared-json-ld-CDQKtky3.js} +46 -46
  87. package/dist/{shared-json-ld-DuXm_88W.cjs → shared-json-ld-CgF2Si7b.cjs} +1 -1
  88. package/dist/{slug-input-DE-a4dMb.js → slug-input-P-CLfUrw.js} +1 -1
  89. package/dist/supabase-actions.cjs +1 -1
  90. package/dist/supabase-actions.js +1 -1
  91. package/dist/{take-over-request-DR4RC8TT.cjs → take-over-request-BDHFsfIR.cjs} +1 -1
  92. package/dist/{take-over-request-WL-btbiZ.js → take-over-request-mIiTaYST.js} +5 -5
  93. package/dist/{translation-warning-modal-Cef9OsyI.js → translation-warning-modal-BdkToZwn.js} +1 -1
  94. package/dist/{unmark-as-template-Dexn_9W7.cjs → unmark-as-template-Bf9f4L0-.cjs} +1 -1
  95. package/dist/{unmark-as-template-D-5cQ61Q.js → unmark-as-template-D1o7Vm_F.js} +2 -2
  96. package/dist/{unpublish-page-C-7RnGgj.js → unpublish-page-BWnyAdo3.js} +2 -2
  97. package/dist/{unpublish-page-C14PYuLT.cjs → unpublish-page-YPMIqjta.cjs} +1 -1
  98. package/dist/{unpublished-partials-modal-O0E8HViJ.js → unpublished-partials-modal-p_0N6V23.js} +1 -1
  99. package/dist/{web-preview-DOJ6E273.js → web-preview-DN7QMzca.js} +1 -1
  100. package/dist/{web-preview-CgKfKkdH.cjs → web-preview-gmOwlKZr.cjs} +1 -1
  101. package/package.json +1 -1
  102. package/dist/ai-panel-content-BV5Hzsso.js +0 -62
  103. package/dist/ai-panel-content-D0ugQDEu.cjs +0 -1
  104. package/dist/ai-prompt-input-MPIh7805.cjs +0 -1
  105. package/dist/ai-prompt-input-__vuJNRC.js +0 -652
  106. package/dist/index-Dh-fEHei.cjs +0 -5
@@ -1,8 +1,8 @@
1
- "use strict";var fu=Object.defineProperty;var gu=(e,t,r)=>t in e?fu(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var Ie=(e,t,r)=>gu(e,typeof t!="symbol"?t+"":t,r);const ut=require("./register-partial-type-ig9fUWIJ.cjs"),q=require("lodash-es"),hu=require("./_commonjsHelpers-DwGv2jUC.cjs"),mu=require("fs"),yu=require("path"),vu=require("os"),is=require("crypto"),wu=require("drizzle-orm/postgres-js"),_u=require("postgres"),g=require("drizzle-orm/pg-core"),h=require("drizzle-orm"),Tu=require("./models-5gOsRC56.cjs"),v=require("zod"),Eu=require("./core-czmLeR0h.cjs"),bu=require("node:crypto");var ls="vercel.ai.error",Iu=Symbol.for(ls),Ea,ba,H=class us extends(ba=Error,Ea=Iu,ba){constructor({name:t,message:r,cause:n}){super(r),this[Ea]=!0,this.name=t,this.cause=n}static isInstance(t){return us.hasMarker(t,ls)}static hasMarker(t,r){const n=Symbol.for(r);return t!=null&&typeof t=="object"&&n in t&&typeof t[n]=="boolean"&&t[n]===!0}},cs="AI_APICallError",ds=`vercel.ai.error.${cs}`,Su=Symbol.for(ds),Ia,Sa,$e=class extends(Sa=H,Ia=Su,Sa){constructor({message:e,url:t,requestBodyValues:r,statusCode:n,responseHeaders:a,responseBody:o,cause:s,isRetryable:i=n!=null&&(n===408||n===409||n===429||n>=500),data:l}){super({name:cs,message:e,cause:s}),this[Ia]=!0,this.url=t,this.requestBodyValues=r,this.statusCode=n,this.responseHeaders=a,this.responseBody=o,this.isRetryable=i,this.data=l}static isInstance(e){return H.hasMarker(e,ds)}},ps="AI_EmptyResponseBodyError",fs=`vercel.ai.error.${ps}`,Au=Symbol.for(fs),Aa,Na,Nu=class extends(Na=H,Aa=Au,Na){constructor({message:e="Empty response body"}={}){super({name:ps,message:e}),this[Aa]=!0}static isInstance(e){return H.hasMarker(e,fs)}};function Kt(e){return e==null?"unknown error":typeof e=="string"?e:e instanceof Error?e.message:JSON.stringify(e)}var gs="AI_InvalidArgumentError",hs=`vercel.ai.error.${gs}`,xu=Symbol.for(hs),xa,Oa,Ou=class extends(Oa=H,xa=xu,Oa){constructor({message:t,cause:r,argument:n}){super({name:gs,message:t,cause:r}),this[xa]=!0,this.argument=n}static isInstance(t){return H.hasMarker(t,hs)}},ms="AI_InvalidPromptError",ys=`vercel.ai.error.${ms}`,Ru=Symbol.for(ys),Ra,ka,Zt=class extends(ka=H,Ra=Ru,ka){constructor({prompt:e,message:t,cause:r}){super({name:ms,message:`Invalid prompt: ${t}`,cause:r}),this[Ra]=!0,this.prompt=e}static isInstance(e){return H.hasMarker(e,ys)}},vs="AI_JSONParseError",ws=`vercel.ai.error.${vs}`,ku=Symbol.for(ws),Pa,Ca,Gr=class extends(Ca=H,Pa=ku,Ca){constructor({text:e,cause:t}){super({name:vs,message:`JSON parsing failed: Text: ${e}.
2
- Error message: ${Kt(t)}`,cause:t}),this[Pa]=!0,this.text=e}static isInstance(e){return H.hasMarker(e,ws)}},_s="AI_TypeValidationError",Ts=`vercel.ai.error.${_s}`,Pu=Symbol.for(Ts),Da,za,Rt=class Mn extends(za=H,Da=Pu,za){constructor({value:t,cause:r}){super({name:_s,message:`Type validation failed: Value: ${JSON.stringify(t)}.
3
- Error message: ${Kt(r)}`,cause:r}),this[Da]=!0,this.value=t}static isInstance(t){return H.hasMarker(t,Ts)}static wrap({value:t,cause:r}){return Mn.isInstance(r)&&r.value===t?r:new Mn({value:t,cause:r})}};function E(e,t,r){function n(i,l){if(i._zod||Object.defineProperty(i,"_zod",{value:{def:l,constr:s,traits:new Set},enumerable:!1}),i._zod.traits.has(e))return;i._zod.traits.add(e),t(i,l);const u=s.prototype,c=Object.keys(u);for(let d=0;d<c.length;d++){const p=c[d];p in i||(i[p]=u[p].bind(i))}}const a=(r==null?void 0:r.Parent)??Object;class o extends a{}Object.defineProperty(o,"name",{value:e});function s(i){var l;const u=r!=null&&r.Parent?new o:this;n(u,i),(l=u._zod).deferred??(l.deferred=[]);for(const c of u._zod.deferred)c();return u}return Object.defineProperty(s,"init",{value:n}),Object.defineProperty(s,Symbol.hasInstance,{value:i=>{var l,u;return r!=null&&r.Parent&&i instanceof r.Parent?!0:(u=(l=i==null?void 0:i._zod)==null?void 0:l.traits)==null?void 0:u.has(e)}}),Object.defineProperty(s,"name",{value:e}),s}class Vt extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class Es extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}}const bs={};function wt(e){return bs}function Is(e){const t=Object.values(e).filter(n=>typeof n=="number");return Object.entries(e).filter(([n,a])=>t.indexOf(+n)===-1).map(([n,a])=>a)}function Fn(e,t){return typeof t=="bigint"?t.toString():t}function un(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function Wn(e){return e==null}function Kn(e){const t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function Cu(e,t){const r=(e.toString().split(".")[1]||"").length,n=t.toString();let a=(n.split(".")[1]||"").length;if(a===0&&/\d?e-\d?/.test(n)){const l=n.match(/\d?e-(\d?)/);l!=null&&l[1]&&(a=Number.parseInt(l[1]))}const o=r>a?r:a,s=Number.parseInt(e.toFixed(o).replace(".","")),i=Number.parseInt(t.toFixed(o).replace(".",""));return s%i/10**o}const $a=Symbol("evaluating");function Y(e,t,r){let n;Object.defineProperty(e,t,{get(){if(n!==$a)return n===void 0&&(n=$a,n=r()),n},set(a){Object.defineProperty(e,t,{value:a})},configurable:!0})}function Ct(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function bt(...e){const t={};for(const r of e){const n=Object.getOwnPropertyDescriptors(r);Object.assign(t,n)}return Object.defineProperties({},t)}function Ma(e){return JSON.stringify(e)}function Du(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const Ss="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function gr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const zu=un(()=>{var e;if(typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)!=null&&e.includes("Cloudflare")))return!1;try{const t=Function;return new t(""),!0}catch{return!1}});function Ht(e){if(gr(e)===!1)return!1;const t=e.constructor;if(t===void 0||typeof t!="function")return!0;const r=t.prototype;return!(gr(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function As(e){return Ht(e)?{...e}:Array.isArray(e)?[...e]:e}const $u=new Set(["string","number","symbol"]);function Jt(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function It(e,t,r){const n=new e._zod.constr(t??e._zod.def);return(!t||r!=null&&r.parent)&&(n._zod.parent=e),n}function k(e){const t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if((t==null?void 0:t.message)!==void 0){if((t==null?void 0:t.error)!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function Mu(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}const Fu={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function Lu(e,t){const r=e._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");const o=bt(e._zod.def,{get shape(){const s={};for(const i in t){if(!(i in r.shape))throw new Error(`Unrecognized key: "${i}"`);t[i]&&(s[i]=r.shape[i])}return Ct(this,"shape",s),s},checks:[]});return It(e,o)}function Uu(e,t){const r=e._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");const o=bt(e._zod.def,{get shape(){const s={...e._zod.def.shape};for(const i in t){if(!(i in r.shape))throw new Error(`Unrecognized key: "${i}"`);t[i]&&delete s[i]}return Ct(this,"shape",s),s},checks:[]});return It(e,o)}function ju(e,t){if(!Ht(t))throw new Error("Invalid input to extend: expected a plain object");const r=e._zod.def.checks;if(r&&r.length>0){const o=e._zod.def.shape;for(const s in t)if(Object.getOwnPropertyDescriptor(o,s)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}const a=bt(e._zod.def,{get shape(){const o={...e._zod.def.shape,...t};return Ct(this,"shape",o),o}});return It(e,a)}function qu(e,t){if(!Ht(t))throw new Error("Invalid input to safeExtend: expected a plain object");const r=bt(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t};return Ct(this,"shape",n),n}});return It(e,r)}function Zu(e,t){const r=bt(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t._zod.def.shape};return Ct(this,"shape",n),n},get catchall(){return t._zod.def.catchall},checks:[]});return It(e,r)}function Gu(e,t,r){const a=t._zod.def.checks;if(a&&a.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");const s=bt(t._zod.def,{get shape(){const i=t._zod.def.shape,l={...i};if(r)for(const u in r){if(!(u in i))throw new Error(`Unrecognized key: "${u}"`);r[u]&&(l[u]=e?new e({type:"optional",innerType:i[u]}):i[u])}else for(const u in i)l[u]=e?new e({type:"optional",innerType:i[u]}):i[u];return Ct(this,"shape",l),l},checks:[]});return It(t,s)}function Bu(e,t,r){const n=bt(t._zod.def,{get shape(){const a=t._zod.def.shape,o={...a};if(r)for(const s in r){if(!(s in o))throw new Error(`Unrecognized key: "${s}"`);r[s]&&(o[s]=new e({type:"nonoptional",innerType:a[s]}))}else for(const s in a)o[s]=new e({type:"nonoptional",innerType:a[s]});return Ct(this,"shape",o),o}});return It(t,n)}function Gt(e,t=0){var r;if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(((r=e.issues[n])==null?void 0:r.continue)!==!0)return!0;return!1}function Bt(e,t){return t.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function Fr(e){return typeof e=="string"?e:e==null?void 0:e.message}function _t(e,t,r){var a,o,s,i,l,u;const n={...e,path:e.path??[]};if(!e.message){const c=Fr((s=(o=(a=e.inst)==null?void 0:a._zod.def)==null?void 0:o.error)==null?void 0:s.call(o,e))??Fr((i=t==null?void 0:t.error)==null?void 0:i.call(t,e))??Fr((l=r.customError)==null?void 0:l.call(r,e))??Fr((u=r.localeError)==null?void 0:u.call(r,e))??"Invalid input";n.message=c}return delete n.inst,delete n.continue,t!=null&&t.reportInput||delete n.input,n}function Xn(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function hr(...e){const[t,r,n]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:n}:{...t}}const Ns=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,Fn,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},xs=E("$ZodError",Ns),Os=E("$ZodError",Ns,{Parent:Error});function Vu(e,t=r=>r.message){const r={},n=[];for(const a of e.issues)a.path.length>0?(r[a.path[0]]=r[a.path[0]]||[],r[a.path[0]].push(t(a))):n.push(t(a));return{formErrors:n,fieldErrors:r}}function Hu(e,t=r=>r.message){const r={_errors:[]},n=a=>{for(const o of a.issues)if(o.code==="invalid_union"&&o.errors.length)o.errors.map(s=>n({issues:s}));else if(o.code==="invalid_key")n({issues:o.issues});else if(o.code==="invalid_element")n({issues:o.issues});else if(o.path.length===0)r._errors.push(t(o));else{let s=r,i=0;for(;i<o.path.length;){const l=o.path[i];i===o.path.length-1?(s[l]=s[l]||{_errors:[]},s[l]._errors.push(t(o))):s[l]=s[l]||{_errors:[]},s=s[l],i++}}};return n(e),r}const Qn=e=>(t,r,n,a)=>{const o=n?Object.assign(n,{async:!1}):{async:!1},s=t._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new Vt;if(s.issues.length){const i=new((a==null?void 0:a.Err)??e)(s.issues.map(l=>_t(l,o,wt())));throw Ss(i,a==null?void 0:a.callee),i}return s.value},ea=e=>async(t,r,n,a)=>{const o=n?Object.assign(n,{async:!0}):{async:!0};let s=t._zod.run({value:r,issues:[]},o);if(s instanceof Promise&&(s=await s),s.issues.length){const i=new((a==null?void 0:a.Err)??e)(s.issues.map(l=>_t(l,o,wt())));throw Ss(i,a==null?void 0:a.callee),i}return s.value},cn=e=>(t,r,n)=>{const a=n?{...n,async:!1}:{async:!1},o=t._zod.run({value:r,issues:[]},a);if(o instanceof Promise)throw new Vt;return o.issues.length?{success:!1,error:new(e??xs)(o.issues.map(s=>_t(s,a,wt())))}:{success:!0,data:o.value}},Ju=cn(Os),dn=e=>async(t,r,n)=>{const a=n?Object.assign(n,{async:!0}):{async:!0};let o=t._zod.run({value:r,issues:[]},a);return o instanceof Promise&&(o=await o),o.issues.length?{success:!1,error:new e(o.issues.map(s=>_t(s,a,wt())))}:{success:!0,data:o.value}},Yu=dn(Os),Wu=e=>(t,r,n)=>{const a=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return Qn(e)(t,r,a)},Ku=e=>(t,r,n)=>Qn(e)(t,r,n),Xu=e=>async(t,r,n)=>{const a=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return ea(e)(t,r,a)},Qu=e=>async(t,r,n)=>ea(e)(t,r,n),ec=e=>(t,r,n)=>{const a=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return cn(e)(t,r,a)},tc=e=>(t,r,n)=>cn(e)(t,r,n),rc=e=>async(t,r,n)=>{const a=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return dn(e)(t,r,a)},nc=e=>async(t,r,n)=>dn(e)(t,r,n),ac=/^[cC][^\s-]{8,}$/,oc=/^[0-9a-z]+$/,sc=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,ic=/^[0-9a-vA-V]{20}$/,lc=/^[A-Za-z0-9]{27}$/,uc=/^[a-zA-Z0-9_-]{21}$/,cc=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,dc=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Fa=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,pc=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,fc="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function gc(){return new RegExp(fc,"u")}const hc=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,mc=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,yc=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,vc=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,wc=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Rs=/^[A-Za-z0-9_-]*$/,_c=/^\+[1-9]\d{6,14}$/,ks="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",Tc=new RegExp(`^${ks}$`);function Ps(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Ec(e){return new RegExp(`^${Ps(e)}$`)}function bc(e){const t=Ps({precision:e.precision}),r=["Z"];e.local&&r.push(""),e.offset&&r.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const n=`${t}(?:${r.join("|")})`;return new RegExp(`^${ks}T(?:${n})$`)}const Ic=e=>{const t=e?`[\\s\\S]{${(e==null?void 0:e.minimum)??0},${(e==null?void 0:e.maximum)??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},Sc=/^-?\d+$/,Cs=/^-?\d+(?:\.\d+)?$/,Ac=/^(?:true|false)$/i,Nc=/^null$/i,xc=/^[^A-Z]*$/,Oc=/^[^a-z]*$/,Me=E("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),Ds={number:"number",bigint:"bigint",object:"date"},zs=E("$ZodCheckLessThan",(e,t)=>{Me.init(e,t);const r=Ds[typeof t.value];e._zod.onattach.push(n=>{const a=n._zod.bag,o=(t.inclusive?a.maximum:a.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<o&&(t.inclusive?a.maximum=t.value:a.exclusiveMaximum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value<=t.value:n.value<t.value)||n.issues.push({origin:r,code:"too_big",maximum:typeof t.value=="object"?t.value.getTime():t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),$s=E("$ZodCheckGreaterThan",(e,t)=>{Me.init(e,t);const r=Ds[typeof t.value];e._zod.onattach.push(n=>{const a=n._zod.bag,o=(t.inclusive?a.minimum:a.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>o&&(t.inclusive?a.minimum=t.value:a.exclusiveMinimum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value>=t.value:n.value>t.value)||n.issues.push({origin:r,code:"too_small",minimum:typeof t.value=="object"?t.value.getTime():t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Rc=E("$ZodCheckMultipleOf",(e,t)=>{Me.init(e,t),e._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=r=>{if(typeof r.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%t.value===BigInt(0):Cu(r.value,t.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:t.value,input:r.value,inst:e,continue:!t.abort})}}),kc=E("$ZodCheckNumberFormat",(e,t)=>{var s;Me.init(e,t),t.format=t.format||"float64";const r=(s=t.format)==null?void 0:s.includes("int"),n=r?"int":"number",[a,o]=Fu[t.format];e._zod.onattach.push(i=>{const l=i._zod.bag;l.format=t.format,l.minimum=a,l.maximum=o,r&&(l.pattern=Sc)}),e._zod.check=i=>{const l=i.value;if(r){if(!Number.isInteger(l)){i.issues.push({expected:n,format:t.format,code:"invalid_type",continue:!1,input:l,inst:e});return}if(!Number.isSafeInteger(l)){l>0?i.issues.push({input:l,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,inclusive:!0,continue:!t.abort}):i.issues.push({input:l,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,inclusive:!0,continue:!t.abort});return}}l<a&&i.issues.push({origin:"number",input:l,code:"too_small",minimum:a,inclusive:!0,inst:e,continue:!t.abort}),l>o&&i.issues.push({origin:"number",input:l,code:"too_big",maximum:o,inclusive:!0,inst:e,continue:!t.abort})}}),Pc=E("$ZodCheckMaxLength",(e,t)=>{var r;Me.init(e,t),(r=e._zod.def).when??(r.when=n=>{const a=n.value;return!Wn(a)&&a.length!==void 0}),e._zod.onattach.push(n=>{const a=n._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<a&&(n._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{const a=n.value;if(a.length<=t.maximum)return;const s=Xn(a);n.issues.push({origin:s,code:"too_big",maximum:t.maximum,inclusive:!0,input:a,inst:e,continue:!t.abort})}}),Cc=E("$ZodCheckMinLength",(e,t)=>{var r;Me.init(e,t),(r=e._zod.def).when??(r.when=n=>{const a=n.value;return!Wn(a)&&a.length!==void 0}),e._zod.onattach.push(n=>{const a=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>a&&(n._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{const a=n.value;if(a.length>=t.minimum)return;const s=Xn(a);n.issues.push({origin:s,code:"too_small",minimum:t.minimum,inclusive:!0,input:a,inst:e,continue:!t.abort})}}),Dc=E("$ZodCheckLengthEquals",(e,t)=>{var r;Me.init(e,t),(r=e._zod.def).when??(r.when=n=>{const a=n.value;return!Wn(a)&&a.length!==void 0}),e._zod.onattach.push(n=>{const a=n._zod.bag;a.minimum=t.length,a.maximum=t.length,a.length=t.length}),e._zod.check=n=>{const a=n.value,o=a.length;if(o===t.length)return;const s=Xn(a),i=o>t.length;n.issues.push({origin:s,...i?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),pn=E("$ZodCheckStringFormat",(e,t)=>{var r,n;Me.init(e,t),e._zod.onattach.push(a=>{const o=a._zod.bag;o.format=t.format,t.pattern&&(o.patterns??(o.patterns=new Set),o.patterns.add(t.pattern))}),t.pattern?(r=e._zod).check??(r.check=a=>{t.pattern.lastIndex=0,!t.pattern.test(a.value)&&a.issues.push({origin:"string",code:"invalid_format",format:t.format,input:a.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(n=e._zod).check??(n.check=()=>{})}),zc=E("$ZodCheckRegex",(e,t)=>{pn.init(e,t),e._zod.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),$c=E("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=xc),pn.init(e,t)}),Mc=E("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Oc),pn.init(e,t)}),Fc=E("$ZodCheckIncludes",(e,t)=>{Me.init(e,t);const r=Jt(t.includes),n=new RegExp(typeof t.position=="number"?`^.{${t.position}}${r}`:r);t.pattern=n,e._zod.onattach.push(a=>{const o=a._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=a=>{a.value.includes(t.includes,t.position)||a.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:a.value,inst:e,continue:!t.abort})}}),Lc=E("$ZodCheckStartsWith",(e,t)=>{Me.init(e,t);const r=new RegExp(`^${Jt(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{const a=n._zod.bag;a.patterns??(a.patterns=new Set),a.patterns.add(r)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),Uc=E("$ZodCheckEndsWith",(e,t)=>{Me.init(e,t);const r=new RegExp(`.*${Jt(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{const a=n._zod.bag;a.patterns??(a.patterns=new Set),a.patterns.add(r)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),jc=E("$ZodCheckOverwrite",(e,t)=>{Me.init(e,t),e._zod.check=r=>{r.value=t.tx(r.value)}});class qc{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}const n=t.split(`
1
+ "use strict";var gu=Object.defineProperty;var hu=(e,t,r)=>t in e?gu(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var Ie=(e,t,r)=>hu(e,typeof t!="symbol"?t+"":t,r);const ut=require("./register-partial-type-ig9fUWIJ.cjs"),j=require("lodash-es"),mu=require("./_commonjsHelpers-DwGv2jUC.cjs"),yu=require("fs"),vu=require("path"),wu=require("os"),is=require("crypto"),_u=require("drizzle-orm/postgres-js"),Tu=require("postgres"),g=require("drizzle-orm/pg-core"),h=require("drizzle-orm"),Eu=require("./models-D0RH2u4C.cjs"),v=require("zod"),bu=require("./core-czmLeR0h.cjs"),Iu=require("node:crypto");var ls="vercel.ai.error",Su=Symbol.for(ls),Ea,ba,H=class us extends(ba=Error,Ea=Su,ba){constructor({name:t,message:r,cause:n}){super(r),this[Ea]=!0,this.name=t,this.cause=n}static isInstance(t){return us.hasMarker(t,ls)}static hasMarker(t,r){const n=Symbol.for(r);return t!=null&&typeof t=="object"&&n in t&&typeof t[n]=="boolean"&&t[n]===!0}},cs="AI_APICallError",ds=`vercel.ai.error.${cs}`,Au=Symbol.for(ds),Ia,Sa,$e=class extends(Sa=H,Ia=Au,Sa){constructor({message:e,url:t,requestBodyValues:r,statusCode:n,responseHeaders:a,responseBody:o,cause:s,isRetryable:i=n!=null&&(n===408||n===409||n===429||n>=500),data:l}){super({name:cs,message:e,cause:s}),this[Ia]=!0,this.url=t,this.requestBodyValues=r,this.statusCode=n,this.responseHeaders=a,this.responseBody=o,this.isRetryable=i,this.data=l}static isInstance(e){return H.hasMarker(e,ds)}},ps="AI_EmptyResponseBodyError",fs=`vercel.ai.error.${ps}`,Nu=Symbol.for(fs),Aa,Na,xu=class extends(Na=H,Aa=Nu,Na){constructor({message:e="Empty response body"}={}){super({name:ps,message:e}),this[Aa]=!0}static isInstance(e){return H.hasMarker(e,fs)}};function Kt(e){return e==null?"unknown error":typeof e=="string"?e:e instanceof Error?e.message:JSON.stringify(e)}var gs="AI_InvalidArgumentError",hs=`vercel.ai.error.${gs}`,Ou=Symbol.for(hs),xa,Oa,Ru=class extends(Oa=H,xa=Ou,Oa){constructor({message:t,cause:r,argument:n}){super({name:gs,message:t,cause:r}),this[xa]=!0,this.argument=n}static isInstance(t){return H.hasMarker(t,hs)}},ms="AI_InvalidPromptError",ys=`vercel.ai.error.${ms}`,ku=Symbol.for(ys),Ra,ka,Zt=class extends(ka=H,Ra=ku,ka){constructor({prompt:e,message:t,cause:r}){super({name:ms,message:`Invalid prompt: ${t}`,cause:r}),this[Ra]=!0,this.prompt=e}static isInstance(e){return H.hasMarker(e,ys)}},vs="AI_JSONParseError",ws=`vercel.ai.error.${vs}`,Pu=Symbol.for(ws),Pa,Ca,Gr=class extends(Ca=H,Pa=Pu,Ca){constructor({text:e,cause:t}){super({name:vs,message:`JSON parsing failed: Text: ${e}.
2
+ Error message: ${Kt(t)}`,cause:t}),this[Pa]=!0,this.text=e}static isInstance(e){return H.hasMarker(e,ws)}},_s="AI_TypeValidationError",Ts=`vercel.ai.error.${_s}`,Cu=Symbol.for(Ts),Da,za,Rt=class Mn extends(za=H,Da=Cu,za){constructor({value:t,cause:r}){super({name:_s,message:`Type validation failed: Value: ${JSON.stringify(t)}.
3
+ Error message: ${Kt(r)}`,cause:r}),this[Da]=!0,this.value=t}static isInstance(t){return H.hasMarker(t,Ts)}static wrap({value:t,cause:r}){return Mn.isInstance(r)&&r.value===t?r:new Mn({value:t,cause:r})}};function E(e,t,r){function n(i,l){if(i._zod||Object.defineProperty(i,"_zod",{value:{def:l,constr:s,traits:new Set},enumerable:!1}),i._zod.traits.has(e))return;i._zod.traits.add(e),t(i,l);const u=s.prototype,c=Object.keys(u);for(let d=0;d<c.length;d++){const p=c[d];p in i||(i[p]=u[p].bind(i))}}const a=(r==null?void 0:r.Parent)??Object;class o extends a{}Object.defineProperty(o,"name",{value:e});function s(i){var l;const u=r!=null&&r.Parent?new o:this;n(u,i),(l=u._zod).deferred??(l.deferred=[]);for(const c of u._zod.deferred)c();return u}return Object.defineProperty(s,"init",{value:n}),Object.defineProperty(s,Symbol.hasInstance,{value:i=>{var l,u;return r!=null&&r.Parent&&i instanceof r.Parent?!0:(u=(l=i==null?void 0:i._zod)==null?void 0:l.traits)==null?void 0:u.has(e)}}),Object.defineProperty(s,"name",{value:e}),s}class Vt extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class Es extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}}const bs={};function wt(e){return bs}function Is(e){const t=Object.values(e).filter(n=>typeof n=="number");return Object.entries(e).filter(([n,a])=>t.indexOf(+n)===-1).map(([n,a])=>a)}function Fn(e,t){return typeof t=="bigint"?t.toString():t}function un(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function Wn(e){return e==null}function Kn(e){const t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function Du(e,t){const r=(e.toString().split(".")[1]||"").length,n=t.toString();let a=(n.split(".")[1]||"").length;if(a===0&&/\d?e-\d?/.test(n)){const l=n.match(/\d?e-(\d?)/);l!=null&&l[1]&&(a=Number.parseInt(l[1]))}const o=r>a?r:a,s=Number.parseInt(e.toFixed(o).replace(".","")),i=Number.parseInt(t.toFixed(o).replace(".",""));return s%i/10**o}const $a=Symbol("evaluating");function Y(e,t,r){let n;Object.defineProperty(e,t,{get(){if(n!==$a)return n===void 0&&(n=$a,n=r()),n},set(a){Object.defineProperty(e,t,{value:a})},configurable:!0})}function Ct(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function bt(...e){const t={};for(const r of e){const n=Object.getOwnPropertyDescriptors(r);Object.assign(t,n)}return Object.defineProperties({},t)}function Ma(e){return JSON.stringify(e)}function zu(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const Ss="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function gr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const $u=un(()=>{var e;if(typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)!=null&&e.includes("Cloudflare")))return!1;try{const t=Function;return new t(""),!0}catch{return!1}});function Ht(e){if(gr(e)===!1)return!1;const t=e.constructor;if(t===void 0||typeof t!="function")return!0;const r=t.prototype;return!(gr(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function As(e){return Ht(e)?{...e}:Array.isArray(e)?[...e]:e}const Mu=new Set(["string","number","symbol"]);function Jt(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function It(e,t,r){const n=new e._zod.constr(t??e._zod.def);return(!t||r!=null&&r.parent)&&(n._zod.parent=e),n}function k(e){const t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if((t==null?void 0:t.message)!==void 0){if((t==null?void 0:t.error)!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function Fu(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}const Lu={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 Uu(e,t){const r=e._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");const o=bt(e._zod.def,{get shape(){const s={};for(const i in t){if(!(i in r.shape))throw new Error(`Unrecognized key: "${i}"`);t[i]&&(s[i]=r.shape[i])}return Ct(this,"shape",s),s},checks:[]});return It(e,o)}function ju(e,t){const r=e._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");const o=bt(e._zod.def,{get shape(){const s={...e._zod.def.shape};for(const i in t){if(!(i in r.shape))throw new Error(`Unrecognized key: "${i}"`);t[i]&&delete s[i]}return Ct(this,"shape",s),s},checks:[]});return It(e,o)}function qu(e,t){if(!Ht(t))throw new Error("Invalid input to extend: expected a plain object");const r=e._zod.def.checks;if(r&&r.length>0){const o=e._zod.def.shape;for(const s in t)if(Object.getOwnPropertyDescriptor(o,s)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}const a=bt(e._zod.def,{get shape(){const o={...e._zod.def.shape,...t};return Ct(this,"shape",o),o}});return It(e,a)}function Zu(e,t){if(!Ht(t))throw new Error("Invalid input to safeExtend: expected a plain object");const r=bt(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t};return Ct(this,"shape",n),n}});return It(e,r)}function Gu(e,t){const r=bt(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t._zod.def.shape};return Ct(this,"shape",n),n},get catchall(){return t._zod.def.catchall},checks:[]});return It(e,r)}function Bu(e,t,r){const a=t._zod.def.checks;if(a&&a.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");const s=bt(t._zod.def,{get shape(){const i=t._zod.def.shape,l={...i};if(r)for(const u in r){if(!(u in i))throw new Error(`Unrecognized key: "${u}"`);r[u]&&(l[u]=e?new e({type:"optional",innerType:i[u]}):i[u])}else for(const u in i)l[u]=e?new e({type:"optional",innerType:i[u]}):i[u];return Ct(this,"shape",l),l},checks:[]});return It(t,s)}function Vu(e,t,r){const n=bt(t._zod.def,{get shape(){const a=t._zod.def.shape,o={...a};if(r)for(const s in r){if(!(s in o))throw new Error(`Unrecognized key: "${s}"`);r[s]&&(o[s]=new e({type:"nonoptional",innerType:a[s]}))}else for(const s in a)o[s]=new e({type:"nonoptional",innerType:a[s]});return Ct(this,"shape",o),o}});return It(t,n)}function Gt(e,t=0){var r;if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(((r=e.issues[n])==null?void 0:r.continue)!==!0)return!0;return!1}function Bt(e,t){return t.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function Fr(e){return typeof e=="string"?e:e==null?void 0:e.message}function _t(e,t,r){var a,o,s,i,l,u;const n={...e,path:e.path??[]};if(!e.message){const c=Fr((s=(o=(a=e.inst)==null?void 0:a._zod.def)==null?void 0:o.error)==null?void 0:s.call(o,e))??Fr((i=t==null?void 0:t.error)==null?void 0:i.call(t,e))??Fr((l=r.customError)==null?void 0:l.call(r,e))??Fr((u=r.localeError)==null?void 0:u.call(r,e))??"Invalid input";n.message=c}return delete n.inst,delete n.continue,t!=null&&t.reportInput||delete n.input,n}function Xn(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function hr(...e){const[t,r,n]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:n}:{...t}}const Ns=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,Fn,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},xs=E("$ZodError",Ns),Os=E("$ZodError",Ns,{Parent:Error});function Hu(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 Ju(e,t=r=>r.message){const r={_errors:[]},n=a=>{for(const o of a.issues)if(o.code==="invalid_union"&&o.errors.length)o.errors.map(s=>n({issues:s}));else if(o.code==="invalid_key")n({issues:o.issues});else if(o.code==="invalid_element")n({issues:o.issues});else if(o.path.length===0)r._errors.push(t(o));else{let s=r,i=0;for(;i<o.path.length;){const l=o.path[i];i===o.path.length-1?(s[l]=s[l]||{_errors:[]},s[l]._errors.push(t(o))):s[l]=s[l]||{_errors:[]},s=s[l],i++}}};return n(e),r}const Qn=e=>(t,r,n,a)=>{const o=n?Object.assign(n,{async:!1}):{async:!1},s=t._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new Vt;if(s.issues.length){const i=new((a==null?void 0:a.Err)??e)(s.issues.map(l=>_t(l,o,wt())));throw Ss(i,a==null?void 0:a.callee),i}return s.value},ea=e=>async(t,r,n,a)=>{const o=n?Object.assign(n,{async:!0}):{async:!0};let s=t._zod.run({value:r,issues:[]},o);if(s instanceof Promise&&(s=await s),s.issues.length){const i=new((a==null?void 0:a.Err)??e)(s.issues.map(l=>_t(l,o,wt())));throw Ss(i,a==null?void 0:a.callee),i}return s.value},cn=e=>(t,r,n)=>{const a=n?{...n,async:!1}:{async:!1},o=t._zod.run({value:r,issues:[]},a);if(o instanceof Promise)throw new Vt;return o.issues.length?{success:!1,error:new(e??xs)(o.issues.map(s=>_t(s,a,wt())))}:{success:!0,data:o.value}},Yu=cn(Os),dn=e=>async(t,r,n)=>{const a=n?Object.assign(n,{async:!0}):{async:!0};let o=t._zod.run({value:r,issues:[]},a);return o instanceof Promise&&(o=await o),o.issues.length?{success:!1,error:new e(o.issues.map(s=>_t(s,a,wt())))}:{success:!0,data:o.value}},Wu=dn(Os),Ku=e=>(t,r,n)=>{const a=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return Qn(e)(t,r,a)},Xu=e=>(t,r,n)=>Qn(e)(t,r,n),Qu=e=>async(t,r,n)=>{const a=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return ea(e)(t,r,a)},ec=e=>async(t,r,n)=>ea(e)(t,r,n),tc=e=>(t,r,n)=>{const a=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return cn(e)(t,r,a)},rc=e=>(t,r,n)=>cn(e)(t,r,n),nc=e=>async(t,r,n)=>{const a=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return dn(e)(t,r,a)},ac=e=>async(t,r,n)=>dn(e)(t,r,n),oc=/^[cC][^\s-]{8,}$/,sc=/^[0-9a-z]+$/,ic=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,lc=/^[0-9a-vA-V]{20}$/,uc=/^[A-Za-z0-9]{27}$/,cc=/^[a-zA-Z0-9_-]{21}$/,dc=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,pc=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Fa=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,fc=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,gc="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function hc(){return new RegExp(gc,"u")}const mc=/^(?:(?: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])$/,yc=/^(([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}|:))$/,vc=/^((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])$/,wc=/^(([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])$/,_c=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Rs=/^[A-Za-z0-9_-]*$/,Tc=/^\+[1-9]\d{6,14}$/,ks="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",Ec=new RegExp(`^${ks}$`);function Ps(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function bc(e){return new RegExp(`^${Ps(e)}$`)}function Ic(e){const t=Ps({precision:e.precision}),r=["Z"];e.local&&r.push(""),e.offset&&r.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const n=`${t}(?:${r.join("|")})`;return new RegExp(`^${ks}T(?:${n})$`)}const Sc=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}$`)},Ac=/^-?\d+$/,Cs=/^-?\d+(?:\.\d+)?$/,Nc=/^(?:true|false)$/i,xc=/^null$/i,Oc=/^[^A-Z]*$/,Rc=/^[^a-z]*$/,Me=E("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),Ds={number:"number",bigint:"bigint",object:"date"},zs=E("$ZodCheckLessThan",(e,t)=>{Me.init(e,t);const r=Ds[typeof t.value];e._zod.onattach.push(n=>{const a=n._zod.bag,o=(t.inclusive?a.maximum:a.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<o&&(t.inclusive?a.maximum=t.value:a.exclusiveMaximum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value<=t.value:n.value<t.value)||n.issues.push({origin:r,code:"too_big",maximum:typeof t.value=="object"?t.value.getTime():t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),$s=E("$ZodCheckGreaterThan",(e,t)=>{Me.init(e,t);const r=Ds[typeof t.value];e._zod.onattach.push(n=>{const a=n._zod.bag,o=(t.inclusive?a.minimum:a.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>o&&(t.inclusive?a.minimum=t.value:a.exclusiveMinimum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value>=t.value:n.value>t.value)||n.issues.push({origin:r,code:"too_small",minimum:typeof t.value=="object"?t.value.getTime():t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),kc=E("$ZodCheckMultipleOf",(e,t)=>{Me.init(e,t),e._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=r=>{if(typeof r.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%t.value===BigInt(0):Du(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})}}),Pc=E("$ZodCheckNumberFormat",(e,t)=>{var s;Me.init(e,t),t.format=t.format||"float64";const r=(s=t.format)==null?void 0:s.includes("int"),n=r?"int":"number",[a,o]=Lu[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=Ac)}),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})}}),Cc=E("$ZodCheckMaxLength",(e,t)=>{var r;Me.init(e,t),(r=e._zod.def).when??(r.when=n=>{const a=n.value;return!Wn(a)&&a.length!==void 0}),e._zod.onattach.push(n=>{const a=n._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<a&&(n._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{const a=n.value;if(a.length<=t.maximum)return;const s=Xn(a);n.issues.push({origin:s,code:"too_big",maximum:t.maximum,inclusive:!0,input:a,inst:e,continue:!t.abort})}}),Dc=E("$ZodCheckMinLength",(e,t)=>{var r;Me.init(e,t),(r=e._zod.def).when??(r.when=n=>{const a=n.value;return!Wn(a)&&a.length!==void 0}),e._zod.onattach.push(n=>{const a=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>a&&(n._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{const a=n.value;if(a.length>=t.minimum)return;const s=Xn(a);n.issues.push({origin:s,code:"too_small",minimum:t.minimum,inclusive:!0,input:a,inst:e,continue:!t.abort})}}),zc=E("$ZodCheckLengthEquals",(e,t)=>{var r;Me.init(e,t),(r=e._zod.def).when??(r.when=n=>{const a=n.value;return!Wn(a)&&a.length!==void 0}),e._zod.onattach.push(n=>{const a=n._zod.bag;a.minimum=t.length,a.maximum=t.length,a.length=t.length}),e._zod.check=n=>{const a=n.value,o=a.length;if(o===t.length)return;const s=Xn(a),i=o>t.length;n.issues.push({origin:s,...i?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),pn=E("$ZodCheckStringFormat",(e,t)=>{var r,n;Me.init(e,t),e._zod.onattach.push(a=>{const o=a._zod.bag;o.format=t.format,t.pattern&&(o.patterns??(o.patterns=new Set),o.patterns.add(t.pattern))}),t.pattern?(r=e._zod).check??(r.check=a=>{t.pattern.lastIndex=0,!t.pattern.test(a.value)&&a.issues.push({origin:"string",code:"invalid_format",format:t.format,input:a.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(n=e._zod).check??(n.check=()=>{})}),$c=E("$ZodCheckRegex",(e,t)=>{pn.init(e,t),e._zod.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Mc=E("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Oc),pn.init(e,t)}),Fc=E("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Rc),pn.init(e,t)}),Lc=E("$ZodCheckIncludes",(e,t)=>{Me.init(e,t);const r=Jt(t.includes),n=new RegExp(typeof t.position=="number"?`^.{${t.position}}${r}`:r);t.pattern=n,e._zod.onattach.push(a=>{const o=a._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=a=>{a.value.includes(t.includes,t.position)||a.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:a.value,inst:e,continue:!t.abort})}}),Uc=E("$ZodCheckStartsWith",(e,t)=>{Me.init(e,t);const r=new RegExp(`^${Jt(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{const a=n._zod.bag;a.patterns??(a.patterns=new Set),a.patterns.add(r)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),jc=E("$ZodCheckEndsWith",(e,t)=>{Me.init(e,t);const r=new RegExp(`.*${Jt(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{const a=n._zod.bag;a.patterns??(a.patterns=new Set),a.patterns.add(r)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),qc=E("$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 Zc={major:4,minor:3,patch:5},ce=E("$ZodType",(e,t)=>{var a;var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Zc;const n=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&n.unshift(e);for(const o of n)for(const s of o._zod.onattach)s(e);if(n.length===0)(r=e._zod).deferred??(r.deferred=[]),(a=e._zod.deferred)==null||a.push(()=>{e._zod.run=e._zod.parse});else{const o=(i,l,u)=>{let c=Gt(i),d;for(const p of l){if(p._zod.def.when){if(!p._zod.def.when(i))continue}else if(c)continue;const w=i.issues.length,b=p._zod.check(i);if(b instanceof Promise&&(u==null?void 0:u.async)===!1)throw new Vt;if(d||b instanceof Promise)d=(d??Promise.resolve()).then(async()=>{await b,i.issues.length!==w&&(c||(c=Gt(i,w)))});else{if(i.issues.length===w)continue;c||(c=Gt(i,w))}}return d?d.then(()=>i):i},s=(i,l,u)=>{if(Gt(i))return i.aborted=!0,i;const c=o(l,n,u);if(c instanceof Promise){if(u.async===!1)throw new Vt;return c.then(d=>e._zod.parse(d,u))}return e._zod.parse(c,u)};e._zod.run=(i,l)=>{if(l.skipChecks)return e._zod.parse(i,l);if(l.direction==="backward"){const c=e._zod.parse({value:i.value,issues:[]},{...l,skipChecks:!0});return c instanceof Promise?c.then(d=>s(d,i,l)):s(c,i,l)}const u=e._zod.parse(i,l);if(u instanceof Promise){if(l.async===!1)throw new Vt;return u.then(c=>o(c,n,l))}return o(u,n,l)}}Y(e,"~standard",()=>({validate:o=>{var s;try{const i=Ju(e,o);return i.success?{value:i.data}:{issues:(s=i.error)==null?void 0:s.issues}}catch{return Yu(e,o).then(l=>{var u;return l.success?{value:l.data}:{issues:(u=l.error)==null?void 0:u.issues}})}},vendor:"zod",version:1}))}),ta=E("$ZodString",(e,t)=>{var r;ce.init(e,t),e._zod.pattern=[...((r=e==null?void 0:e._zod.bag)==null?void 0:r.patterns)??[]].pop()??Ic(e._zod.bag),e._zod.parse=(n,a)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value=="string"||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),me=E("$ZodStringFormat",(e,t)=>{pn.init(e,t),ta.init(e,t)}),Gc=E("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=dc),me.init(e,t)}),Bc=E("$ZodUUID",(e,t)=>{if(t.version){const n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(n===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=Fa(n))}else t.pattern??(t.pattern=Fa());me.init(e,t)}),Vc=E("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=pc),me.init(e,t)}),Hc=E("$ZodURL",(e,t)=>{me.init(e,t),e._zod.check=r=>{try{const n=r.value.trim(),a=new URL(n);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(a.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:r.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(a.protocol.endsWith(":")?a.protocol.slice(0,-1):a.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:r.value,inst:e,continue:!t.abort})),t.normalize?r.value=a.href:r.value=n;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort})}}}),Jc=E("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=gc()),me.init(e,t)}),Yc=E("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=uc),me.init(e,t)}),Wc=E("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=ac),me.init(e,t)}),Kc=E("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=oc),me.init(e,t)}),Xc=E("$ZodULID",(e,t)=>{t.pattern??(t.pattern=sc),me.init(e,t)}),Qc=E("$ZodXID",(e,t)=>{t.pattern??(t.pattern=ic),me.init(e,t)}),ed=E("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=lc),me.init(e,t)}),td=E("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=bc(t)),me.init(e,t)}),rd=E("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=Tc),me.init(e,t)}),nd=E("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=Ec(t)),me.init(e,t)}),ad=E("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=cc),me.init(e,t)}),od=E("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=hc),me.init(e,t),e._zod.bag.format="ipv4"}),sd=E("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=mc),me.init(e,t),e._zod.bag.format="ipv6",e._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:e,continue:!t.abort})}}}),id=E("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=yc),me.init(e,t)}),ld=E("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=vc),me.init(e,t),e._zod.check=r=>{const n=r.value.split("/");try{if(n.length!==2)throw new Error;const[a,o]=n;if(!o)throw new Error;const s=Number(o);if(`${s}`!==o)throw new Error;if(s<0||s>128)throw new Error;new URL(`http://[${a}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:e,continue:!t.abort})}}});function Ms(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const ud=E("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=wc),me.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=r=>{Ms(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}});function cd(e){if(!Rs.test(e))return!1;const t=e.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=t.padEnd(Math.ceil(t.length/4)*4,"=");return Ms(r)}const dd=E("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Rs),me.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=r=>{cd(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),pd=E("$ZodE164",(e,t)=>{t.pattern??(t.pattern=_c),me.init(e,t)});function fd(e,t=null){try{const r=e.split(".");if(r.length!==3)return!1;const[n]=r;if(!n)return!1;const a=JSON.parse(atob(n));return!("typ"in a&&(a==null?void 0:a.typ)!=="JWT"||!a.alg||t&&(!("alg"in a)||a.alg!==t))}catch{return!1}}const gd=E("$ZodJWT",(e,t)=>{me.init(e,t),e._zod.check=r=>{fd(r.value,t.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}}),Fs=E("$ZodNumber",(e,t)=>{ce.init(e,t),e._zod.pattern=e._zod.bag.pattern??Cs,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=Number(r.value)}catch{}const a=r.value;if(typeof a=="number"&&!Number.isNaN(a)&&Number.isFinite(a))return r;const o=typeof a=="number"?Number.isNaN(a)?"NaN":Number.isFinite(a)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:a,inst:e,...o?{received:o}:{}}),r}}),hd=E("$ZodNumberFormat",(e,t)=>{kc.init(e,t),Fs.init(e,t)}),md=E("$ZodBoolean",(e,t)=>{ce.init(e,t),e._zod.pattern=Ac,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=!!r.value}catch{}const a=r.value;return typeof a=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:a,inst:e}),r}}),yd=E("$ZodNull",(e,t)=>{ce.init(e,t),e._zod.pattern=Nc,e._zod.values=new Set([null]),e._zod.parse=(r,n)=>{const a=r.value;return a===null||r.issues.push({expected:"null",code:"invalid_type",input:a,inst:e}),r}}),vd=E("$ZodAny",(e,t)=>{ce.init(e,t),e._zod.parse=r=>r}),wd=E("$ZodUnknown",(e,t)=>{ce.init(e,t),e._zod.parse=r=>r}),_d=E("$ZodNever",(e,t)=>{ce.init(e,t),e._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:e}),r)});function La(e,t,r){e.issues.length&&t.issues.push(...Bt(r,e.issues)),t.value[r]=e.value}const Td=E("$ZodArray",(e,t)=>{ce.init(e,t),e._zod.parse=(r,n)=>{const a=r.value;if(!Array.isArray(a))return r.issues.push({expected:"array",code:"invalid_type",input:a,inst:e}),r;r.value=Array(a.length);const o=[];for(let s=0;s<a.length;s++){const i=a[s],l=t.element._zod.run({value:i,issues:[]},n);l instanceof Promise?o.push(l.then(u=>La(u,r,s))):La(l,r,s)}return o.length?Promise.all(o).then(()=>r):r}});function Br(e,t,r,n,a){if(e.issues.length){if(a&&!(r in n))return;t.issues.push(...Bt(r,e.issues))}e.value===void 0?r in n&&(t.value[r]=void 0):t.value[r]=e.value}function Ls(e){var n,a,o,s;const t=Object.keys(e.shape);for(const i of t)if(!((s=(o=(a=(n=e.shape)==null?void 0:n[i])==null?void 0:a._zod)==null?void 0:o.traits)!=null&&s.has("$ZodType")))throw new Error(`Invalid element at key "${i}": expected a Zod schema`);const r=Mu(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(r)}}function Us(e,t,r,n,a,o){const s=[],i=a.keySet,l=a.catchall._zod,u=l.def.type,c=l.optout==="optional";for(const d in t){if(i.has(d))continue;if(u==="never"){s.push(d);continue}const p=l.run({value:t[d],issues:[]},n);p instanceof Promise?e.push(p.then(w=>Br(w,r,d,t,c))):Br(p,r,d,t,c)}return s.length&&r.issues.push({code:"unrecognized_keys",keys:s,input:t,inst:o}),e.length?Promise.all(e).then(()=>r):r}const Ed=E("$ZodObject",(e,t)=>{ce.init(e,t);const r=Object.getOwnPropertyDescriptor(t,"shape");if(!(r!=null&&r.get)){const i=t.shape;Object.defineProperty(t,"shape",{get:()=>{const l={...i};return Object.defineProperty(t,"shape",{value:l}),l}})}const n=un(()=>Ls(t));Y(e._zod,"propValues",()=>{const i=t.shape,l={};for(const u in i){const c=i[u]._zod;if(c.values){l[u]??(l[u]=new Set);for(const d of c.values)l[u].add(d)}}return l});const a=gr,o=t.catchall;let s;e._zod.parse=(i,l)=>{s??(s=n.value);const u=i.value;if(!a(u))return i.issues.push({expected:"object",code:"invalid_type",input:u,inst:e}),i;i.value={};const c=[],d=s.shape;for(const p of s.keys){const w=d[p],b=w._zod.optout==="optional",_=w._zod.run({value:u[p],issues:[]},l);_ instanceof Promise?c.push(_.then(I=>Br(I,i,p,u,b))):Br(_,i,p,u,b)}return o?Us(c,u,i,l,n.value,e):c.length?Promise.all(c).then(()=>i):i}}),bd=E("$ZodObjectJIT",(e,t)=>{Ed.init(e,t);const r=e._zod.parse,n=un(()=>Ls(t)),a=p=>{var m;const w=new qc(["shape","payload","ctx"]),b=n.value,_=z=>{const O=Ma(z);return`shape[${O}]._zod.run({ value: input[${O}], issues: [] }, ctx)`};w.write("const input = payload.value;");const I=Object.create(null);let P=0;for(const z of b.keys)I[z]=`key_${P++}`;w.write("const newResult = {};");for(const z of b.keys){const O=I[z],y=Ma(z),x=p[z],D=((m=x==null?void 0:x._zod)==null?void 0:m.optout)==="optional";w.write(`const ${O} = ${_(z)};`),D?w.write(`
5
+ `))}}const Gc={major:4,minor:3,patch:5},ce=E("$ZodType",(e,t)=>{var a;var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Gc;const n=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&n.unshift(e);for(const o of n)for(const s of o._zod.onattach)s(e);if(n.length===0)(r=e._zod).deferred??(r.deferred=[]),(a=e._zod.deferred)==null||a.push(()=>{e._zod.run=e._zod.parse});else{const o=(i,l,u)=>{let c=Gt(i),d;for(const p of l){if(p._zod.def.when){if(!p._zod.def.when(i))continue}else if(c)continue;const w=i.issues.length,b=p._zod.check(i);if(b instanceof Promise&&(u==null?void 0:u.async)===!1)throw new Vt;if(d||b instanceof Promise)d=(d??Promise.resolve()).then(async()=>{await b,i.issues.length!==w&&(c||(c=Gt(i,w)))});else{if(i.issues.length===w)continue;c||(c=Gt(i,w))}}return d?d.then(()=>i):i},s=(i,l,u)=>{if(Gt(i))return i.aborted=!0,i;const c=o(l,n,u);if(c instanceof Promise){if(u.async===!1)throw new Vt;return c.then(d=>e._zod.parse(d,u))}return e._zod.parse(c,u)};e._zod.run=(i,l)=>{if(l.skipChecks)return e._zod.parse(i,l);if(l.direction==="backward"){const c=e._zod.parse({value:i.value,issues:[]},{...l,skipChecks:!0});return c instanceof Promise?c.then(d=>s(d,i,l)):s(c,i,l)}const u=e._zod.parse(i,l);if(u instanceof Promise){if(l.async===!1)throw new Vt;return u.then(c=>o(c,n,l))}return o(u,n,l)}}Y(e,"~standard",()=>({validate:o=>{var s;try{const i=Yu(e,o);return i.success?{value:i.data}:{issues:(s=i.error)==null?void 0:s.issues}}catch{return Wu(e,o).then(l=>{var u;return l.success?{value:l.data}:{issues:(u=l.error)==null?void 0:u.issues}})}},vendor:"zod",version:1}))}),ta=E("$ZodString",(e,t)=>{var r;ce.init(e,t),e._zod.pattern=[...((r=e==null?void 0:e._zod.bag)==null?void 0:r.patterns)??[]].pop()??Sc(e._zod.bag),e._zod.parse=(n,a)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value=="string"||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),me=E("$ZodStringFormat",(e,t)=>{pn.init(e,t),ta.init(e,t)}),Bc=E("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=pc),me.init(e,t)}),Vc=E("$ZodUUID",(e,t)=>{if(t.version){const n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(n===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=Fa(n))}else t.pattern??(t.pattern=Fa());me.init(e,t)}),Hc=E("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=fc),me.init(e,t)}),Jc=E("$ZodURL",(e,t)=>{me.init(e,t),e._zod.check=r=>{try{const n=r.value.trim(),a=new URL(n);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(a.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:r.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(a.protocol.endsWith(":")?a.protocol.slice(0,-1):a.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:r.value,inst:e,continue:!t.abort})),t.normalize?r.value=a.href:r.value=n;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort})}}}),Yc=E("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=hc()),me.init(e,t)}),Wc=E("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=cc),me.init(e,t)}),Kc=E("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=oc),me.init(e,t)}),Xc=E("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=sc),me.init(e,t)}),Qc=E("$ZodULID",(e,t)=>{t.pattern??(t.pattern=ic),me.init(e,t)}),ed=E("$ZodXID",(e,t)=>{t.pattern??(t.pattern=lc),me.init(e,t)}),td=E("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=uc),me.init(e,t)}),rd=E("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=Ic(t)),me.init(e,t)}),nd=E("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=Ec),me.init(e,t)}),ad=E("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=bc(t)),me.init(e,t)}),od=E("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=dc),me.init(e,t)}),sd=E("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=mc),me.init(e,t),e._zod.bag.format="ipv4"}),id=E("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=yc),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})}}}),ld=E("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=vc),me.init(e,t)}),ud=E("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=wc),me.init(e,t),e._zod.check=r=>{const n=r.value.split("/");try{if(n.length!==2)throw new Error;const[a,o]=n;if(!o)throw new Error;const s=Number(o);if(`${s}`!==o)throw new Error;if(s<0||s>128)throw new Error;new URL(`http://[${a}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:e,continue:!t.abort})}}});function Ms(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const cd=E("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=_c),me.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=r=>{Ms(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}});function dd(e){if(!Rs.test(e))return!1;const t=e.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=t.padEnd(Math.ceil(t.length/4)*4,"=");return Ms(r)}const pd=E("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Rs),me.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=r=>{dd(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),fd=E("$ZodE164",(e,t)=>{t.pattern??(t.pattern=Tc),me.init(e,t)});function gd(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 hd=E("$ZodJWT",(e,t)=>{me.init(e,t),e._zod.check=r=>{gd(r.value,t.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}}),Fs=E("$ZodNumber",(e,t)=>{ce.init(e,t),e._zod.pattern=e._zod.bag.pattern??Cs,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=Number(r.value)}catch{}const a=r.value;if(typeof a=="number"&&!Number.isNaN(a)&&Number.isFinite(a))return r;const o=typeof a=="number"?Number.isNaN(a)?"NaN":Number.isFinite(a)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:a,inst:e,...o?{received:o}:{}}),r}}),md=E("$ZodNumberFormat",(e,t)=>{Pc.init(e,t),Fs.init(e,t)}),yd=E("$ZodBoolean",(e,t)=>{ce.init(e,t),e._zod.pattern=Nc,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}}),vd=E("$ZodNull",(e,t)=>{ce.init(e,t),e._zod.pattern=xc,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}}),wd=E("$ZodAny",(e,t)=>{ce.init(e,t),e._zod.parse=r=>r}),_d=E("$ZodUnknown",(e,t)=>{ce.init(e,t),e._zod.parse=r=>r}),Td=E("$ZodNever",(e,t)=>{ce.init(e,t),e._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:e}),r)});function La(e,t,r){e.issues.length&&t.issues.push(...Bt(r,e.issues)),t.value[r]=e.value}const Ed=E("$ZodArray",(e,t)=>{ce.init(e,t),e._zod.parse=(r,n)=>{const a=r.value;if(!Array.isArray(a))return r.issues.push({expected:"array",code:"invalid_type",input:a,inst:e}),r;r.value=Array(a.length);const o=[];for(let s=0;s<a.length;s++){const i=a[s],l=t.element._zod.run({value:i,issues:[]},n);l instanceof Promise?o.push(l.then(u=>La(u,r,s))):La(l,r,s)}return o.length?Promise.all(o).then(()=>r):r}});function Br(e,t,r,n,a){if(e.issues.length){if(a&&!(r in n))return;t.issues.push(...Bt(r,e.issues))}e.value===void 0?r in n&&(t.value[r]=void 0):t.value[r]=e.value}function Ls(e){var n,a,o,s;const t=Object.keys(e.shape);for(const i of t)if(!((s=(o=(a=(n=e.shape)==null?void 0:n[i])==null?void 0:a._zod)==null?void 0:o.traits)!=null&&s.has("$ZodType")))throw new Error(`Invalid element at key "${i}": expected a Zod schema`);const r=Fu(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(r)}}function Us(e,t,r,n,a,o){const s=[],i=a.keySet,l=a.catchall._zod,u=l.def.type,c=l.optout==="optional";for(const d in t){if(i.has(d))continue;if(u==="never"){s.push(d);continue}const p=l.run({value:t[d],issues:[]},n);p instanceof Promise?e.push(p.then(w=>Br(w,r,d,t,c))):Br(p,r,d,t,c)}return s.length&&r.issues.push({code:"unrecognized_keys",keys:s,input:t,inst:o}),e.length?Promise.all(e).then(()=>r):r}const bd=E("$ZodObject",(e,t)=>{ce.init(e,t);const r=Object.getOwnPropertyDescriptor(t,"shape");if(!(r!=null&&r.get)){const i=t.shape;Object.defineProperty(t,"shape",{get:()=>{const l={...i};return Object.defineProperty(t,"shape",{value:l}),l}})}const n=un(()=>Ls(t));Y(e._zod,"propValues",()=>{const i=t.shape,l={};for(const u in i){const c=i[u]._zod;if(c.values){l[u]??(l[u]=new Set);for(const d of c.values)l[u].add(d)}}return l});const a=gr,o=t.catchall;let s;e._zod.parse=(i,l)=>{s??(s=n.value);const u=i.value;if(!a(u))return i.issues.push({expected:"object",code:"invalid_type",input:u,inst:e}),i;i.value={};const c=[],d=s.shape;for(const p of s.keys){const w=d[p],b=w._zod.optout==="optional",_=w._zod.run({value:u[p],issues:[]},l);_ instanceof Promise?c.push(_.then(I=>Br(I,i,p,u,b))):Br(_,i,p,u,b)}return o?Us(c,u,i,l,n.value,e):c.length?Promise.all(c).then(()=>i):i}}),Id=E("$ZodObjectJIT",(e,t)=>{bd.init(e,t);const r=e._zod.parse,n=un(()=>Ls(t)),a=p=>{var m;const w=new Zc(["shape","payload","ctx"]),b=n.value,_=z=>{const O=Ma(z);return`shape[${O}]._zod.run({ value: input[${O}], issues: [] }, ctx)`};w.write("const input = payload.value;");const I=Object.create(null);let P=0;for(const z of b.keys)I[z]=`key_${P++}`;w.write("const newResult = {};");for(const z of b.keys){const O=I[z],y=Ma(z),x=p[z],D=((m=x==null?void 0:x._zod)==null?void 0:m.optout)==="optional";w.write(`const ${O} = ${_(z)};`),D?w.write(`
6
6
  if (${O}.issues.length) {
7
7
  if (${y} in input) {
8
8
  payload.issues = payload.issues.concat(${O}.issues.map(iss => ({
@@ -36,17 +36,17 @@ Error message: ${Kt(r)}`,cause:r}),this[Da]=!0,this.value=t}static isInstance(t)
36
36
  newResult[${y}] = ${O}.value;
37
37
  }
38
38
 
39
- `)}w.write("payload.value = newResult;"),w.write("return payload;");const C=w.compile();return(z,O)=>C(p,z,O)};let o;const s=gr,i=!bs.jitless,u=i&&zu.value,c=t.catchall;let d;e._zod.parse=(p,w)=>{d??(d=n.value);const b=p.value;return s(b)?i&&u&&(w==null?void 0:w.async)===!1&&w.jitless!==!0?(o||(o=a(t.shape)),p=o(p,w),c?Us([],b,p,w,d,e):p):r(p,w):(p.issues.push({expected:"object",code:"invalid_type",input:b,inst:e}),p)}});function Ua(e,t,r,n){for(const o of e)if(o.issues.length===0)return t.value=o.value,t;const a=e.filter(o=>!Gt(o));return a.length===1?(t.value=a[0].value,a[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:r,errors:e.map(o=>o.issues.map(s=>_t(s,n,wt())))}),t)}const js=E("$ZodUnion",(e,t)=>{ce.init(e,t),Y(e._zod,"optin",()=>t.options.some(a=>a._zod.optin==="optional")?"optional":void 0),Y(e._zod,"optout",()=>t.options.some(a=>a._zod.optout==="optional")?"optional":void 0),Y(e._zod,"values",()=>{if(t.options.every(a=>a._zod.values))return new Set(t.options.flatMap(a=>Array.from(a._zod.values)))}),Y(e._zod,"pattern",()=>{if(t.options.every(a=>a._zod.pattern)){const a=t.options.map(o=>o._zod.pattern);return new RegExp(`^(${a.map(o=>Kn(o.source)).join("|")})$`)}});const r=t.options.length===1,n=t.options[0]._zod.run;e._zod.parse=(a,o)=>{if(r)return n(a,o);let s=!1;const i=[];for(const l of t.options){const u=l._zod.run({value:a.value,issues:[]},o);if(u instanceof Promise)i.push(u),s=!0;else{if(u.issues.length===0)return u;i.push(u)}}return s?Promise.all(i).then(l=>Ua(l,a,e,o)):Ua(i,a,e,o)}}),Id=E("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,js.init(e,t);const r=e._zod.parse;Y(e._zod,"propValues",()=>{const a={};for(const o of t.options){const s=o._zod.propValues;if(!s||Object.keys(s).length===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(o)}"`);for(const[i,l]of Object.entries(s)){a[i]||(a[i]=new Set);for(const u of l)a[i].add(u)}}return a});const n=un(()=>{var s;const a=t.options,o=new Map;for(const i of a){const l=(s=i._zod.propValues)==null?void 0:s[t.discriminator];if(!l||l.size===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(i)}"`);for(const u of l){if(o.has(u))throw new Error(`Duplicate discriminator value "${String(u)}"`);o.set(u,i)}}return o});e._zod.parse=(a,o)=>{const s=a.value;if(!gr(s))return a.issues.push({code:"invalid_type",expected:"object",input:s,inst:e}),a;const i=n.value.get(s==null?void 0:s[t.discriminator]);return i?i._zod.run(a,o):t.unionFallback?r(a,o):(a.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,input:s,path:[t.discriminator],inst:e}),a)}}),Sd=E("$ZodIntersection",(e,t)=>{ce.init(e,t),e._zod.parse=(r,n)=>{const a=r.value,o=t.left._zod.run({value:a,issues:[]},n),s=t.right._zod.run({value:a,issues:[]},n);return o instanceof Promise||s instanceof Promise?Promise.all([o,s]).then(([l,u])=>ja(r,l,u)):ja(r,o,s)}});function Ln(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(Ht(e)&&Ht(t)){const r=Object.keys(t),n=Object.keys(e).filter(o=>r.indexOf(o)!==-1),a={...e,...t};for(const o of n){const s=Ln(e[o],t[o]);if(!s.valid)return{valid:!1,mergeErrorPath:[o,...s.mergeErrorPath]};a[o]=s.data}return{valid:!0,data:a}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const r=[];for(let n=0;n<e.length;n++){const a=e[n],o=t[n],s=Ln(a,o);if(!s.valid)return{valid:!1,mergeErrorPath:[n,...s.mergeErrorPath]};r.push(s.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function ja(e,t,r){const n=new Map;let a;for(const i of t.issues)if(i.code==="unrecognized_keys"){a??(a=i);for(const l of i.keys)n.has(l)||n.set(l,{}),n.get(l).l=!0}else e.issues.push(i);for(const i of r.issues)if(i.code==="unrecognized_keys")for(const l of i.keys)n.has(l)||n.set(l,{}),n.get(l).r=!0;else e.issues.push(i);const o=[...n].filter(([,i])=>i.l&&i.r).map(([i])=>i);if(o.length&&a&&e.issues.push({...a,keys:o}),Gt(e))return e;const s=Ln(t.value,r.value);if(!s.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(s.mergeErrorPath)}`);return e.value=s.data,e}const Ad=E("$ZodRecord",(e,t)=>{ce.init(e,t),e._zod.parse=(r,n)=>{const a=r.value;if(!Ht(a))return r.issues.push({expected:"record",code:"invalid_type",input:a,inst:e}),r;const o=[],s=t.keyType._zod.values;if(s){r.value={};const i=new Set;for(const u of s)if(typeof u=="string"||typeof u=="number"||typeof u=="symbol"){i.add(typeof u=="number"?u.toString():u);const c=t.valueType._zod.run({value:a[u],issues:[]},n);c instanceof Promise?o.push(c.then(d=>{d.issues.length&&r.issues.push(...Bt(u,d.issues)),r.value[u]=d.value})):(c.issues.length&&r.issues.push(...Bt(u,c.issues)),r.value[u]=c.value)}let l;for(const u in a)i.has(u)||(l=l??[],l.push(u));l&&l.length>0&&r.issues.push({code:"unrecognized_keys",input:a,inst:e,keys:l})}else{r.value={};for(const i of Reflect.ownKeys(a)){if(i==="__proto__")continue;let l=t.keyType._zod.run({value:i,issues:[]},n);if(l instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof i=="string"&&Cs.test(i)&&l.issues.length&&l.issues.some(d=>d.code==="invalid_type"&&d.expected==="number")){const d=t.keyType._zod.run({value:Number(i),issues:[]},n);if(d instanceof Promise)throw new Error("Async schemas not supported in object keys currently");d.issues.length===0&&(l=d)}if(l.issues.length){t.mode==="loose"?r.value[i]=a[i]:r.issues.push({code:"invalid_key",origin:"record",issues:l.issues.map(d=>_t(d,n,wt())),input:i,path:[i],inst:e});continue}const c=t.valueType._zod.run({value:a[i],issues:[]},n);c instanceof Promise?o.push(c.then(d=>{d.issues.length&&r.issues.push(...Bt(i,d.issues)),r.value[l.value]=d.value})):(c.issues.length&&r.issues.push(...Bt(i,c.issues)),r.value[l.value]=c.value)}}return o.length?Promise.all(o).then(()=>r):r}}),Nd=E("$ZodEnum",(e,t)=>{ce.init(e,t);const r=Is(t.entries),n=new Set(r);e._zod.values=n,e._zod.pattern=new RegExp(`^(${r.filter(a=>$u.has(typeof a)).map(a=>typeof a=="string"?Jt(a):a.toString()).join("|")})$`),e._zod.parse=(a,o)=>{const s=a.value;return n.has(s)||a.issues.push({code:"invalid_value",values:r,input:s,inst:e}),a}}),xd=E("$ZodLiteral",(e,t)=>{if(ce.init(e,t),t.values.length===0)throw new Error("Cannot create literal schema with no valid values");const r=new Set(t.values);e._zod.values=r,e._zod.pattern=new RegExp(`^(${t.values.map(n=>typeof n=="string"?Jt(n):n?Jt(n.toString()):String(n)).join("|")})$`),e._zod.parse=(n,a)=>{const o=n.value;return r.has(o)||n.issues.push({code:"invalid_value",values:t.values,input:o,inst:e}),n}}),Od=E("$ZodTransform",(e,t)=>{ce.init(e,t),e._zod.parse=(r,n)=>{if(n.direction==="backward")throw new Es(e.constructor.name);const a=t.transform(r.value,r);if(n.async)return(a instanceof Promise?a:Promise.resolve(a)).then(s=>(r.value=s,r));if(a instanceof Promise)throw new Vt;return r.value=a,r}});function qa(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}const qs=E("$ZodOptional",(e,t)=>{ce.init(e,t),e._zod.optin="optional",e._zod.optout="optional",Y(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),Y(e._zod,"pattern",()=>{const r=t.innerType._zod.pattern;return r?new RegExp(`^(${Kn(r.source)})?$`):void 0}),e._zod.parse=(r,n)=>{if(t.innerType._zod.optin==="optional"){const a=t.innerType._zod.run(r,n);return a instanceof Promise?a.then(o=>qa(o,r.value)):qa(a,r.value)}return r.value===void 0?r:t.innerType._zod.run(r,n)}}),Rd=E("$ZodExactOptional",(e,t)=>{qs.init(e,t),Y(e._zod,"values",()=>t.innerType._zod.values),Y(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(r,n)=>t.innerType._zod.run(r,n)}),kd=E("$ZodNullable",(e,t)=>{ce.init(e,t),Y(e._zod,"optin",()=>t.innerType._zod.optin),Y(e._zod,"optout",()=>t.innerType._zod.optout),Y(e._zod,"pattern",()=>{const r=t.innerType._zod.pattern;return r?new RegExp(`^(${Kn(r.source)}|null)$`):void 0}),Y(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(r,n)=>r.value===null?r:t.innerType._zod.run(r,n)}),Pd=E("$ZodDefault",(e,t)=>{ce.init(e,t),e._zod.optin="optional",Y(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);if(r.value===void 0)return r.value=t.defaultValue,r;const a=t.innerType._zod.run(r,n);return a instanceof Promise?a.then(o=>Za(o,t)):Za(a,t)}});function Za(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const Cd=E("$ZodPrefault",(e,t)=>{ce.init(e,t),e._zod.optin="optional",Y(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>(n.direction==="backward"||r.value===void 0&&(r.value=t.defaultValue),t.innerType._zod.run(r,n))}),Dd=E("$ZodNonOptional",(e,t)=>{ce.init(e,t),Y(e._zod,"values",()=>{const r=t.innerType._zod.values;return r?new Set([...r].filter(n=>n!==void 0)):void 0}),e._zod.parse=(r,n)=>{const a=t.innerType._zod.run(r,n);return a instanceof Promise?a.then(o=>Ga(o,e)):Ga(a,e)}});function Ga(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}const zd=E("$ZodCatch",(e,t)=>{ce.init(e,t),Y(e._zod,"optin",()=>t.innerType._zod.optin),Y(e._zod,"optout",()=>t.innerType._zod.optout),Y(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);const a=t.innerType._zod.run(r,n);return a instanceof Promise?a.then(o=>(r.value=o.value,o.issues.length&&(r.value=t.catchValue({...r,error:{issues:o.issues.map(s=>_t(s,n,wt()))},input:r.value}),r.issues=[]),r)):(r.value=a.value,a.issues.length&&(r.value=t.catchValue({...r,error:{issues:a.issues.map(o=>_t(o,n,wt()))},input:r.value}),r.issues=[]),r)}}),$d=E("$ZodPipe",(e,t)=>{ce.init(e,t),Y(e._zod,"values",()=>t.in._zod.values),Y(e._zod,"optin",()=>t.in._zod.optin),Y(e._zod,"optout",()=>t.out._zod.optout),Y(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(r,n)=>{if(n.direction==="backward"){const o=t.out._zod.run(r,n);return o instanceof Promise?o.then(s=>Lr(s,t.in,n)):Lr(o,t.in,n)}const a=t.in._zod.run(r,n);return a instanceof Promise?a.then(o=>Lr(o,t.out,n)):Lr(a,t.out,n)}});function Lr(e,t,r){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},r)}const Md=E("$ZodReadonly",(e,t)=>{ce.init(e,t),Y(e._zod,"propValues",()=>t.innerType._zod.propValues),Y(e._zod,"values",()=>t.innerType._zod.values),Y(e._zod,"optin",()=>{var r,n;return(n=(r=t.innerType)==null?void 0:r._zod)==null?void 0:n.optin}),Y(e._zod,"optout",()=>{var r,n;return(n=(r=t.innerType)==null?void 0:r._zod)==null?void 0:n.optout}),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);const a=t.innerType._zod.run(r,n);return a instanceof Promise?a.then(Ba):Ba(a)}});function Ba(e){return e.value=Object.freeze(e.value),e}const Fd=E("$ZodLazy",(e,t)=>{ce.init(e,t),Y(e._zod,"innerType",()=>t.getter()),Y(e._zod,"pattern",()=>{var r,n;return(n=(r=e._zod.innerType)==null?void 0:r._zod)==null?void 0:n.pattern}),Y(e._zod,"propValues",()=>{var r,n;return(n=(r=e._zod.innerType)==null?void 0:r._zod)==null?void 0:n.propValues}),Y(e._zod,"optin",()=>{var r,n;return((n=(r=e._zod.innerType)==null?void 0:r._zod)==null?void 0:n.optin)??void 0}),Y(e._zod,"optout",()=>{var r,n;return((n=(r=e._zod.innerType)==null?void 0:r._zod)==null?void 0:n.optout)??void 0}),e._zod.parse=(r,n)=>e._zod.innerType._zod.run(r,n)}),Ld=E("$ZodCustom",(e,t)=>{Me.init(e,t),ce.init(e,t),e._zod.parse=(r,n)=>r,e._zod.check=r=>{const n=r.value,a=t.fn(n);if(a instanceof Promise)return a.then(o=>Va(o,r,n,e));Va(a,r,n,e)}});function Va(e,t,r,n){if(!e){const a={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(a.params=n._zod.def.params),t.issues.push(hr(a))}}var Ha;class Ud{constructor(){this._map=new WeakMap,this._idmap=new Map}add(t,...r){const n=r[0];return this._map.set(t,n),n&&typeof n=="object"&&"id"in n&&this._idmap.set(n.id,t),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(t){const r=this._map.get(t);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(t),this}get(t){const r=t._zod.parent;if(r){const n={...this.get(r)??{}};delete n.id;const a={...n,...this._map.get(t)};return Object.keys(a).length?a:void 0}return this._map.get(t)}has(t){return this._map.has(t)}}function jd(){return new Ud}(Ha=globalThis).__zod_globalRegistry??(Ha.__zod_globalRegistry=jd());const cr=globalThis.__zod_globalRegistry;function qd(e,t){return new e({type:"string",...k(t)})}function Zd(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...k(t)})}function Ja(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...k(t)})}function Gd(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...k(t)})}function Bd(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...k(t)})}function Vd(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...k(t)})}function Hd(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...k(t)})}function Jd(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...k(t)})}function Yd(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...k(t)})}function Wd(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...k(t)})}function Kd(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...k(t)})}function Xd(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...k(t)})}function Qd(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...k(t)})}function ep(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...k(t)})}function tp(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...k(t)})}function rp(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...k(t)})}function np(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...k(t)})}function ap(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...k(t)})}function op(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...k(t)})}function sp(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...k(t)})}function ip(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...k(t)})}function lp(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...k(t)})}function up(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...k(t)})}function cp(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...k(t)})}function dp(e,t){return new e({type:"string",format:"date",check:"string_format",...k(t)})}function pp(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...k(t)})}function fp(e,t){return new e({type:"string",format:"duration",check:"string_format",...k(t)})}function gp(e,t){return new e({type:"number",checks:[],...k(t)})}function hp(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...k(t)})}function mp(e,t){return new e({type:"boolean",...k(t)})}function yp(e,t){return new e({type:"null",...k(t)})}function vp(e){return new e({type:"any"})}function wp(e){return new e({type:"unknown"})}function _p(e,t){return new e({type:"never",...k(t)})}function Ya(e,t){return new zs({check:"less_than",...k(t),value:e,inclusive:!1})}function En(e,t){return new zs({check:"less_than",...k(t),value:e,inclusive:!0})}function Wa(e,t){return new $s({check:"greater_than",...k(t),value:e,inclusive:!1})}function bn(e,t){return new $s({check:"greater_than",...k(t),value:e,inclusive:!0})}function Ka(e,t){return new Rc({check:"multiple_of",...k(t),value:e})}function Zs(e,t){return new Pc({check:"max_length",...k(t),maximum:e})}function Vr(e,t){return new Cc({check:"min_length",...k(t),minimum:e})}function Gs(e,t){return new Dc({check:"length_equals",...k(t),length:e})}function Tp(e,t){return new zc({check:"string_format",format:"regex",...k(t),pattern:e})}function Ep(e){return new $c({check:"string_format",format:"lowercase",...k(e)})}function bp(e){return new Mc({check:"string_format",format:"uppercase",...k(e)})}function Ip(e,t){return new Fc({check:"string_format",format:"includes",...k(t),includes:e})}function Sp(e,t){return new Lc({check:"string_format",format:"starts_with",...k(t),prefix:e})}function Ap(e,t){return new Uc({check:"string_format",format:"ends_with",...k(t),suffix:e})}function Xt(e){return new jc({check:"overwrite",tx:e})}function Np(e){return Xt(t=>t.normalize(e))}function xp(){return Xt(e=>e.trim())}function Op(){return Xt(e=>e.toLowerCase())}function Rp(){return Xt(e=>e.toUpperCase())}function kp(){return Xt(e=>Du(e))}function Pp(e,t,r){return new e({type:"array",element:t,...k(r)})}function Cp(e,t,r){const n=k(r);return n.abort??(n.abort=!0),new e({type:"custom",check:"custom",fn:t,...n})}function Dp(e,t,r){return new e({type:"custom",check:"custom",fn:t,...k(r)})}function zp(e){const t=$p(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(hr(n,r.value,t._zod.def));else{const a=n;a.fatal&&(a.continue=!1),a.code??(a.code="custom"),a.input??(a.input=r.value),a.inst??(a.inst=t),a.continue??(a.continue=!t._zod.def.abort),r.issues.push(hr(a))}},e(r.value,r)));return t}function $p(e,t){const r=new Me({check:"custom",...k(t)});return r._zod.check=e,r}function Hr(e){let t=(e==null?void 0:e.target)??"draft-2020-12";return t==="draft-4"&&(t="draft-04"),t==="draft-7"&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:(e==null?void 0:e.metadata)??cr,target:t,unrepresentable:(e==null?void 0:e.unrepresentable)??"throw",override:(e==null?void 0:e.override)??(()=>{}),io:(e==null?void 0:e.io)??"output",counter:0,seen:new Map,cycles:(e==null?void 0:e.cycles)??"ref",reused:(e==null?void 0:e.reused)??"inline",external:(e==null?void 0:e.external)??void 0}}function ue(e,t,r={path:[],schemaPath:[]}){var c,d;var n;const a=e._zod.def,o=t.seen.get(e);if(o)return o.count++,r.schemaPath.includes(e)&&(o.cycle=r.path),o.schema;const s={schema:{},count:1,cycle:void 0,path:r.path};t.seen.set(e,s);const i=(d=(c=e._zod).toJSONSchema)==null?void 0:d.call(c);if(i)s.schema=i;else{const p={...r,schemaPath:[...r.schemaPath,e],path:r.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,s.schema,p);else{const b=s.schema,_=t.processors[a.type];if(!_)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${a.type}`);_(e,t,b,p)}const w=e._zod.parent;w&&(s.ref||(s.ref=w),ue(w,t,p),t.seen.get(w).isParent=!0)}const l=t.metadataRegistry.get(e);return l&&Object.assign(s.schema,l),t.io==="input"&&ze(e)&&(delete s.schema.examples,delete s.schema.default),t.io==="input"&&s.schema._prefault&&((n=s.schema).default??(n.default=s.schema._prefault)),delete s.schema._prefault,t.seen.get(e).schema}function Jr(e,t){var s,i,l,u;const r=e.seen.get(t);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");const n=new Map;for(const c of e.seen.entries()){const d=(s=e.metadataRegistry.get(c[0]))==null?void 0:s.id;if(d){const p=n.get(d);if(p&&p!==c[0])throw new Error(`Duplicate schema id "${d}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);n.set(d,c[0])}}const a=c=>{var _;const d=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){const I=(_=e.external.registry.get(c[0]))==null?void 0:_.id,P=e.external.uri??(m=>m);if(I)return{ref:P(I)};const C=c[1].defId??c[1].schema.id??`schema${e.counter++}`;return c[1].defId=C,{defId:C,ref:`${P("__shared")}#/${d}/${C}`}}if(c[1]===r)return{ref:"#"};const w=`#/${d}/`,b=c[1].schema.id??`__schema${e.counter++}`;return{defId:b,ref:w+b}},o=c=>{if(c[1].schema.$ref)return;const d=c[1],{ref:p,defId:w}=a(c);d.def={...d.schema},w&&(d.defId=w);const b=d.schema;for(const _ in b)delete b[_];b.$ref=p};if(e.cycles==="throw")for(const c of e.seen.entries()){const d=c[1];if(d.cycle)throw new Error(`Cycle detected: #/${(i=d.cycle)==null?void 0:i.join("/")}/<root>
39
+ `)}w.write("payload.value = newResult;"),w.write("return payload;");const C=w.compile();return(z,O)=>C(p,z,O)};let o;const s=gr,i=!bs.jitless,u=i&&$u.value,c=t.catchall;let d;e._zod.parse=(p,w)=>{d??(d=n.value);const b=p.value;return s(b)?i&&u&&(w==null?void 0:w.async)===!1&&w.jitless!==!0?(o||(o=a(t.shape)),p=o(p,w),c?Us([],b,p,w,d,e):p):r(p,w):(p.issues.push({expected:"object",code:"invalid_type",input:b,inst:e}),p)}});function Ua(e,t,r,n){for(const o of e)if(o.issues.length===0)return t.value=o.value,t;const a=e.filter(o=>!Gt(o));return a.length===1?(t.value=a[0].value,a[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:r,errors:e.map(o=>o.issues.map(s=>_t(s,n,wt())))}),t)}const js=E("$ZodUnion",(e,t)=>{ce.init(e,t),Y(e._zod,"optin",()=>t.options.some(a=>a._zod.optin==="optional")?"optional":void 0),Y(e._zod,"optout",()=>t.options.some(a=>a._zod.optout==="optional")?"optional":void 0),Y(e._zod,"values",()=>{if(t.options.every(a=>a._zod.values))return new Set(t.options.flatMap(a=>Array.from(a._zod.values)))}),Y(e._zod,"pattern",()=>{if(t.options.every(a=>a._zod.pattern)){const a=t.options.map(o=>o._zod.pattern);return new RegExp(`^(${a.map(o=>Kn(o.source)).join("|")})$`)}});const r=t.options.length===1,n=t.options[0]._zod.run;e._zod.parse=(a,o)=>{if(r)return n(a,o);let s=!1;const i=[];for(const l of t.options){const u=l._zod.run({value:a.value,issues:[]},o);if(u instanceof Promise)i.push(u),s=!0;else{if(u.issues.length===0)return u;i.push(u)}}return s?Promise.all(i).then(l=>Ua(l,a,e,o)):Ua(i,a,e,o)}}),Sd=E("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,js.init(e,t);const r=e._zod.parse;Y(e._zod,"propValues",()=>{const a={};for(const o of t.options){const s=o._zod.propValues;if(!s||Object.keys(s).length===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(o)}"`);for(const[i,l]of Object.entries(s)){a[i]||(a[i]=new Set);for(const u of l)a[i].add(u)}}return a});const n=un(()=>{var s;const a=t.options,o=new Map;for(const i of a){const l=(s=i._zod.propValues)==null?void 0:s[t.discriminator];if(!l||l.size===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(i)}"`);for(const u of l){if(o.has(u))throw new Error(`Duplicate discriminator value "${String(u)}"`);o.set(u,i)}}return o});e._zod.parse=(a,o)=>{const s=a.value;if(!gr(s))return a.issues.push({code:"invalid_type",expected:"object",input:s,inst:e}),a;const i=n.value.get(s==null?void 0:s[t.discriminator]);return i?i._zod.run(a,o):t.unionFallback?r(a,o):(a.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,input:s,path:[t.discriminator],inst:e}),a)}}),Ad=E("$ZodIntersection",(e,t)=>{ce.init(e,t),e._zod.parse=(r,n)=>{const a=r.value,o=t.left._zod.run({value:a,issues:[]},n),s=t.right._zod.run({value:a,issues:[]},n);return o instanceof Promise||s instanceof Promise?Promise.all([o,s]).then(([l,u])=>ja(r,l,u)):ja(r,o,s)}});function Ln(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(Ht(e)&&Ht(t)){const r=Object.keys(t),n=Object.keys(e).filter(o=>r.indexOf(o)!==-1),a={...e,...t};for(const o of n){const s=Ln(e[o],t[o]);if(!s.valid)return{valid:!1,mergeErrorPath:[o,...s.mergeErrorPath]};a[o]=s.data}return{valid:!0,data:a}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const r=[];for(let n=0;n<e.length;n++){const a=e[n],o=t[n],s=Ln(a,o);if(!s.valid)return{valid:!1,mergeErrorPath:[n,...s.mergeErrorPath]};r.push(s.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function ja(e,t,r){const n=new Map;let a;for(const i of t.issues)if(i.code==="unrecognized_keys"){a??(a=i);for(const l of i.keys)n.has(l)||n.set(l,{}),n.get(l).l=!0}else e.issues.push(i);for(const i of r.issues)if(i.code==="unrecognized_keys")for(const l of i.keys)n.has(l)||n.set(l,{}),n.get(l).r=!0;else e.issues.push(i);const o=[...n].filter(([,i])=>i.l&&i.r).map(([i])=>i);if(o.length&&a&&e.issues.push({...a,keys:o}),Gt(e))return e;const s=Ln(t.value,r.value);if(!s.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(s.mergeErrorPath)}`);return e.value=s.data,e}const Nd=E("$ZodRecord",(e,t)=>{ce.init(e,t),e._zod.parse=(r,n)=>{const a=r.value;if(!Ht(a))return r.issues.push({expected:"record",code:"invalid_type",input:a,inst:e}),r;const o=[],s=t.keyType._zod.values;if(s){r.value={};const i=new Set;for(const u of s)if(typeof u=="string"||typeof u=="number"||typeof u=="symbol"){i.add(typeof u=="number"?u.toString():u);const c=t.valueType._zod.run({value:a[u],issues:[]},n);c instanceof Promise?o.push(c.then(d=>{d.issues.length&&r.issues.push(...Bt(u,d.issues)),r.value[u]=d.value})):(c.issues.length&&r.issues.push(...Bt(u,c.issues)),r.value[u]=c.value)}let l;for(const u in a)i.has(u)||(l=l??[],l.push(u));l&&l.length>0&&r.issues.push({code:"unrecognized_keys",input:a,inst:e,keys:l})}else{r.value={};for(const i of Reflect.ownKeys(a)){if(i==="__proto__")continue;let l=t.keyType._zod.run({value:i,issues:[]},n);if(l instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof i=="string"&&Cs.test(i)&&l.issues.length&&l.issues.some(d=>d.code==="invalid_type"&&d.expected==="number")){const d=t.keyType._zod.run({value:Number(i),issues:[]},n);if(d instanceof Promise)throw new Error("Async schemas not supported in object keys currently");d.issues.length===0&&(l=d)}if(l.issues.length){t.mode==="loose"?r.value[i]=a[i]:r.issues.push({code:"invalid_key",origin:"record",issues:l.issues.map(d=>_t(d,n,wt())),input:i,path:[i],inst:e});continue}const c=t.valueType._zod.run({value:a[i],issues:[]},n);c instanceof Promise?o.push(c.then(d=>{d.issues.length&&r.issues.push(...Bt(i,d.issues)),r.value[l.value]=d.value})):(c.issues.length&&r.issues.push(...Bt(i,c.issues)),r.value[l.value]=c.value)}}return o.length?Promise.all(o).then(()=>r):r}}),xd=E("$ZodEnum",(e,t)=>{ce.init(e,t);const r=Is(t.entries),n=new Set(r);e._zod.values=n,e._zod.pattern=new RegExp(`^(${r.filter(a=>Mu.has(typeof a)).map(a=>typeof a=="string"?Jt(a):a.toString()).join("|")})$`),e._zod.parse=(a,o)=>{const s=a.value;return n.has(s)||a.issues.push({code:"invalid_value",values:r,input:s,inst:e}),a}}),Od=E("$ZodLiteral",(e,t)=>{if(ce.init(e,t),t.values.length===0)throw new Error("Cannot create literal schema with no valid values");const r=new Set(t.values);e._zod.values=r,e._zod.pattern=new RegExp(`^(${t.values.map(n=>typeof n=="string"?Jt(n):n?Jt(n.toString()):String(n)).join("|")})$`),e._zod.parse=(n,a)=>{const o=n.value;return r.has(o)||n.issues.push({code:"invalid_value",values:t.values,input:o,inst:e}),n}}),Rd=E("$ZodTransform",(e,t)=>{ce.init(e,t),e._zod.parse=(r,n)=>{if(n.direction==="backward")throw new Es(e.constructor.name);const a=t.transform(r.value,r);if(n.async)return(a instanceof Promise?a:Promise.resolve(a)).then(s=>(r.value=s,r));if(a instanceof Promise)throw new Vt;return r.value=a,r}});function qa(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}const qs=E("$ZodOptional",(e,t)=>{ce.init(e,t),e._zod.optin="optional",e._zod.optout="optional",Y(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),Y(e._zod,"pattern",()=>{const r=t.innerType._zod.pattern;return r?new RegExp(`^(${Kn(r.source)})?$`):void 0}),e._zod.parse=(r,n)=>{if(t.innerType._zod.optin==="optional"){const a=t.innerType._zod.run(r,n);return a instanceof Promise?a.then(o=>qa(o,r.value)):qa(a,r.value)}return r.value===void 0?r:t.innerType._zod.run(r,n)}}),kd=E("$ZodExactOptional",(e,t)=>{qs.init(e,t),Y(e._zod,"values",()=>t.innerType._zod.values),Y(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(r,n)=>t.innerType._zod.run(r,n)}),Pd=E("$ZodNullable",(e,t)=>{ce.init(e,t),Y(e._zod,"optin",()=>t.innerType._zod.optin),Y(e._zod,"optout",()=>t.innerType._zod.optout),Y(e._zod,"pattern",()=>{const r=t.innerType._zod.pattern;return r?new RegExp(`^(${Kn(r.source)}|null)$`):void 0}),Y(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(r,n)=>r.value===null?r:t.innerType._zod.run(r,n)}),Cd=E("$ZodDefault",(e,t)=>{ce.init(e,t),e._zod.optin="optional",Y(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);if(r.value===void 0)return r.value=t.defaultValue,r;const a=t.innerType._zod.run(r,n);return a instanceof Promise?a.then(o=>Za(o,t)):Za(a,t)}});function Za(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const Dd=E("$ZodPrefault",(e,t)=>{ce.init(e,t),e._zod.optin="optional",Y(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>(n.direction==="backward"||r.value===void 0&&(r.value=t.defaultValue),t.innerType._zod.run(r,n))}),zd=E("$ZodNonOptional",(e,t)=>{ce.init(e,t),Y(e._zod,"values",()=>{const r=t.innerType._zod.values;return r?new Set([...r].filter(n=>n!==void 0)):void 0}),e._zod.parse=(r,n)=>{const a=t.innerType._zod.run(r,n);return a instanceof Promise?a.then(o=>Ga(o,e)):Ga(a,e)}});function Ga(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}const $d=E("$ZodCatch",(e,t)=>{ce.init(e,t),Y(e._zod,"optin",()=>t.innerType._zod.optin),Y(e._zod,"optout",()=>t.innerType._zod.optout),Y(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);const a=t.innerType._zod.run(r,n);return a instanceof Promise?a.then(o=>(r.value=o.value,o.issues.length&&(r.value=t.catchValue({...r,error:{issues:o.issues.map(s=>_t(s,n,wt()))},input:r.value}),r.issues=[]),r)):(r.value=a.value,a.issues.length&&(r.value=t.catchValue({...r,error:{issues:a.issues.map(o=>_t(o,n,wt()))},input:r.value}),r.issues=[]),r)}}),Md=E("$ZodPipe",(e,t)=>{ce.init(e,t),Y(e._zod,"values",()=>t.in._zod.values),Y(e._zod,"optin",()=>t.in._zod.optin),Y(e._zod,"optout",()=>t.out._zod.optout),Y(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(r,n)=>{if(n.direction==="backward"){const o=t.out._zod.run(r,n);return o instanceof Promise?o.then(s=>Lr(s,t.in,n)):Lr(o,t.in,n)}const a=t.in._zod.run(r,n);return a instanceof Promise?a.then(o=>Lr(o,t.out,n)):Lr(a,t.out,n)}});function Lr(e,t,r){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},r)}const Fd=E("$ZodReadonly",(e,t)=>{ce.init(e,t),Y(e._zod,"propValues",()=>t.innerType._zod.propValues),Y(e._zod,"values",()=>t.innerType._zod.values),Y(e._zod,"optin",()=>{var r,n;return(n=(r=t.innerType)==null?void 0:r._zod)==null?void 0:n.optin}),Y(e._zod,"optout",()=>{var r,n;return(n=(r=t.innerType)==null?void 0:r._zod)==null?void 0:n.optout}),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);const a=t.innerType._zod.run(r,n);return a instanceof Promise?a.then(Ba):Ba(a)}});function Ba(e){return e.value=Object.freeze(e.value),e}const Ld=E("$ZodLazy",(e,t)=>{ce.init(e,t),Y(e._zod,"innerType",()=>t.getter()),Y(e._zod,"pattern",()=>{var r,n;return(n=(r=e._zod.innerType)==null?void 0:r._zod)==null?void 0:n.pattern}),Y(e._zod,"propValues",()=>{var r,n;return(n=(r=e._zod.innerType)==null?void 0:r._zod)==null?void 0:n.propValues}),Y(e._zod,"optin",()=>{var r,n;return((n=(r=e._zod.innerType)==null?void 0:r._zod)==null?void 0:n.optin)??void 0}),Y(e._zod,"optout",()=>{var r,n;return((n=(r=e._zod.innerType)==null?void 0:r._zod)==null?void 0:n.optout)??void 0}),e._zod.parse=(r,n)=>e._zod.innerType._zod.run(r,n)}),Ud=E("$ZodCustom",(e,t)=>{Me.init(e,t),ce.init(e,t),e._zod.parse=(r,n)=>r,e._zod.check=r=>{const n=r.value,a=t.fn(n);if(a instanceof Promise)return a.then(o=>Va(o,r,n,e));Va(a,r,n,e)}});function Va(e,t,r,n){if(!e){const a={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(a.params=n._zod.def.params),t.issues.push(hr(a))}}var Ha;class jd{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 qd(){return new jd}(Ha=globalThis).__zod_globalRegistry??(Ha.__zod_globalRegistry=qd());const cr=globalThis.__zod_globalRegistry;function Zd(e,t){return new e({type:"string",...k(t)})}function Gd(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...k(t)})}function Ja(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...k(t)})}function Bd(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...k(t)})}function Vd(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...k(t)})}function Hd(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...k(t)})}function Jd(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...k(t)})}function Yd(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...k(t)})}function Wd(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...k(t)})}function Kd(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...k(t)})}function Xd(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...k(t)})}function Qd(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...k(t)})}function ep(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...k(t)})}function tp(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...k(t)})}function rp(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...k(t)})}function np(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...k(t)})}function ap(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...k(t)})}function op(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...k(t)})}function sp(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...k(t)})}function ip(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...k(t)})}function lp(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...k(t)})}function up(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...k(t)})}function cp(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...k(t)})}function dp(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...k(t)})}function pp(e,t){return new e({type:"string",format:"date",check:"string_format",...k(t)})}function fp(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...k(t)})}function gp(e,t){return new e({type:"string",format:"duration",check:"string_format",...k(t)})}function hp(e,t){return new e({type:"number",checks:[],...k(t)})}function mp(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...k(t)})}function yp(e,t){return new e({type:"boolean",...k(t)})}function vp(e,t){return new e({type:"null",...k(t)})}function wp(e){return new e({type:"any"})}function _p(e){return new e({type:"unknown"})}function Tp(e,t){return new e({type:"never",...k(t)})}function Ya(e,t){return new zs({check:"less_than",...k(t),value:e,inclusive:!1})}function En(e,t){return new zs({check:"less_than",...k(t),value:e,inclusive:!0})}function Wa(e,t){return new $s({check:"greater_than",...k(t),value:e,inclusive:!1})}function bn(e,t){return new $s({check:"greater_than",...k(t),value:e,inclusive:!0})}function Ka(e,t){return new kc({check:"multiple_of",...k(t),value:e})}function Zs(e,t){return new Cc({check:"max_length",...k(t),maximum:e})}function Vr(e,t){return new Dc({check:"min_length",...k(t),minimum:e})}function Gs(e,t){return new zc({check:"length_equals",...k(t),length:e})}function Ep(e,t){return new $c({check:"string_format",format:"regex",...k(t),pattern:e})}function bp(e){return new Mc({check:"string_format",format:"lowercase",...k(e)})}function Ip(e){return new Fc({check:"string_format",format:"uppercase",...k(e)})}function Sp(e,t){return new Lc({check:"string_format",format:"includes",...k(t),includes:e})}function Ap(e,t){return new Uc({check:"string_format",format:"starts_with",...k(t),prefix:e})}function Np(e,t){return new jc({check:"string_format",format:"ends_with",...k(t),suffix:e})}function Xt(e){return new qc({check:"overwrite",tx:e})}function xp(e){return Xt(t=>t.normalize(e))}function Op(){return Xt(e=>e.trim())}function Rp(){return Xt(e=>e.toLowerCase())}function kp(){return Xt(e=>e.toUpperCase())}function Pp(){return Xt(e=>zu(e))}function Cp(e,t,r){return new e({type:"array",element:t,...k(r)})}function Dp(e,t,r){const n=k(r);return n.abort??(n.abort=!0),new e({type:"custom",check:"custom",fn:t,...n})}function zp(e,t,r){return new e({type:"custom",check:"custom",fn:t,...k(r)})}function $p(e){const t=Mp(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(hr(n,r.value,t._zod.def));else{const a=n;a.fatal&&(a.continue=!1),a.code??(a.code="custom"),a.input??(a.input=r.value),a.inst??(a.inst=t),a.continue??(a.continue=!t._zod.def.abort),r.issues.push(hr(a))}},e(r.value,r)));return t}function Mp(e,t){const r=new Me({check:"custom",...k(t)});return r._zod.check=e,r}function Hr(e){let t=(e==null?void 0:e.target)??"draft-2020-12";return t==="draft-4"&&(t="draft-04"),t==="draft-7"&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:(e==null?void 0:e.metadata)??cr,target:t,unrepresentable:(e==null?void 0:e.unrepresentable)??"throw",override:(e==null?void 0:e.override)??(()=>{}),io:(e==null?void 0:e.io)??"output",counter:0,seen:new Map,cycles:(e==null?void 0:e.cycles)??"ref",reused:(e==null?void 0:e.reused)??"inline",external:(e==null?void 0:e.external)??void 0}}function ue(e,t,r={path:[],schemaPath:[]}){var c,d;var n;const a=e._zod.def,o=t.seen.get(e);if(o)return o.count++,r.schemaPath.includes(e)&&(o.cycle=r.path),o.schema;const s={schema:{},count:1,cycle:void 0,path:r.path};t.seen.set(e,s);const i=(d=(c=e._zod).toJSONSchema)==null?void 0:d.call(c);if(i)s.schema=i;else{const p={...r,schemaPath:[...r.schemaPath,e],path:r.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,s.schema,p);else{const b=s.schema,_=t.processors[a.type];if(!_)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${a.type}`);_(e,t,b,p)}const w=e._zod.parent;w&&(s.ref||(s.ref=w),ue(w,t,p),t.seen.get(w).isParent=!0)}const l=t.metadataRegistry.get(e);return l&&Object.assign(s.schema,l),t.io==="input"&&ze(e)&&(delete s.schema.examples,delete s.schema.default),t.io==="input"&&s.schema._prefault&&((n=s.schema).default??(n.default=s.schema._prefault)),delete s.schema._prefault,t.seen.get(e).schema}function Jr(e,t){var s,i,l,u;const r=e.seen.get(t);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");const n=new Map;for(const c of e.seen.entries()){const d=(s=e.metadataRegistry.get(c[0]))==null?void 0:s.id;if(d){const p=n.get(d);if(p&&p!==c[0])throw new Error(`Duplicate schema id "${d}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);n.set(d,c[0])}}const a=c=>{var _;const d=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){const I=(_=e.external.registry.get(c[0]))==null?void 0:_.id,P=e.external.uri??(m=>m);if(I)return{ref:P(I)};const C=c[1].defId??c[1].schema.id??`schema${e.counter++}`;return c[1].defId=C,{defId:C,ref:`${P("__shared")}#/${d}/${C}`}}if(c[1]===r)return{ref:"#"};const w=`#/${d}/`,b=c[1].schema.id??`__schema${e.counter++}`;return{defId:b,ref:w+b}},o=c=>{if(c[1].schema.$ref)return;const d=c[1],{ref:p,defId:w}=a(c);d.def={...d.schema},w&&(d.defId=w);const b=d.schema;for(const _ in b)delete b[_];b.$ref=p};if(e.cycles==="throw")for(const c of e.seen.entries()){const d=c[1];if(d.cycle)throw new Error(`Cycle detected: #/${(i=d.cycle)==null?void 0:i.join("/")}/<root>
40
40
 
41
- Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const c of e.seen.entries()){const d=c[1];if(t===c[0]){o(c);continue}if(e.external){const w=(l=e.external.registry.get(c[0]))==null?void 0:l.id;if(t!==c[0]&&w){o(c);continue}}if((u=e.metadataRegistry.get(c[0]))==null?void 0:u.id){o(c);continue}if(d.cycle){o(c);continue}if(d.count>1&&e.reused==="ref"){o(c);continue}}}function Yr(e,t){var s,i,l;const r=e.seen.get(t);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");const n=u=>{const c=e.seen.get(u);if(c.ref===null)return;const d=c.def??c.schema,p={...d},w=c.ref;if(c.ref=null,w){n(w);const _=e.seen.get(w),I=_.schema;if(I.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(d.allOf=d.allOf??[],d.allOf.push(I)):Object.assign(d,I),Object.assign(d,p),u._zod.parent===w)for(const C in d)C==="$ref"||C==="allOf"||C in p||delete d[C];if(I.$ref)for(const C in d)C==="$ref"||C==="allOf"||C in _.def&&JSON.stringify(d[C])===JSON.stringify(_.def[C])&&delete d[C]}const b=u._zod.parent;if(b&&b!==w){n(b);const _=e.seen.get(b);if(_!=null&&_.schema.$ref&&(d.$ref=_.schema.$ref,_.def))for(const I in d)I==="$ref"||I==="allOf"||I in _.def&&JSON.stringify(d[I])===JSON.stringify(_.def[I])&&delete d[I]}e.override({zodSchema:u,jsonSchema:d,path:c.path??[]})};for(const u of[...e.seen.entries()].reverse())n(u[0]);const a={};if(e.target==="draft-2020-12"?a.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?a.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?a.$schema="http://json-schema.org/draft-04/schema#":e.target,(s=e.external)!=null&&s.uri){const u=(i=e.external.registry.get(t))==null?void 0:i.id;if(!u)throw new Error("Schema is missing an `id` property");a.$id=e.external.uri(u)}Object.assign(a,r.def??r.schema);const o=((l=e.external)==null?void 0:l.defs)??{};for(const u of e.seen.entries()){const c=u[1];c.def&&c.defId&&(o[c.defId]=c.def)}e.external||Object.keys(o).length>0&&(e.target==="draft-2020-12"?a.$defs=o:a.definitions=o);try{const u=JSON.parse(JSON.stringify(a));return Object.defineProperty(u,"~standard",{value:{...t["~standard"],jsonSchema:{input:Wr(t,"input",e.processors),output:Wr(t,"output",e.processors)}},enumerable:!1,writable:!1}),u}catch{throw new Error("Error converting schema to JSON.")}}function ze(e,t){const r=t??{seen:new Set};if(r.seen.has(e))return!1;r.seen.add(e);const n=e._zod.def;if(n.type==="transform")return!0;if(n.type==="array")return ze(n.element,r);if(n.type==="set")return ze(n.valueType,r);if(n.type==="lazy")return ze(n.getter(),r);if(n.type==="promise"||n.type==="optional"||n.type==="nonoptional"||n.type==="nullable"||n.type==="readonly"||n.type==="default"||n.type==="prefault")return ze(n.innerType,r);if(n.type==="intersection")return ze(n.left,r)||ze(n.right,r);if(n.type==="record"||n.type==="map")return ze(n.keyType,r)||ze(n.valueType,r);if(n.type==="pipe")return ze(n.in,r)||ze(n.out,r);if(n.type==="object"){for(const a in n.shape)if(ze(n.shape[a],r))return!0;return!1}if(n.type==="union"){for(const a of n.options)if(ze(a,r))return!0;return!1}if(n.type==="tuple"){for(const a of n.items)if(ze(a,r))return!0;return!!(n.rest&&ze(n.rest,r))}return!1}const Mp=(e,t={})=>r=>{const n=Hr({...r,processors:t});return ue(e,n),Jr(n,e),Yr(n,e)},Wr=(e,t,r={})=>n=>{const{libraryOptions:a,target:o}=n??{},s=Hr({...a??{},target:o,io:t,processors:r});return ue(e,s),Jr(s,e),Yr(s,e)},Fp={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Bs=(e,t,r,n)=>{const a=r;a.type="string";const{minimum:o,maximum:s,format:i,patterns:l,contentEncoding:u}=e._zod.bag;if(typeof o=="number"&&(a.minLength=o),typeof s=="number"&&(a.maxLength=s),i&&(a.format=Fp[i]??i,a.format===""&&delete a.format,i==="time"&&delete a.format),u&&(a.contentEncoding=u),l&&l.size>0){const c=[...l];c.length===1?a.pattern=c[0].source:c.length>1&&(a.allOf=[...c.map(d=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:d.source}))])}},Vs=(e,t,r,n)=>{const a=r,{minimum:o,maximum:s,format:i,multipleOf:l,exclusiveMaximum:u,exclusiveMinimum:c}=e._zod.bag;typeof i=="string"&&i.includes("int")?a.type="integer":a.type="number",typeof c=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(a.minimum=c,a.exclusiveMinimum=!0):a.exclusiveMinimum=c),typeof o=="number"&&(a.minimum=o,typeof c=="number"&&t.target!=="draft-04"&&(c>=o?delete a.minimum:delete a.exclusiveMinimum)),typeof u=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(a.maximum=u,a.exclusiveMaximum=!0):a.exclusiveMaximum=u),typeof s=="number"&&(a.maximum=s,typeof u=="number"&&t.target!=="draft-04"&&(u<=s?delete a.maximum:delete a.exclusiveMaximum)),typeof l=="number"&&(a.multipleOf=l)},Hs=(e,t,r,n)=>{r.type="boolean"},Lp=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema")},Up=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema")},Js=(e,t,r,n)=>{t.target==="openapi-3.0"?(r.type="string",r.nullable=!0,r.enum=[null]):r.type="null"},jp=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},qp=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema")},Ys=(e,t,r,n)=>{r.not={}},Ws=(e,t,r,n)=>{},Ks=(e,t,r,n)=>{},Zp=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema")},Xs=(e,t,r,n)=>{const a=e._zod.def,o=Is(a.entries);o.every(s=>typeof s=="number")&&(r.type="number"),o.every(s=>typeof s=="string")&&(r.type="string"),r.enum=o},Qs=(e,t,r,n)=>{const a=e._zod.def,o=[];for(const s of a.values)if(s===void 0){if(t.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof s=="bigint"){if(t.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");o.push(Number(s))}else o.push(s);if(o.length!==0)if(o.length===1){const s=o[0];r.type=s===null?"null":typeof s,t.target==="draft-04"||t.target==="openapi-3.0"?r.enum=[s]:r.const=s}else o.every(s=>typeof s=="number")&&(r.type="number"),o.every(s=>typeof s=="string")&&(r.type="string"),o.every(s=>typeof s=="boolean")&&(r.type="boolean"),o.every(s=>s===null)&&(r.type="null"),r.enum=o},Gp=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema")},Bp=(e,t,r,n)=>{const a=r,o=e._zod.pattern;if(!o)throw new Error("Pattern not found in template literal");a.type="string",a.pattern=o.source},Vp=(e,t,r,n)=>{const a=r,o={type:"string",format:"binary",contentEncoding:"binary"},{minimum:s,maximum:i,mime:l}=e._zod.bag;s!==void 0&&(o.minLength=s),i!==void 0&&(o.maxLength=i),l?l.length===1?(o.contentMediaType=l[0],Object.assign(a,o)):(Object.assign(a,o),a.anyOf=l.map(u=>({contentMediaType:u}))):Object.assign(a,o)},Hp=(e,t,r,n)=>{r.type="boolean"},ei=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},Jp=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Function types cannot be represented in JSON Schema")},ti=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},Yp=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema")},Wp=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema")},ri=(e,t,r,n)=>{const a=r,o=e._zod.def,{minimum:s,maximum:i}=e._zod.bag;typeof s=="number"&&(a.minItems=s),typeof i=="number"&&(a.maxItems=i),a.type="array",a.items=ue(o.element,t,{...n,path:[...n.path,"items"]})},ni=(e,t,r,n)=>{var u;const a=r,o=e._zod.def;a.type="object",a.properties={};const s=o.shape;for(const c in s)a.properties[c]=ue(s[c],t,{...n,path:[...n.path,"properties",c]});const i=new Set(Object.keys(s)),l=new Set([...i].filter(c=>{const d=o.shape[c]._zod;return t.io==="input"?d.optin===void 0:d.optout===void 0}));l.size>0&&(a.required=Array.from(l)),((u=o.catchall)==null?void 0:u._zod.def.type)==="never"?a.additionalProperties=!1:o.catchall?o.catchall&&(a.additionalProperties=ue(o.catchall,t,{...n,path:[...n.path,"additionalProperties"]})):t.io==="output"&&(a.additionalProperties=!1)},ai=(e,t,r,n)=>{const a=e._zod.def,o=a.inclusive===!1,s=a.options.map((i,l)=>ue(i,t,{...n,path:[...n.path,o?"oneOf":"anyOf",l]}));o?r.oneOf=s:r.anyOf=s},oi=(e,t,r,n)=>{const a=e._zod.def,o=ue(a.left,t,{...n,path:[...n.path,"allOf",0]}),s=ue(a.right,t,{...n,path:[...n.path,"allOf",1]}),i=u=>"allOf"in u&&Object.keys(u).length===1,l=[...i(o)?o.allOf:[o],...i(s)?s.allOf:[s]];r.allOf=l},Kp=(e,t,r,n)=>{const a=r,o=e._zod.def;a.type="array";const s=t.target==="draft-2020-12"?"prefixItems":"items",i=t.target==="draft-2020-12"||t.target==="openapi-3.0"?"items":"additionalItems",l=o.items.map((p,w)=>ue(p,t,{...n,path:[...n.path,s,w]})),u=o.rest?ue(o.rest,t,{...n,path:[...n.path,i,...t.target==="openapi-3.0"?[o.items.length]:[]]}):null;t.target==="draft-2020-12"?(a.prefixItems=l,u&&(a.items=u)):t.target==="openapi-3.0"?(a.items={anyOf:l},u&&a.items.anyOf.push(u),a.minItems=l.length,u||(a.maxItems=l.length)):(a.items=l,u&&(a.additionalItems=u));const{minimum:c,maximum:d}=e._zod.bag;typeof c=="number"&&(a.minItems=c),typeof d=="number"&&(a.maxItems=d)},si=(e,t,r,n)=>{const a=r,o=e._zod.def;a.type="object";const s=o.keyType,i=s._zod.bag,l=i==null?void 0:i.patterns;if(o.mode==="loose"&&l&&l.size>0){const c=ue(o.valueType,t,{...n,path:[...n.path,"patternProperties","*"]});a.patternProperties={};for(const d of l)a.patternProperties[d.source]=c}else(t.target==="draft-07"||t.target==="draft-2020-12")&&(a.propertyNames=ue(o.keyType,t,{...n,path:[...n.path,"propertyNames"]})),a.additionalProperties=ue(o.valueType,t,{...n,path:[...n.path,"additionalProperties"]});const u=s._zod.values;if(u){const c=[...u].filter(d=>typeof d=="string"||typeof d=="number");c.length>0&&(a.required=c)}},ii=(e,t,r,n)=>{const a=e._zod.def,o=ue(a.innerType,t,n),s=t.seen.get(e);t.target==="openapi-3.0"?(s.ref=a.innerType,r.nullable=!0):r.anyOf=[o,{type:"null"}]},li=(e,t,r,n)=>{const a=e._zod.def;ue(a.innerType,t,n);const o=t.seen.get(e);o.ref=a.innerType},ui=(e,t,r,n)=>{const a=e._zod.def;ue(a.innerType,t,n);const o=t.seen.get(e);o.ref=a.innerType,r.default=JSON.parse(JSON.stringify(a.defaultValue))},ci=(e,t,r,n)=>{const a=e._zod.def;ue(a.innerType,t,n);const o=t.seen.get(e);o.ref=a.innerType,t.io==="input"&&(r._prefault=JSON.parse(JSON.stringify(a.defaultValue)))},di=(e,t,r,n)=>{const a=e._zod.def;ue(a.innerType,t,n);const o=t.seen.get(e);o.ref=a.innerType;let s;try{s=a.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}r.default=s},pi=(e,t,r,n)=>{const a=e._zod.def,o=t.io==="input"?a.in._zod.def.type==="transform"?a.out:a.in:a.out;ue(o,t,n);const s=t.seen.get(e);s.ref=o},fi=(e,t,r,n)=>{const a=e._zod.def;ue(a.innerType,t,n);const o=t.seen.get(e);o.ref=a.innerType,r.readOnly=!0},Xp=(e,t,r,n)=>{const a=e._zod.def;ue(a.innerType,t,n);const o=t.seen.get(e);o.ref=a.innerType},ra=(e,t,r,n)=>{const a=e._zod.def;ue(a.innerType,t,n);const o=t.seen.get(e);o.ref=a.innerType},gi=(e,t,r,n)=>{const a=e._zod.innerType;ue(a,t,n);const o=t.seen.get(e);o.ref=a},Xa={string:Bs,number:Vs,boolean:Hs,bigint:Lp,symbol:Up,null:Js,undefined:jp,void:qp,never:Ys,any:Ws,unknown:Ks,date:Zp,enum:Xs,literal:Qs,nan:Gp,template_literal:Bp,file:Vp,success:Hp,custom:ei,function:Jp,transform:ti,map:Yp,set:Wp,array:ri,object:ni,union:ai,intersection:oi,tuple:Kp,record:si,nullable:ii,nonoptional:li,default:ui,prefault:ci,catch:di,pipe:pi,readonly:fi,promise:Xp,optional:ra,lazy:gi};function Qp(e,t){if("_idmap"in e){const n=e,a=Hr({...t,processors:Xa}),o={};for(const l of n._idmap.entries()){const[u,c]=l;ue(c,a)}const s={},i={registry:n,uri:t==null?void 0:t.uri,defs:o};a.external=i;for(const l of n._idmap.entries()){const[u,c]=l;Jr(a,c),s[u]=Yr(a,c)}if(Object.keys(o).length>0){const l=a.target==="draft-2020-12"?"$defs":"definitions";s.__shared={[l]:o}}return{schemas:s}}const r=Hr({...t,processors:Xa});return ue(e,r),Jr(r,e),Yr(r,e)}const ef=E("ZodISODateTime",(e,t)=>{td.init(e,t),ve.init(e,t)});function tf(e){return cp(ef,e)}const rf=E("ZodISODate",(e,t)=>{rd.init(e,t),ve.init(e,t)});function nf(e){return dp(rf,e)}const af=E("ZodISOTime",(e,t)=>{nd.init(e,t),ve.init(e,t)});function of(e){return pp(af,e)}const sf=E("ZodISODuration",(e,t)=>{ad.init(e,t),ve.init(e,t)});function lf(e){return fp(sf,e)}const uf=(e,t)=>{xs.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:r=>Hu(e,r)},flatten:{value:r=>Vu(e,r)},addIssue:{value:r=>{e.issues.push(r),e.message=JSON.stringify(e.issues,Fn,2)}},addIssues:{value:r=>{e.issues.push(...r),e.message=JSON.stringify(e.issues,Fn,2)}},isEmpty:{get(){return e.issues.length===0}}})},Be=E("ZodError",uf,{Parent:Error}),cf=Qn(Be),df=ea(Be),pf=cn(Be),hi=dn(Be),ff=Wu(Be),gf=Ku(Be),hf=Xu(Be),mf=Qu(Be),yf=ec(Be),vf=tc(Be),wf=rc(Be),_f=nc(Be),de=E("ZodType",(e,t)=>(ce.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:Wr(e,"input"),output:Wr(e,"output")}}),e.toJSONSchema=Mp(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.check=(...r)=>e.clone(bt(t,{checks:[...t.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),{parent:!0}),e.with=e.check,e.clone=(r,n)=>It(e,r,n),e.brand=()=>e,e.register=((r,n)=>(r.add(e,n),e)),e.parse=(r,n)=>cf(e,r,n,{callee:e.parse}),e.safeParse=(r,n)=>pf(e,r,n),e.parseAsync=async(r,n)=>df(e,r,n,{callee:e.parseAsync}),e.safeParseAsync=async(r,n)=>hi(e,r,n),e.spa=e.safeParseAsync,e.encode=(r,n)=>ff(e,r,n),e.decode=(r,n)=>gf(e,r,n),e.encodeAsync=async(r,n)=>hf(e,r,n),e.decodeAsync=async(r,n)=>mf(e,r,n),e.safeEncode=(r,n)=>yf(e,r,n),e.safeDecode=(r,n)=>vf(e,r,n),e.safeEncodeAsync=async(r,n)=>wf(e,r,n),e.safeDecodeAsync=async(r,n)=>_f(e,r,n),e.refine=(r,n)=>e.check(wg(r,n)),e.superRefine=r=>e.check(_g(r)),e.overwrite=r=>e.check(Xt(r)),e.optional=()=>to(e),e.exactOptional=()=>ag(e),e.nullable=()=>ro(e),e.nullish=()=>to(ro(e)),e.nonoptional=r=>cg(e,r),e.array=()=>Ue(e),e.or=r=>Pe([e,r]),e.and=r=>Xf(e,r),e.transform=r=>no(e,rg(r)),e.default=r=>ig(e,r),e.prefault=r=>ug(e,r),e.catch=r=>pg(e,r),e.pipe=r=>no(e,r),e.readonly=()=>hg(e),e.describe=r=>{const n=e.clone();return cr.add(n,{description:r}),n},Object.defineProperty(e,"description",{get(){var r;return(r=cr.get(e))==null?void 0:r.description},configurable:!0}),e.meta=(...r)=>{if(r.length===0)return cr.get(e);const n=e.clone();return cr.add(n,r[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=r=>r(e),e)),mi=E("_ZodString",(e,t)=>{ta.init(e,t),de.init(e,t),e._zod.processJSONSchema=(n,a,o)=>Bs(e,n,a);const r=e._zod.bag;e.format=r.format??null,e.minLength=r.minimum??null,e.maxLength=r.maximum??null,e.regex=(...n)=>e.check(Tp(...n)),e.includes=(...n)=>e.check(Ip(...n)),e.startsWith=(...n)=>e.check(Sp(...n)),e.endsWith=(...n)=>e.check(Ap(...n)),e.min=(...n)=>e.check(Vr(...n)),e.max=(...n)=>e.check(Zs(...n)),e.length=(...n)=>e.check(Gs(...n)),e.nonempty=(...n)=>e.check(Vr(1,...n)),e.lowercase=n=>e.check(Ep(n)),e.uppercase=n=>e.check(bp(n)),e.trim=()=>e.check(xp()),e.normalize=(...n)=>e.check(Np(...n)),e.toLowerCase=()=>e.check(Op()),e.toUpperCase=()=>e.check(Rp()),e.slugify=()=>e.check(kp())}),Tf=E("ZodString",(e,t)=>{ta.init(e,t),mi.init(e,t),e.email=r=>e.check(Zd(Ef,r)),e.url=r=>e.check(Jd(bf,r)),e.jwt=r=>e.check(up(Ff,r)),e.emoji=r=>e.check(Yd(If,r)),e.guid=r=>e.check(Ja(Qa,r)),e.uuid=r=>e.check(Gd(Ur,r)),e.uuidv4=r=>e.check(Bd(Ur,r)),e.uuidv6=r=>e.check(Vd(Ur,r)),e.uuidv7=r=>e.check(Hd(Ur,r)),e.nanoid=r=>e.check(Wd(Sf,r)),e.guid=r=>e.check(Ja(Qa,r)),e.cuid=r=>e.check(Kd(Af,r)),e.cuid2=r=>e.check(Xd(Nf,r)),e.ulid=r=>e.check(Qd(xf,r)),e.base64=r=>e.check(sp(zf,r)),e.base64url=r=>e.check(ip($f,r)),e.xid=r=>e.check(ep(Of,r)),e.ksuid=r=>e.check(tp(Rf,r)),e.ipv4=r=>e.check(rp(kf,r)),e.ipv6=r=>e.check(np(Pf,r)),e.cidrv4=r=>e.check(ap(Cf,r)),e.cidrv6=r=>e.check(op(Df,r)),e.e164=r=>e.check(lp(Mf,r)),e.datetime=r=>e.check(tf(r)),e.date=r=>e.check(nf(r)),e.time=r=>e.check(of(r)),e.duration=r=>e.check(lf(r))});function R(e){return qd(Tf,e)}const ve=E("ZodStringFormat",(e,t)=>{me.init(e,t),mi.init(e,t)}),Ef=E("ZodEmail",(e,t)=>{Vc.init(e,t),ve.init(e,t)}),Qa=E("ZodGUID",(e,t)=>{Gc.init(e,t),ve.init(e,t)}),Ur=E("ZodUUID",(e,t)=>{Bc.init(e,t),ve.init(e,t)}),bf=E("ZodURL",(e,t)=>{Hc.init(e,t),ve.init(e,t)}),If=E("ZodEmoji",(e,t)=>{Jc.init(e,t),ve.init(e,t)}),Sf=E("ZodNanoID",(e,t)=>{Yc.init(e,t),ve.init(e,t)}),Af=E("ZodCUID",(e,t)=>{Wc.init(e,t),ve.init(e,t)}),Nf=E("ZodCUID2",(e,t)=>{Kc.init(e,t),ve.init(e,t)}),xf=E("ZodULID",(e,t)=>{Xc.init(e,t),ve.init(e,t)}),Of=E("ZodXID",(e,t)=>{Qc.init(e,t),ve.init(e,t)}),Rf=E("ZodKSUID",(e,t)=>{ed.init(e,t),ve.init(e,t)}),kf=E("ZodIPv4",(e,t)=>{od.init(e,t),ve.init(e,t)}),Pf=E("ZodIPv6",(e,t)=>{sd.init(e,t),ve.init(e,t)}),Cf=E("ZodCIDRv4",(e,t)=>{id.init(e,t),ve.init(e,t)}),Df=E("ZodCIDRv6",(e,t)=>{ld.init(e,t),ve.init(e,t)}),zf=E("ZodBase64",(e,t)=>{ud.init(e,t),ve.init(e,t)}),$f=E("ZodBase64URL",(e,t)=>{dd.init(e,t),ve.init(e,t)}),Mf=E("ZodE164",(e,t)=>{pd.init(e,t),ve.init(e,t)}),Ff=E("ZodJWT",(e,t)=>{gd.init(e,t),ve.init(e,t)}),yi=E("ZodNumber",(e,t)=>{Fs.init(e,t),de.init(e,t),e._zod.processJSONSchema=(n,a,o)=>Vs(e,n,a),e.gt=(n,a)=>e.check(Wa(n,a)),e.gte=(n,a)=>e.check(bn(n,a)),e.min=(n,a)=>e.check(bn(n,a)),e.lt=(n,a)=>e.check(Ya(n,a)),e.lte=(n,a)=>e.check(En(n,a)),e.max=(n,a)=>e.check(En(n,a)),e.int=n=>e.check(eo(n)),e.safe=n=>e.check(eo(n)),e.positive=n=>e.check(Wa(0,n)),e.nonnegative=n=>e.check(bn(0,n)),e.negative=n=>e.check(Ya(0,n)),e.nonpositive=n=>e.check(En(0,n)),e.multipleOf=(n,a)=>e.check(Ka(n,a)),e.step=(n,a)=>e.check(Ka(n,a)),e.finite=()=>e;const r=e._zod.bag;e.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),e.isFinite=!0,e.format=r.format??null});function Kr(e){return gp(yi,e)}const Lf=E("ZodNumberFormat",(e,t)=>{hd.init(e,t),yi.init(e,t)});function eo(e){return hp(Lf,e)}const Uf=E("ZodBoolean",(e,t)=>{md.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>Hs(e,r,n)});function na(e){return mp(Uf,e)}const jf=E("ZodNull",(e,t)=>{yd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>Js(e,r,n)});function qf(e){return yp(jf,e)}const Zf=E("ZodAny",(e,t)=>{vd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>Ws()});function yt(){return vp(Zf)}const Gf=E("ZodUnknown",(e,t)=>{wd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>Ks()});function kt(){return wp(Gf)}const Bf=E("ZodNever",(e,t)=>{_d.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>Ys(e,r,n)});function Vf(e){return _p(Bf,e)}const Hf=E("ZodArray",(e,t)=>{Td.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ri(e,r,n,a),e.element=t.element,e.min=(r,n)=>e.check(Vr(r,n)),e.nonempty=r=>e.check(Vr(1,r)),e.max=(r,n)=>e.check(Zs(r,n)),e.length=(r,n)=>e.check(Gs(r,n)),e.unwrap=()=>e.element});function Ue(e,t){return Pp(Hf,e,t)}const Jf=E("ZodObject",(e,t)=>{bd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ni(e,r,n,a),Y(e,"shape",()=>t.shape),e.keyof=()=>wi(Object.keys(e._zod.def.shape)),e.catchall=r=>e.clone({...e._zod.def,catchall:r}),e.passthrough=()=>e.clone({...e._zod.def,catchall:kt()}),e.loose=()=>e.clone({...e._zod.def,catchall:kt()}),e.strict=()=>e.clone({...e._zod.def,catchall:Vf()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=r=>ju(e,r),e.safeExtend=r=>qu(e,r),e.merge=r=>Zu(e,r),e.pick=r=>Lu(e,r),e.omit=r=>Uu(e,r),e.partial=(...r)=>Gu(_i,e,r[0]),e.required=(...r)=>Bu(Ti,e,r[0])});function G(e,t){const r={type:"object",shape:e??{},...k(t)};return new Jf(r)}const vi=E("ZodUnion",(e,t)=>{js.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ai(e,r,n,a),e.options=t.options});function Pe(e,t){return new vi({type:"union",options:e,...k(t)})}const Yf=E("ZodDiscriminatedUnion",(e,t)=>{vi.init(e,t),Id.init(e,t)});function Wf(e,t,r){return new Yf({type:"union",options:t,discriminator:e,...k(r)})}const Kf=E("ZodIntersection",(e,t)=>{Sd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>oi(e,r,n,a)});function Xf(e,t){return new Kf({type:"intersection",left:e,right:t})}const Qf=E("ZodRecord",(e,t)=>{Ad.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>si(e,r,n,a),e.keyType=t.keyType,e.valueType=t.valueType});function Tt(e,t,r){return new Qf({type:"record",keyType:e,valueType:t,...k(r)})}const Un=E("ZodEnum",(e,t)=>{Nd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(n,a,o)=>Xs(e,n,a),e.enum=t.entries,e.options=Object.values(t.entries);const r=new Set(Object.keys(t.entries));e.extract=(n,a)=>{const o={};for(const s of n)if(r.has(s))o[s]=t.entries[s];else throw new Error(`Key ${s} not found in enum`);return new Un({...t,checks:[],...k(a),entries:o})},e.exclude=(n,a)=>{const o={...t.entries};for(const s of n)if(r.has(s))delete o[s];else throw new Error(`Key ${s} not found in enum`);return new Un({...t,checks:[],...k(a),entries:o})}});function wi(e,t){const r=Array.isArray(e)?Object.fromEntries(e.map(n=>[n,n])):e;return new Un({type:"enum",entries:r,...k(t)})}const eg=E("ZodLiteral",(e,t)=>{xd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>Qs(e,r,n),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function ee(e,t){return new eg({type:"literal",values:Array.isArray(e)?e:[e],...k(t)})}const tg=E("ZodTransform",(e,t)=>{Od.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ti(e,r),e._zod.parse=(r,n)=>{if(n.direction==="backward")throw new Es(e.constructor.name);r.addIssue=o=>{if(typeof o=="string")r.issues.push(hr(o,r.value,t));else{const s=o;s.fatal&&(s.continue=!1),s.code??(s.code="custom"),s.input??(s.input=r.value),s.inst??(s.inst=e),r.issues.push(hr(s))}};const a=t.transform(r.value,r);return a instanceof Promise?a.then(o=>(r.value=o,r)):(r.value=a,r)}});function rg(e){return new tg({type:"transform",transform:e})}const _i=E("ZodOptional",(e,t)=>{qs.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ra(e,r,n,a),e.unwrap=()=>e._zod.def.innerType});function to(e){return new _i({type:"optional",innerType:e})}const ng=E("ZodExactOptional",(e,t)=>{Rd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ra(e,r,n,a),e.unwrap=()=>e._zod.def.innerType});function ag(e){return new ng({type:"optional",innerType:e})}const og=E("ZodNullable",(e,t)=>{kd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ii(e,r,n,a),e.unwrap=()=>e._zod.def.innerType});function ro(e){return new og({type:"nullable",innerType:e})}const sg=E("ZodDefault",(e,t)=>{Pd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ui(e,r,n,a),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function ig(e,t){return new sg({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():As(t)}})}const lg=E("ZodPrefault",(e,t)=>{Cd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ci(e,r,n,a),e.unwrap=()=>e._zod.def.innerType});function ug(e,t){return new lg({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():As(t)}})}const Ti=E("ZodNonOptional",(e,t)=>{Dd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>li(e,r,n,a),e.unwrap=()=>e._zod.def.innerType});function cg(e,t){return new Ti({type:"nonoptional",innerType:e,...k(t)})}const dg=E("ZodCatch",(e,t)=>{zd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>di(e,r,n,a),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function pg(e,t){return new dg({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}const fg=E("ZodPipe",(e,t)=>{$d.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>pi(e,r,n,a),e.in=t.in,e.out=t.out});function no(e,t){return new fg({type:"pipe",in:e,out:t})}const gg=E("ZodReadonly",(e,t)=>{Md.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>fi(e,r,n,a),e.unwrap=()=>e._zod.def.innerType});function hg(e){return new gg({type:"readonly",innerType:e})}const mg=E("ZodLazy",(e,t)=>{Fd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>gi(e,r,n,a),e.unwrap=()=>e._zod.def.getter()});function yg(e){return new mg({type:"lazy",getter:e})}const aa=E("ZodCustom",(e,t)=>{Ld.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ei(e,r)});function vg(e,t){return Cp(aa,e??(()=>!0),t)}function wg(e,t={}){return Dp(aa,e,t)}function _g(e){return zp(e)}function Xr(e,t={}){const r=new aa({type:"custom",check:"custom",fn:n=>n instanceof e,abort:!0,...k(t)});return r._zod.bag.Class=e,r._zod.check=n=>{n.value instanceof e||n.issues.push({code:"invalid_type",expected:e.name,input:n.value,inst:r,path:[...r._zod.def.path??[]]})},r}var mr;(function(e){e.assertEqual=a=>{};function t(a){}e.assertIs=t;function r(a){throw new Error}e.assertNever=r,e.arrayToEnum=a=>{const o={};for(const s of a)o[s]=s;return o},e.getValidEnumValues=a=>{const o=e.objectKeys(a).filter(i=>typeof a[a[i]]!="number"),s={};for(const i of o)s[i]=a[i];return e.objectValues(s)},e.objectValues=a=>e.objectKeys(a).map(function(o){return a[o]}),e.objectKeys=typeof Object.keys=="function"?a=>Object.keys(a):a=>{const o=[];for(const s in a)Object.prototype.hasOwnProperty.call(a,s)&&o.push(s);return o},e.find=(a,o)=>{for(const s of a)if(o(s))return s},e.isInteger=typeof Number.isInteger=="function"?a=>Number.isInteger(a):a=>typeof a=="number"&&Number.isFinite(a)&&Math.floor(a)===a;function n(a,o=" | "){return a.map(s=>typeof s=="string"?`'${s}'`:s).join(o)}e.joinValues=n,e.jsonStringifyReplacer=(a,o)=>typeof o=="bigint"?o.toString():o})(mr||(mr={}));var ao;(function(e){e.mergeShapes=(t,r)=>({...t,...r})})(ao||(ao={}));mr.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]);mr.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class Qr extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};const r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=t}format(t){const r=t||function(o){return o.message},n={_errors:[]},a=o=>{for(const s of o.issues)if(s.code==="invalid_union")s.unionErrors.map(a);else if(s.code==="invalid_return_type")a(s.returnTypeError);else if(s.code==="invalid_arguments")a(s.argumentsError);else if(s.path.length===0)n._errors.push(r(s));else{let i=n,l=0;for(;l<s.path.length;){const u=s.path[l];l===s.path.length-1?(i[u]=i[u]||{_errors:[]},i[u]._errors.push(r(s))):i[u]=i[u]||{_errors:[]},i=i[u],l++}}};return a(this),n}static assert(t){if(!(t instanceof Qr))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,mr.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=r=>r.message){const r=Object.create(null),n=[];for(const a of this.issues)if(a.path.length>0){const o=a.path[0];r[o]=r[o]||[],r[o].push(t(a))}else n.push(t(a));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}}Qr.create=e=>new Qr(e);var oo;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t==null?void 0:t.message})(oo||(oo={}));var j;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(j||(j={}));class so extends Error{constructor(t,r){super(t),this.name="ParseError",this.type=r.type,this.field=r.field,this.value=r.value,this.line=r.line}}function In(e){}function Tg(e){if(typeof e=="function")throw new TypeError("`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?");const{onEvent:t=In,onError:r=In,onRetry:n=In,onComment:a}=e;let o="",s=!0,i,l="",u="";function c(_){const I=s?_.replace(/^\xEF\xBB\xBF/,""):_,[P,C]=Eg(`${o}${I}`);for(const m of P)d(m);o=C,s=!1}function d(_){if(_===""){w();return}if(_.startsWith(":")){a&&a(_.slice(_.startsWith(": ")?2:1));return}const I=_.indexOf(":");if(I!==-1){const P=_.slice(0,I),C=_[I+1]===" "?2:1,m=_.slice(I+C);p(P,m,_);return}p(_,"",_)}function p(_,I,P){switch(_){case"event":u=I;break;case"data":l=`${l}${I}
41
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const c of e.seen.entries()){const d=c[1];if(t===c[0]){o(c);continue}if(e.external){const w=(l=e.external.registry.get(c[0]))==null?void 0:l.id;if(t!==c[0]&&w){o(c);continue}}if((u=e.metadataRegistry.get(c[0]))==null?void 0:u.id){o(c);continue}if(d.cycle){o(c);continue}if(d.count>1&&e.reused==="ref"){o(c);continue}}}function Yr(e,t){var s,i,l;const r=e.seen.get(t);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");const n=u=>{const c=e.seen.get(u);if(c.ref===null)return;const d=c.def??c.schema,p={...d},w=c.ref;if(c.ref=null,w){n(w);const _=e.seen.get(w),I=_.schema;if(I.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(d.allOf=d.allOf??[],d.allOf.push(I)):Object.assign(d,I),Object.assign(d,p),u._zod.parent===w)for(const C in d)C==="$ref"||C==="allOf"||C in p||delete d[C];if(I.$ref)for(const C in d)C==="$ref"||C==="allOf"||C in _.def&&JSON.stringify(d[C])===JSON.stringify(_.def[C])&&delete d[C]}const b=u._zod.parent;if(b&&b!==w){n(b);const _=e.seen.get(b);if(_!=null&&_.schema.$ref&&(d.$ref=_.schema.$ref,_.def))for(const I in d)I==="$ref"||I==="allOf"||I in _.def&&JSON.stringify(d[I])===JSON.stringify(_.def[I])&&delete d[I]}e.override({zodSchema:u,jsonSchema:d,path:c.path??[]})};for(const u of[...e.seen.entries()].reverse())n(u[0]);const a={};if(e.target==="draft-2020-12"?a.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?a.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?a.$schema="http://json-schema.org/draft-04/schema#":e.target,(s=e.external)!=null&&s.uri){const u=(i=e.external.registry.get(t))==null?void 0:i.id;if(!u)throw new Error("Schema is missing an `id` property");a.$id=e.external.uri(u)}Object.assign(a,r.def??r.schema);const o=((l=e.external)==null?void 0:l.defs)??{};for(const u of e.seen.entries()){const c=u[1];c.def&&c.defId&&(o[c.defId]=c.def)}e.external||Object.keys(o).length>0&&(e.target==="draft-2020-12"?a.$defs=o:a.definitions=o);try{const u=JSON.parse(JSON.stringify(a));return Object.defineProperty(u,"~standard",{value:{...t["~standard"],jsonSchema:{input:Wr(t,"input",e.processors),output:Wr(t,"output",e.processors)}},enumerable:!1,writable:!1}),u}catch{throw new Error("Error converting schema to JSON.")}}function ze(e,t){const r=t??{seen:new Set};if(r.seen.has(e))return!1;r.seen.add(e);const n=e._zod.def;if(n.type==="transform")return!0;if(n.type==="array")return ze(n.element,r);if(n.type==="set")return ze(n.valueType,r);if(n.type==="lazy")return ze(n.getter(),r);if(n.type==="promise"||n.type==="optional"||n.type==="nonoptional"||n.type==="nullable"||n.type==="readonly"||n.type==="default"||n.type==="prefault")return ze(n.innerType,r);if(n.type==="intersection")return ze(n.left,r)||ze(n.right,r);if(n.type==="record"||n.type==="map")return ze(n.keyType,r)||ze(n.valueType,r);if(n.type==="pipe")return ze(n.in,r)||ze(n.out,r);if(n.type==="object"){for(const a in n.shape)if(ze(n.shape[a],r))return!0;return!1}if(n.type==="union"){for(const a of n.options)if(ze(a,r))return!0;return!1}if(n.type==="tuple"){for(const a of n.items)if(ze(a,r))return!0;return!!(n.rest&&ze(n.rest,r))}return!1}const Fp=(e,t={})=>r=>{const n=Hr({...r,processors:t});return ue(e,n),Jr(n,e),Yr(n,e)},Wr=(e,t,r={})=>n=>{const{libraryOptions:a,target:o}=n??{},s=Hr({...a??{},target:o,io:t,processors:r});return ue(e,s),Jr(s,e),Yr(s,e)},Lp={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Bs=(e,t,r,n)=>{const a=r;a.type="string";const{minimum:o,maximum:s,format:i,patterns:l,contentEncoding:u}=e._zod.bag;if(typeof o=="number"&&(a.minLength=o),typeof s=="number"&&(a.maxLength=s),i&&(a.format=Lp[i]??i,a.format===""&&delete a.format,i==="time"&&delete a.format),u&&(a.contentEncoding=u),l&&l.size>0){const c=[...l];c.length===1?a.pattern=c[0].source:c.length>1&&(a.allOf=[...c.map(d=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:d.source}))])}},Vs=(e,t,r,n)=>{const a=r,{minimum:o,maximum:s,format:i,multipleOf:l,exclusiveMaximum:u,exclusiveMinimum:c}=e._zod.bag;typeof i=="string"&&i.includes("int")?a.type="integer":a.type="number",typeof c=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(a.minimum=c,a.exclusiveMinimum=!0):a.exclusiveMinimum=c),typeof o=="number"&&(a.minimum=o,typeof c=="number"&&t.target!=="draft-04"&&(c>=o?delete a.minimum:delete a.exclusiveMinimum)),typeof u=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(a.maximum=u,a.exclusiveMaximum=!0):a.exclusiveMaximum=u),typeof s=="number"&&(a.maximum=s,typeof u=="number"&&t.target!=="draft-04"&&(u<=s?delete a.maximum:delete a.exclusiveMaximum)),typeof l=="number"&&(a.multipleOf=l)},Hs=(e,t,r,n)=>{r.type="boolean"},Up=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema")},jp=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema")},Js=(e,t,r,n)=>{t.target==="openapi-3.0"?(r.type="string",r.nullable=!0,r.enum=[null]):r.type="null"},qp=(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")},Ys=(e,t,r,n)=>{r.not={}},Ws=(e,t,r,n)=>{},Ks=(e,t,r,n)=>{},Gp=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema")},Xs=(e,t,r,n)=>{const a=e._zod.def,o=Is(a.entries);o.every(s=>typeof s=="number")&&(r.type="number"),o.every(s=>typeof s=="string")&&(r.type="string"),r.enum=o},Qs=(e,t,r,n)=>{const a=e._zod.def,o=[];for(const s of a.values)if(s===void 0){if(t.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof s=="bigint"){if(t.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");o.push(Number(s))}else o.push(s);if(o.length!==0)if(o.length===1){const s=o[0];r.type=s===null?"null":typeof s,t.target==="draft-04"||t.target==="openapi-3.0"?r.enum=[s]:r.const=s}else o.every(s=>typeof s=="number")&&(r.type="number"),o.every(s=>typeof s=="string")&&(r.type="string"),o.every(s=>typeof s=="boolean")&&(r.type="boolean"),o.every(s=>s===null)&&(r.type="null"),r.enum=o},Bp=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema")},Vp=(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},Hp=(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)},Jp=(e,t,r,n)=>{r.type="boolean"},ei=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},Yp=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Function types cannot be represented in JSON Schema")},ti=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},Wp=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema")},Kp=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema")},ri=(e,t,r,n)=>{const a=r,o=e._zod.def,{minimum:s,maximum:i}=e._zod.bag;typeof s=="number"&&(a.minItems=s),typeof i=="number"&&(a.maxItems=i),a.type="array",a.items=ue(o.element,t,{...n,path:[...n.path,"items"]})},ni=(e,t,r,n)=>{var u;const a=r,o=e._zod.def;a.type="object",a.properties={};const s=o.shape;for(const c in s)a.properties[c]=ue(s[c],t,{...n,path:[...n.path,"properties",c]});const i=new Set(Object.keys(s)),l=new Set([...i].filter(c=>{const d=o.shape[c]._zod;return t.io==="input"?d.optin===void 0:d.optout===void 0}));l.size>0&&(a.required=Array.from(l)),((u=o.catchall)==null?void 0:u._zod.def.type)==="never"?a.additionalProperties=!1:o.catchall?o.catchall&&(a.additionalProperties=ue(o.catchall,t,{...n,path:[...n.path,"additionalProperties"]})):t.io==="output"&&(a.additionalProperties=!1)},ai=(e,t,r,n)=>{const a=e._zod.def,o=a.inclusive===!1,s=a.options.map((i,l)=>ue(i,t,{...n,path:[...n.path,o?"oneOf":"anyOf",l]}));o?r.oneOf=s:r.anyOf=s},oi=(e,t,r,n)=>{const a=e._zod.def,o=ue(a.left,t,{...n,path:[...n.path,"allOf",0]}),s=ue(a.right,t,{...n,path:[...n.path,"allOf",1]}),i=u=>"allOf"in u&&Object.keys(u).length===1,l=[...i(o)?o.allOf:[o],...i(s)?s.allOf:[s]];r.allOf=l},Xp=(e,t,r,n)=>{const a=r,o=e._zod.def;a.type="array";const s=t.target==="draft-2020-12"?"prefixItems":"items",i=t.target==="draft-2020-12"||t.target==="openapi-3.0"?"items":"additionalItems",l=o.items.map((p,w)=>ue(p,t,{...n,path:[...n.path,s,w]})),u=o.rest?ue(o.rest,t,{...n,path:[...n.path,i,...t.target==="openapi-3.0"?[o.items.length]:[]]}):null;t.target==="draft-2020-12"?(a.prefixItems=l,u&&(a.items=u)):t.target==="openapi-3.0"?(a.items={anyOf:l},u&&a.items.anyOf.push(u),a.minItems=l.length,u||(a.maxItems=l.length)):(a.items=l,u&&(a.additionalItems=u));const{minimum:c,maximum:d}=e._zod.bag;typeof c=="number"&&(a.minItems=c),typeof d=="number"&&(a.maxItems=d)},si=(e,t,r,n)=>{const a=r,o=e._zod.def;a.type="object";const s=o.keyType,i=s._zod.bag,l=i==null?void 0:i.patterns;if(o.mode==="loose"&&l&&l.size>0){const c=ue(o.valueType,t,{...n,path:[...n.path,"patternProperties","*"]});a.patternProperties={};for(const d of l)a.patternProperties[d.source]=c}else(t.target==="draft-07"||t.target==="draft-2020-12")&&(a.propertyNames=ue(o.keyType,t,{...n,path:[...n.path,"propertyNames"]})),a.additionalProperties=ue(o.valueType,t,{...n,path:[...n.path,"additionalProperties"]});const u=s._zod.values;if(u){const c=[...u].filter(d=>typeof d=="string"||typeof d=="number");c.length>0&&(a.required=c)}},ii=(e,t,r,n)=>{const a=e._zod.def,o=ue(a.innerType,t,n),s=t.seen.get(e);t.target==="openapi-3.0"?(s.ref=a.innerType,r.nullable=!0):r.anyOf=[o,{type:"null"}]},li=(e,t,r,n)=>{const a=e._zod.def;ue(a.innerType,t,n);const o=t.seen.get(e);o.ref=a.innerType},ui=(e,t,r,n)=>{const a=e._zod.def;ue(a.innerType,t,n);const o=t.seen.get(e);o.ref=a.innerType,r.default=JSON.parse(JSON.stringify(a.defaultValue))},ci=(e,t,r,n)=>{const a=e._zod.def;ue(a.innerType,t,n);const o=t.seen.get(e);o.ref=a.innerType,t.io==="input"&&(r._prefault=JSON.parse(JSON.stringify(a.defaultValue)))},di=(e,t,r,n)=>{const a=e._zod.def;ue(a.innerType,t,n);const o=t.seen.get(e);o.ref=a.innerType;let s;try{s=a.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}r.default=s},pi=(e,t,r,n)=>{const a=e._zod.def,o=t.io==="input"?a.in._zod.def.type==="transform"?a.out:a.in:a.out;ue(o,t,n);const s=t.seen.get(e);s.ref=o},fi=(e,t,r,n)=>{const a=e._zod.def;ue(a.innerType,t,n);const o=t.seen.get(e);o.ref=a.innerType,r.readOnly=!0},Qp=(e,t,r,n)=>{const a=e._zod.def;ue(a.innerType,t,n);const o=t.seen.get(e);o.ref=a.innerType},ra=(e,t,r,n)=>{const a=e._zod.def;ue(a.innerType,t,n);const o=t.seen.get(e);o.ref=a.innerType},gi=(e,t,r,n)=>{const a=e._zod.innerType;ue(a,t,n);const o=t.seen.get(e);o.ref=a},Xa={string:Bs,number:Vs,boolean:Hs,bigint:Up,symbol:jp,null:Js,undefined:qp,void:Zp,never:Ys,any:Ws,unknown:Ks,date:Gp,enum:Xs,literal:Qs,nan:Bp,template_literal:Vp,file:Hp,success:Jp,custom:ei,function:Yp,transform:ti,map:Wp,set:Kp,array:ri,object:ni,union:ai,intersection:oi,tuple:Xp,record:si,nullable:ii,nonoptional:li,default:ui,prefault:ci,catch:di,pipe:pi,readonly:fi,promise:Qp,optional:ra,lazy:gi};function ef(e,t){if("_idmap"in e){const n=e,a=Hr({...t,processors:Xa}),o={};for(const l of n._idmap.entries()){const[u,c]=l;ue(c,a)}const s={},i={registry:n,uri:t==null?void 0:t.uri,defs:o};a.external=i;for(const l of n._idmap.entries()){const[u,c]=l;Jr(a,c),s[u]=Yr(a,c)}if(Object.keys(o).length>0){const l=a.target==="draft-2020-12"?"$defs":"definitions";s.__shared={[l]:o}}return{schemas:s}}const r=Hr({...t,processors:Xa});return ue(e,r),Jr(r,e),Yr(r,e)}const tf=E("ZodISODateTime",(e,t)=>{rd.init(e,t),ve.init(e,t)});function rf(e){return dp(tf,e)}const nf=E("ZodISODate",(e,t)=>{nd.init(e,t),ve.init(e,t)});function af(e){return pp(nf,e)}const of=E("ZodISOTime",(e,t)=>{ad.init(e,t),ve.init(e,t)});function sf(e){return fp(of,e)}const lf=E("ZodISODuration",(e,t)=>{od.init(e,t),ve.init(e,t)});function uf(e){return gp(lf,e)}const cf=(e,t)=>{xs.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:r=>Ju(e,r)},flatten:{value:r=>Hu(e,r)},addIssue:{value:r=>{e.issues.push(r),e.message=JSON.stringify(e.issues,Fn,2)}},addIssues:{value:r=>{e.issues.push(...r),e.message=JSON.stringify(e.issues,Fn,2)}},isEmpty:{get(){return e.issues.length===0}}})},Be=E("ZodError",cf,{Parent:Error}),df=Qn(Be),pf=ea(Be),ff=cn(Be),hi=dn(Be),gf=Ku(Be),hf=Xu(Be),mf=Qu(Be),yf=ec(Be),vf=tc(Be),wf=rc(Be),_f=nc(Be),Tf=ac(Be),de=E("ZodType",(e,t)=>(ce.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:Wr(e,"input"),output:Wr(e,"output")}}),e.toJSONSchema=Fp(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.check=(...r)=>e.clone(bt(t,{checks:[...t.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),{parent:!0}),e.with=e.check,e.clone=(r,n)=>It(e,r,n),e.brand=()=>e,e.register=((r,n)=>(r.add(e,n),e)),e.parse=(r,n)=>df(e,r,n,{callee:e.parse}),e.safeParse=(r,n)=>ff(e,r,n),e.parseAsync=async(r,n)=>pf(e,r,n,{callee:e.parseAsync}),e.safeParseAsync=async(r,n)=>hi(e,r,n),e.spa=e.safeParseAsync,e.encode=(r,n)=>gf(e,r,n),e.decode=(r,n)=>hf(e,r,n),e.encodeAsync=async(r,n)=>mf(e,r,n),e.decodeAsync=async(r,n)=>yf(e,r,n),e.safeEncode=(r,n)=>vf(e,r,n),e.safeDecode=(r,n)=>wf(e,r,n),e.safeEncodeAsync=async(r,n)=>_f(e,r,n),e.safeDecodeAsync=async(r,n)=>Tf(e,r,n),e.refine=(r,n)=>e.check(_g(r,n)),e.superRefine=r=>e.check(Tg(r)),e.overwrite=r=>e.check(Xt(r)),e.optional=()=>to(e),e.exactOptional=()=>og(e),e.nullable=()=>ro(e),e.nullish=()=>to(ro(e)),e.nonoptional=r=>dg(e,r),e.array=()=>Ue(e),e.or=r=>Pe([e,r]),e.and=r=>Qf(e,r),e.transform=r=>no(e,ng(r)),e.default=r=>lg(e,r),e.prefault=r=>cg(e,r),e.catch=r=>fg(e,r),e.pipe=r=>no(e,r),e.readonly=()=>mg(e),e.describe=r=>{const n=e.clone();return cr.add(n,{description:r}),n},Object.defineProperty(e,"description",{get(){var r;return(r=cr.get(e))==null?void 0:r.description},configurable:!0}),e.meta=(...r)=>{if(r.length===0)return cr.get(e);const n=e.clone();return cr.add(n,r[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=r=>r(e),e)),mi=E("_ZodString",(e,t)=>{ta.init(e,t),de.init(e,t),e._zod.processJSONSchema=(n,a,o)=>Bs(e,n,a);const r=e._zod.bag;e.format=r.format??null,e.minLength=r.minimum??null,e.maxLength=r.maximum??null,e.regex=(...n)=>e.check(Ep(...n)),e.includes=(...n)=>e.check(Sp(...n)),e.startsWith=(...n)=>e.check(Ap(...n)),e.endsWith=(...n)=>e.check(Np(...n)),e.min=(...n)=>e.check(Vr(...n)),e.max=(...n)=>e.check(Zs(...n)),e.length=(...n)=>e.check(Gs(...n)),e.nonempty=(...n)=>e.check(Vr(1,...n)),e.lowercase=n=>e.check(bp(n)),e.uppercase=n=>e.check(Ip(n)),e.trim=()=>e.check(Op()),e.normalize=(...n)=>e.check(xp(...n)),e.toLowerCase=()=>e.check(Rp()),e.toUpperCase=()=>e.check(kp()),e.slugify=()=>e.check(Pp())}),Ef=E("ZodString",(e,t)=>{ta.init(e,t),mi.init(e,t),e.email=r=>e.check(Gd(bf,r)),e.url=r=>e.check(Yd(If,r)),e.jwt=r=>e.check(cp(Lf,r)),e.emoji=r=>e.check(Wd(Sf,r)),e.guid=r=>e.check(Ja(Qa,r)),e.uuid=r=>e.check(Bd(Ur,r)),e.uuidv4=r=>e.check(Vd(Ur,r)),e.uuidv6=r=>e.check(Hd(Ur,r)),e.uuidv7=r=>e.check(Jd(Ur,r)),e.nanoid=r=>e.check(Kd(Af,r)),e.guid=r=>e.check(Ja(Qa,r)),e.cuid=r=>e.check(Xd(Nf,r)),e.cuid2=r=>e.check(Qd(xf,r)),e.ulid=r=>e.check(ep(Of,r)),e.base64=r=>e.check(ip($f,r)),e.base64url=r=>e.check(lp(Mf,r)),e.xid=r=>e.check(tp(Rf,r)),e.ksuid=r=>e.check(rp(kf,r)),e.ipv4=r=>e.check(np(Pf,r)),e.ipv6=r=>e.check(ap(Cf,r)),e.cidrv4=r=>e.check(op(Df,r)),e.cidrv6=r=>e.check(sp(zf,r)),e.e164=r=>e.check(up(Ff,r)),e.datetime=r=>e.check(rf(r)),e.date=r=>e.check(af(r)),e.time=r=>e.check(sf(r)),e.duration=r=>e.check(uf(r))});function R(e){return Zd(Ef,e)}const ve=E("ZodStringFormat",(e,t)=>{me.init(e,t),mi.init(e,t)}),bf=E("ZodEmail",(e,t)=>{Hc.init(e,t),ve.init(e,t)}),Qa=E("ZodGUID",(e,t)=>{Bc.init(e,t),ve.init(e,t)}),Ur=E("ZodUUID",(e,t)=>{Vc.init(e,t),ve.init(e,t)}),If=E("ZodURL",(e,t)=>{Jc.init(e,t),ve.init(e,t)}),Sf=E("ZodEmoji",(e,t)=>{Yc.init(e,t),ve.init(e,t)}),Af=E("ZodNanoID",(e,t)=>{Wc.init(e,t),ve.init(e,t)}),Nf=E("ZodCUID",(e,t)=>{Kc.init(e,t),ve.init(e,t)}),xf=E("ZodCUID2",(e,t)=>{Xc.init(e,t),ve.init(e,t)}),Of=E("ZodULID",(e,t)=>{Qc.init(e,t),ve.init(e,t)}),Rf=E("ZodXID",(e,t)=>{ed.init(e,t),ve.init(e,t)}),kf=E("ZodKSUID",(e,t)=>{td.init(e,t),ve.init(e,t)}),Pf=E("ZodIPv4",(e,t)=>{sd.init(e,t),ve.init(e,t)}),Cf=E("ZodIPv6",(e,t)=>{id.init(e,t),ve.init(e,t)}),Df=E("ZodCIDRv4",(e,t)=>{ld.init(e,t),ve.init(e,t)}),zf=E("ZodCIDRv6",(e,t)=>{ud.init(e,t),ve.init(e,t)}),$f=E("ZodBase64",(e,t)=>{cd.init(e,t),ve.init(e,t)}),Mf=E("ZodBase64URL",(e,t)=>{pd.init(e,t),ve.init(e,t)}),Ff=E("ZodE164",(e,t)=>{fd.init(e,t),ve.init(e,t)}),Lf=E("ZodJWT",(e,t)=>{hd.init(e,t),ve.init(e,t)}),yi=E("ZodNumber",(e,t)=>{Fs.init(e,t),de.init(e,t),e._zod.processJSONSchema=(n,a,o)=>Vs(e,n,a),e.gt=(n,a)=>e.check(Wa(n,a)),e.gte=(n,a)=>e.check(bn(n,a)),e.min=(n,a)=>e.check(bn(n,a)),e.lt=(n,a)=>e.check(Ya(n,a)),e.lte=(n,a)=>e.check(En(n,a)),e.max=(n,a)=>e.check(En(n,a)),e.int=n=>e.check(eo(n)),e.safe=n=>e.check(eo(n)),e.positive=n=>e.check(Wa(0,n)),e.nonnegative=n=>e.check(bn(0,n)),e.negative=n=>e.check(Ya(0,n)),e.nonpositive=n=>e.check(En(0,n)),e.multipleOf=(n,a)=>e.check(Ka(n,a)),e.step=(n,a)=>e.check(Ka(n,a)),e.finite=()=>e;const r=e._zod.bag;e.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),e.isFinite=!0,e.format=r.format??null});function Kr(e){return hp(yi,e)}const Uf=E("ZodNumberFormat",(e,t)=>{md.init(e,t),yi.init(e,t)});function eo(e){return mp(Uf,e)}const jf=E("ZodBoolean",(e,t)=>{yd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>Hs(e,r,n)});function na(e){return yp(jf,e)}const qf=E("ZodNull",(e,t)=>{vd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>Js(e,r,n)});function Zf(e){return vp(qf,e)}const Gf=E("ZodAny",(e,t)=>{wd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>Ws()});function yt(){return wp(Gf)}const Bf=E("ZodUnknown",(e,t)=>{_d.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>Ks()});function kt(){return _p(Bf)}const Vf=E("ZodNever",(e,t)=>{Td.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>Ys(e,r,n)});function Hf(e){return Tp(Vf,e)}const Jf=E("ZodArray",(e,t)=>{Ed.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ri(e,r,n,a),e.element=t.element,e.min=(r,n)=>e.check(Vr(r,n)),e.nonempty=r=>e.check(Vr(1,r)),e.max=(r,n)=>e.check(Zs(r,n)),e.length=(r,n)=>e.check(Gs(r,n)),e.unwrap=()=>e.element});function Ue(e,t){return Cp(Jf,e,t)}const Yf=E("ZodObject",(e,t)=>{Id.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ni(e,r,n,a),Y(e,"shape",()=>t.shape),e.keyof=()=>wi(Object.keys(e._zod.def.shape)),e.catchall=r=>e.clone({...e._zod.def,catchall:r}),e.passthrough=()=>e.clone({...e._zod.def,catchall:kt()}),e.loose=()=>e.clone({...e._zod.def,catchall:kt()}),e.strict=()=>e.clone({...e._zod.def,catchall:Hf()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=r=>qu(e,r),e.safeExtend=r=>Zu(e,r),e.merge=r=>Gu(e,r),e.pick=r=>Uu(e,r),e.omit=r=>ju(e,r),e.partial=(...r)=>Bu(_i,e,r[0]),e.required=(...r)=>Vu(Ti,e,r[0])});function G(e,t){const r={type:"object",shape:e??{},...k(t)};return new Yf(r)}const vi=E("ZodUnion",(e,t)=>{js.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ai(e,r,n,a),e.options=t.options});function Pe(e,t){return new vi({type:"union",options:e,...k(t)})}const Wf=E("ZodDiscriminatedUnion",(e,t)=>{vi.init(e,t),Sd.init(e,t)});function Kf(e,t,r){return new Wf({type:"union",options:t,discriminator:e,...k(r)})}const Xf=E("ZodIntersection",(e,t)=>{Ad.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>oi(e,r,n,a)});function Qf(e,t){return new Xf({type:"intersection",left:e,right:t})}const eg=E("ZodRecord",(e,t)=>{Nd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>si(e,r,n,a),e.keyType=t.keyType,e.valueType=t.valueType});function Tt(e,t,r){return new eg({type:"record",keyType:e,valueType:t,...k(r)})}const Un=E("ZodEnum",(e,t)=>{xd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(n,a,o)=>Xs(e,n,a),e.enum=t.entries,e.options=Object.values(t.entries);const r=new Set(Object.keys(t.entries));e.extract=(n,a)=>{const o={};for(const s of n)if(r.has(s))o[s]=t.entries[s];else throw new Error(`Key ${s} not found in enum`);return new Un({...t,checks:[],...k(a),entries:o})},e.exclude=(n,a)=>{const o={...t.entries};for(const s of n)if(r.has(s))delete o[s];else throw new Error(`Key ${s} not found in enum`);return new Un({...t,checks:[],...k(a),entries:o})}});function wi(e,t){const r=Array.isArray(e)?Object.fromEntries(e.map(n=>[n,n])):e;return new Un({type:"enum",entries:r,...k(t)})}const tg=E("ZodLiteral",(e,t)=>{Od.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>Qs(e,r,n),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function ee(e,t){return new tg({type:"literal",values:Array.isArray(e)?e:[e],...k(t)})}const rg=E("ZodTransform",(e,t)=>{Rd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ti(e,r),e._zod.parse=(r,n)=>{if(n.direction==="backward")throw new Es(e.constructor.name);r.addIssue=o=>{if(typeof o=="string")r.issues.push(hr(o,r.value,t));else{const s=o;s.fatal&&(s.continue=!1),s.code??(s.code="custom"),s.input??(s.input=r.value),s.inst??(s.inst=e),r.issues.push(hr(s))}};const a=t.transform(r.value,r);return a instanceof Promise?a.then(o=>(r.value=o,r)):(r.value=a,r)}});function ng(e){return new rg({type:"transform",transform:e})}const _i=E("ZodOptional",(e,t)=>{qs.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ra(e,r,n,a),e.unwrap=()=>e._zod.def.innerType});function to(e){return new _i({type:"optional",innerType:e})}const ag=E("ZodExactOptional",(e,t)=>{kd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ra(e,r,n,a),e.unwrap=()=>e._zod.def.innerType});function og(e){return new ag({type:"optional",innerType:e})}const sg=E("ZodNullable",(e,t)=>{Pd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ii(e,r,n,a),e.unwrap=()=>e._zod.def.innerType});function ro(e){return new sg({type:"nullable",innerType:e})}const ig=E("ZodDefault",(e,t)=>{Cd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ui(e,r,n,a),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function lg(e,t){return new ig({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():As(t)}})}const ug=E("ZodPrefault",(e,t)=>{Dd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ci(e,r,n,a),e.unwrap=()=>e._zod.def.innerType});function cg(e,t){return new ug({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():As(t)}})}const Ti=E("ZodNonOptional",(e,t)=>{zd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>li(e,r,n,a),e.unwrap=()=>e._zod.def.innerType});function dg(e,t){return new Ti({type:"nonoptional",innerType:e,...k(t)})}const pg=E("ZodCatch",(e,t)=>{$d.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>di(e,r,n,a),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function fg(e,t){return new pg({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}const gg=E("ZodPipe",(e,t)=>{Md.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>pi(e,r,n,a),e.in=t.in,e.out=t.out});function no(e,t){return new gg({type:"pipe",in:e,out:t})}const hg=E("ZodReadonly",(e,t)=>{Fd.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>fi(e,r,n,a),e.unwrap=()=>e._zod.def.innerType});function mg(e){return new hg({type:"readonly",innerType:e})}const yg=E("ZodLazy",(e,t)=>{Ld.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>gi(e,r,n,a),e.unwrap=()=>e._zod.def.getter()});function vg(e){return new yg({type:"lazy",getter:e})}const aa=E("ZodCustom",(e,t)=>{Ud.init(e,t),de.init(e,t),e._zod.processJSONSchema=(r,n,a)=>ei(e,r)});function wg(e,t){return Dp(aa,e??(()=>!0),t)}function _g(e,t={}){return zp(aa,e,t)}function Tg(e){return $p(e)}function Xr(e,t={}){const r=new aa({type:"custom",check:"custom",fn:n=>n instanceof e,abort:!0,...k(t)});return r._zod.bag.Class=e,r._zod.check=n=>{n.value instanceof e||n.issues.push({code:"invalid_type",expected:e.name,input:n.value,inst:r,path:[...r._zod.def.path??[]]})},r}var mr;(function(e){e.assertEqual=a=>{};function t(a){}e.assertIs=t;function r(a){throw new Error}e.assertNever=r,e.arrayToEnum=a=>{const o={};for(const s of a)o[s]=s;return o},e.getValidEnumValues=a=>{const o=e.objectKeys(a).filter(i=>typeof a[a[i]]!="number"),s={};for(const i of o)s[i]=a[i];return e.objectValues(s)},e.objectValues=a=>e.objectKeys(a).map(function(o){return a[o]}),e.objectKeys=typeof Object.keys=="function"?a=>Object.keys(a):a=>{const o=[];for(const s in a)Object.prototype.hasOwnProperty.call(a,s)&&o.push(s);return o},e.find=(a,o)=>{for(const s of a)if(o(s))return s},e.isInteger=typeof Number.isInteger=="function"?a=>Number.isInteger(a):a=>typeof a=="number"&&Number.isFinite(a)&&Math.floor(a)===a;function n(a,o=" | "){return a.map(s=>typeof s=="string"?`'${s}'`:s).join(o)}e.joinValues=n,e.jsonStringifyReplacer=(a,o)=>typeof o=="bigint"?o.toString():o})(mr||(mr={}));var ao;(function(e){e.mergeShapes=(t,r)=>({...t,...r})})(ao||(ao={}));mr.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]);mr.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class Qr extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};const r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=t}format(t){const r=t||function(o){return o.message},n={_errors:[]},a=o=>{for(const s of o.issues)if(s.code==="invalid_union")s.unionErrors.map(a);else if(s.code==="invalid_return_type")a(s.returnTypeError);else if(s.code==="invalid_arguments")a(s.argumentsError);else if(s.path.length===0)n._errors.push(r(s));else{let i=n,l=0;for(;l<s.path.length;){const u=s.path[l];l===s.path.length-1?(i[u]=i[u]||{_errors:[]},i[u]._errors.push(r(s))):i[u]=i[u]||{_errors:[]},i=i[u],l++}}};return a(this),n}static assert(t){if(!(t instanceof Qr))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,mr.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=r=>r.message){const r=Object.create(null),n=[];for(const a of this.issues)if(a.path.length>0){const o=a.path[0];r[o]=r[o]||[],r[o].push(t(a))}else n.push(t(a));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}}Qr.create=e=>new Qr(e);var oo;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t==null?void 0:t.message})(oo||(oo={}));var 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 so extends Error{constructor(t,r){super(t),this.name="ParseError",this.type=r.type,this.field=r.field,this.value=r.value,this.line=r.line}}function In(e){}function Eg(e){if(typeof e=="function")throw new TypeError("`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?");const{onEvent:t=In,onError:r=In,onRetry:n=In,onComment:a}=e;let o="",s=!0,i,l="",u="";function c(_){const I=s?_.replace(/^\xEF\xBB\xBF/,""):_,[P,C]=bg(`${o}${I}`);for(const m of P)d(m);o=C,s=!1}function d(_){if(_===""){w();return}if(_.startsWith(":")){a&&a(_.slice(_.startsWith(": ")?2:1));return}const I=_.indexOf(":");if(I!==-1){const P=_.slice(0,I),C=_[I+1]===" "?2:1,m=_.slice(I+C);p(P,m,_);return}p(_,"",_)}function p(_,I,P){switch(_){case"event":u=I;break;case"data":l=`${l}${I}
42
42
  `;break;case"id":i=I.includes("\0")?void 0:I;break;case"retry":/^\d+$/.test(I)?n(parseInt(I,10)):r(new so(`Invalid \`retry\` value: "${I}"`,{type:"invalid-retry",value:I,line:P}));break;default:r(new so(`Unknown field "${_.length>20?`${_.slice(0,20)}…`:_}"`,{type:"unknown-field",field:_,value:I,line:P}));break}}function w(){l.length>0&&t({id:i,event:u||void 0,data:l.endsWith(`
43
- `)?l.slice(0,-1):l}),i=void 0,l="",u=""}function b(_={}){o&&_.consume&&d(o),s=!0,i=void 0,l="",u="",o=""}return{feed:c,reset:b}}function Eg(e){const t=[];let r="",n=0;for(;n<e.length;){const a=e.indexOf("\r",n),o=e.indexOf(`
43
+ `)?l.slice(0,-1):l}),i=void 0,l="",u=""}function b(_={}){o&&_.consume&&d(o),s=!0,i=void 0,l="",u="",o=""}return{feed:c,reset:b}}function bg(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 bg extends TransformStream{constructor({onError:t,onRetry:r,onComment:n}={}){let a;super({start(o){a=Tg({onEvent:s=>{o.enqueue(s)},onError(s){t==="terminate"?o.error(s):typeof t=="function"&&t(s)},onRetry:r,onComment:n})},transform(o){a.feed(o)}})}}function en(...e){return e.reduce((t,r)=>({...t,...r??{}}),{})}async function Ig(e,t){if(e==null)return Promise.resolve();const r=t==null?void 0:t.abortSignal;return new Promise((n,a)=>{if(r!=null&&r.aborted){a(io());return}const o=setTimeout(()=>{s(),n()},e),s=()=>{clearTimeout(o),r==null||r.removeEventListener("abort",i)},i=()=>{s(),a(io())};r==null||r.addEventListener("abort",i)})}function io(){return new DOMException("Delay was aborted","AbortError")}var lr=class{constructor(){this.status={type:"pending"},this._resolve=void 0,this._reject=void 0}get promise(){return this._promise?this._promise:(this._promise=new Promise((e,t)=>{this.status.type==="resolved"?e(this.status.value):this.status.type==="rejected"&&t(this.status.error),this._resolve=e,this._reject=t}),this._promise)}resolve(e){var t;this.status={type:"resolved",value:e},this._promise&&((t=this._resolve)==null||t.call(this,e))}reject(e){var t;this.status={type:"rejected",error:e},this._promise&&((t=this._reject)==null||t.call(this,e))}isResolved(){return this.status.type==="resolved"}isRejected(){return this.status.type==="rejected"}isPending(){return this.status.type==="pending"}};function Nr(e){return Object.fromEntries([...e.headers])}var{btoa:Sg,atob:Ag}=globalThis;function oa(e){const t=e.replace(/-/g,"+").replace(/_/g,"/"),r=Ag(t);return Uint8Array.from(r,n=>n.codePointAt(0))}function tn(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCodePoint(e[r]);return Sg(t)}var Ei="AI_DownloadError",bi=`vercel.ai.error.${Ei}`,Ng=Symbol.for(bi),lo,uo,Sn=class extends(uo=H,lo=Ng,uo){constructor({url:e,statusCode:t,statusText:r,cause:n,message:a=n==null?`Failed to download ${e}: ${t} ${r}`:`Failed to download ${e}: ${n}`}){super({name:Ei,message:a,cause:n}),this[lo]=!0,this.url=e,this.statusCode=t,this.statusText=r}static isInstance(e){return H.hasMarker(e,bi)}},xr=({prefix:e,size:t=16,alphabet:r="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",separator:n="-"}={})=>{const a=()=>{const o=r.length,s=new Array(t);for(let i=0;i<t;i++)s[i]=r[Math.random()*o|0];return s.join("")};if(e==null)return a;if(r.includes(n))throw new Ou({argument:"separator",message:`The separator "${n}" must not be part of the alphabet "${r}".`});return()=>`${e}${n}${a()}`};xr();function sa(e){return e==null?"unknown error":typeof e=="string"?e:e instanceof Error?e.message:JSON.stringify(e)}function Pt(e){return(e instanceof Error||e instanceof DOMException)&&(e.name==="AbortError"||e.name==="ResponseAborted"||e.name==="TimeoutError")}var xg=["fetch failed","failed to fetch"];function Ii({error:e,url:t,requestBodyValues:r}){if(Pt(e))return e;if(e instanceof TypeError&&xg.includes(e.message.toLowerCase())){const n=e.cause;if(n!=null)return new $e({message:`Cannot connect to API: ${n.message}`,cause:n,url:t,requestBodyValues:r,isRetryable:!0})}return e}function ia(e=globalThis){var t,r,n;return e.window?"runtime/browser":(t=e.navigator)!=null&&t.userAgent?`runtime/${e.navigator.userAgent.toLowerCase()}`:(n=(r=e.process)==null?void 0:r.versions)!=null&&n.node?`runtime/node.js/${e.process.version.substring(0)}`:e.EdgeRuntime?"runtime/vercel-edge":"runtime/unknown"}function Og(e){if(e==null)return{};const t={};if(e instanceof Headers)e.forEach((r,n)=>{t[n.toLowerCase()]=r});else{Array.isArray(e)||(e=Object.entries(e));for(const[r,n]of e)n!=null&&(t[r.toLowerCase()]=n)}return t}function Or(e,...t){const r=new Headers(Og(e)),n=r.get("user-agent")||"";return r.set("user-agent",[n,...t].filter(Boolean).join(" ")),Object.fromEntries(r.entries())}var Si="4.0.3",Rg=()=>globalThis.fetch,co=async({url:e,headers:t={},successfulResponseHandler:r,failedResponseHandler:n,abortSignal:a,fetch:o=Rg()})=>{try{const s=await o(e,{method:"GET",headers:Or(t,`ai-sdk/provider-utils/${Si}`,ia()),signal:a}),i=Nr(s);if(!s.ok){let l;try{l=await n({response:s,url:e,requestBodyValues:{}})}catch(u){throw Pt(u)||$e.isInstance(u)?u:new $e({message:"Failed to process error response",cause:u,statusCode:s.status,url:e,responseHeaders:i,requestBodyValues:{}})}throw l.value}try{return await r({response:s,url:e,requestBodyValues:{}})}catch(l){throw l instanceof Error&&(Pt(l)||$e.isInstance(l))?l:new $e({message:"Failed to process successful response",cause:l,statusCode:s.status,url:e,responseHeaders:i,requestBodyValues:{}})}}catch(s){throw Ii({error:s,url:e,requestBodyValues:{}})}};function kg({mediaType:e,url:t,supportedUrls:r}){return t=t.toLowerCase(),e=e.toLowerCase(),Object.entries(r).map(([n,a])=>{const o=n.toLowerCase();return o==="*"||o==="*/*"?{mediaTypePrefix:"",regexes:a}:{mediaTypePrefix:o.replace(/\*/,""),regexes:a}}).filter(({mediaTypePrefix:n})=>e.startsWith(n)).flatMap(({regexes:n})=>n).some(n=>n.test(t))}function Zr({settingValue:e,environmentVariableName:t}){if(typeof e=="string")return e;if(!(e!=null||typeof process>"u")&&(e=process.env[t],!(e==null||typeof e!="string")))return e}var Pg=/"__proto__"\s*:/,Cg=/"constructor"\s*:/;function po(e){const t=JSON.parse(e);return t===null||typeof t!="object"||Pg.test(e)===!1&&Cg.test(e)===!1?t:Dg(t)}function Dg(e){let t=[e];for(;t.length;){const r=t;t=[];for(const n of r){if(Object.prototype.hasOwnProperty.call(n,"__proto__"))throw new SyntaxError("Object contains forbidden prototype property");if(Object.prototype.hasOwnProperty.call(n,"constructor")&&Object.prototype.hasOwnProperty.call(n.constructor,"prototype"))throw new SyntaxError("Object contains forbidden prototype property");for(const a in n){const o=n[a];o&&typeof o=="object"&&t.push(o)}}}return e}function Ai(e){const{stackTraceLimit:t}=Error;try{Error.stackTraceLimit=0}catch{return po(e)}try{return po(e)}finally{Error.stackTraceLimit=t}}function Ni(e){if(e.type==="object"||Array.isArray(e.type)&&e.type.includes("object")){e.additionalProperties=!1;const{properties:r}=e;if(r!=null)for(const n of Object.keys(r))r[n]=Nt(r[n])}e.items!=null&&(e.items=Array.isArray(e.items)?e.items.map(Nt):Nt(e.items)),e.anyOf!=null&&(e.anyOf=e.anyOf.map(Nt)),e.allOf!=null&&(e.allOf=e.allOf.map(Nt)),e.oneOf!=null&&(e.oneOf=e.oneOf.map(Nt));const{definitions:t}=e;if(t!=null)for(const r of Object.keys(t))t[r]=Nt(t[r]);return e}function Nt(e){return typeof e=="boolean"?e:Ni(e)}var zg=Symbol("Let zodToJsonSchema decide on which parser to use"),fo={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",strictUnions:!1,definitions:{},errorMessages:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref"},$g=e=>typeof e=="string"?{...fo,name:e}:{...fo,...e};function je(){return{}}function Mg(e,t){var r,n,a;const o={type:"array"};return(r=e.type)!=null&&r._def&&((a=(n=e.type)==null?void 0:n._def)==null?void 0:a.typeName)!==j.ZodAny&&(o.items=oe(e.type._def,{...t,currentPath:[...t.currentPath,"items"]})),e.minLength&&(o.minItems=e.minLength.value),e.maxLength&&(o.maxItems=e.maxLength.value),e.exactLength&&(o.minItems=e.exactLength.value,o.maxItems=e.exactLength.value),o}function Fg(e){const t={type:"integer",format:"int64"};if(!e.checks)return t;for(const r of e.checks)switch(r.kind){case"min":r.inclusive?t.minimum=r.value:t.exclusiveMinimum=r.value;break;case"max":r.inclusive?t.maximum=r.value:t.exclusiveMaximum=r.value;break;case"multipleOf":t.multipleOf=r.value;break}return t}function Lg(){return{type:"boolean"}}function xi(e,t){return oe(e.type._def,t)}var Ug=(e,t)=>oe(e.innerType._def,t);function Oi(e,t,r){const n=r??t.dateStrategy;if(Array.isArray(n))return{anyOf:n.map((a,o)=>Oi(e,t,a))};switch(n){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return jg(e)}}var jg=e=>{const t={type:"integer",format:"unix-time"};for(const r of e.checks)switch(r.kind){case"min":t.minimum=r.value;break;case"max":t.maximum=r.value;break}return t};function qg(e,t){return{...oe(e.innerType._def,t),default:e.defaultValue()}}function Zg(e,t){return t.effectStrategy==="input"?oe(e.schema._def,t):je()}function Gg(e){return{type:"string",enum:Array.from(e.values)}}var Bg=e=>"type"in e&&e.type==="string"?!1:"allOf"in e;function Vg(e,t){const r=[oe(e.left._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),oe(e.right._def,{...t,currentPath:[...t.currentPath,"allOf","1"]})].filter(a=>!!a),n=[];return r.forEach(a=>{if(Bg(a))n.push(...a.allOf);else{let o=a;if("additionalProperties"in a&&a.additionalProperties===!1){const{additionalProperties:s,...i}=a;o=i}n.push(o)}}),n.length?{allOf:n}:void 0}function Hg(e){const t=typeof e.value;return t!=="bigint"&&t!=="number"&&t!=="boolean"&&t!=="string"?{type:Array.isArray(e.value)?"array":"object"}:{type:t==="bigint"?"integer":t,const:e.value}}var An=void 0,He={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(An===void 0&&(An=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),An),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function Ri(e,t){const r={type:"string"};if(e.checks)for(const n of e.checks)switch(n.kind){case"min":r.minLength=typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value;break;case"max":r.maxLength=typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value;break;case"email":switch(t.emailStrategy){case"format:email":Je(r,"email",n.message,t);break;case"format:idn-email":Je(r,"idn-email",n.message,t);break;case"pattern:zod":De(r,He.email,n.message,t);break}break;case"url":Je(r,"uri",n.message,t);break;case"uuid":Je(r,"uuid",n.message,t);break;case"regex":De(r,n.regex,n.message,t);break;case"cuid":De(r,He.cuid,n.message,t);break;case"cuid2":De(r,He.cuid2,n.message,t);break;case"startsWith":De(r,RegExp(`^${Nn(n.value,t)}`),n.message,t);break;case"endsWith":De(r,RegExp(`${Nn(n.value,t)}$`),n.message,t);break;case"datetime":Je(r,"date-time",n.message,t);break;case"date":Je(r,"date",n.message,t);break;case"time":Je(r,"time",n.message,t);break;case"duration":Je(r,"duration",n.message,t);break;case"length":r.minLength=typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,r.maxLength=typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value;break;case"includes":{De(r,RegExp(Nn(n.value,t)),n.message,t);break}case"ip":{n.version!=="v6"&&Je(r,"ipv4",n.message,t),n.version!=="v4"&&Je(r,"ipv6",n.message,t);break}case"base64url":De(r,He.base64url,n.message,t);break;case"jwt":De(r,He.jwt,n.message,t);break;case"cidr":{n.version!=="v6"&&De(r,He.ipv4Cidr,n.message,t),n.version!=="v4"&&De(r,He.ipv6Cidr,n.message,t);break}case"emoji":De(r,He.emoji(),n.message,t);break;case"ulid":{De(r,He.ulid,n.message,t);break}case"base64":{switch(t.base64Strategy){case"format:binary":{Je(r,"binary",n.message,t);break}case"contentEncoding:base64":{r.contentEncoding="base64";break}case"pattern:zod":{De(r,He.base64,n.message,t);break}}break}case"nanoid":De(r,He.nanoid,n.message,t)}return r}function Nn(e,t){return t.patternStrategy==="escape"?Yg(e):e}var Jg=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function Yg(e){let t="";for(let r=0;r<e.length;r++)Jg.has(e[r])||(t+="\\"),t+=e[r];return t}function Je(e,t,r,n){var a;e.format||(a=e.anyOf)!=null&&a.some(o=>o.format)?(e.anyOf||(e.anyOf=[]),e.format&&(e.anyOf.push({format:e.format}),delete e.format),e.anyOf.push({format:t,...r&&n.errorMessages&&{errorMessage:{format:r}}})):e.format=t}function De(e,t,r,n){var a;e.pattern||(a=e.allOf)!=null&&a.some(o=>o.pattern)?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push({pattern:e.pattern}),delete e.pattern),e.allOf.push({pattern:go(t,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):e.pattern=go(t,n)}function go(e,t){var r;if(!t.applyRegexFlags||!e.flags)return e.source;const n={i:e.flags.includes("i"),m:e.flags.includes("m"),s:e.flags.includes("s")},a=n.i?e.source.toLowerCase():e.source;let o="",s=!1,i=!1,l=!1;for(let u=0;u<a.length;u++){if(s){o+=a[u],s=!1;continue}if(n.i){if(i){if(a[u].match(/[a-z]/)){l?(o+=a[u],o+=`${a[u-2]}-${a[u]}`.toUpperCase(),l=!1):a[u+1]==="-"&&((r=a[u+2])!=null&&r.match(/[a-z]/))?(o+=a[u],l=!0):o+=`${a[u]}${a[u].toUpperCase()}`;continue}}else if(a[u].match(/[a-z]/)){o+=`[${a[u]}${a[u].toUpperCase()}]`;continue}}if(n.m){if(a[u]==="^"){o+=`(^|(?<=[\r
45
+ `&&n++}}return[t,r]}class Ig extends TransformStream{constructor({onError:t,onRetry:r,onComment:n}={}){let a;super({start(o){a=Eg({onEvent:s=>{o.enqueue(s)},onError(s){t==="terminate"?o.error(s):typeof t=="function"&&t(s)},onRetry:r,onComment:n})},transform(o){a.feed(o)}})}}function en(...e){return e.reduce((t,r)=>({...t,...r??{}}),{})}async function Sg(e,t){if(e==null)return Promise.resolve();const r=t==null?void 0:t.abortSignal;return new Promise((n,a)=>{if(r!=null&&r.aborted){a(io());return}const o=setTimeout(()=>{s(),n()},e),s=()=>{clearTimeout(o),r==null||r.removeEventListener("abort",i)},i=()=>{s(),a(io())};r==null||r.addEventListener("abort",i)})}function io(){return new DOMException("Delay was aborted","AbortError")}var lr=class{constructor(){this.status={type:"pending"},this._resolve=void 0,this._reject=void 0}get promise(){return this._promise?this._promise:(this._promise=new Promise((e,t)=>{this.status.type==="resolved"?e(this.status.value):this.status.type==="rejected"&&t(this.status.error),this._resolve=e,this._reject=t}),this._promise)}resolve(e){var t;this.status={type:"resolved",value:e},this._promise&&((t=this._resolve)==null||t.call(this,e))}reject(e){var t;this.status={type:"rejected",error:e},this._promise&&((t=this._reject)==null||t.call(this,e))}isResolved(){return this.status.type==="resolved"}isRejected(){return this.status.type==="rejected"}isPending(){return this.status.type==="pending"}};function Nr(e){return Object.fromEntries([...e.headers])}var{btoa:Ag,atob:Ng}=globalThis;function oa(e){const t=e.replace(/-/g,"+").replace(/_/g,"/"),r=Ng(t);return Uint8Array.from(r,n=>n.codePointAt(0))}function tn(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCodePoint(e[r]);return Ag(t)}var Ei="AI_DownloadError",bi=`vercel.ai.error.${Ei}`,xg=Symbol.for(bi),lo,uo,Sn=class extends(uo=H,lo=xg,uo){constructor({url:e,statusCode:t,statusText:r,cause:n,message:a=n==null?`Failed to download ${e}: ${t} ${r}`:`Failed to download ${e}: ${n}`}){super({name:Ei,message:a,cause:n}),this[lo]=!0,this.url=e,this.statusCode=t,this.statusText=r}static isInstance(e){return H.hasMarker(e,bi)}},xr=({prefix:e,size:t=16,alphabet:r="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",separator:n="-"}={})=>{const a=()=>{const o=r.length,s=new Array(t);for(let i=0;i<t;i++)s[i]=r[Math.random()*o|0];return s.join("")};if(e==null)return a;if(r.includes(n))throw new Ru({argument:"separator",message:`The separator "${n}" must not be part of the alphabet "${r}".`});return()=>`${e}${n}${a()}`};xr();function sa(e){return e==null?"unknown error":typeof e=="string"?e:e instanceof Error?e.message:JSON.stringify(e)}function Pt(e){return(e instanceof Error||e instanceof DOMException)&&(e.name==="AbortError"||e.name==="ResponseAborted"||e.name==="TimeoutError")}var Og=["fetch failed","failed to fetch"];function Ii({error:e,url:t,requestBodyValues:r}){if(Pt(e))return e;if(e instanceof TypeError&&Og.includes(e.message.toLowerCase())){const n=e.cause;if(n!=null)return new $e({message:`Cannot connect to API: ${n.message}`,cause:n,url:t,requestBodyValues:r,isRetryable:!0})}return e}function ia(e=globalThis){var t,r,n;return e.window?"runtime/browser":(t=e.navigator)!=null&&t.userAgent?`runtime/${e.navigator.userAgent.toLowerCase()}`:(n=(r=e.process)==null?void 0:r.versions)!=null&&n.node?`runtime/node.js/${e.process.version.substring(0)}`:e.EdgeRuntime?"runtime/vercel-edge":"runtime/unknown"}function Rg(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(Rg(e)),n=r.get("user-agent")||"";return r.set("user-agent",[n,...t].filter(Boolean).join(" ")),Object.fromEntries(r.entries())}var Si="4.0.3",kg=()=>globalThis.fetch,co=async({url:e,headers:t={},successfulResponseHandler:r,failedResponseHandler:n,abortSignal:a,fetch:o=kg()})=>{try{const s=await o(e,{method:"GET",headers:Or(t,`ai-sdk/provider-utils/${Si}`,ia()),signal:a}),i=Nr(s);if(!s.ok){let l;try{l=await n({response:s,url:e,requestBodyValues:{}})}catch(u){throw Pt(u)||$e.isInstance(u)?u:new $e({message:"Failed to process error response",cause:u,statusCode:s.status,url:e,responseHeaders:i,requestBodyValues:{}})}throw l.value}try{return await r({response:s,url:e,requestBodyValues:{}})}catch(l){throw l instanceof Error&&(Pt(l)||$e.isInstance(l))?l:new $e({message:"Failed to process successful response",cause:l,statusCode:s.status,url:e,responseHeaders:i,requestBodyValues:{}})}}catch(s){throw Ii({error:s,url:e,requestBodyValues:{}})}};function Pg({mediaType:e,url:t,supportedUrls:r}){return t=t.toLowerCase(),e=e.toLowerCase(),Object.entries(r).map(([n,a])=>{const o=n.toLowerCase();return o==="*"||o==="*/*"?{mediaTypePrefix:"",regexes:a}:{mediaTypePrefix:o.replace(/\*/,""),regexes:a}}).filter(({mediaTypePrefix:n})=>e.startsWith(n)).flatMap(({regexes:n})=>n).some(n=>n.test(t))}function Zr({settingValue:e,environmentVariableName:t}){if(typeof e=="string")return e;if(!(e!=null||typeof process>"u")&&(e=process.env[t],!(e==null||typeof e!="string")))return e}var Cg=/"__proto__"\s*:/,Dg=/"constructor"\s*:/;function po(e){const t=JSON.parse(e);return t===null||typeof t!="object"||Cg.test(e)===!1&&Dg.test(e)===!1?t:zg(t)}function zg(e){let t=[e];for(;t.length;){const r=t;t=[];for(const n of r){if(Object.prototype.hasOwnProperty.call(n,"__proto__"))throw new SyntaxError("Object contains forbidden prototype property");if(Object.prototype.hasOwnProperty.call(n,"constructor")&&Object.prototype.hasOwnProperty.call(n.constructor,"prototype"))throw new SyntaxError("Object contains forbidden prototype property");for(const a in n){const o=n[a];o&&typeof o=="object"&&t.push(o)}}}return e}function Ai(e){const{stackTraceLimit:t}=Error;try{Error.stackTraceLimit=0}catch{return po(e)}try{return po(e)}finally{Error.stackTraceLimit=t}}function Ni(e){if(e.type==="object"||Array.isArray(e.type)&&e.type.includes("object")){e.additionalProperties=!1;const{properties:r}=e;if(r!=null)for(const n of Object.keys(r))r[n]=Nt(r[n])}e.items!=null&&(e.items=Array.isArray(e.items)?e.items.map(Nt):Nt(e.items)),e.anyOf!=null&&(e.anyOf=e.anyOf.map(Nt)),e.allOf!=null&&(e.allOf=e.allOf.map(Nt)),e.oneOf!=null&&(e.oneOf=e.oneOf.map(Nt));const{definitions:t}=e;if(t!=null)for(const r of Object.keys(t))t[r]=Nt(t[r]);return e}function Nt(e){return typeof e=="boolean"?e:Ni(e)}var $g=Symbol("Let zodToJsonSchema decide on which parser to use"),fo={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",strictUnions:!1,definitions:{},errorMessages:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref"},Mg=e=>typeof e=="string"?{...fo,name:e}:{...fo,...e};function je(){return{}}function Fg(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 Lg(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 Ug(){return{type:"boolean"}}function xi(e,t){return oe(e.type._def,t)}var jg=(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 qg(e)}}var qg=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 Gg(e,t){return t.effectStrategy==="input"?oe(e.schema._def,t):je()}function Bg(e){return{type:"string",enum:Array.from(e.values)}}var Vg=e=>"type"in e&&e.type==="string"?!1:"allOf"in e;function Hg(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(Vg(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 Jg(e){const t=typeof e.value;return t!=="bigint"&&t!=="number"&&t!=="boolean"&&t!=="string"?{type:Array.isArray(e.value)?"array":"object"}:{type:t==="bigint"?"integer":t,const:e.value}}var An=void 0,He={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(An===void 0&&(An=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),An),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function Ri(e,t){const r={type:"string"};if(e.checks)for(const n of e.checks)switch(n.kind){case"min":r.minLength=typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value;break;case"max":r.maxLength=typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value;break;case"email":switch(t.emailStrategy){case"format:email":Je(r,"email",n.message,t);break;case"format:idn-email":Je(r,"idn-email",n.message,t);break;case"pattern:zod":De(r,He.email,n.message,t);break}break;case"url":Je(r,"uri",n.message,t);break;case"uuid":Je(r,"uuid",n.message,t);break;case"regex":De(r,n.regex,n.message,t);break;case"cuid":De(r,He.cuid,n.message,t);break;case"cuid2":De(r,He.cuid2,n.message,t);break;case"startsWith":De(r,RegExp(`^${Nn(n.value,t)}`),n.message,t);break;case"endsWith":De(r,RegExp(`${Nn(n.value,t)}$`),n.message,t);break;case"datetime":Je(r,"date-time",n.message,t);break;case"date":Je(r,"date",n.message,t);break;case"time":Je(r,"time",n.message,t);break;case"duration":Je(r,"duration",n.message,t);break;case"length":r.minLength=typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,r.maxLength=typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value;break;case"includes":{De(r,RegExp(Nn(n.value,t)),n.message,t);break}case"ip":{n.version!=="v6"&&Je(r,"ipv4",n.message,t),n.version!=="v4"&&Je(r,"ipv6",n.message,t);break}case"base64url":De(r,He.base64url,n.message,t);break;case"jwt":De(r,He.jwt,n.message,t);break;case"cidr":{n.version!=="v6"&&De(r,He.ipv4Cidr,n.message,t),n.version!=="v4"&&De(r,He.ipv6Cidr,n.message,t);break}case"emoji":De(r,He.emoji(),n.message,t);break;case"ulid":{De(r,He.ulid,n.message,t);break}case"base64":{switch(t.base64Strategy){case"format:binary":{Je(r,"binary",n.message,t);break}case"contentEncoding:base64":{r.contentEncoding="base64";break}case"pattern:zod":{De(r,He.base64,n.message,t);break}}break}case"nanoid":De(r,He.nanoid,n.message,t)}return r}function Nn(e,t){return t.patternStrategy==="escape"?Wg(e):e}var Yg=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function Wg(e){let t="";for(let r=0;r<e.length;r++)Yg.has(e[r])||(t+="\\"),t+=e[r];return t}function Je(e,t,r,n){var a;e.format||(a=e.anyOf)!=null&&a.some(o=>o.format)?(e.anyOf||(e.anyOf=[]),e.format&&(e.anyOf.push({format:e.format}),delete e.format),e.anyOf.push({format:t,...r&&n.errorMessages&&{errorMessage:{format:r}}})):e.format=t}function De(e,t,r,n){var a;e.pattern||(a=e.allOf)!=null&&a.some(o=>o.pattern)?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push({pattern:e.pattern}),delete e.pattern),e.allOf.push({pattern:go(t,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):e.pattern=go(t,n)}function go(e,t){var r;if(!t.applyRegexFlags||!e.flags)return e.source;const n={i:e.flags.includes("i"),m:e.flags.includes("m"),s:e.flags.includes("s")},a=n.i?e.source.toLowerCase():e.source;let o="",s=!1,i=!1,l=!1;for(let u=0;u<a.length;u++){if(s){o+=a[u],s=!1;continue}if(n.i){if(i){if(a[u].match(/[a-z]/)){l?(o+=a[u],o+=`${a[u-2]}-${a[u]}`.toUpperCase(),l=!1):a[u+1]==="-"&&((r=a[u+2])!=null&&r.match(/[a-z]/))?(o+=a[u],l=!0):o+=`${a[u]}${a[u].toUpperCase()}`;continue}}else if(a[u].match(/[a-z]/)){o+=`[${a[u]}${a[u].toUpperCase()}]`;continue}}if(n.m){if(a[u]==="^"){o+=`(^|(?<=[\r
46
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 ki(e,t){var r,n,a,o,s,i;const l={type:"object",additionalProperties:(r=oe(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]}))!=null?r:t.allowedAdditionalProperties};if(((n=e.keyType)==null?void 0:n._def.typeName)===j.ZodString&&((a=e.keyType._def.checks)!=null&&a.length)){const{type:u,...c}=Ri(e.keyType._def,t);return{...l,propertyNames:c}}else{if(((o=e.keyType)==null?void 0:o._def.typeName)===j.ZodEnum)return{...l,propertyNames:{enum:e.keyType._def.values}};if(((s=e.keyType)==null?void 0:s._def.typeName)===j.ZodBranded&&e.keyType._def.type._def.typeName===j.ZodString&&((i=e.keyType._def.type._def.checks)!=null&&i.length)){const{type:u,...c}=xi(e.keyType._def,t);return{...l,propertyNames:c}}}return l}function Wg(e,t){if(t.mapStrategy==="record")return ki(e,t);const r=oe(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||je(),n=oe(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||je();return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function Kg(e){const t=e.values,n=Object.keys(e.values).filter(o=>typeof t[t[o]]!="number").map(o=>t[o]),a=Array.from(new Set(n.map(o=>typeof o)));return{type:a.length===1?a[0]==="string"?"string":"number":["string","number"],enum:n}}function Xg(){return{not:je()}}function Qg(){return{type:"null"}}var jn={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function eh(e,t){const r=e.options instanceof Map?Array.from(e.options.values()):e.options;if(r.every(n=>n._def.typeName in jn&&(!n._def.checks||!n._def.checks.length))){const n=r.reduce((a,o)=>{const s=jn[o._def.typeName];return s&&!a.includes(s)?[...a,s]:a},[]);return{type:n.length>1?n:n[0]}}else if(r.every(n=>n._def.typeName==="ZodLiteral"&&!n.description)){const n=r.reduce((a,o)=>{const s=typeof o._def.value;switch(s){case"string":case"number":case"boolean":return[...a,s];case"bigint":return[...a,"integer"];case"object":if(o._def.value===null)return[...a,"null"];case"symbol":case"undefined":case"function":default:return a}},[]);if(n.length===r.length){const a=n.filter((o,s,i)=>i.indexOf(o)===s);return{type:a.length>1?a:a[0],enum:r.reduce((o,s)=>o.includes(s._def.value)?o:[...o,s._def.value],[])}}}else if(r.every(n=>n._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((n,a)=>[...n,...a._def.values.filter(o=>!n.includes(o))],[])};return th(e,t)}var th=(e,t)=>{const r=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((n,a)=>oe(n._def,{...t,currentPath:[...t.currentPath,"anyOf",`${a}`]})).filter(n=>!!n&&(!t.strictUnions||typeof n=="object"&&Object.keys(n).length>0));return r.length?{anyOf:r}:void 0};function rh(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return{type:[jn[e.innerType._def.typeName],"null"]};const r=oe(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function nh(e){const t={type:"number"};if(!e.checks)return t;for(const r of e.checks)switch(r.kind){case"int":t.type="integer";break;case"min":r.inclusive?t.minimum=r.value:t.exclusiveMinimum=r.value;break;case"max":r.inclusive?t.maximum=r.value:t.exclusiveMaximum=r.value;break;case"multipleOf":t.multipleOf=r.value;break}return t}function ah(e,t){const r={type:"object",properties:{}},n=[],a=e.shape();for(const s in a){let i=a[s];if(i===void 0||i._def===void 0)continue;const l=sh(i),u=oe(i._def,{...t,currentPath:[...t.currentPath,"properties",s],propertyPath:[...t.currentPath,"properties",s]});u!==void 0&&(r.properties[s]=u,l||n.push(s))}n.length&&(r.required=n);const o=oh(e,t);return o!==void 0&&(r.additionalProperties=o),r}function oh(e,t){if(e.catchall._def.typeName!=="ZodNever")return oe(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]});switch(e.unknownKeys){case"passthrough":return t.allowedAdditionalProperties;case"strict":return t.rejectedAdditionalProperties;case"strip":return t.removeAdditionalStrategy==="strict"?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}function sh(e){try{return e.isOptional()}catch{return!0}}var ih=(e,t)=>{var r;if(t.currentPath.toString()===((r=t.propertyPath)==null?void 0:r.toString()))return oe(e.innerType._def,t);const n=oe(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return n?{anyOf:[{not:je()},n]}:je()},lh=(e,t)=>{if(t.pipeStrategy==="input")return oe(e.in._def,t);if(t.pipeStrategy==="output")return oe(e.out._def,t);const r=oe(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),n=oe(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,n].filter(a=>a!==void 0)}};function uh(e,t){return oe(e.type._def,t)}function ch(e,t){const n={type:"array",uniqueItems:!0,items:oe(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};return e.minSize&&(n.minItems=e.minSize.value),e.maxSize&&(n.maxItems=e.maxSize.value),n}function dh(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((r,n)=>oe(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:oe(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((r,n)=>oe(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}function ph(){return{not:je()}}function fh(){return je()}var gh=(e,t)=>oe(e.innerType._def,t),hh=(e,t,r)=>{switch(t){case j.ZodString:return Ri(e,r);case j.ZodNumber:return nh(e);case j.ZodObject:return ah(e,r);case j.ZodBigInt:return Fg(e);case j.ZodBoolean:return Lg();case j.ZodDate:return Oi(e,r);case j.ZodUndefined:return ph();case j.ZodNull:return Qg();case j.ZodArray:return Mg(e,r);case j.ZodUnion:case j.ZodDiscriminatedUnion:return eh(e,r);case j.ZodIntersection:return Vg(e,r);case j.ZodTuple:return dh(e,r);case j.ZodRecord:return ki(e,r);case j.ZodLiteral:return Hg(e);case j.ZodEnum:return Gg(e);case j.ZodNativeEnum:return Kg(e);case j.ZodNullable:return rh(e,r);case j.ZodOptional:return ih(e,r);case j.ZodMap:return Wg(e,r);case j.ZodSet:return ch(e,r);case j.ZodLazy:return()=>e.getter()._def;case j.ZodPromise:return uh(e,r);case j.ZodNaN:case j.ZodNever:return Xg();case j.ZodEffects:return Zg(e,r);case j.ZodAny:return je();case j.ZodUnknown:return fh();case j.ZodDefault:return qg(e,r);case j.ZodBranded:return xi(e,r);case j.ZodReadonly:return gh(e,r);case j.ZodCatch:return Ug(e,r);case j.ZodPipeline:return lh(e,r);case j.ZodFunction:case j.ZodVoid:case j.ZodSymbol:return;default:return(n=>{})()}},mh=(e,t)=>{let r=0;for(;r<e.length&&r<t.length&&e[r]===t[r];r++);return[(e.length-r).toString(),...t.slice(r)].join("/")};function oe(e,t,r=!1){var n;const a=t.seen.get(e);if(t.override){const l=(n=t.override)==null?void 0:n.call(t,e,t,a,r);if(l!==zg)return l}if(a&&!r){const l=yh(a,t);if(l!==void 0)return l}const o={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,o);const s=hh(e,e.typeName,t),i=typeof s=="function"?oe(s(),t):s;if(i&&vh(e,t,i),t.postProcess){const l=t.postProcess(i,e,t);return o.jsonSchema=i,l}return o.jsonSchema=i,i}var yh=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:mh(t.currentPath,e.path)};case"none":case"seen":return e.path.length<t.currentPath.length&&e.path.every((r,n)=>t.currentPath[n]===r)?(console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),je()):t.$refStrategy==="seen"?je():void 0}},vh=(e,t,r)=>(e.description&&(r.description=e.description),r),wh=e=>{const t=$g(e),r=t.name!==void 0?[...t.basePath,t.definitionPath,t.name]:t.basePath;return{...t,currentPath:r,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([n,a])=>[a._def,{def:a._def,path:[...t.basePath,t.definitionPath,n],jsonSchema:void 0}]))}},_h=(e,t)=>{var r;const n=wh(t);let a=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((u,[c,d])=>{var p;return{...u,[c]:(p=oe(d._def,{...n,currentPath:[...n.basePath,n.definitionPath,c]},!0))!=null?p:je()}},{}):void 0;const o=typeof t=="string"?t:(t==null?void 0:t.nameStrategy)==="title"||t==null?void 0:t.name,s=(r=oe(e._def,o===void 0?n:{...n,currentPath:[...n.basePath,n.definitionPath,o]},!1))!=null?r:je(),i=typeof t=="object"&&t.name!==void 0&&t.nameStrategy==="title"?t.name:void 0;i!==void 0&&(s.title=i);const l=o===void 0?a?{...s,[n.definitionPath]:a}:s:{$ref:[...n.$refStrategy==="relative"?[]:n.basePath,n.definitionPath,o].join("/"),[n.definitionPath]:{...a,[o]:s}};return l.$schema="http://json-schema.org/draft-07/schema#",l},qn=Symbol.for("vercel.ai.schema");function Qt(e){let t;return()=>(t==null&&(t=e()),t)}function fn(e,{validate:t}={}){return{[qn]:!0,_type:void 0,get jsonSchema(){return typeof e=="function"&&(e=e()),e},validate:t}}function Th(e){return typeof e=="object"&&e!==null&&qn in e&&e[qn]===!0&&"jsonSchema"in e&&"validate"in e}function er(e){return e==null?fn({properties:{},additionalProperties:!1}):Th(e)?e:"~standard"in e?e["~standard"].vendor==="zod"?Dt(e):Eh(e):e()}function Eh(e){return fn(()=>e["~standard"].jsonSchema.input({target:"draft-07"}),{validate:async t=>{const r=await e["~standard"].validate(t);return"value"in r?{success:!0,value:r.value}:{success:!1,error:new Rt({value:t,cause:r.issues})}}})}function bh(e,t){var r;const n=(r=void 0)!=null?r:!1;return fn(()=>_h(e,{$refStrategy:n?"root":"none"}),{validate:async a=>{const o=await e.safeParseAsync(a);return o.success?{success:!0,value:o.data}:{success:!1,error:o.error}}})}function Ih(e,t){var r;const n=(r=void 0)!=null?r:!1;return fn(()=>Ni(Qp(e,{target:"draft-7",io:"input",reused:n?"ref":"inline"})),{validate:async a=>{const o=await hi(e,a);return o.success?{success:!0,value:o.data}:{success:!1,error:o.error}}})}function Sh(e){return"_zod"in e}function Dt(e,t){return Sh(e)?Ih(e):bh(e)}async function Zn({value:e,schema:t}){const r=await rt({value:e,schema:t});if(!r.success)throw Rt.wrap({value:e,cause:r.error});return r.value}async function rt({value:e,schema:t}){const r=er(t);try{if(r.validate==null)return{success:!0,value:e,rawValue:e};const n=await r.validate(e);return n.success?{success:!0,value:n.value,rawValue:e}:{success:!1,error:Rt.wrap({value:e,cause:n.error}),rawValue:e}}catch(n){return{success:!1,error:Rt.wrap({value:e,cause:n}),rawValue:e}}}async function Ah({text:e,schema:t}){try{const r=Ai(e);return t==null?r:Zn({value:r,schema:t})}catch(r){throw Gr.isInstance(r)||Rt.isInstance(r)?r:new Gr({text:e,cause:r})}}async function We({text:e,schema:t}){try{const r=Ai(e);return t==null?{success:!0,value:r,rawValue:r}:await rt({value:r,schema:t})}catch(r){return{success:!1,error:Gr.isInstance(r)?r:new Gr({text:e,cause:r}),rawValue:void 0}}}function Nh({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new bg).pipeThrough(new TransformStream({async transform({data:r},n){r!=="[DONE]"&&n.enqueue(await We({text:r,schema:t}))}}))}var xh=()=>globalThis.fetch,rn=async({url:e,headers:t,body:r,failedResponseHandler:n,successfulResponseHandler:a,abortSignal:o,fetch:s})=>Oh({url:e,headers:{"Content-Type":"application/json",...t},body:{content:JSON.stringify(r),values:r},failedResponseHandler:n,successfulResponseHandler:a,abortSignal:o,fetch:s}),Oh=async({url:e,headers:t={},body:r,successfulResponseHandler:n,failedResponseHandler:a,abortSignal:o,fetch:s=xh()})=>{try{const i=await s(e,{method:"POST",headers:Or(t,`ai-sdk/provider-utils/${Si}`,ia()),body:r.content,signal:o}),l=Nr(i);if(!i.ok){let u;try{u=await a({response:i,url:e,requestBodyValues:r.values})}catch(c){throw Pt(c)||$e.isInstance(c)?c:new $e({message:"Failed to process error response",cause:c,statusCode:i.status,url:e,responseHeaders:l,requestBodyValues:r.values})}throw u.value}try{return await n({response:i,url:e,requestBodyValues:r.values})}catch(u){throw u instanceof Error&&(Pt(u)||$e.isInstance(u))?u:new $e({message:"Failed to process successful response",cause:u,statusCode:i.status,url:e,responseHeaders:l,requestBodyValues:r.values})}}catch(i){throw Ii({error:i,url:e,requestBodyValues:r.values})}};async function Ge(e){return typeof e=="function"&&(e=e()),Promise.resolve(e)}var Yt=({errorSchema:e,errorToMessage:t,isRetryable:r})=>async({response:n,url:a,requestBodyValues:o})=>{const s=await n.text(),i=Nr(n);if(s.trim()==="")return{responseHeaders:i,value:new $e({message:n.statusText,url:a,requestBodyValues:o,statusCode:n.status,responseHeaders:i,responseBody:s,isRetryable:r==null?void 0:r(n)})};try{const l=await Ah({text:s,schema:e});return{responseHeaders:i,value:new $e({message:t(l),url:a,requestBodyValues:o,statusCode:n.status,responseHeaders:i,responseBody:s,data:l,isRetryable:r==null?void 0:r(n,l)})}}catch{return{responseHeaders:i,value:new $e({message:n.statusText,url:a,requestBodyValues:o,statusCode:n.status,responseHeaders:i,responseBody:s,isRetryable:r==null?void 0:r(n)})}}},Rh=e=>async({response:t})=>{const r=Nr(t);if(t.body==null)throw new Nu({});return{responseHeaders:r,value:Nh({stream:t.body,schema:e})}},yr=e=>async({response:t,url:r,requestBodyValues:n})=>{const a=await t.text(),o=await We({text:a,schema:e}),s=Nr(t);if(!o.success)throw new $e({message:"Invalid JSON response",cause:o.error,statusCode:t.status,responseHeaders:s,responseBody:a,url:r,requestBodyValues:n});return{responseHeaders:s,value:o.value,rawValue:o.rawValue}};function kh(e){return e==null?void 0:e.replace(/\/$/,"")}function Ph(e){return e!=null&&typeof e[Symbol.asyncIterator]=="function"}async function*Ch({execute:e,input:t,options:r}){const n=e(t,r);if(Ph(n)){let a;for await(const o of n)a=o,yield{type:"preliminary",output:o};yield{type:"final",output:a}}else yield{type:"final",output:await n}}var xn,ho;function Dh(){if(ho)return xn;ho=1;var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,n=Object.prototype.hasOwnProperty,a=(c,d)=>{for(var p in d)e(c,p,{get:d[p],enumerable:!0})},o=(c,d,p,w)=>{if(d&&typeof d=="object"||typeof d=="function")for(let b of r(d))!n.call(c,b)&&b!==p&&e(c,b,{get:()=>d[b],enumerable:!(w=t(d,b))||w.enumerable});return c},s=c=>o(e({},"__esModule",{value:!0}),c),i={};a(i,{SYMBOL_FOR_REQ_CONTEXT:()=>l,getContext:()=>u}),xn=s(i);const l=Symbol.for("@vercel/request-context");function u(){var d,p;return((p=(d=globalThis[l])==null?void 0:d.get)==null?void 0:p.call(d))??{}}return xn}var On,mo;function zh(){if(mo)return On;mo=1;var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,n=Object.prototype.hasOwnProperty,a=(d,p)=>{for(var w in p)e(d,w,{get:p[w],enumerable:!0})},o=(d,p,w,b)=>{if(p&&typeof p=="object"||typeof p=="function")for(let _ of r(p))!n.call(d,_)&&_!==w&&e(d,_,{get:()=>p[_],enumerable:!(b=t(p,_))||b.enumerable});return d},s=d=>o(e({},"__esModule",{value:!0}),d),i={};a(i,{getContext:()=>l.getContext,getVercelOidcToken:()=>u,getVercelOidcTokenSync:()=>c}),On=s(i);var l=Dh();async function u(){return""}function c(){return""}return On}var Pi=zh(),$h="vercel.ai.gateway.error",Rn=Symbol.for($h),yo,vo,qe=class Ci extends(vo=Error,yo=Rn,vo){constructor({message:t,statusCode:r=500,cause:n}){super(t),this[yo]=!0,this.statusCode=r,this.cause=n}static isInstance(t){return Ci.hasMarker(t)}static hasMarker(t){return typeof t=="object"&&t!==null&&Rn in t&&t[Rn]===!0}},Di="GatewayAuthenticationError",Mh=`vercel.ai.gateway.error.${Di}`,wo=Symbol.for(Mh),_o,To,la=class zi extends(To=qe,_o=wo,To){constructor({message:t="Authentication failed",statusCode:r=401,cause:n}={}){super({message:t,statusCode:r,cause:n}),this[_o]=!0,this.name=Di,this.type="authentication_error"}static isInstance(t){return qe.hasMarker(t)&&wo in t}static createContextualError({apiKeyProvided:t,oidcTokenProvided:r,message:n="Authentication failed",statusCode:a=401,cause:o}){let s;return t?s=`AI Gateway authentication failed: Invalid API key.
49
+ ]`;continue}o+=a[u],a[u]==="\\"?s=!0:i&&a[u]==="]"?i=!1:!i&&a[u]==="["&&(i=!0)}try{new RegExp(o)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return o}function ki(e,t){var r,n,a,o,s,i;const l={type:"object",additionalProperties:(r=oe(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]}))!=null?r:t.allowedAdditionalProperties};if(((n=e.keyType)==null?void 0:n._def.typeName)===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}=xi(e.keyType._def,t);return{...l,propertyNames:c}}}return l}function Kg(e,t){if(t.mapStrategy==="record")return ki(e,t);const r=oe(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||je(),n=oe(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||je();return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function Xg(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 Qg(){return{not:je()}}function eh(){return{type:"null"}}var jn={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function th(e,t){const r=e.options instanceof Map?Array.from(e.options.values()):e.options;if(r.every(n=>n._def.typeName in jn&&(!n._def.checks||!n._def.checks.length))){const n=r.reduce((a,o)=>{const s=jn[o._def.typeName];return s&&!a.includes(s)?[...a,s]:a},[]);return{type:n.length>1?n:n[0]}}else if(r.every(n=>n._def.typeName==="ZodLiteral"&&!n.description)){const n=r.reduce((a,o)=>{const s=typeof o._def.value;switch(s){case"string":case"number":case"boolean":return[...a,s];case"bigint":return[...a,"integer"];case"object":if(o._def.value===null)return[...a,"null"];case"symbol":case"undefined":case"function":default:return a}},[]);if(n.length===r.length){const a=n.filter((o,s,i)=>i.indexOf(o)===s);return{type:a.length>1?a:a[0],enum:r.reduce((o,s)=>o.includes(s._def.value)?o:[...o,s._def.value],[])}}}else if(r.every(n=>n._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((n,a)=>[...n,...a._def.values.filter(o=>!n.includes(o))],[])};return rh(e,t)}var rh=(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 nh(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return{type:[jn[e.innerType._def.typeName],"null"]};const r=oe(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function ah(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 oh(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=ih(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=sh(e,t);return o!==void 0&&(r.additionalProperties=o),r}function sh(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 ih(e){try{return e.isOptional()}catch{return!0}}var lh=(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()},uh=(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 ch(e,t){return oe(e.type._def,t)}function dh(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 ph(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 fh(){return{not:je()}}function gh(){return je()}var hh=(e,t)=>oe(e.innerType._def,t),mh=(e,t,r)=>{switch(t){case q.ZodString:return Ri(e,r);case q.ZodNumber:return ah(e);case q.ZodObject:return oh(e,r);case q.ZodBigInt:return Lg(e);case q.ZodBoolean:return Ug();case q.ZodDate:return Oi(e,r);case q.ZodUndefined:return fh();case q.ZodNull:return eh();case q.ZodArray:return Fg(e,r);case q.ZodUnion:case q.ZodDiscriminatedUnion:return th(e,r);case q.ZodIntersection:return Hg(e,r);case q.ZodTuple:return ph(e,r);case q.ZodRecord:return ki(e,r);case q.ZodLiteral:return Jg(e);case q.ZodEnum:return Bg(e);case q.ZodNativeEnum:return Xg(e);case q.ZodNullable:return nh(e,r);case q.ZodOptional:return lh(e,r);case q.ZodMap:return Kg(e,r);case q.ZodSet:return dh(e,r);case q.ZodLazy:return()=>e.getter()._def;case q.ZodPromise:return ch(e,r);case q.ZodNaN:case q.ZodNever:return Qg();case q.ZodEffects:return Gg(e,r);case q.ZodAny:return je();case q.ZodUnknown:return gh();case q.ZodDefault:return Zg(e,r);case q.ZodBranded:return xi(e,r);case q.ZodReadonly:return hh(e,r);case q.ZodCatch:return jg(e,r);case q.ZodPipeline:return uh(e,r);case q.ZodFunction:case q.ZodVoid:case q.ZodSymbol:return;default:return(n=>{})()}},yh=(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!==$g)return l}if(a&&!r){const l=vh(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=mh(e,e.typeName,t),i=typeof s=="function"?oe(s(),t):s;if(i&&wh(e,t,i),t.postProcess){const l=t.postProcess(i,e,t);return o.jsonSchema=i,l}return o.jsonSchema=i,i}var vh=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:yh(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}},wh=(e,t,r)=>(e.description&&(r.description=e.description),r),_h=e=>{const t=Mg(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}]))}},Th=(e,t)=>{var r;const n=_h(t);let a=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((u,[c,d])=>{var p;return{...u,[c]:(p=oe(d._def,{...n,currentPath:[...n.basePath,n.definitionPath,c]},!0))!=null?p:je()}},{}):void 0;const o=typeof t=="string"?t:(t==null?void 0:t.nameStrategy)==="title"||t==null?void 0:t.name,s=(r=oe(e._def,o===void 0?n:{...n,currentPath:[...n.basePath,n.definitionPath,o]},!1))!=null?r:je(),i=typeof t=="object"&&t.name!==void 0&&t.nameStrategy==="title"?t.name:void 0;i!==void 0&&(s.title=i);const l=o===void 0?a?{...s,[n.definitionPath]:a}:s:{$ref:[...n.$refStrategy==="relative"?[]:n.basePath,n.definitionPath,o].join("/"),[n.definitionPath]:{...a,[o]:s}};return l.$schema="http://json-schema.org/draft-07/schema#",l},qn=Symbol.for("vercel.ai.schema");function Qt(e){let t;return()=>(t==null&&(t=e()),t)}function fn(e,{validate:t}={}){return{[qn]:!0,_type:void 0,get jsonSchema(){return typeof e=="function"&&(e=e()),e},validate:t}}function Eh(e){return typeof e=="object"&&e!==null&&qn in e&&e[qn]===!0&&"jsonSchema"in e&&"validate"in e}function er(e){return e==null?fn({properties:{},additionalProperties:!1}):Eh(e)?e:"~standard"in e?e["~standard"].vendor==="zod"?Dt(e):bh(e):e()}function bh(e){return fn(()=>e["~standard"].jsonSchema.input({target:"draft-07"}),{validate:async t=>{const r=await e["~standard"].validate(t);return"value"in r?{success:!0,value:r.value}:{success:!1,error:new Rt({value:t,cause:r.issues})}}})}function Ih(e,t){var r;const n=(r=void 0)!=null?r:!1;return fn(()=>Th(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 Sh(e,t){var r;const n=(r=void 0)!=null?r:!1;return fn(()=>Ni(ef(e,{target:"draft-7",io:"input",reused:n?"ref":"inline"})),{validate:async a=>{const o=await hi(e,a);return o.success?{success:!0,value:o.data}:{success:!1,error:o.error}}})}function Ah(e){return"_zod"in e}function Dt(e,t){return Ah(e)?Sh(e):Ih(e)}async function Zn({value:e,schema:t}){const r=await rt({value:e,schema:t});if(!r.success)throw Rt.wrap({value:e,cause:r.error});return r.value}async function rt({value:e,schema:t}){const r=er(t);try{if(r.validate==null)return{success:!0,value:e,rawValue:e};const n=await r.validate(e);return n.success?{success:!0,value:n.value,rawValue:e}:{success:!1,error:Rt.wrap({value:e,cause:n.error}),rawValue:e}}catch(n){return{success:!1,error:Rt.wrap({value:e,cause:n}),rawValue:e}}}async function Nh({text:e,schema:t}){try{const r=Ai(e);return t==null?r:Zn({value:r,schema:t})}catch(r){throw Gr.isInstance(r)||Rt.isInstance(r)?r:new Gr({text:e,cause:r})}}async function We({text:e,schema:t}){try{const r=Ai(e);return t==null?{success:!0,value:r,rawValue:r}:await rt({value:r,schema:t})}catch(r){return{success:!1,error:Gr.isInstance(r)?r:new Gr({text:e,cause:r}),rawValue:void 0}}}function xh({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new Ig).pipeThrough(new TransformStream({async transform({data:r},n){r!=="[DONE]"&&n.enqueue(await We({text:r,schema:t}))}}))}var Oh=()=>globalThis.fetch,rn=async({url:e,headers:t,body:r,failedResponseHandler:n,successfulResponseHandler:a,abortSignal:o,fetch:s})=>Rh({url:e,headers:{"Content-Type":"application/json",...t},body:{content:JSON.stringify(r),values:r},failedResponseHandler:n,successfulResponseHandler:a,abortSignal:o,fetch:s}),Rh=async({url:e,headers:t={},body:r,successfulResponseHandler:n,failedResponseHandler:a,abortSignal:o,fetch:s=Oh()})=>{try{const i=await s(e,{method:"POST",headers:Or(t,`ai-sdk/provider-utils/${Si}`,ia()),body:r.content,signal:o}),l=Nr(i);if(!i.ok){let u;try{u=await a({response:i,url:e,requestBodyValues:r.values})}catch(c){throw Pt(c)||$e.isInstance(c)?c:new $e({message:"Failed to process error response",cause:c,statusCode:i.status,url:e,responseHeaders:l,requestBodyValues:r.values})}throw u.value}try{return await n({response:i,url:e,requestBodyValues:r.values})}catch(u){throw u instanceof Error&&(Pt(u)||$e.isInstance(u))?u:new $e({message:"Failed to process successful response",cause:u,statusCode:i.status,url:e,responseHeaders:l,requestBodyValues:r.values})}}catch(i){throw Ii({error:i,url:e,requestBodyValues:r.values})}};async function Ge(e){return typeof e=="function"&&(e=e()),Promise.resolve(e)}var Yt=({errorSchema:e,errorToMessage:t,isRetryable:r})=>async({response:n,url:a,requestBodyValues:o})=>{const s=await n.text(),i=Nr(n);if(s.trim()==="")return{responseHeaders:i,value:new $e({message:n.statusText,url:a,requestBodyValues:o,statusCode:n.status,responseHeaders:i,responseBody:s,isRetryable:r==null?void 0:r(n)})};try{const l=await Nh({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)})}}},kh=e=>async({response:t})=>{const r=Nr(t);if(t.body==null)throw new xu({});return{responseHeaders:r,value:xh({stream:t.body,schema:e})}},yr=e=>async({response:t,url:r,requestBodyValues:n})=>{const a=await t.text(),o=await We({text:a,schema:e}),s=Nr(t);if(!o.success)throw new $e({message:"Invalid JSON response",cause:o.error,statusCode:t.status,responseHeaders:s,responseBody:a,url:r,requestBodyValues:n});return{responseHeaders:s,value:o.value,rawValue:o.rawValue}};function Ph(e){return e==null?void 0:e.replace(/\/$/,"")}function Ch(e){return e!=null&&typeof e[Symbol.asyncIterator]=="function"}async function*Dh({execute:e,input:t,options:r}){const n=e(t,r);if(Ch(n)){let a;for await(const o of n)a=o,yield{type:"preliminary",output:o};yield{type:"final",output:a}}else yield{type:"final",output:await n}}var xn,ho;function zh(){if(ho)return xn;ho=1;var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,n=Object.prototype.hasOwnProperty,a=(c,d)=>{for(var p in d)e(c,p,{get:d[p],enumerable:!0})},o=(c,d,p,w)=>{if(d&&typeof d=="object"||typeof d=="function")for(let b of r(d))!n.call(c,b)&&b!==p&&e(c,b,{get:()=>d[b],enumerable:!(w=t(d,b))||w.enumerable});return c},s=c=>o(e({},"__esModule",{value:!0}),c),i={};a(i,{SYMBOL_FOR_REQ_CONTEXT:()=>l,getContext:()=>u}),xn=s(i);const l=Symbol.for("@vercel/request-context");function u(){var d,p;return((p=(d=globalThis[l])==null?void 0:d.get)==null?void 0:p.call(d))??{}}return xn}var On,mo;function $h(){if(mo)return On;mo=1;var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,n=Object.prototype.hasOwnProperty,a=(d,p)=>{for(var w in p)e(d,w,{get:p[w],enumerable:!0})},o=(d,p,w,b)=>{if(p&&typeof p=="object"||typeof p=="function")for(let _ of r(p))!n.call(d,_)&&_!==w&&e(d,_,{get:()=>p[_],enumerable:!(b=t(p,_))||b.enumerable});return d},s=d=>o(e({},"__esModule",{value:!0}),d),i={};a(i,{getContext:()=>l.getContext,getVercelOidcToken:()=>u,getVercelOidcTokenSync:()=>c}),On=s(i);var l=zh();async function u(){return""}function c(){return""}return On}var Pi=$h(),Mh="vercel.ai.gateway.error",Rn=Symbol.for(Mh),yo,vo,qe=class Ci extends(vo=Error,yo=Rn,vo){constructor({message:t,statusCode:r=500,cause:n}){super(t),this[yo]=!0,this.statusCode=r,this.cause=n}static isInstance(t){return Ci.hasMarker(t)}static hasMarker(t){return typeof t=="object"&&t!==null&&Rn in t&&t[Rn]===!0}},Di="GatewayAuthenticationError",Fh=`vercel.ai.gateway.error.${Di}`,wo=Symbol.for(Fh),_o,To,la=class zi extends(To=qe,_o=wo,To){constructor({message:t="Authentication failed",statusCode:r=401,cause:n}={}){super({message:t,statusCode:r,cause:n}),this[_o]=!0,this.name=Di,this.type="authentication_error"}static isInstance(t){return qe.hasMarker(t)&&wo in t}static createContextualError({apiKeyProvided:t,oidcTokenProvided:r,message:n="Authentication failed",statusCode:a=401,cause:o}){let s;return t?s=`AI Gateway authentication failed: Invalid API key.
50
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})}},$i="GatewayInvalidRequestError",Fh=`vercel.ai.gateway.error.${$i}`,Eo=Symbol.for(Fh),bo,Io,Lh=class extends(Io=qe,bo=Eo,Io){constructor({message:e="Invalid request",statusCode:t=400,cause:r}={}){super({message:e,statusCode:t,cause:r}),this[bo]=!0,this.name=$i,this.type="invalid_request_error"}static isInstance(e){return qe.hasMarker(e)&&Eo in e}},Mi="GatewayRateLimitError",Uh=`vercel.ai.gateway.error.${Mi}`,So=Symbol.for(Uh),Ao,No,jh=class extends(No=qe,Ao=So,No){constructor({message:e="Rate limit exceeded",statusCode:t=429,cause:r}={}){super({message:e,statusCode:t,cause:r}),this[Ao]=!0,this.name=Mi,this.type="rate_limit_exceeded"}static isInstance(e){return qe.hasMarker(e)&&So in e}},Fi="GatewayModelNotFoundError",qh=`vercel.ai.gateway.error.${Fi}`,xo=Symbol.for(qh),Zh=Qt(()=>Dt(G({modelId:R()}))),Oo,Ro,Gh=class extends(Ro=qe,Oo=xo,Ro){constructor({message:e="Model not found",statusCode:t=404,modelId:r,cause:n}={}){super({message:e,statusCode:t,cause:n}),this[Oo]=!0,this.name=Fi,this.type="model_not_found",this.modelId=r}static isInstance(e){return qe.hasMarker(e)&&xo in e}},Li="GatewayInternalServerError",Bh=`vercel.ai.gateway.error.${Li}`,ko=Symbol.for(Bh),Po,Co,Do=class extends(Co=qe,Po=ko,Co){constructor({message:e="Internal server error",statusCode:t=500,cause:r}={}){super({message:e,statusCode:t,cause:r}),this[Po]=!0,this.name=Li,this.type="internal_server_error"}static isInstance(e){return qe.hasMarker(e)&&ko in e}},Ui="GatewayResponseError",Vh=`vercel.ai.gateway.error.${Ui}`,zo=Symbol.for(Vh),$o,Mo,Hh=class extends(Mo=qe,$o=zo,Mo){constructor({message:e="Invalid response from Gateway",statusCode:t=502,response:r,validationError:n,cause:a}={}){super({message:e,statusCode:t,cause:a}),this[$o]=!0,this.name=Ui,this.type="response_error",this.response=r,this.validationError=n}static isInstance(e){return qe.hasMarker(e)&&zo in e}};async function Fo({response:e,statusCode:t,defaultMessage:r="Gateway request failed",cause:n,authMethod:a}){const o=await rt({value:e,schema:Jh});if(!o.success)return new Hh({message:`Invalid error response format: ${r}`,statusCode:t,response:e,validationError:o.error,cause:n});const s=o.value,i=s.error.type,l=s.error.message;switch(i){case"authentication_error":return la.createContextualError({apiKeyProvided:a==="api-key",oidcTokenProvided:a==="oidc",statusCode:t,cause:n});case"invalid_request_error":return new Lh({message:l,statusCode:t,cause:n});case"rate_limit_exceeded":return new jh({message:l,statusCode:t,cause:n});case"model_not_found":{const u=await rt({value:s.error.param,schema:Zh});return new Gh({message:l,statusCode:t,modelId:u.success?u.value.modelId:void 0,cause:n})}case"internal_server_error":return new Do({message:l,statusCode:t,cause:n});default:return new Do({message:l,statusCode:t,cause:n})}}var Jh=Qt(()=>Dt(G({error:G({message:R(),type:R().nullish(),param:kt().nullish(),code:Pe([R(),Kr()]).nullish()})})));function Et(e,t){var r;return qe.isInstance(e)?e:$e.isInstance(e)?Fo({response:Yh(e),statusCode:(r=e.statusCode)!=null?r:500,defaultMessage:"Gateway request failed",cause:e,authMethod:t}):Fo({response:{},statusCode:500,defaultMessage:e instanceof Error?`Gateway request failed: ${e.message}`:"Unknown Gateway error",cause:e,authMethod:t})}function Yh(e){if(e.data!==void 0)return e.data;if(e.responseBody!=null)try{return JSON.parse(e.responseBody)}catch{return e.responseBody}return{}}var ji="ai-gateway-auth-method";async function Wt(e){const t=await rt({value:e[ji],schema:Wh});return t.success?t.value:void 0}var Wh=Qt(()=>Dt(Pe([ee("api-key"),ee("oidc")]))),Lo=class{constructor(e){this.config=e}async getAvailableModels(){try{const{value:e}=await co({url:`${this.config.baseURL}/config`,headers:await Ge(this.config.headers()),successfulResponseHandler:yr(Kh),failedResponseHandler:Yt({errorSchema:yt(),errorToMessage:t=>t}),fetch:this.config.fetch});return e}catch(e){throw await Et(e)}}async getCredits(){try{const e=new URL(this.config.baseURL),{value:t}=await co({url:`${e.origin}/v1/credits`,headers:await Ge(this.config.headers()),successfulResponseHandler:yr(Xh),failedResponseHandler:Yt({errorSchema:yt(),errorToMessage:r=>r}),fetch:this.config.fetch});return t}catch(e){throw await Et(e)}}},Kh=Qt(()=>Dt(G({models:Ue(G({id:R(),name:R(),description:R().nullish(),pricing:G({input:R(),output:R(),input_cache_read:R().nullish(),input_cache_write:R().nullish()}).transform(({input:e,output:t,input_cache_read:r,input_cache_write:n})=>({input:e,output:t,...r?{cachedInputTokens:r}:{},...n?{cacheCreationInputTokens:n}:{}})).nullish(),specification:G({specificationVersion:ee("v3"),provider:R(),modelId:R()}),modelType:wi(["language","embedding","image"]).nullish()}))}))),Xh=Qt(()=>Dt(G({balance:R(),total_used:R()}).transform(({balance:e,total_used:t})=>({balance:e,totalUsed:t})))),Qh=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v3",this.supportedUrls={"*/*":[/.*/]}}get provider(){return this.config.provider}async getArgs(e){const{abortSignal:t,...r}=e;return{args:this.maybeEncodeFileParts(r),warnings:[]}}async doGenerate(e){const{args:t,warnings:r}=await this.getArgs(e),{abortSignal:n}=e,a=await Ge(this.config.headers());try{const{responseHeaders:o,value:s,rawValue:i}=await rn({url:this.getUrl(),headers:en(a,e.headers,this.getModelConfigHeaders(this.modelId,!1),await Ge(this.config.o11yHeaders)),body:t,successfulResponseHandler:yr(yt()),failedResponseHandler:Yt({errorSchema:yt(),errorToMessage:l=>l}),...n&&{abortSignal:n},fetch:this.config.fetch});return{...s,request:{body:t},response:{headers:o,body:i},warnings:r}}catch(o){throw await Et(o,await Wt(a))}}async doStream(e){const{args:t,warnings:r}=await this.getArgs(e),{abortSignal:n}=e,a=await Ge(this.config.headers());try{const{value:o,responseHeaders:s}=await rn({url:this.getUrl(),headers:en(a,e.headers,this.getModelConfigHeaders(this.modelId,!0),await Ge(this.config.o11yHeaders)),body:t,successfulResponseHandler:Rh(yt()),failedResponseHandler:Yt({errorSchema:yt(),errorToMessage:i=>i}),...n&&{abortSignal:n},fetch:this.config.fetch});return{stream:o.pipeThrough(new TransformStream({start(i){r.length>0&&i.enqueue({type:"stream-start",warnings:r})},transform(i,l){if(i.success){const u=i.value;if(u.type==="raw"&&!e.includeRawChunks)return;u.type==="response-metadata"&&u.timestamp&&typeof u.timestamp=="string"&&(u.timestamp=new Date(u.timestamp)),l.enqueue(u)}else l.error(i.error)}})),request:{body:t},response:{headers:s}}}catch(o){throw await Et(o,await Wt(a))}}isFilePart(e){return e&&typeof e=="object"&&"type"in e&&e.type==="file"}maybeEncodeFileParts(e){for(const t of e.prompt)for(const r of t.content)if(this.isFilePart(r)){const n=r;if(n.data instanceof Uint8Array){const a=Uint8Array.from(n.data),o=Buffer.from(a).toString("base64");n.data=new URL(`data:${n.mediaType||"application/octet-stream"};base64,${o}`)}}return e}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders(e,t){return{"ai-language-model-specification-version":"3","ai-language-model-id":e,"ai-language-model-streaming":String(t)}}},em=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v3",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}get provider(){return this.config.provider}async doEmbed({values:e,headers:t,abortSignal:r,providerOptions:n}){var a;const o=await Ge(this.config.headers());try{const{responseHeaders:s,value:i,rawValue:l}=await rn({url:this.getUrl(),headers:en(o,t??{},this.getModelConfigHeaders(),await Ge(this.config.o11yHeaders)),body:{values:e,...n?{providerOptions:n}:{}},successfulResponseHandler:yr(tm),failedResponseHandler:Yt({errorSchema:yt(),errorToMessage:u=>u}),...r&&{abortSignal:r},fetch:this.config.fetch});return{embeddings:i.embeddings,usage:(a=i.usage)!=null?a:void 0,providerMetadata:i.providerMetadata,response:{headers:s,body:l},warnings:[]}}catch(s){throw await Et(s,await Wt(o))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"3","ai-model-id":this.modelId}}},tm=Qt(()=>Dt(G({embeddings:Ue(Ue(Kr())),usage:G({tokens:Kr()}).nullish(),providerMetadata:Tt(R(),Tt(R(),kt())).optional()}))),rm=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v3",this.maxImagesPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate({prompt:e,n:t,size:r,aspectRatio:n,seed:a,files:o,mask:s,providerOptions:i,headers:l,abortSignal:u}){var c;const d=await Ge(this.config.headers());try{const{responseHeaders:p,value:w,rawValue:b}=await rn({url:this.getUrl(),headers:en(d,l??{},this.getModelConfigHeaders(),await Ge(this.config.o11yHeaders)),body:{prompt:e,n:t,...r&&{size:r},...n&&{aspectRatio:n},...a&&{seed:a},...i&&{providerOptions:i},...o&&{files:o.map(_=>Uo(_))},...s&&{mask:Uo(s)}},successfulResponseHandler:yr(am),failedResponseHandler:Yt({errorSchema:yt(),errorToMessage:_=>_}),...u&&{abortSignal:u},fetch:this.config.fetch});return{images:w.images,warnings:(c=w.warnings)!=null?c:[],providerMetadata:w.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:p}}}catch(p){throw Et(p,await Wt(d))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"3","ai-model-id":this.modelId}}};function Uo(e){return e.type==="file"&&e.data instanceof Uint8Array?{...e,data:tn(e.data)}:e}var nm=G({images:Ue(kt()).optional()}).catchall(kt()),am=G({images:Ue(R()),warnings:Ue(G({type:ee("other"),message:R()})).optional(),providerMetadata:Tt(R(),nm).optional()});async function om(){var e;return(e=Pi.getContext().headers)==null?void 0:e["x-vercel-id"]}var sm="3.0.8",im="0.0.1";function lm(e={}){var t,r;let n=null,a=null;const o=(t=e.metadataCacheRefreshMillis)!=null?t:1e3*60*5;let s=0;const i=(r=kh(e.baseURL))!=null?r:"https://ai-gateway.vercel.sh/v3/ai",l=async()=>{try{const _=await cm(e);return Or({Authorization:`Bearer ${_.token}`,"ai-gateway-protocol-version":im,[ji]:_.authMethod,...e.headers},`ai-sdk/gateway/${sm}`)}catch(_){throw la.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:_})}},u=()=>{const _=Zr({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),I=Zr({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),P=Zr({settingValue:void 0,environmentVariableName:"VERCEL_REGION"});return async()=>{const C=await om();return{..._&&{"ai-o11y-deployment-id":_},...I&&{"ai-o11y-environment":I},...P&&{"ai-o11y-region":P},...C&&{"ai-o11y-request-id":C}}}},c=_=>new Qh(_,{provider:"gateway",baseURL:i,headers:l,fetch:e.fetch,o11yHeaders:u()}),d=async()=>{var _,I,P;const C=(P=(I=(_=e._internal)==null?void 0:_.currentDate)==null?void 0:I.call(_).getTime())!=null?P:Date.now();return(!n||C-s>o)&&(s=C,n=new Lo({baseURL:i,headers:l,fetch:e.fetch}).getAvailableModels().then(m=>(a=m,m)).catch(async m=>{throw await Et(m,await Wt(await l()))})),a?Promise.resolve(a):n},p=async()=>new Lo({baseURL:i,headers:l,fetch:e.fetch}).getCredits().catch(async _=>{throw await Et(_,await Wt(await l()))}),w=function(_){if(new.target)throw new Error("The Gateway Provider model function cannot be called with the new keyword.");return c(_)};w.specificationVersion="v3",w.getAvailableModels=d,w.getCredits=p,w.imageModel=_=>new rm(_,{provider:"gateway",baseURL:i,headers:l,fetch:e.fetch,o11yHeaders:u()}),w.languageModel=c;const b=_=>new em(_,{provider:"gateway",baseURL:i,headers:l,fetch:e.fetch,o11yHeaders:u()});return w.embeddingModel=b,w.textEmbeddingModel=b,w}var um=lm();async function cm(e){const t=Zr({settingValue:e.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});return t?{token:t,authMethod:"api-key"}:{token:await Pi.getVercelOidcToken(),authMethod:"oidc"}}var dm=typeof globalThis=="object"?globalThis:typeof self=="object"?self:typeof window=="object"?window:typeof global=="object"?global:{},Ot="1.9.0",jo=/^(\d+)\.(\d+)\.(\d+)(-(.+))?$/;function pm(e){var t=new Set([e]),r=new Set,n=e.match(jo);if(!n)return function(){return!1};var a={major:+n[1],minor:+n[2],patch:+n[3],prerelease:n[4]};if(a.prerelease!=null)return function(l){return l===e};function o(i){return r.add(i),!1}function s(i){return t.add(i),!0}return function(l){if(t.has(l))return!0;if(r.has(l))return!1;var u=l.match(jo);if(!u)return o(l);var c={major:+u[1],minor:+u[2],patch:+u[3],prerelease:u[4]};return c.prerelease!=null||a.major!==c.major?o(l):a.major===0?a.minor===c.minor&&a.patch<=c.patch?s(l):o(l):a.minor<=c.minor?s(l):o(l)}}var fm=pm(Ot),gm=Ot.split(".")[0],vr=Symbol.for("opentelemetry.js.api."+gm),wr=dm;function ua(e,t,r,n){var a;n===void 0&&(n=!1);var o=wr[vr]=(a=wr[vr])!==null&&a!==void 0?a:{version:Ot};if(!n&&o[e]){var s=new Error("@opentelemetry/api: Attempted duplicate registration of API: "+e);return r.error(s.stack||s.message),!1}if(o.version!==Ot){var s=new Error("@opentelemetry/api: Registration of version v"+o.version+" for "+e+" does not match previously registered API v"+Ot);return r.error(s.stack||s.message),!1}return o[e]=t,r.debug("@opentelemetry/api: Registered a global for "+e+" v"+Ot+"."),!0}function _r(e){var t,r,n=(t=wr[vr])===null||t===void 0?void 0:t.version;if(!(!n||!fm(n)))return(r=wr[vr])===null||r===void 0?void 0:r[e]}function ca(e,t){t.debug("@opentelemetry/api: Unregistering a global for "+e+" v"+Ot+".");var r=wr[vr];r&&delete r[e]}var hm=function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),a,o=[],s;try{for(;(t===void 0||t-- >0)&&!(a=n.next()).done;)o.push(a.value)}catch(i){s={error:i}}finally{try{a&&!a.done&&(r=n.return)&&r.call(n)}finally{if(s)throw s.error}}return o},mm=function(e,t,r){if(r||arguments.length===2)for(var n=0,a=t.length,o;n<a;n++)(o||!(n in t))&&(o||(o=Array.prototype.slice.call(t,0,n)),o[n]=t[n]);return e.concat(o||Array.prototype.slice.call(t))},ym=(function(){function e(t){this._namespace=t.namespace||"DiagComponentLogger"}return e.prototype.debug=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return ur("debug",this._namespace,t)},e.prototype.error=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return ur("error",this._namespace,t)},e.prototype.info=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return ur("info",this._namespace,t)},e.prototype.warn=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return ur("warn",this._namespace,t)},e.prototype.verbose=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return ur("verbose",this._namespace,t)},e})();function ur(e,t,r){var n=_r("diag");if(n)return r.unshift(t),n[e].apply(n,mm([],hm(r),!1))}var Le;(function(e){e[e.NONE=0]="NONE",e[e.ERROR=30]="ERROR",e[e.WARN=50]="WARN",e[e.INFO=60]="INFO",e[e.DEBUG=70]="DEBUG",e[e.VERBOSE=80]="VERBOSE",e[e.ALL=9999]="ALL"})(Le||(Le={}));function vm(e,t){e<Le.NONE?e=Le.NONE:e>Le.ALL&&(e=Le.ALL),t=t||{};function r(n,a){var o=t[n];return typeof o=="function"&&e>=a?o.bind(t):function(){}}return{error:r("error",Le.ERROR),warn:r("warn",Le.WARN),info:r("info",Le.INFO),debug:r("debug",Le.DEBUG),verbose:r("verbose",Le.VERBOSE)}}var wm=function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),a,o=[],s;try{for(;(t===void 0||t-- >0)&&!(a=n.next()).done;)o.push(a.value)}catch(i){s={error:i}}finally{try{a&&!a.done&&(r=n.return)&&r.call(n)}finally{if(s)throw s.error}}return o},_m=function(e,t,r){if(r||arguments.length===2)for(var n=0,a=t.length,o;n<a;n++)(o||!(n in t))&&(o||(o=Array.prototype.slice.call(t,0,n)),o[n]=t[n]);return e.concat(o||Array.prototype.slice.call(t))},Tm="diag",nn=(function(){function e(){function t(a){return function(){for(var o=[],s=0;s<arguments.length;s++)o[s]=arguments[s];var i=_r("diag");if(i)return i[a].apply(i,_m([],wm(o),!1))}}var r=this,n=function(a,o){var s,i,l;if(o===void 0&&(o={logLevel:Le.INFO}),a===r){var u=new Error("Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation");return r.error((s=u.stack)!==null&&s!==void 0?s:u.message),!1}typeof o=="number"&&(o={logLevel:o});var c=_r("diag"),d=vm((i=o.logLevel)!==null&&i!==void 0?i:Le.INFO,a);if(c&&!o.suppressOverrideMessage){var p=(l=new Error().stack)!==null&&l!==void 0?l:"<failed to generate stacktrace>";c.warn("Current logger will be overwritten from "+p),d.warn("Current logger will overwrite one already registered from "+p)}return ua("diag",d,r,!0)};r.setLogger=n,r.disable=function(){ca(Tm,r)},r.createComponentLogger=function(a){return new ym(a)},r.verbose=t("verbose"),r.debug=t("debug"),r.info=t("info"),r.warn=t("warn"),r.error=t("error")}return e.instance=function(){return this._instance||(this._instance=new e),this._instance},e})();function Em(e){return Symbol.for(e)}var bm=(function(){function e(t){var r=this;r._currentContext=t?new Map(t):new Map,r.getValue=function(n){return r._currentContext.get(n)},r.setValue=function(n,a){var o=new e(r._currentContext);return o._currentContext.set(n,a),o},r.deleteValue=function(n){var a=new e(r._currentContext);return a._currentContext.delete(n),a}}return e})(),Im=new bm,Sm=function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),a,o=[],s;try{for(;(t===void 0||t-- >0)&&!(a=n.next()).done;)o.push(a.value)}catch(i){s={error:i}}finally{try{a&&!a.done&&(r=n.return)&&r.call(n)}finally{if(s)throw s.error}}return o},Am=function(e,t,r){if(r||arguments.length===2)for(var n=0,a=t.length,o;n<a;n++)(o||!(n in t))&&(o||(o=Array.prototype.slice.call(t,0,n)),o[n]=t[n]);return e.concat(o||Array.prototype.slice.call(t))},Nm=(function(){function e(){}return e.prototype.active=function(){return Im},e.prototype.with=function(t,r,n){for(var a=[],o=3;o<arguments.length;o++)a[o-3]=arguments[o];return r.call.apply(r,Am([n],Sm(a),!1))},e.prototype.bind=function(t,r){return r},e.prototype.enable=function(){return this},e.prototype.disable=function(){return this},e})(),xm=function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),a,o=[],s;try{for(;(t===void 0||t-- >0)&&!(a=n.next()).done;)o.push(a.value)}catch(i){s={error:i}}finally{try{a&&!a.done&&(r=n.return)&&r.call(n)}finally{if(s)throw s.error}}return o},Om=function(e,t,r){if(r||arguments.length===2)for(var n=0,a=t.length,o;n<a;n++)(o||!(n in t))&&(o||(o=Array.prototype.slice.call(t,0,n)),o[n]=t[n]);return e.concat(o||Array.prototype.slice.call(t))},kn="context",Rm=new Nm,qi=(function(){function e(){}return e.getInstance=function(){return this._instance||(this._instance=new e),this._instance},e.prototype.setGlobalContextManager=function(t){return ua(kn,t,nn.instance())},e.prototype.active=function(){return this._getContextManager().active()},e.prototype.with=function(t,r,n){for(var a,o=[],s=3;s<arguments.length;s++)o[s-3]=arguments[s];return(a=this._getContextManager()).with.apply(a,Om([t,r,n],xm(o),!1))},e.prototype.bind=function(t,r){return this._getContextManager().bind(t,r)},e.prototype._getContextManager=function(){return _r(kn)||Rm},e.prototype.disable=function(){this._getContextManager().disable(),ca(kn,nn.instance())},e})(),Gn;(function(e){e[e.NONE=0]="NONE",e[e.SAMPLED=1]="SAMPLED"})(Gn||(Gn={}));var Zi="0000000000000000",Gi="00000000000000000000000000000000",km={traceId:Gi,spanId:Zi,traceFlags:Gn.NONE},pr=(function(){function e(t){t===void 0&&(t=km),this._spanContext=t}return e.prototype.spanContext=function(){return this._spanContext},e.prototype.setAttribute=function(t,r){return this},e.prototype.setAttributes=function(t){return this},e.prototype.addEvent=function(t,r){return this},e.prototype.addLink=function(t){return this},e.prototype.addLinks=function(t){return this},e.prototype.setStatus=function(t){return this},e.prototype.updateName=function(t){return this},e.prototype.end=function(t){},e.prototype.isRecording=function(){return!1},e.prototype.recordException=function(t,r){},e})(),da=Em("OpenTelemetry Context Key SPAN");function pa(e){return e.getValue(da)||void 0}function Pm(){return pa(qi.getInstance().active())}function fa(e,t){return e.setValue(da,t)}function Cm(e){return e.deleteValue(da)}function Dm(e,t){return fa(e,new pr(t))}function Bi(e){var t;return(t=pa(e))===null||t===void 0?void 0:t.spanContext()}var zm=/^([0-9a-f]{32})$/i,$m=/^[0-9a-f]{16}$/i;function Mm(e){return zm.test(e)&&e!==Gi}function Fm(e){return $m.test(e)&&e!==Zi}function Vi(e){return Mm(e.traceId)&&Fm(e.spanId)}function Lm(e){return new pr(e)}var Pn=qi.getInstance(),Hi=(function(){function e(){}return e.prototype.startSpan=function(t,r,n){n===void 0&&(n=Pn.active());var a=!!(r!=null&&r.root);if(a)return new pr;var o=n&&Bi(n);return Um(o)&&Vi(o)?new pr(o):new pr},e.prototype.startActiveSpan=function(t,r,n,a){var o,s,i;if(!(arguments.length<2)){arguments.length===2?i=r:arguments.length===3?(o=r,i=n):(o=r,s=n,i=a);var l=s??Pn.active(),u=this.startSpan(t,o,l),c=fa(l,u);return Pn.with(c,i,void 0,u)}},e})();function Um(e){return typeof e=="object"&&typeof e.spanId=="string"&&typeof e.traceId=="string"&&typeof e.traceFlags=="number"}var jm=new Hi,qm=(function(){function e(t,r,n,a){this._provider=t,this.name=r,this.version=n,this.options=a}return e.prototype.startSpan=function(t,r,n){return this._getTracer().startSpan(t,r,n)},e.prototype.startActiveSpan=function(t,r,n,a){var o=this._getTracer();return Reflect.apply(o.startActiveSpan,o,arguments)},e.prototype._getTracer=function(){if(this._delegate)return this._delegate;var t=this._provider.getDelegateTracer(this.name,this.version,this.options);return t?(this._delegate=t,this._delegate):jm},e})(),Zm=(function(){function e(){}return e.prototype.getTracer=function(t,r,n){return new Hi},e})(),Gm=new Zm,qo=(function(){function e(){}return e.prototype.getTracer=function(t,r,n){var a;return(a=this.getDelegateTracer(t,r,n))!==null&&a!==void 0?a:new qm(this,t,r,n)},e.prototype.getDelegate=function(){var t;return(t=this._delegate)!==null&&t!==void 0?t:Gm},e.prototype.setDelegate=function(t){this._delegate=t},e.prototype.getDelegateTracer=function(t,r,n){var a;return(a=this._delegate)===null||a===void 0?void 0:a.getTracer(t,r,n)},e})(),an;(function(e){e[e.UNSET=0]="UNSET",e[e.OK=1]="OK",e[e.ERROR=2]="ERROR"})(an||(an={}));var Cn="trace",Bm=(function(){function e(){this._proxyTracerProvider=new qo,this.wrapSpanContext=Lm,this.isSpanContextValid=Vi,this.deleteSpan=Cm,this.getSpan=pa,this.getActiveSpan=Pm,this.getSpanContext=Bi,this.setSpan=fa,this.setSpanContext=Dm}return e.getInstance=function(){return this._instance||(this._instance=new e),this._instance},e.prototype.setGlobalTracerProvider=function(t){var r=ua(Cn,this._proxyTracerProvider,nn.instance());return r&&this._proxyTracerProvider.setDelegate(t),r},e.prototype.getTracerProvider=function(){return _r(Cn)||this._proxyTracerProvider},e.prototype.getTracer=function(t,r){return this.getTracerProvider().getTracer(t,r)},e.prototype.disable=function(){ca(Cn,nn.instance()),this._proxyTracerProvider=new qo},e})(),Vm=Bm.getInstance(),Hm=Object.defineProperty,Jm=(e,t)=>{for(var r in t)Hm(e,r,{get:t[r],enumerable:!0})},Ji="AI_InvalidArgumentError",Yi=`vercel.ai.error.${Ji}`,Ym=Symbol.for(Yi),Wi,et=class extends H{constructor({parameter:e,value:t,message:r}){super({name:Ji,message:`Invalid argument for parameter ${e}: ${r}`}),this[Wi]=!0,this.parameter=e,this.value=t}static isInstance(e){return H.hasMarker(e,Yi)}};Wi=Ym;var Ki="AI_InvalidToolApprovalError",Xi=`vercel.ai.error.${Ki}`,Wm=Symbol.for(Xi),Qi,Km=class extends H{constructor({approvalId:e}){super({name:Ki,message:`Tool approval response references unknown approvalId: "${e}". No matching tool-approval-request found in message history.`}),this[Qi]=!0,this.approvalId=e}static isInstance(e){return H.hasMarker(e,Xi)}};Qi=Wm;var el="AI_InvalidToolInputError",tl=`vercel.ai.error.${el}`,Xm=Symbol.for(tl),rl,ga=class extends H{constructor({toolInput:e,toolName:t,cause:r,message:n=`Invalid input for tool ${t}: ${Kt(r)}`}){super({name:el,message:n,cause:r}),this[rl]=!0,this.toolInput=e,this.toolName=t}static isInstance(e){return H.hasMarker(e,tl)}};rl=Xm;var nl="AI_ToolCallNotFoundForApprovalError",al=`vercel.ai.error.${nl}`,Qm=Symbol.for(al),ol,ha=class extends H{constructor({toolCallId:e,approvalId:t}){super({name:nl,message:`Tool call "${e}" not found for approval request "${t}".`}),this[ol]=!0,this.toolCallId=e,this.approvalId=t}static isInstance(e){return H.hasMarker(e,al)}};ol=Qm;var sl="AI_NoObjectGeneratedError",il=`vercel.ai.error.${sl}`,ey=Symbol.for(il),ll,vt=class extends H{constructor({message:e="No object generated.",cause:t,text:r,response:n,usage:a,finishReason:o}){super({name:sl,message:e,cause:t}),this[ll]=!0,this.text=r,this.response=n,this.usage=a,this.finishReason=o}static isInstance(e){return H.hasMarker(e,il)}};ll=ey;var ul="AI_NoOutputGeneratedError",cl=`vercel.ai.error.${ul}`,ty=Symbol.for(cl),dl,pl=class extends H{constructor({message:e="No output generated.",cause:t}={}){super({name:ul,message:e,cause:t}),this[dl]=!0}static isInstance(e){return H.hasMarker(e,cl)}};dl=ty;var fl="AI_NoSuchToolError",gl=`vercel.ai.error.${fl}`,ry=Symbol.for(gl),hl,Bn=class extends H{constructor({toolName:e,availableTools:t=void 0,message:r=`Model tried to call unavailable tool '${e}'. ${t===void 0?"No tools are available.":`Available tools: ${t.join(", ")}.`}`}){super({name:fl,message:r}),this[hl]=!0,this.toolName=e,this.availableTools=t}static isInstance(e){return H.hasMarker(e,gl)}};hl=ry;var ml="AI_ToolCallRepairError",yl=`vercel.ai.error.${ml}`,ny=Symbol.for(yl),vl,ay=class extends H{constructor({cause:e,originalError:t,message:r=`Error repairing tool call: ${Kt(e)}`}){super({name:ml,message:r,cause:e}),this[vl]=!0,this.originalError=t}static isInstance(e){return H.hasMarker(e,yl)}};vl=ny;var oy=class extends H{constructor(e){super({name:"AI_UnsupportedModelVersionError",message:`Unsupported model version ${e.version} for provider "${e.provider}" and model "${e.modelId}". AI SDK 5 only supports models that implement specification version "v2".`}),this.version=e.version,this.provider=e.provider,this.modelId=e.modelId}},wl="AI_InvalidMessageRoleError",_l=`vercel.ai.error.${wl}`,sy=Symbol.for(_l),Tl,iy=class extends H{constructor({role:e,message:t=`Invalid message role: '${e}'. Must be one of: "system", "user", "assistant", "tool".`}){super({name:wl,message:t}),this[Tl]=!0,this.role=e}static isInstance(e){return H.hasMarker(e,_l)}};Tl=sy;var El="AI_RetryError",bl=`vercel.ai.error.${El}`,ly=Symbol.for(bl),Il,Zo=class extends H{constructor({message:e,reason:t,errors:r}){super({name:El,message:e}),this[Il]=!0,this.reason=t,this.errors=r,this.lastError=r[r.length-1]}static isInstance(e){return H.hasMarker(e,bl)}};Il=ly;function uy({warning:e,provider:t,model:r}){const n=`AI SDK Warning (${t} / ${r}):`;switch(e.type){case"unsupported":{let a=`${n} The feature "${e.feature}" is not supported.`;return e.details&&(a+=` ${e.details}`),a}case"compatibility":{let a=`${n} The feature "${e.feature}" is used in a compatibility mode.`;return e.details&&(a+=` ${e.details}`),a}case"other":return`${n} ${e.message}`;default:return`${n} ${JSON.stringify(e,null,2)}`}}var cy="AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.",Go=!1,ma=e=>{if(e.warnings.length===0)return;const t=globalThis.AI_SDK_LOG_WARNINGS;if(t!==!1){if(typeof t=="function"){t(e);return}Go||(Go=!0,console.info(cy));for(const r of e.warnings)console.warn(uy({warning:r,provider:e.provider,model:e.model}))}};function dy({provider:e,modelId:t}){ma({warnings:[{type:"compatibility",feature:"specificationVersion",details:"Using v2 specification compatibility mode. Some features may not be available."}],provider:e,model:t})}function py(e){return e.specificationVersion==="v3"?e:(dy({provider:e.provider,modelId:e.modelId}),new Proxy(e,{get(t,r){switch(r){case"specificationVersion":return"v3";case"doGenerate":return async(...n)=>{const a=await t.doGenerate(...n);return{...a,finishReason:Sl(a.finishReason),usage:Al(a.usage)}};case"doStream":return async(...n)=>{const a=await t.doStream(...n);return{...a,stream:fy(a.stream)}};default:return t[r]}}}))}function fy(e){return e.pipeThrough(new TransformStream({transform(t,r){switch(t.type){case"finish":r.enqueue({...t,finishReason:Sl(t.finishReason),usage:Al(t.usage)});break;default:r.enqueue(t);break}}}))}function Sl(e){return{unified:e==="unknown"?"other":e,raw:void 0}}function Al(e){return{inputTokens:{total:e.inputTokens,noCache:void 0,cacheRead:e.cachedInputTokens,cacheWrite:void 0},outputTokens:{total:e.outputTokens,text:void 0,reasoning:e.reasoningTokens}}}function on(e){if(typeof e!="string"){if(e.specificationVersion!=="v3"&&e.specificationVersion!=="v2"){const t=e;throw new oy({version:t.specificationVersion,provider:t.provider,modelId:t.modelId})}return py(e)}return gy().languageModel(e)}function gy(){var e;return(e=globalThis.AI_SDK_DEFAULT_PROVIDER)!=null?e:um}var hy=[{mediaType:"image/gif",bytesPrefix:[71,73,70]},{mediaType:"image/png",bytesPrefix:[137,80,78,71]},{mediaType:"image/jpeg",bytesPrefix:[255,216]},{mediaType:"image/webp",bytesPrefix:[82,73,70,70,null,null,null,null,87,69,66,80]},{mediaType:"image/bmp",bytesPrefix:[66,77]},{mediaType:"image/tiff",bytesPrefix:[73,73,42,0]},{mediaType:"image/tiff",bytesPrefix:[77,77,0,42]},{mediaType:"image/avif",bytesPrefix:[0,0,0,32,102,116,121,112,97,118,105,102]},{mediaType:"image/heic",bytesPrefix:[0,0,0,32,102,116,121,112,104,101,105,99]}],my=e=>{const t=typeof e=="string"?oa(e):e,r=(t[6]&127)<<21|(t[7]&127)<<14|(t[8]&127)<<7|t[9]&127;return t.slice(r+10)};function yy(e){return typeof e=="string"&&e.startsWith("SUQz")||typeof e!="string"&&e.length>10&&e[0]===73&&e[1]===68&&e[2]===51?my(e):e}function vy({data:e,signatures:t}){const r=yy(e),n=typeof r=="string"?oa(r.substring(0,Math.min(r.length,24))):r;for(const a of t)if(n.length>=a.bytesPrefix.length&&a.bytesPrefix.every((o,s)=>o===null||n[s]===o))return a.mediaType}var Nl="6.0.11",wy=async({url:e})=>{var t;const r=e.toString();try{const n=await fetch(r,{headers:Or({},`ai-sdk/${Nl}`,ia())});if(!n.ok)throw new Sn({url:r,statusCode:n.status,statusText:n.statusText});return{data:new Uint8Array(await n.arrayBuffer()),mediaType:(t=n.headers.get("content-type"))!=null?t:void 0}}catch(n){throw Sn.isInstance(n)?n:new Sn({url:r,cause:n})}},_y=(e=wy)=>t=>Promise.all(t.map(async r=>r.isUrlSupportedByModel?null:e(r)));function Ty(e){try{const[t,r]=e.split(",");return{mediaType:t.split(";")[0].split(":")[1],base64Content:r}}catch{return{mediaType:void 0,base64Content:void 0}}}var xl=Pe([R(),Xr(Uint8Array),Xr(ArrayBuffer),vg(e=>{var t,r;return(r=(t=globalThis.Buffer)==null?void 0:t.isBuffer(e))!=null?r:!1},{message:"Must be a Buffer"})]);function Ol(e){if(e instanceof Uint8Array)return{data:e,mediaType:void 0};if(e instanceof ArrayBuffer)return{data:new Uint8Array(e),mediaType:void 0};if(typeof e=="string")try{e=new URL(e)}catch{}if(e instanceof URL&&e.protocol==="data:"){const{mediaType:t,base64Content:r}=Ty(e.toString());if(t==null||r==null)throw new H({name:"InvalidDataContentError",message:`Invalid data URL format in content ${e.toString()}`});return{data:r,mediaType:t}}return{data:e,mediaType:void 0}}function Ey(e){return typeof e=="string"?e:e instanceof ArrayBuffer?tn(new Uint8Array(e)):tn(e)}function Tr(e){return e===void 0?[]:Array.isArray(e)?e:[e]}async function Rl({prompt:e,supportedUrls:t,download:r=_y()}){const n=await Iy(e.messages,r,t),a=[...e.system!=null?typeof e.system=="string"?[{role:"system",content:e.system}]:Tr(e.system).map(s=>({role:"system",content:s.content,providerOptions:s.providerOptions})):[],...e.messages.map(s=>by({message:s,downloadedAssets:n}))],o=[];for(const s of a){if(s.role!=="tool"){o.push(s);continue}const i=o.at(-1);(i==null?void 0:i.role)==="tool"?i.content.push(...s.content):o.push(s)}return o}function by({message:e,downloadedAssets:t}){const r=e.role;switch(r){case"system":return{role:"system",content:e.content,providerOptions:e.providerOptions};case"user":return typeof e.content=="string"?{role:"user",content:[{type:"text",text:e.content}],providerOptions:e.providerOptions}:{role:"user",content:e.content.map(n=>Sy(n,t)).filter(n=>n.type!=="text"||n.text!==""),providerOptions:e.providerOptions};case"assistant":return typeof e.content=="string"?{role:"assistant",content:[{type:"text",text:e.content}],providerOptions:e.providerOptions}:{role:"assistant",content:e.content.filter(n=>n.type!=="text"||n.text!==""||n.providerOptions!=null).filter(n=>n.type!=="tool-approval-request").map(n=>{const a=n.providerOptions;switch(n.type){case"file":{const{data:o,mediaType:s}=Ol(n.data);return{type:"file",data:o,filename:n.filename,mediaType:s??n.mediaType,providerOptions:a}}case"reasoning":return{type:"reasoning",text:n.text,providerOptions:a};case"text":return{type:"text",text:n.text,providerOptions:a};case"tool-call":return{type:"tool-call",toolCallId:n.toolCallId,toolName:n.toolName,input:n.input,providerExecuted:n.providerExecuted,providerOptions:a};case"tool-result":return{type:"tool-result",toolCallId:n.toolCallId,toolName:n.toolName,output:Bo(n.output),providerOptions:a}}}),providerOptions:e.providerOptions};case"tool":return{role:"tool",content:e.content.filter(n=>n.type!=="tool-approval-response"||n.providerExecuted).map(n=>{switch(n.type){case"tool-result":return{type:"tool-result",toolCallId:n.toolCallId,toolName:n.toolName,output:Bo(n.output),providerOptions:n.providerOptions};case"tool-approval-response":return{type:"tool-approval-response",approvalId:n.approvalId,approved:n.approved,reason:n.reason}}}),providerOptions:e.providerOptions};default:{const n=r;throw new iy({role:n})}}}async function Iy(e,t,r){const n=e.filter(o=>o.role==="user").map(o=>o.content).filter(o=>Array.isArray(o)).flat().filter(o=>o.type==="image"||o.type==="file").map(o=>{var s;const i=(s=o.mediaType)!=null?s:o.type==="image"?"image/*":void 0;let l=o.type==="image"?o.image:o.data;if(typeof l=="string")try{l=new URL(l)}catch{}return{mediaType:i,data:l}}).filter(o=>o.data instanceof URL).map(o=>({url:o.data,isUrlSupportedByModel:o.mediaType!=null&&kg({url:o.data.toString(),mediaType:o.mediaType,supportedUrls:r})})),a=await t(n);return Object.fromEntries(a.map((o,s)=>o==null?null:[n[s].url.toString(),{data:o.data,mediaType:o.mediaType}]).filter(o=>o!=null))}function Sy(e,t){var r;if(e.type==="text")return{type:"text",text:e.text,providerOptions:e.providerOptions};let n;const a=e.type;switch(a){case"image":n=e.image;break;case"file":n=e.data;break;default:throw new Error(`Unsupported part type: ${a}`)}const{data:o,mediaType:s}=Ol(n);let i=s??e.mediaType,l=o;if(l instanceof URL){const u=t[l.toString()];u&&(l=u.data,i??(i=u.mediaType))}switch(a){case"image":return(l instanceof Uint8Array||typeof l=="string")&&(i=(r=vy({data:l,signatures:hy}))!=null?r:i),{type:"file",mediaType:i??"image/*",filename:void 0,data:l,providerOptions:e.providerOptions};case"file":{if(i==null)throw new Error("Media type is missing for file part");return{type:"file",mediaType:i,filename:e.filename,data:l,providerOptions:e.providerOptions}}}}function Bo(e){return e.type!=="content"?e:{type:"content",value:e.value.map(t=>t.type!=="media"?t:t.mediaType.startsWith("image/")?{type:"image-data",data:t.data,mediaType:t.mediaType}:{type:"file-data",data:t.data,mediaType:t.mediaType})}}async function fr({toolCallId:e,input:t,output:r,tool:n,errorMode:a}){return a==="text"?{type:"error-text",value:Kt(r)}:a==="json"?{type:"error-json",value:Vo(r)}:n!=null&&n.toModelOutput?await n.toModelOutput({toolCallId:e,input:t,output:r}):typeof r=="string"?{type:"text",value:r}:{type:"json",value:Vo(r)}}function Vo(e){return e===void 0?null:e}function Vn({maxOutputTokens:e,temperature:t,topP:r,topK:n,presencePenalty:a,frequencyPenalty:o,seed:s,stopSequences:i}){if(e!=null){if(!Number.isInteger(e))throw new et({parameter:"maxOutputTokens",value:e,message:"maxOutputTokens must be an integer"});if(e<1)throw new et({parameter:"maxOutputTokens",value:e,message:"maxOutputTokens must be >= 1"})}if(t!=null&&typeof t!="number")throw new et({parameter:"temperature",value:t,message:"temperature must be a number"});if(r!=null&&typeof r!="number")throw new et({parameter:"topP",value:r,message:"topP must be a number"});if(n!=null&&typeof n!="number")throw new et({parameter:"topK",value:n,message:"topK must be a number"});if(a!=null&&typeof a!="number")throw new et({parameter:"presencePenalty",value:a,message:"presencePenalty must be a number"});if(o!=null&&typeof o!="number")throw new et({parameter:"frequencyPenalty",value:o,message:"frequencyPenalty must be a number"});if(s!=null&&!Number.isInteger(s))throw new et({parameter:"seed",value:s,message:"seed must be an integer"});return{maxOutputTokens:e,temperature:t,topP:r,topK:n,presencePenalty:a,frequencyPenalty:o,stopSequences:i,seed:s}}function Ay(e){return e!=null&&Object.keys(e).length>0}async function kl({tools:e,toolChoice:t,activeTools:r}){if(!Ay(e))return{tools:void 0,toolChoice:void 0};const n=r!=null?Object.entries(e).filter(([o])=>r.includes(o)):Object.entries(e),a=[];for(const[o,s]of n){const i=s.type;switch(i){case void 0:case"dynamic":case"function":a.push({type:"function",name:o,description:s.description,inputSchema:await er(s.inputSchema).jsonSchema,...s.inputExamples!=null?{inputExamples:s.inputExamples}:{},providerOptions:s.providerOptions,...s.strict!=null?{strict:s.strict}:{}});break;case"provider":a.push({type:"provider",name:o,id:s.id,args:s.args});break;default:{const l=i;throw new Error(`Unsupported tool type: ${l}`)}}}return{tools:a,toolChoice:t==null?{type:"auto"}:typeof t=="string"?{type:t}:{type:"tool",toolName:t.toolName}}}var Er=yg(()=>Pe([qf(),R(),Kr(),na(),Tt(R(),Er.optional()),Ue(Er)])),ye=Tt(R(),Tt(R(),Er.optional())),Pl=G({type:ee("text"),text:R(),providerOptions:ye.optional()}),Ny=G({type:ee("image"),image:Pe([xl,Xr(URL)]),mediaType:R().optional(),providerOptions:ye.optional()}),Cl=G({type:ee("file"),data:Pe([xl,Xr(URL)]),filename:R().optional(),mediaType:R(),providerOptions:ye.optional()}),xy=G({type:ee("reasoning"),text:R(),providerOptions:ye.optional()}),Oy=G({type:ee("tool-call"),toolCallId:R(),toolName:R(),input:kt(),providerOptions:ye.optional(),providerExecuted:na().optional()}),Ry=Wf("type",[G({type:ee("text"),value:R(),providerOptions:ye.optional()}),G({type:ee("json"),value:Er,providerOptions:ye.optional()}),G({type:ee("execution-denied"),reason:R().optional(),providerOptions:ye.optional()}),G({type:ee("error-text"),value:R(),providerOptions:ye.optional()}),G({type:ee("error-json"),value:Er,providerOptions:ye.optional()}),G({type:ee("content"),value:Ue(Pe([G({type:ee("text"),text:R(),providerOptions:ye.optional()}),G({type:ee("media"),data:R(),mediaType:R()}),G({type:ee("file-data"),data:R(),mediaType:R(),filename:R().optional(),providerOptions:ye.optional()}),G({type:ee("file-url"),url:R(),providerOptions:ye.optional()}),G({type:ee("file-id"),fileId:Pe([R(),Tt(R(),R())]),providerOptions:ye.optional()}),G({type:ee("image-data"),data:R(),mediaType:R(),providerOptions:ye.optional()}),G({type:ee("image-url"),url:R(),providerOptions:ye.optional()}),G({type:ee("image-file-id"),fileId:Pe([R(),Tt(R(),R())]),providerOptions:ye.optional()}),G({type:ee("custom"),providerOptions:ye.optional()})]))})]),Dl=G({type:ee("tool-result"),toolCallId:R(),toolName:R(),output:Ry,providerOptions:ye.optional()}),ky=G({type:ee("tool-approval-request"),approvalId:R(),toolCallId:R()}),Py=G({type:ee("tool-approval-response"),approvalId:R(),approved:na(),reason:R().optional()}),Cy=G({role:ee("system"),content:R(),providerOptions:ye.optional()}),Dy=G({role:ee("user"),content:Pe([R(),Ue(Pe([Pl,Ny,Cl]))]),providerOptions:ye.optional()}),zy=G({role:ee("assistant"),content:Pe([R(),Ue(Pe([Pl,Cl,xy,Oy,Dl,ky]))]),providerOptions:ye.optional()}),$y=G({role:ee("tool"),content:Ue(Pe([Dl,Py])),providerOptions:ye.optional()}),My=Pe([Cy,Dy,zy,$y]);async function zl(e){if(e.prompt==null&&e.messages==null)throw new Zt({prompt:e,message:"prompt or messages must be defined"});if(e.prompt!=null&&e.messages!=null)throw new Zt({prompt:e,message:"prompt and messages cannot be defined at the same time"});if(e.system!=null&&typeof e.system!="string"&&!Tr(e.system).every(n=>typeof n=="object"&&n!==null&&"role"in n&&n.role==="system"))throw new Zt({prompt:e,message:"system must be a string, SystemModelMessage, or array of SystemModelMessage"});let t;if(e.prompt!=null&&typeof e.prompt=="string")t=[{role:"user",content:e.prompt}];else if(e.prompt!=null&&Array.isArray(e.prompt))t=e.prompt;else if(e.messages!=null)t=e.messages;else throw new Zt({prompt:e,message:"prompt or messages must be defined"});if(t.length===0)throw new Zt({prompt:e,message:"messages must not be empty"});const r=await rt({value:t,schema:Ue(My)});if(!r.success)throw new Zt({prompt:e,message:"The messages do not match the ModelMessage[] schema.",cause:r.error});return{messages:t,system:e.system}}function $l(e){if(!la.isInstance(e))return e;const t=(process==null?void 0:process.env.NODE_ENV)==="production",r="https://ai-sdk.dev/unauthenticated-ai-gateway";return t?new H({name:"GatewayError",message:`Unauthenticated. Configure AI_GATEWAY_API_KEY or use a provider module. Learn more: ${r}`}):Object.assign(new Error(`\x1B[1m\x1B[31mUnauthenticated request to AI Gateway.\x1B[0m
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",Lh=`vercel.ai.gateway.error.${$i}`,Eo=Symbol.for(Lh),bo,Io,Uh=class extends(Io=qe,bo=Eo,Io){constructor({message:e="Invalid request",statusCode:t=400,cause:r}={}){super({message:e,statusCode:t,cause:r}),this[bo]=!0,this.name=$i,this.type="invalid_request_error"}static isInstance(e){return qe.hasMarker(e)&&Eo in e}},Mi="GatewayRateLimitError",jh=`vercel.ai.gateway.error.${Mi}`,So=Symbol.for(jh),Ao,No,qh=class extends(No=qe,Ao=So,No){constructor({message:e="Rate limit exceeded",statusCode:t=429,cause:r}={}){super({message:e,statusCode:t,cause:r}),this[Ao]=!0,this.name=Mi,this.type="rate_limit_exceeded"}static isInstance(e){return qe.hasMarker(e)&&So in e}},Fi="GatewayModelNotFoundError",Zh=`vercel.ai.gateway.error.${Fi}`,xo=Symbol.for(Zh),Gh=Qt(()=>Dt(G({modelId:R()}))),Oo,Ro,Bh=class extends(Ro=qe,Oo=xo,Ro){constructor({message:e="Model not found",statusCode:t=404,modelId:r,cause:n}={}){super({message:e,statusCode:t,cause:n}),this[Oo]=!0,this.name=Fi,this.type="model_not_found",this.modelId=r}static isInstance(e){return qe.hasMarker(e)&&xo in e}},Li="GatewayInternalServerError",Vh=`vercel.ai.gateway.error.${Li}`,ko=Symbol.for(Vh),Po,Co,Do=class extends(Co=qe,Po=ko,Co){constructor({message:e="Internal server error",statusCode:t=500,cause:r}={}){super({message:e,statusCode:t,cause:r}),this[Po]=!0,this.name=Li,this.type="internal_server_error"}static isInstance(e){return qe.hasMarker(e)&&ko in e}},Ui="GatewayResponseError",Hh=`vercel.ai.gateway.error.${Ui}`,zo=Symbol.for(Hh),$o,Mo,Jh=class extends(Mo=qe,$o=zo,Mo){constructor({message:e="Invalid response from Gateway",statusCode:t=502,response:r,validationError:n,cause:a}={}){super({message:e,statusCode:t,cause:a}),this[$o]=!0,this.name=Ui,this.type="response_error",this.response=r,this.validationError=n}static isInstance(e){return qe.hasMarker(e)&&zo in e}};async function Fo({response:e,statusCode:t,defaultMessage:r="Gateway request failed",cause:n,authMethod:a}){const o=await rt({value:e,schema:Yh});if(!o.success)return new Jh({message:`Invalid error response format: ${r}`,statusCode:t,response:e,validationError:o.error,cause:n});const s=o.value,i=s.error.type,l=s.error.message;switch(i){case"authentication_error":return la.createContextualError({apiKeyProvided:a==="api-key",oidcTokenProvided:a==="oidc",statusCode:t,cause:n});case"invalid_request_error":return new Uh({message:l,statusCode:t,cause:n});case"rate_limit_exceeded":return new qh({message:l,statusCode:t,cause:n});case"model_not_found":{const u=await rt({value:s.error.param,schema:Gh});return new Bh({message:l,statusCode:t,modelId:u.success?u.value.modelId:void 0,cause:n})}case"internal_server_error":return new Do({message:l,statusCode:t,cause:n});default:return new Do({message:l,statusCode:t,cause:n})}}var Yh=Qt(()=>Dt(G({error:G({message:R(),type:R().nullish(),param:kt().nullish(),code:Pe([R(),Kr()]).nullish()})})));function Et(e,t){var r;return qe.isInstance(e)?e:$e.isInstance(e)?Fo({response:Wh(e),statusCode:(r=e.statusCode)!=null?r:500,defaultMessage:"Gateway request failed",cause:e,authMethod:t}):Fo({response:{},statusCode:500,defaultMessage:e instanceof Error?`Gateway request failed: ${e.message}`:"Unknown Gateway error",cause:e,authMethod:t})}function Wh(e){if(e.data!==void 0)return e.data;if(e.responseBody!=null)try{return JSON.parse(e.responseBody)}catch{return e.responseBody}return{}}var ji="ai-gateway-auth-method";async function Wt(e){const t=await rt({value:e[ji],schema:Kh});return t.success?t.value:void 0}var Kh=Qt(()=>Dt(Pe([ee("api-key"),ee("oidc")]))),Lo=class{constructor(e){this.config=e}async getAvailableModels(){try{const{value:e}=await co({url:`${this.config.baseURL}/config`,headers:await Ge(this.config.headers()),successfulResponseHandler:yr(Xh),failedResponseHandler:Yt({errorSchema:yt(),errorToMessage:t=>t}),fetch:this.config.fetch});return e}catch(e){throw await Et(e)}}async getCredits(){try{const e=new URL(this.config.baseURL),{value:t}=await co({url:`${e.origin}/v1/credits`,headers:await Ge(this.config.headers()),successfulResponseHandler:yr(Qh),failedResponseHandler:Yt({errorSchema:yt(),errorToMessage:r=>r}),fetch:this.config.fetch});return t}catch(e){throw await Et(e)}}},Xh=Qt(()=>Dt(G({models:Ue(G({id:R(),name:R(),description:R().nullish(),pricing:G({input:R(),output:R(),input_cache_read:R().nullish(),input_cache_write:R().nullish()}).transform(({input:e,output:t,input_cache_read:r,input_cache_write:n})=>({input:e,output:t,...r?{cachedInputTokens:r}:{},...n?{cacheCreationInputTokens:n}:{}})).nullish(),specification:G({specificationVersion:ee("v3"),provider:R(),modelId:R()}),modelType:wi(["language","embedding","image"]).nullish()}))}))),Qh=Qt(()=>Dt(G({balance:R(),total_used:R()}).transform(({balance:e,total_used:t})=>({balance:e,totalUsed:t})))),em=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v3",this.supportedUrls={"*/*":[/.*/]}}get provider(){return this.config.provider}async getArgs(e){const{abortSignal:t,...r}=e;return{args:this.maybeEncodeFileParts(r),warnings:[]}}async doGenerate(e){const{args:t,warnings:r}=await this.getArgs(e),{abortSignal:n}=e,a=await Ge(this.config.headers());try{const{responseHeaders:o,value:s,rawValue:i}=await rn({url:this.getUrl(),headers:en(a,e.headers,this.getModelConfigHeaders(this.modelId,!1),await Ge(this.config.o11yHeaders)),body:t,successfulResponseHandler:yr(yt()),failedResponseHandler:Yt({errorSchema:yt(),errorToMessage:l=>l}),...n&&{abortSignal:n},fetch:this.config.fetch});return{...s,request:{body:t},response:{headers:o,body:i},warnings:r}}catch(o){throw await Et(o,await Wt(a))}}async doStream(e){const{args:t,warnings:r}=await this.getArgs(e),{abortSignal:n}=e,a=await Ge(this.config.headers());try{const{value:o,responseHeaders:s}=await rn({url:this.getUrl(),headers:en(a,e.headers,this.getModelConfigHeaders(this.modelId,!0),await Ge(this.config.o11yHeaders)),body:t,successfulResponseHandler:kh(yt()),failedResponseHandler:Yt({errorSchema:yt(),errorToMessage:i=>i}),...n&&{abortSignal:n},fetch:this.config.fetch});return{stream:o.pipeThrough(new TransformStream({start(i){r.length>0&&i.enqueue({type:"stream-start",warnings:r})},transform(i,l){if(i.success){const u=i.value;if(u.type==="raw"&&!e.includeRawChunks)return;u.type==="response-metadata"&&u.timestamp&&typeof u.timestamp=="string"&&(u.timestamp=new Date(u.timestamp)),l.enqueue(u)}else l.error(i.error)}})),request:{body:t},response:{headers:s}}}catch(o){throw await Et(o,await Wt(a))}}isFilePart(e){return e&&typeof e=="object"&&"type"in e&&e.type==="file"}maybeEncodeFileParts(e){for(const t of e.prompt)for(const r of t.content)if(this.isFilePart(r)){const n=r;if(n.data instanceof Uint8Array){const a=Uint8Array.from(n.data),o=Buffer.from(a).toString("base64");n.data=new URL(`data:${n.mediaType||"application/octet-stream"};base64,${o}`)}}return e}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders(e,t){return{"ai-language-model-specification-version":"3","ai-language-model-id":e,"ai-language-model-streaming":String(t)}}},tm=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v3",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}get provider(){return this.config.provider}async doEmbed({values:e,headers:t,abortSignal:r,providerOptions:n}){var a;const o=await Ge(this.config.headers());try{const{responseHeaders:s,value:i,rawValue:l}=await rn({url:this.getUrl(),headers:en(o,t??{},this.getModelConfigHeaders(),await Ge(this.config.o11yHeaders)),body:{values:e,...n?{providerOptions:n}:{}},successfulResponseHandler:yr(rm),failedResponseHandler:Yt({errorSchema:yt(),errorToMessage:u=>u}),...r&&{abortSignal:r},fetch:this.config.fetch});return{embeddings:i.embeddings,usage:(a=i.usage)!=null?a:void 0,providerMetadata:i.providerMetadata,response:{headers:s,body:l},warnings:[]}}catch(s){throw await Et(s,await Wt(o))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"3","ai-model-id":this.modelId}}},rm=Qt(()=>Dt(G({embeddings:Ue(Ue(Kr())),usage:G({tokens:Kr()}).nullish(),providerMetadata:Tt(R(),Tt(R(),kt())).optional()}))),nm=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v3",this.maxImagesPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate({prompt:e,n:t,size:r,aspectRatio:n,seed:a,files:o,mask:s,providerOptions:i,headers:l,abortSignal:u}){var c;const d=await Ge(this.config.headers());try{const{responseHeaders:p,value:w,rawValue:b}=await rn({url:this.getUrl(),headers:en(d,l??{},this.getModelConfigHeaders(),await Ge(this.config.o11yHeaders)),body:{prompt:e,n:t,...r&&{size:r},...n&&{aspectRatio:n},...a&&{seed:a},...i&&{providerOptions:i},...o&&{files:o.map(_=>Uo(_))},...s&&{mask:Uo(s)}},successfulResponseHandler:yr(om),failedResponseHandler:Yt({errorSchema:yt(),errorToMessage:_=>_}),...u&&{abortSignal:u},fetch:this.config.fetch});return{images:w.images,warnings:(c=w.warnings)!=null?c:[],providerMetadata:w.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:p}}}catch(p){throw Et(p,await Wt(d))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"3","ai-model-id":this.modelId}}};function Uo(e){return e.type==="file"&&e.data instanceof Uint8Array?{...e,data:tn(e.data)}:e}var am=G({images:Ue(kt()).optional()}).catchall(kt()),om=G({images:Ue(R()),warnings:Ue(G({type:ee("other"),message:R()})).optional(),providerMetadata:Tt(R(),am).optional()});async function sm(){var e;return(e=Pi.getContext().headers)==null?void 0:e["x-vercel-id"]}var im="3.0.8",lm="0.0.1";function um(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=Ph(e.baseURL))!=null?r:"https://ai-gateway.vercel.sh/v3/ai",l=async()=>{try{const _=await dm(e);return Or({Authorization:`Bearer ${_.token}`,"ai-gateway-protocol-version":lm,[ji]:_.authMethod,...e.headers},`ai-sdk/gateway/${im}`)}catch(_){throw la.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:_})}},u=()=>{const _=Zr({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),I=Zr({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),P=Zr({settingValue:void 0,environmentVariableName:"VERCEL_REGION"});return async()=>{const C=await sm();return{..._&&{"ai-o11y-deployment-id":_},...I&&{"ai-o11y-environment":I},...P&&{"ai-o11y-region":P},...C&&{"ai-o11y-request-id":C}}}},c=_=>new em(_,{provider:"gateway",baseURL:i,headers:l,fetch:e.fetch,o11yHeaders:u()}),d=async()=>{var _,I,P;const C=(P=(I=(_=e._internal)==null?void 0:_.currentDate)==null?void 0:I.call(_).getTime())!=null?P:Date.now();return(!n||C-s>o)&&(s=C,n=new Lo({baseURL:i,headers:l,fetch:e.fetch}).getAvailableModels().then(m=>(a=m,m)).catch(async m=>{throw await Et(m,await Wt(await l()))})),a?Promise.resolve(a):n},p=async()=>new Lo({baseURL:i,headers:l,fetch:e.fetch}).getCredits().catch(async _=>{throw await Et(_,await Wt(await l()))}),w=function(_){if(new.target)throw new Error("The Gateway Provider model function cannot be called with the new keyword.");return c(_)};w.specificationVersion="v3",w.getAvailableModels=d,w.getCredits=p,w.imageModel=_=>new nm(_,{provider:"gateway",baseURL:i,headers:l,fetch:e.fetch,o11yHeaders:u()}),w.languageModel=c;const b=_=>new tm(_,{provider:"gateway",baseURL:i,headers:l,fetch:e.fetch,o11yHeaders:u()});return w.embeddingModel=b,w.textEmbeddingModel=b,w}var cm=um();async function dm(e){const t=Zr({settingValue:e.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});return t?{token:t,authMethod:"api-key"}:{token:await Pi.getVercelOidcToken(),authMethod:"oidc"}}var pm=typeof globalThis=="object"?globalThis:typeof self=="object"?self:typeof window=="object"?window:typeof global=="object"?global:{},Ot="1.9.0",jo=/^(\d+)\.(\d+)\.(\d+)(-(.+))?$/;function fm(e){var t=new Set([e]),r=new Set,n=e.match(jo);if(!n)return function(){return!1};var a={major:+n[1],minor:+n[2],patch:+n[3],prerelease:n[4]};if(a.prerelease!=null)return function(l){return l===e};function o(i){return r.add(i),!1}function s(i){return t.add(i),!0}return function(l){if(t.has(l))return!0;if(r.has(l))return!1;var u=l.match(jo);if(!u)return o(l);var c={major:+u[1],minor:+u[2],patch:+u[3],prerelease:u[4]};return c.prerelease!=null||a.major!==c.major?o(l):a.major===0?a.minor===c.minor&&a.patch<=c.patch?s(l):o(l):a.minor<=c.minor?s(l):o(l)}}var gm=fm(Ot),hm=Ot.split(".")[0],vr=Symbol.for("opentelemetry.js.api."+hm),wr=pm;function ua(e,t,r,n){var a;n===void 0&&(n=!1);var o=wr[vr]=(a=wr[vr])!==null&&a!==void 0?a:{version:Ot};if(!n&&o[e]){var s=new Error("@opentelemetry/api: Attempted duplicate registration of API: "+e);return r.error(s.stack||s.message),!1}if(o.version!==Ot){var s=new Error("@opentelemetry/api: Registration of version v"+o.version+" for "+e+" does not match previously registered API v"+Ot);return r.error(s.stack||s.message),!1}return o[e]=t,r.debug("@opentelemetry/api: Registered a global for "+e+" v"+Ot+"."),!0}function _r(e){var t,r,n=(t=wr[vr])===null||t===void 0?void 0:t.version;if(!(!n||!gm(n)))return(r=wr[vr])===null||r===void 0?void 0:r[e]}function ca(e,t){t.debug("@opentelemetry/api: Unregistering a global for "+e+" v"+Ot+".");var r=wr[vr];r&&delete r[e]}var mm=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},ym=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))},vm=(function(){function e(t){this._namespace=t.namespace||"DiagComponentLogger"}return e.prototype.debug=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return ur("debug",this._namespace,t)},e.prototype.error=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return ur("error",this._namespace,t)},e.prototype.info=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return ur("info",this._namespace,t)},e.prototype.warn=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return ur("warn",this._namespace,t)},e.prototype.verbose=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return ur("verbose",this._namespace,t)},e})();function ur(e,t,r){var n=_r("diag");if(n)return r.unshift(t),n[e].apply(n,ym([],mm(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 wm(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 _m=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},Tm=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))},Em="diag",nn=(function(){function e(){function t(a){return function(){for(var o=[],s=0;s<arguments.length;s++)o[s]=arguments[s];var i=_r("diag");if(i)return i[a].apply(i,Tm([],_m(o),!1))}}var r=this,n=function(a,o){var s,i,l;if(o===void 0&&(o={logLevel:Le.INFO}),a===r){var u=new Error("Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation");return r.error((s=u.stack)!==null&&s!==void 0?s:u.message),!1}typeof o=="number"&&(o={logLevel:o});var c=_r("diag"),d=wm((i=o.logLevel)!==null&&i!==void 0?i:Le.INFO,a);if(c&&!o.suppressOverrideMessage){var p=(l=new Error().stack)!==null&&l!==void 0?l:"<failed to generate stacktrace>";c.warn("Current logger will be overwritten from "+p),d.warn("Current logger will overwrite one already registered from "+p)}return ua("diag",d,r,!0)};r.setLogger=n,r.disable=function(){ca(Em,r)},r.createComponentLogger=function(a){return new vm(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 bm(e){return Symbol.for(e)}var Im=(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})(),Sm=new Im,Am=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},Nm=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))},xm=(function(){function e(){}return e.prototype.active=function(){return Sm},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,Nm([n],Am(a),!1))},e.prototype.bind=function(t,r){return r},e.prototype.enable=function(){return this},e.prototype.disable=function(){return this},e})(),Om=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},Rm=function(e,t,r){if(r||arguments.length===2)for(var n=0,a=t.length,o;n<a;n++)(o||!(n in t))&&(o||(o=Array.prototype.slice.call(t,0,n)),o[n]=t[n]);return e.concat(o||Array.prototype.slice.call(t))},kn="context",km=new xm,qi=(function(){function e(){}return e.getInstance=function(){return this._instance||(this._instance=new e),this._instance},e.prototype.setGlobalContextManager=function(t){return ua(kn,t,nn.instance())},e.prototype.active=function(){return this._getContextManager().active()},e.prototype.with=function(t,r,n){for(var a,o=[],s=3;s<arguments.length;s++)o[s-3]=arguments[s];return(a=this._getContextManager()).with.apply(a,Rm([t,r,n],Om(o),!1))},e.prototype.bind=function(t,r){return this._getContextManager().bind(t,r)},e.prototype._getContextManager=function(){return _r(kn)||km},e.prototype.disable=function(){this._getContextManager().disable(),ca(kn,nn.instance())},e})(),Gn;(function(e){e[e.NONE=0]="NONE",e[e.SAMPLED=1]="SAMPLED"})(Gn||(Gn={}));var Zi="0000000000000000",Gi="00000000000000000000000000000000",Pm={traceId:Gi,spanId:Zi,traceFlags:Gn.NONE},pr=(function(){function e(t){t===void 0&&(t=Pm),this._spanContext=t}return e.prototype.spanContext=function(){return this._spanContext},e.prototype.setAttribute=function(t,r){return this},e.prototype.setAttributes=function(t){return this},e.prototype.addEvent=function(t,r){return this},e.prototype.addLink=function(t){return this},e.prototype.addLinks=function(t){return this},e.prototype.setStatus=function(t){return this},e.prototype.updateName=function(t){return this},e.prototype.end=function(t){},e.prototype.isRecording=function(){return!1},e.prototype.recordException=function(t,r){},e})(),da=bm("OpenTelemetry Context Key SPAN");function pa(e){return e.getValue(da)||void 0}function Cm(){return pa(qi.getInstance().active())}function fa(e,t){return e.setValue(da,t)}function Dm(e){return e.deleteValue(da)}function zm(e,t){return fa(e,new pr(t))}function Bi(e){var t;return(t=pa(e))===null||t===void 0?void 0:t.spanContext()}var $m=/^([0-9a-f]{32})$/i,Mm=/^[0-9a-f]{16}$/i;function Fm(e){return $m.test(e)&&e!==Gi}function Lm(e){return Mm.test(e)&&e!==Zi}function Vi(e){return Fm(e.traceId)&&Lm(e.spanId)}function Um(e){return new pr(e)}var Pn=qi.getInstance(),Hi=(function(){function e(){}return e.prototype.startSpan=function(t,r,n){n===void 0&&(n=Pn.active());var a=!!(r!=null&&r.root);if(a)return new pr;var o=n&&Bi(n);return jm(o)&&Vi(o)?new pr(o):new pr},e.prototype.startActiveSpan=function(t,r,n,a){var o,s,i;if(!(arguments.length<2)){arguments.length===2?i=r:arguments.length===3?(o=r,i=n):(o=r,s=n,i=a);var l=s??Pn.active(),u=this.startSpan(t,o,l),c=fa(l,u);return Pn.with(c,i,void 0,u)}},e})();function jm(e){return typeof e=="object"&&typeof e.spanId=="string"&&typeof e.traceId=="string"&&typeof e.traceFlags=="number"}var qm=new Hi,Zm=(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):qm},e})(),Gm=(function(){function e(){}return e.prototype.getTracer=function(t,r,n){return new Hi},e})(),Bm=new Gm,qo=(function(){function e(){}return e.prototype.getTracer=function(t,r,n){var a;return(a=this.getDelegateTracer(t,r,n))!==null&&a!==void 0?a:new Zm(this,t,r,n)},e.prototype.getDelegate=function(){var t;return(t=this._delegate)!==null&&t!==void 0?t:Bm},e.prototype.setDelegate=function(t){this._delegate=t},e.prototype.getDelegateTracer=function(t,r,n){var a;return(a=this._delegate)===null||a===void 0?void 0:a.getTracer(t,r,n)},e})(),an;(function(e){e[e.UNSET=0]="UNSET",e[e.OK=1]="OK",e[e.ERROR=2]="ERROR"})(an||(an={}));var Cn="trace",Vm=(function(){function e(){this._proxyTracerProvider=new qo,this.wrapSpanContext=Um,this.isSpanContextValid=Vi,this.deleteSpan=Dm,this.getSpan=pa,this.getActiveSpan=Cm,this.getSpanContext=Bi,this.setSpan=fa,this.setSpanContext=zm}return e.getInstance=function(){return this._instance||(this._instance=new e),this._instance},e.prototype.setGlobalTracerProvider=function(t){var r=ua(Cn,this._proxyTracerProvider,nn.instance());return r&&this._proxyTracerProvider.setDelegate(t),r},e.prototype.getTracerProvider=function(){return _r(Cn)||this._proxyTracerProvider},e.prototype.getTracer=function(t,r){return this.getTracerProvider().getTracer(t,r)},e.prototype.disable=function(){ca(Cn,nn.instance()),this._proxyTracerProvider=new qo},e})(),Hm=Vm.getInstance(),Jm=Object.defineProperty,Ym=(e,t)=>{for(var r in t)Jm(e,r,{get:t[r],enumerable:!0})},Ji="AI_InvalidArgumentError",Yi=`vercel.ai.error.${Ji}`,Wm=Symbol.for(Yi),Wi,et=class extends H{constructor({parameter:e,value:t,message:r}){super({name:Ji,message:`Invalid argument for parameter ${e}: ${r}`}),this[Wi]=!0,this.parameter=e,this.value=t}static isInstance(e){return H.hasMarker(e,Yi)}};Wi=Wm;var Ki="AI_InvalidToolApprovalError",Xi=`vercel.ai.error.${Ki}`,Km=Symbol.for(Xi),Qi,Xm=class extends H{constructor({approvalId:e}){super({name:Ki,message:`Tool approval response references unknown approvalId: "${e}". No matching tool-approval-request found in message history.`}),this[Qi]=!0,this.approvalId=e}static isInstance(e){return H.hasMarker(e,Xi)}};Qi=Km;var el="AI_InvalidToolInputError",tl=`vercel.ai.error.${el}`,Qm=Symbol.for(tl),rl,ga=class extends H{constructor({toolInput:e,toolName:t,cause:r,message:n=`Invalid input for tool ${t}: ${Kt(r)}`}){super({name:el,message:n,cause:r}),this[rl]=!0,this.toolInput=e,this.toolName=t}static isInstance(e){return H.hasMarker(e,tl)}};rl=Qm;var nl="AI_ToolCallNotFoundForApprovalError",al=`vercel.ai.error.${nl}`,ey=Symbol.for(al),ol,ha=class extends H{constructor({toolCallId:e,approvalId:t}){super({name:nl,message:`Tool call "${e}" not found for approval request "${t}".`}),this[ol]=!0,this.toolCallId=e,this.approvalId=t}static isInstance(e){return H.hasMarker(e,al)}};ol=ey;var sl="AI_NoObjectGeneratedError",il=`vercel.ai.error.${sl}`,ty=Symbol.for(il),ll,vt=class extends H{constructor({message:e="No object generated.",cause:t,text:r,response:n,usage:a,finishReason:o}){super({name:sl,message:e,cause:t}),this[ll]=!0,this.text=r,this.response=n,this.usage=a,this.finishReason=o}static isInstance(e){return H.hasMarker(e,il)}};ll=ty;var ul="AI_NoOutputGeneratedError",cl=`vercel.ai.error.${ul}`,ry=Symbol.for(cl),dl,pl=class extends H{constructor({message:e="No output generated.",cause:t}={}){super({name:ul,message:e,cause:t}),this[dl]=!0}static isInstance(e){return H.hasMarker(e,cl)}};dl=ry;var fl="AI_NoSuchToolError",gl=`vercel.ai.error.${fl}`,ny=Symbol.for(gl),hl,Bn=class extends H{constructor({toolName:e,availableTools:t=void 0,message:r=`Model tried to call unavailable tool '${e}'. ${t===void 0?"No tools are available.":`Available tools: ${t.join(", ")}.`}`}){super({name:fl,message:r}),this[hl]=!0,this.toolName=e,this.availableTools=t}static isInstance(e){return H.hasMarker(e,gl)}};hl=ny;var ml="AI_ToolCallRepairError",yl=`vercel.ai.error.${ml}`,ay=Symbol.for(yl),vl,oy=class extends H{constructor({cause:e,originalError:t,message:r=`Error repairing tool call: ${Kt(e)}`}){super({name:ml,message:r,cause:e}),this[vl]=!0,this.originalError=t}static isInstance(e){return H.hasMarker(e,yl)}};vl=ay;var sy=class extends H{constructor(e){super({name:"AI_UnsupportedModelVersionError",message:`Unsupported model version ${e.version} for provider "${e.provider}" and model "${e.modelId}". AI SDK 5 only supports models that implement specification version "v2".`}),this.version=e.version,this.provider=e.provider,this.modelId=e.modelId}},wl="AI_InvalidMessageRoleError",_l=`vercel.ai.error.${wl}`,iy=Symbol.for(_l),Tl,ly=class extends H{constructor({role:e,message:t=`Invalid message role: '${e}'. Must be one of: "system", "user", "assistant", "tool".`}){super({name:wl,message:t}),this[Tl]=!0,this.role=e}static isInstance(e){return H.hasMarker(e,_l)}};Tl=iy;var El="AI_RetryError",bl=`vercel.ai.error.${El}`,uy=Symbol.for(bl),Il,Zo=class extends H{constructor({message:e,reason:t,errors:r}){super({name:El,message:e}),this[Il]=!0,this.reason=t,this.errors=r,this.lastError=r[r.length-1]}static isInstance(e){return H.hasMarker(e,bl)}};Il=uy;function cy({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 dy="AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.",Go=!1,ma=e=>{if(e.warnings.length===0)return;const t=globalThis.AI_SDK_LOG_WARNINGS;if(t!==!1){if(typeof t=="function"){t(e);return}Go||(Go=!0,console.info(dy));for(const r of e.warnings)console.warn(cy({warning:r,provider:e.provider,model:e.model}))}};function py({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 fy(e){return e.specificationVersion==="v3"?e:(py({provider:e.provider,modelId:e.modelId}),new Proxy(e,{get(t,r){switch(r){case"specificationVersion":return"v3";case"doGenerate":return async(...n)=>{const a=await t.doGenerate(...n);return{...a,finishReason:Sl(a.finishReason),usage:Al(a.usage)}};case"doStream":return async(...n)=>{const a=await t.doStream(...n);return{...a,stream:gy(a.stream)}};default:return t[r]}}}))}function gy(e){return e.pipeThrough(new TransformStream({transform(t,r){switch(t.type){case"finish":r.enqueue({...t,finishReason:Sl(t.finishReason),usage:Al(t.usage)});break;default:r.enqueue(t);break}}}))}function Sl(e){return{unified:e==="unknown"?"other":e,raw:void 0}}function Al(e){return{inputTokens:{total:e.inputTokens,noCache:void 0,cacheRead:e.cachedInputTokens,cacheWrite:void 0},outputTokens:{total:e.outputTokens,text:void 0,reasoning:e.reasoningTokens}}}function on(e){if(typeof e!="string"){if(e.specificationVersion!=="v3"&&e.specificationVersion!=="v2"){const t=e;throw new sy({version:t.specificationVersion,provider:t.provider,modelId:t.modelId})}return fy(e)}return hy().languageModel(e)}function hy(){var e;return(e=globalThis.AI_SDK_DEFAULT_PROVIDER)!=null?e:cm}var my=[{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]}],yy=e=>{const t=typeof e=="string"?oa(e):e,r=(t[6]&127)<<21|(t[7]&127)<<14|(t[8]&127)<<7|t[9]&127;return t.slice(r+10)};function vy(e){return typeof e=="string"&&e.startsWith("SUQz")||typeof e!="string"&&e.length>10&&e[0]===73&&e[1]===68&&e[2]===51?yy(e):e}function wy({data:e,signatures:t}){const r=vy(e),n=typeof r=="string"?oa(r.substring(0,Math.min(r.length,24))):r;for(const a of t)if(n.length>=a.bytesPrefix.length&&a.bytesPrefix.every((o,s)=>o===null||n[s]===o))return a.mediaType}var Nl="6.0.11",_y=async({url:e})=>{var t;const r=e.toString();try{const n=await fetch(r,{headers:Or({},`ai-sdk/${Nl}`,ia())});if(!n.ok)throw new Sn({url:r,statusCode:n.status,statusText:n.statusText});return{data:new Uint8Array(await n.arrayBuffer()),mediaType:(t=n.headers.get("content-type"))!=null?t:void 0}}catch(n){throw Sn.isInstance(n)?n:new Sn({url:r,cause:n})}},Ty=(e=_y)=>t=>Promise.all(t.map(async r=>r.isUrlSupportedByModel?null:e(r)));function Ey(e){try{const[t,r]=e.split(",");return{mediaType:t.split(";")[0].split(":")[1],base64Content:r}}catch{return{mediaType:void 0,base64Content:void 0}}}var xl=Pe([R(),Xr(Uint8Array),Xr(ArrayBuffer),wg(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}=Ey(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 by(e){return typeof e=="string"?e:e instanceof ArrayBuffer?tn(new Uint8Array(e)):tn(e)}function Tr(e){return e===void 0?[]:Array.isArray(e)?e:[e]}async function Rl({prompt:e,supportedUrls:t,download:r=Ty()}){const n=await Sy(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=>Iy({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 Iy({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=>Ay(n,t)).filter(n=>n.type!=="text"||n.text!==""),providerOptions:e.providerOptions};case"assistant":return typeof e.content=="string"?{role:"assistant",content:[{type:"text",text:e.content}],providerOptions:e.providerOptions}:{role:"assistant",content:e.content.filter(n=>n.type!=="text"||n.text!==""||n.providerOptions!=null).filter(n=>n.type!=="tool-approval-request").map(n=>{const a=n.providerOptions;switch(n.type){case"file":{const{data:o,mediaType:s}=Ol(n.data);return{type:"file",data:o,filename:n.filename,mediaType:s??n.mediaType,providerOptions:a}}case"reasoning":return{type:"reasoning",text:n.text,providerOptions:a};case"text":return{type:"text",text:n.text,providerOptions:a};case"tool-call":return{type:"tool-call",toolCallId:n.toolCallId,toolName:n.toolName,input:n.input,providerExecuted:n.providerExecuted,providerOptions:a};case"tool-result":return{type:"tool-result",toolCallId:n.toolCallId,toolName:n.toolName,output:Bo(n.output),providerOptions:a}}}),providerOptions:e.providerOptions};case"tool":return{role:"tool",content:e.content.filter(n=>n.type!=="tool-approval-response"||n.providerExecuted).map(n=>{switch(n.type){case"tool-result":return{type:"tool-result",toolCallId:n.toolCallId,toolName:n.toolName,output:Bo(n.output),providerOptions:n.providerOptions};case"tool-approval-response":return{type:"tool-approval-response",approvalId:n.approvalId,approved:n.approved,reason:n.reason}}}),providerOptions:e.providerOptions};default:{const n=r;throw new ly({role:n})}}}async function Sy(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&&Pg({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 Ay(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=wy({data:l,signatures:my}))!=null?r:i),{type:"file",mediaType:i??"image/*",filename:void 0,data:l,providerOptions:e.providerOptions};case"file":{if(i==null)throw new Error("Media type is missing for file part");return{type:"file",mediaType:i,filename:e.filename,data:l,providerOptions:e.providerOptions}}}}function Bo(e){return e.type!=="content"?e:{type:"content",value:e.value.map(t=>t.type!=="media"?t:t.mediaType.startsWith("image/")?{type:"image-data",data:t.data,mediaType:t.mediaType}:{type:"file-data",data:t.data,mediaType:t.mediaType})}}async function fr({toolCallId:e,input:t,output:r,tool:n,errorMode:a}){return a==="text"?{type:"error-text",value:Kt(r)}:a==="json"?{type:"error-json",value:Vo(r)}:n!=null&&n.toModelOutput?await n.toModelOutput({toolCallId:e,input:t,output:r}):typeof r=="string"?{type:"text",value:r}:{type:"json",value:Vo(r)}}function Vo(e){return e===void 0?null:e}function Vn({maxOutputTokens:e,temperature:t,topP:r,topK:n,presencePenalty:a,frequencyPenalty:o,seed:s,stopSequences:i}){if(e!=null){if(!Number.isInteger(e))throw new et({parameter:"maxOutputTokens",value:e,message:"maxOutputTokens must be an integer"});if(e<1)throw new et({parameter:"maxOutputTokens",value:e,message:"maxOutputTokens must be >= 1"})}if(t!=null&&typeof t!="number")throw new et({parameter:"temperature",value:t,message:"temperature must be a number"});if(r!=null&&typeof r!="number")throw new et({parameter:"topP",value:r,message:"topP must be a number"});if(n!=null&&typeof n!="number")throw new et({parameter:"topK",value:n,message:"topK must be a number"});if(a!=null&&typeof a!="number")throw new et({parameter:"presencePenalty",value:a,message:"presencePenalty must be a number"});if(o!=null&&typeof o!="number")throw new et({parameter:"frequencyPenalty",value:o,message:"frequencyPenalty must be a number"});if(s!=null&&!Number.isInteger(s))throw new et({parameter:"seed",value:s,message:"seed must be an integer"});return{maxOutputTokens:e,temperature:t,topP:r,topK:n,presencePenalty:a,frequencyPenalty:o,stopSequences:i,seed:s}}function Ny(e){return e!=null&&Object.keys(e).length>0}async function kl({tools:e,toolChoice:t,activeTools:r}){if(!Ny(e))return{tools:void 0,toolChoice:void 0};const n=r!=null?Object.entries(e).filter(([o])=>r.includes(o)):Object.entries(e),a=[];for(const[o,s]of n){const i=s.type;switch(i){case void 0:case"dynamic":case"function":a.push({type:"function",name:o,description:s.description,inputSchema:await er(s.inputSchema).jsonSchema,...s.inputExamples!=null?{inputExamples:s.inputExamples}:{},providerOptions:s.providerOptions,...s.strict!=null?{strict:s.strict}:{}});break;case"provider":a.push({type:"provider",name:o,id:s.id,args:s.args});break;default:{const l=i;throw new Error(`Unsupported tool type: ${l}`)}}}return{tools:a,toolChoice:t==null?{type:"auto"}:typeof t=="string"?{type:t}:{type:"tool",toolName:t.toolName}}}var Er=vg(()=>Pe([Zf(),R(),Kr(),na(),Tt(R(),Er.optional()),Ue(Er)])),ye=Tt(R(),Tt(R(),Er.optional())),Pl=G({type:ee("text"),text:R(),providerOptions:ye.optional()}),xy=G({type:ee("image"),image:Pe([xl,Xr(URL)]),mediaType:R().optional(),providerOptions:ye.optional()}),Cl=G({type:ee("file"),data:Pe([xl,Xr(URL)]),filename:R().optional(),mediaType:R(),providerOptions:ye.optional()}),Oy=G({type:ee("reasoning"),text:R(),providerOptions:ye.optional()}),Ry=G({type:ee("tool-call"),toolCallId:R(),toolName:R(),input:kt(),providerOptions:ye.optional(),providerExecuted:na().optional()}),ky=Kf("type",[G({type:ee("text"),value:R(),providerOptions:ye.optional()}),G({type:ee("json"),value:Er,providerOptions:ye.optional()}),G({type:ee("execution-denied"),reason:R().optional(),providerOptions:ye.optional()}),G({type:ee("error-text"),value:R(),providerOptions:ye.optional()}),G({type:ee("error-json"),value:Er,providerOptions:ye.optional()}),G({type:ee("content"),value:Ue(Pe([G({type:ee("text"),text:R(),providerOptions:ye.optional()}),G({type:ee("media"),data:R(),mediaType:R()}),G({type:ee("file-data"),data:R(),mediaType:R(),filename:R().optional(),providerOptions:ye.optional()}),G({type:ee("file-url"),url:R(),providerOptions:ye.optional()}),G({type:ee("file-id"),fileId:Pe([R(),Tt(R(),R())]),providerOptions:ye.optional()}),G({type:ee("image-data"),data:R(),mediaType:R(),providerOptions:ye.optional()}),G({type:ee("image-url"),url:R(),providerOptions:ye.optional()}),G({type:ee("image-file-id"),fileId:Pe([R(),Tt(R(),R())]),providerOptions:ye.optional()}),G({type:ee("custom"),providerOptions:ye.optional()})]))})]),Dl=G({type:ee("tool-result"),toolCallId:R(),toolName:R(),output:ky,providerOptions:ye.optional()}),Py=G({type:ee("tool-approval-request"),approvalId:R(),toolCallId:R()}),Cy=G({type:ee("tool-approval-response"),approvalId:R(),approved:na(),reason:R().optional()}),Dy=G({role:ee("system"),content:R(),providerOptions:ye.optional()}),zy=G({role:ee("user"),content:Pe([R(),Ue(Pe([Pl,xy,Cl]))]),providerOptions:ye.optional()}),$y=G({role:ee("assistant"),content:Pe([R(),Ue(Pe([Pl,Cl,Oy,Ry,Dl,Py]))]),providerOptions:ye.optional()}),My=G({role:ee("tool"),content:Ue(Pe([Dl,Cy])),providerOptions:ye.optional()}),Fy=Pe([Dy,zy,$y,My]);async function zl(e){if(e.prompt==null&&e.messages==null)throw new Zt({prompt:e,message:"prompt or messages must be defined"});if(e.prompt!=null&&e.messages!=null)throw new Zt({prompt:e,message:"prompt and messages cannot be defined at the same time"});if(e.system!=null&&typeof e.system!="string"&&!Tr(e.system).every(n=>typeof n=="object"&&n!==null&&"role"in n&&n.role==="system"))throw new Zt({prompt:e,message:"system must be a string, SystemModelMessage, or array of SystemModelMessage"});let t;if(e.prompt!=null&&typeof e.prompt=="string")t=[{role:"user",content:e.prompt}];else if(e.prompt!=null&&Array.isArray(e.prompt))t=e.prompt;else if(e.messages!=null)t=e.messages;else throw new Zt({prompt:e,message:"prompt or messages must be defined"});if(t.length===0)throw new Zt({prompt:e,message:"messages must not be empty"});const r=await rt({value:t,schema:Ue(Fy)});if(!r.success)throw new Zt({prompt:e,message:"The messages do not match the ModelMessage[] schema.",cause:r.error});return{messages:t,system:e.system}}function $l(e){if(!la.isInstance(e))return e;const t=(process==null?void 0:process.env.NODE_ENV)==="production",r="https://ai-sdk.dev/unauthenticated-ai-gateway";return t?new H({name:"GatewayError",message:`Unauthenticated. Configure AI_GATEWAY_API_KEY or use a provider module. Learn more: ${r}`}):Object.assign(new Error(`\x1B[1m\x1B[31mUnauthenticated request to AI Gateway.\x1B[0m
65
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 br({operationId:e,telemetry:t}){return{"operation.name":`${e}${(t==null?void 0:t.functionId)!=null?` ${t.functionId}`:""}`,"resource.name":t==null?void 0:t.functionId,"ai.operationId":e,"ai.telemetry.functionId":t==null?void 0:t.functionId}}function Ml({model:e,settings:t,telemetry:r,headers:n}){var a;return{"ai.model.provider":e.provider,"ai.model.id":e.modelId,...Object.entries(t).reduce((o,[s,i])=>(o[`ai.settings.${s}`]=i,o),{}),...Object.entries((a=r==null?void 0:r.metadata)!=null?a:{}).reduce((o,[s,i])=>(o[`ai.telemetry.metadata.${s}`]=i,o),{}),...Object.entries(n??{}).reduce((o,[s,i])=>(i!==void 0&&(o[`ai.request.headers.${s}`]=i),o),{})}}var Fy={startSpan(){return jr},startActiveSpan(e,t,r,n){if(typeof t=="function")return t(jr);if(typeof r=="function")return r(jr);if(typeof n=="function")return n(jr)}},jr={spanContext(){return Ly},setAttribute(){return this},setAttributes(){return this},addEvent(){return this},addLink(){return this},addLinks(){return this},setStatus(){return this},updateName(){return this},end(){return this},isRecording(){return!1},recordException(){return this}},Ly={traceId:"",spanId:"",traceFlags:0};function Fl({isEnabled:e=!1,tracer:t}={}){return e?t||Vm.getTracer("ai"):Fy}async function Ir({name:e,tracer:t,attributes:r,fn:n,endWhenDone:a=!0}){return t.startActiveSpan(e,{attributes:await r},async o=>{try{const s=await n(o);return a&&o.end(),s}catch(s){try{Ll(o,s)}finally{o.end()}throw s}})}function Ll(e,t){t instanceof Error?(e.recordException({name:t.name,message:t.message,stack:t.stack}),e.setStatus({code:an.ERROR,message:t.message})):e.setStatus({code:an.ERROR})}async function tt({telemetry:e,attributes:t}){if((e==null?void 0:e.isEnabled)!==!0)return{};const r={};for(const[n,a]of Object.entries(t))if(a!=null){if(typeof a=="object"&&"input"in a&&typeof a.input=="function"){if((e==null?void 0:e.recordInputs)===!1)continue;const o=await a.input();o!=null&&(r[n]=o);continue}if(typeof a=="object"&&"output"in a&&typeof a.output=="function"){if((e==null?void 0:e.recordOutputs)===!1)continue;const o=await a.output();o!=null&&(r[n]=o);continue}r[n]=a}return r}function Ul(e){return JSON.stringify(e.map(t=>({...t,content:typeof t.content=="string"?t.content:t.content.map(r=>r.type==="file"?{...r,data:r.data instanceof Uint8Array?Ey(r.data):r.data}:r)})))}function jl(e){return{inputTokens:e.inputTokens.total,inputTokenDetails:{noCacheTokens:e.inputTokens.noCache,cacheReadTokens:e.inputTokens.cacheRead,cacheWriteTokens:e.inputTokens.cacheWrite},outputTokens:e.outputTokens.total,outputTokenDetails:{textTokens:e.outputTokens.text,reasoningTokens:e.outputTokens.reasoning},totalTokens:Ye(e.inputTokens.total,e.outputTokens.total),raw:e.raw,reasoningTokens:e.outputTokens.reasoning,cachedInputTokens:e.inputTokens.cacheRead}}function Dn(){return{inputTokens:void 0,inputTokenDetails:{noCacheTokens:void 0,cacheReadTokens:void 0,cacheWriteTokens:void 0},outputTokens:void 0,outputTokenDetails:{textTokens:void 0,reasoningTokens:void 0},totalTokens:void 0,raw:void 0}}function ql(e,t){var r,n,a,o,s,i,l,u,c,d;return{inputTokens:Ye(e.inputTokens,t.inputTokens),inputTokenDetails:{noCacheTokens:Ye((r=e.inputTokenDetails)==null?void 0:r.noCacheTokens,(n=t.inputTokenDetails)==null?void 0:n.noCacheTokens),cacheReadTokens:Ye((a=e.inputTokenDetails)==null?void 0:a.cacheReadTokens,(o=t.inputTokenDetails)==null?void 0:o.cacheReadTokens),cacheWriteTokens:Ye((s=e.inputTokenDetails)==null?void 0:s.cacheWriteTokens,(i=t.inputTokenDetails)==null?void 0:i.cacheWriteTokens)},outputTokens:Ye(e.outputTokens,t.outputTokens),outputTokenDetails:{textTokens:Ye((l=e.outputTokenDetails)==null?void 0:l.textTokens,(u=t.outputTokenDetails)==null?void 0:u.textTokens),reasoningTokens:Ye((c=e.outputTokenDetails)==null?void 0:c.reasoningTokens,(d=t.outputTokenDetails)==null?void 0:d.reasoningTokens)},totalTokens:Ye(e.totalTokens,t.totalTokens),reasoningTokens:Ye(e.reasoningTokens,t.reasoningTokens),cachedInputTokens:Ye(e.cachedInputTokens,t.cachedInputTokens)}}function Ye(e,t){return e==null&&t==null?void 0:(e??0)+(t??0)}function gn(e,t){if(e===void 0&&t===void 0)return;if(e===void 0)return t;if(t===void 0)return e;const r={...e};for(const n in t)if(Object.prototype.hasOwnProperty.call(t,n)){const a=t[n];if(a===void 0)continue;const o=n in e?e[n]:void 0,s=a!==null&&typeof a=="object"&&!Array.isArray(a)&&!(a instanceof Date)&&!(a instanceof RegExp),i=o!=null&&typeof o=="object"&&!Array.isArray(o)&&!(o instanceof Date)&&!(o instanceof RegExp);s&&i?r[n]=gn(o,a):r[n]=a}return r}function Uy({error:e,exponentialBackoffDelay:t}){const r=e.responseHeaders;if(!r)return t;let n;const a=r["retry-after-ms"];if(a){const s=parseFloat(a);Number.isNaN(s)||(n=s)}const o=r["retry-after"];if(o&&n===void 0){const s=parseFloat(o);Number.isNaN(s)?n=Date.parse(o)-Date.now():n=s*1e3}return n!=null&&!Number.isNaN(n)&&0<=n&&(n<60*1e3||n<t)?n:t}var jy=({maxRetries:e=2,initialDelayInMs:t=2e3,backoffFactor:r=2,abortSignal:n}={})=>async a=>Zl(a,{maxRetries:e,delayInMs:t,backoffFactor:r,abortSignal:n});async function Zl(e,{maxRetries:t,delayInMs:r,backoffFactor:n,abortSignal:a},o=[]){try{return await e()}catch(s){if(Pt(s)||t===0)throw s;const i=sa(s),l=[...o,s],u=l.length;if(u>t)throw new Zo({message:`Failed after ${u} attempts. Last error: ${i}`,reason:"maxRetriesExceeded",errors:l});if(s instanceof Error&&$e.isInstance(s)&&s.isRetryable===!0&&u<=t)return await Ig(Uy({error:s,exponentialBackoffDelay:r}),{abortSignal:a}),Zl(e,{maxRetries:t,delayInMs:n*r,backoffFactor:n,abortSignal:a},l);throw u===1?s:new Zo({message:`Failed after ${u} attempts with non-retryable error: '${i}'`,reason:"errorNotRetryable",errors:l})}}function Gl({maxRetries:e,abortSignal:t}){if(e!=null){if(!Number.isInteger(e))throw new et({parameter:"maxRetries",value:e,message:"maxRetries must be an integer"});if(e<0)throw new et({parameter:"maxRetries",value:e,message:"maxRetries must be >= 0"})}const r=e??2;return{maxRetries:r,retry:jy({maxRetries:r,abortSignal:t})}}function Bl({messages:e}){const t=e.at(-1);if((t==null?void 0:t.role)!="tool")return{approvedToolApprovals:[],deniedToolApprovals:[]};const r={};for(const l of e)if(l.role==="assistant"&&typeof l.content!="string"){const u=l.content;for(const c of u)c.type==="tool-call"&&(r[c.toolCallId]=c)}const n={};for(const l of e)if(l.role==="assistant"&&typeof l.content!="string"){const u=l.content;for(const c of u)c.type==="tool-approval-request"&&(n[c.approvalId]=c)}const a={};for(const l of t.content)l.type==="tool-result"&&(a[l.toolCallId]=l);const o=[],s=[],i=t.content.filter(l=>l.type==="tool-approval-response");for(const l of i){const u=n[l.approvalId];if(u==null)throw new Km({approvalId:l.approvalId});if(a[u.toolCallId]!=null)continue;const c=r[u.toolCallId];if(c==null)throw new ha({toolCallId:u.toolCallId,approvalId:u.approvalId});const d={approvalRequest:u,approvalResponse:l,toolCall:c};l.approved?o.push(d):s.push(d)}return{approvedToolApprovals:o,deniedToolApprovals:s}}async function ya({toolCall:e,tools:t,tracer:r,telemetry:n,messages:a,abortSignal:o,experimental_context:s,onPreliminaryToolResult:i}){const{toolName:l,toolCallId:u,input:c}=e,d=t==null?void 0:t[l];if((d==null?void 0:d.execute)!=null)return Ir({name:"ai.toolCall",attributes:tt({telemetry:n,attributes:{...br({operationId:"ai.toolCall",telemetry:n}),"ai.toolCall.name":l,"ai.toolCall.id":u,"ai.toolCall.args":{output:()=>JSON.stringify(c)}}}),tracer:r,fn:async p=>{let w;try{const b=Ch({execute:d.execute.bind(d),input:c,options:{toolCallId:u,messages:a,abortSignal:o,experimental_context:s}});for await(const _ of b)_.type==="preliminary"?i==null||i({...e,type:"tool-result",output:_.output,preliminary:!0}):w=_.output}catch(b){return Ll(p,b),{type:"tool-error",toolCallId:u,toolName:l,input:c,error:b,dynamic:d.type==="dynamic",...e.providerMetadata!=null?{providerMetadata:e.providerMetadata}:{}}}try{p.setAttributes(await tt({telemetry:n,attributes:{"ai.toolCall.result":{output:()=>JSON.stringify(w)}}}))}catch{}return{type:"tool-result",toolCallId:u,toolName:l,input:c,output:w,dynamic:d.type==="dynamic",...e.providerMetadata!=null?{providerMetadata:e.providerMetadata}:{}}}})}function Ho(e){const t=e.filter(r=>r.type==="text");if(t.length!==0)return t.map(r=>r.text).join("")}var Vl=class{constructor({data:e,mediaType:t}){const r=e instanceof Uint8Array;this.base64Data=r?void 0:e,this.uint8ArrayData=r?e:void 0,this.mediaType=t}get base64(){return this.base64Data==null&&(this.base64Data=tn(this.uint8ArrayData)),this.base64Data}get uint8Array(){return this.uint8ArrayData==null&&(this.uint8ArrayData=oa(this.base64Data)),this.uint8ArrayData}},qy=class extends Vl{constructor(e){super(e),this.type="file"}};async function Hl({tool:e,toolCall:t,messages:r,experimental_context:n}){return e.needsApproval==null?!1:typeof e.needsApproval=="boolean"?e.needsApproval:await e.needsApproval(t.input,{toolCallId:t.toolCallId,messages:r,experimental_context:n})}var Zy={};Jm(Zy,{array:()=>Vy,choice:()=>Hy,json:()=>Jy,object:()=>By,text:()=>sn});function Gy(e){const t=["ROOT"];let r=-1,n=null;function a(l,u,c){switch(l){case'"':{r=u,t.pop(),t.push(c),t.push("INSIDE_STRING");break}case"f":case"t":case"n":{r=u,n=u,t.pop(),t.push(c),t.push("INSIDE_LITERAL");break}case"-":{t.pop(),t.push(c),t.push("INSIDE_NUMBER");break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{r=u,t.pop(),t.push(c),t.push("INSIDE_NUMBER");break}case"{":{r=u,t.pop(),t.push(c),t.push("INSIDE_OBJECT_START");break}case"[":{r=u,t.pop(),t.push(c),t.push("INSIDE_ARRAY_START");break}}}function o(l,u){switch(l){case",":{t.pop(),t.push("INSIDE_OBJECT_AFTER_COMMA");break}case"}":{r=u,t.pop();break}}}function s(l,u){switch(l){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{r=u,t.pop();break}}}for(let l=0;l<e.length;l++){const u=e[l];switch(t[t.length-1]){case"ROOT":a(u,l,"FINISH");break;case"INSIDE_OBJECT_START":{switch(u){case'"':{t.pop(),t.push("INSIDE_OBJECT_KEY");break}case"}":{r=l,t.pop();break}}break}case"INSIDE_OBJECT_AFTER_COMMA":{switch(u){case'"':{t.pop(),t.push("INSIDE_OBJECT_KEY");break}}break}case"INSIDE_OBJECT_KEY":{switch(u){case'"':{t.pop(),t.push("INSIDE_OBJECT_AFTER_KEY");break}}break}case"INSIDE_OBJECT_AFTER_KEY":{switch(u){case":":{t.pop(),t.push("INSIDE_OBJECT_BEFORE_VALUE");break}}break}case"INSIDE_OBJECT_BEFORE_VALUE":{a(u,l,"INSIDE_OBJECT_AFTER_VALUE");break}case"INSIDE_OBJECT_AFTER_VALUE":{o(u,l);break}case"INSIDE_STRING":{switch(u){case'"':{t.pop(),r=l;break}case"\\":{t.push("INSIDE_STRING_ESCAPE");break}default:r=l}break}case"INSIDE_ARRAY_START":{switch(u){case"]":{r=l,t.pop();break}default:{r=l,a(u,l,"INSIDE_ARRAY_AFTER_VALUE");break}}break}case"INSIDE_ARRAY_AFTER_VALUE":{switch(u){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{r=l,t.pop();break}default:{r=l;break}}break}case"INSIDE_ARRAY_AFTER_COMMA":{a(u,l,"INSIDE_ARRAY_AFTER_VALUE");break}case"INSIDE_STRING_ESCAPE":{t.pop(),r=l;break}case"INSIDE_NUMBER":{switch(u){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{r=l;break}case"e":case"E":case"-":case".":break;case",":{t.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&s(u,l),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&o(u,l);break}case"}":{t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&o(u,l);break}case"]":{t.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&s(u,l);break}default:{t.pop();break}}break}case"INSIDE_LITERAL":{const d=e.substring(n,l+1);!"false".startsWith(d)&&!"true".startsWith(d)&&!"null".startsWith(d)?(t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"?o(u,l):t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&s(u,l)):r=l;break}}}let i=e.slice(0,r+1);for(let l=t.length-1;l>=0;l--)switch(t[l]){case"INSIDE_STRING":{i+='"';break}case"INSIDE_OBJECT_KEY":case"INSIDE_OBJECT_AFTER_KEY":case"INSIDE_OBJECT_AFTER_COMMA":case"INSIDE_OBJECT_START":case"INSIDE_OBJECT_BEFORE_VALUE":case"INSIDE_OBJECT_AFTER_VALUE":{i+="}";break}case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":{i+="]";break}case"INSIDE_LITERAL":{const c=e.substring(n,e.length);"true".startsWith(c)?i+="true".slice(c.length):"false".startsWith(c)?i+="false".slice(c.length):"null".startsWith(c)&&(i+="null".slice(c.length))}}return i}async function Rr(e){if(e===void 0)return{value:void 0,state:"undefined-input"};let t=await We({text:e});return t.success?{value:t.value,state:"successful-parse"}:(t=await We({text:Gy(e)}),t.success?{value:t.value,state:"repaired-parse"}:{value:void 0,state:"failed-parse"})}var sn=()=>({responseFormat:Promise.resolve({type:"text"}),async parseCompleteOutput({text:e}){return e},async parsePartialOutput({text:e}){return{partial:e}}}),By=({schema:e,name:t,description:r})=>{const n=er(e);return{responseFormat:Ge(n.jsonSchema).then(a=>({type:"json",schema:a,...t!=null&&{name:t},...r!=null&&{description:r}})),async parseCompleteOutput({text:a},o){const s=await We({text:a});if(!s.success)throw new vt({message:"No object generated: could not parse the response.",cause:s.error,text:a,response:o.response,usage:o.usage,finishReason:o.finishReason});const i=await rt({value:s.value,schema:n});if(!i.success)throw new vt({message:"No object generated: response did not match schema.",cause:i.error,text:a,response:o.response,usage:o.usage,finishReason:o.finishReason});return i.value},async parsePartialOutput({text:a}){const o=await Rr(a);switch(o.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:o.value}}}}},Vy=({element:e,name:t,description:r})=>{const n=er(e);return{responseFormat:Ge(n.jsonSchema).then(a=>{const{$schema:o,...s}=a;return{type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{elements:{type:"array",items:s}},required:["elements"],additionalProperties:!1},...t!=null&&{name:t},...r!=null&&{description:r}}}),async parseCompleteOutput({text:a},o){const s=await We({text:a});if(!s.success)throw new vt({message:"No object generated: could not parse the response.",cause:s.error,text:a,response:o.response,usage:o.usage,finishReason:o.finishReason});const i=s.value;if(i==null||typeof i!="object"||!("elements"in i)||!Array.isArray(i.elements))throw new vt({message:"No object generated: response did not match schema.",cause:new Rt({value:i,cause:"response must be an object with an elements array"}),text:a,response:o.response,usage:o.usage,finishReason:o.finishReason});for(const l of i.elements){const u=await rt({value:l,schema:n});if(!u.success)throw new vt({message:"No object generated: response did not match schema.",cause:u.error,text:a,response:o.response,usage:o.usage,finishReason:o.finishReason})}return i.elements},async parsePartialOutput({text:a}){const o=await Rr(a);switch(o.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{const s=o.value;if(s==null||typeof s!="object"||!("elements"in s)||!Array.isArray(s.elements))return;const i=o.state==="repaired-parse"&&s.elements.length>0?s.elements.slice(0,-1):s.elements,l=[];for(const u of i){const c=await rt({value:u,schema:n});c.success&&l.push(c.value)}return{partial:l}}}}}},Hy=({options:e,name:t,description:r})=>({responseFormat:Promise.resolve({type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{result:{type:"string",enum:e}},required:["result"],additionalProperties:!1},...t!=null&&{name:t},...r!=null&&{description:r}}),async parseCompleteOutput({text:n},a){const o=await We({text:n});if(!o.success)throw new vt({message:"No object generated: could not parse the response.",cause:o.error,text:n,response:a.response,usage:a.usage,finishReason:a.finishReason});const s=o.value;if(s==null||typeof s!="object"||!("result"in s)||typeof s.result!="string"||!e.includes(s.result))throw new vt({message:"No object generated: response did not match schema.",cause:new Rt({value:s,cause:"response must be an object that contains a choice value."}),text:n,response:a.response,usage:a.usage,finishReason:a.finishReason});return s.result},async parsePartialOutput({text:n}){const a=await Rr(n);switch(a.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{const o=a.value;if(o==null||typeof o!="object"||!("result"in o)||typeof o.result!="string")return;const s=e.filter(i=>i.startsWith(o.result));return a.state==="successful-parse"?s.includes(o.result)?{partial:o.result}:void 0:s.length===1?{partial:s[0]}:void 0}}}}),Jy=({name:e,description:t}={})=>({responseFormat:Promise.resolve({type:"json",...e!=null&&{name:e},...t!=null&&{description:t}}),async parseCompleteOutput({text:r},n){const a=await We({text:r});if(!a.success)throw new vt({message:"No object generated: could not parse the response.",cause:a.error,text:r,response:n.response,usage:n.usage,finishReason:n.finishReason});return a.value},async parsePartialOutput({text:r}){const n=await Rr(r);switch(n.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return n.value===void 0?void 0:{partial:n.value}}}});async function Jl({toolCall:e,tools:t,repairToolCall:r,system:n,messages:a}){var o;try{if(t==null){if(e.providerExecuted&&e.dynamic)return await Yl(e);throw new Bn({toolName:e.toolName})}try{return await Jo({toolCall:e,tools:t})}catch(s){if(r==null||!(Bn.isInstance(s)||ga.isInstance(s)))throw s;let i=null;try{i=await r({toolCall:e,tools:t,inputSchema:async({toolName:l})=>{const{inputSchema:u}=t[l];return await er(u).jsonSchema},system:n,messages:a,error:s})}catch(l){throw new ay({cause:l,originalError:s})}if(i==null)throw s;return await Jo({toolCall:i,tools:t})}}catch(s){const i=await We({text:e.input}),l=i.success?i.value:e.input;return{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:l,dynamic:!0,invalid:!0,error:s,title:(o=t==null?void 0:t[e.toolName])==null?void 0:o.title,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata}}}async function Yl(e){const t=e.input.trim()===""?{success:!0,value:{}}:await We({text:e.input});if(t.success===!1)throw new ga({toolName:e.toolName,toolInput:e.input,cause:t.error});return{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:t.value,providerExecuted:!0,dynamic:!0,providerMetadata:e.providerMetadata}}async function Jo({toolCall:e,tools:t}){const r=e.toolName,n=t[r];if(n==null){if(e.providerExecuted&&e.dynamic)return await Yl(e);throw new Bn({toolName:e.toolName,availableTools:Object.keys(t)})}const a=er(n.inputSchema),o=e.input.trim()===""?await rt({value:{},schema:a}):await We({text:e.input,schema:a});if(o.success===!1)throw new ga({toolName:r,toolInput:e.input,cause:o.error});return n.type==="dynamic"?{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:o.value,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,dynamic:!0,title:n.title}:{type:"tool-call",toolCallId:e.toolCallId,toolName:r,input:o.value,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:n.title}}var Wl=class{constructor({content:e,finishReason:t,rawFinishReason:r,usage:n,warnings:a,request:o,response:s,providerMetadata:i}){this.content=e,this.finishReason=t,this.rawFinishReason=r,this.usage=n,this.warnings=a,this.request=o,this.response=s,this.providerMetadata=i}get text(){return this.content.filter(e=>e.type==="text").map(e=>e.text).join("")}get reasoning(){return this.content.filter(e=>e.type==="reasoning")}get reasoningText(){return this.reasoning.length===0?void 0:this.reasoning.map(e=>e.text).join("")}get files(){return this.content.filter(e=>e.type==="file").map(e=>e.file)}get sources(){return this.content.filter(e=>e.type==="source")}get toolCalls(){return this.content.filter(e=>e.type==="tool-call")}get staticToolCalls(){return this.toolCalls.filter(e=>e.dynamic!==!0)}get dynamicToolCalls(){return this.toolCalls.filter(e=>e.dynamic===!0)}get toolResults(){return this.content.filter(e=>e.type==="tool-result")}get staticToolResults(){return this.toolResults.filter(e=>e.dynamic!==!0)}get dynamicToolResults(){return this.toolResults.filter(e=>e.dynamic===!0)}};function Kl(e){return({steps:t})=>t.length===e}async function Xl({stopConditions:e,steps:t}){return(await Promise.all(e.map(r=>r({steps:t})))).some(r=>r)}async function Hn({content:e,tools:t}){const r=[],n=[];for(const o of e)if(o.type!=="source"&&!((o.type==="tool-result"||o.type==="tool-error")&&!o.providerExecuted)&&!(o.type==="text"&&o.text.length===0))switch(o.type){case"text":n.push({type:"text",text:o.text,providerOptions:o.providerMetadata});break;case"reasoning":n.push({type:"reasoning",text:o.text,providerOptions:o.providerMetadata});break;case"file":n.push({type:"file",data:o.file.base64,mediaType:o.file.mediaType,providerOptions:o.providerMetadata});break;case"tool-call":n.push({type:"tool-call",toolCallId:o.toolCallId,toolName:o.toolName,input:o.input,providerExecuted:o.providerExecuted,providerOptions:o.providerMetadata});break;case"tool-result":{const s=await fr({toolCallId:o.toolCallId,input:o.input,tool:t==null?void 0:t[o.toolName],output:o.output,errorMode:"none"});n.push({type:"tool-result",toolCallId:o.toolCallId,toolName:o.toolName,output:s,providerOptions:o.providerMetadata});break}case"tool-error":{const s=await fr({toolCallId:o.toolCallId,input:o.input,tool:t==null?void 0:t[o.toolName],output:o.error,errorMode:"json"});n.push({type:"tool-result",toolCallId:o.toolCallId,toolName:o.toolName,output:s,providerOptions:o.providerMetadata});break}case"tool-approval-request":n.push({type:"tool-approval-request",approvalId:o.approvalId,toolCallId:o.toolCall.toolCallId});break}n.length>0&&r.push({role:"assistant",content:n});const a=[];for(const o of e){if(!(o.type==="tool-result"||o.type==="tool-error")||o.providerExecuted)continue;const s=await fr({toolCallId:o.toolCallId,input:o.input,tool:t==null?void 0:t[o.toolName],output:o.type==="tool-result"?o.output:o.error,errorMode:o.type==="tool-error"?"text":"none"});a.push({type:"tool-result",toolCallId:o.toolCallId,toolName:o.toolName,output:s,...o.providerMetadata!=null?{providerOptions:o.providerMetadata}:{}})}return a.length>0&&r.push({role:"tool",content:a}),r}var Yy=xr({prefix:"aitxt",size:24});async function Jn({model:e,tools:t,toolChoice:r,system:n,prompt:a,messages:o,maxRetries:s,abortSignal:i,headers:l,stopWhen:u=Kl(1),experimental_output:c,output:d=c,experimental_telemetry:p,providerOptions:w,experimental_activeTools:b,activeTools:_=b,experimental_prepareStep:I,prepareStep:P=I,experimental_repairToolCall:C,experimental_download:m,experimental_context:z,_internal:{generateId:O=Yy,currentDate:y=()=>new Date}={},onStepFinish:x,onFinish:D,...F}){const se=on(e),L=Tr(u),{maxRetries:X,retry:Q}=Gl({maxRetries:s,abortSignal:i}),le=Vn(F),xe=Or(l??{},`ai/${Nl}`),Te=Ml({model:se,telemetry:p,headers:xe,settings:{...le,maxRetries:X}}),ct=await zl({system:n,prompt:a,messages:o}),Fe=Fl(p);try{return await Ir({name:"ai.generateText",attributes:tt({telemetry:p,attributes:{...br({operationId:"ai.generateText",telemetry:p}),...Te,"ai.model.provider":se.provider,"ai.model.id":se.modelId,"ai.prompt":{input:()=>JSON.stringify({system:n,prompt:a,messages:o})}}}),tracer:Fe,fn:async zt=>{var $t,Ce,Mt,Ft,nt,at,kr,dt;const tr=ct.messages,ot=[],{approvedToolApprovals:Pr,deniedToolApprovals:rr}=Bl({messages:tr}),St=Pr.filter(U=>!U.toolCall.providerExecuted);if(rr.length>0||St.length>0){const U=await Yo({toolCalls:St.map(W=>W.toolCall),tools:t,tracer:Fe,telemetry:p,messages:tr,abortSignal:i,experimental_context:z}),ae=[];for(const W of U){const st=await fr({toolCallId:W.toolCallId,input:W.input,tool:t==null?void 0:t[W.toolName],output:W.type==="tool-result"?W.output:W.error,errorMode:W.type==="tool-error"?"json":"none"});ae.push({type:"tool-result",toolCallId:W.toolCallId,toolName:W.toolName,output:st})}for(const W of rr)ae.push({type:"tool-result",toolCallId:W.toolCall.toolCallId,toolName:W.toolCall.toolName,output:{type:"execution-denied",reason:W.approvalResponse.reason,...W.toolCall.providerExecuted&&{providerOptions:{openai:{approvalId:W.approvalResponse.approvalId}}}}});ot.push({role:"tool",content:ae})}const Ze=[...Pr,...rr].filter(U=>U.toolCall.providerExecuted);Ze.length>0&&ot.push({role:"tool",content:Ze.map(U=>({type:"tool-approval-response",approvalId:U.approvalResponse.approvalId,approved:U.approvalResponse.approved,reason:U.approvalResponse.reason,providerExecuted:!0}))});const Cr=Vn(F);let J,pe=[],fe=[];const ne=[],V=new Map;do{const U=[...tr,...ot],ae=await(P==null?void 0:P({model:se,steps:ne,stepNumber:ne.length,messages:U,experimental_context:z})),W=on(($t=ae==null?void 0:ae.model)!=null?$t:se),st=await Rl({prompt:{system:(Ce=ae==null?void 0:ae.system)!=null?Ce:ct.system,messages:(Mt=ae==null?void 0:ae.messages)!=null?Mt:U},supportedUrls:await W.supportedUrls,download:m});z=(Ft=ae==null?void 0:ae.experimental_context)!=null?Ft:z;const{toolChoice:ke,tools:pt}=await kl({tools:t,toolChoice:(nt=ae==null?void 0:ae.toolChoice)!=null?nt:r,activeTools:(at=ae==null?void 0:ae.activeTools)!=null?at:_});J=await Q(()=>{var $;return Ir({name:"ai.generateText.doGenerate",attributes:tt({telemetry:p,attributes:{...br({operationId:"ai.generateText.doGenerate",telemetry:p}),...Te,"ai.model.provider":W.provider,"ai.model.id":W.modelId,"ai.prompt.messages":{input:()=>Ul(st)},"ai.prompt.tools":{input:()=>pt==null?void 0:pt.map(Ee=>JSON.stringify(Ee))},"ai.prompt.toolChoice":{input:()=>ke!=null?JSON.stringify(ke):void 0},"gen_ai.system":W.provider,"gen_ai.request.model":W.modelId,"gen_ai.request.frequency_penalty":F.frequencyPenalty,"gen_ai.request.max_tokens":F.maxOutputTokens,"gen_ai.request.presence_penalty":F.presencePenalty,"gen_ai.request.stop_sequences":F.stopSequences,"gen_ai.request.temperature":($=F.temperature)!=null?$:void 0,"gen_ai.request.top_k":F.topK,"gen_ai.request.top_p":F.topP}}),tracer:Fe,fn:async Ee=>{var Lt,it,Ut,Dr,zr,nr,ar,lt;const $r=gn(w,ae==null?void 0:ae.providerOptions),Oe=await W.doGenerate({...Cr,tools:pt,toolChoice:ke,responseFormat:await(d==null?void 0:d.responseFormat),prompt:st,providerOptions:$r,abortSignal:i,headers:xe}),gt={id:(it=(Lt=Oe.response)==null?void 0:Lt.id)!=null?it:O(),timestamp:(Dr=(Ut=Oe.response)==null?void 0:Ut.timestamp)!=null?Dr:y(),modelId:(nr=(zr=Oe.response)==null?void 0:zr.modelId)!=null?nr:W.modelId,headers:(ar=Oe.response)==null?void 0:ar.headers,body:(lt=Oe.response)==null?void 0:lt.body};return Ee.setAttributes(await tt({telemetry:p,attributes:{"ai.response.finishReason":Oe.finishReason.unified,"ai.response.text":{output:()=>Ho(Oe.content)},"ai.response.toolCalls":{output:()=>{const ht=Wo(Oe.content);return ht==null?void 0:JSON.stringify(ht)}},"ai.response.id":gt.id,"ai.response.model":gt.modelId,"ai.response.timestamp":gt.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(Oe.providerMetadata),"ai.usage.promptTokens":Oe.usage.inputTokens.total,"ai.usage.completionTokens":Oe.usage.outputTokens.total,"gen_ai.response.finish_reasons":[Oe.finishReason.unified],"gen_ai.response.id":gt.id,"gen_ai.response.model":gt.modelId,"gen_ai.usage.input_tokens":Oe.usage.inputTokens.total,"gen_ai.usage.output_tokens":Oe.usage.outputTokens.total}})),{...Oe,response:gt}}})});const we=await Promise.all(J.content.filter($=>$.type==="tool-call").map($=>Jl({toolCall:$,tools:t,repairToolCall:C,system:n,messages:U}))),Ae={};for(const $ of we){if($.invalid)continue;const Ee=t==null?void 0:t[$.toolName];Ee!=null&&((Ee==null?void 0:Ee.onInputAvailable)!=null&&await Ee.onInputAvailable({input:$.input,toolCallId:$.toolCallId,messages:U,abortSignal:i,experimental_context:z}),await Hl({tool:Ee,toolCall:$,messages:U,experimental_context:z})&&(Ae[$.toolCallId]={type:"tool-approval-request",approvalId:O(),toolCall:$}))}const _e=we.filter($=>$.invalid&&$.dynamic);fe=[];for(const $ of _e)fe.push({type:"tool-error",toolCallId:$.toolCallId,toolName:$.toolName,input:$.input,error:sa($.error),dynamic:!0});pe=we.filter($=>!$.providerExecuted),t!=null&&fe.push(...await Yo({toolCalls:pe.filter($=>!$.invalid&&Ae[$.toolCallId]==null),tools:t,tracer:Fe,telemetry:p,messages:U,abortSignal:i,experimental_context:z}));for(const $ of we){if(!$.providerExecuted)continue;const Ee=t==null?void 0:t[$.toolName];(Ee==null?void 0:Ee.type)==="provider"&&Ee.supportsDeferredResults&&(J.content.some(it=>it.type==="tool-result"&&it.toolCallId===$.toolCallId)||V.set($.toolCallId,{toolName:$.toolName}))}for(const $ of J.content)$.type==="tool-result"&&V.delete($.toolCallId);const At=Ky({content:J.content,toolCalls:we,toolOutputs:fe,toolApprovalRequests:Object.values(Ae),tools:t});ot.push(...await Hn({content:At,tools:t}));const ft=new Wl({content:At,finishReason:J.finishReason.unified,rawFinishReason:J.finishReason.raw,usage:jl(J.usage),warnings:J.warnings,providerMetadata:J.providerMetadata,request:(kr=J.request)!=null?kr:{},response:{...J.response,messages:structuredClone(ot)}});ma({warnings:(dt=J.warnings)!=null?dt:[],provider:W.provider,model:W.modelId}),ne.push(ft),await(x==null?void 0:x(ft))}while((pe.length>0&&fe.length===pe.length||V.size>0)&&!await Xl({stopConditions:L,steps:ne}));zt.setAttributes(await tt({telemetry:p,attributes:{"ai.response.finishReason":J.finishReason.unified,"ai.response.text":{output:()=>Ho(J.content)},"ai.response.toolCalls":{output:()=>{const U=Wo(J.content);return U==null?void 0:JSON.stringify(U)}},"ai.response.providerMetadata":JSON.stringify(J.providerMetadata),"ai.usage.promptTokens":J.usage.inputTokens.total,"ai.usage.completionTokens":J.usage.outputTokens.total}}));const B=ne[ne.length-1],Ke=ne.reduce((U,ae)=>ql(U,ae.usage),{inputTokens:void 0,outputTokens:void 0,totalTokens:void 0,reasoningTokens:void 0,cachedInputTokens:void 0});await(D==null?void 0:D({finishReason:B.finishReason,rawFinishReason:B.rawFinishReason,usage:B.usage,content:B.content,text:B.text,reasoningText:B.reasoningText,reasoning:B.reasoning,files:B.files,sources:B.sources,toolCalls:B.toolCalls,staticToolCalls:B.staticToolCalls,dynamicToolCalls:B.dynamicToolCalls,toolResults:B.toolResults,staticToolResults:B.staticToolResults,dynamicToolResults:B.dynamicToolResults,request:B.request,response:B.response,warnings:B.warnings,providerMetadata:B.providerMetadata,steps:ne,totalUsage:Ke,experimental_context:z}));let N;return B.finishReason==="stop"&&(N=await(d??sn()).parseCompleteOutput({text:B.text},{response:B.response,usage:B.usage,finishReason:B.finishReason})),new Wy({steps:ne,totalUsage:Ke,output:N})}})}catch(zt){throw $l(zt)}}async function Yo({toolCalls:e,tools:t,tracer:r,telemetry:n,messages:a,abortSignal:o,experimental_context:s}){return(await Promise.all(e.map(async l=>ya({toolCall:l,tools:t,tracer:r,telemetry:n,messages:a,abortSignal:o,experimental_context:s})))).filter(l=>l!=null)}var Wy=class{constructor(e){this.steps=e.steps,this._output=e.output,this.totalUsage=e.totalUsage}get finalStep(){return this.steps[this.steps.length-1]}get content(){return this.finalStep.content}get text(){return this.finalStep.text}get files(){return this.finalStep.files}get reasoningText(){return this.finalStep.reasoningText}get reasoning(){return this.finalStep.reasoning}get toolCalls(){return this.finalStep.toolCalls}get staticToolCalls(){return this.finalStep.staticToolCalls}get dynamicToolCalls(){return this.finalStep.dynamicToolCalls}get toolResults(){return this.finalStep.toolResults}get staticToolResults(){return this.finalStep.staticToolResults}get dynamicToolResults(){return this.finalStep.dynamicToolResults}get sources(){return this.finalStep.sources}get finishReason(){return this.finalStep.finishReason}get rawFinishReason(){return this.finalStep.rawFinishReason}get warnings(){return this.finalStep.warnings}get providerMetadata(){return this.finalStep.providerMetadata}get response(){return this.finalStep.response}get request(){return this.finalStep.request}get usage(){return this.finalStep.usage}get experimental_output(){return this.output}get output(){if(this._output==null)throw new pl;return this._output}};function Wo(e){const t=e.filter(r=>r.type==="tool-call");if(t.length!==0)return t.map(r=>({toolCallId:r.toolCallId,toolName:r.toolName,input:r.input}))}function Ky({content:e,toolCalls:t,toolOutputs:r,toolApprovalRequests:n,tools:a}){const o=[];for(const s of e)switch(s.type){case"text":case"reasoning":case"source":o.push(s);break;case"file":{o.push({type:"file",file:new Vl(s),...s.providerMetadata!=null?{providerMetadata:s.providerMetadata}:{}});break}case"tool-call":{o.push(t.find(i=>i.toolCallId===s.toolCallId));break}case"tool-result":{const i=t.find(l=>l.toolCallId===s.toolCallId);if(i==null){const l=a==null?void 0:a[s.toolName];if(!((l==null?void 0:l.type)==="provider"&&l.supportsDeferredResults))throw new Error(`Tool call ${s.toolCallId} not found.`);s.isError?o.push({type:"tool-error",toolCallId:s.toolCallId,toolName:s.toolName,input:void 0,error:s.result,providerExecuted:!0,dynamic:s.dynamic}):o.push({type:"tool-result",toolCallId:s.toolCallId,toolName:s.toolName,input:void 0,output:s.result,providerExecuted:!0,dynamic:s.dynamic});break}s.isError?o.push({type:"tool-error",toolCallId:s.toolCallId,toolName:s.toolName,input:i.input,error:s.result,providerExecuted:!0,dynamic:i.dynamic}):o.push({type:"tool-result",toolCallId:s.toolCallId,toolName:s.toolName,input:i.input,output:s.result,providerExecuted:!0,dynamic:i.dynamic});break}case"tool-approval-request":{const i=t.find(l=>l.toolCallId===s.toolCallId);if(i==null)throw new ha({toolCallId:s.toolCallId,approvalId:s.approvalId});o.push({type:"tool-approval-request",approvalId:s.approvalId,toolCall:i});break}}return[...o,...r,...n]}function hn(e,t){const r=new Headers(e??{});for(const[n,a]of Object.entries(t))r.has(n)||r.set(n,a);return r}function Xy({status:e,statusText:t,headers:r,textStream:n}){return new Response(n.pipeThrough(new TextEncoderStream),{status:e??200,statusText:t,headers:hn(r,{"content-type":"text/plain; charset=utf-8"})})}function Ql({response:e,status:t,statusText:r,headers:n,stream:a}){const o=t??200;r!==void 0?e.writeHead(o,r,n):e.writeHead(o,n);const s=a.getReader();(async()=>{try{for(;;){const{done:l,value:u}=await s.read();if(l)break;e.write(u)||await new Promise(d=>{e.once("drain",d)})}}catch(l){throw l}finally{e.end()}})()}function Qy({response:e,status:t,statusText:r,headers:n,textStream:a}){Ql({response:e,status:t,statusText:r,headers:Object.fromEntries(hn(n,{"content-type":"text/plain; charset=utf-8"}).entries()),stream:a.pipeThrough(new TextEncoderStream)})}var eu=class extends TransformStream{constructor(){super({transform(e,t){t.enqueue(`data: ${JSON.stringify(e)}
72
+ `),{name:"GatewayAuthenticationError"})}function br({operationId:e,telemetry:t}){return{"operation.name":`${e}${(t==null?void 0:t.functionId)!=null?` ${t.functionId}`:""}`,"resource.name":t==null?void 0:t.functionId,"ai.operationId":e,"ai.telemetry.functionId":t==null?void 0:t.functionId}}function Ml({model:e,settings:t,telemetry:r,headers:n}){var a;return{"ai.model.provider":e.provider,"ai.model.id":e.modelId,...Object.entries(t).reduce((o,[s,i])=>(o[`ai.settings.${s}`]=i,o),{}),...Object.entries((a=r==null?void 0:r.metadata)!=null?a:{}).reduce((o,[s,i])=>(o[`ai.telemetry.metadata.${s}`]=i,o),{}),...Object.entries(n??{}).reduce((o,[s,i])=>(i!==void 0&&(o[`ai.request.headers.${s}`]=i),o),{})}}var Ly={startSpan(){return jr},startActiveSpan(e,t,r,n){if(typeof t=="function")return t(jr);if(typeof r=="function")return r(jr);if(typeof n=="function")return n(jr)}},jr={spanContext(){return Uy},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}},Uy={traceId:"",spanId:"",traceFlags:0};function Fl({isEnabled:e=!1,tracer:t}={}){return e?t||Hm.getTracer("ai"):Ly}async function Ir({name:e,tracer:t,attributes:r,fn:n,endWhenDone:a=!0}){return t.startActiveSpan(e,{attributes:await r},async o=>{try{const s=await n(o);return a&&o.end(),s}catch(s){try{Ll(o,s)}finally{o.end()}throw s}})}function Ll(e,t){t instanceof Error?(e.recordException({name:t.name,message:t.message,stack:t.stack}),e.setStatus({code:an.ERROR,message:t.message})):e.setStatus({code:an.ERROR})}async function tt({telemetry:e,attributes:t}){if((e==null?void 0:e.isEnabled)!==!0)return{};const r={};for(const[n,a]of Object.entries(t))if(a!=null){if(typeof a=="object"&&"input"in a&&typeof a.input=="function"){if((e==null?void 0:e.recordInputs)===!1)continue;const o=await a.input();o!=null&&(r[n]=o);continue}if(typeof a=="object"&&"output"in a&&typeof a.output=="function"){if((e==null?void 0:e.recordOutputs)===!1)continue;const o=await a.output();o!=null&&(r[n]=o);continue}r[n]=a}return r}function Ul(e){return JSON.stringify(e.map(t=>({...t,content:typeof t.content=="string"?t.content:t.content.map(r=>r.type==="file"?{...r,data:r.data instanceof Uint8Array?by(r.data):r.data}:r)})))}function jl(e){return{inputTokens:e.inputTokens.total,inputTokenDetails:{noCacheTokens:e.inputTokens.noCache,cacheReadTokens:e.inputTokens.cacheRead,cacheWriteTokens:e.inputTokens.cacheWrite},outputTokens:e.outputTokens.total,outputTokenDetails:{textTokens:e.outputTokens.text,reasoningTokens:e.outputTokens.reasoning},totalTokens:Ye(e.inputTokens.total,e.outputTokens.total),raw:e.raw,reasoningTokens:e.outputTokens.reasoning,cachedInputTokens:e.inputTokens.cacheRead}}function Dn(){return{inputTokens:void 0,inputTokenDetails:{noCacheTokens:void 0,cacheReadTokens:void 0,cacheWriteTokens:void 0},outputTokens:void 0,outputTokenDetails:{textTokens:void 0,reasoningTokens:void 0},totalTokens:void 0,raw:void 0}}function ql(e,t){var r,n,a,o,s,i,l,u,c,d;return{inputTokens:Ye(e.inputTokens,t.inputTokens),inputTokenDetails:{noCacheTokens:Ye((r=e.inputTokenDetails)==null?void 0:r.noCacheTokens,(n=t.inputTokenDetails)==null?void 0:n.noCacheTokens),cacheReadTokens:Ye((a=e.inputTokenDetails)==null?void 0:a.cacheReadTokens,(o=t.inputTokenDetails)==null?void 0:o.cacheReadTokens),cacheWriteTokens:Ye((s=e.inputTokenDetails)==null?void 0:s.cacheWriteTokens,(i=t.inputTokenDetails)==null?void 0:i.cacheWriteTokens)},outputTokens:Ye(e.outputTokens,t.outputTokens),outputTokenDetails:{textTokens:Ye((l=e.outputTokenDetails)==null?void 0:l.textTokens,(u=t.outputTokenDetails)==null?void 0:u.textTokens),reasoningTokens:Ye((c=e.outputTokenDetails)==null?void 0:c.reasoningTokens,(d=t.outputTokenDetails)==null?void 0:d.reasoningTokens)},totalTokens:Ye(e.totalTokens,t.totalTokens),reasoningTokens:Ye(e.reasoningTokens,t.reasoningTokens),cachedInputTokens:Ye(e.cachedInputTokens,t.cachedInputTokens)}}function Ye(e,t){return e==null&&t==null?void 0:(e??0)+(t??0)}function gn(e,t){if(e===void 0&&t===void 0)return;if(e===void 0)return t;if(t===void 0)return e;const r={...e};for(const n in t)if(Object.prototype.hasOwnProperty.call(t,n)){const a=t[n];if(a===void 0)continue;const o=n in e?e[n]:void 0,s=a!==null&&typeof a=="object"&&!Array.isArray(a)&&!(a instanceof Date)&&!(a instanceof RegExp),i=o!=null&&typeof o=="object"&&!Array.isArray(o)&&!(o instanceof Date)&&!(o instanceof RegExp);s&&i?r[n]=gn(o,a):r[n]=a}return r}function jy({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 qy=({maxRetries:e=2,initialDelayInMs:t=2e3,backoffFactor:r=2,abortSignal:n}={})=>async a=>Zl(a,{maxRetries:e,delayInMs:t,backoffFactor:r,abortSignal:n});async function Zl(e,{maxRetries:t,delayInMs:r,backoffFactor:n,abortSignal:a},o=[]){try{return await e()}catch(s){if(Pt(s)||t===0)throw s;const i=sa(s),l=[...o,s],u=l.length;if(u>t)throw new Zo({message:`Failed after ${u} attempts. Last error: ${i}`,reason:"maxRetriesExceeded",errors:l});if(s instanceof Error&&$e.isInstance(s)&&s.isRetryable===!0&&u<=t)return await Sg(jy({error:s,exponentialBackoffDelay:r}),{abortSignal:a}),Zl(e,{maxRetries:t,delayInMs:n*r,backoffFactor:n,abortSignal:a},l);throw u===1?s:new Zo({message:`Failed after ${u} attempts with non-retryable error: '${i}'`,reason:"errorNotRetryable",errors:l})}}function Gl({maxRetries:e,abortSignal:t}){if(e!=null){if(!Number.isInteger(e))throw new et({parameter:"maxRetries",value:e,message:"maxRetries must be an integer"});if(e<0)throw new et({parameter:"maxRetries",value:e,message:"maxRetries must be >= 0"})}const r=e??2;return{maxRetries:r,retry:qy({maxRetries:r,abortSignal:t})}}function Bl({messages:e}){const t=e.at(-1);if((t==null?void 0:t.role)!="tool")return{approvedToolApprovals:[],deniedToolApprovals:[]};const r={};for(const l of e)if(l.role==="assistant"&&typeof l.content!="string"){const u=l.content;for(const c of u)c.type==="tool-call"&&(r[c.toolCallId]=c)}const n={};for(const l of e)if(l.role==="assistant"&&typeof l.content!="string"){const u=l.content;for(const c of u)c.type==="tool-approval-request"&&(n[c.approvalId]=c)}const a={};for(const l of t.content)l.type==="tool-result"&&(a[l.toolCallId]=l);const o=[],s=[],i=t.content.filter(l=>l.type==="tool-approval-response");for(const l of i){const u=n[l.approvalId];if(u==null)throw new Xm({approvalId:l.approvalId});if(a[u.toolCallId]!=null)continue;const c=r[u.toolCallId];if(c==null)throw new ha({toolCallId:u.toolCallId,approvalId:u.approvalId});const d={approvalRequest:u,approvalResponse:l,toolCall:c};l.approved?o.push(d):s.push(d)}return{approvedToolApprovals:o,deniedToolApprovals:s}}async function ya({toolCall:e,tools:t,tracer:r,telemetry:n,messages:a,abortSignal:o,experimental_context:s,onPreliminaryToolResult:i}){const{toolName:l,toolCallId:u,input:c}=e,d=t==null?void 0:t[l];if((d==null?void 0:d.execute)!=null)return Ir({name:"ai.toolCall",attributes:tt({telemetry:n,attributes:{...br({operationId:"ai.toolCall",telemetry:n}),"ai.toolCall.name":l,"ai.toolCall.id":u,"ai.toolCall.args":{output:()=>JSON.stringify(c)}}}),tracer:r,fn:async p=>{let w;try{const b=Dh({execute:d.execute.bind(d),input:c,options:{toolCallId:u,messages:a,abortSignal:o,experimental_context:s}});for await(const _ of b)_.type==="preliminary"?i==null||i({...e,type:"tool-result",output:_.output,preliminary:!0}):w=_.output}catch(b){return Ll(p,b),{type:"tool-error",toolCallId:u,toolName:l,input:c,error:b,dynamic:d.type==="dynamic",...e.providerMetadata!=null?{providerMetadata:e.providerMetadata}:{}}}try{p.setAttributes(await tt({telemetry:n,attributes:{"ai.toolCall.result":{output:()=>JSON.stringify(w)}}}))}catch{}return{type:"tool-result",toolCallId:u,toolName:l,input:c,output:w,dynamic:d.type==="dynamic",...e.providerMetadata!=null?{providerMetadata:e.providerMetadata}:{}}}})}function Ho(e){const t=e.filter(r=>r.type==="text");if(t.length!==0)return t.map(r=>r.text).join("")}var Vl=class{constructor({data:e,mediaType:t}){const r=e instanceof Uint8Array;this.base64Data=r?void 0:e,this.uint8ArrayData=r?e:void 0,this.mediaType=t}get base64(){return this.base64Data==null&&(this.base64Data=tn(this.uint8ArrayData)),this.base64Data}get uint8Array(){return this.uint8ArrayData==null&&(this.uint8ArrayData=oa(this.base64Data)),this.uint8ArrayData}},Zy=class extends Vl{constructor(e){super(e),this.type="file"}};async function Hl({tool:e,toolCall:t,messages:r,experimental_context:n}){return e.needsApproval==null?!1:typeof e.needsApproval=="boolean"?e.needsApproval:await e.needsApproval(t.input,{toolCallId:t.toolCallId,messages:r,experimental_context:n})}var Gy={};Ym(Gy,{array:()=>Hy,choice:()=>Jy,json:()=>Yy,object:()=>Vy,text:()=>sn});function By(e){const t=["ROOT"];let r=-1,n=null;function a(l,u,c){switch(l){case'"':{r=u,t.pop(),t.push(c),t.push("INSIDE_STRING");break}case"f":case"t":case"n":{r=u,n=u,t.pop(),t.push(c),t.push("INSIDE_LITERAL");break}case"-":{t.pop(),t.push(c),t.push("INSIDE_NUMBER");break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{r=u,t.pop(),t.push(c),t.push("INSIDE_NUMBER");break}case"{":{r=u,t.pop(),t.push(c),t.push("INSIDE_OBJECT_START");break}case"[":{r=u,t.pop(),t.push(c),t.push("INSIDE_ARRAY_START");break}}}function o(l,u){switch(l){case",":{t.pop(),t.push("INSIDE_OBJECT_AFTER_COMMA");break}case"}":{r=u,t.pop();break}}}function s(l,u){switch(l){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{r=u,t.pop();break}}}for(let l=0;l<e.length;l++){const u=e[l];switch(t[t.length-1]){case"ROOT":a(u,l,"FINISH");break;case"INSIDE_OBJECT_START":{switch(u){case'"':{t.pop(),t.push("INSIDE_OBJECT_KEY");break}case"}":{r=l,t.pop();break}}break}case"INSIDE_OBJECT_AFTER_COMMA":{switch(u){case'"':{t.pop(),t.push("INSIDE_OBJECT_KEY");break}}break}case"INSIDE_OBJECT_KEY":{switch(u){case'"':{t.pop(),t.push("INSIDE_OBJECT_AFTER_KEY");break}}break}case"INSIDE_OBJECT_AFTER_KEY":{switch(u){case":":{t.pop(),t.push("INSIDE_OBJECT_BEFORE_VALUE");break}}break}case"INSIDE_OBJECT_BEFORE_VALUE":{a(u,l,"INSIDE_OBJECT_AFTER_VALUE");break}case"INSIDE_OBJECT_AFTER_VALUE":{o(u,l);break}case"INSIDE_STRING":{switch(u){case'"':{t.pop(),r=l;break}case"\\":{t.push("INSIDE_STRING_ESCAPE");break}default:r=l}break}case"INSIDE_ARRAY_START":{switch(u){case"]":{r=l,t.pop();break}default:{r=l,a(u,l,"INSIDE_ARRAY_AFTER_VALUE");break}}break}case"INSIDE_ARRAY_AFTER_VALUE":{switch(u){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{r=l,t.pop();break}default:{r=l;break}}break}case"INSIDE_ARRAY_AFTER_COMMA":{a(u,l,"INSIDE_ARRAY_AFTER_VALUE");break}case"INSIDE_STRING_ESCAPE":{t.pop(),r=l;break}case"INSIDE_NUMBER":{switch(u){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{r=l;break}case"e":case"E":case"-":case".":break;case",":{t.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&s(u,l),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&o(u,l);break}case"}":{t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&o(u,l);break}case"]":{t.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&s(u,l);break}default:{t.pop();break}}break}case"INSIDE_LITERAL":{const d=e.substring(n,l+1);!"false".startsWith(d)&&!"true".startsWith(d)&&!"null".startsWith(d)?(t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"?o(u,l):t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&s(u,l)):r=l;break}}}let i=e.slice(0,r+1);for(let l=t.length-1;l>=0;l--)switch(t[l]){case"INSIDE_STRING":{i+='"';break}case"INSIDE_OBJECT_KEY":case"INSIDE_OBJECT_AFTER_KEY":case"INSIDE_OBJECT_AFTER_COMMA":case"INSIDE_OBJECT_START":case"INSIDE_OBJECT_BEFORE_VALUE":case"INSIDE_OBJECT_AFTER_VALUE":{i+="}";break}case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":{i+="]";break}case"INSIDE_LITERAL":{const c=e.substring(n,e.length);"true".startsWith(c)?i+="true".slice(c.length):"false".startsWith(c)?i+="false".slice(c.length):"null".startsWith(c)&&(i+="null".slice(c.length))}}return i}async function Rr(e){if(e===void 0)return{value:void 0,state:"undefined-input"};let t=await We({text:e});return t.success?{value:t.value,state:"successful-parse"}:(t=await We({text:By(e)}),t.success?{value:t.value,state:"repaired-parse"}:{value:void 0,state:"failed-parse"})}var sn=()=>({responseFormat:Promise.resolve({type:"text"}),async parseCompleteOutput({text:e}){return e},async parsePartialOutput({text:e}){return{partial:e}}}),Vy=({schema:e,name:t,description:r})=>{const n=er(e);return{responseFormat:Ge(n.jsonSchema).then(a=>({type:"json",schema:a,...t!=null&&{name:t},...r!=null&&{description:r}})),async parseCompleteOutput({text:a},o){const s=await We({text:a});if(!s.success)throw new vt({message:"No object generated: could not parse the response.",cause:s.error,text:a,response:o.response,usage:o.usage,finishReason:o.finishReason});const i=await rt({value:s.value,schema:n});if(!i.success)throw new vt({message:"No object generated: response did not match schema.",cause:i.error,text:a,response:o.response,usage:o.usage,finishReason:o.finishReason});return i.value},async parsePartialOutput({text:a}){const o=await Rr(a);switch(o.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:o.value}}}}},Hy=({element:e,name:t,description:r})=>{const n=er(e);return{responseFormat:Ge(n.jsonSchema).then(a=>{const{$schema:o,...s}=a;return{type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{elements:{type:"array",items:s}},required:["elements"],additionalProperties:!1},...t!=null&&{name:t},...r!=null&&{description:r}}}),async parseCompleteOutput({text:a},o){const s=await We({text:a});if(!s.success)throw new vt({message:"No object generated: could not parse the response.",cause:s.error,text:a,response:o.response,usage:o.usage,finishReason:o.finishReason});const i=s.value;if(i==null||typeof i!="object"||!("elements"in i)||!Array.isArray(i.elements))throw new vt({message:"No object generated: response did not match schema.",cause:new Rt({value:i,cause:"response must be an object with an elements array"}),text:a,response:o.response,usage:o.usage,finishReason:o.finishReason});for(const l of i.elements){const u=await rt({value:l,schema:n});if(!u.success)throw new vt({message:"No object generated: response did not match schema.",cause:u.error,text:a,response:o.response,usage:o.usage,finishReason:o.finishReason})}return i.elements},async parsePartialOutput({text:a}){const o=await Rr(a);switch(o.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{const s=o.value;if(s==null||typeof s!="object"||!("elements"in s)||!Array.isArray(s.elements))return;const i=o.state==="repaired-parse"&&s.elements.length>0?s.elements.slice(0,-1):s.elements,l=[];for(const u of i){const c=await rt({value:u,schema:n});c.success&&l.push(c.value)}return{partial:l}}}}}},Jy=({options:e,name:t,description:r})=>({responseFormat:Promise.resolve({type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{result:{type:"string",enum:e}},required:["result"],additionalProperties:!1},...t!=null&&{name:t},...r!=null&&{description:r}}),async parseCompleteOutput({text:n},a){const o=await We({text:n});if(!o.success)throw new vt({message:"No object generated: could not parse the response.",cause:o.error,text:n,response:a.response,usage:a.usage,finishReason:a.finishReason});const s=o.value;if(s==null||typeof s!="object"||!("result"in s)||typeof s.result!="string"||!e.includes(s.result))throw new vt({message:"No object generated: response did not match schema.",cause:new Rt({value:s,cause:"response must be an object that contains a choice value."}),text:n,response:a.response,usage:a.usage,finishReason:a.finishReason});return s.result},async parsePartialOutput({text:n}){const a=await Rr(n);switch(a.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{const o=a.value;if(o==null||typeof o!="object"||!("result"in o)||typeof o.result!="string")return;const s=e.filter(i=>i.startsWith(o.result));return a.state==="successful-parse"?s.includes(o.result)?{partial:o.result}:void 0:s.length===1?{partial:s[0]}:void 0}}}}),Yy=({name:e,description:t}={})=>({responseFormat:Promise.resolve({type:"json",...e!=null&&{name:e},...t!=null&&{description:t}}),async parseCompleteOutput({text:r},n){const a=await We({text:r});if(!a.success)throw new vt({message:"No object generated: could not parse the response.",cause:a.error,text:r,response:n.response,usage:n.usage,finishReason:n.finishReason});return a.value},async parsePartialOutput({text:r}){const n=await Rr(r);switch(n.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return n.value===void 0?void 0:{partial:n.value}}}});async function Jl({toolCall:e,tools:t,repairToolCall:r,system:n,messages:a}){var o;try{if(t==null){if(e.providerExecuted&&e.dynamic)return await Yl(e);throw new Bn({toolName:e.toolName})}try{return await Jo({toolCall:e,tools:t})}catch(s){if(r==null||!(Bn.isInstance(s)||ga.isInstance(s)))throw s;let i=null;try{i=await r({toolCall:e,tools:t,inputSchema:async({toolName:l})=>{const{inputSchema:u}=t[l];return await er(u).jsonSchema},system:n,messages:a,error:s})}catch(l){throw new oy({cause:l,originalError:s})}if(i==null)throw s;return await Jo({toolCall:i,tools:t})}}catch(s){const i=await We({text:e.input}),l=i.success?i.value:e.input;return{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:l,dynamic:!0,invalid:!0,error:s,title:(o=t==null?void 0:t[e.toolName])==null?void 0:o.title,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata}}}async function Yl(e){const t=e.input.trim()===""?{success:!0,value:{}}:await We({text:e.input});if(t.success===!1)throw new ga({toolName:e.toolName,toolInput:e.input,cause:t.error});return{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:t.value,providerExecuted:!0,dynamic:!0,providerMetadata:e.providerMetadata}}async function Jo({toolCall:e,tools:t}){const r=e.toolName,n=t[r];if(n==null){if(e.providerExecuted&&e.dynamic)return await Yl(e);throw new Bn({toolName:e.toolName,availableTools:Object.keys(t)})}const a=er(n.inputSchema),o=e.input.trim()===""?await rt({value:{},schema:a}):await We({text:e.input,schema:a});if(o.success===!1)throw new ga({toolName:r,toolInput:e.input,cause:o.error});return n.type==="dynamic"?{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:o.value,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,dynamic:!0,title:n.title}:{type:"tool-call",toolCallId:e.toolCallId,toolName:r,input:o.value,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:n.title}}var Wl=class{constructor({content:e,finishReason:t,rawFinishReason:r,usage:n,warnings:a,request:o,response:s,providerMetadata:i}){this.content=e,this.finishReason=t,this.rawFinishReason=r,this.usage=n,this.warnings=a,this.request=o,this.response=s,this.providerMetadata=i}get text(){return this.content.filter(e=>e.type==="text").map(e=>e.text).join("")}get reasoning(){return this.content.filter(e=>e.type==="reasoning")}get reasoningText(){return this.reasoning.length===0?void 0:this.reasoning.map(e=>e.text).join("")}get files(){return this.content.filter(e=>e.type==="file").map(e=>e.file)}get sources(){return this.content.filter(e=>e.type==="source")}get toolCalls(){return this.content.filter(e=>e.type==="tool-call")}get staticToolCalls(){return this.toolCalls.filter(e=>e.dynamic!==!0)}get dynamicToolCalls(){return this.toolCalls.filter(e=>e.dynamic===!0)}get toolResults(){return this.content.filter(e=>e.type==="tool-result")}get staticToolResults(){return this.toolResults.filter(e=>e.dynamic!==!0)}get dynamicToolResults(){return this.toolResults.filter(e=>e.dynamic===!0)}};function Kl(e){return({steps:t})=>t.length===e}async function Xl({stopConditions:e,steps:t}){return(await Promise.all(e.map(r=>r({steps:t})))).some(r=>r)}async function Hn({content:e,tools:t}){const r=[],n=[];for(const o of e)if(o.type!=="source"&&!((o.type==="tool-result"||o.type==="tool-error")&&!o.providerExecuted)&&!(o.type==="text"&&o.text.length===0))switch(o.type){case"text":n.push({type:"text",text:o.text,providerOptions:o.providerMetadata});break;case"reasoning":n.push({type:"reasoning",text:o.text,providerOptions:o.providerMetadata});break;case"file":n.push({type:"file",data:o.file.base64,mediaType:o.file.mediaType,providerOptions:o.providerMetadata});break;case"tool-call":n.push({type:"tool-call",toolCallId:o.toolCallId,toolName:o.toolName,input:o.input,providerExecuted:o.providerExecuted,providerOptions:o.providerMetadata});break;case"tool-result":{const s=await fr({toolCallId:o.toolCallId,input:o.input,tool:t==null?void 0:t[o.toolName],output:o.output,errorMode:"none"});n.push({type:"tool-result",toolCallId:o.toolCallId,toolName:o.toolName,output:s,providerOptions:o.providerMetadata});break}case"tool-error":{const s=await fr({toolCallId:o.toolCallId,input:o.input,tool:t==null?void 0:t[o.toolName],output:o.error,errorMode:"json"});n.push({type:"tool-result",toolCallId:o.toolCallId,toolName:o.toolName,output:s,providerOptions:o.providerMetadata});break}case"tool-approval-request":n.push({type:"tool-approval-request",approvalId:o.approvalId,toolCallId:o.toolCall.toolCallId});break}n.length>0&&r.push({role:"assistant",content:n});const a=[];for(const o of e){if(!(o.type==="tool-result"||o.type==="tool-error")||o.providerExecuted)continue;const s=await fr({toolCallId:o.toolCallId,input:o.input,tool:t==null?void 0:t[o.toolName],output:o.type==="tool-result"?o.output:o.error,errorMode:o.type==="tool-error"?"text":"none"});a.push({type:"tool-result",toolCallId:o.toolCallId,toolName:o.toolName,output:s,...o.providerMetadata!=null?{providerOptions:o.providerMetadata}:{}})}return a.length>0&&r.push({role:"tool",content:a}),r}var Wy=xr({prefix:"aitxt",size:24});async function Jn({model:e,tools:t,toolChoice:r,system:n,prompt:a,messages:o,maxRetries:s,abortSignal:i,headers:l,stopWhen:u=Kl(1),experimental_output:c,output:d=c,experimental_telemetry:p,providerOptions:w,experimental_activeTools:b,activeTools:_=b,experimental_prepareStep:I,prepareStep:P=I,experimental_repairToolCall:C,experimental_download:m,experimental_context:z,_internal:{generateId:O=Wy,currentDate:y=()=>new Date}={},onStepFinish:x,onFinish:D,...F}){const se=on(e),L=Tr(u),{maxRetries:X,retry:Q}=Gl({maxRetries:s,abortSignal:i}),le=Vn(F),xe=Or(l??{},`ai/${Nl}`),Te=Ml({model:se,telemetry:p,headers:xe,settings:{...le,maxRetries:X}}),ct=await zl({system:n,prompt:a,messages:o}),Fe=Fl(p);try{return await Ir({name:"ai.generateText",attributes:tt({telemetry:p,attributes:{...br({operationId:"ai.generateText",telemetry:p}),...Te,"ai.model.provider":se.provider,"ai.model.id":se.modelId,"ai.prompt":{input:()=>JSON.stringify({system:n,prompt:a,messages:o})}}}),tracer:Fe,fn:async zt=>{var $t,Ce,Mt,Ft,nt,at,kr,dt;const tr=ct.messages,ot=[],{approvedToolApprovals:Pr,deniedToolApprovals:rr}=Bl({messages:tr}),St=Pr.filter(U=>!U.toolCall.providerExecuted);if(rr.length>0||St.length>0){const U=await Yo({toolCalls:St.map(W=>W.toolCall),tools:t,tracer:Fe,telemetry:p,messages:tr,abortSignal:i,experimental_context:z}),ae=[];for(const W of U){const st=await fr({toolCallId:W.toolCallId,input:W.input,tool:t==null?void 0:t[W.toolName],output:W.type==="tool-result"?W.output:W.error,errorMode:W.type==="tool-error"?"json":"none"});ae.push({type:"tool-result",toolCallId:W.toolCallId,toolName:W.toolName,output:st})}for(const W of rr)ae.push({type:"tool-result",toolCallId:W.toolCall.toolCallId,toolName:W.toolCall.toolName,output:{type:"execution-denied",reason:W.approvalResponse.reason,...W.toolCall.providerExecuted&&{providerOptions:{openai:{approvalId:W.approvalResponse.approvalId}}}}});ot.push({role:"tool",content:ae})}const Ze=[...Pr,...rr].filter(U=>U.toolCall.providerExecuted);Ze.length>0&&ot.push({role:"tool",content:Ze.map(U=>({type:"tool-approval-response",approvalId:U.approvalResponse.approvalId,approved:U.approvalResponse.approved,reason:U.approvalResponse.reason,providerExecuted:!0}))});const Cr=Vn(F);let J,pe=[],fe=[];const ne=[],V=new Map;do{const U=[...tr,...ot],ae=await(P==null?void 0:P({model:se,steps:ne,stepNumber:ne.length,messages:U,experimental_context:z})),W=on(($t=ae==null?void 0:ae.model)!=null?$t:se),st=await Rl({prompt:{system:(Ce=ae==null?void 0:ae.system)!=null?Ce:ct.system,messages:(Mt=ae==null?void 0:ae.messages)!=null?Mt:U},supportedUrls:await W.supportedUrls,download:m});z=(Ft=ae==null?void 0:ae.experimental_context)!=null?Ft:z;const{toolChoice:ke,tools:pt}=await kl({tools:t,toolChoice:(nt=ae==null?void 0:ae.toolChoice)!=null?nt:r,activeTools:(at=ae==null?void 0:ae.activeTools)!=null?at:_});J=await Q(()=>{var $;return Ir({name:"ai.generateText.doGenerate",attributes:tt({telemetry:p,attributes:{...br({operationId:"ai.generateText.doGenerate",telemetry:p}),...Te,"ai.model.provider":W.provider,"ai.model.id":W.modelId,"ai.prompt.messages":{input:()=>Ul(st)},"ai.prompt.tools":{input:()=>pt==null?void 0:pt.map(Ee=>JSON.stringify(Ee))},"ai.prompt.toolChoice":{input:()=>ke!=null?JSON.stringify(ke):void 0},"gen_ai.system":W.provider,"gen_ai.request.model":W.modelId,"gen_ai.request.frequency_penalty":F.frequencyPenalty,"gen_ai.request.max_tokens":F.maxOutputTokens,"gen_ai.request.presence_penalty":F.presencePenalty,"gen_ai.request.stop_sequences":F.stopSequences,"gen_ai.request.temperature":($=F.temperature)!=null?$:void 0,"gen_ai.request.top_k":F.topK,"gen_ai.request.top_p":F.topP}}),tracer:Fe,fn:async Ee=>{var Lt,it,Ut,Dr,zr,nr,ar,lt;const $r=gn(w,ae==null?void 0:ae.providerOptions),Oe=await W.doGenerate({...Cr,tools:pt,toolChoice:ke,responseFormat:await(d==null?void 0:d.responseFormat),prompt:st,providerOptions:$r,abortSignal:i,headers:xe}),gt={id:(it=(Lt=Oe.response)==null?void 0:Lt.id)!=null?it:O(),timestamp:(Dr=(Ut=Oe.response)==null?void 0:Ut.timestamp)!=null?Dr:y(),modelId:(nr=(zr=Oe.response)==null?void 0:zr.modelId)!=null?nr:W.modelId,headers:(ar=Oe.response)==null?void 0:ar.headers,body:(lt=Oe.response)==null?void 0:lt.body};return Ee.setAttributes(await tt({telemetry:p,attributes:{"ai.response.finishReason":Oe.finishReason.unified,"ai.response.text":{output:()=>Ho(Oe.content)},"ai.response.toolCalls":{output:()=>{const ht=Wo(Oe.content);return ht==null?void 0:JSON.stringify(ht)}},"ai.response.id":gt.id,"ai.response.model":gt.modelId,"ai.response.timestamp":gt.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(Oe.providerMetadata),"ai.usage.promptTokens":Oe.usage.inputTokens.total,"ai.usage.completionTokens":Oe.usage.outputTokens.total,"gen_ai.response.finish_reasons":[Oe.finishReason.unified],"gen_ai.response.id":gt.id,"gen_ai.response.model":gt.modelId,"gen_ai.usage.input_tokens":Oe.usage.inputTokens.total,"gen_ai.usage.output_tokens":Oe.usage.outputTokens.total}})),{...Oe,response:gt}}})});const we=await Promise.all(J.content.filter($=>$.type==="tool-call").map($=>Jl({toolCall:$,tools:t,repairToolCall:C,system:n,messages:U}))),Ae={};for(const $ of we){if($.invalid)continue;const Ee=t==null?void 0:t[$.toolName];Ee!=null&&((Ee==null?void 0:Ee.onInputAvailable)!=null&&await Ee.onInputAvailable({input:$.input,toolCallId:$.toolCallId,messages:U,abortSignal:i,experimental_context:z}),await Hl({tool:Ee,toolCall:$,messages:U,experimental_context:z})&&(Ae[$.toolCallId]={type:"tool-approval-request",approvalId:O(),toolCall:$}))}const _e=we.filter($=>$.invalid&&$.dynamic);fe=[];for(const $ of _e)fe.push({type:"tool-error",toolCallId:$.toolCallId,toolName:$.toolName,input:$.input,error:sa($.error),dynamic:!0});pe=we.filter($=>!$.providerExecuted),t!=null&&fe.push(...await Yo({toolCalls:pe.filter($=>!$.invalid&&Ae[$.toolCallId]==null),tools:t,tracer:Fe,telemetry:p,messages:U,abortSignal:i,experimental_context:z}));for(const $ of we){if(!$.providerExecuted)continue;const Ee=t==null?void 0:t[$.toolName];(Ee==null?void 0:Ee.type)==="provider"&&Ee.supportsDeferredResults&&(J.content.some(it=>it.type==="tool-result"&&it.toolCallId===$.toolCallId)||V.set($.toolCallId,{toolName:$.toolName}))}for(const $ of J.content)$.type==="tool-result"&&V.delete($.toolCallId);const At=Xy({content:J.content,toolCalls:we,toolOutputs:fe,toolApprovalRequests:Object.values(Ae),tools:t});ot.push(...await Hn({content:At,tools:t}));const ft=new Wl({content:At,finishReason:J.finishReason.unified,rawFinishReason:J.finishReason.raw,usage:jl(J.usage),warnings:J.warnings,providerMetadata:J.providerMetadata,request:(kr=J.request)!=null?kr:{},response:{...J.response,messages:structuredClone(ot)}});ma({warnings:(dt=J.warnings)!=null?dt:[],provider:W.provider,model:W.modelId}),ne.push(ft),await(x==null?void 0:x(ft))}while((pe.length>0&&fe.length===pe.length||V.size>0)&&!await Xl({stopConditions:L,steps:ne}));zt.setAttributes(await tt({telemetry:p,attributes:{"ai.response.finishReason":J.finishReason.unified,"ai.response.text":{output:()=>Ho(J.content)},"ai.response.toolCalls":{output:()=>{const U=Wo(J.content);return U==null?void 0:JSON.stringify(U)}},"ai.response.providerMetadata":JSON.stringify(J.providerMetadata),"ai.usage.promptTokens":J.usage.inputTokens.total,"ai.usage.completionTokens":J.usage.outputTokens.total}}));const B=ne[ne.length-1],Ke=ne.reduce((U,ae)=>ql(U,ae.usage),{inputTokens:void 0,outputTokens:void 0,totalTokens:void 0,reasoningTokens:void 0,cachedInputTokens:void 0});await(D==null?void 0:D({finishReason:B.finishReason,rawFinishReason:B.rawFinishReason,usage:B.usage,content:B.content,text:B.text,reasoningText:B.reasoningText,reasoning:B.reasoning,files:B.files,sources:B.sources,toolCalls:B.toolCalls,staticToolCalls:B.staticToolCalls,dynamicToolCalls:B.dynamicToolCalls,toolResults:B.toolResults,staticToolResults:B.staticToolResults,dynamicToolResults:B.dynamicToolResults,request:B.request,response:B.response,warnings:B.warnings,providerMetadata:B.providerMetadata,steps:ne,totalUsage:Ke,experimental_context:z}));let N;return B.finishReason==="stop"&&(N=await(d??sn()).parseCompleteOutput({text:B.text},{response:B.response,usage:B.usage,finishReason:B.finishReason})),new Ky({steps:ne,totalUsage:Ke,output:N})}})}catch(zt){throw $l(zt)}}async function Yo({toolCalls:e,tools:t,tracer:r,telemetry:n,messages:a,abortSignal:o,experimental_context:s}){return(await Promise.all(e.map(async l=>ya({toolCall:l,tools:t,tracer:r,telemetry:n,messages:a,abortSignal:o,experimental_context:s})))).filter(l=>l!=null)}var Ky=class{constructor(e){this.steps=e.steps,this._output=e.output,this.totalUsage=e.totalUsage}get finalStep(){return this.steps[this.steps.length-1]}get content(){return this.finalStep.content}get text(){return this.finalStep.text}get files(){return this.finalStep.files}get reasoningText(){return this.finalStep.reasoningText}get reasoning(){return this.finalStep.reasoning}get toolCalls(){return this.finalStep.toolCalls}get staticToolCalls(){return this.finalStep.staticToolCalls}get dynamicToolCalls(){return this.finalStep.dynamicToolCalls}get toolResults(){return this.finalStep.toolResults}get staticToolResults(){return this.finalStep.staticToolResults}get dynamicToolResults(){return this.finalStep.dynamicToolResults}get sources(){return this.finalStep.sources}get finishReason(){return this.finalStep.finishReason}get rawFinishReason(){return this.finalStep.rawFinishReason}get warnings(){return this.finalStep.warnings}get providerMetadata(){return this.finalStep.providerMetadata}get response(){return this.finalStep.response}get request(){return this.finalStep.request}get usage(){return this.finalStep.usage}get experimental_output(){return this.output}get output(){if(this._output==null)throw new pl;return this._output}};function Wo(e){const t=e.filter(r=>r.type==="tool-call");if(t.length!==0)return t.map(r=>({toolCallId:r.toolCallId,toolName:r.toolName,input:r.input}))}function Xy({content:e,toolCalls:t,toolOutputs:r,toolApprovalRequests:n,tools:a}){const o=[];for(const s of e)switch(s.type){case"text":case"reasoning":case"source":o.push(s);break;case"file":{o.push({type:"file",file:new Vl(s),...s.providerMetadata!=null?{providerMetadata:s.providerMetadata}:{}});break}case"tool-call":{o.push(t.find(i=>i.toolCallId===s.toolCallId));break}case"tool-result":{const i=t.find(l=>l.toolCallId===s.toolCallId);if(i==null){const l=a==null?void 0:a[s.toolName];if(!((l==null?void 0:l.type)==="provider"&&l.supportsDeferredResults))throw new Error(`Tool call ${s.toolCallId} not found.`);s.isError?o.push({type:"tool-error",toolCallId:s.toolCallId,toolName:s.toolName,input:void 0,error:s.result,providerExecuted:!0,dynamic:s.dynamic}):o.push({type:"tool-result",toolCallId:s.toolCallId,toolName:s.toolName,input:void 0,output:s.result,providerExecuted:!0,dynamic:s.dynamic});break}s.isError?o.push({type:"tool-error",toolCallId:s.toolCallId,toolName:s.toolName,input:i.input,error:s.result,providerExecuted:!0,dynamic:i.dynamic}):o.push({type:"tool-result",toolCallId:s.toolCallId,toolName:s.toolName,input:i.input,output:s.result,providerExecuted:!0,dynamic:i.dynamic});break}case"tool-approval-request":{const i=t.find(l=>l.toolCallId===s.toolCallId);if(i==null)throw new ha({toolCallId:s.toolCallId,approvalId:s.approvalId});o.push({type:"tool-approval-request",approvalId:s.approvalId,toolCall:i});break}}return[...o,...r,...n]}function hn(e,t){const r=new Headers(e??{});for(const[n,a]of Object.entries(t))r.has(n)||r.set(n,a);return r}function Qy({status:e,statusText:t,headers:r,textStream:n}){return new Response(n.pipeThrough(new TextEncoderStream),{status:e??200,statusText:t,headers:hn(r,{"content-type":"text/plain; charset=utf-8"})})}function Ql({response:e,status:t,statusText:r,headers:n,stream:a}){const o=t??200;r!==void 0?e.writeHead(o,r,n):e.writeHead(o,n);const s=a.getReader();(async()=>{try{for(;;){const{done:l,value:u}=await s.read();if(l)break;e.write(u)||await new Promise(d=>{e.once("drain",d)})}}catch(l){throw l}finally{e.end()}})()}function ev({response:e,status:t,statusText:r,headers:n,textStream:a}){Ql({response:e,status:t,statusText:r,headers:Object.fromEntries(hn(n,{"content-type":"text/plain; charset=utf-8"}).entries()),stream:a.pipeThrough(new TextEncoderStream)})}var eu=class extends TransformStream{constructor(){super({transform(e,t){t.enqueue(`data: ${JSON.stringify(e)}
73
73
 
74
74
  `)},flush(e){e.enqueue(`data: [DONE]
75
75
 
76
- `)}})}},tu={"content-type":"text/event-stream","cache-control":"no-cache",connection:"keep-alive","x-vercel-ai-ui-message-stream":"v1","x-accel-buffering":"no"};function ev({status:e,statusText:t,headers:r,stream:n,consumeSseStream:a}){let o=n.pipeThrough(new eu);if(a){const[s,i]=o.tee();o=s,a({stream:i})}return new Response(o.pipeThrough(new TextEncoderStream),{status:e,statusText:t,headers:hn(r,tu)})}function tv({originalMessages:e,responseMessageId:t}){if(e==null)return;const r=e[e.length-1];return(r==null?void 0:r.role)==="assistant"?r.id:typeof t=="function"?t():t}function rv(e){return e.type.startsWith("data-")}function Yn(e){return e.type.startsWith("tool-")}function nv(e){return e.type==="dynamic-tool"}function av(e){return Yn(e)||nv(e)}function Ko(e){return e.type.split("-").slice(1).join("-")}function ov({lastMessage:e,messageId:t}){return{message:(e==null?void 0:e.role)==="assistant"?e:{id:t,metadata:void 0,role:"assistant",parts:[]},activeTextParts:{},activeReasoningParts:{},partialToolCalls:{}}}function sv({stream:e,messageMetadataSchema:t,dataPartSchemas:r,runUpdateMessageJob:n,onError:a,onToolCall:o,onData:s}){return e.pipeThrough(new TransformStream({async transform(i,l){await n(async({state:u,write:c})=>{var d,p,w,b;function _(m){const O=u.message.parts.filter(av).find(y=>y.toolCallId===m);if(O==null)throw new Error(`no tool invocation found for tool call ${m}`);return O}function I(m){var z;const O=u.message.parts.find(D=>Yn(D)&&D.toolCallId===m.toolCallId),y=m,x=O;O!=null?(O.state=m.state,x.input=y.input,x.output=y.output,x.errorText=y.errorText,x.rawInput=y.rawInput,x.preliminary=y.preliminary,m.title!==void 0&&(x.title=m.title),x.providerExecuted=(z=y.providerExecuted)!=null?z:O.providerExecuted,y.providerMetadata!=null&&O.state==="input-available"&&(O.callProviderMetadata=y.providerMetadata)):u.message.parts.push({type:`tool-${m.toolName}`,toolCallId:m.toolCallId,state:m.state,title:m.title,input:y.input,output:y.output,rawInput:y.rawInput,errorText:y.errorText,providerExecuted:y.providerExecuted,preliminary:y.preliminary,...y.providerMetadata!=null?{callProviderMetadata:y.providerMetadata}:{}})}function P(m){var z,O;const y=u.message.parts.find(F=>F.type==="dynamic-tool"&&F.toolCallId===m.toolCallId),x=m,D=y;y!=null?(y.state=m.state,D.toolName=m.toolName,D.input=x.input,D.output=x.output,D.errorText=x.errorText,D.rawInput=(z=x.rawInput)!=null?z:D.rawInput,D.preliminary=x.preliminary,m.title!==void 0&&(D.title=m.title),D.providerExecuted=(O=x.providerExecuted)!=null?O:y.providerExecuted,x.providerMetadata!=null&&y.state==="input-available"&&(y.callProviderMetadata=x.providerMetadata)):u.message.parts.push({type:"dynamic-tool",toolName:m.toolName,toolCallId:m.toolCallId,state:m.state,input:x.input,output:x.output,errorText:x.errorText,preliminary:x.preliminary,providerExecuted:x.providerExecuted,title:m.title,...x.providerMetadata!=null?{callProviderMetadata:x.providerMetadata}:{}})}async function C(m){if(m!=null){const z=u.message.metadata!=null?gn(u.message.metadata,m):m;t!=null&&await Zn({value:z,schema:t}),u.message.metadata=z}}switch(i.type){case"text-start":{const m={type:"text",text:"",providerMetadata:i.providerMetadata,state:"streaming"};u.activeTextParts[i.id]=m,u.message.parts.push(m),c();break}case"text-delta":{const m=u.activeTextParts[i.id];m.text+=i.delta,m.providerMetadata=(d=i.providerMetadata)!=null?d:m.providerMetadata,c();break}case"text-end":{const m=u.activeTextParts[i.id];m.state="done",m.providerMetadata=(p=i.providerMetadata)!=null?p:m.providerMetadata,delete u.activeTextParts[i.id],c();break}case"reasoning-start":{const m={type:"reasoning",text:"",providerMetadata:i.providerMetadata,state:"streaming"};u.activeReasoningParts[i.id]=m,u.message.parts.push(m),c();break}case"reasoning-delta":{const m=u.activeReasoningParts[i.id];m.text+=i.delta,m.providerMetadata=(w=i.providerMetadata)!=null?w:m.providerMetadata,c();break}case"reasoning-end":{const m=u.activeReasoningParts[i.id];m.providerMetadata=(b=i.providerMetadata)!=null?b:m.providerMetadata,m.state="done",delete u.activeReasoningParts[i.id],c();break}case"file":{u.message.parts.push({type:"file",mediaType:i.mediaType,url:i.url}),c();break}case"source-url":{u.message.parts.push({type:"source-url",sourceId:i.sourceId,url:i.url,title:i.title,providerMetadata:i.providerMetadata}),c();break}case"source-document":{u.message.parts.push({type:"source-document",sourceId:i.sourceId,mediaType:i.mediaType,title:i.title,filename:i.filename,providerMetadata:i.providerMetadata}),c();break}case"tool-input-start":{const m=u.message.parts.filter(Yn);u.partialToolCalls[i.toolCallId]={text:"",toolName:i.toolName,index:m.length,dynamic:i.dynamic,title:i.title},i.dynamic?P({toolCallId:i.toolCallId,toolName:i.toolName,state:"input-streaming",input:void 0,providerExecuted:i.providerExecuted,title:i.title}):I({toolCallId:i.toolCallId,toolName:i.toolName,state:"input-streaming",input:void 0,providerExecuted:i.providerExecuted,title:i.title}),c();break}case"tool-input-delta":{const m=u.partialToolCalls[i.toolCallId];m.text+=i.inputTextDelta;const{value:z}=await Rr(m.text);m.dynamic?P({toolCallId:i.toolCallId,toolName:m.toolName,state:"input-streaming",input:z,title:m.title}):I({toolCallId:i.toolCallId,toolName:m.toolName,state:"input-streaming",input:z,title:m.title}),c();break}case"tool-input-available":{i.dynamic?P({toolCallId:i.toolCallId,toolName:i.toolName,state:"input-available",input:i.input,providerExecuted:i.providerExecuted,providerMetadata:i.providerMetadata,title:i.title}):I({toolCallId:i.toolCallId,toolName:i.toolName,state:"input-available",input:i.input,providerExecuted:i.providerExecuted,providerMetadata:i.providerMetadata,title:i.title}),c(),o&&!i.providerExecuted&&await o({toolCall:i});break}case"tool-input-error":{i.dynamic?P({toolCallId:i.toolCallId,toolName:i.toolName,state:"output-error",input:i.input,errorText:i.errorText,providerExecuted:i.providerExecuted,providerMetadata:i.providerMetadata}):I({toolCallId:i.toolCallId,toolName:i.toolName,state:"output-error",input:void 0,rawInput:i.input,errorText:i.errorText,providerExecuted:i.providerExecuted,providerMetadata:i.providerMetadata}),c();break}case"tool-approval-request":{const m=_(i.toolCallId);m.state="approval-requested",m.approval={id:i.approvalId},c();break}case"tool-output-denied":{const m=_(i.toolCallId);m.state="output-denied",c();break}case"tool-output-available":{const m=_(i.toolCallId);m.type==="dynamic-tool"?P({toolCallId:i.toolCallId,toolName:m.toolName,state:"output-available",input:m.input,output:i.output,preliminary:i.preliminary,providerExecuted:i.providerExecuted,title:m.title}):I({toolCallId:i.toolCallId,toolName:Ko(m),state:"output-available",input:m.input,output:i.output,providerExecuted:i.providerExecuted,preliminary:i.preliminary,title:m.title}),c();break}case"tool-output-error":{const m=_(i.toolCallId);m.type==="dynamic-tool"?P({toolCallId:i.toolCallId,toolName:m.toolName,state:"output-error",input:m.input,errorText:i.errorText,providerExecuted:i.providerExecuted,title:m.title}):I({toolCallId:i.toolCallId,toolName:Ko(m),state:"output-error",input:m.input,rawInput:m.rawInput,errorText:i.errorText,providerExecuted:i.providerExecuted,title:m.title}),c();break}case"start-step":{u.message.parts.push({type:"step-start"});break}case"finish-step":{u.activeTextParts={},u.activeReasoningParts={};break}case"start":{i.messageId!=null&&(u.message.id=i.messageId),await C(i.messageMetadata),(i.messageId!=null||i.messageMetadata!=null)&&c();break}case"finish":{i.finishReason!=null&&(u.finishReason=i.finishReason),await C(i.messageMetadata),i.messageMetadata!=null&&c();break}case"message-metadata":{await C(i.messageMetadata),i.messageMetadata!=null&&c();break}case"error":{a==null||a(new Error(i.errorText));break}default:if(rv(i)){(r==null?void 0:r[i.type])!=null&&await Zn({value:i.data,schema:r[i.type]});const m=i;if(m.transient){s==null||s(m);break}const z=m.id!=null?u.message.parts.find(O=>m.type===O.type&&m.id===O.id):void 0;z!=null?z.data=m.data:u.message.parts.push(m),s==null||s(m),c()}}l.enqueue(i)})}}))}function iv({messageId:e,originalMessages:t=[],onFinish:r,onError:n,stream:a}){let o=t==null?void 0:t[t.length-1];(o==null?void 0:o.role)!=="assistant"?o=void 0:e=o.id;let s=!1;const i=a.pipeThrough(new TransformStream({transform(p,w){if(p.type==="start"){const b=p;b.messageId==null&&e!=null&&(b.messageId=e)}p.type==="abort"&&(s=!0),w.enqueue(p)}}));if(r==null)return i;const l=ov({lastMessage:o?structuredClone(o):void 0,messageId:e??""}),u=async p=>{await p({state:l,write:()=>{}})};let c=!1;const d=async()=>{if(c||!r)return;c=!0;const p=l.message.id===(o==null?void 0:o.id);await r({isAborted:s,isContinuation:p,responseMessage:l.message,messages:[...p?t.slice(0,-1):t,l.message],finishReason:l.finishReason})};return sv({stream:i,runUpdateMessageJob:u,onError:n}).pipeThrough(new TransformStream({transform(p,w){w.enqueue(p)},async cancel(){await d()},async flush(){await d()}}))}function lv({response:e,status:t,statusText:r,headers:n,stream:a,consumeSseStream:o}){let s=a.pipeThrough(new eu);if(o){const[i,l]=s.tee();s=i,o({stream:l})}Ql({response:e,status:t,statusText:r,headers:Object.fromEntries(hn(n,tu).entries()),stream:s.pipeThrough(new TextEncoderStream)})}function qr(e){const t=e.pipeThrough(new TransformStream);return t[Symbol.asyncIterator]=function(){const r=this.getReader();let n=!1;async function a(o){var s;n=!0;try{o&&await((s=r.cancel)==null?void 0:s.call(r))}finally{try{r.releaseLock()}catch{}}}return{async next(){if(n)return{done:!0,value:void 0};const{done:o,value:s}=await r.read();return o?(await a(!0),{done:!0,value:void 0}):{done:!1,value:s}},async return(){return await a(!0),{done:!0,value:void 0}},async throw(o){throw await a(!0),o}}},t}async function uv({stream:e,onError:t}){const r=e.getReader();try{for(;;){const{done:n}=await r.read();if(n)break}}catch(n){t==null||t(n)}finally{r.releaseLock()}}function Xo(){let e,t;return{promise:new Promise((n,a)=>{e=n,t=a}),resolve:e,reject:t}}function cv(){let e=[],t=null,r=!1,n=Xo();const a=()=>{r=!0,n.resolve(),e.forEach(s=>s.cancel()),e=[],t==null||t.close()},o=async()=>{if(r&&e.length===0){t==null||t.close();return}if(e.length===0)return n=Xo(),await n.promise,o();try{const{value:s,done:i}=await e[0].read();i?(e.shift(),e.length===0&&r?t==null||t.close():await o()):t==null||t.enqueue(s)}catch(s){t==null||t.error(s),e.shift(),a()}};return{stream:new ReadableStream({start(s){t=s},pull:o,async cancel(){for(const s of e)await s.cancel();e=[],r=!0}}),addStream:s=>{if(r)throw new Error("Cannot add inner stream: outer stream is closed");e.push(s.getReader()),n.resolve()},close:()=>{r=!0,n.resolve(),e.length===0&&(t==null||t.close())},terminate:a}}function dv(){var e,t;return(t=(e=globalThis==null?void 0:globalThis.performance)==null?void 0:e.now())!=null?t:Date.now()}function pv({tools:e,generatorStream:t,tracer:r,telemetry:n,system:a,messages:o,abortSignal:s,repairToolCall:i,experimental_context:l,generateId:u}){let c=null;const d=new ReadableStream({start(m){c=m}}),p=new Set,w=new Map,b=new Map;let _=!1,I;function P(){_&&p.size===0&&(I!=null&&c.enqueue(I),c.close())}const C=new TransformStream({async transform(m,z){const O=m.type;switch(O){case"stream-start":case"text-start":case"text-delta":case"text-end":case"reasoning-start":case"reasoning-delta":case"reasoning-end":case"tool-input-start":case"tool-input-delta":case"tool-input-end":case"source":case"response-metadata":case"error":case"raw":{z.enqueue(m);break}case"file":{z.enqueue({type:"file",file:new qy({data:m.data,mediaType:m.mediaType})});break}case"finish":{I={type:"finish",finishReason:m.finishReason.unified,rawFinishReason:m.finishReason.raw,usage:jl(m.usage),providerMetadata:m.providerMetadata};break}case"tool-approval-request":{const y=b.get(m.toolCallId);if(y==null){c.enqueue({type:"error",error:new ha({toolCallId:m.toolCallId,approvalId:m.approvalId})});break}z.enqueue({type:"tool-approval-request",approvalId:m.approvalId,toolCall:y});break}case"tool-call":{try{const y=await Jl({toolCall:m,tools:e,repairToolCall:i,system:a,messages:o});if(b.set(y.toolCallId,y),z.enqueue(y),y.invalid){c.enqueue({type:"tool-error",toolCallId:y.toolCallId,toolName:y.toolName,input:y.input,error:sa(y.error),dynamic:!0,title:y.title});break}const x=e==null?void 0:e[y.toolName];if(x==null)break;if(x.onInputAvailable!=null&&await x.onInputAvailable({input:y.input,toolCallId:y.toolCallId,messages:o,abortSignal:s,experimental_context:l}),await Hl({tool:x,toolCall:y,messages:o,experimental_context:l})){c.enqueue({type:"tool-approval-request",approvalId:u(),toolCall:y});break}if(w.set(y.toolCallId,y.input),x.execute!=null&&y.providerExecuted!==!0){const D=u();p.add(D),ya({toolCall:y,tools:e,tracer:r,telemetry:n,messages:o,abortSignal:s,experimental_context:l,onPreliminaryToolResult:F=>{c.enqueue(F)}}).then(F=>{c.enqueue(F)}).catch(F=>{c.enqueue({type:"error",error:F})}).finally(()=>{p.delete(D),P()})}}catch(y){c.enqueue({type:"error",error:y})}break}case"tool-result":{const y=m.toolName;m.isError?c.enqueue({type:"tool-error",toolCallId:m.toolCallId,toolName:y,input:w.get(m.toolCallId),providerExecuted:!0,error:m.result,dynamic:m.dynamic}):z.enqueue({type:"tool-result",toolCallId:m.toolCallId,toolName:y,input:w.get(m.toolCallId),output:m.result,providerExecuted:!0,dynamic:m.dynamic});break}default:{const y=O;throw new Error(`Unhandled chunk type: ${y}`)}}},flush(){_=!0,P()}});return new ReadableStream({async start(m){return Promise.all([t.pipeThrough(C).pipeTo(new WritableStream({write(z){m.enqueue(z)},close(){}})),d.pipeTo(new WritableStream({write(z){m.enqueue(z)},close(){m.close()}}))])}})}var fv=xr({prefix:"aitxt",size:24});function gv({model:e,tools:t,toolChoice:r,system:n,prompt:a,messages:o,maxRetries:s,abortSignal:i,headers:l,stopWhen:u=Kl(1),experimental_output:c,output:d=c,experimental_telemetry:p,prepareStep:w,providerOptions:b,experimental_activeTools:_,activeTools:I=_,experimental_repairToolCall:P,experimental_transform:C,experimental_download:m,includeRawChunks:z=!1,onChunk:O,onError:y=({error:xe})=>{console.error(xe)},onFinish:x,onAbort:D,onStepFinish:F,experimental_context:se,_internal:{now:L=dv,generateId:X=fv,currentDate:Q=()=>new Date}={},...le}){return new mv({model:on(e),telemetry:p,headers:l,settings:le,maxRetries:s,abortSignal:i,system:n,prompt:a,messages:o,tools:t,toolChoice:r,transforms:Tr(C),activeTools:I,repairToolCall:P,stopConditions:Tr(u),output:d,providerOptions:b,prepareStep:w,includeRawChunks:z,onChunk:O,onError:y,onFinish:x,onAbort:D,onStepFinish:F,now:L,currentDate:Q,generateId:X,experimental_context:se,download:m})}function hv(e){let t,r="",n="",a,o="";function s({controller:i,partialOutput:l=void 0}){i.enqueue({part:{type:"text-delta",id:t,text:n,providerMetadata:a},partialOutput:l}),n=""}return new TransformStream({async transform(i,l){var u;if(i.type==="finish-step"&&n.length>0&&s({controller:l}),i.type!=="text-delta"&&i.type!=="text-start"&&i.type!=="text-end"){l.enqueue({part:i,partialOutput:void 0});return}if(t==null)t=i.id;else if(i.id!==t){l.enqueue({part:i,partialOutput:void 0});return}if(i.type==="text-start"){l.enqueue({part:i,partialOutput:void 0});return}if(i.type==="text-end"){n.length>0&&s({controller:l}),l.enqueue({part:i,partialOutput:void 0});return}r+=i.text,n+=i.text,a=(u=i.providerMetadata)!=null?u:a;const c=await e.parsePartialOutput({text:r});if(c!==void 0){const d=JSON.stringify(c.partial);d!==o&&(s({controller:l,partialOutput:c.partial}),o=d)}}})}var mv=class{constructor({model:e,telemetry:t,headers:r,settings:n,maxRetries:a,abortSignal:o,system:s,prompt:i,messages:l,tools:u,toolChoice:c,transforms:d,activeTools:p,repairToolCall:w,stopConditions:b,output:_,providerOptions:I,prepareStep:P,includeRawChunks:C,now:m,currentDate:z,generateId:O,onChunk:y,onError:x,onFinish:D,onAbort:F,onStepFinish:se,experimental_context:L,download:X}){this._totalUsage=new lr,this._finishReason=new lr,this._rawFinishReason=new lr,this._steps=new lr,this.outputSpecification=_,this.includeRawChunks=C,this.tools=u;let Q,le=[];const xe=[];let Te,ct,Fe,zt={},$t=[];const Ce=[],Mt=new Map;let Ft,nt={},at={};const kr=new TransformStream({async transform(pe,fe){var ne,V,B,Ke;fe.enqueue(pe);const{part:N}=pe;if((N.type==="text-delta"||N.type==="reasoning-delta"||N.type==="source"||N.type==="tool-call"||N.type==="tool-result"||N.type==="tool-input-start"||N.type==="tool-input-delta"||N.type==="raw")&&await(y==null?void 0:y({chunk:N})),N.type==="error"&&await x({error:$l(N.error)}),N.type==="text-start"&&(nt[N.id]={type:"text",text:"",providerMetadata:N.providerMetadata},le.push(nt[N.id])),N.type==="text-delta"){const U=nt[N.id];if(U==null){fe.enqueue({part:{type:"error",error:`text part ${N.id} not found`},partialOutput:void 0});return}U.text+=N.text,U.providerMetadata=(ne=N.providerMetadata)!=null?ne:U.providerMetadata}if(N.type==="text-end"){const U=nt[N.id];if(U==null){fe.enqueue({part:{type:"error",error:`text part ${N.id} not found`},partialOutput:void 0});return}U.providerMetadata=(V=N.providerMetadata)!=null?V:U.providerMetadata,delete nt[N.id]}if(N.type==="reasoning-start"&&(at[N.id]={type:"reasoning",text:"",providerMetadata:N.providerMetadata},le.push(at[N.id])),N.type==="reasoning-delta"){const U=at[N.id];if(U==null){fe.enqueue({part:{type:"error",error:`reasoning part ${N.id} not found`},partialOutput:void 0});return}U.text+=N.text,U.providerMetadata=(B=N.providerMetadata)!=null?B:U.providerMetadata}if(N.type==="reasoning-end"){const U=at[N.id];if(U==null){fe.enqueue({part:{type:"error",error:`reasoning part ${N.id} not found`},partialOutput:void 0});return}U.providerMetadata=(Ke=N.providerMetadata)!=null?Ke:U.providerMetadata,delete at[N.id]}if(N.type==="file"&&le.push({type:"file",file:N.file}),N.type==="source"&&le.push(N),N.type==="tool-call"&&le.push(N),N.type==="tool-result"&&!N.preliminary&&le.push(N),N.type==="tool-approval-request"&&le.push(N),N.type==="tool-error"&&le.push(N),N.type==="start-step"&&(le=[],at={},nt={},zt=N.request,$t=N.warnings),N.type==="finish-step"){const U=await Hn({content:le,tools:u}),ae=new Wl({content:le,finishReason:N.finishReason,rawFinishReason:N.rawFinishReason,usage:N.usage,warnings:$t,request:zt,response:{...N.response,messages:[...xe,...U]},providerMetadata:N.providerMetadata});await(se==null?void 0:se(ae)),ma({warnings:$t,provider:e.provider,model:e.modelId}),Ce.push(ae),xe.push(...U),Q.resolve()}N.type==="finish"&&(Fe=N.totalUsage,Te=N.finishReason,ct=N.rawFinishReason)},async flush(pe){try{if(Ce.length===0){const B=new pl({message:"No output generated. Check the stream for errors."});J._finishReason.reject(B),J._rawFinishReason.reject(B),J._totalUsage.reject(B),J._steps.reject(B);return}const fe=Te??"other",ne=Fe??Dn();J._finishReason.resolve(fe),J._rawFinishReason.resolve(ct),J._totalUsage.resolve(ne),J._steps.resolve(Ce);const V=Ce[Ce.length-1];await(D==null?void 0:D({finishReason:V.finishReason,rawFinishReason:V.rawFinishReason,totalUsage:ne,usage:V.usage,content:V.content,text:V.text,reasoningText:V.reasoningText,reasoning:V.reasoning,files:V.files,sources:V.sources,toolCalls:V.toolCalls,staticToolCalls:V.staticToolCalls,dynamicToolCalls:V.dynamicToolCalls,toolResults:V.toolResults,staticToolResults:V.staticToolResults,dynamicToolResults:V.dynamicToolResults,request:V.request,response:V.response,warnings:V.warnings,providerMetadata:V.providerMetadata,steps:Ce,experimental_context:L})),Ft.setAttributes(await tt({telemetry:t,attributes:{"ai.response.finishReason":fe,"ai.response.text":{output:()=>V.text},"ai.response.toolCalls":{output:()=>{var B;return(B=V.toolCalls)!=null&&B.length?JSON.stringify(V.toolCalls):void 0}},"ai.response.providerMetadata":JSON.stringify(V.providerMetadata),"ai.usage.inputTokens":ne.inputTokens,"ai.usage.outputTokens":ne.outputTokens,"ai.usage.totalTokens":ne.totalTokens,"ai.usage.reasoningTokens":ne.reasoningTokens,"ai.usage.cachedInputTokens":ne.cachedInputTokens}}))}catch(fe){pe.error(fe)}finally{Ft.end()}}}),dt=cv();this.addStream=dt.addStream,this.closeStream=dt.close;const tr=dt.stream.getReader();let ot=new ReadableStream({async start(pe){pe.enqueue({type:"start"})},async pull(pe){function fe(){F==null||F({steps:Ce}),pe.enqueue({type:"abort"}),pe.close()}try{const{done:ne,value:V}=await tr.read();if(ne){pe.close();return}if(o!=null&&o.aborted){fe();return}pe.enqueue(V)}catch(ne){Pt(ne)&&(o!=null&&o.aborted)?fe():pe.error(ne)}},cancel(pe){return dt.stream.cancel(pe)}});for(const pe of d)ot=ot.pipeThrough(pe({tools:u,stopStream(){dt.terminate()}}));this.baseStream=ot.pipeThrough(hv(_??sn())).pipeThrough(kr);const{maxRetries:Pr,retry:rr}=Gl({maxRetries:a,abortSignal:o}),St=Fl(t),Ze=Vn(n),Cr=Ml({model:e,telemetry:t,headers:r,settings:{...Ze,maxRetries:Pr}}),J=this;Ir({name:"ai.streamText",attributes:tt({telemetry:t,attributes:{...br({operationId:"ai.streamText",telemetry:t}),...Cr,"ai.prompt":{input:()=>JSON.stringify({system:s,prompt:i,messages:l})}}}),tracer:St,endWhenDone:!1,fn:async pe=>{Ft=pe;const fe=await zl({system:s,prompt:i,messages:l}),ne=fe.messages,V=[],{approvedToolApprovals:B,deniedToolApprovals:Ke}=Bl({messages:ne});if(Ke.length>0||B.length>0){const U=[...B,...Ke].filter(we=>we.toolCall.providerExecuted),ae=B.filter(we=>!we.toolCall.providerExecuted),W=Ke.filter(we=>!we.toolCall.providerExecuted),st=Ke.filter(we=>we.toolCall.providerExecuted);let ke;const pt=new ReadableStream({start(we){ke=we}});J.addStream(pt);try{for(const Ae of[...W,...st])ke==null||ke.enqueue({type:"tool-output-denied",toolCallId:Ae.toolCall.toolCallId,toolName:Ae.toolCall.toolName});const we=[];if(await Promise.all(ae.map(async Ae=>{const _e=await ya({toolCall:Ae.toolCall,tools:u,tracer:St,telemetry:t,messages:ne,abortSignal:o,experimental_context:L,onPreliminaryToolResult:At=>{ke==null||ke.enqueue(At)}});_e!=null&&(ke==null||ke.enqueue(_e),we.push(_e))})),U.length>0&&V.push({role:"tool",content:U.map(Ae=>({type:"tool-approval-response",approvalId:Ae.approvalResponse.approvalId,approved:Ae.approvalResponse.approved,reason:Ae.approvalResponse.reason,providerExecuted:!0}))}),we.length>0||W.length>0){const Ae=[];for(const _e of we)Ae.push({type:"tool-result",toolCallId:_e.toolCallId,toolName:_e.toolName,output:await fr({toolCallId:_e.toolCallId,input:_e.input,tool:u==null?void 0:u[_e.toolName],output:_e.type==="tool-result"?_e.output:_e.error,errorMode:_e.type==="tool-error"?"json":"none"})});for(const _e of W)Ae.push({type:"tool-result",toolCallId:_e.toolCall.toolCallId,toolName:_e.toolCall.toolName,output:{type:"execution-denied",reason:_e.approvalResponse.reason}});V.push({role:"tool",content:Ae})}}finally{ke==null||ke.close()}}xe.push(...V);async function N({currentStep:U,responseMessages:ae,usage:W}){var st,ke,pt,we,Ae,_e;const At=J.includeRawChunks;Q=new lr;const ft=[...ne,...ae],$=await(P==null?void 0:P({model:e,steps:Ce,stepNumber:Ce.length,messages:ft,experimental_context:L})),Ee=on((st=$==null?void 0:$.model)!=null?st:e),Lt=await Rl({prompt:{system:(ke=$==null?void 0:$.system)!=null?ke:fe.system,messages:(pt=$==null?void 0:$.messages)!=null?pt:ft},supportedUrls:await Ee.supportedUrls,download:X}),{toolChoice:it,tools:Ut}=await kl({tools:u,toolChoice:(we=$==null?void 0:$.toolChoice)!=null?we:c,activeTools:(Ae=$==null?void 0:$.activeTools)!=null?Ae:p});L=(_e=$==null?void 0:$.experimental_context)!=null?_e:L;const Dr=gn(I,$==null?void 0:$.providerOptions),{result:{stream:zr,response:nr,request:ar},doStreamSpan:lt,startTimestampMs:$r}=await rr(()=>Ir({name:"ai.streamText.doStream",attributes:tt({telemetry:t,attributes:{...br({operationId:"ai.streamText.doStream",telemetry:t}),...Cr,"ai.model.provider":Ee.provider,"ai.model.id":Ee.modelId,"ai.prompt.messages":{input:()=>Ul(Lt)},"ai.prompt.tools":{input:()=>Ut==null?void 0:Ut.map(M=>JSON.stringify(M))},"ai.prompt.toolChoice":{input:()=>it!=null?JSON.stringify(it):void 0},"gen_ai.system":Ee.provider,"gen_ai.request.model":Ee.modelId,"gen_ai.request.frequency_penalty":Ze.frequencyPenalty,"gen_ai.request.max_tokens":Ze.maxOutputTokens,"gen_ai.request.presence_penalty":Ze.presencePenalty,"gen_ai.request.stop_sequences":Ze.stopSequences,"gen_ai.request.temperature":Ze.temperature,"gen_ai.request.top_k":Ze.topK,"gen_ai.request.top_p":Ze.topP}}),tracer:St,endWhenDone:!1,fn:async M=>({startTimestampMs:m(),doStreamSpan:M,result:await Ee.doStream({...Ze,tools:Ut,toolChoice:it,responseFormat:await(_==null?void 0:_.responseFormat),prompt:Lt,providerOptions:Dr,abortSignal:o,headers:r,includeRawChunks:At})})})),Oe=pv({tools:u,generatorStream:zr,tracer:St,telemetry:t,system:s,messages:ft,repairToolCall:w,abortSignal:o,experimental_context:L,generateId:O}),gt=ar??{},ht=[],or=[];let mn;const yn={};let jt="other",vn,Ve=Dn(),wn,_a=!0,Xe={id:O(),timestamp:z(),modelId:e.modelId},Ta="";J.addStream(Oe.pipeThrough(new TransformStream({async transform(M,Re){var sr,ir,Mr,Ne,qt;if(M.type==="stream-start"){mn=M.warnings;return}if(_a){const be=m()-$r;_a=!1,lt.addEvent("ai.stream.firstChunk",{"ai.response.msToFirstChunk":be}),lt.setAttributes({"ai.response.msToFirstChunk":be}),Re.enqueue({type:"start-step",request:gt,warnings:mn??[]})}const _n=M.type;switch(_n){case"tool-approval-request":case"text-start":case"text-end":{Re.enqueue(M);break}case"text-delta":{M.delta.length>0&&(Re.enqueue({type:"text-delta",id:M.id,text:M.delta,providerMetadata:M.providerMetadata}),Ta+=M.delta);break}case"reasoning-start":case"reasoning-end":{Re.enqueue(M);break}case"reasoning-delta":{Re.enqueue({type:"reasoning-delta",id:M.id,text:M.delta,providerMetadata:M.providerMetadata});break}case"tool-call":{Re.enqueue(M),ht.push(M);break}case"tool-result":{Re.enqueue(M),M.preliminary||or.push(M);break}case"tool-error":{Re.enqueue(M),or.push(M);break}case"response-metadata":{Xe={id:(sr=M.id)!=null?sr:Xe.id,timestamp:(ir=M.timestamp)!=null?ir:Xe.timestamp,modelId:(Mr=M.modelId)!=null?Mr:Xe.modelId};break}case"finish":{Ve=M.usage,jt=M.finishReason,vn=M.rawFinishReason,wn=M.providerMetadata;const be=m()-$r;lt.addEvent("ai.stream.finish"),lt.setAttributes({"ai.response.msToFinish":be,"ai.response.avgOutputTokensPerSecond":1e3*((Ne=Ve.outputTokens)!=null?Ne:0)/be});break}case"file":{Re.enqueue(M);break}case"source":{Re.enqueue(M);break}case"tool-input-start":{yn[M.id]=M.toolName;const be=u==null?void 0:u[M.toolName];(be==null?void 0:be.onInputStart)!=null&&await be.onInputStart({toolCallId:M.id,messages:ft,abortSignal:o,experimental_context:L}),Re.enqueue({...M,dynamic:(qt=M.dynamic)!=null?qt:(be==null?void 0:be.type)==="dynamic",title:be==null?void 0:be.title});break}case"tool-input-end":{delete yn[M.id],Re.enqueue(M);break}case"tool-input-delta":{const be=yn[M.id],Tn=u==null?void 0:u[be];(Tn==null?void 0:Tn.onInputDelta)!=null&&await Tn.onInputDelta({inputTextDelta:M.delta,toolCallId:M.id,messages:ft,abortSignal:o,experimental_context:L}),Re.enqueue(M);break}case"error":{Re.enqueue(M),jt="error";break}case"raw":{At&&Re.enqueue(M);break}default:{const be=_n;throw new Error(`Unknown chunk type: ${be}`)}}},async flush(M){const Re=ht.length>0?JSON.stringify(ht):void 0;try{lt.setAttributes(await tt({telemetry:t,attributes:{"ai.response.finishReason":jt,"ai.response.text":{output:()=>Ta},"ai.response.toolCalls":{output:()=>Re},"ai.response.id":Xe.id,"ai.response.model":Xe.modelId,"ai.response.timestamp":Xe.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(wn),"ai.usage.inputTokens":Ve.inputTokens,"ai.usage.outputTokens":Ve.outputTokens,"ai.usage.totalTokens":Ve.totalTokens,"ai.usage.reasoningTokens":Ve.reasoningTokens,"ai.usage.cachedInputTokens":Ve.cachedInputTokens,"gen_ai.response.finish_reasons":[jt],"gen_ai.response.id":Xe.id,"gen_ai.response.model":Xe.modelId,"gen_ai.usage.input_tokens":Ve.inputTokens,"gen_ai.usage.output_tokens":Ve.outputTokens}}))}catch{}finally{lt.end()}M.enqueue({type:"finish-step",finishReason:jt,rawFinishReason:vn,usage:Ve,providerMetadata:wn,response:{...Xe,headers:nr==null?void 0:nr.headers}});const sr=ql(W,Ve);await Q.promise;const ir=ht.filter(Ne=>Ne.providerExecuted!==!0),Mr=or.filter(Ne=>Ne.providerExecuted!==!0);for(const Ne of ht){if(Ne.providerExecuted!==!0)continue;const qt=u==null?void 0:u[Ne.toolName];(qt==null?void 0:qt.type)==="provider"&&qt.supportsDeferredResults&&(or.some(be=>be.type==="tool-result"&&be.toolCallId===Ne.toolCallId)||Mt.set(Ne.toolCallId,{toolName:Ne.toolName}))}for(const Ne of or)Ne.type==="tool-result"&&Mt.delete(Ne.toolCallId);if((ir.length>0&&Mr.length===ir.length||Mt.size>0)&&!await Xl({stopConditions:b,steps:Ce})){ae.push(...await Hn({content:Ce[Ce.length-1].content,tools:u}));try{await N({currentStep:U+1,responseMessages:ae,usage:sr})}catch(Ne){M.enqueue({type:"error",error:Ne}),J.closeStream()}}else M.enqueue({type:"finish",finishReason:jt,rawFinishReason:vn,totalUsage:sr}),J.closeStream()}})))}await N({currentStep:0,responseMessages:V,usage:Dn()})}}).catch(pe=>{J.addStream(new ReadableStream({start(fe){fe.enqueue({type:"error",error:pe}),fe.close()}})),J.closeStream()})}get steps(){return this.consumeStream(),this._steps.promise}get finalStep(){return this.steps.then(e=>e[e.length-1])}get content(){return this.finalStep.then(e=>e.content)}get warnings(){return this.finalStep.then(e=>e.warnings)}get providerMetadata(){return this.finalStep.then(e=>e.providerMetadata)}get text(){return this.finalStep.then(e=>e.text)}get reasoningText(){return this.finalStep.then(e=>e.reasoningText)}get reasoning(){return this.finalStep.then(e=>e.reasoning)}get sources(){return this.finalStep.then(e=>e.sources)}get files(){return this.finalStep.then(e=>e.files)}get toolCalls(){return this.finalStep.then(e=>e.toolCalls)}get staticToolCalls(){return this.finalStep.then(e=>e.staticToolCalls)}get dynamicToolCalls(){return this.finalStep.then(e=>e.dynamicToolCalls)}get toolResults(){return this.finalStep.then(e=>e.toolResults)}get staticToolResults(){return this.finalStep.then(e=>e.staticToolResults)}get dynamicToolResults(){return this.finalStep.then(e=>e.dynamicToolResults)}get usage(){return this.finalStep.then(e=>e.usage)}get request(){return this.finalStep.then(e=>e.request)}get response(){return this.finalStep.then(e=>e.response)}get totalUsage(){return this.consumeStream(),this._totalUsage.promise}get finishReason(){return this.consumeStream(),this._finishReason.promise}get rawFinishReason(){return this.consumeStream(),this._rawFinishReason.promise}teeStream(){const[e,t]=this.baseStream.tee();return this.baseStream=t,e}get textStream(){return qr(this.teeStream().pipeThrough(new TransformStream({transform({part:e},t){e.type==="text-delta"&&t.enqueue(e.text)}})))}get fullStream(){return qr(this.teeStream().pipeThrough(new TransformStream({transform({part:e},t){t.enqueue(e)}})))}async consumeStream(e){var t;try{await uv({stream:this.fullStream,onError:e==null?void 0:e.onError})}catch(r){(t=e==null?void 0:e.onError)==null||t.call(e,r)}}get experimental_partialOutputStream(){return this.partialOutputStream}get partialOutputStream(){return qr(this.teeStream().pipeThrough(new TransformStream({transform({partialOutput:e},t){e!=null&&t.enqueue(e)}})))}get output(){return this.finalStep.then(e=>{var t;return((t=this.outputSpecification)!=null?t:sn()).parseCompleteOutput({text:e.text},{response:e.response,usage:e.usage,finishReason:e.finishReason})})}toUIMessageStream({originalMessages:e,generateMessageId:t,onFinish:r,messageMetadata:n,sendReasoning:a=!0,sendSources:o=!1,sendStart:s=!0,sendFinish:i=!0,onError:l=Kt}={}){const u=t!=null?tv({originalMessages:e,responseMessageId:t}):void 0,c=p=>{var w;const b=(w=this.tools)==null?void 0:w[p.toolName];return b==null?p.dynamic:(b==null?void 0:b.type)==="dynamic"?!0:void 0},d=this.fullStream.pipeThrough(new TransformStream({transform:async(p,w)=>{const b=n==null?void 0:n({part:p}),_=p.type;switch(_){case"text-start":{w.enqueue({type:"text-start",id:p.id,...p.providerMetadata!=null?{providerMetadata:p.providerMetadata}:{}});break}case"text-delta":{w.enqueue({type:"text-delta",id:p.id,delta:p.text,...p.providerMetadata!=null?{providerMetadata:p.providerMetadata}:{}});break}case"text-end":{w.enqueue({type:"text-end",id:p.id,...p.providerMetadata!=null?{providerMetadata:p.providerMetadata}:{}});break}case"reasoning-start":{w.enqueue({type:"reasoning-start",id:p.id,...p.providerMetadata!=null?{providerMetadata:p.providerMetadata}:{}});break}case"reasoning-delta":{a&&w.enqueue({type:"reasoning-delta",id:p.id,delta:p.text,...p.providerMetadata!=null?{providerMetadata:p.providerMetadata}:{}});break}case"reasoning-end":{w.enqueue({type:"reasoning-end",id:p.id,...p.providerMetadata!=null?{providerMetadata:p.providerMetadata}:{}});break}case"file":{w.enqueue({type:"file",mediaType:p.file.mediaType,url:`data:${p.file.mediaType};base64,${p.file.base64}`});break}case"source":{o&&p.sourceType==="url"&&w.enqueue({type:"source-url",sourceId:p.id,url:p.url,title:p.title,...p.providerMetadata!=null?{providerMetadata:p.providerMetadata}:{}}),o&&p.sourceType==="document"&&w.enqueue({type:"source-document",sourceId:p.id,mediaType:p.mediaType,title:p.title,filename:p.filename,...p.providerMetadata!=null?{providerMetadata:p.providerMetadata}:{}});break}case"tool-input-start":{const I=c(p);w.enqueue({type:"tool-input-start",toolCallId:p.id,toolName:p.toolName,...p.providerExecuted!=null?{providerExecuted:p.providerExecuted}:{},...I!=null?{dynamic:I}:{},...p.title!=null?{title:p.title}:{}});break}case"tool-input-delta":{w.enqueue({type:"tool-input-delta",toolCallId:p.id,inputTextDelta:p.delta});break}case"tool-call":{const I=c(p);p.invalid?w.enqueue({type:"tool-input-error",toolCallId:p.toolCallId,toolName:p.toolName,input:p.input,...p.providerExecuted!=null?{providerExecuted:p.providerExecuted}:{},...p.providerMetadata!=null?{providerMetadata:p.providerMetadata}:{},...I!=null?{dynamic:I}:{},errorText:l(p.error),...p.title!=null?{title:p.title}:{}}):w.enqueue({type:"tool-input-available",toolCallId:p.toolCallId,toolName:p.toolName,input:p.input,...p.providerExecuted!=null?{providerExecuted:p.providerExecuted}:{},...p.providerMetadata!=null?{providerMetadata:p.providerMetadata}:{},...I!=null?{dynamic:I}:{},...p.title!=null?{title:p.title}:{}});break}case"tool-approval-request":{w.enqueue({type:"tool-approval-request",approvalId:p.approvalId,toolCallId:p.toolCall.toolCallId});break}case"tool-result":{const I=c(p);w.enqueue({type:"tool-output-available",toolCallId:p.toolCallId,output:p.output,...p.providerExecuted!=null?{providerExecuted:p.providerExecuted}:{},...p.preliminary!=null?{preliminary:p.preliminary}:{},...I!=null?{dynamic:I}:{}});break}case"tool-error":{const I=c(p);w.enqueue({type:"tool-output-error",toolCallId:p.toolCallId,errorText:l(p.error),...p.providerExecuted!=null?{providerExecuted:p.providerExecuted}:{},...I!=null?{dynamic:I}:{}});break}case"tool-output-denied":{w.enqueue({type:"tool-output-denied",toolCallId:p.toolCallId});break}case"error":{w.enqueue({type:"error",errorText:l(p.error)});break}case"start-step":{w.enqueue({type:"start-step"});break}case"finish-step":{w.enqueue({type:"finish-step"});break}case"start":{s&&w.enqueue({type:"start",...b!=null?{messageMetadata:b}:{},...u!=null?{messageId:u}:{}});break}case"finish":{i&&w.enqueue({type:"finish",finishReason:p.finishReason,...b!=null?{messageMetadata:b}:{}});break}case"abort":{w.enqueue(p);break}case"tool-input-end":break;case"raw":break;default:{const I=_;throw new Error(`Unknown chunk type: ${I}`)}}b!=null&&_!=="start"&&_!=="finish"&&w.enqueue({type:"message-metadata",messageMetadata:b})}}));return qr(iv({stream:d,messageId:u??(t==null?void 0:t()),originalMessages:e,onFinish:r,onError:l}))}pipeUIMessageStreamToResponse(e,{originalMessages:t,generateMessageId:r,onFinish:n,messageMetadata:a,sendReasoning:o,sendSources:s,sendFinish:i,sendStart:l,onError:u,...c}={}){lv({response:e,stream:this.toUIMessageStream({originalMessages:t,generateMessageId:r,onFinish:n,messageMetadata:a,sendReasoning:o,sendSources:s,sendFinish:i,sendStart:l,onError:u}),...c})}pipeTextStreamToResponse(e,t){Qy({response:e,textStream:this.textStream,...t})}toUIMessageStreamResponse({originalMessages:e,generateMessageId:t,onFinish:r,messageMetadata:n,sendReasoning:a,sendSources:o,sendFinish:s,sendStart:i,onError:l,...u}={}){return ev({stream:this.toUIMessageStream({originalMessages:e,generateMessageId:t,onFinish:r,messageMetadata:n,sendReasoning:a,sendSources:o,sendFinish:s,sendStart:i,onError:l}),...u})}toTextStreamResponse(e){return Xy({textStream:this.textStream,...e})}};xr({prefix:"aiobj",size:24});xr({prefix:"aiobj",size:24});const yv=`You are an expert language translator specializing in preserving data structure integrity while translating content.
76
+ `)}})}},tu={"content-type":"text/event-stream","cache-control":"no-cache",connection:"keep-alive","x-vercel-ai-ui-message-stream":"v1","x-accel-buffering":"no"};function tv({status:e,statusText:t,headers:r,stream:n,consumeSseStream:a}){let o=n.pipeThrough(new eu);if(a){const[s,i]=o.tee();o=s,a({stream:i})}return new Response(o.pipeThrough(new TextEncoderStream),{status:e,statusText:t,headers:hn(r,tu)})}function rv({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 nv(e){return e.type.startsWith("data-")}function Yn(e){return e.type.startsWith("tool-")}function av(e){return e.type==="dynamic-tool"}function ov(e){return Yn(e)||av(e)}function Ko(e){return e.type.split("-").slice(1).join("-")}function sv({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 iv({stream:e,messageMetadataSchema:t,dataPartSchemas:r,runUpdateMessageJob:n,onError:a,onToolCall:o,onData:s}){return e.pipeThrough(new TransformStream({async transform(i,l){await n(async({state:u,write:c})=>{var d,p,w,b;function _(m){const O=u.message.parts.filter(ov).find(y=>y.toolCallId===m);if(O==null)throw new Error(`no tool invocation found for tool call ${m}`);return O}function I(m){var z;const O=u.message.parts.find(D=>Yn(D)&&D.toolCallId===m.toolCallId),y=m,x=O;O!=null?(O.state=m.state,x.input=y.input,x.output=y.output,x.errorText=y.errorText,x.rawInput=y.rawInput,x.preliminary=y.preliminary,m.title!==void 0&&(x.title=m.title),x.providerExecuted=(z=y.providerExecuted)!=null?z:O.providerExecuted,y.providerMetadata!=null&&O.state==="input-available"&&(O.callProviderMetadata=y.providerMetadata)):u.message.parts.push({type:`tool-${m.toolName}`,toolCallId:m.toolCallId,state:m.state,title:m.title,input:y.input,output:y.output,rawInput:y.rawInput,errorText:y.errorText,providerExecuted:y.providerExecuted,preliminary:y.preliminary,...y.providerMetadata!=null?{callProviderMetadata:y.providerMetadata}:{}})}function P(m){var z,O;const y=u.message.parts.find(F=>F.type==="dynamic-tool"&&F.toolCallId===m.toolCallId),x=m,D=y;y!=null?(y.state=m.state,D.toolName=m.toolName,D.input=x.input,D.output=x.output,D.errorText=x.errorText,D.rawInput=(z=x.rawInput)!=null?z:D.rawInput,D.preliminary=x.preliminary,m.title!==void 0&&(D.title=m.title),D.providerExecuted=(O=x.providerExecuted)!=null?O:y.providerExecuted,x.providerMetadata!=null&&y.state==="input-available"&&(y.callProviderMetadata=x.providerMetadata)):u.message.parts.push({type:"dynamic-tool",toolName:m.toolName,toolCallId:m.toolCallId,state:m.state,input:x.input,output:x.output,errorText:x.errorText,preliminary:x.preliminary,providerExecuted:x.providerExecuted,title:m.title,...x.providerMetadata!=null?{callProviderMetadata:x.providerMetadata}:{}})}async function C(m){if(m!=null){const z=u.message.metadata!=null?gn(u.message.metadata,m):m;t!=null&&await Zn({value:z,schema:t}),u.message.metadata=z}}switch(i.type){case"text-start":{const m={type:"text",text:"",providerMetadata:i.providerMetadata,state:"streaming"};u.activeTextParts[i.id]=m,u.message.parts.push(m),c();break}case"text-delta":{const m=u.activeTextParts[i.id];m.text+=i.delta,m.providerMetadata=(d=i.providerMetadata)!=null?d:m.providerMetadata,c();break}case"text-end":{const m=u.activeTextParts[i.id];m.state="done",m.providerMetadata=(p=i.providerMetadata)!=null?p:m.providerMetadata,delete u.activeTextParts[i.id],c();break}case"reasoning-start":{const m={type:"reasoning",text:"",providerMetadata:i.providerMetadata,state:"streaming"};u.activeReasoningParts[i.id]=m,u.message.parts.push(m),c();break}case"reasoning-delta":{const m=u.activeReasoningParts[i.id];m.text+=i.delta,m.providerMetadata=(w=i.providerMetadata)!=null?w:m.providerMetadata,c();break}case"reasoning-end":{const m=u.activeReasoningParts[i.id];m.providerMetadata=(b=i.providerMetadata)!=null?b:m.providerMetadata,m.state="done",delete u.activeReasoningParts[i.id],c();break}case"file":{u.message.parts.push({type:"file",mediaType:i.mediaType,url:i.url}),c();break}case"source-url":{u.message.parts.push({type:"source-url",sourceId:i.sourceId,url:i.url,title:i.title,providerMetadata:i.providerMetadata}),c();break}case"source-document":{u.message.parts.push({type:"source-document",sourceId:i.sourceId,mediaType:i.mediaType,title:i.title,filename:i.filename,providerMetadata:i.providerMetadata}),c();break}case"tool-input-start":{const m=u.message.parts.filter(Yn);u.partialToolCalls[i.toolCallId]={text:"",toolName:i.toolName,index:m.length,dynamic:i.dynamic,title:i.title},i.dynamic?P({toolCallId:i.toolCallId,toolName:i.toolName,state:"input-streaming",input:void 0,providerExecuted:i.providerExecuted,title:i.title}):I({toolCallId:i.toolCallId,toolName:i.toolName,state:"input-streaming",input:void 0,providerExecuted:i.providerExecuted,title:i.title}),c();break}case"tool-input-delta":{const m=u.partialToolCalls[i.toolCallId];m.text+=i.inputTextDelta;const{value:z}=await Rr(m.text);m.dynamic?P({toolCallId:i.toolCallId,toolName:m.toolName,state:"input-streaming",input:z,title:m.title}):I({toolCallId:i.toolCallId,toolName:m.toolName,state:"input-streaming",input:z,title:m.title}),c();break}case"tool-input-available":{i.dynamic?P({toolCallId:i.toolCallId,toolName:i.toolName,state:"input-available",input:i.input,providerExecuted:i.providerExecuted,providerMetadata:i.providerMetadata,title:i.title}):I({toolCallId:i.toolCallId,toolName:i.toolName,state:"input-available",input:i.input,providerExecuted:i.providerExecuted,providerMetadata:i.providerMetadata,title:i.title}),c(),o&&!i.providerExecuted&&await o({toolCall:i});break}case"tool-input-error":{i.dynamic?P({toolCallId:i.toolCallId,toolName:i.toolName,state:"output-error",input:i.input,errorText:i.errorText,providerExecuted:i.providerExecuted,providerMetadata:i.providerMetadata}):I({toolCallId:i.toolCallId,toolName:i.toolName,state:"output-error",input:void 0,rawInput:i.input,errorText:i.errorText,providerExecuted:i.providerExecuted,providerMetadata:i.providerMetadata}),c();break}case"tool-approval-request":{const m=_(i.toolCallId);m.state="approval-requested",m.approval={id:i.approvalId},c();break}case"tool-output-denied":{const m=_(i.toolCallId);m.state="output-denied",c();break}case"tool-output-available":{const m=_(i.toolCallId);m.type==="dynamic-tool"?P({toolCallId:i.toolCallId,toolName:m.toolName,state:"output-available",input:m.input,output:i.output,preliminary:i.preliminary,providerExecuted:i.providerExecuted,title:m.title}):I({toolCallId:i.toolCallId,toolName:Ko(m),state:"output-available",input:m.input,output:i.output,providerExecuted:i.providerExecuted,preliminary:i.preliminary,title:m.title}),c();break}case"tool-output-error":{const m=_(i.toolCallId);m.type==="dynamic-tool"?P({toolCallId:i.toolCallId,toolName:m.toolName,state:"output-error",input:m.input,errorText:i.errorText,providerExecuted:i.providerExecuted,title:m.title}):I({toolCallId:i.toolCallId,toolName:Ko(m),state:"output-error",input:m.input,rawInput:m.rawInput,errorText:i.errorText,providerExecuted:i.providerExecuted,title:m.title}),c();break}case"start-step":{u.message.parts.push({type:"step-start"});break}case"finish-step":{u.activeTextParts={},u.activeReasoningParts={};break}case"start":{i.messageId!=null&&(u.message.id=i.messageId),await C(i.messageMetadata),(i.messageId!=null||i.messageMetadata!=null)&&c();break}case"finish":{i.finishReason!=null&&(u.finishReason=i.finishReason),await C(i.messageMetadata),i.messageMetadata!=null&&c();break}case"message-metadata":{await C(i.messageMetadata),i.messageMetadata!=null&&c();break}case"error":{a==null||a(new Error(i.errorText));break}default:if(nv(i)){(r==null?void 0:r[i.type])!=null&&await Zn({value:i.data,schema:r[i.type]});const m=i;if(m.transient){s==null||s(m);break}const z=m.id!=null?u.message.parts.find(O=>m.type===O.type&&m.id===O.id):void 0;z!=null?z.data=m.data:u.message.parts.push(m),s==null||s(m),c()}}l.enqueue(i)})}}))}function lv({messageId:e,originalMessages:t=[],onFinish:r,onError:n,stream:a}){let o=t==null?void 0:t[t.length-1];(o==null?void 0:o.role)!=="assistant"?o=void 0:e=o.id;let s=!1;const i=a.pipeThrough(new TransformStream({transform(p,w){if(p.type==="start"){const b=p;b.messageId==null&&e!=null&&(b.messageId=e)}p.type==="abort"&&(s=!0),w.enqueue(p)}}));if(r==null)return i;const l=sv({lastMessage:o?structuredClone(o):void 0,messageId:e??""}),u=async p=>{await p({state:l,write:()=>{}})};let c=!1;const d=async()=>{if(c||!r)return;c=!0;const p=l.message.id===(o==null?void 0:o.id);await r({isAborted:s,isContinuation:p,responseMessage:l.message,messages:[...p?t.slice(0,-1):t,l.message],finishReason:l.finishReason})};return iv({stream:i,runUpdateMessageJob:u,onError:n}).pipeThrough(new TransformStream({transform(p,w){w.enqueue(p)},async cancel(){await d()},async flush(){await d()}}))}function uv({response:e,status:t,statusText:r,headers:n,stream:a,consumeSseStream:o}){let s=a.pipeThrough(new eu);if(o){const[i,l]=s.tee();s=i,o({stream:l})}Ql({response:e,status:t,statusText:r,headers:Object.fromEntries(hn(n,tu).entries()),stream:s.pipeThrough(new TextEncoderStream)})}function qr(e){const t=e.pipeThrough(new TransformStream);return t[Symbol.asyncIterator]=function(){const r=this.getReader();let n=!1;async function a(o){var s;n=!0;try{o&&await((s=r.cancel)==null?void 0:s.call(r))}finally{try{r.releaseLock()}catch{}}}return{async next(){if(n)return{done:!0,value:void 0};const{done:o,value:s}=await r.read();return o?(await a(!0),{done:!0,value:void 0}):{done:!1,value:s}},async return(){return await a(!0),{done:!0,value:void 0}},async throw(o){throw await a(!0),o}}},t}async function cv({stream:e,onError:t}){const r=e.getReader();try{for(;;){const{done:n}=await r.read();if(n)break}}catch(n){t==null||t(n)}finally{r.releaseLock()}}function Xo(){let e,t;return{promise:new Promise((n,a)=>{e=n,t=a}),resolve:e,reject:t}}function dv(){let e=[],t=null,r=!1,n=Xo();const a=()=>{r=!0,n.resolve(),e.forEach(s=>s.cancel()),e=[],t==null||t.close()},o=async()=>{if(r&&e.length===0){t==null||t.close();return}if(e.length===0)return n=Xo(),await n.promise,o();try{const{value:s,done:i}=await e[0].read();i?(e.shift(),e.length===0&&r?t==null||t.close():await o()):t==null||t.enqueue(s)}catch(s){t==null||t.error(s),e.shift(),a()}};return{stream:new ReadableStream({start(s){t=s},pull:o,async cancel(){for(const s of e)await s.cancel();e=[],r=!0}}),addStream:s=>{if(r)throw new Error("Cannot add inner stream: outer stream is closed");e.push(s.getReader()),n.resolve()},close:()=>{r=!0,n.resolve(),e.length===0&&(t==null||t.close())},terminate:a}}function pv(){var e,t;return(t=(e=globalThis==null?void 0:globalThis.performance)==null?void 0:e.now())!=null?t:Date.now()}function fv({tools:e,generatorStream:t,tracer:r,telemetry:n,system:a,messages:o,abortSignal:s,repairToolCall:i,experimental_context:l,generateId:u}){let c=null;const d=new ReadableStream({start(m){c=m}}),p=new Set,w=new Map,b=new Map;let _=!1,I;function P(){_&&p.size===0&&(I!=null&&c.enqueue(I),c.close())}const C=new TransformStream({async transform(m,z){const O=m.type;switch(O){case"stream-start":case"text-start":case"text-delta":case"text-end":case"reasoning-start":case"reasoning-delta":case"reasoning-end":case"tool-input-start":case"tool-input-delta":case"tool-input-end":case"source":case"response-metadata":case"error":case"raw":{z.enqueue(m);break}case"file":{z.enqueue({type:"file",file:new Zy({data:m.data,mediaType:m.mediaType})});break}case"finish":{I={type:"finish",finishReason:m.finishReason.unified,rawFinishReason:m.finishReason.raw,usage:jl(m.usage),providerMetadata:m.providerMetadata};break}case"tool-approval-request":{const y=b.get(m.toolCallId);if(y==null){c.enqueue({type:"error",error:new ha({toolCallId:m.toolCallId,approvalId:m.approvalId})});break}z.enqueue({type:"tool-approval-request",approvalId:m.approvalId,toolCall:y});break}case"tool-call":{try{const y=await Jl({toolCall:m,tools:e,repairToolCall:i,system:a,messages:o});if(b.set(y.toolCallId,y),z.enqueue(y),y.invalid){c.enqueue({type:"tool-error",toolCallId:y.toolCallId,toolName:y.toolName,input:y.input,error:sa(y.error),dynamic:!0,title:y.title});break}const x=e==null?void 0:e[y.toolName];if(x==null)break;if(x.onInputAvailable!=null&&await x.onInputAvailable({input:y.input,toolCallId:y.toolCallId,messages:o,abortSignal:s,experimental_context:l}),await Hl({tool:x,toolCall:y,messages:o,experimental_context:l})){c.enqueue({type:"tool-approval-request",approvalId:u(),toolCall:y});break}if(w.set(y.toolCallId,y.input),x.execute!=null&&y.providerExecuted!==!0){const D=u();p.add(D),ya({toolCall:y,tools:e,tracer:r,telemetry:n,messages:o,abortSignal:s,experimental_context:l,onPreliminaryToolResult:F=>{c.enqueue(F)}}).then(F=>{c.enqueue(F)}).catch(F=>{c.enqueue({type:"error",error:F})}).finally(()=>{p.delete(D),P()})}}catch(y){c.enqueue({type:"error",error:y})}break}case"tool-result":{const y=m.toolName;m.isError?c.enqueue({type:"tool-error",toolCallId:m.toolCallId,toolName:y,input:w.get(m.toolCallId),providerExecuted:!0,error:m.result,dynamic:m.dynamic}):z.enqueue({type:"tool-result",toolCallId:m.toolCallId,toolName:y,input:w.get(m.toolCallId),output:m.result,providerExecuted:!0,dynamic:m.dynamic});break}default:{const y=O;throw new Error(`Unhandled chunk type: ${y}`)}}},flush(){_=!0,P()}});return new ReadableStream({async start(m){return Promise.all([t.pipeThrough(C).pipeTo(new WritableStream({write(z){m.enqueue(z)},close(){}})),d.pipeTo(new WritableStream({write(z){m.enqueue(z)},close(){m.close()}}))])}})}var gv=xr({prefix:"aitxt",size:24});function hv({model:e,tools:t,toolChoice:r,system:n,prompt:a,messages:o,maxRetries:s,abortSignal:i,headers:l,stopWhen:u=Kl(1),experimental_output:c,output:d=c,experimental_telemetry:p,prepareStep:w,providerOptions:b,experimental_activeTools:_,activeTools:I=_,experimental_repairToolCall:P,experimental_transform:C,experimental_download:m,includeRawChunks:z=!1,onChunk:O,onError:y=({error:xe})=>{console.error(xe)},onFinish:x,onAbort:D,onStepFinish:F,experimental_context:se,_internal:{now:L=pv,generateId:X=gv,currentDate:Q=()=>new Date}={},...le}){return new yv({model:on(e),telemetry:p,headers:l,settings:le,maxRetries:s,abortSignal:i,system:n,prompt:a,messages:o,tools:t,toolChoice:r,transforms:Tr(C),activeTools:I,repairToolCall:P,stopConditions:Tr(u),output:d,providerOptions:b,prepareStep:w,includeRawChunks:z,onChunk:O,onError:y,onFinish:x,onAbort:D,onStepFinish:F,now:L,currentDate:Q,generateId:X,experimental_context:se,download:m})}function mv(e){let t,r="",n="",a,o="";function s({controller:i,partialOutput:l=void 0}){i.enqueue({part:{type:"text-delta",id:t,text:n,providerMetadata:a},partialOutput:l}),n=""}return new TransformStream({async transform(i,l){var u;if(i.type==="finish-step"&&n.length>0&&s({controller:l}),i.type!=="text-delta"&&i.type!=="text-start"&&i.type!=="text-end"){l.enqueue({part:i,partialOutput:void 0});return}if(t==null)t=i.id;else if(i.id!==t){l.enqueue({part:i,partialOutput:void 0});return}if(i.type==="text-start"){l.enqueue({part:i,partialOutput:void 0});return}if(i.type==="text-end"){n.length>0&&s({controller:l}),l.enqueue({part:i,partialOutput:void 0});return}r+=i.text,n+=i.text,a=(u=i.providerMetadata)!=null?u:a;const c=await e.parsePartialOutput({text:r});if(c!==void 0){const d=JSON.stringify(c.partial);d!==o&&(s({controller:l,partialOutput:c.partial}),o=d)}}})}var yv=class{constructor({model:e,telemetry:t,headers:r,settings:n,maxRetries:a,abortSignal:o,system:s,prompt:i,messages:l,tools:u,toolChoice:c,transforms:d,activeTools:p,repairToolCall:w,stopConditions:b,output:_,providerOptions:I,prepareStep:P,includeRawChunks:C,now:m,currentDate:z,generateId:O,onChunk:y,onError:x,onFinish:D,onAbort:F,onStepFinish:se,experimental_context:L,download:X}){this._totalUsage=new lr,this._finishReason=new lr,this._rawFinishReason=new lr,this._steps=new lr,this.outputSpecification=_,this.includeRawChunks=C,this.tools=u;let Q,le=[];const xe=[];let Te,ct,Fe,zt={},$t=[];const Ce=[],Mt=new Map;let Ft,nt={},at={};const kr=new TransformStream({async transform(pe,fe){var ne,V,B,Ke;fe.enqueue(pe);const{part:N}=pe;if((N.type==="text-delta"||N.type==="reasoning-delta"||N.type==="source"||N.type==="tool-call"||N.type==="tool-result"||N.type==="tool-input-start"||N.type==="tool-input-delta"||N.type==="raw")&&await(y==null?void 0:y({chunk:N})),N.type==="error"&&await x({error:$l(N.error)}),N.type==="text-start"&&(nt[N.id]={type:"text",text:"",providerMetadata:N.providerMetadata},le.push(nt[N.id])),N.type==="text-delta"){const U=nt[N.id];if(U==null){fe.enqueue({part:{type:"error",error:`text part ${N.id} not found`},partialOutput:void 0});return}U.text+=N.text,U.providerMetadata=(ne=N.providerMetadata)!=null?ne:U.providerMetadata}if(N.type==="text-end"){const U=nt[N.id];if(U==null){fe.enqueue({part:{type:"error",error:`text part ${N.id} not found`},partialOutput:void 0});return}U.providerMetadata=(V=N.providerMetadata)!=null?V:U.providerMetadata,delete nt[N.id]}if(N.type==="reasoning-start"&&(at[N.id]={type:"reasoning",text:"",providerMetadata:N.providerMetadata},le.push(at[N.id])),N.type==="reasoning-delta"){const U=at[N.id];if(U==null){fe.enqueue({part:{type:"error",error:`reasoning part ${N.id} not found`},partialOutput:void 0});return}U.text+=N.text,U.providerMetadata=(B=N.providerMetadata)!=null?B:U.providerMetadata}if(N.type==="reasoning-end"){const U=at[N.id];if(U==null){fe.enqueue({part:{type:"error",error:`reasoning part ${N.id} not found`},partialOutput:void 0});return}U.providerMetadata=(Ke=N.providerMetadata)!=null?Ke:U.providerMetadata,delete at[N.id]}if(N.type==="file"&&le.push({type:"file",file:N.file}),N.type==="source"&&le.push(N),N.type==="tool-call"&&le.push(N),N.type==="tool-result"&&!N.preliminary&&le.push(N),N.type==="tool-approval-request"&&le.push(N),N.type==="tool-error"&&le.push(N),N.type==="start-step"&&(le=[],at={},nt={},zt=N.request,$t=N.warnings),N.type==="finish-step"){const U=await Hn({content:le,tools:u}),ae=new Wl({content:le,finishReason:N.finishReason,rawFinishReason:N.rawFinishReason,usage:N.usage,warnings:$t,request:zt,response:{...N.response,messages:[...xe,...U]},providerMetadata:N.providerMetadata});await(se==null?void 0:se(ae)),ma({warnings:$t,provider:e.provider,model:e.modelId}),Ce.push(ae),xe.push(...U),Q.resolve()}N.type==="finish"&&(Fe=N.totalUsage,Te=N.finishReason,ct=N.rawFinishReason)},async flush(pe){try{if(Ce.length===0){const B=new pl({message:"No output generated. Check the stream for errors."});J._finishReason.reject(B),J._rawFinishReason.reject(B),J._totalUsage.reject(B),J._steps.reject(B);return}const fe=Te??"other",ne=Fe??Dn();J._finishReason.resolve(fe),J._rawFinishReason.resolve(ct),J._totalUsage.resolve(ne),J._steps.resolve(Ce);const V=Ce[Ce.length-1];await(D==null?void 0:D({finishReason:V.finishReason,rawFinishReason:V.rawFinishReason,totalUsage:ne,usage:V.usage,content:V.content,text:V.text,reasoningText:V.reasoningText,reasoning:V.reasoning,files:V.files,sources:V.sources,toolCalls:V.toolCalls,staticToolCalls:V.staticToolCalls,dynamicToolCalls:V.dynamicToolCalls,toolResults:V.toolResults,staticToolResults:V.staticToolResults,dynamicToolResults:V.dynamicToolResults,request:V.request,response:V.response,warnings:V.warnings,providerMetadata:V.providerMetadata,steps:Ce,experimental_context:L})),Ft.setAttributes(await tt({telemetry:t,attributes:{"ai.response.finishReason":fe,"ai.response.text":{output:()=>V.text},"ai.response.toolCalls":{output:()=>{var B;return(B=V.toolCalls)!=null&&B.length?JSON.stringify(V.toolCalls):void 0}},"ai.response.providerMetadata":JSON.stringify(V.providerMetadata),"ai.usage.inputTokens":ne.inputTokens,"ai.usage.outputTokens":ne.outputTokens,"ai.usage.totalTokens":ne.totalTokens,"ai.usage.reasoningTokens":ne.reasoningTokens,"ai.usage.cachedInputTokens":ne.cachedInputTokens}}))}catch(fe){pe.error(fe)}finally{Ft.end()}}}),dt=dv();this.addStream=dt.addStream,this.closeStream=dt.close;const tr=dt.stream.getReader();let ot=new ReadableStream({async start(pe){pe.enqueue({type:"start"})},async pull(pe){function fe(){F==null||F({steps:Ce}),pe.enqueue({type:"abort"}),pe.close()}try{const{done:ne,value:V}=await tr.read();if(ne){pe.close();return}if(o!=null&&o.aborted){fe();return}pe.enqueue(V)}catch(ne){Pt(ne)&&(o!=null&&o.aborted)?fe():pe.error(ne)}},cancel(pe){return dt.stream.cancel(pe)}});for(const pe of d)ot=ot.pipeThrough(pe({tools:u,stopStream(){dt.terminate()}}));this.baseStream=ot.pipeThrough(mv(_??sn())).pipeThrough(kr);const{maxRetries:Pr,retry:rr}=Gl({maxRetries:a,abortSignal:o}),St=Fl(t),Ze=Vn(n),Cr=Ml({model:e,telemetry:t,headers:r,settings:{...Ze,maxRetries:Pr}}),J=this;Ir({name:"ai.streamText",attributes:tt({telemetry:t,attributes:{...br({operationId:"ai.streamText",telemetry:t}),...Cr,"ai.prompt":{input:()=>JSON.stringify({system:s,prompt:i,messages:l})}}}),tracer:St,endWhenDone:!1,fn:async pe=>{Ft=pe;const fe=await zl({system:s,prompt:i,messages:l}),ne=fe.messages,V=[],{approvedToolApprovals:B,deniedToolApprovals:Ke}=Bl({messages:ne});if(Ke.length>0||B.length>0){const U=[...B,...Ke].filter(we=>we.toolCall.providerExecuted),ae=B.filter(we=>!we.toolCall.providerExecuted),W=Ke.filter(we=>!we.toolCall.providerExecuted),st=Ke.filter(we=>we.toolCall.providerExecuted);let ke;const pt=new ReadableStream({start(we){ke=we}});J.addStream(pt);try{for(const Ae of[...W,...st])ke==null||ke.enqueue({type:"tool-output-denied",toolCallId:Ae.toolCall.toolCallId,toolName:Ae.toolCall.toolName});const we=[];if(await Promise.all(ae.map(async Ae=>{const _e=await ya({toolCall:Ae.toolCall,tools:u,tracer:St,telemetry:t,messages:ne,abortSignal:o,experimental_context:L,onPreliminaryToolResult:At=>{ke==null||ke.enqueue(At)}});_e!=null&&(ke==null||ke.enqueue(_e),we.push(_e))})),U.length>0&&V.push({role:"tool",content:U.map(Ae=>({type:"tool-approval-response",approvalId:Ae.approvalResponse.approvalId,approved:Ae.approvalResponse.approved,reason:Ae.approvalResponse.reason,providerExecuted:!0}))}),we.length>0||W.length>0){const Ae=[];for(const _e of we)Ae.push({type:"tool-result",toolCallId:_e.toolCallId,toolName:_e.toolName,output:await fr({toolCallId:_e.toolCallId,input:_e.input,tool:u==null?void 0:u[_e.toolName],output:_e.type==="tool-result"?_e.output:_e.error,errorMode:_e.type==="tool-error"?"json":"none"})});for(const _e of W)Ae.push({type:"tool-result",toolCallId:_e.toolCall.toolCallId,toolName:_e.toolCall.toolName,output:{type:"execution-denied",reason:_e.approvalResponse.reason}});V.push({role:"tool",content:Ae})}}finally{ke==null||ke.close()}}xe.push(...V);async function N({currentStep:U,responseMessages:ae,usage:W}){var st,ke,pt,we,Ae,_e;const At=J.includeRawChunks;Q=new lr;const ft=[...ne,...ae],$=await(P==null?void 0:P({model:e,steps:Ce,stepNumber:Ce.length,messages:ft,experimental_context:L})),Ee=on((st=$==null?void 0:$.model)!=null?st:e),Lt=await Rl({prompt:{system:(ke=$==null?void 0:$.system)!=null?ke:fe.system,messages:(pt=$==null?void 0:$.messages)!=null?pt:ft},supportedUrls:await Ee.supportedUrls,download:X}),{toolChoice:it,tools:Ut}=await kl({tools:u,toolChoice:(we=$==null?void 0:$.toolChoice)!=null?we:c,activeTools:(Ae=$==null?void 0:$.activeTools)!=null?Ae:p});L=(_e=$==null?void 0:$.experimental_context)!=null?_e:L;const Dr=gn(I,$==null?void 0:$.providerOptions),{result:{stream:zr,response:nr,request:ar},doStreamSpan:lt,startTimestampMs:$r}=await rr(()=>Ir({name:"ai.streamText.doStream",attributes:tt({telemetry:t,attributes:{...br({operationId:"ai.streamText.doStream",telemetry:t}),...Cr,"ai.model.provider":Ee.provider,"ai.model.id":Ee.modelId,"ai.prompt.messages":{input:()=>Ul(Lt)},"ai.prompt.tools":{input:()=>Ut==null?void 0:Ut.map(M=>JSON.stringify(M))},"ai.prompt.toolChoice":{input:()=>it!=null?JSON.stringify(it):void 0},"gen_ai.system":Ee.provider,"gen_ai.request.model":Ee.modelId,"gen_ai.request.frequency_penalty":Ze.frequencyPenalty,"gen_ai.request.max_tokens":Ze.maxOutputTokens,"gen_ai.request.presence_penalty":Ze.presencePenalty,"gen_ai.request.stop_sequences":Ze.stopSequences,"gen_ai.request.temperature":Ze.temperature,"gen_ai.request.top_k":Ze.topK,"gen_ai.request.top_p":Ze.topP}}),tracer:St,endWhenDone:!1,fn:async M=>({startTimestampMs:m(),doStreamSpan:M,result:await Ee.doStream({...Ze,tools:Ut,toolChoice:it,responseFormat:await(_==null?void 0:_.responseFormat),prompt:Lt,providerOptions:Dr,abortSignal:o,headers:r,includeRawChunks:At})})})),Oe=fv({tools:u,generatorStream:zr,tracer:St,telemetry:t,system:s,messages:ft,repairToolCall:w,abortSignal:o,experimental_context:L,generateId:O}),gt=ar??{},ht=[],or=[];let mn;const yn={};let jt="other",vn,Ve=Dn(),wn,_a=!0,Xe={id:O(),timestamp:z(),modelId:e.modelId},Ta="";J.addStream(Oe.pipeThrough(new TransformStream({async transform(M,Re){var sr,ir,Mr,Ne,qt;if(M.type==="stream-start"){mn=M.warnings;return}if(_a){const be=m()-$r;_a=!1,lt.addEvent("ai.stream.firstChunk",{"ai.response.msToFirstChunk":be}),lt.setAttributes({"ai.response.msToFirstChunk":be}),Re.enqueue({type:"start-step",request:gt,warnings:mn??[]})}const _n=M.type;switch(_n){case"tool-approval-request":case"text-start":case"text-end":{Re.enqueue(M);break}case"text-delta":{M.delta.length>0&&(Re.enqueue({type:"text-delta",id:M.id,text:M.delta,providerMetadata:M.providerMetadata}),Ta+=M.delta);break}case"reasoning-start":case"reasoning-end":{Re.enqueue(M);break}case"reasoning-delta":{Re.enqueue({type:"reasoning-delta",id:M.id,text:M.delta,providerMetadata:M.providerMetadata});break}case"tool-call":{Re.enqueue(M),ht.push(M);break}case"tool-result":{Re.enqueue(M),M.preliminary||or.push(M);break}case"tool-error":{Re.enqueue(M),or.push(M);break}case"response-metadata":{Xe={id:(sr=M.id)!=null?sr:Xe.id,timestamp:(ir=M.timestamp)!=null?ir:Xe.timestamp,modelId:(Mr=M.modelId)!=null?Mr:Xe.modelId};break}case"finish":{Ve=M.usage,jt=M.finishReason,vn=M.rawFinishReason,wn=M.providerMetadata;const be=m()-$r;lt.addEvent("ai.stream.finish"),lt.setAttributes({"ai.response.msToFinish":be,"ai.response.avgOutputTokensPerSecond":1e3*((Ne=Ve.outputTokens)!=null?Ne:0)/be});break}case"file":{Re.enqueue(M);break}case"source":{Re.enqueue(M);break}case"tool-input-start":{yn[M.id]=M.toolName;const be=u==null?void 0:u[M.toolName];(be==null?void 0:be.onInputStart)!=null&&await be.onInputStart({toolCallId:M.id,messages:ft,abortSignal:o,experimental_context:L}),Re.enqueue({...M,dynamic:(qt=M.dynamic)!=null?qt:(be==null?void 0:be.type)==="dynamic",title:be==null?void 0:be.title});break}case"tool-input-end":{delete yn[M.id],Re.enqueue(M);break}case"tool-input-delta":{const be=yn[M.id],Tn=u==null?void 0:u[be];(Tn==null?void 0:Tn.onInputDelta)!=null&&await Tn.onInputDelta({inputTextDelta:M.delta,toolCallId:M.id,messages:ft,abortSignal:o,experimental_context:L}),Re.enqueue(M);break}case"error":{Re.enqueue(M),jt="error";break}case"raw":{At&&Re.enqueue(M);break}default:{const be=_n;throw new Error(`Unknown chunk type: ${be}`)}}},async flush(M){const Re=ht.length>0?JSON.stringify(ht):void 0;try{lt.setAttributes(await tt({telemetry:t,attributes:{"ai.response.finishReason":jt,"ai.response.text":{output:()=>Ta},"ai.response.toolCalls":{output:()=>Re},"ai.response.id":Xe.id,"ai.response.model":Xe.modelId,"ai.response.timestamp":Xe.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(wn),"ai.usage.inputTokens":Ve.inputTokens,"ai.usage.outputTokens":Ve.outputTokens,"ai.usage.totalTokens":Ve.totalTokens,"ai.usage.reasoningTokens":Ve.reasoningTokens,"ai.usage.cachedInputTokens":Ve.cachedInputTokens,"gen_ai.response.finish_reasons":[jt],"gen_ai.response.id":Xe.id,"gen_ai.response.model":Xe.modelId,"gen_ai.usage.input_tokens":Ve.inputTokens,"gen_ai.usage.output_tokens":Ve.outputTokens}}))}catch{}finally{lt.end()}M.enqueue({type:"finish-step",finishReason:jt,rawFinishReason:vn,usage:Ve,providerMetadata:wn,response:{...Xe,headers:nr==null?void 0:nr.headers}});const sr=ql(W,Ve);await Q.promise;const ir=ht.filter(Ne=>Ne.providerExecuted!==!0),Mr=or.filter(Ne=>Ne.providerExecuted!==!0);for(const Ne of ht){if(Ne.providerExecuted!==!0)continue;const qt=u==null?void 0:u[Ne.toolName];(qt==null?void 0:qt.type)==="provider"&&qt.supportsDeferredResults&&(or.some(be=>be.type==="tool-result"&&be.toolCallId===Ne.toolCallId)||Mt.set(Ne.toolCallId,{toolName:Ne.toolName}))}for(const Ne of or)Ne.type==="tool-result"&&Mt.delete(Ne.toolCallId);if((ir.length>0&&Mr.length===ir.length||Mt.size>0)&&!await Xl({stopConditions:b,steps:Ce})){ae.push(...await Hn({content:Ce[Ce.length-1].content,tools:u}));try{await N({currentStep:U+1,responseMessages:ae,usage:sr})}catch(Ne){M.enqueue({type:"error",error:Ne}),J.closeStream()}}else M.enqueue({type:"finish",finishReason:jt,rawFinishReason:vn,totalUsage:sr}),J.closeStream()}})))}await N({currentStep:0,responseMessages:V,usage:Dn()})}}).catch(pe=>{J.addStream(new ReadableStream({start(fe){fe.enqueue({type:"error",error:pe}),fe.close()}})),J.closeStream()})}get steps(){return this.consumeStream(),this._steps.promise}get finalStep(){return this.steps.then(e=>e[e.length-1])}get content(){return this.finalStep.then(e=>e.content)}get warnings(){return this.finalStep.then(e=>e.warnings)}get providerMetadata(){return this.finalStep.then(e=>e.providerMetadata)}get text(){return this.finalStep.then(e=>e.text)}get reasoningText(){return this.finalStep.then(e=>e.reasoningText)}get reasoning(){return this.finalStep.then(e=>e.reasoning)}get sources(){return this.finalStep.then(e=>e.sources)}get files(){return this.finalStep.then(e=>e.files)}get toolCalls(){return this.finalStep.then(e=>e.toolCalls)}get staticToolCalls(){return this.finalStep.then(e=>e.staticToolCalls)}get dynamicToolCalls(){return this.finalStep.then(e=>e.dynamicToolCalls)}get toolResults(){return this.finalStep.then(e=>e.toolResults)}get staticToolResults(){return this.finalStep.then(e=>e.staticToolResults)}get dynamicToolResults(){return this.finalStep.then(e=>e.dynamicToolResults)}get usage(){return this.finalStep.then(e=>e.usage)}get request(){return this.finalStep.then(e=>e.request)}get response(){return this.finalStep.then(e=>e.response)}get totalUsage(){return this.consumeStream(),this._totalUsage.promise}get finishReason(){return this.consumeStream(),this._finishReason.promise}get rawFinishReason(){return this.consumeStream(),this._rawFinishReason.promise}teeStream(){const[e,t]=this.baseStream.tee();return this.baseStream=t,e}get textStream(){return qr(this.teeStream().pipeThrough(new TransformStream({transform({part:e},t){e.type==="text-delta"&&t.enqueue(e.text)}})))}get fullStream(){return qr(this.teeStream().pipeThrough(new TransformStream({transform({part:e},t){t.enqueue(e)}})))}async consumeStream(e){var t;try{await cv({stream:this.fullStream,onError:e==null?void 0:e.onError})}catch(r){(t=e==null?void 0:e.onError)==null||t.call(e,r)}}get experimental_partialOutputStream(){return this.partialOutputStream}get partialOutputStream(){return qr(this.teeStream().pipeThrough(new TransformStream({transform({partialOutput:e},t){e!=null&&t.enqueue(e)}})))}get output(){return this.finalStep.then(e=>{var t;return((t=this.outputSpecification)!=null?t:sn()).parseCompleteOutput({text:e.text},{response:e.response,usage:e.usage,finishReason:e.finishReason})})}toUIMessageStream({originalMessages:e,generateMessageId:t,onFinish:r,messageMetadata:n,sendReasoning:a=!0,sendSources:o=!1,sendStart:s=!0,sendFinish:i=!0,onError:l=Kt}={}){const u=t!=null?rv({originalMessages:e,responseMessageId:t}):void 0,c=p=>{var w;const b=(w=this.tools)==null?void 0:w[p.toolName];return b==null?p.dynamic:(b==null?void 0:b.type)==="dynamic"?!0:void 0},d=this.fullStream.pipeThrough(new TransformStream({transform:async(p,w)=>{const b=n==null?void 0:n({part:p}),_=p.type;switch(_){case"text-start":{w.enqueue({type:"text-start",id:p.id,...p.providerMetadata!=null?{providerMetadata:p.providerMetadata}:{}});break}case"text-delta":{w.enqueue({type:"text-delta",id:p.id,delta:p.text,...p.providerMetadata!=null?{providerMetadata:p.providerMetadata}:{}});break}case"text-end":{w.enqueue({type:"text-end",id:p.id,...p.providerMetadata!=null?{providerMetadata:p.providerMetadata}:{}});break}case"reasoning-start":{w.enqueue({type:"reasoning-start",id:p.id,...p.providerMetadata!=null?{providerMetadata:p.providerMetadata}:{}});break}case"reasoning-delta":{a&&w.enqueue({type:"reasoning-delta",id:p.id,delta:p.text,...p.providerMetadata!=null?{providerMetadata:p.providerMetadata}:{}});break}case"reasoning-end":{w.enqueue({type:"reasoning-end",id:p.id,...p.providerMetadata!=null?{providerMetadata:p.providerMetadata}:{}});break}case"file":{w.enqueue({type:"file",mediaType:p.file.mediaType,url:`data:${p.file.mediaType};base64,${p.file.base64}`});break}case"source":{o&&p.sourceType==="url"&&w.enqueue({type:"source-url",sourceId:p.id,url:p.url,title:p.title,...p.providerMetadata!=null?{providerMetadata:p.providerMetadata}:{}}),o&&p.sourceType==="document"&&w.enqueue({type:"source-document",sourceId:p.id,mediaType:p.mediaType,title:p.title,filename:p.filename,...p.providerMetadata!=null?{providerMetadata:p.providerMetadata}:{}});break}case"tool-input-start":{const I=c(p);w.enqueue({type:"tool-input-start",toolCallId:p.id,toolName:p.toolName,...p.providerExecuted!=null?{providerExecuted:p.providerExecuted}:{},...I!=null?{dynamic:I}:{},...p.title!=null?{title:p.title}:{}});break}case"tool-input-delta":{w.enqueue({type:"tool-input-delta",toolCallId:p.id,inputTextDelta:p.delta});break}case"tool-call":{const I=c(p);p.invalid?w.enqueue({type:"tool-input-error",toolCallId:p.toolCallId,toolName:p.toolName,input:p.input,...p.providerExecuted!=null?{providerExecuted:p.providerExecuted}:{},...p.providerMetadata!=null?{providerMetadata:p.providerMetadata}:{},...I!=null?{dynamic:I}:{},errorText:l(p.error),...p.title!=null?{title:p.title}:{}}):w.enqueue({type:"tool-input-available",toolCallId:p.toolCallId,toolName:p.toolName,input:p.input,...p.providerExecuted!=null?{providerExecuted:p.providerExecuted}:{},...p.providerMetadata!=null?{providerMetadata:p.providerMetadata}:{},...I!=null?{dynamic:I}:{},...p.title!=null?{title:p.title}:{}});break}case"tool-approval-request":{w.enqueue({type:"tool-approval-request",approvalId:p.approvalId,toolCallId:p.toolCall.toolCallId});break}case"tool-result":{const I=c(p);w.enqueue({type:"tool-output-available",toolCallId:p.toolCallId,output:p.output,...p.providerExecuted!=null?{providerExecuted:p.providerExecuted}:{},...p.preliminary!=null?{preliminary:p.preliminary}:{},...I!=null?{dynamic:I}:{}});break}case"tool-error":{const I=c(p);w.enqueue({type:"tool-output-error",toolCallId:p.toolCallId,errorText:l(p.error),...p.providerExecuted!=null?{providerExecuted:p.providerExecuted}:{},...I!=null?{dynamic:I}:{}});break}case"tool-output-denied":{w.enqueue({type:"tool-output-denied",toolCallId:p.toolCallId});break}case"error":{w.enqueue({type:"error",errorText:l(p.error)});break}case"start-step":{w.enqueue({type:"start-step"});break}case"finish-step":{w.enqueue({type:"finish-step"});break}case"start":{s&&w.enqueue({type:"start",...b!=null?{messageMetadata:b}:{},...u!=null?{messageId:u}:{}});break}case"finish":{i&&w.enqueue({type:"finish",finishReason:p.finishReason,...b!=null?{messageMetadata:b}:{}});break}case"abort":{w.enqueue(p);break}case"tool-input-end":break;case"raw":break;default:{const I=_;throw new Error(`Unknown chunk type: ${I}`)}}b!=null&&_!=="start"&&_!=="finish"&&w.enqueue({type:"message-metadata",messageMetadata:b})}}));return qr(lv({stream:d,messageId:u??(t==null?void 0:t()),originalMessages:e,onFinish:r,onError:l}))}pipeUIMessageStreamToResponse(e,{originalMessages:t,generateMessageId:r,onFinish:n,messageMetadata:a,sendReasoning:o,sendSources:s,sendFinish:i,sendStart:l,onError:u,...c}={}){uv({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){ev({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 tv({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 Qy({textStream:this.textStream,...e})}};xr({prefix:"aiobj",size:24});xr({prefix:"aiobj",size:24});const vv=`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
 
@@ -107,7 +107,7 @@ REQUIREMENTS (Common):
107
107
  6. Ensure translated text fits naturally within the original context
108
108
  7. Keep numbers, dates, and technical terms unchanged unless culturally appropriate to translate
109
109
 
110
- OUTPUT FORMAT: Valid JSON only, ready to be parsed directly.`,vv=`You are an expert language translator and content editor specializing in preserving data structure integrity while modifying content.
110
+ OUTPUT FORMAT: Valid JSON only, ready to be parsed directly.`,wv=`You are an expert language translator and content editor specializing in preserving data structure integrity while modifying content.
111
111
 
112
112
  TASK: Modify content within the provided JSON structure according to user request for the target language.
113
113
 
@@ -412,11 +412,11 @@ Format:
412
412
  - NEVER break the format.
413
413
  - NEVER place ANYTHING before '--START--'.
414
414
  - The output must always begin with '--START--' and end with '--END--'.
415
- `.trim();function ru(e=null){if(e)switch(e){case"TRANSLATE_CONTENT":return yv;case"UPDATE_CONTENT":return vv;default:return Qo}return Qo}const wv="google/gemini-2.5-flash";class _v{constructor(t){Ie(this,"model",wv);Ie(this,"temperature",.7);this.options=t,this.model=(t==null?void 0:t.model)??this.model}async handleRequest(t,r){var p,w;const{messages:n,image:a,initiator:o=null,model:s}=t,i=s||this.model,l=n.filter(b=>b.role!=="system"),u=l[l.length-1],c=a?[...l.slice(0,-1),{role:"user",content:[{type:"text",text:u.content},{type:"image",image:a}]}]:n,d=gv({model:i,system:ru(o),messages:c,temperature:this.temperature,onFinish:((p=this.options)==null?void 0:p.onFinish)??q.noop,onError:((w=this.options)==null?void 0:w.onError)??q.noop});return r&&d.pipeTextStreamToResponse(r),d}isConfigured(){return!0}}var Qe={exports:{}};const Tv="16.6.1",Ev={version:Tv};var es;function nu(){if(es)return Qe.exports;es=1;const e=mu,t=yu,r=vu,n=is,o=Ev.version,s=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function i(y){const x={};let D=y.toString();D=D.replace(/\r\n?/mg,`
415
+ `.trim();function ru(e=null){if(e)switch(e){case"TRANSLATE_CONTENT":return vv;case"UPDATE_CONTENT":return wv;default:return Qo}return Qo}const _v="google/gemini-2.5-flash";class Tv{constructor(t){Ie(this,"model",_v);Ie(this,"temperature",.7);this.options=t,this.model=(t==null?void 0:t.model)??this.model}async handleRequest(t,r){var p,w;const{messages:n,image:a,initiator:o=null,model:s}=t,i=s||this.model,l=n.filter(b=>b.role!=="system"),u=l[l.length-1],c=a?[...l.slice(0,-1),{role:"user",content:[{type:"text",text:u.content},{type:"image",image:a}]}]:n,d=hv({model:i,system:ru(o),messages:c,temperature:this.temperature,onFinish:((p=this.options)==null?void 0:p.onFinish)??j.noop,onError:((w=this.options)==null?void 0:w.onError)??j.noop});return r&&d.pipeTextStreamToResponse(r),d}isConfigured(){return!0}}var Qe={exports:{}};const Ev="16.6.1",bv={version:Ev};var es;function nu(){if(es)return Qe.exports;es=1;const e=yu,t=vu,r=wu,n=is,o=bv.version,s=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function i(y){const x={};let D=y.toString();D=D.replace(/\r\n?/mg,`
416
416
  `);let F;for(;(F=s.exec(D))!=null;){const se=F[1];let L=F[2]||"";L=L.trim();const X=L[0];L=L.replace(/^(['"`])([\s\S]*)\1$/mg,"$2"),X==='"'&&(L=L.replace(/\\n/g,`
417
- `),L=L.replace(/\\r/g,"\r")),x[se]=L}return x}function l(y){y=y||{};const x=b(y);y.path=x;const D=O.configDotenv(y);if(!D.parsed){const X=new Error(`MISSING_DATA: Cannot parse ${x} for an unknown reason`);throw X.code="MISSING_DATA",X}const F=p(y).split(","),se=F.length;let L;for(let X=0;X<se;X++)try{const Q=F[X].trim(),le=w(D,Q);L=O.decrypt(le.ciphertext,le.key);break}catch(Q){if(X+1>=se)throw Q}return O.parse(L)}function u(y){console.log(`[dotenv@${o}][WARN] ${y}`)}function c(y){console.log(`[dotenv@${o}][DEBUG] ${y}`)}function d(y){console.log(`[dotenv@${o}] ${y}`)}function p(y){return y&&y.DOTENV_KEY&&y.DOTENV_KEY.length>0?y.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function w(y,x){let D;try{D=new URL(x)}catch(Q){if(Q.code==="ERR_INVALID_URL"){const le=new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development");throw le.code="INVALID_DOTENV_KEY",le}throw Q}const F=D.password;if(!F){const Q=new Error("INVALID_DOTENV_KEY: Missing key part");throw Q.code="INVALID_DOTENV_KEY",Q}const se=D.searchParams.get("environment");if(!se){const Q=new Error("INVALID_DOTENV_KEY: Missing environment part");throw Q.code="INVALID_DOTENV_KEY",Q}const L=`DOTENV_VAULT_${se.toUpperCase()}`,X=y.parsed[L];if(!X){const Q=new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${L} in your .env.vault file.`);throw Q.code="NOT_FOUND_DOTENV_ENVIRONMENT",Q}return{ciphertext:X,key:F}}function b(y){let x=null;if(y&&y.path&&y.path.length>0)if(Array.isArray(y.path))for(const D of y.path)e.existsSync(D)&&(x=D.endsWith(".vault")?D:`${D}.vault`);else x=y.path.endsWith(".vault")?y.path:`${y.path}.vault`;else x=t.resolve(process.cwd(),".env.vault");return e.existsSync(x)?x:null}function _(y){return y[0]==="~"?t.join(r.homedir(),y.slice(1)):y}function I(y){const x=!!(y&&y.debug),D=y&&"quiet"in y?y.quiet:!0;(x||!D)&&d("Loading env from encrypted .env.vault");const F=O._parseVault(y);let se=process.env;return y&&y.processEnv!=null&&(se=y.processEnv),O.populate(se,F,y),{parsed:F}}function P(y){const x=t.resolve(process.cwd(),".env");let D="utf8";const F=!!(y&&y.debug),se=y&&"quiet"in y?y.quiet:!0;y&&y.encoding?D=y.encoding:F&&c("No encoding is specified. UTF-8 is used by default");let L=[x];if(y&&y.path)if(!Array.isArray(y.path))L=[_(y.path)];else{L=[];for(const xe of y.path)L.push(_(xe))}let X;const Q={};for(const xe of L)try{const Te=O.parse(e.readFileSync(xe,{encoding:D}));O.populate(Q,Te,y)}catch(Te){F&&c(`Failed to load ${xe} ${Te.message}`),X=Te}let le=process.env;if(y&&y.processEnv!=null&&(le=y.processEnv),O.populate(le,Q,y),F||!se){const xe=Object.keys(Q).length,Te=[];for(const ct of L)try{const Fe=t.relative(process.cwd(),ct);Te.push(Fe)}catch(Fe){F&&c(`Failed to load ${ct} ${Fe.message}`),X=Fe}d(`injecting env (${xe}) from ${Te.join(",")}`)}return X?{parsed:Q,error:X}:{parsed:Q}}function C(y){if(p(y).length===0)return O.configDotenv(y);const x=b(y);return x?O._configVault(y):(u(`You set DOTENV_KEY but you are missing a .env.vault file at ${x}. Did you forget to build it?`),O.configDotenv(y))}function m(y,x){const D=Buffer.from(x.slice(-64),"hex");let F=Buffer.from(y,"base64");const se=F.subarray(0,12),L=F.subarray(-16);F=F.subarray(12,-16);try{const X=n.createDecipheriv("aes-256-gcm",D,se);return X.setAuthTag(L),`${X.update(F)}${X.final()}`}catch(X){const Q=X instanceof RangeError,le=X.message==="Invalid key length",xe=X.message==="Unsupported state or unable to authenticate data";if(Q||le){const Te=new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw Te.code="INVALID_DOTENV_KEY",Te}else if(xe){const Te=new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw Te.code="DECRYPTION_FAILED",Te}else throw X}}function z(y,x,D={}){const F=!!(D&&D.debug),se=!!(D&&D.override);if(typeof x!="object"){const L=new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");throw L.code="OBJECT_REQUIRED",L}for(const L of Object.keys(x))Object.prototype.hasOwnProperty.call(y,L)?(se===!0&&(y[L]=x[L]),F&&c(se===!0?`"${L}" is already defined and WAS overwritten`:`"${L}" is already defined and was NOT overwritten`)):y[L]=x[L]}const O={configDotenv:P,_configVault:I,_parseVault:l,config:C,decrypt:m,parse:i,populate:z};return Qe.exports.configDotenv=O.configDotenv,Qe.exports._configVault=O._configVault,Qe.exports._parseVault=O._parseVault,Qe.exports.config=O.config,Qe.exports.decrypt=O.decrypt,Qe.exports.parse=O.parse,Qe.exports.populate=O.populate,Qe.exports=O,Qe.exports}var bv=nu();const Iv=hu.getDefaultExportFromCjs(bv),Sv=g.pgSequence("app_pages_metadata_id_seq",{startWith:"1",increment:"1",minValue:"1",maxValue:"9223372036854775807",cache:"1",cycle:!1}),Av=g.pgSequence("webhook_events_id_seq",{startWith:"1",increment:"1",minValue:"1",maxValue:"9223372036854775807",cache:"1",cycle:!1}),Nv=g.pgTable("app_assets",{id:g.uuid().defaultRandom().primaryKey().notNull(),app:g.uuid(),name:g.text(),description:g.text(),url:g.text(),size:g.text(),folderId:g.text(),thumbnailUrl:g.text(),duration:g.numeric(),format:g.text(),width:g.numeric(),height:g.numeric(),createdBy:g.text(),createdAt:g.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),type:g.text(),updatedAt:g.timestamp({withTimezone:!0,mode:"string"})},e=>[g.foreignKey({columns:[e.app],foreignColumns:[ge.id],name:"app_assets_app_fkey"})]),he=g.pgTable("app_pages_online",{createdAt:g.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),slug:g.text().notNull(),lang:g.text().default("").notNull(),seo:g.jsonb().default({}),app:g.uuid().notNull(),id:g.uuid().primaryKey().notNull(),name:g.text().notNull(),primaryPage:g.uuid(),blocks:g.jsonb().default([]),currentEditor:g.text(),changes:g.jsonb(),partialBlocks:g.text(),links:g.text(),online:g.boolean().default(!0),pageType:g.text(),parent:g.uuid(),lastSaved:g.timestamp({withTimezone:!0,mode:"string"}),dynamic:g.boolean().default(!1),libRefId:g.uuid(),dynamicSlugCustom:g.text().default(""),metadata:g.jsonb().default({}),jsonld:g.jsonb().default({}),globalJsonLds:g.jsonb().default([]),designTokens:g.jsonb()},e=>[g.foreignKey({columns:[e.app],foreignColumns:[ge.id],name:"app_pages_online_app_fkey"})]),ge=g.pgTable("apps",{id:g.uuid().defaultRandom().primaryKey().notNull(),createdAt:g.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),name:g.text(),user:g.text(),settings:g.jsonb().default({}),theme:g.jsonb().default({}),fallbackLang:g.text().default("en"),languages:g.jsonb().default([]),changes:g.jsonb(),deletedAt:g.timestamp({withTimezone:!0,mode:"string"}),client:g.uuid(),designTokens:g.jsonb().default({})}),mt=g.pgTable("apps_online",{id:g.uuid().primaryKey().notNull(),createdAt:g.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),name:g.text(),user:g.text(),settings:g.jsonb().default({}),theme:g.jsonb().default({}),fallbackLang:g.text().default("en"),languages:g.jsonb().default([]),changes:g.jsonb(),apiKey:g.text(),deletedAt:g.timestamp({withTimezone:!0,mode:"string"}),client:g.uuid(),designTokens:g.jsonb().default({})}),K=g.pgTable("libraries",{id:g.uuid().defaultRandom().primaryKey().notNull(),createdAt:g.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),name:g.text(),app:g.uuid(),type:g.text(),status:g.text().default("active").notNull(),client:g.uuid()},e=>[g.foreignKey({columns:[e.app],foreignColumns:[ge.id],name:"libraries_app_fkey"})]),xv=g.pgTable("app_form_submissions",{id:g.uuid().defaultRandom().primaryKey().notNull(),createdAt:g.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),app:g.uuid(),formData:g.json(),additionalData:g.json(),formName:g.text().default(""),pageUrl:g.text()},e=>[g.foreignKey({columns:[e.app],foreignColumns:[ge.id],name:"app_form_submissions_app_fkey"})]),f=g.pgTable("app_pages",{createdAt:g.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),slug:g.text().notNull(),lang:g.text().default("").notNull(),seo:g.jsonb().default({}),app:g.uuid().notNull(),id:g.uuid().defaultRandom().primaryKey().notNull(),name:g.text().notNull(),primaryPage:g.uuid(),blocks:g.jsonb().default([]),currentEditor:g.text(),changes:g.jsonb(),online:g.boolean().default(!1),parent:g.uuid(),pageType:g.text(),lastSaved:g.timestamp({withTimezone:!0,mode:"string"}),dynamic:g.boolean().default(!1),libRefId:g.uuid(),dynamicSlugCustom:g.text().default(""),metadata:g.jsonb().default({}),jsonld:g.jsonb().default({}),globalJsonLds:g.jsonb().default([]),links:g.text(),partialBlocks:g.text(),designTokens:g.jsonb()},e=>[g.foreignKey({columns:[e.app],foreignColumns:[ge.id],name:"app_pages_app_fkey"}),g.foreignKey({columns:[e.parent],foreignColumns:[e.id],name:"app_pages_parent_fkey"})]),Se=g.pgTable("app_pages_revisions",{createdAt:g.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),slug:g.text().notNull(),lang:g.text().default("").notNull(),seo:g.jsonb().default({}),app:g.uuid().notNull(),id:g.uuid().notNull(),name:g.text().notNull(),primaryPage:g.uuid(),blocks:g.jsonb().default([]),currentEditor:g.text(),changes:g.jsonb(),partialBlocks:g.text(),links:g.text(),online:g.boolean().default(!0),pageType:g.text(),parent:g.uuid(),lastSaved:g.timestamp({withTimezone:!0,mode:"string"}),dynamic:g.boolean().default(!1),uid:g.uuid().defaultRandom().primaryKey().notNull(),type:g.text(),libRefId:g.uuid(),dynamicSlugCustom:g.text().default(""),metadata:g.jsonb().default({}),jsonld:g.jsonb().default({}),globalJsonLds:g.jsonb().default([]),designTokens:g.jsonb()},e=>[g.foreignKey({columns:[e.app],foreignColumns:[ge.id],name:"app_pages_revisions_app_fkey"})]),dr=g.pgTable("app_users",{id:g.uuid().defaultRandom().primaryKey().notNull(),createdAt:g.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),user:g.text(),app:g.uuid(),role:g.text(),permissions:g.jsonb(),status:g.text().default("active").notNull()},e=>[g.foreignKey({columns:[e.app],foreignColumns:[ge.id],name:"app_users_app_fkey"})]),te=g.pgTable("library_templates",{id:g.uuid().defaultRandom().primaryKey().notNull(),createdAt:g.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),user:g.text(),name:g.text(),description:g.text(),pageId:g.uuid(),pageType:g.text(),library:g.uuid(),preview:g.text()},e=>[g.foreignKey({columns:[e.library],foreignColumns:[K.id],name:"library_templates_library_fkey"})]),re=g.pgTable("library_items",{id:g.uuid().defaultRandom().primaryKey().notNull(),createdAt:g.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),library:g.uuid(),name:g.text(),description:g.text(),blocks:g.jsonb().default([]),preview:g.text(),group:g.text().default("general"),user:g.text(),html:g.text()},e=>[g.foreignKey({columns:[e.library],foreignColumns:[K.id],name:"library_items_library_fkey"})]),va=g.pgTable("ai_logs",{id:g.bigint({mode:"number"}).primaryKey().generatedByDefaultAsIdentity({name:"ai_logs_id_seq",startWith:1,increment:1,minValue:1,maxValue:9223372036854776e3,cache:1}),createdAt:g.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),model:g.text(),totalDuration:g.numeric(),error:g.text(),totalTokens:g.numeric(),tokenUsage:g.jsonb(),user:g.text(),client:g.uuid().defaultRandom(),cost:g.doublePrecision().default(h.sql`'0'`),prompt:g.text(),app:g.uuid()},e=>[g.foreignKey({columns:[e.app],foreignColumns:[ge.id],name:"ai_logs_app_fkey"})]),au=Object.freeze(Object.defineProperty({__proto__:null,aiLogs:va,appAssets:Nv,appFormSubmissions:xv,appPages:f,appPagesMetadataIdSeq:Sv,appPagesOnline:he,appPagesRevisions:Se,appUsers:dr,apps:ge,appsOnline:mt,libraries:K,libraryItems:re,libraryTemplates:te,webhookEventsIdSeq:Av},Symbol.toStringTag,{value:"Module"}));Iv.config();let Sr=process.env.CHAIBUILDER_DATABASE_URL;if(!Sr)throw new Error("Database not configured. Please set CHAIBUILDER_DATABASE_URL environment variable.");const Ov=e=>e.trim().replace(/^"|"$/g,"");Sr=Ov(Sr);const Rv=e=>e.startsWith("postgresql://")||e.startsWith("postgres://");if(!Rv(Sr))throw new Error("Database connection string is invalid. Please check your CHAIBUILDER_DATABASE_URL environment variable.");const kv=_u(Sr,{max:10}),S=wu.drizzle(kv,{schema:au});async function A(e){try{return{data:await e(),error:null}}catch(t){return{data:null,error:t}}}const Pv=e=>{var t;return((t=Tu.AI_MODELS.find(r=>r.id===e))==null?void 0:t.multiplier)||1};async function Cv({userId:e,startTime:t,error:r,model:n,prompt:a,appId:o}){var c;const s=String(r),i=t>0?new Date().getTime()-t:0,l={model:n,totalDuration:String(i),error:s,totalTokens:"0",tokenUsage:{},cost:0,prompt:a,user:e,client:((c=process==null?void 0:process.env)==null?void 0:c.CHAIBUILDER_CLIENT_ID)||null,app:o},{error:u}=await A(()=>S.insert(va).values(l));u&&console.error("Error logging AI request error:",u)}async function Dv({userId:e,startTime:t,arg:r,prompt:n,model:a,appId:o}){var p,w,b;const s=r==null?void 0:r.totalUsage,i=(w=(p=r==null?void 0:r.providerMetadata)==null?void 0:p.gateway)==null?void 0:w.cost,l=t>0?Math.floor(new Date().getTime()-t):0,u=n.indexOf("USER REQUEST");n=n.substring(u).trim();const c={model:a,totalDuration:String(l),error:null,totalTokens:String(Math.round(((s==null?void 0:s.totalTokens)??0)*Pv(a))),tokenUsage:s,cost:i,prompt:n,user:e,client:((b=process==null?void 0:process.env)==null?void 0:b.CHAIBUILDER_CLIENT_ID)||null,app:o},{error:d}=await A(()=>S.insert(va).values(c));d&&console.error("Error logging AI request:",d)}class T extends Error{constructor(t,r="ACTION_ERROR",n=400,a){super(t),this.code=r,this.status=n,this.error=a,this.name="ActionError",a&&console.error(a)}}class Z{constructor(){Ie(this,"context",null)}validate(t){if(!t)return!0;try{return this.getValidationSchema().parse(t),!0}catch{return!1}}getValidationErrors(t){if(!t)return null;try{return this.getValidationSchema().parse(t),null}catch(r){return r instanceof v.z.ZodError?r.issues.map(a=>`${a.path.join(".")}: ${a.message}`).join(", "):null}}setContext(t){this.context=t}async getUserAccess(){if(!this.context)throw new T("Context not set","CONTEXT_NOT_SET",500);const{appId:t,userId:r}=this.context;if(!r)throw new T("User ID not found in context","UNAUTHORIZED",401);const{data:n,error:a}=await A(()=>S.select().from(dr).where(h.and(h.eq(dr.app,t),h.eq(dr.user,r),h.eq(dr.status,"active"))));if(a)throw new T("Error checking user access","ERROR_CHECKING_USER_ACCESS",500,a);if(!n||n.length===0)throw new T("User does not have access to this app","UNAUTHORIZED",401);return n[0]}async verifyAccess(){await this.getUserAccess()}handleError(t){if(t instanceof T)throw t;if(t instanceof v.z.ZodError){const r=t.issues.map(n=>`${n.path.join(".")}: ${n.message}`).join(", ");throw new T(`Validation failed: ${r}`,"VALIDATION_ERROR")}else{const r=t instanceof Error?t.message:"Unknown error";throw new T(r,"ACTION_ERROR")}}}class zv extends Z{getValidationSchema(){return v.z.any()}async execute(t){if(!this.context)throw new Error("Context not set");const r=new Date().getTime(),{userId:n,appId:a}=this.context,o=new _v({onFinish:l=>{var u,c;try{Dv({arg:l,prompt:((c=(u=t.messages)==null?void 0:u[t.messages.length-1])==null?void 0:c.content)||"",userId:n,model:t.model||"",startTime:r,appId:a})}catch(d){console.error("Error logging AI request:",d)}},onError:l=>{var u,c;try{Cv({error:l,userId:n,startTime:r,model:t.model||"",prompt:((c=(u=t.messages)==null?void 0:u[t.messages.length-1])==null?void 0:c.content)||"",appId:a})}catch(d){console.error("Error logging AI request error:",d)}}}),s={messages:t.messages||[],image:t.image,model:t.model,initiator:t.initiator||null};return{_streamingResponse:!0,_streamResult:await o.handleRequest(s)}}}class $v extends Z{getValidationSchema(){return v.z.any()}async execute(){const t=await this.getUserAccess();return{access:!0,role:t.role||"user",permissions:t.permissions||null}}}class Mv extends Z{getValidationSchema(){return v.z.object({name:v.z.string().min(1),slug:v.z.string(),pageType:v.z.string(),parent:v.z.string().nullable().optional(),lang:v.z.string().optional(),primaryPage:v.z.string().nullable().optional(),dynamic:v.z.boolean().optional(),hasSlug:v.z.boolean().optional(),template:v.z.string().optional(),seo:v.z.record(v.z.string(),v.z.any()).optional(),jsonLD:v.z.record(v.z.string(),v.z.any()).optional(),dynamicSlugCustom:v.z.string().optional()}).refine(t=>t.lang&&t.lang!==""?!!t.primaryPage:!0,{message:"primaryPage is required when lang option is not empty",path:["primaryPage"]})}async execute(t){if(await this.verifyAccess(),!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{appId:r}=this.context;if((t.hasSlug??t.pageType!=="global")&&t.slug&&await this.doesSlugExist(t.slug,t.pageType))throw new T("Slug already exists","SLUG_ALREADY_USED");let a=[];t.template&&(a=await this.getTemplateBlocks(t.template,r));const o={app:r,name:t.name,slug:t.slug,pageType:t.pageType,parent:t.parent??null,lang:t.primaryPage?t.lang??"":"",primaryPage:t.primaryPage??null,dynamic:t.dynamic??!1,dynamicSlugCustom:t.dynamicSlugCustom??"",blocks:a,seo:t.seo??{title:t.name,jsonLD:"",noIndex:!1,ogImage:"",ogTitle:"",noFollow:"",description:"",searchTitle:"",cononicalUrl:"",ogDescription:"",searchDescription:""},jsonld:{},online:!1,currentEditor:null,changes:null,libRefId:null,lastSaved:null},{data:s,error:i}=await A(()=>S.insert(f).values(o).returning({id:f.id,name:f.name,slug:f.slug,lang:f.lang,pageType:f.pageType,parent:f.parent,online:f.online,primaryPage:f.primaryPage}));if(i)throw new T("Failed to create page","ERROR_CREATING_PAGE",500,i);if(!s||s.length===0)throw new T("Failed to create page","INSERT_FAILED");const l=s[0];return{page:q.omit(l.primaryPage?{...l,id:l.primaryPage}:l,["primaryPage"])}}async doesSlugExist(t,r){if(!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{appId:n}=this.context,{data:a,error:o}=await A(()=>S.query.appPages.findFirst({where:h.and(h.eq(f.slug,t),h.eq(f.pageType,r),h.eq(f.app,n)),columns:{id:!0}}));if(o)throw new T(`${o.message}`,"SLUG_CHECK_FAILED");return!!a}async getTemplateBlocks(t,r){const{data:n,error:a}=await A(()=>S.select({template:te,library:{id:K.id,app:K.app,name:K.name}}).from(te).leftJoin(K,h.eq(te.library,K.id)).where(h.eq(te.id,t)).limit(1).then(d=>d[0]));if(a)throw new T(`Failed to fetch template: ${a.message||"Unknown database error"}`,"ERROR_GETTING_TEMPLATE_BLOCKS",500,a);if(!n||!n.template||!n.library)throw new T(`Template not found with ID: ${t}`,"TEMPLATE_NOT_FOUND");const o=n.template,s=n.library,{data:i,error:l}=await A(()=>S.query.appPages.findFirst({where:h.eq(f.id,o.pageId),columns:{blocks:!0}}));if(l)throw new T(`Failed to fetch template blocks: ${l.message||"Unknown database error"}`,"ERROR_GETTING_TEMPLATE_BLOCKS",500,l);if(!i)throw new T(`Template page not found with ID: ${o.pageId}`,"TEMPLATE_PAGE_NOT_FOUND");let u=i.blocks||[];if(u=u.map(d=>d._type==="GlobalBlock"&&!q.isEmpty(d.globalBlock)?{...d,_type:"PartialBlock",partialBlockId:d.globalBlock}:d),!(s.app===r)){const d=s.name||"",p=u.filter(b=>b._type==="PartialBlock"&&!q.isEmpty(b.partialBlockId)),w=await Promise.all(p.map(({partialBlockId:b})=>this.copyPartialBlockFromTemplate(b,d,r)));u=u.map(b=>{const _=w.find(I=>(I==null?void 0:I.libRefId)===b.partialBlockId);return _&&(b._name=`${d} - ${b._name}`,b.partialBlockId=_.id),b})}return u}async copyPartialBlockFromTemplate(t,r,n){const{data:a,error:o}=await A(()=>S.query.appPages.findFirst({where:h.eq(f.id,t)}));if(o||!a)return console.error("Failed to fetch partial block:",o),null;const s={...a,id:void 0,app:n,libRefId:t,name:`${r} - ${a.name}`,createdAt:void 0,online:!1,currentEditor:null,changes:null,lastSaved:null},{data:i,error:l}=await A(()=>S.insert(f).values(s).returning({id:f.id,libRefId:f.libRefId}));if(l||!i||i.length===0)return console.error("Failed to create partial block copy:",l),null;const u=i[0];return{id:u.id,libRefId:u.libRefId||t}}}class Fv extends Z{getValidationSchema(){return v.z.object({id:v.z.string().min(1)})}async execute(t){if(await this.verifyAccess(),!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{id:r}=t,{error:n}=await A(()=>S.delete(re).where(h.eq(re.id,r)));if(n)throw new T("Failed to delete library item","DELETE_LIBRARY_ITEM_FAILED",500,n);return{success:!0}}}const ie=(e,t)=>(console.error(t),new Error(e));class Ar{constructor(t,r=!1){Ie(this,"appId");Ie(this,"enableLogging");this.appId=t,this.enableLogging=r}async getPagesTree(){const{data:t,error:r}=await A(()=>S.select({id:f.id,name:f.name,slug:f.slug,pageType:f.pageType,primaryPage:f.primaryPage,parent:f.parent,lang:f.lang,dynamic:f.dynamic}).from(f).where(h.eq(f.app,this.appId)));if(r)throw ie("ERROR_GETTING_PAGES",r);const n=(t==null?void 0:t.filter(i=>i.primaryPage===null))||[],a=(t==null?void 0:t.filter(i=>i.primaryPage!==null))||[],o=this.buildPrimaryTree(n);this.enableLogging&&(console.log(`
417
+ `),L=L.replace(/\\r/g,"\r")),x[se]=L}return x}function l(y){y=y||{};const x=b(y);y.path=x;const D=O.configDotenv(y);if(!D.parsed){const X=new Error(`MISSING_DATA: Cannot parse ${x} for an unknown reason`);throw X.code="MISSING_DATA",X}const F=p(y).split(","),se=F.length;let L;for(let X=0;X<se;X++)try{const Q=F[X].trim(),le=w(D,Q);L=O.decrypt(le.ciphertext,le.key);break}catch(Q){if(X+1>=se)throw Q}return O.parse(L)}function u(y){console.log(`[dotenv@${o}][WARN] ${y}`)}function c(y){console.log(`[dotenv@${o}][DEBUG] ${y}`)}function d(y){console.log(`[dotenv@${o}] ${y}`)}function p(y){return y&&y.DOTENV_KEY&&y.DOTENV_KEY.length>0?y.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function w(y,x){let D;try{D=new URL(x)}catch(Q){if(Q.code==="ERR_INVALID_URL"){const le=new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development");throw le.code="INVALID_DOTENV_KEY",le}throw Q}const F=D.password;if(!F){const Q=new Error("INVALID_DOTENV_KEY: Missing key part");throw Q.code="INVALID_DOTENV_KEY",Q}const se=D.searchParams.get("environment");if(!se){const Q=new Error("INVALID_DOTENV_KEY: Missing environment part");throw Q.code="INVALID_DOTENV_KEY",Q}const L=`DOTENV_VAULT_${se.toUpperCase()}`,X=y.parsed[L];if(!X){const Q=new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${L} in your .env.vault file.`);throw Q.code="NOT_FOUND_DOTENV_ENVIRONMENT",Q}return{ciphertext:X,key:F}}function b(y){let x=null;if(y&&y.path&&y.path.length>0)if(Array.isArray(y.path))for(const D of y.path)e.existsSync(D)&&(x=D.endsWith(".vault")?D:`${D}.vault`);else x=y.path.endsWith(".vault")?y.path:`${y.path}.vault`;else x=t.resolve(process.cwd(),".env.vault");return e.existsSync(x)?x:null}function _(y){return y[0]==="~"?t.join(r.homedir(),y.slice(1)):y}function I(y){const x=!!(y&&y.debug),D=y&&"quiet"in y?y.quiet:!0;(x||!D)&&d("Loading env from encrypted .env.vault");const F=O._parseVault(y);let se=process.env;return y&&y.processEnv!=null&&(se=y.processEnv),O.populate(se,F,y),{parsed:F}}function P(y){const x=t.resolve(process.cwd(),".env");let D="utf8";const F=!!(y&&y.debug),se=y&&"quiet"in y?y.quiet:!0;y&&y.encoding?D=y.encoding:F&&c("No encoding is specified. UTF-8 is used by default");let L=[x];if(y&&y.path)if(!Array.isArray(y.path))L=[_(y.path)];else{L=[];for(const xe of y.path)L.push(_(xe))}let X;const Q={};for(const xe of L)try{const Te=O.parse(e.readFileSync(xe,{encoding:D}));O.populate(Q,Te,y)}catch(Te){F&&c(`Failed to load ${xe} ${Te.message}`),X=Te}let le=process.env;if(y&&y.processEnv!=null&&(le=y.processEnv),O.populate(le,Q,y),F||!se){const xe=Object.keys(Q).length,Te=[];for(const ct of L)try{const Fe=t.relative(process.cwd(),ct);Te.push(Fe)}catch(Fe){F&&c(`Failed to load ${ct} ${Fe.message}`),X=Fe}d(`injecting env (${xe}) from ${Te.join(",")}`)}return X?{parsed:Q,error:X}:{parsed:Q}}function C(y){if(p(y).length===0)return O.configDotenv(y);const x=b(y);return x?O._configVault(y):(u(`You set DOTENV_KEY but you are missing a .env.vault file at ${x}. Did you forget to build it?`),O.configDotenv(y))}function m(y,x){const D=Buffer.from(x.slice(-64),"hex");let F=Buffer.from(y,"base64");const se=F.subarray(0,12),L=F.subarray(-16);F=F.subarray(12,-16);try{const X=n.createDecipheriv("aes-256-gcm",D,se);return X.setAuthTag(L),`${X.update(F)}${X.final()}`}catch(X){const Q=X instanceof RangeError,le=X.message==="Invalid key length",xe=X.message==="Unsupported state or unable to authenticate data";if(Q||le){const Te=new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw Te.code="INVALID_DOTENV_KEY",Te}else if(xe){const Te=new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw Te.code="DECRYPTION_FAILED",Te}else throw X}}function z(y,x,D={}){const F=!!(D&&D.debug),se=!!(D&&D.override);if(typeof x!="object"){const L=new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");throw L.code="OBJECT_REQUIRED",L}for(const L of Object.keys(x))Object.prototype.hasOwnProperty.call(y,L)?(se===!0&&(y[L]=x[L]),F&&c(se===!0?`"${L}" is already defined and WAS overwritten`:`"${L}" is already defined and was NOT overwritten`)):y[L]=x[L]}const O={configDotenv:P,_configVault:I,_parseVault:l,config:C,decrypt:m,parse:i,populate:z};return Qe.exports.configDotenv=O.configDotenv,Qe.exports._configVault=O._configVault,Qe.exports._parseVault=O._parseVault,Qe.exports.config=O.config,Qe.exports.decrypt=O.decrypt,Qe.exports.parse=O.parse,Qe.exports.populate=O.populate,Qe.exports=O,Qe.exports}var Iv=nu();const Sv=mu.getDefaultExportFromCjs(Iv),Av=g.pgSequence("app_pages_metadata_id_seq",{startWith:"1",increment:"1",minValue:"1",maxValue:"9223372036854775807",cache:"1",cycle:!1}),Nv=g.pgSequence("webhook_events_id_seq",{startWith:"1",increment:"1",minValue:"1",maxValue:"9223372036854775807",cache:"1",cycle:!1}),xv=g.pgTable("app_assets",{id:g.uuid().defaultRandom().primaryKey().notNull(),app:g.uuid(),name:g.text(),description:g.text(),url:g.text(),size:g.text(),folderId:g.text(),thumbnailUrl:g.text(),duration:g.numeric(),format:g.text(),width:g.numeric(),height:g.numeric(),createdBy:g.text(),createdAt:g.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),type:g.text(),updatedAt:g.timestamp({withTimezone:!0,mode:"string"})},e=>[g.foreignKey({columns:[e.app],foreignColumns:[ge.id],name:"app_assets_app_fkey"})]),he=g.pgTable("app_pages_online",{createdAt:g.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),slug:g.text().notNull(),lang:g.text().default("").notNull(),seo:g.jsonb().default({}),app:g.uuid().notNull(),id:g.uuid().primaryKey().notNull(),name:g.text().notNull(),primaryPage:g.uuid(),blocks:g.jsonb().default([]),currentEditor:g.text(),changes:g.jsonb(),partialBlocks:g.text(),links:g.text(),online:g.boolean().default(!0),pageType:g.text(),parent:g.uuid(),lastSaved:g.timestamp({withTimezone:!0,mode:"string"}),dynamic:g.boolean().default(!1),libRefId:g.uuid(),dynamicSlugCustom:g.text().default(""),metadata:g.jsonb().default({}),jsonld:g.jsonb().default({}),globalJsonLds:g.jsonb().default([]),designTokens:g.jsonb()},e=>[g.foreignKey({columns:[e.app],foreignColumns:[ge.id],name:"app_pages_online_app_fkey"})]),ge=g.pgTable("apps",{id:g.uuid().defaultRandom().primaryKey().notNull(),createdAt:g.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),name:g.text(),user:g.text(),settings:g.jsonb().default({}),theme:g.jsonb().default({}),fallbackLang:g.text().default("en"),languages:g.jsonb().default([]),changes:g.jsonb(),deletedAt:g.timestamp({withTimezone:!0,mode:"string"}),client:g.uuid(),designTokens:g.jsonb().default({})}),mt=g.pgTable("apps_online",{id:g.uuid().primaryKey().notNull(),createdAt:g.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),name:g.text(),user:g.text(),settings:g.jsonb().default({}),theme:g.jsonb().default({}),fallbackLang:g.text().default("en"),languages:g.jsonb().default([]),changes:g.jsonb(),apiKey:g.text(),deletedAt:g.timestamp({withTimezone:!0,mode:"string"}),client:g.uuid(),designTokens:g.jsonb().default({})}),K=g.pgTable("libraries",{id:g.uuid().defaultRandom().primaryKey().notNull(),createdAt:g.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),name:g.text(),app:g.uuid(),type:g.text(),status:g.text().default("active").notNull(),client:g.uuid()},e=>[g.foreignKey({columns:[e.app],foreignColumns:[ge.id],name:"libraries_app_fkey"})]),Ov=g.pgTable("app_form_submissions",{id:g.uuid().defaultRandom().primaryKey().notNull(),createdAt:g.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),app:g.uuid(),formData:g.json(),additionalData:g.json(),formName:g.text().default(""),pageUrl:g.text()},e=>[g.foreignKey({columns:[e.app],foreignColumns:[ge.id],name:"app_form_submissions_app_fkey"})]),f=g.pgTable("app_pages",{createdAt:g.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),slug:g.text().notNull(),lang:g.text().default("").notNull(),seo:g.jsonb().default({}),app:g.uuid().notNull(),id:g.uuid().defaultRandom().primaryKey().notNull(),name:g.text().notNull(),primaryPage:g.uuid(),blocks:g.jsonb().default([]),currentEditor:g.text(),changes:g.jsonb(),online:g.boolean().default(!1),parent:g.uuid(),pageType:g.text(),lastSaved:g.timestamp({withTimezone:!0,mode:"string"}),dynamic:g.boolean().default(!1),libRefId:g.uuid(),dynamicSlugCustom:g.text().default(""),metadata:g.jsonb().default({}),jsonld:g.jsonb().default({}),globalJsonLds:g.jsonb().default([]),links:g.text(),partialBlocks:g.text(),designTokens:g.jsonb()},e=>[g.foreignKey({columns:[e.app],foreignColumns:[ge.id],name:"app_pages_app_fkey"}),g.foreignKey({columns:[e.parent],foreignColumns:[e.id],name:"app_pages_parent_fkey"})]),Se=g.pgTable("app_pages_revisions",{createdAt:g.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),slug:g.text().notNull(),lang:g.text().default("").notNull(),seo:g.jsonb().default({}),app:g.uuid().notNull(),id:g.uuid().notNull(),name:g.text().notNull(),primaryPage:g.uuid(),blocks:g.jsonb().default([]),currentEditor:g.text(),changes:g.jsonb(),partialBlocks:g.text(),links:g.text(),online:g.boolean().default(!0),pageType:g.text(),parent:g.uuid(),lastSaved:g.timestamp({withTimezone:!0,mode:"string"}),dynamic:g.boolean().default(!1),uid:g.uuid().defaultRandom().primaryKey().notNull(),type:g.text(),libRefId:g.uuid(),dynamicSlugCustom:g.text().default(""),metadata:g.jsonb().default({}),jsonld:g.jsonb().default({}),globalJsonLds:g.jsonb().default([]),designTokens:g.jsonb()},e=>[g.foreignKey({columns:[e.app],foreignColumns:[ge.id],name:"app_pages_revisions_app_fkey"})]),dr=g.pgTable("app_users",{id:g.uuid().defaultRandom().primaryKey().notNull(),createdAt:g.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),user:g.text(),app:g.uuid(),role:g.text(),permissions:g.jsonb(),status:g.text().default("active").notNull()},e=>[g.foreignKey({columns:[e.app],foreignColumns:[ge.id],name:"app_users_app_fkey"})]),te=g.pgTable("library_templates",{id:g.uuid().defaultRandom().primaryKey().notNull(),createdAt:g.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),user:g.text(),name:g.text(),description:g.text(),pageId:g.uuid(),pageType:g.text(),library:g.uuid(),preview:g.text()},e=>[g.foreignKey({columns:[e.library],foreignColumns:[K.id],name:"library_templates_library_fkey"})]),re=g.pgTable("library_items",{id:g.uuid().defaultRandom().primaryKey().notNull(),createdAt:g.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),library:g.uuid(),name:g.text(),description:g.text(),blocks:g.jsonb().default([]),preview:g.text(),group:g.text().default("general"),user:g.text(),html:g.text()},e=>[g.foreignKey({columns:[e.library],foreignColumns:[K.id],name:"library_items_library_fkey"})]),va=g.pgTable("ai_logs",{id:g.bigint({mode:"number"}).primaryKey().generatedByDefaultAsIdentity({name:"ai_logs_id_seq",startWith:1,increment:1,minValue:1,maxValue:9223372036854776e3,cache:1}),createdAt:g.timestamp({withTimezone:!0,mode:"string"}).defaultNow().notNull(),model:g.text(),totalDuration:g.numeric(),error:g.text(),totalTokens:g.numeric(),tokenUsage:g.jsonb(),user:g.text(),client:g.uuid().defaultRandom(),cost:g.doublePrecision().default(h.sql`'0'`),prompt:g.text(),app:g.uuid()},e=>[g.foreignKey({columns:[e.app],foreignColumns:[ge.id],name:"ai_logs_app_fkey"})]),au=Object.freeze(Object.defineProperty({__proto__:null,aiLogs:va,appAssets:xv,appFormSubmissions:Ov,appPages:f,appPagesMetadataIdSeq:Av,appPagesOnline:he,appPagesRevisions:Se,appUsers:dr,apps:ge,appsOnline:mt,libraries:K,libraryItems:re,libraryTemplates:te,webhookEventsIdSeq:Nv},Symbol.toStringTag,{value:"Module"}));Sv.config();let Sr=process.env.CHAIBUILDER_DATABASE_URL;if(!Sr)throw new Error("Database not configured. Please set CHAIBUILDER_DATABASE_URL environment variable.");const Rv=e=>e.trim().replace(/^"|"$/g,"");Sr=Rv(Sr);const kv=e=>e.startsWith("postgresql://")||e.startsWith("postgres://");if(!kv(Sr))throw new Error("Database connection string is invalid. Please check your CHAIBUILDER_DATABASE_URL environment variable.");const Pv=Tu(Sr,{max:10}),S=_u.drizzle(Pv,{schema:au});async function A(e){try{return{data:await e(),error:null}}catch(t){return{data:null,error:t}}}const Cv=e=>{var t;return((t=Eu.AI_MODELS.find(r=>r.id===e))==null?void 0:t.multiplier)||1};async function Dv({userId:e,startTime:t,error:r,model:n,prompt:a,appId:o}){var c;const s=String(r),i=t>0?new Date().getTime()-t:0,l={model:n,totalDuration:String(i),error:s,totalTokens:"0",tokenUsage:{},cost:0,prompt:a,user:e,client:((c=process==null?void 0:process.env)==null?void 0:c.CHAIBUILDER_CLIENT_ID)||null,app:o},{error:u}=await A(()=>S.insert(va).values(l));u&&console.error("Error logging AI request error:",u)}async function zv({userId:e,startTime:t,arg:r,prompt:n,model:a,appId:o}){var p,w,b;const s=r==null?void 0:r.totalUsage,i=(w=(p=r==null?void 0:r.providerMetadata)==null?void 0:p.gateway)==null?void 0:w.cost,l=t>0?Math.floor(new Date().getTime()-t):0,u=n.indexOf("USER REQUEST");n=n.substring(u).trim();const c={model:a,totalDuration:String(l),error:null,totalTokens:String(Math.round(((s==null?void 0:s.totalTokens)??0)*Cv(a))),tokenUsage:s,cost:i,prompt:n,user:e,client:((b=process==null?void 0:process.env)==null?void 0:b.CHAIBUILDER_CLIENT_ID)||null,app:o},{error:d}=await A(()=>S.insert(va).values(c));d&&console.error("Error logging AI request:",d)}class T extends Error{constructor(t,r="ACTION_ERROR",n=400,a){super(t),this.code=r,this.status=n,this.error=a,this.name="ActionError",a&&console.error(a)}}class Z{constructor(){Ie(this,"context",null)}validate(t){if(!t)return!0;try{return this.getValidationSchema().parse(t),!0}catch{return!1}}getValidationErrors(t){if(!t)return null;try{return this.getValidationSchema().parse(t),null}catch(r){return r instanceof v.z.ZodError?r.issues.map(a=>`${a.path.join(".")}: ${a.message}`).join(", "):null}}setContext(t){this.context=t}async getUserAccess(){if(!this.context)throw new T("Context not set","CONTEXT_NOT_SET",500);const{appId:t,userId:r}=this.context;if(!r)throw new T("User ID not found in context","UNAUTHORIZED",401);const{data:n,error:a}=await A(()=>S.select().from(dr).where(h.and(h.eq(dr.app,t),h.eq(dr.user,r),h.eq(dr.status,"active"))));if(a)throw new T("Error checking user access","ERROR_CHECKING_USER_ACCESS",500,a);if(!n||n.length===0)throw new T("User does not have access to this app","UNAUTHORIZED",401);return n[0]}async verifyAccess(){await this.getUserAccess()}handleError(t){if(t instanceof T)throw t;if(t instanceof v.z.ZodError){const r=t.issues.map(n=>`${n.path.join(".")}: ${n.message}`).join(", ");throw new T(`Validation failed: ${r}`,"VALIDATION_ERROR")}else{const r=t instanceof Error?t.message:"Unknown error";throw new T(r,"ACTION_ERROR")}}}class $v extends Z{getValidationSchema(){return v.z.any()}async execute(t){if(!this.context)throw new Error("Context not set");const r=new Date().getTime(),{userId:n,appId:a}=this.context,o=new Tv({onFinish:l=>{var u,c;try{zv({arg:l,prompt:((c=(u=t.messages)==null?void 0:u[t.messages.length-1])==null?void 0:c.content)||"",userId:n,model:t.model||"",startTime:r,appId:a})}catch(d){console.error("Error logging AI request:",d)}},onError:l=>{var u,c;try{Dv({error:l,userId:n,startTime:r,model:t.model||"",prompt:((c=(u=t.messages)==null?void 0:u[t.messages.length-1])==null?void 0:c.content)||"",appId:a})}catch(d){console.error("Error logging AI request error:",d)}}}),s={messages:t.messages||[],image:t.image,model:t.model,initiator:t.initiator||null};return{_streamingResponse:!0,_streamResult:await o.handleRequest(s)}}}class Mv extends Z{getValidationSchema(){return v.z.any()}async execute(){const t=await this.getUserAccess();return{access:!0,role:t.role||"user",permissions:t.permissions||null}}}class Fv extends Z{getValidationSchema(){return v.z.object({name:v.z.string().min(1),slug:v.z.string(),pageType:v.z.string(),parent:v.z.string().nullable().optional(),lang:v.z.string().optional(),primaryPage:v.z.string().nullable().optional(),dynamic:v.z.boolean().optional(),hasSlug:v.z.boolean().optional(),template:v.z.string().optional(),seo:v.z.record(v.z.string(),v.z.any()).optional(),jsonLD:v.z.record(v.z.string(),v.z.any()).optional(),dynamicSlugCustom:v.z.string().optional()}).refine(t=>t.lang&&t.lang!==""?!!t.primaryPage:!0,{message:"primaryPage is required when lang option is not empty",path:["primaryPage"]})}async execute(t){if(await this.verifyAccess(),!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{appId:r}=this.context;if((t.hasSlug??t.pageType!=="global")&&t.slug&&await this.doesSlugExist(t.slug,t.pageType))throw new T("Slug already exists","SLUG_ALREADY_USED");let a=[];t.template&&(a=await this.getTemplateBlocks(t.template,r));const o={app:r,name:t.name,slug:t.slug,pageType:t.pageType,parent:t.parent??null,lang:t.primaryPage?t.lang??"":"",primaryPage:t.primaryPage??null,dynamic:t.dynamic??!1,dynamicSlugCustom:t.dynamicSlugCustom??"",blocks:a,seo:t.seo??{title:t.name,jsonLD:"",noIndex:!1,ogImage:"",ogTitle:"",noFollow:"",description:"",searchTitle:"",cononicalUrl:"",ogDescription:"",searchDescription:""},jsonld:{},online:!1,currentEditor:null,changes:null,libRefId:null,lastSaved:null},{data:s,error:i}=await A(()=>S.insert(f).values(o).returning({id:f.id,name:f.name,slug:f.slug,lang:f.lang,pageType:f.pageType,parent:f.parent,online:f.online,primaryPage:f.primaryPage}));if(i)throw new T("Failed to create page","ERROR_CREATING_PAGE",500,i);if(!s||s.length===0)throw new T("Failed to create page","INSERT_FAILED");const l=s[0];return{page:j.omit(l.primaryPage?{...l,id:l.primaryPage}:l,["primaryPage"])}}async doesSlugExist(t,r){if(!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{appId:n}=this.context,{data:a,error:o}=await A(()=>S.query.appPages.findFirst({where:h.and(h.eq(f.slug,t),h.eq(f.pageType,r),h.eq(f.app,n)),columns:{id:!0}}));if(o)throw new T(`${o.message}`,"SLUG_CHECK_FAILED");return!!a}async getTemplateBlocks(t,r){const{data:n,error:a}=await A(()=>S.select({template:te,library:{id:K.id,app:K.app,name:K.name}}).from(te).leftJoin(K,h.eq(te.library,K.id)).where(h.eq(te.id,t)).limit(1).then(d=>d[0]));if(a)throw new T(`Failed to fetch template: ${a.message||"Unknown database error"}`,"ERROR_GETTING_TEMPLATE_BLOCKS",500,a);if(!n||!n.template||!n.library)throw new T(`Template not found with ID: ${t}`,"TEMPLATE_NOT_FOUND");const o=n.template,s=n.library,{data:i,error:l}=await A(()=>S.query.appPages.findFirst({where:h.eq(f.id,o.pageId),columns:{blocks:!0}}));if(l)throw new T(`Failed to fetch template blocks: ${l.message||"Unknown database error"}`,"ERROR_GETTING_TEMPLATE_BLOCKS",500,l);if(!i)throw new T(`Template page not found with ID: ${o.pageId}`,"TEMPLATE_PAGE_NOT_FOUND");let u=i.blocks||[];if(u=u.map(d=>d._type==="GlobalBlock"&&!j.isEmpty(d.globalBlock)?{...d,_type:"PartialBlock",partialBlockId:d.globalBlock}:d),!(s.app===r)){const d=s.name||"",p=u.filter(b=>b._type==="PartialBlock"&&!j.isEmpty(b.partialBlockId)),w=await Promise.all(p.map(({partialBlockId:b})=>this.copyPartialBlockFromTemplate(b,d,r)));u=u.map(b=>{const _=w.find(I=>(I==null?void 0:I.libRefId)===b.partialBlockId);return _&&(b._name=`${d} - ${b._name}`,b.partialBlockId=_.id),b})}return u}async copyPartialBlockFromTemplate(t,r,n){const{data:a,error:o}=await A(()=>S.query.appPages.findFirst({where:h.eq(f.id,t)}));if(o||!a)return console.error("Failed to fetch partial block:",o),null;const s={...a,id:void 0,app:n,libRefId:t,name:`${r} - ${a.name}`,createdAt:void 0,online:!1,currentEditor:null,changes:null,lastSaved:null},{data:i,error:l}=await A(()=>S.insert(f).values(s).returning({id:f.id,libRefId:f.libRefId}));if(l||!i||i.length===0)return console.error("Failed to create partial block copy:",l),null;const u=i[0];return{id:u.id,libRefId:u.libRefId||t}}}class Lv extends Z{getValidationSchema(){return v.z.object({id:v.z.string().min(1)})}async execute(t){if(await this.verifyAccess(),!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{id:r}=t,{error:n}=await A(()=>S.delete(re).where(h.eq(re.id,r)));if(n)throw new T("Failed to delete library item","DELETE_LIBRARY_ITEM_FAILED",500,n);return{success:!0}}}const ie=(e,t)=>(console.error(t),new Error(e));class Ar{constructor(t,r=!1){Ie(this,"appId");Ie(this,"enableLogging");this.appId=t,this.enableLogging=r}async getPagesTree(){const{data:t,error:r}=await A(()=>S.select({id:f.id,name:f.name,slug:f.slug,pageType:f.pageType,primaryPage:f.primaryPage,parent:f.parent,lang:f.lang,dynamic:f.dynamic}).from(f).where(h.eq(f.app,this.appId)));if(r)throw ie("ERROR_GETTING_PAGES",r);const n=(t==null?void 0:t.filter(i=>i.primaryPage===null))||[],a=(t==null?void 0:t.filter(i=>i.primaryPage!==null))||[],o=this.buildPrimaryTree(n);this.enableLogging&&(console.log(`
418
418
  === PRIMARY LANGUAGE PAGES TREE ===`),console.log(JSON.stringify(o,null,2)));const s=this.buildLanguageTree(a,o);return this.enableLogging&&(console.log(`
419
- === OTHER LANGUAGE PAGES TREE ===`),console.log(JSON.stringify(s,null,2))),{primaryTree:o,languageTree:s,totalPrimaryPages:n.length,totalLanguagePages:a.length}}buildPrimaryTree(t){const r=new Map;t.forEach(a=>{r.set(a.id,{id:a.id,pageType:a.pageType,primaryPage:a.primaryPage,parent:a.parent,name:a.name,dynamic:a.dynamic,slug:a.slug,children:[]})});const n=[];return t.forEach(a=>{const o=r.get(a.id);if(o)if(a.parent===null)n.push(o);else{const s=r.get(a.parent);s?s.children.push(o):n.push(o)}}),n}buildLanguageTree(t,r){const n=new Map;t.forEach(i=>{const l=i.primaryPage;n.has(l)||n.set(l,[]),n.get(l).push(i)});const a=(i,l)=>{const c=(n.get(i.id)||[]).find(p=>p.lang===l);if(!c)return null;const d={id:c.id,pageType:c.pageType,primaryPage:c.primaryPage,parent:c.parent,lang:c.lang,name:c.name,slug:c.slug,dynamic:c.dynamic,children:[]};return i.children.forEach(p=>{const w=a(p,l);w&&d.children.push(w)}),d},o=[],s=new Set;return t.forEach(i=>{i.lang&&s.add(i.lang)}),s.forEach(i=>{r.forEach(l=>{const u=a(l,i);u&&o.push(u)})}),o}findPageInPrimaryTree(t,r){for(const n of r){if(n.id===t)return n;if(n.children&&n.children.length>0){const a=this.findPageInPrimaryTree(t,n.children);if(a)return a}}return null}findPageInLanguageTree(t,r){for(const n of r){if(n.id===t)return n;if(n.children&&n.children.length>0){const a=this.findPageInLanguageTree(t,n.children);if(a)return a}}return null}calculateSlugFromParent(t,r,n){if(!t){const l=r.split("/").filter(Boolean);return"/"+(l[l.length-1]||"")}let a=this.findPageInPrimaryTree(t,n);if(!a&&(a=this.findPageInLanguageTree(t,n),!a))throw new Error("Parent page not found in tree");const o=r.split("/").filter(Boolean),s=o[o.length-1]||"";return`${a.slug.endsWith("/")?a.slug.slice(0,-1):a.slug}/${s}`}collectNestedChildIds(t){const r=[];for(const n of t.children){r.push(n.id);const a=this.collectNestedChildIds(n);r.push(...a)}return r}findLanguagePagesForPrimary(t,r){const n=[],a=o=>{for(const s of o)s.primaryPage===t&&n.push(s),s.children&&s.children.length>0&&a(s.children)};return a(r),n}collectNestedChildSlugs(t,r,n){const a=[],o=(s,i,l)=>{for(const u of s){const c=this.generateNewChildSlug(u.slug,i,l);a.push({id:u.id,oldSlug:u.slug,newSlug:c}),u.children&&u.children.length>0&&o(u.children,u.slug,c)}};return o(t.children,r,n),a}generateNewChildSlug(t,r,n){return t===r?n:t.startsWith(r+"/")?t.replace(r+"/",n+"/"):t.startsWith(r)&&t!==r?t.replace(r,n):`${n}/${t.split("/").pop()}`}}class Lv extends Z{constructor(){super(...arguments);Ie(this,"appId","");Ie(this,"userId","");Ie(this,"pageTreeBuilder")}getValidationSchema(){return v.z.object({id:v.z.string().min(1,"Page ID is required")})}async execute(r){if(await this.verifyAccess(),!this.context)throw new T("Context not set","CONTEXT_NOT_SET");this.appId=this.context.appId,this.userId=this.context.userId||"";try{return this.pageTreeBuilder=new Ar(this.appId),await this.deletePage(r.id)}catch(n){if(n instanceof T)throw n;const a=n instanceof Error?n.message:"Failed to delete page";throw new T(a,"DELETE_PAGE_ERROR")}}async deletePage(r){const n=await this.getCurrentEditor(r);if(n&&n!==this.userId)return{tags:[],code:"PAGE_LOCKED",editor:n};const a=await this.pageTreeBuilder.getPagesTree(),o=this.pageTreeBuilder.findPageInLanguageTree(r,a.languageTree),s=this.pageTreeBuilder.findPageInPrimaryTree(r,a.primaryTree);if(!o&&!s)throw ie("ERROR_DELETING_PAGE","Page not found");return o!==null?await this.deleteLanguagePageWithTree(r,o,a):await this.deletePrimaryPageWithTree(r,a)}async performDeletionWithIds(r){const n=[...r].reverse(),{error:a}=await A(()=>S.delete(te).where(h.inArray(te.pageId,n)));if(a)throw ie("DELETE_FAILED",a);const{error:o}=await A(()=>S.delete(Se).where(h.inArray(Se.id,n)));if(o)throw ie("DELETE_FAILED",o);const{error:s}=await A(()=>S.delete(f).where(h.inArray(f.id,n)));if(s)throw ie("DELETE_FAILED",s);const{error:i}=await A(()=>S.delete(he).where(h.inArray(he.id,n)));if(i)throw ie("DELETE_FAILED",i)}async deleteLanguagePageWithTree(r,n,a){const o=n.primaryPage;if(!this.pageTreeBuilder.findPageInPrimaryTree(o,a.primaryTree))throw ie("ERROR_DELETING_PAGE","Primary page not found");const i=this.pageTreeBuilder.collectNestedChildIds(n);return await this.performDeletionWithIds([r,...i]),{tags:[`page-${r}`,...i.map(l=>`page-${l}`)],totalDeleted:1+i.length}}async deletePrimaryPageWithTree(r,n){const a=this.pageTreeBuilder.findPageInPrimaryTree(r,n.primaryTree);if(!a)throw ie("ERROR_DELETING_PAGE","Primary page not found");const o=this.pageTreeBuilder.collectNestedChildIds(a),s=this.pageTreeBuilder.findLanguagePagesForPrimary(r,n.languageTree),i=[];s.forEach(u=>{i.push(u.id);const c=this.pageTreeBuilder.collectNestedChildIds(u);i.push(...c)});const l=[...new Set([...o,...i])];return await this.performDeletionWithIds([r,...l]),{tags:[`page-${r}`,...l.map(u=>`page-${u}`)],totalDeleted:1+l.length}}async getCurrentEditor(r){var o;const{data:n,error:a}=await A(()=>S.select({currentEditor:f.currentEditor}).from(f).where(h.and(h.eq(f.id,r),h.eq(f.app,this.appId))).limit(1));return a||!n||n.length===0?null:((o=n[0])==null?void 0:o.currentEditor)||null}}class Uv extends Z{getValidationSchema(){return v.z.object({revisionId:v.z.string().nonempty("Revision ID is required")})}async execute(t){if(await this.verifyAccess(),!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{appId:r}=this.context,{error:n}=await A(()=>S.delete(Se).where(h.and(h.eq(Se.uid,t.revisionId),h.eq(Se.app,r))));if(n)throw new T("Failed to delete page revision","DELETE_REVISION_ERROR");return{success:!0}}}class jv extends Z{getValidationSchema(){return v.z.object({pageId:v.z.string().nonempty(),name:v.z.string().nonempty(),slug:v.z.string().optional()})}async execute(t){if(await this.verifyAccess(),!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{appId:r}=this.context;if(t.slug&&await this.doesSlugExist(t.slug))throw new T("Slug already exists","SLUG_EXISTS");const{data:n,error:a}=await A(()=>S.query.appPages.findFirst({where:h.and(h.eq(f.id,t.pageId),h.eq(f.app,r))}));if(a)throw a;if(!n)throw new T("Page not found","PAGE_NOT_FOUND");const o={...n,id:void 0,createdAt:void 0,name:t.name,currentEditor:null,changes:null,online:!1,libRefId:null,lastSaved:null,...t.slug&&{slug:t.slug}},[s]=await S.insert(f).values(o).returning({id:f.id});if(!s)throw new T("Failed to create duplicate page","INSERT_FAILED");return{id:s.id}}async doesSlugExist(t){if(!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{appId:r}=this.context,{data:n,error:a}=await A(()=>S.query.appPages.findFirst({where:h.and(h.eq(f.slug,t),h.eq(f.app,r)),columns:{id:!0}}));if(a)throw new T(`${a.message}`,"SLUG_CHECK_FAILED");return!!n}}var ts={},zn,rs;function qv(){if(rs)return zn;rs=1;const e={};return process.env.DOTENV_CONFIG_ENCODING!=null&&(e.encoding=process.env.DOTENV_CONFIG_ENCODING),process.env.DOTENV_CONFIG_PATH!=null&&(e.path=process.env.DOTENV_CONFIG_PATH),process.env.DOTENV_CONFIG_QUIET!=null&&(e.quiet=process.env.DOTENV_CONFIG_QUIET),process.env.DOTENV_CONFIG_DEBUG!=null&&(e.debug=process.env.DOTENV_CONFIG_DEBUG),process.env.DOTENV_CONFIG_OVERRIDE!=null&&(e.override=process.env.DOTENV_CONFIG_OVERRIDE),process.env.DOTENV_CONFIG_DOTENV_KEY!=null&&(e.DOTENV_KEY=process.env.DOTENV_CONFIG_DOTENV_KEY),zn=e,zn}var $n,ns;function Zv(){if(ns)return $n;ns=1;const e=/^dotenv_config_(encoding|path|quiet|debug|override|DOTENV_KEY)=(.+)$/;return $n=function(r){const n=r.reduce(function(a,o){const s=o.match(e);return s&&(a[s[1]]=s[2]),a},{});return"quiet"in n||(n.quiet="true"),n},$n}var as;function Gv(){return as||(as=1,(function(){nu().config(Object.assign({},qv(),Zv()(process.argv)))})()),ts}Gv();const os="anthropic/claude-haiku-4.5";class Bv extends Z{getValidationSchema(){return v.z.object({prompt:v.z.string().min(1,"Prompt is required"),context:v.z.string().optional(),image:v.z.string().optional()})}async execute(t){if(await this.verifyAccess(),!this.context)throw new T("Context not set","CONTEXT_NOT_SET");try{const r=`You are an expert HTML/CSS developer specializing in Tailwind CSS and shadcn/ui design patterns.
419
+ === OTHER LANGUAGE PAGES TREE ===`),console.log(JSON.stringify(s,null,2))),{primaryTree:o,languageTree:s,totalPrimaryPages:n.length,totalLanguagePages:a.length}}buildPrimaryTree(t){const r=new Map;t.forEach(a=>{r.set(a.id,{id:a.id,pageType:a.pageType,primaryPage:a.primaryPage,parent:a.parent,name:a.name,dynamic:a.dynamic,slug:a.slug,children:[]})});const n=[];return t.forEach(a=>{const o=r.get(a.id);if(o)if(a.parent===null)n.push(o);else{const s=r.get(a.parent);s?s.children.push(o):n.push(o)}}),n}buildLanguageTree(t,r){const n=new Map;t.forEach(i=>{const l=i.primaryPage;n.has(l)||n.set(l,[]),n.get(l).push(i)});const a=(i,l)=>{const c=(n.get(i.id)||[]).find(p=>p.lang===l);if(!c)return null;const d={id:c.id,pageType:c.pageType,primaryPage:c.primaryPage,parent:c.parent,lang:c.lang,name:c.name,slug:c.slug,dynamic:c.dynamic,children:[]};return i.children.forEach(p=>{const w=a(p,l);w&&d.children.push(w)}),d},o=[],s=new Set;return t.forEach(i=>{i.lang&&s.add(i.lang)}),s.forEach(i=>{r.forEach(l=>{const u=a(l,i);u&&o.push(u)})}),o}findPageInPrimaryTree(t,r){for(const n of r){if(n.id===t)return n;if(n.children&&n.children.length>0){const a=this.findPageInPrimaryTree(t,n.children);if(a)return a}}return null}findPageInLanguageTree(t,r){for(const n of r){if(n.id===t)return n;if(n.children&&n.children.length>0){const a=this.findPageInLanguageTree(t,n.children);if(a)return a}}return null}calculateSlugFromParent(t,r,n){if(!t){const l=r.split("/").filter(Boolean);return"/"+(l[l.length-1]||"")}let a=this.findPageInPrimaryTree(t,n);if(!a&&(a=this.findPageInLanguageTree(t,n),!a))throw new Error("Parent page not found in tree");const o=r.split("/").filter(Boolean),s=o[o.length-1]||"";return`${a.slug.endsWith("/")?a.slug.slice(0,-1):a.slug}/${s}`}collectNestedChildIds(t){const r=[];for(const n of t.children){r.push(n.id);const a=this.collectNestedChildIds(n);r.push(...a)}return r}findLanguagePagesForPrimary(t,r){const n=[],a=o=>{for(const s of o)s.primaryPage===t&&n.push(s),s.children&&s.children.length>0&&a(s.children)};return a(r),n}collectNestedChildSlugs(t,r,n){const a=[],o=(s,i,l)=>{for(const u of s){const c=this.generateNewChildSlug(u.slug,i,l);a.push({id:u.id,oldSlug:u.slug,newSlug:c}),u.children&&u.children.length>0&&o(u.children,u.slug,c)}};return o(t.children,r,n),a}generateNewChildSlug(t,r,n){return t===r?n:t.startsWith(r+"/")?t.replace(r+"/",n+"/"):t.startsWith(r)&&t!==r?t.replace(r,n):`${n}/${t.split("/").pop()}`}}class Uv extends Z{constructor(){super(...arguments);Ie(this,"appId","");Ie(this,"userId","");Ie(this,"pageTreeBuilder")}getValidationSchema(){return v.z.object({id:v.z.string().min(1,"Page ID is required")})}async execute(r){if(await this.verifyAccess(),!this.context)throw new T("Context not set","CONTEXT_NOT_SET");this.appId=this.context.appId,this.userId=this.context.userId||"";try{return this.pageTreeBuilder=new Ar(this.appId),await this.deletePage(r.id)}catch(n){if(n instanceof T)throw n;const a=n instanceof Error?n.message:"Failed to delete page";throw new T(a,"DELETE_PAGE_ERROR")}}async deletePage(r){const n=await this.getCurrentEditor(r);if(n&&n!==this.userId)return{tags:[],code:"PAGE_LOCKED",editor:n};const a=await this.pageTreeBuilder.getPagesTree(),o=this.pageTreeBuilder.findPageInLanguageTree(r,a.languageTree),s=this.pageTreeBuilder.findPageInPrimaryTree(r,a.primaryTree);if(!o&&!s)throw ie("ERROR_DELETING_PAGE","Page not found");return o!==null?await this.deleteLanguagePageWithTree(r,o,a):await this.deletePrimaryPageWithTree(r,a)}async performDeletionWithIds(r){const n=[...r].reverse(),{error:a}=await A(()=>S.delete(te).where(h.inArray(te.pageId,n)));if(a)throw ie("DELETE_FAILED",a);const{error:o}=await A(()=>S.delete(Se).where(h.inArray(Se.id,n)));if(o)throw ie("DELETE_FAILED",o);const{error:s}=await A(()=>S.delete(f).where(h.inArray(f.id,n)));if(s)throw ie("DELETE_FAILED",s);const{error:i}=await A(()=>S.delete(he).where(h.inArray(he.id,n)));if(i)throw ie("DELETE_FAILED",i)}async deleteLanguagePageWithTree(r,n,a){const o=n.primaryPage;if(!this.pageTreeBuilder.findPageInPrimaryTree(o,a.primaryTree))throw ie("ERROR_DELETING_PAGE","Primary page not found");const i=this.pageTreeBuilder.collectNestedChildIds(n);return await this.performDeletionWithIds([r,...i]),{tags:[`page-${r}`,...i.map(l=>`page-${l}`)],totalDeleted:1+i.length}}async deletePrimaryPageWithTree(r,n){const a=this.pageTreeBuilder.findPageInPrimaryTree(r,n.primaryTree);if(!a)throw ie("ERROR_DELETING_PAGE","Primary page not found");const o=this.pageTreeBuilder.collectNestedChildIds(a),s=this.pageTreeBuilder.findLanguagePagesForPrimary(r,n.languageTree),i=[];s.forEach(u=>{i.push(u.id);const c=this.pageTreeBuilder.collectNestedChildIds(u);i.push(...c)});const l=[...new Set([...o,...i])];return await this.performDeletionWithIds([r,...l]),{tags:[`page-${r}`,...l.map(u=>`page-${u}`)],totalDeleted:1+l.length}}async getCurrentEditor(r){var o;const{data:n,error:a}=await A(()=>S.select({currentEditor:f.currentEditor}).from(f).where(h.and(h.eq(f.id,r),h.eq(f.app,this.appId))).limit(1));return a||!n||n.length===0?null:((o=n[0])==null?void 0:o.currentEditor)||null}}class jv extends Z{getValidationSchema(){return v.z.object({revisionId:v.z.string().nonempty("Revision ID is required")})}async execute(t){if(await this.verifyAccess(),!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{appId:r}=this.context,{error:n}=await A(()=>S.delete(Se).where(h.and(h.eq(Se.uid,t.revisionId),h.eq(Se.app,r))));if(n)throw new T("Failed to delete page revision","DELETE_REVISION_ERROR");return{success:!0}}}class qv extends Z{getValidationSchema(){return v.z.object({pageId:v.z.string().nonempty(),name:v.z.string().nonempty(),slug:v.z.string().optional()})}async execute(t){if(await this.verifyAccess(),!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{appId:r}=this.context;if(t.slug&&await this.doesSlugExist(t.slug))throw new T("Slug already exists","SLUG_EXISTS");const{data:n,error:a}=await A(()=>S.query.appPages.findFirst({where:h.and(h.eq(f.id,t.pageId),h.eq(f.app,r))}));if(a)throw a;if(!n)throw new T("Page not found","PAGE_NOT_FOUND");const o={...n,id:void 0,createdAt:void 0,name:t.name,currentEditor:null,changes:null,online:!1,libRefId:null,lastSaved:null,...t.slug&&{slug:t.slug}},[s]=await S.insert(f).values(o).returning({id:f.id});if(!s)throw new T("Failed to create duplicate page","INSERT_FAILED");return{id:s.id}}async doesSlugExist(t){if(!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{appId:r}=this.context,{data:n,error:a}=await A(()=>S.query.appPages.findFirst({where:h.and(h.eq(f.slug,t),h.eq(f.app,r)),columns:{id:!0}}));if(a)throw new T(`${a.message}`,"SLUG_CHECK_FAILED");return!!n}}var ts={},zn,rs;function Zv(){if(rs)return zn;rs=1;const e={};return process.env.DOTENV_CONFIG_ENCODING!=null&&(e.encoding=process.env.DOTENV_CONFIG_ENCODING),process.env.DOTENV_CONFIG_PATH!=null&&(e.path=process.env.DOTENV_CONFIG_PATH),process.env.DOTENV_CONFIG_QUIET!=null&&(e.quiet=process.env.DOTENV_CONFIG_QUIET),process.env.DOTENV_CONFIG_DEBUG!=null&&(e.debug=process.env.DOTENV_CONFIG_DEBUG),process.env.DOTENV_CONFIG_OVERRIDE!=null&&(e.override=process.env.DOTENV_CONFIG_OVERRIDE),process.env.DOTENV_CONFIG_DOTENV_KEY!=null&&(e.DOTENV_KEY=process.env.DOTENV_CONFIG_DOTENV_KEY),zn=e,zn}var $n,ns;function Gv(){if(ns)return $n;ns=1;const e=/^dotenv_config_(encoding|path|quiet|debug|override|DOTENV_KEY)=(.+)$/;return $n=function(r){const n=r.reduce(function(a,o){const s=o.match(e);return s&&(a[s[1]]=s[2]),a},{});return"quiet"in n||(n.quiet="true"),n},$n}var as;function Bv(){return as||(as=1,(function(){nu().config(Object.assign({},Zv(),Gv()(process.argv)))})()),ts}Bv();const os="anthropic/claude-haiku-4.5";class Vv extends Z{getValidationSchema(){return v.z.object({prompt:v.z.string().min(1,"Prompt is required"),context:v.z.string().optional(),image:v.z.string().optional()})}async execute(t){if(await this.verifyAccess(),!this.context)throw new T("Context not set","CONTEXT_NOT_SET");try{const r=`You are an expert HTML/CSS developer specializing in Tailwind CSS and shadcn/ui design patterns.
420
420
 
421
421
  Create pure HTML code only. Make it fully responsive using Tailwind CSS v3 classes exclusively - no custom CSS or classes allowed. Implement container queries (@container) where appropriate for enhanced responsive behavior.
422
422
 
@@ -467,7 +467,7 @@ IMAGE USAGE RULES:
467
467
  Example: \`<img src="https://domain/hero/1200/600" alt="Hero image" width="1200" height="600">\`
468
468
  The final output should be clean, semantic HTML that works across all devices and screen sizes.
469
469
 
470
- ${t.context?`Additional Context: ${t.context}`:""}`;let a=(t.image?await Jn({model:os,system:r,messages:[{role:"user",content:[{type:"text",text:t.prompt},{type:"image",image:t.image}]}],temperature:.7}):await Jn({model:os,system:r,prompt:t.prompt,temperature:.7})).text.trim();return a=a.replace(/^```html\n?/i,""),a=a.replace(/^```\n?/,""),a=a.replace(/\n?```$/,""),a=a.trim(),{html:a}}catch(r){console.log("error",r),this.handleError(r)}}}const Vv="anthropic/claude-haiku-4.5",ss={title:"Generate title for the following page. Max length: 60 characters",description:"Generate description for the following page. Max length: 160 characters",ogTitle:"Generate og title for the following page. Max length: 60 characters",ogDescription:"Generate og description for the following page. Max length: 160 characters",searchTitle:"Generate search title for the following page. Max length: 60 characters",searchDescription:"Generate search description for the following page. Max length: 160 characters",jsonLD:"Generate json ld for the following page. Return only json ld"};class Hv extends Z{getValidationSchema(){return v.z.object({pageContext:v.z.string(),dynamic:v.z.boolean(),pageContent:v.z.string(),field:v.z.enum(["title","description","ogTitle","ogDescription","searchTitle","searchDescription","jsonLD"]),lang:v.z.string().nonempty(),keyword:v.z.string().optional()})}async execute(t){if(await this.verifyAccess(),!this.context)throw new T("Context not set","CONTEXT_NOT_SET");return{field:(await Jn({model:Vv,system:`You are a SEO expert. Follow the instructions carefully.
470
+ ${t.context?`Additional Context: ${t.context}`:""}`;let a=(t.image?await Jn({model:os,system:r,messages:[{role:"user",content:[{type:"text",text:t.prompt},{type:"image",image:t.image}]}],temperature:.7}):await Jn({model:os,system:r,prompt:t.prompt,temperature:.7})).text.trim();return a=a.replace(/^```html\n?/i,""),a=a.replace(/^```\n?/,""),a=a.replace(/\n?```$/,""),a=a.trim(),{html:a}}catch(r){console.log("error",r),this.handleError(r)}}}const Hv="anthropic/claude-haiku-4.5",ss={title:"Generate title for the following page. Max length: 60 characters",description:"Generate description for the following page. Max length: 160 characters",ogTitle:"Generate og title for the following page. Max length: 60 characters",ogDescription:"Generate og description for the following page. Max length: 160 characters",searchTitle:"Generate search title for the following page. Max length: 60 characters",searchDescription:"Generate search description for the following page. Max length: 160 characters",jsonLD:"Generate json ld for the following page. Return only json ld"};class Jv extends Z{getValidationSchema(){return v.z.object({pageContext:v.z.string(),dynamic:v.z.boolean(),pageContent:v.z.string(),field:v.z.enum(["title","description","ogTitle","ogDescription","searchTitle","searchDescription","jsonLD"]),lang:v.z.string().nonempty(),keyword:v.z.string().optional()})}async execute(t){if(await this.verifyAccess(),!this.context)throw new T("Context not set","CONTEXT_NOT_SET");return{field:(await Jn({model:Hv,system:`You are a SEO expert. Follow the instructions carefully.
471
471
  Return plain string values except for json ld. For JSONLD, remove \`\`\`json\`\`\` and \`\`\`\`\` and return only valid JSON.
472
472
  Instructions: ${ss[t.field]}
473
473
  ${t.keyword?`Optimize the generated content for "${t.keyword}" keyword(s)`:""}
@@ -478,4 +478,4 @@ ${t.context?`Additional Context: ${t.context}`:""}`;let a=(t.image?await Jn({mod
478
478
  Page Context: ${t.pageContext}
479
479
  Page Content: ${t.pageContent}
480
480
  Dynamic: ${t.dynamic}
481
- Language: ${t.lang}`})).text}}}class Jv extends Z{getValidationSchema(){return v.z.object({block:v.z.any(),pageProps:v.z.any().optional().default({}),lang:v.z.string()})}async execute(t){var r;try{const{block:n,pageProps:a,lang:o}=t,s=n._type;if(s==="Repeater"&&((r=n==null?void 0:n.repeaterItems)!=null&&r.includes("{{#"))){const u=n.repeaterItems.replace("{{#","").replace("}}",""),c=ut.getChaiCollection(u);return c?await(c==null?void 0:c.fetch({block:n,pageProps:a,lang:o,draft:!0,inBuilder:!0}))??[]:[]}const i=Eu.getRegisteredChaiBlock(s);return!i||!q.isFunction(i.dataProvider)?{}:await i.dataProvider({block:n,pageProps:a,lang:o,draft:!0,inBuilder:!0})??{}}catch(n){return this.handleError(n)}}}class ou extends Z{getValidationSchema(){return v.z.object({lang:v.z.string(),pageType:v.z.string().optional(),pageProps:v.z.any().optional().default({})})}async execute(t){try{const{lang:r,pageType:n,pageProps:a={}}=t,o=await ut.getChaiGlobalData({lang:r,draft:!0,inBuilder:!0});if(!n)return{global:o};const s=ut.getChaiPageType(n);return s?{...s.dataProvider?await s.dataProvider({lang:r,draft:!0,inBuilder:!0,pageProps:a}):{},global:o}:{global:o}}catch(r){return this.handleError(r)}}}class Yv extends Z{constructor(){super(...arguments);Ie(this,"appId","")}getValidationSchema(){return v.z.object({})}async execute(){if(!this.context)throw new T("Context not set","CONTEXT_NOT_SET");this.appId=this.context.appId;try{return await this.getChanges()}catch(r){if(r instanceof T)throw r;const n=r instanceof Error?r.message:"Failed to get changes";throw new T(n,"GET_CHANGES_ERROR")}}async getChanges(){const{data:r,error:n}=await A(()=>S.select({id:f.id,slug:f.slug,name:f.name,pageType:f.pageType,lang:f.lang,changes:f.changes,primaryPage:f.primaryPage,online:f.online,currentEditor:f.currentEditor}).from(f).where(h.and(h.eq(f.app,this.appId),h.isNotNull(f.changes))));if(n)throw new T("Error getting changed pages","ERROR_GETTING_CHANGES");const{data:a,error:o}=await A(()=>S.select({id:f.id,slug:f.slug,name:f.name,pageType:f.pageType,lang:f.lang,changes:f.changes,primaryPage:f.primaryPage,online:f.online}).from(f).where(h.and(h.eq(f.app,this.appId),h.isNull(f.currentEditor),h.eq(f.online,!1))));if(o)throw new T("Error getting offline pages","ERROR_GETTING_OFFLINE_PAGES");const s=(a||[]).map(d=>({...d,changes:["Take Online"]})),l=[...(r||[]).filter(d=>!s.some(p=>p.id===d.id)).map(d=>({...d,changes:d.changes})),...s],{data:u,error:c}=await A(()=>S.select({changes:ge.changes}).from(ge).where(h.and(h.eq(ge.id,this.appId),h.isNotNull(ge.changes))));if(!c&&u&&u.length>0){const d=u[0].changes??[];d.includes("THEME")&&l.push({id:"THEME",slug:"",name:"Theme",pageType:"theme",lang:"",changes:["Updated"],primaryPage:null,online:!0}),d.includes("DESIGN_TOKENS")&&l.push({id:"DESIGN_TOKENS",slug:"",name:"Design Tokens",pageType:"design_tokens",lang:"",changes:["Updated"],primaryPage:null,online:!0})}return l}}class su extends Z{getValidationSchema(){return v.z.object({})}async execute(){try{return ut.getChaiCollections().map(r=>q.omit(r,"fetch"))}catch(t){return this.handleError(t)}}}class Wv extends Z{getValidationSchema(){return v.z.object({versions:v.z.object({version1:v.z.object({type:v.z.enum(["draft","revision","live"]),id:v.z.string()}),version2:v.z.object({type:v.z.enum(["draft","revision","live"]),id:v.z.string()})})})}async execute(t){this.validateContext();const r=await this.getBlocksForVersion(t.versions.version1.type,t.versions.version1.id),n=await this.getBlocksForVersion(t.versions.version2.type,t.versions.version2.id);return{version1:{blocks:r.blocks,seo:r.seo},version2:{blocks:n.blocks,seo:n.seo}}}async getBlocksForVersion(t,r){let n,a;switch(t){case"draft":({data:n,error:a}=await A(()=>S.query.appPages.findFirst({where:h.eq(f.id,r),columns:{blocks:!0,seo:!0}})));break;case"live":({data:n,error:a}=await A(()=>S.query.appPagesOnline.findFirst({where:h.eq(he.id,r),columns:{blocks:!0,seo:!0}})));break;case"revision":({data:n,error:a}=await A(()=>S.query.appPagesRevisions.findFirst({where:h.eq(Se.uid,r),columns:{blocks:!0,seo:!0}})));break;default:throw new T(`Invalid version type: ${t}`,"INVALID_VERSION_TYPE")}if(a)throw new T(`Failed to fetch blocks for ${t} version: ${a.message}`,"FETCH_BLOCKS_ERROR");if(!n)throw new T(`No data found for ${t} version with id: ${r}`,"VERSION_NOT_FOUND");return{blocks:n.blocks||[],seo:n.seo||{}}}validateContext(){if(!this.context)throw new T("Context not set","CONTEXT_NOT_SET")}}class iu extends Z{getValidationSchema(){return v.z.object({id:v.z.string()})}async execute(t){var c;if(!this.context)throw ie("CONTEXT_NOT_SET",new Error("CONTEXT_NOT_SET"));const{appId:r}=this.context,{id:n}=t,a=f,{data:o,error:s}=await A(()=>S.select({id:a.id,name:a.name,slug:a.slug,lang:a.lang,primaryPage:a.primaryPage,seo:a.seo,currentEditor:a.currentEditor,pageType:a.pageType,lastSaved:a.lastSaved,dynamic:a.dynamic,parent:a.parent,blocks:a.blocks}).from(a).where(h.and(h.eq(a.app,r),h.eq(a.id,n))).limit(1));if(s)throw ie("PAGE_NOT_FOUND",s);if(!o||o.length===0)throw ie("PAGE_NOT_FOUND",new Error("Page not found"));const i=o[0],l=i.primaryPage??i.id;let u=i.blocks??[];if(l!==i.id){const{data:d,error:p}=await A(()=>S.select({blocks:a.blocks}).from(a).where(h.and(h.eq(a.app,r),h.eq(a.id,l))).limit(1));if(p)throw ie("BLOCKS_NOT_FOUND",p);u=((c=d==null?void 0:d[0])==null?void 0:c.blocks)??[]}return{...i,blocks:u,id:n,languagePageId:i.id}}}class Kv extends Z{getValidationSchema(){return v.z.object({pageType:v.z.string()})}async execute(t){try{const{pageType:r,...n}=t,a=ut.getChaiPageType(r);return a?a.getDynamicPages?await a.getDynamicPages(n):[]:{error:"Page type not found"}}catch(r){return this.handleError(r)}}}class lu extends Z{getValidationSchema(){return v.z.object({id:v.z.string()})}async execute(t){if(!this.context)throw ie("CONTEXT_NOT_SET",new Error("CONTEXT_NOT_SET"));const{appId:r}=this.context,{id:n}=t,{data:a,error:o}=await A(()=>S.select({id:f.id,name:f.name,slug:f.slug,lang:f.lang,primaryPage:f.primaryPage,pageType:f.pageType,seo:f.seo,currentEditor:f.currentEditor,online:f.online,parent:f.parent,metadata:f.metadata,dynamic:f.dynamic,dynamicSlugCustom:f.dynamicSlugCustom,changes:f.changes}).from(f).where(h.and(h.eq(f.app,r),h.or(h.eq(f.primaryPage,n),h.eq(f.id,n)))));if(o)throw ie("LANGUAGE_PAGES_ERROR",o);return a.map(s=>q.omit(s,["app"]))}}class uu extends Z{getValidationSchema(){return v.z.object({}).optional().default({})}async execute(){var l;if(!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{appId:t}=this.context,r=await A(()=>S.select({id:K.id,name:K.name,type:K.type,createdAt:K.createdAt}).from(K).where(h.eq(K.app,t)).limit(1));if(r.error)throw new T("Failed to fetch site library","DB_ERROR");const n=r.data[0]||null,a=((l=process==null?void 0:process.env)==null?void 0:l.CHAIBUILDER_CLIENT_ID)||null;if(!a)return n?[{id:n.id,name:n.name,type:n.type,createdAt:n.createdAt,isSiteLibrary:!0}]:[];const{data:o,error:s}=await A(()=>S.select({id:K.id,name:K.name,type:K.type,createdAt:K.createdAt}).from(K).where(h.eq(K.client,a)));if(s)throw new T("Failed to fetch libraries","DB_ERROR");const i=(n==null?void 0:n.id)||null;return o.map(u=>({id:u.id,name:u.name,type:u.type,createdAt:u.createdAt,isSiteLibrary:i?u.id===i:!1}))}}class Xv extends Z{getValidationSchema(){return v.z.object({})}async execute(){if(!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{data:t,error:r}=await A(()=>S.select({id:K.id}).from(K).where(h.eq(K.app,this.context.appId)).limit(1));if(r)throw new T("Failed to fetch site library","GET_SITE_LIBRARY_FAILED",500,r);if(!t||t.length===0)return[];const n=t[0],{data:a,error:o}=await A(()=>S.select({group:re.group}).from(re).where(h.eq(re.library,n.id)));if(o)throw new T("Failed to fetch library groups","GET_LIBRARY_GROUPS_FAILED",500,o);const s=q.map(a,"group").filter(i=>i!=null);return q.map(q.uniq(s),i=>({id:i,name:i}))}}class Qv extends Z{getValidationSchema(){return v.z.object({id:v.z.string().min(1)})}async execute(t){if(!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{appId:r}=this.context,{id:n}=t,{data:a,error:o}=await A(()=>S.select({id:re.id,name:re.name,blocks:re.blocks,library:re.library,description:re.description,group:re.group,user:re.user,preview:re.preview,createdAt:re.createdAt,html:re.html,libraryApp:K.app,libraryName:K.name}).from(re).leftJoin(K,h.eq(re.library,K.id)).where(h.eq(re.id,n)));if(o)throw new T("Failed to fetch library item","GET_LIBRARY_ITEM_FAILED",500,o);if(!a||a.length===0)throw new T("Library item not found","GET_LIBRARY_ITEM_FAILED");const s=a[0],i=Array.isArray(s.blocks)?[...s.blocks]:s.blocks;return s.libraryApp===r?q.set(i,"0._libBlockId",s.id):q.set(i,"0._libBlockId",void 0),{id:s.id,name:s.name,blocks:i,description:s.description,group:s.group,user:s.user,preview:s.preview,createdAt:s.createdAt,html:s.html}}}class ew extends Z{getValidationSchema(){return v.z.object({id:v.z.string().min(1)})}async execute(t){if(!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{id:r}=t,{data:n,error:a}=await A(()=>S.select({id:re.id,name:re.name,library:re.library,group:re.group,description:re.description,preview:re.preview}).from(re).where(h.eq(re.library,r)));if(a)throw new T("Failed to fetch library items","GET_LIBRARY_ITEMS_FAILED",500,a);return n||[]}}class tw extends Z{getValidationSchema(){return v.z.object({pageId:v.z.string().min(1,"Page ID is required")})}async execute(t){if(!this.context)throw new T("Context not set","CONTEXT_NOT_SET");try{return await this.getRevisions(t.pageId)}catch(r){if(r instanceof T)throw r;const n=r instanceof Error?r.message:"Failed to get page revisions";throw new T(n,"GET_PAGE_REVISIONS_ERROR")}}async getRevisions(t){const{data:r,error:n}=await A(()=>S.select({currentEditor:f.currentEditor,createdAt:f.createdAt}).from(f).where(h.and(h.eq(f.app,this.context.appId),h.eq(f.id,t)))),{data:a,error:o}=await A(()=>S.select({uid:Se.uid,currentEditor:Se.currentEditor,createdAt:Se.createdAt,type:Se.type}).from(Se).where(h.and(h.eq(Se.app,this.context.appId),h.eq(Se.id,t))));if(n){const u=n instanceof Error?`Error getting current page for revisions: ${n.message}`:"Error getting current page for revisions";throw new T(u,"ERROR_GETTING_CURRENT_PAGE_FOR_REVISIONS")}if(o){const u=o instanceof Error?`Error getting page revisions: ${o.message}`:"Error getting page revisions";throw new T(u,"ERROR_GETTING_PAGE_REVISIONS")}const s=r==null?void 0:r[0],l=[...s?[{...s,type:"published",uid:"current"}]:[],...a??[]];return q.orderBy(l,["createdAt"],["desc"])}}class cu extends Z{getValidationSchema(){return v.z.object({})}async execute(){try{return await Promise.all(ut.getChaiPageTypes().map(async r=>({key:r.key,helpText:r.helpText??"",icon:r.icon??"",dynamicSegments:r.dynamicSegments??"",dynamicSlug:r.dynamicSlug??"",hasSlug:r.hasSlug??!0,name:typeof r.name=="function"?await r.name():r.name,...q.isFunction(r.defaultSeo)?{defaultSeo:r.defaultSeo()}:{},...q.isFunction(r.defaultJSONLD)?{defaultJSONLD:r.defaultJSONLD()}:{}})))}catch(t){return this.handleError(t)}}}class rw extends Z{getValidationSchema(){return v.z.object({id:v.z.string().nonempty(),type:v.z.enum(["draft","live","revision"])})}async execute(t){if(!this.context)throw ie("CONTEXT_NOT_SET",new Error("CONTEXT_NOT_SET"));let r,n;switch(t.type){case"draft":({data:r,error:n}=await A(()=>S.query.appPages.findFirst({where:h.and(h.eq(f.id,t.id),h.eq(f.lang,t.lang??""))})));break;case"live":({data:r,error:n}=await A(()=>S.query.appPagesOnline.findFirst({where:h.and(h.eq(he.id,t.id),h.eq(he.lang,t.lang??""))})));break;case"revision":({data:r,error:n}=await A(()=>S.query.appPagesRevisions.findFirst({where:h.and(h.eq(Se.uid,t.id),h.eq(Se.lang,t.lang??""))})));break}if(n||!r)throw ie("NOT_FOUND",n||new Error("Page not found"));let a=(r==null?void 0:r.blocks)??[];return a=await this.getMergedBlocks(a,t.type==="draft",this.context.appId),{...r,blocks:a}}async getMergedBlocks(t,r,n){const a=r?f:he,o=t.filter(({_type:c})=>c==="GlobalBlock"||c==="PartialBlock");if(o.length===0)return t;const s=o.map(c=>q.get(c,"partialBlockId",q.get(c,"globalBlock",""))).filter(c=>c!=="");if(s.length===0)return t;const{data:i,error:l}=await A(()=>S.select({id:a.id,blocks:a.blocks}).from(a).where(h.and(h.eq(a.app,n),h.inArray(a.id,s))));if(l)throw ie("PARTIAL_BLOCKS_FETCH_ERROR",l);const u=new Map;i&&i.forEach(c=>{u.set(c.id,c.blocks??[])});for(let c=0;c<o.length;c++){const d=o[c];if(!d)continue;const p=q.get(d,"partialBlockId",q.get(d,"globalBlock",""));if(p==="")continue;let w=u.get(p)??[];w.length>0&&(w=w.map(_=>(q.isEmpty(_._parent)&&(_._parent=d._parent),q.has(d,"_show")&&(_._show=d._show),_)));const b=t.indexOf(d);b!==-1&&t.splice(b,1,...w)}return t}}class nw extends Z{getValidationSchema(){return v.z.undefined()}async execute(){if(!this.context)throw ie("CONTEXT_NOT_SET",new Error("CONTEXT_NOT_SET"));const{appId:t}=this.context,{data:r,error:n}=await A(()=>S.select({id:f.id,designTokens:f.designTokens,name:f.name,slug:f.slug,links:f.links,partialBlocks:f.partialBlocks}).from(f).where(h.and(h.eq(f.lang,""),h.eq(f.app,t))));if(n)throw ie("FETCH_SITE_DATA_FAILED",n);const a={};return q.each(r,o=>{var s;a[o.id]={name:o.name,isPartial:q.isEmpty(o.slug),partialBlocks:o.partialBlocks?(s=o.partialBlocks)==null?void 0:s.split("|").filter(Boolean):[],links:o.links?o.links.split("|").filter(Boolean):[],designTokens:o.designTokens??{}}}),a}}class aw extends Z{getValidationSchema(){return v.z.object({pageType:v.z.string().min(1)})}async execute(t){if(!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{appId:r}=this.context,{pageType:n}=t,{data:a,error:o}=await A(()=>S.query.libraries.findFirst({where:h.eq(K.app,r),columns:{id:!0}}));if(o)throw new T("Failed to fetch site library","GET_SITE_LIBRARY_FAILED",500,o);const{data:s,error:i}=await A(()=>S.select({id:K.id}).from(K).where(h.eq(K.type,"shared")));if(i)throw new T("Failed to fetch shared libraries","GET_SHARED_LIBRARIES_FAILED",500,i);const l=[...a?[a.id]:[],...(s||[]).map(d=>d.id)];if(l.length===0)return[];const{data:u,error:c}=await A(()=>S.select({id:te.id,library:te.library,pageId:te.pageId,pageType:te.pageType,name:te.name,description:te.description,preview:te.preview,user:te.user,createdAt:te.createdAt}).from(te).where(h.and(h.eq(te.pageType,n),h.inArray(te.library,l))));if(c)throw new T("Failed to fetch templates","GET_TEMPLATES_FAILED",500,c);return u||[]}}class du extends Z{getValidationSchema(){return v.z.object({lang:v.z.string().optional()})}async execute(t){if(!this.context)throw ie("CONTEXT_NOT_SET",new Error("CONTEXT_NOT_SET"));const{appId:r}=this.context,a=(t??{lang:""}).lang??"",{data:o,error:s}=await A(()=>S.select({id:f.id,name:f.name,slug:f.slug,pageType:f.pageType,currentEditor:f.currentEditor,parent:f.parent,online:f.online,lastSaved:f.lastSaved,createdAt:f.createdAt,dynamic:f.dynamic,dynamicSlugCustom:f.dynamicSlugCustom,primaryPage:f.primaryPage,changes:f.changes,lang:f.lang,designTokens:f.designTokens,links:f.links,partialBlocks:f.partialBlocks}).from(f).where(h.and(h.eq(f.app,r),h.eq(f.lang,a))));if(s)throw ie("ERROR_GETTING_WEBSITE_PAGES",s);if(!o||o.length===0)return[];const i=o.filter(d=>!q.isEmpty(d.slug)).map(d=>d.id),{data:l,error:u}=await A(()=>S.select({pageId:te.pageId}).from(te).where(h.inArray(te.pageId,i)));if(u)throw ie("ERROR_GETTING_TEMPLATE_INFO",u);const c=new Set((l||[]).map(d=>d.pageId));return o.map(d=>({...d,pageType:d.pageType??"page",isTemplate:c.has(d.id),changes:d.changes,lang:d.lang,designTokens:d.designTokens,links:d.links,partialBlocks:d.partialBlocks}))}}class pu extends Z{getValidationSchema(){return v.z.object({draft:v.z.boolean()})}async execute(t){if(!this.context)throw ie("CONTEXT_NOT_SET",new Error("CONTEXT_NOT_SET"));const{appId:r}=this.context,{draft:n}=t,a=n?ge:mt,{data:o,error:s}=await A(()=>S.select({theme:a.theme,fallbackLang:a.fallbackLang,languages:a.languages,settings:a.settings,designTokens:a.designTokens,changes:a.changes}).from(a).where(h.eq(a.id,r)).limit(1));if(s)throw ie("ERROR_PROJECT_CONFIG",s);if(!o||o.length===0)throw ie("PROJECT_NOT_FOUND",new Error("Project not found"));const i=q.first(o),l=(i==null?void 0:i.changes)??[];return{...this.getDefaultSettings(),...i,fallbackLang:(i==null?void 0:i.fallbackLang)||this.getDefaultSettings().fallbackLang,languages:(i==null?void 0:i.languages)||this.getDefaultSettings().languages,theme:(i==null?void 0:i.theme)||this.getDefaultSettings().theme,appKey:this.generateDeterministicUuid(r),appChanges:l}}getDefaultSettings(){return{fallbackLang:"en",languages:[],theme:{colors:{card:["#FFFFFF","#09090B"],ring:["#2563EB","#3B82F6"],input:["#E4E4E7","#27272A"],muted:["#F4F4F5","#27272A"],accent:["#F4F4F5","#27272A"],border:["#E4E4E7","#27272A"],popover:["#FFFFFF","#09090B"],primary:["#2563EB","#3B82F6"],secondary:["#F4F4F5","#27272A"],background:["#FFFFFF","#09090B"],foreground:["#09090B","#FFFFFF"],destructive:["#EF4444","#7F1D1D"],"card-foreground":["#09090B","#FFFFFF"],"muted-foreground":["#71717A","#A1A1AA"],"accent-foreground":["#09090B","#FFFFFF"],"popover-foreground":["#09090B","#FFFFFF"],"primary-foreground":["#FFFFFF","#FFFFFF"],"secondary-foreground":["#09090B","#FFFFFF"],"destructive-foreground":["#FFFFFF","#FFFFFF"]},fontFamily:{body:"Roboto",heading:"Poppins"},borderRadius:"30px"},settings:{},designTokens:{}}}generateDeterministicUuid(t){const r=is.createHash("sha256").update(t).digest("hex");return[r.substring(0,8),r.substring(8,12),"4"+r.substring(13,16),(parseInt(r.substring(16,17),16)&3|8).toString(16)+r.substring(17,20),r.substring(20,32)].join("-")}}class ow extends Z{getValidationSchema(){return v.z.object({id:v.z.string().min(1),description:v.z.string().optional(),name:v.z.string().min(1),pageType:v.z.string().min(1),previewImage:v.z.string().optional(),previewImageUrl:v.z.string().optional()})}async execute(t){var _;if(await this.verifyAccess(),!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{appId:r,userId:n}=this.context,{id:a,description:o,name:s,pageType:i,previewImage:l,previewImageUrl:u}=t,{data:c,error:d}=await A(()=>S.query.libraries.findFirst({where:h.eq(K.app,r),columns:{id:!0}}));if(d)throw new T("Failed to fetch site library","GET_SITE_LIBRARY_FAILED",500,d);if(!c)throw new T("Library not found for this app","GET_SITE_LIBRARY_FAILED");let p=u;if(l){const I=wa("UPLOAD_TO_STORAGE");I==null||I.setContext(this.context);const P=`template-${Date.now()}.webp`,C=`${r}/templates`,m=await(I==null?void 0:I.execute({file:l,fileName:P,contentType:"image/webp",folder:C}));if(m!=null&&m.error)throw new T("Failed to upload preview image","UPLOAD_PREVIEW_FAILED",500,m.error);p=((_=m==null?void 0:m.data)==null?void 0:_.url)||u}const{data:w,error:b}=await A(()=>S.insert(te).values({library:c.id,user:n??null,pageId:a,description:o??null,name:s+" Template",pageType:i,preview:p??null}).returning({id:te.id,library:te.library,pageType:te.pageType,pageId:te.pageId,description:te.description,preview:te.preview}));if(b||!w||w.length===0)throw new T("Failed to mark page as template","UPDATE_FAILED",500,b);return w[0]}}class sw extends Z{constructor(){super(...arguments);Ie(this,"appId","");Ie(this,"revisionsEnabled",!1)}getValidationSchema(){return v.z.object({ids:v.z.array(v.z.string()).optional(),revisions:v.z.boolean().optional()})}async execute(r){await this.verifyAccess(),this.validateContext(),this.appId=this.context.appId,this.revisionsEnabled=r.revisions??!1;try{const n=r.ids??[];if(n.length===0)throw new T("IDS_REQUIRED","At least one page ID or THEME must be provided");const a=await Promise.all(n.map(o=>o==="THEME"?this.publishTheme():o==="DESIGN_TOKENS"?this.publishDesignToken():this.publishPage(o)));return await this.clearChanges(n),{tags:q.uniq(q.flattenDeep(a))}}catch(n){return this.handleExecutionError(n)}}validateContext(){if(!this.context)throw new T("Context not set","CONTEXT_NOT_SET")}async publishTheme(){const r=await this.cloneApp(),{error:n}=await A(()=>S.delete(mt).where(h.eq(mt.id,this.appId)));if(n)throw new T("Error deleting online theme","ERROR_PUBLISHING_THEME",500,n);const{error:a}=await A(()=>S.insert(mt).values({...r,changes:null}));if(a)throw new T("Error inserting online theme","ERROR_PUBLISHING_THEME",500,a);return await this.removeFromChangesArray("THEME","ERROR_PUBLISHING_THEME"),[`website-settings-${this.appId}`]}async publishDesignToken(){const r=await this.cloneApp(),{error:n}=await A(()=>S.delete(mt).where(h.eq(mt.id,this.appId)));if(n)throw new T("Error deleting online app","ERROR_PUBLISHING_DESIGN_TOKEN",500,n);const{error:a}=await A(()=>S.insert(mt).values({...r,changes:null}));if(a)throw new T("Error inserting online app","ERROR_PUBLISHING_DESIGN_TOKEN",500,a);return await this.removeFromChangesArray("DESIGN_TOKENS","ERROR_PUBLISHING_DESIGN_TOKEN"),[`website-settings-${this.appId}`]}async removeFromChangesArray(r,n){var u;const{data:a,error:o}=await A(()=>S.select({changes:ge.changes}).from(ge).where(h.eq(ge.id,this.appId)));if(o)throw new T("Error fetching changes",n,500,o);const i=(((u=a==null?void 0:a[0])==null?void 0:u.changes)??[]).filter(c=>c!==r),{error:l}=await A(()=>S.update(ge).set({changes:i.length>0?i:null}).where(h.eq(ge.id,this.appId)));if(l)throw new T("Error updating changes",n,500,l)}async cloneApp(){const{data:r,error:n}=await A(()=>S.query.apps.findFirst({where:h.eq(ge.id,this.appId)}));if(n||!r)throw new T("Site not found","SITE_NOT_FOUND",404,n);return r}async clearChanges(r){const n=r.filter(o=>o!=="THEME"&&o!=="DESIGN_TOKENS");if(n.length===0)return;const{error:a}=await A(()=>S.update(f).set({changes:null,online:!0}).where(h.and(h.inArray(f.id,n),h.eq(f.app,this.appId))));if(a)throw new T("Error clearing changes","ERROR_CLEARING_CHANGES",500,a)}async getPartialBlockUsage(r){const{data:n}=await A(()=>S.query.appPagesOnline.findMany({where:h.and(h.eq(he.app,this.appId),h.like(he.partialBlocks,`%${r}%`)),columns:{id:!0}}));return q.uniq(n??[]).map(a=>a.id).map(a=>`page-${a}`)}async publishPage(r){const n=await this.clonePage(r);await this.addOnlinePage(n);const a=[`page-${n.primaryPage??n.id}`];return q.isEmpty(n.slug)&&a.push(...await this.getPartialBlockUsage(n.primaryPage??n.id)),a}async createRevision(r){if(!this.revisionsEnabled)return!1;const{data:n,error:a}=await A(()=>S.query.appPagesOnline.findFirst({where:h.eq(he.id,r)}));if(a||!n||!q.isEmpty(n.primaryPage))return!1;const{error:o}=await A(()=>S.insert(Se).values({...n,type:"published",uid:void 0}));if(o)throw new T("Error creating revision","ERROR_CREATING_REVISION",500,o);return!0}async addOnlinePage(r){await this.createRevision(r.id);const{error:n}=await A(()=>S.delete(he).where(h.eq(he.id,r.id)));if(n)throw new T("Error deleting online page","ERROR_PUBLISHING_PAGE",500,n);const{changes:a,createdAt:o,...s}=r,{data:i,error:l}=await A(()=>{var c;return S.insert(he).values({...s,currentEditor:(c=this.context)==null?void 0:c.userId}).returning({id:he.id,primaryPage:he.primaryPage})});if(l||!i||i.length===0)throw new T("Error publishing page","ERROR_PUBLISHING_PAGE",500,l);const{error:u}=await A(()=>S.update(f).set({changes:null}).where(h.eq(f.id,r.id)));if(u)throw new T("Error clearing page changes","ERROR_PUBLISHING_PAGE",500,u);return i[0]}async clonePage(r){const{data:n,error:a}=await A(()=>S.query.appPages.findFirst({where:h.and(h.eq(f.id,r),h.eq(f.app,this.appId))}));if(a||!n)throw new T("Page not found","PAGE_NOT_FOUND",404,a);return n}handleExecutionError(r){throw r instanceof T?r:new T(`Failed to publish changes: ${r instanceof Error?r.message:"Unknown error"}`,"PUBLISH_CHANGES_FAILED")}}class iw extends Z{getValidationSchema(){return v.z.object({revisionId:v.z.string().nonempty(),discardCurrent:v.z.boolean(),pageId:v.z.string().optional()})}async execute(t){if(await this.verifyAccess(),!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{appId:r}=this.context;let n,a;if(t.revisionId==="current"){if(!t.pageId)throw new T("pageId is required when restoring current revision","PAGE_ID_REQUIRED");const{data:o,error:s}=await A(()=>S.query.appPagesOnline.findFirst({where:h.and(h.eq(he.id,t.pageId),h.eq(he.app,r)),columns:{id:!0,blocks:!0}}));if(s)throw new T("Error fetching live page","FETCH_ERROR");if(!o)throw new T("Live page not found","PAGE_NOT_FOUND");n=o.id,a=o.blocks}else{const{data:o,error:s}=await A(()=>S.query.appPagesRevisions.findFirst({where:h.and(h.eq(Se.uid,t.revisionId),h.eq(Se.app,r)),columns:{id:!0,blocks:!0,type:!0}}));if(s)throw new T("Error fetching revision","FETCH_ERROR");if(!o)throw new T("Revision not found","REVISION_NOT_FOUND");n=o.id,a=o.blocks}if(!t.discardCurrent){const{data:o,error:s}=await A(()=>S.query.appPages.findFirst({where:h.and(h.eq(f.id,n),h.eq(f.app,r))}));if(s)throw new T("Error fetching current page","FETCH_ERROR");if(!o)throw new T("Current page not found","PAGE_NOT_FOUND");const i=o.blocks,l={id:n,blocks:i,type:"draft",createdAt:"now()",...q.pick(o,["name","slug","pageType","lang","app","currentEditor"])};await S.insert(Se).values(l)}return await S.update(f).set({blocks:a}).where(h.eq(f.id,n)),{success:!0,pageId:n}}}class lw extends Z{getValidationSchema(){return v.z.object({pageType:v.z.string(),query:v.z.string()})}async execute(t){try{const{pageType:r,query:n}=t,a=ut.getChaiPageType(r);if(!a)return{error:"Page type not found"};if(a.search){const o=await a.search(n);return o instanceof Error?{error:o.message}:o}return[]}catch(r){return this.handleError(r)}}}class uw extends Z{getValidationSchema(){return v.z.object({pageType:v.z.string().min(1),query:v.z.string().optional()})}async execute(t){if(!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{appId:r}=this.context,{pageType:n,query:a=""}=t,o=this.isUUID(a),s=[h.eq(f.app,r),h.eq(f.pageType,n)];let i;a?o?i=h.and(...s,h.eq(f.id,a)):i=h.and(...s,h.or(h.ilike(f.slug,`%${a}%`),h.ilike(f.name,`%${a}%`))):i=h.and(...s);const{data:l,error:u}=await A(()=>S.select({id:f.id,slug:f.slug,name:f.name,lang:f.lang,primaryPage:f.primaryPage}).from(f).where(i));if(u)throw new T("Failed to search pages","ERROR_SEARCHING_PAGES",500,u);return l||[]}isUUID(t){return t.length===36}}class cw extends Z{constructor(){super(...arguments);Ie(this,"appId","")}getValidationSchema(){return v.z.object({id:v.z.string().min(1,"Page ID is required")})}async execute(r){if(await this.verifyAccess(),!this.context)throw new T("Context not set","CONTEXT_NOT_SET");this.appId=this.context.appId;try{return await this.takeOffline(r.id)}catch(n){if(n instanceof T)throw n;const a=n instanceof Error?n.message:"Failed to take page offline";throw new T(a,"TAKE_OFFLINE_ERROR")}}async takeOffline(r){const n=await this.getPageType(r),{error:a}=await A(()=>S.update(f).set({online:!1}).where(h.and(h.eq(f.id,r),h.eq(f.app,this.appId))));if(a)throw new T("Error taking page offline","ERROR_TAKING_PAGE_OFFLINE");if(await this.deleteOnlinePage(r),n==="language")return{tags:[`page-${await this.getPrimaryPage(r)}`]};if(n==="partial")return{tags:[...(await this.getPartialBlockUsage(r)).map(l=>`page-${l}`)]};const{data:o,error:s}=await A(()=>S.select({id:f.id,slug:f.slug,lang:f.lang,pageType:f.pageType,name:f.name,online:f.online,seo:f.seo}).from(f).where(h.eq(f.id,r)));if(s||!o||o.length===0)throw new T("Error getting page after taking offline","ERROR_TAKING_PAGE_OFFLINE");return{tags:[`page-${r}`],page:o[0]}}async deleteOnlinePage(r){const{error:n}=await A(()=>S.delete(he).where(h.eq(he.id,r)));if(n)throw new T("Error deleting page from online pages table","ERROR_DELETING_PAGE_FROM_ONLINE_PAGES_TABLE");const{error:a}=await A(()=>S.delete(he).where(h.eq(he.primaryPage,r)));if(a)throw new T("Error deleting page from online pages table","ERROR_DELETING_PAGE_FROM_ONLINE_PAGES_TABLE")}async getPageType(r){const{data:n,error:a}=await A(()=>S.select({primaryPage:f.primaryPage,pageType:f.pageType,slug:f.slug}).from(f).where(h.and(h.eq(f.id,r),h.eq(f.app,this.appId))));if(a||!n||n.length===0)throw new T("Page not found","PAGE_NOT_FOUND");const o=n[0];return(i=>!i||i.trim()==="")(o.slug)?"partial":o.primaryPage?"language":"primary"}async getPrimaryPage(r){const{data:n,error:a}=await A(()=>S.select({id:f.id,primaryPage:f.primaryPage}).from(f).where(h.and(h.eq(f.id,r),h.eq(f.app,this.appId))));if(a||!n||n.length===0)throw new T("Error getting primary page","ERROR_GETTING_PRIMARY_PAGE");const o=n[0];return o.primaryPage??o.id}async getPartialBlockUsage(r){const{data:n,error:a}=await A(()=>S.select({id:f.id,partialBlocks:f.partialBlocks}).from(f).where(h.eq(f.app,this.appId)));return a||!n?[]:n.filter(o=>(o.partialBlocks||"").split("|").includes(r)).map(o=>o.id)}}class dw extends Z{getValidationSchema(){return v.z.object({id:v.z.string().min(1)})}async execute(t){if(await this.verifyAccess(),!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{id:r}=t,{error:n}=await A(()=>S.delete(te).where(h.eq(te.pageId,r)));if(n)throw new T("Failed to unmark page as template","DELETE_FAILED",500,n);return{success:!0}}}class pw{constructor(t){Ie(this,"appId");Ie(this,"pageTreeBuilder");this.appId=t}updateNodeSlugInTree(t,r,n){for(const a of n){if(a.id===t)return a.slug=r,!0;if(a.children&&a.children.length>0&&this.updateNodeSlugInTree(t,r,a.children))return!0}return!1}validateSlugAvailabilityInTree(t,r,n,a,o=!1){const s=i=>{for(const l of i){const u=l.dynamic??!1;if(l.slug===t&&l.id!==r&&u===n||l.children&&l.children.length>0&&s(l.children))return!0}return!1};if(s(a.primaryTree)){const i=o?`Slug '${t}' conflicts with a primary page slug. Language page slugs cannot overlap with primary page slugs.`:`Slug '${t}' is already in use. Please choose another slug`;throw new T(i,"SLUG_ALREADY_EXISTS")}if(s(a.languageTree)){const i=o?`Slug '${t}' is already in use by another language page. Please choose another slug.`:`Slug '${t}' conflicts with a language page slug. Please choose another slug.`;throw new T(i,"SLUG_ALREADY_EXISTS")}}async isSlugChanged(t,r){if(!r)return!1;const{data:n,error:a}=await A(()=>S.select({slug:f.slug}).from(f).where(h.and(h.eq(f.id,t),h.eq(f.app,this.appId))).limit(1));if(a||!n||n.length===0)return!1;const o=n[0];return(o==null?void 0:o.slug)!==r}async isParentChanged(t,r){if(r===void 0)return!1;const{data:n,error:a}=await A(()=>S.select({parent:f.parent}).from(f).where(h.and(h.eq(f.id,t),h.eq(f.app,this.appId))).limit(1));if(a||!n||n.length===0)return!1;const o=n[0];return(o==null?void 0:o.parent)!==r}async handleSlugChangeWithTree(t,r){const n=r.slug;this.pageTreeBuilder||(this.pageTreeBuilder=new Ar(this.appId));const a=await this.pageTreeBuilder.getPagesTree();let o=this.pageTreeBuilder.findPageInPrimaryTree(t,a.primaryTree);if(!o&&(o=this.pageTreeBuilder.findPageInLanguageTree(t,a.languageTree),!o))throw new T("Page not found in tree","PAGE_NOT_FOUND_IN_TREE");const s=o.slug,i=o.dynamic||!1;this.validateSlugAvailabilityInTree(n,t,i,a);let l=[];const u=this.pageTreeBuilder.collectNestedChildSlugs(o,s,n);return l=[{id:t,newSlug:n},...u.map(c=>({id:c.id,newSlug:c.newSlug}))],l}async handleParentChangeWithTree(t,r){const n=r.parent;this.pageTreeBuilder||(this.pageTreeBuilder=new Ar(this.appId));const a=await this.pageTreeBuilder.getPagesTree(),o=this.pageTreeBuilder.findPageInPrimaryTree(t,a.primaryTree);if(!o)throw this.pageTreeBuilder.findPageInLanguageTree(t,a.languageTree)?new T("Cannot change parent of language pages directly","INVALID_OPERATION"):new T("Primary page not found in tree","PAGE_NOT_FOUND_IN_TREE");const s=o.slug,i=r.slug?r.slug:this.pageTreeBuilder.calculateSlugFromParent(n,s,a.primaryTree);this.validateSlugAvailabilityInTree(i,t,o.dynamic||!1,a),this.updateNodeSlugInTree(t,i,a.primaryTree);const l=this.pageTreeBuilder.collectNestedChildSlugs(o,s,i),u=[{id:t,newSlug:i},...l.map(p=>({id:p.id,newSlug:p.newSlug}))];for(const p of l)this.updateNodeSlugInTree(p.id,p.newSlug,a.primaryTree);const c=this.pageTreeBuilder.findLanguagePagesForPrimary(t,a.languageTree);let d;n&&(d=this.pageTreeBuilder.findLanguagePagesForPrimary(n,a.languageTree));for(const p of c){const w=d==null?void 0:d.filter(P=>P.lang===p.lang)[0],b=(w==null?void 0:w.id)||null,_=this.pageTreeBuilder.calculateSlugFromParent(b,p.slug,a.languageTree);this.validateSlugAvailabilityInTree(_,p.id,p.dynamic||!1,a,!0),this.updateNodeSlugInTree(p.id,_,a.languageTree);const I=this.pageTreeBuilder.collectNestedChildSlugs(p,p.slug,_);for(const P of I)this.updateNodeSlugInTree(P.id,P.newSlug,a.languageTree);u.push({id:p.id,newSlug:_}),u.push(...I.map(P=>({id:P.id,newSlug:P.newSlug})))}return u}async batchUpdateSlugs(t,r,n,a){const o=t.map(async i=>{const l={slug:i.newSlug,lastSaved:h.sql`now()`};if(i.id===n){const c=q.pick(r,["name","seo","blocks","currentEditor","buildTime","parent","pageType","dynamic","dynamicSlugCustom","links","partialBlocks","designTokens"]);Object.keys(c).forEach(d=>{c[d]===void 0&&delete c[d]}),Object.assign(l,{...c,changes:a})}const{error:u}=await A(()=>S.update(f).set(l).where(h.and(h.eq(f.id,i.id),h.eq(f.app,this.appId))));if(u)throw new T(`Failed to update page ${i.id}`,"UPDATE_PAGE_FAILED");return i.id});await Promise.all(o);const s=t.map(async i=>{await A(()=>S.update(he).set({slug:i.newSlug}).where(h.and(h.eq(he.id,i.id),h.eq(he.app,this.appId))))});await Promise.all(s)}setPageTreeBuilder(t){this.pageTreeBuilder=t}}class fw extends Z{constructor(){super(...arguments);Ie(this,"appId","");Ie(this,"pageTreeBuilder");Ie(this,"slugChangeHandler")}getValidationSchema(){return v.z.object({id:v.z.string().nonempty(),blocks:v.z.array(v.z.any()).optional(),currentEditor:v.z.string().optional(),slug:v.z.string().optional(),name:v.z.string().optional(),seo:v.z.record(v.z.string(),v.z.any()).optional(),buildTime:v.z.boolean().optional(),parent:v.z.union([v.z.string(),v.z.null()]).optional(),pageType:v.z.string().optional(),dynamic:v.z.boolean().optional(),dynamicSlugCustom:v.z.string().optional(),needTranslations:v.z.boolean().optional()})}async execute(r){await this.verifyAccess(),this.validateContext(),this.appId=this.context.appId;try{if(this.isOnlyBlocksUpdate(r))return await this.updateBlocks(r.id,r.blocks),await this.buildResponse(r.id,r);const n=this.extractAllowedPageFields(r);this.slugChangeHandler=new pw(this.appId);const a=await this.slugChangeHandler.isSlugChanged(r.id,n.slug);return await this.slugChangeHandler.isParentChanged(r.id,n.parent)&&n.parent!==void 0?(this.pageTreeBuilder=new Ar(this.appId),this.slugChangeHandler.setPageTreeBuilder(this.pageTreeBuilder),await this.handleParentChangeWithHandler(r.id,n)):a&&n.slug?(this.pageTreeBuilder=new Ar(this.appId),this.slugChangeHandler.setPageTreeBuilder(this.pageTreeBuilder),await this.handleSlugChangeWithHandler(r.id,n)):await this.updatePageInDatabase(r.id,n),await this.buildResponse(r.id,n)}catch(n){return this.handleExecutionError(n)}}async updateBlocks(r,n){const a=this.getLinks(n),o=this.getPartialBlocks(n),s=this.getDesignTokens(n);await this.updatePageInDatabase(r,{blocks:n,links:a,partialBlocks:o,designTokens:s})}getPartialBlocks(r){return q.compact(r.filter(n=>n._type==="GlobalBlock"||n._type==="PartialBlock").map(n=>q.get(n,"partialBlockId",q.get(n,"globalBlock",!1)))).join("|")}getLinks(r){const n=JSON.stringify(r),a=/pageType:[^:]+:([a-f0-9-]{36})/gi,o=[];let s;for(;(s=a.exec(n))!==null;)s[1]&&o.push(s[1]);return q.compact(o).join("|")}getDesignTokens(r){const n=/dt#[^ "]+/g,a={};for(const o of r){const s=JSON.stringify(o);let i;for(;(i=n.exec(s))!==null;)if(i[0]){const l=i[0];a[l]||(a[l]={}),a[l][o._id]=o._name||o._type}}return a}validateContext(){if(!this.context)throw new T("Context not set","CONTEXT_NOT_SET")}extractAllowedPageFields(r){return q.pick(r,["slug","name","seo","blocks","currentEditor","buildTime","parent","pageType","dynamic","dynamicSlugCustom"])}async handleSlugChangeWithHandler(r,n){const a=await this.slugChangeHandler.handleSlugChangeWithTree(r,n),o=this.determineChangeTypes(n);await this.slugChangeHandler.batchUpdateSlugs(a,n,r,o)}async handleParentChangeWithHandler(r,n){const a=await this.slugChangeHandler.handleParentChangeWithTree(r,n),o=this.determineChangeTypes(n);await this.slugChangeHandler.batchUpdateSlugs(a,n,r,o)}determineChangeTypes(r){const n=[],a=q.keys(r);return a.includes("blocks")&&n.push("Page"),a.includes("seo")&&n.push("SEO"),n.length>0?n:["Updated"]}async updatePageInDatabase(r,n){const a=this.determineChangeTypes(n),{error:o}=await A(()=>S.update(f).set({...n,changes:a,lastSaved:h.sql`now()`}).where(h.and(h.eq(f.id,r),h.eq(f.app,this.appId))));if(a.includes("Page")){const{error:s}=await A(()=>S.update(f).set({changes:a}).where(h.and(h.eq(f.primaryPage,r),h.eq(f.app,this.appId))));if(s)throw new T("Error updating page","ERROR_UPDATING_PAGE")}if(o)throw new T("Error updating page","ERROR_UPDATING_PAGE")}isOnlyBlocksUpdate(r){return q.keys(r).includes("blocks")}async fetchUpdatedPageData(r){const{data:n,error:a}=await A(()=>S.select({id:f.id,slug:f.slug,lang:f.lang,pageType:f.pageType,name:f.name,online:f.online,parent:f.parent,seo:f.seo}).from(f).where(h.eq(f.id,r)).limit(1));if(a||!n||n.length===0)throw new T("Error getting updated page","ERROR_GETTING_PAGE");return n[0]}async buildResponse(r,n){return this.isOnlyBlocksUpdate(n)?{success:!0}:{page:await this.fetchUpdatedPageData(r)}}handleExecutionError(r){throw console.log("Error updating page:",r),r instanceof T?r:new T(`Failed to update page: ${r instanceof Error?r.message:"Unknown error"}`,"UPDATE_PAGE_FAILED")}}class gw extends Z{getValidationSchema(){return v.z.object({id:v.z.string().nonempty(),metadata:v.z.record(v.z.string(),v.z.any())})}async execute(t){if(await this.verifyAccess(),!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{appId:r}=this.context,{data:n,error:a}=await A(()=>S.query.appPages.findFirst({where:h.and(h.eq(f.id,t.id),h.eq(f.app,r)),columns:{id:!0}}));if(a)throw new T(`Failed to fetch page: ${a.message}`,"FETCH_FAILED");if(!n)throw new T("Page not found","PAGE_NOT_FOUND");const{error:o}=await A(()=>S.update(f).set({metadata:t.metadata}).where(h.and(h.eq(f.id,t.id),h.eq(f.app,r))));if(o)throw console.error(o),new T("Failed to update page metadata","UPDATE_FAILED");return{success:!0}}}class hw extends Z{getValidationSchema(){return v.z.object({settings:v.z.any()})}async execute(t){if(await this.verifyAccess(),!this.context)throw ie("CONTEXT_NOT_SET",new Error("CONTEXT_NOT_SET"));const{appId:r}=this.context,n=q.pick(t.settings,["theme","designTokens"]),{data:a,error:o}=await A(()=>S.select({changes:ge.changes}).from(ge).where(h.eq(ge.id,r)));if(o)throw ie("ERROR_UPDATE_WEBSITE_FIELDS",o);const s=a[0].changes??[],i={theme:"THEME",designTokens:"DESIGN_TOKENS"},l=Object.keys(n).map(p=>i[p]).filter(Boolean),u=[...new Set([...s,...l])],c={...n,changes:u},{error:d}=await A(()=>S.update(ge).set(c).where(h.eq(ge.id,r)));if(d)throw ie("ERROR_UPDATE_WEBSITE_FIELDS",d);return{success:!0}}}class mw extends Z{getValidationSchema(){return v.z.object({name:v.z.string().min(1),group:v.z.string().min(1),blocks:v.z.array(v.z.any()),description:v.z.string().optional(),previewImage:v.z.string().optional(),id:v.z.string().optional(),previewImageUrl:v.z.string().optional()})}async execute(t){var b;if(await this.verifyAccess(),!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{appId:r,userId:n}=this.context,{name:a,group:o,blocks:s,description:i,previewImage:l,previewImageUrl:u,id:c}=t,{data:d,error:p}=await A(()=>S.query.libraries.findFirst({where:h.eq(K.app,r),columns:{id:!0}}));if(p)throw new T("Failed to fetch site library","GET_SITE_LIBRARY_FAILED",500,p);if(!d)throw new T("Library not found for this app","GET_SITE_LIBRARY_FAILED");let w=u;if(l){const _=wa("UPLOAD_TO_STORAGE");_==null||_.setContext(this.context);const I=`library-item-${Date.now()}.webp`,P=`${r}/library-items`,C=await(_==null?void 0:_.execute({file:l,fileName:I,contentType:"image/webp",folder:P}));if(C!=null&&C.error)throw new T("Failed to upload preview image","UPLOAD_PREVIEW_FAILED",500,C.error);w=((b=C==null?void 0:C.data)==null?void 0:b.url)||u}if(c){const _={name:a,blocks:s,library:d.id,description:i??null,group:o,user:n??null};w&&(_.preview=w);const{data:I,error:P}=await A(()=>S.update(re).set(_).where(h.eq(re.id,c)).returning());if(P||!I||I.length===0)throw new T("Failed to update library item","UPDATE_LIBRARY_ITEM_FAILED",500,P);return I[0]}else{const _=bu.randomUUID(),I=[...s];q.set(I,"0._libBlockId",_);const P={id:_,name:a,blocks:I,library:d.id,description:i??null,group:o,user:n??null,preview:w??null},{data:C,error:m}=await A(()=>S.insert(re).values(P).returning());if(m||!C||C.length===0)throw new T("Failed to create library item","CREATE_LIBRARY_ITEM_FAILED",500,m);return C[0]}}}class yw extends Z{getValidationSchema(){return v.z.object({}).optional().default({})}async execute(){const t=new pu,r=new du,n=new cu,a=new uu,o=new su;this.context&&(t.setContext(this.context),r.setContext(this.context),n.setContext(this.context),a.setContext(this.context),o.setContext(this.context));const[s,i,l,u,c]=await Promise.all([t.execute({draft:!0}),r.execute({lang:""}),n.execute(),a.execute(),o.execute()]);return{websiteSettings:s,websitePages:i,pageTypes:l,libraries:u,collections:c}}}class vw extends Z{getValidationSchema(){return v.z.object({id:v.z.string(),lang:v.z.string(),pageType:v.z.string().optional(),pageProps:v.z.any().optional().default({})})}async execute(t){const{id:r,lang:n,pageType:a,pageProps:o={}}=t,s=new iu,i=new ou,l=new lu;this.context&&(s.setContext(this.context),i.setContext(this.context),l.setContext(this.context));try{const[u,c,d]=await Promise.all([s.execute({id:r}),i.execute({lang:n,pageType:a,pageProps:o}),l.execute({id:r})]);return{draftPage:u,builderPageData:c,languagePages:d}}catch(u){const c=u instanceof Error?u.message:String(u);throw new Error(`Failed to fetch page data: ${c}`)}}}const xt=class xt{constructor(){Ie(this,"actions",{});ut.registerChaiPageType("page",{name:"Static Page",icon:'<svg stroke="currentColor" fill="currentColor" strokeWidth="0" viewBox="0 0 24 24" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M5 8V20H19V8H5ZM5 6H19V4H5V6ZM20 22H4C3.44772 22 3 21.5523 3 21V3C3 2.44772 3.44772 2 4 2H20C20.5523 2 21 2.44772 21 3V21C21 21.5523 20.5523 22 20 22ZM7 10H11V14H7V10ZM7 16H17V18H7V16ZM13 11H17V13H13V11Z"></path></svg>'}),ut.registerChaiPartialType("global",{name:"Global Block",helpText:"A global block can be reused in multiple pages.",icon:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-hash-icon lucide-hash"><line x1="4" x2="20" y1="9" y2="9"/><line x1="4" x2="20" y1="15" y2="15"/><line x1="10" x2="8" y1="3" y2="21"/><line x1="16" x2="14" y1="3" y2="21"/></svg>'}),this.register("ASK_AI",new zv),this.register("CHECK_USER_ACCESS",new $v),this.register("CREATE_PAGE",new Mv),this.register("DELETE_PAGE",new Lv),this.register("DUPLICATE_PAGE",new jv),this.register("RESTORE_PAGE_REVISION",new iw),this.register("UPDATE_PAGE_METADATA",new gw),this.register("GENERATE_SEO_FIELD",new Hv),this.register("GENERATE_HTML_FROM_PROMPT",new Bv),this.register("GET_REVISION_PAGE",new rw),this.register("UPDATE_PAGE",new fw),this.register("GET_COMPARE_DATA",new Wv),this.register("GET_SITE_WIDE_USAGE",new nw),this.register("GET_WEBSITE_DRAFT_SETTINGS",new pu),this.register("GET_WEBSITE_PAGES",new du),this.register("GET_LIBRARIES",new uu),this.register("GET_DRAFT_PAGE",new iu),this.register("GET_LANGUAGE_PAGES",new lu),this.register("UPSERT_LIBRARY_ITEM",new mw),this.register("MARK_AS_TEMPLATE",new ow),this.register("GET_LIBRARY_ITEM",new Qv),this.register("GET_LIBRARY_ITEMS",new ew),this.register("DELETE_LIBRARY_ITEM",new Fv),this.register("UNMARK_AS_TEMPLATE",new dw),this.register("GET_TEMPLATES_BY_TYPE",new aw),this.register("SEARCH_PAGES",new uw),this.register("GET_PAGE_REVISIONS",new tw),this.register("PUBLISH_CHANGES",new sw),this.register("UPDATE_WEBSITE_FIELDS",new hw),this.register("TAKE_OFFLINE",new cw),this.register("GET_CHANGES",new Yv),this.register("GET_LIBRARY_GROUPS",new Xv),this.register("DELETE_PAGE_REVISION",new Uv),this.register("GET_COLLECTIONS",new su),this.register("GET_BLOCK_ASYNC_PROPS",new Jv),this.register("GET_BUILDER_PAGE_DATA",new ou),this.register("GET_PAGE_TYPES",new cu),this.register("SEARCH_PAGE_TYPE_ITEMS",new lw),this.register("GET_DYNAMIC_PAGES",new Kv),this.register("GET_WEBSITE_DATA",new yw),this.register("GET_PAGE_ALL_DATA",new vw)}static getInstance(){return xt.instance||(xt.instance=new xt),xt.instance}register(t,r){this.actions[t]=r}registerActions(t){for(const[r,n]of Object.entries(t))this.register(r,n)}getAction(t){return q.get(this.actions,t)}getAllActions(){return this.actions}};Ie(xt,"instance");let ln=xt;const wa=e=>ln.getInstance().getAction(e),ww=ln.getInstance();exports.ActionError=T;exports.ChaiBaseAction=Z;exports.actionsRegistery=ww;exports.db=S;exports.getAskAiSystemPrompt=ru;exports.getChaiAction=wa;exports.safeQuery=A;exports.schema=au;
481
+ Language: ${t.lang}`})).text}}}class Yv extends Z{getValidationSchema(){return v.z.object({block:v.z.any(),pageProps:v.z.any().optional().default({}),lang:v.z.string()})}async execute(t){var r;try{const{block:n,pageProps:a,lang:o}=t,s=n._type;if(s==="Repeater"&&((r=n==null?void 0:n.repeaterItems)!=null&&r.includes("{{#"))){const u=n.repeaterItems.replace("{{#","").replace("}}",""),c=ut.getChaiCollection(u);return c?await(c==null?void 0:c.fetch({block:n,pageProps:a,lang:o,draft:!0,inBuilder:!0}))??[]:[]}const i=bu.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 ou extends Z{getValidationSchema(){return v.z.object({lang:v.z.string(),pageType:v.z.string().optional(),pageProps:v.z.any().optional().default({})})}async execute(t){try{const{lang:r,pageType:n,pageProps:a={}}=t,o=await ut.getChaiGlobalData({lang:r,draft:!0,inBuilder:!0});if(!n)return{global:o};const s=ut.getChaiPageType(n);return s?{...s.dataProvider?await s.dataProvider({lang:r,draft:!0,inBuilder:!0,pageProps:a}):{},global:o}:{global:o}}catch(r){return this.handleError(r)}}}class Wv extends Z{constructor(){super(...arguments);Ie(this,"appId","")}getValidationSchema(){return v.z.object({})}async execute(){if(!this.context)throw new T("Context not set","CONTEXT_NOT_SET");this.appId=this.context.appId;try{return await this.getChanges()}catch(r){if(r instanceof T)throw r;const n=r instanceof Error?r.message:"Failed to get changes";throw new T(n,"GET_CHANGES_ERROR")}}async getChanges(){const{data:r,error:n}=await A(()=>S.select({id:f.id,slug:f.slug,name:f.name,pageType:f.pageType,lang:f.lang,changes:f.changes,primaryPage:f.primaryPage,online:f.online,currentEditor:f.currentEditor}).from(f).where(h.and(h.eq(f.app,this.appId),h.isNotNull(f.changes))));if(n)throw new T("Error getting changed pages","ERROR_GETTING_CHANGES");const{data:a,error:o}=await A(()=>S.select({id:f.id,slug:f.slug,name:f.name,pageType:f.pageType,lang:f.lang,changes:f.changes,primaryPage:f.primaryPage,online:f.online}).from(f).where(h.and(h.eq(f.app,this.appId),h.isNull(f.currentEditor),h.eq(f.online,!1))));if(o)throw new T("Error getting offline pages","ERROR_GETTING_OFFLINE_PAGES");const s=(a||[]).map(d=>({...d,changes:["Take Online"]})),l=[...(r||[]).filter(d=>!s.some(p=>p.id===d.id)).map(d=>({...d,changes:d.changes})),...s],{data:u,error:c}=await A(()=>S.select({changes:ge.changes}).from(ge).where(h.and(h.eq(ge.id,this.appId),h.isNotNull(ge.changes))));if(!c&&u&&u.length>0){const d=u[0].changes??[];d.includes("THEME")&&l.push({id:"THEME",slug:"",name:"Theme",pageType:"theme",lang:"",changes:["Updated"],primaryPage:null,online:!0}),d.includes("DESIGN_TOKENS")&&l.push({id:"DESIGN_TOKENS",slug:"",name:"Design Tokens",pageType:"design_tokens",lang:"",changes:["Updated"],primaryPage:null,online:!0})}return l}}class su extends Z{getValidationSchema(){return v.z.object({})}async execute(){try{return ut.getChaiCollections().map(r=>j.omit(r,"fetch"))}catch(t){return this.handleError(t)}}}class Kv extends Z{getValidationSchema(){return v.z.object({versions:v.z.object({version1:v.z.object({type:v.z.enum(["draft","revision","live"]),id:v.z.string()}),version2:v.z.object({type:v.z.enum(["draft","revision","live"]),id:v.z.string()})})})}async execute(t){this.validateContext();const r=await this.getBlocksForVersion(t.versions.version1.type,t.versions.version1.id),n=await this.getBlocksForVersion(t.versions.version2.type,t.versions.version2.id);return{version1:{blocks:r.blocks,seo:r.seo},version2:{blocks:n.blocks,seo:n.seo}}}async getBlocksForVersion(t,r){let n,a;switch(t){case"draft":({data:n,error:a}=await A(()=>S.query.appPages.findFirst({where:h.eq(f.id,r),columns:{blocks:!0,seo:!0}})));break;case"live":({data:n,error:a}=await A(()=>S.query.appPagesOnline.findFirst({where:h.eq(he.id,r),columns:{blocks:!0,seo:!0}})));break;case"revision":({data:n,error:a}=await A(()=>S.query.appPagesRevisions.findFirst({where:h.eq(Se.uid,r),columns:{blocks:!0,seo:!0}})));break;default:throw new T(`Invalid version type: ${t}`,"INVALID_VERSION_TYPE")}if(a)throw new T(`Failed to fetch blocks for ${t} version: ${a.message}`,"FETCH_BLOCKS_ERROR");if(!n)throw new T(`No data found for ${t} version with id: ${r}`,"VERSION_NOT_FOUND");return{blocks:n.blocks||[],seo:n.seo||{}}}validateContext(){if(!this.context)throw new T("Context not set","CONTEXT_NOT_SET")}}class iu extends Z{getValidationSchema(){return v.z.object({id:v.z.string()})}async execute(t){var c;if(!this.context)throw ie("CONTEXT_NOT_SET",new Error("CONTEXT_NOT_SET"));const{appId:r}=this.context,{id:n}=t,a=f,{data:o,error:s}=await A(()=>S.select({id:a.id,name:a.name,slug:a.slug,lang:a.lang,primaryPage:a.primaryPage,seo:a.seo,currentEditor:a.currentEditor,pageType:a.pageType,lastSaved:a.lastSaved,dynamic:a.dynamic,parent:a.parent,blocks:a.blocks}).from(a).where(h.and(h.eq(a.app,r),h.eq(a.id,n))).limit(1));if(s)throw ie("PAGE_NOT_FOUND",s);if(!o||o.length===0)throw ie("PAGE_NOT_FOUND",new Error("Page not found"));const i=o[0],l=i.primaryPage??i.id;let u=i.blocks??[];if(l!==i.id){const{data:d,error:p}=await A(()=>S.select({blocks:a.blocks}).from(a).where(h.and(h.eq(a.app,r),h.eq(a.id,l))).limit(1));if(p)throw ie("BLOCKS_NOT_FOUND",p);u=((c=d==null?void 0:d[0])==null?void 0:c.blocks)??[]}return{...i,blocks:u,id:n,languagePageId:i.id}}}class Xv extends Z{getValidationSchema(){return v.z.object({pageType:v.z.string()})}async execute(t){try{const{pageType:r,...n}=t,a=ut.getChaiPageType(r);return a?a.getDynamicPages?await a.getDynamicPages(n):[]:{error:"Page type not found"}}catch(r){return this.handleError(r)}}}class lu extends Z{getValidationSchema(){return v.z.object({id:v.z.string()})}async execute(t){if(!this.context)throw ie("CONTEXT_NOT_SET",new Error("CONTEXT_NOT_SET"));const{appId:r}=this.context,{id:n}=t,{data:a,error:o}=await A(()=>S.select({id:f.id,name:f.name,slug:f.slug,lang:f.lang,primaryPage:f.primaryPage,pageType:f.pageType,seo:f.seo,currentEditor:f.currentEditor,online:f.online,parent:f.parent,metadata:f.metadata,dynamic:f.dynamic,dynamicSlugCustom:f.dynamicSlugCustom,changes:f.changes}).from(f).where(h.and(h.eq(f.app,r),h.or(h.eq(f.primaryPage,n),h.eq(f.id,n)))));if(o)throw ie("LANGUAGE_PAGES_ERROR",o);return a.map(s=>j.omit(s,["app"]))}}class uu extends Z{getValidationSchema(){return v.z.object({}).optional().default({})}async execute(){var l;if(!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{appId:t}=this.context,r=await A(()=>S.select({id:K.id,name:K.name,type:K.type,createdAt:K.createdAt}).from(K).where(h.eq(K.app,t)).limit(1));if(r.error)throw new T("Failed to fetch site library","DB_ERROR");const n=r.data[0]||null,a=((l=process==null?void 0:process.env)==null?void 0:l.CHAIBUILDER_CLIENT_ID)||null;if(!a)return n?[{id:n.id,name:n.name,type:n.type,createdAt:n.createdAt,isSiteLibrary:!0}]:[];const{data:o,error:s}=await A(()=>S.select({id:K.id,name:K.name,type:K.type,createdAt:K.createdAt}).from(K).where(h.eq(K.client,a)));if(s)throw new T("Failed to fetch libraries","DB_ERROR");const i=(n==null?void 0:n.id)||null;return o.map(u=>({id:u.id,name:u.name,type:u.type,createdAt:u.createdAt,isSiteLibrary:i?u.id===i:!1}))}}class Qv extends Z{getValidationSchema(){return v.z.object({})}async execute(){if(!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{data:t,error:r}=await A(()=>S.select({id:K.id}).from(K).where(h.eq(K.app,this.context.appId)).limit(1));if(r)throw new T("Failed to fetch site library","GET_SITE_LIBRARY_FAILED",500,r);if(!t||t.length===0)return[];const n=t[0],{data:a,error:o}=await A(()=>S.select({group:re.group}).from(re).where(h.eq(re.library,n.id)));if(o)throw new T("Failed to fetch library groups","GET_LIBRARY_GROUPS_FAILED",500,o);const s=j.map(a,"group").filter(i=>i!=null);return j.map(j.uniq(s),i=>({id:i,name:i}))}}class ew extends Z{getValidationSchema(){return v.z.object({id:v.z.string().min(1)})}async execute(t){if(!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{appId:r}=this.context,{id:n}=t,{data:a,error:o}=await A(()=>S.select({id:re.id,name:re.name,blocks:re.blocks,library:re.library,description:re.description,group:re.group,user:re.user,preview:re.preview,createdAt:re.createdAt,html:re.html,libraryApp:K.app,libraryName:K.name}).from(re).leftJoin(K,h.eq(re.library,K.id)).where(h.eq(re.id,n)));if(o)throw new T("Failed to fetch library item","GET_LIBRARY_ITEM_FAILED",500,o);if(!a||a.length===0)throw new T("Library item not found","GET_LIBRARY_ITEM_FAILED");const s=a[0],i=Array.isArray(s.blocks)?[...s.blocks]:s.blocks;return s.libraryApp===r?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 tw extends Z{getValidationSchema(){return v.z.object({id:v.z.string().min(1)})}async execute(t){if(!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{id:r}=t,{data:n,error:a}=await A(()=>S.select({id:re.id,name:re.name,library:re.library,group:re.group,description:re.description,preview:re.preview}).from(re).where(h.eq(re.library,r)));if(a)throw new T("Failed to fetch library items","GET_LIBRARY_ITEMS_FAILED",500,a);return n||[]}}class rw extends Z{getValidationSchema(){return v.z.object({pageId:v.z.string().min(1,"Page ID is required")})}async execute(t){if(!this.context)throw new T("Context not set","CONTEXT_NOT_SET");try{return await this.getRevisions(t.pageId)}catch(r){if(r instanceof T)throw r;const n=r instanceof Error?r.message:"Failed to get page revisions";throw new T(n,"GET_PAGE_REVISIONS_ERROR")}}async getRevisions(t){const{data:r,error:n}=await A(()=>S.select({currentEditor:f.currentEditor,createdAt:f.createdAt}).from(f).where(h.and(h.eq(f.app,this.context.appId),h.eq(f.id,t)))),{data:a,error:o}=await A(()=>S.select({uid:Se.uid,currentEditor:Se.currentEditor,createdAt:Se.createdAt,type:Se.type}).from(Se).where(h.and(h.eq(Se.app,this.context.appId),h.eq(Se.id,t))));if(n){const u=n instanceof Error?`Error getting current page for revisions: ${n.message}`:"Error getting current page for revisions";throw new T(u,"ERROR_GETTING_CURRENT_PAGE_FOR_REVISIONS")}if(o){const u=o instanceof Error?`Error getting page revisions: ${o.message}`:"Error getting page revisions";throw new T(u,"ERROR_GETTING_PAGE_REVISIONS")}const s=r==null?void 0:r[0],l=[...s?[{...s,type:"published",uid:"current"}]:[],...a??[]];return j.orderBy(l,["createdAt"],["desc"])}}class cu extends Z{getValidationSchema(){return v.z.object({})}async execute(){try{return await Promise.all(ut.getChaiPageTypes().map(async r=>({key:r.key,helpText:r.helpText??"",icon:r.icon??"",dynamicSegments:r.dynamicSegments??"",dynamicSlug:r.dynamicSlug??"",hasSlug:r.hasSlug??!0,name:typeof r.name=="function"?await r.name():r.name,...j.isFunction(r.defaultSeo)?{defaultSeo:r.defaultSeo()}:{},...j.isFunction(r.defaultJSONLD)?{defaultJSONLD:r.defaultJSONLD()}:{}})))}catch(t){return this.handleError(t)}}}class nw extends Z{getValidationSchema(){return v.z.object({id:v.z.string().nonempty(),type:v.z.enum(["draft","live","revision"])})}async execute(t){if(!this.context)throw ie("CONTEXT_NOT_SET",new Error("CONTEXT_NOT_SET"));let r,n;switch(t.type){case"draft":({data:r,error:n}=await A(()=>S.query.appPages.findFirst({where:h.and(h.eq(f.id,t.id),h.eq(f.lang,t.lang??""))})));break;case"live":({data:r,error:n}=await A(()=>S.query.appPagesOnline.findFirst({where:h.and(h.eq(he.id,t.id),h.eq(he.lang,t.lang??""))})));break;case"revision":({data:r,error:n}=await A(()=>S.query.appPagesRevisions.findFirst({where:h.and(h.eq(Se.uid,t.id),h.eq(Se.lang,t.lang??""))})));break}if(n||!r)throw ie("NOT_FOUND",n||new Error("Page not found"));let a=(r==null?void 0:r.blocks)??[];return a=await this.getMergedBlocks(a,t.type==="draft",this.context.appId),{...r,blocks:a}}async getMergedBlocks(t,r,n){const a=r?f:he,o=t.filter(({_type:c})=>c==="GlobalBlock"||c==="PartialBlock");if(o.length===0)return t;const s=o.map(c=>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(h.and(h.eq(a.app,n),h.inArray(a.id,s))));if(l)throw ie("PARTIAL_BLOCKS_FETCH_ERROR",l);const u=new Map;i&&i.forEach(c=>{u.set(c.id,c.blocks??[])});for(let c=0;c<o.length;c++){const d=o[c];if(!d)continue;const p=j.get(d,"partialBlockId",j.get(d,"globalBlock",""));if(p==="")continue;let w=u.get(p)??[];w.length>0&&(w=w.map(_=>(j.isEmpty(_._parent)&&(_._parent=d._parent),j.has(d,"_show")&&(_._show=d._show),_)));const b=t.indexOf(d);b!==-1&&t.splice(b,1,...w)}return t}}class aw extends Z{getValidationSchema(){return v.z.undefined()}async execute(){if(!this.context)throw ie("CONTEXT_NOT_SET",new Error("CONTEXT_NOT_SET"));const{appId:t}=this.context,{data:r,error:n}=await A(()=>S.select({id:f.id,designTokens:f.designTokens,name:f.name,slug:f.slug,links:f.links,partialBlocks:f.partialBlocks}).from(f).where(h.and(h.eq(f.lang,""),h.eq(f.app,t))));if(n)throw ie("FETCH_SITE_DATA_FAILED",n);const a={};return 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 ow extends Z{getValidationSchema(){return v.z.object({pageType:v.z.string().min(1)})}async execute(t){if(!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{appId:r}=this.context,{pageType:n}=t,{data:a,error:o}=await A(()=>S.query.libraries.findFirst({where:h.eq(K.app,r),columns:{id:!0}}));if(o)throw new T("Failed to fetch site library","GET_SITE_LIBRARY_FAILED",500,o);const{data:s,error:i}=await A(()=>S.select({id:K.id}).from(K).where(h.eq(K.type,"shared")));if(i)throw new T("Failed to fetch shared libraries","GET_SHARED_LIBRARIES_FAILED",500,i);const l=[...a?[a.id]:[],...(s||[]).map(d=>d.id)];if(l.length===0)return[];const{data:u,error:c}=await A(()=>S.select({id:te.id,library:te.library,pageId:te.pageId,pageType:te.pageType,name:te.name,description:te.description,preview:te.preview,user:te.user,createdAt:te.createdAt}).from(te).where(h.and(h.eq(te.pageType,n),h.inArray(te.library,l))));if(c)throw new T("Failed to fetch templates","GET_TEMPLATES_FAILED",500,c);return u||[]}}class du extends Z{getValidationSchema(){return v.z.object({lang:v.z.string().optional()})}async execute(t){if(!this.context)throw ie("CONTEXT_NOT_SET",new Error("CONTEXT_NOT_SET"));const{appId:r}=this.context,a=(t??{lang:""}).lang??"",{data:o,error:s}=await A(()=>S.select({id:f.id,name:f.name,slug:f.slug,pageType:f.pageType,currentEditor:f.currentEditor,parent:f.parent,online:f.online,lastSaved:f.lastSaved,createdAt:f.createdAt,dynamic:f.dynamic,dynamicSlugCustom:f.dynamicSlugCustom,primaryPage:f.primaryPage,changes:f.changes,lang:f.lang,designTokens:f.designTokens,links:f.links,partialBlocks:f.partialBlocks}).from(f).where(h.and(h.eq(f.app,r),h.eq(f.lang,a))));if(s)throw ie("ERROR_GETTING_WEBSITE_PAGES",s);if(!o||o.length===0)return[];const i=o.filter(d=>!j.isEmpty(d.slug)).map(d=>d.id),{data:l,error:u}=await A(()=>S.select({pageId:te.pageId}).from(te).where(h.inArray(te.pageId,i)));if(u)throw ie("ERROR_GETTING_TEMPLATE_INFO",u);const c=new Set((l||[]).map(d=>d.pageId));return o.map(d=>({...d,pageType:d.pageType??"page",isTemplate:c.has(d.id),changes:d.changes,lang:d.lang,designTokens:d.designTokens,links:d.links,partialBlocks:d.partialBlocks}))}}class pu extends Z{getValidationSchema(){return v.z.object({draft:v.z.boolean()})}async execute(t){if(!this.context)throw ie("CONTEXT_NOT_SET",new Error("CONTEXT_NOT_SET"));const{appId:r}=this.context,{draft:n}=t,a=n?ge:mt,{data:o,error:s}=await A(()=>S.select({theme:a.theme,fallbackLang:a.fallbackLang,languages:a.languages,settings:a.settings,designTokens:a.designTokens,changes:a.changes}).from(a).where(h.eq(a.id,r)).limit(1));if(s)throw ie("ERROR_PROJECT_CONFIG",s);if(!o||o.length===0)throw ie("PROJECT_NOT_FOUND",new Error("Project not found"));const i=j.first(o),l=(i==null?void 0:i.changes)??[];return{...this.getDefaultSettings(),...i,fallbackLang:(i==null?void 0:i.fallbackLang)||this.getDefaultSettings().fallbackLang,languages:(i==null?void 0:i.languages)||this.getDefaultSettings().languages,theme:(i==null?void 0:i.theme)||this.getDefaultSettings().theme,appKey:this.generateDeterministicUuid(r),appChanges:l}}getDefaultSettings(){return{fallbackLang:"en",languages:[],theme:{colors:{card:["#FFFFFF","#09090B"],ring:["#2563EB","#3B82F6"],input:["#E4E4E7","#27272A"],muted:["#F4F4F5","#27272A"],accent:["#F4F4F5","#27272A"],border:["#E4E4E7","#27272A"],popover:["#FFFFFF","#09090B"],primary:["#2563EB","#3B82F6"],secondary:["#F4F4F5","#27272A"],background:["#FFFFFF","#09090B"],foreground:["#09090B","#FFFFFF"],destructive:["#EF4444","#7F1D1D"],"card-foreground":["#09090B","#FFFFFF"],"muted-foreground":["#71717A","#A1A1AA"],"accent-foreground":["#09090B","#FFFFFF"],"popover-foreground":["#09090B","#FFFFFF"],"primary-foreground":["#FFFFFF","#FFFFFF"],"secondary-foreground":["#09090B","#FFFFFF"],"destructive-foreground":["#FFFFFF","#FFFFFF"]},fontFamily:{body:"Roboto",heading:"Poppins"},borderRadius:"30px"},settings:{},designTokens:{}}}generateDeterministicUuid(t){const r=is.createHash("sha256").update(t).digest("hex");return[r.substring(0,8),r.substring(8,12),"4"+r.substring(13,16),(parseInt(r.substring(16,17),16)&3|8).toString(16)+r.substring(17,20),r.substring(20,32)].join("-")}}class sw extends Z{getValidationSchema(){return v.z.object({id:v.z.string().min(1),description:v.z.string().optional(),name:v.z.string().min(1),pageType:v.z.string().min(1),previewImage:v.z.string().optional(),previewImageUrl:v.z.string().optional()})}async execute(t){var _;if(await this.verifyAccess(),!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{appId:r,userId:n}=this.context,{id:a,description:o,name:s,pageType:i,previewImage:l,previewImageUrl:u}=t,{data:c,error:d}=await A(()=>S.query.libraries.findFirst({where:h.eq(K.app,r),columns:{id:!0}}));if(d)throw new T("Failed to fetch site library","GET_SITE_LIBRARY_FAILED",500,d);if(!c)throw new T("Library not found for this app","GET_SITE_LIBRARY_FAILED");let p=u;if(l){const I=wa("UPLOAD_TO_STORAGE");I==null||I.setContext(this.context);const P=`template-${Date.now()}.webp`,C=`${r}/templates`,m=await(I==null?void 0:I.execute({file:l,fileName:P,contentType:"image/webp",folder:C}));if(m!=null&&m.error)throw new T("Failed to upload preview image","UPLOAD_PREVIEW_FAILED",500,m.error);p=((_=m==null?void 0:m.data)==null?void 0:_.url)||u}const{data:w,error:b}=await A(()=>S.insert(te).values({library:c.id,user:n??null,pageId:a,description:o??null,name:s+" Template",pageType:i,preview:p??null}).returning({id:te.id,library:te.library,pageType:te.pageType,pageId:te.pageId,description:te.description,preview:te.preview}));if(b||!w||w.length===0)throw new T("Failed to mark page as template","UPDATE_FAILED",500,b);return w[0]}}class fu extends Z{constructor(){super(...arguments);Ie(this,"appId","");Ie(this,"revisionsEnabled",!1)}getValidationSchema(){return v.z.object({ids:v.z.array(v.z.string()).optional(),revisions:v.z.boolean().optional()})}async execute(r){await this.verifyAccess(),this.validateContext(),this.appId=this.context.appId,this.revisionsEnabled=r.revisions??!1;try{const n=r.ids??[];if(n.length===0)throw new T("IDS_REQUIRED","At least one page ID or THEME must be provided");const a=await Promise.all(n.map(i=>i==="THEME"?this.publishTheme():i==="DESIGN_TOKENS"?this.publishDesignToken():this.publishPage(i)));await this.clearChanges(n);const o=j.uniq(j.flattenDeep(a.map(i=>i.tags))),s=j.uniq(j.flattenDeep(a.map(i=>i.paths)));return{tags:o,paths:s}}catch(n){return this.handleExecutionError(n)}}validateContext(){if(!this.context)throw new T("Context not set","CONTEXT_NOT_SET")}async publishTheme(){const r=await this.cloneApp(),{error:n}=await A(()=>S.delete(mt).where(h.eq(mt.id,this.appId)));if(n)throw new T("Error deleting online theme","ERROR_PUBLISHING_THEME",500,n);const{error:a}=await A(()=>S.insert(mt).values({...r,changes:null}));if(a)throw new T("Error inserting online theme","ERROR_PUBLISHING_THEME",500,a);return await this.removeFromChangesArray("THEME","ERROR_PUBLISHING_THEME"),{tags:[`website-settings-${this.appId}`],paths:[]}}async publishDesignToken(){const r=await this.cloneApp(),{error:n}=await A(()=>S.delete(mt).where(h.eq(mt.id,this.appId)));if(n)throw new T("Error deleting online app","ERROR_PUBLISHING_DESIGN_TOKEN",500,n);const{error:a}=await A(()=>S.insert(mt).values({...r,changes:null}));if(a)throw new T("Error inserting online app","ERROR_PUBLISHING_DESIGN_TOKEN",500,a);return await this.removeFromChangesArray("DESIGN_TOKENS","ERROR_PUBLISHING_DESIGN_TOKEN"),{tags:[`website-settings-${this.appId}`],paths:[]}}async removeFromChangesArray(r,n){var u;const{data:a,error:o}=await A(()=>S.select({changes:ge.changes}).from(ge).where(h.eq(ge.id,this.appId)));if(o)throw new T("Error fetching changes",n,500,o);const i=(((u=a==null?void 0:a[0])==null?void 0:u.changes)??[]).filter(c=>c!==r),{error:l}=await A(()=>S.update(ge).set({changes:i.length>0?i:null}).where(h.eq(ge.id,this.appId)));if(l)throw new T("Error updating changes",n,500,l)}async cloneApp(){const{data:r,error:n}=await A(()=>S.query.apps.findFirst({where:h.eq(ge.id,this.appId)}));if(n||!r)throw new T("Site not found","SITE_NOT_FOUND",404,n);return r}async clearChanges(r){const n=r.filter(o=>o!=="THEME"&&o!=="DESIGN_TOKENS");if(n.length===0)return;const{error:a}=await A(()=>S.update(f).set({changes:null,online:!0}).where(h.and(h.inArray(f.id,n),h.eq(f.app,this.appId))));if(a)throw new T("Error clearing changes","ERROR_CLEARING_CHANGES",500,a)}async getPartialBlockUsage(r){const{data:n}=await A(()=>S.query.appPagesOnline.findMany({where:h.and(h.eq(he.app,this.appId),h.like(he.partialBlocks,`%${r}%`)),columns:{id:!0}}));return 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}`],o=[];return j.isEmpty(n.slug)?a.push(...await this.getPartialBlockUsage(n.primaryPage??n.id)):o.push(`${n.slug}`),{tags:a,paths:o}}async createRevision(r){if(!this.revisionsEnabled)return!1;const{data:n,error:a}=await A(()=>S.query.appPagesOnline.findFirst({where:h.eq(he.id,r)}));if(a||!n||!j.isEmpty(n.primaryPage))return!1;const{error:o}=await A(()=>S.insert(Se).values({...n,type:"published",uid:void 0}));if(o)throw new T("Error creating revision","ERROR_CREATING_REVISION",500,o);return!0}async addOnlinePage(r){await this.createRevision(r.id);const{error:n}=await A(()=>S.delete(he).where(h.eq(he.id,r.id)));if(n)throw new T("Error deleting online page","ERROR_PUBLISHING_PAGE",500,n);const{changes:a,createdAt:o,...s}=r,{data:i,error:l}=await A(()=>{var c;return S.insert(he).values({...s,currentEditor:(c=this.context)==null?void 0:c.userId}).returning({id:he.id,primaryPage:he.primaryPage})});if(l||!i||i.length===0)throw new T("Error publishing page","ERROR_PUBLISHING_PAGE",500,l);const{error:u}=await A(()=>S.update(f).set({changes:null}).where(h.eq(f.id,r.id)));if(u)throw new T("Error clearing page changes","ERROR_PUBLISHING_PAGE",500,u);return i[0]}async clonePage(r){const{data:n,error:a}=await A(()=>S.query.appPages.findFirst({where:h.and(h.eq(f.id,r),h.eq(f.app,this.appId))}));if(a||!n)throw new T("Page not found","PAGE_NOT_FOUND",404,a);return n}handleExecutionError(r){throw r instanceof T?r:new T(`Failed to publish changes: ${r instanceof Error?r.message:"Unknown error"}`,"PUBLISH_CHANGES_FAILED")}}class iw extends Z{getValidationSchema(){return v.z.object({revisionId:v.z.string().nonempty(),discardCurrent:v.z.boolean(),pageId:v.z.string().optional()})}async execute(t){if(await this.verifyAccess(),!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{appId:r}=this.context;let n,a;if(t.revisionId==="current"){if(!t.pageId)throw new T("pageId is required when restoring current revision","PAGE_ID_REQUIRED");const{data:o,error:s}=await A(()=>S.query.appPagesOnline.findFirst({where:h.and(h.eq(he.id,t.pageId),h.eq(he.app,r)),columns:{id:!0,blocks:!0}}));if(s)throw new T("Error fetching live page","FETCH_ERROR");if(!o)throw new T("Live page not found","PAGE_NOT_FOUND");n=o.id,a=o.blocks}else{const{data:o,error:s}=await A(()=>S.query.appPagesRevisions.findFirst({where:h.and(h.eq(Se.uid,t.revisionId),h.eq(Se.app,r)),columns:{id:!0,blocks:!0,type:!0}}));if(s)throw new T("Error fetching revision","FETCH_ERROR");if(!o)throw new T("Revision not found","REVISION_NOT_FOUND");n=o.id,a=o.blocks}if(!t.discardCurrent){const{data:o,error:s}=await A(()=>S.query.appPages.findFirst({where:h.and(h.eq(f.id,n),h.eq(f.app,r))}));if(s)throw new T("Error fetching current page","FETCH_ERROR");if(!o)throw new T("Current page not found","PAGE_NOT_FOUND");const i=o.blocks,l={id:n,blocks:i,type:"draft",createdAt:"now()",...j.pick(o,["name","slug","pageType","lang","app","currentEditor"])};await S.insert(Se).values(l)}return await S.update(f).set({blocks:a}).where(h.eq(f.id,n)),{success:!0,pageId:n}}}class lw extends Z{getValidationSchema(){return v.z.object({pageType:v.z.string(),query:v.z.string()})}async execute(t){try{const{pageType:r,query:n}=t,a=ut.getChaiPageType(r);if(!a)return{error:"Page type not found"};if(a.search){const o=await a.search(n);return o instanceof Error?{error:o.message}:o}return[]}catch(r){return this.handleError(r)}}}class uw extends Z{getValidationSchema(){return v.z.object({pageType:v.z.string().min(1),query:v.z.string().optional()})}async execute(t){if(!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{appId:r}=this.context,{pageType:n,query:a=""}=t,o=this.isUUID(a),s=[h.eq(f.app,r),h.eq(f.pageType,n)];let i;a?o?i=h.and(...s,h.eq(f.id,a)):i=h.and(...s,h.or(h.ilike(f.slug,`%${a}%`),h.ilike(f.name,`%${a}%`))):i=h.and(...s);const{data:l,error:u}=await A(()=>S.select({id:f.id,slug:f.slug,name:f.name,lang:f.lang,primaryPage:f.primaryPage}).from(f).where(i));if(u)throw new T("Failed to search pages","ERROR_SEARCHING_PAGES",500,u);return l||[]}isUUID(t){return t.length===36}}class cw extends Z{constructor(){super(...arguments);Ie(this,"appId","")}getValidationSchema(){return v.z.object({id:v.z.string().min(1,"Page ID is required")})}async execute(r){if(await this.verifyAccess(),!this.context)throw new T("Context not set","CONTEXT_NOT_SET");this.appId=this.context.appId;try{return await this.takeOffline(r.id)}catch(n){if(n instanceof T)throw n;const a=n instanceof Error?n.message:"Failed to take page offline";throw new T(a,"TAKE_OFFLINE_ERROR")}}async takeOffline(r){const n=await this.getPageType(r),{error:a}=await A(()=>S.update(f).set({online:!1}).where(h.and(h.eq(f.id,r),h.eq(f.app,this.appId))));if(a)throw new T("Error taking page offline","ERROR_TAKING_PAGE_OFFLINE");if(await this.deleteOnlinePage(r),n==="language")return{tags:[`page-${await this.getPrimaryPage(r)}`]};if(n==="partial")return{tags:[...(await this.getPartialBlockUsage(r)).map(l=>`page-${l}`)]};const{data:o,error:s}=await A(()=>S.select({id:f.id,slug:f.slug,lang:f.lang,pageType:f.pageType,name:f.name,online:f.online,seo:f.seo}).from(f).where(h.eq(f.id,r)));if(s||!o||o.length===0)throw new T("Error getting page after taking offline","ERROR_TAKING_PAGE_OFFLINE");return{tags:[`page-${r}`],page:o[0]}}async deleteOnlinePage(r){const{error:n}=await A(()=>S.delete(he).where(h.eq(he.id,r)));if(n)throw new T("Error deleting page from online pages table","ERROR_DELETING_PAGE_FROM_ONLINE_PAGES_TABLE");const{error:a}=await A(()=>S.delete(he).where(h.eq(he.primaryPage,r)));if(a)throw new T("Error deleting page from online pages table","ERROR_DELETING_PAGE_FROM_ONLINE_PAGES_TABLE")}async getPageType(r){const{data:n,error:a}=await A(()=>S.select({primaryPage:f.primaryPage,pageType:f.pageType,slug:f.slug}).from(f).where(h.and(h.eq(f.id,r),h.eq(f.app,this.appId))));if(a||!n||n.length===0)throw new T("Page not found","PAGE_NOT_FOUND");const o=n[0];return(i=>!i||i.trim()==="")(o.slug)?"partial":o.primaryPage?"language":"primary"}async getPrimaryPage(r){const{data:n,error:a}=await A(()=>S.select({id:f.id,primaryPage:f.primaryPage}).from(f).where(h.and(h.eq(f.id,r),h.eq(f.app,this.appId))));if(a||!n||n.length===0)throw new T("Error getting primary page","ERROR_GETTING_PRIMARY_PAGE");const o=n[0];return o.primaryPage??o.id}async getPartialBlockUsage(r){const{data:n,error:a}=await A(()=>S.select({id:f.id,partialBlocks:f.partialBlocks}).from(f).where(h.eq(f.app,this.appId)));return a||!n?[]:n.filter(o=>(o.partialBlocks||"").split("|").includes(r)).map(o=>o.id)}}class dw extends Z{getValidationSchema(){return v.z.object({id:v.z.string().min(1)})}async execute(t){if(await this.verifyAccess(),!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{id:r}=t,{error:n}=await A(()=>S.delete(te).where(h.eq(te.pageId,r)));if(n)throw new T("Failed to unmark page as template","DELETE_FAILED",500,n);return{success:!0}}}class pw{constructor(t){Ie(this,"appId");Ie(this,"pageTreeBuilder");this.appId=t}updateNodeSlugInTree(t,r,n){for(const a of n){if(a.id===t)return a.slug=r,!0;if(a.children&&a.children.length>0&&this.updateNodeSlugInTree(t,r,a.children))return!0}return!1}validateSlugAvailabilityInTree(t,r,n,a,o=!1){const s=i=>{for(const l of i){const u=l.dynamic??!1;if(l.slug===t&&l.id!==r&&u===n||l.children&&l.children.length>0&&s(l.children))return!0}return!1};if(s(a.primaryTree)){const i=o?`Slug '${t}' conflicts with a primary page slug. Language page slugs cannot overlap with primary page slugs.`:`Slug '${t}' is already in use. Please choose another slug`;throw new T(i,"SLUG_ALREADY_EXISTS")}if(s(a.languageTree)){const i=o?`Slug '${t}' is already in use by another language page. Please choose another slug.`:`Slug '${t}' conflicts with a language page slug. Please choose another slug.`;throw new T(i,"SLUG_ALREADY_EXISTS")}}async isSlugChanged(t,r){if(!r)return!1;const{data:n,error:a}=await A(()=>S.select({slug:f.slug}).from(f).where(h.and(h.eq(f.id,t),h.eq(f.app,this.appId))).limit(1));if(a||!n||n.length===0)return!1;const o=n[0];return(o==null?void 0:o.slug)!==r}async isParentChanged(t,r){if(r===void 0)return!1;const{data:n,error:a}=await A(()=>S.select({parent:f.parent}).from(f).where(h.and(h.eq(f.id,t),h.eq(f.app,this.appId))).limit(1));if(a||!n||n.length===0)return!1;const o=n[0];return(o==null?void 0:o.parent)!==r}async handleSlugChangeWithTree(t,r){const n=r.slug;this.pageTreeBuilder||(this.pageTreeBuilder=new Ar(this.appId));const a=await this.pageTreeBuilder.getPagesTree();let o=this.pageTreeBuilder.findPageInPrimaryTree(t,a.primaryTree);if(!o&&(o=this.pageTreeBuilder.findPageInLanguageTree(t,a.languageTree),!o))throw new T("Page not found in tree","PAGE_NOT_FOUND_IN_TREE");const s=o.slug,i=o.dynamic||!1;this.validateSlugAvailabilityInTree(n,t,i,a);let l=[];const u=this.pageTreeBuilder.collectNestedChildSlugs(o,s,n);return l=[{id:t,newSlug:n},...u.map(c=>({id:c.id,newSlug:c.newSlug}))],l}async handleParentChangeWithTree(t,r){const n=r.parent;this.pageTreeBuilder||(this.pageTreeBuilder=new Ar(this.appId));const a=await this.pageTreeBuilder.getPagesTree(),o=this.pageTreeBuilder.findPageInPrimaryTree(t,a.primaryTree);if(!o)throw this.pageTreeBuilder.findPageInLanguageTree(t,a.languageTree)?new T("Cannot change parent of language pages directly","INVALID_OPERATION"):new T("Primary page not found in tree","PAGE_NOT_FOUND_IN_TREE");const s=o.slug,i=r.slug?r.slug:this.pageTreeBuilder.calculateSlugFromParent(n,s,a.primaryTree);this.validateSlugAvailabilityInTree(i,t,o.dynamic||!1,a),this.updateNodeSlugInTree(t,i,a.primaryTree);const l=this.pageTreeBuilder.collectNestedChildSlugs(o,s,i),u=[{id:t,newSlug:i},...l.map(p=>({id:p.id,newSlug:p.newSlug}))];for(const p of l)this.updateNodeSlugInTree(p.id,p.newSlug,a.primaryTree);const c=this.pageTreeBuilder.findLanguagePagesForPrimary(t,a.languageTree);let d;n&&(d=this.pageTreeBuilder.findLanguagePagesForPrimary(n,a.languageTree));for(const p of c){const w=d==null?void 0:d.filter(P=>P.lang===p.lang)[0],b=(w==null?void 0:w.id)||null,_=this.pageTreeBuilder.calculateSlugFromParent(b,p.slug,a.languageTree);this.validateSlugAvailabilityInTree(_,p.id,p.dynamic||!1,a,!0),this.updateNodeSlugInTree(p.id,_,a.languageTree);const I=this.pageTreeBuilder.collectNestedChildSlugs(p,p.slug,_);for(const P of I)this.updateNodeSlugInTree(P.id,P.newSlug,a.languageTree);u.push({id:p.id,newSlug:_}),u.push(...I.map(P=>({id:P.id,newSlug:P.newSlug})))}return u}async batchUpdateSlugs(t,r,n,a){const o=t.map(async i=>{const l={slug:i.newSlug,lastSaved:h.sql`now()`};if(i.id===n){const c=j.pick(r,["name","seo","blocks","currentEditor","buildTime","parent","pageType","dynamic","dynamicSlugCustom","links","partialBlocks","designTokens"]);Object.keys(c).forEach(d=>{c[d]===void 0&&delete c[d]}),Object.assign(l,{...c,changes:a})}const{error:u}=await A(()=>S.update(f).set(l).where(h.and(h.eq(f.id,i.id),h.eq(f.app,this.appId))));if(u)throw new T(`Failed to update page ${i.id}`,"UPDATE_PAGE_FAILED");return i.id});await Promise.all(o);const s=t.map(async i=>{await A(()=>S.update(he).set({slug:i.newSlug}).where(h.and(h.eq(he.id,i.id),h.eq(he.app,this.appId))))});await Promise.all(s)}setPageTreeBuilder(t){this.pageTreeBuilder=t}}class fw extends Z{constructor(){super(...arguments);Ie(this,"appId","");Ie(this,"pageTreeBuilder");Ie(this,"slugChangeHandler")}getValidationSchema(){return v.z.object({id:v.z.string().nonempty(),blocks:v.z.array(v.z.any()).optional(),currentEditor:v.z.string().optional(),slug:v.z.string().optional(),name:v.z.string().optional(),seo:v.z.record(v.z.string(),v.z.any()).optional(),buildTime:v.z.boolean().optional(),parent:v.z.union([v.z.string(),v.z.null()]).optional(),pageType:v.z.string().optional(),dynamic:v.z.boolean().optional(),dynamicSlugCustom:v.z.string().optional(),needTranslations:v.z.boolean().optional()})}async execute(r){await this.verifyAccess(),this.validateContext(),this.appId=this.context.appId;try{if(this.isOnlyBlocksUpdate(r))return await this.updateBlocks(r.id,r.blocks),await this.buildResponse(r.id,r);const n=this.extractAllowedPageFields(r);this.slugChangeHandler=new pw(this.appId);const a=await this.slugChangeHandler.isSlugChanged(r.id,n.slug);return await this.slugChangeHandler.isParentChanged(r.id,n.parent)&&n.parent!==void 0?(this.pageTreeBuilder=new Ar(this.appId),this.slugChangeHandler.setPageTreeBuilder(this.pageTreeBuilder),await this.handleParentChangeWithHandler(r.id,n)):a&&n.slug?(this.pageTreeBuilder=new Ar(this.appId),this.slugChangeHandler.setPageTreeBuilder(this.pageTreeBuilder),await this.handleSlugChangeWithHandler(r.id,n)):await this.updatePageInDatabase(r.id,n),await this.buildResponse(r.id,n)}catch(n){return this.handleExecutionError(n)}}async updateBlocks(r,n){const a=this.getLinks(n),o=this.getPartialBlocks(n),s=this.getDesignTokens(n);await this.updatePageInDatabase(r,{blocks:n,links:a,partialBlocks:o,designTokens:s})}getPartialBlocks(r){return 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 T("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(f).set({...n,changes:a,lastSaved:h.sql`now()`}).where(h.and(h.eq(f.id,r),h.eq(f.app,this.appId))));if(a.includes("Page")){const{error:s}=await A(()=>S.update(f).set({changes:a}).where(h.and(h.eq(f.primaryPage,r),h.eq(f.app,this.appId))));if(s)throw new T("Error updating page","ERROR_UPDATING_PAGE")}if(o)throw new T("Error updating page","ERROR_UPDATING_PAGE")}isOnlyBlocksUpdate(r){return j.keys(r).includes("blocks")}async fetchUpdatedPageData(r){const{data:n,error:a}=await A(()=>S.select({id:f.id,slug:f.slug,lang:f.lang,pageType:f.pageType,name:f.name,online:f.online,parent:f.parent,seo:f.seo}).from(f).where(h.eq(f.id,r)).limit(1));if(a||!n||n.length===0)throw new T("Error getting updated page","ERROR_GETTING_PAGE");return n[0]}async buildResponse(r,n){return this.isOnlyBlocksUpdate(n)?{success:!0}:{page:await this.fetchUpdatedPageData(r)}}handleExecutionError(r){throw console.log("Error updating page:",r),r instanceof T?r:new T(`Failed to update page: ${r instanceof Error?r.message:"Unknown error"}`,"UPDATE_PAGE_FAILED")}}class gw extends Z{getValidationSchema(){return v.z.object({id:v.z.string().nonempty(),metadata:v.z.record(v.z.string(),v.z.any())})}async execute(t){if(await this.verifyAccess(),!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{appId:r}=this.context,{data:n,error:a}=await A(()=>S.query.appPages.findFirst({where:h.and(h.eq(f.id,t.id),h.eq(f.app,r)),columns:{id:!0}}));if(a)throw new T(`Failed to fetch page: ${a.message}`,"FETCH_FAILED");if(!n)throw new T("Page not found","PAGE_NOT_FOUND");const{error:o}=await A(()=>S.update(f).set({metadata:t.metadata}).where(h.and(h.eq(f.id,t.id),h.eq(f.app,r))));if(o)throw console.error(o),new T("Failed to update page metadata","UPDATE_FAILED");return{success:!0}}}class hw extends Z{getValidationSchema(){return v.z.object({settings:v.z.any()})}async execute(t){if(await this.verifyAccess(),!this.context)throw ie("CONTEXT_NOT_SET",new Error("CONTEXT_NOT_SET"));const{appId:r}=this.context,n=j.pick(t.settings,["theme","designTokens"]),{data:a,error:o}=await A(()=>S.select({changes:ge.changes}).from(ge).where(h.eq(ge.id,r)));if(o)throw ie("ERROR_UPDATE_WEBSITE_FIELDS",o);const s=a[0].changes??[],i={theme:"THEME",designTokens:"DESIGN_TOKENS"},l=Object.keys(n).map(p=>i[p]).filter(Boolean),u=[...new Set([...s,...l])],c={...n,changes:u},{error:d}=await A(()=>S.update(ge).set(c).where(h.eq(ge.id,r)));if(d)throw ie("ERROR_UPDATE_WEBSITE_FIELDS",d);return{success:!0}}}class mw extends Z{getValidationSchema(){return v.z.object({name:v.z.string().min(1),group:v.z.string().min(1),blocks:v.z.array(v.z.any()),description:v.z.string().optional(),previewImage:v.z.string().optional(),id:v.z.string().optional(),previewImageUrl:v.z.string().optional()})}async execute(t){var b;if(await this.verifyAccess(),!this.context)throw new T("Context not set","CONTEXT_NOT_SET");const{appId:r,userId:n}=this.context,{name:a,group:o,blocks:s,description:i,previewImage:l,previewImageUrl:u,id:c}=t,{data:d,error:p}=await A(()=>S.query.libraries.findFirst({where:h.eq(K.app,r),columns:{id:!0}}));if(p)throw new T("Failed to fetch site library","GET_SITE_LIBRARY_FAILED",500,p);if(!d)throw new T("Library not found for this app","GET_SITE_LIBRARY_FAILED");let w=u;if(l){const _=wa("UPLOAD_TO_STORAGE");_==null||_.setContext(this.context);const I=`library-item-${Date.now()}.webp`,P=`${r}/library-items`,C=await(_==null?void 0:_.execute({file:l,fileName:I,contentType:"image/webp",folder:P}));if(C!=null&&C.error)throw new T("Failed to upload preview image","UPLOAD_PREVIEW_FAILED",500,C.error);w=((b=C==null?void 0:C.data)==null?void 0:b.url)||u}if(c){const _={name:a,blocks:s,library:d.id,description:i??null,group:o,user:n??null};w&&(_.preview=w);const{data:I,error:P}=await A(()=>S.update(re).set(_).where(h.eq(re.id,c)).returning());if(P||!I||I.length===0)throw new T("Failed to update library item","UPDATE_LIBRARY_ITEM_FAILED",500,P);return I[0]}else{const _=Iu.randomUUID(),I=[...s];j.set(I,"0._libBlockId",_);const P={id:_,name:a,blocks:I,library:d.id,description:i??null,group:o,user:n??null,preview:w??null},{data:C,error:m}=await A(()=>S.insert(re).values(P).returning());if(m||!C||C.length===0)throw new T("Failed to create library item","CREATE_LIBRARY_ITEM_FAILED",500,m);return C[0]}}}class yw extends Z{getValidationSchema(){return v.z.object({}).optional().default({})}async execute(){const t=new pu,r=new du,n=new cu,a=new uu,o=new su;this.context&&(t.setContext(this.context),r.setContext(this.context),n.setContext(this.context),a.setContext(this.context),o.setContext(this.context));const[s,i,l,u,c]=await Promise.all([t.execute({draft:!0}),r.execute({lang:""}),n.execute(),a.execute(),o.execute()]);return{websiteSettings:s,websitePages:i,pageTypes:l,libraries:u,collections:c}}}class vw extends Z{getValidationSchema(){return v.z.object({id:v.z.string(),lang:v.z.string(),pageType:v.z.string().optional(),pageProps:v.z.any().optional().default({})})}async execute(t){const{id:r,lang:n,pageType:a,pageProps:o={}}=t,s=new iu,i=new ou,l=new lu;this.context&&(s.setContext(this.context),i.setContext(this.context),l.setContext(this.context));try{const[u,c,d]=await Promise.all([s.execute({id:r}),i.execute({lang:n,pageType:a,pageProps:o}),l.execute({id:r})]);return{draftPage:u,builderPageData:c,languagePages:d}}catch(u){const c=u instanceof Error?u.message:String(u);throw new Error(`Failed to fetch page data: ${c}`)}}}const xt=class xt{constructor(){Ie(this,"actions",{});ut.registerChaiPageType("page",{name:"Static Page",icon:'<svg stroke="currentColor" fill="currentColor" strokeWidth="0" viewBox="0 0 24 24" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M5 8V20H19V8H5ZM5 6H19V4H5V6ZM20 22H4C3.44772 22 3 21.5523 3 21V3C3 2.44772 3.44772 2 4 2H20C20.5523 2 21 2.44772 21 3V21C21 21.5523 20.5523 22 20 22ZM7 10H11V14H7V10ZM7 16H17V18H7V16ZM13 11H17V13H13V11Z"></path></svg>'}),ut.registerChaiPartialType("global",{name:"Global Block",helpText:"A global block can be reused in multiple pages.",icon:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-hash-icon lucide-hash"><line x1="4" x2="20" y1="9" y2="9"/><line x1="4" x2="20" y1="15" y2="15"/><line x1="10" x2="8" y1="3" y2="21"/><line x1="16" x2="14" y1="3" y2="21"/></svg>'}),this.register("ASK_AI",new $v),this.register("CHECK_USER_ACCESS",new Mv),this.register("CREATE_PAGE",new Fv),this.register("DELETE_PAGE",new Uv),this.register("DUPLICATE_PAGE",new qv),this.register("RESTORE_PAGE_REVISION",new iw),this.register("UPDATE_PAGE_METADATA",new gw),this.register("GENERATE_SEO_FIELD",new Jv),this.register("GENERATE_HTML_FROM_PROMPT",new Vv),this.register("GET_REVISION_PAGE",new nw),this.register("UPDATE_PAGE",new fw),this.register("GET_COMPARE_DATA",new Kv),this.register("GET_SITE_WIDE_USAGE",new aw),this.register("GET_WEBSITE_DRAFT_SETTINGS",new pu),this.register("GET_WEBSITE_PAGES",new du),this.register("GET_LIBRARIES",new uu),this.register("GET_DRAFT_PAGE",new iu),this.register("GET_LANGUAGE_PAGES",new lu),this.register("UPSERT_LIBRARY_ITEM",new mw),this.register("MARK_AS_TEMPLATE",new sw),this.register("GET_LIBRARY_ITEM",new ew),this.register("GET_LIBRARY_ITEMS",new tw),this.register("DELETE_LIBRARY_ITEM",new Lv),this.register("UNMARK_AS_TEMPLATE",new dw),this.register("GET_TEMPLATES_BY_TYPE",new ow),this.register("SEARCH_PAGES",new uw),this.register("GET_PAGE_REVISIONS",new rw),this.register("PUBLISH_CHANGES",new fu),this.register("UPDATE_WEBSITE_FIELDS",new hw),this.register("TAKE_OFFLINE",new cw),this.register("GET_CHANGES",new Wv),this.register("GET_LIBRARY_GROUPS",new Qv),this.register("DELETE_PAGE_REVISION",new jv),this.register("GET_COLLECTIONS",new su),this.register("GET_BLOCK_ASYNC_PROPS",new Yv),this.register("GET_BUILDER_PAGE_DATA",new ou),this.register("GET_PAGE_TYPES",new cu),this.register("SEARCH_PAGE_TYPE_ITEMS",new lw),this.register("GET_DYNAMIC_PAGES",new Xv),this.register("GET_WEBSITE_DATA",new yw),this.register("GET_PAGE_ALL_DATA",new vw)}static getInstance(){return xt.instance||(xt.instance=new xt),xt.instance}register(t,r){this.actions[t]=r}registerActions(t){for(const[r,n]of Object.entries(t))this.register(r,n)}getAction(t){return j.get(this.actions,t)}getAllActions(){return this.actions}};Ie(xt,"instance");let ln=xt;const wa=e=>ln.getInstance().getAction(e),ww=ln.getInstance();exports.ActionError=T;exports.ChaiBaseAction=Z;exports.PublishChangesAction=fu;exports.actionsRegistery=ww;exports.db=S;exports.getAskAiSystemPrompt=ru;exports.getChaiAction=wa;exports.safeQuery=A;exports.schema=au;