@mcp-use/inspector 0.14.3-canary.1 → 0.14.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/web/assets/{browser-Bwbzeqra.js → browser-CrZmtltD.js} +3 -3
- package/dist/web/assets/{client-C_oXvQls.js → client-CsMGnuwC.js} +1 -1
- package/dist/web/assets/{display-A5IEINAP-jFT1ZrZv.js → display-A5IEINAP-D8OCMEUd.js} +2 -2
- package/dist/web/assets/{embeddings-C2wpTLdB.js → embeddings-By0Dfnxp.js} +1 -1
- package/dist/web/assets/{index-5iKuctN5.js → index-BvMdqfyu.js} +1 -1
- package/dist/web/assets/{index-oNOjaFj2.js → index-BxMZcKR4.js} +1 -1
- package/dist/web/assets/{index-DEZvih5Y.js → index-CaVm3fHm.js} +1 -1
- package/dist/web/assets/{index-DAtu40Ij.js → index-Cze4GuPX.js} +1 -1
- package/dist/web/assets/{index-CzON1LlU.js → index-D7mhOTIc.js} +1 -1
- package/dist/web/assets/{index-D8Ae6d9I.js → index-DYa4NhVm.js} +1 -1
- package/dist/web/assets/{index-BAVnedrl.js → index-DjkfvIWz.js} +6 -6
- package/dist/web/assets/{index-CF8ue1E2.js → index-DwWeVml5.js} +1 -1
- package/dist/web/assets/{index-YgJNrSvw.js → index-o8LZS9ZF.js} +1 -1
- package/dist/web/assets/{llms-DFXD7LY2.js → llms-DCC0HMlB.js} +1 -1
- package/dist/web/index.html +2 -2
- package/package.json +2 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/client-
|
|
2
|
-
import{bV as vo,bW as lc,bX as cc,_ as $,bw as ve,bq as y,bB as kr,bY as ke,bZ as Nr,bH as $r,by as uc,bD as hc,bx as dc,b_ as fc,b$ as pc,c0 as mc,p as Ds,bo as gc,c1 as Rr,c2 as bo,a as Ht,bI as Vn}from"./index-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/client-CsMGnuwC.js","assets/index-DjkfvIWz.js","assets/index-DlhqMiEp.css","assets/display-A5IEINAP-D8OCMEUd.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{bV as vo,bW as lc,bX as cc,_ as $,bw as ve,bq as y,bB as kr,bY as ke,bZ as Nr,bH as $r,by as uc,bD as hc,bx as dc,b_ as fc,b$ as pc,c0 as mc,p as Ds,bo as gc,c1 as Rr,c2 as bo,a as Ht,bI as Vn}from"./index-DjkfvIWz.js";import{bj as cy,c3 as uy,bp as hy,bs as dy,c4 as fy,c5 as py,br as my,bp as gy,c6 as yy,c7 as wy,c8 as vy,c8 as by}from"./index-DjkfvIWz.js";import{D as Bn,S as Er,t as yc,a as hi,T as wc,b as vc}from"./index-CaVm3fHm.js";import{h as xn,s as di,g as fi,d as bc,k as _c,l as Sc,I as Cc,C as Tc,m as kc,t as Ec,n as xc,o as Mc,p as Ac,q as Pc,r as Ic,u as Oc,v as Nc,w as $c,x as Rc,y as jc,R as Lc,z as _o,e as Dc}from"./index-o8LZS9ZF.js";import{aT as Fc,aU as Fs,aV as Uc,aw as $e,e as sn,aW as Vc,aX as fn,a4 as ge,y as xe,aY as pi,i as mi,B as I,f as j,aZ as as,g as q,aj as en,ah as ee,S as re,p as Bc,C as zc,a_ as Wc,u as So,aE as gi,a$ as te,al as pn,b0 as cn,F as yi,z as De,b1 as Us,D as ls,E as Gt,ap as lr,b2 as Hc,b3 as Gc,b4 as Kc,b5 as Jc,b6 as qc,b7 as Yc,b8 as Xc,b9 as Zc,ba as Qc,bb as eu,bc as tu,bd as nu,be as ru,bf as su,bg as ou,bh as iu,bi as au,bj as lu,bk as cu,L as uu,bl as hu,bm as du,bn as fu,A as ze,k as un,m as Ve,M as st,at as Kt,bo as pu,H as mu,aF as Co,au as gu,bp as To,bq as ko,af as Vs,ae as cs,ad as us,ag as yu,V as wu,a9 as Bs,ac as et,br as cr,o as B,bs as Se,bt as vu,bu as Ae,bv as Re,bw as bu,U as jr,s as Q,bx as zs,aa as _u,r as Su,ax as Cu,T as Tu,by as Mn,bz as wi,bA as Jt,bB as mn,bC as Ge,bD as ft,bE as V,ab as ku,bF as zn,ai as Eu,bG as vi,bH as An,bI as xu,aP as Mu,aN as Au,aM as Pu,bJ as Iu}from"./index-D7mhOTIc.js";import{E as bi,c as Ou,e as Nu}from"./embeddings-By0Dfnxp.js";import{L as _i,o as $u,l as Ru}from"./llms-DCC0HMlB.js";const ju=t=>{const e=typeof t;switch(e){case"number":return Number.isNaN(t)?"NaN":"number";case"object":{if(Array.isArray(t))return"array";if(t===null)return"null";if(Object.getPrototypeOf(t)!==Object.prototype&&t.constructor)return t.constructor.name}}return e},Lu=()=>{const t={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"}};function e(r){return t[r]??null}const n={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"};return r=>{switch(r.code){case"invalid_type":return`Invalid input: expected ${r.expected}, received ${ju(r.input)}`;case"invalid_value":return r.values.length===1?`Invalid input: expected ${lc(r.values[0])}`:`Invalid option: expected one of ${vo(r.values,"|")}`;case"too_big":{const s=r.inclusive?"<=":"<",o=e(r.origin);return o?`Too big: expected ${r.origin??"value"} to have ${s}${r.maximum.toString()} ${o.unit??"elements"}`:`Too big: expected ${r.origin??"value"} to be ${s}${r.maximum.toString()}`}case"too_small":{const s=r.inclusive?">=":">",o=e(r.origin);return o?`Too small: expected ${r.origin} to have ${s}${r.minimum.toString()} ${o.unit}`:`Too small: expected ${r.origin} to be ${s}${r.minimum.toString()}`}case"invalid_format":{const s=r;return s.format==="starts_with"?`Invalid string: must start with "${s.prefix}"`:s.format==="ends_with"?`Invalid string: must end with "${s.suffix}"`:s.format==="includes"?`Invalid string: must include "${s.includes}"`:s.format==="regex"?`Invalid string: must match pattern ${s.pattern}`:`Invalid ${n[s.format]??r.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${r.divisor}`;case"unrecognized_keys":return`Unrecognized key${r.keys.length>1?"s":""}: ${vo(r.keys,", ")}`;case"invalid_key":return`Invalid key in ${r.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${r.origin}`;default:return"Invalid input"}}};function Du(){return{localeError:Lu()}}cc(Du());var Lr,$n,Dr=0,Fr=0;function Fu(t,e,n){var r=0,s=e||new Array(16);t=t||{};var o=t.node,i=t.clockseq;if(t._v6||(o||(o=Lr),i==null&&(i=$n)),o==null||i==null){var a=t.random||(t.rng||Fc)();o==null&&(o=[a[0],a[1],a[2],a[3],a[4],a[5]],!Lr&&!t._v6&&(o[0]|=1,Lr=o)),i==null&&(i=(a[6]<<8|a[7])&16383,$n===void 0&&!t._v6&&($n=i))}var l=t.msecs!==void 0?t.msecs:Date.now(),c=t.nsecs!==void 0?t.nsecs:Fr+1,u=l-Dr+(c-Fr)/1e4;if(u<0&&t.clockseq===void 0&&(i=i+1&16383),(u<0||l>Dr)&&t.nsecs===void 0&&(c=0),c>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");Dr=l,Fr=c,$n=i,l+=122192928e5;var h=((l&268435455)*1e4+c)%4294967296;s[r++]=h>>>24&255,s[r++]=h>>>16&255,s[r++]=h>>>8&255,s[r++]=h&255;var d=l/4294967296*1e4&268435455;s[r++]=d>>>8&255,s[r++]=d&255,s[r++]=d>>>24&15|16,s[r++]=d>>>16&255,s[r++]=i>>>8|128,s[r++]=i&255;for(var f=0;f<6;++f)s[r+f]=o[f];return e||Fs(s)}function Uu(t){var e=typeof t=="string"?Uc(t):t,n=Vu(e);return typeof t=="string"?Fs(n):n}function Vu(t,e=!1){return Uint8Array.of((t[6]&15)<<4|t[7]>>4&15,(t[7]&15)<<4|(t[4]&240)>>4,(t[4]&15)<<4|(t[5]&240)>>4,(t[5]&15)<<4|(t[0]&240)>>4,(t[0]&15)<<4|(t[1]&240)>>4,(t[1]&15)<<4|(t[2]&240)>>4,96|t[2]&15,t[3],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])}function Eo(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),n.push.apply(n,r)}return n}function xo(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Eo(Object(n),!0).forEach(function(r){Bu(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Eo(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function Bu(t,e,n){return(e=zu(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function zu(t){var e=Wu(t,"string");return typeof e=="symbol"?e:e+""}function Wu(t,e){if(typeof t!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function Hu(t={},e,n=0){var r=Fu(xo(xo({},t),{},{_v6:!0}),new Uint8Array(16));return r=Uu(r),Fs(r)}async function*Gu(t){for await(const e of t)if(e.event==="on_chat_model_stream"&&e.data?.chunk?.text){const n=e.data.chunk.text;typeof n=="string"&&n.length>0&&(yield n)}}$(Gu,"streamEventsToAISDK");function Ku(t){return new ReadableStream({async start(e){try{for await(const n of t)e.enqueue(n);e.close()}catch(n){e.error(n)}}})}$(Ku,"createReadableStreamFromGenerator");async function*Ju(t){for await(const e of t)switch(e.event){case"on_chat_model_stream":if(e.data?.chunk?.text){const n=e.data.chunk.text;typeof n=="string"&&n.length>0&&(yield n)}break;case"on_tool_start":yield`
|
|
3
3
|
🔧 Using tool: ${e.name}
|
|
4
4
|
`;break;case"on_tool_end":yield`
|
|
5
5
|
✅ Tool completed: ${e.name}
|
|
@@ -387,7 +387,7 @@ You can then use these server-specific tools in subsequent steps.
|
|
|
387
387
|
Here are the tools *currently* available to you (this list includes server management tools and will
|
|
388
388
|
change when you connect to a server):
|
|
389
389
|
{tool_descriptions}
|
|
390
|
-
`;function ar(t,e,n,r,s){if(typeof t=="object"&&t!==null){const o=t;return{query:o.prompt,maxSteps:o.maxSteps,manageConnector:o.manageConnector,externalHistory:o.externalHistory,outputSchema:o.schema}}return{query:t,maxSteps:e,manageConnector:n,externalHistory:r,outputSchema:s}}$(ar,"normalizeRunOptions");var Wt,iy=(Wt=class{static getPackageVersion(){return gc()}llm;client;connectors;maxSteps;autoInitialize;memoryEnabled;disallowedTools;additionalTools;toolsUsedNames=[];useServerManager;verbose;observe;systemPrompt;systemPromptTemplateOverride;additionalInstructions;_initialized=!1;conversationHistory=[];_agentExecutor=null;sessions={};systemMessage=null;_tools=[];adapter;serverManager=null;telemetry;modelProvider;modelName;observabilityManager;callbacks=[];metadata={};tags=[];isRemote=!1;remoteAgent=null;isSimplifiedMode=!1;llmString;llmConfig;mcpServersConfig;clientOwnedByAgent=!1;constructor(e){if(e.agentId){this.isRemote=!0,this.remoteAgent=new Wg({agentId:e.agentId,apiKey:e.apiKey,baseUrl:e.baseUrl}),this.maxSteps=e.maxSteps??5,this.memoryEnabled=e.memoryEnabled??!0,this.autoInitialize=e.autoInitialize??!1,this.verbose=e.verbose??!1,this.observe=e.observe??!0,this.connectors=[],this.disallowedTools=[],this.additionalTools=[],this.useServerManager=!1,this.adapter=new St,this.telemetry=Rr.getInstance(),this.modelProvider="remote",this.modelName="remote-agent",this.observabilityManager=new li({customCallbacks:e.callbacks,agentId:e.agentId}),this.callbacks=[];return}if(!e.llm)throw new Error("llm is required for local execution. For remote execution, provide agentId instead.");if(typeof e.llm=="string"){if(this.isSimplifiedMode=!0,this.llmString=e.llm,this.llmConfig=e.llmConfig,this.mcpServersConfig=e.mcpServers,!this.mcpServersConfig||Object.keys(this.mcpServersConfig).length===0)throw new Error("Simplified mode requires 'mcpServers' configuration. Provide an object with server configurations, e.g., { filesystem: { command: 'npx', args: [...] } }");this.llm=void 0,this.client=void 0,this.clientOwnedByAgent=!0,this.connectors=[],y.info(`🎯 Simplified mode enabled: LLM will be created from '${this.llmString}'`)}else if(this.isSimplifiedMode=!1,this.llm=e.llm,this.client=e.client,this.connectors=e.connectors??[],this.clientOwnedByAgent=!1,!this.client&&this.connectors.length===0)throw new Error("Explicit mode requires either 'client' or at least one 'connector'. Alternatively, use simplified mode with 'llm' as a string and 'mcpServers' config.");if(this.maxSteps=e.maxSteps??5,this.autoInitialize=e.autoInitialize??!1,this.memoryEnabled=e.memoryEnabled??!0,this.systemPrompt=e.systemPrompt??null,this.systemPromptTemplateOverride=e.systemPromptTemplate??null,this.additionalInstructions=e.additionalInstructions??null,this.disallowedTools=e.disallowedTools??[],this.additionalTools=e.additionalTools??[],this.toolsUsedNames=e.toolsUsedNames??[],this.useServerManager=e.useServerManager??!1,this.verbose=e.verbose??!1,this.observe=e.observe??!0,this.isSimplifiedMode)this.adapter=e.adapter??new St(this.disallowedTools),this.telemetry=Rr.getInstance(),this.modelProvider="unknown",this.modelName="unknown";else{if(this.useServerManager){if(!this.client)throw new Error("'client' must be provided when 'useServerManager' is true.");this.adapter=e.adapter??new St(this.disallowedTools),this.serverManager=e.serverManagerFactory?.(this.client)??new ai(this.client,this.adapter)}else this.adapter=e.adapter??new St(this.disallowedTools);if(this.telemetry=Rr.getInstance(),this.llm){const[r,s]=bo(this.llm);this.modelProvider=r,this.modelName=s}else this.modelProvider="unknown",this.modelName="unknown"}this.observabilityManager=new li({customCallbacks:e.callbacks,verbose:this.verbose,observe:this.observe,agentId:e.agentId,metadataProvider:$(()=>this.getMetadata(),"metadataProvider"),tagsProvider:$(()=>this.getTags(),"tagsProvider")}),Object.defineProperty(this,"agentExecutor",{get:$(()=>this._agentExecutor,"get"),configurable:!0}),Object.defineProperty(this,"tools",{get:$(()=>this._tools,"get"),configurable:!0}),Object.defineProperty(this,"initialized",{get:$(()=>this._initialized,"get"),configurable:!0})}async initialize(){if(this.isRemote){this._initialized=!0;return}if(y.info("🚀 Initializing MCP agent and connecting to services..."),this.isSimplifiedMode){if(y.info("🎯 Simplified mode: Creating client and LLM from configuration..."),this.mcpServersConfig){y.info(`Creating MCPClient with ${Object.keys(this.mcpServersConfig).length} server(s)...`);const{MCPClient:r}=await Ht(async()=>{const{MCPClient:s}=await import("./client-C_oXvQls.js");return{MCPClient:s}},__vite__mapDeps([0,1,2]));this.client=new r({mcpServers:this.mcpServersConfig}),y.info("✅ MCPClient created successfully")}if(this.llmString){y.info(`Creating LLM from string: ${this.llmString}...`);try{this.llm=await sc(this.llmString,this.llmConfig),y.info("✅ LLM created successfully");const[r,s]=bo(this.llm);this.modelProvider=r,this.modelName=s}catch(r){throw new Error(`Failed to create LLM from string '${this.llmString}': ${r?.message||r}`)}}if(this.useServerManager){if(!this.client)throw new Error("'client' must be available when 'useServerManager' is true.");this.serverManager=new ai(this.client,this.adapter)}}this.callbacks=await this.observabilityManager.getCallbacks();const e=await this.observabilityManager.getHandlerNames();if(e.length>0&&y.info(`📊 Observability enabled with: ${e.join(", ")}`),this.useServerManager&&this.serverManager){await this.serverManager.initialize();const r=this.serverManager.tools;this._tools=r,this._tools.push(...this.additionalTools),y.info(`🔧 Server manager mode active with ${r.length} management tools`),await this.createSystemMessageFromTools(this._tools)}else{if(this.client){if(this.sessions=this.client.getAllActiveSessions(),y.info(`🔌 Found ${Object.keys(this.sessions).length} existing sessions`),Object.keys(this.sessions).filter(s=>s!=="code_mode").length===0&&(y.info("🔄 No active sessions found, creating new ones..."),this.sessions=await this.client.createAllSessions(),y.info(`✅ Created ${Object.keys(this.sessions).length} new sessions`)),this.client.codeMode){const s=this.sessions.code_mode;if(s)this._tools=await this.adapter.createToolsFromConnectors([s.connector]),y.info(`🛠️ Created ${this._tools.length} code mode tools`);else throw new Error("Code mode enabled but code_mode session not found")}else{const s=await this.adapter.createToolsFromConnectors(Object.values(this.sessions).map(a=>a.connector)),o=await this.adapter.createResourcesFromConnectors(Object.values(this.sessions).map(a=>a.connector)),i=await this.adapter.createPromptsFromConnectors(Object.values(this.sessions).map(a=>a.connector));this._tools=[...s,...o,...i],y.info(`🛠️ Created ${this._tools.length} LangChain items from client: ${s.length} tools, ${o.length} resources, ${i.length} prompts`)}this._tools.push(...this.additionalTools)}else{y.info(`🔗 Connecting to ${this.connectors.length} direct connectors...`);for(const i of this.connectors)i.isClientConnected||await i.connect();const r=await this.adapter.createToolsFromConnectors(this.connectors),s=await this.adapter.createResourcesFromConnectors(this.connectors),o=await this.adapter.createPromptsFromConnectors(this.connectors);this._tools=[...r,...s,...o],this._tools.push(...this.additionalTools),y.info(`🛠️ Created ${this._tools.length} LangChain items from connectors: ${r.length} tools, ${s.length} resources, ${o.length} prompts`)}y.info(`🧰 Found ${this._tools.length} tools across all connectors`),await this.createSystemMessageFromTools(this._tools)}this._agentExecutor=this.createAgent(),this._initialized=!0;const n=this.getMCPServerInfo();Object.keys(n).length>0&&(this.setMetadata(n),y.debug(`MCP server info added to metadata: ${JSON.stringify(n)}`)),y.info("✨ Agent initialization complete")}async createSystemMessageFromTools(e){const n=this.systemPromptTemplateOverride??Kg;this.systemMessage=ac(e,n,Jg,this.useServerManager,this.disallowedTools,this.systemPrompt??void 0,this.additionalInstructions??void 0),this.memoryEnabled&&(this.conversationHistory=[this.systemMessage,...this.conversationHistory.filter(r=>!(r instanceof te))])}createAgent(){if(!this.llm)throw new Error("LLM is required to create agent");const e=this.systemMessage?.content??"You are a helpful assistant.",n=this._tools.map(o=>o.name);y.info(`🧠 Agent ready with tools: ${n.join(", ")}`);const r=[Ql({runLimit:this.maxSteps})],s=Nl({model:this.llm,tools:this._tools,systemPrompt:e,middleware:r});return y.debug(`Created agent with max_steps=${this.maxSteps} (via ModelCallLimitMiddleware) and ${this.callbacks.length} callbacks`),s}getConversationHistory(){return[...this.conversationHistory]}clearConversationHistory(){this.conversationHistory=this.memoryEnabled&&this.systemMessage?[this.systemMessage]:[]}addToHistory(e){this.memoryEnabled&&this.conversationHistory.push(e)}getSystemMessage(){return this.systemMessage}setSystemMessage(e){this.systemMessage=new te(e),this.memoryEnabled&&(this.conversationHistory=this.conversationHistory.filter(n=>!(n instanceof te)),this.conversationHistory.unshift(this.systemMessage)),this._initialized&&this._tools.length&&(this._agentExecutor=this.createAgent(),y.debug("Agent recreated with new system message"))}setDisallowedTools(e){this.disallowedTools=e,this.adapter=new St(this.disallowedTools),this._initialized&&y.debug("Agent already initialized. Changes will take effect on next initialization.")}getDisallowedTools(){return this.disallowedTools}setMetadata(e){const n=this.sanitizeMetadata(e);this.metadata={...this.metadata,...n},y.debug(`Metadata set: ${JSON.stringify(this.metadata)}`)}getMetadata(){return{...this.metadata}}setTags(e){const n=this.sanitizeTags(e);this.tags=[...new Set([...this.tags,...n])],y.debug(`Tags set: ${JSON.stringify(this.tags)}`)}getTags(){return[...this.tags]}sanitizeMetadata(e){const n={};for(const[r,s]of Object.entries(e)){if(typeof r!="string"||r.length===0){y.warn(`Invalid metadata key: ${r}. Skipping.`);continue}const o=r.replace(/[^\w-]/g,"_");if(s==null)n[o]=s;else if(typeof s=="string"||typeof s=="number"||typeof s=="boolean")n[o]=s;else if(Array.isArray(s)){const i=s.filter(a=>typeof a=="string"||typeof a=="number"||typeof a=="boolean");i.length>0&&(n[o]=i)}else if(typeof s=="object")try{const i=JSON.stringify(s);i.length>1e3?(y.warn(`Metadata value for key '${o}' is too large. Truncating.`),n[o]=`${i.substring(0,1e3)}...`):n[o]=s}catch(i){y.warn(`Failed to serialize metadata value for key '${o}': ${i}. Skipping.`)}else y.warn(`Unsupported metadata value type for key '${o}': ${typeof s}. Skipping.`)}return n}sanitizeTags(e){return e.filter(n=>typeof n=="string"&&n.length>0).map(n=>n.replace(/[^\w:-]/g,"_")).filter(n=>n.length<=50)}getMCPServerInfo(){const e={};try{if(this.client){const n=this.client.getServerNames();e.mcp_servers_count=n.length,e.mcp_server_names=n;const r={};for(const s of n)try{const o=this.client.getServerConfig(s);if(o){let i="unknown";o.command?i="command":o.url?i="http":o.ws_url&&(i="websocket"),r[s]={type:i,has_args:!!o.args,has_env:!!o.env,has_headers:!!o.headers,url:o.url||null,command:o.command||null}}}catch(o){y.warn(`Failed to get config for server '${s}': ${o}`),r[s]={type:"error",error:"config_unavailable"}}e.mcp_server_configs=r}else this.connectors&&this.connectors.length>0&&(e.mcp_servers_count=this.connectors.length,e.mcp_server_names=this.connectors.map(n=>n.publicIdentifier),e.mcp_server_types=this.connectors.map(n=>n.constructor.name))}catch(n){y.warn(`Failed to collect MCP server info: ${n}`),e.error="collection_failed"}return e}_normalizeOutput(e){try{if(typeof e=="string")return e;if(e&&typeof e=="object"&&"content"in e)return this._normalizeOutput(e.content);if(Array.isArray(e)){const n=[];for(const r of e)if(typeof r=="object"&&r!==null)"text"in r&&typeof r.text=="string"?n.push(r.text):"content"in r?n.push(this._normalizeOutput(r.content)):n.push(String(r));else{const s=r&&typeof r=="object"&&"text"in r?r.text:null;if(typeof s=="string")n.push(s);else{const o=r&&typeof r=="object"&&"content"in r?r.content:r;n.push(this._normalizeOutput(o))}}return n.join("")}return String(e)}catch{return String(e)}}_isAIMessageLike(e){if(e instanceof I)return!0;if(typeof e!="object"||e===null)return!1;const n=e;if(typeof n.getType=="function")try{const r=n.getType();if(r==="ai"||r==="assistant")return!0}catch{}if(typeof n._getType=="function")try{const r=n._getType();if(r==="ai"||r==="assistant")return!0}catch{}return"type"in n?n.type==="ai"||n.type==="assistant":"role"in n?n.role==="ai"||n.role==="assistant":!1}_messageHasToolCalls(e){return typeof e=="object"&&e!==null&&"tool_calls"in e&&Array.isArray(e.tool_calls)?e.tool_calls.length>0:!1}_isHumanMessageLike(e){if(e instanceof ee)return!0;if(typeof e!="object"||e===null)return!1;const n=e;if(typeof n.getType=="function")try{const r=n.getType();if(r==="human"||r==="user")return!0}catch{}return"type"in n&&(n.type==="human"||n.type==="user")||"role"in n&&(n.role==="human"||n.role==="user")}_isToolMessageLike(e){if(e instanceof j)return!0;if(typeof e!="object"||e===null)return!1;const n=e;if(typeof n.getType=="function")try{if(n.getType()==="tool")return!0}catch{}return"type"in n&&n.type==="tool"}_getMessageContent(e){if(e instanceof I||e&&typeof e=="object"&&"content"in e)return e.content}async _consumeAndReturn(e){for(;;){const{done:n,value:r}=await e.next();if(n)return r}}async run(e,n,r,s,o){const{query:i,maxSteps:a,manageConnector:l,externalHistory:c,outputSchema:u}=ar(e,n,r,s,o);if(this.isRemote&&this.remoteAgent)return this.remoteAgent.run(i,a,l,c,u);const h=this.stream(i,a,l,c,u);return this._consumeAndReturn(h)}async*stream(e,n,r=!0,s,o){const{query:i,maxSteps:a,manageConnector:l,externalHistory:c,outputSchema:u}=ar(e,n,r,s,o);if(this.isRemote&&this.remoteAgent)return await this.remoteAgent.run(i,a,l,c,u);let h=!1;const d=Date.now();let f=!1,p=null,m=0;try{if(l&&!this._initialized?(await this.initialize(),h=!0):!this._initialized&&this.autoInitialize&&(await this.initialize(),h=!0),!this._agentExecutor)throw new Error("MCP agent failed to initialize");if(this.useServerManager&&this.serverManager){const k=this.serverManager.tools,_=new Set(k.map(x=>x.name)),v=new Set(this._tools.map(x=>x.name));(_.size!==v.size||[..._].some(x=>!v.has(x)))&&(y.info(`🔄 Tools changed before execution, updating agent. New tools: ${[..._].join(", ")}`),this._tools=k,this._tools.push(...this.additionalTools),await this.createSystemMessageFromTools(this._tools),this._agentExecutor=this.createAgent())}const S=c??this.conversationHistory,C=[];for(const k of S)(this._isHumanMessageLike(k)||this._isAIMessageLike(k)||this._isToolMessageLike(k))&&C.push(k);const E=i.length>50?`${i.slice(0,50).replace(/\n/g," ")}...`:i.replace(/\n/g," ");y.info(`💬 Received query: '${E}'`),y.info("🏁 Starting agent execution");const b=3;let w=0;const g=[...C,new ee(i)];for(;w<=b;){const k={messages:g};let _=!1;const v=await this._agentExecutor.stream(k,{streamMode:"updates",callbacks:this.callbacks,metadata:this.getMetadata(),tags:this.getTags(),runName:this.metadata.trace_name||"mcp-use-agent",recursionLimit:this.maxSteps*3,...this.metadata.session_id&&{sessionId:this.metadata.session_id}});for await(const x of v){for(const[T,M]of Object.entries(x))if(y.debug(`📦 Node '${T}' output: ${JSON.stringify(M)}`),M&&typeof M=="object"&&"messages"in M){let P=M.messages;Array.isArray(P)||(P=[P]);for(const N of P)g.includes(N)||g.push(N);for(const N of P){if("tool_calls"in N&&Array.isArray(N.tool_calls)&&N.tool_calls.length>0)for(const oe of N.tool_calls){const ae=oe.name||"unknown",Ce=oe.args||{};this.toolsUsedNames.push(ae),m++;let Pe=JSON.stringify(Ce);Pe.length>100&&(Pe=`${Pe.slice(0,97)}...`),y.info(`🔧 Tool call: ${ae} with input: ${Pe}`),yield{action:{tool:ae,toolInput:Ce,log:`Calling tool ${ae}`},observation:""}}if(this._isToolMessageLike(N)){const oe=N.content;let ae=String(oe);if(ae.length>100&&(ae=`${ae.slice(0,97)}...`),ae=ae.replace(/\n/g," "),y.info(`📄 Tool result: ${ae}`),this.useServerManager&&this.serverManager){const Ce=this.serverManager.tools,Pe=new Set(Ce.map(nn=>nn.name)),Nn=new Set(this._tools.map(nn=>nn.name));if(Pe.size!==Nn.size||[...Pe].some(nn=>!Nn.has(nn))){y.info(`🔄 Tools changed during execution. New tools: ${[...Pe].join(", ")}`),this._tools=Ce,this._tools.push(...this.additionalTools),await this.createSystemMessageFromTools(this._tools),this._agentExecutor=this.createAgent(),_=!0,w++,y.info(`🔃 Restarting execution with updated tools (restart ${w}/${b})`);break}}}this._isAIMessageLike(N)&&!this._messageHasToolCalls(N)&&(p=this._normalizeOutput(this._getMessageContent(N)),y.info("✅ Agent finished with output"))}if(_)break}if(_)break}if(!_)break;if(w>b){y.warn(`⚠️ Max restarts (${b}) reached. Continuing with current tools.`);break}}if(this.memoryEnabled){const k=g.slice(C.length);for(const _ of k)this.addToHistory(_)}if(u&&p)try{y.info("🔧 Attempting structured output...");const k=await this._attemptStructuredOutput(p,this.llm,u);return this.memoryEnabled&&this.addToHistory(new I(`Structured result: ${JSON.stringify(k)}`)),y.info("✅ Structured output successful"),f=!0,k}catch(k){throw y.error(`❌ Structured output failed: ${k}`),new Error(`Failed to generate structured output: ${k instanceof Error?k.message:String(k)}`)}return y.info(`🎉 Agent execution complete in ${((Date.now()-d)/1e3).toFixed(2)} seconds`),f=!0,p||"No output generated"}catch(S){throw y.error(`❌ Error running query: ${S}`),h&&l&&(y.info("🧹 Cleaning up resources after error"),await this.close()),S}finally{const S=Date.now()-d;let C=0;this.client?C=Object.keys(this.client.getAllActiveSessions()).length:this.connectors&&(C=this.connectors.length);const E=this.memoryEnabled?this.conversationHistory.length:0,b=this._tools||[];await this.telemetry.trackAgentExecution({executionMethod:"stream",query:i,success:f,modelProvider:this.modelProvider,modelName:this.modelName,serverCount:C,serverIdentifiers:this.connectors.map(w=>w.publicIdentifier),totalToolsAvailable:b.length,toolsAvailableNames:b.map(w=>w.name),maxStepsConfigured:this.maxSteps,memoryEnabled:this.memoryEnabled,useServerManager:this.useServerManager,maxStepsUsed:a??null,manageConnector:l??!0,externalHistoryUsed:c!==void 0,stepsTaken:m,toolsUsedCount:this.toolsUsedNames.length,toolsUsedNames:this.toolsUsedNames,response:p||"",executionTimeMs:S,errorType:f?null:"execution_error",conversationHistoryLength:E}),l&&!this.client&&h&&(y.info("🧹 Closing agent after stream completion"),await this.close())}}async flush(){this.isRemote&&this.remoteAgent||(y.debug("Flushing observability traces..."),await this.observabilityManager.flush())}async close(){if(this.isRemote&&this.remoteAgent){await this.remoteAgent.close();return}y.info("🔌 Closing MCPAgent resources…"),await this.observabilityManager.shutdown();try{if(this._agentExecutor=null,this._tools=[],this.client)this.clientOwnedByAgent?(y.info("🔄 Closing internally-created client (simplified mode) and cleaning up resources"),await this.client.close(),this.sessions={},this.client=void 0):(y.info("🔄 Closing client and cleaning up resources"),await this.client.close(),this.sessions={});else for(const e of this.connectors)y.info("🔄 Disconnecting connector"),await e.disconnect();this.isSimplifiedMode&&this.llm&&(y.debug("🔄 Clearing LLM reference (simplified mode)"),this.llm=void 0),"connectorToolMap"in this.adapter&&(this.adapter=new St)}finally{this._initialized=!1,y.info("👋 Agent closed successfully")}}async*prettyStreamEvents(e,n,r=!0,s,o){const{prettyStreamEvents:i}=await Ht(async()=>{const{prettyStreamEvents:l}=await import("./display-A5IEINAP-jFT1ZrZv.js");return{prettyStreamEvents:l}},__vite__mapDeps([3,1,2])),a="";for await(const l of i(this.streamEvents(e,n,r,s,o)))yield;return a}async*streamEvents(e,n,r=!0,s,o){const i=ar(e,n,r,s,o);let{query:a}=i;const{maxSteps:l,manageConnector:c,externalHistory:u,outputSchema:h}=i;let d=!1;const f=Date.now();let p=!1,m=0,S=0,C="";h&&(a=this._enhanceQueryWithSchema(a,h));try{c&&!this._initialized?(await this.initialize(),d=!0):!this._initialized&&this.autoInitialize&&(await this.initialize(),d=!0);const E=this._agentExecutor;if(!E)throw new Error("MCP agent failed to initialize");this.maxSteps=l??this.maxSteps;const b=typeof a=="string"&&a.length>50?`${a.slice(0,50).replace(/\n/g," ")}...`:typeof a=="string"?a.replace(/\n/g," "):String(a);y.info(`💬 Received query for streamEvents: '${b}'`),this.memoryEnabled&&(y.info(`🔄 Adding user message to history: ${b}`),this.addToHistory(new ee({content:a})));const w=u??this.conversationHistory,g=[];for(const v of w)this._isHumanMessageLike(v)||this._isAIMessageLike(v)||this._isToolMessageLike(v)?g.push(v):y.info(`⚠️ Skipped message of type: ${v.constructor?.name||typeof v}`);const k=[...g,new ee(a)];y.info("callbacks",this.callbacks);const _=E.streamEvents({messages:k},{streamMode:"messages",version:"v2",callbacks:this.callbacks,metadata:this.getMetadata(),tags:this.getTags(),runName:this.metadata.trace_name||"mcp-use-agent",recursionLimit:this.maxSteps*3,...this.metadata.session_id&&{sessionId:this.metadata.session_id}});for await(const v of _)if(m++,!(!v||typeof v!="object")){if(v.event==="on_chat_model_stream"&&v.data?.chunk?.content&&(S+=v.data.chunk.content.length),v.event==="on_chat_model_stream"&&v.data?.chunk){const x=v.data.chunk;if(x.content){C||(C="");const T=this._normalizeOutput(x.content);C+=T,y.debug(`📝 Accumulated response length: ${C.length}`)}}if(yield v,v.event==="on_chain_end"&&v.data?.output&&!C){const x=v.data.output;Array.isArray(x)&&x.length>0&&x[0]?.text?C=x[0].text:typeof x=="string"?C=x:x&&typeof x=="object"&&"output"in x&&(C=x.output)}}if(h&&C){y.info("🔧 Attempting structured output conversion...");try{let v=!1,x=null,T=null;this._attemptStructuredOutput(C,this.llm,h).then(P=>(v=!0,x=P,P)).catch(P=>{throw v=!0,T=P,P});let M=0;for(;!v;)await new Promise(P=>setTimeout(P,2e3)),v||(M++,yield{event:"on_structured_output_progress",data:{message:`Converting to structured output... (${M*2}s)`,elapsed:M*2}});if(T)throw T;x&&(yield{event:"on_structured_output",data:{output:x}},this.memoryEnabled&&this.addToHistory(new I(`Structured result: ${JSON.stringify(x)}`)),y.info("✅ Structured output successful"))}catch(v){y.warn(`⚠️ Structured output failed: ${v}`),yield{event:"on_structured_output_error",data:{error:v instanceof Error?v.message:String(v)}}}}else this.memoryEnabled&&C&&this.addToHistory(new I(C));console.log(`
|
|
390
|
+
`;function ar(t,e,n,r,s){if(typeof t=="object"&&t!==null){const o=t;return{query:o.prompt,maxSteps:o.maxSteps,manageConnector:o.manageConnector,externalHistory:o.externalHistory,outputSchema:o.schema}}return{query:t,maxSteps:e,manageConnector:n,externalHistory:r,outputSchema:s}}$(ar,"normalizeRunOptions");var Wt,iy=(Wt=class{static getPackageVersion(){return gc()}llm;client;connectors;maxSteps;autoInitialize;memoryEnabled;disallowedTools;additionalTools;toolsUsedNames=[];useServerManager;verbose;observe;systemPrompt;systemPromptTemplateOverride;additionalInstructions;_initialized=!1;conversationHistory=[];_agentExecutor=null;sessions={};systemMessage=null;_tools=[];adapter;serverManager=null;telemetry;modelProvider;modelName;observabilityManager;callbacks=[];metadata={};tags=[];isRemote=!1;remoteAgent=null;isSimplifiedMode=!1;llmString;llmConfig;mcpServersConfig;clientOwnedByAgent=!1;constructor(e){if(e.agentId){this.isRemote=!0,this.remoteAgent=new Wg({agentId:e.agentId,apiKey:e.apiKey,baseUrl:e.baseUrl}),this.maxSteps=e.maxSteps??5,this.memoryEnabled=e.memoryEnabled??!0,this.autoInitialize=e.autoInitialize??!1,this.verbose=e.verbose??!1,this.observe=e.observe??!0,this.connectors=[],this.disallowedTools=[],this.additionalTools=[],this.useServerManager=!1,this.adapter=new St,this.telemetry=Rr.getInstance(),this.modelProvider="remote",this.modelName="remote-agent",this.observabilityManager=new li({customCallbacks:e.callbacks,agentId:e.agentId}),this.callbacks=[];return}if(!e.llm)throw new Error("llm is required for local execution. For remote execution, provide agentId instead.");if(typeof e.llm=="string"){if(this.isSimplifiedMode=!0,this.llmString=e.llm,this.llmConfig=e.llmConfig,this.mcpServersConfig=e.mcpServers,!this.mcpServersConfig||Object.keys(this.mcpServersConfig).length===0)throw new Error("Simplified mode requires 'mcpServers' configuration. Provide an object with server configurations, e.g., { filesystem: { command: 'npx', args: [...] } }");this.llm=void 0,this.client=void 0,this.clientOwnedByAgent=!0,this.connectors=[],y.info(`🎯 Simplified mode enabled: LLM will be created from '${this.llmString}'`)}else if(this.isSimplifiedMode=!1,this.llm=e.llm,this.client=e.client,this.connectors=e.connectors??[],this.clientOwnedByAgent=!1,!this.client&&this.connectors.length===0)throw new Error("Explicit mode requires either 'client' or at least one 'connector'. Alternatively, use simplified mode with 'llm' as a string and 'mcpServers' config.");if(this.maxSteps=e.maxSteps??5,this.autoInitialize=e.autoInitialize??!1,this.memoryEnabled=e.memoryEnabled??!0,this.systemPrompt=e.systemPrompt??null,this.systemPromptTemplateOverride=e.systemPromptTemplate??null,this.additionalInstructions=e.additionalInstructions??null,this.disallowedTools=e.disallowedTools??[],this.additionalTools=e.additionalTools??[],this.toolsUsedNames=e.toolsUsedNames??[],this.useServerManager=e.useServerManager??!1,this.verbose=e.verbose??!1,this.observe=e.observe??!0,this.isSimplifiedMode)this.adapter=e.adapter??new St(this.disallowedTools),this.telemetry=Rr.getInstance(),this.modelProvider="unknown",this.modelName="unknown";else{if(this.useServerManager){if(!this.client)throw new Error("'client' must be provided when 'useServerManager' is true.");this.adapter=e.adapter??new St(this.disallowedTools),this.serverManager=e.serverManagerFactory?.(this.client)??new ai(this.client,this.adapter)}else this.adapter=e.adapter??new St(this.disallowedTools);if(this.telemetry=Rr.getInstance(),this.llm){const[r,s]=bo(this.llm);this.modelProvider=r,this.modelName=s}else this.modelProvider="unknown",this.modelName="unknown"}this.observabilityManager=new li({customCallbacks:e.callbacks,verbose:this.verbose,observe:this.observe,agentId:e.agentId,metadataProvider:$(()=>this.getMetadata(),"metadataProvider"),tagsProvider:$(()=>this.getTags(),"tagsProvider")}),Object.defineProperty(this,"agentExecutor",{get:$(()=>this._agentExecutor,"get"),configurable:!0}),Object.defineProperty(this,"tools",{get:$(()=>this._tools,"get"),configurable:!0}),Object.defineProperty(this,"initialized",{get:$(()=>this._initialized,"get"),configurable:!0})}async initialize(){if(this.isRemote){this._initialized=!0;return}if(y.info("🚀 Initializing MCP agent and connecting to services..."),this.isSimplifiedMode){if(y.info("🎯 Simplified mode: Creating client and LLM from configuration..."),this.mcpServersConfig){y.info(`Creating MCPClient with ${Object.keys(this.mcpServersConfig).length} server(s)...`);const{MCPClient:r}=await Ht(async()=>{const{MCPClient:s}=await import("./client-CsMGnuwC.js");return{MCPClient:s}},__vite__mapDeps([0,1,2]));this.client=new r({mcpServers:this.mcpServersConfig}),y.info("✅ MCPClient created successfully")}if(this.llmString){y.info(`Creating LLM from string: ${this.llmString}...`);try{this.llm=await sc(this.llmString,this.llmConfig),y.info("✅ LLM created successfully");const[r,s]=bo(this.llm);this.modelProvider=r,this.modelName=s}catch(r){throw new Error(`Failed to create LLM from string '${this.llmString}': ${r?.message||r}`)}}if(this.useServerManager){if(!this.client)throw new Error("'client' must be available when 'useServerManager' is true.");this.serverManager=new ai(this.client,this.adapter)}}this.callbacks=await this.observabilityManager.getCallbacks();const e=await this.observabilityManager.getHandlerNames();if(e.length>0&&y.info(`📊 Observability enabled with: ${e.join(", ")}`),this.useServerManager&&this.serverManager){await this.serverManager.initialize();const r=this.serverManager.tools;this._tools=r,this._tools.push(...this.additionalTools),y.info(`🔧 Server manager mode active with ${r.length} management tools`),await this.createSystemMessageFromTools(this._tools)}else{if(this.client){if(this.sessions=this.client.getAllActiveSessions(),y.info(`🔌 Found ${Object.keys(this.sessions).length} existing sessions`),Object.keys(this.sessions).filter(s=>s!=="code_mode").length===0&&(y.info("🔄 No active sessions found, creating new ones..."),this.sessions=await this.client.createAllSessions(),y.info(`✅ Created ${Object.keys(this.sessions).length} new sessions`)),this.client.codeMode){const s=this.sessions.code_mode;if(s)this._tools=await this.adapter.createToolsFromConnectors([s.connector]),y.info(`🛠️ Created ${this._tools.length} code mode tools`);else throw new Error("Code mode enabled but code_mode session not found")}else{const s=await this.adapter.createToolsFromConnectors(Object.values(this.sessions).map(a=>a.connector)),o=await this.adapter.createResourcesFromConnectors(Object.values(this.sessions).map(a=>a.connector)),i=await this.adapter.createPromptsFromConnectors(Object.values(this.sessions).map(a=>a.connector));this._tools=[...s,...o,...i],y.info(`🛠️ Created ${this._tools.length} LangChain items from client: ${s.length} tools, ${o.length} resources, ${i.length} prompts`)}this._tools.push(...this.additionalTools)}else{y.info(`🔗 Connecting to ${this.connectors.length} direct connectors...`);for(const i of this.connectors)i.isClientConnected||await i.connect();const r=await this.adapter.createToolsFromConnectors(this.connectors),s=await this.adapter.createResourcesFromConnectors(this.connectors),o=await this.adapter.createPromptsFromConnectors(this.connectors);this._tools=[...r,...s,...o],this._tools.push(...this.additionalTools),y.info(`🛠️ Created ${this._tools.length} LangChain items from connectors: ${r.length} tools, ${s.length} resources, ${o.length} prompts`)}y.info(`🧰 Found ${this._tools.length} tools across all connectors`),await this.createSystemMessageFromTools(this._tools)}this._agentExecutor=this.createAgent(),this._initialized=!0;const n=this.getMCPServerInfo();Object.keys(n).length>0&&(this.setMetadata(n),y.debug(`MCP server info added to metadata: ${JSON.stringify(n)}`)),y.info("✨ Agent initialization complete")}async createSystemMessageFromTools(e){const n=this.systemPromptTemplateOverride??Kg;this.systemMessage=ac(e,n,Jg,this.useServerManager,this.disallowedTools,this.systemPrompt??void 0,this.additionalInstructions??void 0),this.memoryEnabled&&(this.conversationHistory=[this.systemMessage,...this.conversationHistory.filter(r=>!(r instanceof te))])}createAgent(){if(!this.llm)throw new Error("LLM is required to create agent");const e=this.systemMessage?.content??"You are a helpful assistant.",n=this._tools.map(o=>o.name);y.info(`🧠 Agent ready with tools: ${n.join(", ")}`);const r=[Ql({runLimit:this.maxSteps})],s=Nl({model:this.llm,tools:this._tools,systemPrompt:e,middleware:r});return y.debug(`Created agent with max_steps=${this.maxSteps} (via ModelCallLimitMiddleware) and ${this.callbacks.length} callbacks`),s}getConversationHistory(){return[...this.conversationHistory]}clearConversationHistory(){this.conversationHistory=this.memoryEnabled&&this.systemMessage?[this.systemMessage]:[]}addToHistory(e){this.memoryEnabled&&this.conversationHistory.push(e)}getSystemMessage(){return this.systemMessage}setSystemMessage(e){this.systemMessage=new te(e),this.memoryEnabled&&(this.conversationHistory=this.conversationHistory.filter(n=>!(n instanceof te)),this.conversationHistory.unshift(this.systemMessage)),this._initialized&&this._tools.length&&(this._agentExecutor=this.createAgent(),y.debug("Agent recreated with new system message"))}setDisallowedTools(e){this.disallowedTools=e,this.adapter=new St(this.disallowedTools),this._initialized&&y.debug("Agent already initialized. Changes will take effect on next initialization.")}getDisallowedTools(){return this.disallowedTools}setMetadata(e){const n=this.sanitizeMetadata(e);this.metadata={...this.metadata,...n},y.debug(`Metadata set: ${JSON.stringify(this.metadata)}`)}getMetadata(){return{...this.metadata}}setTags(e){const n=this.sanitizeTags(e);this.tags=[...new Set([...this.tags,...n])],y.debug(`Tags set: ${JSON.stringify(this.tags)}`)}getTags(){return[...this.tags]}sanitizeMetadata(e){const n={};for(const[r,s]of Object.entries(e)){if(typeof r!="string"||r.length===0){y.warn(`Invalid metadata key: ${r}. Skipping.`);continue}const o=r.replace(/[^\w-]/g,"_");if(s==null)n[o]=s;else if(typeof s=="string"||typeof s=="number"||typeof s=="boolean")n[o]=s;else if(Array.isArray(s)){const i=s.filter(a=>typeof a=="string"||typeof a=="number"||typeof a=="boolean");i.length>0&&(n[o]=i)}else if(typeof s=="object")try{const i=JSON.stringify(s);i.length>1e3?(y.warn(`Metadata value for key '${o}' is too large. Truncating.`),n[o]=`${i.substring(0,1e3)}...`):n[o]=s}catch(i){y.warn(`Failed to serialize metadata value for key '${o}': ${i}. Skipping.`)}else y.warn(`Unsupported metadata value type for key '${o}': ${typeof s}. Skipping.`)}return n}sanitizeTags(e){return e.filter(n=>typeof n=="string"&&n.length>0).map(n=>n.replace(/[^\w:-]/g,"_")).filter(n=>n.length<=50)}getMCPServerInfo(){const e={};try{if(this.client){const n=this.client.getServerNames();e.mcp_servers_count=n.length,e.mcp_server_names=n;const r={};for(const s of n)try{const o=this.client.getServerConfig(s);if(o){let i="unknown";o.command?i="command":o.url?i="http":o.ws_url&&(i="websocket"),r[s]={type:i,has_args:!!o.args,has_env:!!o.env,has_headers:!!o.headers,url:o.url||null,command:o.command||null}}}catch(o){y.warn(`Failed to get config for server '${s}': ${o}`),r[s]={type:"error",error:"config_unavailable"}}e.mcp_server_configs=r}else this.connectors&&this.connectors.length>0&&(e.mcp_servers_count=this.connectors.length,e.mcp_server_names=this.connectors.map(n=>n.publicIdentifier),e.mcp_server_types=this.connectors.map(n=>n.constructor.name))}catch(n){y.warn(`Failed to collect MCP server info: ${n}`),e.error="collection_failed"}return e}_normalizeOutput(e){try{if(typeof e=="string")return e;if(e&&typeof e=="object"&&"content"in e)return this._normalizeOutput(e.content);if(Array.isArray(e)){const n=[];for(const r of e)if(typeof r=="object"&&r!==null)"text"in r&&typeof r.text=="string"?n.push(r.text):"content"in r?n.push(this._normalizeOutput(r.content)):n.push(String(r));else{const s=r&&typeof r=="object"&&"text"in r?r.text:null;if(typeof s=="string")n.push(s);else{const o=r&&typeof r=="object"&&"content"in r?r.content:r;n.push(this._normalizeOutput(o))}}return n.join("")}return String(e)}catch{return String(e)}}_isAIMessageLike(e){if(e instanceof I)return!0;if(typeof e!="object"||e===null)return!1;const n=e;if(typeof n.getType=="function")try{const r=n.getType();if(r==="ai"||r==="assistant")return!0}catch{}if(typeof n._getType=="function")try{const r=n._getType();if(r==="ai"||r==="assistant")return!0}catch{}return"type"in n?n.type==="ai"||n.type==="assistant":"role"in n?n.role==="ai"||n.role==="assistant":!1}_messageHasToolCalls(e){return typeof e=="object"&&e!==null&&"tool_calls"in e&&Array.isArray(e.tool_calls)?e.tool_calls.length>0:!1}_isHumanMessageLike(e){if(e instanceof ee)return!0;if(typeof e!="object"||e===null)return!1;const n=e;if(typeof n.getType=="function")try{const r=n.getType();if(r==="human"||r==="user")return!0}catch{}return"type"in n&&(n.type==="human"||n.type==="user")||"role"in n&&(n.role==="human"||n.role==="user")}_isToolMessageLike(e){if(e instanceof j)return!0;if(typeof e!="object"||e===null)return!1;const n=e;if(typeof n.getType=="function")try{if(n.getType()==="tool")return!0}catch{}return"type"in n&&n.type==="tool"}_getMessageContent(e){if(e instanceof I||e&&typeof e=="object"&&"content"in e)return e.content}async _consumeAndReturn(e){for(;;){const{done:n,value:r}=await e.next();if(n)return r}}async run(e,n,r,s,o){const{query:i,maxSteps:a,manageConnector:l,externalHistory:c,outputSchema:u}=ar(e,n,r,s,o);if(this.isRemote&&this.remoteAgent)return this.remoteAgent.run(i,a,l,c,u);const h=this.stream(i,a,l,c,u);return this._consumeAndReturn(h)}async*stream(e,n,r=!0,s,o){const{query:i,maxSteps:a,manageConnector:l,externalHistory:c,outputSchema:u}=ar(e,n,r,s,o);if(this.isRemote&&this.remoteAgent)return await this.remoteAgent.run(i,a,l,c,u);let h=!1;const d=Date.now();let f=!1,p=null,m=0;try{if(l&&!this._initialized?(await this.initialize(),h=!0):!this._initialized&&this.autoInitialize&&(await this.initialize(),h=!0),!this._agentExecutor)throw new Error("MCP agent failed to initialize");if(this.useServerManager&&this.serverManager){const k=this.serverManager.tools,_=new Set(k.map(x=>x.name)),v=new Set(this._tools.map(x=>x.name));(_.size!==v.size||[..._].some(x=>!v.has(x)))&&(y.info(`🔄 Tools changed before execution, updating agent. New tools: ${[..._].join(", ")}`),this._tools=k,this._tools.push(...this.additionalTools),await this.createSystemMessageFromTools(this._tools),this._agentExecutor=this.createAgent())}const S=c??this.conversationHistory,C=[];for(const k of S)(this._isHumanMessageLike(k)||this._isAIMessageLike(k)||this._isToolMessageLike(k))&&C.push(k);const E=i.length>50?`${i.slice(0,50).replace(/\n/g," ")}...`:i.replace(/\n/g," ");y.info(`💬 Received query: '${E}'`),y.info("🏁 Starting agent execution");const b=3;let w=0;const g=[...C,new ee(i)];for(;w<=b;){const k={messages:g};let _=!1;const v=await this._agentExecutor.stream(k,{streamMode:"updates",callbacks:this.callbacks,metadata:this.getMetadata(),tags:this.getTags(),runName:this.metadata.trace_name||"mcp-use-agent",recursionLimit:this.maxSteps*3,...this.metadata.session_id&&{sessionId:this.metadata.session_id}});for await(const x of v){for(const[T,M]of Object.entries(x))if(y.debug(`📦 Node '${T}' output: ${JSON.stringify(M)}`),M&&typeof M=="object"&&"messages"in M){let P=M.messages;Array.isArray(P)||(P=[P]);for(const N of P)g.includes(N)||g.push(N);for(const N of P){if("tool_calls"in N&&Array.isArray(N.tool_calls)&&N.tool_calls.length>0)for(const oe of N.tool_calls){const ae=oe.name||"unknown",Ce=oe.args||{};this.toolsUsedNames.push(ae),m++;let Pe=JSON.stringify(Ce);Pe.length>100&&(Pe=`${Pe.slice(0,97)}...`),y.info(`🔧 Tool call: ${ae} with input: ${Pe}`),yield{action:{tool:ae,toolInput:Ce,log:`Calling tool ${ae}`},observation:""}}if(this._isToolMessageLike(N)){const oe=N.content;let ae=String(oe);if(ae.length>100&&(ae=`${ae.slice(0,97)}...`),ae=ae.replace(/\n/g," "),y.info(`📄 Tool result: ${ae}`),this.useServerManager&&this.serverManager){const Ce=this.serverManager.tools,Pe=new Set(Ce.map(nn=>nn.name)),Nn=new Set(this._tools.map(nn=>nn.name));if(Pe.size!==Nn.size||[...Pe].some(nn=>!Nn.has(nn))){y.info(`🔄 Tools changed during execution. New tools: ${[...Pe].join(", ")}`),this._tools=Ce,this._tools.push(...this.additionalTools),await this.createSystemMessageFromTools(this._tools),this._agentExecutor=this.createAgent(),_=!0,w++,y.info(`🔃 Restarting execution with updated tools (restart ${w}/${b})`);break}}}this._isAIMessageLike(N)&&!this._messageHasToolCalls(N)&&(p=this._normalizeOutput(this._getMessageContent(N)),y.info("✅ Agent finished with output"))}if(_)break}if(_)break}if(!_)break;if(w>b){y.warn(`⚠️ Max restarts (${b}) reached. Continuing with current tools.`);break}}if(this.memoryEnabled){const k=g.slice(C.length);for(const _ of k)this.addToHistory(_)}if(u&&p)try{y.info("🔧 Attempting structured output...");const k=await this._attemptStructuredOutput(p,this.llm,u);return this.memoryEnabled&&this.addToHistory(new I(`Structured result: ${JSON.stringify(k)}`)),y.info("✅ Structured output successful"),f=!0,k}catch(k){throw y.error(`❌ Structured output failed: ${k}`),new Error(`Failed to generate structured output: ${k instanceof Error?k.message:String(k)}`)}return y.info(`🎉 Agent execution complete in ${((Date.now()-d)/1e3).toFixed(2)} seconds`),f=!0,p||"No output generated"}catch(S){throw y.error(`❌ Error running query: ${S}`),h&&l&&(y.info("🧹 Cleaning up resources after error"),await this.close()),S}finally{const S=Date.now()-d;let C=0;this.client?C=Object.keys(this.client.getAllActiveSessions()).length:this.connectors&&(C=this.connectors.length);const E=this.memoryEnabled?this.conversationHistory.length:0,b=this._tools||[];await this.telemetry.trackAgentExecution({executionMethod:"stream",query:i,success:f,modelProvider:this.modelProvider,modelName:this.modelName,serverCount:C,serverIdentifiers:this.connectors.map(w=>w.publicIdentifier),totalToolsAvailable:b.length,toolsAvailableNames:b.map(w=>w.name),maxStepsConfigured:this.maxSteps,memoryEnabled:this.memoryEnabled,useServerManager:this.useServerManager,maxStepsUsed:a??null,manageConnector:l??!0,externalHistoryUsed:c!==void 0,stepsTaken:m,toolsUsedCount:this.toolsUsedNames.length,toolsUsedNames:this.toolsUsedNames,response:p||"",executionTimeMs:S,errorType:f?null:"execution_error",conversationHistoryLength:E}),l&&!this.client&&h&&(y.info("🧹 Closing agent after stream completion"),await this.close())}}async flush(){this.isRemote&&this.remoteAgent||(y.debug("Flushing observability traces..."),await this.observabilityManager.flush())}async close(){if(this.isRemote&&this.remoteAgent){await this.remoteAgent.close();return}y.info("🔌 Closing MCPAgent resources…"),await this.observabilityManager.shutdown();try{if(this._agentExecutor=null,this._tools=[],this.client)this.clientOwnedByAgent?(y.info("🔄 Closing internally-created client (simplified mode) and cleaning up resources"),await this.client.close(),this.sessions={},this.client=void 0):(y.info("🔄 Closing client and cleaning up resources"),await this.client.close(),this.sessions={});else for(const e of this.connectors)y.info("🔄 Disconnecting connector"),await e.disconnect();this.isSimplifiedMode&&this.llm&&(y.debug("🔄 Clearing LLM reference (simplified mode)"),this.llm=void 0),"connectorToolMap"in this.adapter&&(this.adapter=new St)}finally{this._initialized=!1,y.info("👋 Agent closed successfully")}}async*prettyStreamEvents(e,n,r=!0,s,o){const{prettyStreamEvents:i}=await Ht(async()=>{const{prettyStreamEvents:l}=await import("./display-A5IEINAP-D8OCMEUd.js");return{prettyStreamEvents:l}},__vite__mapDeps([3,1,2])),a="";for await(const l of i(this.streamEvents(e,n,r,s,o)))yield;return a}async*streamEvents(e,n,r=!0,s,o){const i=ar(e,n,r,s,o);let{query:a}=i;const{maxSteps:l,manageConnector:c,externalHistory:u,outputSchema:h}=i;let d=!1;const f=Date.now();let p=!1,m=0,S=0,C="";h&&(a=this._enhanceQueryWithSchema(a,h));try{c&&!this._initialized?(await this.initialize(),d=!0):!this._initialized&&this.autoInitialize&&(await this.initialize(),d=!0);const E=this._agentExecutor;if(!E)throw new Error("MCP agent failed to initialize");this.maxSteps=l??this.maxSteps;const b=typeof a=="string"&&a.length>50?`${a.slice(0,50).replace(/\n/g," ")}...`:typeof a=="string"?a.replace(/\n/g," "):String(a);y.info(`💬 Received query for streamEvents: '${b}'`),this.memoryEnabled&&(y.info(`🔄 Adding user message to history: ${b}`),this.addToHistory(new ee({content:a})));const w=u??this.conversationHistory,g=[];for(const v of w)this._isHumanMessageLike(v)||this._isAIMessageLike(v)||this._isToolMessageLike(v)?g.push(v):y.info(`⚠️ Skipped message of type: ${v.constructor?.name||typeof v}`);const k=[...g,new ee(a)];y.info("callbacks",this.callbacks);const _=E.streamEvents({messages:k},{streamMode:"messages",version:"v2",callbacks:this.callbacks,metadata:this.getMetadata(),tags:this.getTags(),runName:this.metadata.trace_name||"mcp-use-agent",recursionLimit:this.maxSteps*3,...this.metadata.session_id&&{sessionId:this.metadata.session_id}});for await(const v of _)if(m++,!(!v||typeof v!="object")){if(v.event==="on_chat_model_stream"&&v.data?.chunk?.content&&(S+=v.data.chunk.content.length),v.event==="on_chat_model_stream"&&v.data?.chunk){const x=v.data.chunk;if(x.content){C||(C="");const T=this._normalizeOutput(x.content);C+=T,y.debug(`📝 Accumulated response length: ${C.length}`)}}if(yield v,v.event==="on_chain_end"&&v.data?.output&&!C){const x=v.data.output;Array.isArray(x)&&x.length>0&&x[0]?.text?C=x[0].text:typeof x=="string"?C=x:x&&typeof x=="object"&&"output"in x&&(C=x.output)}}if(h&&C){y.info("🔧 Attempting structured output conversion...");try{let v=!1,x=null,T=null;this._attemptStructuredOutput(C,this.llm,h).then(P=>(v=!0,x=P,P)).catch(P=>{throw v=!0,T=P,P});let M=0;for(;!v;)await new Promise(P=>setTimeout(P,2e3)),v||(M++,yield{event:"on_structured_output_progress",data:{message:`Converting to structured output... (${M*2}s)`,elapsed:M*2}});if(T)throw T;x&&(yield{event:"on_structured_output",data:{output:x}},this.memoryEnabled&&this.addToHistory(new I(`Structured result: ${JSON.stringify(x)}`)),y.info("✅ Structured output successful"))}catch(v){y.warn(`⚠️ Structured output failed: ${v}`),yield{event:"on_structured_output_error",data:{error:v instanceof Error?v.message:String(v)}}}}else this.memoryEnabled&&C&&this.addToHistory(new I(C));console.log(`
|
|
391
391
|
|
|
392
392
|
`),y.info(`🎉 StreamEvents complete - ${m} events emitted`),p=!0}catch(E){throw y.error(`❌ Error during streamEvents: ${E}`),d&&c&&(y.info("🧹 Cleaning up resources after initialization error in streamEvents"),await this.close()),E}finally{const E=Date.now()-f;let b=0;this.client?b=Object.keys(this.client.getAllActiveSessions()).length:this.connectors&&(b=this.connectors.length);const w=this.memoryEnabled?this.conversationHistory.length:0;await this.telemetry.trackAgentExecution({executionMethod:"streamEvents",query:a,success:p,modelProvider:this.modelProvider,modelName:this.modelName,serverCount:b,serverIdentifiers:this.connectors.map(g=>g.publicIdentifier),totalToolsAvailable:this._tools.length,toolsAvailableNames:this._tools.map(g=>g.name),maxStepsConfigured:this.maxSteps,memoryEnabled:this.memoryEnabled,useServerManager:this.useServerManager,maxStepsUsed:l??null,manageConnector:c??!0,externalHistoryUsed:u!==void 0,response:`[STREAMED RESPONSE - ${S} chars]`,executionTimeMs:E,errorType:p?null:"streaming_error",conversationHistoryLength:w}),c&&!this.client&&d&&(y.info("🧹 Closing agent after streamEvents completion"),await this.close())}}async _attemptStructuredOutput(e,n,r){y.info(`🔄 Attempting structured output with schema: ${JSON.stringify(r,null,2)}`),y.info(`🔄 Raw result: ${JSON.stringify(e,null,2)}`);let s=null,o="";if(y.debug(`🔄 Structured output requested, schema: ${JSON.stringify(Vn(r),null,2)}`),n&&"withStructuredOutput"in n&&typeof n.withStructuredOutput=="function")s=n.withStructuredOutput(r);else if(n)s=n;else throw new Error("LLM is required for structured output");const i=Vn(r),{$schema:a,additionalProperties:l,...c}=i;o=JSON.stringify(c,null,2),y.info(`🔄 Schema description: ${o}`);let u="";typeof e=="string"?u=e:e&&typeof e=="object"&&(u=JSON.stringify(e)),y.info("rawResult",e),u||(u=JSON.stringify(e));const h=3;let d="";for(let f=1;f<=h;f++){y.info(`🔄 Structured output attempt ${f}/${h}`);let p=`
|
|
393
393
|
Please format the following information according to the EXACT schema specified below.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{bj as me,_ as w,bk as Y,bl as We,bm as ze,bn as Ge,bo as _e,bp as Ye,bq as m,br as Xe,bs as Ze,a as Qe,bt as et,bu as re,bv as tt}from"./index-BAVnedrl.js";var O,nt=(O=class extends me{mcpClient;_tools;constructor(e){super(),this.mcpClient=e,this.connected=!0,this._tools=this._createToolsList()}async connect(){this.connected=!0}async disconnect(){this.connected=!1}get publicIdentifier(){return{name:"code_mode",version:"1.0.0"}}_createToolsList(){return[{name:"execute_code",description:"Execute JavaScript/TypeScript code with access to MCP tools. This is the PRIMARY way to interact with MCP servers in code mode. Write code that discovers tools using search_tools(), calls tools as async functions (e.g., await github.get_pull_request(...)), processes data efficiently, and returns results. Use 'await' for async operations and 'return' to return values. Available in code: search_tools(), __tool_namespaces, and server.tool_name() functions.",inputSchema:{type:"object",properties:{code:{type:"string",description:"JavaScript/TypeScript code to execute. Use 'await' for async operations. Use 'return' to return a value. Available: search_tools(), server.tool_name(), __tool_namespaces"},timeout:{type:"number",description:"Execution timeout in milliseconds",default:3e4}},required:["code"]}},{name:"search_tools",description:"Search and discover available MCP tools across all servers. Use this to find out what tools are available before writing code. Returns tool information including names, descriptions, and schemas. Can filter by query and control detail level.",inputSchema:{type:"object",properties:{query:{type:"string",description:"Search query to filter tools by name or description",default:""},detail_level:{type:"string",description:"Detail level: 'names', 'descriptions', or 'full'",enum:["names","descriptions","full"],default:"full"}}}}]}get tools(){return this._tools}async initialize(){return this.toolsCache=this._tools,{capabilities:{},version:"1.0.0"}}async callTool(e,t){if(e==="execute_code"){const n=t.code,r=t.timeout||3e4,o=await this.mcpClient.executeCode(n,r);return{content:[{type:"text",text:JSON.stringify(o)}]}}else if(e==="search_tools"){const n=t.query||"",r=t.detail_level,o=await this.mcpClient.searchTools(n,r&&r in["names","descriptions","full"]?r:"full");return{content:[{type:"text",text:JSON.stringify(o)}]}}throw new Error(`Unknown tool: ${e}`)}},w(O,"CodeModeConnector"),O);function X(){throw new Error("fs.readFileSync is not available in browser environment")}function ve(){throw new Error("fs.writeFileSync is not available in browser environment")}function we(){return!1}function ge(){throw new Error("fs.readFile is not available in browser environment")}function be(){throw new Error("fs.writeFile is not available in browser environment")}function ye(){throw new Error("fs.mkdir is not available in browser environment")}function xe(){throw new Error("fs.readdir is not available in browser environment")}function Ce(){throw new Error("fs.stat is not available in browser environment")}function Se(){throw new Error("fs.unlink is not available in browser environment")}function Ee(){throw new Error("fs.rmdir is not available in browser environment")}const j={readFileSync:X,writeFileSync:ve,existsSync:we,readFile:ge,writeFile:be,mkdir:ye,readdir:xe,stat:Ce,unlink:Se,rmdir:Ee},rt=Object.freeze(Object.defineProperty({__proto__:null,default:j,existsSync:we,mkdir:ye,readFile:ge,readFileSync:X,readdir:xe,rmdir:Ee,stat:Ce,unlink:Se,writeFile:be,writeFileSync:ve},Symbol.toStringTag,{value:"Module"}));function Z(...s){return s.filter(Boolean).join("/").replace(/\/+/g,"/").replace(/\/$/,"")}function Me(...s){return Z(...s)}function Q(s){const e=s.split("/");return e.pop(),e.join("/")||"/"}function q(s,e){const t=s.split("/");let n=t[t.length-1]||"";return e&&n.endsWith(e)&&(n=n.slice(0,-e.length)),n}function ee(s){const e=q(s),t=e.lastIndexOf(".");return t>0?e.slice(t):""}function Te(s){return s.replace(/\/+/g,"/")}function Pe(s){return s.startsWith("/")}function Oe(s){const e=s.startsWith("/")?"/":"",t=Q(s),n=q(s),r=ee(s),o=r?n.slice(0,-r.length):n;return{root:e,dir:t,base:n,ext:r,name:o}}const ke="/",Ne=":",$e={join:Z,resolve:Me,dirname:Q,basename:q,extname:ee,normalize:Te,isAbsolute:Pe,parse:Oe,sep:ke,delimiter:Ne},ot=Object.freeze(Object.defineProperty({__proto__:null,basename:q,default:$e,delimiter:Ne,dirname:Q,extname:ee,isAbsolute:Pe,join:Z,normalize:Te,parse:Oe,resolve:Me,sep:ke},Symbol.toStringTag,{value:"Module"})),st={},it="browser",ct="v18.0.0",at={node:"18.0.0"},lt=()=>"/",ut=(s,...e)=>queueMicrotask(()=>s(...e)),dt=!0,L={env:st,platform:it,version:ct,versions:at,cwd:lt,nextTick:ut,browser:dt};var T={exports:{}};function Ae(){throw new Error("child_process.spawn is not available in browser environment")}function Ie(){throw new Error("child_process.exec is not available in browser environment")}function Re(){throw new Error("child_process.execFile is not available in browser environment")}function je(){throw new Error("child_process.fork is not available in browser environment")}function Le(){throw new Error("child_process.execSync is not available in browser environment")}function qe(){throw new Error("child_process.spawnSync is not available in browser environment")}function Fe(){throw new Error("child_process.execFileSync is not available in browser environment")}const ht={spawn:Ae,exec:Ie,execFile:Re,fork:je,execSync:Le,spawnSync:qe,execFileSync:Fe},ft=Object.freeze(Object.defineProperty({__proto__:null,default:ht,exec:Ie,execFile:Re,execFileSync:Fe,execSync:Le,fork:je,spawn:Ae,spawnSync:qe},Symbol.toStringTag,{value:"Module"})),pt=Y(ft),Be=Y(ot),De=Y(rt);var D,oe;function mt(){if(oe)return D;oe=1;var s={};D=r,r.sync=o;var e=De;function t(i,a){var l=a.pathExt!==void 0?a.pathExt:s.PATHEXT;if(!l||(l=l.split(";"),l.indexOf("")!==-1))return!0;for(var c=0;c<l.length;c++){var u=l[c].toLowerCase();if(u&&i.substr(-u.length).toLowerCase()===u)return!0}return!1}function n(i,a,l){return!i.isSymbolicLink()&&!i.isFile()?!1:t(a,l)}function r(i,a,l){e.stat(i,function(c,u){l(c,c?!1:n(u,i,a))})}function o(i,a){return n(e.statSync(i),i,a)}return D}var J,se;function _t(){if(se)return J;se=1,J=e,e.sync=t;var s=De;function e(o,i,a){s.stat(o,function(l,c){a(l,l?!1:n(c,i))})}function t(o,i){return n(s.statSync(o),i)}function n(o,i){return o.isFile()&&r(o,i)}function r(o,i){var a=o.mode,l=o.uid,c=o.gid,u=i.uid!==void 0?i.uid:process.getuid&&process.getuid(),d=i.gid!==void 0?i.gid:process.getgid&&process.getgid(),h=parseInt("100",8),f=parseInt("010",8),p=parseInt("001",8),b=h|f,_=a&p||a&f&&c===d||a&h&&l===u||a&b&&u===0;return _}return J}var U,ie;function vt(){if(ie)return U;ie=1;var s;globalThis.TESTING_WINDOWS?s=mt():s=_t(),U=e,e.sync=t;function e(n,r,o){if(typeof r=="function"&&(o=r,r={}),!o){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(i,a){e(n,r||{},function(l,c){l?a(l):i(c)})})}s(n,r||{},function(i,a){i&&(i.code==="EACCES"||r&&r.ignoreErrors)&&(i=null,a=!1),o(i,a)})}function t(n,r){try{return s.sync(n,r||{})}catch(o){if(r&&r.ignoreErrors||o.code==="EACCES")return!1;throw o}}return U}var V,ce;function wt(){if(ce)return V;ce=1;var s={};const e=s.OSTYPE==="cygwin"||s.OSTYPE==="msys",t=Be,n=e?";":":",r=vt(),o=c=>Object.assign(new Error(`not found: ${c}`),{code:"ENOENT"}),i=(c,u)=>{const d=u.colon||n,h=c.match(/\//)||e&&c.match(/\\/)?[""]:[...e?[process.cwd()]:[],...(u.path||s.PATH||"").split(d)],f=e?u.pathExt||s.PATHEXT||".EXE;.CMD;.BAT;.COM":"",p=e?f.split(d):[""];return e&&c.indexOf(".")!==-1&&p[0]!==""&&p.unshift(""),{pathEnv:h,pathExt:p,pathExtExe:f}},a=(c,u,d)=>{typeof u=="function"&&(d=u,u={}),u||(u={});const{pathEnv:h,pathExt:f,pathExtExe:p}=i(c,u),b=[],_=v=>new Promise((y,g)=>{if(v===h.length)return u.all&&b.length?y(b):g(o(c));const x=h[v],S=/^".*"$/.test(x)?x.slice(1,-1):x,P=t.join(S,c),B=!S&&/^\.[\\\/]/.test(c)?c.slice(0,2)+P:P;y(C(B,v,0))}),C=(v,y,g)=>new Promise((x,S)=>{if(g===f.length)return x(_(y+1));const P=f[g];r(v+P,{pathExt:p},(B,He)=>{if(!B&&He)if(u.all)b.push(v+P);else return x(v+P);return x(C(v,y,g+1))})});return d?_(0).then(v=>d(null,v),d):_(0)},l=(c,u)=>{u=u||{};const{pathEnv:d,pathExt:h,pathExtExe:f}=i(c,u),p=[];for(let b=0;b<d.length;b++){const _=d[b],C=/^".*"$/.test(_)?_.slice(1,-1):_,v=t.join(C,c),y=!C&&/^\.[\\\/]/.test(c)?c.slice(0,2)+v:v;for(let g=0;g<h.length;g++){const x=y+h[g];try{if(r.sync(x,{pathExt:f}))if(u.all)p.push(x);else return x}catch{}}}if(u.all&&p.length)return p;if(u.nothrow)return null;throw o(c)};return V=a,a.sync=l,V}var R={exports:{}},ae;function gt(){if(ae)return R.exports;ae=1;var s={};const e=(t={})=>{const n=t.env||s;return(t.platform||"browser")!=="win32"?"PATH":Object.keys(n).reverse().find(o=>o.toUpperCase()==="PATH")||"Path"};return R.exports=e,R.exports.default=e,R.exports}var K,le;function bt(){if(le)return K;le=1;var s={};const e=Be,t=wt(),n=gt();function r(i,a){const l=i.options.env||s,c=process.cwd(),u=i.options.cwd!=null,d=u&&process.chdir!==void 0&&!process.chdir.disabled;if(d)try{process.chdir(i.options.cwd)}catch{}let h;try{h=t.sync(i.command,{path:l[n({env:l})],pathExt:a?e.delimiter:void 0})}catch{}finally{d&&process.chdir(c)}return h&&(h=e.resolve(u?i.options.cwd:"",h)),h}function o(i){return r(i)||r(i,!0)}return K=o,K}var H,ue;function yt(){if(ue)return H;ue=1,bt();function s(t){return t}function e(t,n,r){n&&!Array.isArray(n)&&(r=n,n=null),n=n?n.slice(0):[],r=Object.assign({},r);const o={command:t,args:n,options:r,file:void 0,original:{command:t,args:n}};return r.shell?o:o}return H=e,H}var W,de;function xt(){if(de)return W;de=1;function s(r,o){return Object.assign(new Error(`${o} ${r.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${o} ${r.command}`,path:r.command,spawnargs:r.args})}function e(r,o){}function t(r,o){return null}function n(r,o){return null}return W={hookChildProcess:e,verifyENOENT:t,verifyENOENTSync:n,notFoundError:s},W}var he;function Ct(){if(he)return T.exports;he=1;const s=pt,e=yt(),t=xt();function n(o,i,a){const l=e(o,i,a),c=s.spawn(l.command,l.args,l.options);return t.hookChildProcess(c,l),c}function r(o,i,a){const l=e(o,i,a),c=s.spawnSync(l.command,l.args,l.options);return c.error=c.error||t.verifyENOENTSync(c.status,l),c}return T.exports=n,T.exports.spawn=n,T.exports.sync=r,T.exports._parse=e,T.exports._enoent=t,T.exports}var St=Ct();const Et=We(St);class Mt{constructor(){console.warn("PassThrough stream is not available in browser environment")}}class Tt{append(e){this._buffer=this._buffer?Buffer.concat([this._buffer,e]):e}readMessage(){if(!this._buffer)return null;const e=this._buffer.indexOf(`
|
|
1
|
+
import{bj as me,_ as w,bk as Y,bl as We,bm as ze,bn as Ge,bo as _e,bp as Ye,bq as m,br as Xe,bs as Ze,a as Qe,bt as et,bu as re,bv as tt}from"./index-DjkfvIWz.js";var O,nt=(O=class extends me{mcpClient;_tools;constructor(e){super(),this.mcpClient=e,this.connected=!0,this._tools=this._createToolsList()}async connect(){this.connected=!0}async disconnect(){this.connected=!1}get publicIdentifier(){return{name:"code_mode",version:"1.0.0"}}_createToolsList(){return[{name:"execute_code",description:"Execute JavaScript/TypeScript code with access to MCP tools. This is the PRIMARY way to interact with MCP servers in code mode. Write code that discovers tools using search_tools(), calls tools as async functions (e.g., await github.get_pull_request(...)), processes data efficiently, and returns results. Use 'await' for async operations and 'return' to return values. Available in code: search_tools(), __tool_namespaces, and server.tool_name() functions.",inputSchema:{type:"object",properties:{code:{type:"string",description:"JavaScript/TypeScript code to execute. Use 'await' for async operations. Use 'return' to return a value. Available: search_tools(), server.tool_name(), __tool_namespaces"},timeout:{type:"number",description:"Execution timeout in milliseconds",default:3e4}},required:["code"]}},{name:"search_tools",description:"Search and discover available MCP tools across all servers. Use this to find out what tools are available before writing code. Returns tool information including names, descriptions, and schemas. Can filter by query and control detail level.",inputSchema:{type:"object",properties:{query:{type:"string",description:"Search query to filter tools by name or description",default:""},detail_level:{type:"string",description:"Detail level: 'names', 'descriptions', or 'full'",enum:["names","descriptions","full"],default:"full"}}}}]}get tools(){return this._tools}async initialize(){return this.toolsCache=this._tools,{capabilities:{},version:"1.0.0"}}async callTool(e,t){if(e==="execute_code"){const n=t.code,r=t.timeout||3e4,o=await this.mcpClient.executeCode(n,r);return{content:[{type:"text",text:JSON.stringify(o)}]}}else if(e==="search_tools"){const n=t.query||"",r=t.detail_level,o=await this.mcpClient.searchTools(n,r&&r in["names","descriptions","full"]?r:"full");return{content:[{type:"text",text:JSON.stringify(o)}]}}throw new Error(`Unknown tool: ${e}`)}},w(O,"CodeModeConnector"),O);function X(){throw new Error("fs.readFileSync is not available in browser environment")}function ve(){throw new Error("fs.writeFileSync is not available in browser environment")}function we(){return!1}function ge(){throw new Error("fs.readFile is not available in browser environment")}function be(){throw new Error("fs.writeFile is not available in browser environment")}function ye(){throw new Error("fs.mkdir is not available in browser environment")}function xe(){throw new Error("fs.readdir is not available in browser environment")}function Ce(){throw new Error("fs.stat is not available in browser environment")}function Se(){throw new Error("fs.unlink is not available in browser environment")}function Ee(){throw new Error("fs.rmdir is not available in browser environment")}const j={readFileSync:X,writeFileSync:ve,existsSync:we,readFile:ge,writeFile:be,mkdir:ye,readdir:xe,stat:Ce,unlink:Se,rmdir:Ee},rt=Object.freeze(Object.defineProperty({__proto__:null,default:j,existsSync:we,mkdir:ye,readFile:ge,readFileSync:X,readdir:xe,rmdir:Ee,stat:Ce,unlink:Se,writeFile:be,writeFileSync:ve},Symbol.toStringTag,{value:"Module"}));function Z(...s){return s.filter(Boolean).join("/").replace(/\/+/g,"/").replace(/\/$/,"")}function Me(...s){return Z(...s)}function Q(s){const e=s.split("/");return e.pop(),e.join("/")||"/"}function q(s,e){const t=s.split("/");let n=t[t.length-1]||"";return e&&n.endsWith(e)&&(n=n.slice(0,-e.length)),n}function ee(s){const e=q(s),t=e.lastIndexOf(".");return t>0?e.slice(t):""}function Te(s){return s.replace(/\/+/g,"/")}function Pe(s){return s.startsWith("/")}function Oe(s){const e=s.startsWith("/")?"/":"",t=Q(s),n=q(s),r=ee(s),o=r?n.slice(0,-r.length):n;return{root:e,dir:t,base:n,ext:r,name:o}}const ke="/",Ne=":",$e={join:Z,resolve:Me,dirname:Q,basename:q,extname:ee,normalize:Te,isAbsolute:Pe,parse:Oe,sep:ke,delimiter:Ne},ot=Object.freeze(Object.defineProperty({__proto__:null,basename:q,default:$e,delimiter:Ne,dirname:Q,extname:ee,isAbsolute:Pe,join:Z,normalize:Te,parse:Oe,resolve:Me,sep:ke},Symbol.toStringTag,{value:"Module"})),st={},it="browser",ct="v18.0.0",at={node:"18.0.0"},lt=()=>"/",ut=(s,...e)=>queueMicrotask(()=>s(...e)),dt=!0,L={env:st,platform:it,version:ct,versions:at,cwd:lt,nextTick:ut,browser:dt};var T={exports:{}};function Ae(){throw new Error("child_process.spawn is not available in browser environment")}function Ie(){throw new Error("child_process.exec is not available in browser environment")}function Re(){throw new Error("child_process.execFile is not available in browser environment")}function je(){throw new Error("child_process.fork is not available in browser environment")}function Le(){throw new Error("child_process.execSync is not available in browser environment")}function qe(){throw new Error("child_process.spawnSync is not available in browser environment")}function Fe(){throw new Error("child_process.execFileSync is not available in browser environment")}const ht={spawn:Ae,exec:Ie,execFile:Re,fork:je,execSync:Le,spawnSync:qe,execFileSync:Fe},ft=Object.freeze(Object.defineProperty({__proto__:null,default:ht,exec:Ie,execFile:Re,execFileSync:Fe,execSync:Le,fork:je,spawn:Ae,spawnSync:qe},Symbol.toStringTag,{value:"Module"})),pt=Y(ft),Be=Y(ot),De=Y(rt);var D,oe;function mt(){if(oe)return D;oe=1;var s={};D=r,r.sync=o;var e=De;function t(i,a){var l=a.pathExt!==void 0?a.pathExt:s.PATHEXT;if(!l||(l=l.split(";"),l.indexOf("")!==-1))return!0;for(var c=0;c<l.length;c++){var u=l[c].toLowerCase();if(u&&i.substr(-u.length).toLowerCase()===u)return!0}return!1}function n(i,a,l){return!i.isSymbolicLink()&&!i.isFile()?!1:t(a,l)}function r(i,a,l){e.stat(i,function(c,u){l(c,c?!1:n(u,i,a))})}function o(i,a){return n(e.statSync(i),i,a)}return D}var J,se;function _t(){if(se)return J;se=1,J=e,e.sync=t;var s=De;function e(o,i,a){s.stat(o,function(l,c){a(l,l?!1:n(c,i))})}function t(o,i){return n(s.statSync(o),i)}function n(o,i){return o.isFile()&&r(o,i)}function r(o,i){var a=o.mode,l=o.uid,c=o.gid,u=i.uid!==void 0?i.uid:process.getuid&&process.getuid(),d=i.gid!==void 0?i.gid:process.getgid&&process.getgid(),h=parseInt("100",8),f=parseInt("010",8),p=parseInt("001",8),b=h|f,_=a&p||a&f&&c===d||a&h&&l===u||a&b&&u===0;return _}return J}var U,ie;function vt(){if(ie)return U;ie=1;var s;globalThis.TESTING_WINDOWS?s=mt():s=_t(),U=e,e.sync=t;function e(n,r,o){if(typeof r=="function"&&(o=r,r={}),!o){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(i,a){e(n,r||{},function(l,c){l?a(l):i(c)})})}s(n,r||{},function(i,a){i&&(i.code==="EACCES"||r&&r.ignoreErrors)&&(i=null,a=!1),o(i,a)})}function t(n,r){try{return s.sync(n,r||{})}catch(o){if(r&&r.ignoreErrors||o.code==="EACCES")return!1;throw o}}return U}var V,ce;function wt(){if(ce)return V;ce=1;var s={};const e=s.OSTYPE==="cygwin"||s.OSTYPE==="msys",t=Be,n=e?";":":",r=vt(),o=c=>Object.assign(new Error(`not found: ${c}`),{code:"ENOENT"}),i=(c,u)=>{const d=u.colon||n,h=c.match(/\//)||e&&c.match(/\\/)?[""]:[...e?[process.cwd()]:[],...(u.path||s.PATH||"").split(d)],f=e?u.pathExt||s.PATHEXT||".EXE;.CMD;.BAT;.COM":"",p=e?f.split(d):[""];return e&&c.indexOf(".")!==-1&&p[0]!==""&&p.unshift(""),{pathEnv:h,pathExt:p,pathExtExe:f}},a=(c,u,d)=>{typeof u=="function"&&(d=u,u={}),u||(u={});const{pathEnv:h,pathExt:f,pathExtExe:p}=i(c,u),b=[],_=v=>new Promise((y,g)=>{if(v===h.length)return u.all&&b.length?y(b):g(o(c));const x=h[v],S=/^".*"$/.test(x)?x.slice(1,-1):x,P=t.join(S,c),B=!S&&/^\.[\\\/]/.test(c)?c.slice(0,2)+P:P;y(C(B,v,0))}),C=(v,y,g)=>new Promise((x,S)=>{if(g===f.length)return x(_(y+1));const P=f[g];r(v+P,{pathExt:p},(B,He)=>{if(!B&&He)if(u.all)b.push(v+P);else return x(v+P);return x(C(v,y,g+1))})});return d?_(0).then(v=>d(null,v),d):_(0)},l=(c,u)=>{u=u||{};const{pathEnv:d,pathExt:h,pathExtExe:f}=i(c,u),p=[];for(let b=0;b<d.length;b++){const _=d[b],C=/^".*"$/.test(_)?_.slice(1,-1):_,v=t.join(C,c),y=!C&&/^\.[\\\/]/.test(c)?c.slice(0,2)+v:v;for(let g=0;g<h.length;g++){const x=y+h[g];try{if(r.sync(x,{pathExt:f}))if(u.all)p.push(x);else return x}catch{}}}if(u.all&&p.length)return p;if(u.nothrow)return null;throw o(c)};return V=a,a.sync=l,V}var R={exports:{}},ae;function gt(){if(ae)return R.exports;ae=1;var s={};const e=(t={})=>{const n=t.env||s;return(t.platform||"browser")!=="win32"?"PATH":Object.keys(n).reverse().find(o=>o.toUpperCase()==="PATH")||"Path"};return R.exports=e,R.exports.default=e,R.exports}var K,le;function bt(){if(le)return K;le=1;var s={};const e=Be,t=wt(),n=gt();function r(i,a){const l=i.options.env||s,c=process.cwd(),u=i.options.cwd!=null,d=u&&process.chdir!==void 0&&!process.chdir.disabled;if(d)try{process.chdir(i.options.cwd)}catch{}let h;try{h=t.sync(i.command,{path:l[n({env:l})],pathExt:a?e.delimiter:void 0})}catch{}finally{d&&process.chdir(c)}return h&&(h=e.resolve(u?i.options.cwd:"",h)),h}function o(i){return r(i)||r(i,!0)}return K=o,K}var H,ue;function yt(){if(ue)return H;ue=1,bt();function s(t){return t}function e(t,n,r){n&&!Array.isArray(n)&&(r=n,n=null),n=n?n.slice(0):[],r=Object.assign({},r);const o={command:t,args:n,options:r,file:void 0,original:{command:t,args:n}};return r.shell?o:o}return H=e,H}var W,de;function xt(){if(de)return W;de=1;function s(r,o){return Object.assign(new Error(`${o} ${r.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${o} ${r.command}`,path:r.command,spawnargs:r.args})}function e(r,o){}function t(r,o){return null}function n(r,o){return null}return W={hookChildProcess:e,verifyENOENT:t,verifyENOENTSync:n,notFoundError:s},W}var he;function Ct(){if(he)return T.exports;he=1;const s=pt,e=yt(),t=xt();function n(o,i,a){const l=e(o,i,a),c=s.spawn(l.command,l.args,l.options);return t.hookChildProcess(c,l),c}function r(o,i,a){const l=e(o,i,a),c=s.spawnSync(l.command,l.args,l.options);return c.error=c.error||t.verifyENOENTSync(c.status,l),c}return T.exports=n,T.exports.spawn=n,T.exports.sync=r,T.exports._parse=e,T.exports._enoent=t,T.exports}var St=Ct();const Et=We(St);class Mt{constructor(){console.warn("PassThrough stream is not available in browser environment")}}class Tt{append(e){this._buffer=this._buffer?Buffer.concat([this._buffer,e]):e}readMessage(){if(!this._buffer)return null;const e=this._buffer.indexOf(`
|
|
2
2
|
`);if(e===-1)return null;const t=this._buffer.toString("utf8",0,e).replace(/\r$/,"");return this._buffer=this._buffer.subarray(e+1),Pt(t)}clear(){this._buffer=void 0}}function Pt(s){return ze.parse(JSON.parse(s))}function Ot(s){return JSON.stringify(s)+`
|
|
3
3
|
`}const kt=["HOME","LOGNAME","PATH","SHELL","TERM","USER"];function Nt(){const s={};for(const e of kt){const t=L.env[e];t!==void 0&&(t.startsWith("()")||(s[e]=t))}return s}class $t{constructor(e){this._readBuffer=new Tt,this._stderrStream=null,this._serverParams=e,(e.stderr==="pipe"||e.stderr==="overlapped")&&(this._stderrStream=new Mt)}async start(){if(this._process)throw new Error("StdioClientTransport already started! If using Client class, note that connect() calls start() automatically.");return new Promise((e,t)=>{this._process=Et(this._serverParams.command,this._serverParams.args??[],{env:{...Nt(),...this._serverParams.env},stdio:["pipe","pipe",this._serverParams.stderr??"inherit"],shell:!1,windowsHide:L.platform==="win32",cwd:this._serverParams.cwd}),this._process.on("error",n=>{t(n),this.onerror?.(n)}),this._process.on("spawn",()=>{e()}),this._process.on("close",n=>{this._process=void 0,this.onclose?.()}),this._process.stdin?.on("error",n=>{this.onerror?.(n)}),this._process.stdout?.on("data",n=>{this._readBuffer.append(n),this.processReadBuffer()}),this._process.stdout?.on("error",n=>{this.onerror?.(n)}),this._stderrStream&&this._process.stderr&&this._process.stderr.pipe(this._stderrStream)})}get stderr(){return this._stderrStream?this._stderrStream:this._process?.stderr??null}get pid(){return this._process?.pid??null}processReadBuffer(){for(;;)try{const e=this._readBuffer.readMessage();if(e===null)break;this.onmessage?.(e)}catch(e){this.onerror?.(e)}}async close(){if(this._process){const e=this._process;this._process=void 0;const t=new Promise(n=>{e.once("close",()=>{n()})});try{e.stdin?.end()}catch{}if(await Promise.race([t,new Promise(n=>setTimeout(n,2e3).unref())]),e.exitCode===null){try{e.kill("SIGTERM")}catch{}await Promise.race([t,new Promise(n=>setTimeout(n,2e3).unref())])}if(e.exitCode===null)try{e.kill("SIGKILL")}catch{}}this._readBuffer.clear()}send(e){return new Promise(t=>{if(!this._process?.stdin)throw new Error("Not connected");const n=Ot(e);this._process.stdin.write(n)?t():this._process.stdin.once("drain",t)})}}var At={},k,te=(k=class{client;_connecting=!1;constructor(e){this.client=e}async ensureServersConnected(){const e=this.client.getServerNames(),t=Object.keys(this.client.getAllActiveSessions()),n=e.filter(r=>!t.includes(r));if(n.length>0&&!this._connecting){this._connecting=!0;try{m.debug(`Connecting to configured servers for code execution: ${n.join(", ")}`),await this.client.createAllSessions()}finally{this._connecting=!1}}else if(n.length>0&&this._connecting){m.debug("Waiting for ongoing server connection...");const r=Date.now();for(;this._connecting&&Date.now()-r<5e3;)await new Promise(o=>setTimeout(o,100))}}getToolNamespaces(){const e=[],t=this.client.getAllActiveSessions();for(const[n,r]of Object.entries(t))if(n!=="code_mode")try{const o=r.connector;let i;try{i=o.tools}catch(a){m.warn(`Tools not available for server ${n}: ${a}`);continue}if(!i||i.length===0)continue;e.push({serverName:n,tools:i,session:r})}catch(o){m.warn(`Failed to load tools for server ${n}: ${o}`)}return e}createSearchToolsFunction(){return async(e="",t="full")=>{const n=[],r=new Set,o=e.toLowerCase(),i=this.client.getAllActiveSessions();for(const[l,c]of Object.entries(i))if(l!=="code_mode")try{const u=c.connector.tools;u&&u.length>0&&r.add(l);for(const d of u)t==="names"?n.push({name:d.name,server:l}):t==="descriptions"?n.push({name:d.name,server:l,description:d.description}):n.push({name:d.name,server:l,description:d.description,input_schema:d.inputSchema})}catch(u){m.warn(`Failed to search tools in server ${l}: ${u}`)}let a=n;return e&&(a=n.filter(l=>{const c=l.name.toLowerCase().includes(o),u=l.description?.toLowerCase().includes(o),d=l.server.toLowerCase().includes(o);return c||u||d})),{meta:{total_tools:n.length,namespaces:Array.from(r).sort(),result_count:a.length},results:a}}}},w(k,"BaseCodeExecutor"),k),N,fe=(N=class extends te{e2bApiKey;codeExecSandbox=null;SandboxClass=null;timeoutMs;constructor(e,t){super(e),this.e2bApiKey=t.apiKey,this.timeoutMs=t.timeoutMs??3e5}async ensureSandboxClass(){if(!this.SandboxClass)try{const e=await Qe(()=>import("@e2b/code-interpreter"),[]);this.SandboxClass=e.Sandbox}catch{throw new Error("@e2b/code-interpreter is not installed. The E2B code executor requires this optional dependency. Install it with: yarn add @e2b/code-interpreter")}}async getOrCreateCodeExecSandbox(){return this.codeExecSandbox?this.codeExecSandbox:(await this.ensureSandboxClass(),m.debug("Starting E2B sandbox for code execution..."),this.codeExecSandbox=await this.SandboxClass.create("base",{apiKey:this.e2bApiKey,timeoutMs:this.timeoutMs}),this.codeExecSandbox)}generateShim(e){let t=`
|
|
4
4
|
// MCP Bridge Shim
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-
|
|
2
|
-
import{_ as a,a as k}from"./index-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-Cze4GuPX.js","assets/index-DjkfvIWz.js","assets/index-DlhqMiEp.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{_ as a,a as k}from"./index-DjkfvIWz.js";var y=null,L=null,O=null,J=!1,V=typeof process<"u"&&process.versions?.node;(async()=>{if(V)try{O=(await k(()=>import("./util-QmrWvrtn.js"),[])).stripVTControlCharacters}catch{}try{y=(await k(()=>import("./index-JiKw9JSs.js"),[])).default}catch{}try{L=(await k(()=>import("./index-Cze4GuPX.js").then(e=>e.i),__vite__mapDeps([0,1,2]))).highlight}catch{}V&&(!y||!L)&&(J||(J=!0,console.warn(`
|
|
3
3
|
✨ For enhanced console output with colors and syntax highlighting, install:
|
|
4
4
|
|
|
5
5
|
npm install chalk cli-highlight
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as c,q as d}from"./index-
|
|
1
|
+
import{g as c,q as d}from"./index-D7mhOTIc.js";var l={};c(l,{chunkArray:()=>u});const u=(r,s)=>r.reduce((a,n,o)=>{const e=Math.floor(o/s),t=a[e]||[];return a[e]=t.concat([n]),a},[]);var h={};c(h,{Embeddings:()=>i});var i=class{caller;constructor(r){this.caller=new d(r??{})}};export{i as E,l as c,h as e};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{g as wn,O as Ut,h as bn,c as $t,f as xn,S as Sn,J as kn,R as Bt}from"./index-YgJNrSvw.js";import{r as Tn,K as xs,t as Lt,ah as jt,I as Mn,J as On,E as N,B as qt,L as vn,y as ie,i as at,D as In,M as An}from"./index-CzON1LlU.js";import{bw as y,bx as Dt,by as Rn,bz as Cn,bA as Wt,bB as b,bC as w,bD as E,bE as Ze,bF as Mt,bG as Pn,bH as En}from"./index-BAVnedrl.js";import"./index-DEZvih5Y.js";var Ft=class extends wn{static lc_name(){return"AnthropicToolsOutputParser"}lc_namespace=["langchain","anthropic","output_parsers"];returnId=!1;keyName;returnSingle=!1;zodSchema;constructor(t){super(t),this.keyName=t.keyName,this.returnSingle=t.returnSingle??this.returnSingle,this.zodSchema=t.zodSchema}async _validateResult(t){let e=t;if(typeof t=="string")try{e=JSON.parse(t)}catch(n){throw new Ut(`Failed to parse. Text: "${JSON.stringify(t,null,2)}". Error: ${JSON.stringify(n.message)}`,t)}else e=t;if(this.zodSchema===void 0)return e;const s=await Tn(this.zodSchema,e);if(s.success)return s.data;throw new Ut(`Failed to parse. Text: "${JSON.stringify(t,null,2)}". Error: ${JSON.stringify(s.error.issues)}`,JSON.stringify(e,null,2))}async parseResult(t){const e=t.flatMap(r=>{const{message:a}=r;return Array.isArray(a.content)?Ss(a.content)[0]:[]});if(e[0]===void 0)throw new Error("No parseable tool calls provided to AnthropicToolsOutputParser.");const[s]=e;return await this._validateResult(s.args)}};function Ss(t){const e=[];for(const s of t)s.type==="tool_use"&&e.push({name:s.name,args:s.input,id:s.id,type:"tool_call"});return e}function Nn(t){if(t)return t==="any"?{type:"any"}:t==="auto"?{type:"auto"}:t==="none"?{type:"none"}:typeof t=="string"?{type:"tool",name:t}:t}const Un=y({cache_control:Cn().optional().nullable(),defer_loading:Rn().optional(),input_examples:Dt(Wt()).optional(),allowed_callers:Dt(Wt()).optional()}),Ht={tool_search_tool_regex_20251119:"advanced-tool-use-2025-11-20",tool_search_tool_bm25_20251119:"advanced-tool-use-2025-11-20",memory_20250818:"context-management-2025-06-27",web_fetch_20250910:"web-fetch-2025-09-10",code_execution_20250825:"code-execution-2025-08-25",computer_20251124:"computer-use-2025-11-24",computer_20250124:"computer-use-2025-01-24",mcp_toolset:"mcp-client-2025-11-20"};function $n(t){return typeof t=="object"&&t!==null&&"type"in t&&t.type==="thinking"}function Bn(t){return typeof t=="object"&&t!==null&&"type"in t&&t.type==="redacted_thinking"}function Ln(t){return typeof t=="object"&&t!==null&&"type"in t&&t.type==="search_result"}function jn(t){return typeof t!="object"||t==null||!("type"in t)||t.type!=="image"||!("source"in t)||typeof t.source!="object"||t.source==null||!("type"in t.source)?!1:t.source.type==="base64"?!(!("media_type"in t.source)||typeof t.source.media_type!="string"||!("data"in t.source)||typeof t.source.data!="string"):t.source.type==="url"?!(!("url"in t.source)||typeof t.source.url!="string"):!1}const qn={providerName:"anthropic",fromStandardTextBlock(t){return{type:"text",text:t.text,..."citations"in(t.metadata??{})?{citations:t.metadata.citations}:{},..."cache_control"in(t.metadata??{})?{cache_control:t.metadata.cache_control}:{}}},fromStandardImageBlock(t){if(t.source_type==="url"){const e=xs({dataUrl:t.url,asTypedArray:!1});return e?{type:"image",source:{type:"base64",data:e.data,media_type:e.mime_type},..."cache_control"in(t.metadata??{})?{cache_control:t.metadata.cache_control}:{}}:{type:"image",source:{type:"url",url:t.url},..."cache_control"in(t.metadata??{})?{cache_control:t.metadata.cache_control}:{}}}else{if(t.source_type==="base64")return{type:"image",source:{type:"base64",data:t.data,media_type:t.mime_type??""},..."cache_control"in(t.metadata??{})?{cache_control:t.metadata.cache_control}:{}};throw new Error(`Unsupported image source type: ${t.source_type}`)}},fromStandardFileBlock(t){const e=(t.mime_type??"").split(";")[0];if(t.source_type==="url"){if(e==="application/pdf"||e==="")return{type:"document",source:{type:"url",url:t.url},..."cache_control"in(t.metadata??{})?{cache_control:t.metadata.cache_control}:{},..."citations"in(t.metadata??{})?{citations:t.metadata.citations}:{},..."context"in(t.metadata??{})?{context:t.metadata.context}:{},..."title"in(t.metadata??{})?{title:t.metadata.title}:{}};throw new Error(`Unsupported file mime type for file url source: ${t.mime_type}`)}else if(t.source_type==="text"){if(e==="text/plain"||e==="")return{type:"document",source:{type:"text",data:t.text,media_type:t.mime_type??""},..."cache_control"in(t.metadata??{})?{cache_control:t.metadata.cache_control}:{},..."citations"in(t.metadata??{})?{citations:t.metadata.citations}:{},..."context"in(t.metadata??{})?{context:t.metadata.context}:{},..."title"in(t.metadata??{})?{title:t.metadata.title}:{}};throw new Error(`Unsupported file mime type for file text source: ${t.mime_type}`)}else if(t.source_type==="base64"){if(e==="application/pdf"||e==="")return{type:"document",source:{type:"base64",data:t.data,media_type:"application/pdf"},..."cache_control"in(t.metadata??{})?{cache_control:t.metadata.cache_control}:{},..."citations"in(t.metadata??{})?{citations:t.metadata.citations}:{},..."context"in(t.metadata??{})?{context:t.metadata.context}:{},..."title"in(t.metadata??{})?{title:t.metadata.title}:{}};if(["image/jpeg","image/png","image/gif","image/webp"].includes(e))return{type:"document",source:{type:"content",content:[{type:"image",source:{type:"base64",data:t.data,media_type:e}}]},..."cache_control"in(t.metadata??{})?{cache_control:t.metadata.cache_control}:{},..."citations"in(t.metadata??{})?{citations:t.metadata.citations}:{},..."context"in(t.metadata??{})?{context:t.metadata.context}:{},..."title"in(t.metadata??{})?{title:t.metadata.title}:{}};throw new Error(`Unsupported file mime type for file base64 source: ${t.mime_type}`)}else throw new Error(`Unsupported file source type: ${t.source_type}`)}},Dn=t=>t();function Wn(t){return typeof t=="object"&&t!==null&&"type"in t&&t.type==="citation"}function Fn(t){function*e(){for(const s of t)Wn(s)&&(s.source==="char"?yield{type:"char_location",file_id:s.url??"",start_char_index:s.startIndex??0,end_char_index:s.endIndex??0,document_title:s.title??null,document_index:0,cited_text:s.citedText??""}:s.source==="page"?yield{type:"page_location",file_id:s.url??"",start_page_number:s.startIndex??0,end_page_number:s.endIndex??0,document_title:s.title??null,document_index:0,cited_text:s.citedText??""}:s.source==="block"?yield{type:"content_block_location",file_id:s.url??"",start_block_index:s.startIndex??0,end_block_index:s.endIndex??0,document_title:s.title??null,document_index:0,cited_text:s.citedText??""}:s.source==="url"?yield{type:"web_search_result_location",url:s.url??"",title:s.title??null,encrypted_index:String(s.startIndex??0),cited_text:s.citedText??""}:s.source==="search"&&(yield{type:"search_result_location",title:s.title??null,start_block_index:s.startIndex??0,end_block_index:s.endIndex??0,search_result_index:0,source:s.source??"",cited_text:s.citedText??""}))}return Array.from(e())}function oe(t){return typeof t=="string"?t:Hn(t)}function Hn(t){const e=[];for(let s=0,{length:n}=t;s<n;s++)e.push(String.fromCharCode(t[s]));return btoa(e.join(""))}function it(t){return(t??"").split(";")[0].toLowerCase()}function ke(t,e){if(t!=null&&typeof t=="object"&&e in t)return t[e]}function Z(t,e){const s=ke(e,"cache_control");s!==void 0&&(t.cache_control=s);const n=ke(e,"citations");n!==void 0&&(t.citations=n);const r=ke(e,"context");r!==void 0&&(t.context=r);const a=ke(e,"title");return a!==void 0&&(t.title=a),t}function ot(t,e){const s=ke(e,"cache_control");return s!==void 0&&(t.cache_control=s),t}function Jt(t){return new Set(["image/jpeg","image/png","image/gif","image/webp"]).has(t)}function Jn(t){const e=[],s=t.response_metadata,n="model_provider"in s&&s?.model_provider==="anthropic";for(const r of t.contentBlocks)if(r.type==="text")r.annotations?e.push({type:"text",text:r.text,citations:Fn(r.annotations)}):e.push({type:"text",text:r.text});else if(r.type==="tool_call")e.push({type:"tool_use",id:r.id??"",name:r.name,input:r.args});else if(r.type==="tool_call_chunk"){const a=Dn(()=>{if(typeof r.args!="string")return r.args;try{return JSON.parse(r.args)}catch{return{}}});e.push({type:"tool_use",id:r.id??"",name:r.name??"",input:a})}else if(r.type==="reasoning"&&n)e.push({type:"thinking",thinking:r.reasoning,signature:String(r.signature)});else if(r.type==="server_tool_call"&&n)r.name==="web_search"?e.push({type:"server_tool_use",name:r.name,id:r.id??"",input:r.args}):r.name==="code_execution"&&e.push({type:"server_tool_use",name:r.name,id:r.id??"",input:r.args});else if(r.type==="server_tool_call_result"&&n)if(r.name==="web_search"&&Array.isArray(r.output.urls)){const a=r.output.urls.map(i=>({type:"web_search_result",title:"",encrypted_content:"",url:i}));e.push({type:"web_search_tool_result",tool_use_id:r.toolCallId??"",content:a})}else r.name==="code_execution"?e.push({type:"code_execution_tool_result",tool_use_id:r.toolCallId??"",content:r.output}):r.name==="mcp_tool_result"&&e.push({type:"mcp_tool_result",tool_use_id:r.toolCallId??"",content:r.output});else{if(r.type==="audio")throw new Error("Anthropic does not support audio content blocks.");if(r.type==="file"){const a=r.metadata;if(r.fileId){e.push(Z({type:"document",source:{type:"file",file_id:r.fileId}},a));continue}if(r.url){const i=it(r.mimeType);if(i==="application/pdf"||i===""){e.push(Z({type:"document",source:{type:"url",url:r.url}},a));continue}}if(r.data){const i=it(r.mimeType);if(i===""||i==="application/pdf")e.push(Z({type:"document",source:{type:"base64",data:oe(r.data),media_type:"application/pdf"}},a));else if(i==="text/plain")e.push(Z({type:"document",source:{type:"text",data:oe(r.data),media_type:"text/plain"}},a));else if(Jt(i))e.push(Z({type:"document",source:{type:"content",content:[{type:"image",source:{type:"base64",data:oe(r.data),media_type:i}}]}},a));else throw new Error(`Unsupported file mime type for Anthropic base64 source: ${i}`);continue}throw new Error("File content block must include a fileId, url, or data property.")}else if(r.type==="image"){const a=r.metadata;if(r.fileId){e.push(ot({type:"image",source:{type:"file",file_id:r.fileId}},a));continue}if(r.url){e.push(ot({type:"image",source:{type:"url",url:r.url}},a));continue}if(r.data){const i=it(r.mimeType)||"image/png";Jt(i)&&e.push(ot({type:"image",source:{type:"base64",data:oe(r.data),media_type:i}},a));continue}throw new Error("Image content block must include a fileId, url, or data property.")}else r.type==="video"||(r.type==="text-plain"?r.data&&e.push(Z({type:"document",source:{type:"text",data:oe(r.data),media_type:"text/plain"}},r.metadata)):r.type==="non_standard"&&n&&e.push(r.value))}return e}function Kt(t){const e=xs({dataUrl:t});if(e)return{type:"base64",media_type:e.mime_type,data:e.data};let s;try{s=new URL(t)}catch{throw new Error([`Malformed image URL: ${JSON.stringify(t)}. Content blocks of type 'image_url' must be a valid http, https, or base64-encoded data URL.`,"Example: data:image/png;base64,/9j/4AAQSk...","Example: https://example.com/image.jpg"].join(`
|
|
1
|
+
import{g as wn,O as Ut,h as bn,c as $t,f as xn,S as Sn,J as kn,R as Bt}from"./index-o8LZS9ZF.js";import{r as Tn,K as xs,t as Lt,ah as jt,I as Mn,J as On,E as N,B as qt,L as vn,y as ie,i as at,D as In,M as An}from"./index-D7mhOTIc.js";import{bw as y,bx as Dt,by as Rn,bz as Cn,bA as Wt,bB as b,bC as w,bD as E,bE as Ze,bF as Mt,bG as Pn,bH as En}from"./index-DjkfvIWz.js";import"./index-CaVm3fHm.js";var Ft=class extends wn{static lc_name(){return"AnthropicToolsOutputParser"}lc_namespace=["langchain","anthropic","output_parsers"];returnId=!1;keyName;returnSingle=!1;zodSchema;constructor(t){super(t),this.keyName=t.keyName,this.returnSingle=t.returnSingle??this.returnSingle,this.zodSchema=t.zodSchema}async _validateResult(t){let e=t;if(typeof t=="string")try{e=JSON.parse(t)}catch(n){throw new Ut(`Failed to parse. Text: "${JSON.stringify(t,null,2)}". Error: ${JSON.stringify(n.message)}`,t)}else e=t;if(this.zodSchema===void 0)return e;const s=await Tn(this.zodSchema,e);if(s.success)return s.data;throw new Ut(`Failed to parse. Text: "${JSON.stringify(t,null,2)}". Error: ${JSON.stringify(s.error.issues)}`,JSON.stringify(e,null,2))}async parseResult(t){const e=t.flatMap(r=>{const{message:a}=r;return Array.isArray(a.content)?Ss(a.content)[0]:[]});if(e[0]===void 0)throw new Error("No parseable tool calls provided to AnthropicToolsOutputParser.");const[s]=e;return await this._validateResult(s.args)}};function Ss(t){const e=[];for(const s of t)s.type==="tool_use"&&e.push({name:s.name,args:s.input,id:s.id,type:"tool_call"});return e}function Nn(t){if(t)return t==="any"?{type:"any"}:t==="auto"?{type:"auto"}:t==="none"?{type:"none"}:typeof t=="string"?{type:"tool",name:t}:t}const Un=y({cache_control:Cn().optional().nullable(),defer_loading:Rn().optional(),input_examples:Dt(Wt()).optional(),allowed_callers:Dt(Wt()).optional()}),Ht={tool_search_tool_regex_20251119:"advanced-tool-use-2025-11-20",tool_search_tool_bm25_20251119:"advanced-tool-use-2025-11-20",memory_20250818:"context-management-2025-06-27",web_fetch_20250910:"web-fetch-2025-09-10",code_execution_20250825:"code-execution-2025-08-25",computer_20251124:"computer-use-2025-11-24",computer_20250124:"computer-use-2025-01-24",mcp_toolset:"mcp-client-2025-11-20"};function $n(t){return typeof t=="object"&&t!==null&&"type"in t&&t.type==="thinking"}function Bn(t){return typeof t=="object"&&t!==null&&"type"in t&&t.type==="redacted_thinking"}function Ln(t){return typeof t=="object"&&t!==null&&"type"in t&&t.type==="search_result"}function jn(t){return typeof t!="object"||t==null||!("type"in t)||t.type!=="image"||!("source"in t)||typeof t.source!="object"||t.source==null||!("type"in t.source)?!1:t.source.type==="base64"?!(!("media_type"in t.source)||typeof t.source.media_type!="string"||!("data"in t.source)||typeof t.source.data!="string"):t.source.type==="url"?!(!("url"in t.source)||typeof t.source.url!="string"):!1}const qn={providerName:"anthropic",fromStandardTextBlock(t){return{type:"text",text:t.text,..."citations"in(t.metadata??{})?{citations:t.metadata.citations}:{},..."cache_control"in(t.metadata??{})?{cache_control:t.metadata.cache_control}:{}}},fromStandardImageBlock(t){if(t.source_type==="url"){const e=xs({dataUrl:t.url,asTypedArray:!1});return e?{type:"image",source:{type:"base64",data:e.data,media_type:e.mime_type},..."cache_control"in(t.metadata??{})?{cache_control:t.metadata.cache_control}:{}}:{type:"image",source:{type:"url",url:t.url},..."cache_control"in(t.metadata??{})?{cache_control:t.metadata.cache_control}:{}}}else{if(t.source_type==="base64")return{type:"image",source:{type:"base64",data:t.data,media_type:t.mime_type??""},..."cache_control"in(t.metadata??{})?{cache_control:t.metadata.cache_control}:{}};throw new Error(`Unsupported image source type: ${t.source_type}`)}},fromStandardFileBlock(t){const e=(t.mime_type??"").split(";")[0];if(t.source_type==="url"){if(e==="application/pdf"||e==="")return{type:"document",source:{type:"url",url:t.url},..."cache_control"in(t.metadata??{})?{cache_control:t.metadata.cache_control}:{},..."citations"in(t.metadata??{})?{citations:t.metadata.citations}:{},..."context"in(t.metadata??{})?{context:t.metadata.context}:{},..."title"in(t.metadata??{})?{title:t.metadata.title}:{}};throw new Error(`Unsupported file mime type for file url source: ${t.mime_type}`)}else if(t.source_type==="text"){if(e==="text/plain"||e==="")return{type:"document",source:{type:"text",data:t.text,media_type:t.mime_type??""},..."cache_control"in(t.metadata??{})?{cache_control:t.metadata.cache_control}:{},..."citations"in(t.metadata??{})?{citations:t.metadata.citations}:{},..."context"in(t.metadata??{})?{context:t.metadata.context}:{},..."title"in(t.metadata??{})?{title:t.metadata.title}:{}};throw new Error(`Unsupported file mime type for file text source: ${t.mime_type}`)}else if(t.source_type==="base64"){if(e==="application/pdf"||e==="")return{type:"document",source:{type:"base64",data:t.data,media_type:"application/pdf"},..."cache_control"in(t.metadata??{})?{cache_control:t.metadata.cache_control}:{},..."citations"in(t.metadata??{})?{citations:t.metadata.citations}:{},..."context"in(t.metadata??{})?{context:t.metadata.context}:{},..."title"in(t.metadata??{})?{title:t.metadata.title}:{}};if(["image/jpeg","image/png","image/gif","image/webp"].includes(e))return{type:"document",source:{type:"content",content:[{type:"image",source:{type:"base64",data:t.data,media_type:e}}]},..."cache_control"in(t.metadata??{})?{cache_control:t.metadata.cache_control}:{},..."citations"in(t.metadata??{})?{citations:t.metadata.citations}:{},..."context"in(t.metadata??{})?{context:t.metadata.context}:{},..."title"in(t.metadata??{})?{title:t.metadata.title}:{}};throw new Error(`Unsupported file mime type for file base64 source: ${t.mime_type}`)}else throw new Error(`Unsupported file source type: ${t.source_type}`)}},Dn=t=>t();function Wn(t){return typeof t=="object"&&t!==null&&"type"in t&&t.type==="citation"}function Fn(t){function*e(){for(const s of t)Wn(s)&&(s.source==="char"?yield{type:"char_location",file_id:s.url??"",start_char_index:s.startIndex??0,end_char_index:s.endIndex??0,document_title:s.title??null,document_index:0,cited_text:s.citedText??""}:s.source==="page"?yield{type:"page_location",file_id:s.url??"",start_page_number:s.startIndex??0,end_page_number:s.endIndex??0,document_title:s.title??null,document_index:0,cited_text:s.citedText??""}:s.source==="block"?yield{type:"content_block_location",file_id:s.url??"",start_block_index:s.startIndex??0,end_block_index:s.endIndex??0,document_title:s.title??null,document_index:0,cited_text:s.citedText??""}:s.source==="url"?yield{type:"web_search_result_location",url:s.url??"",title:s.title??null,encrypted_index:String(s.startIndex??0),cited_text:s.citedText??""}:s.source==="search"&&(yield{type:"search_result_location",title:s.title??null,start_block_index:s.startIndex??0,end_block_index:s.endIndex??0,search_result_index:0,source:s.source??"",cited_text:s.citedText??""}))}return Array.from(e())}function oe(t){return typeof t=="string"?t:Hn(t)}function Hn(t){const e=[];for(let s=0,{length:n}=t;s<n;s++)e.push(String.fromCharCode(t[s]));return btoa(e.join(""))}function it(t){return(t??"").split(";")[0].toLowerCase()}function ke(t,e){if(t!=null&&typeof t=="object"&&e in t)return t[e]}function Z(t,e){const s=ke(e,"cache_control");s!==void 0&&(t.cache_control=s);const n=ke(e,"citations");n!==void 0&&(t.citations=n);const r=ke(e,"context");r!==void 0&&(t.context=r);const a=ke(e,"title");return a!==void 0&&(t.title=a),t}function ot(t,e){const s=ke(e,"cache_control");return s!==void 0&&(t.cache_control=s),t}function Jt(t){return new Set(["image/jpeg","image/png","image/gif","image/webp"]).has(t)}function Jn(t){const e=[],s=t.response_metadata,n="model_provider"in s&&s?.model_provider==="anthropic";for(const r of t.contentBlocks)if(r.type==="text")r.annotations?e.push({type:"text",text:r.text,citations:Fn(r.annotations)}):e.push({type:"text",text:r.text});else if(r.type==="tool_call")e.push({type:"tool_use",id:r.id??"",name:r.name,input:r.args});else if(r.type==="tool_call_chunk"){const a=Dn(()=>{if(typeof r.args!="string")return r.args;try{return JSON.parse(r.args)}catch{return{}}});e.push({type:"tool_use",id:r.id??"",name:r.name??"",input:a})}else if(r.type==="reasoning"&&n)e.push({type:"thinking",thinking:r.reasoning,signature:String(r.signature)});else if(r.type==="server_tool_call"&&n)r.name==="web_search"?e.push({type:"server_tool_use",name:r.name,id:r.id??"",input:r.args}):r.name==="code_execution"&&e.push({type:"server_tool_use",name:r.name,id:r.id??"",input:r.args});else if(r.type==="server_tool_call_result"&&n)if(r.name==="web_search"&&Array.isArray(r.output.urls)){const a=r.output.urls.map(i=>({type:"web_search_result",title:"",encrypted_content:"",url:i}));e.push({type:"web_search_tool_result",tool_use_id:r.toolCallId??"",content:a})}else r.name==="code_execution"?e.push({type:"code_execution_tool_result",tool_use_id:r.toolCallId??"",content:r.output}):r.name==="mcp_tool_result"&&e.push({type:"mcp_tool_result",tool_use_id:r.toolCallId??"",content:r.output});else{if(r.type==="audio")throw new Error("Anthropic does not support audio content blocks.");if(r.type==="file"){const a=r.metadata;if(r.fileId){e.push(Z({type:"document",source:{type:"file",file_id:r.fileId}},a));continue}if(r.url){const i=it(r.mimeType);if(i==="application/pdf"||i===""){e.push(Z({type:"document",source:{type:"url",url:r.url}},a));continue}}if(r.data){const i=it(r.mimeType);if(i===""||i==="application/pdf")e.push(Z({type:"document",source:{type:"base64",data:oe(r.data),media_type:"application/pdf"}},a));else if(i==="text/plain")e.push(Z({type:"document",source:{type:"text",data:oe(r.data),media_type:"text/plain"}},a));else if(Jt(i))e.push(Z({type:"document",source:{type:"content",content:[{type:"image",source:{type:"base64",data:oe(r.data),media_type:i}}]}},a));else throw new Error(`Unsupported file mime type for Anthropic base64 source: ${i}`);continue}throw new Error("File content block must include a fileId, url, or data property.")}else if(r.type==="image"){const a=r.metadata;if(r.fileId){e.push(ot({type:"image",source:{type:"file",file_id:r.fileId}},a));continue}if(r.url){e.push(ot({type:"image",source:{type:"url",url:r.url}},a));continue}if(r.data){const i=it(r.mimeType)||"image/png";Jt(i)&&e.push(ot({type:"image",source:{type:"base64",data:oe(r.data),media_type:i}},a));continue}throw new Error("Image content block must include a fileId, url, or data property.")}else r.type==="video"||(r.type==="text-plain"?r.data&&e.push(Z({type:"document",source:{type:"text",data:oe(r.data),media_type:"text/plain"}},r.metadata)):r.type==="non_standard"&&n&&e.push(r.value))}return e}function Kt(t){const e=xs({dataUrl:t});if(e)return{type:"base64",media_type:e.mime_type,data:e.data};let s;try{s=new URL(t)}catch{throw new Error([`Malformed image URL: ${JSON.stringify(t)}. Content blocks of type 'image_url' must be a valid http, https, or base64-encoded data URL.`,"Example: data:image/png;base64,/9j/4AAQSk...","Example: https://example.com/image.jpg"].join(`
|
|
2
2
|
|
|
3
3
|
`))}if(s.protocol==="http:"||s.protocol==="https:")return{type:"url",url:t};throw new Error([`Invalid image URL protocol: ${JSON.stringify(s.protocol)}. Anthropic only supports images as http, https, or base64-encoded data URLs on 'image_url' content blocks.`,"Example: data:image/png;base64,/9j/4AAQSk...","Example: https://example.com/image.jpg"].join(`
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{F as Es,aK as Ra,aL as I,V as $a,U as Pa,y as $e,L as Jn,i as Xe,ad as Ea,ap as Ma,M as Na,I as Ms,J as Ns,B as Ce,f as js,aM as ja,E as mn,aN as Kn,aO as Ua,aP as La,aQ as Da,K as Zn,aR as zn,aS as Fa,t as Ba,D as Gt}from"./index-
|
|
1
|
+
import{F as Es,aK as Ra,aL as I,V as $a,U as Pa,y as $e,L as Jn,i as Xe,ad as Ea,ap as Ma,M as Na,I as Ms,J as Ns,B as Ce,f as js,aM as ja,E as mn,aN as Kn,aO as Ua,aP as La,aQ as Da,K as Zn,aR as zn,aS as Fa,t as Ba,D as Gt}from"./index-D7mhOTIc.js";import{c as Wa,j as qa,h as Ja,f as Us,S as Hn,J as Vn,R as Xn}from"./index-o8LZS9ZF.js";import{bI as Ka,bJ as Za,bw as K,bC as ee,bG as Ls,bD as J,bx as At,bB as Q,bE as gn,bK as za}from"./index-DjkfvIWz.js";import{J as Gn,c as Ha,p as Ds,m as at}from"./llms-DCC0HMlB.js";import"./embeddings-By0Dfnxp.js";import"./index-CaVm3fHm.js";function Ge(t,e){return t.lc_error_code=e,t.message=`${t.message}
|
|
2
2
|
|
|
3
3
|
Troubleshooting URL: https://docs.langchain.com/oss/javascript/langchain/errors/${e}/
|
|
4
4
|
`,t}function O(t,e,n,s,r){if(typeof e=="function"?t!==e||!0:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return e.set(t,n),n}function c(t,e,n,s){if(n==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?s:n==="a"?s.call(t):s?s.value:e.get(t)}let Fs=function(){const{crypto:t}=globalThis;if(t?.randomUUID)return Fs=t.randomUUID.bind(t),t.randomUUID();const e=new Uint8Array(1),n=t?()=>t.getRandomValues(e)[0]:()=>Math.random()*255&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,s=>(+s^n()&15>>+s/4).toString(16))};function Qt(t){return typeof t=="object"&&t!==null&&("name"in t&&t.name==="AbortError"||"message"in t&&String(t.message).includes("FetchRequestCanceledException"))}const Yt=t=>{if(t instanceof Error)return t;if(typeof t=="object"&&t!==null){try{if(Object.prototype.toString.call(t)==="[object Error]"){const e=new Error(t.message,t.cause?{cause:t.cause}:{});return t.stack&&(e.stack=t.stack),t.cause&&!e.cause&&(e.cause=t.cause),t.name&&(e.name=t.name),e}}catch{}try{return new Error(JSON.stringify(t))}catch{}}return new Error(t)};class v extends Error{}class q extends v{constructor(e,n,s,r){super(`${q.makeMessage(e,n,s)}`),this.status=e,this.headers=r,this.requestID=r?.get("x-request-id"),this.error=n;const a=n;this.code=a?.code,this.param=a?.param,this.type=a?.type}static makeMessage(e,n,s){const r=n?.message?typeof n.message=="string"?n.message:JSON.stringify(n.message):n?JSON.stringify(n):s;return e&&r?`${e} ${r}`:e?`${e} status code (no body)`:r||"(no status code or body)"}static generate(e,n,s,r){if(!e||!r)return new Rt({message:s,cause:Yt(n)});const a=n?.error;return e===400?new Bs(e,a,s,r):e===401?new Ws(e,a,s,r):e===403?new qs(e,a,s,r):e===404?new Js(e,a,s,r):e===409?new Ks(e,a,s,r):e===422?new Zs(e,a,s,r):e===429?new zs(e,a,s,r):e>=500?new Hs(e,a,s,r):new q(e,a,s,r)}}class Y extends q{constructor({message:e}={}){super(void 0,void 0,e||"Request was aborted.",void 0)}}class Rt extends q{constructor({message:e,cause:n}){super(void 0,void 0,e||"Connection error.",void 0),n&&(this.cause=n)}}class $t extends Rt{constructor({message:e}={}){super({message:e??"Request timed out."})}}class Bs extends q{}class Ws extends q{}class qs extends q{}class Js extends q{}class Ks extends q{}class Zs extends q{}class zs extends q{}class Hs extends q{}class Vs extends v{constructor(){super("Could not parse response content as the length limit was reached")}}class Xs extends v{constructor(){super("Could not parse response content as the request was rejected by the content filter")}}class Pe extends Error{constructor(e){super(e)}}const Va=/^[a-z][a-z0-9+.-]*:/i,Xa=t=>Va.test(t);let H=t=>(H=Array.isArray,H(t)),Qn=H;function Gs(t){return typeof t!="object"?{}:t??{}}function Ga(t){if(!t)return!0;for(const e in t)return!1;return!0}function Qa(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function Wt(t){return t!=null&&typeof t=="object"&&!Array.isArray(t)}const Ya=(t,e)=>{if(typeof e!="number"||!Number.isInteger(e))throw new v(`${t} must be an integer`);if(e<0)throw new v(`${t} must be a positive integer`);return e},ei=t=>{try{return JSON.parse(t)}catch{return}},Ke=t=>new Promise(e=>setTimeout(e,t)),Oe="6.10.0",ti=()=>typeof window<"u"&&typeof window.document<"u"&&typeof navigator<"u";function ni(){return typeof Deno<"u"&&Deno.build!=null?"deno":typeof EdgeRuntime<"u"?"edge":Object.prototype.toString.call(typeof globalThis.process<"u"?globalThis.process:0)==="[object process]"?"node":"unknown"}const si=()=>{const t=ni();if(t==="deno")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Oe,"X-Stainless-OS":es(Deno.build.os),"X-Stainless-Arch":Yn(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":typeof Deno.version=="string"?Deno.version:Deno.version?.deno??"unknown"};if(typeof EdgeRuntime<"u")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Oe,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":globalThis.process.version};if(t==="node")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Oe,"X-Stainless-OS":es(globalThis.process.platform??"unknown"),"X-Stainless-Arch":Yn(globalThis.process.arch??"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":globalThis.process.version??"unknown"};const e=ri();return e?{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Oe,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${e.browser}`,"X-Stainless-Runtime-Version":e.version}:{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Oe,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}};function ri(){if(typeof navigator>"u"||!navigator)return null;const t=[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}];for(const{key:e,pattern:n}of t){const s=n.exec(navigator.userAgent);if(s){const r=s[1]||0,a=s[2]||0,i=s[3]||0;return{browser:e,version:`${r}.${a}.${i}`}}}return null}const Yn=t=>t==="x32"?"x32":t==="x86_64"||t==="x64"?"x64":t==="arm"?"arm":t==="aarch64"||t==="arm64"?"arm64":t?`other:${t}`:"unknown",es=t=>(t=t.toLowerCase(),t.includes("ios")?"iOS":t==="android"?"Android":t==="darwin"?"MacOS":t==="win32"?"Windows":t==="freebsd"?"FreeBSD":t==="openbsd"?"OpenBSD":t==="linux"?"Linux":t?`Other:${t}`:"Unknown");let ts;const ai=()=>ts??(ts=si());function ii(){if(typeof fetch<"u")return fetch;throw new Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new OpenAI({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function Qs(...t){const e=globalThis.ReadableStream;if(typeof e>"u")throw new Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new e(...t)}function Ys(t){let e=Symbol.asyncIterator in t?t[Symbol.asyncIterator]():t[Symbol.iterator]();return Qs({start(){},async pull(n){const{done:s,value:r}=await e.next();s?n.close():n.enqueue(r)},async cancel(){await e.return?.()}})}function er(t){if(t[Symbol.asyncIterator])return t;const e=t.getReader();return{async next(){try{const n=await e.read();return n?.done&&e.releaseLock(),n}catch(n){throw e.releaseLock(),n}},async return(){const n=e.cancel();return e.releaseLock(),await n,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function oi(t){if(t===null||typeof t!="object")return;if(t[Symbol.asyncIterator]){await t[Symbol.asyncIterator]().return?.();return}const e=t.getReader(),n=e.cancel();e.releaseLock(),await n}const ui=({headers:t,body:e})=>({bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(e)}),tr="RFC3986",nr=t=>String(t),ns={RFC1738:t=>String(t).replace(/%20/g,"+"),RFC3986:nr},li="RFC1738";let en=(t,e)=>(en=Object.hasOwn??Function.prototype.call.bind(Object.prototype.hasOwnProperty),en(t,e));const re=(()=>{const t=[];for(let e=0;e<256;++e)t.push("%"+((e<16?"0":"")+e.toString(16)).toUpperCase());return t})(),qt=1024,ci=(t,e,n,s,r)=>{if(t.length===0)return t;let a=t;if(typeof t=="symbol"?a=Symbol.prototype.toString.call(t):typeof t!="string"&&(a=String(t)),n==="iso-8859-1")return escape(a).replace(/%u[0-9a-f]{4}/gi,function(o){return"%26%23"+parseInt(o.slice(2),16)+"%3B"});let i="";for(let o=0;o<a.length;o+=qt){const l=a.length>=qt?a.slice(o,o+qt):a,u=[];for(let m=0;m<l.length;++m){let p=l.charCodeAt(m);if(p===45||p===46||p===95||p===126||p>=48&&p<=57||p>=65&&p<=90||p>=97&&p<=122||r===li&&(p===40||p===41)){u[u.length]=l.charAt(m);continue}if(p<128){u[u.length]=re[p];continue}if(p<2048){u[u.length]=re[192|p>>6]+re[128|p&63];continue}if(p<55296||p>=57344){u[u.length]=re[224|p>>12]+re[128|p>>6&63]+re[128|p&63];continue}m+=1,p=65536+((p&1023)<<10|l.charCodeAt(m)&1023),u[u.length]=re[240|p>>18]+re[128|p>>12&63]+re[128|p>>6&63]+re[128|p&63]}i+=u.join("")}return i};function di(t){return!t||typeof t!="object"?!1:!!(t.constructor&&t.constructor.isBuffer&&t.constructor.isBuffer(t))}function ss(t,e){if(H(t)){const n=[];for(let s=0;s<t.length;s+=1)n.push(e(t[s]));return n}return e(t)}const sr={brackets(t){return String(t)+"[]"},comma:"comma",indices(t,e){return String(t)+"["+e+"]"},repeat(t){return String(t)}},rr=function(t,e){Array.prototype.push.apply(t,H(e)?e:[e])};let rs;const j={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:ci,encodeValuesOnly:!1,format:tr,formatter:nr,indices:!1,serializeDate(t){return(rs??(rs=Function.prototype.call.bind(Date.prototype.toISOString)))(t)},skipNulls:!1,strictNullHandling:!1};function pi(t){return typeof t=="string"||typeof t=="number"||typeof t=="boolean"||typeof t=="symbol"||typeof t=="bigint"}const Jt={};function ar(t,e,n,s,r,a,i,o,l,u,m,p,f,d,b,w,$,h){let g=t,T=h,S=0,Z=!1;for(;(T=T.get(Jt))!==void 0&&!Z;){const P=T.get(t);if(S+=1,typeof P<"u"){if(P===S)throw new RangeError("Cyclic object value");Z=!0}typeof T.get(Jt)>"u"&&(S=0)}if(typeof u=="function"?g=u(e,g):g instanceof Date?g=f?.(g):n==="comma"&&H(g)&&(g=ss(g,function(P){return P instanceof Date?f?.(P):P})),g===null){if(a)return l&&!w?l(e,j.encoder,$,"key",d):e;g=""}if(pi(g)||di(g)){if(l){const P=w?e:l(e,j.encoder,$,"key",d);return[b?.(P)+"="+b?.(l(g,j.encoder,$,"value",d))]}return[b?.(e)+"="+b?.(String(g))]}const U=[];if(typeof g>"u")return U;let R;if(n==="comma"&&H(g))w&&l&&(g=ss(g,l)),R=[{value:g.length>0?g.join(",")||null:void 0}];else if(H(u))R=u;else{const P=Object.keys(g);R=m?P.sort(m):P}const F=o?String(e).replace(/\./g,"%2E"):String(e),L=s&&H(g)&&g.length===1?F+"[]":F;if(r&&H(g)&&g.length===0)return L+"[]";for(let P=0;P<R.length;++P){const M=R[P],Wn=typeof M=="object"&&typeof M.value<"u"?M.value:g[M];if(i&&Wn===null)continue;const Bt=p&&o?M.replace(/\./g,"%2E"):M,Aa=H(g)?typeof n=="function"?n(L,Bt):L:L+(p?"."+Bt:"["+Bt+"]");h.set(t,S);const qn=new WeakMap;qn.set(Jt,h),rr(U,ar(Wn,Aa,n,s,r,a,i,o,n==="comma"&&w&&H(g)?null:l,u,m,p,f,d,b,w,$,qn))}return U}function fi(t=j){if(typeof t.allowEmptyArrays<"u"&&typeof t.allowEmptyArrays!="boolean")throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof t.encodeDotInKeys<"u"&&typeof t.encodeDotInKeys!="boolean")throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(t.encoder!==null&&typeof t.encoder<"u"&&typeof t.encoder!="function")throw new TypeError("Encoder has to be a function.");const e=t.charset||j.charset;if(typeof t.charset<"u"&&t.charset!=="utf-8"&&t.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");let n=tr;if(typeof t.format<"u"){if(!en(ns,t.format))throw new TypeError("Unknown format option provided.");n=t.format}const s=ns[n];let r=j.filter;(typeof t.filter=="function"||H(t.filter))&&(r=t.filter);let a;if(t.arrayFormat&&t.arrayFormat in sr?a=t.arrayFormat:"indices"in t?a=t.indices?"indices":"repeat":a=j.arrayFormat,"commaRoundTrip"in t&&typeof t.commaRoundTrip!="boolean")throw new TypeError("`commaRoundTrip` must be a boolean, or absent");const i=typeof t.allowDots>"u"?t.encodeDotInKeys?!0:j.allowDots:!!t.allowDots;return{addQueryPrefix:typeof t.addQueryPrefix=="boolean"?t.addQueryPrefix:j.addQueryPrefix,allowDots:i,allowEmptyArrays:typeof t.allowEmptyArrays=="boolean"?!!t.allowEmptyArrays:j.allowEmptyArrays,arrayFormat:a,charset:e,charsetSentinel:typeof t.charsetSentinel=="boolean"?t.charsetSentinel:j.charsetSentinel,commaRoundTrip:!!t.commaRoundTrip,delimiter:typeof t.delimiter>"u"?j.delimiter:t.delimiter,encode:typeof t.encode=="boolean"?t.encode:j.encode,encodeDotInKeys:typeof t.encodeDotInKeys=="boolean"?t.encodeDotInKeys:j.encodeDotInKeys,encoder:typeof t.encoder=="function"?t.encoder:j.encoder,encodeValuesOnly:typeof t.encodeValuesOnly=="boolean"?t.encodeValuesOnly:j.encodeValuesOnly,filter:r,format:n,formatter:s,serializeDate:typeof t.serializeDate=="function"?t.serializeDate:j.serializeDate,skipNulls:typeof t.skipNulls=="boolean"?t.skipNulls:j.skipNulls,sort:typeof t.sort=="function"?t.sort:null,strictNullHandling:typeof t.strictNullHandling=="boolean"?t.strictNullHandling:j.strictNullHandling}}function hi(t,e={}){let n=t;const s=fi(e);let r,a;typeof s.filter=="function"?(a=s.filter,n=a("",n)):H(s.filter)&&(a=s.filter,r=a);const i=[];if(typeof n!="object"||n===null)return"";const o=sr[s.arrayFormat],l=o==="comma"&&s.commaRoundTrip;r||(r=Object.keys(n)),s.sort&&r.sort(s.sort);const u=new WeakMap;for(let f=0;f<r.length;++f){const d=r[f];s.skipNulls&&n[d]===null||rr(i,ar(n[d],d,o,l,s.allowEmptyArrays,s.strictNullHandling,s.skipNulls,s.encodeDotInKeys,s.encode?s.encoder:null,s.filter,s.sort,s.allowDots,s.serializeDate,s.format,s.formatter,s.encodeValuesOnly,s.charset,u))}const m=i.join(s.delimiter);let p=s.addQueryPrefix===!0?"?":"";return s.charsetSentinel&&(s.charset==="iso-8859-1"?p+="utf8=%26%2310003%3B&":p+="utf8=%E2%9C%93&"),m.length>0?p+m:""}function mi(t){let e=0;for(const r of t)e+=r.length;const n=new Uint8Array(e);let s=0;for(const r of t)n.set(r,s),s+=r.length;return n}let as;function _n(t){let e;return(as??(e=new globalThis.TextEncoder,as=e.encode.bind(e)))(t)}let is;function os(t){let e;return(is??(e=new globalThis.TextDecoder,is=e.decode.bind(e)))(t)}var V,X;class Pt{constructor(){V.set(this,void 0),X.set(this,void 0),O(this,V,new Uint8Array),O(this,X,null)}decode(e){if(e==null)return[];const n=e instanceof ArrayBuffer?new Uint8Array(e):typeof e=="string"?_n(e):e;O(this,V,mi([c(this,V,"f"),n]));const s=[];let r;for(;(r=gi(c(this,V,"f"),c(this,X,"f")))!=null;){if(r.carriage&&c(this,X,"f")==null){O(this,X,r.index);continue}if(c(this,X,"f")!=null&&(r.index!==c(this,X,"f")+1||r.carriage)){s.push(os(c(this,V,"f").subarray(0,c(this,X,"f")-1))),O(this,V,c(this,V,"f").subarray(c(this,X,"f"))),O(this,X,null);continue}const a=c(this,X,"f")!==null?r.preceding-1:r.preceding,i=os(c(this,V,"f").subarray(0,a));s.push(i),O(this,V,c(this,V,"f").subarray(r.index)),O(this,X,null)}return s}flush(){return c(this,V,"f").length?this.decode(`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{p as y,e as E,m as x,_ as g,i as P,a as $,b as N,T as f,v as O,C as A,c as I,d as L,f as S,g as J,o as F,s as R,h as M,j as B,k as b,A as C,l as _,n as j}from"./index-
|
|
1
|
+
import{p as y,e as E,m as x,_ as g,i as P,a as $,b as N,T as f,v as O,C as A,c as I,d as L,f as S,g as J,o as F,s as R,h as M,j as B,k as b,A as C,l as _,n as j}from"./index-D7mhOTIc.js";import{B as Z,i as W,a as H,b as K,c as V}from"./index-o8LZS9ZF.js";import{p as q}from"./index-DjkfvIWz.js";var z={};J(z,{BaseToolkit:()=>G,DynamicStructuredTool:()=>k,DynamicTool:()=>D,StructuredTool:()=>T,Tool:()=>w,ToolInputParsingException:()=>f,isLangChainTool:()=>V,isRunnableToolLike:()=>K,isStructuredTool:()=>H,isStructuredToolParams:()=>W,tool:()=>Q});var T=class extends Z{extras;returnDirect=!1;verboseParsingErrors=!1;get lc_namespace(){return["langchain","tools"]}responseFormat="content";defaultConfig;constructor(t){super(t??{}),this.verboseParsingErrors=t?.verboseParsingErrors??this.verboseParsingErrors,this.responseFormat=t?.responseFormat??this.responseFormat,this.defaultConfig=t?.defaultConfig??this.defaultConfig,this.metadata=t?.metadata??this.metadata,this.extras=t?.extras??this.extras}async invoke(t,e){let a,s=E(x(this.defaultConfig,e));return g(t)?(a=t.args,s={...s,toolCall:t}):a=t,this.call(a,s)}async call(t,e,a){const s=g(t)?t.args:t;let u;if(P(this.schema))try{u=await $(this.schema,s)}catch(c){let o="Received tool input did not match expected schema";throw this.verboseParsingErrors&&(o=`${o}
|
|
2
2
|
Details: ${c.message}`),N(c)&&(o=`${o}
|
|
3
3
|
|
|
4
4
|
${q(c)}`),new f(o,JSON.stringify(t))}else{const c=O(s,this.schema);if(!c.valid){let o="Received tool input did not match expected schema";throw this.verboseParsingErrors&&(o=`${o}
|