alchemylab-opencode 2.0.1 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (232) hide show
  1. package/NODE_COMPAT.md +8 -1
  2. package/dist/20260127222353_familiar_lady_ursula-YYOFSQD5.js +18 -0
  3. package/dist/20260211171708_add_project_commands-3GKQTPBZ.js +18 -0
  4. package/dist/20260213144116_wakeful_the_professor-ROO7OAVL.js +18 -0
  5. package/dist/20260225215848_workspace-V2OZTNFF.js +18 -0
  6. package/dist/20260227213759_add_session_workspace_id-GVDWAXKM.js +18 -0
  7. package/dist/20260228203230_blue_harpoon-Z5QP2II5.js +18 -0
  8. package/dist/20260303231226_add_workspace_fields-QOVAFN7W.js +18 -0
  9. package/dist/20260309230000_move_org_to_state-RQURSDZD.js +18 -0
  10. package/dist/20260312043431_session_message_cursor-VBISKDXL.js +18 -0
  11. package/dist/20260323234822_events-PILJHLNA.js +18 -0
  12. package/dist/20260410174513_workspace-name-63YCZ5NS.js +18 -0
  13. package/dist/20260413175956_chief_energizer-NMAZYGDO.js +18 -0
  14. package/dist/20260423070820_add_icon_url_override-RAJCVNEP.js +18 -0
  15. package/dist/20260427172553_slow_nightmare-ULYYZLR4.js +18 -0
  16. package/dist/20260428004200_add_session_path-U4WO2TGE.js +18 -0
  17. package/dist/20260501142318_next_venus-6BCYATSC.js +18 -0
  18. package/dist/20260504145000_add_sync_owner-RGVHV6LN.js +18 -0
  19. package/dist/20260507164347_add_workspace_time-GE6UHNPM.js +18 -0
  20. package/dist/{20260510033149_session_usage-UGBVOXZB.js → 20260510033149_session_usage-7XHCFVKY.js} +5 -1
  21. package/dist/20260511000411_data_migration_state-2EGZKFLB.js +18 -0
  22. package/dist/20260511173437_session-metadata-K322YY33.js +18 -0
  23. package/dist/20260601010001_normalize_storage_paths-VZDTY366.js +18 -0
  24. package/dist/{20260225215848_workspace-ZMSOZSPA.js → 20260601202201_amazing_prowler-YT6PLK3L.js} +5 -1
  25. package/dist/{20260228203230_blue_harpoon-IW3Z4TQZ.js → 20260602002951_lowly_union_jack-6VLQTBVB.js} +5 -1
  26. package/dist/20260602182828_add_project_directories-TVSRD25A.js +18 -0
  27. package/dist/20260603001617_session_message_projection_indexes-PHKTF6HK.js +18 -0
  28. package/dist/{20260622170816_reset_v2_session_state-5JPHJTZG.js → 20260603040000_session_message_projection_order-7RTV2POG.js} +5 -1
  29. package/dist/20260603141458_session_input_inbox-RSBWABG7.js +18 -0
  30. package/dist/20260603160727_jittery_ezekiel_stane-DXBLLRVV.js +18 -0
  31. package/dist/20260604172448_event_sourced_session_input-H6Z3JEBD.js +18 -0
  32. package/dist/20260605003541_add_session_context_snapshot-6FDPM2TK.js +18 -0
  33. package/dist/20260605042240_add_context_epoch_agent-C2OF2UKR.js +18 -0
  34. package/dist/20260611035744_credential-YNZ47FSH.js +18 -0
  35. package/dist/20260611192811_lush_chimera-E357VI6P.js +18 -0
  36. package/dist/20260612174303_project_dir_strategy-VUGGK42O.js +18 -0
  37. package/dist/20260622142730_simplify_session_context_epoch-UYGXZ5BX.js +18 -0
  38. package/dist/20260622170816_reset_v2_session_state-EILLPCJQ.js +18 -0
  39. package/dist/20260622202450_simplify_session_input-Y65GDGBO.js +18 -0
  40. package/dist/NodeSdk-AGMQWBHH.js +18 -0
  41. package/dist/anthropic-45OFTLAW.js +18 -0
  42. package/dist/anthropic-ND6UHXWL.js +18 -0
  43. package/dist/app-runtime-ZWWQ4JTM.js +18 -0
  44. package/dist/chunk-2MRHL4B2.js +18 -0
  45. package/dist/chunk-2XWBNI3L.js +1490 -0
  46. package/dist/chunk-4MBUHJHY.js +22 -0
  47. package/dist/chunk-6MAPFAXY.js +190 -0
  48. package/dist/chunk-7XX6TY62.js +259 -0
  49. package/dist/chunk-ANF3QA3Z.js +48 -0
  50. package/dist/chunk-AUB2TEYJ.js +55 -0
  51. package/dist/chunk-AZUMH3TO.js +18 -0
  52. package/dist/chunk-BQ4IEPN3.js +19 -0
  53. package/dist/chunk-CYRZU5QM.js +33 -0
  54. package/dist/chunk-DGJQZN2Q.js +18 -0
  55. package/dist/chunk-DO2UZ6NY.js +18 -0
  56. package/dist/chunk-DZ6G4VSD.js +19 -0
  57. package/dist/chunk-EK6FQQHY.js +20 -0
  58. package/dist/chunk-ELPXQ32J.js +90 -0
  59. package/dist/chunk-F5PY52BY.js +18 -0
  60. package/dist/chunk-FGLPSSRK.js +19 -0
  61. package/dist/chunk-FV7U6PVP.js +18 -0
  62. package/dist/chunk-FYYAOZPU.js +18 -0
  63. package/dist/chunk-GDWO6EXN.js +22 -0
  64. package/dist/chunk-GW3ZRKAI.js +20 -0
  65. package/dist/chunk-IQSFXWDQ.js +18 -0
  66. package/dist/chunk-IYUSBBGY.js +35 -0
  67. package/dist/chunk-JPOFLMNH.js +18 -0
  68. package/dist/{chunk-VURLSDCB.js → chunk-K5LKDIVU.js} +4 -0
  69. package/dist/chunk-KS4WLVK5.js +19 -0
  70. package/dist/chunk-L3CE2Y3L.js +55 -0
  71. package/dist/chunk-LIXP4TPL.js +18 -0
  72. package/dist/chunk-LSC4RT5V.js +36 -0
  73. package/dist/chunk-M5A6NFHQ.js +28 -0
  74. package/dist/chunk-M6E6KNLV.js +30 -0
  75. package/dist/chunk-MLFZXUGQ.js +18 -0
  76. package/dist/chunk-NDI67DRG.js +31 -0
  77. package/dist/chunk-OCWGUTZJ.js +36 -0
  78. package/dist/chunk-OGDRUXMJ.js +18 -0
  79. package/dist/chunk-OGJKLJC7.js +29 -0
  80. package/dist/chunk-P5RLCJUV.js +18 -0
  81. package/dist/chunk-Q3WIUQXB.js +18 -0
  82. package/dist/{20260227213759_add_session_workspace_id-ROENWPKA.js → chunk-QCRIXKIC.js} +5 -1
  83. package/dist/chunk-QD24DLUD.js +18 -0
  84. package/dist/chunk-R2GWBJEP.js +18 -0
  85. package/dist/chunk-RIA6SDOY.js +780 -0
  86. package/dist/chunk-RPAXSOGH.js +18 -0
  87. package/dist/chunk-TK5R7QUN.js +18 -0
  88. package/dist/chunk-TNQWZFIZ.js +28 -0
  89. package/dist/chunk-UCLPBO4I.js +18 -0
  90. package/dist/chunk-V6FDDNGV.js +117 -0
  91. package/dist/chunk-V6HERYFV.js +18 -0
  92. package/dist/chunk-V7XKKJ7X.js +24 -0
  93. package/dist/chunk-VHDYUBBS.js +23 -0
  94. package/dist/chunk-VWLJXTZ5.js +18 -0
  95. package/dist/chunk-VXAPFOIL.js +22 -0
  96. package/dist/chunk-WKZYINC7.js +29 -0
  97. package/dist/chunk-WL33KE3H.js +920 -0
  98. package/dist/chunk-WPMP2ZFE.js +40 -0
  99. package/dist/chunk-WRTNIOI3.js +18 -0
  100. package/dist/chunk-WZ4237YY.js +19 -0
  101. package/dist/chunk-X5F46HR5.js +18 -0
  102. package/dist/chunk-XPS7TQZG.js +22 -0
  103. package/dist/chunk-XSKT4AXR.js +878 -0
  104. package/dist/chunk-YJPP6IQ3.js +23 -0
  105. package/dist/chunk-ZYQWFC55.js +22 -0
  106. package/dist/code-mode-H3HRSD24.js +502 -0
  107. package/dist/copilot-provider-QVMLQZZC.js +18 -0
  108. package/dist/dist-5NQOHNPL.js +18 -0
  109. package/dist/dist-7CT3XCNN.js +32 -0
  110. package/dist/dist-CL46WFZG.js +18 -0
  111. package/dist/dist-HXJTF22W.js +32 -0
  112. package/dist/dist-JFXI53ZF.js +22 -0
  113. package/dist/dist-KBYKWVT5.js +22 -0
  114. package/dist/dist-KGNO5AP7.js +35 -0
  115. package/dist/dist-KTNLTEHB.js +18 -0
  116. package/dist/dist-KZ5R5QM5.js +24 -0
  117. package/dist/{20260605042240_add_context_epoch_agent-W6IQYZXE.js → dist-LOXU6IEM.js} +5 -1
  118. package/dist/dist-NLXUYBW7.js +32 -0
  119. package/dist/dist-O4DF72J2.js +22 -0
  120. package/dist/dist-PH4MEGVR.js +22 -0
  121. package/dist/{20260511000411_data_migration_state-FB4LBFSE.js → dist-QJPOJCLB.js} +5 -1
  122. package/dist/dist-QYH62TCJ.js +22 -0
  123. package/dist/{20260303231226_add_workspace_fields-OUVZMNAG.js → dist-RIC4WKHC.js} +5 -1
  124. package/dist/dist-T776XKTM.js +22 -0
  125. package/dist/dist-TCE5MKZQ.js +23 -0
  126. package/dist/dist-TH2Q44RX.js +50 -0
  127. package/dist/dist-VV5FV5RT.js +101 -0
  128. package/dist/dist-WZJ3LNRG.js +28 -0
  129. package/dist/dist-XAFENVUS.js +22 -0
  130. package/dist/dist-XPFB35TX.js +32 -0
  131. package/dist/dist-es-43ZM44MP.js +18 -0
  132. package/dist/dist-es-CH2YKBKX.js +18 -0
  133. package/dist/{20260428004200_add_session_path-LGW75WYA.js → dist-es-DHCTZZ2E.js} +5 -1
  134. package/dist/dist-es-EVVG3KDV.js +26 -0
  135. package/dist/dist-es-HRCONNGK.js +18 -0
  136. package/dist/dist-es-L2GU465G.js +18 -0
  137. package/dist/dist-es-RGEIM2BP.js +18 -0
  138. package/dist/dist-es-RZ25XEH6.js +18 -0
  139. package/dist/dist-es-SITTNOGV.js +18 -0
  140. package/dist/esm-NN5W7YCL.js +18 -0
  141. package/dist/esm-XWJSHYHG.js +18 -0
  142. package/dist/getMachineId-bsd-L5I5TZ5I.js +18 -0
  143. package/dist/getMachineId-darwin-YB7KG37W.js +19 -0
  144. package/dist/getMachineId-linux-EL47KXX7.js +18 -0
  145. package/dist/getMachineId-unsupported-QOWPEBPN.js +18 -0
  146. package/dist/getMachineId-win-HCRYRDFJ.js +18 -0
  147. package/dist/lib-7VH6D2QJ.js +199 -0
  148. package/dist/loadCognitoIdentity-EWT55EI7.js +18 -0
  149. package/dist/loadSso-AGOUE6RL.js +18 -0
  150. package/dist/{20260213144116_wakeful_the_professor-ZVDD54AK.js → loadSts-RH5L3PIX.js} +5 -1
  151. package/dist/mantle-IJXDXT4M.js +25 -0
  152. package/dist/mime-types-GSWEOYZ5.js +18 -0
  153. package/dist/multipart-parser-KZWMKXA4.js +19 -0
  154. package/dist/{20260211171708_add_project_commands-GDOHPDPF.js → open-7KXTRM37.js} +5 -1
  155. package/dist/openai-ZOJI6I5R.js +18 -0
  156. package/dist/p-map-CYL6ILJW.js +18 -0
  157. package/dist/photon-W56QZY4L.js +18 -0
  158. package/dist/{20260423070820_add_icon_url_override-X5SHFGTI.js → pkce-VT4ITJTB.js} +5 -1
  159. package/dist/{pty.node-Y3N2XKYG.js → pty.node-IWULXXG6.js} +5 -1
  160. package/dist/run.js +5 -1
  161. package/dist/serve.js +143 -1
  162. package/dist/server-XRUYBM7W.js +21 -0
  163. package/dist/session-4BXV4JJH.js +18 -0
  164. package/dist/signin-DKBWDEYP.js +18 -0
  165. package/dist/src-JODD73WX.js +18 -0
  166. package/dist/src-QJHT5SCV.js +18 -0
  167. package/dist/src-SMM4U63G.js +18 -0
  168. package/dist/src-WDYKISPD.js +20 -0
  169. package/dist/sso-oidc-S3P64MCY.js +18 -0
  170. package/dist/sts-RG44NMOQ.js +18 -0
  171. package/dist/token-2V62AM3G.js +18 -0
  172. package/dist/token-util-VXONHEUD.js +18 -0
  173. package/dist/unified-W3ZKZ4HG.js +18 -0
  174. package/dist/worktree-B2LROS2B.js +18 -0
  175. package/package.json +40 -40
  176. package/postinstall.cjs +4 -2
  177. package/dist/20260127222353_familiar_lady_ursula-KV747FJX.js +0 -14
  178. package/dist/20260309230000_move_org_to_state-NOXAPU5V.js +0 -14
  179. package/dist/20260312043431_session_message_cursor-DJ4T3T4R.js +0 -14
  180. package/dist/20260323234822_events-72GIKJ2A.js +0 -14
  181. package/dist/20260410174513_workspace-name-JXSWFBJN.js +0 -14
  182. package/dist/20260413175956_chief_energizer-4HEWZ6U3.js +0 -14
  183. package/dist/20260427172553_slow_nightmare-PS5T2AH2.js +0 -14
  184. package/dist/20260501142318_next_venus-J3TLVXZ6.js +0 -14
  185. package/dist/20260504145000_add_sync_owner-3R52GB4C.js +0 -14
  186. package/dist/20260507164347_add_workspace_time-JHDRCZAR.js +0 -14
  187. package/dist/20260511173437_session-metadata-T2XHGWHS.js +0 -14
  188. package/dist/20260601010001_normalize_storage_paths-5MAY5GT3.js +0 -14
  189. package/dist/20260601202201_amazing_prowler-PET224YG.js +0 -14
  190. package/dist/20260602002951_lowly_union_jack-PG6XDMGL.js +0 -14
  191. package/dist/20260602182828_add_project_directories-ZCH2ACGG.js +0 -14
  192. package/dist/20260603001617_session_message_projection_indexes-XVLJTUF2.js +0 -14
  193. package/dist/20260603040000_session_message_projection_order-XG6RACZQ.js +0 -14
  194. package/dist/20260603141458_session_input_inbox-K2VQ7V6E.js +0 -14
  195. package/dist/20260603160727_jittery_ezekiel_stane-WKJLRDO7.js +0 -14
  196. package/dist/20260604172448_event_sourced_session_input-NTXOECR7.js +0 -14
  197. package/dist/20260605003541_add_session_context_snapshot-DXMQEXMT.js +0 -14
  198. package/dist/20260611035744_credential-XTMSYTJD.js +0 -14
  199. package/dist/20260611192811_lush_chimera-XPLIQMJD.js +0 -14
  200. package/dist/20260612174303_project_dir_strategy-FR2NGQKK.js +0 -14
  201. package/dist/20260622142730_simplify_session_context_epoch-NTQZR3RE.js +0 -14
  202. package/dist/20260622202450_simplify_session_input-2EXF2HMV.js +0 -14
  203. package/dist/app-runtime-HQBOCDV5.js +0 -14
  204. package/dist/chunk-4FEBIOI5.js +0 -865
  205. package/dist/chunk-4K2RXRZL.js +0 -14
  206. package/dist/chunk-4RFMKEKM.js +0 -1455
  207. package/dist/chunk-BM2C7NHL.js +0 -41
  208. package/dist/chunk-MKEMZFJI.js +0 -393
  209. package/dist/chunk-OMDJ6ZZ2.js +0 -684
  210. package/dist/chunk-OWMG4NNF.js +0 -186
  211. package/dist/chunk-QRABYJKL.js +0 -14
  212. package/dist/chunk-RHIWAYN5.js +0 -14
  213. package/dist/chunk-Z5TLIUAI.js +0 -28
  214. package/dist/code-mode-7BQJUARW.js +0 -40
  215. package/dist/copilot-provider-TX4YFKJZ.js +0 -14
  216. package/dist/photon-VQS5F5BI.js +0 -14
  217. package/dist/server-BFUQR7MX.js +0 -17
  218. package/dist/session-6RNXZNG6.js +0 -14
  219. package/dist/worktree-QHQHX3SG.js +0 -14
  220. package/patches/@ai-sdk%2Famazon-bedrock@4.0.166.patch +0 -164
  221. package/patches/@ai-sdk%2Fanthropic@3.0.111.patch +0 -528
  222. package/patches/@ai-sdk%2Fgoogle@3.0.73.patch +0 -69
  223. package/patches/@ai-sdk%2Fgroq@3.0.31.patch +0 -79
  224. package/patches/@ai-sdk%2Fmistral@3.0.51.patch +0 -714
  225. package/patches/@ai-sdk%2Fopenai-compatible@2.0.41.patch +0 -39
  226. package/patches/@ai-sdk%2Fopenai@3.0.88.patch +0 -280
  227. package/patches/@ai-sdk%2Fxai@3.0.139.patch +0 -296
  228. package/patches/@modelcontextprotocol%2Fsdk@1.29.0.patch +0 -647
  229. package/patches/@npmcli%2Fagent@4.0.2.patch +0 -13
  230. package/patches/effect@4.0.0-beta.83.patch +0 -57
  231. package/patches/gcp-metadata@8.1.2.patch +0 -14
  232. package/patches/pacote@21.5.0.patch +0 -18
