@mcpjam/inspector 0.8.2 → 0.9.1

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 (180) hide show
  1. package/README.md +24 -6
  2. package/bin/start.js +82 -69
  3. package/dist/client/assets/index-C4nE74q5.css +1 -0
  4. package/dist/client/assets/index-CcfG-2LO.js +357 -0
  5. package/dist/client/assets/index-CcfG-2LO.js.map +1 -0
  6. package/dist/client/catalyst.png +0 -0
  7. package/dist/client/index.html +14 -0
  8. package/dist/main/main.cjs +1330 -0
  9. package/dist/preload/preload.js +26 -0
  10. package/dist/renderer/assets/index-CYiU4_x2.css +1 -0
  11. package/dist/renderer/assets/index-woGCpEdp.js +356 -0
  12. package/dist/renderer/catalyst.png +0 -0
  13. package/dist/renderer/demo_1.png +0 -0
  14. package/dist/renderer/demo_2.png +0 -0
  15. package/dist/renderer/demo_3.png +0 -0
  16. package/dist/renderer/file.svg +1 -0
  17. package/dist/renderer/globe.svg +1 -0
  18. package/dist/renderer/index.html +14 -0
  19. package/dist/renderer/mcp.svg +1 -0
  20. package/dist/renderer/mcp_jam.svg +12 -0
  21. package/dist/renderer/mcp_jam_dark.png +0 -0
  22. package/dist/renderer/mcp_jam_light.png +0 -0
  23. package/dist/renderer/next.svg +1 -0
  24. package/dist/renderer/vercel.svg +1 -0
  25. package/dist/renderer/window.svg +1 -0
  26. package/dist/server/index.js +1101 -0
  27. package/dist/server/index.js.map +1 -0
  28. package/package.json +32 -17
  29. package/.next/BUILD_ID +0 -1
  30. package/.next/app-build-manifest.json +0 -89
  31. package/.next/app-path-routes-manifest.json +0 -13
  32. package/.next/build-manifest.json +0 -33
  33. package/.next/cache/.previewinfo +0 -1
  34. package/.next/cache/.rscinfo +0 -1
  35. package/.next/cache/.tsbuildinfo +0 -1
  36. package/.next/cache/eslint/.cache_1pr0xfn +0 -1
  37. package/.next/cache/webpack/client-production/0.pack +0 -0
  38. package/.next/cache/webpack/client-production/index.pack +0 -0
  39. package/.next/cache/webpack/edge-server-production/0.pack +0 -0
  40. package/.next/cache/webpack/edge-server-production/index.pack +0 -0
  41. package/.next/cache/webpack/server-production/0.pack +0 -0
  42. package/.next/cache/webpack/server-production/index.pack +0 -0
  43. package/.next/diagnostics/build-diagnostics.json +0 -6
  44. package/.next/diagnostics/framework.json +0 -1
  45. package/.next/export-marker.json +0 -6
  46. package/.next/images-manifest.json +0 -57
  47. package/.next/next-minimal-server.js.nft.json +0 -1
  48. package/.next/next-server.js.nft.json +0 -1
  49. package/.next/package.json +0 -1
  50. package/.next/prerender-manifest.json +0 -41
  51. package/.next/react-loadable-manifest.json +0 -1
  52. package/.next/required-server-files.json +0 -318
  53. package/.next/routes-manifest.json +0 -65
  54. package/.next/server/app/_not-found/page.js +0 -2
  55. package/.next/server/app/_not-found/page.js.nft.json +0 -1
  56. package/.next/server/app/_not-found/page_client-reference-manifest.js +0 -1
  57. package/.next/server/app/api/mcp/chat/route.js +0 -45
  58. package/.next/server/app/api/mcp/chat/route.js.nft.json +0 -1
  59. package/.next/server/app/api/mcp/chat/route_client-reference-manifest.js +0 -1
  60. package/.next/server/app/api/mcp/connect/route.js +0 -1
  61. package/.next/server/app/api/mcp/connect/route.js.nft.json +0 -1
  62. package/.next/server/app/api/mcp/connect/route_client-reference-manifest.js +0 -1
  63. package/.next/server/app/api/mcp/prompts/get/route.js +0 -1
  64. package/.next/server/app/api/mcp/prompts/get/route.js.nft.json +0 -1
  65. package/.next/server/app/api/mcp/prompts/get/route_client-reference-manifest.js +0 -1
  66. package/.next/server/app/api/mcp/prompts/list/route.js +0 -1
  67. package/.next/server/app/api/mcp/prompts/list/route.js.nft.json +0 -1
  68. package/.next/server/app/api/mcp/prompts/list/route_client-reference-manifest.js +0 -1
  69. package/.next/server/app/api/mcp/resources/list/route.js +0 -1
  70. package/.next/server/app/api/mcp/resources/list/route.js.nft.json +0 -1
  71. package/.next/server/app/api/mcp/resources/list/route_client-reference-manifest.js +0 -1
  72. package/.next/server/app/api/mcp/resources/read/route.js +0 -1
  73. package/.next/server/app/api/mcp/resources/read/route.js.nft.json +0 -1
  74. package/.next/server/app/api/mcp/resources/read/route_client-reference-manifest.js +0 -1
  75. package/.next/server/app/api/mcp/tools/route.js +0 -21
  76. package/.next/server/app/api/mcp/tools/route.js.nft.json +0 -1
  77. package/.next/server/app/api/mcp/tools/route_client-reference-manifest.js +0 -1
  78. package/.next/server/app/favicon.ico/route.js +0 -1
  79. package/.next/server/app/favicon.ico/route.js.nft.json +0 -1
  80. package/.next/server/app/favicon.ico.body +0 -0
  81. package/.next/server/app/favicon.ico.meta +0 -1
  82. package/.next/server/app/oauth/callback/page.js +0 -2
  83. package/.next/server/app/oauth/callback/page.js.nft.json +0 -1
  84. package/.next/server/app/oauth/callback/page_client-reference-manifest.js +0 -1
  85. package/.next/server/app/page.js +0 -16
  86. package/.next/server/app/page.js.nft.json +0 -1
  87. package/.next/server/app/page_client-reference-manifest.js +0 -1
  88. package/.next/server/app-paths-manifest.json +0 -13
  89. package/.next/server/chunks/175.js +0 -8
  90. package/.next/server/chunks/260.js +0 -82
  91. package/.next/server/chunks/546.js +0 -1
  92. package/.next/server/chunks/548.js +0 -6
  93. package/.next/server/chunks/55.js +0 -1
  94. package/.next/server/chunks/985.js +0 -22
  95. package/.next/server/functions-config-manifest.json +0 -4
  96. package/.next/server/interception-route-rewrite-manifest.js +0 -1
  97. package/.next/server/middleware-build-manifest.js +0 -1
  98. package/.next/server/middleware-manifest.json +0 -6
  99. package/.next/server/middleware-react-loadable-manifest.js +0 -1
  100. package/.next/server/next-font-manifest.js +0 -1
  101. package/.next/server/next-font-manifest.json +0 -1
  102. package/.next/server/pages/500.html +0 -1
  103. package/.next/server/pages/_app.js +0 -1
  104. package/.next/server/pages/_app.js.nft.json +0 -1
  105. package/.next/server/pages/_document.js +0 -1
  106. package/.next/server/pages/_document.js.nft.json +0 -1
  107. package/.next/server/pages/_error.js +0 -19
  108. package/.next/server/pages/_error.js.nft.json +0 -1
  109. package/.next/server/pages-manifest.json +0 -5
  110. package/.next/server/server-reference-manifest.js +0 -1
  111. package/.next/server/server-reference-manifest.json +0 -1
  112. package/.next/server/webpack-runtime.js +0 -1
  113. package/.next/static/SigynMKeJ0KJs0Nc9i0E-/_buildManifest.js +0 -1
  114. package/.next/static/SigynMKeJ0KJs0Nc9i0E-/_ssgManifest.js +0 -1
  115. package/.next/static/chunks/214-cc4c35d88f2695ed.js +0 -1
  116. package/.next/static/chunks/4bd1b696-cf72ae8a39fa05aa.js +0 -1
  117. package/.next/static/chunks/574-9365237f47ed3a68.js +0 -1
  118. package/.next/static/chunks/866-04c19dda4c52f2bf.js +0 -1
  119. package/.next/static/chunks/964-eda38e26c0391a47.js +0 -1
  120. package/.next/static/chunks/app/_not-found/page-8601c49989b0be94.js +0 -1
  121. package/.next/static/chunks/app/api/mcp/chat/route-0341498a8bf5f2da.js +0 -1
  122. package/.next/static/chunks/app/api/mcp/connect/route-0341498a8bf5f2da.js +0 -1
  123. package/.next/static/chunks/app/api/mcp/prompts/get/route-0341498a8bf5f2da.js +0 -1
  124. package/.next/static/chunks/app/api/mcp/prompts/list/route-0341498a8bf5f2da.js +0 -1
  125. package/.next/static/chunks/app/api/mcp/resources/list/route-0341498a8bf5f2da.js +0 -1
  126. package/.next/static/chunks/app/api/mcp/resources/read/route-0341498a8bf5f2da.js +0 -1
  127. package/.next/static/chunks/app/api/mcp/tools/route-0341498a8bf5f2da.js +0 -1
  128. package/.next/static/chunks/app/layout-9e8115d4bf656fa0.js +0 -1
  129. package/.next/static/chunks/app/oauth/callback/page-cf6cb1ac31175f40.js +0 -1
  130. package/.next/static/chunks/app/page-b0e3ed6257734413.js +0 -1
  131. package/.next/static/chunks/framework-7c95b8e5103c9e90.js +0 -1
  132. package/.next/static/chunks/main-app-4e9e28316818cdde.js +0 -1
  133. package/.next/static/chunks/main-bbdafee21a7bd1d6.js +0 -1
  134. package/.next/static/chunks/pages/_app-0a0020ddd67f79cf.js +0 -1
  135. package/.next/static/chunks/pages/_error-03529f2c21436739.js +0 -1
  136. package/.next/static/chunks/polyfills-42372ed130431b0a.js +0 -1
  137. package/.next/static/chunks/webpack-cdfccaf38062dd25.js +0 -1
  138. package/.next/static/css/1e852d83e9c1d0c6.css +0 -1
  139. package/.next/static/css/f30152c0704fba31.css +0 -1
  140. package/.next/static/css/fe751fdbe975e9ca.css +0 -1
  141. package/.next/static/media/569ce4b8f30dc480-s.p.woff2 +0 -0
  142. package/.next/static/media/747892c23ea88013-s.woff2 +0 -0
  143. package/.next/static/media/8d697b304b401681-s.woff2 +0 -0
  144. package/.next/static/media/93f479601ee12b01-s.p.woff2 +0 -0
  145. package/.next/static/media/9610d9e46709d722-s.woff2 +0 -0
  146. package/.next/static/media/ba015fad6dcf6784-s.woff2 +0 -0
  147. package/.next/trace +0 -35
  148. package/.next/types/app/api/mcp/chat/route.ts +0 -347
  149. package/.next/types/app/api/mcp/connect/route.ts +0 -347
  150. package/.next/types/app/api/mcp/prompts/get/route.ts +0 -347
  151. package/.next/types/app/api/mcp/prompts/list/route.ts +0 -347
  152. package/.next/types/app/api/mcp/resources/list/route.ts +0 -347
  153. package/.next/types/app/api/mcp/resources/read/route.ts +0 -347
  154. package/.next/types/app/api/mcp/tools/route.ts +0 -347
  155. package/.next/types/app/layout.ts +0 -84
  156. package/.next/types/app/oauth/callback/page.ts +0 -84
  157. package/.next/types/app/page.ts +0 -84
  158. package/.next/types/cache-life.d.ts +0 -141
  159. package/.next/types/package.json +0 -1
  160. package/next.config.ts +0 -7
  161. /package/{public → dist/client}/claude_logo.png +0 -0
  162. /package/{public → dist/client}/demo_1.png +0 -0
  163. /package/{public → dist/client}/demo_2.png +0 -0
  164. /package/{public → dist/client}/demo_3.png +0 -0
  165. /package/{public → dist/client}/file.svg +0 -0
  166. /package/{public → dist/client}/globe.svg +0 -0
  167. /package/{public → dist/client}/mcp.svg +0 -0
  168. /package/{public → dist/client}/mcp_jam.svg +0 -0
  169. /package/{public → dist/client}/mcp_jam_dark.png +0 -0
  170. /package/{public → dist/client}/mcp_jam_light.png +0 -0
  171. /package/{public → dist/client}/next.svg +0 -0
  172. /package/{public → dist/client}/ollama_dark.png +0 -0
  173. /package/{public → dist/client}/ollama_logo.svg +0 -0
  174. /package/{public → dist/client}/openai_logo.png +0 -0
  175. /package/{public → dist/client}/vercel.svg +0 -0
  176. /package/{public → dist/client}/window.svg +0 -0
  177. /package/{.next/static/media/claude_logo.d33b25b0.png → dist/renderer/claude_logo.png} +0 -0
  178. /package/{.next/static/media/ollama_dark.9af45ac0.png → dist/renderer/ollama_dark.png} +0 -0
  179. /package/{.next/static/media/ollama_logo.9f08a95b.svg → dist/renderer/ollama_logo.svg} +0 -0
  180. /package/{.next/static/media/openai_logo.3f83154a.png → dist/renderer/openai_logo.png} +0 -0
@@ -1,45 +0,0 @@
1
- (()=>{var a={};a.id=867,a.ids=[867],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},1708:a=>{"use strict";a.exports=require("node:process")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},9651:(a,b,c)=>{"use strict";c.d(b,{MT:()=>h,Rb:()=>g,U_:()=>f,WX:()=>j,jl:()=>i});var d=c(32190),e=c(49260);function f(a){if(!a)return{success:!1,error:d.NextResponse.json({error:"Server configuration is required"},{status:400})};let b={...a};if(b.url)try{if("string"==typeof b.url)b.url=new URL(b.url);else if("object"==typeof b.url&&!b.url.href)return{success:!1,error:d.NextResponse.json({error:"Invalid URL configuration"},{status:400})};if(b.oauth?.access_token){let a={Authorization:`Bearer ${b.oauth.access_token}`,...b.requestInit?.headers||{}};b.requestInit={...b.requestInit,headers:a},b.eventSourceInit={fetch(a,c){let d=new Headers(c?.headers||{});return d.set("Authorization",`Bearer ${b.oauth.access_token}`),b.requestInit?.headers&&new Headers(b.requestInit.headers).forEach((a,b)=>{"authorization"!==b.toLowerCase()&&d.set(b,a)}),fetch(a,{...c,headers:d})}}}else b.requestInit?.headers&&(b.eventSourceInit={fetch(a,c){let d=new Headers(c?.headers||{});return new Headers(b.requestInit.headers).forEach((a,b)=>{d.set(b,a)}),fetch(a,{...c,headers:d})}})}catch(a){return{success:!1,error:d.NextResponse.json({error:`Invalid URL format: ${a}`},{status:400})}}return{success:!0,config:b}}let g=a=>{if(!a||0===Object.keys(a).length)return{success:!1,error:d.NextResponse.json({error:"At least one server configuration is required"},{status:400})};let b={},c={},e=!1;for(let[d,g]of Object.entries(a)){let a=f(g);if(a.success&&a.config)b[d]=a.config;else{e=!0;let b="Validation failed";if(a.error)try{let c=a.error.body;c&&"object"==typeof c&&"error"in c&&(b=c.error)}catch{b="Validation failed"}c[d]=b}}return e?Object.keys(b).length>0?{success:!1,validConfigs:b,errors:c}:{success:!1,errors:c,error:d.NextResponse.json({error:"All server configurations failed validation",details:c},{status:400})}:{success:!0,validConfigs:b}};function h(a,b){return new e.Mj({id:b,servers:{server:a}})}function i(a){let b={};for(let[c,d]of Object.entries(a))b[c.toLowerCase().replace(/[\s\-]+/g,"_").replace(/[^a-z0-9_]/g,"")]=d;return new e.Mj({id:`chat-${Date.now()}`,servers:b})}function j(a,b,c=500){return d.NextResponse.json({error:a,details:b||"Unknown error"},{status:c})}},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14593:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),b.Allow=b.ALL=b.COLLECTION=b.ATOM=b.SPECIAL=b.INF=b._INFINITY=b.INFINITY=b.NAN=b.BOOL=b.NULL=b.OBJ=b.ARR=b.NUM=b.STR=void 0,b.STR=1,b.NUM=2,b.ARR=4,b.OBJ=8,b.NULL=16,b.BOOL=32,b.NAN=64,b.INFINITY=128,b._INFINITY=256,b.INF=b.INFINITY|b._INFINITY,b.SPECIAL=b.NULL|b.BOOL|b.INF|b.NAN,b.ATOM=b.STR|b.NUM|b.SPECIAL,b.COLLECTION=b.ARR|b.OBJ,b.ALL=b.ATOM|b.COLLECTION,b.Allow={STR:b.STR,NUM:b.NUM,ARR:b.ARR,OBJ:b.OBJ,NULL:b.NULL,BOOL:b.BOOL,NAN:b.NAN,INFINITY:b.INFINITY,_INFINITY:b._INFINITY,INF:b.INF,SPECIAL:b.SPECIAL,ATOM:b.ATOM,COLLECTION:b.COLLECTION,ALL:b.ALL},b.default=b.Allow},17143:function(a,b,c){"use strict";var d=this&&this.__createBinding||(Object.create?function(a,b,c,d){void 0===d&&(d=c);var e=Object.getOwnPropertyDescriptor(b,c);(!e||("get"in e?!b.__esModule:e.writable||e.configurable))&&(e={enumerable:!0,get:function(){return b[c]}}),Object.defineProperty(a,d,e)}:function(a,b,c,d){void 0===d&&(d=c),a[d]=b[c]}),e=this&&this.__exportStar||function(a,b){for(var c in a)"default"===c||Object.prototype.hasOwnProperty.call(b,c)||d(b,a,c)};Object.defineProperty(b,"__esModule",{value:!0}),b.Allow=b.MalformedJSON=b.PartialJSON=b.parseJSON=b.parse=void 0;let f=c(14593);Object.defineProperty(b,"Allow",{enumerable:!0,get:function(){return f.Allow}}),e(c(14593),b);class g extends Error{}b.PartialJSON=g;class h extends Error{}function i(a,b=f.Allow.ALL){if("string"!=typeof a)throw TypeError(`expecting str, got ${typeof a}`);if(!a.trim())throw Error(`${a} is empty`);return j(a.trim(),b)}b.MalformedJSON=h,b.parseJSON=i;let j=(a,b)=>{let c=a.length,d=0,e=a=>{throw new g(`${a} at position ${d}`)},i=a=>{throw new h(`${a} at position ${d}`)},j=()=>(o(),d>=c&&e("Unexpected end of input"),'"'===a[d])?k():"{"===a[d]?l():"["===a[d]?m():"null"===a.substring(d,d+4)||f.Allow.NULL&b&&c-d<4&&"null".startsWith(a.substring(d))?(d+=4,null):"true"===a.substring(d,d+4)||f.Allow.BOOL&b&&c-d<4&&"true".startsWith(a.substring(d))?(d+=4,!0):"false"===a.substring(d,d+5)||f.Allow.BOOL&b&&c-d<5&&"false".startsWith(a.substring(d))?(d+=5,!1):"Infinity"===a.substring(d,d+8)||f.Allow.INFINITY&b&&c-d<8&&"Infinity".startsWith(a.substring(d))?(d+=8,1/0):"-Infinity"===a.substring(d,d+9)||f.Allow._INFINITY&b&&1<c-d&&c-d<9&&"-Infinity".startsWith(a.substring(d))?(d+=9,-1/0):"NaN"===a.substring(d,d+3)||f.Allow.NAN&b&&c-d<3&&"NaN".startsWith(a.substring(d))?(d+=3,NaN):n(),k=()=>{let g=d,h=!1;for(d++;d<c&&('"'!==a[d]||h&&"\\"===a[d-1]);)h="\\"===a[d]&&!h,d++;if('"'==a.charAt(d))try{return JSON.parse(a.substring(g,++d-Number(h)))}catch(a){i(String(a))}else if(f.Allow.STR&b)try{return JSON.parse(a.substring(g,d-Number(h))+'"')}catch(b){return JSON.parse(a.substring(g,a.lastIndexOf("\\"))+'"')}e("Unterminated string literal")},l=()=>{d++,o();let g={};try{for(;"}"!==a[d];){if(o(),d>=c&&f.Allow.OBJ&b)return g;let e=k();o(),d++;try{let a=j();g[e]=a}catch(a){if(f.Allow.OBJ&b)return g;throw a}o(),","===a[d]&&d++}}catch(a){if(f.Allow.OBJ&b)return g;e("Expected '}' at end of object")}return d++,g},m=()=>{d++;let c=[];try{for(;"]"!==a[d];)c.push(j()),o(),","===a[d]&&d++}catch(a){if(f.Allow.ARR&b)return c;e("Expected ']' at end of array")}return d++,c},n=()=>{if(0===d){"-"===a&&i("Not sure what '-' is");try{return JSON.parse(a)}catch(c){if(f.Allow.NUM&b)try{return JSON.parse(a.substring(0,a.lastIndexOf("e")))}catch(a){}i(String(c))}}let g=d;for("-"===a[d]&&d++;a[d]&&-1===",]}".indexOf(a[d]);)d++;d!=c||f.Allow.NUM&b||e("Unterminated number literal");try{return JSON.parse(a.substring(g,d))}catch(b){"-"===a.substring(g,d)&&e("Not sure what '-' is");try{return JSON.parse(a.substring(g,a.lastIndexOf("e")))}catch(a){i(String(a))}}},o=()=>{for(;d<c&&" \n\r ".includes(a[d]);)d++};return j()};b.parse=i},25999:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>gW,patchFetch:()=>gV,routeModule:()=>gR,serverHooks:()=>gU,workAsyncStorage:()=>gS,workUnitAsyncStorage:()=>gT});var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z={};c.r(z),c.d(z,{POST:()=>gP});var A=c(96559),B=c(48088),C=c(37719),D=c(26191),E=c(81289),F=c(261),G=c(92603),H=c(39893),I=c(14823),J=c(47220),K=c(66946),L=c(47912),M=c(99786),N=c(46143),O=c(86439),P=c(43365),Q=c(9651),R=c(76895),S=c(10026),T=c(66061),U=c(89131),V=c(21974);function W(a="default-tracer"){try{return!!R.u.getTracer(a)}catch{return!1}}function X(a){let b=S.$.getBaggage(a),c=b?.getEntry("http.request_id")?.value;return{requestId:c,componentName:b?.getEntry("componentName")?.value,runId:b?.getEntry("runId")?.value}}function Y(a){return function(b){return Object.getOwnPropertyNames(b.prototype).forEach(c=>{var d;if(a?.excludeMethods?.includes(c)||"constructor"===c||a?.methodFilter&&!a.methodFilter(c))return;let e=Object.getOwnPropertyDescriptor(b.prototype,c);e&&"function"==typeof e.value&&Object.defineProperty(b.prototype,c,(d={spanName:a?.prefix?`${a.prefix}.${c}`:c,skipIfNoTelemetry:!0,spanKind:a?.spanKind||V.v.INTERNAL,tracerName:a?.tracerName},function(a,b,c){if(!c||"number"==typeof c)return;let e=c.value,f=String(b);return c.value=function(...a){let b,c,g;if(d?.skipIfNoTelemetry&&!W(d?.tracerName))return e.apply(this,a);let h=R.u.getTracer(d?.tracerName??"default-tracer");"string"==typeof d?b=d:d?(b=d.spanName||f,c=d.spanKind):b=f;let i=h.startSpan(b,{kind:c}),j=R.u.setSpan(T._.active(),i);a.forEach((a,c)=>{try{i.setAttribute(`${b}.argument.${c}`,JSON.stringify(a))}catch{i.setAttribute(`${b}.argument.${c}`,"[Not Serializable]")}});let{requestId:k,componentName:l,runId:m}=X(j);k&&i.setAttribute("http.request_id",k),l?(i.setAttribute("componentName",l),i.setAttribute("runId",m)):this&&this.name&&(i.setAttribute("componentName",this.name),i.setAttribute("runId",this.runId),j=S.$.setBaggage(j,S.$.createBaggage({componentName:{value:this.name},runId:{value:this.runId},"http.request_id":{value:k}})));try{if((g=T._.with(j,()=>e.apply(this,a)))instanceof Promise)return g.then(a=>{try{i.setAttribute(`${b}.result`,JSON.stringify(a))}catch{i.setAttribute(`${b}.result`,"[Not Serializable]")}return a}).finally(()=>i.end());try{i.setAttribute(`${b}.result`,JSON.stringify(g))}catch{i.setAttribute(`${b}.result`,"[Not Serializable]")}return g}catch(a){throw i.setStatus({code:U.s.ERROR,message:a instanceof Error?a.message:"Unknown error"}),a instanceof Error&&i.recordException(a),a}finally{g instanceof Promise||i.end()}},c})(b,c,e))}),b}}(class a{tracer=trace.getTracer("default");name="default-service";constructor(a){this.name=a.serviceName??"default-service",this.tracer=trace.getTracer(this.name)}async shutdown(){}static init(b={}){try{return globalThis.__TELEMETRY__||(globalThis.__TELEMETRY__=new a(b)),globalThis.__TELEMETRY__}catch(a){throw new MastraError({id:"TELEMETRY_INIT_FAILED",text:"Failed to initialize telemetry",domain:"MASTRA_TELEMETRY",category:"SYSTEM"},a)}}static getActiveSpan(){return trace.getActiveSpan()}static get(){if(!globalThis.__TELEMETRY__)throw new MastraError({id:"TELEMETRY_GETTER_FAILED_GLOBAL_TELEMETRY_NOT_INITIALIZED",text:"Telemetry not initialized",domain:"MASTRA_TELEMETRY",category:"USER"});return globalThis.__TELEMETRY__}traceClass(a,b={}){let{skipIfNoTelemetry:c=!0}=b;if(c&&!W())return a;let{spanNamePrefix:d=a.constructor.name.toLowerCase(),attributes:e={},excludeMethods:f=[]}=b;return new Proxy(a,{get:(a,b)=>{let c=a[b];return"function"!=typeof c||"constructor"===b||b.toString().startsWith("_")||f.includes(b.toString())?c:this.traceMethod(c.bind(a),{spanName:`${d}.${b.toString()}`,attributes:{...e,[`${d}.name`]:a.constructor.name,[`${d}.method.name`]:b.toString()}})}})}static setBaggage(a,b=context.active()){let c=Object.fromEntries(propagation.getBaggage(b)?.getAllEntries()??[]);return propagation.setBaggage(b,propagation.createBaggage({...c,...a}))}static withContext(a,b){return context.with(a,b)}traceMethod(a,b){let c=context.active(),{skipIfNoTelemetry:d=!0}=b;return d&&!W()?a:(...d)=>{let e=this.tracer.startSpan(b.spanName);function f(a){throw e.recordException(a),e.setStatus({code:SpanStatusCode.ERROR,message:a.message}),e.end(),a}try{let g,h=function(a){try{e.setAttribute(`${b.spanName}.result`,JSON.stringify(a))}catch{e.setAttribute(`${b.spanName}.result`,"[Not Serializable]")}return e.end(),a},{requestId:i,componentName:j,runId:k}=X(c);if(b.attributes&&e.setAttributes(b.attributes),i&&e.setAttribute("http.request_id",i),b.attributes?.componentName?c=propagation.setBaggage(c,propagation.createBaggage({componentName:{value:b.attributes.componentName},runId:{value:b.attributes.runId},"http.request_id":{value:i}})):j?(e.setAttribute("componentName",j),e.setAttribute("runId",k)):this&&this.name&&(e.setAttribute("componentName",this.name),e.setAttribute("runId",this.runId),c=propagation.setBaggage(c,propagation.createBaggage({componentName:{value:this.name},runId:{value:this.runId},"http.request_id":{value:i}}))),d.forEach((a,c)=>{try{e.setAttribute(`${b.spanName}.argument.${c}`,JSON.stringify(a))}catch{e.setAttribute(`${b.spanName}.argument.${c}`,"[Not Serializable]")}}),context.with(trace.setSpan(c,e),()=>{g=a(...d)}),g instanceof Promise)return g.then(h).catch(f);return h(g)}catch(a){f(a)}}}getBaggageTracer(){return new Z(this.tracer)}});var Z=class{_tracer;constructor(a){this._tracer=a}startSpan(a,b={},c){c=c??context.active();let d=this._tracer.startSpan(a,b,c),{componentName:e,runId:f,requestId:g}=X(c);return d.setAttribute("componentName",e),d.setAttribute("runId",f),d.setAttribute("http.request_id",g),d}startActiveSpan(a,b,c,d){return"function"==typeof b?this._tracer.startActiveSpan(a,{},context.active(),a=>{let{componentName:c,runId:d,requestId:e}=X(context.active());return a.setAttribute("componentName",c),a.setAttribute("runId",d),a.setAttribute("http.request_id",e),b(a)}):"function"==typeof c?this._tracer.startActiveSpan(a,b,context.active(),a=>{let{componentName:b,runId:d,requestId:e}=X(context.active());return a.setAttribute("componentName",b),a.setAttribute("runId",d),a.setAttribute("http.request_id",e),c(a)}):this._tracer.startActiveSpan(a,b,c,a=>{let{componentName:b,runId:e,requestId:f}=X(c??context.active());return a.setAttribute("componentName",b),a.setAttribute("runId",e),a.setAttribute("http.request_id",f),d(a)})}},$=c(53347),_=c(18683),aa=Object.create,ab=Object.defineProperty,ac=Object.getOwnPropertyDescriptor,ad=Object.getOwnPropertyNames,ae=Object.getPrototypeOf,af=Object.prototype.hasOwnProperty,ag=(a,b)=>(b=Symbol[a])?b:Symbol.for("Symbol."+a),ah=a=>{throw TypeError(a)},ai=(a,b)=>ab(a,"name",{value:b,configurable:!0}),aj=a=>[,,,aa(a?.[ag("metadata")]??null)],ak=["class","method","getter","setter","accessor","field","value","get","set"],al=a=>void 0!==a&&"function"!=typeof a?ah("Function expected"):a,am=(a,b,c,d,e)=>({kind:ak[a],name:b,metadata:d,addInitializer:a=>c._?ah("Already initialized"):e.push(al(a||null))}),an=(a,b,c,d)=>{for(var e=0,f=a[b>>1],g=f&&f.length;e<g;e++)1&b?f[e].call(c):d=f[e].call(c,d);return d},ao=(a,b,c,d,e,f)=>{var g,h,i,j,k,l=7&b,m=!!(8&b),n=!!(16&b),o=l>3?a.length+1:l?m?1:2:0,p=ak[l+5],q=l>3&&(a[o-1]=[]),r=a[o]||(a[o]=[]),s=l&&(n||m||(e=e.prototype),l<5&&(l>3||!n)&&ac(l<4?e:{get[c](){return ar(this,f)},set[c](x){return as(this,f,x)}},c));l?n&&l<4&&ai(f,(l>2?"set ":l>1?"get ":"")+c):ai(e,c);for(var t=d.length-1;t>=0;t--)j=am(l,c,i={},a[3],r),l&&(j.static=m,j.private=n,k=j.access={has:n?a=>aq(e,a):a=>c in a},3^l&&(k.get=n?a=>(1^l?ar:at)(a,e,4^l?f:s.get):a=>a[c]),l>2&&(k.set=n?(a,b)=>as(a,e,b,4^l?f:s.set):(a,b)=>a[c]=b)),h=(0,d[t])(l?l<4?n?f:s[p]:l>4?void 0:{get:s.get,set:s.set}:e,j),i._=1,4^l||void 0===h?al(h)&&(l>4?q.unshift(h):l?n?f=h:s[p]=h:e=h):"object"!=typeof h||null===h?ah("Object expected"):(al(g=h.get)&&(s.get=g),al(g=h.set)&&(s.set=g),al(g=h.init)&&q.unshift(g));return l||((a,b,c)=>b in a?ab(a,b,{enumerable:!0,configurable:!0,writable:!0,value:c}):a[b]=c)(e,ag("metadata"),a[3]),s&&ab(e,c,s),n?4^l?f:s:e},ap=(a,b,c)=>b.has(a)||ah("Cannot "+c),aq=(a,b)=>Object(b)!==b?ah('Cannot use the "in" operator on this value'):a.has(b),ar=(a,b,c)=>(ap(a,b,"read from private field"),c?c.call(a):b.get(a)),as=(a,b,c,d)=>(ap(a,b,"write to private field"),d?d.call(a,c):b.set(a,c),c),at=(a,b,c)=>(ap(a,b,"access private method"),c);f=[Y({prefix:"voice",excludeMethods:["__setTools","__setLogger","__setTelemetry","#log"]})];var au=class extends(h=_.k){listeningModel;speechModel;speaker;realtimeConfig;constructor({listeningModel:a,speechModel:b,speaker:c,realtimeConfig:d,name:e}={}){super({component:"VOICE",name:e}),this.listeningModel=a,this.speechModel=b,this.speaker=c,this.realtimeConfig=d}traced(a,b){return this.telemetry?.traceMethod(a,{spanName:`voice.${b}`,attributes:{"voice.type":this.speechModel?.name||this.listeningModel?.name||"unknown"}})??a}updateConfig(a){this.logger.warn("updateConfig not implemented by this voice provider")}connect(a){return this.logger.warn("connect not implemented by this voice provider"),Promise.resolve()}send(a){return this.logger.warn("relay not implemented by this voice provider"),Promise.resolve()}answer(a){return this.logger.warn("answer not implemented by this voice provider"),Promise.resolve()}addInstructions(a){}addTools(a){}close(){this.logger.warn("close not implemented by this voice provider")}on(a,b){this.logger.warn("on not implemented by this voice provider")}off(a,b){this.logger.warn("off not implemented by this voice provider")}getSpeakers(){return this.logger.warn("getSpeakers not implemented by this voice provider"),Promise.resolve([])}getListener(){return this.logger.warn("getListener not implemented by this voice provider"),Promise.resolve({enabled:!1})}};au=ao(g=aj(h),0,"MastraVoice",f,au),an(g,1,au);var av=class extends au{constructor(){super()}async speak(a){throw new $.bH({id:"VOICE_DEFAULT_NO_SPEAK_PROVIDER",text:"No voice provider configured",domain:"MASTRA_VOICE",category:"USER"})}async listen(a){throw new $.bH({id:"VOICE_DEFAULT_NO_LISTEN_PROVIDER",text:"No voice provider configured",domain:"MASTRA_VOICE",category:"USER"})}async getSpeakers(){throw new $.bH({id:"VOICE_DEFAULT_NO_SPEAKERS_PROVIDER",text:"No voice provider configured",domain:"MASTRA_VOICE",category:"USER"})}async getListener(){throw new $.bH({id:"VOICE_DEFAULT_NO_LISTENER_PROVIDER",text:"No voice provider configured",domain:"MASTRA_VOICE",category:"USER"})}},aw=c(615),ax=c(55511),ay=c(62959),az=c(26146),aA=c(20263),aB=c(72300),aC=Object.defineProperty,aD=(a,b)=>{for(var c in b)aC(a,c,{get:b[c],enumerable:!0})};function aE(a,{contentType:b,dataStreamVersion:c}){let d=new Headers(null!=a?a:{});return d.has("Content-Type")||d.set("Content-Type",b),void 0!==c&&d.set("X-Vercel-AI-Data-Stream",c),d}function aF(a,{contentType:b,dataStreamVersion:c}){let d={};if(null!=a)for(let[b,c]of Object.entries(a))d[b]=c;return null==d["Content-Type"]&&(d["Content-Type"]=b),void 0!==c&&(d["X-Vercel-AI-Data-Stream"]=c),d}function aG({response:a,status:b,statusText:c,headers:d,stream:e}){a.writeHead(null!=b?b:200,c,d);let f=e.getReader();(async()=>{try{for(;;){let{done:b,value:c}=await f.read();if(b)break;a.write(c)}}catch(a){throw a}finally{a.end()}})()}var aH=class extends ay.bD{constructor(){super({name:"AI_UnsupportedModelVersionError",message:'Unsupported model version. AI SDK 4 only supports models that implement specification version "v1". Please upgrade to AI SDK 5 to use this model.'})}},aI="AI_InvalidArgumentError",aJ=`vercel.ai.error.${aI}`,aK=Symbol.for(aJ),aL=class extends ay.bD{constructor({parameter:a,value:b,message:c}){super({name:aI,message:`Invalid argument for parameter ${a}: ${c}`}),this[i]=!0,this.parameter=a,this.value=b}static isInstance(a){return ay.bD.hasMarker(a,aJ)}};i=aK;var aM="AI_RetryError",aN=`vercel.ai.error.${aM}`,aO=Symbol.for(aN),aP=class extends ay.bD{constructor({message:a,reason:b,errors:c}){super({name:aM,message:a}),this[j]=!0,this.reason=b,this.errors=c,this.lastError=c[c.length-1]}static isInstance(a){return ay.bD.hasMarker(a,aN)}};async function aQ(a,{maxRetries:b,delayInMs:c,backoffFactor:d},e=[]){try{return await a()}catch(i){if((0,az.zf)(i)||0===b)throw i;let f=(0,az.u1)(i),g=[...e,i],h=g.length;if(h>b)throw new aP({message:`Failed after ${h} attempts. Last error: ${f}`,reason:"maxRetriesExceeded",errors:g});if(i instanceof Error&&ay.hL.isInstance(i)&&!0===i.isRetryable&&h<=b)return await (0,az.cb)(c),aQ(a,{maxRetries:b,delayInMs:d*c,backoffFactor:d},g);if(1===h)throw i;throw new aP({message:`Failed after ${h} attempts with non-retryable error: '${f}'`,reason:"errorNotRetryable",errors:g})}}function aR({maxRetries:a}){if(null!=a){if(!Number.isInteger(a))throw new aL({parameter:"maxRetries",value:a,message:"maxRetries must be an integer"});if(a<0)throw new aL({parameter:"maxRetries",value:a,message:"maxRetries must be >= 0"})}let b=null!=a?a:2;return{maxRetries:b,retry:(({maxRetries:a=2,initialDelayInMs:b=2e3,backoffFactor:c=2}={})=>async d=>aQ(d,{maxRetries:a,delayInMs:b,backoffFactor:c}))({maxRetries:b})}}function aS({operationId:a,telemetry:b}){return{"operation.name":`${a}${(null==b?void 0:b.functionId)!=null?` ${b.functionId}`:""}`,"resource.name":null==b?void 0:b.functionId,"ai.operationId":a,"ai.telemetry.functionId":null==b?void 0:b.functionId}}function aT({model:a,settings:b,telemetry:c,headers:d}){var e;return{"ai.model.provider":a.provider,"ai.model.id":a.modelId,...Object.entries(b).reduce((a,[b,c])=>(a[`ai.settings.${b}`]=c,a),{}),...Object.entries(null!=(e=null==c?void 0:c.metadata)?e:{}).reduce((a,[b,c])=>(a[`ai.telemetry.metadata.${b}`]=c,a),{}),...Object.entries(null!=d?d:{}).reduce((a,[b,c])=>(void 0!==c&&(a[`ai.request.headers.${b}`]=c),a),{})}}j=aO;var aU={startSpan:()=>aV,startActiveSpan:(a,b,c,d)=>"function"==typeof b?b(aV):"function"==typeof c?c(aV):"function"==typeof d?d(aV):void 0},aV={spanContext:()=>aW,setAttribute(){return this},setAttributes(){return this},addEvent(){return this},addLink(){return this},addLinks(){return this},setStatus(){return this},updateName(){return this},end(){return this},isRecording:()=>!1,recordException(){return this}},aW={traceId:"",spanId:"",traceFlags:0};function aX({isEnabled:a=!1,tracer:b}={}){return a?b||R.u.getTracer("ai"):aU}function aY({name:a,tracer:b,attributes:c,fn:d,endWhenDone:e=!0}){return b.startActiveSpan(a,{attributes:c},async a=>{try{let b=await d(a);return e&&a.end(),b}catch(b){try{aZ(a,b)}finally{a.end()}throw b}})}function aZ(a,b){b instanceof Error?(a.recordException({name:b.name,message:b.message,stack:b.stack}),a.setStatus({code:U.s.ERROR,message:b.message})):a.setStatus({code:U.s.ERROR})}function a$({telemetry:a,attributes:b}){return(null==a?void 0:a.isEnabled)!==!0?{}:Object.entries(b).reduce((b,[c,d])=>{if(void 0===d)return b;if("object"==typeof d&&"input"in d&&"function"==typeof d.input){if((null==a?void 0:a.recordInputs)===!1)return b;let e=d.input();return void 0===e?b:{...b,[c]:e}}if("object"==typeof d&&"output"in d&&"function"==typeof d.output){if((null==a?void 0:a.recordOutputs)===!1)return b;let e=d.output();return void 0===e?b:{...b,[c]:e}}return{...b,[c]:d}},{})}Symbol.for("vercel.ai.error.AI_NoImageGeneratedError");ay.bD;var a_=class{constructor({data:a,mimeType:b}){let c=a instanceof Uint8Array;this.base64Data=c?void 0:a,this.uint8ArrayData=c?a:void 0,this.mimeType=b}get base64(){return null==this.base64Data&&(this.base64Data=(0,az.n_)(this.uint8ArrayData)),this.base64Data}get uint8Array(){return null==this.uint8ArrayData&&(this.uint8ArrayData=(0,az.Z9)(this.base64Data)),this.uint8ArrayData}},a0=class extends a_{constructor(a){super(a),this.type="file"}},a1=[{mimeType:"image/gif",bytesPrefix:[71,73,70],base64Prefix:"R0lG"},{mimeType:"image/png",bytesPrefix:[137,80,78,71],base64Prefix:"iVBORw"},{mimeType:"image/jpeg",bytesPrefix:[255,216],base64Prefix:"/9j/"},{mimeType:"image/webp",bytesPrefix:[82,73,70,70],base64Prefix:"UklGRg"},{mimeType:"image/bmp",bytesPrefix:[66,77],base64Prefix:"Qk"},{mimeType:"image/tiff",bytesPrefix:[73,73,42,0],base64Prefix:"SUkqAA"},{mimeType:"image/tiff",bytesPrefix:[77,77,0,42],base64Prefix:"TU0AKg"},{mimeType:"image/avif",bytesPrefix:[0,0,0,32,102,116,121,112,97,118,105,102],base64Prefix:"AAAAIGZ0eXBhdmlm"},{mimeType:"image/heic",bytesPrefix:[0,0,0,32,102,116,121,112,104,101,105,99],base64Prefix:"AAAAIGZ0eXBoZWlj"}],a2="AI_NoObjectGeneratedError",a3=`vercel.ai.error.${a2}`,a4=Symbol.for(a3),a5=class extends ay.bD{constructor({message:a="No object generated.",cause:b,text:c,response:d,usage:e,finishReason:f}){super({name:a2,message:a,cause:b}),this[k]=!0,this.text=c,this.response=d,this.usage=e,this.finishReason=f}static isInstance(a){return ay.bD.hasMarker(a,a3)}};k=a4;var a6="AI_DownloadError",a7=`vercel.ai.error.${a6}`,a8=Symbol.for(a7),a9=class extends ay.bD{constructor({url:a,statusCode:b,statusText:c,cause:d,message:e=null==d?`Failed to download ${a}: ${b} ${c}`:`Failed to download ${a}: ${d}`}){super({name:a6,message:e,cause:d}),this[l]=!0,this.url=a,this.statusCode=b,this.statusText=c}static isInstance(a){return ay.bD.hasMarker(a,a7)}};async function ba({url:a}){var b;let c=a.toString();try{let a=await fetch(c);if(!a.ok)throw new a9({url:c,statusCode:a.status,statusText:a.statusText});return{data:new Uint8Array(await a.arrayBuffer()),mimeType:null!=(b=a.headers.get("content-type"))?b:void 0}}catch(a){if(a9.isInstance(a))throw a;throw new a9({url:c,cause:a})}}l=a8;var bb="AI_InvalidDataContentError",bc=`vercel.ai.error.${bb}`,bd=Symbol.for(bc),be=class extends ay.bD{constructor({content:a,cause:b,message:c=`Invalid data content. Expected a base64 string, Uint8Array, ArrayBuffer, or Buffer, but got ${typeof a}.`}){super({name:bb,message:c,cause:b}),this[m]=!0,this.content=a}static isInstance(a){return ay.bD.hasMarker(a,bc)}};m=bd;var bf=aA.KC([aA.Yj(),aA.Nl(Uint8Array),aA.Nl(ArrayBuffer),aA.Ie(a=>{var b,c;return null!=(c=null==(b=globalThis.Buffer)?void 0:b.isBuffer(a))&&c},{message:"Must be a Buffer"})]);function bg(a){return"string"==typeof a?a:a instanceof ArrayBuffer?(0,az.n_)(new Uint8Array(a)):(0,az.n_)(a)}function bh(a){if(a instanceof Uint8Array)return a;if("string"==typeof a)try{return(0,az.Z9)(a)}catch(b){throw new be({message:"Invalid data content. Content string is not a base64-encoded media.",content:a,cause:b})}if(a instanceof ArrayBuffer)return new Uint8Array(a);throw new be({content:a})}var bi="AI_InvalidMessageRoleError",bj=`vercel.ai.error.${bi}`,bk=Symbol.for(bj),bl=class extends ay.bD{constructor({role:a,message:b=`Invalid message role: '${a}'. Must be one of: "system", "user", "assistant", "tool".`}){super({name:bi,message:b}),this[n]=!0,this.role=a}static isInstance(a){return ay.bD.hasMarker(a,bj)}};async function bm({prompt:a,modelSupportsImageUrls:b=!0,modelSupportsUrl:c=()=>!1,downloadImplementation:d=ba}){let e=await bn(a.messages,d,b,c);return[...null!=a.system?[{role:"system",content:a.system}]:[],...a.messages.map(a=>(function(a,b){var c,d,e,f,g,h;let i=a.role;switch(i){case"system":return{role:"system",content:a.content,providerMetadata:null!=(c=a.providerOptions)?c:a.experimental_providerMetadata};case"user":if("string"==typeof a.content)return{role:"user",content:[{type:"text",text:a.content}],providerMetadata:null!=(d=a.providerOptions)?d:a.experimental_providerMetadata};return{role:"user",content:a.content.map(a=>(function(a,b){var c,d,e,f;let g,h,i;if("text"===a.type)return{type:"text",text:a.text,providerMetadata:null!=(c=a.providerOptions)?c:a.experimental_providerMetadata};let j=a.mimeType,k=a.type;switch(k){case"image":g=a.image;break;case"file":g=a.data;break;default:throw Error(`Unsupported part type: ${k}`)}try{h="string"==typeof g?new URL(g):g}catch(a){h=g}if(h instanceof URL)if("data:"===h.protocol){let{mimeType:a,base64Content:b}=function(a){try{let[b,c]=a.split(",");return{mimeType:b.split(";")[0].split(":")[1],base64Content:c}}catch(a){return{mimeType:void 0,base64Content:void 0}}}(h.toString());if(null==a||null==b)throw Error(`Invalid data URL format in part ${k}`);j=a,i=bh(b)}else{let a=b[h.toString()];a?(i=a.data,null!=j||(j=a.mimeType)):i=h}else i=bh(h);switch(k){case"image":return i instanceof Uint8Array&&(j=null!=(d=function({data:a,signatures:b}){let c="string"==typeof a&&a.startsWith("SUQz")||"string"!=typeof a&&a.length>10&&73===a[0]&&68===a[1]&&51===a[2]?(a=>{let b="string"==typeof a?(0,az.Z9)(a):a,c=(127&b[6])<<21|(127&b[7])<<14|(127&b[8])<<7|127&b[9];return b.slice(c+10)})(a):a;for(let a of b)if("string"==typeof c?c.startsWith(a.base64Prefix):c.length>=a.bytesPrefix.length&&a.bytesPrefix.every((a,b)=>c[b]===a))return a.mimeType}({data:i,signatures:a1}))?d:j),{type:"image",image:i,mimeType:j,providerMetadata:null!=(e=a.providerOptions)?e:a.experimental_providerMetadata};case"file":if(null==j)throw Error("Mime type is missing for file part");return{type:"file",data:i instanceof Uint8Array?bg(i):i,filename:a.filename,mimeType:j,providerMetadata:null!=(f=a.providerOptions)?f:a.experimental_providerMetadata}}})(a,b)).filter(a=>"text"!==a.type||""!==a.text),providerMetadata:null!=(e=a.providerOptions)?e:a.experimental_providerMetadata};case"assistant":if("string"==typeof a.content)return{role:"assistant",content:[{type:"text",text:a.content}],providerMetadata:null!=(f=a.providerOptions)?f:a.experimental_providerMetadata};return{role:"assistant",content:a.content.filter(a=>"text"!==a.type||""!==a.text).map(a=>{var b;let c=null!=(b=a.providerOptions)?b:a.experimental_providerMetadata;switch(a.type){case"file":return{type:"file",data:a.data instanceof URL?a.data:bg(a.data),filename:a.filename,mimeType:a.mimeType,providerMetadata:c};case"reasoning":return{type:"reasoning",text:a.text,signature:a.signature,providerMetadata:c};case"redacted-reasoning":return{type:"redacted-reasoning",data:a.data,providerMetadata:c};case"text":return{type:"text",text:a.text,providerMetadata:c};case"tool-call":return{type:"tool-call",toolCallId:a.toolCallId,toolName:a.toolName,args:a.args,providerMetadata:c}}}),providerMetadata:null!=(g=a.providerOptions)?g:a.experimental_providerMetadata};case"tool":return{role:"tool",content:a.content.map(a=>{var b;return{type:"tool-result",toolCallId:a.toolCallId,toolName:a.toolName,result:a.result,content:a.experimental_content,isError:a.isError,providerMetadata:null!=(b=a.providerOptions)?b:a.experimental_providerMetadata}}),providerMetadata:null!=(h=a.providerOptions)?h:a.experimental_providerMetadata};default:throw new bl({role:i})}})(a,e))]}async function bn(a,b,c,d){let e=a.filter(a=>"user"===a.role).map(a=>a.content).filter(a=>Array.isArray(a)).flat().filter(a=>"image"===a.type||"file"===a.type).filter(a=>"image"!==a.type||!0!==c).map(a=>"image"===a.type?a.image:a.data).map(a=>"string"==typeof a&&(a.startsWith("http:")||a.startsWith("https:"))?new URL(a):a).filter(a=>a instanceof URL).filter(a=>!d(a));return Object.fromEntries((await Promise.all(e.map(async a=>({url:a,data:await b({url:a})})))).map(({url:a,data:b})=>[a.toString(),b]))}function bo({maxTokens:a,temperature:b,topP:c,topK:d,presencePenalty:e,frequencyPenalty:f,stopSequences:g,seed:h}){if(null!=a){if(!Number.isInteger(a))throw new aL({parameter:"maxTokens",value:a,message:"maxTokens must be an integer"});if(a<1)throw new aL({parameter:"maxTokens",value:a,message:"maxTokens must be >= 1"})}if(null!=b&&"number"!=typeof b)throw new aL({parameter:"temperature",value:b,message:"temperature must be a number"});if(null!=c&&"number"!=typeof c)throw new aL({parameter:"topP",value:c,message:"topP must be a number"});if(null!=d&&"number"!=typeof d)throw new aL({parameter:"topK",value:d,message:"topK must be a number"});if(null!=e&&"number"!=typeof e)throw new aL({parameter:"presencePenalty",value:e,message:"presencePenalty must be a number"});if(null!=f&&"number"!=typeof f)throw new aL({parameter:"frequencyPenalty",value:f,message:"frequencyPenalty must be a number"});if(null!=h&&!Number.isInteger(h))throw new aL({parameter:"seed",value:h,message:"seed must be an integer"});return{maxTokens:a,temperature:null!=b?b:0,topP:c,topK:d,presencePenalty:e,frequencyPenalty:f,stopSequences:null!=g&&g.length>0?g:void 0,seed:h}}function bp(a){var b,c,d;let e=[];for(let f of a){let a;try{a=new URL(f.url)}catch(a){throw Error(`Invalid URL: ${f.url}`)}switch(a.protocol){case"http:":case"https:":if(null==(b=f.contentType)?void 0:b.startsWith("image/"))e.push({type:"image",image:a});else{if(!f.contentType)throw Error("If the attachment is not an image, it must specify a content type");e.push({type:"file",data:a,mimeType:f.contentType})}break;case"data:":{let a,b,g;try{[a,b]=f.url.split(","),g=a.split(";")[0].split(":")[1]}catch(a){throw Error(`Error processing data URL: ${f.url}`)}if(null==g||null==b)throw Error(`Invalid data URL format: ${f.url}`);if(null==(c=f.contentType)?void 0:c.startsWith("image/"))e.push({type:"image",image:bh(b)});else if(null==(d=f.contentType)?void 0:d.startsWith("text/"))e.push({type:"text",text:function(a){try{return new TextDecoder().decode(a)}catch(a){throw Error("Error decoding Uint8Array to text")}}(bh(b))});else{if(!f.contentType)throw Error("If the attachment is not an image or text, it must specify a content type");e.push({type:"file",data:b,mimeType:f.contentType})}break}default:throw Error(`Unsupported URL protocol: ${a.protocol}`)}}return e}n=bk;var bq="AI_MessageConversionError",br=`vercel.ai.error.${bq}`,bs=Symbol.for(br),bt=class extends ay.bD{constructor({originalMessage:a,message:b}){super({name:bq,message:b}),this[o]=!0,this.originalMessage=a}static isInstance(a){return ay.bD.hasMarker(a,br)}};function bu(a,b){var c,d;let e=null!=(c=null==b?void 0:b.tools)?c:{},f=[];for(let b=0;b<a.length;b++){let c=a[b],g=b===a.length-1,{role:h,content:i,experimental_attachments:j}=c;switch(h){case"system":f.push({role:"system",content:i});break;case"user":if(null==c.parts)f.push({role:"user",content:j?[{type:"text",text:i},...bp(j)]:i});else{let a=c.parts.filter(a=>"text"===a.type).map(a=>({type:"text",text:a.text}));f.push({role:"user",content:j?[...a,...bp(j)]:a})}break;case"assistant":{if(null!=c.parts){let a=function(){let a=[];for(let b of h)switch(b.type){case"file":case"text":a.push(b);break;case"reasoning":for(let c of b.details)switch(c.type){case"text":a.push({type:"reasoning",text:c.text,signature:c.signature});break;case"redacted":a.push({type:"redacted-reasoning",data:c.data})}break;case"tool-invocation":a.push({type:"tool-call",toolCallId:b.toolInvocation.toolCallId,toolName:b.toolInvocation.toolName,args:b.toolInvocation.args});break;default:throw Error(`Unsupported part: ${b}`)}f.push({role:"assistant",content:a});let d=h.filter(a=>"tool-invocation"===a.type).map(a=>a.toolInvocation);d.length>0&&f.push({role:"tool",content:d.map(a=>{if(!("result"in a))throw new bt({originalMessage:c,message:"ToolInvocation must have a result: "+JSON.stringify(a)});let{toolCallId:b,toolName:d,result:f}=a,g=e[d];return(null==g?void 0:g.experimental_toToolResultContent)!=null?{type:"tool-result",toolCallId:b,toolName:d,result:g.experimental_toToolResultContent(f),experimental_content:g.experimental_toToolResultContent(f)}:{type:"tool-result",toolCallId:b,toolName:d,result:f}})}),h=[],g=!1,b++},b=0,g=!1,h=[];for(let e of c.parts)switch(e.type){case"text":g&&a(),h.push(e);break;case"file":case"reasoning":h.push(e);break;case"tool-invocation":(null!=(d=e.toolInvocation.step)?d:0)!==b&&a(),h.push(e),g=!0}a();break}let a=c.toolInvocations;if(null==a||0===a.length){f.push({role:"assistant",content:i});break}let b=a.reduce((a,b)=>{var c;return Math.max(a,null!=(c=b.step)?c:0)},0);for(let d=0;d<=b;d++){let b=a.filter(a=>{var b;return(null!=(b=a.step)?b:0)===d});0!==b.length&&(f.push({role:"assistant",content:[...g&&i&&0===d?[{type:"text",text:i}]:[],...b.map(({toolCallId:a,toolName:b,args:c})=>({type:"tool-call",toolCallId:a,toolName:b,args:c}))]}),f.push({role:"tool",content:b.map(a=>{if(!("result"in a))throw new bt({originalMessage:c,message:"ToolInvocation must have a result: "+JSON.stringify(a)});let{toolCallId:b,toolName:d,result:f}=a,g=e[d];return(null==g?void 0:g.experimental_toToolResultContent)!=null?{type:"tool-result",toolCallId:b,toolName:d,result:g.experimental_toToolResultContent(f),experimental_content:g.experimental_toToolResultContent(f)}:{type:"tool-result",toolCallId:b,toolName:d,result:f}})}))}i&&!g&&f.push({role:"assistant",content:i});break}case"data":break;default:throw new bt({originalMessage:c,message:`Unsupported role: ${h}`})}}return f}o=bs;var bv=aA.RZ(()=>aA.KC([aA.ch(),aA.Yj(),aA.ai(),aA.zM(),aA.g1(aA.Yj(),bv),aA.YO(bv)])),bw=aA.g1(aA.Yj(),aA.g1(aA.Yj(),bv)),bx=aA.YO(aA.KC([aA.Ik({type:aA.eu("text"),text:aA.Yj()}),aA.Ik({type:aA.eu("image"),data:aA.Yj(),mimeType:aA.Yj().optional()})])),by=aA.Ik({type:aA.eu("text"),text:aA.Yj(),providerOptions:bw.optional(),experimental_providerMetadata:bw.optional()}),bz=aA.Ik({type:aA.eu("image"),image:aA.KC([bf,aA.Nl(URL)]),mimeType:aA.Yj().optional(),providerOptions:bw.optional(),experimental_providerMetadata:bw.optional()}),bA=aA.Ik({type:aA.eu("file"),data:aA.KC([bf,aA.Nl(URL)]),filename:aA.Yj().optional(),mimeType:aA.Yj(),providerOptions:bw.optional(),experimental_providerMetadata:bw.optional()}),bB=aA.Ik({type:aA.eu("reasoning"),text:aA.Yj(),providerOptions:bw.optional(),experimental_providerMetadata:bw.optional()}),bC=aA.Ik({type:aA.eu("redacted-reasoning"),data:aA.Yj(),providerOptions:bw.optional(),experimental_providerMetadata:bw.optional()}),bD=aA.Ik({type:aA.eu("tool-call"),toolCallId:aA.Yj(),toolName:aA.Yj(),args:aA.L5(),providerOptions:bw.optional(),experimental_providerMetadata:bw.optional()}),bE=aA.Ik({type:aA.eu("tool-result"),toolCallId:aA.Yj(),toolName:aA.Yj(),result:aA.L5(),content:bx.optional(),isError:aA.zM().optional(),providerOptions:bw.optional(),experimental_providerMetadata:bw.optional()}),bF=aA.Ik({role:aA.eu("system"),content:aA.Yj(),providerOptions:bw.optional(),experimental_providerMetadata:bw.optional()}),bG=aA.Ik({role:aA.eu("user"),content:aA.KC([aA.Yj(),aA.YO(aA.KC([by,bz,bA]))]),providerOptions:bw.optional(),experimental_providerMetadata:bw.optional()}),bH=aA.Ik({role:aA.eu("assistant"),content:aA.KC([aA.Yj(),aA.YO(aA.KC([by,bA,bB,bC,bD]))]),providerOptions:bw.optional(),experimental_providerMetadata:bw.optional()}),bI=aA.Ik({role:aA.eu("tool"),content:aA.YO(bE),providerOptions:bw.optional(),experimental_providerMetadata:bw.optional()}),bJ=aA.KC([bF,bG,bH,bI]);function bK({prompt:a,tools:b}){if(null==a.prompt&&null==a.messages)throw new ay.M3({prompt:a,message:"prompt or messages must be defined"});if(null!=a.prompt&&null!=a.messages)throw new ay.M3({prompt:a,message:"prompt and messages cannot be defined at the same time"});if(null!=a.system&&"string"!=typeof a.system)throw new ay.M3({prompt:a,message:"system must be a string"});if(null!=a.prompt){if("string"!=typeof a.prompt)throw new ay.M3({prompt:a,message:"prompt must be a string"});return{type:"prompt",system:a.system,messages:[{role:"user",content:a.prompt}]}}if(null!=a.messages){let c="ui-messages"===function(a){if(!Array.isArray(a))throw new ay.M3({prompt:a,message:`messages must be an array of CoreMessage or UIMessage
2
- Received non-array value: ${JSON.stringify(a)}`,cause:a});if(0===a.length)return"messages";let b=a.map(bL);if(b.some(a=>"has-ui-specific-parts"===a))return"ui-messages";let c=b.findIndex(a=>"has-core-specific-parts"!==a&&"message"!==a);if(-1===c)return"messages";throw new ay.M3({prompt:a,message:`messages must be an array of CoreMessage or UIMessage
3
- Received message of type: "${b[c]}" at index ${c}
4
- messages[${c}]: ${JSON.stringify(a[c])}`,cause:a})}(a.messages)?bu(a.messages,{tools:b}):a.messages;if(0===c.length)throw new ay.M3({prompt:a,message:"messages must not be empty"});let d=(0,az.ZZ)({value:c,schema:aA.YO(bJ)});if(!d.success)throw new ay.M3({prompt:a,message:`message must be a CoreMessage or a UI message
5
- Validation error: ${d.error.message}`,cause:d.error});return{type:"messages",messages:c,system:a.system}}throw Error("unreachable")}function bL(a){return"object"==typeof a&&null!==a&&("function"===a.role||"data"===a.role||"toolInvocations"in a||"parts"in a||"experimental_attachments"in a)?"has-ui-specific-parts":"object"==typeof a&&null!==a&&"content"in a&&(Array.isArray(a.content)||"experimental_providerMetadata"in a||"providerOptions"in a)?"has-core-specific-parts":"object"==typeof a&&null!==a&&"role"in a&&"content"in a&&"string"==typeof a.content&&["system","user","assistant","tool"].includes(a.role)?"message":"other"}function bM({promptTokens:a,completionTokens:b}){return{promptTokens:a,completionTokens:b,totalTokens:a+b}}function bN(a,b){return{promptTokens:a.promptTokens+b.promptTokens,completionTokens:a.completionTokens+b.completionTokens,totalTokens:a.totalTokens+b.totalTokens}}function bO({prompt:a,schema:b,schemaPrefix:c=null!=b?"JSON schema:":void 0,schemaSuffix:d=null!=b?"You MUST answer with a JSON object that matches the JSON schema above.":"You MUST answer with JSON."}){return[null!=a&&a.length>0?a:void 0,null!=a&&a.length>0?"":void 0,c,null!=b?JSON.stringify(b):void 0,d].filter(a=>null!=a).join("\n")}function bP(a){let b=a.pipeThrough(new TransformStream);return b[Symbol.asyncIterator]=()=>{let a=b.getReader();return{async next(){let{done:b,value:c}=await a.read();return b?{done:!0,value:void 0}:{done:!1,value:c}}}},b}var bQ={type:"no-schema",jsonSchema:void 0,validatePartialResult:({value:a,textDelta:b})=>({success:!0,value:{partial:a,textDelta:b}}),validateFinalResult:(a,b)=>void 0===a?{success:!1,error:new a5({message:"No object generated: response did not match schema.",text:b.text,response:b.response,usage:b.usage,finishReason:b.finishReason})}:{success:!0,value:a},createElementStream(){throw new ay.b8({functionality:"element streams in no-schema mode"})}};function bR({output:a,schema:b,enumValues:c}){switch(a){case"object":let d;return{type:"object",jsonSchema:(d=(0,aB.mD)(b)).jsonSchema,validatePartialResult:({value:a,textDelta:b})=>({success:!0,value:{partial:a,textDelta:b}}),validateFinalResult:a=>(0,az.ZZ)({value:a,schema:d}),createElementStream(){throw new ay.b8({functionality:"element streams in object mode"})}};case"array":var e=(0,aB.mD)(b);let{$schema:f,...g}=e.jsonSchema;return{type:"enum",jsonSchema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{elements:{type:"array",items:g}},required:["elements"],additionalProperties:!1},validatePartialResult({value:a,latestObject:b,isFirstDelta:c,isFinalDelta:d}){var f;if(!(0,ay.k9)(a)||!(0,ay.cj)(a.elements))return{success:!1,error:new ay.iM({value:a,cause:"value must be an object that contains an array of elements"})};let g=a.elements,h=[];for(let a=0;a<g.length;a++){let b=g[a],c=(0,az.ZZ)({value:b,schema:e});if(a!==g.length-1||d){if(!c.success)return c;h.push(c.value)}}let i=null!=(f=null==b?void 0:b.length)?f:0,j="";return c&&(j+="["),i>0&&(j+=","),j+=h.slice(i).map(a=>JSON.stringify(a)).join(","),d&&(j+="]"),{success:!0,value:{partial:h,textDelta:j}}},validateFinalResult(a){if(!(0,ay.k9)(a)||!(0,ay.cj)(a.elements))return{success:!1,error:new ay.iM({value:a,cause:"value must be an object that contains an array of elements"})};let b=a.elements;for(let a of b){let b=(0,az.ZZ)({value:a,schema:e});if(!b.success)return b}return{success:!0,value:b}},createElementStream(a){let b=0;return bP(a.pipeThrough(new TransformStream({transform(a,c){switch(a.type){case"object":{let d=a.object;for(;b<d.length;b++)c.enqueue(d[b]);break}case"text-delta":case"finish":case"error":break;default:throw Error(`Unsupported chunk type: ${a}`)}}})))}};case"enum":return{type:"enum",jsonSchema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{result:{type:"string",enum:c}},required:["result"],additionalProperties:!1},validateFinalResult(a){if(!(0,ay.k9)(a)||"string"!=typeof a.result)return{success:!1,error:new ay.iM({value:a,cause:'value must be an object that contains a string in the "result" property.'})};let b=a.result;return c.includes(b)?{success:!0,value:b}:{success:!1,error:new ay.iM({value:a,cause:"value must be a string in the enum"})}},validatePartialResult(){throw new ay.b8({functionality:"partial results in enum mode"})},createElementStream(){throw new ay.b8({functionality:"element streams in enum mode"})}};case"no-schema":return bQ;default:throw Error(`Unsupported output: ${a}`)}}function bS({output:a,mode:b,schema:c,schemaName:d,schemaDescription:e,enumValues:f}){if(null!=a&&"object"!==a&&"array"!==a&&"enum"!==a&&"no-schema"!==a)throw new aL({parameter:"output",value:a,message:"Invalid output type."});if("no-schema"===a){if("auto"===b||"tool"===b)throw new aL({parameter:"mode",value:b,message:'Mode must be "json" for no-schema output.'});if(null!=c)throw new aL({parameter:"schema",value:c,message:"Schema is not supported for no-schema output."});if(null!=e)throw new aL({parameter:"schemaDescription",value:e,message:"Schema description is not supported for no-schema output."});if(null!=d)throw new aL({parameter:"schemaName",value:d,message:"Schema name is not supported for no-schema output."});if(null!=f)throw new aL({parameter:"enumValues",value:f,message:"Enum values are not supported for no-schema output."})}if("object"===a){if(null==c)throw new aL({parameter:"schema",value:c,message:"Schema is required for object output."});if(null!=f)throw new aL({parameter:"enumValues",value:f,message:"Enum values are not supported for object output."})}if("array"===a){if(null==c)throw new aL({parameter:"schema",value:c,message:"Element schema is required for array output."});if(null!=f)throw new aL({parameter:"enumValues",value:f,message:"Enum values are not supported for array output."})}if("enum"===a){if(null!=c)throw new aL({parameter:"schema",value:c,message:"Schema is not supported for enum output."});if(null!=e)throw new aL({parameter:"schemaDescription",value:e,message:"Schema description is not supported for enum output."});if(null!=d)throw new aL({parameter:"schemaName",value:d,message:"Schema name is not supported for enum output."});if(null==f)throw new aL({parameter:"enumValues",value:f,message:"Enum values are required for enum output."});for(let a of f)if("string"!=typeof a)throw new aL({parameter:"enumValues",value:a,message:"Enum values must be strings."})}}function bT(a){return JSON.stringify(a.map(a=>({...a,content:"string"==typeof a.content?a.content:a.content.map(bU)})))}function bU(a){return"image"===a.type?{...a,image:a.image instanceof Uint8Array?bg(a.image):a.image}:a}var bV=(0,az.hK)({prefix:"aiobj",size:24});async function bW({model:a,enum:b,schema:c,schemaName:d,schemaDescription:e,mode:f,output:g="object",system:h,prompt:i,messages:j,maxRetries:k,abortSignal:l,headers:m,experimental_repairText:n,experimental_telemetry:o,experimental_providerMetadata:p,providerOptions:q=p,_internal:{generateId:r=bV,currentDate:s=()=>new Date}={},...t}){if("string"==typeof a||"v1"!==a.specificationVersion)throw new aH;bS({output:g,mode:f,schema:c,schemaName:d,schemaDescription:e,enumValues:b});let{maxRetries:u,retry:v}=aR({maxRetries:k}),w=bR({output:g,schema:c,enumValues:b});"no-schema"===w.type&&void 0===f&&(f="json");let y=aT({model:a,telemetry:o,headers:m,settings:{...t,maxRetries:u}}),z=aX(o);return aY({name:"ai.generateObject",attributes:a$({telemetry:o,attributes:{...aS({operationId:"ai.generateObject",telemetry:o}),...y,"ai.prompt":{input:()=>JSON.stringify({system:h,prompt:i,messages:j})},"ai.schema":null!=w.jsonSchema?{input:()=>JSON.stringify(w.jsonSchema)}:void 0,"ai.schema.name":d,"ai.schema.description":e,"ai.settings.output":w.type,"ai.settings.mode":f}}),tracer:z,fn:async b=>{var c,g,k,p;let u,A,B,C,D,E,F,G,H,I;switch(("auto"===f||null==f)&&(f=a.defaultObjectGenerationMode),f){case"json":{let b=bK({prompt:{system:null==w.jsonSchema?bO({prompt:h}):a.supportsStructuredOutputs?h:bO({prompt:h,schema:w.jsonSchema}),prompt:i,messages:j},tools:void 0}),k=await bm({prompt:b,modelSupportsImageUrls:a.supportsImageUrls,modelSupportsUrl:null==(c=a.supportsUrl)?void 0:c.bind(a)}),n=await v(()=>aY({name:"ai.generateObject.doGenerate",attributes:a$({telemetry:o,attributes:{...aS({operationId:"ai.generateObject.doGenerate",telemetry:o}),...y,"ai.prompt.format":{input:()=>b.type},"ai.prompt.messages":{input:()=>JSON.stringify(k)},"ai.settings.mode":f,"gen_ai.system":a.provider,"gen_ai.request.model":a.modelId,"gen_ai.request.frequency_penalty":t.frequencyPenalty,"gen_ai.request.max_tokens":t.maxTokens,"gen_ai.request.presence_penalty":t.presencePenalty,"gen_ai.request.temperature":t.temperature,"gen_ai.request.top_k":t.topK,"gen_ai.request.top_p":t.topP}}),tracer:z,fn:async c=>{var f,g,h,i,j,n;let p=await a.doGenerate({mode:{type:"object-json",schema:w.jsonSchema,name:d,description:e},...bo(t),inputFormat:b.type,prompt:k,providerMetadata:q,abortSignal:l,headers:m}),u={id:null!=(g=null==(f=p.response)?void 0:f.id)?g:r(),timestamp:null!=(i=null==(h=p.response)?void 0:h.timestamp)?i:s(),modelId:null!=(n=null==(j=p.response)?void 0:j.modelId)?n:a.modelId};if(void 0===p.text)throw new a5({message:"No object generated: the model did not return a response.",response:u,usage:bM(p.usage),finishReason:p.finishReason});return c.setAttributes(a$({telemetry:o,attributes:{"ai.response.finishReason":p.finishReason,"ai.response.object":{output:()=>p.text},"ai.response.id":u.id,"ai.response.model":u.modelId,"ai.response.timestamp":u.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(p.providerMetadata),"ai.usage.promptTokens":p.usage.promptTokens,"ai.usage.completionTokens":p.usage.completionTokens,"gen_ai.response.finish_reasons":[p.finishReason],"gen_ai.response.id":u.id,"gen_ai.response.model":u.modelId,"gen_ai.usage.prompt_tokens":p.usage.promptTokens,"gen_ai.usage.completion_tokens":p.usage.completionTokens}})),{...p,objectText:p.text,responseData:u}}}));u=n.objectText,A=n.finishReason,B=n.usage,C=n.warnings,D=n.rawResponse,G=n.logprobs,H=n.providerMetadata,F=null!=(g=n.request)?g:{},E=n.responseData;break}case"tool":{let b=bK({prompt:{system:h,prompt:i,messages:j},tools:void 0}),c=await bm({prompt:b,modelSupportsImageUrls:a.supportsImageUrls,modelSupportsUrl:null==(k=a.supportsUrl)?void 0:k.bind(a)}),g=b.type,n=await v(()=>aY({name:"ai.generateObject.doGenerate",attributes:a$({telemetry:o,attributes:{...aS({operationId:"ai.generateObject.doGenerate",telemetry:o}),...y,"ai.prompt.format":{input:()=>g},"ai.prompt.messages":{input:()=>bT(c)},"ai.settings.mode":f,"gen_ai.system":a.provider,"gen_ai.request.model":a.modelId,"gen_ai.request.frequency_penalty":t.frequencyPenalty,"gen_ai.request.max_tokens":t.maxTokens,"gen_ai.request.presence_penalty":t.presencePenalty,"gen_ai.request.temperature":t.temperature,"gen_ai.request.top_k":t.topK,"gen_ai.request.top_p":t.topP}}),tracer:z,fn:async b=>{var f,h,i,j,k,n,p,u;let v=await a.doGenerate({mode:{type:"object-tool",tool:{type:"function",name:null!=d?d:"json",description:null!=e?e:"Respond with a JSON object.",parameters:w.jsonSchema}},...bo(t),inputFormat:g,prompt:c,providerMetadata:q,abortSignal:l,headers:m}),y=null==(h=null==(f=v.toolCalls)?void 0:f[0])?void 0:h.args,z={id:null!=(j=null==(i=v.response)?void 0:i.id)?j:r(),timestamp:null!=(n=null==(k=v.response)?void 0:k.timestamp)?n:s(),modelId:null!=(u=null==(p=v.response)?void 0:p.modelId)?u:a.modelId};if(void 0===y)throw new a5({message:"No object generated: the tool was not called.",response:z,usage:bM(v.usage),finishReason:v.finishReason});return b.setAttributes(a$({telemetry:o,attributes:{"ai.response.finishReason":v.finishReason,"ai.response.object":{output:()=>y},"ai.response.id":z.id,"ai.response.model":z.modelId,"ai.response.timestamp":z.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(v.providerMetadata),"ai.usage.promptTokens":v.usage.promptTokens,"ai.usage.completionTokens":v.usage.completionTokens,"gen_ai.response.finish_reasons":[v.finishReason],"gen_ai.response.id":z.id,"gen_ai.response.model":z.modelId,"gen_ai.usage.input_tokens":v.usage.promptTokens,"gen_ai.usage.output_tokens":v.usage.completionTokens}})),{...v,objectText:y,responseData:z}}}));u=n.objectText,A=n.finishReason,B=n.usage,C=n.warnings,D=n.rawResponse,G=n.logprobs,H=n.providerMetadata,F=null!=(p=n.request)?p:{},E=n.responseData;break}case void 0:throw Error("Model does not have a default object generation mode.");default:{let a=f;throw Error(`Unsupported mode: ${a}`)}}function J(a){let b=(0,az.N8)({text:a});if(!b.success)throw new a5({message:"No object generated: could not parse the response.",cause:b.error,text:a,response:E,usage:bM(B),finishReason:A});let c=w.validateFinalResult(b.value,{text:a,response:E,usage:bM(B)});if(!c.success)throw new a5({message:"No object generated: response did not match schema.",cause:c.error,text:a,response:E,usage:bM(B),finishReason:A});return c.value}try{I=J(u)}catch(a){if(null!=n&&a5.isInstance(a)&&(ay.u6.isInstance(a.cause)||ay.iM.isInstance(a.cause))){let b=await n({text:u,error:a.cause});if(null===b)throw a;I=J(b)}else throw a}return b.setAttributes(a$({telemetry:o,attributes:{"ai.response.finishReason":A,"ai.response.object":{output:()=>JSON.stringify(I)},"ai.usage.promptTokens":B.promptTokens,"ai.usage.completionTokens":B.completionTokens}})),new bX({object:I,finishReason:A,usage:bM(B),warnings:C,request:F,response:{...E,headers:null==D?void 0:D.headers,body:null==D?void 0:D.body},logprobs:G,providerMetadata:H})}})}var bX=class{constructor(a){this.object=a.object,this.finishReason=a.finishReason,this.usage=a.usage,this.warnings=a.warnings,this.providerMetadata=a.providerMetadata,this.experimental_providerMetadata=a.providerMetadata,this.response=a.response,this.request=a.request,this.logprobs=a.logprobs}toJsonResponse(a){var b;return new Response(JSON.stringify(this.object),{status:null!=(b=null==a?void 0:a.status)?b:200,headers:aE(null==a?void 0:a.headers,{contentType:"application/json; charset=utf-8"})})}},bY=class{constructor(){this.status={type:"pending"},this._resolve=void 0,this._reject=void 0}get value(){return this.promise||(this.promise=new Promise((a,b)=>{"resolved"===this.status.type?a(this.status.value):"rejected"===this.status.type&&b(this.status.error),this._resolve=a,this._reject=b})),this.promise}resolve(a){var b;this.status={type:"resolved",value:a},this.promise&&(null==(b=this._resolve)||b.call(this,a))}reject(a){var b;this.status={type:"rejected",error:a},this.promise&&(null==(b=this._reject)||b.call(this,a))}};function bZ(){let a,b;return{promise:new Promise((c,d)=>{a=c,b=d}),resolve:a,reject:b}}function b$(){let a=[],b=null,c=!1,d=bZ(),e=async()=>{if(c&&0===a.length){null==b||b.close();return}if(0===a.length)return d=bZ(),await d.promise,e();try{let{value:d,done:f}=await a[0].read();f?(a.shift(),a.length>0?await e():c&&(null==b||b.close())):null==b||b.enqueue(d)}catch(d){null==b||b.error(d),a.shift(),c&&0===a.length&&(null==b||b.close())}};return{stream:new ReadableStream({start(a){b=a},pull:e,async cancel(){for(let b of a)await b.cancel();a=[],c=!0}}),addStream:b=>{if(c)throw Error("Cannot add inner stream: outer stream is closed");a.push(b.getReader()),d.resolve()},close:()=>{c=!0,d.resolve(),0===a.length&&(null==b||b.close())},terminate:()=>{c=!0,d.resolve(),a.forEach(a=>a.cancel()),a=[],null==b||b.close()}}}function b_(){var a,b;return null!=(b=null==(a=null==globalThis?void 0:globalThis.performance)?void 0:a.now())?b:Date.now()}var b0=(0,az.hK)({prefix:"aiobj",size:24}),b1=class{constructor({model:a,headers:b,telemetry:c,settings:d,maxRetries:e,abortSignal:f,outputStrategy:g,system:h,prompt:i,messages:j,schemaName:k,schemaDescription:l,providerOptions:m,mode:n,onError:o,onFinish:p,generateId:q,currentDate:r,now:s}){this.objectPromise=new bY,this.usagePromise=new bY,this.providerMetadataPromise=new bY,this.warningsPromise=new bY,this.requestPromise=new bY,this.responsePromise=new bY;let{maxRetries:t,retry:u}=aR({maxRetries:e}),v=aT({model:a,telemetry:c,headers:b,settings:{...d,maxRetries:t}}),w=aX(c),y=this,z=b$(),A=new TransformStream({transform(a,b){b.enqueue(a),"error"===a.type&&(null==o||o({error:a.error}))}});this.baseStream=z.stream.pipeThrough(A),aY({name:"ai.streamObject",attributes:a$({telemetry:c,attributes:{...aS({operationId:"ai.streamObject",telemetry:c}),...v,"ai.prompt":{input:()=>JSON.stringify({system:h,prompt:i,messages:j})},"ai.schema":null!=g.jsonSchema?{input:()=>JSON.stringify(g.jsonSchema)}:void 0,"ai.schema.name":k,"ai.schema.description":l,"ai.settings.output":g.type,"ai.settings.mode":n}}),tracer:w,endWhenDone:!1,fn:async e=>{var o,t;let A,B,C,D,E,F,G,H,I;switch(("auto"===n||null==n)&&(n=a.defaultObjectGenerationMode),n){case"json":{let c=bK({prompt:{system:null==g.jsonSchema?bO({prompt:h}):a.supportsStructuredOutputs?h:bO({prompt:h,schema:g.jsonSchema}),prompt:i,messages:j},tools:void 0});A={mode:{type:"object-json",schema:g.jsonSchema,name:k,description:l},...bo(d),inputFormat:c.type,prompt:await bm({prompt:c,modelSupportsImageUrls:a.supportsImageUrls,modelSupportsUrl:null==(o=a.supportsUrl)?void 0:o.bind(a)}),providerMetadata:m,abortSignal:f,headers:b},B={transform:(a,b)=>{switch(a.type){case"text-delta":b.enqueue(a.textDelta);break;case"response-metadata":case"finish":case"error":b.enqueue(a)}}};break}case"tool":{let c=bK({prompt:{system:h,prompt:i,messages:j},tools:void 0});A={mode:{type:"object-tool",tool:{type:"function",name:null!=k?k:"json",description:null!=l?l:"Respond with a JSON object.",parameters:g.jsonSchema}},...bo(d),inputFormat:c.type,prompt:await bm({prompt:c,modelSupportsImageUrls:a.supportsImageUrls,modelSupportsUrl:null==(t=a.supportsUrl)?void 0:t.bind(a)}),providerMetadata:m,abortSignal:f,headers:b},B={transform(a,b){switch(a.type){case"tool-call-delta":b.enqueue(a.argsTextDelta);break;case"response-metadata":case"finish":case"error":b.enqueue(a)}}};break}case void 0:throw Error("Model does not have a default object generation mode.");default:{let a=n;throw Error(`Unsupported mode: ${a}`)}}let{result:{stream:J,warnings:K,rawResponse:L,request:M},doStreamSpan:N,startTimestampMs:O}=await u(()=>aY({name:"ai.streamObject.doStream",attributes:a$({telemetry:c,attributes:{...aS({operationId:"ai.streamObject.doStream",telemetry:c}),...v,"ai.prompt.format":{input:()=>A.inputFormat},"ai.prompt.messages":{input:()=>bT(A.prompt)},"ai.settings.mode":n,"gen_ai.system":a.provider,"gen_ai.request.model":a.modelId,"gen_ai.request.frequency_penalty":d.frequencyPenalty,"gen_ai.request.max_tokens":d.maxTokens,"gen_ai.request.presence_penalty":d.presencePenalty,"gen_ai.request.temperature":d.temperature,"gen_ai.request.top_k":d.topK,"gen_ai.request.top_p":d.topP}}),tracer:w,endWhenDone:!1,fn:async b=>({startTimestampMs:s(),doStreamSpan:b,result:await a.doStream(A)})}));y.requestPromise.resolve(null!=M?M:{});let P="",Q="",R={id:q(),timestamp:r(),modelId:a.modelId},S=!0,T=!0,U=J.pipeThrough(new TransformStream(B)).pipeThrough(new TransformStream({async transform(a,b){var c,d,e;if(S){let a=s()-O;S=!1,N.addEvent("ai.stream.firstChunk",{"ai.stream.msToFirstChunk":a}),N.setAttributes({"ai.stream.msToFirstChunk":a})}if("string"==typeof a){P+=a,Q+=a;let{value:c,state:d}=(0,aB.d1)(P);if(void 0!==c&&!(0,aB.jz)(H,c)){let a=g.validatePartialResult({value:c,textDelta:Q,latestObject:I,isFirstDelta:T,isFinalDelta:"successful-parse"===d});a.success&&!(0,aB.jz)(I,a.value.partial)&&(H=c,I=a.value.partial,b.enqueue({type:"object",object:I}),b.enqueue({type:"text-delta",textDelta:a.value.textDelta}),Q="",T=!1)}return}switch(a.type){case"response-metadata":R={id:null!=(c=a.id)?c:R.id,timestamp:null!=(d=a.timestamp)?d:R.timestamp,modelId:null!=(e=a.modelId)?e:R.modelId};break;case"finish":{""!==Q&&b.enqueue({type:"text-delta",textDelta:Q}),D=a.finishReason,C=bM(a.usage),E=a.providerMetadata,b.enqueue({...a,usage:C,response:R}),y.usagePromise.resolve(C),y.providerMetadataPromise.resolve(E),y.responsePromise.resolve({...R,headers:null==L?void 0:L.headers});let c=g.validateFinalResult(H,{text:P,response:R,usage:C});c.success?(F=c.value,y.objectPromise.resolve(F)):(G=new a5({message:"No object generated: response did not match schema.",cause:c.error,text:P,response:R,usage:C,finishReason:D}),y.objectPromise.reject(G));break}default:b.enqueue(a)}},async flush(a){try{let a=null!=C?C:{promptTokens:NaN,completionTokens:NaN,totalTokens:NaN};N.setAttributes(a$({telemetry:c,attributes:{"ai.response.finishReason":D,"ai.response.object":{output:()=>JSON.stringify(F)},"ai.response.id":R.id,"ai.response.model":R.modelId,"ai.response.timestamp":R.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(E),"ai.usage.promptTokens":a.promptTokens,"ai.usage.completionTokens":a.completionTokens,"gen_ai.response.finish_reasons":[D],"gen_ai.response.id":R.id,"gen_ai.response.model":R.modelId,"gen_ai.usage.input_tokens":a.promptTokens,"gen_ai.usage.output_tokens":a.completionTokens}})),N.end(),e.setAttributes(a$({telemetry:c,attributes:{"ai.usage.promptTokens":a.promptTokens,"ai.usage.completionTokens":a.completionTokens,"ai.response.object":{output:()=>JSON.stringify(F)},"ai.response.providerMetadata":JSON.stringify(E)}})),await (null==p?void 0:p({usage:a,object:F,error:G,response:{...R,headers:null==L?void 0:L.headers},warnings:K,providerMetadata:E,experimental_providerMetadata:E}))}catch(b){a.enqueue({type:"error",error:b})}finally{e.end()}}}));z.addStream(U)}}).catch(a=>{z.addStream(new ReadableStream({start(b){b.enqueue({type:"error",error:a}),b.close()}}))}).finally(()=>{z.close()}),this.outputStrategy=g}get object(){return this.objectPromise.value}get usage(){return this.usagePromise.value}get experimental_providerMetadata(){return this.providerMetadataPromise.value}get providerMetadata(){return this.providerMetadataPromise.value}get warnings(){return this.warningsPromise.value}get request(){return this.requestPromise.value}get response(){return this.responsePromise.value}get partialObjectStream(){return bP(this.baseStream.pipeThrough(new TransformStream({transform(a,b){switch(a.type){case"object":b.enqueue(a.object);break;case"text-delta":case"finish":case"error":break;default:throw Error(`Unsupported chunk type: ${a}`)}}})))}get elementStream(){return this.outputStrategy.createElementStream(this.baseStream)}get textStream(){return bP(this.baseStream.pipeThrough(new TransformStream({transform(a,b){switch(a.type){case"text-delta":b.enqueue(a.textDelta);break;case"object":case"finish":case"error":break;default:throw Error(`Unsupported chunk type: ${a}`)}}})))}get fullStream(){return bP(this.baseStream)}pipeTextStreamToResponse(a,b){aG({response:a,status:null==b?void 0:b.status,statusText:null==b?void 0:b.statusText,headers:aF(null==b?void 0:b.headers,{contentType:"text/plain; charset=utf-8"}),stream:this.textStream.pipeThrough(new TextEncoderStream)})}toTextStreamResponse(a){var b;return new Response(this.textStream.pipeThrough(new TextEncoderStream),{status:null!=(b=null==a?void 0:a.status)?b:200,headers:aE(null==a?void 0:a.headers,{contentType:"text/plain; charset=utf-8"})})}},b2="AI_NoOutputSpecifiedError",b3=`vercel.ai.error.${b2}`,b4=Symbol.for(b3),b5=class extends ay.bD{constructor({message:a="No output specified."}={}){super({name:b2,message:a}),this[p]=!0}static isInstance(a){return ay.bD.hasMarker(a,b3)}};p=b4;var b6="AI_ToolExecutionError",b7=`vercel.ai.error.${b6}`,b8=Symbol.for(b7),b9=class extends ay.bD{constructor({toolArgs:a,toolName:b,toolCallId:c,cause:d,message:e=`Error executing tool ${b}: ${(0,ay.u1)(d)}`}){super({name:b6,message:e,cause:d}),this[q]=!0,this.toolArgs=a,this.toolName=b,this.toolCallId=c}static isInstance(a){return ay.bD.hasMarker(a,b7)}};function ca({tools:a,toolChoice:b,activeTools:c}){return null!=a&&Object.keys(a).length>0?{tools:(null!=c?Object.entries(a).filter(([a])=>c.includes(a)):Object.entries(a)).map(([a,b])=>{let c=b.type;switch(c){case void 0:case"function":return{type:"function",name:a,description:b.description,parameters:(0,aB.mD)(b.parameters).jsonSchema};case"provider-defined":return{type:"provider-defined",name:a,id:b.id,args:b.args};default:throw Error(`Unsupported tool type: ${c}`)}}),toolChoice:null==b?{type:"auto"}:"string"==typeof b?{type:b}:{type:"tool",toolName:b.toolName}}:{tools:void 0,toolChoice:void 0}}q=b8;var cb=/^([\s\S]*?)(\s+)(\S*)$/;function cc(a){let b=a.match(cb);return b?{prefix:b[1],whitespace:b[2],suffix:b[3]}:void 0}var cd="AI_InvalidToolArgumentsError",ce=`vercel.ai.error.${cd}`,cf=Symbol.for(ce),cg=class extends ay.bD{constructor({toolArgs:a,toolName:b,cause:c,message:d=`Invalid arguments for tool ${b}: ${(0,ay.u1)(c)}`}){super({name:cd,message:d,cause:c}),this[r]=!0,this.toolArgs=a,this.toolName=b}static isInstance(a){return ay.bD.hasMarker(a,ce)}};r=cf;var ch="AI_NoSuchToolError",ci=`vercel.ai.error.${ch}`,cj=Symbol.for(ci),ck=class extends ay.bD{constructor({toolName:a,availableTools:b,message:c=`Model tried to call unavailable tool '${a}'. ${void 0===b?"No tools are available.":`Available tools: ${b.join(", ")}.`}`}){super({name:ch,message:c}),this[s]=!0,this.toolName=a,this.availableTools=b}static isInstance(a){return ay.bD.hasMarker(a,ci)}};s=cj;var cl="AI_ToolCallRepairError",cm=`vercel.ai.error.${cl}`,cn=Symbol.for(cm),co=class extends ay.bD{constructor({cause:a,originalError:b,message:c=`Error repairing tool call: ${(0,ay.u1)(a)}`}){super({name:cl,message:c,cause:a}),this[t]=!0,this.originalError=b}static isInstance(a){return ay.bD.hasMarker(a,cm)}};async function cp({toolCall:a,tools:b,repairToolCall:c,system:d,messages:e}){if(null==b)throw new ck({toolName:a.toolName});try{return await cq({toolCall:a,tools:b})}catch(g){if(null==c||!(ck.isInstance(g)||cg.isInstance(g)))throw g;let f=null;try{f=await c({toolCall:a,tools:b,parameterSchema:({toolName:a})=>(0,aB.mD)(b[a].parameters).jsonSchema,system:d,messages:e,error:g})}catch(a){throw new co({cause:a,originalError:g})}if(null==f)throw g;return await cq({toolCall:f,tools:b})}}async function cq({toolCall:a,tools:b}){let c=a.toolName,d=b[c];if(null==d)throw new ck({toolName:a.toolName,availableTools:Object.keys(b)});let e=(0,aB.mD)(d.parameters),f=""===a.args.trim()?(0,az.ZZ)({value:{},schema:e}):(0,az.N8)({text:a.args,schema:e});if(!1===f.success)throw new cg({toolName:c,toolArgs:a.args,cause:f.error});return{type:"tool-call",toolCallId:a.toolCallId,toolName:c,args:f.value}}function cr(a){let b=a.filter(a=>"text"===a.type).map(a=>a.text).join("");return b.length>0?b:void 0}function cs({text:a="",files:b,reasoning:c,tools:d,toolCalls:e,toolResults:f,messageId:g,generateMessageId:h}){let i=[],j=[];return c.length>0&&j.push(...c.map(a=>"text"===a.type?{...a,type:"reasoning"}:{...a,type:"redacted-reasoning"})),b.length>0&&j.push(...b.map(a=>({type:"file",data:a.base64,mimeType:a.mimeType}))),a.length>0&&j.push({type:"text",text:a}),e.length>0&&j.push(...e),j.length>0&&i.push({role:"assistant",content:j,id:g}),f.length>0&&i.push({role:"tool",id:h(),content:f.map(a=>{let b=d[a.toolName];return(null==b?void 0:b.experimental_toToolResultContent)!=null?{type:"tool-result",toolCallId:a.toolCallId,toolName:a.toolName,result:b.experimental_toToolResultContent(a.result),experimental_content:b.experimental_toToolResultContent(a.result)}:{type:"tool-result",toolCallId:a.toolCallId,toolName:a.toolName,result:a.result}})}),i}t=cn;var ct=(0,az.hK)({prefix:"aitxt",size:24}),cu=(0,az.hK)({prefix:"msg",size:24});async function cv({model:a,tools:b,toolChoice:c,system:d,prompt:e,messages:f,maxRetries:g,abortSignal:h,headers:i,maxSteps:j=1,experimental_generateMessageId:k=cu,experimental_output:l,experimental_continueSteps:m=!1,experimental_telemetry:n,experimental_providerMetadata:o,providerOptions:p=o,experimental_activeTools:q,experimental_prepareStep:r,experimental_repairToolCall:s,_internal:{generateId:t=ct,currentDate:u=()=>new Date}={},onStepFinish:v,...w}){var y;if("string"==typeof a||"v1"!==a.specificationVersion)throw new aH;if(j<1)throw new aL({parameter:"maxSteps",value:j,message:"maxSteps must be at least 1"});let{maxRetries:z,retry:A}=aR({maxRetries:g}),B=aT({model:a,telemetry:n,headers:i,settings:{...w,maxRetries:z}}),C=bK({prompt:{system:null!=(y=null==l?void 0:l.injectIntoSystemPrompt({system:d,model:a}))?y:d,prompt:e,messages:f},tools:b}),D=aX(n);return aY({name:"ai.generateText",attributes:a$({telemetry:n,attributes:{...aS({operationId:"ai.generateText",telemetry:n}),...B,"ai.model.provider":a.provider,"ai.model.id":a.modelId,"ai.prompt":{input:()=>JSON.stringify({system:d,prompt:e,messages:f})},"ai.settings.maxSteps":j}}),tracer:D,fn:async e=>{var f,g,o,y,z,E,F,G,H,I,J,K,L,M;let N,O=bo(w),P=[],Q=[],R=[],S=0,T=[],U="",V=[],W=[],X={completionTokens:0,promptTokens:0,totalTokens:0},Y="initial";do{let e=0===S?C.type:"messages",K=[...C.messages,...T],L=await (null==r?void 0:r({model:a,steps:W,maxSteps:j,stepNumber:S})),M=null!=(f=null==L?void 0:L.toolChoice)?f:c,Z=null!=(g=null==L?void 0:L.experimental_activeTools)?g:q,$=null!=(o=null==L?void 0:L.model)?o:a,_=await bm({prompt:{type:e,system:C.system,messages:K},modelSupportsImageUrls:$.supportsImageUrls,modelSupportsUrl:null==(y=$.supportsUrl)?void 0:y.bind($)}),aa={type:"regular",...ca({tools:b,toolChoice:M,activeTools:Z})};N=await A(()=>aY({name:"ai.generateText.doGenerate",attributes:a$({telemetry:n,attributes:{...aS({operationId:"ai.generateText.doGenerate",telemetry:n}),...B,"ai.model.provider":$.provider,"ai.model.id":$.modelId,"ai.prompt.format":{input:()=>e},"ai.prompt.messages":{input:()=>bT(_)},"ai.prompt.tools":{input:()=>{var a;return null==(a=aa.tools)?void 0:a.map(a=>JSON.stringify(a))}},"ai.prompt.toolChoice":{input:()=>null!=aa.toolChoice?JSON.stringify(aa.toolChoice):void 0},"gen_ai.system":$.provider,"gen_ai.request.model":$.modelId,"gen_ai.request.frequency_penalty":w.frequencyPenalty,"gen_ai.request.max_tokens":w.maxTokens,"gen_ai.request.presence_penalty":w.presencePenalty,"gen_ai.request.stop_sequences":w.stopSequences,"gen_ai.request.temperature":w.temperature,"gen_ai.request.top_k":w.topK,"gen_ai.request.top_p":w.topP}}),tracer:D,fn:async b=>{var c,d,f,g,j,k;let m=await $.doGenerate({mode:aa,...O,inputFormat:e,responseFormat:null==l?void 0:l.responseFormat({model:a}),prompt:_,providerMetadata:p,abortSignal:h,headers:i}),o={id:null!=(d=null==(c=m.response)?void 0:c.id)?d:t(),timestamp:null!=(g=null==(f=m.response)?void 0:f.timestamp)?g:u(),modelId:null!=(k=null==(j=m.response)?void 0:j.modelId)?k:$.modelId};return b.setAttributes(a$({telemetry:n,attributes:{"ai.response.finishReason":m.finishReason,"ai.response.text":{output:()=>m.text},"ai.response.toolCalls":{output:()=>JSON.stringify(m.toolCalls)},"ai.response.id":o.id,"ai.response.model":o.modelId,"ai.response.timestamp":o.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(m.providerMetadata),"ai.usage.promptTokens":m.usage.promptTokens,"ai.usage.completionTokens":m.usage.completionTokens,"gen_ai.response.finish_reasons":[m.finishReason],"gen_ai.response.id":o.id,"gen_ai.response.model":o.modelId,"gen_ai.usage.input_tokens":m.usage.promptTokens,"gen_ai.usage.output_tokens":m.usage.completionTokens}})),{...m,response:o}}})),P=await Promise.all((null!=(z=N.toolCalls)?z:[]).map(a=>cp({toolCall:a,tools:b,repairToolCall:s,system:d,messages:K}))),Q=null==b?[]:await cw({toolCalls:P,tools:b,tracer:D,telemetry:n,messages:K,abortSignal:h});let ab=bM(N.usage);X=bN(X,ab);let ac="done";++S<j&&(m&&"length"===N.finishReason&&0===P.length?ac="continue":P.length>0&&Q.length===P.length&&(ac="tool-result"));let ad=null!=(E=N.text)?E:"",ae="continue"===Y&&U.trimEnd()!==U?ad.trimStart():ad,af="continue"===ac?function(a){let b=cc(a);return b?b.prefix+b.whitespace:a}(ae):ae;if(U="continue"===ac||"continue"===Y?U+af:af,R=cy(N.reasoning),V.push(...null!=(F=N.sources)?F:[]),"continue"===Y){let a=T[T.length-1];"string"==typeof a.content?a.content+=af:a.content.push({text:af,type:"text"})}else T.push(...cs({text:U,files:cz(N.files),reasoning:cy(N.reasoning),tools:null!=b?b:{},toolCalls:P,toolResults:Q,messageId:k(),generateMessageId:k}));let ag={stepType:Y,text:af,reasoning:cr(R),reasoningDetails:R,files:cz(N.files),sources:null!=(G=N.sources)?G:[],toolCalls:P,toolResults:Q,finishReason:N.finishReason,usage:ab,warnings:N.warnings,logprobs:N.logprobs,request:null!=(H=N.request)?H:{},response:{...N.response,headers:null==(I=N.rawResponse)?void 0:I.headers,body:null==(J=N.rawResponse)?void 0:J.body,messages:structuredClone(T)},providerMetadata:N.providerMetadata,experimental_providerMetadata:N.providerMetadata,isContinued:"continue"===ac};W.push(ag),await (null==v?void 0:v(ag)),Y=ac}while("done"!==Y);return e.setAttributes(a$({telemetry:n,attributes:{"ai.response.finishReason":N.finishReason,"ai.response.text":{output:()=>N.text},"ai.response.toolCalls":{output:()=>JSON.stringify(N.toolCalls)},"ai.usage.promptTokens":N.usage.promptTokens,"ai.usage.completionTokens":N.usage.completionTokens,"ai.response.providerMetadata":JSON.stringify(N.providerMetadata)}})),new cx({text:U,files:cz(N.files),reasoning:cr(R),reasoningDetails:R,sources:V,outputResolver:()=>{if(null==l)throw new b5;return l.parseOutput({text:U},{response:N.response,usage:X,finishReason:N.finishReason})},toolCalls:P,toolResults:Q,finishReason:N.finishReason,usage:X,warnings:N.warnings,request:null!=(K=N.request)?K:{},response:{...N.response,headers:null==(L=N.rawResponse)?void 0:L.headers,body:null==(M=N.rawResponse)?void 0:M.body,messages:T},logprobs:N.logprobs,steps:W,providerMetadata:N.providerMetadata})}})}async function cw({toolCalls:a,tools:b,tracer:c,telemetry:d,messages:e,abortSignal:f}){return(await Promise.all(a.map(async({toolCallId:a,toolName:g,args:h})=>{let i=b[g];if((null==i?void 0:i.execute)==null)return;let j=await aY({name:"ai.toolCall",attributes:a$({telemetry:d,attributes:{...aS({operationId:"ai.toolCall",telemetry:d}),"ai.toolCall.name":g,"ai.toolCall.id":a,"ai.toolCall.args":{output:()=>JSON.stringify(h)}}}),tracer:c,fn:async b=>{try{let c=await i.execute(h,{toolCallId:a,messages:e,abortSignal:f});try{b.setAttributes(a$({telemetry:d,attributes:{"ai.toolCall.result":{output:()=>JSON.stringify(c)}}}))}catch(a){}return c}catch(c){throw aZ(b,c),new b9({toolCallId:a,toolName:g,toolArgs:h,cause:c})}}});return{type:"tool-result",toolCallId:a,toolName:g,args:h,result:j}}))).filter(a=>null!=a)}var cx=class{constructor(a){this.text=a.text,this.files=a.files,this.reasoning=a.reasoning,this.reasoningDetails=a.reasoningDetails,this.toolCalls=a.toolCalls,this.toolResults=a.toolResults,this.finishReason=a.finishReason,this.usage=a.usage,this.warnings=a.warnings,this.request=a.request,this.response=a.response,this.steps=a.steps,this.experimental_providerMetadata=a.providerMetadata,this.providerMetadata=a.providerMetadata,this.logprobs=a.logprobs,this.outputResolver=a.outputResolver,this.sources=a.sources}get experimental_output(){return this.outputResolver()}};function cy(a){return null==a?[]:"string"==typeof a?[{type:"text",text:a}]:a}function cz(a){var b;return null!=(b=null==a?void 0:a.map(a=>new a_(a)))?b:[]}var cA={};aD(cA,{object:()=>cG,text:()=>cF});var cB="AI_InvalidStreamPartError",cC=`vercel.ai.error.${cB}`,cD=Symbol.for(cC),cE=class extends ay.bD{constructor({chunk:a,message:b}){super({name:cB,message:b}),this[u]=!0,this.chunk=a}static isInstance(a){return ay.bD.hasMarker(a,cC)}};u=cD;Symbol.for("vercel.ai.error.AI_MCPClientError");ay.bD;var cF=()=>({type:"text",responseFormat:()=>({type:"text"}),injectIntoSystemPrompt:({system:a})=>a,parsePartial:({text:a})=>({partial:a}),parseOutput:({text:a})=>a}),cG=({schema:a})=>{let b=(0,aB.mD)(a);return{type:"object",responseFormat:({model:a})=>({type:"json",schema:a.supportsStructuredOutputs?b.jsonSchema:void 0}),injectIntoSystemPrompt:({system:a,model:c})=>c.supportsStructuredOutputs?a:bO({prompt:a,schema:b.jsonSchema}),parsePartial({text:a}){let b=(0,aB.d1)(a);switch(b.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:b.value};default:{let a=b.state;throw Error(`Unsupported parse state: ${a}`)}}},parseOutput({text:a},c){let d=(0,az.N8)({text:a});if(!d.success)throw new a5({message:"No object generated: could not parse the response.",cause:d.error,text:a,response:c.response,usage:c.usage,finishReason:c.finishReason});let e=(0,az.ZZ)({value:d.value,schema:b});if(!e.success)throw new a5({message:"No object generated: response did not match schema.",cause:e.error,text:a,response:c.response,usage:c.usage,finishReason:c.finishReason});return e.value}}};async function cH({stream:a,onError:b}){let c=a.getReader();try{for(;;){let{done:a}=await c.read();if(a)break}}catch(a){null==b||b(a)}finally{c.releaseLock()}}function cI(a,b){let c,d,e=a.getReader(),f=b.getReader(),g=!1,h=!1;async function i(a){try{null==c&&(c=e.read());let b=await c;c=void 0,b.done?a.close():a.enqueue(b.value)}catch(b){a.error(b)}}async function j(a){try{null==d&&(d=f.read());let b=await d;d=void 0,b.done?a.close():a.enqueue(b.value)}catch(b){a.error(b)}}return new ReadableStream({async pull(a){try{if(g)return void await j(a);if(h)return void await i(a);null==c&&(c=e.read()),null==d&&(d=f.read());let{result:b,reader:k}=await Promise.race([c.then(a=>({result:a,reader:e})),d.then(a=>({result:a,reader:f}))]);b.done||a.enqueue(b.value),k===e?(c=void 0,b.done&&(await j(a),g=!0)):(d=void 0,b.done&&(h=!0,await i(a)))}catch(b){a.error(b)}},cancel(){e.cancel(),f.cancel()}})}var cJ=(0,az.hK)({prefix:"aitxt",size:24}),cK=(0,az.hK)({prefix:"msg",size:24}),cL=class{constructor({model:a,telemetry:b,headers:c,settings:d,maxRetries:e,abortSignal:f,system:g,prompt:h,messages:i,tools:j,toolChoice:k,toolCallStreaming:l,transforms:m,activeTools:n,repairToolCall:o,maxSteps:p,output:q,continueSteps:r,providerOptions:s,now:t,currentDate:u,generateId:v,generateMessageId:w,onChunk:y,onError:z,onFinish:A,onStepFinish:B}){var C;let D,E,F,G;if(this.warningsPromise=new bY,this.usagePromise=new bY,this.finishReasonPromise=new bY,this.providerMetadataPromise=new bY,this.textPromise=new bY,this.reasoningPromise=new bY,this.reasoningDetailsPromise=new bY,this.sourcesPromise=new bY,this.filesPromise=new bY,this.toolCallsPromise=new bY,this.toolResultsPromise=new bY,this.requestPromise=new bY,this.responsePromise=new bY,this.stepsPromise=new bY,p<1)throw new aL({parameter:"maxSteps",value:p,message:"maxSteps must be at least 1"});this.output=q;let H="",I="",J="",K=[],L=[],M=[],N=[],O={id:v(),timestamp:u(),modelId:a.modelId,messages:[]},P=[],Q=[],R="initial",S=[],T=new TransformStream({async transform(a,b){b.enqueue(a);let{part:c}=a;if(("text-delta"===c.type||"reasoning"===c.type||"source"===c.type||"tool-call"===c.type||"tool-result"===c.type||"tool-call-streaming-start"===c.type||"tool-call-delta"===c.type)&&await (null==y?void 0:y({chunk:c})),"error"===c.type&&await (null==z?void 0:z({error:c.error})),"text-delta"===c.type&&(H+=c.textDelta,I+=c.textDelta,J+=c.textDelta),"reasoning"===c.type&&(null==E?(E={type:"text",text:c.textDelta},K.push(E)):E.text+=c.textDelta),"reasoning-signature"===c.type){if(null==E)throw new ay.bD({name:"InvalidStreamPart",message:"reasoning-signature without reasoning"});E.signature=c.signature,E=void 0}if("redacted-reasoning"===c.type&&K.push({type:"redacted",data:c.data}),"file"===c.type&&L.push(c),"source"===c.type&&(N.push(c.source),M.push(c.source)),"tool-call"===c.type&&P.push(c),"tool-result"===c.type&&Q.push(c),"step-finish"===c.type){let a=cs({text:I,files:L,reasoning:K,tools:null!=j?j:{},toolCalls:P,toolResults:Q,messageId:c.messageId,generateMessageId:w}),b=S.length,d="done";b+1<p&&(r&&"length"===c.finishReason&&0===P.length?d="continue":P.length>0&&Q.length===P.length&&(d="tool-result"));let e={stepType:R,text:H,reasoning:cr(K),reasoningDetails:K,files:L,sources:M,toolCalls:P,toolResults:Q,finishReason:c.finishReason,usage:c.usage,warnings:c.warnings,logprobs:c.logprobs,request:c.request,response:{...c.response,messages:[...O.messages,...a]},providerMetadata:c.experimental_providerMetadata,experimental_providerMetadata:c.experimental_providerMetadata,isContinued:c.isContinued};await (null==B?void 0:B(e)),S.push(e),P=[],Q=[],H="",M=[],K=[],L=[],E=void 0,"done"!==d&&(R=d),"continue"!==d&&(O.messages.push(...a),I="")}"finish"===c.type&&(O.id=c.response.id,O.timestamp=c.response.timestamp,O.modelId=c.response.modelId,O.headers=c.response.headers,G=c.usage,F=c.finishReason)},async flush(a){var c;try{if(0===S.length)return;let a=S[S.length-1];_.warningsPromise.resolve(a.warnings),_.requestPromise.resolve(a.request),_.responsePromise.resolve(a.response),_.toolCallsPromise.resolve(a.toolCalls),_.toolResultsPromise.resolve(a.toolResults),_.providerMetadataPromise.resolve(a.experimental_providerMetadata),_.reasoningPromise.resolve(a.reasoning),_.reasoningDetailsPromise.resolve(a.reasoningDetails);let d=null!=F?F:"unknown",e=null!=G?G:{completionTokens:NaN,promptTokens:NaN,totalTokens:NaN};_.finishReasonPromise.resolve(d),_.usagePromise.resolve(e),_.textPromise.resolve(J),_.sourcesPromise.resolve(N),_.filesPromise.resolve(a.files),_.stepsPromise.resolve(S),await (null==A?void 0:A({finishReason:d,logprobs:void 0,usage:e,text:J,reasoning:a.reasoning,reasoningDetails:a.reasoningDetails,files:a.files,sources:a.sources,toolCalls:a.toolCalls,toolResults:a.toolResults,request:null!=(c=a.request)?c:{},response:a.response,warnings:a.warnings,providerMetadata:a.providerMetadata,experimental_providerMetadata:a.experimental_providerMetadata,steps:S})),D.setAttributes(a$({telemetry:b,attributes:{"ai.response.finishReason":d,"ai.response.text":{output:()=>J},"ai.response.toolCalls":{output:()=>{var b;return(null==(b=a.toolCalls)?void 0:b.length)?JSON.stringify(a.toolCalls):void 0}},"ai.usage.promptTokens":e.promptTokens,"ai.usage.completionTokens":e.completionTokens,"ai.response.providerMetadata":JSON.stringify(a.providerMetadata)}}))}catch(b){a.error(b)}finally{D.end()}}}),U=b$();this.addStream=U.addStream,this.closeStream=U.close;let V=U.stream;for(let a of m)V=V.pipeThrough(a({tools:j,stopStream(){U.terminate()}}));this.baseStream=V.pipeThrough(function(a){if(!a)return new TransformStream({transform(a,b){b.enqueue({part:a,partialOutput:void 0})}});let b="",c="",d="";function e({controller:a,partialOutput:b}){a.enqueue({part:{type:"text-delta",textDelta:c},partialOutput:b}),c=""}return new TransformStream({transform(f,g){if("step-finish"===f.type&&e({controller:g}),"text-delta"!==f.type)return void g.enqueue({part:f,partialOutput:void 0});b+=f.textDelta,c+=f.textDelta;let h=a.parsePartial({text:b});if(null!=h){let a=JSON.stringify(h.partial);a!==d&&(e({controller:g,partialOutput:h.partial}),d=a)}},flush(a){c.length>0&&e({controller:a})}})}(q)).pipeThrough(T);let{maxRetries:W,retry:X}=aR({maxRetries:e}),Y=aX(b),Z=aT({model:a,telemetry:b,headers:c,settings:{...d,maxRetries:W}}),$=bK({prompt:{system:null!=(C=null==q?void 0:q.injectIntoSystemPrompt({system:g,model:a}))?C:g,prompt:h,messages:i},tools:j}),_=this;aY({name:"ai.streamText",attributes:a$({telemetry:b,attributes:{...aS({operationId:"ai.streamText",telemetry:b}),...Z,"ai.prompt":{input:()=>JSON.stringify({system:g,prompt:h,messages:i})},"ai.settings.maxSteps":p}}),tracer:Y,endWhenDone:!1,fn:async e=>{async function h({currentStep:e,responseMessages:i,usage:m,stepType:y,previousStepText:z,hasLeadingWhitespace:A,messageId:B}){var C;let D,E,F,G=0===i.length?$.type:"messages",H=[...$.messages,...i],I=await bm({prompt:{type:G,system:$.system,messages:H},modelSupportsImageUrls:a.supportsImageUrls,modelSupportsUrl:null==(C=a.supportsUrl)?void 0:C.bind(a)}),J={type:"regular",...ca({tools:j,toolChoice:k,activeTools:n})},{result:{stream:K,warnings:L,rawResponse:M,request:N},doStreamSpan:O,startTimestampMs:P}=await X(()=>aY({name:"ai.streamText.doStream",attributes:a$({telemetry:b,attributes:{...aS({operationId:"ai.streamText.doStream",telemetry:b}),...Z,"ai.prompt.format":{input:()=>G},"ai.prompt.messages":{input:()=>bT(I)},"ai.prompt.tools":{input:()=>{var a;return null==(a=J.tools)?void 0:a.map(a=>JSON.stringify(a))}},"ai.prompt.toolChoice":{input:()=>null!=J.toolChoice?JSON.stringify(J.toolChoice):void 0},"gen_ai.system":a.provider,"gen_ai.request.model":a.modelId,"gen_ai.request.frequency_penalty":d.frequencyPenalty,"gen_ai.request.max_tokens":d.maxTokens,"gen_ai.request.presence_penalty":d.presencePenalty,"gen_ai.request.stop_sequences":d.stopSequences,"gen_ai.request.temperature":d.temperature,"gen_ai.request.top_k":d.topK,"gen_ai.request.top_p":d.topP}}),tracer:Y,endWhenDone:!1,fn:async b=>({startTimestampMs:t(),doStreamSpan:b,result:await a.doStream({mode:J,...bo(d),inputFormat:G,responseFormat:null==q?void 0:q.responseFormat({model:a}),prompt:I,providerMetadata:s,abortSignal:f,headers:c})})})),Q=function({tools:a,generatorStream:b,toolCallStreaming:c,tracer:d,telemetry:e,system:f,messages:g,abortSignal:h,repairToolCall:i}){let j,k=null,l=new ReadableStream({start(a){k=a}}),m={},n=new Set,o=!1;function p(){o&&0===n.size&&(null!=j&&k.enqueue(j),k.close())}let q=new TransformStream({async transform(b,l){let o=b.type;switch(o){case"text-delta":case"reasoning":case"reasoning-signature":case"redacted-reasoning":case"source":case"response-metadata":case"error":l.enqueue(b);break;case"file":l.enqueue(new a0({data:b.data,mimeType:b.mimeType}));break;case"tool-call-delta":c&&(m[b.toolCallId]||(l.enqueue({type:"tool-call-streaming-start",toolCallId:b.toolCallId,toolName:b.toolName}),m[b.toolCallId]=!0),l.enqueue({type:"tool-call-delta",toolCallId:b.toolCallId,toolName:b.toolName,argsTextDelta:b.argsTextDelta}));break;case"tool-call":try{let c=await cp({toolCall:b,tools:a,repairToolCall:i,system:f,messages:g});l.enqueue(c);let j=a[c.toolName];if(null!=j.execute){let a=(0,az.$C)();n.add(a),aY({name:"ai.toolCall",attributes:a$({telemetry:e,attributes:{...aS({operationId:"ai.toolCall",telemetry:e}),"ai.toolCall.name":c.toolName,"ai.toolCall.id":c.toolCallId,"ai.toolCall.args":{output:()=>JSON.stringify(c.args)}}}),tracer:d,fn:async b=>j.execute(c.args,{toolCallId:c.toolCallId,messages:g,abortSignal:h}).then(d=>{k.enqueue({...c,type:"tool-result",result:d}),n.delete(a),p();try{b.setAttributes(a$({telemetry:e,attributes:{"ai.toolCall.result":{output:()=>JSON.stringify(d)}}}))}catch(a){}},d=>{aZ(b,d),k.enqueue({type:"error",error:new b9({toolCallId:c.toolCallId,toolName:c.toolName,toolArgs:c.args,cause:d})}),n.delete(a),p()})})}}catch(a){k.enqueue({type:"error",error:a})}break;case"finish":j={type:"finish",finishReason:b.finishReason,logprobs:b.logprobs,usage:bM(b.usage),experimental_providerMetadata:b.providerMetadata};break;default:throw Error(`Unhandled chunk type: ${o}`)}},flush(){o=!0,p()}});return new ReadableStream({start:async a=>Promise.all([b.pipeThrough(q).pipeTo(new WritableStream({write(b){a.enqueue(b)},close(){}})),l.pipeTo(new WritableStream({write(b){a.enqueue(b)},close(){a.close()}}))])})}({tools:j,generatorStream:K,toolCallStreaming:l,tracer:Y,telemetry:b,system:g,messages:H,repairToolCall:o,abortSignal:f}),R=null!=N?N:{},S=[],T=[],U=[],V=[],W="unknown",aa={promptTokens:0,completionTokens:0,totalTokens:0},ab=!0,ac="",ad="continue"===y?z:"",ae={id:v(),timestamp:u(),modelId:a.modelId},af="",ag=!1,ah=!0,ai=!1;async function aj({controller:a,chunk:b}){a.enqueue(b),ac+=b.textDelta,ad+=b.textDelta,ag=!0,ai=b.textDelta.trimEnd()!==b.textDelta}_.addStream(Q.pipeThrough(new TransformStream({async transform(a,b){var c,d,e;if(ab){let a=t()-P;ab=!1,O.addEvent("ai.stream.firstChunk",{"ai.response.msToFirstChunk":a}),O.setAttributes({"ai.response.msToFirstChunk":a}),b.enqueue({type:"step-start",messageId:B,request:R,warnings:null!=L?L:[]})}if("text-delta"===a.type&&0===a.textDelta.length)return;let f=a.type;switch(f){case"text-delta":if(r){let c=ah&&A?a.textDelta.trimStart():a.textDelta;if(0===c.length)break;ah=!1;let d=cc(af+=c);null!=d&&(af=d.suffix,await aj({controller:b,chunk:{type:"text-delta",textDelta:d.prefix+d.whitespace}}))}else await aj({controller:b,chunk:a});break;case"reasoning":b.enqueue(a),null==F?(F={type:"text",text:a.textDelta},U.push(F)):F.text+=a.textDelta;break;case"reasoning-signature":if(b.enqueue(a),null==F)throw new cE({chunk:a,message:"reasoning-signature without reasoning"});F.signature=a.signature,F=void 0;break;case"redacted-reasoning":b.enqueue(a),U.push({type:"redacted",data:a.data});break;case"tool-call":b.enqueue(a),S.push(a);break;case"tool-result":b.enqueue(a),T.push(a);break;case"response-metadata":ae={id:null!=(c=a.id)?c:ae.id,timestamp:null!=(d=a.timestamp)?d:ae.timestamp,modelId:null!=(e=a.modelId)?e:ae.modelId};break;case"finish":{aa=a.usage,W=a.finishReason,D=a.experimental_providerMetadata,E=a.logprobs;let b=t()-P;O.addEvent("ai.stream.finish"),O.setAttributes({"ai.response.msToFinish":b,"ai.response.avgCompletionTokensPerSecond":1e3*aa.completionTokens/b});break}case"file":V.push(a),b.enqueue(a);break;case"source":case"tool-call-streaming-start":case"tool-call-delta":b.enqueue(a);break;case"error":b.enqueue(a),W="error";break;default:throw Error(`Unknown chunk type: ${f}`)}},async flush(a){let c=S.length>0?JSON.stringify(S):void 0,d="done";e+1<p&&(r&&"length"===W&&0===S.length?d="continue":S.length>0&&T.length===S.length&&(d="tool-result")),r&&af.length>0&&("continue"!==d||"continue"===y&&!ag)&&(await aj({controller:a,chunk:{type:"text-delta",textDelta:af}}),af="");try{O.setAttributes(a$({telemetry:b,attributes:{"ai.response.finishReason":W,"ai.response.text":{output:()=>ac},"ai.response.toolCalls":{output:()=>c},"ai.response.id":ae.id,"ai.response.model":ae.modelId,"ai.response.timestamp":ae.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(D),"ai.usage.promptTokens":aa.promptTokens,"ai.usage.completionTokens":aa.completionTokens,"gen_ai.response.finish_reasons":[W],"gen_ai.response.id":ae.id,"gen_ai.response.model":ae.modelId,"gen_ai.usage.input_tokens":aa.promptTokens,"gen_ai.usage.output_tokens":aa.completionTokens}}))}catch(a){}finally{O.end()}a.enqueue({type:"step-finish",finishReason:W,usage:aa,providerMetadata:D,experimental_providerMetadata:D,logprobs:E,request:R,response:{...ae,headers:null==M?void 0:M.headers},warnings:L,isContinued:"continue"===d,messageId:B});let f=bN(m,aa);if("done"===d)a.enqueue({type:"finish",finishReason:W,usage:f,providerMetadata:D,experimental_providerMetadata:D,logprobs:E,response:{...ae,headers:null==M?void 0:M.headers}}),_.closeStream();else{if("continue"===y){let a=i[i.length-1];"string"==typeof a.content?a.content+=ac:a.content.push({text:ac,type:"text"})}else i.push(...cs({text:ac,files:V,reasoning:U,tools:null!=j?j:{},toolCalls:S,toolResults:T,messageId:B,generateMessageId:w}));await h({currentStep:e+1,responseMessages:i,usage:f,stepType:d,previousStepText:ad,hasLeadingWhitespace:ai,messageId:"continue"===d?B:w()})}}})))}D=e,await h({currentStep:0,responseMessages:[],usage:{promptTokens:0,completionTokens:0,totalTokens:0},previousStepText:"",stepType:"initial",hasLeadingWhitespace:!1,messageId:w()})}}).catch(a=>{_.addStream(new ReadableStream({start(b){b.enqueue({type:"error",error:a}),b.close()}})),_.closeStream()})}get warnings(){return this.warningsPromise.value}get usage(){return this.usagePromise.value}get finishReason(){return this.finishReasonPromise.value}get experimental_providerMetadata(){return this.providerMetadataPromise.value}get providerMetadata(){return this.providerMetadataPromise.value}get text(){return this.textPromise.value}get reasoning(){return this.reasoningPromise.value}get reasoningDetails(){return this.reasoningDetailsPromise.value}get sources(){return this.sourcesPromise.value}get files(){return this.filesPromise.value}get toolCalls(){return this.toolCallsPromise.value}get toolResults(){return this.toolResultsPromise.value}get request(){return this.requestPromise.value}get response(){return this.responsePromise.value}get steps(){return this.stepsPromise.value}teeStream(){let[a,b]=this.baseStream.tee();return this.baseStream=b,a}get textStream(){return bP(this.teeStream().pipeThrough(new TransformStream({transform({part:a},b){"text-delta"===a.type&&b.enqueue(a.textDelta)}})))}get fullStream(){return bP(this.teeStream().pipeThrough(new TransformStream({transform({part:a},b){b.enqueue(a)}})))}async consumeStream(a){var b;try{await cH({stream:this.fullStream,onError:null==a?void 0:a.onError})}catch(c){null==(b=null==a?void 0:a.onError)||b.call(a,c)}}get experimental_partialOutputStream(){if(null==this.output)throw new b5;return bP(this.teeStream().pipeThrough(new TransformStream({transform({partialOutput:a},b){null!=a&&b.enqueue(a)}})))}toDataStreamInternal({getErrorMessage:a=()=>"An error occurred.",sendUsage:b=!0,sendReasoning:c=!1,sendSources:d=!1,experimental_sendFinish:e=!0}){return this.fullStream.pipeThrough(new TransformStream({transform:async(f,g)=>{let h=f.type;switch(h){case"text-delta":g.enqueue((0,aB.H4)("text",f.textDelta));break;case"reasoning":c&&g.enqueue((0,aB.H4)("reasoning",f.textDelta));break;case"redacted-reasoning":c&&g.enqueue((0,aB.H4)("redacted_reasoning",{data:f.data}));break;case"reasoning-signature":c&&g.enqueue((0,aB.H4)("reasoning_signature",{signature:f.signature}));break;case"file":g.enqueue((0,aB.H4)("file",{mimeType:f.mimeType,data:f.base64}));break;case"source":d&&g.enqueue((0,aB.H4)("source",f.source));break;case"tool-call-streaming-start":g.enqueue((0,aB.H4)("tool_call_streaming_start",{toolCallId:f.toolCallId,toolName:f.toolName}));break;case"tool-call-delta":g.enqueue((0,aB.H4)("tool_call_delta",{toolCallId:f.toolCallId,argsTextDelta:f.argsTextDelta}));break;case"tool-call":g.enqueue((0,aB.H4)("tool_call",{toolCallId:f.toolCallId,toolName:f.toolName,args:f.args}));break;case"tool-result":g.enqueue((0,aB.H4)("tool_result",{toolCallId:f.toolCallId,result:f.result}));break;case"error":g.enqueue((0,aB.H4)("error",a(f.error)));break;case"step-start":g.enqueue((0,aB.H4)("start_step",{messageId:f.messageId}));break;case"step-finish":g.enqueue((0,aB.H4)("finish_step",{finishReason:f.finishReason,usage:b?{promptTokens:f.usage.promptTokens,completionTokens:f.usage.completionTokens}:void 0,isContinued:f.isContinued}));break;case"finish":e&&g.enqueue((0,aB.H4)("finish_message",{finishReason:f.finishReason,usage:b?{promptTokens:f.usage.promptTokens,completionTokens:f.usage.completionTokens}:void 0}));break;default:throw Error(`Unknown chunk type: ${h}`)}}}))}pipeDataStreamToResponse(a,{status:b,statusText:c,headers:d,data:e,getErrorMessage:f,sendUsage:g,sendReasoning:h,sendSources:i,experimental_sendFinish:j}={}){aG({response:a,status:b,statusText:c,headers:aF(d,{contentType:"text/plain; charset=utf-8",dataStreamVersion:"v1"}),stream:this.toDataStream({data:e,getErrorMessage:f,sendUsage:g,sendReasoning:h,sendSources:i,experimental_sendFinish:j})})}pipeTextStreamToResponse(a,b){aG({response:a,status:null==b?void 0:b.status,statusText:null==b?void 0:b.statusText,headers:aF(null==b?void 0:b.headers,{contentType:"text/plain; charset=utf-8"}),stream:this.textStream.pipeThrough(new TextEncoderStream)})}toDataStream(a){let b=this.toDataStreamInternal({getErrorMessage:null==a?void 0:a.getErrorMessage,sendUsage:null==a?void 0:a.sendUsage,sendReasoning:null==a?void 0:a.sendReasoning,sendSources:null==a?void 0:a.sendSources,experimental_sendFinish:null==a?void 0:a.experimental_sendFinish}).pipeThrough(new TextEncoderStream);return(null==a?void 0:a.data)?cI(null==a?void 0:a.data.stream,b):b}mergeIntoDataStream(a,b){a.merge(this.toDataStreamInternal({getErrorMessage:a.onError,sendUsage:null==b?void 0:b.sendUsage,sendReasoning:null==b?void 0:b.sendReasoning,sendSources:null==b?void 0:b.sendSources,experimental_sendFinish:null==b?void 0:b.experimental_sendFinish}))}toDataStreamResponse({headers:a,status:b,statusText:c,data:d,getErrorMessage:e,sendUsage:f,sendReasoning:g,sendSources:h,experimental_sendFinish:i}={}){return new Response(this.toDataStream({data:d,getErrorMessage:e,sendUsage:f,sendReasoning:g,sendSources:h,experimental_sendFinish:i}),{status:b,statusText:c,headers:aE(a,{contentType:"text/plain; charset=utf-8",dataStreamVersion:"v1"})})}toTextStreamResponse(a){var b;return new Response(this.textStream.pipeThrough(new TextEncoderStream),{status:null!=(b=null==a?void 0:a.status)?b:200,headers:aE(null==a?void 0:a.headers,{contentType:"text/plain; charset=utf-8"})})}};ay.bD,ay.bD;Symbol.for("vercel.ai.error.AI_NoSuchProviderError");ay.eM;var cM=aA.Ik({name:aA.Yj(),version:aA.Yj()}).passthrough(),cN=aA.Ik({_meta:aA.lq(aA.Ik({}).passthrough())}).passthrough(),cO=aA.Ik({method:aA.Yj(),params:aA.lq(cN)}),cP=aA.Ik({experimental:aA.lq(aA.Ik({}).passthrough()),logging:aA.lq(aA.Ik({}).passthrough()),prompts:aA.lq(aA.Ik({listChanged:aA.lq(aA.zM())}).passthrough()),resources:aA.lq(aA.Ik({subscribe:aA.lq(aA.zM()),listChanged:aA.lq(aA.zM())}).passthrough()),tools:aA.lq(aA.Ik({listChanged:aA.lq(aA.zM())}).passthrough())}).passthrough();cN.extend({protocolVersion:aA.Yj(),capabilities:cP,serverInfo:cM,instructions:aA.lq(aA.Yj())});var cQ=cN.extend({nextCursor:aA.lq(aA.Yj())}),cR=aA.Ik({name:aA.Yj(),description:aA.lq(aA.Yj()),inputSchema:aA.Ik({type:aA.eu("object"),properties:aA.lq(aA.Ik({}).passthrough())}).passthrough()}).passthrough();cQ.extend({tools:aA.YO(cR)});var cS=aA.Ik({type:aA.eu("text"),text:aA.Yj()}).passthrough(),cT=aA.Ik({type:aA.eu("image"),data:aA.Yj().base64(),mimeType:aA.Yj()}).passthrough(),cU=aA.Ik({uri:aA.Yj(),mimeType:aA.lq(aA.Yj())}).passthrough(),cV=cU.extend({text:aA.Yj()}),cW=cU.extend({blob:aA.Yj().base64()}),cX=aA.Ik({type:aA.eu("resource"),resource:aA.KC([cV,cW])}).passthrough();cN.extend({content:aA.YO(aA.KC([cS,cT,cX])),isError:aA.zM().default(!1).optional()}).or(cN.extend({toolResult:aA.L5()}));var cY=aA.Ik({jsonrpc:aA.eu("2.0"),id:aA.KC([aA.Yj(),aA.ai().int()])}).merge(cO).strict(),cZ=aA.Ik({jsonrpc:aA.eu("2.0"),id:aA.KC([aA.Yj(),aA.ai().int()]),result:cN}).strict(),c$=aA.Ik({jsonrpc:aA.eu("2.0"),id:aA.KC([aA.Yj(),aA.ai().int()]),error:aA.Ik({code:aA.ai().int(),message:aA.Yj(),data:aA.lq(aA.L5())})}).strict(),c_=aA.Ik({jsonrpc:aA.eu("2.0")}).merge(aA.Ik({method:aA.Yj(),params:aA.lq(cN)})).strict();function c0(a={}){let b=new TextEncoder,c="";return new TransformStream({async start(){a.onStart&&await a.onStart()},async transform(d,e){e.enqueue(b.encode(d)),c+=d,a.onToken&&await a.onToken(d),a.onText&&"string"==typeof d&&await a.onText(d)},async flush(){a.onCompletion&&await a.onCompletion(c),a.onFinal&&await a.onFinal(c)}})}function c1(a,b){return a.pipeThrough(new TransformStream({transform:async(a,b)=>{var c;if("string"==typeof a)return void b.enqueue(a);if("event"in a){"on_chat_model_stream"===a.event&&c5(null==(c=a.data)?void 0:c.chunk,b);return}c5(a,b)}})).pipeThrough(c0(b)).pipeThrough(new TextDecoderStream).pipeThrough(new TransformStream({transform:async(a,b)=>{b.enqueue((0,aB.H4)("text",a))}}))}function c2(a,b){return c1(a,b).pipeThrough(new TextEncoderStream)}function c3(a,b){var c;let d=c1(a,null==b?void 0:b.callbacks).pipeThrough(new TextEncoderStream),e=null==b?void 0:b.data,f=null==b?void 0:b.init;return new Response(e?cI(e.stream,d):d,{status:null!=(c=null==f?void 0:f.status)?c:200,statusText:null==f?void 0:f.statusText,headers:aE(null==f?void 0:f.headers,{contentType:"text/plain; charset=utf-8",dataStreamVersion:"v1"})})}function c4(a,b){b.dataStream.merge(c1(a,b.callbacks))}function c5(a,b){if("string"==typeof a.content)b.enqueue(a.content);else for(let c of a.content)"text"===c.type&&b.enqueue(c.text)}function c6(a,b){let c,d=(c=!0,a=>(c&&(a=a.trimStart())&&(c=!1),a));return(0,az.NR)(a[Symbol.asyncIterator]()).pipeThrough(new TransformStream({async transform(a,b){b.enqueue(d(a.delta))}})).pipeThrough(c0(b)).pipeThrough(new TextDecoderStream).pipeThrough(new TransformStream({transform:async(a,b)=>{b.enqueue((0,aB.H4)("text",a))}}))}function c7(a,b){return c6(a,b).pipeThrough(new TextEncoderStream)}function c8(a,b={}){var c;let{init:d,data:e,callbacks:f}=b,g=c6(a,f).pipeThrough(new TextEncoderStream);return new Response(e?cI(e.stream,g):g,{status:null!=(c=null==d?void 0:d.status)?c:200,statusText:null==d?void 0:d.statusText,headers:aE(null==d?void 0:d.headers,{contentType:"text/plain; charset=utf-8",dataStreamVersion:"v1"})})}function c9(a,b){b.dataStream.merge(c6(a,b.callbacks))}function da(a){let b=[];for(let c of a){let a;try{a=new URL(c.url)}catch{throw Error(`Invalid URL: ${c.url}`)}switch(a.protocol){case"http:":case"https:":if(c.contentType?.startsWith("image/"))b.push({type:"image",image:a.toString(),mimeType:c.contentType});else{if(!c.contentType)throw Error("If the attachment is not an image, it must specify a content type");b.push({type:"file",data:a.toString(),mimeType:c.contentType})}break;case"data:":if(c.contentType?.startsWith("image/"))b.push({type:"image",image:c.url,mimeType:c.contentType});else if(c.contentType?.startsWith("text/"))b.push({type:"file",data:c.url,mimeType:c.contentType});else{if(!c.contentType)throw Error("If the attachment is not an image or text, it must specify a content type");b.push({type:"file",data:c.url,mimeType:c.contentType})}break;default:throw Error(`Unsupported URL protocol: ${a.protocol}`)}}return b}function db(a){let b=[],c=a=>{let c=b.at(-1);if(a.role===c?.role&&Array.isArray(c.content)&&Array.isArray(a.content)&&("assistant"!==a.role||"assistant"===a.role&&a.content.at(-1)?.type!=="tool-call"))for(let b of a.content)c.content.push(b);else b.push(a)};for(let b=0;b<a.length;b++){let d=a[b],e=b===a.length-1;if(!d?.content)continue;let{content:f,experimental_attachments:g=[],parts:h}=d.content,{role:i}=d,j={id:d.id,createdAt:d.createdAt,resourceId:d.resourceId,threadId:d.threadId},k=[...g],l=[];for(let a of h)"file"===a.type?k.push({url:a.data,contentType:a.mimeType}):l.push(a);switch(i){case"user":if(null==l){let a=k?[{type:"text",text:f||""},...da(k)]:{type:"text",text:f||""};c({role:"user",...j,type:"text",content:a})}else{let a=d.content.parts.filter(a=>"text"===a.type).map(a=>({type:"text",text:a.text})),b=k?[...a,...da(k)]:a;c({role:"user",...j,type:"text",content:Array.isArray(b)&&1===b.length&&b[0]?.type==="text"&&void 0!==f?f:b})}break;case"assistant":{if(null!=d.content.parts){let a=function(){let a=[];for(let b of f)switch(b.type){case"file":case"text":a.push(b);break;case"reasoning":for(let c of b.details)switch(c.type){case"text":a.push({type:"reasoning",text:c.text,signature:c.signature});break;case"redacted":a.push({type:"redacted-reasoning",data:c.data})}break;case"tool-invocation":a.push({type:"tool-call",toolCallId:b.toolInvocation.toolCallId,toolName:b.toolInvocation.toolName,args:b.toolInvocation.args})}c({role:"assistant",...j,type:a.some(a=>"tool-call"===a.type)?"tool-call":"text",content:Array.isArray(a)&&1===a.length&&a[0]?.type==="text"&&d?.content?.content||a});let g=f.filter(a=>"type"in a&&"tool-invocation"===a.type).map(a=>a.toolInvocation);g.length>0&&c({role:"tool",...j,type:"tool-result",content:g.map(a=>{let{toolCallId:b,toolName:c}=a;return{type:"tool-result",toolCallId:b,toolName:c,result:a.result}})}),f=[],e=!1,b++},b=0,e=!1,f=[];for(let c of d.content.parts)switch(c.type){case"text":e&&a(),f.push(c);break;case"file":case"reasoning":f.push(c);break;case"tool-invocation":(c.toolInvocation.step??0)!==b&&a(),f.push(c),e=!0}a();break}let a=d.content.toolInvocations;if(null==a||0===a.length){c({role:"assistant",...j,content:f||"",type:"text"});break}let b=a.reduce((a,b)=>Math.max(a,b.step??0),0);for(let d=0;d<=b;d++){let b=a.filter(a=>(a.step??0)===d);0!==b.length&&(c({role:"assistant",...j,type:"tool-call",content:[...e&&f&&0===d?[{type:"text",text:f}]:[],...b.map(({toolCallId:a,toolName:b,args:c})=>({type:"tool-call",toolCallId:a,toolName:b,args:c}))]}),c({role:"tool",...j,type:"tool-result",content:b.map(a=>{if(!("result"in a))return a;let{toolCallId:b,toolName:c,result:d}=a;return{type:"tool-result",toolCallId:b,toolName:c,result:d}})}))}f&&!e&&c({role:"assistant",...j,type:"text",content:f||""})}}}return b}aA.KC([cY,c_,cZ,c$]),aD({},{mergeIntoDataStream:()=>c4,toDataStream:()=>c2,toDataStreamResponse:()=>c3}),aD({},{mergeIntoDataStream:()=>c9,toDataStream:()=>c7,toDataStreamResponse:()=>c8}),aA.KC([aA.Yj(),aA.Nl(Uint8Array),aA.Nl(ArrayBuffer),aA.Ie(a=>globalThis.Buffer?.isBuffer(a)??!1,{message:"Must be a Buffer"})]);var dc=class a{messages=[];systemMessages=[];taggedSystemMessages={};memoryInfo=null;memoryMessages=new Set;newUserMessages=new Set;newResponseMessages=new Set;userContextMessages=new Set;generateMessageId;_agentNetworkAppend=!1;constructor({threadId:a,resourceId:b,generateMessageId:c,_agentNetworkAppend:d}={}){a&&(this.memoryInfo={threadId:a,resourceId:b},this.generateMessageId=c),this._agentNetworkAppend=d||!1}add(a,b){if(!a)return this;for(let c of Array.isArray(a)?a:[a])this.addOne("string"==typeof c?{role:"user",content:c}:c,b);return this}getLatestUserContent(){let b=this.all.core().filter(a=>"user"===a.role),c=b.at(-1)?.content;return c?a.coreContentToString(c):null}get get(){return{all:this.all,remembered:this.remembered,input:this.input,response:this.response}}all={v2:()=>this.messages,v1:()=>db(this.messages),ui:()=>this.messages.map(a.toUIMessage),core:()=>this.convertToCoreMessages(this.all.ui()),prompt:()=>{let a=this.all.core();for(;a[0]&&function(a){return"tool"===a.role||!!("assistant"===a.role&&Array.isArray(a.content))&&a.content.some(a=>"tool-call"===a.type)}(a[0]);)a.shift();return[...this.systemMessages,...Object.values(this.taggedSystemMessages).flat(),...a]}};remembered={v2:()=>this.messages.filter(a=>this.memoryMessages.has(a)),v1:()=>db(this.remembered.v2()),ui:()=>this.remembered.v2().map(a.toUIMessage),core:()=>this.convertToCoreMessages(this.remembered.ui())};input={v2:()=>this.messages.filter(a=>this.newUserMessages.has(a)),v1:()=>db(this.input.v2()),ui:()=>this.input.v2().map(a.toUIMessage),core:()=>this.convertToCoreMessages(this.input.ui())};response={v2:()=>this.messages.filter(a=>this.newResponseMessages.has(a))};drainUnsavedMessages(){let a=this.messages.filter(a=>this.newUserMessages.has(a)||this.newResponseMessages.has(a));return this.newUserMessages.clear(),this.newResponseMessages.clear(),a}getEarliestUnsavedMessageTimestamp(){let a=this.messages.filter(a=>this.newUserMessages.has(a)||this.newResponseMessages.has(a));if(0!==a.length)return Math.min(...a.map(a=>new Date(a.createdAt).getTime()))}getSystemMessages(a){return a?this.taggedSystemMessages[a]||[]:this.systemMessages}addSystem(a,b){if(!a)return this;for(let c of Array.isArray(a)?a:[a])this.addOneSystem(c,b);return this}convertToCoreMessages(a){return bu(this.sanitizeUIMessages(a))}sanitizeUIMessages(a){return a.map(a=>{if(0===a.parts.length)return!1;let b=a.parts.filter(a=>"tool-invocation"!==a.type||"call"!==a.toolInvocation.state&&"partial-call"!==a.toolInvocation.state);if(!b.length)return!1;let c={...a,parts:b};return"toolInvocations"in a&&a.toolInvocations&&(c.toolInvocations=a.toolInvocations.filter(a=>"result"===a.state)),c}).filter(a=>!!a)}addOneSystem(a,b){"string"==typeof a&&(a={role:"system",content:a}),b&&!this.isDuplicateSystem(a,b)?(this.taggedSystemMessages[b]||=[],this.taggedSystemMessages[b].push(a)):this.isDuplicateSystem(a)||this.systemMessages.push(a)}isDuplicateSystem(b,c){return c?!!this.taggedSystemMessages[c]&&this.taggedSystemMessages[c].some(c=>a.cacheKeyFromContent(c.content)===a.cacheKeyFromContent(b.content)):this.systemMessages.some(c=>a.cacheKeyFromContent(c.content)===a.cacheKeyFromContent(b.content))}static toUIMessage(a){let b=a.content.experimental_attachments?[...a.content.experimental_attachments]:[],c="string"==typeof a.content.content&&""!==a.content.content?a.content.content:a.content.parts.reduce((a,b)=>"text"===b.type?b.text:a,""),d=[];if(a.content.parts.length)for(let c of a.content.parts)if("file"===c.type)b.push({contentType:c.mimeType,url:c.data});else{if("tool-invocation"===c.type&&("call"===c.toolInvocation.state||"partial-call"===c.toolInvocation.state))continue;d.push(c)}if(0===d.length&&b.length>0&&d.push({type:"text",text:""}),"user"===a.role);else if("assistant"===a.role)return{id:a.id,role:a.role,content:a.content.content||c,createdAt:a.createdAt,parts:d,reasoning:void 0,toolInvocations:"toolInvocations"in a.content?a.content.toolInvocations?.filter(a=>"result"===a.state):void 0};return{id:a.id,role:a.role,content:a.content.content||c,createdAt:a.createdAt,parts:d,experimental_attachments:b}}getMessageById(a){return this.messages.find(b=>b.id===a)}shouldReplaceMessage(b){if(!this.messages.length||!("id"in b)||!b?.id)return{exists:!1};let c=this.getMessageById(b.id);return c?{exists:!0,shouldReplace:!a.messagesAreEqual(c,b),id:c.id}:{exists:!1}}addOne(b,c){if((!("content"in b)||!b.content&&"string"!=typeof b.content)&&(!("parts"in b)||!b.parts))throw new $.bH({id:"INVALID_MESSAGE_CONTENT",domain:"AGENT",category:"USER",text:`Message with role "${b.role}" must have either a 'content' property (string or array) or a 'parts' property (array) that is not empty, null, or undefined. Received message: ${JSON.stringify(b,null,2)}`,details:{role:b.role,messageSource:c,hasContent:"content"in b,hasParts:"parts"in b}});if("system"===b.role&&a.isVercelCoreMessage(b))return this.addSystem(b);if("system"===b.role)throw new $.bH({id:"INVALID_SYSTEM_MESSAGE_FORMAT",domain:"AGENT",category:"USER",text:"Invalid system message format. System messages must be CoreMessage format with 'role' and 'content' properties. The content should be a string or valid content array.",details:{messageSource:c,receivedMessage:JSON.stringify(b,null,2)}});let d=this.inputToMastraMessageV2(b,c),{exists:e,shouldReplace:f,id:g}=this.shouldReplaceMessage(d),h=this.messages.at(-1);if("memory"===c){for(let b of this.messages)if(a.messagesAreEqual(b,d))return}let i=h?.role==="assistant"&&"assistant"===d.role&&h.threadId===d.threadId&&"memory"!==c,j=this._agentNetworkAppend&&h&&!this.memoryMessages.has(h)||!this._agentNetworkAppend;if(i&&j){for(let[b,c]of(h.createdAt=d.createdAt||h.createdAt,d.content.parts.entries()))if("tool-invocation"===c.type&&"result"===c.toolInvocation.state){let a=[...h.content.parts].reverse().find(a=>"tool-invocation"===a.type&&a.toolInvocation.toolCallId===c.toolInvocation.toolCallId);if(a&&"tool-invocation"===a.type){a.toolInvocation={...a.toolInvocation,state:"result",result:c.toolInvocation.result},h.content.toolInvocations||(h.content.toolInvocations=[]);let b=h.content.toolInvocations.findIndex(b=>b.toolCallId===a.toolInvocation.toolCallId);-1===b?h.content.toolInvocations.push(a.toolInvocation):h.content.toolInvocations[b]=a.toolInvocation}}else h.content.parts[b]&&a.cacheKeyFromParts([h.content.parts[b]])===a.cacheKeyFromParts([c])||h.content.parts.push(c);h.createdAt.getTime()<d.createdAt.getTime()&&(h.createdAt=d.createdAt),!h.content.content&&d.content.content&&(h.content.content=d.content.content),h.content.content&&d.content.content&&h.content.content!==d.content.content&&(h.content.content=d.content.content),this.newResponseMessages.add(h)}else{let a=f&&this.messages.findIndex(a=>a.id===g)||-1,b=-1!==a&&this.messages[a];if(f&&b?this.messages[a]=d:e||this.messages.push(d),"memory"===c)this.memoryMessages.add(d);else if("response"===c)this.newResponseMessages.add(d);else if("user"===c)this.newUserMessages.add(d);else if("context"===c)this.userContextMessages.add(d);else throw Error(`Missing message source for message ${d}`)}return this.messages.sort((a,b)=>a.createdAt.getTime()-b.createdAt.getTime()),this}inputToMastraMessageV2(b,c){if("memory"!==c&&"threadId"in b&&b.threadId&&this.memoryInfo&&b.threadId!==this.memoryInfo.threadId)throw Error(`Received input message with wrong threadId. Input ${b.threadId}, expected ${this.memoryInfo.threadId}`);if("resourceId"in b&&b.resourceId&&this.memoryInfo?.resourceId&&b.resourceId!==this.memoryInfo.resourceId)throw Error(`Received input message with wrong resourceId. Input ${b.resourceId}, expected ${this.memoryInfo.resourceId}`);if(a.isMastraMessageV1(b))return this.mastraMessageV1ToMastraMessageV2(b,c);if(a.isMastraMessageV2(b))return this.hydrateMastraMessageV2Fields(b);if(a.isVercelCoreMessage(b))return this.vercelCoreMessageToMastraMessageV2(b,c);if(a.isVercelUIMessage(b))return this.vercelUIMessageToMastraMessageV2(b,c);throw Error(`Found unhandled message ${JSON.stringify(b)}`)}lastCreatedAt;generateCreatedAt(a,b){if((b=b instanceof Date?b:b?new Date(b):void 0)&&!this.lastCreatedAt)return this.lastCreatedAt=b.getTime(),b;if(b&&"memory"===a)return b;let c=new Date,d=b?.getTime()||c.getTime(),e=this.messages.reduce((a,b)=>b.createdAt.getTime()>a?b.createdAt.getTime():a,this.lastCreatedAt||0);if(d<=e){let a=new Date(e+1);return this.lastCreatedAt=a.getTime(),a}return this.lastCreatedAt=d,c}newMessageId(){return this.generateMessageId?this.generateMessageId():(0,ax.randomUUID)()}mastraMessageV1ToMastraMessageV2(a,b){let c=this.vercelCoreMessageToMastraMessageV2({content:a.content,role:a.role},b);return{id:a.id,role:c.role,createdAt:this.generateCreatedAt(b,a.createdAt),threadId:a.threadId,resourceId:a.resourceId,content:c.content}}hydrateMastraMessageV2Fields(a){return a.createdAt instanceof Date||(a.createdAt=new Date(a.createdAt)),a}vercelUIMessageToMastraMessageV2(b,c){let d={format:2,parts:b.parts};return b.toolInvocations&&(d.toolInvocations=b.toolInvocations),b.reasoning&&(d.reasoning=b.reasoning),b.annotations&&(d.annotations=b.annotations),b.experimental_attachments&&(d.experimental_attachments=b.experimental_attachments),{id:b.id||this.newMessageId(),role:a.getRole(b),createdAt:this.generateCreatedAt(c,b.createdAt),threadId:this.memoryInfo?.threadId,resourceId:this.memoryInfo?.resourceId,content:d}}vercelCoreMessageToMastraMessageV2(b,c){let d="id"in b?b.id:this.newMessageId(),e=[],f=[],g=[];if("string"==typeof b.content)e.push({type:"step-start"}),e.push({type:"text",text:b.content});else if(Array.isArray(b.content))for(let a of b.content)switch(a.type){case"text":e.push({type:"text",text:a.text});break;case"tool-call":e.push({type:"tool-invocation",toolInvocation:{state:"call",toolCallId:a.toolCallId,toolName:a.toolName,args:a.args}});break;case"tool-result":let b={state:"result",toolCallId:a.toolCallId,toolName:a.toolName,result:a.result??"",args:{}};e.push({type:"tool-invocation",toolInvocation:b}),g.push(b);break;case"reasoning":e.push({type:"reasoning",reasoning:"",details:[{type:"text",text:a.text,signature:a.signature}]});break;case"redacted-reasoning":e.push({type:"reasoning",reasoning:"",details:[{type:"redacted",data:a.data}]});break;case"image":e.push({type:"file",data:a.image.toString(),mimeType:a.mimeType});break;case"file":if(a.data instanceof URL)e.push({type:"file",data:a.data.toString(),mimeType:a.mimeType});else try{var h;e.push({type:"file",mimeType:a.mimeType,data:(h=a.data,"string"==typeof h?h:h instanceof ArrayBuffer?(0,az.n_)(new Uint8Array(h)):(0,az.n_)(h))})}catch(a){console.error(`Failed to convert binary data to base64 in CoreMessage file part: ${a}`,a)}}let i={format:2,parts:e};return g.length&&(i.toolInvocations=g),"string"==typeof b.content&&(i.content=b.content),f.length&&(i.experimental_attachments=f),{id:d,role:a.getRole(b),createdAt:this.generateCreatedAt(c),threadId:this.memoryInfo?.threadId,resourceId:this.memoryInfo?.resourceId,content:i}}static isVercelUIMessage(b){return!a.isMastraMessage(b)&&(0,aw.in)(b)}static isVercelCoreMessage(b){return!a.isMastraMessage(b)&&(0,aw.LJ)(b)}static isMastraMessage(b){return a.isMastraMessageV2(b)||a.isMastraMessageV1(b)}static isMastraMessageV1(b){return!a.isMastraMessageV2(b)&&("threadId"in b||"resourceId"in b)}static isMastraMessageV2(a){return!!(a.content&&!Array.isArray(a.content)&&"string"!=typeof a.content&&"format"in a.content&&2===a.content.format)}static getRole(a){if("assistant"===a.role||"tool"===a.role)return"assistant";if("user"===a.role)return"user";throw Error(`BUG: add handling for message role ${a.role} in message ${JSON.stringify(a,null,2)}`)}static cacheKeyFromParts(a){let b="";for(let c of a)b+=c.type,"text"===c.type&&(b+=`${c.text.length}${c.text}`),"tool-invocation"===c.type&&(b+=c.toolInvocation.toolCallId,b+=c.toolInvocation.state),"reasoning"===c.type&&(b+=c.reasoning.length,b+=c.details.reduce((a,b)=>"text"===b.type?a+b.text.length+(b.signature?.length||0):a,0)),"file"===c.type&&(b+=c.data.length,b+=c.mimeType);return b}static coreContentToString(a){return"string"==typeof a?a:a.reduce((a,b)=>("text"===b.type&&(a+=b.text),a),"")}static cacheKeyFromContent(a){if("string"==typeof a)return a;let b="";for(let c of a)b+=c.type,"text"===c.type&&(b+=c.text.length),"reasoning"===c.type&&(b+=c.text.length),"tool-call"===c.type&&(b+=c.toolCallId,b+=c.toolName),"tool-result"===c.type&&(b+=c.toolCallId,b+=c.toolName),"file"===c.type&&(b+=c.filename,b+=c.mimeType),"image"===c.type&&(b+=c.image instanceof URL?c.image.toString():c.image.toString().length,b+=c.mimeType),"redacted-reasoning"===c.type&&(b+=c.data.length);return b}static messagesAreEqual(b,c){let d=a.isVercelUIMessage(b)&&b,e=a.isVercelUIMessage(c)&&c;if(d&&!e)return!1;if(d&&e)return a.cacheKeyFromParts(b.parts)===a.cacheKeyFromParts(c.parts);let f=a.isVercelCoreMessage(b)&&b,g=a.isVercelCoreMessage(c)&&c;if(f&&!g)return!1;if(f&&g)return a.cacheKeyFromContent(f.content)===a.cacheKeyFromContent(g.content);let h=a.isMastraMessageV1(b)&&b,i=a.isMastraMessageV1(c)&&c;if(h&&!i)return!1;if(h&&i)return h.id===i.id&&a.cacheKeyFromContent(h.content)===a.cacheKeyFromContent(i.content);let j=a.isMastraMessageV2(b)&&b,k=a.isMastraMessageV2(c)&&c;return(!j||!!k)&&(!j||!k||j.id===k.id&&a.cacheKeyFromParts(j.content.parts)===a.cacheKeyFromParts(k.content.parts))}},dd=(a=>(a.ON_EVALUATION="onEvaluation",a.ON_GENERATION="onGeneration",a))(dd||{}),de=function(a){return{all:a=a||new Map,on(b,c){let d=a.get(b);d?d.push(c):a.set(b,[c])},off(b,c){let d=a.get(b);d&&(c?d.splice(d.indexOf(c)>>>0,1):a.set(b,[]))},emit(b,c){let d=a.get(b);d&&d.slice().map(a=>{a(c)}),(d=a.get("*"))&&d.slice().map(a=>{a(b,c)})}}}(),df=c(83189),dg=c(68426),dh=class extends _.k{constructor({name:a}){super({component:df.lq.LLM,name:a})}convertToMessages(a){return Array.isArray(a)?a.map(a=>"string"==typeof a?{role:"user",content:a}:a):[{role:"user",content:a}]}__registerPrimitives(a){a.telemetry&&this.__setTelemetry(a.telemetry),a.logger&&this.__setLogger(a.logger)}},di=class extends dh{#a;#b;constructor({model:a,mastra:b}){super({name:"aisdk"}),this.#a=a,b&&(this.#b=b,b.getLogger()&&this.__setLogger(this.#b.getLogger()))}__registerPrimitives(a){a.telemetry&&this.__setTelemetry(a.telemetry),a.logger&&this.__setLogger(a.logger)}__registerMastra(a){this.#b=a}getProvider(){return this.#a.provider}getModelId(){return this.#a.modelId}getModel(){return this.#a}_applySchemaCompat(a){let b=this.#a,c=[];return b&&c.push(new dg.FI(b),new dg.BT(b),new dg.M1(b),new dg.dz(b),new dg.hV(b),new dg.uL(b)),(0,dg.ap)({schema:a,compatLayers:c,mode:"aiSdkSchema"})}async __text({runId:a,messages:b,maxSteps:c=5,tools:d={},temperature:e,toolChoice:f="auto",onStepFinish:g,experimental_output:h,telemetry:i,threadId:j,resourceId:k,memory:l,runtimeContext:m,...n}){let o,p=this.#a;this.logger.debug("[LLM] - Generating text",{runId:a,messages:b,maxSteps:c,threadId:j,resourceId:k,tools:Object.keys(d)});let q={model:p,temperature:e,tools:{...d},toolChoice:f,maxSteps:c,onStepFinish:async b=>{try{await g?.(b)}catch(c){throw new $.bH({id:"LLM_TEXT_ON_STEP_FINISH_CALLBACK_EXECUTION_FAILED",domain:"LLM",category:"USER",details:{modelId:p.modelId,modelProvider:p.provider,runId:a??"unknown",threadId:j??"unknown",resourceId:k??"unknown",finishReason:b?.finishReason,toolCalls:b?.toolCalls?JSON.stringify(b.toolCalls):"",toolResults:b?.toolResults?JSON.stringify(b.toolResults):"",usage:b?.usage?JSON.stringify(b.usage):""}},c)}this.logger.debug("[LLM] - Step Change:",{text:b?.text,toolCalls:b?.toolCalls,toolResults:b?.toolResults,finishReason:b?.finishReason,usage:b?.usage,runId:a}),b?.response?.headers?.["x-ratelimit-remaining-tokens"]&&2e3>parseInt(b?.response?.headers?.["x-ratelimit-remaining-tokens"],10)&&(this.logger.warn("Rate limit approaching, waiting 10 seconds",{runId:a}),await (0,aw.cb)(1e4))},...n};h&&(this.logger.debug("[LLM] - Using experimental output",{runId:a}),"function"==typeof h.parse?(o=h)instanceof aA.n&&(o=o._def.type):o=(0,aB.Og)(h));try{return await cv({messages:b,...q,experimental_telemetry:{...this.experimental_telemetry,...i},experimental_output:o?cA.object({schema:o}):void 0})}catch(b){throw new $.bH({id:"LLM_GENERATE_TEXT_AI_SDK_EXECUTION_FAILED",domain:"LLM",category:"THIRD_PARTY",details:{modelId:p.modelId,modelProvider:p.provider,runId:a??"unknown",threadId:j??"unknown",resourceId:k??"unknown"}},b)}}async __textObject({messages:a,onStepFinish:b,maxSteps:c=5,tools:d={},structuredOutput:e,runId:f,temperature:g,toolChoice:h="auto",telemetry:i,threadId:j,resourceId:k,memory:l,runtimeContext:m,...n}){let o=this.#a;this.logger.debug("[LLM] - Generating a text object",{runId:f});let p={model:o,temperature:g,tools:{...d},maxSteps:c,toolChoice:h,onStepFinish:async a=>{try{await b?.(a)}catch(b){throw new $.bH({id:"LLM_TEXT_OBJECT_ON_STEP_FINISH_CALLBACK_EXECUTION_FAILED",domain:"LLM",category:"USER",details:{runId:f??"unknown",threadId:j??"unknown",resourceId:k??"unknown",finishReason:a?.finishReason,toolCalls:a?.toolCalls?JSON.stringify(a.toolCalls):"",toolResults:a?.toolResults?JSON.stringify(a.toolResults):"",usage:a?.usage?JSON.stringify(a.usage):""}},b)}this.logger.debug("[LLM] - Step Change:",{text:a?.text,toolCalls:a?.toolCalls,toolResults:a?.toolResults,finishReason:a?.finishReason,usage:a?.usage,runId:f}),a?.response?.headers?.["x-ratelimit-remaining-tokens"]&&2e3>parseInt(a?.response?.headers?.["x-ratelimit-remaining-tokens"],10)&&(this.logger.warn("Rate limit approaching, waiting 10 seconds",{runId:f}),await (0,aw.cb)(1e4))},...n},q="object";e instanceof aA.n&&(q="array",e=e._def.type);try{let b=this._applySchemaCompat(e);return await bW({messages:a,...p,output:q,schema:b,experimental_telemetry:{...this.experimental_telemetry,...i}})}catch(a){throw new $.bH({id:"LLM_GENERATE_OBJECT_AI_SDK_EXECUTION_FAILED",domain:"LLM",category:"THIRD_PARTY",details:{modelId:o.modelId,modelProvider:o.provider,runId:f??"unknown",threadId:j??"unknown",resourceId:k??"unknown"}},a)}}__stream({messages:a,onStepFinish:b,onFinish:c,maxSteps:d=5,tools:e={},runId:f,temperature:g,toolChoice:h="auto",experimental_output:i,telemetry:j,threadId:k,resourceId:l,memory:m,runtimeContext:n,...o}){let p,q=this.#a;this.logger.debug("[LLM] - Streaming text",{runId:f,threadId:k,resourceId:l,messages:a,maxSteps:d,tools:Object.keys(e||{})});let r={model:q,temperature:g,tools:{...e},maxSteps:d,toolChoice:h,onStepFinish:async a=>{try{await b?.(a)}catch(c){let b=new $.bH({id:"LLM_STREAM_ON_STEP_FINISH_CALLBACK_EXECUTION_FAILED",domain:"LLM",category:"USER",details:{modelId:q.modelId,modelProvider:q.provider,runId:f??"unknown",threadId:k??"unknown",resourceId:l??"unknown",finishReason:a?.finishReason,toolCalls:a?.toolCalls?JSON.stringify(a.toolCalls):"",toolResults:a?.toolResults?JSON.stringify(a.toolResults):"",usage:a?.usage?JSON.stringify(a.usage):""}},c);throw this.logger.trackException(b),b}this.logger.debug("[LLM] - Stream Step Change:",{text:a?.text,toolCalls:a?.toolCalls,toolResults:a?.toolResults,finishReason:a?.finishReason,usage:a?.usage,runId:f}),a?.response?.headers?.["x-ratelimit-remaining-tokens"]&&2e3>parseInt(a?.response?.headers?.["x-ratelimit-remaining-tokens"],10)&&(this.logger.warn("Rate limit approaching, waiting 10 seconds",{runId:f}),await (0,aw.cb)(1e4))},onFinish:async a=>{try{await c?.(a)}catch(c){let b=new $.bH({id:"LLM_STREAM_ON_FINISH_CALLBACK_EXECUTION_FAILED",domain:"LLM",category:"USER",details:{modelId:q.modelId,modelProvider:q.provider,runId:f??"unknown",threadId:k??"unknown",resourceId:l??"unknown",finishReason:a?.finishReason,toolCalls:a?.toolCalls?JSON.stringify(a.toolCalls):"",toolResults:a?.toolResults?JSON.stringify(a.toolResults):"",usage:a?.usage?JSON.stringify(a.usage):""}},c);throw this.logger.trackException(b),b}this.logger.debug("[LLM] - Stream Finished:",{text:a?.text,toolCalls:a?.toolCalls,toolResults:a?.toolResults,finishReason:a?.finishReason,usage:a?.usage,runId:f,threadId:k,resourceId:l})},...o};i&&(this.logger.debug("[LLM] - Using experimental output",{runId:f}),"function"==typeof i.parse?(p=i)instanceof aA.n&&(p=p._def.type):p=(0,aB.Og)(i));try{return function({model:a,tools:b,toolChoice:c,system:d,prompt:e,messages:f,maxRetries:g,abortSignal:h,headers:i,maxSteps:j=1,experimental_generateMessageId:k=cK,experimental_output:l,experimental_continueSteps:m=!1,experimental_telemetry:n,experimental_providerMetadata:o,providerOptions:p=o,experimental_toolCallStreaming:q=!1,toolCallStreaming:r=q,experimental_activeTools:s,experimental_repairToolCall:t,experimental_transform:u,onChunk:v,onError:w,onFinish:y,onStepFinish:z,_internal:{now:A=b_,generateId:B=cJ,currentDate:C=()=>new Date}={},...D}){if("string"==typeof a||"v1"!==a.specificationVersion)throw new aH;return new cL({model:a,telemetry:n,headers:i,settings:D,maxRetries:g,abortSignal:h,system:d,prompt:e,messages:f,tools:b,toolChoice:c,toolCallStreaming:r,transforms:void 0===u?[]:Array.isArray(u)?u:[u],activeTools:s,repairToolCall:t,maxSteps:j,output:l,continueSteps:m,providerOptions:p,onChunk:v,onError:w,onFinish:y,onStepFinish:z,now:A,currentDate:C,generateId:B,generateMessageId:k})}({messages:a,...r,experimental_telemetry:{...this.experimental_telemetry,...j},experimental_output:p?cA.object({schema:p}):void 0})}catch(a){throw new $.bH({id:"LLM_STREAM_TEXT_AI_SDK_EXECUTION_FAILED",domain:"LLM",category:"THIRD_PARTY",details:{modelId:q.modelId,modelProvider:q.provider,runId:f??"unknown",threadId:k??"unknown",resourceId:l??"unknown"}},a)}}__streamObject({messages:a,runId:b,tools:c={},maxSteps:d=5,toolChoice:e="auto",runtimeContext:f,threadId:g,resourceId:h,memory:i,temperature:j,onStepFinish:k,onFinish:l,structuredOutput:m,telemetry:n,...o}){let p=this.#a;this.logger.debug("[LLM] - Streaming structured output",{runId:b,messages:a,maxSteps:d,tools:Object.keys(c||{})});let q={model:p,temperature:j,tools:{...c},maxSteps:d,toolChoice:e,onStepFinish:async a=>{try{await k?.(a)}catch(d){let c=new $.bH({id:"LLM_STREAM_OBJECT_ON_STEP_FINISH_CALLBACK_EXECUTION_FAILED",domain:"LLM",category:"USER",details:{modelId:p.modelId,modelProvider:p.provider,runId:b??"unknown",threadId:g??"unknown",resourceId:h??"unknown",usage:a?.usage?JSON.stringify(a.usage):"",toolCalls:a?.toolCalls?JSON.stringify(a.toolCalls):"",toolResults:a?.toolResults?JSON.stringify(a.toolResults):"",finishReason:a?.finishReason}},d);throw this.logger.trackException(c),c}this.logger.debug("[LLM] - Stream Step Change:",{text:a?.text,toolCalls:a?.toolCalls,toolResults:a?.toolResults,finishReason:a?.finishReason,usage:a?.usage,runId:b,threadId:g,resourceId:h}),a?.response?.headers?.["x-ratelimit-remaining-tokens"]&&2e3>parseInt(a?.response?.headers?.["x-ratelimit-remaining-tokens"],10)&&(this.logger.warn("Rate limit approaching, waiting 10 seconds",{runId:b}),await (0,aw.cb)(1e4))},onFinish:async a=>{try{await l?.(a)}catch(d){let c=new $.bH({id:"LLM_STREAM_OBJECT_ON_FINISH_CALLBACK_EXECUTION_FAILED",domain:"LLM",category:"USER",details:{modelId:p.modelId,modelProvider:p.provider,runId:b??"unknown",threadId:g??"unknown",resourceId:h??"unknown",toolCalls:a?.toolCalls?JSON.stringify(a.toolCalls):"",toolResults:a?.toolResults?JSON.stringify(a.toolResults):"",finishReason:a?.finishReason,usage:a?.usage?JSON.stringify(a.usage):""}},d);throw this.logger.trackException(c),c}this.logger.debug("[LLM] - Stream Finished:",{text:a?.text,toolCalls:a?.toolCalls,toolResults:a?.toolResults,finishReason:a?.finishReason,usage:a?.usage,runId:b,threadId:g,resourceId:h})},...o},r="object";m instanceof aA.n&&(r="array",m=m._def.type);try{let b=this._applySchemaCompat(m);return function({model:a,schema:b,schemaName:c,schemaDescription:d,mode:e,output:f="object",system:g,prompt:h,messages:i,maxRetries:j,abortSignal:k,headers:l,experimental_telemetry:m,experimental_providerMetadata:n,providerOptions:o=n,onError:p,onFinish:q,_internal:{generateId:r=b0,currentDate:s=()=>new Date,now:t=b_}={},...u}){if("string"==typeof a||"v1"!==a.specificationVersion)throw new aH;bS({output:f,mode:e,schema:b,schemaName:c,schemaDescription:d});let v=bR({output:f,schema:b});return"no-schema"===v.type&&void 0===e&&(e="json"),new b1({model:a,telemetry:m,headers:l,settings:u,maxRetries:j,abortSignal:k,outputStrategy:v,system:g,prompt:h,messages:i,schemaName:c,schemaDescription:d,providerOptions:o,mode:e,onError:p,onFinish:q,generateId:r,currentDate:s,now:t})}({messages:a,...q,output:r,schema:b,experimental_telemetry:{...this.experimental_telemetry,...n}})}catch(a){throw new $.bH({id:"LLM_STREAM_OBJECT_AI_SDK_EXECUTION_FAILED",domain:"LLM",category:"THIRD_PARTY",details:{modelId:p.modelId,modelProvider:p.provider,runId:b??"unknown",threadId:g??"unknown",resourceId:h??"unknown"}},a)}}async generate(a,{maxSteps:b=5,output:c,...d}){let e=this.convertToMessages(a);return c?await this.__textObject({messages:e,structuredOutput:c,maxSteps:b,...d}):await this.__text({messages:e,maxSteps:b,...d})}stream(a,{maxSteps:b=5,output:c,...d}){let e=this.convertToMessages(a);return c?this.__streamObject({messages:e,structuredOutput:c,maxSteps:b,...d}):this.__stream({messages:e,maxSteps:b,...d})}},dj=c(8906);let dk=(a,b,c)=>{let d=b.split(/[\.\[\]]/g),e=a;for(let a of d){if(null==e)return c;let b=a.replace(/['"]/g,"");""!==b.trim()&&(e=e[b])}return void 0===e?c:e},dl=require("events");var dm=function(a,b){return(dm=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)Object.prototype.hasOwnProperty.call(b,c)&&(a[c]=b[c])})(a,b)};function dn(a,b){if("function"!=typeof b&&null!==b)throw TypeError("Class extends value "+String(b)+" is not a constructor or null");function c(){this.constructor=a}dm(a,b),a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)}"function"==typeof SuppressedError&&SuppressedError;var dp=function(a){var b="[object "+a+"]";return function(a){return dq(a)===b}},dq=function(a){return Object.prototype.toString.call(a)},dr=function(a){return a instanceof Date?a.getTime():ds(a)?a.map(dr):a&&"function"==typeof a.toJSON?a.toJSON():a},ds=dp("Array"),dt=dp("Object"),du=dp("Function"),dv=function(a,b){if(null==a&&a==b||a===b)return!0;if(Object.prototype.toString.call(a)!==Object.prototype.toString.call(b))return!1;if(ds(a)){if(a.length!==b.length)return!1;for(var c=0,d=a.length;c<d;c++)if(!dv(a[c],b[c]))return!1;return!0}if(dt(a)){if(Object.keys(a).length!==Object.keys(b).length)return!1;for(var e in a)if(!dv(a[e],b[e]))return!1;return!0}return!1},dw=function(a,b,c,d,e,f){var g=b[d];if(ds(a)&&isNaN(Number(g))&&(!a.hasOwnProperty(g)||du(a[g]))){for(var h=0,i=a.length;h<i;h++)if(!dw(a[h],b,c,d,h,a))return!1}return d===b.length||null==a?c(a,e,f,0===d,d===b.length):dw(a[g],b,c,d+1,g,a)},dx=function(){function a(a,b,c,d){this.params=a,this.owneryQuery=b,this.options=c,this.name=d,this.init()}return a.prototype.init=function(){},a.prototype.reset=function(){this.done=!1,this.keep=!1},a}(),dy=function(a){function b(b,c,d,e){var f=a.call(this,b,c,d)||this;return f.children=e,f}return dn(b,a),b.prototype.reset=function(){this.keep=!1,this.done=!1;for(var a=0,b=this.children.length;a<b;a++)this.children[a].reset()},b.prototype.childrenNext=function(a,b,c,d,e){for(var f=!0,g=!0,h=0,i=this.children.length;h<i;h++){var j=this.children[h];if(j.done||j.next(a,b,c,d,e),j.keep||(g=!1),j.done){if(!j.keep)break}else f=!1}this.done=f,this.keep=g},b}(dx),dz=function(a){function b(b,c,d,e,f){var g=a.call(this,b,c,d,e)||this;return g.name=f,g}return dn(b,a),b}(dy),dA=function(a){function b(){var b=null!==a&&a.apply(this,arguments)||this;return b.propop=!0,b}return dn(b,a),b.prototype.next=function(a,b,c,d){this.childrenNext(a,b,c,d)},b}(dy),dB=function(a){function b(b,c,d,e,f){var g=a.call(this,c,d,e,f)||this;return g.keyPath=b,g.propop=!0,g._nextNestedValue=function(a,b,c,d,e){return g.childrenNext(a,b,c,d,e),!g.done},g}return dn(b,a),b.prototype.next=function(a,b,c){dw(a,this.keyPath,this._nextNestedValue,0,b,c)},b}(dy),dC=function(a,b){if(a instanceof Function)return a;if(a instanceof RegExp)return function(b){var c="string"==typeof b&&a.test(b);return a.lastIndex=0,c};var c=dr(a);return function(a){return b(c,dr(a))}},dD=function(a){function b(){var b=null!==a&&a.apply(this,arguments)||this;return b.propop=!0,b}return dn(b,a),b.prototype.init=function(){this._test=dC(this.params,this.options.compare)},b.prototype.next=function(a,b,c){(!Array.isArray(c)||c.hasOwnProperty(b))&&this._test(a,b,c)&&(this.done=!0,this.keep=!0)},b}(dx),dE=function(a){var b;return b=function(b,c,d,e){var f=typeof dr(b),g=a(b);return new dD(function(a){var b=null==a?null:a;return typeof dr(b)===f&&g(b)},c,d,e)},function(a,c,d,e){return b(a,c,d,e)}},dF=function(a,b,c,d){var e=d.operations[a];return e||dG(a),e(b,c,d,a)},dG=function(a){throw Error("Unsupported operation: ".concat(a))},dH=function(a,b){for(var c in a)if(b.operations.hasOwnProperty(c)||"$"===c.charAt(0))return!0;return!1},dI=function(a,b,c,d,e){if(dH(b,e)){var f=dK(b,c,e),g=f[0];if(f[1].length)throw Error("Property queries must contain only operations, or exact objects.");return new dB(a,b,d,e,g)}return new dB(a,b,d,e,[new dD(b,d,e)])},dJ=function(a,b,c){void 0===b&&(b=null);var d=void 0===c?{}:c,e={compare:d.compare||dv,operations:Object.assign({},d.operations||{})},f=dK(a,null,e),g=f[0],h=f[1],i=[];return(g.length&&i.push(new dB([],a,b,e,g)),i.push.apply(i,h),1===i.length)?i[0]:new dA(a,b,e,i)},dK=function(a,b,c){var d=[],e=[];if(!(a&&(a.constructor===Object||a.constructor===Array||"function Object() { [native code] }"===a.constructor.toString()||"function Array() { [native code] }"===a.constructor.toString())&&!a.toJSON))return d.push(new dD(a,a,c)),[d,e];for(var f in a)if(c.operations.hasOwnProperty(f)){var g=dF(f,a[f],a,c);if(g&&!g.propop&&b&&!c.operations[b])throw Error("Malformed query. ".concat(f," cannot be matched against property."));null!=g&&d.push(g)}else"$"===f.charAt(0)?dG(f):e.push(dI(f.split("."),a[f],f,a,c));return[d,e]},dL=function(a){function b(){var b=null!==a&&a.apply(this,arguments)||this;return b.propop=!0,b}return dn(b,a),b.prototype.init=function(){this._test=dC(this.params,this.options.compare)},b.prototype.reset=function(){a.prototype.reset.call(this),this.keep=!0},b.prototype.next=function(a){this._test(a)&&(this.done=!0,this.keep=!1)},b}(dx),dM=function(a){function b(){var b=null!==a&&a.apply(this,arguments)||this;return b.propop=!0,b}return dn(b,a),b.prototype.init=function(){if(!this.params||"object"!=typeof this.params)throw Error("Malformed query. $elemMatch must by an object.");this._queryOperation=dJ(this.params,this.owneryQuery,this.options)},b.prototype.reset=function(){a.prototype.reset.call(this),this._queryOperation.reset()},b.prototype.next=function(a){if(ds(a)){for(var b=0,c=a.length;b<c;b++){this._queryOperation.reset();var d=a[b];this._queryOperation.next(d,b,a,!1),this.keep=this.keep||this._queryOperation.keep}this.done=!0}else this.done=!1,this.keep=!1},b}(dx),dN=function(a){function b(){var b=null!==a&&a.apply(this,arguments)||this;return b.propop=!0,b}return dn(b,a),b.prototype.init=function(){this._queryOperation=dJ(this.params,this.owneryQuery,this.options)},b.prototype.reset=function(){a.prototype.reset.call(this),this._queryOperation.reset()},b.prototype.next=function(a,b,c,d){this._queryOperation.next(a,b,c,d),this.done=this._queryOperation.done,this.keep=!this._queryOperation.keep},b}(dx),dO=function(a){function b(){var b=null!==a&&a.apply(this,arguments)||this;return b.propop=!0,b}return dn(b,a),b.prototype.init=function(){},b.prototype.next=function(a){ds(a)&&a.length===this.params&&(this.done=!0,this.keep=!0)},b}(dx),dP=function(a){if(0===a.length)throw Error("$and/$or/$nor must be a nonempty array")},dQ=function(a){function b(){var b=null!==a&&a.apply(this,arguments)||this;return b.propop=!1,b}return dn(b,a),b.prototype.init=function(){var a=this;dP(this.params),this._ops=this.params.map(function(b){return dJ(b,null,a.options)})},b.prototype.reset=function(){this.done=!1,this.keep=!1;for(var a=0,b=this._ops.length;a<b;a++)this._ops[a].reset()},b.prototype.next=function(a,b,c){for(var d=!1,e=!1,f=0,g=this._ops.length;f<g;f++){var h=this._ops[f];if(h.next(a,b,c),h.keep){d=!0,e=h.keep;break}}this.keep=e,this.done=d},b}(dx),dR=function(a){function b(){var b=null!==a&&a.apply(this,arguments)||this;return b.propop=!1,b}return dn(b,a),b.prototype.next=function(b,c,d){a.prototype.next.call(this,b,c,d),this.keep=!this.keep},b}(dQ),dS=function(a){function b(){var b=null!==a&&a.apply(this,arguments)||this;return b.propop=!0,b}return dn(b,a),b.prototype.init=function(){var a=this,b=Array.isArray(this.params)?this.params:[this.params];this._testers=b.map(function(b){if(dH(b,a.options))throw Error("cannot nest $ under ".concat(a.name.toLowerCase()));return dC(b,a.options.compare)})},b.prototype.next=function(a,b,c){for(var d=!1,e=!1,f=0,g=this._testers.length;f<g;f++)if((0,this._testers[f])(a)){d=!0,e=!0;break}this.keep=e,this.done=d},b}(dx),dT=function(a){function b(b,c,d,e){var f=a.call(this,b,c,d,e)||this;return f.propop=!0,f._in=new dS(b,c,d,e),f}return dn(b,a),b.prototype.next=function(a,b,c,d){this._in.next(a,b,c),ds(c)&&!d?this._in.keep?(this.keep=!1,this.done=!0):b==c.length-1&&(this.keep=!0,this.done=!0):(this.keep=!this._in.keep,this.done=!0)},b.prototype.reset=function(){a.prototype.reset.call(this),this._in.reset()},b}(dx),dU=function(a){function b(){var b=null!==a&&a.apply(this,arguments)||this;return b.propop=!0,b}return dn(b,a),b.prototype.next=function(a,b,c,d,e){e?c.hasOwnProperty(b)===this.params&&(this.done=!0,this.keep=!0):(this.done=!0,this.keep=!this.params)},b}(dx),dV=function(a){function b(b,c,d,e){var f=a.call(this,b,c,d,b.map(function(a){return dJ(a,c,d)}),e)||this;return f.propop=!1,dP(b),f}return dn(b,a),b.prototype.next=function(a,b,c,d){this.childrenNext(a,b,c,d)},b}(dz),dW=function(a){function b(b,c,d,e){var f=a.call(this,b,c,d,b.map(function(a){return dJ(a,c,d)}),e)||this;return f.propop=!0,f}return dn(b,a),b.prototype.next=function(a,b,c,d){this.childrenNext(a,b,c,d)},b}(dz),dX=dE(function(a){return function(b){return null!=b&&b<a}}),dY=dE(function(a){return function(b){return b===a||b<=a}}),dZ=dE(function(a){return function(b){return null!=b&&b>a}}),d$=dE(function(a){return function(b){return b===a||b>=a}}),d_={number:function(a){return"number"==typeof a},string:function(a){return"string"==typeof a},bool:function(a){return"boolean"==typeof a},array:function(a){return Array.isArray(a)},null:function(a){return null===a},timestamp:function(a){return a instanceof Date}},d0=Object.freeze({__proto__:null,$Size:dO,$all:function(a,b,c,d){return new dW(a,b,c,d)},$and:function(a,b,c,d){return new dV(a,b,c,d)},$elemMatch:function(a,b,c,d){return new dM(a,b,c,d)},$eq:function(a,b,c){return new dD(a,b,c)},$exists:function(a,b,c,d){return new dU(a,b,c,d)},$gt:dZ,$gte:d$,$in:function(a,b,c,d){return new dS(a,b,c,d)},$lt:dX,$lte:dY,$mod:function(a,b,c){var d=a[0],e=a[1];return new dD(function(a){return dr(a)%d===e},b,c)},$ne:function(a,b,c,d){return new dL(a,b,c,d)},$nin:function(a,b,c,d){return new dT(a,b,c,d)},$nor:function(a,b,c,d){return new dR(a,b,c,d)},$not:function(a,b,c,d){return new dN(a,b,c,d)},$options:function(){return null},$or:function(a,b,c,d){return new dQ(a,b,c,d)},$regex:function(a,b,c){return new dD(new RegExp(a,b.$options),b,c)},$size:function(a,b,c){return new dO(a,b,c,"$size")},$type:function(a,b,c){return new dD(function(b){if("string"==typeof a){if(!d_[a])throw Error("Type alias does not exist");return d_[a](b)}return null!=b&&(b instanceof a||b.constructor===a)},b,c)},$where:function(a,b,c){var d;if(du(a))d=a;else if(process.env.CSP_ENABLED)throw Error('In CSP mode, sift does not support strings in "$where" condition');else d=Function("obj","return "+a);return new dD(function(a){return d.bind(a)(a)},b,c)}}),d1=function(a,b,c){var d=void 0===c?{}:c;return dJ(a,b,{compare:d.compare,operations:Object.assign({},d0,d.operations||{})})},d2=function(a,b){var c;return void 0===b&&(b={}),c=d1(a,null,b),function(a,b,d){return c.reset(),c.next(a,b,d),c.keep}};class d3{constructor(a){this._process=a,this._active=!1,this._current=null,this._last=null}start(){this._active=!0,this.flush()}clear(){this._current&&(this._current.next=null,this._last=this._current)}enqueue(a){let b={value:a,next:null};if(this._current){this._last.next=b,this._last=b;return}this._current=b,this._last=b,this._active&&this.flush()}flush(){for(;this._current;){let a=this._current;this._process(a.value),this._current=a.next}this._last=null}}let d4="xstate.init",d5="xstate.stop";function d6(a,b){return{type:`xstate.done.state.${a}`,output:b}}function d7(a){return{type:d4,input:a}}function d8(a){setTimeout(()=>{throw a})}let d9="function"==typeof Symbol&&Symbol.observable||"@@observable";function ea(a){if(ef(a))return a;let b=[],c="";for(let d=0;d<a.length;d++){switch(a.charCodeAt(d)){case 92:c+=a[d+1],d++;continue;case 46:b.push(c),c="";continue}c+=a[d]}return b.push(c),b}function eb(a){var b;return(b=a)&&"object"==typeof b&&"machine"in b&&"value"in b?a.value:"string"!=typeof a?a:function(a){if(1===a.length)return a[0];let b={},c=b;for(let b=0;b<a.length-1;b++)if(b===a.length-2)c[a[b]]=a[b+1];else{let d=c;c={},d[a[b]]=c}return b}(ea(a))}function ec(a,b){let c={},d=Object.keys(a);for(let e=0;e<d.length;e++){let f=d[e];c[f]=b(a[f],f,a,e)}return c}function ed(a){var b;return void 0===a?[]:ef(b=a)?b:[b]}function ee(a,b,c,d){return"function"==typeof a?a({context:b,event:c,self:d}):a}function ef(a){return Array.isArray(a)}function eg(a){var b;return(ef(b=a)?b:[b]).map(a=>void 0===a||"string"==typeof a?{target:a}:a)}function eh(a){if(void 0!==a&&""!==a)return ed(a)}function ei(a,b,c){let d="object"==typeof a,e=d?a:void 0;return{next:(d?a.next:a)?.bind(e),error:(d?a.error:b)?.bind(e),complete:(d?a.complete:c)?.bind(e)}}function ej(a,b){let c=b.match(/^xstate\.invoke\.(\d+)\.(.*)/);if(!c)return a.implementations.actors[b];let[,d,e]=c,f=a.getStateNodeById(e).config.invoke;return(Array.isArray(f)?f[d]:f).src}function ek(a,b){return`${a.sessionId}.${b}`}let el=0,em=!1,en=function(a){return a[a.NotStarted=0]="NotStarted",a[a.Running=1]="Running",a[a.Stopped=2]="Stopped",a}({}),eo={clock:{setTimeout:(a,b)=>setTimeout(a,b),clearTimeout:a=>clearTimeout(a)},logger:console.log.bind(console),devTools:!1};class ep{constructor(a,b){this.logic=a,this._snapshot=void 0,this.clock=void 0,this.options=void 0,this.id=void 0,this.mailbox=new d3(this._process.bind(this)),this.observers=new Set,this.eventListeners=new Map,this.logger=void 0,this._processingStatus=en.NotStarted,this._parent=void 0,this._syncSnapshot=void 0,this.ref=void 0,this._actorScope=void 0,this._systemId=void 0,this.sessionId=void 0,this.system=void 0,this._doneEvent=void 0,this.src=void 0,this._deferred=[];let c={...eo,...b},{clock:d,logger:e,parent:f,syncSnapshot:g,id:h,systemId:i,inspect:j}=c;this.system=f?f.system:function(a,b){let c=new Map,d=new Map,e=new WeakMap,f=new Set,g={},{clock:h,logger:i}=b,j={schedule:(a,b,c,d,e=Math.random().toString(36).slice(2))=>{let f={source:a,target:b,event:c,delay:d,id:e,startedAt:Date.now()},i=ek(a,e);k._snapshot._scheduledEvents[i]=f;let j=h.setTimeout(()=>{delete g[i],delete k._snapshot._scheduledEvents[i],k._relay(a,b,c)},d);g[i]=j},cancel:(a,b)=>{let c=ek(a,b),d=g[c];delete g[c],delete k._snapshot._scheduledEvents[c],void 0!==d&&h.clearTimeout(d)},cancelAll:a=>{for(let b in k._snapshot._scheduledEvents){let c=k._snapshot._scheduledEvents[b];c.source===a&&j.cancel(a,c.id)}}},k={_snapshot:{_scheduledEvents:(b?.snapshot&&b.snapshot.scheduler)??{}},_bookId:()=>`x:${el++}`,_register:(a,b)=>(c.set(a,b),a),_unregister:a=>{c.delete(a.sessionId);let b=e.get(a);void 0!==b&&(d.delete(b),e.delete(a))},get:a=>d.get(a),_set:(a,b)=>{let c=d.get(a);if(c&&c!==b)throw Error(`Actor with system ID '${a}' already exists.`);d.set(a,b),e.set(b,a)},inspect:a=>{let b=ei(a);return f.add(b),{unsubscribe(){f.delete(b)}}},_sendInspectionEvent:b=>{if(!f.size)return;let c={...b,rootId:a.sessionId};f.forEach(a=>a.next?.(c))},_relay:(a,b,c)=>{k._sendInspectionEvent({type:"@xstate.event",sourceRef:a,actorRef:b,event:c}),b._send(c)},scheduler:j,getSnapshot:()=>({_scheduledEvents:{...k._snapshot._scheduledEvents}}),start:()=>{let a=k._snapshot._scheduledEvents;for(let b in k._snapshot._scheduledEvents={},a){let{source:c,target:d,event:e,delay:f,id:g}=a[b];j.schedule(c,d,e,f,g)}},_clock:h,_logger:i};return k}(this,{clock:d,logger:e}),j&&!f&&this.system.inspect(ei(j)),this.sessionId=this.system._bookId(),this.id=h??this.sessionId,this.logger=b?.logger??this.system._logger,this.clock=b?.clock??this.system._clock,this._parent=f,this._syncSnapshot=g,this.options=c,this.src=c.src??a,this.ref=this,this._actorScope={self:this,id:this.id,sessionId:this.sessionId,logger:this.logger,defer:a=>{this._deferred.push(a)},system:this.system,stopChild:a=>{if(a._parent!==this)throw Error(`Cannot stop child actor ${a.id} of ${this.id} because it is not a child`);a._stop()},emit:a=>{let b=this.eventListeners.get(a.type),c=this.eventListeners.get("*");if(b||c)for(let d of[...b?b.values():[],...c?c.values():[]])d(a)},actionExecutor:a=>{let b=()=>{if(this._actorScope.system._sendInspectionEvent({type:"@xstate.action",actorRef:this,action:{type:a.type,params:a.params}}),!a.exec)return;let b=em;try{em=!0,a.exec(a.info,a.params)}finally{em=b}};this._processingStatus===en.Running?b():this._deferred.push(b)}},this.send=this.send.bind(this),this.system._sendInspectionEvent({type:"@xstate.actor",actorRef:this}),i&&(this._systemId=i,this.system._set(i,this)),this._initState(b?.snapshot??b?.state),i&&"active"!==this._snapshot.status&&this.system._unregister(this)}_initState(a){try{this._snapshot=a?this.logic.restoreSnapshot?this.logic.restoreSnapshot(a,this._actorScope):a:this.logic.getInitialSnapshot(this._actorScope,this.options?.input)}catch(a){this._snapshot={status:"error",output:void 0,error:a}}}update(a,b){let c;for(this._snapshot=a;c=this._deferred.shift();)try{c()}catch(b){this._deferred.length=0,this._snapshot={...a,status:"error",error:b}}switch(this._snapshot.status){case"active":for(let b of this.observers)try{b.next?.(a)}catch(a){d8(a)}break;case"done":var d;for(let b of this.observers)try{b.next?.(a)}catch(a){d8(a)}this._stopProcedure(),this._complete(),this._doneEvent=(d=this.id,{type:`xstate.done.actor.${d}`,output:this._snapshot.output,actorId:d}),this._parent&&this.system._relay(this,this._parent,this._doneEvent);break;case"error":this._error(this._snapshot.error)}this.system._sendInspectionEvent({type:"@xstate.snapshot",actorRef:this,event:b,snapshot:a})}subscribe(a,b,c){let d=ei(a,b,c);if(this._processingStatus!==en.Stopped)this.observers.add(d);else switch(this._snapshot.status){case"done":try{d.complete?.()}catch(a){d8(a)}break;case"error":{let a=this._snapshot.error;if(d.error)try{d.error(a)}catch(a){d8(a)}else d8(a)}}return{unsubscribe:()=>{this.observers.delete(d)}}}on(a,b){let c=this.eventListeners.get(a);c||(c=new Set,this.eventListeners.set(a,c));let d=b.bind(void 0);return c.add(d),{unsubscribe:()=>{c.delete(d)}}}start(){if(this._processingStatus===en.Running)return this;this._syncSnapshot&&this.subscribe({next:a=>{"active"===a.status&&this.system._relay(this,this._parent,{type:`xstate.snapshot.${this.id}`,snapshot:a})},error:()=>{}}),this.system._register(this.sessionId,this),this._systemId&&this.system._set(this._systemId,this),this._processingStatus=en.Running;let a=d7(this.options.input);switch(this.system._sendInspectionEvent({type:"@xstate.event",sourceRef:this._parent,actorRef:this,event:a}),this._snapshot.status){case"done":return this.update(this._snapshot,a),this;case"error":return this._error(this._snapshot.error),this}if(this._parent||this.system.start(),this.logic.start)try{this.logic.start(this._snapshot,this._actorScope)}catch(a){return this._snapshot={...this._snapshot,status:"error",error:a},this._error(a),this}return this.update(this._snapshot,a),this.options.devTools&&this.attachDevTools(),this.mailbox.start(),this}_process(a){let b,c;try{b=this.logic.transition(this._snapshot,a,this._actorScope)}catch(a){c={err:a}}if(c){let{err:a}=c;this._snapshot={...this._snapshot,status:"error",error:a},this._error(a);return}this.update(b,a),a.type===d5&&(this._stopProcedure(),this._complete())}_stop(){return this._processingStatus===en.Stopped||((this.mailbox.clear(),this._processingStatus===en.NotStarted)?this._processingStatus=en.Stopped:this.mailbox.enqueue({type:d5})),this}stop(){if(this._parent)throw Error("A non-root actor cannot be stopped directly.");return this._stop()}_complete(){for(let a of this.observers)try{a.complete?.()}catch(a){d8(a)}this.observers.clear()}_reportError(a){if(!this.observers.size){this._parent||d8(a);return}let b=!1;for(let c of this.observers){let d=c.error;b||=!d;try{d?.(a)}catch(a){d8(a)}}this.observers.clear(),b&&d8(a)}_error(a){var b;this._stopProcedure(),this._reportError(a),this._parent&&this.system._relay(this,this._parent,(b=this.id,{type:`xstate.error.actor.${b}`,error:a,actorId:b}))}_stopProcedure(){return this._processingStatus!==en.Running||(this.system.scheduler.cancelAll(this),this.mailbox.clear(),this.mailbox=new d3(this._process.bind(this)),this._processingStatus=en.Stopped,this.system._unregister(this)),this}_send(a){this._processingStatus!==en.Stopped&&this.mailbox.enqueue(a)}send(a){this.system._relay(void 0,this,a)}attachDevTools(){let{devTools:a}=this.options;a&&("function"==typeof a?a:a=>{if("undefined"==typeof window)return;let b=function(){let a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:void 0;if(a.__xstate__)return a.__xstate__}();b&&b.register(a)})(this)}toJSON(){return{xstate$$type:1,id:this.id}}getPersistedSnapshot(a){return this.logic.getPersistedSnapshot(this._snapshot,a)}[d9](){return this}getSnapshot(){return this._snapshot}}function eq(a,...[b]){return new ep(a,b)}function er(a,b,c,d,{sendId:e}){return[b,{sendId:"function"==typeof e?e(c,d):e},void 0]}function es(a,b){a.defer(()=>{a.system.scheduler.cancel(a.self,b.sendId)})}function et(a,b,c,d,{id:e,systemId:f,src:g,input:h,syncSnapshot:i}){let j,k,l="string"==typeof g?ej(b.machine,g):g,m="function"==typeof e?e(c):e;return l&&(k="function"==typeof h?h({context:b.context,event:c.event,self:a.self}):h,j=eq(l,{id:m,src:g,parent:a.self,syncSnapshot:i,systemId:f,input:k})),[e5(b,{children:{...b.children,[m]:j}}),{id:e,systemId:f,actorRef:j,src:g,input:k},void 0]}function eu(a,{actorRef:b}){b&&a.defer(()=>{b._processingStatus!==en.Stopped&&b.start()})}function ev(a,b,c,d,{actorRef:e}){let f="function"==typeof e?e(c,d):e,g="string"==typeof f?b.children[f]:f,h=b.children;return g&&(h={...h},delete h[g.id]),[e5(b,{children:h}),g,void 0]}function ew(a,b){if(b){if(a.system._unregister(b),b._processingStatus!==en.Running)return void a.stopChild(b);a.defer(()=>{a.stopChild(b)})}}function ex(a){function b(a,b){}return b.type="xstate.stopChild",b.actorRef=a,b.resolve=ev,b.execute=ew,b}function ey(a,b,c,d){let{machine:e}=d,f="function"==typeof a,g=f?a:e.implementations.guards["string"==typeof a?a:a.type];if(!f&&!g)throw Error(`Guard '${"string"==typeof a?a:a.type}' is not implemented.'.`);if("function"!=typeof g)return ey(g,b,c,d);let h={context:b,event:c},i=f||"string"==typeof a?void 0:"params"in a?"function"==typeof a.params?a.params({context:b,event:c}):a.params:void 0;return"check"in g?g.check(d,h,g):g(h,i)}let ez=a=>"atomic"===a.type||"final"===a.type;function eA(a){return Object.values(a.states).filter(a=>"history"!==a.type)}function eB(a,b){let c=[];if(b===a)return c;let d=a.parent;for(;d&&d!==b;)c.push(d),d=d.parent;return c}function eC(a){let b=new Set(a),c=eD(b);for(let a of b)if("compound"!==a.type||c.get(a)&&c.get(a).length){if("parallel"===a.type){for(let c of eA(a))if("history"!==c.type&&!b.has(c))for(let a of eK(c))b.add(a)}}else eK(a).forEach(a=>b.add(a));for(let a of b){let c=a.parent;for(;c;)b.add(c),c=c.parent}return b}function eD(a){let b=new Map;for(let c of a)b.has(c)||b.set(c,[]),c.parent&&(b.has(c.parent)||b.set(c.parent,[]),b.get(c.parent).push(c));return b}function eE(a,b){return function a(b,c){let d=c.get(b);if(!d)return{};if("compound"===b.type){let a=d[0];if(!a)return{};if(ez(a))return a.key}let e={};for(let b of d)e[b.key]=a(b,c);return e}(a,eD(eC(b)))}function eF(a,b){return"compound"===b.type?eA(b).some(b=>"final"===b.type&&a.has(b)):"parallel"===b.type?eA(b).every(b=>eF(a,b)):"final"===b.type}let eG=a=>"#"===a[0];function eH(a,b,c){let d=eh(c.target),e=c.reenter??!1,f=function(a,b){if(void 0!==b)return b.map(b=>{if("string"!=typeof b)return b;if(eG(b))return a.machine.getStateNodeById(b);let c="."===b[0];if(c&&!a.parent)return eN(a,b.slice(1));let d=c?a.key+b:b;if(a.parent)try{return eN(a.parent,d)}catch(b){throw Error(`Invalid transition definition for state node '${a.id}':
6
- ${b.message}`)}throw Error(`Invalid target: "${b}" is not a valid target from the root node. Did you mean ".${b}"?`)})}(a,d),g={...c,actions:ed(c.actions),guard:c.guard,target:f,source:a,reenter:e,eventType:b,toJSON:()=>({...g,source:`#${a.id}`,target:f?f.map(a=>`#${a.id}`):void 0})};return g}function eI(a){let b=eh(a.config.target);return b?{target:b.map(b=>"string"==typeof b?eN(a.parent,b):b)}:a.parent.initial}function eJ(a){return"history"===a.type}function eK(a){let b=eL(a);for(let c of b)for(let d of eB(c,a))b.add(d);return b}function eL(a){let b=new Set;return!function a(c){if(!b.has(c)){if(b.add(c),"compound"===c.type)a(c.initial.target[0]);else if("parallel"===c.type)for(let b of eA(c))a(b)}}(a),b}function eM(a,b){if(eG(b))return a.machine.getStateNodeById(b);if(!a.states)throw Error(`Unable to retrieve child state '${b}' from '${a.id}'; no child states exist.`);let c=a.states[b];if(!c)throw Error(`Child state '${b}' does not exist on '${a.id}'`);return c}function eN(a,b){if("string"==typeof b&&eG(b))try{return a.machine.getStateNodeById(b)}catch{}let c=ea(b).slice(),d=a;for(;c.length;){let a=c.shift();if(!a.length)break;d=eM(d,a)}return d}function eO(a,b){if("string"==typeof b){let c=a.states[b];if(!c)throw Error(`State '${b}' does not exist on '${a.id}'`);return[a,c]}let c=Object.keys(b),d=c.map(b=>eM(a,b)).filter(Boolean);return[a.machine.root,a].concat(d,c.reduce((c,d)=>{let e=eM(a,d);if(!e)return c;let f=eO(e,b[d]);return c.concat(f)},[]))}function eP(a,b){let c=a;for(;c.parent&&c.parent!==b;)c=c.parent;return c.parent===b}function eQ(a,b,c){let d=new Set;for(let e of a){let a=!1,f=new Set;for(let g of d)if(function(a,b){let c=new Set(a),d=new Set(b);for(let a of c)if(d.has(a))return!0;for(let a of d)if(c.has(a))return!0;return!1}(eT([e],b,c),eT([g],b,c)))if(eP(e.source,g.source))f.add(g);else{a=!0;break}if(!a){for(let a of f)d.delete(a);d.add(e)}}return Array.from(d)}function eR(a,b){if(!a.target)return[];let c=new Set;for(let d of a.target)if(eJ(d))if(b[d.id])for(let a of b[d.id])c.add(a);else for(let a of eR(eI(d),b))c.add(a);else c.add(d);return[...c]}function eS(a,b){let c=eR(a,b);if(!c)return;if(!a.reenter&&c.every(b=>b===a.source||eP(b,a.source)))return a.source;let d=function(a){let[b,...c]=a;for(let a of eB(b,void 0))if(c.every(b=>eP(b,a)))return a}(c.concat(a.source));return d||(a.reenter?void 0:a.source.machine.root)}function eT(a,b,c){let d=new Set;for(let e of a)if(e.target?.length){let a=eS(e,c);for(let c of(e.reenter&&e.source===a&&d.add(a),b))eP(c,a)&&d.add(c)}return[...d]}function eU(a,b,c,d,e,f){if(!a.length)return b;let g=new Set(b._nodes),h=b.historyValue,i=eQ(a,g,h),j=b;e||([j,h]=function(a,b,c,d,e,f,g,h){let i,j=a,k=eT(d,e,f);for(let a of(k.sort((a,b)=>b.order-a.order),k))for(let b of function(a){return Object.keys(a.states).map(b=>a.states[b]).filter(a=>"history"===a.type)}(a)){let c;c="deep"===b.history?b=>ez(b)&&eP(b,a):b=>b.parent===a,(i??={...f})[b.id]=Array.from(e).filter(c)}for(let a of k)j=eX(j,b,c,[...a.exit,...a.invoke.map(a=>ex(a.id))],g,void 0),e.delete(a);return[j,i||f]}(j,d,c,i,g,h,f,c.actionExecutor)),j=function(a,b,c,d,e,f,g,h){let i=a,j=new Set,k=new Set;(function(a,b,c,d){for(let e of a){let a=eS(e,b);for(let f of e.target||[])!eJ(f)&&(e.source!==f||e.source!==a||e.reenter)&&(d.add(f),c.add(f)),eV(f,b,c,d);for(let f of eR(e,b)){let g=eB(f,a);a?.type==="parallel"&&g.push(a),eW(d,b,c,g,!e.source.parent&&e.reenter?void 0:a)}}})(d,g,k,j),h&&k.add(a.machine.root);let l=new Set;for(let a of[...j].sort((a,b)=>a.order-b.order)){e.add(a);let d=[];for(let b of(d.push(...a.entry),a.invoke))d.push(function(...[a,{id:b,systemId:c,input:d,syncSnapshot:e=!1}={}]){function f(a,b){}return f.type="xstate.spawnChild",f.id=b,f.systemId=c,f.src=a,f.input=d,f.syncSnapshot=e,f.resolve=et,f.execute=eu,f}(b.src,{...b,syncSnapshot:!!b.onSnapshot}));if(k.has(a)){let b=a.initial.actions;d.push(...b)}if(i=eX(i,b,c,d,f,a.invoke.map(a=>a.id)),"final"===a.type){let d=a.parent,g=d?.type==="parallel"?d:d?.parent,h=g||a;for(d?.type==="compound"&&f.push(d6(d.id,void 0!==a.output?ee(a.output,i.context,b,c.self):void 0));g?.type==="parallel"&&!l.has(g)&&eF(e,g);)l.add(g),f.push(d6(g.id)),h=g,g=g.parent;if(g)continue;i=e5(i,{status:"done",output:function(a,b,c,d,e){if(void 0===d.output)return;let f=d6(e.id,void 0!==e.output&&e.parent?ee(e.output,a.context,b,c.self):void 0);return ee(d.output,a.context,f,c.self)}(i,b,c,i.machine.root,h)})}}return i}(j=eX(j,d,c,i.flatMap(a=>a.actions),f,void 0),d,c,i,g,f,h,e);let k=[...g];"done"===j.status&&(j=eX(j,d,c,k.sort((a,b)=>b.order-a.order).flatMap(a=>a.exit),f,void 0));try{if(h===b.historyValue&&function(a,b){if(a.length!==b.size)return!1;for(let c of a)if(!b.has(c))return!1;return!0}(b._nodes,g))return j;return e5(j,{_nodes:k,historyValue:h})}catch(a){throw a}}function eV(a,b,c,d){var e,f,g,h;if(eJ(a))if(b[a.id]){let g=b[a.id];for(let a of g)d.add(a),eV(a,b,c,d);for(let h of g){e=h,f=a.parent,eW(d,b,c,eB(e,f))}}else{let e=eI(a);for(let f of e.target)d.add(f),e===a.parent?.initial&&c.add(a.parent),eV(f,b,c,d);for(let f of e.target){g=f,h=a.parent,eW(d,b,c,eB(g,h))}}else if("compound"===a.type){let[e]=a.initial.target;eJ(e)||(d.add(e),c.add(e)),eV(e,b,c,d),eW(d,b,c,eB(e,a))}else if("parallel"===a.type)for(let e of eA(a).filter(a=>!eJ(a)))[...d].some(a=>eP(a,e))||(eJ(e)||(d.add(e),c.add(e)),eV(e,b,c,d))}function eW(a,b,c,d,e){for(let f of d)if((!e||eP(f,e))&&a.add(f),"parallel"===f.type)for(let d of eA(f).filter(a=>!eJ(a)))[...a].some(a=>eP(a,d))||(a.add(d),eV(d,b,c,a))}function eX(a,b,c,d,e,f){let g=f?[]:void 0,h=function a(b,c,d,e,f,g){let{machine:h}=b,i=b;for(let b of e){var j;let e="function"==typeof b,k=e?b:(j="string"==typeof b?b:b.type,h.implementations.actions[j]),l={context:i.context,event:c,self:d.self,system:d.system},m=e||"string"==typeof b?void 0:"params"in b?"function"==typeof b.params?b.params({context:i.context,event:c}):b.params:void 0;if(!k||!("resolve"in k)){d.actionExecutor({type:"string"==typeof b?b:"object"==typeof b?b.type:b.name||"(anonymous)",info:l,params:m,exec:k});continue}let[n,o,p]=k.resolve(d,i,l,m,k,f);i=n,"retryResolve"in k&&g?.push([k,o]),"execute"in k&&d.actionExecutor({type:k.type,info:l,params:o,exec:k.execute.bind(null,d,o)}),p&&(i=a(i,c,d,p,f,g))}return i}(a,b,c,d,{internalQueue:e,deferredActorIds:f},g);return g?.forEach(([a,b])=>{a.retryResolve(c,h,b)}),h}function eY(a,b,c,d){let e=a,f=[];function g(a,b,d){c.system._sendInspectionEvent({type:"@xstate.microstep",actorRef:c.self,event:b,snapshot:a,_transitions:d}),f.push(a)}if(b.type===d5)return g(e=e5(eZ(e,b,c),{status:"stopped"}),b,[]),{snapshot:e,microstates:f};let h=b;if(h.type!==d4){let b=h,i=b.type.startsWith("xstate.error.actor"),j=e$(b,e);if(i&&!j.length)return g(e=e5(a,{status:"error",error:b.error}),b,[]),{snapshot:e,microstates:f};g(e=eU(j,a,c,h,!1,d),b,j)}let i=!0;for(;"active"===e.status;){let a=i?function(a,b){let c=new Set;for(let d of a._nodes.filter(ez))a:for(let e of[d].concat(eB(d,void 0)))if(e.always){for(let d of e.always)if(void 0===d.guard||ey(d.guard,a.context,b,a)){c.add(d);break a}}return eQ(Array.from(c),new Set(a._nodes),a.historyValue)}(e,h):[],b=a.length?e:void 0;if(!a.length){if(!d.length)break;a=e$(h=d.shift(),e)}i=(e=eU(a,e,c,h,!1,d))!==b,g(e,h,a)}return"active"!==e.status&&eZ(e,h,c),{snapshot:e,microstates:f}}function eZ(a,b,c){return eX(a,b,c,Object.values(a.children).map(a=>ex(a)),[],void 0)}function e$(a,b){return b.machine.getTransitionData(b,a)}let e_=function(a){return function a(b,c){let d=eb(b),e=eb(c);return"string"==typeof e?"string"==typeof d&&e===d:"string"==typeof d?d in e:Object.keys(d).every(b=>b in e&&a(d[b],e[b]))}(a,this.value)},e0=function(a){return this.tags.has(a)},e1=function(a){let b=this.machine.getTransitionData(this,a);return!!b?.length&&b.some(a=>void 0!==a.target||a.actions.length)},e2=function(){let{_nodes:a,tags:b,machine:c,getMeta:d,toJSON:e,can:f,hasTag:g,matches:h,...i}=this;return{...i,tags:Array.from(b)}},e3=function(){return this._nodes.reduce((a,b)=>(void 0!==b.meta&&(a[b.id]=b.meta),a),{})};function e4(a,b){return{status:a.status,output:a.output,error:a.error,machine:b,context:a.context,_nodes:a._nodes,value:eE(b.root,a._nodes),tags:new Set(a._nodes.flatMap(a=>a.tags)),children:a.children,historyValue:a.historyValue||{},matches:e_,hasTag:e0,can:e1,getMeta:e3,toJSON:e2}}function e5(a,b={}){return e4({...a,...b},a.machine)}function e6(a,b,c,d,{event:e,id:f,delay:g},{internalQueue:h}){let i,j=b.machine.implementations.delays;if("string"==typeof e)throw Error(`Only event objects may be used with raise; use raise({ type: "${e}" }) instead`);let k="function"==typeof e?e(c,d):e;if("string"==typeof g){let a=j&&j[g];i="function"==typeof a?a(c,d):a}else i="function"==typeof g?g(c,d):g;return"number"!=typeof i&&h.push(k),[b,{event:k,id:f,delay:i},void 0]}function e7(a,b){let{event:c,delay:d,id:e}=b;if("number"==typeof d)return void a.defer(()=>{let b=a.self;a.system.scheduler.schedule(b,b,c,d,e)})}function e8(a,b,c,d,{assignment:e}){if(!b.context)throw Error("Cannot assign to undefined `context`. Ensure that `context` is defined in the machine config.");let f={},g={context:b.context,event:c.event,spawn:function(a,{machine:b,context:c},d,e){return(f,g)=>{let h=((f,g)=>{if("string"!=typeof f)return eq(f,{id:g?.id,parent:a.self,syncSnapshot:g?.syncSnapshot,input:g?.input,src:f,systemId:g?.systemId});{let h=ej(b,f);if(!h)throw Error(`Actor logic '${f}' not implemented in machine '${b.id}'`);let i=eq(h,{id:g?.id,parent:a.self,syncSnapshot:g?.syncSnapshot,input:"function"==typeof g?.input?g.input({context:c,event:d,self:a.self}):g?.input,src:f,systemId:g?.systemId});return e[i.id]=i,i}})(f,g);return e[h.id]=h,a.defer(()=>{h._processingStatus!==en.Stopped&&h.start()}),h}}(a,b,c.event,f),self:a.self,system:a.system},h={};if("function"==typeof e)h=e(g,d);else for(let a of Object.keys(e)){let b=e[a];h[a]="function"==typeof b?b(g,d):b}let i=Object.assign({},b.context,h);return[e5(b,{context:i,children:Object.keys(f).length?{...b.children,...f}:b.children}),void 0,void 0]}function e9(a){function b(a,b){}return b.type="xstate.assign",b.assignment=a,b.resolve=e8,b}let fa="xstate.promise.resolve",fb="xstate.promise.reject",fc=new WeakMap;function fd(a){return{config:a,transition:(a,b,c)=>{if("active"!==a.status)return a;switch(b.type){case fa:{let c=b.data;return{...a,status:"done",output:c,input:void 0}}case fb:return{...a,status:"error",error:b.data,input:void 0};case d5:return fc.get(c.self)?.abort(),{...a,status:"stopped",input:void 0};default:return a}},start:(b,{self:c,system:d,emit:e})=>{if("active"!==b.status)return;let f=new AbortController;fc.set(c,f),Promise.resolve(a({input:b.input,system:d,self:c,signal:f.signal,emit:e})).then(a=>{"active"===c.getSnapshot().status&&(fc.delete(c),d._relay(c,c,{type:fa,data:a}))},a=>{"active"===c.getSnapshot().status&&(fc.delete(c),d._relay(c,c,{type:fb,data:a}))})},getInitialSnapshot:(a,b)=>({status:"active",output:void 0,error:void 0,input:b}),getPersistedSnapshot:a=>a,restoreSnapshot:a=>a}}d=a=>void 0,e=0;let fe=new WeakMap;function ff(a,b,c){let d=fe.get(a);return d?b in d||(d[b]=c()):(d={[b]:c()},fe.set(a,d)),d[b]}let fg={},fh=a=>"string"==typeof a?{type:a}:"function"==typeof a?"resolve"in a?{type:a.type}:{type:a.name}:a;class fi{constructor(a,b){if(this.config=a,this.key=void 0,this.id=void 0,this.type=void 0,this.path=void 0,this.states=void 0,this.history=void 0,this.entry=void 0,this.exit=void 0,this.parent=void 0,this.machine=void 0,this.meta=void 0,this.output=void 0,this.order=-1,this.description=void 0,this.tags=[],this.transitions=void 0,this.always=void 0,this.parent=b._parent,this.key=b._key,this.machine=b._machine,this.path=this.parent?this.parent.path.concat(this.key):[],this.id=this.config.id||[this.machine.id,...this.path].join("."),this.type=this.config.type||(this.config.states&&Object.keys(this.config.states).length?"compound":this.config.history?"history":"atomic"),this.description=this.config.description,this.order=this.machine.idMap.size,this.machine.idMap.set(this.id,this),this.states=this.config.states?ec(this.config.states,(a,b)=>new fi(a,{_parent:this,_key:b,_machine:this.machine})):fg,"compound"===this.type&&!this.config.initial)throw Error(`No initial state specified for compound state node "#${this.id}". Try adding { initial: "${Object.keys(this.states)[0]}" } to the state config.`);this.history=!0===this.config.history?"shallow":this.config.history||!1,this.entry=ed(this.config.entry).slice(),this.exit=ed(this.config.exit).slice(),this.meta=this.config.meta,this.output="final"!==this.type&&this.parent?void 0:this.config.output,this.tags=ed(a.tags).slice()}_initialize(){this.transitions=function(a){let b=new Map;if(a.config.on)for(let c of Object.keys(a.config.on)){if(""===c)throw Error('Null events ("") cannot be specified as a transition key. Use `always: { ... }` instead.');let d=a.config.on[c];b.set(c,eg(d).map(b=>eH(a,c,b)))}if(a.config.onDone){let c=`xstate.done.state.${a.id}`;b.set(c,eg(a.config.onDone).map(b=>eH(a,c,b)))}for(let c of a.invoke){if(c.onDone){let d=`xstate.done.actor.${c.id}`;b.set(d,eg(c.onDone).map(b=>eH(a,d,b)))}if(c.onError){let d=`xstate.error.actor.${c.id}`;b.set(d,eg(c.onError).map(b=>eH(a,d,b)))}if(c.onSnapshot){let d=`xstate.snapshot.${c.id}`;b.set(d,eg(c.onSnapshot).map(b=>eH(a,d,b)))}}for(let c of a.after){let a=b.get(c.eventType);a||(a=[],b.set(c.eventType,a)),a.push(c)}return b}(this),this.config.always&&(this.always=eg(this.config.always).map(a=>eH(this,"",a))),Object.keys(this.states).forEach(a=>{this.states[a]._initialize()})}get definition(){return{id:this.id,key:this.key,version:this.machine.version,type:this.type,initial:this.initial?{target:this.initial.target,source:this,actions:this.initial.actions.map(fh),eventType:null,reenter:!1,toJSON:()=>({target:this.initial.target.map(a=>`#${a.id}`),source:`#${this.id}`,actions:this.initial.actions.map(fh),eventType:null})}:void 0,history:this.history,states:ec(this.states,a=>a.definition),on:this.on,transitions:[...this.transitions.values()].flat().map(a=>({...a,actions:a.actions.map(fh)})),entry:this.entry.map(fh),exit:this.exit.map(fh),meta:this.meta,order:this.order||-1,output:this.output,invoke:this.invoke,description:this.description,tags:this.tags}}toJSON(){return this.definition}get invoke(){return ff(this,"invoke",()=>ed(this.config.invoke).map((a,b)=>{var c,d;let{src:e,systemId:f}=a,g=a.id??(c=this.id,`${b}.${c}`),h="string"==typeof e?e:`xstate.invoke.${d=this.id,`${b}.${d}`}`;return{...a,src:h,id:g,systemId:f,toJSON(){let{onDone:b,onError:c,...d}=a;return{...d,type:"xstate.invoke",src:h,id:g}}}}))}get on(){return ff(this,"on",()=>[...this.transitions].flatMap(([a,b])=>b.map(b=>[a,b])).reduce((a,[b,c])=>(a[b]=a[b]||[],a[b].push(c),a),{}))}get after(){return ff(this,"delayedTransitions",()=>(function(a){let b=a.config.after;return b?Object.keys(b).flatMap(c=>{let d=b[c],e=Number.isNaN(+c)?c:+c,f=(b=>{var c;let d=(c=a.id,{type:`xstate.after.${b}.${c}`}),e=d.type;return a.entry.push(function(a,b){function c(a,b){}return c.type="xstate.raise",c.event=a,c.id=b?.id,c.delay=b?.delay,c.resolve=e6,c.execute=e7,c}(d,{id:e,delay:b})),a.exit.push(function(a){function b(a,b){}return b.type="xstate.cancel",b.sendId=a,b.resolve=er,b.execute=es,b}(e)),e})(e);return ed("string"==typeof d?{target:d}:d).map(a=>({...a,event:f,delay:e}))}).map(b=>{let{delay:c}=b;return{...eH(a,b.event,b),delay:c}}):[]})(this))}get initial(){return ff(this,"initial",()=>(function(a,b){let c="string"==typeof b?a.states[b]:b?a.states[b.target]:void 0;if(!c&&b)throw Error(`Initial state node "${b}" not found on parent state node #${a.id}`);let d={source:a,actions:b&&"string"!=typeof b?ed(b.actions):[],eventType:null,reenter:!1,target:c?[c]:[],toJSON:()=>({...d,source:`#${a.id}`,target:c?[`#${c.id}`]:[]})};return d})(this,this.config.initial))}next(a,b){let c,d=b.type,e=[];for(let f of ff(this,`candidates-${d}`,()=>{var a;return a=this,a.transitions.get(d)||[...a.transitions.keys()].filter(a=>{if("*"===a)return!0;if(!a.endsWith(".*"))return!1;let b=a.split("."),c=d.split(".");for(let a=0;a<b.length;a++){let d=b[a],e=c[a];if("*"===d)return a===b.length-1;if(d!==e)return!1}return!0}).sort((a,b)=>b.length-a.length).flatMap(b=>a.transitions.get(b))})){let{guard:g}=f,h=a.context,i=!1;try{i=!g||ey(g,h,b,a)}catch(b){let a="string"==typeof g?g:"object"==typeof g?g.type:void 0;throw Error(`Unable to evaluate guard ${a?`'${a}' `:""}in transition for event '${d}' in state node '${this.id}':
7
- ${b.message}`)}if(i){e.push(...f.actions),c=f;break}}return c?[c]:void 0}get events(){return ff(this,"events",()=>{let{states:a}=this,b=new Set(this.ownEvents);if(a)for(let c of Object.keys(a)){let d=a[c];if(d.states)for(let a of d.events)b.add(`${a}`)}return Array.from(b)})}get ownEvents(){return Array.from(new Set([...this.transitions.keys()].filter(a=>this.transitions.get(a).some(a=>!(!a.target&&!a.actions.length&&!a.reenter)))))}}class fj{constructor(a,b){this.config=a,this.version=void 0,this.schemas=void 0,this.implementations=void 0,this.__xstatenode=!0,this.idMap=new Map,this.root=void 0,this.id=void 0,this.states=void 0,this.events=void 0,this.id=a.id||"(machine)",this.implementations={actors:b?.actors??{},actions:b?.actions??{},delays:b?.delays??{},guards:b?.guards??{}},this.version=this.config.version,this.schemas=this.config.schemas,this.transition=this.transition.bind(this),this.getInitialSnapshot=this.getInitialSnapshot.bind(this),this.getPersistedSnapshot=this.getPersistedSnapshot.bind(this),this.restoreSnapshot=this.restoreSnapshot.bind(this),this.start=this.start.bind(this),this.root=new fi(a,{_key:this.id,_machine:this}),this.root._initialize(),this.states=this.root.states,this.events=this.root.events}provide(a){let{actions:b,guards:c,actors:d,delays:e}=this.implementations;return new fj(this.config,{actions:{...b,...a.actions},guards:{...c,...a.guards},actors:{...d,...a.actors},delays:{...e,...a.delays}})}resolveState(a){let b=function(a,b){let c=eC(eO(a,b));return eE(a,[...c])}(this.root,a.value),c=eC(eO(this.root,b));return e4({_nodes:[...c],context:a.context||{},children:{},status:eF(c,this.root)?"done":a.status||"active",output:a.output,error:a.error,historyValue:a.historyValue},this)}transition(a,b,c){return eY(a,b,c,[]).snapshot}microstep(a,b,c){return eY(a,b,c,[]).microstates}getTransitionData(a,b){return function a(b,c,d,e){if("string"==typeof c){let a=eM(b,c).next(d,e);return a&&a.length?a:b.next(d,e)}if(1===Object.keys(c).length){let f=Object.keys(c),g=a(eM(b,f[0]),c[f[0]],d,e);return g&&g.length?g:b.next(d,e)}let f=[];for(let g of Object.keys(c)){let h=c[g];if(!h)continue;let i=a(eM(b,g),h,d,e);i&&f.push(...i)}return f.length?f:b.next(d,e)}(this.root,a.value,a,b)||[]}getPreInitialState(a,b,c){let{context:d}=this.config,e=e4({context:"function"!=typeof d&&d?d:{},_nodes:[this.root],children:{},status:"active"},this);return"function"==typeof d?eX(e,b,a,[e9(({spawn:a,event:b,self:c})=>d({spawn:a,input:b.input,self:c}))],c,void 0):e}getInitialSnapshot(a,b){let c=d7(b),d=[],e=this.getPreInitialState(a,c,d),{snapshot:f}=eY(eU([{target:[...eL(this.root)],source:this.root,reenter:!0,actions:[],eventType:null,toJSON:null}],e,a,c,!0,d),c,a,d);return f}start(a){Object.values(a.children).forEach(a=>{"active"===a.getSnapshot().status&&a.start()})}getStateNodeById(a){let b=ea(a),c=b.slice(1),d=eG(b[0])?b[0].slice(1):b[0],e=this.idMap.get(d);if(!e)throw Error(`Child state node '#${d}' does not exist on machine '${this.id}'`);return eN(e,c)}get definition(){return this.root.definition}toJSON(){return this.definition}getPersistedSnapshot(a,b){let{_nodes:c,tags:d,machine:e,children:f,context:g,can:h,hasTag:i,matches:j,getMeta:k,toJSON:l,...m}=a,n={};for(let a in f){let c=f[a];n[a]={snapshot:c.getPersistedSnapshot(b),src:c.src,systemId:c._systemId,syncSnapshot:c._syncSnapshot}}return{...m,context:function a(b){let c;for(let d in b){let e=b[d];if(e&&"object"==typeof e)if("sessionId"in e&&"send"in e&&"ref"in e)(c??=Array.isArray(b)?b.slice():{...b})[d]={xstate$$type:1,id:e.id};else{let f=a(e);f!==e&&((c??=Array.isArray(b)?b.slice():{...b})[d]=f)}}return c??b}(g),children:n,historyValue:function(a){if("object"!=typeof a||null===a)return{};let b={};for(let c in a){let d=a[c];Array.isArray(d)&&(b[c]=d.map(a=>({id:a.id})))}return b}(m.historyValue)}}restoreSnapshot(a,b){let c={},d=a.children;Object.keys(d).forEach(a=>{let e=d[a],f=e.snapshot,g=e.src,h="string"==typeof g?ej(this,g):g;if(!h)return;let i=eq(h,{id:a,parent:b.self,syncSnapshot:e.syncSnapshot,snapshot:f,src:g,systemId:e.systemId});c[a]=i});let e=function(a,b){if(!b||"object"!=typeof b)return{};let c={};for(let d in b)for(let e of b[d]){let b=function(a,b){if(b instanceof fi)return b;try{return a.machine.getStateNodeById(b.id)}catch{}}(a,e);b&&(c[d]??=[],c[d].push(b))}return c}(this.root,a.historyValue),f=e4({...a,children:c,_nodes:Array.from(eC(eO(this.root,a.value))),historyValue:e},this),g=new Set;return!function a(b,c){if(!g.has(b))for(let d in g.add(b),b){let e=b[d];if(e&&"object"==typeof e){if("xstate$$type"in e&&1===e.xstate$$type){b[d]=c[e.id];continue}a(e,c)}}}(f.context,c),f}}var fk=((a,b)=>function(){return b||(0,a[ad(a)[0]])((b={exports:{}}).exports,b),b.exports})({"../../node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js"(a,b){b.exports=function a(b,c){if(b===c)return!0;if(b&&c&&"object"==typeof b&&"object"==typeof c){if(b.constructor!==c.constructor)return!1;if(Array.isArray(b)){if((d=b.length)!=c.length)return!1;for(e=d;0!=e--;)if(!a(b[e],c[e]))return!1;return!0}if(b.constructor===RegExp)return b.source===c.source&&b.flags===c.flags;if(b.valueOf!==Object.prototype.valueOf)return b.valueOf()===c.valueOf();if(b.toString!==Object.prototype.toString)return b.toString()===c.toString();if((d=(f=Object.keys(b)).length)!==Object.keys(c).length)return!1;for(e=d;0!=e--;)if(!Object.prototype.hasOwnProperty.call(c,f[e]))return!1;for(e=d;0!=e--;){var d,e,f,g=f[e];if(!a(b[g],c[g]))return!1}return!0}return b!=b&&c!=c}}}),fl=class{id;description;inputSchema;outputSchema;payload;execute;retryConfig;mastra;constructor({id:a,description:b,execute:c,payload:d,outputSchema:e,inputSchema:f,retryConfig:g}){this.id=a,this.description=b??"",this.inputSchema=f,this.payload=d,this.outputSchema=e,this.execute=c,this.retryConfig=g}},fm=(a=>(a.CONTINUE="continue",a.CONTINUE_FAILED="continue_failed",a.ABORT="abort",a.LIMBO="limbo",a))(fm||{}),fn=((a,b,c)=>(c=null!=a?aa(ae(a)):{},((a,b,c,d)=>{if(b&&"object"==typeof b||"function"==typeof b)for(let e of ad(b))af.call(a,e)||e===c||ab(a,e,{get:()=>b[e],enumerable:!(d=ac(b,e))||d.enumerable});return a})(!b&&a&&a.__esModule?c:ab(c,"default",{value:a,enumerable:!0}),a)))(fk(),1),fo=class a{logger;debounceMs;memory;static MAX_STALENESS_MS=1e3;constructor({logger:a,debounceMs:b,memory:c}){this.logger=a,this.debounceMs=b||100,this.memory=c}saveQueues=new Map;saveDebounceTimers=new Map;debounceSave(a,b,c){this.saveDebounceTimers.has(a)&&clearTimeout(this.saveDebounceTimers.get(a)),this.saveDebounceTimers.set(a,setTimeout(()=>{this.enqueueSave(a,b,c).catch(b=>{this.logger?.error?.("Error in debounceSave",{err:b,threadId:a})}),this.saveDebounceTimers.delete(a)},this.debounceMs))}enqueueSave(a,b,c){let d=(this.saveQueues.get(a)||Promise.resolve()).then(()=>this.persistUnsavedMessages(b,c)).catch(b=>{this.logger?.error?.("Error in enqueueSave",{err:b,threadId:a})}).then(()=>{this.saveQueues.get(a)===d&&this.saveQueues.delete(a)});return this.saveQueues.set(a,d),d}clearDebounce(a){this.saveDebounceTimers.has(a)&&(clearTimeout(this.saveDebounceTimers.get(a)),this.saveDebounceTimers.delete(a))}async persistUnsavedMessages(a,b){let c=a.drainUnsavedMessages();c.length>0&&this.memory&&await this.memory.saveMessages({messages:c,memoryConfig:b})}async batchMessages(b,c,d){if(!c)return;let e=b.getEarliestUnsavedMessageTimestamp(),f=Date.now();return e&&f-e>a.MAX_STALENESS_MS?this.flushMessages(b,c,d):this.debounceSave(c,b,d)}async flushMessages(a,b,c){if(b)return this.clearDebounce(b),this.enqueueSave(b,a,c)}};function fp(a,b){return a instanceof Promise?a.then(b):b(a)}function fq(a){if(a?.memory?.thread){if("string"==typeof a.memory.thread)return{id:a.memory.thread};if("object"==typeof a.memory.thread&&a.memory.thread.id)return a.memory.thread}if(a?.threadId)return{id:a.threadId}}v=[Y({prefix:"agent",excludeMethods:["hasOwnMemory","getMemory","__primitive","__registerMastra","__registerPrimitives","__setTools","__setLogger","__setTelemetry","log","getModel","getInstructions","getTools","getLLM","getWorkflows","getDefaultGenerateOptions","getDefaultStreamOptions","getDescription"]})];var fr=class extends(y=_.k){id;name;#c;#d;model;#b;#e;#f;#g;#h;#i;metrics;evals;#j;_agentNetworkAppend=!1;constructor(a){if(super({component:df.lq.AGENT}),this.name=a.name,this.id=a.name,this.#c=a.instructions,this.#d=a.description,!a.model){let b=new $.bH({id:"AGENT_CONSTRUCTOR_MODEL_REQUIRED",domain:"AGENT",category:"USER",details:{agentName:a.name},text:"LanguageModel is required to create an Agent. Please provide the 'model'."});throw this.logger.trackException(b),this.logger.error(b.toString()),b}this.model=a.model,a.workflows&&(this.#f=a.workflows),this.#g=a.defaultGenerateOptions||{},this.#h=a.defaultStreamOptions||{},this.#i=a.tools||{},this.metrics={},this.evals={},a.mastra&&(this.__registerMastra(a.mastra),this.__registerPrimitives({telemetry:a.mastra.getTelemetry(),logger:a.mastra.getLogger()})),a.metrics&&(this.logger.warn("The metrics property is deprecated. Please use evals instead to add evaluation metrics."),this.metrics=a.metrics,this.evals=a.metrics),a.evals&&(this.evals=a.evals),a.memory&&(this.#e=a.memory),a.voice?(this.#j=a.voice,"function"!=typeof a.tools&&this.#j?.addTools(this.tools),"string"==typeof a.instructions&&this.#j?.addInstructions(a.instructions)):this.#j=new av,this._agentNetworkAppend=a._agentNetworkAppend||!1}hasOwnMemory(){return!!this.#e}getMemory(){let a=this.#e;if(a&&!a.hasOwnStorage&&this.#b){let b=this.#b.getStorage();b&&a.setStorage(b)}return a}get voice(){if("function"==typeof this.#c){let a=new $.bH({id:"AGENT_VOICE_INCOMPATIBLE_WITH_FUNCTION_INSTRUCTIONS",domain:"AGENT",category:"USER",details:{agentName:this.name},text:"Voice is not compatible when instructions are a function. Please use getVoice() instead."});throw this.logger.trackException(a),this.logger.error(a.toString()),a}return this.#j}async getWorkflows({runtimeContext:a=new dj.I}={}){let b;return Object.entries((b="function"==typeof this.#f?await Promise.resolve(this.#f({runtimeContext:a})):this.#f??{})||{}).forEach(([a,b])=>{this.#b&&b.__registerMastra(this.#b)}),b}async getVoice({runtimeContext:a}={}){if(!this.#j)return new av;{let b=this.#j;return b?.addTools(await this.getTools({runtimeContext:a})),b?.addInstructions(await this.getInstructions({runtimeContext:a})),b}}get instructions(){if(this.logger.warn("The instructions property is deprecated. Please use getInstructions() instead."),"function"==typeof this.#c){let a=new $.bH({id:"AGENT_INSTRUCTIONS_INCOMPATIBLE_WITH_FUNCTION_INSTRUCTIONS",domain:"AGENT",category:"USER",details:{agentName:this.name},text:"Instructions are not compatible when instructions are a function. Please use getInstructions() instead."});throw this.logger.trackException(a),this.logger.error(a.toString()),a}return this.#c}getInstructions({runtimeContext:a=new dj.I}={}){return"string"==typeof this.#c?this.#c:fp(this.#c({runtimeContext:a}),a=>{if(!a){let a=new $.bH({id:"AGENT_GET_INSTRUCTIONS_FUNCTION_EMPTY_RETURN",domain:"AGENT",category:"USER",details:{agentName:this.name},text:"Instructions are required to use an Agent. The function-based instructions returned an empty value."});throw this.logger.trackException(a),this.logger.error(a.toString()),a}return a})}getDescription(){return this.#d??""}getDefaultGenerateOptions({runtimeContext:a=new dj.I}={}){return"function"!=typeof this.#g?this.#g:fp(this.#g({runtimeContext:a}),a=>{if(!a){let a=new $.bH({id:"AGENT_GET_DEFAULT_GENERATE_OPTIONS_FUNCTION_EMPTY_RETURN",domain:"AGENT",category:"USER",details:{agentName:this.name},text:`[Agent:${this.name}] - Function-based default generate options returned empty value`});throw this.logger.trackException(a),this.logger.error(a.toString()),a}return a})}getDefaultStreamOptions({runtimeContext:a=new dj.I}={}){return"function"!=typeof this.#h?this.#h:fp(this.#h({runtimeContext:a}),a=>{if(!a){let a=new $.bH({id:"AGENT_GET_DEFAULT_STREAM_OPTIONS_FUNCTION_EMPTY_RETURN",domain:"AGENT",category:"USER",details:{agentName:this.name},text:`[Agent:${this.name}] - Function-based default stream options returned empty value`});throw this.logger.trackException(a),this.logger.error(a.toString()),a}return a})}get tools(){if(this.logger.warn("The tools property is deprecated. Please use getTools() instead."),"function"==typeof this.#i){let a=new $.bH({id:"AGENT_GET_TOOLS_FUNCTION_INCOMPATIBLE_WITH_TOOL_FUNCTION_TYPE",domain:"AGENT",category:"USER",details:{agentName:this.name},text:"Tools are not compatible when tools are a function. Please use getTools() instead."});throw this.logger.trackException(a),this.logger.error(a.toString()),a}return(0,aw.iW)(this.#i)}getTools({runtimeContext:a=new dj.I}={}){return"function"!=typeof this.#i?(0,aw.iW)(this.#i):fp(this.#i({runtimeContext:a}),a=>{if(!a){let a=new $.bH({id:"AGENT_GET_TOOLS_FUNCTION_EMPTY_RETURN",domain:"AGENT",category:"USER",details:{agentName:this.name},text:`[Agent:${this.name}] - Function-based tools returned empty value`});throw this.logger.trackException(a),this.logger.error(a.toString()),a}return(0,aw.iW)(a)})}get llm(){if(this.logger.warn("The llm property is deprecated. Please use getLLM() instead."),"function"==typeof this.model){let a=new $.bH({id:"AGENT_LLM_GETTER_INCOMPATIBLE_WITH_FUNCTION_MODEL",domain:"AGENT",category:"USER",details:{agentName:this.name},text:"LLM is not compatible when model is a function. Please use getLLM() instead."});throw this.logger.trackException(a),this.logger.error(a.toString()),a}return this.getLLM()}getLLM({runtimeContext:a=new dj.I,model:b}={}){return fp(b?"function"==typeof b?b({runtimeContext:a}):b:this.getModel({runtimeContext:a}),a=>{let b=new di({model:a,mastra:this.#b});return this.#k&&b.__registerPrimitives(this.#k),this.#b&&b.__registerMastra(this.#b),b})}getModel({runtimeContext:a=new dj.I}={}){if("function"!=typeof this.model){if(!this.model){let a=new $.bH({id:"AGENT_GET_MODEL_MISSING_MODEL_INSTANCE",domain:"AGENT",category:"USER",details:{agentName:this.name},text:`[Agent:${this.name}] - No model provided`});throw this.logger.trackException(a),this.logger.error(a.toString()),a}return this.model}return fp(this.model({runtimeContext:a}),a=>{if(!a){let a=new $.bH({id:"AGENT_GET_MODEL_FUNCTION_EMPTY_RETURN",domain:"AGENT",category:"USER",details:{agentName:this.name},text:`[Agent:${this.name}] - Function-based model returned empty value`});throw this.logger.trackException(a),this.logger.error(a.toString()),a}return a})}__updateInstructions(a){this.#c=a,this.logger.debug(`[Agents:${this.name}] Instructions updated.`,{model:this.model,name:this.name})}#k;__registerPrimitives(a){a.telemetry&&this.__setTelemetry(a.telemetry),a.logger&&this.__setLogger(a.logger),this.#k=a,this.logger.debug(`[Agents:${this.name}] initialized.`,{model:this.model,name:this.name})}__registerMastra(a){this.#b=a}__setTools(a){this.#i=a,this.logger.debug(`[Agents:${this.name}] Tools set for agent ${this.name}`,{model:this.model,name:this.name})}async generateTitleFromUserMessage({message:a,runtimeContext:b=new dj.I,model:c,instructions:d}){let e=await this.getLLM({runtimeContext:b,model:c}),f=new dc().add(a,"user").get.all.ui().at(-1);if(!f)throw Error(`Could not generate title from input ${JSON.stringify(a)}`);let g=[];for(let a of f.parts)"text"===a.type?g.push(a):"source"===a.type?g.push({type:"text",text:`User added URL: ${a.source.url.substring(0,100)}`}):"file"===a.type&&g.push({type:"text",text:`User added ${a.mimeType} file: ${a.data.substring(0,100)}`});let h=await this.resolveTitleInstructions(b,d),{text:i}=await e.__text({runtimeContext:b,messages:[{role:"system",content:h},{role:"user",content:JSON.stringify(g)}]});return i.replace(/<think>[\s\S]*?<\/think>/g,"").trim()}getMostRecentUserMessage(a){return a.filter(a=>"user"===a.role).at(-1)}async genTitle(a,b,c,d){try{if(a){let e=new dc().add(a,"user").get.all.ui().at(-1);if(e)return await this.generateTitleFromUserMessage({message:e,runtimeContext:b,model:c,instructions:d})}return`New Thread ${new Date().toISOString()}`}catch(a){this.logger.error("Error generating title:",a);return}}async fetchMemory({threadId:a,thread:b,memoryConfig:c,resourceId:d,runId:e,userMessages:f,systemMessage:g,messageList:h=new dc({threadId:a,resourceId:d})}){let i=this.getMemory();if(i){let j=b??await i.getThreadById({threadId:a});if(!j)return{threadId:a||"",messages:f||[]};f&&f.length>0&&h.add(f,"memory"),g?.role==="system"&&h.addSystem(g,"memory");let[k,l]=a&&i?await Promise.all([i.rememberMessages({threadId:a,resourceId:d,config:c,vectorMessageSearch:h.getLatestUserContent()||""}).then(a=>a.messagesV2),i.getSystemMessage({threadId:a,memoryConfig:c})]):[[],null];this.logger.debug("Fetched messages from memory",{threadId:a,runId:e,fetchedCount:k.length}),l&&h.addSystem(l,"memory"),h.add(k,"memory");let m=h.getSystemMessages()?.map(a=>a.content)?.join(`
8
- `)??void 0,n=h.get.input.v1(),o=i.processMessages({messages:h.get.remembered.v1(),newMessages:n,systemMessage:m,memorySystemMessage:l||void 0}),p=new dc().addSystem(m).add(o,"memory").add(n,"user");return{threadId:j.id,messages:p.get.all.prompt()}}return{threadId:a||"",messages:f||[]}}async getMemoryTools({runId:a,resourceId:b,threadId:c,runtimeContext:d,mastraProxy:e}){let f={},g=this.getMemory(),h=g?.getTools?.();return h&&(f=Object.fromEntries((await Promise.all(Object.entries(h).map(async([f,h])=>[f,{description:h.description,parameters:h.parameters,execute:"function"==typeof h?.execute?async(i,j)=>{try{return this.logger.debug(`[Agent:${this.name}] - Executing memory tool ${f}`,{name:f,description:h.description,args:i,runId:a,threadId:c,resourceId:b}),h?.execute?.({context:i,mastra:e,memory:g,runId:a,threadId:c,resourceId:b,logger:this.logger,agentName:this.name,runtimeContext:d},j)??void 0}catch(e){let d=new $.bH({id:"AGENT_MEMORY_TOOL_EXECUTION_FAILED",domain:"AGENT",category:"USER",details:{agentName:this.name,runId:a||"",threadId:c||"",resourceId:b||""},text:`[Agent:${this.name}] - Failed memory tool execution`},e);throw this.logger.trackException(d),this.logger.error(d.toString()),d}}:void 0}]))).filter(a=>!!a))),f}async getMemoryMessages({resourceId:a,threadId:b,vectorMessageSearch:c,memoryConfig:d}){let e=this.getMemory();return e?e.rememberMessages({threadId:b,resourceId:a,config:d,vectorMessageSearch:c}).then(a=>a.messagesV2):[]}async getAssignedTools({runtimeContext:a,runId:b,resourceId:c,threadId:d,mastraProxy:e}){this.logger.debug(`[Agents:${this.name}] - Assembling assigned tools`,{runId:b,threadId:d,resourceId:c});let f=this.getMemory(),g=Object.entries(await this.getTools({runtimeContext:a})||{});return{...Object.fromEntries((await Promise.all(g.map(async([g,h])=>{if(!h)return;let i={name:g,runId:b,threadId:d,resourceId:c,logger:this.logger,mastra:e,memory:f,agentName:this.name,runtimeContext:a,model:"function"==typeof this.model?await this.getModel({runtimeContext:a}):this.model};return[g,(0,aw.EA)(h,i)]}))).filter(a=>!!a))}}async getToolsets({runId:a,threadId:b,resourceId:c,toolsets:d,runtimeContext:e,mastraProxy:f}){let g={},h=this.getMemory(),i=Object.values(d||{});if(i.length>0)for(let j of(this.logger.debug(`[Agent:${this.name}] - Adding tools from toolsets ${Object.keys(d||{}).join(", ")}`,{runId:a}),i))for(let[d,i]of Object.entries(j)){let j={name:d,runId:a,threadId:b,resourceId:c,logger:this.logger,mastra:f,memory:h,agentName:this.name,runtimeContext:e,model:"function"==typeof this.model?await this.getModel({runtimeContext:e}):this.model},k=(0,aw.EA)(i,j,"toolset");g[d]=k}return g}async getClientTools({runId:a,threadId:b,resourceId:c,runtimeContext:d,mastraProxy:e,clientTools:f}){let g={},h=this.getMemory(),i=Object.entries(f||{});if(i.length>0)for(let[j,k]of(this.logger.debug(`[Agent:${this.name}] - Adding client tools ${Object.keys(f||{}).join(", ")}`,{runId:a}),i)){let{execute:f,...i}=k,l={name:j,runId:a,threadId:b,resourceId:c,logger:this.logger,mastra:e,memory:h,agentName:this.name,runtimeContext:d,model:"function"==typeof this.model?await this.getModel({runtimeContext:d}):this.model},m=(0,aw.EA)(i,l,"client-tool");g[j]=m}return g}async getWorkflowTools({runId:a,threadId:b,resourceId:c,runtimeContext:d}){let e={},f=await this.getWorkflows({runtimeContext:d});return Object.keys(f).length>0&&(e=Object.entries(f).reduce((e,[f,g])=>(e[f]={description:g.description||`Workflow: ${f}`,parameters:g.inputSchema||{type:"object",properties:{}},execute:async e=>{try{this.logger.debug(`[Agent:${this.name}] - Executing workflow as tool ${f}`,{name:f,description:g.description,args:e,runId:a,threadId:b,resourceId:c});let h=g.createRun();return await h.start({inputData:e,runtimeContext:d})}catch(e){let d=new $.bH({id:"AGENT_WORKFLOW_TOOL_EXECUTION_FAILED",domain:"AGENT",category:"USER",details:{agentName:this.name,runId:a||"",threadId:b||"",resourceId:c||""},text:`[Agent:${this.name}] - Failed workflow tool execution`},e);throw this.logger.trackException(d),this.logger.error(d.toString()),d}}},e),{})),e}async convertTools({toolsets:a,clientTools:b,threadId:c,resourceId:d,runId:e,runtimeContext:f}){let g,h=this.logger;this.#b&&(g=(0,aw.v4)({mastra:this.#b,logger:h}));let i=await this.getAssignedTools({runId:e,resourceId:d,threadId:c,runtimeContext:f,mastraProxy:g}),j=await this.getMemoryTools({runId:e,resourceId:d,threadId:c,runtimeContext:f,mastraProxy:g}),k=await this.getToolsets({runId:e,resourceId:d,threadId:c,runtimeContext:f,mastraProxy:g,toolsets:a}),l=await this.getClientTools({runId:e,resourceId:d,threadId:c,runtimeContext:f,mastraProxy:g,clientTools:b}),m=await this.getWorkflowTools({runId:e,resourceId:d,threadId:c,runtimeContext:f});return{...i,...j,...k,...l,...m}}async saveStepMessages({saveQueueManager:a,result:b,messageList:c,threadId:d,memoryConfig:e,runId:f}){try{c.add(b.response.messages,"response"),await a.batchMessages(c,d,e)}catch(b){throw await a.flushMessages(c,d,e),this.logger.error("Error saving memory on step finish",{error:b,runId:f}),b}}__primitive({instructions:a,messages:b,context:c,thread:d,memoryConfig:e,resourceId:f,runId:g,toolsets:h,clientTools:i,runtimeContext:j,generateMessageId:k,saveQueueManager:l}){return{before:async()=>{let l;this.logger.debug(`[Agents:${this.name}] - Starting generation`,{runId:g});let m=this.getMemory(),n=[h&&Object.keys(h||{}).length>0?`toolsets present (${Object.keys(h||{}).length} tools)`:void 0,m&&f?"memory and resourceId available":void 0].filter(Boolean).join(", ");this.logger.debug(`[Agent:${this.name}] - Enhancing tools: ${n}`,{runId:g,toolsets:h?Object.keys(h):void 0,clientTools:i?Object.keys(i):void 0,hasMemory:!!this.getMemory(),hasResourceId:!!f});let o=d?.id,p=await this.convertTools({toolsets:h,clientTools:i,threadId:o,resourceId:f,runId:g,runtimeContext:j}),q=new dc({threadId:o,resourceId:f,generateMessageId:k,_agentNetworkAppend:this._agentNetworkAppend}).addSystem({role:"system",content:a||`${this.instructions}.`}).add(c||[],"context");if(!m||!o&&!f)return q.add(b,"user"),{messageObjects:q.get.all.prompt(),convertedTools:p,messageList:q};if(!o||!f){let a=new $.bH({id:"AGENT_MEMORY_MISSING_RESOURCE_ID",domain:"AGENT",category:"USER",details:{agentName:this.name,threadId:o||"",resourceId:f||""},text:`A resourceId must be provided when passing a threadId and using Memory. Saw threadId ${o} but resourceId is ${f}`});throw this.logger.trackException(a),this.logger.error(a.toString()),a}let r=m.constructor.name;this.logger.debug(`[Agent:${this.name}] - Memory persistence enabled: store=${r}, resourceId=${f}`,{runId:g,resourceId:f,threadId:o,memoryStore:r});let s=await m.getThreadById({threadId:o});l=s?!s.metadata&&d.metadata||d.metadata&&!(0,fn.default)(s.metadata,d.metadata)?await m.saveThread({thread:{...s,metadata:d.metadata},memoryConfig:e}):s:await m.createThread({threadId:o,metadata:d.metadata,title:d.title,memoryConfig:e,resourceId:f});let[t,u]=d.id&&m?await Promise.all([this.getMemoryMessages({resourceId:f,threadId:l.id,vectorMessageSearch:new dc().add(b,"user").getLatestUserContent()||"",memoryConfig:e}),m.getSystemMessage({threadId:l.id,resourceId:f,memoryConfig:e})]):[[],null];this.logger.debug("Fetched messages from memory",{threadId:l.id,runId:g,fetchedCount:t.length});let v=t.filter(a=>a.threadId!==l.id);v.length&&!u&&(u=""),v.length&&(u+=`
9
- The following messages were remembered from a different conversation:
10
- <remembered_from_other_conversation>
11
- ${(()=>{let a="",b=new dc().add(v,"memory").get.all.v1(),c=null;for(let d of b){let b=d.createdAt,e=b.getUTCFullYear(),f=b.toLocaleString("default",{month:"short"}),g=b.getUTCDate(),h=`${e}, ${f}, ${g}`,i=b.getUTCHours(),j=b.getUTCMinutes(),k=i%12||12,m=i<12?"AM":"PM",n=`${k}:${j<10?"0":""}${j} ${m}`;c&&c===h||(a+=`
12
- the following messages are from ${h}
13
- `),a+=`
14
- Message ${d.threadId&&d.threadId!==l.id?"from previous conversation":""} at ${n}: ${JSON.stringify(d)}`,c=h}return a})()}
15
- <end_remembered_from_other_conversation>`),u&&q.addSystem(u,"memory"),q.add(t.filter(a=>a.threadId===l.id),"memory").add(b,"user");let w=[...q.getSystemMessages(),...q.getSystemMessages("memory")].map(a=>a.content)?.join(`
16
- `)??void 0,y=m.processMessages({messages:q.get.remembered.v1(),newMessages:q.get.input.v1(),systemMessage:w,memorySystemMessage:u||void 0}),z=new dc({threadId:l.id,resourceId:f,_agentNetworkAppend:this._agentNetworkAppend}).addSystem(a||`${this.instructions}.`).addSystem(u).add(c||[],"context").add(y,"memory").add(q.get.input.v2(),"user").get.all.prompt();return{convertedTools:p,thread:l,messageList:q,messageObjects:z}},after:async({result:b,thread:c,threadId:d,memoryConfig:e,outputText:g,runId:h,messageList:i})=>{let k={text:b?.text,object:b?.object,toolResults:b?.toolResults,toolCalls:b?.toolCalls,usage:b?.usage,steps:b?.steps?.map(a=>({stepType:a?.stepType,text:b?.text,object:b?.object,toolResults:b?.toolResults,toolCalls:b?.toolCalls,usage:b?.usage}))};this.logger.debug(`[Agent:${this.name}] - Post processing LLM response`,{runId:h,result:k,threadId:d});let m=this.getMemory(),n=new dc({threadId:d,resourceId:f,_agentNetworkAppend:this._agentNetworkAppend}).add(b.response.messages,"response").get.all.core(),o=n?.some(a=>"tool"===a.role&&a?.content?.some(a=>a?.toolName==="updateWorkingMemory"))?d?await m?.getThreadById({threadId:d}):void 0:c;if(m&&f&&o)try{let a=b.response.messages;!a&&b.object&&(a=[{role:"assistant",content:[{type:"text",text:g}]}]),a&&i.add(a,"response");let c=[l.flushMessages(i,d,e)];if(o.title?.startsWith("New Thread")){let a=m.getMergedThreadConfig(e),b=this.getMostRecentUserMessage(i.get.all.ui()),{shouldGenerate:d,model:g,instructions:h}=this.resolveTitleGenerationConfig(a?.threads?.generateTitle);d&&b&&c.push(this.genTitle(b,j,g,h).then(a=>{if(a)return m.createThread({threadId:o.id,resourceId:f,memoryConfig:e,title:a,metadata:o.metadata})}))}await Promise.all(c)}catch(b){if(await l.flushMessages(i,d,e),b instanceof $.bH)throw b;let a=new $.bH({id:"AGENT_MEMORY_PERSIST_RESPONSE_MESSAGES_FAILED",domain:"AGENT",category:"SYSTEM",details:{agentName:this.name,runId:h||"",threadId:d||"",result:JSON.stringify(k)}},b);throw this.logger.trackException(a),this.logger.error(a.toString()),a}if(Object.keys(this.evals||{}).length>0){let b=i.get.all.ui().filter(a=>"user"===a.role).map(a=>"string"==typeof a.content?a.content:"").join("\n"),c=h||crypto.randomUUID();for(let d of Object.values(this.evals||{}))!function(a,b){setImmediate(()=>{de.emit(a,b)})}("onGeneration",{input:b,output:g,runId:c,metric:d,agentName:this.name,instructions:a||this.instructions})}}}}async generate(a,b={}){let{context:c,memoryOptions:d,resourceId:e,maxSteps:f,onStepFinish:g,output:h,toolsets:i,clientTools:j,temperature:k,toolChoice:l="auto",experimental_output:m,telemetry:n,runtimeContext:o=new dj.I,savePerStep:p=!1,...q}=Object.assign({},await this.getDefaultGenerateOptions({runtimeContext:b.runtimeContext}),b),r="experimental_generateMessageId"in q&&"function"==typeof q.experimental_generateMessageId?q.experimental_generateMessageId:void 0,s=fq({...q,...b}),t=q.memory?.resource||e,u=q.memory?.options||d;t&&s&&!this.getMemory()&&this.logger.warn(`[Agent:${this.name}] - No memory is configured but resourceId and threadId were passed in args. This will not work.`);let v=q.runId||(0,ax.randomUUID)(),w=q.instructions||await this.getInstructions({runtimeContext:o}),y=await this.getLLM({runtimeContext:o}),z=this.getMemory(),A=new fo({logger:this.logger,memory:z}),{before:B,after:C}=this.__primitive({messages:a,instructions:w,context:c,thread:s,memoryConfig:u,resourceId:t,runId:v,toolsets:i,clientTools:j,runtimeContext:o,generateMessageId:r,saveQueueManager:A}),{thread:D,messageObjects:E,convertedTools:F,messageList:G}=await B(),H=D?.id;if(!h&&m){let a=await y.__text({messages:E,tools:F,onStepFinish:async a=>(p&&await this.saveStepMessages({saveQueueManager:A,result:a,messageList:G,threadId:H,memoryConfig:u,runId:v}),g?.({...a,runId:v})),maxSteps:f,runId:v,temperature:k,toolChoice:l||"auto",experimental_output:m,threadId:H,resourceId:t,memory:this.getMemory(),runtimeContext:o,telemetry:n,...q}),b=a.text;return await C({result:a,threadId:H,thread:D,memoryConfig:u,outputText:b,runId:v,messageList:G}),a.object=a.experimental_output,a}if(!h){let a=await y.__text({messages:E,tools:F,onStepFinish:async a=>(p&&await this.saveStepMessages({saveQueueManager:A,result:a,messageList:G,threadId:H,memoryConfig:u,runId:v}),g?.({...a,runId:v})),maxSteps:f,runId:v,temperature:k,toolChoice:l,telemetry:n,threadId:H,resourceId:t,memory:this.getMemory(),runtimeContext:o,...q}),b=a.text;return await C({result:a,thread:D,threadId:H,memoryConfig:u,outputText:b,runId:v,messageList:G}),a}let I=await y.__textObject({messages:E,tools:F,structuredOutput:h,onStepFinish:async a=>(p&&await this.saveStepMessages({saveQueueManager:A,result:a,messageList:G,threadId:H,memoryConfig:u,runId:v}),g?.({...a,runId:v})),maxSteps:f,runId:v,temperature:k,toolChoice:l,telemetry:n,memory:this.getMemory(),runtimeContext:o,...q}),J=JSON.stringify(I.object);return await C({result:I,thread:D,threadId:H,memoryConfig:u,outputText:J,runId:v,messageList:G}),I}async stream(a,b={}){let{context:c,memoryOptions:d,resourceId:e,maxSteps:f,onFinish:g,onStepFinish:h,toolsets:i,clientTools:j,output:k,temperature:l,toolChoice:m="auto",experimental_output:n,telemetry:o,runtimeContext:p=new dj.I,savePerStep:q=!1,...r}=Object.assign({},await this.getDefaultStreamOptions({runtimeContext:b.runtimeContext}),b),s="experimental_generateMessageId"in r&&"function"==typeof r.experimental_generateMessageId?r.experimental_generateMessageId:void 0,t=fq({...r,...b}),u=r.memory?.resource||e,v=r.memory?.options||d;u&&t&&!this.getMemory()&&this.logger.warn(`[Agent:${this.name}] - No memory is configured but resourceId and threadId were passed in args. This will not work.`);let w=r.runId||(0,ax.randomUUID)(),y=r.instructions||await this.getInstructions({runtimeContext:p}),z=await this.getLLM({runtimeContext:p}),A=this.getMemory(),B=new fo({logger:this.logger,memory:A}),{before:C,after:D}=this.__primitive({instructions:y,messages:a,context:c,thread:t,memoryConfig:v,resourceId:u,runId:w,toolsets:i,clientTools:j,runtimeContext:p,generateMessageId:s,saveQueueManager:B}),{thread:E,messageObjects:F,convertedTools:G,messageList:H}=await C(),I=E?.id;if(!k&&n){this.logger.debug(`Starting agent ${this.name} llm stream call`,{runId:w});let a=z.__stream({messages:F,temperature:l,tools:G,onStepFinish:async a=>(q&&await this.saveStepMessages({saveQueueManager:B,result:a,messageList:H,threadId:I,memoryConfig:v,runId:w}),h?.({...a,runId:w})),onFinish:async a=>{try{let b=a.text;await D({result:a,thread:E,threadId:I,memoryConfig:v,outputText:b,runId:w,messageList:H})}catch(a){this.logger.error("Error saving memory on finish",{error:a,runId:w})}await g?.({...a,runId:w})},maxSteps:f,runId:w,toolChoice:m,experimental_output:n,telemetry:o,memory:this.getMemory(),runtimeContext:p,threadId:E?.id,resourceId:u,...r});return a.partialObjectStream=a.experimental_partialOutputStream,a}return k?(this.logger.debug(`Starting agent ${this.name} llm streamObject call`,{runId:w}),z.__streamObject({messages:F,tools:G,temperature:l,structuredOutput:k,onStepFinish:async a=>(q&&await this.saveStepMessages({saveQueueManager:B,result:a,messageList:H,threadId:I,memoryConfig:v,runId:w}),h?.({...a,runId:w})),onFinish:async a=>{try{let b=JSON.stringify(a.object);await D({result:a,thread:E,threadId:I,memoryConfig:v,outputText:b,runId:w,messageList:H})}catch(a){this.logger.error("Error saving memory on finish",{error:a,runId:w})}await g?.({...a,runId:w})},runId:w,toolChoice:m,telemetry:o,memory:this.getMemory(),runtimeContext:p,threadId:E?.id,resourceId:u,...r})):(this.logger.debug(`Starting agent ${this.name} llm stream call`,{runId:w}),z.__stream({messages:F,temperature:l,tools:G,onStepFinish:async a=>(q&&await this.saveStepMessages({saveQueueManager:B,result:a,messageList:H,threadId:I,memoryConfig:v,runId:w}),h?.({...a,runId:w})),onFinish:async a=>{try{let b=a.text;await D({result:a,thread:E,threadId:I,memoryConfig:v,outputText:b,runId:w,messageList:H})}catch(a){this.logger.error("Error saving memory on finish",{error:a,runId:w})}await g?.({...a,runId:w})},maxSteps:f,runId:w,toolChoice:m,telemetry:o,memory:this.getMemory(),runtimeContext:p,threadId:E?.id,resourceId:u,...r}))}async speak(a,b){if(!this.voice){let a=new $.bH({id:"AGENT_SPEAK_METHOD_VOICE_NOT_CONFIGURED",domain:"AGENT",category:"USER",details:{agentName:this.name},text:"No voice provider configured"});throw this.logger.trackException(a),this.logger.error(a.toString()),a}this.logger.warn("Warning: agent.speak() is deprecated. Please use agent.voice.speak() instead.");try{return this.voice.speak(a,b)}catch(b){let a;throw a=b instanceof $.bH?b:new $.bH({id:"AGENT_SPEAK_METHOD_ERROR",domain:"AGENT",category:"UNKNOWN",details:{agentName:this.name},text:"Error during agent speak"},b),this.logger.trackException(a),this.logger.error(a.toString()),a}}async listen(a,b){if(!this.voice){let a=new $.bH({id:"AGENT_LISTEN_METHOD_VOICE_NOT_CONFIGURED",domain:"AGENT",category:"USER",details:{agentName:this.name},text:"No voice provider configured"});throw this.logger.trackException(a),this.logger.error(a.toString()),a}this.logger.warn("Warning: agent.listen() is deprecated. Please use agent.voice.listen() instead");try{return this.voice.listen(a,b)}catch(b){let a;throw a=b instanceof $.bH?b:new $.bH({id:"AGENT_LISTEN_METHOD_ERROR",domain:"AGENT",category:"UNKNOWN",details:{agentName:this.name},text:"Error during agent listen"},b),this.logger.trackException(a),this.logger.error(a.toString()),a}}async getSpeakers(){if(!this.voice){let a=new $.bH({id:"AGENT_SPEAKERS_METHOD_VOICE_NOT_CONFIGURED",domain:"AGENT",category:"USER",details:{agentName:this.name},text:"No voice provider configured"});throw this.logger.trackException(a),this.logger.error(a.toString()),a}this.logger.warn("Warning: agent.getSpeakers() is deprecated. Please use agent.voice.getSpeakers() instead.");try{return await this.voice.getSpeakers()}catch(b){let a;throw a=b instanceof $.bH?b:new $.bH({id:"AGENT_GET_SPEAKERS_METHOD_ERROR",domain:"AGENT",category:"UNKNOWN",details:{agentName:this.name},text:"Error during agent getSpeakers"},b),this.logger.trackException(a),this.logger.error(a.toString()),a}}toStep(){return new fl(fB(this))}resolveTitleGenerationConfig(a){return"boolean"==typeof a?{shouldGenerate:a}:"object"==typeof a&&null!==a?{shouldGenerate:!0,model:a.model,instructions:a.instructions}:{shouldGenerate:!1}}async resolveTitleInstructions(a,b){let c=`
17
- - you will generate a short title based on the first message a user begins a conversation with
18
- - ensure it is not more than 80 characters long
19
- - the title should be a summary of the user's message
20
- - do not use quotes or colons
21
- - the entire text you return will be used as the title`;return b?"string"==typeof b?b:fp(b({runtimeContext:a}),a=>a||c):c}};function fs(a){return a.type.startsWith("xstate.done.actor.")}function ft(a){return"object"==typeof a&&"step"in a&&"path"in a}function fu(a){if(a?.status==="success")return a.output}function fv(a){let b=[],c=(a,d=[])=>{for(let[e,f]of Object.entries(a)){let a=[...d,e];"string"==typeof f?b.push({stepPath:a,stepId:e,status:f}):"object"==typeof f&&null!==f&&c(f,a)}};return c(a),b}function fw(a,b,c){let d=b=>{let e={};for(let[f,g]of Object.entries(b))f===a?e[f]={...c}:"string"==typeof g?e[f]=g:"object"==typeof g&&null!==g&&(e[f]=d(g));return e};return d(b)}fr=ao(w=aj(y),0,"Agent",v,fr),an(w,1,fr);var fx=(a,b)=>{let c={};for(let d of Object.keys(a)){let e=a[d];d===b?c[d]="pending":"object"==typeof e&&null!==e?c[d]=fx(e,b):c[d]=e}return c};function fy(a){return fv(a.value).reduce((b,c)=>{let d={status:c.status,stepPath:c.stepPath};return"suspended"===c.status&&(d.suspendPayload=a.context.steps[c.stepId].suspendPayload,d.stepPath=c.stepPath),b.set(c.stepId,d),b},new Map)}function fz(a){return a instanceof fG}function fA(a){return a instanceof fr}function fB(a,{mastra:b}={}){return{id:a.name,inputSchema:aA.Ik({prompt:aA.Yj(),resourceId:aA.Yj().optional(),threadId:aA.Yj().optional()}),outputSchema:aA.Ik({text:aA.Yj()}),execute:async({context:c,runId:d,mastra:e})=>{let f=e??b;if(!f)throw Error("Mastra instance not found");return a.__registerMastra(f),a.__registerPrimitives({logger:f.getLogger(),telemetry:f.getTelemetry()}),{text:(await a.generate(c.inputData.prompt,{runId:d,resourceId:c.inputData.resourceId,threadId:c.inputData.threadId})).text}}}}function fC(a,{mastra:b}){var c;return a.setNested(!0),{id:a.name,workflow:a,workflowId:(c=a.name)?c.replace(/[-_]/g," ").split(" ").filter(a=>a.length>0).map((a,b)=>(a=a.replace(/[^a-zA-Z0-9]/g,""),0===b)?a.toLowerCase():a.charAt(0).toUpperCase()+a.slice(1).toLowerCase()).join("")+function(a){let b="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",c="";for(let a=0;a<3;a++){let a=Math.floor(Math.random()*b.length);c+=b.charAt(a)}return c}(3):"",execute:async({context:c,suspend:d,emit:e,mastra:f,runtimeContext:g})=>{let h=f??b;h&&(a.__registerMastra(h),a.__registerPrimitives({logger:h.getLogger(),telemetry:h.getTelemetry()}));let i=c.isResume?a.createRun({runId:c.isResume.runId}):a.createRun(),j=i.watch(b=>{e("state-update",a.name,b.results,{...c,...{[a.name]:b.results}})}),k=c.isResume&&c.isResume.stepId.includes(".")?await i.resume({stepId:c.isResume.stepId.split(".").slice(1).join("."),context:c.inputData,runtimeContext:g}):await i.start({triggerData:c.inputData,runtimeContext:g});if(j(),!k)throw Error("LegacyWorkflow run failed");if(k.activePaths?.size>0){let a=[...k.activePaths.entries()].find(([,{status:a}])=>"suspended"===a);a&&await d(a[1].suspendPayload,{...k,runId:i.runId})}return{...k,runId:i.runId}}}}function fD(a){return a.startsWith("__")&&(a.includes("_if")||a.includes("_else"))}var fE=class extends dl{logger;#b;#l;#m;#n;#o;#p;#q;#r;name;#s=null;#t={};#u;constructor({logger:a,mastra:b,runtimeContext:c,workflowInstance:d,executionSpan:e,name:f,runId:g,steps:h,stepGraph:i,retryConfig:j,startStepId:k}){super(),this.#b=b,this.#m=d,this.#l=c,this.#n=e,this.logger=a,this.#q=g,this.#r=k,this.name=f,this.#o=i,this.#t=h,this.#u=j,this.initializeMachine()}get startStepId(){return this.#r}async execute({stepId:a,input:b,snapshot:c,resumeData:d}={}){c&&this.logger.debug("Workflow snapshot received",{runId:this.#q,snapshot:c});let e=b.steps,f=this.#o?.initial[0]?.step?.id===a;f&&(c=void 0,b.steps={}),this.logger.debug("Machine input prepared",{runId:this.#q,input:b});let g=c?{...c,context:{...b,inputData:{...c?.context?.inputData||{},...d},isResume:{runId:c?.context?.steps[a.split(".")?.[0]]?.output?.runId||this.#q,stepId:a}}}:void 0;return this.logger.debug("Creating actor with configuration",{input:b,actorSnapshot:g,runId:this.#q,machineStates:this.#p.config.states}),this.#s=eq(this.#p,{inspect:a=>{this.logger.debug("XState inspection event",{type:a.type,event:a.event,runId:this.#q})},input:{...b,inputData:{...c?.context?.inputData||{},...d}},snapshot:g}),this.#s.start(),a&&this.#s.send({type:"RESET_TO_PENDING",stepId:a}),this.logger.debug("Actor started",{runId:this.#q}),new Promise((a,b)=>{if(!this.#s){this.logger.error("Actor not initialized",{runId:this.#q});let a=Error("Actor not initialized");this.#n?.recordException(a),this.#n?.end(),b(a);return}let c=new Set;this.#s.subscribe(async b=>{this.emit("state-update",this.#r,b),function a({value:b,path:c,suspendedPaths:d}){"string"==typeof b?"suspended"===b&&d.add(c):Object.keys(b).forEach(e=>a({value:b[e],path:c?`${c}.${e}`:e,suspendedPaths:d}))}({value:b.value,path:"",suspendedPaths:c});let d=function a({value:b,suspendedPaths:c,path:d}){return"string"==typeof b?["completed","failed"].includes(b)||"limbo"===b||c.has(d):Object.keys(b).every(e=>a({value:b[e],suspendedPaths:c,path:d?`${d}.${e}`:e}))}({value:b.value,suspendedPaths:c,path:""});if(this.logger.debug("State completion check",{allStatesComplete:d,suspendedPaths:Array.from(c),runId:this.#q}),!d)return void this.logger.debug("Not all states complete",{allStatesComplete:d,suspendedPaths:Array.from(c),runId:this.#q});try{this.logger.debug("All states complete",{runId:this.#q}),await this.#m.persistWorkflowSnapshot(),this.#v(),this.#n?.end(),a({runId:this.#q,results:f?{...e,...b.context.steps}:b.context.steps,activePaths:fy(b),timestamp:Date.now()})}catch(c){this.logger.debug("Failed to persist final snapshot",{error:c}),this.#v(),this.#n?.end(),a({runId:this.#q,results:f?{...e,...b.context.steps}:b.context.steps,activePaths:fy(b),timestamp:Date.now()})}})})}#v(){this.#s&&(this.#s.stop(),this.#s=null),this.removeAllListeners()}#w(){let a={};return Object.keys(this.#t).forEach(b=>{a[b]=this.#t[b]?.step?.retryConfig?.delay||this.#u?.delay||1e3}),a}#x(){return{updateStepResult:e9({steps:({context:a,event:b})=>{if(!fs(b))return a.steps;let{stepId:c,result:d}=b.output;return{...a.steps,[c]:{status:"success",output:d}}}}),setStepError:e9({steps:({context:a,event:b},c)=>{if(!b.type.startsWith("xstate.error.actor."))return a.steps;let{stepId:d}=c;return d?{...a.steps,[d]:{status:"failed",error:b.error.message}}:a.steps}}),notifyStepCompletion:async(a,b)=>{let{stepId:c}=b;this.logger.debug(`Step ${c} completed`)},snapshotStep:e9({_snapshot:({},a)=>{let{stepId:b}=a;return{stepId:b}}}),persistSnapshot:async({context:a})=>{a._snapshot&&await this.#m.persistWorkflowSnapshot()},decrementAttemptCount:e9({attempts:({context:a,event:b},c)=>{if(!fs(b))return a.attempts;let{stepId:d}=c,e=a.attempts[d];return void 0===e?a.attempts:{...a.attempts,[d]:e-1}}})}}#y(){return{resolverFunction:fd(async({input:a})=>{let b,c,{stepNode:d,context:e}=a,f=e.attempts[d.id],g=this.#z({stepConfig:d.config,context:e,stepId:d.id});this.logger.debug(`Resolved variables for ${d.id}`,{resolvedData:g,runId:this.#q});let h=this.logger;this.#b&&(b=(0,aw.v4)({mastra:this.#b,logger:h}));try{c=await d.config.handler({context:{...e,inputData:{...e?.inputData||{},...g},getStepResult:a=>{let b="string"==typeof a?a:a.id;if("trigger"===b)return e.triggerData;let c=e.steps[b];if(c&&"success"===c.status)return c.output}},emit:(a,...b)=>{this.emit(a,...b)},suspend:async(a,b)=>{await this.#m.suspend(d.id,this),this.#s?(e.steps[d.id]={status:"suspended",suspendPayload:a,output:b},this.logger.debug(`Sending SUSPENDED event for step ${d.id}`),this.#s?.send({type:"SUSPENDED",suspendPayload:a,stepId:d.id,softSuspend:b})):this.logger.debug(`Actor not available for step ${d.id}`)},runId:this.#q,mastra:b,runtimeContext:this.#l})}catch(a){if(this.logger.debug(`Step ${d.id} failed`,{stepId:d.id,error:a,runId:this.#q}),this.logger.debug(`Attempt count for step ${d.id}`,{attemptCount:f,attempts:e.attempts,runId:this.#q,stepId:d.id}),!f||f<0)return{type:"STEP_FAILED",error:a instanceof Error?a.message:`Step:${d.id} failed with error: ${a}`,stepId:d.id};return{type:"STEP_WAITING",stepId:d.id}}return this.logger.debug(`Step ${d.id} result`,{stepId:d.id,result:c,runId:this.#q}),{type:"STEP_SUCCESS",result:c,stepId:d.id}}),conditionCheck:fd(async({input:a})=>{let{context:b,stepNode:c}=a,d=c.config;if(this.logger.debug(`Checking conditions for step ${c.id}`,{stepId:c.id,runId:this.#q}),!d?.when)return{type:"CONDITIONS_MET"};if(this.logger.debug(`Checking conditions for step ${c.id}`,{stepId:c.id,runId:this.#q}),"function"==typeof d?.when){let a=await d.when({context:{...b,getStepResult:a=>{let c="string"==typeof a?a:a.id;if("trigger"===c)return b.triggerData;let d=b.steps[c];if(d&&"success"===d.status)return d.output}},mastra:this.#b});if("abort"===a)a=!1;else if("continue_failed"===a)return{type:"CONDITIONS_SKIP_TO_COMPLETED"};else if("limbo"===a)return{type:"CONDITIONS_LIMBO"};else if(a)return this.logger.debug(`Condition met for step ${c.id}`,{stepId:c.id,runId:this.#q}),{type:"CONDITIONS_MET"};return fD(c.id)?{type:"CONDITIONS_LIMBO"}:this.#m.hasSubscribers(c.id)?{type:"CONDITIONS_SKIPPED"}:{type:"CONDITIONS_LIMBO"}}return this.#A(d.when,b)?{type:"CONDITIONS_MET"}:{type:"CONDITION_FAILED",error:`Step:${c.id} condition check failed`}}),spawnSubscriberFunction:fd(async({input:a})=>{let{parentStepId:b,context:c}=a;return Promise.resolve({steps:(await this.#m.runMachine(b,c,this.#l)).reduce((a,b)=>({...a,...b?.results}),{})})})}}#z({stepConfig:a,context:b,stepId:c}){this.logger.debug(`Resolving variables for step ${c}`,{stepId:c,runId:this.#q});let d={};for(let[c,e]of Object.entries(a.data)){let a="trigger"===e.step?b.triggerData:fu(b.steps[e.step.id]);if(this.logger.debug(`Got source data for ${c} variable from ${"trigger"===e.step?"trigger":e.step.id}`,{sourceData:a,path:e.path,runId:this.#q}),!a&&"trigger"!==e.step){d[c]=void 0;continue}let f=""===e.path||"."===e.path?a:dk(a,e.path);this.logger.debug(`Resolved variable ${c}`,{value:f,runId:this.#q}),d[c]=f}return d}initializeMachine(){let a=(function({schemas:a,actors:b,actions:c,guards:d,delays:e}){return{createMachine:f=>new fj({...f,schemas:a},{actors:b,actions:c,guards:d,delays:e})}})({types:{},delays:this.#w(),actions:this.#x(),actors:this.#y()}).createMachine({id:this.name,type:"parallel",context:({input:a})=>({...a}),states:this.#B(this.#o)});return this.#p=a,a}#B(a){let b={};return a.initial.forEach(c=>{let d=[...a[c.id]||[]];b[c.id]={...this.#C(c,d)}}),b}#C(a,b=[]){let c=b.shift();return{initial:"pending",on:{RESET_TO_PENDING:{target:".pending"}},states:{pending:{entry:()=>{this.logger.debug(`Step ${a.id} pending`,{stepId:a.id,runId:this.#q})},exit:()=>{this.logger.debug(`Step ${a.id} finished pending`,{stepId:a.id,runId:this.#q})},invoke:{src:"conditionCheck",input:({context:b})=>({context:b,stepNode:a}),onDone:[{guard:({event:a})=>"SUSPENDED"===a.output.type,target:"suspended",actions:[e9({steps:({context:b,event:c})=>"SUSPENDED"!==c.output.type?b.steps:c.output.softSuspend?{...b.steps,[a.id]:{status:"suspended",...b.steps?.[a.id]||{},output:c.output.softSuspend}}:{...b.steps,[a.id]:{status:"suspended",...b.steps?.[a.id]||{}}},attempts:({context:b,event:c})=>"SUSPENDED"!==c.output.type?b.attempts:{...b.attempts,[a.id]:a.step.retryConfig?.attempts||0}})]},{guard:({event:a})=>"WAITING"===a.output.type,target:"waiting",actions:[{type:"decrementAttemptCount",params:{stepId:a.id}},e9({steps:({context:b,event:c})=>"WAITING"!==c.output.type?b.steps:{...b.steps,[a.id]:{status:"waiting"}}})]},{guard:({event:a})=>"CONDITIONS_MET"===a.output.type,target:"executing"},{guard:({event:a})=>"CONDITIONS_SKIP_TO_COMPLETED"===a.output.type,target:"completed"},{guard:({event:a})=>"CONDITIONS_SKIPPED"===a.output.type,actions:e9({steps:({context:b})=>{let c={...b.steps,[a.id]:{status:"skipped"}};return this.logger.debug(`Step ${a.id} skipped`,{stepId:a.id,runId:this.#q}),c}}),target:"runningSubscribers"},{guard:({event:a})=>"CONDITIONS_LIMBO"===a.output.type,target:"limbo",actions:e9({steps:({context:b})=>{let c={...b.steps,[a.id]:{status:"skipped"}};return this.logger.debug(`Step ${a.id} skipped`,{stepId:a.id,runId:this.#q}),c}})},{guard:({event:a})=>"CONDITION_FAILED"===a.output.type,target:"failed",actions:e9({steps:({context:b,event:c})=>"CONDITION_FAILED"!==c.output.type?b.steps:(this.logger.debug("Workflow condition check failed",{error:c.output.error,stepId:a.id}),{...b.steps,[a.id]:{status:"failed",error:c.output.error}})})}]}},waiting:{entry:()=>{this.logger.debug(`Step ${a.id} waiting`,{stepId:a.id,timestamp:new Date().toISOString(),runId:this.#q})},exit:()=>{this.logger.debug(`Step ${a.id} finished waiting`,{stepId:a.id,timestamp:new Date().toISOString(),runId:this.#q})},after:{[a.id]:{target:"pending"}}},limbo:{entry:()=>{this.logger.debug(`Step ${a.id} limbo`,{stepId:a.id,timestamp:new Date().toISOString(),runId:this.#q})},exit:()=>{this.logger.debug(`Step ${a.id} finished limbo`,{stepId:a.id,timestamp:new Date().toISOString(),runId:this.#q})}},suspended:{type:"final",entry:[()=>{this.logger.debug(`Step ${a.id} suspended`,{stepId:a.id,runId:this.#q})},e9({steps:({context:b,event:c})=>({...b.steps,[a.id]:{...b?.steps?.[a.id]||{},status:"suspended",suspendPayload:"SUSPENDED"===c.type?c.suspendPayload:void 0,output:"SUSPENDED"===c.type?c.softSuspend:void 0}})})]},executing:{entry:()=>{this.logger.debug(`Step ${a.id} executing`,{stepId:a.id,runId:this.#q})},on:{SUSPENDED:{target:"suspended",actions:[e9({steps:({context:b,event:c})=>({...b.steps,[a.id]:{status:"suspended",suspendPayload:"SUSPENDED"===c.type?c.suspendPayload:void 0,output:"SUSPENDED"===c.type?c.softSuspend:void 0}})})]}},invoke:{src:"resolverFunction",input:({context:b})=>({context:b,stepNode:a}),onDone:[{guard:({event:a})=>"STEP_FAILED"===a.output.type,target:"failed",actions:e9({steps:({context:b,event:c})=>{if("STEP_FAILED"!==c.output.type)return b.steps;let d={...b.steps,[a.id]:{status:"failed",error:c.output.error}};return this.logger.debug(`Step ${a.id} failed`,{error:c.output.error,stepId:a.id}),d}})},{guard:({event:a})=>"STEP_SUCCESS"===a.output.type,actions:[({event:b})=>{this.logger.debug(`Step ${a.id} finished executing`,{stepId:a.id,output:b.output,runId:this.#q})},{type:"updateStepResult",params:{stepId:a.id}},{type:"spawnSubscribers",params:{stepId:a.id}}],target:"runningSubscribers"},{guard:({event:a})=>"STEP_WAITING"===a.output.type,target:"waiting",actions:[{type:"decrementAttemptCount",params:{stepId:a.id}},e9({steps:({context:b,event:c})=>"STEP_WAITING"!==c.output.type?b.steps:{...b.steps,[a.id]:{status:"waiting"}}})]}],onError:{target:"failed",actions:[{type:"setStepError",params:{stepId:a.id}}]}}},runningSubscribers:{entry:()=>{this.logger.debug(`Step ${a.id} running subscribers`,{stepId:a.id,runId:this.#q})},exit:()=>{this.logger.debug(`Step ${a.id} finished running subscribers`,{stepId:a.id,runId:this.#q})},invoke:{src:"spawnSubscriberFunction",input:({context:b})=>({parentStepId:a.id,context:b}),onDone:{target:c?c.id:"completed",actions:[e9({steps:({context:a,event:b})=>({...a.steps,...b.output.steps})}),()=>this.logger.debug("Subscriber execution completed",{stepId:a.id})]},onError:{target:c?c.id:"completed",actions:({event:b})=>{this.logger.debug("Subscriber execution failed",{error:b.error,stepId:a.id})}}}},completed:{type:"final",entry:[{type:"notifyStepCompletion",params:{stepId:a.id}},{type:"snapshotStep",params:{stepId:a.id}},{type:"persistSnapshot"}]},failed:{type:"final",entry:[{type:"notifyStepCompletion",params:{stepId:a.id}},{type:"snapshotStep",params:{stepId:a.id}},{type:"persistSnapshot"}]},...c?{[c.id]:{...this.#C(c,b)}}:{}}}}#A(a,b){let c=!0,d=!0,e=!0,f=Object.entries(a).find(([a])=>a.includes("."));if(f){let[a,c]=f,[e,...g]=a.split("."),h=g.join("."),i="trigger"===e?b.triggerData:fu(b.steps[e]);if(this.logger.debug(`Got condition data from step ${e}`,{stepId:e,sourceData:i,runId:this.#q}),!i)return!1;let j=dk(i,h);"trigger"===e||"status"!==h||j||(j="success"),d="object"==typeof c&&null!==c?d2(c)(j):j===c}if("ref"in a){let{ref:c,query:e}=a,f="trigger"===c.step?b.triggerData:fu(b.steps[c.step.id]);if(this.logger.debug(`Got condition data from ${"trigger"===c.step?"trigger":c.step.id}`,{sourceData:f,runId:this.#q}),!f)return!1;let g=dk(f,c.path);"trigger"===c.step||"status"!==c.path||g||(g="success"),d=d2(e)(g)}"and"in a&&(c=a.and.every(a=>this.#A(a,b)),this.logger.debug("Evaluated AND condition",{andBranchResult:c,runId:this.#q})),"or"in a&&(e=a.or.some(a=>this.#A(a,b)),this.logger.debug("Evaluated OR condition",{orBranchResult:e,runId:this.#q})),"not"in a&&(d=!this.#A(a.not,b),this.logger.debug("Evaluated NOT condition",{baseResult:d,runId:this.#q}));let g=d&&c&&e;return this.logger.debug("Evaluated condition",{finalResult:g,runId:this.#q}),g}getSnapshot(){return this.#s?.getSnapshot()}},fF=class{name;#b;#D={};logger;#t={};#o;#E={};#u;events;#q;#F=null;#n;#G=new Set;#H;#I;#J={};#K={};constructor({name:a,logger:b,steps:c,runId:d,retryConfig:e,mastra:f,stepGraph:g,stepSubscriberGraph:h,onFinish:i,onStepTransition:j,resultMapping:k,events:l}){this.name=a,this.logger=b,this.#t=c,this.#o=g,this.#E=h,this.#u=e,this.#b=f,this.#q=d??crypto.randomUUID(),this.#H=i,this.#I=k,this.events=l,j?.forEach(a=>this.#G.add(a)),this.#L()}setState(a){this.#F=a}get runId(){return this.#q}get executionSpan(){return this.#n}watch(a){return this.#G.add(a),()=>{this.#G.delete(a)}}async start({triggerData:a,runtimeContext:b}={}){let c=await this.execute({triggerData:a,runtimeContext:b??new dj.I});return this.#H&&(Object.values(Object.fromEntries(c.activePaths)).some(a=>"suspended"===a.status)||this.#H()),{...c,runId:this.runId}}isCompoundDependencyMet(a){if(!this.#M(a))return!0;let b=this.#K[a];return!b||Object.values(b).every(a=>!0===a)}async execute({triggerData:a,snapshot:b,stepId:c,resumeData:d,runtimeContext:e}={runtimeContext:new dj.I}){this.#n=this.#b?.getTelemetry()?.tracer.startSpan(`workflow.${this.name}.execute`,{attributes:{componentName:this.name,runId:this.runId}});let f={steps:{},triggerData:a||{},attempts:Object.keys(this.#t).reduce((a,b)=>(a[b]=this.#t[b]?.step?.retryConfig?.attempts||this.#u?.attempts||0,a),{})},g=this.#o,h="trigger";b&&c&&b?.suspendedSteps?.[c]&&(h=b.suspendedSteps[c],g=this.#E[h]??this.#o,f=b.context);let i=new fE({logger:this.logger,mastra:this.#b,runtimeContext:e,workflowInstance:this,name:this.name,runId:this.runId,steps:this.#t,stepGraph:g,executionSpan:this.#n,startStepId:h,retryConfig:this.#u});this.#D[h]=i,i.on("state-update",(a,b,c)=>{let d={value:{},context:{}};c?(d.value=b,d.context=c):d=b,"trigger"===a?this.#F=d.value:this.#F=fw(a,this.#F,d.value);let e=Date.now();this.#G&&this.#G.forEach(a=>{a({runId:this.#q,results:d.context.steps,activePaths:fy(d),timestamp:e})})});let{results:j,activePaths:k}=await i.execute({snapshot:b,stepId:c,input:f,resumeData:d});await this.persistWorkflowSnapshot();let l={results:j,activePaths:k,timestamp:Date.now()};return this.#I&&(l.result=function({runId:a,logger:b,variables:c,context:d}){let e={};for(let[f,g]of Object.entries(c)){let c="trigger"===g.step?d.triggerData:fu(d.steps[g.step.id??g.step.name]);if(b.debug(`Got source data for ${f} variable from ${"trigger"===g.step?"trigger":g.step.id??g.step.name}`,{sourceData:c,path:g.path,runId:a}),!c&&"trigger"!==g.step){e[f]=void 0;continue}let h=""===g.path||"."===g.path?c:dk(c,g.path);b.debug(`Resolved variable ${f}`,{value:h,runId:a}),e[f]=h}return e}({runId:this.#q,logger:this.logger,variables:this.#I,context:{steps:j,triggerData:a}})),l}hasSubscribers(a){return Object.keys(this.#E).some(b=>b.split("&&").includes(a))}async runMachine(a,b,c=new dj.I){let d=b.steps[a]?.status,e=Object.keys(this.#E).filter(b=>b.split("&&").includes(a));e.forEach(b=>{["success","failure","skipped"].includes(d)&&this.#M(b)&&(this.#K[b][a]=!0)});let f=(a,b,c)=>{let d={value:{},context:{}};c?(d.value=b,d.context=c):d=b,"trigger"===a?this.#F=d.value:this.#F=fw(a,this.#F,d.value);let e=Date.now();this.#G&&this.#G.forEach(a=>{a({runId:this.#q,results:d.context.steps,activePaths:fy(d),timestamp:e})})};return await Promise.all(e.map(async d=>{if(!this.#E[d]||!this.isCompoundDependencyMet(d))return;this.#N(d);let e=new fE({logger:this.logger,mastra:this.#b,runtimeContext:c,workflowInstance:this,name:"trigger"===a?this.name:`${this.name}-${a}`,runId:this.runId,steps:this.#t,stepGraph:this.#E[d],executionSpan:this.#n,startStepId:a});return e.on("state-update",f),this.#D[a]=e,e.execute({input:b})}))}async suspend(a,b){this.#J[a]=b}async persistWorkflowSnapshot(){let a=this.#b?.getStorage();if(!a)return void this.logger.debug("Snapshot cannot be persisted. Mastra engine is not initialized",{runId:this.#q});let b=await a.loadWorkflowSnapshot({workflowName:this.name,runId:this.#q}),c={};for(let[a,b]of Object.entries(this.#D)){let d=b?.getSnapshot();d&&(c[a]={...d})}let d=c.trigger;delete c.trigger;let e=Object.entries(this.#J).reduce((a,[b,c])=>(a[b]=c.startStepId,a),{});if(!d&&b){b.childStates={...b.childStates,...c},b.suspendedSteps={...b.suspendedSteps,...e},await a.persistWorkflowSnapshot({workflowName:this.name,runId:this.#q,snapshot:b});return}if(d&&!b){d.suspendedSteps=e,d.childStates={...c},await a.persistWorkflowSnapshot({workflowName:this.name,runId:this.#q,snapshot:d});return}return d?(d.suspendedSteps={...b.suspendedSteps,...e},b&&d!==b)?void(b?.childStates?d.childStates={...b.childStates,...c}:d.childStates=c,await a.persistWorkflowSnapshot({workflowName:this.name,runId:this.#q,snapshot:d})):void await a.persistWorkflowSnapshot({workflowName:this.name,runId:this.#q,snapshot:d}):void this.logger.debug("Snapshot cannot be persisted. No snapshot received.",{runId:this.#q})}async getState(){let a=await this.#b?.storage?.loadWorkflowSnapshot({workflowName:this.name,runId:this.runId}),b=a?{trigger:a,...Object.entries(a?.childStates??{}).reduce((a,[b,c])=>({...a,[b]:c}),{})}:{};Object.assign(b,Object.entries(this.#D).reduce((a,[b,c])=>{let d=c.getSnapshot();return d?{...a,[b]:d}:a},{}));let c=b.trigger;delete b.trigger;let d={...c},e=fv(b.value);return{runId:this.runId,value:d.value,context:d.context,activePaths:e,timestamp:Date.now()}}async resumeWithEvent(a,b,c=new dj.I){if(!this.events?.[a])throw Error(`Event ${a} not found`);return await this.resume({stepId:`__${a}_event`,context:{resumedEvent:b},runtimeContext:c})}async resume({stepId:a,context:b,runtimeContext:c=new dj.I}){return await new Promise(a=>setTimeout(a,0)),this._resume({stepId:a,context:b,runtimeContext:c})}async #O(a){let b=this.#b?.getStorage();return b?(await this.persistWorkflowSnapshot(),b.loadWorkflowSnapshot({runId:a,workflowName:this.name})):void this.logger.debug("Snapshot cannot be loaded. Mastra engine is not initialized",{runId:a})}async _resume({stepId:a,context:b,runtimeContext:c}){let d,e=await this.#O(this.runId);if(!e)throw Error(`No snapshot found for workflow run ${this.runId}`);let f=a.split("."),g=f.join(".");f.length>1&&(a=f[0]??a);try{d="string"==typeof e?JSON.parse(e):e}catch(a){throw this.logger.debug("Failed to parse workflow snapshot for resume",{error:a,runId:this.runId}),Error("Failed to parse workflow snapshot")}let h=d.suspendedSteps?.[a];if(h){if(!(d="trigger"===h?d:{...d?.childStates?.[h],...{suspendedSteps:d.suspendedSteps}}))throw Error(`No snapshot found for step: ${a} starting at ${h}`);return b&&(d.context.steps[a]={status:"success",output:{...d?.context?.steps?.[a]?.output||{},...b}}),d.children&&Object.entries(d.children).forEach(([,a])=>{if(a.snapshot?.input?.stepNode){let b=this.#P(a.snapshot.input.stepNode.step.id);a.snapshot.input.stepNode.config={...a.snapshot.input.stepNode.config,...b},a.snapshot.input.context=d.context}}),d.value=fx(d.value,a),d.context?.attempts&&(d.context.attempts[a]=this.#t[a]?.step?.retryConfig?.attempts||this.#u?.attempts||0),this.logger.debug("Resuming workflow with updated snapshot",{updatedSnapshot:d,runId:this.runId,stepId:a}),this.execute({snapshot:d,stepId:g,resumeData:b,runtimeContext:c})}}#L(){Object.keys(this.#E).forEach(a=>{if(this.#M(a)){let b=a.split("&&");this.#K[a]=b.reduce((a,b)=>(a[b]=!1,a),{})}})}#N(a){if(this.#M(a)){let b=a.split("&&");this.#K[a]=b.reduce((a,b)=>(a[b]=!1,a),{})}}#P(a){let b=(a,b,c)=>async d=>await T._.with(R.u.setSpan(T._.active(),this.#n),async()=>this.#b?.getTelemetry()?this.#b.getTelemetry()?.traceMethod(a,{spanName:b,attributes:c})(d):a(d)),c=async({context:c,...d})=>{let e=this.#t[a];if(!e)throw Error("Step not found");let{payload:f={},execute:g=async()=>{}}=e.step,h={...f,...c},i=this.#b?.getTelemetry()?b(g,`workflow.${this.name}.action.${a}`,{componentName:this.name,runId:d.runId}):g;return i?await i({context:h,...d}):{}};return{handler:({context:d,...e})=>this.#n?b(c,`workflow.${this.name}.step.${a}`,{componentName:this.name,runId:e?.runId})({context:d,...e}):c({context:d,...e}),data:{}}}#M(a){return a.includes("&&")}},fG=class extends _.k{name;triggerSchema;resultSchema;resultMapping;events;#u;#b;#Q=new Map;isNested=!1;#G=new Set;#R=[];#S=[];#T=null;#U=[];#o={initial:[]};#V={initial:[]};#E={};#W={};#t={};#X=0;constructor({name:a,triggerSchema:b,result:c,retryConfig:d,mastra:e,events:f}){super({component:"WORKFLOW",name:a}),this.name=a,this.#u=d,this.triggerSchema=b,this.resultSchema=c?.schema,this.resultMapping=c?.mapping,this.events=f,e&&(this.__registerPrimitives({telemetry:e.getTelemetry(),logger:e.getLogger()}),this.#b=e)}step(a,b){let c=this;if(Array.isArray(a)){let c=a.map(a=>fz(a)?a.toStep():fA(a)?fB(a):a);return c.forEach(a=>this.step(a,b)),this.after(c),this.step(new fl({id:`__after_${a.map(a=>b?.id??a?.id??a?.name).join("_")}`,execute:async()=>({success:!0})})),this}let{variables:d={}}=b||{},e={};for(let[a,b]of Object.entries(d))b&&ft(b)&&(e[a]=b);let f=fz(a)?fC(a,{mastra:this.#b}):fA(a)?fB(a,{mastra:this.#b}):a,g=this.#Y(f,b),h=b?.["#internal"]?.when||b?.when,i={step:f,config:{...this.#P(g),...b,loopLabel:b?.["#internal"]?.loopLabel,loopType:b?.["#internal"]?.loopType,serializedWhen:"function"==typeof h?h.toString():h,data:e},get id(){return c.#Y(this.step,this.config)}};this.#t[g]=i;let j=this.#Z({loop_check:!0}),k=this.#E[j||""],l=this.#W[j||""];return j&&k?(!k.initial.some(a=>a.config.id===g||a.step.id===g)&&(k.initial.push(i),l&&l.initial.push(i)),k[g]=[],l&&(l[g]=[])):(this.#o[g]||(this.#o[g]=[]),this.#o.initial.push(i),this.#V.initial.push(i)),this.#S.push(g),this.#T="step",this}#$(a,b,c){let d=this;if(Array.isArray(a)){let d=a.map(a=>fz(a)?a.toStep():a);return d.forEach(a=>this.#$(a,b,c)),this.after(d),this.#$(new fl({id:`__after_${a.map(a=>a?.id??a?.name).join("_")}`,execute:async()=>({success:!0})}),void 0,c),this}let{variables:e={}}=b||{},f={};for(let[a,b]of Object.entries(e))b&&ft(b)&&(f[a]=b);let g=fz(a)?fC(a,{mastra:this.#b}):a,h=this.#Y(g,b),i=b?.["#internal"]?.when||b?.when,j={step:g,config:{...this.#P(h),...b,loopLabel:b?.["#internal"]?.loopLabel,loopType:b?.["#internal"]?.loopType,serializedWhen:"function"==typeof i?i.toString():i,data:f},get id(){return d.#Y(this.step,this.config)}};this.#t[h]=j;let k=this.#Z(),l=this.#E[k||""],m=this.#W[k||""];return k&&l?(!l.initial.some(a=>a.step.id===h)&&(l.initial.push(j),m&&m.initial.push(j)),l[h]=[],m&&(m[h]=[])):(this.#o[h]||(this.#o[h]=[]),this.#o.initial.push(j),this.#V.initial.push(j)),this.#S.push(h),this.#T="step",this}#Y(a,b){return"string"==typeof a?a:`${b?.id??a.id??a.name}`}then(a,b){let c=this;if(Array.isArray(a)){let c=this.#t[this.#S[this.#S.length-1]??""];if(!c)throw Error("Condition requires a step to be executed after");return this.after(c.step),a.map(a=>fz(a)?fC(a,{mastra:this.#b}):fA(a)?fB(a):a).forEach(a=>this.step(a,b)),this.step(new fl({id:`__after_${a.map(a=>a?.id??a?.name).join("_")}`,execute:async()=>({success:!0})})),this}let{variables:d={}}=b||{},e={};for(let[a,b]of Object.entries(d))b&&ft(b)&&(e[a]=b);let f=this.#S[this.#S.length-1],g=fz(a)?fC(a,{mastra:this.#b}):fA(a)?fB(a):a,h=this.#Y(g,b),i=b?.["#internal"]?.when||b?.when,j={step:g,config:{...this.#P(h),...b,loopLabel:b?.["#internal"]?.loopLabel,loopType:b?.["#internal"]?.loopType,serializedWhen:"function"==typeof i?i.toString():i,data:e},get id(){return c.#Y(this.step,this.config)}};if(this.#t[h]=j,!f)return this;let k=this.#Z(),l=this.#E[k||""],m=this.#W[k||""];return k&&"after"===this.#T?this.step(g,b):(k&&l&&l[f]?(l[f].push(j),m&&m[f]&&m[f].push(j)):(this.#o[f]||(this.#o[f]=[]),this.#V[f]||(this.#V[f]=[]),this.#o[f].push(j),this.#V[f].push(j)),this.#T="then",this)}loop(a,b,c,d,e){if(!this.#S[this.#S.length-1])return this;let f=this.#Y(c),g={step:c,config:{...this.#P(f)},get id(){return f}};this.#t[f]=g;let h=`__${f}_${d}_loop_check`,i={id:h,execute:async({context:c})=>{if("function"==typeof b){let a=await b({context:c});switch(d){case"while":return{status:a?"continue":"complete"};case"until":return{status:a?"complete":"continue"};default:throw Error(`Invalid loop type: ${d}`)}}if(b&&"ref"in b){let{ref:d,query:e}=b,f="string"==typeof d.step?d.step:"id"in d.step?d.step.id:null;if(!f)return{status:"continue"};let g=c.steps?.[f]?.output;if(!g)return{status:"continue"};let h=d.path.split(".").reduce((a,b)=>a?.[b],g),i=Object.keys(e)[0],j=e[i];return a(i,h,j)}return{status:"continue"}},outputSchema:aA.Ik({status:aA.k5(["continue","complete"])})},j={step:i,config:{...this.#P(h)},get id(){return h}};this.#t[h]=j;let k=`__${f}_${d}_loop_finished`,l={id:k,execute:async()=>({success:!0})},m={step:l,config:{...this.#P(k)},get id(){return k}};return this.#t[k]=m,this.then(i,{id:h,"#internal":{loopLabel:`${f} ${d} loop check`}}),this.after(i),this.#$(c,{when:async({context:a})=>{let b=a.steps?.[h];return b?.status!=="success"?"abort":"continue"===b?.output?.status?"continue":"continue_failed"},variables:e,"#internal":{when:b,loopType:d}}).then(i,{id:h,"#internal":{loopLabel:`${f} ${d} loop check`}}),this.#$(l,{id:k,when:async({context:a})=>{let b=a.steps?.[h];return b?.status!=="success"?"continue_failed":"complete"===b?.output?.status?"continue":"continue_failed"},"#internal":{loopLabel:`${f} ${d} loop finished`,loopType:d}}),this}while(a,b,c){let d=this.loop((a,b,c)=>{switch(a){case"$eq":return{status:b!==c?"complete":"continue"};case"$ne":return{status:b===c?"complete":"continue"};case"$gt":return{status:b<=c?"complete":"continue"};case"$gte":return{status:b<c?"complete":"continue"};case"$lt":return{status:b>=c?"complete":"continue"};case"$lte":return{status:b>c?"complete":"continue"};default:return{status:"continue"}}},a,b,"while",c);return this.#T="while",d}until(a,b,c){let d=this.loop((a,b,c)=>{switch(a){case"$eq":return{status:b===c?"complete":"continue"};case"$ne":return{status:b!==c?"complete":"continue"};case"$gt":return{status:b>c?"complete":"continue"};case"$gte":return{status:b>=c?"complete":"continue"};case"$lt":return{status:b<c?"complete":"continue"};case"$lte":return{status:b<=c?"complete":"continue"};default:return{status:"continue"}}},a,b,"until",c);return this.#T="until",d}if(a,b,c){this.#X++;let d=this.#_({if_else_check:"else"!==this.#T});if(!d)throw Error("Condition requires a step to be executed after");if(this.after(d.step),b){let e=fz(b)?fC(b,{mastra:this.#b}):b;if(this.step(e,{id:e.id,when:a}),c){let b=fz(c)?fC(c,{mastra:this.#b}):c;this.step(b,{id:b.id,when:"function"==typeof a?async b=>!await a(b):{not:a}}),this.after([e,b])}else this.after(e);return this.step(new fl({id:`${d.id}_if_else`,execute:async()=>({executed:!0})})),this}let e=`__${d.id}_if_${this.#X}`;this.step({id:e,execute:async()=>({executed:!0})},{id:e,when:a});let f=`__${d.id}_else_${this.#X}`;return this.#U.push({condition:a,elseStepKey:f,condStep:d.step}),this.#T="if",this}else(){let a=this.#U.pop();if(!a)throw Error("No active condition found");return this.after(a.condStep).step({id:a.elseStepKey,execute:async()=>({executed:!0})},{id:a.elseStepKey,when:"function"==typeof a.condition?async b=>!await a.condition(b):{not:a.condition}}),this.#T="else",this}after(a){let b=(Array.isArray(a)?a:[a]).map(a=>this.#Y(a)).join("&&");return this.#R.push(b),this.#E[b]||(this.#E[b]={initial:[]},this.#W[b]={initial:[]}),this.#T="after",this}afterEvent(a){if(!this.events?.[a])throw Error(`Event ${a} not found`);let b=this.#t[this.#S[this.#S.length-1]??""];if(!b)throw Error("Condition requires a step to be executed after");let c=new fl({id:`__${a}_event`,execute:async({context:a,suspend:b})=>a.inputData?.resumedEvent?{executed:!0,resumedEvent:a.inputData?.resumedEvent}:(await b(),{executed:!1})});return this.after(b.step).step(c).after(c),this.#T="afterEvent",this}createRun({runId:a,events:b}={}){let c=new fF({logger:this.logger,name:this.name,mastra:this.#b,retryConfig:this.#u,steps:this.#t,runId:a,stepGraph:this.#o,stepSubscriberGraph:this.#E,onStepTransition:this.#G,resultMapping:this.resultMapping,onFinish:()=>{this.#Q.delete(c.runId)},events:b});return this.#Q.set(c.runId,c),{start:c.start.bind(c),runId:c.runId,watch:c.watch.bind(c),resume:c.resume.bind(c),resumeWithEvent:c.resumeWithEvent.bind(c)}}async getRun(a){let b=this.#Q.get(a);if(b)return b;let c=this.#b?.getStorage();return c?await c.getWorkflowRunById({runId:a,workflowName:this.name}):(this.logger.debug("Cannot get workflow run. Mastra engine is not initialized"),null)}getMemoryRun(a){return this.#Q.get(a)}commit(){return this}#aa({value:a,path:b,suspendedPaths:c}){"string"==typeof a?"suspended"===a&&c.add(b):Object.keys(a).forEach(d=>this.#aa({value:a[d],path:b?`${b}.${d}`:d,suspendedPaths:c}))}async getWorkflowRuns(a){let b=this.#b?.getStorage();return b?b.getWorkflowRuns({workflowName:this.name,...a??{}}):(this.logger.debug("Cannot get workflow runs. Mastra engine is not initialized"),{runs:[],total:0})}getExecutionSpan(a){return this.#Q.get(a)?.executionSpan}#Z({loop_check:a=!1,if_else_check:b=!1}={}){for(let c=this.#R.length-1;c>=0;c--){let d=this.#R[c];if(d&&this.#E[d]&&(!a||!d.includes("loop_check"))&&(!b||!fD(d)))return d}}#_({if_else_check:a}){for(let b=this.#S.length-1;b>=0;b--){let c=this.#S[b];if(!c)continue;let d=this.#t[c];if(!(!d||a&&fD(c)))return d}}#P(a){let b=(a,b,c)=>async d=>await T._.with(R.u.setSpan(T._.active(),this.getExecutionSpan(c?.runId??d?.runId)),async()=>this?.telemetry?this.telemetry.traceMethod(a,{spanName:b,attributes:c})(d):a(d)),c=async({context:c,...d})=>{let e=this.#t[a];if(!e)throw Error("Step not found");let{payload:f={},execute:g=async()=>{}}=e.step,h=this.telemetry?b(g,`workflow.${this.name}.action.${a}`,{componentName:this.name,runId:d.runId}):g;return h?await h({context:{...c,inputData:{...c?.inputData||{},...f}},...d}):{}};return{handler:({context:d,...e})=>this.getExecutionSpan(e?.runId)?b(c,`workflow.${this.name}.step.${a}`,{componentName:this.name,runId:e?.runId})({context:d,...e}):c({context:d,...e}),data:{}}}#ab(a){let b=[],c=(a,d=[])=>{for(let[e,f]of Object.entries(a)){let a=[...d,e];"string"==typeof f?b.push({stepPath:a,stepId:e,status:f}):"object"==typeof f&&null!==f&&c(f,a)}};return c(a),b}async getState(a){let b=this.#Q.get(a);if(b)return b.getState();let c=this.#b?.getStorage(),d=await c?.loadWorkflowSnapshot({runId:a,workflowName:this.name});if(d){let b=this.#ab(d.value);return{runId:a,value:d.value,context:d.context,activePaths:b,timestamp:Date.now()}}return null}async resume({runId:a,stepId:b,context:c,runtimeContext:d=new dj.I}){this.logger.warn("Please use 'resume' on the 'createRun' call instead, resume is deprecated");let e=this.#Q.get(a);return e?e.resume({stepId:b,context:c,runtimeContext:d}):this.createRun({runId:a}).resume({stepId:b,context:c,runtimeContext:d})}watch(a){return this.logger.warn("Please use 'watch' on the 'createRun' call instead, watch is deprecated"),this.#G.add(a),()=>{this.#G.delete(a)}}async resumeWithEvent(a,b,c){if(this.logger.warn("Please use 'resumeWithEvent' on the 'createRun' call instead, resumeWithEvent is deprecated"),!this.events?.[b])throw Error(`Event ${b} not found`);return await this.resume({runId:a,stepId:`__${b}_event`,context:{resumedEvent:c},runtimeContext:new dj.I})}__registerMastra(a){this.#b=a}__registerPrimitives(a){a.telemetry&&this.__setTelemetry(a.telemetry),a.logger&&this.__setLogger(a.logger)}get stepGraph(){return this.#o}get stepSubscriberGraph(){return this.#E}get serializedStepGraph(){return this.#V}get serializedStepSubscriberGraph(){return this.#W}get steps(){return Object.entries(this.#t).reduce((a,[b,c])=>(a[b]=c.step,a),{})}setNested(a){this.isNested=a}toStep(){return new fl(fC(this,{mastra:this.#b}))}},fH=aA.Ik({type:aA.eu("error"),error:aA.Ik({type:aA.Yj(),message:aA.Yj()})}),fI=(0,az.sl)({errorSchema:fH,errorToMessage:a=>a.error.message});function fJ(a){switch(a){case"end_turn":case"stop_sequence":return"stop";case"tool_use":return"tool-calls";case"max_tokens":return"length";default:return"unknown"}}var fK=class{constructor(a,b,c){this.specificationVersion="v1",this.defaultObjectGenerationMode="tool",this.modelId=a,this.settings=b,this.config=c}supportsUrl(a){return"https:"===a.protocol}get provider(){return this.config.provider}get supportsImageUrls(){return this.config.supportsImageUrls}async getArgs({mode:a,prompt:b,maxTokens:c=4096,temperature:d,topP:e,topK:f,frequencyPenalty:g,presencePenalty:h,stopSequences:i,responseFormat:j,seed:k,providerMetadata:l}){var m,n,o;let p=a.type,q=[];null!=g&&q.push({type:"unsupported-setting",setting:"frequencyPenalty"}),null!=h&&q.push({type:"unsupported-setting",setting:"presencePenalty"}),null!=k&&q.push({type:"unsupported-setting",setting:"seed"}),null!=j&&"text"!==j.type&&q.push({type:"unsupported-setting",setting:"responseFormat",details:"JSON response format is not supported."});let{prompt:r,betas:s}=function({prompt:a,sendReasoning:b,warnings:c}){var d,e,f,g;let h,i=new Set,j=function(a){let b,c=[];for(let d of a){let{role:a}=d;switch(a){case"system":(null==b?void 0:b.type)!=="system"&&(b={type:"system",messages:[]},c.push(b)),b.messages.push(d);break;case"assistant":(null==b?void 0:b.type)!=="assistant"&&(b={type:"assistant",messages:[]},c.push(b)),b.messages.push(d);break;case"user":case"tool":(null==b?void 0:b.type)!=="user"&&(b={type:"user",messages:[]},c.push(b)),b.messages.push(d);break;default:throw Error(`Unsupported role: ${a}`)}}return c}(a),k=[];function l(a){var b;let c=null==a?void 0:a.anthropic;return null!=(b=null==c?void 0:c.cacheControl)?b:null==c?void 0:c.cache_control}for(let a=0;a<j.length;a++){let m=j[a],n=a===j.length-1,o=m.type;switch(o){case"system":if(null!=h)throw new ay.b8({functionality:"Multiple system messages that are separated by user/assistant messages"});h=m.messages.map(({content:a,providerMetadata:b})=>({type:"text",text:a,cache_control:l(b)}));break;case"user":{let a=[];for(let b of m.messages){let{role:c,content:g}=b;switch(c){case"user":for(let c=0;c<g.length;c++){let f=g[c],h=c===g.length-1,j=null!=(d=l(f.providerMetadata))?d:h?l(b.providerMetadata):void 0;switch(f.type){case"text":a.push({type:"text",text:f.text,cache_control:j});break;case"image":a.push({type:"image",source:f.image instanceof URL?{type:"url",url:f.image.toString()}:{type:"base64",media_type:null!=(e=f.mimeType)?e:"image/jpeg",data:(0,az.n_)(f.image)},cache_control:j});break;case"file":if("application/pdf"!==f.mimeType)throw new ay.b8({functionality:"Non-PDF files in user messages"});i.add("pdfs-2024-09-25"),a.push({type:"document",source:f.data instanceof URL?{type:"url",url:f.data.toString()}:{type:"base64",media_type:"application/pdf",data:f.data},cache_control:j})}}break;case"tool":for(let c=0;c<g.length;c++){let d=g[c],e=c===g.length-1,h=null!=(f=l(d.providerMetadata))?f:e?l(b.providerMetadata):void 0,i=null!=d.content?d.content.map(a=>{var b;switch(a.type){case"text":return{type:"text",text:a.text,cache_control:void 0};case"image":return{type:"image",source:{type:"base64",media_type:null!=(b=a.mimeType)?b:"image/jpeg",data:a.data},cache_control:void 0}}}):JSON.stringify(d.result);a.push({type:"tool_result",tool_use_id:d.toolCallId,content:i,is_error:d.isError,cache_control:h})}break;default:throw Error(`Unsupported role: ${c}`)}}k.push({role:"user",content:a});break}case"assistant":{let a=[];for(let d=0;d<m.messages.length;d++){let e=m.messages[d],f=d===m.messages.length-1,{content:h}=e;for(let d=0;d<h.length;d++){let i=h[d],j=d===h.length-1,k=null!=(g=l(i.providerMetadata))?g:j?l(e.providerMetadata):void 0;switch(i.type){case"text":a.push({type:"text",text:n&&f&&j?i.text.trim():i.text,cache_control:k});break;case"reasoning":b?a.push({type:"thinking",thinking:i.text,signature:i.signature,cache_control:k}):c.push({type:"other",message:"sending reasoning content is disabled for this model"});break;case"redacted-reasoning":a.push({type:"redacted_thinking",data:i.data,cache_control:k});break;case"tool-call":a.push({type:"tool_use",id:i.toolCallId,name:i.toolName,input:i.args,cache_control:k})}}}k.push({role:"assistant",content:a});break}default:throw Error(`Unsupported type: ${o}`)}}return{prompt:{system:h,messages:k},betas:i}}({prompt:b,sendReasoning:null==(m=this.settings.sendReasoning)||m,warnings:q}),t=(0,az.xI)({provider:"anthropic",providerOptions:l,schema:fN}),u=(null==(n=null==t?void 0:t.thinking)?void 0:n.type)==="enabled",v=null==(o=null==t?void 0:t.thinking)?void 0:o.budgetTokens,w={model:this.modelId,max_tokens:c,temperature:d,top_k:f,top_p:e,stop_sequences:i,...u&&{thinking:{type:"enabled",budget_tokens:v}},system:r.system,messages:r.messages};if(u){if(null==v)throw new ay.b8({functionality:"thinking requires a budget"});null!=w.temperature&&(w.temperature=void 0,q.push({type:"unsupported-setting",setting:"temperature",details:"temperature is not supported when thinking is enabled"})),null!=f&&(w.top_k=void 0,q.push({type:"unsupported-setting",setting:"topK",details:"topK is not supported when thinking is enabled"})),null!=e&&(w.top_p=void 0,q.push({type:"unsupported-setting",setting:"topP",details:"topP is not supported when thinking is enabled"})),w.max_tokens=c+v}switch(p){case"regular":{let{tools:b,tool_choice:c,toolWarnings:d,betas:e}=function(a){var b;let c=(null==(b=a.tools)?void 0:b.length)?a.tools:void 0,d=[],e=new Set;if(null==c)return{tools:void 0,tool_choice:void 0,toolWarnings:d,betas:e};let f=[];for(let a of c)switch(a.type){case"function":f.push({name:a.name,description:a.description,input_schema:a.parameters});break;case"provider-defined":switch(a.id){case"anthropic.computer_20250124":e.add("computer-use-2025-01-24"),f.push({name:a.name,type:"computer_20250124",display_width_px:a.args.displayWidthPx,display_height_px:a.args.displayHeightPx,display_number:a.args.displayNumber});break;case"anthropic.computer_20241022":e.add("computer-use-2024-10-22"),f.push({name:a.name,type:"computer_20241022",display_width_px:a.args.displayWidthPx,display_height_px:a.args.displayHeightPx,display_number:a.args.displayNumber});break;case"anthropic.text_editor_20250124":e.add("computer-use-2025-01-24"),f.push({name:a.name,type:"text_editor_20250124"});break;case"anthropic.text_editor_20241022":e.add("computer-use-2024-10-22"),f.push({name:a.name,type:"text_editor_20241022"});break;case"anthropic.bash_20250124":e.add("computer-use-2025-01-24"),f.push({name:a.name,type:"bash_20250124"});break;case"anthropic.bash_20241022":e.add("computer-use-2024-10-22"),f.push({name:a.name,type:"bash_20241022"});break;default:d.push({type:"unsupported-tool",tool:a})}break;default:d.push({type:"unsupported-tool",tool:a})}let g=a.toolChoice;if(null==g)return{tools:f,tool_choice:void 0,toolWarnings:d,betas:e};let h=g.type;switch(h){case"auto":return{tools:f,tool_choice:{type:"auto"},toolWarnings:d,betas:e};case"required":return{tools:f,tool_choice:{type:"any"},toolWarnings:d,betas:e};case"none":return{tools:void 0,tool_choice:void 0,toolWarnings:d,betas:e};case"tool":return{tools:f,tool_choice:{type:"tool",name:g.toolName},toolWarnings:d,betas:e};default:throw new ay.b8({functionality:`Unsupported tool choice type: ${h}`})}}(a);return{args:{...w,tools:b,tool_choice:c},warnings:[...q,...d],betas:new Set([...s,...e])}}case"object-json":throw new ay.b8({functionality:"json-mode object generation"});case"object-tool":{let{name:b,description:c,parameters:d}=a.tool;return{args:{...w,tools:[{name:b,description:c,input_schema:d}],tool_choice:{type:"tool",name:b}},warnings:q,betas:s}}default:throw Error(`Unsupported type: ${p}`)}}async getHeaders({betas:a,headers:b}){return(0,az.m2)(await (0,az.hd)(this.config.headers),a.size>0?{"anthropic-beta":Array.from(a).join(",")}:{},b)}buildRequestUrl(a){var b,c,d;return null!=(d=null==(c=(b=this.config).buildRequestUrl)?void 0:c.call(b,this.config.baseURL,a))?d:`${this.config.baseURL}/messages`}transformRequestBody(a){var b,c,d;return null!=(d=null==(c=(b=this.config).transformRequestBody)?void 0:c.call(b,a))?d:a}async doGenerate(a){var b,c,d,e;let f,{args:g,warnings:h,betas:i}=await this.getArgs(a),{responseHeaders:j,value:k,rawValue:l}=await (0,az.GU)({url:this.buildRequestUrl(!1),headers:await this.getHeaders({betas:i,headers:a.headers}),body:this.transformRequestBody(g),failedResponseHandler:fI,successfulResponseHandler:(0,az.cV)(fL),abortSignal:a.abortSignal,fetch:this.config.fetch}),{messages:m,...n}=g,o="";for(let a of k.content)"text"===a.type&&(o+=a.text);if(k.content.some(a=>"tool_use"===a.type))for(let a of(f=[],k.content))"tool_use"===a.type&&f.push({toolCallType:"function",toolCallId:a.id,toolName:a.name,args:JSON.stringify(a.input)});let p=k.content.filter(a=>"redacted_thinking"===a.type||"thinking"===a.type).map(a=>"thinking"===a.type?{type:"text",text:a.thinking,signature:a.signature}:{type:"redacted",data:a.data});return{text:o,reasoning:p.length>0?p:void 0,toolCalls:f,finishReason:fJ(k.stop_reason),usage:{promptTokens:k.usage.input_tokens,completionTokens:k.usage.output_tokens},rawCall:{rawPrompt:m,rawSettings:n},rawResponse:{headers:j,body:l},response:{id:null!=(b=k.id)?b:void 0,modelId:null!=(c=k.model)?c:void 0},warnings:h,providerMetadata:{anthropic:{cacheCreationInputTokens:null!=(d=k.usage.cache_creation_input_tokens)?d:null,cacheReadInputTokens:null!=(e=k.usage.cache_read_input_tokens)?e:null}},request:{body:JSON.stringify(g)}}}async doStream(a){let b,c,{args:d,warnings:e,betas:f}=await this.getArgs(a),g={...d,stream:!0},{responseHeaders:h,value:i}=await (0,az.GU)({url:this.buildRequestUrl(!0),headers:await this.getHeaders({betas:f,headers:a.headers}),body:this.transformRequestBody(g),failedResponseHandler:fI,successfulResponseHandler:(0,az.Ds)(fM),abortSignal:a.abortSignal,fetch:this.config.fetch}),{messages:j,...k}=d,l="unknown",m={promptTokens:NaN,completionTokens:NaN},n={};return{stream:i.pipeThrough(new TransformStream({transform(a,d){var e,f,g,h;if(!a.success)return void d.enqueue({type:"error",error:a.error});let i=a.value;switch(i.type){case"ping":return;case"content_block_start":{let a=i.content_block.type;switch(c=a,a){case"text":case"thinking":return;case"redacted_thinking":return void d.enqueue({type:"redacted-reasoning",data:i.content_block.data});case"tool_use":n[i.index]={toolCallId:i.content_block.id,toolName:i.content_block.name,jsonText:""};return;default:throw Error(`Unsupported content block type: ${a}`)}}case"content_block_stop":if(null!=n[i.index]){let a=n[i.index];d.enqueue({type:"tool-call",toolCallType:"function",toolCallId:a.toolCallId,toolName:a.toolName,args:a.jsonText}),delete n[i.index]}c=void 0;return;case"content_block_delta":{let a=i.delta.type;switch(a){case"text_delta":return void d.enqueue({type:"text-delta",textDelta:i.delta.text});case"thinking_delta":return void d.enqueue({type:"reasoning",textDelta:i.delta.thinking});case"signature_delta":"thinking"===c&&d.enqueue({type:"reasoning-signature",signature:i.delta.signature});return;case"input_json_delta":{let a=n[i.index];d.enqueue({type:"tool-call-delta",toolCallType:"function",toolCallId:a.toolCallId,toolName:a.toolName,argsTextDelta:i.delta.partial_json}),a.jsonText+=i.delta.partial_json;return}default:throw Error(`Unsupported delta type: ${a}`)}}case"message_start":m.promptTokens=i.message.usage.input_tokens,m.completionTokens=i.message.usage.output_tokens,b={anthropic:{cacheCreationInputTokens:null!=(e=i.message.usage.cache_creation_input_tokens)?e:null,cacheReadInputTokens:null!=(f=i.message.usage.cache_read_input_tokens)?f:null}},d.enqueue({type:"response-metadata",id:null!=(g=i.message.id)?g:void 0,modelId:null!=(h=i.message.model)?h:void 0});return;case"message_delta":m.completionTokens=i.usage.output_tokens,l=fJ(i.delta.stop_reason);return;case"message_stop":return void d.enqueue({type:"finish",finishReason:l,usage:m,providerMetadata:b});case"error":return void d.enqueue({type:"error",error:i.error});default:throw Error(`Unsupported chunk type: ${i}`)}}})),rawCall:{rawPrompt:j,rawSettings:k},rawResponse:{headers:h},warnings:e,request:{body:JSON.stringify(g)}}}},fL=aA.Ik({type:aA.eu("message"),id:aA.Yj().nullish(),model:aA.Yj().nullish(),content:aA.YO(aA.gM("type",[aA.Ik({type:aA.eu("text"),text:aA.Yj()}),aA.Ik({type:aA.eu("thinking"),thinking:aA.Yj(),signature:aA.Yj()}),aA.Ik({type:aA.eu("redacted_thinking"),data:aA.Yj()}),aA.Ik({type:aA.eu("tool_use"),id:aA.Yj(),name:aA.Yj(),input:aA.L5()})])),stop_reason:aA.Yj().nullish(),usage:aA.Ik({input_tokens:aA.ai(),output_tokens:aA.ai(),cache_creation_input_tokens:aA.ai().nullish(),cache_read_input_tokens:aA.ai().nullish()})}),fM=aA.gM("type",[aA.Ik({type:aA.eu("message_start"),message:aA.Ik({id:aA.Yj().nullish(),model:aA.Yj().nullish(),usage:aA.Ik({input_tokens:aA.ai(),output_tokens:aA.ai(),cache_creation_input_tokens:aA.ai().nullish(),cache_read_input_tokens:aA.ai().nullish()})})}),aA.Ik({type:aA.eu("content_block_start"),index:aA.ai(),content_block:aA.gM("type",[aA.Ik({type:aA.eu("text"),text:aA.Yj()}),aA.Ik({type:aA.eu("thinking"),thinking:aA.Yj()}),aA.Ik({type:aA.eu("tool_use"),id:aA.Yj(),name:aA.Yj()}),aA.Ik({type:aA.eu("redacted_thinking"),data:aA.Yj()})])}),aA.Ik({type:aA.eu("content_block_delta"),index:aA.ai(),delta:aA.gM("type",[aA.Ik({type:aA.eu("input_json_delta"),partial_json:aA.Yj()}),aA.Ik({type:aA.eu("text_delta"),text:aA.Yj()}),aA.Ik({type:aA.eu("thinking_delta"),thinking:aA.Yj()}),aA.Ik({type:aA.eu("signature_delta"),signature:aA.Yj()})])}),aA.Ik({type:aA.eu("content_block_stop"),index:aA.ai()}),aA.Ik({type:aA.eu("error"),error:aA.Ik({type:aA.Yj(),message:aA.Yj()})}),aA.Ik({type:aA.eu("message_delta"),delta:aA.Ik({stop_reason:aA.Yj().nullish()}),usage:aA.Ik({output_tokens:aA.ai()})}),aA.Ik({type:aA.eu("message_stop")}),aA.Ik({type:aA.eu("ping")})]),fN=aA.Ik({thinking:aA.Ik({type:aA.KC([aA.eu("enabled"),aA.eu("disabled")]),budgetTokens:aA.ai().optional()}).optional()}),fO=aA.Ik({command:aA.Yj(),restart:aA.zM().optional()}),fP=aA.Ik({command:aA.Yj(),restart:aA.zM().optional()}),fQ=aA.Ik({command:aA.k5(["view","create","str_replace","insert","undo_edit"]),path:aA.Yj(),file_text:aA.Yj().optional(),insert_line:aA.ai().int().optional(),new_str:aA.Yj().optional(),old_str:aA.Yj().optional(),view_range:aA.YO(aA.ai().int()).optional()}),fR=aA.Ik({command:aA.k5(["view","create","str_replace","insert","undo_edit"]),path:aA.Yj(),file_text:aA.Yj().optional(),insert_line:aA.ai().int().optional(),new_str:aA.Yj().optional(),old_str:aA.Yj().optional(),view_range:aA.YO(aA.ai().int()).optional()}),fS=aA.Ik({action:aA.k5(["key","type","mouse_move","left_click","left_click_drag","right_click","middle_click","double_click","screenshot","cursor_position"]),coordinate:aA.YO(aA.ai().int()).optional(),text:aA.Yj().optional()}),fT=aA.Ik({action:aA.k5(["key","hold_key","type","cursor_position","mouse_move","left_mouse_down","left_mouse_up","left_click","left_click_drag","right_click","middle_click","double_click","triple_click","scroll","wait","screenshot"]),coordinate:aA.PV([aA.ai().int(),aA.ai().int()]).optional(),duration:aA.ai().optional(),scroll_amount:aA.ai().optional(),scroll_direction:aA.k5(["up","down","left","right"]).optional(),start_coordinate:aA.PV([aA.ai().int(),aA.ai().int()]).optional(),text:aA.Yj().optional()}),fU={bash_20241022:function(a={}){return{type:"provider-defined",id:"anthropic.bash_20241022",args:{},parameters:fO,execute:a.execute,experimental_toToolResultContent:a.experimental_toToolResultContent}},bash_20250124:function(a={}){return{type:"provider-defined",id:"anthropic.bash_20250124",args:{},parameters:fP,execute:a.execute,experimental_toToolResultContent:a.experimental_toToolResultContent}},textEditor_20241022:function(a={}){return{type:"provider-defined",id:"anthropic.text_editor_20241022",args:{},parameters:fQ,execute:a.execute,experimental_toToolResultContent:a.experimental_toToolResultContent}},textEditor_20250124:function(a={}){return{type:"provider-defined",id:"anthropic.text_editor_20250124",args:{},parameters:fR,execute:a.execute,experimental_toToolResultContent:a.experimental_toToolResultContent}},computer_20241022:function(a){return{type:"provider-defined",id:"anthropic.computer_20241022",args:{displayWidthPx:a.displayWidthPx,displayHeightPx:a.displayHeightPx,displayNumber:a.displayNumber},parameters:fS,execute:a.execute,experimental_toToolResultContent:a.experimental_toToolResultContent}},computer_20250124:function(a){return{type:"provider-defined",id:"anthropic.computer_20250124",args:{displayWidthPx:a.displayWidthPx,displayHeightPx:a.displayHeightPx,displayNumber:a.displayNumber},parameters:fT,execute:a.execute,experimental_toToolResultContent:a.experimental_toToolResultContent}}};function fV(a={}){var b;let c=null!=(b=(0,az.ae)(a.baseURL))?b:"https://api.anthropic.com/v1",d=()=>({"anthropic-version":"2023-06-01","x-api-key":(0,az.WL)({apiKey:a.apiKey,environmentVariableName:"ANTHROPIC_API_KEY",description:"Anthropic"}),...a.headers}),e=(b,e={})=>new fK(b,e,{provider:"anthropic.messages",baseURL:c,headers:d,fetch:a.fetch,supportsImageUrls:!0}),f=function(a,b){if(new.target)throw Error("The Anthropic model function cannot be called with the new keyword.");return e(a,b)};return f.languageModel=e,f.chat=e,f.messages=e,f.textEmbeddingModel=a=>{throw new ay.eM({modelId:a,modelType:"textEmbeddingModel"})},f.tools=fU,f}function fW(a){var b,c;return null!=(c=null==(b=null==a?void 0:a.content)?void 0:b.map(({token:a,logprob:b,top_logprobs:c})=>({token:a,logprob:b,topLogprobs:c?c.map(({token:a,logprob:b})=>({token:a,logprob:b})):[]})))?c:void 0}function fX(a){switch(a){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"unknown"}}fV();var fY=aA.Ik({error:aA.Ik({message:aA.Yj(),type:aA.Yj().nullish(),param:aA.bz().nullish(),code:aA.KC([aA.Yj(),aA.ai()]).nullish()})}),fZ=(0,az.sl)({errorSchema:fY,errorToMessage:a=>a.error.message});function f$({id:a,model:b,created:c}){return{id:null!=a?a:void 0,modelId:null!=b?b:void 0,timestamp:null!=c?new Date(1e3*c):void 0}}var f_=class{constructor(a,b,c){this.specificationVersion="v1",this.modelId=a,this.settings=b,this.config=c}get supportsStructuredOutputs(){var a;return null!=(a=this.settings.structuredOutputs)?a:f3(this.modelId)}get defaultObjectGenerationMode(){return this.modelId.startsWith("gpt-4o-audio-preview")?"tool":this.supportsStructuredOutputs?"json":"tool"}get provider(){return this.config.provider}get supportsImageUrls(){return!this.settings.downloadImages}getArgs({mode:a,prompt:b,maxTokens:c,temperature:d,topP:e,topK:f,frequencyPenalty:g,presencePenalty:h,stopSequences:i,responseFormat:j,seed:k,providerMetadata:l}){var m,n,o,p,q,r,s,t,u,v,w;let y=a.type,z=[];null!=f&&z.push({type:"unsupported-setting",setting:"topK"}),(null==j?void 0:j.type)!=="json"||null==j.schema||this.supportsStructuredOutputs||z.push({type:"unsupported-setting",setting:"responseFormat",details:"JSON response format schema is only supported with structuredOutputs"});let A=this.settings.useLegacyFunctionCalling;if(A&&!0===this.settings.parallelToolCalls)throw new ay.b8({functionality:"useLegacyFunctionCalling with parallelToolCalls"});if(A&&this.supportsStructuredOutputs)throw new ay.b8({functionality:"structuredOutputs with useLegacyFunctionCalling"});let{messages:B,warnings:C}=function({prompt:a,useLegacyFunctionCalling:b=!1,systemMessageMode:c="system"}){let d=[],e=[];for(let{role:f,content:g}of a)switch(f){case"system":switch(c){case"system":d.push({role:"system",content:g});break;case"developer":d.push({role:"developer",content:g});break;case"remove":e.push({type:"other",message:"system messages are removed for this model"});break;default:throw Error(`Unsupported system message mode: ${c}`)}break;case"user":if(1===g.length&&"text"===g[0].type){d.push({role:"user",content:g[0].text});break}d.push({role:"user",content:g.map((a,b)=>{var c,d,e,f;switch(a.type){case"text":return{type:"text",text:a.text};case"image":return{type:"image_url",image_url:{url:a.image instanceof URL?a.image.toString():`data:${null!=(c=a.mimeType)?c:"image/jpeg"};base64,${(0,az.n_)(a.image)}`,detail:null==(e=null==(d=a.providerMetadata)?void 0:d.openai)?void 0:e.imageDetail}};case"file":if(a.data instanceof URL)throw new ay.b8({functionality:"'File content parts with URL data' functionality not supported."});switch(a.mimeType){case"audio/wav":return{type:"input_audio",input_audio:{data:a.data,format:"wav"}};case"audio/mp3":case"audio/mpeg":return{type:"input_audio",input_audio:{data:a.data,format:"mp3"}};case"application/pdf":return{type:"file",file:{filename:null!=(f=a.filename)?f:`part-${b}.pdf`,file_data:`data:application/pdf;base64,${a.data}`}};default:throw new ay.b8({functionality:`File content part type ${a.mimeType} in user messages`})}}})});break;case"assistant":{let a="",c=[];for(let b of g)switch(b.type){case"text":a+=b.text;break;case"tool-call":c.push({id:b.toolCallId,type:"function",function:{name:b.toolName,arguments:JSON.stringify(b.args)}})}if(b){if(c.length>1)throw new ay.b8({functionality:"useLegacyFunctionCalling with multiple tool calls in one message"});d.push({role:"assistant",content:a,function_call:c.length>0?c[0].function:void 0})}else d.push({role:"assistant",content:a,tool_calls:c.length>0?c:void 0});break}case"tool":for(let a of g)b?d.push({role:"function",name:a.toolName,content:JSON.stringify(a.result)}):d.push({role:"tool",tool_call_id:a.toolCallId,content:JSON.stringify(a.result)});break;default:throw Error(`Unsupported role: ${f}`)}return{messages:d,warnings:e}}({prompt:b,useLegacyFunctionCalling:A,systemMessageMode:f3(u=this.modelId)?null!=(w=null==(v=f4[u])?void 0:v.systemMessageMode)?w:"developer":"system"});z.push(...C);let D={model:this.modelId,logit_bias:this.settings.logitBias,logprobs:!0===this.settings.logprobs||"number"==typeof this.settings.logprobs||void 0,top_logprobs:"number"==typeof this.settings.logprobs?this.settings.logprobs:"boolean"==typeof this.settings.logprobs&&this.settings.logprobs?0:void 0,user:this.settings.user,parallel_tool_calls:this.settings.parallelToolCalls,max_tokens:c,temperature:d,top_p:e,frequency_penalty:g,presence_penalty:h,response_format:(null==j?void 0:j.type)==="json"?this.supportsStructuredOutputs&&null!=j.schema?{type:"json_schema",json_schema:{schema:j.schema,strict:!0,name:null!=(m=j.name)?m:"response",description:j.description}}:{type:"json_object"}:void 0,stop:i,seed:k,max_completion_tokens:null==(n=null==l?void 0:l.openai)?void 0:n.maxCompletionTokens,store:null==(o=null==l?void 0:l.openai)?void 0:o.store,metadata:null==(p=null==l?void 0:l.openai)?void 0:p.metadata,prediction:null==(q=null==l?void 0:l.openai)?void 0:q.prediction,reasoning_effort:null!=(s=null==(r=null==l?void 0:l.openai)?void 0:r.reasoningEffort)?s:this.settings.reasoningEffort,messages:B};switch(f3(this.modelId)?(null!=D.temperature&&(D.temperature=void 0,z.push({type:"unsupported-setting",setting:"temperature",details:"temperature is not supported for reasoning models"})),null!=D.top_p&&(D.top_p=void 0,z.push({type:"unsupported-setting",setting:"topP",details:"topP is not supported for reasoning models"})),null!=D.frequency_penalty&&(D.frequency_penalty=void 0,z.push({type:"unsupported-setting",setting:"frequencyPenalty",details:"frequencyPenalty is not supported for reasoning models"})),null!=D.presence_penalty&&(D.presence_penalty=void 0,z.push({type:"unsupported-setting",setting:"presencePenalty",details:"presencePenalty is not supported for reasoning models"})),null!=D.logit_bias&&(D.logit_bias=void 0,z.push({type:"other",message:"logitBias is not supported for reasoning models"})),null!=D.logprobs&&(D.logprobs=void 0,z.push({type:"other",message:"logprobs is not supported for reasoning models"})),null!=D.top_logprobs&&(D.top_logprobs=void 0,z.push({type:"other",message:"topLogprobs is not supported for reasoning models"})),null!=D.max_tokens&&(null==D.max_completion_tokens&&(D.max_completion_tokens=D.max_tokens),D.max_tokens=void 0)):(this.modelId.startsWith("gpt-4o-search-preview")||this.modelId.startsWith("gpt-4o-mini-search-preview"))&&null!=D.temperature&&(D.temperature=void 0,z.push({type:"unsupported-setting",setting:"temperature",details:"temperature is not supported for the search preview models and has been removed."})),y){case"regular":{let{tools:b,tool_choice:c,functions:d,function_call:e,toolWarnings:f}=function({mode:a,useLegacyFunctionCalling:b=!1,structuredOutputs:c}){var d;let e=(null==(d=a.tools)?void 0:d.length)?a.tools:void 0,f=[];if(null==e)return{tools:void 0,tool_choice:void 0,toolWarnings:f};let g=a.toolChoice;if(b){let a=[];for(let b of e)"provider-defined"===b.type?f.push({type:"unsupported-tool",tool:b}):a.push({name:b.name,description:b.description,parameters:b.parameters});if(null==g)return{functions:a,function_call:void 0,toolWarnings:f};switch(g.type){case"auto":case"none":case void 0:return{functions:a,function_call:void 0,toolWarnings:f};case"required":throw new ay.b8({functionality:"useLegacyFunctionCalling and toolChoice: required"});default:return{functions:a,function_call:{name:g.toolName},toolWarnings:f}}}let h=[];for(let a of e)"provider-defined"===a.type?f.push({type:"unsupported-tool",tool:a}):h.push({type:"function",function:{name:a.name,description:a.description,parameters:a.parameters,strict:!!c||void 0}});if(null==g)return{tools:h,tool_choice:void 0,toolWarnings:f};let i=g.type;switch(i){case"auto":case"none":case"required":return{tools:h,tool_choice:i,toolWarnings:f};case"tool":return{tools:h,tool_choice:{type:"function",function:{name:g.toolName}},toolWarnings:f};default:throw new ay.b8({functionality:`Unsupported tool choice type: ${i}`})}}({mode:a,useLegacyFunctionCalling:A,structuredOutputs:this.supportsStructuredOutputs});return{args:{...D,tools:b,tool_choice:c,functions:d,function_call:e},warnings:[...z,...f]}}case"object-json":return{args:{...D,response_format:this.supportsStructuredOutputs&&null!=a.schema?{type:"json_schema",json_schema:{schema:a.schema,strict:!0,name:null!=(t=a.name)?t:"response",description:a.description}}:{type:"json_object"}},warnings:z};case"object-tool":return{args:A?{...D,function_call:{name:a.tool.name},functions:[{name:a.tool.name,description:a.tool.description,parameters:a.tool.parameters}]}:{...D,tool_choice:{type:"function",function:{name:a.tool.name}},tools:[{type:"function",function:{name:a.tool.name,description:a.tool.description,parameters:a.tool.parameters,strict:!!this.supportsStructuredOutputs||void 0}}]},warnings:z};default:throw Error(`Unsupported type: ${y}`)}}async doGenerate(a){var b,c,d,e,f,g,h,i;let{args:j,warnings:k}=this.getArgs(a),{responseHeaders:l,value:m,rawValue:n}=await (0,az.GU)({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:(0,az.m2)(this.config.headers(),a.headers),body:j,failedResponseHandler:fZ,successfulResponseHandler:(0,az.cV)(f1),abortSignal:a.abortSignal,fetch:this.config.fetch}),{messages:o,...p}=j,q=m.choices[0],r=null==(b=m.usage)?void 0:b.completion_tokens_details,s=null==(c=m.usage)?void 0:c.prompt_tokens_details,t={openai:{}};return(null==r?void 0:r.reasoning_tokens)!=null&&(t.openai.reasoningTokens=null==r?void 0:r.reasoning_tokens),(null==r?void 0:r.accepted_prediction_tokens)!=null&&(t.openai.acceptedPredictionTokens=null==r?void 0:r.accepted_prediction_tokens),(null==r?void 0:r.rejected_prediction_tokens)!=null&&(t.openai.rejectedPredictionTokens=null==r?void 0:r.rejected_prediction_tokens),(null==s?void 0:s.cached_tokens)!=null&&(t.openai.cachedPromptTokens=null==s?void 0:s.cached_tokens),{text:null!=(d=q.message.content)?d:void 0,toolCalls:this.settings.useLegacyFunctionCalling&&q.message.function_call?[{toolCallType:"function",toolCallId:(0,az.$C)(),toolName:q.message.function_call.name,args:q.message.function_call.arguments}]:null==(e=q.message.tool_calls)?void 0:e.map(a=>{var b;return{toolCallType:"function",toolCallId:null!=(b=a.id)?b:(0,az.$C)(),toolName:a.function.name,args:a.function.arguments}}),finishReason:fX(q.finish_reason),usage:{promptTokens:null!=(g=null==(f=m.usage)?void 0:f.prompt_tokens)?g:NaN,completionTokens:null!=(i=null==(h=m.usage)?void 0:h.completion_tokens)?i:NaN},rawCall:{rawPrompt:o,rawSettings:p},rawResponse:{headers:l,body:n},request:{body:JSON.stringify(j)},response:f$(m),warnings:k,logprobs:fW(q.logprobs),providerMetadata:t}}async doStream(a){let b;if(this.settings.simulateStreaming){let b=await this.doGenerate(a);return{stream:new ReadableStream({start(a){if(a.enqueue({type:"response-metadata",...b.response}),b.text&&a.enqueue({type:"text-delta",textDelta:b.text}),b.toolCalls)for(let c of b.toolCalls)a.enqueue({type:"tool-call-delta",toolCallType:"function",toolCallId:c.toolCallId,toolName:c.toolName,argsTextDelta:c.args}),a.enqueue({type:"tool-call",...c});a.enqueue({type:"finish",finishReason:b.finishReason,usage:b.usage,logprobs:b.logprobs,providerMetadata:b.providerMetadata}),a.close()}}),rawCall:b.rawCall,rawResponse:b.rawResponse,warnings:b.warnings}}let{args:c,warnings:d}=this.getArgs(a),e={...c,stream:!0,stream_options:"strict"===this.config.compatibility?{include_usage:!0}:void 0},{responseHeaders:f,value:g}=await (0,az.GU)({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:(0,az.m2)(this.config.headers(),a.headers),body:e,failedResponseHandler:fZ,successfulResponseHandler:(0,az.Ds)(f2),abortSignal:a.abortSignal,fetch:this.config.fetch}),{messages:h,...i}=c,j=[],k="unknown",l={promptTokens:void 0,completionTokens:void 0},m=!0,{useLegacyFunctionCalling:n}=this.settings,o={openai:{}};return{stream:g.pipeThrough(new TransformStream({transform(a,c){var d,e,f,g,h,i,p,q,r,s,t,u;if(!a.success){k="error",c.enqueue({type:"error",error:a.error});return}let v=a.value;if("error"in v){k="error",c.enqueue({type:"error",error:v.error});return}if(m&&(m=!1,c.enqueue({type:"response-metadata",...f$(v)})),null!=v.usage){let{prompt_tokens:a,completion_tokens:b,prompt_tokens_details:c,completion_tokens_details:d}=v.usage;l={promptTokens:null!=a?a:void 0,completionTokens:null!=b?b:void 0},(null==d?void 0:d.reasoning_tokens)!=null&&(o.openai.reasoningTokens=null==d?void 0:d.reasoning_tokens),(null==d?void 0:d.accepted_prediction_tokens)!=null&&(o.openai.acceptedPredictionTokens=null==d?void 0:d.accepted_prediction_tokens),(null==d?void 0:d.rejected_prediction_tokens)!=null&&(o.openai.rejectedPredictionTokens=null==d?void 0:d.rejected_prediction_tokens),(null==c?void 0:c.cached_tokens)!=null&&(o.openai.cachedPromptTokens=null==c?void 0:c.cached_tokens)}let w=v.choices[0];if((null==w?void 0:w.finish_reason)!=null&&(k=fX(w.finish_reason)),(null==w?void 0:w.delta)==null)return;let y=w.delta;null!=y.content&&c.enqueue({type:"text-delta",textDelta:y.content});let z=fW(null==w?void 0:w.logprobs);(null==z?void 0:z.length)&&(void 0===b&&(b=[]),b.push(...z));let A=n&&null!=y.function_call?[{type:"function",id:(0,az.$C)(),function:y.function_call,index:0}]:y.tool_calls;if(null!=A)for(let a of A){let b=a.index;if(null==j[b]){if("function"!==a.type)throw new ay.xn({data:a,message:"Expected 'function' type."});if(null==a.id)throw new ay.xn({data:a,message:"Expected 'id' to be a string."});if((null==(d=a.function)?void 0:d.name)==null)throw new ay.xn({data:a,message:"Expected 'function.name' to be a string."});j[b]={id:a.id,type:"function",function:{name:a.function.name,arguments:null!=(e=a.function.arguments)?e:""},hasFinished:!1};let i=j[b];(null==(f=i.function)?void 0:f.name)!=null&&(null==(g=i.function)?void 0:g.arguments)!=null&&(i.function.arguments.length>0&&c.enqueue({type:"tool-call-delta",toolCallType:"function",toolCallId:i.id,toolName:i.function.name,argsTextDelta:i.function.arguments}),(0,az.v0)(i.function.arguments)&&(c.enqueue({type:"tool-call",toolCallType:"function",toolCallId:null!=(h=i.id)?h:(0,az.$C)(),toolName:i.function.name,args:i.function.arguments}),i.hasFinished=!0));continue}let k=j[b];!k.hasFinished&&((null==(i=a.function)?void 0:i.arguments)!=null&&(k.function.arguments+=null!=(q=null==(p=a.function)?void 0:p.arguments)?q:""),c.enqueue({type:"tool-call-delta",toolCallType:"function",toolCallId:k.id,toolName:k.function.name,argsTextDelta:null!=(r=a.function.arguments)?r:""}),(null==(s=k.function)?void 0:s.name)!=null&&(null==(t=k.function)?void 0:t.arguments)!=null&&(0,az.v0)(k.function.arguments)&&(c.enqueue({type:"tool-call",toolCallType:"function",toolCallId:null!=(u=k.id)?u:(0,az.$C)(),toolName:k.function.name,args:k.function.arguments}),k.hasFinished=!0))}},flush(a){var c,d;a.enqueue({type:"finish",finishReason:k,logprobs:b,usage:{promptTokens:null!=(c=l.promptTokens)?c:NaN,completionTokens:null!=(d=l.completionTokens)?d:NaN},...null!=o?{providerMetadata:o}:{}})}})),rawCall:{rawPrompt:h,rawSettings:i},rawResponse:{headers:f},request:{body:JSON.stringify(e)},warnings:d}}},f0=aA.Ik({prompt_tokens:aA.ai().nullish(),completion_tokens:aA.ai().nullish(),prompt_tokens_details:aA.Ik({cached_tokens:aA.ai().nullish()}).nullish(),completion_tokens_details:aA.Ik({reasoning_tokens:aA.ai().nullish(),accepted_prediction_tokens:aA.ai().nullish(),rejected_prediction_tokens:aA.ai().nullish()}).nullish()}).nullish(),f1=aA.Ik({id:aA.Yj().nullish(),created:aA.ai().nullish(),model:aA.Yj().nullish(),choices:aA.YO(aA.Ik({message:aA.Ik({role:aA.eu("assistant").nullish(),content:aA.Yj().nullish(),function_call:aA.Ik({arguments:aA.Yj(),name:aA.Yj()}).nullish(),tool_calls:aA.YO(aA.Ik({id:aA.Yj().nullish(),type:aA.eu("function"),function:aA.Ik({name:aA.Yj(),arguments:aA.Yj()})})).nullish()}),index:aA.ai(),logprobs:aA.Ik({content:aA.YO(aA.Ik({token:aA.Yj(),logprob:aA.ai(),top_logprobs:aA.YO(aA.Ik({token:aA.Yj(),logprob:aA.ai()}))})).nullable()}).nullish(),finish_reason:aA.Yj().nullish()})),usage:f0}),f2=aA.KC([aA.Ik({id:aA.Yj().nullish(),created:aA.ai().nullish(),model:aA.Yj().nullish(),choices:aA.YO(aA.Ik({delta:aA.Ik({role:aA.k5(["assistant"]).nullish(),content:aA.Yj().nullish(),function_call:aA.Ik({name:aA.Yj().optional(),arguments:aA.Yj().optional()}).nullish(),tool_calls:aA.YO(aA.Ik({index:aA.ai(),id:aA.Yj().nullish(),type:aA.eu("function").nullish(),function:aA.Ik({name:aA.Yj().nullish(),arguments:aA.Yj().nullish()})})).nullish()}).nullish(),logprobs:aA.Ik({content:aA.YO(aA.Ik({token:aA.Yj(),logprob:aA.ai(),top_logprobs:aA.YO(aA.Ik({token:aA.Yj(),logprob:aA.ai()}))})).nullable()}).nullish(),finish_reason:aA.Yj().nullish(),index:aA.ai()})),usage:f0}),fY]);function f3(a){return a.startsWith("o")}var f4={"o1-mini":{systemMessageMode:"remove"},"o1-mini-2024-09-12":{systemMessageMode:"remove"},"o1-preview":{systemMessageMode:"remove"},"o1-preview-2024-09-12":{systemMessageMode:"remove"},o3:{systemMessageMode:"developer"},"o3-2025-04-16":{systemMessageMode:"developer"},"o3-mini":{systemMessageMode:"developer"},"o3-mini-2025-01-31":{systemMessageMode:"developer"},"o4-mini":{systemMessageMode:"developer"},"o4-mini-2025-04-16":{systemMessageMode:"developer"}};function f5(a){return null==a?void 0:a.tokens.map((b,c)=>({token:b,logprob:a.token_logprobs[c],topLogprobs:a.top_logprobs?Object.entries(a.top_logprobs[c]).map(([a,b])=>({token:a,logprob:b})):[]}))}var f6=class{constructor(a,b,c){this.specificationVersion="v1",this.defaultObjectGenerationMode=void 0,this.modelId=a,this.settings=b,this.config=c}get provider(){return this.config.provider}getArgs({mode:a,inputFormat:b,prompt:c,maxTokens:d,temperature:e,topP:f,topK:g,frequencyPenalty:h,presencePenalty:i,stopSequences:j,responseFormat:k,seed:l}){var m;let n=a.type,o=[];null!=g&&o.push({type:"unsupported-setting",setting:"topK"}),null!=k&&"text"!==k.type&&o.push({type:"unsupported-setting",setting:"responseFormat",details:"JSON response format is not supported."});let{prompt:p,stopSequences:q}=function({prompt:a,inputFormat:b,user:c="user",assistant:d="assistant"}){if("prompt"===b&&1===a.length&&"user"===a[0].role&&1===a[0].content.length&&"text"===a[0].content[0].type)return{prompt:a[0].content[0].text};let e="";for(let{role:b,content:f}of("system"===a[0].role&&(e+=`${a[0].content}
22
-
23
- `,a=a.slice(1)),a))switch(b){case"system":throw new ay.M3({message:"Unexpected system message in prompt: ${content}",prompt:a});case"user":{let a=f.map(a=>{switch(a.type){case"text":return a.text;case"image":throw new ay.b8({functionality:"images"})}}).join("");e+=`${c}:
24
- ${a}
25
-
26
- `;break}case"assistant":{let a=f.map(a=>{switch(a.type){case"text":return a.text;case"tool-call":throw new ay.b8({functionality:"tool-call messages"})}}).join("");e+=`${d}:
27
- ${a}
28
-
29
- `;break}case"tool":throw new ay.b8({functionality:"tool messages"});default:throw Error(`Unsupported role: ${b}`)}return{prompt:e+=`${d}:
30
- `,stopSequences:[`
31
- ${c}:`]}}({prompt:c,inputFormat:b}),r=[...null!=q?q:[],...null!=j?j:[]],s={model:this.modelId,echo:this.settings.echo,logit_bias:this.settings.logitBias,logprobs:"number"==typeof this.settings.logprobs?this.settings.logprobs:"boolean"==typeof this.settings.logprobs&&this.settings.logprobs?0:void 0,suffix:this.settings.suffix,user:this.settings.user,max_tokens:d,temperature:e,top_p:f,frequency_penalty:h,presence_penalty:i,seed:l,prompt:p,stop:r.length>0?r:void 0};switch(n){case"regular":if(null==(m=a.tools)?void 0:m.length)throw new ay.b8({functionality:"tools"});if(a.toolChoice)throw new ay.b8({functionality:"toolChoice"});return{args:s,warnings:o};case"object-json":throw new ay.b8({functionality:"object-json mode"});case"object-tool":throw new ay.b8({functionality:"object-tool mode"});default:throw Error(`Unsupported type: ${n}`)}}async doGenerate(a){let{args:b,warnings:c}=this.getArgs(a),{responseHeaders:d,value:e,rawValue:f}=await (0,az.GU)({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:(0,az.m2)(this.config.headers(),a.headers),body:b,failedResponseHandler:fZ,successfulResponseHandler:(0,az.cV)(f7),abortSignal:a.abortSignal,fetch:this.config.fetch}),{prompt:g,...h}=b,i=e.choices[0];return{text:i.text,usage:{promptTokens:e.usage.prompt_tokens,completionTokens:e.usage.completion_tokens},finishReason:fX(i.finish_reason),logprobs:f5(i.logprobs),rawCall:{rawPrompt:g,rawSettings:h},rawResponse:{headers:d,body:f},response:f$(e),warnings:c,request:{body:JSON.stringify(b)}}}async doStream(a){let b,{args:c,warnings:d}=this.getArgs(a),e={...c,stream:!0,stream_options:"strict"===this.config.compatibility?{include_usage:!0}:void 0},{responseHeaders:f,value:g}=await (0,az.GU)({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:(0,az.m2)(this.config.headers(),a.headers),body:e,failedResponseHandler:fZ,successfulResponseHandler:(0,az.Ds)(f8),abortSignal:a.abortSignal,fetch:this.config.fetch}),{prompt:h,...i}=c,j="unknown",k={promptTokens:NaN,completionTokens:NaN},l=!0;return{stream:g.pipeThrough(new TransformStream({transform(a,c){if(!a.success){j="error",c.enqueue({type:"error",error:a.error});return}let d=a.value;if("error"in d){j="error",c.enqueue({type:"error",error:d.error});return}l&&(l=!1,c.enqueue({type:"response-metadata",...f$(d)})),null!=d.usage&&(k={promptTokens:d.usage.prompt_tokens,completionTokens:d.usage.completion_tokens});let e=d.choices[0];(null==e?void 0:e.finish_reason)!=null&&(j=fX(e.finish_reason)),(null==e?void 0:e.text)!=null&&c.enqueue({type:"text-delta",textDelta:e.text});let f=f5(null==e?void 0:e.logprobs);(null==f?void 0:f.length)&&(void 0===b&&(b=[]),b.push(...f))},flush(a){a.enqueue({type:"finish",finishReason:j,logprobs:b,usage:k})}})),rawCall:{rawPrompt:h,rawSettings:i},rawResponse:{headers:f},warnings:d,request:{body:JSON.stringify(e)}}}},f7=aA.Ik({id:aA.Yj().nullish(),created:aA.ai().nullish(),model:aA.Yj().nullish(),choices:aA.YO(aA.Ik({text:aA.Yj(),finish_reason:aA.Yj(),logprobs:aA.Ik({tokens:aA.YO(aA.Yj()),token_logprobs:aA.YO(aA.ai()),top_logprobs:aA.YO(aA.g1(aA.Yj(),aA.ai())).nullable()}).nullish()})),usage:aA.Ik({prompt_tokens:aA.ai(),completion_tokens:aA.ai()})}),f8=aA.KC([aA.Ik({id:aA.Yj().nullish(),created:aA.ai().nullish(),model:aA.Yj().nullish(),choices:aA.YO(aA.Ik({text:aA.Yj(),finish_reason:aA.Yj().nullish(),index:aA.ai(),logprobs:aA.Ik({tokens:aA.YO(aA.Yj()),token_logprobs:aA.YO(aA.ai()),top_logprobs:aA.YO(aA.g1(aA.Yj(),aA.ai())).nullable()}).nullish()})),usage:aA.Ik({prompt_tokens:aA.ai(),completion_tokens:aA.ai()}).nullish()}),fY]),f9=class{constructor(a,b,c){this.specificationVersion="v1",this.modelId=a,this.settings=b,this.config=c}get provider(){return this.config.provider}get maxEmbeddingsPerCall(){var a;return null!=(a=this.settings.maxEmbeddingsPerCall)?a:2048}get supportsParallelCalls(){var a;return null==(a=this.settings.supportsParallelCalls)||a}async doEmbed({values:a,headers:b,abortSignal:c}){if(a.length>this.maxEmbeddingsPerCall)throw new ay.Ch({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:a});let{responseHeaders:d,value:e}=await (0,az.GU)({url:this.config.url({path:"/embeddings",modelId:this.modelId}),headers:(0,az.m2)(this.config.headers(),b),body:{model:this.modelId,input:a,encoding_format:"float",dimensions:this.settings.dimensions,user:this.settings.user},failedResponseHandler:fZ,successfulResponseHandler:(0,az.cV)(ga),abortSignal:c,fetch:this.config.fetch});return{embeddings:e.data.map(a=>a.embedding),usage:e.usage?{tokens:e.usage.prompt_tokens}:void 0,rawResponse:{headers:d}}}},ga=aA.Ik({data:aA.YO(aA.Ik({embedding:aA.YO(aA.ai())})),usage:aA.Ik({prompt_tokens:aA.ai()}).nullish()}),gb={"dall-e-3":1,"dall-e-2":10,"gpt-image-1":10},gc=new Set(["gpt-image-1"]),gd=class{constructor(a,b,c){this.modelId=a,this.settings=b,this.config=c,this.specificationVersion="v1"}get maxImagesPerCall(){var a,b;return null!=(b=null!=(a=this.settings.maxImagesPerCall)?a:gb[this.modelId])?b:1}get provider(){return this.config.provider}async doGenerate({prompt:a,n:b,size:c,aspectRatio:d,seed:e,providerOptions:f,headers:g,abortSignal:h}){var i,j,k,l;let m=[];null!=d&&m.push({type:"unsupported-setting",setting:"aspectRatio",details:"This model does not support aspect ratio. Use `size` instead."}),null!=e&&m.push({type:"unsupported-setting",setting:"seed"});let n=null!=(k=null==(j=null==(i=this.config._internal)?void 0:i.currentDate)?void 0:j.call(i))?k:new Date,{value:o,responseHeaders:p}=await (0,az.GU)({url:this.config.url({path:"/images/generations",modelId:this.modelId}),headers:(0,az.m2)(this.config.headers(),g),body:{model:this.modelId,prompt:a,n:b,size:c,...null!=(l=f.openai)?l:{},...!gc.has(this.modelId)?{response_format:"b64_json"}:{}},failedResponseHandler:fZ,successfulResponseHandler:(0,az.cV)(ge),abortSignal:h,fetch:this.config.fetch});return{images:o.data.map(a=>a.b64_json),warnings:m,response:{timestamp:n,modelId:this.modelId,headers:p}}}},ge=aA.Ik({data:aA.YO(aA.Ik({b64_json:aA.Yj()}))}),gf=aA.Ik({include:aA.YO(aA.Yj()).nullish(),language:aA.Yj().nullish(),prompt:aA.Yj().nullish(),temperature:aA.ai().min(0).max(1).nullish().default(0),timestampGranularities:aA.YO(aA.k5(["word","segment"])).nullish().default(["segment"])}),gg={afrikaans:"af",arabic:"ar",armenian:"hy",azerbaijani:"az",belarusian:"be",bosnian:"bs",bulgarian:"bg",catalan:"ca",chinese:"zh",croatian:"hr",czech:"cs",danish:"da",dutch:"nl",english:"en",estonian:"et",finnish:"fi",french:"fr",galician:"gl",german:"de",greek:"el",hebrew:"he",hindi:"hi",hungarian:"hu",icelandic:"is",indonesian:"id",italian:"it",japanese:"ja",kannada:"kn",kazakh:"kk",korean:"ko",latvian:"lv",lithuanian:"lt",macedonian:"mk",malay:"ms",marathi:"mr",maori:"mi",nepali:"ne",norwegian:"no",persian:"fa",polish:"pl",portuguese:"pt",romanian:"ro",russian:"ru",serbian:"sr",slovak:"sk",slovenian:"sl",spanish:"es",swahili:"sw",swedish:"sv",tagalog:"tl",tamil:"ta",thai:"th",turkish:"tr",ukrainian:"uk",urdu:"ur",vietnamese:"vi",welsh:"cy"},gh=class{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v1"}get provider(){return this.config.provider}getArgs({audio:a,mediaType:b,providerOptions:c}){var d,e,f,g,h;let i=(0,az.xI)({provider:"openai",providerOptions:c,schema:gf}),j=new FormData,k=a instanceof Uint8Array?new Blob([a]):new Blob([(0,az.Z9)(a)]);if(j.append("model",this.modelId),j.append("file",new File([k],"audio",{type:b})),i){let a={include:null!=(d=i.include)?d:void 0,language:null!=(e=i.language)?e:void 0,prompt:null!=(f=i.prompt)?f:void 0,temperature:null!=(g=i.temperature)?g:void 0,timestamp_granularities:null!=(h=i.timestampGranularities)?h:void 0};for(let b in a){let c=a[b];void 0!==c&&j.append(b,String(c))}}return{formData:j,warnings:[]}}async doGenerate(a){var b,c,d,e,f,g;let h=null!=(d=null==(c=null==(b=this.config._internal)?void 0:b.currentDate)?void 0:c.call(b))?d:new Date,{formData:i,warnings:j}=this.getArgs(a),{value:k,responseHeaders:l,rawValue:m}=await (0,az.S)({url:this.config.url({path:"/audio/transcriptions",modelId:this.modelId}),headers:(0,az.m2)(this.config.headers(),a.headers),formData:i,failedResponseHandler:fZ,successfulResponseHandler:(0,az.cV)(gi),abortSignal:a.abortSignal,fetch:this.config.fetch}),n=null!=k.language&&k.language in gg?gg[k.language]:void 0;return{text:k.text,segments:null!=(f=null==(e=k.words)?void 0:e.map(a=>({text:a.word,startSecond:a.start,endSecond:a.end})))?f:[],language:n,durationInSeconds:null!=(g=k.duration)?g:void 0,warnings:j,response:{timestamp:h,modelId:this.modelId,headers:l,body:m}}}},gi=aA.Ik({text:aA.Yj(),language:aA.Yj().nullish(),duration:aA.ai().nullish(),words:aA.YO(aA.Ik({word:aA.Yj(),start:aA.ai(),end:aA.ai()})).nullish()});function gj({finishReason:a,hasToolCalls:b}){switch(a){case void 0:case null:return b?"tool-calls":"stop";case"max_output_tokens":return"length";case"content_filter":return"content-filter";default:return b?"tool-calls":"unknown"}}var gk=class{constructor(a,b){this.specificationVersion="v1",this.defaultObjectGenerationMode="json",this.supportsStructuredOutputs=!0,this.modelId=a,this.config=b}get provider(){return this.config.provider}getArgs({mode:a,maxTokens:b,temperature:c,stopSequences:d,topP:e,topK:f,presencePenalty:g,frequencyPenalty:h,seed:i,prompt:j,providerMetadata:k,responseFormat:l}){var m,n,o,p;let q=[],r=(p=this.modelId).startsWith("o")?p.startsWith("o1-mini")||p.startsWith("o1-preview")?{isReasoningModel:!0,systemMessageMode:"remove",requiredAutoTruncation:!1}:{isReasoningModel:!0,systemMessageMode:"developer",requiredAutoTruncation:!1}:{isReasoningModel:!1,systemMessageMode:"system",requiredAutoTruncation:!1},s=a.type;null!=f&&q.push({type:"unsupported-setting",setting:"topK"}),null!=i&&q.push({type:"unsupported-setting",setting:"seed"}),null!=g&&q.push({type:"unsupported-setting",setting:"presencePenalty"}),null!=h&&q.push({type:"unsupported-setting",setting:"frequencyPenalty"}),null!=d&&q.push({type:"unsupported-setting",setting:"stopSequences"});let{messages:t,warnings:u}=function({prompt:a,systemMessageMode:b}){let c=[],d=[];for(let{role:e,content:f}of a)switch(e){case"system":switch(b){case"system":c.push({role:"system",content:f});break;case"developer":c.push({role:"developer",content:f});break;case"remove":d.push({type:"other",message:"system messages are removed for this model"});break;default:throw Error(`Unsupported system message mode: ${b}`)}break;case"user":c.push({role:"user",content:f.map((a,b)=>{var c,d,e,f;switch(a.type){case"text":return{type:"input_text",text:a.text};case"image":return{type:"input_image",image_url:a.image instanceof URL?a.image.toString():`data:${null!=(c=a.mimeType)?c:"image/jpeg"};base64,${(0,az.n_)(a.image)}`,detail:null==(e=null==(d=a.providerMetadata)?void 0:d.openai)?void 0:e.imageDetail};case"file":if(a.data instanceof URL)throw new ay.b8({functionality:"File URLs in user messages"});if("application/pdf"===a.mimeType)return{type:"input_file",filename:null!=(f=a.filename)?f:`part-${b}.pdf`,file_data:`data:application/pdf;base64,${a.data}`};throw new ay.b8({functionality:"Only PDF files are supported in user messages"})}})});break;case"assistant":for(let a of f)switch(a.type){case"text":c.push({role:"assistant",content:[{type:"output_text",text:a.text}]});break;case"tool-call":c.push({type:"function_call",call_id:a.toolCallId,name:a.toolName,arguments:JSON.stringify(a.args)})}break;case"tool":for(let a of f)c.push({type:"function_call_output",call_id:a.toolCallId,output:JSON.stringify(a.result)});break;default:throw Error(`Unsupported role: ${e}`)}return{messages:c,warnings:d}}({prompt:j,systemMessageMode:r.systemMessageMode});q.push(...u);let v=(0,az.xI)({provider:"openai",providerOptions:k,schema:gw}),w=null==(m=null==v?void 0:v.strictSchemas)||m,y={model:this.modelId,input:t,temperature:c,top_p:e,max_output_tokens:b,...(null==l?void 0:l.type)==="json"&&{text:{format:null!=l.schema?{type:"json_schema",strict:w,name:null!=(n=l.name)?n:"response",description:l.description,schema:l.schema}:{type:"json_object"}}},metadata:null==v?void 0:v.metadata,parallel_tool_calls:null==v?void 0:v.parallelToolCalls,previous_response_id:null==v?void 0:v.previousResponseId,store:null==v?void 0:v.store,user:null==v?void 0:v.user,instructions:null==v?void 0:v.instructions,...r.isReasoningModel&&((null==v?void 0:v.reasoningEffort)!=null||(null==v?void 0:v.reasoningSummary)!=null)&&{reasoning:{...(null==v?void 0:v.reasoningEffort)!=null&&{effort:v.reasoningEffort},...(null==v?void 0:v.reasoningSummary)!=null&&{summary:v.reasoningSummary}}},...r.requiredAutoTruncation&&{truncation:"auto"}};switch(r.isReasoningModel&&(null!=y.temperature&&(y.temperature=void 0,q.push({type:"unsupported-setting",setting:"temperature",details:"temperature is not supported for reasoning models"})),null!=y.top_p&&(y.top_p=void 0,q.push({type:"unsupported-setting",setting:"topP",details:"topP is not supported for reasoning models"}))),s){case"regular":{let{tools:b,tool_choice:c,toolWarnings:d}=function({mode:a,strict:b}){var c;let d=(null==(c=a.tools)?void 0:c.length)?a.tools:void 0,e=[];if(null==d)return{tools:void 0,tool_choice:void 0,toolWarnings:e};let f=a.toolChoice,g=[];for(let a of d)switch(a.type){case"function":g.push({type:"function",name:a.name,description:a.description,parameters:a.parameters,strict:!!b||void 0});break;case"provider-defined":"openai.web_search_preview"===a.id?g.push({type:"web_search_preview",search_context_size:a.args.searchContextSize,user_location:a.args.userLocation}):e.push({type:"unsupported-tool",tool:a});break;default:e.push({type:"unsupported-tool",tool:a})}if(null==f)return{tools:g,tool_choice:void 0,toolWarnings:e};let h=f.type;switch(h){case"auto":case"none":case"required":return{tools:g,tool_choice:h,toolWarnings:e};case"tool":if("web_search_preview"===f.toolName)return{tools:g,tool_choice:{type:"web_search_preview"},toolWarnings:e};return{tools:g,tool_choice:{type:"function",name:f.toolName},toolWarnings:e};default:throw new ay.b8({functionality:`Unsupported tool choice type: ${h}`})}}({mode:a,strict:w});return{args:{...y,tools:b,tool_choice:c},warnings:[...q,...d]}}case"object-json":return{args:{...y,text:{format:null!=a.schema?{type:"json_schema",strict:w,name:null!=(o=a.name)?o:"response",description:a.description,schema:a.schema}:{type:"json_object"}}},warnings:q};case"object-tool":return{args:{...y,tool_choice:{type:"function",name:a.tool.name},tools:[{type:"function",name:a.tool.name,description:a.tool.description,parameters:a.tool.parameters,strict:w}]},warnings:q};default:throw Error(`Unsupported type: ${s}`)}}async doGenerate(a){var b,c,d,e,f,g,h;let{args:i,warnings:j}=this.getArgs(a),k=this.config.url({path:"/responses",modelId:this.modelId}),{responseHeaders:l,value:m,rawValue:n}=await (0,az.GU)({url:k,headers:(0,az.m2)(this.config.headers(),a.headers),body:i,failedResponseHandler:fZ,successfulResponseHandler:(0,az.cV)(aA.Ik({id:aA.Yj(),created_at:aA.ai(),error:aA.Ik({message:aA.Yj(),code:aA.Yj()}).nullish(),model:aA.Yj(),output:aA.YO(aA.gM("type",[aA.Ik({type:aA.eu("message"),role:aA.eu("assistant"),content:aA.YO(aA.Ik({type:aA.eu("output_text"),text:aA.Yj(),annotations:aA.YO(aA.Ik({type:aA.eu("url_citation"),start_index:aA.ai(),end_index:aA.ai(),url:aA.Yj(),title:aA.Yj()}))}))}),aA.Ik({type:aA.eu("function_call"),call_id:aA.Yj(),name:aA.Yj(),arguments:aA.Yj()}),aA.Ik({type:aA.eu("web_search_call")}),aA.Ik({type:aA.eu("computer_call")}),aA.Ik({type:aA.eu("reasoning"),summary:aA.YO(aA.Ik({type:aA.eu("summary_text"),text:aA.Yj()}))})])),incomplete_details:aA.Ik({reason:aA.Yj()}).nullable(),usage:gl})),abortSignal:a.abortSignal,fetch:this.config.fetch});if(m.error)throw new ay.hL({message:m.error.message,url:k,requestBodyValues:i,statusCode:400,responseHeaders:l,responseBody:n,isRetryable:!1});let o=m.output.filter(a=>"message"===a.type).flatMap(a=>a.content).filter(a=>"output_text"===a.type),p=m.output.filter(a=>"function_call"===a.type).map(a=>({toolCallType:"function",toolCallId:a.call_id,toolName:a.name,args:a.arguments})),q=null!=(c=null==(b=m.output.find(a=>"reasoning"===a.type))?void 0:b.summary)?c:null;return{text:o.map(a=>a.text).join("\n"),sources:o.flatMap(a=>a.annotations.map(a=>{var b,c,d;return{sourceType:"url",id:null!=(d=null==(c=(b=this.config).generateId)?void 0:c.call(b))?d:(0,az.$C)(),url:a.url,title:a.title}})),finishReason:gj({finishReason:null==(d=m.incomplete_details)?void 0:d.reason,hasToolCalls:p.length>0}),toolCalls:p.length>0?p:void 0,reasoning:q?q.map(a=>({type:"text",text:a.text})):void 0,usage:{promptTokens:m.usage.input_tokens,completionTokens:m.usage.output_tokens},rawCall:{rawPrompt:void 0,rawSettings:{}},rawResponse:{headers:l,body:n},request:{body:JSON.stringify(i)},response:{id:m.id,timestamp:new Date(1e3*m.created_at),modelId:m.model},providerMetadata:{openai:{responseId:m.id,cachedPromptTokens:null!=(f=null==(e=m.usage.input_tokens_details)?void 0:e.cached_tokens)?f:null,reasoningTokens:null!=(h=null==(g=m.usage.output_tokens_details)?void 0:g.reasoning_tokens)?h:null}},warnings:j}}async doStream(a){let{args:b,warnings:c}=this.getArgs(a),{responseHeaders:d,value:e}=await (0,az.GU)({url:this.config.url({path:"/responses",modelId:this.modelId}),headers:(0,az.m2)(this.config.headers(),a.headers),body:{...b,stream:!0},failedResponseHandler:fZ,successfulResponseHandler:(0,az.Ds)(gv),abortSignal:a.abortSignal,fetch:this.config.fetch}),f=this,g="unknown",h=NaN,i=NaN,j=null,k=null,l=null,m={},n=!1;return{stream:e.pipeThrough(new TransformStream({transform(a,b){var c,d,e,o,p,q,r,s,t;if(!a.success){g="error",b.enqueue({type:"error",error:a.error});return}let u=a.value;if("response.output_item.added"===u.type)"function_call"===u.item.type&&(m[u.output_index]={toolName:u.item.name,toolCallId:u.item.call_id},b.enqueue({type:"tool-call-delta",toolCallType:"function",toolCallId:u.item.call_id,toolName:u.item.name,argsTextDelta:u.item.arguments}));else if("response.function_call_arguments.delta"===u.type){let a=m[u.output_index];null!=a&&b.enqueue({type:"tool-call-delta",toolCallType:"function",toolCallId:a.toolCallId,toolName:a.toolName,argsTextDelta:u.delta})}else{"response.created"===u.type?(l=u.response.id,b.enqueue({type:"response-metadata",id:u.response.id,timestamp:new Date(1e3*u.response.created_at),modelId:u.response.model})):"response.output_text.delta"===u.type?b.enqueue({type:"text-delta",textDelta:u.delta}):"response.reasoning_summary_text.delta"===u.type?b.enqueue({type:"reasoning",textDelta:u.delta}):"response.output_item.done"===u.type&&"function_call"===u.item.type?(m[u.output_index]=void 0,n=!0,b.enqueue({type:"tool-call",toolCallType:"function",toolCallId:u.item.call_id,toolName:u.item.name,args:u.item.arguments})):"response.completed"===(t=u).type||"response.incomplete"===t.type?(g=gj({finishReason:null==(c=u.response.incomplete_details)?void 0:c.reason,hasToolCalls:n}),h=u.response.usage.input_tokens,i=u.response.usage.output_tokens,j=null!=(e=null==(d=u.response.usage.input_tokens_details)?void 0:d.cached_tokens)?e:j,k=null!=(p=null==(o=u.response.usage.output_tokens_details)?void 0:o.reasoning_tokens)?p:k):"response.output_text.annotation.added"===u.type?b.enqueue({type:"source",source:{sourceType:"url",id:null!=(s=null==(r=(q=f.config).generateId)?void 0:r.call(q))?s:(0,az.$C)(),url:u.annotation.url,title:u.annotation.title}}):"error"===u.type&&b.enqueue({type:"error",error:u})}},flush(a){a.enqueue({type:"finish",finishReason:g,usage:{promptTokens:h,completionTokens:i},...(null!=j||null!=k)&&{providerMetadata:{openai:{responseId:l,cachedPromptTokens:j,reasoningTokens:k}}}})}})),rawCall:{rawPrompt:void 0,rawSettings:{}},rawResponse:{headers:d},request:{body:JSON.stringify(b)},warnings:c}}},gl=aA.Ik({input_tokens:aA.ai(),input_tokens_details:aA.Ik({cached_tokens:aA.ai().nullish()}).nullish(),output_tokens:aA.ai(),output_tokens_details:aA.Ik({reasoning_tokens:aA.ai().nullish()}).nullish()}),gm=aA.Ik({type:aA.eu("response.output_text.delta"),delta:aA.Yj()}),gn=aA.Ik({type:aA.k5(["response.completed","response.incomplete"]),response:aA.Ik({incomplete_details:aA.Ik({reason:aA.Yj()}).nullish(),usage:gl})}),go=aA.Ik({type:aA.eu("response.created"),response:aA.Ik({id:aA.Yj(),created_at:aA.ai(),model:aA.Yj()})}),gp=aA.Ik({type:aA.eu("response.output_item.done"),output_index:aA.ai(),item:aA.gM("type",[aA.Ik({type:aA.eu("message")}),aA.Ik({type:aA.eu("function_call"),id:aA.Yj(),call_id:aA.Yj(),name:aA.Yj(),arguments:aA.Yj(),status:aA.eu("completed")})])}),gq=aA.Ik({type:aA.eu("response.function_call_arguments.delta"),item_id:aA.Yj(),output_index:aA.ai(),delta:aA.Yj()}),gr=aA.Ik({type:aA.eu("response.output_item.added"),output_index:aA.ai(),item:aA.gM("type",[aA.Ik({type:aA.eu("message")}),aA.Ik({type:aA.eu("function_call"),id:aA.Yj(),call_id:aA.Yj(),name:aA.Yj(),arguments:aA.Yj()})])}),gs=aA.Ik({type:aA.eu("response.output_text.annotation.added"),annotation:aA.Ik({type:aA.eu("url_citation"),url:aA.Yj(),title:aA.Yj()})}),gt=aA.Ik({type:aA.eu("response.reasoning_summary_text.delta"),item_id:aA.Yj(),output_index:aA.ai(),summary_index:aA.ai(),delta:aA.Yj()}),gu=aA.Ik({type:aA.eu("error"),code:aA.Yj(),message:aA.Yj(),param:aA.Yj().nullish(),sequence_number:aA.ai()}),gv=aA.KC([gm,gn,go,gp,gq,gr,gs,gt,gu,aA.Ik({type:aA.Yj()}).passthrough()]),gw=aA.Ik({metadata:aA.bz().nullish(),parallelToolCalls:aA.zM().nullish(),previousResponseId:aA.Yj().nullish(),store:aA.zM().nullish(),user:aA.Yj().nullish(),reasoningEffort:aA.Yj().nullish(),strictSchemas:aA.zM().nullish(),instructions:aA.Yj().nullish(),reasoningSummary:aA.Yj().nullish()}),gx=aA.Ik({}),gy={webSearchPreview:function({searchContextSize:a,userLocation:b}={}){return{type:"provider-defined",id:"openai.web_search_preview",args:{searchContextSize:a,userLocation:b},parameters:gx}}},gz=aA.Ik({instructions:aA.Yj().nullish(),speed:aA.ai().min(.25).max(4).default(1).nullish()}),gA=class{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v1"}get provider(){return this.config.provider}getArgs({text:a,voice:b="alloy",outputFormat:c="mp3",speed:d,instructions:e,providerOptions:f}){let g=[],h=(0,az.xI)({provider:"openai",providerOptions:f,schema:gz}),i={model:this.modelId,input:a,voice:b,response_format:"mp3",speed:d,instructions:e};if(c&&(["mp3","opus","aac","flac","wav","pcm"].includes(c)?i.response_format=c:g.push({type:"unsupported-setting",setting:"outputFormat",details:`Unsupported output format: ${c}. Using mp3 instead.`})),h){let a={};for(let b in a){let c=a[b];void 0!==c&&(i[b]=c)}}return{requestBody:i,warnings:g}}async doGenerate(a){var b,c,d;let e=null!=(d=null==(c=null==(b=this.config._internal)?void 0:b.currentDate)?void 0:c.call(b))?d:new Date,{requestBody:f,warnings:g}=this.getArgs(a),{value:h,responseHeaders:i,rawValue:j}=await (0,az.GU)({url:this.config.url({path:"/audio/speech",modelId:this.modelId}),headers:(0,az.m2)(this.config.headers(),a.headers),body:f,failedResponseHandler:fZ,successfulResponseHandler:(0,az.HD)(),abortSignal:a.abortSignal,fetch:this.config.fetch});return{audio:h,warnings:g,request:{body:JSON.stringify(f)},response:{timestamp:e,modelId:this.modelId,headers:i,body:j}}}};function gB(a={}){var b,c,d;let e=null!=(b=(0,az.ae)(a.baseURL))?b:"https://api.openai.com/v1",f=null!=(c=a.compatibility)?c:"compatible",g=null!=(d=a.name)?d:"openai",h=()=>({Authorization:`Bearer ${(0,az.WL)({apiKey:a.apiKey,environmentVariableName:"OPENAI_API_KEY",description:"OpenAI"})}`,"OpenAI-Organization":a.organization,"OpenAI-Project":a.project,...a.headers}),i=(b,c={})=>new f_(b,c,{provider:`${g}.chat`,url:({path:a})=>`${e}${a}`,headers:h,compatibility:f,fetch:a.fetch}),j=(b,c={})=>new f6(b,c,{provider:`${g}.completion`,url:({path:a})=>`${e}${a}`,headers:h,compatibility:f,fetch:a.fetch}),k=(b,c={})=>new f9(b,c,{provider:`${g}.embedding`,url:({path:a})=>`${e}${a}`,headers:h,fetch:a.fetch}),l=(b,c={})=>new gd(b,c,{provider:`${g}.image`,url:({path:a})=>`${e}${a}`,headers:h,fetch:a.fetch}),m=b=>new gh(b,{provider:`${g}.transcription`,url:({path:a})=>`${e}${a}`,headers:h,fetch:a.fetch}),n=b=>new gA(b,{provider:`${g}.speech`,url:({path:a})=>`${e}${a}`,headers:h,fetch:a.fetch}),o=(a,b)=>{if(new.target)throw Error("The OpenAI model function cannot be called with the new keyword.");return"gpt-3.5-turbo-instruct"===a?j(a,b):i(a,b)},p=function(a,b){return o(a,b)};return p.languageModel=o,p.chat=i,p.completion=j,p.responses=b=>new gk(b,{provider:`${g}.responses`,url:({path:a})=>`${e}${a}`,headers:h,fetch:a.fetch}),p.embedding=k,p.textEmbedding=k,p.textEmbeddingModel=k,p.image=l,p.imageModel=l,p.transcription=m,p.transcriptionModel=m,p.speech=n,p.speechModel=n,p.tools=gy,p}gB({compatibility:"strict"});var gC=c(17143);function gD(a){let b=[];for(let{content:c,role:d}of a)switch(d){case"system":b.push({content:c,role:"system"});break;case"user":b.push({...c.reduce((a,b)=>{if("text"===b.type)a.content+=b.text;else if("image"===b.type&&b.image instanceof URL)throw new ay.b8({functionality:"Image URLs in user messages"});else"image"===b.type&&b.image instanceof Uint8Array&&(a.images=a.images||[],a.images.push((0,az.n_)(b.image)));return a},{content:""}),role:"user"});break;case"assistant":{let a=[],d=[];for(let b of c)switch(b.type){case"text":a.push(b.text);break;case"tool-call":d.push({function:{arguments:b.args,name:b.toolName},id:b.toolCallId,type:"function"});break;default:throw Error(`Unsupported part: ${b}`)}b.push({content:a.join(","),role:"assistant",tool_calls:d.length>0?d:void 0});break}case"tool":b.push(...c.map(a=>({content:"object"==typeof a.result?JSON.stringify(a.result):`${a.result}`,role:"tool",tool_call_id:a.toolCallId})));break;default:throw Error(`Unsupported role: ${d}`)}return b}var gE=class{constructor({tools:a,type:b}){this._firstMessage=!0,this._tools=a,this._toolPartial="",this._toolCalls=[],this._type=b,this._detectedToolCall=!1}get toolCalls(){return this._toolCalls}get detectedToolCall(){return this._detectedToolCall}parse({controller:a,delta:b}){var c;if(this.detectToolCall(b),!this._detectedToolCall)return!1;this._toolPartial+=b;let d=(0,gC.parse)(this._toolPartial);for(let[e,f]of(Array.isArray(d)||(d=[d]),d.entries())){let d=null!=(c=JSON.stringify(null==f?void 0:f.parameters))?c:"";if(""===d)continue;this._toolCalls[e]||(this._toolCalls[e]={function:{arguments:"",name:f.name},id:(0,az.$C)(),type:"function"});let g=this._toolCalls[e];g.function.arguments=d,a.enqueue({argsTextDelta:b,toolCallId:g.id,toolCallType:"function",toolName:g.function.name,type:"tool-call-delta"})}return!0}finish({controller:a}){for(let b of this.toolCalls)a.enqueue({args:b.function.arguments,toolCallId:b.id,toolCallType:"function",toolName:b.function.name,type:"tool-call"});return this.finishReason()}detectToolCall(a){this._tools&&0!==this._tools.length&&this._firstMessage&&("object-tool"===this._type?this._detectedToolCall=!0:"regular"===this._type&&(a.trim().startsWith("{")||a.trim().startsWith("["))&&(this._detectedToolCall=!0),this._firstMessage=!1)}finishReason(){return this.detectedToolCall?"object-tool"===this._type?"stop":"tool-calls":"stop"}},gF=aA.Ik({error:aA.Ik({code:aA.Yj().nullable(),message:aA.Yj(),param:aA.bz().nullable(),type:aA.Yj()})}),gG=(0,az.sl)({errorSchema:gF,errorToMessage:a=>a.error.message}),gH=class extends TransformStream{constructor(){super({flush:a=>{0!==this.buffer.length&&a.enqueue(this.buffer)},transform:(a,b)=>{for(a=this.buffer+a;;){let c=a.indexOf("\n");if(-1===c)break;b.enqueue(a.slice(0,c)),a=a.slice(c+1)}this.buffer=a}}),this.buffer=""}},gI=class{constructor(a,b,c){this.modelId=a,this.settings=b,this.config=c,this.specificationVersion="v1",this.defaultObjectGenerationMode="json",this.supportsImageUrls=!1}get supportsStructuredOutputs(){var a;return null!=(a=this.settings.structuredOutputs)&&a}get provider(){return this.config.provider}getArguments({frequencyPenalty:a,maxTokens:b,mode:c,presencePenalty:d,prompt:e,responseFormat:f,seed:g,stopSequences:h,temperature:i,topK:j,topP:k}){let l=c.type,m=[];void 0===f||"json"!==f.type||void 0===f.schema||this.supportsStructuredOutputs||m.push({details:"JSON response format schema is only supported with structuredOutputs",setting:"responseFormat",type:"unsupported-setting"});let n={format:null==f?void 0:f.type,model:this.modelId,options:Object.fromEntries(Object.entries({f16_kv:this.settings.f16Kv,frequency_penalty:a,low_vram:this.settings.lowVram,main_gpu:this.settings.mainGpu,min_p:this.settings.minP,mirostat:this.settings.mirostat,mirostat_eta:this.settings.mirostatEta,mirostat_tau:this.settings.mirostatTau,num_batch:this.settings.numBatch,num_ctx:this.settings.numCtx,num_gpu:this.settings.numGpu,num_keep:this.settings.numKeep,num_predict:b,num_thread:this.settings.numThread,numa:this.settings.numa,penalize_newline:this.settings.penalizeNewline,presence_penalty:d,repeat_last_n:this.settings.repeatLastN,repeat_penalty:this.settings.repeatPenalty,seed:g,stop:h,temperature:i,tfs_z:this.settings.tfsZ,top_k:j,top_p:k,typical_p:this.settings.typicalP,use_mlock:this.settings.useMlock,use_mmap:this.settings.useMmap,vocab_only:this.settings.vocabOnly}).filter(([,a])=>void 0!==a))};switch(l){case"regular":{let{tools:a,toolWarnings:b}=function({mode:a}){var b;let c=(null==(b=a.tools)?void 0:b.length)?a.tools:void 0,d=[],e=a.toolChoice;if(void 0===c)return{tools:void 0,toolWarnings:d};let f=[];for(let a of c)"provider-defined"===a.type?d.push({tool:a,type:"unsupported-tool"}):f.push({function:{description:a.description,name:a.name,parameters:a.parameters},type:"function"});if(void 0===e)return{tools:f,toolWarnings:d};let g=e.type;switch(g){case"auto":return{tools:f,toolWarnings:d};case"none":return{tools:void 0,toolWarnings:d};default:throw new ay.b8({functionality:`Unsupported tool choice type: ${g}`})}}({mode:c});return{args:{...n,messages:gD(e),tools:a},type:l,warnings:[...m,...b]}}case"object-json":return{args:{...n,format:this.supportsStructuredOutputs&&void 0!==c.schema?c.schema:"json",messages:gD(e)},type:l,warnings:m};case"object-tool":return{args:{...n,messages:gD(e),tool_choice:{function:{name:c.tool.name},type:"function"},tools:[{function:{description:c.tool.description,name:c.tool.name,parameters:c.tool.parameters},type:"function"}]},type:l,warnings:m};default:throw Error(`Unsupported type: ${l}`)}}async doGenerate(a){var b,c;let{args:d,warnings:e}=this.getArguments(a),f={...d,stream:!1},{responseHeaders:g,value:h}=await (0,az.GU)({abortSignal:a.abortSignal,body:f,failedResponseHandler:gG,fetch:this.config.fetch,headers:(0,az.m2)(this.config.headers(),a.headers),successfulResponseHandler:(0,az.cV)(gJ),url:`${this.config.baseURL}/chat`}),{messages:i,...j}=f,k=null==(b=h.message.tool_calls)?void 0:b.map(a=>{var b;return{args:JSON.stringify(a.function.arguments),toolCallId:null!=(b=a.id)?b:(0,az.$C)(),toolCallType:"function",toolName:a.function.name}});return{finishReason:function({finishReason:a,hasToolCalls:b}){return"stop"===a?b?"tool-calls":"stop":"other"}({finishReason:h.done_reason,hasToolCalls:void 0!==k&&k.length>0}),rawCall:{rawPrompt:i,rawSettings:j},rawResponse:{headers:g},request:{body:JSON.stringify(f)},text:null!=(c=h.message.content)?c:void 0,toolCalls:k,usage:{completionTokens:h.eval_count||0,promptTokens:h.prompt_eval_count||0},warnings:e}}async doStream(a){if(this.settings.simulateStreaming){let b=await this.doGenerate(a),c=new ReadableStream({start(a){if(a.enqueue({type:"response-metadata",...b.response}),b.text&&a.enqueue({textDelta:b.text,type:"text-delta"}),b.toolCalls)for(let c of b.toolCalls)a.enqueue({argsTextDelta:c.args,toolCallId:c.toolCallId,toolCallType:"function",toolName:c.toolName,type:"tool-call-delta"}),a.enqueue({type:"tool-call",...c});a.enqueue({finishReason:b.finishReason,logprobs:b.logprobs,providerMetadata:b.providerMetadata,type:"finish",usage:b.usage}),a.close()}});return{rawCall:b.rawCall,rawResponse:b.rawResponse,stream:c,warnings:b.warnings}}let{args:b,type:c,warnings:d}=this.getArguments(a),{responseHeaders:e,value:f}=await (0,az.GU)({abortSignal:a.abortSignal,body:b,failedResponseHandler:gG,fetch:this.config.fetch,headers:(0,az.m2)(this.config.headers(),a.headers),successfulResponseHandler:async({response:a})=>{let b=(0,az.PX)(a);if(null===a.body)throw new ay.Tt({});return{responseHeaders:b,value:a.body.pipeThrough(new TextDecoderStream).pipeThrough(new gH).pipeThrough(new TransformStream({transform(a,b){b.enqueue((0,az.N8)({schema:gK,text:a}))}}))}},url:`${this.config.baseURL}/chat`}),{messages:g,...h}=b,i=new gE({tools:"regular"===a.mode.type?a.mode.tools:"object-tool"===a.mode.type?[a.mode.tool]:void 0,type:c}),j="other",k={completionTokens:NaN,promptTokens:NaN},{experimentalStreamTools:l=!0}=this.settings;return{rawCall:{rawPrompt:g,rawSettings:h},rawResponse:{headers:e},request:{body:JSON.stringify(b)},stream:f.pipeThrough(new TransformStream({async flush(a){a.enqueue({finishReason:j,type:"finish",usage:k})},async transform(a,b){if(!a.success)return void b.enqueue({error:a.error,type:"error"});let c=a.value;if(c.done){j=i.finish({controller:b}),k={completionTokens:c.eval_count,promptTokens:c.prompt_eval_count||0};return}l&&i.parse({controller:b,delta:c.message.content})||null!==c.message.content&&b.enqueue({textDelta:c.message.content,type:"text-delta"})}})),warnings:d}}},gJ=aA.Ik({created_at:aA.Yj(),done:aA.eu(!0),done_reason:aA.Yj().optional().nullable(),eval_count:aA.ai(),eval_duration:aA.ai(),load_duration:aA.ai().optional(),message:aA.Ik({content:aA.Yj(),role:aA.Yj(),tool_calls:aA.YO(aA.Ik({function:aA.Ik({arguments:aA.g1(aA.bz()),name:aA.Yj()}),id:aA.Yj().optional()})).optional().nullable()}),model:aA.Yj(),prompt_eval_count:aA.ai().optional(),prompt_eval_duration:aA.ai().optional(),total_duration:aA.ai()}),gK=aA.gM("done",[aA.Ik({created_at:aA.Yj(),done:aA.eu(!1),message:aA.Ik({content:aA.Yj(),role:aA.Yj()}),model:aA.Yj()}),aA.Ik({created_at:aA.Yj(),done:aA.eu(!0),eval_count:aA.ai(),eval_duration:aA.ai(),load_duration:aA.ai().optional(),model:aA.Yj(),prompt_eval_count:aA.ai().optional(),prompt_eval_duration:aA.ai().optional(),total_duration:aA.ai()})]),gL=class{constructor(a,b,c){this.specificationVersion="v1",this.modelId=a,this.settings=b,this.config=c}get provider(){return this.config.provider}get maxEmbeddingsPerCall(){var a;return null!=(a=this.settings.maxEmbeddingsPerCall)?a:2048}get supportsParallelCalls(){return!1}async doEmbed({abortSignal:a,values:b}){if(b.length>this.maxEmbeddingsPerCall)throw new ay.Ch({maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,modelId:this.modelId,provider:this.provider,values:b});let{responseHeaders:c,value:d}=await (0,az.GU)({abortSignal:a,body:{input:b,model:this.modelId},failedResponseHandler:gG,fetch:this.config.fetch,headers:this.config.headers(),successfulResponseHandler:(0,az.cV)(gM),url:`${this.config.baseURL}/embed`});return{embeddings:d.embeddings,rawResponse:{headers:c},usage:d.prompt_eval_count?{tokens:d.prompt_eval_count}:void 0}}},gM=aA.Ik({embeddings:aA.YO(aA.YO(aA.ai())),prompt_eval_count:aA.ai().nullable()});function gN(a={}){var b;let c=null!=(b=(0,az.ae)(a.baseURL))?b:"http://127.0.0.1:11434/api",d=()=>({...a.headers}),e=(b,e={})=>new gI(b,e,{baseURL:c,fetch:a.fetch,headers:d,provider:"ollama.chat"}),f=(b,e={})=>new gL(b,e,{baseURL:c,fetch:a.fetch,headers:d,provider:"ollama.embedding"}),g=function(a,b){if(new.target)throw Error("The Ollama model function cannot be called with the new keyword.");return e(a,b)};return g.chat=e,g.embedding=f,g.languageModel=e,g.textEmbedding=f,g.textEmbeddingModel=f,g}gN();var gO=c(49260);async function gP(a){let b=null;try{let{serverConfigs:c,model:d,apiKey:e,systemPrompt:f,messages:g,ollamaBaseUrl:h}=await a.json();if(!d||!d.id||!e||!g)return(0,Q.WX)("Missing required fields","model (with id), apiKey, and messages are required");if(Object.keys(c).length>0){let a=(0,Q.Rb)(c);if(!a.success)return a.error;b=(0,Q.jl)(a.validConfigs)}else b=new gO.Mj({id:`chat-${Date.now()}`,servers:{}});let i=await b.getTools(),j=gQ(d,e,h),k=0,l=null,m=null,n=i&&Object.keys(i).length>0?i:{},o={};for(let[a,b]of Object.entries(n))o[a]={...b,execute:async c=>{let d=++k;l&&m&&l.enqueue(m.encode(`data: ${JSON.stringify({type:"tool_call",toolCall:{id:d,name:a,parameters:c,timestamp:new Date,status:"executing"}})}
32
-
33
- `));try{let a=await b.execute(c);return l&&m&&l.enqueue(m.encode(`data: ${JSON.stringify({type:"tool_result",toolResult:{id:d,toolCallId:d,result:a,timestamp:new Date}})}
34
-
35
- `)),a}catch(a){throw l&&m&&l.enqueue(m.encode(`data: ${JSON.stringify({type:"tool_result",toolResult:{id:d,toolCallId:d,error:a instanceof Error?a.message:String(a),timestamp:new Date}})}
36
-
37
- `)),a}}};let p=new fr({name:"MCP Chat Agent",instructions:f||"You are a helpful assistant with access to MCP tools.",model:j,tools:Object.keys(o).length>0?o:void 0}),q=g.map(a=>({role:a.role,content:a.content})),r=await p.stream(q,{maxSteps:10});m=new TextEncoder;let s=new ReadableStream({async start(a){l=a;try{let b=!1;for await(let c of r.textStream)c&&c.trim()&&(b=!0,a.enqueue(m.encode(`data: ${JSON.stringify({type:"text",content:c})}
38
-
39
- `)));b||a.enqueue(m.encode(`data: ${JSON.stringify({type:"text",content:"I apologize, but I couldn't generate a response. Please try again."})}
40
-
41
- `)),a.enqueue(m.encode(`data: [DONE]
42
-
43
- `))}catch(b){console.error("Streaming error:",b),a.enqueue(m.encode(`data: ${JSON.stringify({type:"error",error:b instanceof Error?b.message:"Unknown error"})}
44
-
45
- `))}finally{if(b)try{await b.disconnect()}catch(a){console.warn("Error cleaning up MCP client after streaming:",a)}a.close()}}});return new Response(s,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}catch(a){if(console.error("Error in chat API:",a),b)try{await b.disconnect()}catch(a){console.warn("Error cleaning up MCP client after error:",a)}return(0,Q.WX)("Failed to process chat request",a instanceof Error?a.message:"Unknown error")}}let gQ=(a,b,c)=>{if(!a||!a.id||!a.provider)throw Error(`Invalid model definition: ${JSON.stringify(a)}`);switch(a.provider){case"anthropic":return fV({apiKey:b})(a.id);case"openai":return gB({apiKey:b})(a.id);case"ollama":return gN({baseURL:`${c||"http://localhost:11434"}/api`})(a.id,{simulateStreaming:!0});default:throw Error(`Unsupported provider: ${a.provider} for model: ${a.id}`)}},gR=new A.AppRouteRouteModule({definition:{kind:B.RouteKind.APP_ROUTE,page:"/api/mcp/chat/route",pathname:"/api/mcp/chat",filename:"route",bundlePath:"app/api/mcp/chat/route"},distDir:".next",projectDir:"",resolvedPagePath:"/Users/matt8p/Desktop/inspector/src/app/api/mcp/chat/route.ts",nextConfigOutput:"",userland:z}),{workAsyncStorage:gS,workUnitAsyncStorage:gT,serverHooks:gU}=gR;function gV(){return(0,C.patchFetch)({workAsyncStorage:gS,workUnitAsyncStorage:gT})}async function gW(a,b,c){var d;let e="/api/mcp/chat/route";"/index"===e&&(e="/");let f=await gR.prepare(a,b,{srcPage:e,multiZoneDraftMode:"false"});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:h,nextConfig:i,isDraftMode:j,prerenderManifest:k,routerServerContext:l,isOnDemandRevalidate:m,revalidateOnlyGenerated:n,resolvedPathname:o}=f,p=(0,F.normalizeAppPath)(e),q=!!(k.dynamicRoutes[p]||k.routes[o]);if(q&&!j){let a=!!k.routes[o],b=k.dynamicRoutes[p];if(b&&!1===b.fallback&&!a)throw new O.NoFallbackError}let r=null;!q||gR.isDev||j||(r="/index"===(r=o)?"/":r);let s=!0===gR.isDev||!q,t=q&&!s,u=a.method||"GET",v=(0,E.getTracer)(),w=v.getActiveScopeSpan(),y={params:h,prerenderManifest:k,renderOpts:{experimental:{dynamicIO:!!i.experimental.dynamicIO,authInterrupts:!!i.experimental.authInterrupts},supportsDynamicResponse:s,incrementalCache:(0,D.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:null==(d=i.experimental)?void 0:d.cacheLife,isRevalidate:t,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d)=>gR.onRequestError(a,b,d,l)},sharedContext:{buildId:g}},z=new G.NodeNextRequest(a),A=new G.NodeNextResponse(b),C=H.NextRequestAdapter.fromNodeNextRequest(z,(0,H.signalFromNodeResponse)(b));try{let d=async c=>gR.handle(C,y).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=v.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==I.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${u} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${u} ${a.url}`)}),f=async f=>{var g,h;let o=async({previousCacheEntry:g})=>{try{if(!(0,D.getRequestMeta)(a,"minimalMode")&&m&&n&&!g)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let e=await d(f);a.fetchMetrics=y.renderOpts.fetchMetrics;let h=y.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=y.renderOpts.collectedTags;if(!q)return await (0,K.I)(z,A,e,y.renderOpts.pendingWaitUntil),null;{let a=await e.blob(),b=(0,L.toNodeOutgoingHttpHeaders)(e.headers);i&&(b[N.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==y.renderOpts.collectedRevalidate&&!(y.renderOpts.collectedRevalidate>=N.INFINITE_CACHE)&&y.renderOpts.collectedRevalidate,d=void 0===y.renderOpts.collectedExpire||y.renderOpts.collectedExpire>=N.INFINITE_CACHE?void 0:y.renderOpts.collectedExpire;return{value:{kind:P.CachedRouteKind.APP_ROUTE,status:e.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:d}}}}catch(b){throw(null==g?void 0:g.isStale)&&await gR.onRequestError(a,b,{routerKind:"App Router",routePath:e,routeType:"route",revalidateReason:(0,J.c)({isRevalidate:t,isOnDemandRevalidate:m})},l),b}},p=await gR.handleResponse({req:a,nextConfig:i,cacheKey:r,routeKind:B.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:k,isRoutePPREnabled:!1,isOnDemandRevalidate:m,revalidateOnlyGenerated:n,responseGenerator:o,waitUntil:c.waitUntil});if(!q)return null;if((null==p||null==(g=p.value)?void 0:g.kind)!==P.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==p||null==(h=p.value)?void 0:h.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});(0,D.getRequestMeta)(a,"minimalMode")||b.setHeader("x-nextjs-cache",m?"REVALIDATED":p.isMiss?"MISS":p.isStale?"STALE":"HIT"),j&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let s=(0,L.fromNodeOutgoingHttpHeaders)(p.value.headers);return(0,D.getRequestMeta)(a,"minimalMode")&&q||s.delete(N.NEXT_CACHE_TAGS_HEADER),!p.cacheControl||b.getHeader("Cache-Control")||s.get("Cache-Control")||s.set("Cache-Control",(0,M.getCacheControlHeader)(p.cacheControl)),await (0,K.I)(z,A,new Response(p.value.body,{headers:s,status:p.value.status||200})),null};w?await f(w):await v.withPropagatedContext(a.headers,()=>v.trace(I.BaseServerSpan.handleRequest,{spanName:`${u} ${a.url}`,kind:E.SpanKind.SERVER,attributes:{"http.method":u,"http.target":a.url}},f))}catch(b){if(w||await gR.onRequestError(a,b,{routerKind:"App Router",routePath:p,routeType:"route",revalidateReason:(0,J.c)({isRevalidate:t,isOnDemandRevalidate:m})}),q)throw b;return await (0,K.I)(z,A,new Response(null,{status:500})),null}}},27910:a=>{"use strict";a.exports=require("stream")},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},41204:a=>{"use strict";a.exports=require("string_decoder")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},55511:a=>{"use strict";a.exports=require("crypto")},57075:a=>{"use strict";a.exports=require("node:stream")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},77598:a=>{"use strict";a.exports=require("node:crypto")},78335:()=>{},79428:a=>{"use strict";a.exports=require("buffer")},79551:a=>{"use strict";a.exports=require("url")},79646:a=>{"use strict";a.exports=require("child_process")},84297:a=>{"use strict";a.exports=require("async_hooks")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},96487:()=>{}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[985,55,260],()=>b(b.s=25999));module.exports=c})();