@@ -0,0 +1,23 @@
1
+ // Built by esbuild from opencode-server source
2
+ if (typeof globalThis.Bun === 'undefined') {
3
+ globalThis.Bun = {
4
+ version: '0.0.0-node-compat',
5
+ stdin: { async text() { const chunks = []; for await (const c of process.stdin) chunks.push(c); return Buffer.concat(chunks).toString(); } },
6
+ which(cmd) { try { return require('child_process').execFileSync('which', [cmd], { encoding: 'utf8' }).trim(); } catch { return null; } },
7
+ };
8
+ }
9
+ if (typeof globalThis.__name === 'undefined') { globalThis.__name = (t, n) => { Object.defineProperty(t, 'name', { value: n, configurable: true }); return t; }; }
10
+ if (typeof globalThis.__export === 'undefined') { globalThis.__export = (t, a) => { for (const k in a) Object.defineProperty(t, k, { get: a[k], enumerable: true }); }; }
11
+ import { createRequire as __alchemyCreateRequire } from 'node:module';
12
+ const require = __alchemyCreateRequire(import.meta.url);
13
+ import { fileURLToPath as __alchemyFileURLToPath } from 'node:url';
14
+ import { dirname as __alchemyDirname } from 'node:path';
15
+ const __alchemy_filename = __alchemyFileURLToPath(import.meta.url);
16
+ const __alchemy_dirname = __alchemyDirname(__alchemy_filename);
17
+
18
+ import{a as B,b as _,c as te,e as M,h as L,i as N,k as ne,l as re,m as O,n as U,r as se}from"./chunk-WKZYINC7.js";import{a as f}from"./chunk-Q3WIUQXB.js";import{A as i,c as ae,e as oe}from"./chunk-WPMP2ZFE.js";import{a as s}from"./chunk-2MRHL4B2.js";function C(...e){return e.reduce((t,n)=>({...t,...n??{}}),{})}s(C,"combineHeaders");function F(e){return Object.fromEntries([...e.headers])}s(F,"extractResponseHeaders");var{btoa:Me,atob:An}=globalThis;function Ue(e){let t="";for(let n=0;n<e.length;n++)t+=String.fromCodePoint(e[n]);return Me(t)}s(Ue,"convertUint8ArrayToBase64");function fe(e){return e instanceof Uint8Array?Ue(e):e}s(fe,"convertToBase64");async function Fe(e){var t;try{await((t=e.body)==null?void 0:t.cancel())}catch{}}s(Fe,"cancelResponseBody");var me="AI_DownloadError",he=`vercel.ai.error.${me}`,ze=Symbol.for(he),ie,ue,le=class extends(ue=B,ie=ze,ue){static{s(this,"DownloadError")}constructor({url:e,statusCode:t,statusText:n,cause:r,message:a=r==null?`Failed to download ${e}: ${t} ${n}`:`Failed to download ${e}: ${r}`}){super({name:me,message:a,cause:r}),this[ie]=!0,this.url=e,this.statusCode=t,this.statusText=n}static isInstance(e){return B.hasMarker(e,he)}};var He=2*1024*1024*1024;async function Je({response:e,url:t,maxBytes:n=He}){let r=e.headers.get("content-length");if(r!=null){let p=parseInt(r,10);if(!isNaN(p)&&p>n)throw await Fe(e),new le({url:t,message:`Download of ${t} exceeded maximum size of ${n} bytes (Content-Length: ${p}).`})}let a=e.body;if(a==null)return new Uint8Array(0);let o=a.getReader(),d=[],u=0;try{for(;;){let{done:p,value:h}=await o.read();if(p)break;if(u+=h.length,u>n)throw new le({url:t,message:`Download of ${t} exceeded maximum size of ${n} bytes.`});d.push(h)}}finally{try{await o.cancel()}finally{o.releaseLock()}}let l=new Uint8Array(u),c=0;for(let p of d)l.set(p,c),c+=p.length;return l}s(Je,"readResponseWithSizeLimit");var Be=s(({prefix:e,size:t=16,alphabet:n="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",separator:r="-"}={})=>{let a=s(()=>{let o=n.length,d=new Array(t);for(let u=0;u<t;u++)d[u]=n[Math.random()*o|0];return d.join("")},"generator");if(e==null)return a;if(n.includes(r))throw new M({argument:"separator",message:`The separator "${r}" must not be part of the alphabet "${n}".`});return()=>`${e}${r}${a()}`},"createIdGenerator"),ge=Be();function W(e){return(e instanceof Error||e instanceof DOMException)&&(e.name==="AbortError"||e.name==="ResponseAborted"||e.name==="TimeoutError")}s(W,"isAbortError");var qe=["fetch failed","failed to fetch"],Ve=["ConnectionRefused","ConnectionClosed","FailedToOpenSocket","ECONNRESET","ECONNREFUSED","ETIMEDOUT","EPIPE"];function We(e){if(!(e instanceof Error))return!1;let t=e.code;return!!(typeof t=="string"&&Ve.includes(t))}s(We,"isBunNetworkError");function Ke({error:e,url:t,requestBodyValues:n}){if(W(e))return e;if(e instanceof TypeError&&qe.includes(e.message.toLowerCase())){let r=e.cause;if(r!=null)return new _({message:`Cannot connect to API: ${r.message}`,cause:r,url:t,requestBodyValues:n,isRetryable:!0})}return We(e)?new _({message:`Cannot connect to API: ${e.message}`,cause:e,url:t,requestBodyValues:n,isRetryable:!0}):e}s(Ke,"handleFetchError");function Ge(e=globalThis){var t,n,r;return e.window?"runtime/browser":(t=e.navigator)!=null&&t.userAgent?`runtime/${e.navigator.userAgent.toLowerCase()}`:(r=(n=e.process)==null?void 0:n.versions)!=null&&r.node?`runtime/node.js/${e.process.version.substring(0)}`:e.EdgeRuntime?"runtime/vercel-edge":"runtime/unknown"}s(Ge,"getRuntimeEnvironmentUserAgent");function Xe(e){if(e==null)return{};let t={};if(e instanceof Headers)e.forEach((n,r)=>{t[r.toLowerCase()]=n});else{Array.isArray(e)||(e=Object.entries(e));for(let[n,r]of e)r!=null&&(t[n.toLowerCase()]=r)}return t}s(Xe,"normalizeHeaders");function X(e,...t){let n=new Headers(Xe(e)),r=n.get("user-agent")||"";return n.set("user-agent",[r,...t].filter(Boolean).join(" ")),Object.fromEntries(n.entries())}s(X,"withUserAgentSuffix");var Ye="4.0.40";var Qe="JSON schema:",et="You MUST answer with a JSON object that matches the JSON schema above.",tt="You MUST answer with JSON.";function nt({prompt:e,schema:t,schemaPrefix:n=t!=null?Qe:void 0,schemaSuffix:r=t!=null?et:tt}){return[e!=null&&e.length>0?e:void 0,e!=null&&e.length>0?"":void 0,n,t!=null?JSON.stringify(t):void 0,r].filter(a=>a!=null).join(`
19
+ `)}s(nt,"injectJsonInstruction");function ye({messages:e,schema:t,schemaPrefix:n,schemaSuffix:r}){var a,o;let d=((a=e[0])==null?void 0:a.role)==="system"?{...e[0]}:{role:"system",content:""};return d.content=nt({prompt:d.content,schema:t,schemaPrefix:n,schemaSuffix:r}),[d,...((o=e[0])==null?void 0:o.role)==="system"?e.slice(1):e]}s(ye,"injectJsonInstructionIntoMessages");function ve({apiKey:e,environmentVariableName:t,apiKeyParameterName:n="apiKey",description:r}){if(typeof e=="string")return e;if(e!=null)throw new N({message:`${r} API key must be a string.`});if(typeof process>"u")throw new N({message:`${r} API key is missing. Pass it using the '${n}' parameter. Environment variables are not supported in this environment.`});if(e=process.env[t],e==null)throw new N({message:`${r} API key is missing. Pass it using the '${n}' parameter or the ${t} environment variable.`});if(typeof e!="string")throw new N({message:`${r} API key must be a string. The value of the ${t} environment variable is not a string.`});return e}s(ve,"loadApiKey");var rt=/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/,at=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/;function ce(e){let t=JSON.parse(e);return t===null||typeof t!="object"||rt.test(e)===!1&&at.test(e)===!1?t:ot(t)}s(ce,"_parse");function ot(e){let t=[e];for(;t.length;){let n=t;t=[];for(let r of n){if(Object.prototype.hasOwnProperty.call(r,"__proto__"))throw new SyntaxError("Object contains forbidden prototype property");if(Object.prototype.hasOwnProperty.call(r,"constructor")&&r.constructor!==null&&typeof r.constructor=="object"&&Object.prototype.hasOwnProperty.call(r.constructor,"prototype"))throw new SyntaxError("Object contains forbidden prototype property");for(let a in r){let o=r[a];o&&typeof o=="object"&&t.push(o)}}}return e}s(ot,"filter");function be(e){let{stackTraceLimit:t}=Error;try{Error.stackTraceLimit=0}catch{return ce(e)}try{return ce(e)}finally{Error.stackTraceLimit=t}}s(be,"secureJsonParse");function Y(e){if(e.type==="object"||Array.isArray(e.type)&&e.type.includes("object")){e.additionalProperties=!1;let{properties:n}=e;if(n!=null)for(let r of Object.keys(n))n[r]=$(n[r])}e.items!=null&&(e.items=Array.isArray(e.items)?e.items.map($):$(e.items)),e.anyOf!=null&&(e.anyOf=e.anyOf.map($)),e.allOf!=null&&(e.allOf=e.allOf.map($)),e.oneOf!=null&&(e.oneOf=e.oneOf.map($));let{definitions:t}=e;if(t!=null)for(let n of Object.keys(t))t[n]=$(t[n]);return e}s(Y,"addAdditionalPropertiesToJsonSchema");function $(e){return typeof e=="boolean"?e:Y(e)}s($,"visit");var st=Symbol("Let zodToJsonSchema decide on which parser to use"),de={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"},it=s(e=>typeof e=="string"?{...de,name:e}:{...de,...e},"getDefaultOptions");function k(){return{}}s(k,"parseAnyDef");function ut(e,t){var n,r,a;let o={type:"array"};return(n=e.type)!=null&&n._def&&((a=(r=e.type)==null?void 0:r._def)==null?void 0:a.typeName)!==f.ZodAny&&(o.items=m(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}s(ut,"parseArrayDef");function lt(e){let t={type:"integer",format:"int64"};if(!e.checks)return t;for(let n of e.checks)switch(n.kind){case"min":n.inclusive?t.minimum=n.value:t.exclusiveMinimum=n.value;break;case"max":n.inclusive?t.maximum=n.value:t.exclusiveMaximum=n.value;break;case"multipleOf":t.multipleOf=n.value;break}return t}s(lt,"parseBigintDef");function ct(){return{type:"boolean"}}s(ct,"parseBooleanDef");function we(e,t){return m(e.type._def,t)}s(we,"parseBrandedDef");var dt=s((e,t)=>m(e.innerType._def,t),"parseCatchDef");function _e(e,t,n){let r=n??t.dateStrategy;if(Array.isArray(r))return{anyOf:r.map((a,o)=>_e(e,t,a))};switch(r){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return pt(e)}}s(_e,"parseDateDef");var pt=s(e=>{let t={type:"integer",format:"unix-time"};for(let n of e.checks)switch(n.kind){case"min":t.minimum=n.value;break;case"max":t.maximum=n.value;break}return t},"integerDateParser");function ft(e,t){return{...m(e.innerType._def,t),default:e.defaultValue()}}s(ft,"parseDefaultDef");function mt(e,t){return t.effectStrategy==="input"?m(e.schema._def,t):k()}s(mt,"parseEffectsDef");function ht(e){return{type:"string",enum:Array.from(e.values)}}s(ht,"parseEnumDef");var gt=s(e=>"type"in e&&e.type==="string"?!1:"allOf"in e,"isJsonSchema7AllOfType");function yt(e,t){let n=[m(e.left._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),m(e.right._def,{...t,currentPath:[...t.currentPath,"allOf","1"]})].filter(a=>!!a),r=[];return n.forEach(a=>{if(gt(a))r.push(...a.allOf);else{let o=a;if("additionalProperties"in a&&a.additionalProperties===!1){let{additionalProperties:d,...u}=a;o=u}r.push(o)}}),r.length?{allOf:r}:void 0}s(yt,"parseIntersectionDef");function vt(e){let 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}}s(vt,"parseLiteralDef");var q=void 0,P={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:s(()=>(q===void 0&&(q=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),q),"emoji"),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 ke(e,t){let n={type:"string"};if(e.checks)for(let r of e.checks)switch(r.kind){case"min":n.minLength=typeof n.minLength=="number"?Math.max(n.minLength,r.value):r.value;break;case"max":n.maxLength=typeof n.maxLength=="number"?Math.min(n.maxLength,r.value):r.value;break;case"email":switch(t.emailStrategy){case"format:email":A(n,"email",r.message,t);break;case"format:idn-email":A(n,"idn-email",r.message,t);break;case"pattern:zod":y(n,P.email,r.message,t);break}break;case"url":A(n,"uri",r.message,t);break;case"uuid":A(n,"uuid",r.message,t);break;case"regex":y(n,r.regex,r.message,t);break;case"cuid":y(n,P.cuid,r.message,t);break;case"cuid2":y(n,P.cuid2,r.message,t);break;case"startsWith":y(n,RegExp(`^${V(r.value,t)}`),r.message,t);break;case"endsWith":y(n,RegExp(`${V(r.value,t)}$`),r.message,t);break;case"datetime":A(n,"date-time",r.message,t);break;case"date":A(n,"date",r.message,t);break;case"time":A(n,"time",r.message,t);break;case"duration":A(n,"duration",r.message,t);break;case"length":n.minLength=typeof n.minLength=="number"?Math.max(n.minLength,r.value):r.value,n.maxLength=typeof n.maxLength=="number"?Math.min(n.maxLength,r.value):r.value;break;case"includes":{y(n,RegExp(V(r.value,t)),r.message,t);break}case"ip":{r.version!=="v6"&&A(n,"ipv4",r.message,t),r.version!=="v4"&&A(n,"ipv6",r.message,t);break}case"base64url":y(n,P.base64url,r.message,t);break;case"jwt":y(n,P.jwt,r.message,t);break;case"cidr":{r.version!=="v6"&&y(n,P.ipv4Cidr,r.message,t),r.version!=="v4"&&y(n,P.ipv6Cidr,r.message,t);break}case"emoji":y(n,P.emoji(),r.message,t);break;case"ulid":{y(n,P.ulid,r.message,t);break}case"base64":{switch(t.base64Strategy){case"format:binary":{A(n,"binary",r.message,t);break}case"contentEncoding:base64":{n.contentEncoding="base64";break}case"pattern:zod":{y(n,P.base64,r.message,t);break}}break}case"nanoid":y(n,P.nanoid,r.message,t);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return n}s(ke,"parseStringDef");function V(e,t){return t.patternStrategy==="escape"?wt(e):e}s(V,"escapeLiteralCheckValue");var bt=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function wt(e){let t="";for(let n=0;n<e.length;n++)bt.has(e[n])||(t+="\\"),t+=e[n];return t}s(wt,"escapeNonAlphaNumeric");function A(e,t,n,r){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,...n&&r.errorMessages&&{errorMessage:{format:n}}})):e.format=t}s(A,"addFormat");function y(e,t,n,r){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:pe(t,r),...n&&r.errorMessages&&{errorMessage:{pattern:n}}})):e.pattern=pe(t,r)}s(y,"addPattern");function pe(e,t){var n;if(!t.applyRegexFlags||!e.flags)return e.source;let r={i:e.flags.includes("i"),m:e.flags.includes("m"),s:e.flags.includes("s")},a=r.i?e.source.toLowerCase():e.source,o="",d=!1,u=!1,l=!1;for(let c=0;c<a.length;c++){if(d){o+=a[c],d=!1;continue}if(r.i){if(u){if(a[c].match(/[a-z]/)){l?(o+=a[c],o+=`${a[c-2]}-${a[c]}`.toUpperCase(),l=!1):a[c+1]==="-"&&((n=a[c+2])!=null&&n.match(/[a-z]/))?(o+=a[c],l=!0):o+=`${a[c]}${a[c].toUpperCase()}`;continue}}else if(a[c].match(/[a-z]/)){o+=`[${a[c]}${a[c].toUpperCase()}]`;continue}}if(r.m){if(a[c]==="^"){o+=`(^|(?<=[\r
20
+ ]))`;continue}else if(a[c]==="$"){o+=`($|(?=[\r
21
+ ]))`;continue}}if(r.s&&a[c]==="."){o+=u?`${a[c]}\r
22
+ `:`[${a[c]}\r
23
+ ]`;continue}o+=a[c],a[c]==="\\"?d=!0:u&&a[c]==="]"?u=!1:!u&&a[c]==="["&&(u=!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}s(pe,"stringifyRegExpWithFlags");function Pe(e,t){var n,r,a,o,d,u;let l={type:"object",additionalProperties:(n=m(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]}))!=null?n:t.allowedAdditionalProperties};if(((r=e.keyType)==null?void 0:r._def.typeName)===f.ZodString&&((a=e.keyType._def.checks)!=null&&a.length)){let{type:c,...p}=ke(e.keyType._def,t);return{...l,propertyNames:p}}else{if(((o=e.keyType)==null?void 0:o._def.typeName)===f.ZodEnum)return{...l,propertyNames:{enum:e.keyType._def.values}};if(((d=e.keyType)==null?void 0:d._def.typeName)===f.ZodBranded&&e.keyType._def.type._def.typeName===f.ZodString&&((u=e.keyType._def.type._def.checks)!=null&&u.length)){let{type:c,...p}=we(e.keyType._def,t);return{...l,propertyNames:p}}}return l}s(Pe,"parseRecordDef");function _t(e,t){if(t.mapStrategy==="record")return Pe(e,t);let n=m(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||k(),r=m(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||k();return{type:"array",maxItems:125,items:{type:"array",items:[n,r],minItems:2,maxItems:2}}}s(_t,"parseMapDef");function kt(e){let t=e.values,r=Object.keys(e.values).filter(o=>typeof t[t[o]]!="number").map(o=>t[o]),a=Array.from(new Set(r.map(o=>typeof o)));return{type:a.length===1?a[0]==="string"?"string":"number":["string","number"],enum:r}}s(kt,"parseNativeEnumDef");function Pt(){return{not:k()}}s(Pt,"parseNeverDef");function At(){return{type:"null"}}s(At,"parseNullDef");var K={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function Et(e,t){let n=e.options instanceof Map?Array.from(e.options.values()):e.options;if(n.every(r=>r._def.typeName in K&&(!r._def.checks||!r._def.checks.length))){let r=n.reduce((a,o)=>{let d=K[o._def.typeName];return d&&!a.includes(d)?[...a,d]:a},[]);return{type:r.length>1?r:r[0]}}else if(n.every(r=>r._def.typeName==="ZodLiteral"&&!r.description)){let r=n.reduce((a,o)=>{let d=typeof o._def.value;switch(d){case"string":case"number":case"boolean":return[...a,d];case"bigint":return[...a,"integer"];case"object":if(o._def.value===null)return[...a,"null"];default:return a}},[]);if(r.length===n.length){let a=r.filter((o,d,u)=>u.indexOf(o)===d);return{type:a.length>1?a:a[0],enum:n.reduce((o,d)=>o.includes(d._def.value)?o:[...o,d._def.value],[])}}}else if(n.every(r=>r._def.typeName==="ZodEnum"))return{type:"string",enum:n.reduce((r,a)=>[...r,...a._def.values.filter(o=>!r.includes(o))],[])};return Tt(e,t)}s(Et,"parseUnionDef");var Tt=s((e,t)=>{let n=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((r,a)=>m(r._def,{...t,currentPath:[...t.currentPath,"anyOf",`${a}`]})).filter(r=>!!r&&(!t.strictUnions||typeof r=="object"&&Object.keys(r).length>0));return n.length?{anyOf:n}:void 0},"asAnyOf");function St(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return{type:[K[e.innerType._def.typeName],"null"]};let n=m(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return n&&{anyOf:[n,{type:"null"}]}}s(St,"parseNullableDef");function Ot(e){let t={type:"number"};if(!e.checks)return t;for(let n of e.checks)switch(n.kind){case"int":t.type="integer";break;case"min":n.inclusive?t.minimum=n.value:t.exclusiveMinimum=n.value;break;case"max":n.inclusive?t.maximum=n.value:t.exclusiveMaximum=n.value;break;case"multipleOf":t.multipleOf=n.value;break}return t}s(Ot,"parseNumberDef");function xt(e,t){let n={type:"object",properties:{}},r=[],a=e.shape();for(let d in a){let u=a[d];if(u===void 0||u._def===void 0)continue;let l=$t(u),c=m(u._def,{...t,currentPath:[...t.currentPath,"properties",d],propertyPath:[...t.currentPath,"properties",d]});c!==void 0&&(n.properties[d]=c,l||r.push(d))}r.length&&(n.required=r);let o=It(e,t);return o!==void 0&&(n.additionalProperties=o),n}s(xt,"parseObjectDef");function It(e,t){if(e.catchall._def.typeName!=="ZodNever")return m(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}}s(It,"decideAdditionalProperties");function $t(e){try{return e.isOptional()}catch{return!0}}s($t,"safeIsOptional");var Ct=s((e,t)=>{var n;if(t.currentPath.toString()===((n=t.propertyPath)==null?void 0:n.toString()))return m(e.innerType._def,t);let r=m(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return r?{anyOf:[{not:k()},r]}:k()},"parseOptionalDef"),Rt=s((e,t)=>{if(t.pipeStrategy==="input")return m(e.in._def,t);if(t.pipeStrategy==="output")return m(e.out._def,t);let n=m(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),r=m(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",n?"1":"0"]});return{allOf:[n,r].filter(a=>a!==void 0)}},"parsePipelineDef");function jt(e,t){return m(e.type._def,t)}s(jt,"parsePromiseDef");function Lt(e,t){let r={type:"array",uniqueItems:!0,items:m(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};return e.minSize&&(r.minItems=e.minSize.value),e.maxSize&&(r.maxItems=e.maxSize.value),r}s(Lt,"parseSetDef");function Nt(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((n,r)=>m(n._def,{...t,currentPath:[...t.currentPath,"items",`${r}`]})).reduce((n,r)=>r===void 0?n:[...n,r],[]),additionalItems:m(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((n,r)=>m(n._def,{...t,currentPath:[...t.currentPath,"items",`${r}`]})).reduce((n,r)=>r===void 0?n:[...n,r],[])}}s(Nt,"parseTupleDef");function Dt(){return{not:k()}}s(Dt,"parseUndefinedDef");function Zt(){return k()}s(Zt,"parseUnknownDef");var Mt=s((e,t)=>m(e.innerType._def,t),"parseReadonlyDef"),Ut=s((e,t,n)=>{switch(t){case f.ZodString:return ke(e,n);case f.ZodNumber:return Ot(e);case f.ZodObject:return xt(e,n);case f.ZodBigInt:return lt(e);case f.ZodBoolean:return ct();case f.ZodDate:return _e(e,n);case f.ZodUndefined:return Dt();case f.ZodNull:return At();case f.ZodArray:return ut(e,n);case f.ZodUnion:case f.ZodDiscriminatedUnion:return Et(e,n);case f.ZodIntersection:return yt(e,n);case f.ZodTuple:return Nt(e,n);case f.ZodRecord:return Pe(e,n);case f.ZodLiteral:return vt(e);case f.ZodEnum:return ht(e);case f.ZodNativeEnum:return kt(e);case f.ZodNullable:return St(e,n);case f.ZodOptional:return Ct(e,n);case f.ZodMap:return _t(e,n);case f.ZodSet:return Lt(e,n);case f.ZodLazy:return()=>e.getter()._def;case f.ZodPromise:return jt(e,n);case f.ZodNaN:case f.ZodNever:return Pt();case f.ZodEffects:return mt(e,n);case f.ZodAny:return k();case f.ZodUnknown:return Zt();case f.ZodDefault:return ft(e,n);case f.ZodBranded:return we(e,n);case f.ZodReadonly:return Mt(e,n);case f.ZodCatch:return dt(e,n);case f.ZodPipeline:return Rt(e,n);case f.ZodFunction:case f.ZodVoid:case f.ZodSymbol:return;default:return(r=>{})(t)}},"selectParser"),Ft=s((e,t)=>{let n=0;for(;n<e.length&&n<t.length&&e[n]===t[n];n++);return[(e.length-n).toString(),...t.slice(n)].join("/")},"getRelativePath");function m(e,t,n=!1){var r;let a=t.seen.get(e);if(t.override){let l=(r=t.override)==null?void 0:r.call(t,e,t,a,n);if(l!==st)return l}if(a&&!n){let l=zt(a,t);if(l!==void 0)return l}let o={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,o);let d=Ut(e,e.typeName,t),u=typeof d=="function"?m(d(),t):d;if(u&&Ht(e,t,u),t.postProcess){let l=t.postProcess(u,e,t);return o.jsonSchema=u,l}return o.jsonSchema=u,u}s(m,"parseDef");var zt=s((e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:Ft(t.currentPath,e.path)};case"none":case"seen":return e.path.length<t.currentPath.length&&e.path.every((n,r)=>t.currentPath[r]===n)?(console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),k()):t.$refStrategy==="seen"?k():void 0}},"get$ref"),Ht=s((e,t,n)=>(e.description&&(n.description=e.description),n),"addMeta"),Jt=s(e=>{let t=it(e),n=t.name!==void 0?[...t.basePath,t.definitionPath,t.name]:t.basePath;return{...t,currentPath:n,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([r,a])=>[a._def,{def:a._def,path:[...t.basePath,t.definitionPath,r],jsonSchema:void 0}]))}},"getRefs"),Bt=s((e,t)=>{var n;let r=Jt(t),a=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((c,[p,h])=>{var v;return{...c,[p]:(v=m(h._def,{...r,currentPath:[...r.basePath,r.definitionPath,p]},!0))!=null?v:k()}},{}):void 0,o=typeof t=="string"?t:t?.nameStrategy==="title"?void 0:t?.name,d=(n=m(e._def,o===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,o]},!1))!=null?n:k(),u=typeof t=="object"&&t.name!==void 0&&t.nameStrategy==="title"?t.name:void 0;u!==void 0&&(d.title=u);let l=o===void 0?a?{...d,[r.definitionPath]:a}:d:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,o].join("/"),[r.definitionPath]:{...a,[o]:d}};return l.$schema="http://json-schema.org/draft-07/schema#",l},"zod3ToJsonSchema"),G=Symbol.for("vercel.ai.schema");function z(e,{validate:t}={}){return{[G]:!0,_type:void 0,get jsonSchema(){return typeof e=="function"&&(e=e()),e},validate:t}}s(z,"jsonSchema");function qt(e){return typeof e=="object"&&e!==null&&G in e&&e[G]===!0&&"jsonSchema"in e&&"validate"in e}s(qt,"isSchema");function Vt(e){return e==null?z({type:"object",properties:{},additionalProperties:!1}):qt(e)?e:"~standard"in e?e["~standard"].vendor==="zod"?Qt(e):Wt(e):e()}s(Vt,"asSchema");function Wt(e){return z(()=>{if(!Kt(e))throw new Error(`Standard schema vendor '${e["~standard"].vendor}' does not support JSON Schema conversion.`);return Y(e["~standard"].jsonSchema.input({target:"draft-07"}))},{validate:s(async t=>{let n=await e["~standard"].validate(t);return"value"in n?{success:!0,value:n.value}:{success:!1,error:new O({value:t,cause:n.issues})}},"validate")})}s(Wt,"standardSchema");function Kt(e){return e["~standard"].jsonSchema!=null}s(Kt,"hasStandardJsonSchema");function Gt(e,t){var n;let r=(n=t?.useReferences)!=null?n:!1;return z(()=>Bt(e,{$refStrategy:r?"root":"none"}),{validate:s(async a=>{let o=await e.safeParseAsync(a);return o.success?{success:!0,value:o.data}:{success:!1,error:o.error}},"validate")})}s(Gt,"zod3Schema");function Xt(e,t){var n;let r=(n=t?.useReferences)!=null?n:!1;return z(()=>Y(ae(e,{target:"draft-7",io:"input",reused:r?"ref":"inline"})),{validate:s(async a=>{let o=await oe(e,a);return o.success?{success:!0,value:o.data}:{success:!1,error:o.error}},"validate")})}s(Xt,"zod4Schema");function Yt(e){return"_zod"in e}s(Yt,"isZod4Schema");function Qt(e,t){return Yt(e)?Xt(e,t):Gt(e,t)}s(Qt,"zodSchema");async function en({value:e,schema:t,context:n}){let r=await Q({value:e,schema:t,context:n});if(!r.success)throw O.wrap({value:e,cause:r.error,context:n});return r.value}s(en,"validateTypes");async function Q({value:e,schema:t,context:n}){let r=Vt(t);try{if(r.validate==null)return{success:!0,value:e,rawValue:e};let a=await r.validate(e);return a.success?{success:!0,value:a.value,rawValue:e}:{success:!1,error:O.wrap({value:e,cause:a.error,context:n}),rawValue:e}}catch(a){return{success:!1,error:O.wrap({value:e,cause:a,context:n}),rawValue:e}}}s(Q,"safeValidateTypes");async function tn({text:e,schema:t}){try{let n=be(e);return t==null?n:en({value:n,schema:t})}catch(n){throw L.isInstance(n)||O.isInstance(n)?n:new L({text:e,cause:n})}}s(tn,"parseJSON");async function Ae({text:e,schema:t}){try{let n=be(e);return t==null?{success:!0,value:n,rawValue:n}:await Q({value:n,schema:t})}catch(n){return{success:!1,error:L.isInstance(n)?n:new L({text:e,cause:n}),rawValue:void 0}}}s(Ae,"safeParseJSON");function nn({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new se).pipeThrough(new TransformStream({async transform({data:n},r){n!=="[DONE]"&&r.enqueue(await Ae({text:n,schema:t}))}}))}s(nn,"parseJsonEventStream");async function H({provider:e,providerOptions:t,schema:n}){if(t?.[e]==null)return;let r=await Q({value:t[e],schema:n});if(!r.success)throw new M({argument:"providerOptions",message:`invalid ${e} provider options`,cause:r.error});return r.value}s(H,"parseProviderOptions");var rn=s(()=>globalThis.fetch,"getOriginalFetch2"),D=s(async({url:e,headers:t,body:n,failedResponseHandler:r,successfulResponseHandler:a,abortSignal:o,fetch:d})=>ee({url:e,headers:{"Content-Type":"application/json",...t},body:{content:JSON.stringify(n),values:n},failedResponseHandler:r,successfulResponseHandler:a,abortSignal:o,fetch:d}),"postJsonToApi");var ee=s(async({url:e,headers:t={},body:n,successfulResponseHandler:r,failedResponseHandler:a,abortSignal:o,fetch:d=rn()})=>{try{let u=await d(e,{method:"POST",headers:X(t,`ai-sdk/provider-utils/${Ye}`,Ge()),body:n.content,signal:o}),l=F(u);if(!u.ok){let c;try{c=await a({response:u,url:e,requestBodyValues:n.values})}catch(p){throw W(p)||_.isInstance(p)?p:new _({message:"Failed to process error response",cause:p,statusCode:u.status,url:e,responseHeaders:l,requestBodyValues:n.values})}throw c.value}try{return await r({response:u,url:e,requestBodyValues:n.values})}catch(c){throw c instanceof Error&&(W(c)||_.isInstance(c))?c:new _({message:"Failed to process successful response",cause:c,statusCode:u.status,url:e,responseHeaders:l,requestBodyValues:n.values})}}catch(u){throw Ke({error:u,url:e,requestBodyValues:n.values})}},"postToApi");var an=new TextDecoder;async function Ee({response:e,url:t}){return an.decode(await Je({response:e,url:t}))}s(Ee,"readResponseBodyAsText");var Te=s(({errorSchema:e,errorToMessage:t,isRetryable:n})=>async({response:r,url:a,requestBodyValues:o})=>{let d=await Ee({response:r,url:a}),u=F(r);if(d.trim()==="")return{responseHeaders:u,value:new _({message:r.statusText,url:a,requestBodyValues:o,statusCode:r.status,responseHeaders:u,responseBody:d,isRetryable:n?.(r)})};try{let l=await tn({text:d,schema:e});return{responseHeaders:u,value:new _({message:t(l),url:a,requestBodyValues:o,statusCode:r.status,responseHeaders:u,responseBody:d,data:l,isRetryable:n?.(r,l)})}}catch{return{responseHeaders:u,value:new _({message:r.statusText,url:a,requestBodyValues:o,statusCode:r.status,responseHeaders:u,responseBody:d,isRetryable:n?.(r)})}}},"createJsonErrorResponseHandler"),Se=s(e=>async({response:t})=>{let n=F(t);if(t.body==null)throw new te({});return{responseHeaders:n,value:nn({stream:t.body,schema:e})}},"createEventSourceResponseHandler"),R=s(e=>async({response:t,url:n,requestBodyValues:r})=>{let a=await Ee({response:t,url:n}),o=await Ae({text:a,schema:e}),d=F(t);if(!o.success)throw new _({message:"Invalid JSON response",cause:o.error,statusCode:t.status,responseHeaders:d,responseBody:a,url:n,requestBodyValues:r});return{responseHeaders:d,value:o.value,rawValue:o.rawValue}},"createJsonResponseHandler");function Oe(e){return e?.replace(/\/$/,"")}s(Oe,"withoutTrailingSlash");function xe(e){var t,n,r,a,o;if(e==null)return{inputTokens:{total:void 0,noCache:void 0,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:void 0,text:void 0,reasoning:void 0},raw:void 0};let d=e.prompt_tokens,u=e.completion_tokens,l=(o=(a=(n=e.num_cached_tokens)!=null?n:(t=e.prompt_tokens_details)==null?void 0:t.cached_tokens)!=null?a:(r=e.prompt_token_details)==null?void 0:r.cached_tokens)!=null?o:0;return{inputTokens:{total:d,noCache:d-l,cacheRead:l||void 0,cacheWrite:void 0},outputTokens:{total:u,text:u,reasoning:void 0},raw:e}}s(xe,"convertMistralUsage");function Ie({data:e,mediaType:t}){return e instanceof URL?e.toString():`data:${t};base64,${fe(e)}`}s(Ie,"formatFileUrl");function on(e){var t;let n=[];for(let r=0;r<e.length;r++){let{role:a,content:o}=e[r],d=r===e.length-1;switch(a){case"system":{n.push({role:"system",content:o});break}case"user":{n.push({role:"user",content:o.map(u=>{switch(u.type){case"text":return{type:"text",text:u.text};case"file":if(u.mediaType.startsWith("image/")){let l=u.mediaType==="image/*"?"image/jpeg":u.mediaType;return{type:"image_url",image_url:Ie({data:u.data,mediaType:l})}}else{if(u.mediaType==="application/pdf")return{type:"document_url",document_url:Ie({data:u.data,mediaType:"application/pdf"})};throw new U({functionality:"Only images and PDF file parts are supported"})}}})});break}case"assistant":{let u="",l=[],c=!1,p=[];for(let h of o)switch(h.type){case"text":{u+=h.text,l.push({type:"text",text:h.text});break}case"tool-call":{p.push({id:h.toolCallId,type:"function",function:{name:h.toolName,arguments:JSON.stringify(h.input)}});break}case"reasoning":{u+=h.text;let v=h.providerOptions?.mistral?.thinking;if(v?.type==="thinking"){c=!0,l.push(v);break}l.push({type:"text",text:h.text});break}default:throw new Error(`Unsupported content type in assistant message: ${h.type}`)}n.push({role:"assistant",content:c?l:u,prefix:d?!0:void 0,tool_calls:p.length>0?p:void 0});break}case"tool":{for(let u of o){if(u.type==="tool-approval-response")continue;let l=u.output,c;switch(l.type){case"text":case"error-text":c=l.value;break;case"execution-denied":c=(t=l.reason)!=null?t:"Tool call execution denied.";break;case"content":case"json":case"error-json":c=JSON.stringify(l.value);break}n.push({role:"tool",name:u.toolName,tool_call_id:u.toolCallId,content:c})}break}default:{let u=a;throw new Error(`Unsupported role: ${u}`)}}}return n}s(on,"convertToMistralChatMessages");function $e({id:e,model:t,created:n}){return{id:e??void 0,modelId:t??void 0,timestamp:n!=null?new Date(n*1e3):void 0}}s($e,"getResponseMetadata");function Ce(e){switch(e){case"stop":return"stop";case"length":case"model_length":return"length";case"tool_calls":return"tool-calls";default:return"other"}}s(Ce,"mapMistralFinishReason");var sn=i.object({safePrompt:i.boolean().optional(),documentImageLimit:i.number().optional(),documentPageLimit:i.number().optional(),structuredOutputs:i.boolean().optional(),strictJsonSchema:i.boolean().optional(),parallelToolCalls:i.boolean().optional(),reasoningEffort:i.string().optional(),promptCacheKey:i.string().optional()}),un=i.object({object:i.literal("error"),message:i.string(),type:i.string(),param:i.string().nullable(),code:i.string().nullable()}),J=Te({errorSchema:un,errorToMessage:s(e=>e.message,"errorToMessage")});function ln({tools:e,toolChoice:t}){e=e?.length?e:void 0;let n=[];if(e==null)return{tools:void 0,toolChoice:void 0,toolWarnings:n};let r=[];for(let o of e)o.type==="provider"?n.push({type:"unsupported",feature:`provider-defined tool ${o.id}`}):r.push({type:"function",function:{name:o.name,description:o.description,parameters:o.inputSchema,...o.strict!=null?{strict:o.strict}:{}}});if(t==null)return{tools:r,toolChoice:void 0,toolWarnings:n};let a=t.type;switch(a){case"auto":case"none":return{tools:r,toolChoice:a,toolWarnings:n};case"required":return{tools:r,toolChoice:"any",toolWarnings:n};case"tool":return{tools:r.filter(o=>o.function.name===t.toolName),toolChoice:"any",toolWarnings:n};default:{let o=a;throw new U({functionality:`tool choice type: ${o}`})}}}s(ln,"prepareTools");var cn=class{static{s(this,"MistralChatLanguageModel")}constructor(e,t){this.specificationVersion="v3",this.supportedUrls={"application/pdf":[/^https:\/\/.*$/]};var n;this.modelId=e,this.config=t,this.generateId=(n=t.generateId)!=null?n:ge}get provider(){return this.config.provider}async getArgs({prompt:e,maxOutputTokens:t,temperature:n,topP:r,topK:a,frequencyPenalty:o,presencePenalty:d,stopSequences:u,responseFormat:l,seed:c,providerOptions:p,tools:h,toolChoice:v}){var b,g,x,I;let E=[],w=(b=await H({provider:"mistral",providerOptions:p,schema:sn}))!=null?b:{};a!=null&&E.push({type:"unsupported",feature:"topK"});let T=(g=w.structuredOutputs)!=null?g:!0,S=(x=w.strictJsonSchema)!=null?x:!1;l?.type==="json"&&!l?.schema&&(e=ye({messages:e,schema:l.schema}));let Z={model:this.modelId,safe_prompt:w.safePrompt,max_tokens:t,temperature:n,top_p:r,...o!=null?{frequency_penalty:o}:{},...d!=null?{presence_penalty:d}:{},stop:u,random_seed:c,reasoning_effort:w.reasoningEffort,prompt_cache_key:w.promptCacheKey,response_format:l?.type==="json"?T&&l?.schema!=null?{type:"json_schema",json_schema:{schema:l.schema,strict:S,name:(I=l.name)!=null?I:"response",description:l.description}}:{type:"json_object"}:void 0,document_image_limit:w.documentImageLimit,document_page_limit:w.documentPageLimit,messages:on(e)},{tools:j,toolChoice:De,toolWarnings:Ze}=ln({tools:h,toolChoice:v});return{args:{...Z,tools:j,tool_choice:De,...j!=null&&w.parallelToolCalls!==void 0?{parallel_tool_calls:w.parallelToolCalls}:{}},warnings:[...E,...Ze]}}async doGenerate(e){var t;let{args:n,warnings:r}=await this.getArgs(e),{responseHeaders:a,value:o,rawValue:d}=await D({url:`${this.config.baseURL}/chat/completions`,headers:C(this.config.headers(),e.headers),body:n,failedResponseHandler:J,successfulResponseHandler:R(mn),abortSignal:e.abortSignal,fetch:this.config.fetch}),u=o.choices[0],l=[];if(u.message.content!=null&&Array.isArray(u.message.content))for(let c of u.message.content)if(c.type==="thinking"){let p=Re(c.thinking);l.push({type:"reasoning",text:p,providerMetadata:{mistral:{thinking:c}}})}else c.type==="text"&&c.text.length>0&&l.push({type:"text",text:c.text});else{let c=je(u.message.content);c!=null&&c.length>0&&l.push({type:"text",text:c})}if(u.message.tool_calls!=null)for(let c of u.message.tool_calls)l.push({type:"tool-call",toolCallId:c.id,toolName:c.function.name,input:c.function.arguments});return{content:l,finishReason:{unified:Ce(u.finish_reason),raw:(t=u.finish_reason)!=null?t:void 0},usage:xe(o.usage),request:{body:n},response:{...$e(o),headers:a,body:d},warnings:r}}async doStream(e){let{args:t,warnings:n}=await this.getArgs(e),r={...t,stream:!0},{responseHeaders:a,value:o}=await D({url:`${this.config.baseURL}/chat/completions`,headers:C(this.config.headers(),e.headers),body:r,failedResponseHandler:J,successfulResponseHandler:Se(hn),abortSignal:e.abortSignal,fetch:this.config.fetch}),d={unified:"other",raw:void 0},u,l=!0,c=!1,p=null,h=null,v=this.generateId;return{stream:o.pipeThrough(new TransformStream({start(b){b.enqueue({type:"stream-start",warnings:n})},transform(b,g){if(e.includeRawChunks&&g.enqueue({type:"raw",rawValue:b.rawValue}),!b.success){g.enqueue({type:"error",error:b.error});return}let x=b.value;l&&(l=!1,g.enqueue({type:"response-metadata",...$e(x)})),x.usage!=null&&(u=x.usage);let I=x.choices[0],E=I.delta,w=je(E.content);if(E.content!=null&&Array.isArray(E.content)){for(let T of E.content)if(T.type==="thinking"){let S=Re(T.thinking);h=dn(h,T),p==null&&(c&&(g.enqueue({type:"text-end",id:"0"}),c=!1),p=v(),g.enqueue({type:"reasoning-start",id:p})),S.length>0&&g.enqueue({type:"reasoning-delta",id:p,delta:S})}}if(w!=null&&w.length>0&&(c||(p!=null&&(g.enqueue({type:"reasoning-end",id:p,providerMetadata:{mistral:{thinking:h}}}),p=null,h=null),g.enqueue({type:"text-start",id:"0"}),c=!0),g.enqueue({type:"text-delta",id:"0",delta:w})),E?.tool_calls!=null)for(let T of E.tool_calls){let S=T.id,Z=T.function.name,j=T.function.arguments;g.enqueue({type:"tool-input-start",id:S,toolName:Z}),g.enqueue({type:"tool-input-delta",id:S,delta:j}),g.enqueue({type:"tool-input-end",id:S}),g.enqueue({type:"tool-call",toolCallId:S,toolName:Z,input:j})}I.finish_reason!=null&&(d={unified:Ce(I.finish_reason),raw:I.finish_reason})},flush(b){p!=null&&b.enqueue({type:"reasoning-end",id:p,providerMetadata:{mistral:{thinking:h}}}),c&&b.enqueue({type:"text-end",id:"0"}),b.enqueue({type:"finish",finishReason:d,usage:xe(u)})}})),request:{body:r},response:{headers:a}}}};function Re(e){return e.filter(t=>t.type==="text").map(t=>t.text).join("")}s(Re,"extractReasoningContent");function dn(e,t){return e===null?{...t,thinking:[...t.thinking]}:(e.thinking.push(...t.thinking),t.closed!==void 0&&(e.closed=t.closed),t.signature!==void 0&&(e.signature=t.signature),e)}s(dn,"mergeThinking");function je(e){if(typeof e=="string")return e;if(e==null)return;let t=[];for(let n of e){let{type:r}=n;switch(r){case"text":t.push(n.text);break;case"thinking":case"image_url":case"reference":break;default:{let a=r;throw new Error(`Unsupported type: ${a}`)}}}return t.length?t.join(""):void 0}s(je,"extractTextContent");var pn=i.discriminatedUnion("type",[i.object({type:i.literal("text"),text:i.string()}),i.object({type:i.literal("tool_reference"),tool:i.string(),title:i.string(),url:i.string().nullish(),favicon:i.string().nullish(),description:i.string().nullish()}),i.object({type:i.literal("reference"),reference_ids:i.array(i.union([i.string(),i.number().int()]))})]),fn=i.object({type:i.literal("thinking"),thinking:i.array(pn),closed:i.boolean().optional(),signature:i.string().nullish()}),Le=i.union([i.string(),i.array(i.discriminatedUnion("type",[i.object({type:i.literal("text"),text:i.string()}),i.object({type:i.literal("image_url"),image_url:i.union([i.string(),i.object({url:i.string(),detail:i.string().nullable()})])}),i.object({type:i.literal("reference"),reference_ids:i.array(i.union([i.string(),i.number()]))}),fn]))]).nullish(),Ne=i.object({prompt_tokens:i.number(),completion_tokens:i.number(),total_tokens:i.number(),num_cached_tokens:i.number().nullish(),prompt_tokens_details:i.object({cached_tokens:i.number().nullish()}).nullish(),prompt_token_details:i.object({cached_tokens:i.number().nullish()}).nullish()}),mn=i.object({id:i.string().nullish(),created:i.number().nullish(),model:i.string().nullish(),choices:i.array(i.object({message:i.object({role:i.literal("assistant"),content:Le,tool_calls:i.array(i.object({id:i.string(),function:i.object({name:i.string(),arguments:i.string()})})).nullish()}),index:i.number(),finish_reason:i.string().nullish()})),object:i.literal("chat.completion"),usage:Ne}),hn=i.object({id:i.string().nullish(),created:i.number().nullish(),model:i.string().nullish(),choices:i.array(i.object({delta:i.object({role:i.enum(["assistant"]).optional(),content:Le,tool_calls:i.array(i.object({id:i.string(),function:i.object({name:i.string(),arguments:i.string()})})).nullish()}),finish_reason:i.string().nullish(),index:i.number()})),usage:Ne.nullish()}),gn=class{static{s(this,"MistralEmbeddingModel")}constructor(e,t){this.specificationVersion="v3",this.maxEmbeddingsPerCall=32,this.supportsParallelCalls=!1,this.modelId=e,this.config=t}get provider(){return this.config.provider}async doEmbed({values:e,abortSignal:t,headers:n}){if(e.length>this.maxEmbeddingsPerCall)throw new re({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:e});let{responseHeaders:r,value:a,rawValue:o}=await D({url:`${this.config.baseURL}/embeddings`,headers:C(this.config.headers(),n),body:{model:this.modelId,input:e,encoding_format:"float"},failedResponseHandler:J,successfulResponseHandler:R(yn),abortSignal:t,fetch:this.config.fetch});return{warnings:[],embeddings:a.data.map(d=>d.embedding),usage:a.usage?{tokens:a.usage.prompt_tokens}:void 0,response:{headers:r,body:o}}}},yn=i.object({data:i.array(i.object({embedding:i.array(i.number())})),usage:i.object({prompt_tokens:i.number()}).nullish()}),vn=i.object({refAudio:i.string().min(1).optional()}),bn=class{static{s(this,"MistralSpeechModel")}constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v3"}get provider(){return this.config.provider}async getArgs({text:e,voice:t,outputFormat:n="mp3",instructions:r,speed:a,language:o,providerOptions:d}){let u=[],l=await H({provider:"mistral",providerOptions:d,schema:vn}),c="mp3";["pcm","wav","mp3","flac","opus"].includes(n)?c=n:u.push({type:"unsupported",feature:"outputFormat",details:`Unsupported output format: ${n}. Using mp3 instead.`}),r!=null&&u.push({type:"unsupported",feature:"instructions",details:"Mistral speech models do not support the `instructions` option. Use a reference audio clip to guide delivery."}),a!=null&&u.push({type:"unsupported",feature:"speed",details:"Mistral speech models do not support the `speed` option. It was ignored."}),o!=null&&u.push({type:"unsupported",feature:"language",details:"Mistral speech models do not support the `language` option. Language is inferred from the input text and voice."});let p=l?.refAudio,h={model:this.modelId,input:e,voice_id:p==null?t:void 0,ref_audio:p,response_format:c,stream:!1},v={...h,ref_audio:p==null?void 0:"[redacted]"};return{requestBody:h,requestBodyValues:v,warnings:u}}async doGenerate(e){var t,n,r,a,o;let d=(r=(n=(t=this.config._internal)==null?void 0:t.currentDate)==null?void 0:n.call(t))!=null?r:new Date,{requestBody:u,requestBodyValues:l,warnings:c}=await this.getArgs(e),{value:p,responseHeaders:h,rawValue:v}=await ee({url:`${this.config.baseURL}/audio/speech`,headers:C({"Content-Type":"application/json"},(o=(a=this.config).headers)==null?void 0:o.call(a),e.headers),body:{content:JSON.stringify(u),values:l},failedResponseHandler:J,successfulResponseHandler:R(wn),abortSignal:e.abortSignal,fetch:this.config.fetch});return{audio:p.audio_data,warnings:c,request:{body:JSON.stringify(l)},response:{timestamp:d,modelId:this.modelId,headers:h,body:v}}}},wn=i.object({audio_data:i.string()}),_n="3.0.51";function kn(e={}){var t;let n=(t=Oe(e.baseURL))!=null?t:"https://api.mistral.ai/v1",r=s(()=>X({Authorization:`Bearer ${ve({apiKey:e.apiKey,environmentVariableName:"MISTRAL_API_KEY",description:"Mistral"})}`,...e.headers},`ai-sdk/mistral/${_n}`),"getHeaders"),a=s(l=>new cn(l,{provider:"mistral.chat",baseURL:n,headers:r,fetch:e.fetch,generateId:e.generateId}),"createChatModel"),o=s(l=>new gn(l,{provider:"mistral.embedding",baseURL:n,headers:r,fetch:e.fetch}),"createEmbeddingModel"),d=s(l=>new bn(l,{provider:"mistral.speech",baseURL:n,headers:r,fetch:e.fetch}),"createSpeechModel"),u=s(function(l){if(new.target)throw new Error("The Mistral model function cannot be called with the new keyword.");return a(l)},"provider");return u.specificationVersion="v3",u.languageModel=a,u.chat=a,u.embedding=o,u.embeddingModel=o,u.textEmbedding=o,u.textEmbeddingModel=o,u.speech=d,u.speechModel=d,u.imageModel=l=>{throw new ne({modelId:l,modelType:"imageModel"})},u}s(kn,"createMistral");var ar=kn();export{_n as VERSION,kn as createMistral,ar as mistral};
@@ -0,0 +1,50 @@
1
+ // Built by esbuild from opencode-server source
2
+ if (typeof globalThis.Bun === 'undefined') {
3
+ globalThis.Bun = {
4
+ version: '0.0.0-node-compat',
5
+ stdin: { async text() { const chunks = []; for await (const c of process.stdin) chunks.push(c); return Buffer.concat(chunks).toString(); } },
6
+ which(cmd) { try { return require('child_process').execFileSync('which', [cmd], { encoding: 'utf8' }).trim(); } catch { return null; } },
7
+ };
8
+ }
9
+ if (typeof globalThis.__name === 'undefined') { globalThis.__name = (t, n) => { Object.defineProperty(t, 'name', { value: n, configurable: true }); return t; }; }
10
+ if (typeof globalThis.__export === 'undefined') { globalThis.__export = (t, a) => { for (const k in a) Object.defineProperty(t, k, { get: a[k], enumerable: true }); }; }
11
+ import { createRequire as __alchemyCreateRequire } from 'node:module';
12
+ const require = __alchemyCreateRequire(import.meta.url);
13
+ import { fileURLToPath as __alchemyFileURLToPath } from 'node:url';
14
+ import { dirname as __alchemyDirname } from 'node:path';
15
+ const __alchemy_filename = __alchemyFileURLToPath(import.meta.url);
16
+ const __alchemy_dirname = __alchemyDirname(__alchemy_filename);
17
+
18
+ import{a as x}from"./chunk-Q3WIUQXB.js";import{A as a,c as it,e as lt}from"./chunk-WPMP2ZFE.js";import{a as s}from"./chunk-2MRHL4B2.js";var er=Object.defineProperty,tr=Object.defineProperties,nr=Object.getOwnPropertyDescriptors,Ee=Object.getOwnPropertySymbols,Kt=Object.prototype.hasOwnProperty,Wt=Object.prototype.propertyIsEnumerable,Gt=s(e=>{throw TypeError(e)},"__typeError"),ut=s((e,t,n)=>t in e?er(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,"__defNormalProp"),d=s((e,t)=>{for(var n in t||(t={}))Kt.call(t,n)&&ut(e,n,t[n]);if(Ee)for(var n of Ee(t))Wt.call(t,n)&&ut(e,n,t[n]);return e},"__spreadValues"),R=s((e,t)=>tr(e,nr(t)),"__spreadProps"),fe=s((e,t)=>{var n={};for(var r in e)Kt.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Ee)for(var r of Ee(e))t.indexOf(r)<0&&Wt.call(e,r)&&(n[r]=e[r]);return n},"__objRest"),rr=s((e,t,n)=>t.has(e)||Gt("Cannot "+n),"__accessCheck"),ct=s((e,t,n)=>(rr(e,t,"read from private field"),n?n.call(e):t.get(e)),"__privateGet"),ar=s((e,t,n)=>t.has(e)?Gt("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),"__privateAdd"),Xt="vercel.ai.error",or=Symbol.for(Xt),dt,pt,$=class Yt extends(pt=Error,dt=or,pt){static{s(this,"_AISDKError")}constructor({name:t,message:n,cause:r}){super(n),this[dt]=!0,this.name=t,this.cause=r}static isInstance(t){return Yt.hasMarker(t,Xt)}static hasMarker(t,n){let r=Symbol.for(n);return t!=null&&typeof t=="object"&&r in t&&typeof t[r]=="boolean"&&t[r]===!0}},Qt="AI_APICallError",en=`vercel.ai.error.${Qt}`,sr=Symbol.for(en),mt,ft,q=class extends(ft=$,mt=sr,ft){static{s(this,"APICallError")}constructor({message:e,url:t,requestBodyValues:n,statusCode:r,responseHeaders:o,responseBody:i,cause:l,isRetryable:u=r!=null&&(r===408||r===409||r===429||r>=500),data:c}){super({name:Qt,message:e,cause:l}),this[mt]=!0,this.url=t,this.requestBodyValues=n,this.statusCode=r,this.responseHeaders=o,this.responseBody=i,this.isRetryable=u,this.data=c}static isInstance(e){return $.hasMarker(e,en)}},tn="AI_EmptyResponseBodyError",nn=`vercel.ai.error.${tn}`,ir=Symbol.for(nn),gt,ht,lr=class extends(ht=$,gt=ir,ht){static{s(this,"EmptyResponseBodyError")}constructor({message:e="Empty response body"}={}){super({name:tn,message:e}),this[gt]=!0}static isInstance(e){return $.hasMarker(e,nn)}};function rn(e){return e==null?"unknown error":typeof e=="string"?e:e instanceof Error?e.message:JSON.stringify(e)}s(rn,"getErrorMessage");var an="AI_InvalidArgumentError",on=`vercel.ai.error.${an}`,ur=Symbol.for(on),vt,yt,sn=class extends(yt=$,vt=ur,yt){static{s(this,"InvalidArgumentError")}constructor({message:e,cause:t,argument:n}){super({name:an,message:e,cause:t}),this[vt]=!0,this.argument=n}static isInstance(e){return $.hasMarker(e,on)}},ln="AI_InvalidPromptError",un=`vercel.ai.error.${ln}`,cr=Symbol.for(un),_t,bt,dr=class extends(bt=$,_t=cr,bt){static{s(this,"InvalidPromptError")}constructor({prompt:e,message:t,cause:n}){super({name:ln,message:`Invalid prompt: ${t}`,cause:n}),this[_t]=!0,this.prompt=e}static isInstance(e){return $.hasMarker(e,un)}},cn="AI_InvalidResponseDataError",dn=`vercel.ai.error.${cn}`,pr=Symbol.for(dn),kt,wt,Ie=class extends(wt=$,kt=pr,wt){static{s(this,"InvalidResponseDataError")}constructor({data:e,message:t=`Invalid response data: ${JSON.stringify(e)}.`}){super({name:cn,message:t}),this[kt]=!0,this.data=e}static isInstance(e){return $.hasMarker(e,dn)}},pn="AI_JSONParseError",mn=`vercel.ai.error.${pn}`,mr=Symbol.for(mn),Tt,Ot,je=class extends(Ot=$,Tt=mr,Ot){static{s(this,"JSONParseError")}constructor({text:e,cause:t}){super({name:pn,message:`JSON parsing failed: Text: ${e}.
19
+ Error message: ${rn(t)}`,cause:t}),this[Tt]=!0,this.text=e}static isInstance(e){return $.hasMarker(e,mn)}},fn="AI_LoadAPIKeyError",gn=`vercel.ai.error.${fn}`,fr=Symbol.for(gn),xt,It,Se=class extends(It=$,xt=fr,It){static{s(this,"LoadAPIKeyError")}constructor({message:e}){super({name:fn,message:e}),this[xt]=!0}static isInstance(e){return $.hasMarker(e,gn)}},hn="AI_LoadSettingError",vn=`vercel.ai.error.${hn}`,gr=Symbol.for(vn),St,At,jo=class extends(At=$,St=gr,At){static{s(this,"LoadSettingError")}constructor({message:e}){super({name:hn,message:e}),this[St]=!0}static isInstance(e){return $.hasMarker(e,vn)}},yn="AI_NoContentGeneratedError",_n=`vercel.ai.error.${yn}`,hr=Symbol.for(_n),Rt,Pt,Xe=class extends(Pt=$,Rt=hr,Pt){static{s(this,"NoContentGeneratedError")}constructor({message:e="No content generated."}={}){super({name:yn,message:e}),this[Rt]=!0}static isInstance(e){return $.hasMarker(e,_n)}},bn="AI_NoSuchModelError",kn=`vercel.ai.error.${bn}`,vr=Symbol.for(kn),Et,jt,$o=class extends(jt=$,Et=vr,jt){static{s(this,"NoSuchModelError")}constructor({errorName:e=bn,modelId:t,modelType:n,message:r=`No such ${n}: ${t}`}){super({name:e,message:r}),this[Et]=!0,this.modelId=t,this.modelType=n}static isInstance(e){return $.hasMarker(e,kn)}},wn="AI_TooManyEmbeddingValuesForCallError",Tn=`vercel.ai.error.${wn}`,yr=Symbol.for(Tn),$t,Ct,Co=class extends(Ct=$,$t=yr,Ct){static{s(this,"TooManyEmbeddingValuesForCallError")}constructor(e){super({name:wn,message:`Too many values for a single embedding call. The ${e.provider} model "${e.modelId}" can only embed up to ${e.maxEmbeddingsPerCall} values per call, but ${e.values.length} values were provided.`}),this[$t]=!0,this.provider=e.provider,this.modelId=e.modelId,this.maxEmbeddingsPerCall=e.maxEmbeddingsPerCall,this.values=e.values}static isInstance(e){return $.hasMarker(e,Tn)}},On="AI_TypeValidationError",xn=`vercel.ai.error.${On}`,_r=Symbol.for(xn),Dt,Mt,ye=class Ve extends(Mt=$,Dt=_r,Mt){static{s(this,"_TypeValidationError")}constructor({value:t,cause:n,context:r}){let o="Type validation failed";if(r?.field&&(o+=` for ${r.field}`),r?.entityName||r?.entityId){o+=" (";let i=[];r.entityName&&i.push(r.entityName),r.entityId&&i.push(`id: "${r.entityId}"`),o+=i.join(", "),o+=")"}super({name:On,message:`${o}: Value: ${JSON.stringify(t)}.
20
+ Error message: ${rn(n)}`,cause:n}),this[Dt]=!0,this.value=t,this.context=r}static isInstance(t){return $.hasMarker(t,xn)}static wrap({value:t,cause:n,context:r}){var o,i,l;return Ve.isInstance(n)&&n.value===t&&((o=n.context)==null?void 0:o.field)===r?.field&&((i=n.context)==null?void 0:i.entityName)===r?.entityName&&((l=n.context)==null?void 0:l.entityId)===r?.entityId?n:new Ve({value:t,cause:n,context:r})}},In="AI_UnsupportedFunctionalityError",Sn=`vercel.ai.error.${In}`,br=Symbol.for(Sn),Nt,Ut,te=class extends(Ut=$,Nt=br,Ut){static{s(this,"UnsupportedFunctionalityError")}constructor({functionality:e,message:t=`'${e}' functionality not supported.`}){super({name:In,message:t}),this[Nt]=!0,this.functionality=e}static isInstance(e){return $.hasMarker(e,Sn)}},Lt=class extends Error{static{s(this,"ParseError")}constructor(e,t){super(e),this.name="ParseError",this.type=t.type,this.field=t.field,this.value=t.value,this.line=t.line}};function Fe(e){}s(Fe,"noop");function kr(e){if(typeof e=="function")throw new TypeError("`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?");let{onEvent:t=Fe,onError:n=Fe,onRetry:r=Fe,onComment:o}=e,i="",l=!0,u,c="",p="";function y(m){let g=l?m.replace(/^\xEF\xBB\xBF/,""):m,[v,k]=wr(`${i}${g}`);for(let E of v)b(E);i=k,l=!1}s(y,"feed");function b(m){if(m===""){_();return}if(m.startsWith(":")){o&&o(m.slice(m.startsWith(": ")?2:1));return}let g=m.indexOf(":");if(g!==-1){let v=m.slice(0,g),k=m[g+1]===" "?2:1,E=m.slice(g+k);h(v,E,m);return}h(m,"",m)}s(b,"parseLine");function h(m,g,v){switch(m){case"event":p=g;break;case"data":c=`${c}${g}
21
+ `;break;case"id":u=g.includes("\0")?void 0:g;break;case"retry":/^\d+$/.test(g)?r(parseInt(g,10)):n(new Lt(`Invalid \`retry\` value: "${g}"`,{type:"invalid-retry",value:g,line:v}));break;default:n(new Lt(`Unknown field "${m.length>20?`${m.slice(0,20)}\u2026`:m}"`,{type:"unknown-field",field:m,value:g,line:v}));break}}s(h,"processField");function _(){c.length>0&&t({id:u,event:p||void 0,data:c.endsWith(`
22
+ `)?c.slice(0,-1):c}),u=void 0,c="",p=""}s(_,"dispatchEvent");function f(m={}){i&&m.consume&&b(i),l=!0,u=void 0,c="",p="",i=""}return s(f,"reset"),{feed:y,reset:f}}s(kr,"createParser");function wr(e){let t=[],n="",r=0;for(;r<e.length;){let o=e.indexOf("\r",r),i=e.indexOf(`
23
+ `,r),l=-1;if(o!==-1&&i!==-1?l=Math.min(o,i):o!==-1?o===e.length-1?l=-1:l=o:i!==-1&&(l=i),l===-1){n=e.slice(r);break}else{let u=e.slice(r,l);t.push(u),r=l+1,e[r-1]==="\r"&&e[r]===`
24
+ `&&r++}}return[t,n]}s(wr,"splitLines");var Tr=class extends TransformStream{static{s(this,"EventSourceParserStream")}constructor({onError:e,onRetry:t,onComment:n}={}){let r;super({start(o){r=kr({onEvent:s(i=>{o.enqueue(i)},"onEvent"),onError(i){e==="terminate"?o.error(i):typeof e=="function"&&e(i)},onRetry:t,onComment:n})},transform(o){r.feed(o)}})}};function le(...e){return e.reduce((t,n)=>d(d({},t),n??{}),{})}s(le,"combineHeaders");async function Or(e,t){if(e==null)return Promise.resolve();let n=t?.abortSignal;return new Promise((r,o)=>{if(n?.aborted){o(Ft());return}let i=setTimeout(()=>{l(),r()},e),l=s(()=>{clearTimeout(i),n?.removeEventListener("abort",u)},"cleanup"),u=s(()=>{l(),o(Ft())},"onAbort");n?.addEventListener("abort",u)})}s(Or,"delay");function Ft(){return new DOMException("Delay was aborted","AbortError")}s(Ft,"createAbortError");function we(e){return Object.fromEntries([...e.headers])}s(we,"extractResponseHeaders");var{btoa:xr,atob:Uo}=globalThis;function Ir(e){let t="";for(let n=0;n<e.length;n++)t+=String.fromCodePoint(e[n]);return xr(t)}s(Ir,"convertUint8ArrayToBase64");var An="AI_DownloadError",Rn=`vercel.ai.error.${An}`,Sr=Symbol.for(Rn),Zt,qt,Lo=class extends(qt=$,Zt=Sr,qt){static{s(this,"DownloadError")}constructor({url:e,statusCode:t,statusText:n,cause:r,message:o=r==null?`Failed to download ${e}: ${t} ${n}`:`Failed to download ${e}: ${r}`}){super({name:An,message:o,cause:r}),this[Zt]=!0,this.url=e,this.statusCode=t,this.statusText=n}static isInstance(e){return $.hasMarker(e,Rn)}},Fo=2*1024*1024*1024,Ar=s(({prefix:e,size:t=16,alphabet:n="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",separator:r="-"}={})=>{let o=s(()=>{let i=n.length,l=new Array(t);for(let u=0;u<t;u++)l[u]=n[Math.random()*i|0];return l.join("")},"generator");if(e==null)return o;if(n.includes(r))throw new sn({argument:"separator",message:`The separator "${r}" must not be part of the alphabet "${n}".`});return()=>`${e}${r}${o()}`},"createIdGenerator"),Q=Ar();function _e(e){return(e instanceof Error||e instanceof DOMException)&&(e.name==="AbortError"||e.name==="ResponseAborted"||e.name==="TimeoutError")}s(_e,"isAbortError");var Rr=["fetch failed","failed to fetch"],Pr=["ConnectionRefused","ConnectionClosed","FailedToOpenSocket","ECONNRESET","ECONNREFUSED","ETIMEDOUT","EPIPE"];function Er(e){if(!(e instanceof Error))return!1;let t=e.code;return!!(typeof t=="string"&&Pr.includes(t))}s(Er,"isBunNetworkError");function Pn({error:e,url:t,requestBodyValues:n}){if(_e(e))return e;if(e instanceof TypeError&&Rr.includes(e.message.toLowerCase())){let r=e.cause;if(r!=null)return new q({message:`Cannot connect to API: ${r.message}`,cause:r,url:t,requestBodyValues:n,isRetryable:!0})}return Er(e)?new q({message:`Cannot connect to API: ${e.message}`,cause:e,url:t,requestBodyValues:n,isRetryable:!0}):e}s(Pn,"handleFetchError");function En(e=globalThis){var t,n,r;return e.window?"runtime/browser":(t=e.navigator)!=null&&t.userAgent?`runtime/${e.navigator.userAgent.toLowerCase()}`:(r=(n=e.process)==null?void 0:n.versions)!=null&&r.node?`runtime/node.js/${e.process.version.substring(0)}`:e.EdgeRuntime?"runtime/vercel-edge":"runtime/unknown"}s(En,"getRuntimeEnvironmentUserAgent");function jr(e){if(e==null)return{};let t={};if(e instanceof Headers)e.forEach((n,r)=>{t[r.toLowerCase()]=n});else{Array.isArray(e)||(e=Object.entries(e));for(let[n,r]of e)r!=null&&(t[n.toLowerCase()]=r)}return t}s(jr,"normalizeHeaders");function jn(e,...t){let n=new Headers(jr(e)),r=n.get("user-agent")||"";return n.set("user-agent",[r,...t].filter(Boolean).join(" ")),Object.fromEntries(n.entries())}s(jn,"withUserAgentSuffix");var $n="4.0.23",$r=s(()=>globalThis.fetch,"getOriginalFetch"),Cr=s(async({url:e,headers:t={},successfulResponseHandler:n,failedResponseHandler:r,abortSignal:o,fetch:i=$r()})=>{try{let l=await i(e,{method:"GET",headers:jn(t,`ai-sdk/provider-utils/${$n}`,En()),signal:o}),u=we(l);if(!l.ok){let c;try{c=await r({response:l,url:e,requestBodyValues:{}})}catch(p){throw _e(p)||q.isInstance(p)?p:new q({message:"Failed to process error response",cause:p,statusCode:l.status,url:e,responseHeaders:u,requestBodyValues:{}})}throw c.value}try{return await n({response:l,url:e,requestBodyValues:{}})}catch(c){throw c instanceof Error&&(_e(c)||q.isInstance(c))?c:new q({message:"Failed to process successful response",cause:c,statusCode:l.status,url:e,responseHeaders:u,requestBodyValues:{}})}}catch(l){throw Pn({error:l,url:e,requestBodyValues:{}})}},"getFromApi");function Cn({apiKey:e,environmentVariableName:t,apiKeyParameterName:n="apiKey",description:r}){if(typeof e=="string")return e;if(e!=null)throw new Se({message:`${r} API key must be a string.`});if(typeof process>"u")throw new Se({message:`${r} API key is missing. Pass it using the '${n}' parameter. Environment variables are not supported in this environment.`});if(e=process.env[t],e==null)throw new Se({message:`${r} API key is missing. Pass it using the '${n}' parameter or the ${t} environment variable.`});if(typeof e!="string")throw new Se({message:`${r} API key must be a string. The value of the ${t} environment variable is not a string.`});return e}s(Cn,"loadApiKey");var Dr=/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/,Mr=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/;function zt(e){let t=JSON.parse(e);return t===null||typeof t!="object"||Dr.test(e)===!1&&Mr.test(e)===!1?t:Nr(t)}s(zt,"_parse");function Nr(e){let t=[e];for(;t.length;){let n=t;t=[];for(let r of n){if(Object.prototype.hasOwnProperty.call(r,"__proto__"))throw new SyntaxError("Object contains forbidden prototype property");if(Object.prototype.hasOwnProperty.call(r,"constructor")&&r.constructor!==null&&typeof r.constructor=="object"&&Object.prototype.hasOwnProperty.call(r.constructor,"prototype"))throw new SyntaxError("Object contains forbidden prototype property");for(let o in r){let i=r[o];i&&typeof i=="object"&&t.push(i)}}}return e}s(Nr,"filter");function Ye(e){let{stackTraceLimit:t}=Error;try{Error.stackTraceLimit=0}catch{return zt(e)}try{return zt(e)}finally{Error.stackTraceLimit=t}}s(Ye,"secureJsonParse");function Qe(e){if(e.type==="object"||Array.isArray(e.type)&&e.type.includes("object")){e.additionalProperties=!1;let{properties:n}=e;if(n!=null)for(let r of Object.keys(n))n[r]=ie(n[r])}e.items!=null&&(e.items=Array.isArray(e.items)?e.items.map(ie):ie(e.items)),e.anyOf!=null&&(e.anyOf=e.anyOf.map(ie)),e.allOf!=null&&(e.allOf=e.allOf.map(ie)),e.oneOf!=null&&(e.oneOf=e.oneOf.map(ie));let{definitions:t}=e;if(t!=null)for(let n of Object.keys(t))t[n]=ie(t[n]);return e}s(Qe,"addAdditionalPropertiesToJsonSchema");function ie(e){return typeof e=="boolean"?e:Qe(e)}s(ie,"visit");var Ur=Symbol("Let zodToJsonSchema decide on which parser to use"),Bt={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"},Lr=s(e=>typeof e=="string"?R(d({},Bt),{name:e}):d(d({},Bt),e),"getDefaultOptions");function J(){return{}}s(J,"parseAnyDef");function Fr(e,t){var n,r,o;let i={type:"array"};return(n=e.type)!=null&&n._def&&((o=(r=e.type)==null?void 0:r._def)==null?void 0:o.typeName)!==x.ZodAny&&(i.items=j(e.type._def,R(d({},t),{currentPath:[...t.currentPath,"items"]}))),e.minLength&&(i.minItems=e.minLength.value),e.maxLength&&(i.maxItems=e.maxLength.value),e.exactLength&&(i.minItems=e.exactLength.value,i.maxItems=e.exactLength.value),i}s(Fr,"parseArrayDef");function Zr(e){let t={type:"integer",format:"int64"};if(!e.checks)return t;for(let n of e.checks)switch(n.kind){case"min":n.inclusive?t.minimum=n.value:t.exclusiveMinimum=n.value;break;case"max":n.inclusive?t.maximum=n.value:t.exclusiveMaximum=n.value;break;case"multipleOf":t.multipleOf=n.value;break}return t}s(Zr,"parseBigintDef");function qr(){return{type:"boolean"}}s(qr,"parseBooleanDef");function Dn(e,t){return j(e.type._def,t)}s(Dn,"parseBrandedDef");var zr=s((e,t)=>j(e.innerType._def,t),"parseCatchDef");function Mn(e,t,n){let r=n??t.dateStrategy;if(Array.isArray(r))return{anyOf:r.map((o,i)=>Mn(e,t,o))};switch(r){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return Br(e)}}s(Mn,"parseDateDef");var Br=s(e=>{let t={type:"integer",format:"unix-time"};for(let n of e.checks)switch(n.kind){case"min":t.minimum=n.value;break;case"max":t.maximum=n.value;break}return t},"integerDateParser");function Vr(e,t){return R(d({},j(e.innerType._def,t)),{default:e.defaultValue()})}s(Vr,"parseDefaultDef");function Hr(e,t){return t.effectStrategy==="input"?j(e.schema._def,t):J()}s(Hr,"parseEffectsDef");function Jr(e){return{type:"string",enum:Array.from(e.values)}}s(Jr,"parseEnumDef");var Kr=s(e=>"type"in e&&e.type==="string"?!1:"allOf"in e,"isJsonSchema7AllOfType");function Wr(e,t){let n=[j(e.left._def,R(d({},t),{currentPath:[...t.currentPath,"allOf","0"]})),j(e.right._def,R(d({},t),{currentPath:[...t.currentPath,"allOf","1"]}))].filter(o=>!!o),r=[];return n.forEach(o=>{if(Kr(o))r.push(...o.allOf);else{let i=o;if("additionalProperties"in o&&o.additionalProperties===!1){let l=o,{additionalProperties:u}=l;i=fe(l,["additionalProperties"])}r.push(i)}}),r.length?{allOf:r}:void 0}s(Wr,"parseIntersectionDef");function Gr(e){let 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}}s(Gr,"parseLiteralDef");var Ze=void 0,G={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:s(()=>(Ze===void 0&&(Ze=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),Ze),"emoji"),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 Nn(e,t){let n={type:"string"};if(e.checks)for(let r of e.checks)switch(r.kind){case"min":n.minLength=typeof n.minLength=="number"?Math.max(n.minLength,r.value):r.value;break;case"max":n.maxLength=typeof n.maxLength=="number"?Math.min(n.maxLength,r.value):r.value;break;case"email":switch(t.emailStrategy){case"format:email":X(n,"email",r.message,t);break;case"format:idn-email":X(n,"idn-email",r.message,t);break;case"pattern:zod":z(n,G.email,r.message,t);break}break;case"url":X(n,"uri",r.message,t);break;case"uuid":X(n,"uuid",r.message,t);break;case"regex":z(n,r.regex,r.message,t);break;case"cuid":z(n,G.cuid,r.message,t);break;case"cuid2":z(n,G.cuid2,r.message,t);break;case"startsWith":z(n,RegExp(`^${qe(r.value,t)}`),r.message,t);break;case"endsWith":z(n,RegExp(`${qe(r.value,t)}$`),r.message,t);break;case"datetime":X(n,"date-time",r.message,t);break;case"date":X(n,"date",r.message,t);break;case"time":X(n,"time",r.message,t);break;case"duration":X(n,"duration",r.message,t);break;case"length":n.minLength=typeof n.minLength=="number"?Math.max(n.minLength,r.value):r.value,n.maxLength=typeof n.maxLength=="number"?Math.min(n.maxLength,r.value):r.value;break;case"includes":{z(n,RegExp(qe(r.value,t)),r.message,t);break}case"ip":{r.version!=="v6"&&X(n,"ipv4",r.message,t),r.version!=="v4"&&X(n,"ipv6",r.message,t);break}case"base64url":z(n,G.base64url,r.message,t);break;case"jwt":z(n,G.jwt,r.message,t);break;case"cidr":{r.version!=="v6"&&z(n,G.ipv4Cidr,r.message,t),r.version!=="v4"&&z(n,G.ipv6Cidr,r.message,t);break}case"emoji":z(n,G.emoji(),r.message,t);break;case"ulid":{z(n,G.ulid,r.message,t);break}case"base64":{switch(t.base64Strategy){case"format:binary":{X(n,"binary",r.message,t);break}case"contentEncoding:base64":{n.contentEncoding="base64";break}case"pattern:zod":{z(n,G.base64,r.message,t);break}}break}case"nanoid":z(n,G.nanoid,r.message,t);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return n}s(Nn,"parseStringDef");function qe(e,t){return t.patternStrategy==="escape"?Yr(e):e}s(qe,"escapeLiteralCheckValue");var Xr=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function Yr(e){let t="";for(let n=0;n<e.length;n++)Xr.has(e[n])||(t+="\\"),t+=e[n];return t}s(Yr,"escapeNonAlphaNumeric");function X(e,t,n,r){var o;e.format||(o=e.anyOf)!=null&&o.some(i=>i.format)?(e.anyOf||(e.anyOf=[]),e.format&&(e.anyOf.push({format:e.format}),delete e.format),e.anyOf.push(d({format:t},n&&r.errorMessages&&{errorMessage:{format:n}}))):e.format=t}s(X,"addFormat");function z(e,t,n,r){var o;e.pattern||(o=e.allOf)!=null&&o.some(i=>i.pattern)?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push({pattern:e.pattern}),delete e.pattern),e.allOf.push(d({pattern:Vt(t,r)},n&&r.errorMessages&&{errorMessage:{pattern:n}}))):e.pattern=Vt(t,r)}s(z,"addPattern");function Vt(e,t){var n;if(!t.applyRegexFlags||!e.flags)return e.source;let r={i:e.flags.includes("i"),m:e.flags.includes("m"),s:e.flags.includes("s")},o=r.i?e.source.toLowerCase():e.source,i="",l=!1,u=!1,c=!1;for(let p=0;p<o.length;p++){if(l){i+=o[p],l=!1;continue}if(r.i){if(u){if(o[p].match(/[a-z]/)){c?(i+=o[p],i+=`${o[p-2]}-${o[p]}`.toUpperCase(),c=!1):o[p+1]==="-"&&((n=o[p+2])!=null&&n.match(/[a-z]/))?(i+=o[p],c=!0):i+=`${o[p]}${o[p].toUpperCase()}`;continue}}else if(o[p].match(/[a-z]/)){i+=`[${o[p]}${o[p].toUpperCase()}]`;continue}}if(r.m){if(o[p]==="^"){i+=`(^|(?<=[\r
25
+ ]))`;continue}else if(o[p]==="$"){i+=`($|(?=[\r
26
+ ]))`;continue}}if(r.s&&o[p]==="."){i+=u?`${o[p]}\r
27
+ `:`[${o[p]}\r
28
+ ]`;continue}i+=o[p],o[p]==="\\"?l=!0:u&&o[p]==="]"?u=!1:!u&&o[p]==="["&&(u=!0)}try{new RegExp(i)}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 i}s(Vt,"stringifyRegExpWithFlags");function Un(e,t){var n,r,o,i,l,u;let c={type:"object",additionalProperties:(n=j(e.valueType._def,R(d({},t),{currentPath:[...t.currentPath,"additionalProperties"]})))!=null?n:t.allowedAdditionalProperties};if(((r=e.keyType)==null?void 0:r._def.typeName)===x.ZodString&&((o=e.keyType._def.checks)!=null&&o.length)){let p=Nn(e.keyType._def,t),{type:y}=p,b=fe(p,["type"]);return R(d({},c),{propertyNames:b})}else{if(((i=e.keyType)==null?void 0:i._def.typeName)===x.ZodEnum)return R(d({},c),{propertyNames:{enum:e.keyType._def.values}});if(((l=e.keyType)==null?void 0:l._def.typeName)===x.ZodBranded&&e.keyType._def.type._def.typeName===x.ZodString&&((u=e.keyType._def.type._def.checks)!=null&&u.length)){let p=Dn(e.keyType._def,t),{type:y}=p,b=fe(p,["type"]);return R(d({},c),{propertyNames:b})}}return c}s(Un,"parseRecordDef");function Qr(e,t){if(t.mapStrategy==="record")return Un(e,t);let n=j(e.keyType._def,R(d({},t),{currentPath:[...t.currentPath,"items","items","0"]}))||J(),r=j(e.valueType._def,R(d({},t),{currentPath:[...t.currentPath,"items","items","1"]}))||J();return{type:"array",maxItems:125,items:{type:"array",items:[n,r],minItems:2,maxItems:2}}}s(Qr,"parseMapDef");function ea(e){let t=e.values,r=Object.keys(e.values).filter(i=>typeof t[t[i]]!="number").map(i=>t[i]),o=Array.from(new Set(r.map(i=>typeof i)));return{type:o.length===1?o[0]==="string"?"string":"number":["string","number"],enum:r}}s(ea,"parseNativeEnumDef");function ta(){return{not:J()}}s(ta,"parseNeverDef");function na(){return{type:"null"}}s(na,"parseNullDef");var He={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function ra(e,t){let n=e.options instanceof Map?Array.from(e.options.values()):e.options;if(n.every(r=>r._def.typeName in He&&(!r._def.checks||!r._def.checks.length))){let r=n.reduce((o,i)=>{let l=He[i._def.typeName];return l&&!o.includes(l)?[...o,l]:o},[]);return{type:r.length>1?r:r[0]}}else if(n.every(r=>r._def.typeName==="ZodLiteral"&&!r.description)){let r=n.reduce((o,i)=>{let l=typeof i._def.value;switch(l){case"string":case"number":case"boolean":return[...o,l];case"bigint":return[...o,"integer"];case"object":if(i._def.value===null)return[...o,"null"];default:return o}},[]);if(r.length===n.length){let o=r.filter((i,l,u)=>u.indexOf(i)===l);return{type:o.length>1?o:o[0],enum:n.reduce((i,l)=>i.includes(l._def.value)?i:[...i,l._def.value],[])}}}else if(n.every(r=>r._def.typeName==="ZodEnum"))return{type:"string",enum:n.reduce((r,o)=>[...r,...o._def.values.filter(i=>!r.includes(i))],[])};return aa(e,t)}s(ra,"parseUnionDef");var aa=s((e,t)=>{let n=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((r,o)=>j(r._def,R(d({},t),{currentPath:[...t.currentPath,"anyOf",`${o}`]}))).filter(r=>!!r&&(!t.strictUnions||typeof r=="object"&&Object.keys(r).length>0));return n.length?{anyOf:n}:void 0},"asAnyOf");function oa(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return{type:[He[e.innerType._def.typeName],"null"]};let n=j(e.innerType._def,R(d({},t),{currentPath:[...t.currentPath,"anyOf","0"]}));return n&&{anyOf:[n,{type:"null"}]}}s(oa,"parseNullableDef");function sa(e){let t={type:"number"};if(!e.checks)return t;for(let n of e.checks)switch(n.kind){case"int":t.type="integer";break;case"min":n.inclusive?t.minimum=n.value:t.exclusiveMinimum=n.value;break;case"max":n.inclusive?t.maximum=n.value:t.exclusiveMaximum=n.value;break;case"multipleOf":t.multipleOf=n.value;break}return t}s(sa,"parseNumberDef");function ia(e,t){let n={type:"object",properties:{}},r=[],o=e.shape();for(let l in o){let u=o[l];if(u===void 0||u._def===void 0)continue;let c=ua(u),p=j(u._def,R(d({},t),{currentPath:[...t.currentPath,"properties",l],propertyPath:[...t.currentPath,"properties",l]}));p!==void 0&&(n.properties[l]=p,c||r.push(l))}r.length&&(n.required=r);let i=la(e,t);return i!==void 0&&(n.additionalProperties=i),n}s(ia,"parseObjectDef");function la(e,t){if(e.catchall._def.typeName!=="ZodNever")return j(e.catchall._def,R(d({},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}}s(la,"decideAdditionalProperties");function ua(e){try{return e.isOptional()}catch{return!0}}s(ua,"safeIsOptional");var ca=s((e,t)=>{var n;if(t.currentPath.toString()===((n=t.propertyPath)==null?void 0:n.toString()))return j(e.innerType._def,t);let r=j(e.innerType._def,R(d({},t),{currentPath:[...t.currentPath,"anyOf","1"]}));return r?{anyOf:[{not:J()},r]}:J()},"parseOptionalDef"),da=s((e,t)=>{if(t.pipeStrategy==="input")return j(e.in._def,t);if(t.pipeStrategy==="output")return j(e.out._def,t);let n=j(e.in._def,R(d({},t),{currentPath:[...t.currentPath,"allOf","0"]})),r=j(e.out._def,R(d({},t),{currentPath:[...t.currentPath,"allOf",n?"1":"0"]}));return{allOf:[n,r].filter(o=>o!==void 0)}},"parsePipelineDef");function pa(e,t){return j(e.type._def,t)}s(pa,"parsePromiseDef");function ma(e,t){let r={type:"array",uniqueItems:!0,items:j(e.valueType._def,R(d({},t),{currentPath:[...t.currentPath,"items"]}))};return e.minSize&&(r.minItems=e.minSize.value),e.maxSize&&(r.maxItems=e.maxSize.value),r}s(ma,"parseSetDef");function fa(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((n,r)=>j(n._def,R(d({},t),{currentPath:[...t.currentPath,"items",`${r}`]}))).reduce((n,r)=>r===void 0?n:[...n,r],[]),additionalItems:j(e.rest._def,R(d({},t),{currentPath:[...t.currentPath,"additionalItems"]}))}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((n,r)=>j(n._def,R(d({},t),{currentPath:[...t.currentPath,"items",`${r}`]}))).reduce((n,r)=>r===void 0?n:[...n,r],[])}}s(fa,"parseTupleDef");function ga(){return{not:J()}}s(ga,"parseUndefinedDef");function ha(){return J()}s(ha,"parseUnknownDef");var va=s((e,t)=>j(e.innerType._def,t),"parseReadonlyDef"),ya=s((e,t,n)=>{switch(t){case x.ZodString:return Nn(e,n);case x.ZodNumber:return sa(e);case x.ZodObject:return ia(e,n);case x.ZodBigInt:return Zr(e);case x.ZodBoolean:return qr();case x.ZodDate:return Mn(e,n);case x.ZodUndefined:return ga();case x.ZodNull:return na();case x.ZodArray:return Fr(e,n);case x.ZodUnion:case x.ZodDiscriminatedUnion:return ra(e,n);case x.ZodIntersection:return Wr(e,n);case x.ZodTuple:return fa(e,n);case x.ZodRecord:return Un(e,n);case x.ZodLiteral:return Gr(e);case x.ZodEnum:return Jr(e);case x.ZodNativeEnum:return ea(e);case x.ZodNullable:return oa(e,n);case x.ZodOptional:return ca(e,n);case x.ZodMap:return Qr(e,n);case x.ZodSet:return ma(e,n);case x.ZodLazy:return()=>e.getter()._def;case x.ZodPromise:return pa(e,n);case x.ZodNaN:case x.ZodNever:return ta();case x.ZodEffects:return Hr(e,n);case x.ZodAny:return J();case x.ZodUnknown:return ha();case x.ZodDefault:return Vr(e,n);case x.ZodBranded:return Dn(e,n);case x.ZodReadonly:return va(e,n);case x.ZodCatch:return zr(e,n);case x.ZodPipeline:return da(e,n);case x.ZodFunction:case x.ZodVoid:case x.ZodSymbol:return;default:return(r=>{})(t)}},"selectParser"),_a=s((e,t)=>{let n=0;for(;n<e.length&&n<t.length&&e[n]===t[n];n++);return[(e.length-n).toString(),...t.slice(n)].join("/")},"getRelativePath");function j(e,t,n=!1){var r;let o=t.seen.get(e);if(t.override){let c=(r=t.override)==null?void 0:r.call(t,e,t,o,n);if(c!==Ur)return c}if(o&&!n){let c=ba(o,t);if(c!==void 0)return c}let i={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,i);let l=ya(e,e.typeName,t),u=typeof l=="function"?j(l(),t):l;if(u&&ka(e,t,u),t.postProcess){let c=t.postProcess(u,e,t);return i.jsonSchema=u,c}return i.jsonSchema=u,u}s(j,"parseDef");var ba=s((e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:_a(t.currentPath,e.path)};case"none":case"seen":return e.path.length<t.currentPath.length&&e.path.every((n,r)=>t.currentPath[r]===n)?(console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),J()):t.$refStrategy==="seen"?J():void 0}},"get$ref"),ka=s((e,t,n)=>(e.description&&(n.description=e.description),n),"addMeta"),wa=s(e=>{let t=Lr(e),n=t.name!==void 0?[...t.basePath,t.definitionPath,t.name]:t.basePath;return R(d({},t),{currentPath:n,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([r,o])=>[o._def,{def:o._def,path:[...t.basePath,t.definitionPath,r],jsonSchema:void 0}]))})},"getRefs"),Ta=s((e,t)=>{var n;let r=wa(t),o=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((p,[y,b])=>{var h;return R(d({},p),{[y]:(h=j(b._def,R(d({},r),{currentPath:[...r.basePath,r.definitionPath,y]}),!0))!=null?h:J()})},{}):void 0,i=typeof t=="string"?t:t?.nameStrategy==="title"?void 0:t?.name,l=(n=j(e._def,i===void 0?r:R(d({},r),{currentPath:[...r.basePath,r.definitionPath,i]}),!1))!=null?n:J(),u=typeof t=="object"&&t.name!==void 0&&t.nameStrategy==="title"?t.name:void 0;u!==void 0&&(l.title=u);let c=i===void 0?o?R(d({},l),{[r.definitionPath]:o}):l:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,i].join("/"),[r.definitionPath]:R(d({},o),{[i]:l})};return c.$schema="http://json-schema.org/draft-07/schema#",c},"zod3ToJsonSchema"),Je=Symbol.for("vercel.ai.schema");function De(e,{validate:t}={}){return{[Je]:!0,_type:void 0,get jsonSchema(){return typeof e=="function"&&(e=e()),e},validate:t}}s(De,"jsonSchema");function Oa(e){return typeof e=="object"&&e!==null&&Je in e&&e[Je]===!0&&"jsonSchema"in e&&"validate"in e}s(Oa,"isSchema");function xa(e){return e==null?De({properties:{},additionalProperties:!1}):Oa(e)?e:"~standard"in e?e["~standard"].vendor==="zod"?Pa(e):Ia(e):e()}s(xa,"asSchema");function Ia(e){return De(()=>Qe(e["~standard"].jsonSchema.input({target:"draft-07"})),{validate:s(async t=>{let n=await e["~standard"].validate(t);return"value"in n?{success:!0,value:n.value}:{success:!1,error:new ye({value:t,cause:n.issues})}},"validate")})}s(Ia,"standardSchema");function Sa(e,t){var n;let r=(n=t?.useReferences)!=null?n:!1;return De(()=>Ta(e,{$refStrategy:r?"root":"none"}),{validate:s(async o=>{let i=await e.safeParseAsync(o);return i.success?{success:!0,value:i.data}:{success:!1,error:i.error}},"validate")})}s(Sa,"zod3Schema");function Aa(e,t){var n;let r=(n=t?.useReferences)!=null?n:!1;return De(()=>Qe(it(e,{target:"draft-7",io:"input",reused:r?"ref":"inline"})),{validate:s(async o=>{let i=await lt(e,o);return i.success?{success:!0,value:i.data}:{success:!1,error:i.error}},"validate")})}s(Aa,"zod4Schema");function Ra(e){return"_zod"in e}s(Ra,"isZod4Schema");function Pa(e,t){return Ra(e)?Aa(e,t):Sa(e,t)}s(Pa,"zodSchema");async function Ea({value:e,schema:t,context:n}){let r=await Ln({value:e,schema:t,context:n});if(!r.success)throw ye.wrap({value:e,cause:r.error,context:n});return r.value}s(Ea,"validateTypes");async function Ln({value:e,schema:t,context:n}){let r=xa(t);try{if(r.validate==null)return{success:!0,value:e,rawValue:e};let o=await r.validate(e);return o.success?{success:!0,value:o.value,rawValue:e}:{success:!1,error:ye.wrap({value:e,cause:o.error,context:n}),rawValue:e}}catch(o){return{success:!1,error:ye.wrap({value:e,cause:o,context:n}),rawValue:e}}}s(Ln,"safeValidateTypes");async function ja({text:e,schema:t}){try{let n=Ye(e);return t==null?n:Ea({value:n,schema:t})}catch(n){throw je.isInstance(n)||ye.isInstance(n)?n:new je({text:e,cause:n})}}s(ja,"parseJSON");async function Fn({text:e,schema:t}){try{let n=Ye(e);return t==null?{success:!0,value:n,rawValue:n}:await Ln({value:n,schema:t})}catch(n){return{success:!1,error:je.isInstance(n)?n:new je({text:e,cause:n}),rawValue:void 0}}}s(Fn,"safeParseJSON");function ze(e){try{return Ye(e),!0}catch{return!1}}s(ze,"isParsableJson");function $a({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new Tr).pipeThrough(new TransformStream({async transform({data:n},r){n!=="[DONE]"&&r.enqueue(await Fn({text:n,schema:t}))}}))}s($a,"parseJsonEventStream");var Ca=s(()=>globalThis.fetch,"getOriginalFetch2"),ue=s(async({url:e,headers:t,body:n,failedResponseHandler:r,successfulResponseHandler:o,abortSignal:i,fetch:l})=>Da({url:e,headers:d({"Content-Type":"application/json"},t),body:{content:JSON.stringify(n),values:n},failedResponseHandler:r,successfulResponseHandler:o,abortSignal:i,fetch:l}),"postJsonToApi"),Da=s(async({url:e,headers:t={},body:n,successfulResponseHandler:r,failedResponseHandler:o,abortSignal:i,fetch:l=Ca()})=>{try{let u=await l(e,{method:"POST",headers:jn(t,`ai-sdk/provider-utils/${$n}`,En()),body:n.content,signal:i}),c=we(u);if(!u.ok){let p;try{p=await o({response:u,url:e,requestBodyValues:n.values})}catch(y){throw _e(y)||q.isInstance(y)?y:new q({message:"Failed to process error response",cause:y,statusCode:u.status,url:e,responseHeaders:c,requestBodyValues:n.values})}throw p.value}try{return await r({response:u,url:e,requestBodyValues:n.values})}catch(p){throw p instanceof Error&&(_e(p)||q.isInstance(p))?p:new q({message:"Failed to process successful response",cause:p,statusCode:u.status,url:e,responseHeaders:c,requestBodyValues:n.values})}}catch(u){throw Pn({error:u,url:e,requestBodyValues:n.values})}},"postToApi");function Ma({id:e,inputSchema:t}){return n=>{var r=n,{execute:o,outputSchema:i,needsApproval:l,toModelOutput:u,onInputStart:c,onInputDelta:p,onInputAvailable:y}=r,b=fe(r,["execute","outputSchema","needsApproval","toModelOutput","onInputStart","onInputDelta","onInputAvailable"]);return{type:"provider",id:e,args:b,inputSchema:t,outputSchema:i,execute:o,needsApproval:l,toModelOutput:u,onInputStart:c,onInputDelta:p,onInputAvailable:y}}}s(Ma,"createProviderToolFactory");var Na=s(({errorSchema:e,errorToMessage:t,isRetryable:n})=>async({response:r,url:o,requestBodyValues:i})=>{let l=await r.text(),u=we(r);if(l.trim()==="")return{responseHeaders:u,value:new q({message:r.statusText,url:o,requestBodyValues:i,statusCode:r.status,responseHeaders:u,responseBody:l,isRetryable:n?.(r)})};try{let c=await ja({text:l,schema:e});return{responseHeaders:u,value:new q({message:t(c),url:o,requestBodyValues:i,statusCode:r.status,responseHeaders:u,responseBody:l,data:c,isRetryable:n?.(r,c)})}}catch{return{responseHeaders:u,value:new q({message:r.statusText,url:o,requestBodyValues:i,statusCode:r.status,responseHeaders:u,responseBody:l,isRetryable:n?.(r)})}}},"createJsonErrorResponseHandler"),Zn=s(e=>async({response:t})=>{let n=we(t);if(t.body==null)throw new lr({});return{responseHeaders:n,value:$a({stream:t.body,schema:e})}},"createEventSourceResponseHandler"),ge=s(e=>async({response:t,url:n,requestBodyValues:r})=>{let o=await t.text(),i=await Fn({text:o,schema:e}),l=we(t);if(!i.success)throw new q({message:"Invalid JSON response",cause:i.error,statusCode:t.status,responseHeaders:l,responseBody:o,url:n,requestBodyValues:r});return{responseHeaders:l,value:i.value,rawValue:i.rawValue}},"createJsonResponseHandler");function qn(e){return e?.replace(/\/$/,"")}s(qn,"withoutTrailingSlash");function Be(e){return e!=null}s(Be,"isDefinedOrNotNull");var zn=(e=>(e.Unknown="unknown",e.OpenAIResponsesV1="openai-responses-v1",e.AzureOpenAIResponsesV1="azure-openai-responses-v1",e.XAIResponsesV1="xai-responses-v1",e.AnthropicClaudeV1="anthropic-claude-v1",e.GoogleGeminiV1="google-gemini-v1",e))(zn||{}),Ua="anthropic-claude-v1",et=a.object({id:a.string().nullish(),format:a.enum(zn).nullish(),index:a.number().optional()}).loose(),La=a.object({type:a.literal("reasoning.summary"),summary:a.string()}).extend(et.shape),Fa=a.object({type:a.literal("reasoning.encrypted"),data:a.string()}).extend(et.shape),Za=a.object({type:a.literal("reasoning.text"),text:a.string().nullish(),signature:a.string().nullish()}).extend(et.shape),Bn=a.union([La,Fa,Za]),Ae=a.union([Bn,a.unknown().transform(()=>null)]),Me=a.array(Ae).transform(e=>e.filter(t=>!!t)),qo=a.union([a.object({delta:a.object({reasoning_details:a.array(Ae)})}).transform(e=>e.delta.reasoning_details.filter(Be)),a.object({message:a.object({reasoning_details:a.array(Ae)})}).transform(e=>e.message.reasoning_details.filter(Be)),a.object({text:a.string(),reasoning_details:a.array(Ae)}).transform(e=>e.reasoning_details.filter(Be))]),Ne=a.object({error:a.object({code:a.union([a.string(),a.number()]).nullable().optional().default(null),message:a.string(),type:a.string().nullable().optional().default(null),param:a.any().nullable().optional().default(null)}).passthrough()}).passthrough();function qa(e){let n=e.error.metadata;if(!n)return e.error.message;let r=[];typeof n.provider_name=="string"&&n.provider_name&&r.push(`[${n.provider_name}]`);let o=n.raw,i=Ke(o);return i&&i!==e.error.message?r.push(i):r.push(e.error.message),r.join(" ")}s(qa,"extractErrorMessage");function Ke(e){if(typeof e=="string")try{let n=JSON.parse(e);return typeof n=="object"&&n!==null?Ke(n):e}catch{return e}if(typeof e!="object"||e===null)return;let t=e;for(let n of["message","error","detail","details","msg"]){let r=t[n];if(typeof r=="string"&&r.length>0)return r;if(typeof r=="object"&&r!==null){let o=Ke(r);if(o)return o}}}s(Ke,"extractRawMessage");var oe=Na({errorSchema:Ne,errorToMessage:qa}),Vn=a.object({type:a.literal("file"),file:a.object({hash:a.string(),name:a.string(),content:a.array(a.object({type:a.string(),text:a.string().optional()}).catchall(a.any())).optional()}).catchall(a.any())}).catchall(a.any()),tt=a.object({provider:a.string(),reasoning_details:a.array(Bn).optional(),annotations:a.array(Vn).optional(),usage:a.object({promptTokens:a.number(),promptTokensDetails:a.object({cachedTokens:a.number()}).catchall(a.any()).optional(),completionTokens:a.number(),completionTokensDetails:a.object({reasoningTokens:a.number()}).catchall(a.any()).optional(),totalTokens:a.number(),cost:a.number().optional(),costDetails:a.object({upstreamInferenceCost:a.number()}).catchall(a.any()).optional()}).catchall(a.any())}).catchall(a.any()),We=a.object({openrouter:a.object({reasoning_details:Me.optional(),annotations:a.array(Vn).optional()}).optional()}).optional();function $e(e){var t,n,r,o,i,l,u,c;let p=(t=e.prompt_tokens)!=null?t:0,y=(n=e.completion_tokens)!=null?n:0,b=(o=(r=e.prompt_tokens_details)==null?void 0:r.cached_tokens)!=null?o:0,h=(l=(i=e.prompt_tokens_details)==null?void 0:i.cache_write_tokens)!=null?l:void 0,_=(c=(u=e.completion_tokens_details)==null?void 0:u.reasoning_tokens)!=null?c:0;return{inputTokens:{total:p,noCache:p-b,cacheRead:b,cacheWrite:h},outputTokens:{total:y,text:y-_,reasoning:_},raw:e}}s($e,"computeTokenUsage");function Hn(){return{inputTokens:{total:0,noCache:void 0,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:0,text:void 0,reasoning:void 0},raw:void 0}}s(Hn,"emptyUsage");function za(e){switch(e){case"stop":return"stop";case"length":return"length";case"content_filter":return"content-filter";case"function_call":case"tool_calls":return"tool-calls";default:return"other"}}s(za,"mapToUnified");function Ce(e){return{unified:za(e),raw:e??void 0}}s(Ce,"mapOpenRouterFinishReason");function K(e,t){return{unified:e,raw:t}}s(K,"createFinishReason");function Jn(e,t){let n=e.getReader();return new ReadableStream({async pull(r){try{let{done:o,value:i}=await n.read();o?r.close():r.enqueue(i)}catch(o){t(o),n.cancel().catch(()=>{}),r.close()}},cancel(r){n.cancel(r)}})}s(Jn,"withStreamErrorHandling");function Ba(e){return JSON.stringify(Ge(e))}s(Ba,"deterministicStringify");function Ge(e){if(e==null)return e;if(Array.isArray(e))return e.map(Ge);if(typeof e=="object"){let t={},n=Object.entries(e);n.sort(([r],[o])=>r.localeCompare(o));for(let[r,o]of n)t[r]=Ge(o);return t}return e}s(Ge,"sortKeys");var Re,Va=class{static{s(this,"ReasoningDetailsDuplicateTracker")}constructor(){ar(this,Re,new Set)}upsert(e){let t=this.getCanonicalKey(e);return t===null||ct(this,Re).has(t)?!1:(ct(this,Re).add(t),!0)}getCanonicalKey(e){switch(e.type){case"reasoning.summary":return e.summary;case"reasoning.encrypted":return e.id?e.id:e.data;case"reasoning.text":return e.text?e.text:e.signature?e.signature:null;default:return null}}};Re=new WeakMap;var Ha=["wav","mp3","aiff","aac","ogg","flac","m4a","pcm16","pcm24"];function nt({url:e,protocols:t}){try{let n=new URL(e);return t.has(n.protocol)}catch{return!1}}s(nt,"isUrl");function be({data:e,mediaType:t,defaultMediaType:n}){if(e instanceof Uint8Array){let o=Ir(e);return`data:${t??n};base64,${o}`}let r=e.toString();return nt({url:r,protocols:new Set(["http:","https:"])})||r.startsWith("data:")?r:`data:${t??n};base64,${r}`}s(be,"buildFileDataUrl");function Pe({part:e,defaultMediaType:t}){let n=e.data instanceof URL?e.data.toString():e.data;return be({data:n,mediaType:e.mediaType,defaultMediaType:t})}s(Pe,"getFileUrl");function Ht(e,t){var n;let r=e.match(/^data:([^;]+)/);return r&&(n=r[1])!=null?n:t}s(Ht,"getMediaType");function ke(e){let t=e.match(/^data:[^;]*;base64,(.+)$/);return t?t[1]:e}s(ke,"getBase64FromDataUrl");var Kn={mpeg:"mp3",mp3:"mp3","x-wav":"wav",wave:"wav",wav:"wav",ogg:"ogg",vorbis:"ogg",aac:"aac","x-aac":"aac",m4a:"m4a","x-m4a":"m4a",mp4:"m4a",aiff:"aiff","x-aiff":"aiff",flac:"flac","x-flac":"flac",pcm16:"pcm16",pcm24:"pcm24"};function Ja(e){let t=Pe({part:e,defaultMediaType:"audio/mpeg"});if(nt({url:t,protocols:new Set(["http:","https:"])}))throw new Error(`Audio files cannot be provided as URLs.
29
+
30
+ OpenRouter requires audio to be base64-encoded. Please:
31
+ 1. Download the audio file locally
32
+ 2. Read it as a Buffer or Uint8Array
33
+ 3. Pass it as the data parameter
34
+
35
+ The AI SDK will automatically handle base64 encoding.
36
+
37
+ Learn more: https://openrouter.ai/docs/features/multimodal/audio`);let n=ke(t),r=e.mediaType||"audio/mpeg",o=r.replace("audio/",""),i=Kn[o];if(i===void 0){let l=Ha.join(", ");throw new Error(`Unsupported audio format: "${r}"
38
+
39
+ OpenRouter supports the following audio formats: ${l}
40
+
41
+ Learn more: https://openrouter.ai/docs/features/multimodal/audio`)}return{data:n,format:i}}s(Ja,"getInputAudioData");function ae(e){var t,n,r;let o=e?.anthropic,i=e?.openrouter;return(r=(n=(t=i?.cacheControl)!=null?t:i?.cache_control)!=null?n:o?.cacheControl)!=null?r:o?.cache_control}s(ae,"getCacheControl");function Ka(e){var t,n,r,o,i,l,u,c;let p=[],y=new Va;for(let{role:b,content:h,providerOptions:_}of e)switch(b){case"system":{let f=ae(_);p.push({role:"system",content:[d({type:"text",text:h},f&&{cache_control:f})]});break}case"user":{if(h.length===1&&((t=h[0])==null?void 0:t.type)==="text"){let v=(n=ae(_))!=null?n:ae(h[0].providerOptions),k=v?[{type:"text",text:h[0].text,cache_control:v}]:h[0].text;p.push({role:"user",content:k});break}let f=ae(_),m=-1;for(let v=h.length-1;v>=0;v--)if(((r=h[v])==null?void 0:r.type)==="text"){m=v;break}let g=h.map((v,k)=>{var E,T,w,F,P,M,U;let H=v.type==="text"&&k===m,D=ae(v.providerOptions),S=v.type==="text"?D??(H?f:void 0):D;switch(v.type){case"text":return d({type:"text",text:v.text},S&&{cache_control:S});case"file":{if((E=v.mediaType)!=null&&E.startsWith("image/")){let I=Pe({part:v,defaultMediaType:"image/jpeg"});return d({type:"image_url",image_url:{url:I}},S&&{cache_control:S})}if((T=v.mediaType)!=null&&T.startsWith("video/")){let I=Pe({part:v,defaultMediaType:"video/mp4"});return d({type:"video_url",video_url:{url:I}},S&&{cache_control:S})}if((w=v.mediaType)!=null&&w.startsWith("audio/"))return d({type:"input_audio",input_audio:Ja(v)},S&&{cache_control:S});let Y=String((U=(M=(P=(F=v.providerOptions)==null?void 0:F.openrouter)==null?void 0:P.filename)!=null?M:v.filename)!=null?U:""),C=Pe({part:v,defaultMediaType:"application/pdf"});return nt({url:C,protocols:new Set(["http:","https:"])})?{type:"file",file:{filename:Y,file_data:C}}:d({type:"file",file:{filename:Y,file_data:C}},S&&{cache_control:S})}default:return d({type:"text",text:""},S&&{cache_control:S})}});p.push({role:"user",content:g});break}case"assistant":{let f="",m="",g=[];for(let P of h)switch(P.type){case"text":{f+=P.text;break}case"tool-call":{g.push({id:P.toolCallId,type:"function",function:{name:P.toolName,arguments:Ba(P.input)}});break}case"reasoning":{m+=P.text;break}case"file":break;default:break}let v=We.safeParse(_),k=v.success?(i=(o=v.data)==null?void 0:o.openrouter)==null?void 0:i.reasoning_details:void 0,E=v.success?(u=(l=v.data)==null?void 0:l.openrouter)==null?void 0:u.annotations:void 0,T=k&&Array.isArray(k)?k:eo(h),w;if(T){let P=T.filter(U=>{var H;if(U.type!=="reasoning.text")return!0;let D=(H=U.format)!=null?H:Ua;return D!=="anthropic-claude-v1"&&D!=="google-gemini-v1"?!0:!!U.signature});if(P.length<T.length){let U=globalThis.AI_SDK_LOG_WARNINGS;U!==!1&&typeof U!="function"&&console.warn("[openrouter] Some reasoning_details entries were removed because they were missing signatures. See https://github.com/OpenRouterTeam/ai-sdk-provider/issues/423 and https://github.com/OpenRouterTeam/ai-sdk-provider/issues/418 for more details.")}let M=[];for(let U of P)y.upsert(U)&&M.push(U);w=M}let F=m&&w&&w.length>0?m:void 0;p.push({role:"assistant",content:f,tool_calls:g.length>0?g:void 0,reasoning:F,reasoning_details:w,annotations:E,cache_control:ae(_)});break}case"tool":{for(let f of h){if(f.type==="tool-approval-response")continue;let m=Wa(f);p.push({role:"tool",tool_call_id:f.toolCallId,content:m,name:f.toolName,cache_control:(c=ae(_))!=null?c:ae(f.providerOptions)})}break}default:break}return p}s(Ka,"convertToOpenRouterChatMessages");function Wa(e){var t;switch(e.output.type){case"text":case"error-text":return e.output.value;case"json":case"error-json":return JSON.stringify(e.output.value);case"content":return Ga(e.output.value);case"execution-denied":return(t=e.output.reason)!=null?t:"Tool execution denied"}}s(Wa,"getToolResultContent");function Ga(e){return e.map(t=>{var n,r,o,i;switch(t.type){case"text":return{type:"text",text:t.text};case"image-data":return{type:"image_url",image_url:{url:be({data:t.data,mediaType:t.mediaType,defaultMediaType:"image/jpeg"})}};case"image-url":return{type:"image_url",image_url:{url:t.url}};case"file-data":{let l=be({data:t.data,mediaType:t.mediaType,defaultMediaType:"application/octet-stream"});if((n=t.mediaType)!=null&&n.startsWith("image/"))return{type:"image_url",image_url:{url:l}};if((r=t.mediaType)!=null&&r.startsWith("video/"))return{type:"video_url",video_url:{url:l}};if((o=t.mediaType)!=null&&o.startsWith("audio/")){let u=t.mediaType.replace("audio/",""),c=Kn[u];if(c!==void 0)return{type:"input_audio",input_audio:{data:ke(l),format:c}}}return{type:"file",file:{filename:(i=t.filename)!=null?i:"",file_data:l}}}case"file-url":return Ya(t.url)?{type:"image_url",image_url:{url:t.url}}:{type:"file",file:{filename:Qa(t.url),file_data:t.url}};case"file-id":case"image-file-id":case"custom":return{type:"text",text:JSON.stringify(t)};default:return{type:"text",text:JSON.stringify(t)}}})}s(Ga,"mapToolResultContentParts");var Xa=new Set(["jpg","jpeg","png","gif","webp","svg","bmp","ico","tif","tiff","avif"]);function Ya(e){var t;try{let r=(t=new URL(e).pathname.split(".").pop())==null?void 0:t.toLowerCase();return r!==void 0&&Xa.has(r)}catch{return!1}}s(Ya,"looksLikeImageUrl");function Qa(e){try{let n=new URL(e).pathname.split("/").pop();return n?.includes(".")?n:""}catch{return""}}s(Qa,"filenameFromUrl");function eo(e){var t,n,r,o;for(let i of e)if(i.type==="tool-call"){let l=We.safeParse(i.providerOptions);if(l.success&&((n=(t=l.data)==null?void 0:t.openrouter)!=null&&n.reasoning_details)&&l.data.openrouter.reasoning_details.length>0)return l.data.openrouter.reasoning_details}for(let i of e)if(i.type==="reasoning"){let l=We.safeParse(i.providerOptions);if(l.success&&((o=(r=l.data)==null?void 0:r.openrouter)!=null&&o.reasoning_details)&&l.data.openrouter.reasoning_details.length>0)return l.data.openrouter.reasoning_details}}s(eo,"findFirstReasoningDetails");var Ho=a.union([a.literal("auto"),a.literal("none"),a.literal("required"),a.object({type:a.literal("function"),function:a.object({name:a.string()})})]);function to(e){switch(e.type){case"auto":case"none":case"required":return e.type;case"tool":return{type:"function",function:{name:e.toolName}};default:throw new sn({argument:"toolChoice",message:`Invalid tool choice type: ${JSON.stringify(e)}`})}}s(to,"getChatCompletionToolChoice");var no=a.object({type:a.literal("image_url"),image_url:a.object({url:a.string()}).passthrough()}).passthrough(),ro=a.union([no,a.unknown().transform(()=>null)]),Wn=a.array(ro).transform(e=>e.filter(t=>!!t)),Gn=a.object({id:a.string().optional(),model:a.string().optional(),provider:a.string().optional(),usage:a.object({prompt_tokens:a.number(),prompt_tokens_details:a.object({cached_tokens:a.number(),cache_write_tokens:a.number().nullish()}).passthrough().nullish(),completion_tokens:a.number(),completion_tokens_details:a.object({reasoning_tokens:a.number()}).passthrough().nullish(),total_tokens:a.number(),cost:a.number().optional(),cost_details:a.object({upstream_inference_cost:a.number().nullish()}).passthrough().nullish()}).passthrough().nullish()}).passthrough(),ao=a.union([Gn.extend({choices:a.array(a.object({message:a.object({role:a.literal("assistant"),content:a.string().nullable().optional(),reasoning:a.string().nullable().optional(),reasoning_details:Me.nullish(),images:Wn.nullish(),tool_calls:a.array(a.object({id:a.string().optional().nullable(),type:a.literal("function"),function:a.object({name:a.string(),arguments:a.string().optional()}).passthrough()}).passthrough()).optional(),annotations:a.array(a.union([a.object({type:a.literal("url_citation"),url_citation:a.object({url:a.string(),title:a.string().optional(),start_index:a.number().optional(),end_index:a.number().optional(),content:a.string().optional()}).passthrough()}).passthrough(),a.object({type:a.literal("file_annotation"),file_annotation:a.object({file_id:a.string(),quote:a.string().optional()}).passthrough()}).passthrough(),a.object({type:a.literal("file"),file:a.object({hash:a.string(),name:a.string(),content:a.array(a.object({type:a.string(),text:a.string().optional()}).passthrough()).optional()}).passthrough()}).passthrough()])).nullish()}).passthrough(),index:a.number().nullish(),logprobs:a.object({content:a.array(a.object({token:a.string(),logprob:a.number(),top_logprobs:a.array(a.object({token:a.string(),logprob:a.number()}).passthrough())}).passthrough()).nullable()}).passthrough().nullable().optional(),finish_reason:a.string().optional().nullable()}).passthrough())}),Ne.extend({user_id:a.string().optional()})]),oo=a.union([Gn.extend({choices:a.array(a.object({delta:a.object({role:a.enum(["assistant"]).optional(),content:a.string().nullish(),reasoning:a.string().nullish().optional(),reasoning_details:Me.nullish(),images:Wn.nullish(),tool_calls:a.array(a.object({index:a.number().nullish(),id:a.string().nullish(),type:a.literal("function").optional(),function:a.object({name:a.string().nullish(),arguments:a.string().nullish()}).passthrough()}).passthrough()).nullish(),annotations:a.array(a.union([a.object({type:a.literal("url_citation"),url_citation:a.object({url:a.string(),title:a.string().optional(),start_index:a.number().optional(),end_index:a.number().optional(),content:a.string().optional()}).passthrough()}).passthrough(),a.object({type:a.literal("file_annotation"),file_annotation:a.object({file_id:a.string(),quote:a.string().optional()}).passthrough()}).passthrough(),a.object({type:a.literal("file"),file:a.object({hash:a.string(),name:a.string(),content:a.array(a.object({type:a.string(),text:a.string().optional()}).passthrough()).optional()}).passthrough()}).passthrough()])).nullish()}).passthrough().nullish(),logprobs:a.object({content:a.array(a.object({token:a.string(),logprob:a.number(),top_logprobs:a.array(a.object({token:a.string(),logprob:a.number()}).passthrough())}).passthrough()).nullable()}).passthrough().nullish(),finish_reason:a.string().nullable().optional(),index:a.number().nullish()}).passthrough())}),Ne]),Xn=class{static{s(this,"OpenRouterChatLanguageModel")}constructor(e,t,n){this.specificationVersion="v3",this.provider="openrouter",this.defaultObjectGenerationMode="tool",this.supportsImageUrls=!0,this.supportedUrls={"image/*":[/^data:image\/[a-zA-Z]+;base64,/,/^https?:\/\/.+\.(jpg|jpeg|png|gif|webp)(?:[?#].*)?$/i],"application/*":[/^data:application\//,/^https?:\/\/.+$/]},this.modelId=e,this.settings=t,this.config=n}getArgs({prompt:e,maxOutputTokens:t,temperature:n,topP:r,frequencyPenalty:o,presencePenalty:i,seed:l,stopSequences:u,responseFormat:c,topK:p,tools:y,toolChoice:b}){var h,_,f,m;let g=d(d({model:this.modelId,models:this.settings.models,logit_bias:this.settings.logitBias,logprobs:this.settings.logprobs===!0||typeof this.settings.logprobs=="number"?!0:void 0,top_logprobs:typeof this.settings.logprobs=="number"?this.settings.logprobs:typeof this.settings.logprobs=="boolean"&&this.settings.logprobs?0:void 0,user:this.settings.user,parallel_tool_calls:this.settings.parallelToolCalls,max_tokens:t??this.settings.maxTokens,temperature:n??this.settings.temperature,top_p:r??this.settings.topP,frequency_penalty:o??this.settings.frequencyPenalty,presence_penalty:i??this.settings.presencePenalty,seed:l,stop:u,response_format:c?.type==="json"?c.schema!=null?{type:"json_schema",json_schema:d({schema:c.schema,strict:(_=(h=this.settings.structuredOutputs)==null?void 0:h.strict)!=null?_:!0,name:(f=c.name)!=null?f:"response"},c.description&&{description:c.description})}:{type:"json_object"}:void 0,top_k:p??this.settings.topK,messages:Ka(e),include_reasoning:this.settings.includeReasoning,reasoning:this.settings.reasoning,usage:this.settings.usage,plugins:this.settings.plugins,web_search_options:this.settings.web_search_options,provider:this.settings.provider,debug:this.settings.debug,cache_control:this.settings.cache_control},this.config.extraBody),this.settings.extraBody);if(y&&y.length>0){let v=[];for(let k of y)if(k.type==="function"){let E=(m=k.providerOptions)==null?void 0:m.openrouter,T=E?.eager_input_streaming;v.push(d({type:"function",function:{name:k.name,description:k.description,parameters:k.inputSchema}},T!=null&&{eager_input_streaming:T}))}else k.type==="provider"&&v.push(so(k));return R(d({},g),{tools:v,tool_choice:b?to(b):void 0})}return g}async doGenerate(e){var t,n,r,o,i,l,u,c,p,y,b,h,_,f,m,g,v,k,E,T,w;let M=(e.providerOptions||{}).openrouter||{},{cacheControl:U}=M,H=fe(M,["cacheControl"]),D=d(d(d({},this.getArgs(e)),H),U!=null&&!("cache_control"in H)?{cache_control:U}:{}),{value:S,responseHeaders:Y}=await ue({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:le(this.config.headers(),e.headers),body:D,failedResponseHandler:oe,successfulResponseHandler:ge(ao),abortSignal:e.abortSignal,fetch:this.config.fetch});if("error"in S){let A=S.error;throw new q({message:A.message,url:this.config.url({path:"/chat/completions",modelId:this.modelId}),requestBodyValues:D,statusCode:200,responseHeaders:Y,data:A})}let C=S,I=C.choices[0];if(!I)throw new Xe({message:"No choice in response"});let W=C.usage?$e(C.usage):Hn(),se=(t=I.message.reasoning_details)!=null?t:[],Te=se.length>0?se.map(A=>{switch(A.type){case"reasoning.text":{if(A.text)return{type:"reasoning",text:A.text,providerMetadata:{openrouter:{reasoning_details:[A]}}};break}case"reasoning.summary":{if(A.summary)return{type:"reasoning",text:A.summary,providerMetadata:{openrouter:{reasoning_details:[A]}}};break}case"reasoning.encrypted":break;default:}return null}).filter(A=>A!==null):I.message.reasoning?[{type:"reasoning",text:I.message.reasoning}]:[],ee=[];if(ee.push(...Te),I.message.content&&ee.push({type:"text",text:I.message.content}),I.message.tool_calls){let A=!1,ve=new Set;for(let pe of I.message.tool_calls){let ne=pe.id;(!ne||ve.has(ne))&&(ne=Q()),ve.add(ne),ee.push({type:"tool-call",toolCallId:ne,toolName:pe.function.name,input:(n=pe.function.arguments)!=null?n:"{}",providerMetadata:A?void 0:{openrouter:{reasoning_details:se}}}),A=!0}}if(I.message.images)for(let A of I.message.images)ee.push({type:"file",mediaType:Ht(A.image_url.url,"image/jpeg"),data:ke(A.image_url.url)});if(I.message.annotations)for(let A of I.message.annotations)A.type==="url_citation"&&ee.push({type:"source",sourceType:"url",id:A.url_citation.url,url:A.url_citation.url,title:(r=A.url_citation.title)!=null?r:"",providerMetadata:{openrouter:{content:(o=A.url_citation.content)!=null?o:"",startIndex:(i=A.url_citation.start_index)!=null?i:0,endIndex:(l=A.url_citation.end_index)!=null?l:0}}});let ce=(u=I.message.annotations)==null?void 0:u.filter(A=>A.type==="file"),he=I.message.tool_calls&&I.message.tool_calls.length>0,Oe=se.some(A=>A.type==="reasoning.encrypted"&&A.data),de=he&&Oe&&I.finish_reason==="stop"?K("tool-calls",(c=I.finish_reason)!=null?c:void 0):Ce(I.finish_reason),xe=he&&de.unified==="other"?K("tool-calls",de.raw):de;return{content:ee,finishReason:xe,usage:W,warnings:[],providerMetadata:{openrouter:tt.parse({provider:(p=C.provider)!=null?p:"",reasoning_details:(y=I.message.reasoning_details)!=null?y:[],annotations:ce&&ce.length>0?ce:void 0,usage:d(d(d(d({promptTokens:(b=W.inputTokens.total)!=null?b:0,completionTokens:(h=W.outputTokens.total)!=null?h:0,totalTokens:((_=W.inputTokens.total)!=null?_:0)+((f=W.outputTokens.total)!=null?f:0)},((m=C.usage)==null?void 0:m.cost)!=null?{cost:C.usage.cost}:{}),((v=(g=C.usage)==null?void 0:g.prompt_tokens_details)==null?void 0:v.cached_tokens)!=null?{promptTokensDetails:{cachedTokens:C.usage.prompt_tokens_details.cached_tokens}}:{}),((E=(k=C.usage)==null?void 0:k.completion_tokens_details)==null?void 0:E.reasoning_tokens)!=null?{completionTokensDetails:{reasoningTokens:C.usage.completion_tokens_details.reasoning_tokens}}:{}),((w=(T=C.usage)==null?void 0:T.cost_details)==null?void 0:w.upstream_inference_cost)!=null?{costDetails:{upstreamInferenceCost:C.usage.cost_details.upstream_inference_cost}}:{})})},request:{body:D},response:{id:C.id,modelId:C.model,headers:Y,body:C}}}async doStream(e){var t;let o=(e.providerOptions||{}).openrouter||{},{cacheControl:i}=o,l=fe(o,["cacheControl"]),u=d(d(d({},this.getArgs(e)),l),i!=null&&!("cache_control"in l)?{cache_control:i}:{}),{value:c,responseHeaders:p}=await ue({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:le(this.config.headers(),e.headers),body:R(d({},u),{stream:!0,stream_options:this.config.compatibility==="strict"?d({include_usage:!0},(t=this.settings.usage)!=null&&t.include?{include_usage:!0}:{}):void 0}),failedResponseHandler:oe,successfulResponseHandler:Zn(oo),abortSignal:e.abortSignal,fetch:this.config.fetch}),y,b=Jn(c,D=>{y=D}),h=[],_=new Set,f=K("other"),m={inputTokens:{total:void 0,noCache:void 0,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:void 0,text:void 0,reasoning:void 0},raw:void 0},g={},v,k=[],E=!1,T=[],w=!1,F=!1,P,M,U,H;return{stream:b.pipeThrough(new TransformStream({transform(D,S){var Y,C,I,W,se,Te,ee,ce,he,Oe,Ue,de,xe,A,ve,pe,ne,rt,at,ot,st;if(e.includeRawChunks&&S.enqueue({type:"raw",rawValue:D.rawValue}),!D.success){f=K("error"),S.enqueue({type:"error",error:D.error});return}let L=D.value;if("error"in L){f=K("error"),S.enqueue({type:"error",error:L.error});return}if(L.provider&&(H=L.provider),L.id&&(U=L.id,S.enqueue({type:"response-metadata",id:L.id})),L.model&&S.enqueue({type:"response-metadata",modelId:L.model}),L.usage!=null){let O=$e(L.usage);Object.assign(m.inputTokens,O.inputTokens),Object.assign(m.outputTokens,O.outputTokens),v=L.usage;let N=(Y=L.usage.prompt_tokens)!=null?Y:0,Z=(C=L.usage.completion_tokens)!=null?C:0;g.promptTokens=N,L.usage.prompt_tokens_details&&(g.promptTokensDetails={cachedTokens:(I=L.usage.prompt_tokens_details.cached_tokens)!=null?I:0}),g.completionTokens=Z,L.usage.completion_tokens_details&&(g.completionTokensDetails={reasoningTokens:(W=L.usage.completion_tokens_details.reasoning_tokens)!=null?W:0}),L.usage.cost!=null&&(g.cost=L.usage.cost),g.totalTokens=L.usage.total_tokens;let re=(se=L.usage.cost_details)==null?void 0:se.upstream_inference_cost;re!=null&&(g.costDetails={upstreamInferenceCost:re})}let me=L.choices[0];if(me?.finish_reason!=null&&(f=Ce(me.finish_reason)),me?.delta==null)return;let B=me.delta,Le=s(O=>{F||(M=Q(),S.enqueue({type:"reasoning-start",id:M}),F=!0),S.enqueue({type:"reasoning-delta",delta:O,id:M||Q()})},"emitReasoningChunk");if(B.reasoning_details&&B.reasoning_details.length>0){for(let O of B.reasoning_details)if(O.type==="reasoning.text"){let N=k[k.length-1];N?.type==="reasoning.text"?(N.text=(N.text||"")+(O.text||""),N.signature=N.signature||O.signature,N.format=N.format||O.format):k.push(d({},O))}else k.push(O);if(!w)for(let O of B.reasoning_details)switch(O.type){case"reasoning.text":{Le(O.text||"");break}case"reasoning.encrypted":break;case"reasoning.summary":{O.summary&&Le(O.summary);break}default:break}}else B.reasoning&&!w&&Le(B.reasoning);if(B.content&&(F&&!w&&(S.enqueue({type:"reasoning-end",id:M||Q(),providerMetadata:{openrouter:{reasoning_details:k}}}),F=!1),w||(P=U||Q(),S.enqueue({type:"text-start",id:P}),w=!0),S.enqueue({type:"text-delta",delta:B.content,id:P||Q()})),B.annotations){for(let O of B.annotations)if(O.type==="url_citation")S.enqueue({type:"source",sourceType:"url",id:O.url_citation.url,url:O.url_citation.url,title:(Te=O.url_citation.title)!=null?Te:"",providerMetadata:{openrouter:{content:(ee=O.url_citation.content)!=null?ee:"",startIndex:(ce=O.url_citation.start_index)!=null?ce:0,endIndex:(he=O.url_citation.end_index)!=null?he:0}}});else if(O.type==="file"){let N=O.file;N&&typeof N=="object"&&"hash"in N&&"name"in N&&T.push(O)}}if(B.tool_calls!=null)for(let O of B.tool_calls){let N=(Oe=O.index)!=null?Oe:h.length-1;if(h[N]==null){if(O.type!=="function")throw new Ie({data:O,message:"Expected 'function' type."});if(((Ue=O.function)==null?void 0:Ue.name)==null)throw new Ie({data:O,message:"Expected 'function.name' to be a string."});let re=(de=O.id)!=null?de:"";(!re||_.has(re))&&(re=Q()),_.add(re),h[N]={id:re,type:"function",function:{name:O.function.name,arguments:(xe=O.function.arguments)!=null?xe:""},inputStarted:!1,sent:!1};let V=h[N];if(V==null)throw new Ie({data:{index:N,toolCallsLength:h.length},message:`Tool call at index ${N} is missing after creation.`});((A=V.function)==null?void 0:A.name)!=null&&((ve=V.function)==null?void 0:ve.arguments)!=null&&ze(V.function.arguments)&&(V.inputStarted=!0,S.enqueue({type:"tool-input-start",id:V.id,toolName:V.function.name}),S.enqueue({type:"tool-input-delta",id:V.id,delta:V.function.arguments}),S.enqueue({type:"tool-input-end",id:V.id}),S.enqueue({type:"tool-call",toolCallId:V.id,toolName:V.function.name,input:V.function.arguments,providerMetadata:E?void 0:{openrouter:{reasoning_details:k}}}),E=!0,V.sent=!0);continue}let Z=h[N];if(Z==null)throw new Ie({data:{index:N,toolCallsLength:h.length,toolCallDelta:O},message:`Tool call at index ${N} is missing during merge.`});Z.inputStarted||(Z.inputStarted=!0,S.enqueue({type:"tool-input-start",id:Z.id,toolName:Z.function.name}),Z.function.arguments&&S.enqueue({type:"tool-input-delta",id:Z.id,delta:Z.function.arguments})),((pe=O.function)==null?void 0:pe.arguments)!=null&&(Z.function.arguments+=(rt=(ne=O.function)==null?void 0:ne.arguments)!=null?rt:""),S.enqueue({type:"tool-input-delta",id:Z.id,delta:(at=O.function.arguments)!=null?at:""}),!Z.sent&&((ot=Z.function)==null?void 0:ot.name)!=null&&((st=Z.function)==null?void 0:st.arguments)!=null&&ze(Z.function.arguments)&&(S.enqueue({type:"tool-input-end",id:Z.id}),S.enqueue({type:"tool-call",toolCallId:Z.id,toolName:Z.function.name,input:Z.function.arguments,providerMetadata:E?void 0:{openrouter:{reasoning_details:k}}}),E=!0,Z.sent=!0)}if(B.images!=null)for(let O of B.images)S.enqueue({type:"file",mediaType:Ht(O.image_url.url,"image/jpeg"),data:ke(O.image_url.url)})},flush(D){let S=h.length>0;y!=null&&(f=K("error"),D.enqueue({type:"error",error:y}));let Y=k.some(I=>I.type==="reasoning.encrypted"&&I.data);if(S&&Y&&f.unified==="stop"&&(f=K("tool-calls",f.raw)),S&&f.unified==="other"&&(f=K("tool-calls",f.raw)),f.unified==="tool-calls"){for(let I of h)if(I&&!I.sent){let W=ze(I.function.arguments)?I.function.arguments:"{}";I.inputStarted||(D.enqueue({type:"tool-input-start",id:I.id,toolName:I.function.name}),D.enqueue({type:"tool-input-delta",id:I.id,delta:W})),D.enqueue({type:"tool-input-end",id:I.id}),D.enqueue({type:"tool-call",toolCallId:I.id,toolName:I.function.name,input:W,providerMetadata:E?void 0:{openrouter:{reasoning_details:k}}}),E=!0,I.sent=!0}}F&&D.enqueue({type:"reasoning-end",id:M||Q(),providerMetadata:{openrouter:{reasoning_details:k}}}),w&&D.enqueue({type:"text-end",id:P||Q()});let C={usage:g};H!==void 0&&(C.provider=H),C.reasoning_details=k,T.length>0&&(C.annotations=T),m.inputTokens.total===void 0&&g.promptTokens!==void 0&&(m.inputTokens.total=g.promptTokens),m.outputTokens.total===void 0&&g.completionTokens!==void 0&&(m.outputTokens.total=g.completionTokens),m.raw=v,D.enqueue({type:"finish",finishReason:f,usage:m,providerMetadata:{openrouter:C}})}})),warnings:[],request:{body:u},response:{headers:p}}}};function so(e){let[t,n]=e.id.split("."),r=`${t}:${n}`,o={};for(let[i,l]of Object.entries(e.args))l!==void 0&&(o[io(i)]=l);return d({type:r},o)}s(so,"mapProviderTool");function io(e){return e.replace(/[A-Z]/g,t=>`_${t.toLowerCase()}`)}s(io,"camelToSnake");function lo({prompt:e,inputFormat:t,user:n="user",assistant:r="assistant"}){if(t==="prompt"&&e.length===1&&e[0]&&e[0].role==="user"&&e[0].content.length===1&&e[0].content[0]&&e[0].content[0].type==="text")return{prompt:e[0].content[0].text};let o="";e[0]&&e[0].role==="system"&&(o+=`${e[0].content}
42
+
43
+ `,e=e.slice(1));for(let{role:i,content:l}of e)switch(i){case"system":throw new dr({message:`Unexpected system message in prompt: ${l}`,prompt:e});case"user":{let u=l.map(c=>{switch(c.type){case"text":return c.text;case"file":throw new te({functionality:"file attachments"});default:return""}}).join("");o+=`${n}:
44
+ ${u}
45
+
46
+ `;break}case"assistant":{let u=l.map(c=>{switch(c.type){case"text":return c.text;case"tool-call":throw new te({functionality:"tool-call messages"});case"tool-result":throw new te({functionality:"tool-result messages"});case"reasoning":throw new te({functionality:"reasoning messages"});case"file":throw new te({functionality:"file attachments"});default:return""}}).join("");o+=`${r}:
47
+ ${u}
48
+
49
+ `;break}case"tool":throw new te({functionality:"tool messages"});default:break}return o+=`${r}:
50
+ `,{prompt:o}}s(lo,"convertToOpenRouterCompletionPrompt");var Jt=a.union([a.object({id:a.string().optional(),model:a.string().optional(),provider:a.string().optional(),choices:a.array(a.object({text:a.string(),reasoning:a.string().nullish().optional(),reasoning_details:Me.nullish(),finish_reason:a.string().nullish(),index:a.number().nullish(),logprobs:a.object({tokens:a.array(a.string()),token_logprobs:a.array(a.number()),top_logprobs:a.array(a.record(a.string(),a.number())).nullable()}).passthrough().nullable().optional()}).passthrough()),usage:a.object({prompt_tokens:a.number(),prompt_tokens_details:a.object({cached_tokens:a.number(),cache_write_tokens:a.number().nullish()}).passthrough().nullish(),completion_tokens:a.number(),completion_tokens_details:a.object({reasoning_tokens:a.number()}).passthrough().nullish(),total_tokens:a.number(),cost:a.number().optional(),cost_details:a.object({upstream_inference_cost:a.number().nullish()}).passthrough().nullish()}).passthrough().nullish()}).passthrough(),Ne]),Yn=class{static{s(this,"OpenRouterCompletionLanguageModel")}constructor(e,t,n){this.specificationVersion="v3",this.provider="openrouter",this.supportsImageUrls=!0,this.supportedUrls={"image/*":[/^data:image\/[a-zA-Z]+;base64,/,/^https?:\/\/.+\.(jpg|jpeg|png|gif|webp)(?:[?#].*)?$/i],"text/*":[/^data:text\//,/^https?:\/\/.+$/],"application/*":[/^data:application\//,/^https?:\/\/.+$/]},this.defaultObjectGenerationMode=void 0,this.modelId=e,this.settings=t,this.config=n}getArgs({prompt:e,maxOutputTokens:t,temperature:n,topP:r,frequencyPenalty:o,presencePenalty:i,seed:l,responseFormat:u,topK:c,stopSequences:p,tools:y,toolChoice:b}){let{prompt:h}=lo({prompt:e,inputFormat:"prompt"});if(y?.length)throw new te({functionality:"tools"});if(b)throw new te({functionality:"toolChoice"});return d(d({model:this.modelId,models:this.settings.models,logit_bias:this.settings.logitBias,logprobs:typeof this.settings.logprobs=="number"?this.settings.logprobs:typeof this.settings.logprobs=="boolean"&&this.settings.logprobs?0:void 0,suffix:this.settings.suffix,user:this.settings.user,max_tokens:t??this.settings.maxTokens,temperature:n??this.settings.temperature,top_p:r??this.settings.topP,frequency_penalty:o??this.settings.frequencyPenalty,presence_penalty:i??this.settings.presencePenalty,seed:l,stop:p,response_format:u,top_k:c??this.settings.topK,prompt:h,include_reasoning:this.settings.includeReasoning,reasoning:this.settings.reasoning},this.config.extraBody),this.settings.extraBody)}async doGenerate(e){var t,n,r,o,i,l,u,c,p,y,b,h,_,f,m,g,v;let E=(e.providerOptions||{}).openrouter||{},T=d(d({},this.getArgs(e)),E),{value:w,responseHeaders:F}=await ue({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:le(this.config.headers(),e.headers),body:T,failedResponseHandler:oe,successfulResponseHandler:ge(Jt),abortSignal:e.abortSignal,fetch:this.config.fetch});if("error"in w){let M=w.error;throw new q({message:M.message,url:this.config.url({path:"/completions",modelId:this.modelId}),requestBodyValues:T,statusCode:200,responseHeaders:F,data:M})}let P=w.choices[0];if(!P)throw new Xe({message:"No choice in OpenRouter completion response"});return{content:[{type:"text",text:(t=P.text)!=null?t:""}],finishReason:Ce(P.finish_reason),usage:w.usage?$e(w.usage):Hn(),warnings:[],providerMetadata:{openrouter:tt.parse({provider:(n=w.provider)!=null?n:"",usage:d(d(d(d({promptTokens:(o=(r=w.usage)==null?void 0:r.prompt_tokens)!=null?o:0,completionTokens:(l=(i=w.usage)==null?void 0:i.completion_tokens)!=null?l:0,totalTokens:((c=(u=w.usage)==null?void 0:u.prompt_tokens)!=null?c:0)+((y=(p=w.usage)==null?void 0:p.completion_tokens)!=null?y:0)},((b=w.usage)==null?void 0:b.cost)!=null?{cost:w.usage.cost}:{}),((_=(h=w.usage)==null?void 0:h.prompt_tokens_details)==null?void 0:_.cached_tokens)!=null?{promptTokensDetails:{cachedTokens:w.usage.prompt_tokens_details.cached_tokens}}:{}),((m=(f=w.usage)==null?void 0:f.completion_tokens_details)==null?void 0:m.reasoning_tokens)!=null?{completionTokensDetails:{reasoningTokens:w.usage.completion_tokens_details.reasoning_tokens}}:{}),((v=(g=w.usage)==null?void 0:g.cost_details)==null?void 0:v.upstream_inference_cost)!=null?{costDetails:{upstreamInferenceCost:w.usage.cost_details.upstream_inference_cost}}:{})})},response:{headers:F}}}async doStream(e){let n=(e.providerOptions||{}).openrouter||{},r=d(d({},this.getArgs(e)),n),{value:o,responseHeaders:i}=await ue({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:le(this.config.headers(),e.headers),body:R(d({},r),{stream:!0,stream_options:this.config.compatibility==="strict"?{include_usage:!0}:void 0}),failedResponseHandler:oe,successfulResponseHandler:Zn(Jt),abortSignal:e.abortSignal,fetch:this.config.fetch}),l,u=Jn(o,_=>{l=_}),c=K("other"),p={inputTokens:{total:void 0,noCache:void 0,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:void 0,text:void 0,reasoning:void 0},raw:void 0},y={},b,h;return{stream:u.pipeThrough(new TransformStream({transform(_,f){var m,g,v,k,E;if(e.includeRawChunks&&f.enqueue({type:"raw",rawValue:_.rawValue}),!_.success){c=K("error"),f.enqueue({type:"error",error:_.error});return}let T=_.value;if("error"in T){c=K("error"),f.enqueue({type:"error",error:T.error});return}if(T.provider&&(b=T.provider),T.usage!=null){let F=$e(T.usage);Object.assign(p.inputTokens,F.inputTokens),Object.assign(p.outputTokens,F.outputTokens),h=T.usage;let P=(m=T.usage.prompt_tokens)!=null?m:0,M=(g=T.usage.completion_tokens)!=null?g:0;y.promptTokens=P,T.usage.prompt_tokens_details&&(y.promptTokensDetails={cachedTokens:(v=T.usage.prompt_tokens_details.cached_tokens)!=null?v:0}),y.completionTokens=M,T.usage.completion_tokens_details&&(y.completionTokensDetails={reasoningTokens:(k=T.usage.completion_tokens_details.reasoning_tokens)!=null?k:0}),T.usage.cost!=null&&(y.cost=T.usage.cost),y.totalTokens=T.usage.total_tokens;let U=(E=T.usage.cost_details)==null?void 0:E.upstream_inference_cost;U!=null&&(y.costDetails={upstreamInferenceCost:U})}let w=T.choices[0];w?.finish_reason!=null&&(c=Ce(w.finish_reason)),w?.text!=null&&f.enqueue({type:"text-delta",delta:w.text,id:Q()})},flush(_){l!=null&&(c=K("error"),_.enqueue({type:"error",error:l})),p.raw=h;let f={usage:y};b!==void 0&&(f.provider=b),_.enqueue({type:"finish",finishReason:c,usage:p,providerMetadata:{openrouter:f}})}})),response:{headers:i}}}},uo=a.object({prompt_tokens:a.number(),total_tokens:a.number(),cost:a.number().optional()}),co=a.object({object:a.literal("embedding"),embedding:a.array(a.number()),index:a.number().optional()}),po=a.object({id:a.string().optional(),object:a.literal("list"),data:a.array(co),model:a.string(),provider:a.string().optional(),usage:uo.optional()}),Qn=class{static{s(this,"OpenRouterEmbeddingModel")}constructor(e,t,n){this.specificationVersion="v3",this.provider="openrouter",this.maxEmbeddingsPerCall=void 0,this.supportsParallelCalls=!0,this.modelId=e,this.settings=t,this.config=n}async doEmbed(e){var t,n,r,o,i,l;let{values:u,abortSignal:c,headers:p}=e,y=d(d({model:this.modelId,input:u,user:this.settings.user,provider:this.settings.provider},this.config.extraBody),this.settings.extraBody),{value:b,responseHeaders:h}=await ue({url:this.config.url({path:"/embeddings",modelId:this.modelId}),headers:le(this.config.headers(),p),body:y,failedResponseHandler:oe,successfulResponseHandler:ge(po),abortSignal:c,fetch:this.config.fetch});return{embeddings:b.data.map(_=>_.embedding),usage:b.usage?{tokens:b.usage.prompt_tokens}:void 0,providerMetadata:{openrouter:tt.parse({provider:(t=b.provider)!=null?t:"",usage:d({promptTokens:(r=(n=b.usage)==null?void 0:n.prompt_tokens)!=null?r:0,completionTokens:0,totalTokens:(i=(o=b.usage)==null?void 0:o.total_tokens)!=null?i:0},((l=b.usage)==null?void 0:l.cost)!=null?{cost:b.usage.cost}:{})})},response:{headers:h,body:b},warnings:[]}}},Xo=class{static{s(this,"OpenRouter")}constructor(e={}){var t,n;this.baseURL=(n=qn((t=e.baseURL)!=null?t:e.baseUrl))!=null?n:"https://openrouter.ai/api/v1",this.apiKey=e.apiKey,this.headers=e.headers,this.api_keys=e.api_keys,this.appName=e.appName,this.appUrl=e.appUrl}get baseConfig(){return{baseURL:this.baseURL,headers:s(()=>d(d(d(d({Authorization:`Bearer ${Cn({apiKey:this.apiKey,environmentVariableName:"OPENROUTER_API_KEY",description:"OpenRouter"})}`},this.appName&&{"X-OpenRouter-Title":this.appName}),this.appUrl&&{"HTTP-Referer":this.appUrl}),this.headers),this.api_keys&&Object.keys(this.api_keys).length>0&&{"X-Provider-API-Keys":JSON.stringify(this.api_keys)}),"headers")}}chat(e,t={}){return new Xn(e,t,R(d({provider:"openrouter.chat"},this.baseConfig),{compatibility:"strict",url:s(({path:n})=>`${this.baseURL}${n}`,"url")}))}completion(e,t={}){return new Yn(e,t,R(d({provider:"openrouter.completion"},this.baseConfig),{compatibility:"strict",url:s(({path:n})=>`${this.baseURL}${n}`,"url")}))}textEmbeddingModel(e,t={}){return new Qn(e,t,R(d({provider:"openrouter.embedding"},this.baseConfig),{url:s(({path:n})=>`${this.baseURL}${n}`,"url")}))}embedding(e,t={}){return this.textEmbeddingModel(e,t)}},mo=a.object({id:a.string().optional(),object:a.string().optional(),created:a.number().optional(),model:a.string(),choices:a.array(a.object({index:a.number(),message:a.object({role:a.string(),content:a.string().nullable().optional(),images:a.array(a.object({type:a.literal("image_url"),image_url:a.object({url:a.string()})}).passthrough()).optional()}).passthrough(),finish_reason:a.string().nullable().optional()}).passthrough()),usage:a.object({prompt_tokens:a.number(),completion_tokens:a.number(),total_tokens:a.number()}).passthrough().optional()}).passthrough(),fo=class{static{s(this,"OpenRouterImageModel")}constructor(e,t,n){this.specificationVersion="v3",this.provider="openrouter",this.maxImagesPerCall=1,this.modelId=e,this.settings=t,this.config=n}async doGenerate(e){var t;let{prompt:n,n:r,size:o,aspectRatio:i,seed:l,files:u,mask:c,abortSignal:p,headers:y,providerOptions:b}=e,h=b?.openrouter||{},_=[];if(c!==void 0)throw new te({functionality:"image inpainting (mask parameter)"});r>1&&_.push({type:"unsupported",feature:"n > 1",details:`OpenRouter image generation returns 1 image per call. Requested ${r} images.`}),o!==void 0&&_.push({type:"unsupported",feature:"size",details:"Use aspectRatio instead. Size parameter is not supported by OpenRouter image generation."});let f=i!==void 0?{aspect_ratio:i}:void 0,g=u!==void 0&&u.length>0?[...u.map(P=>ho(P)),{type:"text",text:n??""}]:n??"",v=d(d(d(d(d(d(d({model:this.modelId,messages:[{role:"user",content:g}],modalities:["image","text"]},f!==void 0&&{image_config:f}),l!==void 0&&{seed:l}),this.settings.user!==void 0&&{user:this.settings.user}),this.settings.provider!==void 0&&{provider:this.settings.provider}),this.config.extraBody),this.settings.extraBody),h),{value:k,responseHeaders:E}=await ue({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:le(this.config.headers(),y),body:v,failedResponseHandler:oe,successfulResponseHandler:ge(mo),abortSignal:p,fetch:this.config.fetch}),T=k.choices[0];if(!T)throw new Xe({message:"No choice in response"});let w=[];if((t=T.message)!=null&&t.images)for(let P of T.message.images){let M=P.image_url.url;w.push(ke(M))}let F=k.usage?{inputTokens:k.usage.prompt_tokens,outputTokens:k.usage.completion_tokens,totalTokens:k.usage.total_tokens}:void 0;return{images:w,warnings:_,response:{timestamp:new Date,modelId:k.model,headers:E},usage:F}}},go="image/png";function ho(e){return e.type==="url"?{type:"image_url",image_url:{url:e.url}}:{type:"image_url",image_url:{url:be({data:e.data,mediaType:e.mediaType,defaultMediaType:go})}}}s(ho,"convertImageFileToContentPart");var vo=a.object({results:a.array(a.unknown()).optional()}),yo=Ma({id:"openrouter.web_search",inputSchema:vo});function _o(e){return Object.fromEntries(Object.entries(e).filter(([,t])=>t!=null))}s(_o,"removeUndefinedEntries");function bo(e){return e?e instanceof Headers?Object.fromEntries(e.entries()):Array.isArray(e)?Object.fromEntries(e):e:{}}s(bo,"normalizeHeaders2");function ko(e,t){let n=t.toLowerCase();return Object.keys(e).find(r=>r.toLowerCase()===n)}s(ko,"findHeaderKey");function wo(e,...t){let n=bo(e),r=_o(n),o=ko(r,"user-agent"),i=o?r[o]:void 0,l=i?.trim()?i:t.filter(Boolean).join(" "),u=Object.fromEntries(Object.entries(r).filter(([c])=>c.toLowerCase()!=="user-agent"));return R(d({},u),{"user-agent":l})}s(wo,"withUserAgentSuffix2");var To="2.9.0",Oo=a.object({id:a.string(),generation_id:a.string().optional(),polling_url:a.string(),status:a.string()}).passthrough(),xo=a.object({id:a.string(),generation_id:a.string().optional(),polling_url:a.string(),status:a.string(),unsigned_urls:a.array(a.string()).optional(),usage:a.object({cost:a.number().optional(),is_byok:a.boolean().optional()}).passthrough().optional(),error:a.string().optional()}).passthrough(),Io=2e3,So=6e5,Ao=class{static{s(this,"OpenRouterVideoModel")}constructor(e,t,n){this.specificationVersion="v3",this.provider="openrouter",this.maxVideosPerCall=1,this.modelId=e,this.settings=t,this.config=n}async doGenerate(e){var t,n,r,o,i;let{prompt:l,n:u,aspectRatio:c,resolution:p,duration:y,seed:b,image:h,abortSignal:_,headers:f,providerOptions:m}=e,g=[];u>1&&g.push({type:"unsupported",feature:"n > 1",details:`OpenRouter video generation returns 1 video per call. Requested ${u} videos.`});let v=d(d(d(d(d(d(d(d(d({model:this.modelId,prompt:l??""},c!==void 0&&{aspect_ratio:c}),p!==void 0&&{size:p}),y!==void 0&&{duration:y}),b!==void 0&&{seed:b}),this.settings.generateAudio!==void 0&&{generate_audio:this.settings.generateAudio}),h!==void 0&&{frame_images:[Ro(h)]}),this.config.extraBody),this.settings.extraBody),m.openrouter),k=le(this.config.headers(),f),{value:E,responseHeaders:T}=await ue({url:this.config.url({path:"/videos",modelId:this.modelId}),headers:k,body:v,failedResponseHandler:oe,successfulResponseHandler:ge(Oo),abortSignal:_,fetch:this.config.fetch}),w=(t=this.settings.pollIntervalMs)!=null?t:Io,F=(n=this.settings.maxPollTimeMs)!=null?n:So,P=await this.pollUntilComplete({jobId:E.id,headers:k,abortSignal:_,pollIntervalMs:w,maxPollTimeMs:F}),M=[];if(P.unsigned_urls)for(let H of P.unsigned_urls)M.push({type:"url",url:H,mediaType:"video/mp4"});let U={openrouter:{generationId:(r=P.generation_id)!=null?r:null,cost:(i=(o=P.usage)==null?void 0:o.cost)!=null?i:null}};return{videos:M,warnings:g,providerMetadata:U,response:{timestamp:new Date,modelId:this.modelId,headers:T}}}async pollUntilComplete({jobId:e,headers:t,abortSignal:n,pollIntervalMs:r,maxPollTimeMs:o}){var i;let l=Date.now();for(;Date.now()-l<o;){n?.throwIfAborted(),await Or(r),n?.throwIfAborted();let{value:u}=await Cr({url:this.config.url({path:`/videos/${e}`,modelId:this.modelId}),headers:t,failedResponseHandler:oe,successfulResponseHandler:ge(xo),abortSignal:n,fetch:this.config.fetch});if(u.status==="completed")return{generation_id:u.generation_id,unsigned_urls:u.unsigned_urls,usage:u.usage};if(u.status==="failed"||u.status==="dead"||u.status==="cancelled"||u.status==="expired")throw new q({message:(i=u.error)!=null?i:`Video generation failed with status: ${u.status}`,url:this.config.url({path:`/videos/${e}`,modelId:this.modelId}),requestBodyValues:{},statusCode:500,isRetryable:!1})}throw new q({message:`Video generation timed out after ${o}ms`,url:this.config.url({path:`/videos/${e}`,modelId:this.modelId}),requestBodyValues:{},statusCode:408,isRetryable:!0})}};function Ro(e){return e.type==="url"?{type:"image_url",image_url:{url:e.url},frame_type:"first_frame"}:{type:"image_url",image_url:{url:be({data:e.data,mediaType:e.mediaType,defaultMediaType:"image/png"})},frame_type:"first_frame"}}s(Ro,"convertImageToFrameImage");function Po(e={}){var t,n,r;let o=(n=qn((t=e.baseURL)!=null?t:e.baseUrl))!=null?n:"https://openrouter.ai/api/v1",i=(r=e.compatibility)!=null?r:"compatible",l=s(()=>wo(d(d(d(d({Authorization:`Bearer ${Cn({apiKey:e.apiKey,environmentVariableName:"OPENROUTER_API_KEY",description:"OpenRouter"})}`},e.appName&&{"X-OpenRouter-Title":e.appName}),e.appUrl&&{"HTTP-Referer":e.appUrl}),e.headers),e.api_keys&&Object.keys(e.api_keys).length>0&&{"X-Provider-API-Keys":JSON.stringify(e.api_keys)}),`ai-sdk/openrouter/${To}`),"getHeaders"),u=s((f,m={})=>new Xn(f,m,{provider:"openrouter.chat",url:s(({path:g})=>`${o}${g}`,"url"),headers:l,compatibility:i,fetch:e.fetch,extraBody:e.extraBody}),"createChatModel"),c=s((f,m={})=>new Yn(f,m,{provider:"openrouter.completion",url:s(({path:g})=>`${o}${g}`,"url"),headers:l,compatibility:i,fetch:e.fetch,extraBody:e.extraBody}),"createCompletionModel"),p=s((f,m={})=>new Qn(f,m,{provider:"openrouter.embedding",url:s(({path:g})=>`${o}${g}`,"url"),headers:l,fetch:e.fetch,extraBody:e.extraBody}),"createEmbeddingModel"),y=s((f,m={})=>new fo(f,m,{provider:"openrouter.image",url:s(({path:g})=>`${o}${g}`,"url"),headers:l,fetch:e.fetch,extraBody:e.extraBody}),"createImageModel"),b=s((f,m={})=>new Ao(f,m,{provider:"openrouter.video",url:s(({path:g})=>`${o}${g}`,"url"),headers:l,fetch:e.fetch,extraBody:e.extraBody}),"createVideoModel"),h=s((f,m)=>{if(new.target)throw new Error("The OpenRouter model function cannot be called with the new keyword.");return f==="openai/gpt-3.5-turbo-instruct"?c(f,m):u(f,m)},"createLanguageModel"),_=s((f,m)=>h(f,m),"provider");return _.languageModel=h,_.chat=u,_.completion=c,_.textEmbeddingModel=p,_.embedding=p,_.imageModel=y,_.videoModel=b,_.tools={webSearch:yo},_}s(Po,"createOpenRouter");var ts=Po({compatibility:"strict"});export{Xo as OpenRouter,Po as createOpenRouter,ts as openrouter};