@elizaos/core 1.6.4-alpha.7 → 1.6.4-alpha.8
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.
|
@@ -49,7 +49,7 @@ Please make sure you are calling this method within a traceable function and tha
|
|
|
49
49
|
* https://github.com/Starcounter-Jack/JSON-Patch
|
|
50
50
|
* (c) 2013-2021 Joachim Wester
|
|
51
51
|
* MIT license
|
|
52
|
-
*/var DB={...CO,JsonPatchError:Q_,deepClone:O8,escapePathComponent:z1,unescapePathComponent:OP};var uJ=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i;function $C($){return typeof $==="string"&&uJ.test($)}var xJ=$C;function qC($){if(!xJ($))throw TypeError("Invalid UUID");var q,K=new Uint8Array(16);return K[0]=(q=parseInt($.slice(0,8),16))>>>24,K[1]=q>>>16&255,K[2]=q>>>8&255,K[3]=q&255,K[4]=(q=parseInt($.slice(9,13),16))>>>8,K[5]=q&255,K[6]=(q=parseInt($.slice(14,18),16))>>>8,K[7]=q&255,K[8]=(q=parseInt($.slice(19,23),16))>>>8,K[9]=q&255,K[10]=(q=parseInt($.slice(24,36),16))/1099511627776&255,K[11]=q/4294967296&255,K[12]=q>>>24&255,K[13]=q>>>16&255,K[14]=q>>>8&255,K[15]=q&255,K}var cJ=qC;var Zq=[];for(vP=0;vP<256;++vP)Zq.push((vP+256).toString(16).slice(1));var vP;function J1($,q=0){return(Zq[$[q+0]]+Zq[$[q+1]]+Zq[$[q+2]]+Zq[$[q+3]]+"-"+Zq[$[q+4]]+Zq[$[q+5]]+"-"+Zq[$[q+6]]+Zq[$[q+7]]+"-"+Zq[$[q+8]]+Zq[$[q+9]]+"-"+Zq[$[q+10]]+Zq[$[q+11]]+Zq[$[q+12]]+Zq[$[q+13]]+Zq[$[q+14]]+Zq[$[q+15]]).toLowerCase()}var T1,KC=new Uint8Array(16);function EO(){if(!T1){if(T1=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!T1)throw Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported")}return T1(KC)}function _C($){$=unescape(encodeURIComponent($));var q=[];for(var K=0;K<$.length;++K)q.push($.charCodeAt(K));return q}var PC="6ba7b810-9dad-11d1-80b4-00c04fd430c8",jC="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function hO($,q,K){function P(_,O,j,z){var J;if(typeof _==="string")_=_C(_);if(typeof O==="string")O=cJ(O);if(((J=O)===null||J===void 0?void 0:J.length)!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");var w=new Uint8Array(16+_.length);if(w.set(O),w.set(_,O.length),w=K(w),w[6]=w[6]&15|q,w[8]=w[8]&63|128,j){z=z||0;for(var k=0;k<16;++k)j[z+k]=w[k];return j}return J1(w)}try{P.name=$}catch(_){}return P.DNS=PC,P.URL=jC,P}var OC=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),RO={randomUUID:OC};function YC($,q,K){if(RO.randomUUID&&!q&&!$)return RO.randomUUID();$=$||{};var P=$.random||($.rng||EO)();if(P[6]=P[6]&15|64,P[8]=P[8]&63|128,q){K=K||0;for(var _=0;_<16;++_)q[K+_]=P[_];return q}return J1(P)}var qK=YC;function vC($,q,K,P){switch($){case 0:return q&K^~q&P;case 1:return q^K^P;case 2:return q&K^q&P^K&P;case 3:return q^K^P}}function IO($,q){return $<<q|$>>>32-q}function zC($){var q=[1518500249,1859775393,2400959708,3395469782],K=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof $==="string"){var P=unescape(encodeURIComponent($));$=[];for(var _=0;_<P.length;++_)$.push(P.charCodeAt(_))}else if(!Array.isArray($))$=Array.prototype.slice.call($);$.push(128);var O=$.length/4+2,j=Math.ceil(O/16),z=Array(j);for(var J=0;J<j;++J){var w=new Uint32Array(16);for(var k=0;k<16;++k)w[k]=$[J*64+k*4]<<24|$[J*64+k*4+1]<<16|$[J*64+k*4+2]<<8|$[J*64+k*4+3];z[J]=w}z[j-1][14]=($.length-1)*8/Math.pow(2,32),z[j-1][14]=Math.floor(z[j-1][14]),z[j-1][15]=($.length-1)*8&4294967295;for(var X=0;X<j;++X){var G=new Uint32Array(80);for(var V=0;V<16;++V)G[V]=z[X][V];for(var C=16;C<80;++C)G[C]=IO(G[C-3]^G[C-8]^G[C-14]^G[C-16],1);var E=K[0],h=K[1],I=K[2],D=K[3],g=K[4];for(var y=0;y<80;++y){var u=Math.floor(y/20),p=IO(E,5)+vC(u,h,I,D)+g+q[u]+G[y]>>>0;g=D,D=I,I=IO(h,30)>>>0,h=E,E=p}K[0]=K[0]+E>>>0,K[1]=K[1]+h>>>0,K[2]=K[2]+I>>>0,K[3]=K[3]+D>>>0,K[4]=K[4]+g>>>0}return[K[0]>>24&255,K[0]>>16&255,K[0]>>8&255,K[0]&255,K[1]>>24&255,K[1]>>16&255,K[1]>>8&255,K[1]&255,K[2]>>24&255,K[2]>>16&255,K[2]>>8&255,K[2]&255,K[3]>>24&255,K[3]>>16&255,K[3]>>8&255,K[3]&255,K[4]>>24&255,K[4]>>16&255,K[4]>>8&255,K[4]&255]}var pJ=zC;var WC=hO("v5",80,pJ),w1=WC;var dJ="gen_ai.operation.name",lJ="gen_ai.system",DO="gen_ai.request.model",rJ="gen_ai.response.model",LO="gen_ai.usage.input_tokens",bO="gen_ai.usage.output_tokens",gO="gen_ai.usage.total_tokens",oJ="gen_ai.request.max_tokens",nJ="gen_ai.request.temperature",iJ="gen_ai.request.top_p",BJ="gen_ai.request.frequency_penalty",tJ="gen_ai.request.presence_penalty",UJ="gen_ai.response.finish_reasons",FJ="gen_ai.prompt",aJ="gen_ai.completion",QJ="gen_ai.request.extra_query",eJ="gen_ai.request.extra_body",sJ="gen_ai.serialized.name",$T="gen_ai.serialized.signature",qT="gen_ai.serialized.doc",KT="gen_ai.response.id",_T="gen_ai.response.service_tier",PT="gen_ai.response.system_fingerprint",jT="gen_ai.usage.input_token_details",OT="gen_ai.usage.output_token_details",YT="langsmith.trace.session_id",vT="langsmith.trace.session_name",zT="langsmith.span.kind",WT="langsmith.trace.name",HT="langsmith.metadata",yO="langsmith.span.tags";var JT="langsmith.request.streaming",TT="langsmith.request.headers";var JC=(...$)=>fetch(...$),wT=Symbol.for("ls:fetch_implementation");var ZT=()=>{let $=globalThis[wT];if(!$)return!1;return typeof $==="function"&&"Headers"in $&&"Request"in $&&"Response"in $},fT=($)=>{return async(...q)=>{if($||c6("DEBUG")==="true"){let[P,_]=q;console.log(`→ ${_?.method||"GET"} ${P}`)}let K=await(globalThis[wT]??JC)(...q);if($||c6("DEBUG")==="true")console.log(`← ${K.status} ${K.statusText} ${K.url}`);return K}};var zP=()=>{return c6("PROJECT")??Qq("LANGCHAIN_SESSION")??"default"};var Z1="0.3.74";var g8,TC=()=>typeof window<"u"&&typeof window.document<"u",wC=()=>typeof globalThis==="object"&&globalThis.constructor&&globalThis.constructor.name==="DedicatedWorkerGlobalScope",ZC=()=>typeof window<"u"&&window.name==="nodejs"||typeof navigator<"u"&&navigator.userAgent.includes("jsdom"),XT=()=>typeof Deno<"u",fC=()=>typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"&&!XT(),cO=()=>{if(g8)return g8;if(typeof Bun<"u")g8="bun";else if(TC())g8="browser";else if(fC())g8="node";else if(wC())g8="webworker";else if(ZC())g8="jsdom";else if(XT())g8="deno";else g8="other";return g8},uO;function f1(){if(uO===void 0){let $=cO(),q=kC();uO={library:"langsmith",runtime:$,sdk:"langsmith-js",sdk_version:Z1,...q}}return uO}function pO(){let $=XC(),q={},K=["LANGCHAIN_API_KEY","LANGCHAIN_ENDPOINT","LANGCHAIN_TRACING_V2","LANGCHAIN_PROJECT","LANGCHAIN_SESSION","LANGSMITH_API_KEY","LANGSMITH_ENDPOINT","LANGSMITH_TRACING_V2","LANGSMITH_PROJECT","LANGSMITH_SESSION"];for(let[P,_]of Object.entries($))if(typeof _==="string"&&!K.includes(P)&&!P.toLowerCase().includes("key")&&!P.toLowerCase().includes("secret")&&!P.toLowerCase().includes("token"))if(P==="LANGCHAIN_REVISION_ID")q.revision_id=_;else q[P]=_;return q}function XC(){let $={};try{if(typeof process<"u"&&process.env){for(let[q,K]of Object.entries(process.env))if((q.startsWith("LANGCHAIN_")||q.startsWith("LANGSMITH_"))&&K!=null)if((q.toLowerCase().includes("key")||q.toLowerCase().includes("secret")||q.toLowerCase().includes("token"))&&typeof K==="string")$[q]=K.slice(0,2)+"*".repeat(K.length-4)+K.slice(-2);else $[q]=K}}catch(q){}return $}function Qq($){try{return typeof process<"u"?process.env?.[$]:void 0}catch(q){return}}function c6($){return Qq(`LANGSMITH_${$}`)||Qq(`LANGCHAIN_${$}`)}var xO;function kC(){if(xO!==void 0)return xO;let $=["VERCEL_GIT_COMMIT_SHA","NEXT_PUBLIC_VERCEL_GIT_COMMIT_SHA","COMMIT_REF","RENDER_GIT_COMMIT","CI_COMMIT_SHA","CIRCLE_SHA1","CF_PAGES_COMMIT_SHA","REACT_APP_GIT_SHA","SOURCE_VERSION","GITHUB_SHA","TRAVIS_COMMIT","GIT_COMMIT","BUILD_VCS_NUMBER","bamboo_planRepository_revision","Build.SourceVersion","BITBUCKET_COMMIT","DRONE_COMMIT_SHA","SEMAPHORE_GIT_SHA","BUILDKITE_COMMIT"],q={};for(let K of $){let P=Qq(K);if(P!==void 0)q[K]=P}return xO=q,q}function X1(){return Qq("OTEL_ENABLED")==="true"||c6("OTEL_ENABLED")==="true"}class AT{constructor(){Object.defineProperty(this,"hasWarned",{enumerable:!0,configurable:!0,writable:!0,value:!1})}startActiveSpan($,...q){if(!this.hasWarned&&X1())console.warn('You have enabled OTEL export via the `OTEL_ENABLED` or `LANGSMITH_OTEL_ENABLED` environment variable, but have not initialized the required OTEL instances. Please add:\n```\nimport { initializeOTEL } from "langsmith/experimental/otel/setup";\ninitializeOTEL();\n```\nat the beginning of your code.'),this.hasWarned=!0;let K;if(q.length===1&&typeof q[0]==="function")K=q[0];else if(q.length===2&&typeof q[1]==="function")K=q[1];else if(q.length===3&&typeof q[2]==="function")K=q[2];if(typeof K==="function")return K();return}}class GT{constructor(){Object.defineProperty(this,"mockTracer",{enumerable:!0,configurable:!0,writable:!0,value:new AT})}getTracer($,q){return this.mockTracer}getActiveSpan(){return}setSpan($,q){return $}getSpan($){return}setSpanContext($,q){return $}getTracerProvider(){return}setGlobalTracerProvider($){return!1}}class VT{active(){return{}}with($,q){return q()}}var mO=Symbol.for("ls:otel_trace"),dO=Symbol.for("ls:otel_context"),kT=Symbol.for("ls:otel_get_default_otlp_tracer_provider"),AC=new GT,GC=new VT;class ST{getTraceInstance(){return globalThis[mO]??AC}getContextInstance(){return globalThis[dO]??GC}initializeGlobalInstances($){if(globalThis[mO]===void 0)globalThis[mO]=$.trace;if(globalThis[dO]===void 0)globalThis[dO]=$.context}setDefaultOTLPTracerComponents($){globalThis[kT]=$}getDefaultOTLPTracerComponents(){return globalThis[kT]??void 0}}var lO=new ST;function k1(){return lO.getTraceInstance()}function MT(){return lO.getContextInstance()}function NT(){return lO.getDefaultOTLPTracerComponents()}var VC={llm:"chat",tool:"execute_tool",retriever:"embeddings",embedding:"embeddings",prompt:"chat"};function SC($){return VC[$]||$}class rO{constructor(){Object.defineProperty(this,"spans",{enumerable:!0,configurable:!0,writable:!0,value:new Map})}exportBatch($,q){for(let K of $)try{if(!K.run)continue;if(K.operation==="post"){let P=this.createSpanForRun(K,K.run,q.get(K.id));if(P&&!K.run.end_time)this.spans.set(K.id,P)}else this.updateSpanForRun(K,K.run)}catch(P){console.error(`Error processing operation ${K.id}:`,P)}}createSpanForRun($,q,K){let P=K&&k1().getSpan(K);if(!P)return;try{return this.finishSpanSetup(P,q,$)}catch(_){console.error(`Failed to create span for run ${$.id}:`,_);return}}finishSpanSetup($,q,K){if(this.setSpanAttributes($,q,K),q.error)$.setStatus({code:2}),$.recordException(Error(q.error));else $.setStatus({code:1});if(q.end_time)$.end(new Date(q.end_time));return $}updateSpanForRun($,q){try{let K=this.spans.get($.id);if(!K){console.debug(`No span found for run ${$.id} during update`);return}if(this.setSpanAttributes(K,q,$),q.error)K.setStatus({code:2}),K.recordException(Error(q.error));else K.setStatus({code:1});let P=q.end_time;if(P)K.end(new Date(P)),this.spans.delete($.id)}catch(K){console.error(`Failed to update span for run ${$.id}:`,K)}}extractModelName($){if($.extra?.metadata){let q=$.extra.metadata;if(q.ls_model_name)return q.ls_model_name;if(q.invocation_params){let K=q.invocation_params;if(K.model)return K.model;else if(K.model_name)return K.model_name}}return}setSpanAttributes($,q,K){if("run_type"in q&&q.run_type){$.setAttribute(zT,q.run_type);let j=SC(q.run_type||"chain");$.setAttribute(dJ,j)}if("name"in q&&q.name)$.setAttribute(WT,q.name);if("session_id"in q&&q.session_id)$.setAttribute(YT,q.session_id);if("session_name"in q&&q.session_name)$.setAttribute(vT,q.session_name);this.setGenAiSystem($,q);let P=this.extractModelName(q);if(P)$.setAttribute(DO,P);if("prompt_tokens"in q&&typeof q.prompt_tokens==="number")$.setAttribute(LO,q.prompt_tokens);if("completion_tokens"in q&&typeof q.completion_tokens==="number")$.setAttribute(bO,q.completion_tokens);if("total_tokens"in q&&typeof q.total_tokens==="number")$.setAttribute(gO,q.total_tokens);this.setInvocationParameters($,q);let _=q.extra?.metadata||{};for(let[j,z]of Object.entries(_))if(z!==null&&z!==void 0)$.setAttribute(`${HT}.${j}`,String(z));let O=q.tags;if(O&&Array.isArray(O))$.setAttribute(yO,O.join(", "));else if(O)$.setAttribute(yO,String(O));if("serialized"in q&&typeof q.serialized==="object"){let j=q.serialized;if(j.name)$.setAttribute(sJ,String(j.name));if(j.signature)$.setAttribute($T,String(j.signature));if(j.doc)$.setAttribute(qT,String(j.doc))}this.setIOAttributes($,K)}setGenAiSystem($,q){let K="langchain",P=this.extractModelName(q);if(P){let _=P.toLowerCase();if(_.includes("anthropic")||_.startsWith("claude"))K="anthropic";else if(_.includes("bedrock"))K="aws.bedrock";else if(_.includes("azure")&&_.includes("openai"))K="az.ai.openai";else if(_.includes("azure")&&_.includes("inference"))K="az.ai.inference";else if(_.includes("cohere"))K="cohere";else if(_.includes("deepseek"))K="deepseek";else if(_.includes("gemini"))K="gemini";else if(_.includes("groq"))K="groq";else if(_.includes("watson")||_.includes("ibm"))K="ibm.watsonx.ai";else if(_.includes("mistral"))K="mistral_ai";else if(_.includes("gpt")||_.includes("openai"))K="openai";else if(_.includes("perplexity")||_.includes("sonar"))K="perplexity";else if(_.includes("vertex"))K="vertex_ai";else if(_.includes("xai")||_.includes("grok"))K="xai"}$.setAttribute(lJ,K)}setInvocationParameters($,q){if(!q.extra?.metadata?.invocation_params)return;let K=q.extra.metadata.invocation_params;if(K.max_tokens!==void 0)$.setAttribute(oJ,K.max_tokens);if(K.temperature!==void 0)$.setAttribute(nJ,K.temperature);if(K.top_p!==void 0)$.setAttribute(iJ,K.top_p);if(K.frequency_penalty!==void 0)$.setAttribute(BJ,K.frequency_penalty);if(K.presence_penalty!==void 0)$.setAttribute(tJ,K.presence_penalty)}setIOAttributes($,q){if(q.run.inputs)try{let K=q.run.inputs;if(typeof K==="object"&&K!==null){if(K.model&&Array.isArray(K.messages))$.setAttribute(DO,K.model);if(K.stream!==void 0)$.setAttribute(JT,K.stream);if(K.extra_headers)$.setAttribute(TT,JSON.stringify(K.extra_headers));if(K.extra_query)$.setAttribute(QJ,JSON.stringify(K.extra_query));if(K.extra_body)$.setAttribute(eJ,JSON.stringify(K.extra_body))}$.setAttribute(FJ,JSON.stringify(K))}catch(K){console.debug(`Failed to process inputs for run ${q.id}`,K)}if(q.run.outputs)try{let K=q.run.outputs,P=this.getUnifiedRunTokens(K);if(P)$.setAttribute(LO,P[0]),$.setAttribute(bO,P[1]),$.setAttribute(gO,P[0]+P[1]);if(K&&typeof K==="object"){if(K.model)$.setAttribute(rJ,String(K.model));if(K.id)$.setAttribute(KT,K.id);if(K.choices&&Array.isArray(K.choices)){let _=K.choices.map((O)=>O.finish_reason).filter((O)=>O).map(String);if(_.length>0)$.setAttribute(UJ,_.join(", "))}if(K.service_tier)$.setAttribute(_T,K.service_tier);if(K.system_fingerprint)$.setAttribute(PT,K.system_fingerprint);if(K.usage_metadata&&typeof K.usage_metadata==="object"){let _=K.usage_metadata;if(_.input_token_details)$.setAttribute(jT,JSON.stringify(_.input_token_details));if(_.output_token_details)$.setAttribute(OT,JSON.stringify(_.output_token_details))}}$.setAttribute(aJ,JSON.stringify(K))}catch(K){console.debug(`Failed to process outputs for run ${q.id}`,K)}}getUnifiedRunTokens($){if(!$)return null;let q=this.extractUnifiedRunTokens($.usage_metadata);if(q)return q;let K=Object.keys($);for(let O of K){let j=$[O];if(!j||typeof j!=="object")continue;if(q=this.extractUnifiedRunTokens(j.usage_metadata),q)return q;if(j.lc===1&&j.kwargs&&typeof j.kwargs==="object"){if(q=this.extractUnifiedRunTokens(j.kwargs.usage_metadata),q)return q}}let P=$.generations||[];if(!Array.isArray(P))return null;let _=Array.isArray(P[0])?P.flat():P;for(let O of _)if(typeof O==="object"&&O.message&&typeof O.message==="object"&&O.message.kwargs&&typeof O.message.kwargs==="object"){if(q=this.extractUnifiedRunTokens(O.message.kwargs.usage_metadata),q)return q}return null}extractUnifiedRunTokens($){if(!$||typeof $!=="object")return null;if(typeof $.input_tokens!=="number"||typeof $.output_tokens!=="number")return null;return[$.input_tokens,$.output_tokens]}}var mT=Dq(P1(),1),M1=Dq(S1(),1),yC=[429,500,502,503,504];class N1{constructor($){if(Object.defineProperty(this,"maxConcurrency",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"maxRetries",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"queue",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onFailedResponseHook",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxConcurrency=$.maxConcurrency??1/0,this.maxRetries=$.maxRetries??6,"default"in M1.default)this.queue=new M1.default.default({concurrency:this.maxConcurrency});else this.queue=new M1.default({concurrency:this.maxConcurrency});this.onFailedResponseHook=$?.onFailedResponseHook}call($,...q){let K=this.onFailedResponseHook;return this.queue.add(()=>mT.default(()=>$(...q).catch((P)=>{if(P instanceof Error)throw P;else throw Error(P)}),{async onFailedAttempt(P){if(P.message.startsWith("Cancel")||P.message.startsWith("TimeoutError")||P.name==="TimeoutError"||P.message.startsWith("AbortError"))throw P;if(P?.code==="ECONNABORTED")throw P;let _=P?.response;if(K){if(await K(_))return}let O=_?.status??P?.status;if(O){if(!yC.includes(+O))throw P}},retries:this.maxRetries,randomize:!0}),{throwOnTimeout:!0})}callWithOptions($,q,...K){if($.signal)return Promise.race([this.call(q,...K),new Promise((P,_)=>{$.signal?.addEventListener("abort",()=>{_(Error("AbortError"))})})]);return this.call(q,...K)}}function iO($){return typeof $?._getType==="function"}function BO($){let q={type:$._getType(),data:{content:$.content}};if($?.additional_kwargs&&Object.keys($.additional_kwargs).length>0)q.data.additional_kwargs={...$.additional_kwargs};return q}var uC=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function _6($,q){if(!uC.test($)){let K=q!==void 0?`Invalid UUID for ${q}: ${$}`:`Invalid UUID: ${$}`;throw Error(K)}return $}var dT={};function HP($){if(!dT[$])console.warn($),dT[$]=!0}var RR=Dq(DZ(),1);function KK($){if(!$||$.split("/").length>2||$.startsWith("/")||$.endsWith("/")||$.split(":").length>2)throw Error(`Invalid identifier format: ${$}`);let[q,K]=$.split(":"),P=K||"latest";if(q.includes("/")){let[_,O]=q.split("/",2);if(!_||!O)throw Error(`Invalid identifier format: ${$}`);return[_,O,P]}else{if(!q)throw Error(`Invalid identifier format: ${$}`);return["-",q,P]}}class LZ extends Error{constructor($){super($);Object.defineProperty(this,"status",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name="LangSmithConflictError",this.status=409}}async function a$($,q,K){let P;if($.ok){if(K)P=await $.text();return}if($.status===403)try{if((await $.json())?.error==="org_scoped_key_requires_workspace")P="This API key is org-scoped and requires workspace specification. Please provide 'workspaceId' parameter, or set LANGSMITH_WORKSPACE_ID environment variable."}catch(j){let z=Error(`${$.status} ${$.statusText}`);throw z.status=$?.status,z}if(P===void 0)try{P=await $.text()}catch(j){P=""}let _=`Failed to ${q}. Received status [${$.status}]: ${$.statusText}. Message: ${P}`;if($.status===409)throw new LZ(_);let O=Error(_);throw O.status=$.status,O}var bZ="ERR_CONFLICTING_ENDPOINTS";class v2 extends Error{constructor(){super("You cannot provide both LANGSMITH_ENDPOINT / LANGCHAIN_ENDPOINT and LANGSMITH_RUNS_ENDPOINTS.");Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:bZ}),this.name="ConflictingEndpointsError"}}function gZ($){return typeof $==="object"&&$!==null&&$.code===bZ}var yZ="[...]",IR={result:"[Circular]"},m1=[],$4=[],DR=new TextEncoder;function LR(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function p1($){return DR.encode($)}function uZ($){if($&&typeof $==="object"&&$!==null){if($ instanceof Map)return Object.fromEntries($);else if($ instanceof Set)return Array.from($);else if($ instanceof Date)return $.toISOString();else if($ instanceof RegExp)return $.toString();else if($ instanceof Error)return{name:$.name,message:$.message}}else if(typeof $==="bigint")return $.toString();return $}function bR($){return function(q,K){if($){let P=$.call(this,q,K);if(P!==void 0)return P}return uZ(K)}}function oq($,q,K,P,_){try{let O=JSON.stringify($,bR(K),P);return p1(O)}catch(O){if(!O.message?.includes("Converting circular structure to JSON"))return console.warn(`[WARNING]: LangSmith received unserializable value.${q?`
|
|
52
|
+
*/var DB={...CO,JsonPatchError:Q_,deepClone:O8,escapePathComponent:z1,unescapePathComponent:OP};var uJ=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i;function $C($){return typeof $==="string"&&uJ.test($)}var xJ=$C;function qC($){if(!xJ($))throw TypeError("Invalid UUID");var q,K=new Uint8Array(16);return K[0]=(q=parseInt($.slice(0,8),16))>>>24,K[1]=q>>>16&255,K[2]=q>>>8&255,K[3]=q&255,K[4]=(q=parseInt($.slice(9,13),16))>>>8,K[5]=q&255,K[6]=(q=parseInt($.slice(14,18),16))>>>8,K[7]=q&255,K[8]=(q=parseInt($.slice(19,23),16))>>>8,K[9]=q&255,K[10]=(q=parseInt($.slice(24,36),16))/1099511627776&255,K[11]=q/4294967296&255,K[12]=q>>>24&255,K[13]=q>>>16&255,K[14]=q>>>8&255,K[15]=q&255,K}var cJ=qC;var Zq=[];for(vP=0;vP<256;++vP)Zq.push((vP+256).toString(16).slice(1));var vP;function J1($,q=0){return(Zq[$[q+0]]+Zq[$[q+1]]+Zq[$[q+2]]+Zq[$[q+3]]+"-"+Zq[$[q+4]]+Zq[$[q+5]]+"-"+Zq[$[q+6]]+Zq[$[q+7]]+"-"+Zq[$[q+8]]+Zq[$[q+9]]+"-"+Zq[$[q+10]]+Zq[$[q+11]]+Zq[$[q+12]]+Zq[$[q+13]]+Zq[$[q+14]]+Zq[$[q+15]]).toLowerCase()}var T1,KC=new Uint8Array(16);function EO(){if(!T1){if(T1=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!T1)throw Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported")}return T1(KC)}function _C($){$=unescape(encodeURIComponent($));var q=[];for(var K=0;K<$.length;++K)q.push($.charCodeAt(K));return q}var PC="6ba7b810-9dad-11d1-80b4-00c04fd430c8",jC="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function hO($,q,K){function P(_,O,j,z){var J;if(typeof _==="string")_=_C(_);if(typeof O==="string")O=cJ(O);if(((J=O)===null||J===void 0?void 0:J.length)!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");var w=new Uint8Array(16+_.length);if(w.set(O),w.set(_,O.length),w=K(w),w[6]=w[6]&15|q,w[8]=w[8]&63|128,j){z=z||0;for(var k=0;k<16;++k)j[z+k]=w[k];return j}return J1(w)}try{P.name=$}catch(_){}return P.DNS=PC,P.URL=jC,P}var OC=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),RO={randomUUID:OC};function YC($,q,K){if(RO.randomUUID&&!q&&!$)return RO.randomUUID();$=$||{};var P=$.random||($.rng||EO)();if(P[6]=P[6]&15|64,P[8]=P[8]&63|128,q){K=K||0;for(var _=0;_<16;++_)q[K+_]=P[_];return q}return J1(P)}var qK=YC;function vC($,q,K,P){switch($){case 0:return q&K^~q&P;case 1:return q^K^P;case 2:return q&K^q&P^K&P;case 3:return q^K^P}}function IO($,q){return $<<q|$>>>32-q}function zC($){var q=[1518500249,1859775393,2400959708,3395469782],K=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof $==="string"){var P=unescape(encodeURIComponent($));$=[];for(var _=0;_<P.length;++_)$.push(P.charCodeAt(_))}else if(!Array.isArray($))$=Array.prototype.slice.call($);$.push(128);var O=$.length/4+2,j=Math.ceil(O/16),z=Array(j);for(var J=0;J<j;++J){var w=new Uint32Array(16);for(var k=0;k<16;++k)w[k]=$[J*64+k*4]<<24|$[J*64+k*4+1]<<16|$[J*64+k*4+2]<<8|$[J*64+k*4+3];z[J]=w}z[j-1][14]=($.length-1)*8/Math.pow(2,32),z[j-1][14]=Math.floor(z[j-1][14]),z[j-1][15]=($.length-1)*8&4294967295;for(var X=0;X<j;++X){var G=new Uint32Array(80);for(var V=0;V<16;++V)G[V]=z[X][V];for(var C=16;C<80;++C)G[C]=IO(G[C-3]^G[C-8]^G[C-14]^G[C-16],1);var E=K[0],h=K[1],I=K[2],D=K[3],g=K[4];for(var y=0;y<80;++y){var u=Math.floor(y/20),p=IO(E,5)+vC(u,h,I,D)+g+q[u]+G[y]>>>0;g=D,D=I,I=IO(h,30)>>>0,h=E,E=p}K[0]=K[0]+E>>>0,K[1]=K[1]+h>>>0,K[2]=K[2]+I>>>0,K[3]=K[3]+D>>>0,K[4]=K[4]+g>>>0}return[K[0]>>24&255,K[0]>>16&255,K[0]>>8&255,K[0]&255,K[1]>>24&255,K[1]>>16&255,K[1]>>8&255,K[1]&255,K[2]>>24&255,K[2]>>16&255,K[2]>>8&255,K[2]&255,K[3]>>24&255,K[3]>>16&255,K[3]>>8&255,K[3]&255,K[4]>>24&255,K[4]>>16&255,K[4]>>8&255,K[4]&255]}var pJ=zC;var WC=hO("v5",80,pJ),w1=WC;var dJ="gen_ai.operation.name",lJ="gen_ai.system",DO="gen_ai.request.model",rJ="gen_ai.response.model",LO="gen_ai.usage.input_tokens",bO="gen_ai.usage.output_tokens",gO="gen_ai.usage.total_tokens",oJ="gen_ai.request.max_tokens",nJ="gen_ai.request.temperature",iJ="gen_ai.request.top_p",BJ="gen_ai.request.frequency_penalty",tJ="gen_ai.request.presence_penalty",UJ="gen_ai.response.finish_reasons",FJ="gen_ai.prompt",aJ="gen_ai.completion",QJ="gen_ai.request.extra_query",eJ="gen_ai.request.extra_body",sJ="gen_ai.serialized.name",$T="gen_ai.serialized.signature",qT="gen_ai.serialized.doc",KT="gen_ai.response.id",_T="gen_ai.response.service_tier",PT="gen_ai.response.system_fingerprint",jT="gen_ai.usage.input_token_details",OT="gen_ai.usage.output_token_details",YT="langsmith.trace.session_id",vT="langsmith.trace.session_name",zT="langsmith.span.kind",WT="langsmith.trace.name",HT="langsmith.metadata",yO="langsmith.span.tags";var JT="langsmith.request.streaming",TT="langsmith.request.headers";var JC=(...$)=>fetch(...$),wT=Symbol.for("ls:fetch_implementation");var ZT=()=>{let $=globalThis[wT];if(!$)return!1;return typeof $==="function"&&"Headers"in $&&"Request"in $&&"Response"in $},fT=($)=>{return async(...q)=>{if($||c6("DEBUG")==="true"){let[P,_]=q;console.log(`→ ${_?.method||"GET"} ${P}`)}let K=await(globalThis[wT]??JC)(...q);if($||c6("DEBUG")==="true")console.log(`← ${K.status} ${K.statusText} ${K.url}`);return K}};var zP=()=>{return c6("PROJECT")??Qq("LANGCHAIN_SESSION")??"default"};var Z1="0.3.75";var g8,TC=()=>typeof window<"u"&&typeof window.document<"u",wC=()=>typeof globalThis==="object"&&globalThis.constructor&&globalThis.constructor.name==="DedicatedWorkerGlobalScope",ZC=()=>typeof window<"u"&&window.name==="nodejs"||typeof navigator<"u"&&navigator.userAgent.includes("jsdom"),XT=()=>typeof Deno<"u",fC=()=>typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"&&!XT(),cO=()=>{if(g8)return g8;if(typeof Bun<"u")g8="bun";else if(TC())g8="browser";else if(fC())g8="node";else if(wC())g8="webworker";else if(ZC())g8="jsdom";else if(XT())g8="deno";else g8="other";return g8},uO;function f1(){if(uO===void 0){let $=cO(),q=kC();uO={library:"langsmith",runtime:$,sdk:"langsmith-js",sdk_version:Z1,...q}}return uO}function pO(){let $=XC(),q={},K=["LANGCHAIN_API_KEY","LANGCHAIN_ENDPOINT","LANGCHAIN_TRACING_V2","LANGCHAIN_PROJECT","LANGCHAIN_SESSION","LANGSMITH_API_KEY","LANGSMITH_ENDPOINT","LANGSMITH_TRACING_V2","LANGSMITH_PROJECT","LANGSMITH_SESSION"];for(let[P,_]of Object.entries($))if(typeof _==="string"&&!K.includes(P)&&!P.toLowerCase().includes("key")&&!P.toLowerCase().includes("secret")&&!P.toLowerCase().includes("token"))if(P==="LANGCHAIN_REVISION_ID")q.revision_id=_;else q[P]=_;return q}function XC(){let $={};try{if(typeof process<"u"&&process.env){for(let[q,K]of Object.entries(process.env))if((q.startsWith("LANGCHAIN_")||q.startsWith("LANGSMITH_"))&&K!=null)if((q.toLowerCase().includes("key")||q.toLowerCase().includes("secret")||q.toLowerCase().includes("token"))&&typeof K==="string")$[q]=K.slice(0,2)+"*".repeat(K.length-4)+K.slice(-2);else $[q]=K}}catch(q){}return $}function Qq($){try{return typeof process<"u"?process.env?.[$]:void 0}catch(q){return}}function c6($){return Qq(`LANGSMITH_${$}`)||Qq(`LANGCHAIN_${$}`)}var xO;function kC(){if(xO!==void 0)return xO;let $=["VERCEL_GIT_COMMIT_SHA","NEXT_PUBLIC_VERCEL_GIT_COMMIT_SHA","COMMIT_REF","RENDER_GIT_COMMIT","CI_COMMIT_SHA","CIRCLE_SHA1","CF_PAGES_COMMIT_SHA","REACT_APP_GIT_SHA","SOURCE_VERSION","GITHUB_SHA","TRAVIS_COMMIT","GIT_COMMIT","BUILD_VCS_NUMBER","bamboo_planRepository_revision","Build.SourceVersion","BITBUCKET_COMMIT","DRONE_COMMIT_SHA","SEMAPHORE_GIT_SHA","BUILDKITE_COMMIT"],q={};for(let K of $){let P=Qq(K);if(P!==void 0)q[K]=P}return xO=q,q}function X1(){return Qq("OTEL_ENABLED")==="true"||c6("OTEL_ENABLED")==="true"}class AT{constructor(){Object.defineProperty(this,"hasWarned",{enumerable:!0,configurable:!0,writable:!0,value:!1})}startActiveSpan($,...q){if(!this.hasWarned&&X1())console.warn('You have enabled OTEL export via the `OTEL_ENABLED` or `LANGSMITH_OTEL_ENABLED` environment variable, but have not initialized the required OTEL instances. Please add:\n```\nimport { initializeOTEL } from "langsmith/experimental/otel/setup";\ninitializeOTEL();\n```\nat the beginning of your code.'),this.hasWarned=!0;let K;if(q.length===1&&typeof q[0]==="function")K=q[0];else if(q.length===2&&typeof q[1]==="function")K=q[1];else if(q.length===3&&typeof q[2]==="function")K=q[2];if(typeof K==="function")return K();return}}class GT{constructor(){Object.defineProperty(this,"mockTracer",{enumerable:!0,configurable:!0,writable:!0,value:new AT})}getTracer($,q){return this.mockTracer}getActiveSpan(){return}setSpan($,q){return $}getSpan($){return}setSpanContext($,q){return $}getTracerProvider(){return}setGlobalTracerProvider($){return!1}}class VT{active(){return{}}with($,q){return q()}}var mO=Symbol.for("ls:otel_trace"),dO=Symbol.for("ls:otel_context"),kT=Symbol.for("ls:otel_get_default_otlp_tracer_provider"),AC=new GT,GC=new VT;class ST{getTraceInstance(){return globalThis[mO]??AC}getContextInstance(){return globalThis[dO]??GC}initializeGlobalInstances($){if(globalThis[mO]===void 0)globalThis[mO]=$.trace;if(globalThis[dO]===void 0)globalThis[dO]=$.context}setDefaultOTLPTracerComponents($){globalThis[kT]=$}getDefaultOTLPTracerComponents(){return globalThis[kT]??void 0}}var lO=new ST;function k1(){return lO.getTraceInstance()}function MT(){return lO.getContextInstance()}function NT(){return lO.getDefaultOTLPTracerComponents()}var VC={llm:"chat",tool:"execute_tool",retriever:"embeddings",embedding:"embeddings",prompt:"chat"};function SC($){return VC[$]||$}class rO{constructor(){Object.defineProperty(this,"spans",{enumerable:!0,configurable:!0,writable:!0,value:new Map})}exportBatch($,q){for(let K of $)try{if(!K.run)continue;if(K.operation==="post"){let P=this.createSpanForRun(K,K.run,q.get(K.id));if(P&&!K.run.end_time)this.spans.set(K.id,P)}else this.updateSpanForRun(K,K.run)}catch(P){console.error(`Error processing operation ${K.id}:`,P)}}createSpanForRun($,q,K){let P=K&&k1().getSpan(K);if(!P)return;try{return this.finishSpanSetup(P,q,$)}catch(_){console.error(`Failed to create span for run ${$.id}:`,_);return}}finishSpanSetup($,q,K){if(this.setSpanAttributes($,q,K),q.error)$.setStatus({code:2}),$.recordException(Error(q.error));else $.setStatus({code:1});if(q.end_time)$.end(new Date(q.end_time));return $}updateSpanForRun($,q){try{let K=this.spans.get($.id);if(!K){console.debug(`No span found for run ${$.id} during update`);return}if(this.setSpanAttributes(K,q,$),q.error)K.setStatus({code:2}),K.recordException(Error(q.error));else K.setStatus({code:1});let P=q.end_time;if(P)K.end(new Date(P)),this.spans.delete($.id)}catch(K){console.error(`Failed to update span for run ${$.id}:`,K)}}extractModelName($){if($.extra?.metadata){let q=$.extra.metadata;if(q.ls_model_name)return q.ls_model_name;if(q.invocation_params){let K=q.invocation_params;if(K.model)return K.model;else if(K.model_name)return K.model_name}}return}setSpanAttributes($,q,K){if("run_type"in q&&q.run_type){$.setAttribute(zT,q.run_type);let j=SC(q.run_type||"chain");$.setAttribute(dJ,j)}if("name"in q&&q.name)$.setAttribute(WT,q.name);if("session_id"in q&&q.session_id)$.setAttribute(YT,q.session_id);if("session_name"in q&&q.session_name)$.setAttribute(vT,q.session_name);this.setGenAiSystem($,q);let P=this.extractModelName(q);if(P)$.setAttribute(DO,P);if("prompt_tokens"in q&&typeof q.prompt_tokens==="number")$.setAttribute(LO,q.prompt_tokens);if("completion_tokens"in q&&typeof q.completion_tokens==="number")$.setAttribute(bO,q.completion_tokens);if("total_tokens"in q&&typeof q.total_tokens==="number")$.setAttribute(gO,q.total_tokens);this.setInvocationParameters($,q);let _=q.extra?.metadata||{};for(let[j,z]of Object.entries(_))if(z!==null&&z!==void 0)$.setAttribute(`${HT}.${j}`,String(z));let O=q.tags;if(O&&Array.isArray(O))$.setAttribute(yO,O.join(", "));else if(O)$.setAttribute(yO,String(O));if("serialized"in q&&typeof q.serialized==="object"){let j=q.serialized;if(j.name)$.setAttribute(sJ,String(j.name));if(j.signature)$.setAttribute($T,String(j.signature));if(j.doc)$.setAttribute(qT,String(j.doc))}this.setIOAttributes($,K)}setGenAiSystem($,q){let K="langchain",P=this.extractModelName(q);if(P){let _=P.toLowerCase();if(_.includes("anthropic")||_.startsWith("claude"))K="anthropic";else if(_.includes("bedrock"))K="aws.bedrock";else if(_.includes("azure")&&_.includes("openai"))K="az.ai.openai";else if(_.includes("azure")&&_.includes("inference"))K="az.ai.inference";else if(_.includes("cohere"))K="cohere";else if(_.includes("deepseek"))K="deepseek";else if(_.includes("gemini"))K="gemini";else if(_.includes("groq"))K="groq";else if(_.includes("watson")||_.includes("ibm"))K="ibm.watsonx.ai";else if(_.includes("mistral"))K="mistral_ai";else if(_.includes("gpt")||_.includes("openai"))K="openai";else if(_.includes("perplexity")||_.includes("sonar"))K="perplexity";else if(_.includes("vertex"))K="vertex_ai";else if(_.includes("xai")||_.includes("grok"))K="xai"}$.setAttribute(lJ,K)}setInvocationParameters($,q){if(!q.extra?.metadata?.invocation_params)return;let K=q.extra.metadata.invocation_params;if(K.max_tokens!==void 0)$.setAttribute(oJ,K.max_tokens);if(K.temperature!==void 0)$.setAttribute(nJ,K.temperature);if(K.top_p!==void 0)$.setAttribute(iJ,K.top_p);if(K.frequency_penalty!==void 0)$.setAttribute(BJ,K.frequency_penalty);if(K.presence_penalty!==void 0)$.setAttribute(tJ,K.presence_penalty)}setIOAttributes($,q){if(q.run.inputs)try{let K=q.run.inputs;if(typeof K==="object"&&K!==null){if(K.model&&Array.isArray(K.messages))$.setAttribute(DO,K.model);if(K.stream!==void 0)$.setAttribute(JT,K.stream);if(K.extra_headers)$.setAttribute(TT,JSON.stringify(K.extra_headers));if(K.extra_query)$.setAttribute(QJ,JSON.stringify(K.extra_query));if(K.extra_body)$.setAttribute(eJ,JSON.stringify(K.extra_body))}$.setAttribute(FJ,JSON.stringify(K))}catch(K){console.debug(`Failed to process inputs for run ${q.id}`,K)}if(q.run.outputs)try{let K=q.run.outputs,P=this.getUnifiedRunTokens(K);if(P)$.setAttribute(LO,P[0]),$.setAttribute(bO,P[1]),$.setAttribute(gO,P[0]+P[1]);if(K&&typeof K==="object"){if(K.model)$.setAttribute(rJ,String(K.model));if(K.id)$.setAttribute(KT,K.id);if(K.choices&&Array.isArray(K.choices)){let _=K.choices.map((O)=>O.finish_reason).filter((O)=>O).map(String);if(_.length>0)$.setAttribute(UJ,_.join(", "))}if(K.service_tier)$.setAttribute(_T,K.service_tier);if(K.system_fingerprint)$.setAttribute(PT,K.system_fingerprint);if(K.usage_metadata&&typeof K.usage_metadata==="object"){let _=K.usage_metadata;if(_.input_token_details)$.setAttribute(jT,JSON.stringify(_.input_token_details));if(_.output_token_details)$.setAttribute(OT,JSON.stringify(_.output_token_details))}}$.setAttribute(aJ,JSON.stringify(K))}catch(K){console.debug(`Failed to process outputs for run ${q.id}`,K)}}getUnifiedRunTokens($){if(!$)return null;let q=this.extractUnifiedRunTokens($.usage_metadata);if(q)return q;let K=Object.keys($);for(let O of K){let j=$[O];if(!j||typeof j!=="object")continue;if(q=this.extractUnifiedRunTokens(j.usage_metadata),q)return q;if(j.lc===1&&j.kwargs&&typeof j.kwargs==="object"){if(q=this.extractUnifiedRunTokens(j.kwargs.usage_metadata),q)return q}}let P=$.generations||[];if(!Array.isArray(P))return null;let _=Array.isArray(P[0])?P.flat():P;for(let O of _)if(typeof O==="object"&&O.message&&typeof O.message==="object"&&O.message.kwargs&&typeof O.message.kwargs==="object"){if(q=this.extractUnifiedRunTokens(O.message.kwargs.usage_metadata),q)return q}return null}extractUnifiedRunTokens($){if(!$||typeof $!=="object")return null;if(typeof $.input_tokens!=="number"||typeof $.output_tokens!=="number")return null;return[$.input_tokens,$.output_tokens]}}var mT=Dq(P1(),1),M1=Dq(S1(),1),yC=[429,500,502,503,504];class N1{constructor($){if(Object.defineProperty(this,"maxConcurrency",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"maxRetries",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"queue",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onFailedResponseHook",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxConcurrency=$.maxConcurrency??1/0,this.maxRetries=$.maxRetries??6,"default"in M1.default)this.queue=new M1.default.default({concurrency:this.maxConcurrency});else this.queue=new M1.default({concurrency:this.maxConcurrency});this.onFailedResponseHook=$?.onFailedResponseHook}call($,...q){let K=this.onFailedResponseHook;return this.queue.add(()=>mT.default(()=>$(...q).catch((P)=>{if(P instanceof Error)throw P;else throw Error(P)}),{async onFailedAttempt(P){if(P.message.startsWith("Cancel")||P.message.startsWith("TimeoutError")||P.name==="TimeoutError"||P.message.startsWith("AbortError"))throw P;if(P?.code==="ECONNABORTED")throw P;let _=P?.response;if(K){if(await K(_))return}let O=_?.status??P?.status;if(O){if(!yC.includes(+O))throw P}},retries:this.maxRetries,randomize:!0}),{throwOnTimeout:!0})}callWithOptions($,q,...K){if($.signal)return Promise.race([this.call(q,...K),new Promise((P,_)=>{$.signal?.addEventListener("abort",()=>{_(Error("AbortError"))})})]);return this.call(q,...K)}}function iO($){return typeof $?._getType==="function"}function BO($){let q={type:$._getType(),data:{content:$.content}};if($?.additional_kwargs&&Object.keys($.additional_kwargs).length>0)q.data.additional_kwargs={...$.additional_kwargs};return q}var uC=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function _6($,q){if(!uC.test($)){let K=q!==void 0?`Invalid UUID for ${q}: ${$}`:`Invalid UUID: ${$}`;throw Error(K)}return $}var dT={};function HP($){if(!dT[$])console.warn($),dT[$]=!0}var RR=Dq(DZ(),1);function KK($){if(!$||$.split("/").length>2||$.startsWith("/")||$.endsWith("/")||$.split(":").length>2)throw Error(`Invalid identifier format: ${$}`);let[q,K]=$.split(":"),P=K||"latest";if(q.includes("/")){let[_,O]=q.split("/",2);if(!_||!O)throw Error(`Invalid identifier format: ${$}`);return[_,O,P]}else{if(!q)throw Error(`Invalid identifier format: ${$}`);return["-",q,P]}}class LZ extends Error{constructor($){super($);Object.defineProperty(this,"status",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name="LangSmithConflictError",this.status=409}}async function a$($,q,K){let P;if($.ok){if(K)P=await $.text();return}if($.status===403)try{if((await $.json())?.error==="org_scoped_key_requires_workspace")P="This API key is org-scoped and requires workspace specification. Please provide 'workspaceId' parameter, or set LANGSMITH_WORKSPACE_ID environment variable."}catch(j){let z=Error(`${$.status} ${$.statusText}`);throw z.status=$?.status,z}if(P===void 0)try{P=await $.text()}catch(j){P=""}let _=`Failed to ${q}. Received status [${$.status}]: ${$.statusText}. Message: ${P}`;if($.status===409)throw new LZ(_);let O=Error(_);throw O.status=$.status,O}var bZ="ERR_CONFLICTING_ENDPOINTS";class v2 extends Error{constructor(){super("You cannot provide both LANGSMITH_ENDPOINT / LANGCHAIN_ENDPOINT and LANGSMITH_RUNS_ENDPOINTS.");Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:bZ}),this.name="ConflictingEndpointsError"}}function gZ($){return typeof $==="object"&&$!==null&&$.code===bZ}var yZ="[...]",IR={result:"[Circular]"},m1=[],$4=[],DR=new TextEncoder;function LR(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function p1($){return DR.encode($)}function uZ($){if($&&typeof $==="object"&&$!==null){if($ instanceof Map)return Object.fromEntries($);else if($ instanceof Set)return Array.from($);else if($ instanceof Date)return $.toISOString();else if($ instanceof RegExp)return $.toString();else if($ instanceof Error)return{name:$.name,message:$.message}}else if(typeof $==="bigint")return $.toString();return $}function bR($){return function(q,K){if($){let P=$.call(this,q,K);if(P!==void 0)return P}return uZ(K)}}function oq($,q,K,P,_){try{let O=JSON.stringify($,bR(K),P);return p1(O)}catch(O){if(!O.message?.includes("Converting circular structure to JSON"))return console.warn(`[WARNING]: LangSmith received unserializable value.${q?`
|
|
53
53
|
Context: ${q}`:""}`),p1("[Unserializable]");if(c6("SUPPRESS_CIRCULAR_JSON_WARNINGS")!=="true"&&console.warn(`[WARNING]: LangSmith received circular JSON. This will decrease tracer performance. ${q?`
|
|
54
54
|
Context: ${q}`:""}`),typeof _>"u")_=LR();W2($,"",0,[],void 0,0,_);let j;try{if($4.length===0)j=JSON.stringify($,K,P);else j=JSON.stringify($,gR(K),P)}catch(z){return p1("[unable to serialize, circular reference is too complex to analyze]")}finally{while(m1.length!==0){let z=m1.pop();if(z.length===4)Object.defineProperty(z[0],z[1],z[3]);else z[0][z[1]]=z[2]}}return p1(j)}}function z2($,q,K,P){var _=Object.getOwnPropertyDescriptor(P,K);if(_.get!==void 0)if(_.configurable)Object.defineProperty(P,K,{value:$}),m1.push([P,K,q,_]);else $4.push([q,K,$]);else P[K]=$,m1.push([P,K,q])}function W2($,q,K,P,_,O,j){O+=1;var z;if(typeof $==="object"&&$!==null){for(z=0;z<P.length;z++)if(P[z]===$){z2(IR,$,q,_);return}if(typeof j.depthLimit<"u"&&O>j.depthLimit){z2(yZ,$,q,_);return}if(typeof j.edgesLimit<"u"&&K+1>j.edgesLimit){z2(yZ,$,q,_);return}if(P.push($),Array.isArray($))for(z=0;z<$.length;z++)W2($[z],z,z,P,$,O,j);else{$=uZ($);var J=Object.keys($);for(z=0;z<J.length;z++){var w=J[z];W2($[w],w,z,P,$,O,j)}}P.pop()}}function gR($){return $=typeof $<"u"?$:function(q,K){return K},function(q,K){if($4.length>0)for(var P=0;P<$4.length;P++){var _=$4[P];if(_[1]===q&&_[0]===K){K=_[2],$4.splice(P,1);break}}return $.call(this,q,K)}}function xZ($,q){let K=f1(),P=q??pO(),_=$.extra??{},O=_.metadata;return $.extra={..._,runtime:{...K,..._?.runtime},metadata:{...P,...P.revision_id||"revision_id"in $&&$.revision_id?{revision_id:("revision_id"in $?$.revision_id:void 0)??P.revision_id}:{},...O}},$}var yR=($)=>{let q=$?.toString()??c6("TRACING_SAMPLING_RATE");if(q===void 0)return;let K=parseFloat(q);if(K<0||K>1)throw Error(`LANGSMITH_TRACING_SAMPLING_RATE must be between 0 and 1 if set. Got: ${K}`);return K},uR=($)=>{let K=$.replace("http://","").replace("https://","").split("/")[0].split(":")[0];return K==="localhost"||K==="127.0.0.1"||K==="::1"};async function xR($){let q=[];for await(let K of $)q.push(K);return q}function d1($){if($===void 0)return;return $.trim().replace(/^"(.*)"$/,"$1").replace(/^'(.*)'$/,"$1")}var cR=async($)=>{if($?.status===429){let q=parseInt($.headers.get("retry-after")??"10",10)*1000;if(q>0)return await new Promise((K)=>setTimeout(K,q)),!0}return!1};function cZ($){if(typeof $==="number")return Number($.toFixed(4));return $}class dZ{constructor(){Object.defineProperty(this,"items",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"sizeBytes",{enumerable:!0,configurable:!0,writable:!0,value:0})}peek(){return this.items[0]}push($){let q,K=new Promise((_)=>{q=_}),P=oq($.item,`Serializing run with id: ${$.item.id}`).length;return this.items.push({action:$.action,payload:$.item,otelContext:$.otelContext,apiKey:$.apiKey,apiUrl:$.apiUrl,itemPromiseResolve:q,itemPromise:K,size:P}),this.sizeBytes+=P,K}pop({upToSizeBytes:$,upToSize:q}){if($<1)throw Error("Number of bytes to pop off may not be less than 1.");let K=[],P=0;while(P+(this.peek()?.size??0)<$&&this.items.length>0&&K.length<q){let _=this.items.shift();if(_)K.push(_),P+=_.size,this.sizeBytes-=_.size}if(K.length===0&&this.items.length>0){let _=this.items.shift();K.push(_),P+=_.size,this.sizeBytes-=_.size}return[K.map((_)=>({action:_.action,item:_.payload,otelContext:_.otelContext,apiKey:_.apiKey,apiUrl:_.apiUrl})),()=>K.forEach((_)=>_.itemPromiseResolve())]}}var pR=25165824,mR=1e4,dR=100,pZ="https://api.smith.langchain.com";class LK{get _fetch(){return this.fetchImplementation||fT(this.debug)}constructor($={}){Object.defineProperty(this,"apiKey",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"apiUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"webUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"workspaceId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"caller",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"batchIngestCaller",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"timeout_ms",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_tenantId",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"hideInputs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"hideOutputs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tracingSampleRate",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"filteredPostUuids",{enumerable:!0,configurable:!0,writable:!0,value:new Set}),Object.defineProperty(this,"autoBatchTracing",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"autoBatchQueue",{enumerable:!0,configurable:!0,writable:!0,value:new dZ}),Object.defineProperty(this,"autoBatchTimeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"autoBatchAggregationDelayMs",{enumerable:!0,configurable:!0,writable:!0,value:250}),Object.defineProperty(this,"batchSizeBytesLimit",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"batchSizeLimit",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"fetchOptions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"settings",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"blockOnRootRunFinalization",{enumerable:!0,configurable:!0,writable:!0,value:Qq("LANGSMITH_TRACING_BACKGROUND")==="false"}),Object.defineProperty(this,"traceBatchConcurrency",{enumerable:!0,configurable:!0,writable:!0,value:5}),Object.defineProperty(this,"_serverInfo",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_getServerInfoPromise",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"manualFlushMode",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"langSmithToOTELTranslator",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"fetchImplementation",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cachedLSEnvVarsForMetadata",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"multipartStreamingDisabled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"debug",{enumerable:!0,configurable:!0,writable:!0,value:Qq("LANGSMITH_DEBUG")==="true"});let q=LK.getDefaultClientConfig();if(this.tracingSampleRate=yR($.tracingSamplingRate),this.apiUrl=d1($.apiUrl??q.apiUrl)??"",this.apiUrl.endsWith("/"))this.apiUrl=this.apiUrl.slice(0,-1);if(this.apiKey=d1($.apiKey??q.apiKey),this.webUrl=d1($.webUrl??q.webUrl),this.webUrl?.endsWith("/"))this.webUrl=this.webUrl.slice(0,-1);if(this.workspaceId=d1($.workspaceId??c6("WORKSPACE_ID")),this.timeout_ms=$.timeout_ms??90000,this.caller=new N1({...$.callerOptions??{},maxRetries:4,debug:$.debug??this.debug}),this.traceBatchConcurrency=$.traceBatchConcurrency??this.traceBatchConcurrency,this.traceBatchConcurrency<1)throw Error("Trace batch concurrency must be positive.");if(this.debug=$.debug??this.debug,this.fetchImplementation=$.fetchImplementation,this.batchIngestCaller=new N1({maxRetries:2,maxConcurrency:this.traceBatchConcurrency,...$.callerOptions??{},onFailedResponseHook:cR,debug:$.debug??this.debug}),this.hideInputs=$.hideInputs??$.anonymizer??q.hideInputs,this.hideOutputs=$.hideOutputs??$.anonymizer??q.hideOutputs,this.autoBatchTracing=$.autoBatchTracing??this.autoBatchTracing,this.blockOnRootRunFinalization=$.blockOnRootRunFinalization??this.blockOnRootRunFinalization,this.batchSizeBytesLimit=$.batchSizeBytesLimit,this.batchSizeLimit=$.batchSizeLimit,this.fetchOptions=$.fetchOptions||{},this.manualFlushMode=$.manualFlushMode??this.manualFlushMode,X1())this.langSmithToOTELTranslator=new rO;this.cachedLSEnvVarsForMetadata=pO()}static getDefaultClientConfig(){let $=c6("API_KEY"),q=c6("ENDPOINT")??pZ,K=c6("HIDE_INPUTS")==="true",P=c6("HIDE_OUTPUTS")==="true";return{apiUrl:q,apiKey:$,webUrl:void 0,hideInputs:K,hideOutputs:P}}getHostUrl(){if(this.webUrl)return this.webUrl;else if(uR(this.apiUrl))return this.webUrl="http://localhost:3000",this.webUrl;else if(this.apiUrl.endsWith("/api/v1"))return this.webUrl=this.apiUrl.replace("/api/v1",""),this.webUrl;else if(this.apiUrl.includes("/api")&&!this.apiUrl.split(".",1)[0].endsWith("api"))return this.webUrl=this.apiUrl.replace("/api",""),this.webUrl;else if(this.apiUrl.split(".",1)[0].includes("dev"))return this.webUrl="https://dev.smith.langchain.com",this.webUrl;else if(this.apiUrl.split(".",1)[0].includes("eu"))return this.webUrl="https://eu.smith.langchain.com",this.webUrl;else if(this.apiUrl.split(".",1)[0].includes("beta"))return this.webUrl="https://beta.smith.langchain.com",this.webUrl;else return this.webUrl="https://smith.langchain.com",this.webUrl}get headers(){let $={"User-Agent":`langsmith-js/${Z1}`};if(this.apiKey)$["x-api-key"]=`${this.apiKey}`;if(this.workspaceId)$["x-tenant-id"]=this.workspaceId;return $}_getPlatformEndpointPath($){return this.apiUrl.slice(-3)!=="/v1"&&this.apiUrl.slice(-4)!=="/v1/"?`/v1/platform/${$}`:`/platform/${$}`}async processInputs($){if(this.hideInputs===!1)return $;if(this.hideInputs===!0)return{};if(typeof this.hideInputs==="function")return this.hideInputs($);return $}async processOutputs($){if(this.hideOutputs===!1)return $;if(this.hideOutputs===!0)return{};if(typeof this.hideOutputs==="function")return this.hideOutputs($);return $}async prepareRunCreateOrUpdateInputs($){let q={...$};if(q.inputs!==void 0)q.inputs=await this.processInputs(q.inputs);if(q.outputs!==void 0)q.outputs=await this.processOutputs(q.outputs);return q}async _getResponse($,q){let K=q?.toString()??"",P=`${this.apiUrl}${$}?${K}`;return await this.caller.call(async()=>{let O=await this._fetch(P,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await a$(O,`fetch ${$}`),O})}async _get($,q){return(await this._getResponse($,q)).json()}async*_getPaginated($,q=new URLSearchParams,K){let P=Number(q.get("offset"))||0,_=Number(q.get("limit"))||100;while(!0){q.set("offset",String(P)),q.set("limit",String(_));let O=`${this.apiUrl}${$}?${q}`,j=await this.caller.call(async()=>{let J=await this._fetch(O,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await a$(J,`fetch ${$}`),J}),z=K?K(await j.json()):await j.json();if(z.length===0)break;if(yield z,z.length<_)break;P+=z.length}}async*_getCursorPaginatedList($,q=null,K="POST",P="runs"){let _=q?{...q}:{};while(!0){let O=JSON.stringify(_),z=await(await this.caller.call(async()=>{let w=await this._fetch(`${this.apiUrl}${$}`,{method:K,headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:O});return await a$(w,`fetch ${$}`),w})).json();if(!z)break;if(!z[P])break;yield z[P];let J=z.cursors;if(!J)break;if(!J.next)break;_.cursor=J.next}}_shouldSample(){if(this.tracingSampleRate===void 0)return!0;return Math.random()<this.tracingSampleRate}_filterForSampling($,q=!1){if(this.tracingSampleRate===void 0)return $;if(q){let K=[];for(let P of $)if(!this.filteredPostUuids.has(P.trace_id))K.push(P);else if(P.id===P.trace_id)this.filteredPostUuids.delete(P.trace_id);return K}else{let K=[];for(let P of $){let _=P.trace_id??P.id;if(this.filteredPostUuids.has(_))continue;if(P.id===_)if(this._shouldSample())K.push(P);else this.filteredPostUuids.add(_);else K.push(P)}return K}}async _getBatchSizeLimitBytes(){let $=await this._ensureServerInfo();return this.batchSizeBytesLimit??$.batch_ingest_config?.size_limit_bytes??pR}async _getBatchSizeLimit(){let $=await this._ensureServerInfo();return this.batchSizeLimit??$.batch_ingest_config?.size_limit??dR}async _getDatasetExamplesMultiPartSupport(){return(await this._ensureServerInfo()).instance_flags?.dataset_examples_multipart_enabled??!1}drainAutoBatchQueue({batchSizeLimitBytes:$,batchSizeLimit:q}){let K=[];while(this.autoBatchQueue.items.length>0){let[P,_]=this.autoBatchQueue.pop({upToSizeBytes:$,upToSize:q});if(!P.length){_();break}let O=P.reduce((J,w)=>{let k=w.apiUrl??this.apiUrl,X=w.apiKey??this.apiKey,V=w.apiKey===this.apiKey&&w.apiUrl===this.apiUrl?"default":`${k}|${X}`;if(!J[V])J[V]=[];return J[V].push(w),J},{}),j=[];for(let[J,w]of Object.entries(O)){let k=this._processBatch(w,{apiUrl:J==="default"?void 0:J.split("|")[0],apiKey:J==="default"?void 0:J.split("|")[1]});j.push(k)}let z=Promise.all(j).finally(_);K.push(z)}return Promise.all(K)}async _processBatch($,q){if(!$.length)return;try{if(this.langSmithToOTELTranslator!==void 0)this._sendBatchToOTELTranslator($);else{let K={runCreates:$.filter((_)=>_.action==="create").map((_)=>_.item),runUpdates:$.filter((_)=>_.action==="update").map((_)=>_.item)},P=await this._ensureServerInfo();if(P?.batch_ingest_config?.use_multipart_endpoint){let _=P?.instance_flags?.gzip_body_enabled;await this.multipartIngestRuns(K,{...q,useGzip:_})}else await this.batchIngestRuns(K,q)}}catch(K){console.error("Error exporting batch:",K)}}_sendBatchToOTELTranslator($){if(this.langSmithToOTELTranslator!==void 0){let q=new Map,K=[];for(let P of $)if(P.item.id&&P.otelContext)if(q.set(P.item.id,P.otelContext),P.action==="create")K.push({operation:"post",id:P.item.id,trace_id:P.item.trace_id??P.item.id,run:P.item});else K.push({operation:"patch",id:P.item.id,trace_id:P.item.trace_id??P.item.id,run:P.item});this.langSmithToOTELTranslator.exportBatch(K,q)}}async processRunOperation($){clearTimeout(this.autoBatchTimeout),this.autoBatchTimeout=void 0,$.item=xZ($.item,this.cachedLSEnvVarsForMetadata);let q=this.autoBatchQueue.push($);if(this.manualFlushMode)return q;let K=await this._getBatchSizeLimitBytes(),P=await this._getBatchSizeLimit();if(this.autoBatchQueue.sizeBytes>K||this.autoBatchQueue.items.length>P)this.drainAutoBatchQueue({batchSizeLimitBytes:K,batchSizeLimit:P});if(this.autoBatchQueue.items.length>0)this.autoBatchTimeout=setTimeout(()=>{this.autoBatchTimeout=void 0,this.drainAutoBatchQueue({batchSizeLimitBytes:K,batchSizeLimit:P})},this.autoBatchAggregationDelayMs);return q}async _getServerInfo(){let q=await(await this.caller.call(async()=>{let K=await this._fetch(`${this.apiUrl}/info`,{method:"GET",headers:{Accept:"application/json"},signal:AbortSignal.timeout(mR),...this.fetchOptions});return await a$(K,"get server info"),K})).json();if(this.debug)console.log(`
|
|
55
55
|
=== LangSmith Server Configuration ===
|
|
@@ -84,7 +84,7 @@ Message: ${Array.isArray(O.detail)?O.detail.join(`
|
|
|
84
84
|
https://smith.langchain.com/prompts`);let[P,_,O]=KK($);if(!await this._currentTenantIsOwner(P))throw await this._ownerConflictError("create a prompt",P);let j={repo_handle:_,...q?.description&&{description:q.description},...q?.readme&&{readme:q.readme},...q?.tags&&{tags:q.tags},is_public:!!q?.isPublic},z=JSON.stringify(j),J=await this.caller.call(async()=>{let k=await this._fetch(`${this.apiUrl}/repos/`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:z});return await a$(k,"create prompt"),k}),{repo:w}=await J.json();return w}async createCommit($,q,K){if(!await this.promptExists($))throw Error("Prompt does not exist, you must create it first.");let[P,_,O]=KK($),j=K?.parentCommitHash==="latest"||!K?.parentCommitHash?await this._getLatestCommitHash(`${P}/${_}`):K?.parentCommitHash,z={manifest:JSON.parse(JSON.stringify(q)),parent_commit:j},J=JSON.stringify(z),k=await(await this.caller.call(async()=>{let X=await this._fetch(`${this.apiUrl}/commits/${P}/${_}`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:J});return await a$(X,"create commit"),X})).json();return this._getPromptUrl(`${P}/${_}${k.commit_hash?`:${k.commit_hash}`:""}`)}async updateExamplesMultipart($,q=[]){return this._updateExamplesMultipart($,q)}async _updateExamplesMultipart($,q=[]){if(!await this._getDatasetExamplesMultiPartSupport())throw Error("Your LangSmith deployment does not allow using the multipart examples endpoint, please upgrade your deployment to the latest version.");let K=new FormData;for(let O of q){let j=O.id,z={...O.metadata&&{metadata:O.metadata},...O.split&&{split:O.split}},J=oq(z,`Serializing body for example with id: ${j}`),w=new Blob([J],{type:"application/json"});if(K.append(j,w),O.inputs){let k=oq(O.inputs,`Serializing inputs for example with id: ${j}`),X=new Blob([k],{type:"application/json"});K.append(`${j}.inputs`,X)}if(O.outputs){let k=oq(O.outputs,`Serializing outputs whle updating example with id: ${j}`),X=new Blob([k],{type:"application/json"});K.append(`${j}.outputs`,X)}if(O.attachments)for(let[k,X]of Object.entries(O.attachments)){let G,V;if(Array.isArray(X))[G,V]=X;else G=X.mimeType,V=X.data;let C=new Blob([V],{type:`${G}; length=${V.byteLength}`});K.append(`${j}.attachment.${k}`,C)}if(O.attachments_operations){let k=oq(O.attachments_operations,`Serializing attachments while updating example with id: ${j}`),X=new Blob([k],{type:"application/json"});K.append(`${j}.attachments_operations`,X)}}let P=$??q[0]?.dataset_id;return(await this.caller.call(async()=>{let O=await this._fetch(`${this.apiUrl}${this._getPlatformEndpointPath(`datasets/${P}/examples`)}`,{method:"PATCH",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:K});return await a$(O,"update examples"),O})).json()}async uploadExamplesMultipart($,q=[]){return this._uploadExamplesMultipart($,q)}async _uploadExamplesMultipart($,q=[]){if(!await this._getDatasetExamplesMultiPartSupport())throw Error("Your LangSmith deployment does not allow using the multipart examples endpoint, please upgrade your deployment to the latest version.");let K=new FormData;for(let _ of q){let O=(_.id??qK()).toString(),j={created_at:_.created_at,..._.metadata&&{metadata:_.metadata},..._.split&&{split:_.split},..._.source_run_id&&{source_run_id:_.source_run_id},..._.use_source_run_io&&{use_source_run_io:_.use_source_run_io},..._.use_source_run_attachments&&{use_source_run_attachments:_.use_source_run_attachments}},z=oq(j,`Serializing body for uploaded example with id: ${O}`),J=new Blob([z],{type:"application/json"});if(K.append(O,J),_.inputs){let w=oq(_.inputs,`Serializing inputs for uploaded example with id: ${O}`),k=new Blob([w],{type:"application/json"});K.append(`${O}.inputs`,k)}if(_.outputs){let w=oq(_.outputs,`Serializing outputs for uploaded example with id: ${O}`),k=new Blob([w],{type:"application/json"});K.append(`${O}.outputs`,k)}if(_.attachments)for(let[w,k]of Object.entries(_.attachments)){let X,G;if(Array.isArray(k))[X,G]=k;else X=k.mimeType,G=k.data;let V=new Blob([G],{type:`${X}; length=${G.byteLength}`});K.append(`${O}.attachment.${w}`,V)}}return(await this.caller.call(async()=>{let _=await this._fetch(`${this.apiUrl}${this._getPlatformEndpointPath(`datasets/${$}/examples`)}`,{method:"POST",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:K});return await a$(_,"upload examples"),_})).json()}async updatePrompt($,q){if(!await this.promptExists($))throw Error("Prompt does not exist, you must create it first.");let[K,P]=KK($);if(!await this._currentTenantIsOwner(K))throw await this._ownerConflictError("update a prompt",K);let _={};if(q?.description!==void 0)_.description=q.description;if(q?.readme!==void 0)_.readme=q.readme;if(q?.tags!==void 0)_.tags=q.tags;if(q?.isPublic!==void 0)_.is_public=q.isPublic;if(q?.isArchived!==void 0)_.is_archived=q.isArchived;if(Object.keys(_).length===0)throw Error("No valid update options provided");let O=JSON.stringify(_);return(await this.caller.call(async()=>{let z=await this._fetch(`${this.apiUrl}/repos/${K}/${P}`,{method:"PATCH",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:O});return await a$(z,"update prompt"),z})).json()}async deletePrompt($){if(!await this.promptExists($))throw Error("Prompt does not exist, you must create it first.");let[q,K,P]=KK($);if(!await this._currentTenantIsOwner(q))throw await this._ownerConflictError("delete a prompt",q);return(await this.caller.call(async()=>{let O=await this._fetch(`${this.apiUrl}/repos/${q}/${K}`,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await a$(O,"delete prompt"),O})).json()}async pullPromptCommit($,q){let[K,P,_]=KK($),j=await(await this.caller.call(async()=>{let z=await this._fetch(`${this.apiUrl}/commits/${K}/${P}/${_}${q?.includeModel?"?include_model=true":""}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await a$(z,"pull prompt commit"),z})).json();return{owner:K,repo:P,commit_hash:j.commit_hash,manifest:j.manifest,examples:j.examples}}async _pullPrompt($,q){let K=await this.pullPromptCommit($,{includeModel:q?.includeModel});return JSON.stringify(K.manifest)}async pushPrompt($,q){if(await this.promptExists($)){if(q&&Object.keys(q).some((P)=>P!=="object"))await this.updatePrompt($,{description:q?.description,readme:q?.readme,tags:q?.tags,isPublic:q?.isPublic})}else await this.createPrompt($,{description:q?.description,readme:q?.readme,tags:q?.tags,isPublic:q?.isPublic});if(!q?.object)return await this._getPromptUrl($);return await this.createCommit($,q?.object,{parentCommitHash:q?.parentCommitHash})}async clonePublicDataset($,q={}){let{sourceApiUrl:K=this.apiUrl,datasetName:P}=q,[_,O]=this.parseTokenOrUrl($,K),j=new LK({apiUrl:_,apiKey:"placeholder"}),z=await j.readSharedDataset(O),J=P||z.name;try{if(await this.hasDataset({datasetId:J})){console.log(`Dataset ${J} already exists in your tenant. Skipping.`);return}}catch(X){}let w=await j.listSharedExamples(O),k=await this.createDataset(J,{description:z.description,dataType:z.data_type||"kv",inputsSchema:z.inputs_schema_definition??void 0,outputsSchema:z.outputs_schema_definition??void 0});try{await this.createExamples({inputs:w.map((X)=>X.inputs),outputs:w.flatMap((X)=>X.outputs?[X.outputs]:[]),datasetId:k.id})}catch(X){throw console.error(`An error occurred while creating dataset ${J}. You should delete it manually.`),X}}parseTokenOrUrl($,q,K=2,P="dataset"){try{return _6($),[q,$]}catch(_){}try{let O=new URL($).pathname.split("/").filter((j)=>j!=="");if(O.length>=K){let j=O[O.length-K];return[q,j]}else throw Error(`Invalid public ${P} URL: ${$}`)}catch(_){throw Error(`Invalid public ${P} URL or token: ${$}`)}}async awaitPendingTraceBatches(){if(this.manualFlushMode)return console.warn("[WARNING]: When tracing in manual flush mode, you must call `await client.flush()` manually to submit trace batches."),Promise.resolve();if(await Promise.all([...this.autoBatchQueue.items.map(({itemPromise:$})=>$),this.batchIngestCaller.queue.onIdle()]),this.langSmithToOTELTranslator!==void 0)await NT()?.DEFAULT_LANGSMITH_SPAN_PROCESSOR?.forceFlush()}}function mZ($){return"dataset_id"in $||"dataset_name"in $}var lZ=($)=>{if($!==void 0)return $;return!!["TRACING_V2","TRACING"].find((K)=>c6(K)==="true")};var l1=Symbol.for("lc:context_variables");function lR($){return $.replace(/[-:.]/g,"")}function H2($,q,K=1){let P=K.toFixed(0).slice(0,3).padStart(3,"0"),_=`${new Date($).toISOString().slice(0,-1)}${P}Z`;return{dottedOrder:lR(_)+q,microsecondPrecisionDatestring:_}}class r1{constructor($,q,K,P){Object.defineProperty(this,"metadata",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tags",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"project_name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"replicas",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.metadata=$,this.tags=q,this.project_name=K,this.replicas=P}static fromHeader($){let q=$.split(","),K={},P=[],_,O;for(let j of q){let[z,J]=j.split("="),w=decodeURIComponent(J);if(z==="langsmith-metadata")K=JSON.parse(w);else if(z==="langsmith-tags")P=w.split(",");else if(z==="langsmith-project")_=w;else if(z==="langsmith-replicas")O=JSON.parse(w)}return new r1(K,P,_,O)}toHeader(){let $=[];if(this.metadata&&Object.keys(this.metadata).length>0)$.push(`langsmith-metadata=${encodeURIComponent(JSON.stringify(this.metadata))}`);if(this.tags&&this.tags.length>0)$.push(`langsmith-tags=${encodeURIComponent(this.tags.join(","))}`);if(this.project_name)$.push(`langsmith-project=${encodeURIComponent(this.project_name)}`);return $.join(",")}}class qq{constructor($){if(Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"run_type",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"project_name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"parent_run",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"parent_run_id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"child_runs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"start_time",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"end_time",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"extra",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tags",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"error",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"serialized",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"inputs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"outputs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"reference_example_id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"client",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"events",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"trace_id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"dotted_order",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tracingEnabled",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"execution_order",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"child_execution_order",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"attachments",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"replicas",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_serialized_start_time",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),oZ($)){Object.assign(this,{...$});return}let q=qq.getDefaultConfig(),{metadata:K,...P}=$,_=P.client??qq.getSharedClient(),O={...K,...P?.extra?.metadata};if(P.extra={...P.extra,metadata:O},Object.assign(this,{...q,...P,client:_}),!this.trace_id)if(this.parent_run)this.trace_id=this.parent_run.trace_id??this.id;else this.trace_id=this.id;if(this.replicas=BR(this.replicas),this.execution_order??=1,this.child_execution_order??=1,!this.dotted_order){let{dottedOrder:j,microsecondPrecisionDatestring:z}=H2(this.start_time,this.id,this.execution_order);if(this.parent_run)this.dotted_order=this.parent_run.dotted_order+"."+j;else this.dotted_order=j;this._serialized_start_time=z}}set metadata($){this.extra={...this.extra,metadata:{...this.extra?.metadata,...$}}}get metadata(){return this.extra?.metadata}static getDefaultConfig(){return{id:qK(),run_type:"chain",project_name:zP(),child_runs:[],api_url:Qq("LANGCHAIN_ENDPOINT")??"http://localhost:1984",api_key:Qq("LANGCHAIN_API_KEY"),caller_options:{},start_time:Date.now(),serialized:{},inputs:{},extra:{}}}static getSharedClient(){if(!qq.sharedClient)qq.sharedClient=new LK;return qq.sharedClient}createChild($){let q=this.child_execution_order+1,K=new qq({...$,parent_run:this,project_name:this.project_name,replicas:this.replicas,client:this.client,tracingEnabled:this.tracingEnabled,execution_order:q,child_execution_order:q});if(l1 in this)K[l1]=this[l1];let P=Symbol.for("lc:child_config"),_=$.extra?.[P]??this.extra[P];if(oR(_)){let z={..._},J=rR(z.callbacks)?z.callbacks.copy?.():void 0;if(J)Object.assign(J,{_parentRunId:K.id}),J.handlers?.find(nZ)?.updateFromRunTree?.(K),z.callbacks=J;K.extra[P]=z}let O=new Set,j=this;while(j!=null&&!O.has(j.id))O.add(j.id),j.child_execution_order=Math.max(j.child_execution_order,q),j=j.parent_run;return this.child_runs.push(K),K}async end($,q,K=Date.now(),P){if(this.outputs=this.outputs??$,this.error=this.error??q,this.end_time=this.end_time??K,P&&Object.keys(P).length>0)this.extra=this.extra?{...this.extra,metadata:{...this.extra.metadata,...P}}:{metadata:P}}_convertToCreate($,q,K=!0){let P=$.extra??{};if(P?.runtime?.library===void 0){if(!P.runtime)P.runtime={};if(q){for(let[j,z]of Object.entries(q))if(!P.runtime[j])P.runtime[j]=z}}let _,O;if(!K)_=$.child_runs.map((j)=>this._convertToCreate(j,q,K)),O=void 0;else O=$.parent_run?.id??$.parent_run_id,_=[];return{id:$.id,name:$.name,start_time:$._serialized_start_time??$.start_time,end_time:$.end_time,run_type:$.run_type,reference_example_id:$.reference_example_id,extra:P,serialized:$.serialized,error:$.error,inputs:$.inputs,outputs:$.outputs,session_name:$.project_name,child_runs:_,parent_run_id:O,trace_id:$.trace_id,dotted_order:$.dotted_order,tags:$.tags,attachments:$.attachments,events:$.events}}_remapForProject($,q,K=!0){let P=this._convertToCreate(this,q,K);if($===this.project_name)return P;let _=(k)=>{return w1(`${k}:${$}`,w1.DNS)},O=_(P.id),j=P.trace_id?_(P.trace_id):void 0,z=P.parent_run_id?_(P.parent_run_id):void 0,J;if(P.dotted_order){let k=nR(P.dotted_order),X=[];for(let V=0;V<k.length-1;V++){let[C,E]=k[V],h=_(E);X.push(C.toISOString().replace(/[-:]/g,"").replace(".","")+h)}let[G]=k[k.length-1];X.push(G.toISOString().replace(/[-:]/g,"").replace(".","")+O),J=X.join(".")}else J=void 0;return{...P,id:O,trace_id:j,parent_run_id:z,dotted_order:J,session_name:$}}async postRun($=!0){try{let q=f1();if(this.replicas&&this.replicas.length>0)for(let{projectName:K,apiKey:P,apiUrl:_,workspaceId:O}of this.replicas){let j=this._remapForProject(K??this.project_name,q,!0);await this.client.createRun(j,{apiKey:P,apiUrl:_,workspaceId:O})}else{let K=this._convertToCreate(this,q,$);await this.client.createRun(K)}if(!$){HP("Posting with excludeChildRuns=false is deprecated and will be removed in a future version.");for(let K of this.child_runs)await K.postRun(!1)}}catch(q){console.error(`Error in postRun for run ${this.id}:`,q)}}async patchRun($){if(this.replicas&&this.replicas.length>0)for(let{projectName:q,apiKey:K,apiUrl:P,workspaceId:_,updates:O}of this.replicas){let j=this._remapForProject(q??this.project_name),z={id:j.id,outputs:j.outputs,error:j.error,parent_run_id:j.parent_run_id,session_name:j.session_name,reference_example_id:j.reference_example_id,end_time:j.end_time,dotted_order:j.dotted_order,trace_id:j.trace_id,events:j.events,tags:j.tags,extra:j.extra,attachments:this.attachments,...O};if(!$?.excludeInputs)z.inputs=j.inputs;await this.client.updateRun(j.id,z,{apiKey:K,apiUrl:P,workspaceId:_})}else try{let q={end_time:this.end_time,error:this.error,outputs:this.outputs,parent_run_id:this.parent_run?.id??this.parent_run_id,reference_example_id:this.reference_example_id,extra:this.extra,events:this.events,dotted_order:this.dotted_order,trace_id:this.trace_id,tags:this.tags,attachments:this.attachments,session_name:this.project_name};if(!$?.excludeInputs)q.inputs=this.inputs;await this.client.updateRun(this.id,q)}catch(q){console.error(`Error in patchRun for run ${this.id}`,q)}}toJSON(){return this._convertToCreate(this,void 0,!1)}addEvent($){if(!this.events)this.events=[];if(typeof $==="string")this.events.push({name:"event",time:new Date().toISOString(),message:$});else this.events.push({...$,time:$.time??new Date().toISOString()})}static fromRunnableConfig($,q){let K=$?.callbacks,P,_,O,j=lZ();if(K){let J=K?.getParentRunId?.()??"",w=K?.handlers?.find((k)=>k?.name=="langchain_tracer");P=w?.getRun?.(J),_=w?.projectName,O=w?.client,j=j||!!w}if(!P)return new qq({...q,client:O,tracingEnabled:j,project_name:_});return new qq({name:P.name,id:P.id,trace_id:P.trace_id,dotted_order:P.dotted_order,client:O,tracingEnabled:j,project_name:_,tags:[...new Set((P?.tags??[]).concat($?.tags??[]))],extra:{metadata:{...P?.extra?.metadata,...$?.metadata}}}).createChild(q)}static fromDottedOrder($){return this.fromHeaders({"langsmith-trace":$})}static fromHeaders($,q){let K="get"in $&&typeof $.get==="function"?{"langsmith-trace":$.get("langsmith-trace"),baggage:$.get("baggage")}:$,P=K["langsmith-trace"];if(!P||typeof P!=="string")return;let _=P.trim(),O=_.split(".").map((J)=>{let[w,k]=J.split("Z");return{strTime:w,time:Date.parse(w+"Z"),uuid:k}}),j=O[0].uuid,z={...q,name:q?.name??"parent",run_type:q?.run_type??"chain",start_time:q?.start_time??Date.now(),id:O.at(-1)?.uuid,trace_id:j,dotted_order:_};if(K.baggage&&typeof K.baggage==="string"){let J=r1.fromHeader(K.baggage);z.metadata=J.metadata,z.tags=J.tags,z.project_name=J.project_name,z.replicas=J.replicas}return new qq(z)}toHeaders($){let q={"langsmith-trace":this.dotted_order,baggage:new r1(this.extra?.metadata,this.tags,this.project_name,this.replicas).toHeader()};if($)for(let[K,P]of Object.entries(q))$.set(K,P);return q}}Object.defineProperty(qq,"sharedClient",{enumerable:!0,configurable:!0,writable:!0,value:null});function oZ($){return $!=null&&typeof $.createChild==="function"&&typeof $.postRun==="function"}function nZ($){return typeof $==="object"&&$!=null&&typeof $.name==="string"&&$.name==="langchain_tracer"}function rZ($){return Array.isArray($)&&$.some((q)=>nZ(q))}function rR($){return typeof $==="object"&&$!=null&&Array.isArray($.handlers)}function oR($){return $!=null&&typeof $.callbacks==="object"&&(rZ($.callbacks?.handlers)||rZ($.callbacks))}function nR($){return $.split(".").map((K)=>{let P=K.slice(0,-36),_=K.slice(-36),O=parseInt(P.slice(0,4)),j=parseInt(P.slice(4,6))-1,z=parseInt(P.slice(6,8)),J=parseInt(P.slice(9,11)),w=parseInt(P.slice(11,13)),k=parseInt(P.slice(13,15)),X=parseInt(P.slice(15,21));return[new Date(O,j,z,J,w,k,X/1000),_]})}function iR(){let $=Qq("LANGSMITH_RUNS_ENDPOINTS");if(!$)return[];try{let q=JSON.parse($);if(Array.isArray(q)){let K=[];for(let P of q){if(typeof P!=="object"||P===null){console.warn(`Invalid item type in LANGSMITH_RUNS_ENDPOINTS: expected object, got ${typeof P}`);continue}if(typeof P.api_url!=="string"){console.warn(`Invalid api_url type in LANGSMITH_RUNS_ENDPOINTS: expected string, got ${typeof P.api_url}`);continue}if(typeof P.api_key!=="string"){console.warn(`Invalid api_key type in LANGSMITH_RUNS_ENDPOINTS: expected string, got ${typeof P.api_key}`);continue}K.push({apiUrl:P.api_url.replace(/\/$/,""),apiKey:P.api_key})}return K}else if(typeof q==="object"&&q!==null){tR(q);let K=[];for(let[P,_]of Object.entries(q)){let O=P.replace(/\/$/,"");if(typeof _==="string")K.push({apiUrl:O,apiKey:_});else{console.warn(`Invalid value type in LANGSMITH_RUNS_ENDPOINTS for URL ${P}: expected string, got ${typeof _}`);continue}}return K}else return console.warn("Invalid LANGSMITH_RUNS_ENDPOINTS – must be valid JSON array of "+`objects with api_url and api_key properties, or object mapping url->apiKey, got ${typeof q}`),[]}catch(q){if(gZ(q))throw q;return console.warn("Invalid LANGSMITH_RUNS_ENDPOINTS – must be valid JSON array of "+"objects with api_url and api_key properties, or object mapping url->apiKey"),[]}}function BR($){if($)return $.map((q)=>{if(Array.isArray(q))return{projectName:q[0],updates:q[1]};return q});return iR()}function tR($){if(Object.keys($).length>0&&c6("ENDPOINT"))throw new v2}var $f=Dq(BZ(),1),$I=Dq(sZ(),1);function qf($,q){return q?.[$]||$f.default($)}function Kf($,q,K){let P={};for(let _ in $)if(Object.hasOwn($,_))P[q(_,K)]=$[_];return P}function _f($){return Array.isArray($)?[...$]:{...$}}function qI($,q){let K=_f($);for(let[P,_]of Object.entries(q)){let[O,...j]=P.split(".").reverse(),z=K;for(let J of j.reverse()){if(z[J]===void 0)break;z[J]=_f(z[J]),z=z[J]}if(z[O]!==void 0)z[O]={lc:1,type:"secret",id:[_]}}return K}function T2($){let q=Object.getPrototypeOf($);if(typeof $.lc_name==="function"&&(typeof q.lc_name!=="function"||$.lc_name()!==q.lc_name()))return $.lc_name();else return $.name}class _K{static lc_name(){return this.name}get lc_id(){return[...this.lc_namespace,T2(this.constructor)]}get lc_secrets(){return}get lc_attributes(){return}get lc_aliases(){return}get lc_serializable_keys(){return}constructor($,...q){if(Object.defineProperty(this,"lc_serializable",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"lc_kwargs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.lc_serializable_keys!==void 0)this.lc_kwargs=Object.fromEntries(Object.entries($||{}).filter(([K])=>this.lc_serializable_keys?.includes(K)));else this.lc_kwargs=$??{}}toJSON(){if(!this.lc_serializable)return this.toJSONNotImplemented();if(this.lc_kwargs instanceof _K||typeof this.lc_kwargs!=="object"||Array.isArray(this.lc_kwargs))return this.toJSONNotImplemented();let $={},q={},K=Object.keys(this.lc_kwargs).reduce((P,_)=>{return P[_]=_ in this?this[_]:this.lc_kwargs[_],P},{});for(let P=Object.getPrototypeOf(this);P;P=Object.getPrototypeOf(P))Object.assign($,Reflect.get(P,"lc_aliases",this)),Object.assign(q,Reflect.get(P,"lc_secrets",this)),Object.assign(K,Reflect.get(P,"lc_attributes",this));return Object.keys(q).forEach((P)=>{let _=this,O=K,[j,...z]=P.split(".").reverse();for(let J of z.reverse()){if(!(J in _)||_[J]===void 0)return;if(!(J in O)||O[J]===void 0){if(typeof _[J]==="object"&&_[J]!=null)O[J]={};else if(Array.isArray(_[J]))O[J]=[]}_=_[J],O=O[J]}if(j in _&&_[j]!==void 0)O[j]=O[j]||_[j]}),{lc:1,type:"constructor",id:this.lc_id,kwargs:Kf(Object.keys(q).length?qI(K,q):K,qf,$)}}toJSONNotImplemented(){return{lc:1,type:"not_implemented",id:this.lc_id}}}var KI=()=>typeof window<"u"&&typeof window.document<"u",_I=()=>typeof globalThis==="object"&&globalThis.constructor&&globalThis.constructor.name==="DedicatedWorkerGlobalScope",PI=()=>typeof window<"u"&&window.name==="nodejs"||typeof navigator<"u"&&navigator.userAgent.includes("jsdom"),Z2=()=>typeof Deno<"u",jI=()=>typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"&&!Z2(),OI=()=>{let $;if(KI())$="browser";else if(jI())$="node";else if(_I())$="webworker";else if(PI())$="jsdom";else if(Z2())$="deno";else $="other";return $},w2;function Pf(){if(w2===void 0)w2={library:"langchain-js",runtime:OI()};return w2}function u8($){try{if(typeof process<"u")return process.env?.[$];else if(Z2())return Deno?.env.get($);else return}catch(q){return}}class jf{}class O_ extends jf{get lc_namespace(){return["langchain_core","callbacks",this.name]}get lc_secrets(){return}get lc_attributes(){return}get lc_aliases(){return}get lc_serializable_keys(){return}static lc_name(){return this.name}get lc_id(){return[...this.lc_namespace,T2(this.constructor)]}constructor($){super();if(Object.defineProperty(this,"lc_serializable",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"lc_kwargs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"ignoreLLM",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"ignoreChain",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"ignoreAgent",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"ignoreRetriever",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"ignoreCustomEvent",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"raiseError",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"awaitHandlers",{enumerable:!0,configurable:!0,writable:!0,value:u8("LANGCHAIN_CALLBACKS_BACKGROUND")==="false"}),this.lc_kwargs=$||{},$)this.ignoreLLM=$.ignoreLLM??this.ignoreLLM,this.ignoreChain=$.ignoreChain??this.ignoreChain,this.ignoreAgent=$.ignoreAgent??this.ignoreAgent,this.ignoreRetriever=$.ignoreRetriever??this.ignoreRetriever,this.ignoreCustomEvent=$.ignoreCustomEvent??this.ignoreCustomEvent,this.raiseError=$.raiseError??this.raiseError,this.awaitHandlers=this.raiseError||($._awaitHandler??this.awaitHandlers)}copy(){return new this.constructor(this)}toJSON(){return _K.prototype.toJSON.call(this)}toJSONNotImplemented(){return _K.prototype.toJSONNotImplemented.call(this)}static fromMethods($){class q extends O_{constructor(){super();Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:rq()}),Object.assign(this,$)}}return new q}}var Of=($)=>{let q=$;return q!==void 0&&typeof q.copy==="function"&&typeof q.name==="string"&&typeof q.awaitHandlers==="boolean"};var YI=($)=>{if(!$)return;return $.events=$.events??[],$.child_runs=$.child_runs??[],$};function X2($,q){if(!$)return;return new qq({...$,start_time:$._serialized_start_time??$.start_time,parent_run:X2(q),child_runs:$.child_runs.map((K)=>X2(K)).filter((K)=>K!==void 0),extra:{...$.extra,runtime:Pf()},tracingEnabled:!1})}function f2($,q){return $&&!Array.isArray($)&&typeof $==="object"?$:{[q]:$}}function q4($){return typeof $._addRunToRunMap==="function"}class C8 extends O_{constructor($){super(...arguments);Object.defineProperty(this,"runMap",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"runTreeMap",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"usesRunTreeMap",{enumerable:!0,configurable:!0,writable:!0,value:!1})}copy(){return this}getRunById($){if($===void 0)return;return this.usesRunTreeMap?YI(this.runTreeMap.get($)):this.runMap.get($)}stringifyError($){if($ instanceof Error)return $.message+($?.stack?`
|
|
85
85
|
|
|
86
86
|
${$.stack}`:"");if(typeof $==="string")return $;return`${$}`}_addChildRun($,q){$.child_runs.push(q)}_addRunToRunMap($){let{dottedOrder:q,microsecondPrecisionDatestring:K}=H2(new Date($.start_time).getTime(),$.id,$.execution_order),P={...$},_=this.getRunById(P.parent_run_id);if(P.parent_run_id!==void 0){if(_){if(this._addChildRun(_,P),_.child_execution_order=Math.max(_.child_execution_order,P.child_execution_order),P.trace_id=_.trace_id,_.dotted_order!==void 0)P.dotted_order=[_.dotted_order,q].join("."),P._serialized_start_time=K}}else P.trace_id=P.id,P.dotted_order=q,P._serialized_start_time=K;if(this.usesRunTreeMap){let O=X2(P,_);if(O!==void 0)this.runTreeMap.set(P.id,O)}else this.runMap.set(P.id,P);return P}async _endTrace($){let q=$.parent_run_id!==void 0&&this.getRunById($.parent_run_id);if(q)q.child_execution_order=Math.max(q.child_execution_order,$.child_execution_order);else await this.persistRun($);if(await this.onRunUpdate?.($),this.usesRunTreeMap)this.runTreeMap.delete($.id);else this.runMap.delete($.id)}_getExecutionOrder($){let q=$!==void 0&&this.getRunById($);if(!q)return 1;return q.child_execution_order+1}_createRunForLLMStart($,q,K,P,_,O,j,z){let J=this._getExecutionOrder(P),w=Date.now(),k=j?{..._,metadata:j}:_,X={id:K,name:z??$.id[$.id.length-1],parent_run_id:P,start_time:w,serialized:$,events:[{name:"start",time:new Date(w).toISOString()}],inputs:{prompts:q},execution_order:J,child_runs:[],child_execution_order:J,run_type:"llm",extra:k??{},tags:O||[]};return this._addRunToRunMap(X)}async handleLLMStart($,q,K,P,_,O,j,z){let J=this.getRunById(K)??this._createRunForLLMStart($,q,K,P,_,O,j,z);return await this.onRunCreate?.(J),await this.onLLMStart?.(J),J}_createRunForChatModelStart($,q,K,P,_,O,j,z){let J=this._getExecutionOrder(P),w=Date.now(),k=j?{..._,metadata:j}:_,X={id:K,name:z??$.id[$.id.length-1],parent_run_id:P,start_time:w,serialized:$,events:[{name:"start",time:new Date(w).toISOString()}],inputs:{messages:q},execution_order:J,child_runs:[],child_execution_order:J,run_type:"llm",extra:k??{},tags:O||[]};return this._addRunToRunMap(X)}async handleChatModelStart($,q,K,P,_,O,j,z){let J=this.getRunById(K)??this._createRunForChatModelStart($,q,K,P,_,O,j,z);return await this.onRunCreate?.(J),await this.onLLMStart?.(J),J}async handleLLMEnd($,q,K,P,_){let O=this.getRunById(q);if(!O||O?.run_type!=="llm")throw Error("No LLM run to end.");return O.end_time=Date.now(),O.outputs=$,O.events.push({name:"end",time:new Date(O.end_time).toISOString()}),O.extra={...O.extra,..._},await this.onLLMEnd?.(O),await this._endTrace(O),O}async handleLLMError($,q,K,P,_){let O=this.getRunById(q);if(!O||O?.run_type!=="llm")throw Error("No LLM run to end.");return O.end_time=Date.now(),O.error=this.stringifyError($),O.events.push({name:"error",time:new Date(O.end_time).toISOString()}),O.extra={...O.extra,..._},await this.onLLMError?.(O),await this._endTrace(O),O}_createRunForChainStart($,q,K,P,_,O,j,z){let J=this._getExecutionOrder(P),w=Date.now(),k={id:K,name:z??$.id[$.id.length-1],parent_run_id:P,start_time:w,serialized:$,events:[{name:"start",time:new Date(w).toISOString()}],inputs:q,execution_order:J,child_execution_order:J,run_type:j??"chain",child_runs:[],extra:O?{metadata:O}:{},tags:_||[]};return this._addRunToRunMap(k)}async handleChainStart($,q,K,P,_,O,j,z){let J=this.getRunById(K)??this._createRunForChainStart($,q,K,P,_,O,j,z);return await this.onRunCreate?.(J),await this.onChainStart?.(J),J}async handleChainEnd($,q,K,P,_){let O=this.getRunById(q);if(!O)throw Error("No chain run to end.");if(O.end_time=Date.now(),O.outputs=f2($,"output"),O.events.push({name:"end",time:new Date(O.end_time).toISOString()}),_?.inputs!==void 0)O.inputs=f2(_.inputs,"input");return await this.onChainEnd?.(O),await this._endTrace(O),O}async handleChainError($,q,K,P,_){let O=this.getRunById(q);if(!O)throw Error("No chain run to end.");if(O.end_time=Date.now(),O.error=this.stringifyError($),O.events.push({name:"error",time:new Date(O.end_time).toISOString()}),_?.inputs!==void 0)O.inputs=f2(_.inputs,"input");return await this.onChainError?.(O),await this._endTrace(O),O}_createRunForToolStart($,q,K,P,_,O,j){let z=this._getExecutionOrder(P),J=Date.now(),w={id:K,name:j??$.id[$.id.length-1],parent_run_id:P,start_time:J,serialized:$,events:[{name:"start",time:new Date(J).toISOString()}],inputs:{input:q},execution_order:z,child_execution_order:z,run_type:"tool",child_runs:[],extra:O?{metadata:O}:{},tags:_||[]};return this._addRunToRunMap(w)}async handleToolStart($,q,K,P,_,O,j){let z=this.getRunById(K)??this._createRunForToolStart($,q,K,P,_,O,j);return await this.onRunCreate?.(z),await this.onToolStart?.(z),z}async handleToolEnd($,q){let K=this.getRunById(q);if(!K||K?.run_type!=="tool")throw Error("No tool run to end");return K.end_time=Date.now(),K.outputs={output:$},K.events.push({name:"end",time:new Date(K.end_time).toISOString()}),await this.onToolEnd?.(K),await this._endTrace(K),K}async handleToolError($,q){let K=this.getRunById(q);if(!K||K?.run_type!=="tool")throw Error("No tool run to end");return K.end_time=Date.now(),K.error=this.stringifyError($),K.events.push({name:"error",time:new Date(K.end_time).toISOString()}),await this.onToolError?.(K),await this._endTrace(K),K}async handleAgentAction($,q){let K=this.getRunById(q);if(!K||K?.run_type!=="chain")return;let P=K;P.actions=P.actions||[],P.actions.push($),P.events.push({name:"agent_action",time:new Date().toISOString(),kwargs:{action:$}}),await this.onAgentAction?.(K)}async handleAgentEnd($,q){let K=this.getRunById(q);if(!K||K?.run_type!=="chain")return;K.events.push({name:"agent_end",time:new Date().toISOString(),kwargs:{action:$}}),await this.onAgentEnd?.(K)}_createRunForRetrieverStart($,q,K,P,_,O,j){let z=this._getExecutionOrder(P),J=Date.now(),w={id:K,name:j??$.id[$.id.length-1],parent_run_id:P,start_time:J,serialized:$,events:[{name:"start",time:new Date(J).toISOString()}],inputs:{query:q},execution_order:z,child_execution_order:z,run_type:"retriever",child_runs:[],extra:O?{metadata:O}:{},tags:_||[]};return this._addRunToRunMap(w)}async handleRetrieverStart($,q,K,P,_,O,j){let z=this.getRunById(K)??this._createRunForRetrieverStart($,q,K,P,_,O,j);return await this.onRunCreate?.(z),await this.onRetrieverStart?.(z),z}async handleRetrieverEnd($,q){let K=this.getRunById(q);if(!K||K?.run_type!=="retriever")throw Error("No retriever run to end");return K.end_time=Date.now(),K.outputs={documents:$},K.events.push({name:"end",time:new Date(K.end_time).toISOString()}),await this.onRetrieverEnd?.(K),await this._endTrace(K),K}async handleRetrieverError($,q){let K=this.getRunById(q);if(!K||K?.run_type!=="retriever")throw Error("No retriever run to end");return K.end_time=Date.now(),K.error=this.stringifyError($),K.events.push({name:"error",time:new Date(K.end_time).toISOString()}),await this.onRetrieverError?.(K),await this._endTrace(K),K}async handleText($,q){let K=this.getRunById(q);if(!K||K?.run_type!=="chain")return;K.events.push({name:"text",time:new Date().toISOString(),kwargs:{text:$}}),await this.onText?.(K)}async handleLLMNewToken($,q,K,P,_,O){let j=this.getRunById(K);if(!j||j?.run_type!=="llm")throw Error('Invalid "runId" provided to "handleLLMNewToken" callback.');return j.events.push({name:"new_token",time:new Date().toISOString(),kwargs:{token:$,idx:q,chunk:O?.chunk}}),await this.onLLMNewToken?.(j,$,{chunk:O?.chunk}),j}}var k2=Dq(Wf(),1);function yq($,q){return`${$.open}${q}${$.close}`}function z8($,q){try{return JSON.stringify($,null,2)}catch(K){return q}}function Hf($){if(typeof $==="string")return $.trim();if($===null||$===void 0)return $;return z8($,$.toString())}function bK($){if(!$.end_time)return"";let q=$.end_time-$.start_time;if(q<1000)return`${q}ms`;return`${(q/1000).toFixed(2)}s`}var{color:nq}=k2.default;class o1 extends C8{constructor(){super(...arguments);Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"console_callback_handler"})}persistRun($){return Promise.resolve()}getParents($){let q=[],K=$;while(K.parent_run_id){let P=this.runMap.get(K.parent_run_id);if(P)q.push(P),K=P;else break}return q}getBreadcrumbs($){let K=[...this.getParents($).reverse(),$].map((P,_,O)=>{let j=`${P.execution_order}:${P.run_type}:${P.name}`;return _===O.length-1?yq(k2.default.bold,j):j}).join(" > ");return yq(nq.grey,K)}onChainStart($){let q=this.getBreadcrumbs($);console.log(`${yq(nq.green,"[chain/start]")} [${q}] Entering Chain run with input: ${z8($.inputs,"[inputs]")}`)}onChainEnd($){let q=this.getBreadcrumbs($);console.log(`${yq(nq.cyan,"[chain/end]")} [${q}] [${bK($)}] Exiting Chain run with output: ${z8($.outputs,"[outputs]")}`)}onChainError($){let q=this.getBreadcrumbs($);console.log(`${yq(nq.red,"[chain/error]")} [${q}] [${bK($)}] Chain run errored with error: ${z8($.error,"[error]")}`)}onLLMStart($){let q=this.getBreadcrumbs($),K="prompts"in $.inputs?{prompts:$.inputs.prompts.map((P)=>P.trim())}:$.inputs;console.log(`${yq(nq.green,"[llm/start]")} [${q}] Entering LLM run with input: ${z8(K,"[inputs]")}`)}onLLMEnd($){let q=this.getBreadcrumbs($);console.log(`${yq(nq.cyan,"[llm/end]")} [${q}] [${bK($)}] Exiting LLM run with output: ${z8($.outputs,"[response]")}`)}onLLMError($){let q=this.getBreadcrumbs($);console.log(`${yq(nq.red,"[llm/error]")} [${q}] [${bK($)}] LLM run errored with error: ${z8($.error,"[error]")}`)}onToolStart($){let q=this.getBreadcrumbs($);console.log(`${yq(nq.green,"[tool/start]")} [${q}] Entering Tool run with input: "${Hf($.inputs.input)}"`)}onToolEnd($){let q=this.getBreadcrumbs($);console.log(`${yq(nq.cyan,"[tool/end]")} [${q}] [${bK($)}] Exiting Tool run with output: "${Hf($.outputs?.output)}"`)}onToolError($){let q=this.getBreadcrumbs($);console.log(`${yq(nq.red,"[tool/error]")} [${q}] [${bK($)}] Tool run errored with error: ${z8($.error,"[error]")}`)}onRetrieverStart($){let q=this.getBreadcrumbs($);console.log(`${yq(nq.green,"[retriever/start]")} [${q}] Entering Retriever run with input: ${z8($.inputs,"[inputs]")}`)}onRetrieverEnd($){let q=this.getBreadcrumbs($);console.log(`${yq(nq.cyan,"[retriever/end]")} [${q}] [${bK($)}] Exiting Retriever run with output: ${z8($.outputs,"[outputs]")}`)}onRetrieverError($){let q=this.getBreadcrumbs($);console.log(`${yq(nq.red,"[retriever/error]")} [${q}] [${bK($)}] Retriever run errored with error: ${z8($.error,"[error]")}`)}onAgentAction($){let q=$,K=this.getBreadcrumbs($);console.log(`${yq(nq.blue,"[agent/action]")} [${K}] Agent selected action: ${z8(q.actions[q.actions.length-1],"[action]")}`)}}function A2($){return!!($&&typeof $==="object"&&("type"in $)&&$.type==="tool_call")}class G2 extends Error{constructor($,q){super($);Object.defineProperty(this,"output",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.output=q}}function Jf($){if(typeof $>"u")return null;try{return JSON.parse($)}catch(O){}let q="",K=[],P=!1,_=!1;for(let O of $){if(P)if(O==='"'&&!_)P=!1;else if(O===`
|
|
87
|
-
`&&!_)O="\\n";else if(O==="\\")_=!_;else _=!1;else if(O==='"')P=!0,_=!1;else if(O==="{")K.push("}");else if(O==="[")K.push("]");else if(O==="}"||O==="]")if(K&&K[K.length-1]===O)K.pop();else return null;q+=O}if(P)q+='"';for(let O=K.length-1;O>=0;O-=1)q+=K[O];try{return JSON.parse(q)}catch(O){return null}}function V2($){return typeof $==="object"&&$!==null&&"type"in $&&typeof $.type==="string"&&"source_type"in $&&($.source_type==="url"||$.source_type==="base64"||$.source_type==="text"||$.source_type==="id")}function Y_($,q){if(typeof $==="string"){if($==="")return q;if(typeof q==="string")return $+q;else if(Array.isArray(q)&&q.some((K)=>V2(K)))return[{type:"text",source_type:"text",text:$},...q];else return[{type:"text",text:$},...q]}else if(Array.isArray(q))return n1($,q)??[...$,...q];else if(q==="")return $;else if(Array.isArray($)&&$.some((K)=>V2(K)))return[...$,{type:"file",source_type:"text",text:q}];else return[...$,{type:"text",text:q}]}function zI($,q){function K(P,_){if(typeof P!=="object"||P===null||P===void 0)return P;if(_>=q){if(Array.isArray(P))return"[Array]";return"[Object]"}if(Array.isArray(P))return P.map((j)=>K(j,_+1));let O={};for(let j of Object.keys(P))O[j]=K(P[j],_+1);return O}return JSON.stringify(K($,0),null,2)}class PK extends _K{get lc_aliases(){return{additional_kwargs:"additional_kwargs",response_metadata:"response_metadata"}}get text(){if(typeof this.content==="string")return this.content;if(!Array.isArray(this.content))return"";return this.content.map(($)=>{if(typeof $==="string")return $;if($.type==="text")return $.text;return""}).join("")}getType(){return this._getType()}constructor($,q){if(typeof $==="string")$={content:$,additional_kwargs:q,response_metadata:{}};if(!$.additional_kwargs)$.additional_kwargs={};if(!$.response_metadata)$.response_metadata={};super($);Object.defineProperty(this,"lc_namespace",{enumerable:!0,configurable:!0,writable:!0,value:["langchain_core","messages"]}),Object.defineProperty(this,"lc_serializable",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"content",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"additional_kwargs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"response_metadata",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=$.name,this.content=$.content,this.additional_kwargs=$.additional_kwargs,this.response_metadata=$.response_metadata,this.id=$.id}toDict(){return{type:this._getType(),data:this.toJSON().kwargs}}static lc_name(){return"BaseMessage"}get _printableFields(){return{id:this.id,content:this.content,name:this.name,additional_kwargs:this.additional_kwargs,response_metadata:this.response_metadata}}_updateId($){this.id=$,this.lc_kwargs.id=$}get[Symbol.toStringTag](){return this.constructor.lc_name()}[Symbol.for("nodejs.util.inspect.custom")]($){if($===null)return this;let q=zI(this._printableFields,Math.max(4,$));return`${this.constructor.lc_name()} ${q}`}}function x8($,q){let K={...$};for(let[P,_]of Object.entries(q))if(K[P]==null)K[P]=_;else if(_==null)continue;else if(typeof K[P]!==typeof _||Array.isArray(K[P])!==Array.isArray(_))throw Error(`field[${P}] already exists in the message chunk, but with a different type.`);else if(typeof K[P]==="string")if(P==="type")continue;else if(["id","name","output_version","model_provider"].includes(P))K[P]=_;else K[P]+=_;else if(typeof K[P]==="object"&&!Array.isArray(K[P]))K[P]=x8(K[P],_);else if(Array.isArray(K[P]))K[P]=n1(K[P],_);else if(K[P]===_)continue;else console.warn(`field[${P}] already exists in this message chunk and value has unsupported type.`);return K}function n1($,q){if($===void 0&&q===void 0)return;else if($===void 0||q===void 0)return $||q;else{let K=[...$];for(let P of q)if(typeof P==="object"&&P!==null&&"index"in P&&typeof P.index==="number"){let _=K.findIndex((O)=>{let j=typeof O==="object",z="index"in O&&O.index===P.index,J="id"in O&&"id"in P&&O?.id===P?.id,w=!("id"in O)||!O?.id||!("id"in P)||!P?.id;return j&&z&&(J||w)});if(_!==-1&&typeof K[_]==="object"&&K[_]!==null)K[_]=x8(K[_],P);else K.push(P)}else if(typeof P==="object"&&P!==null&&"text"in P&&P.text==="")continue;else K.push(P);return K}}class gK extends PK{}class v_ extends gK{constructor($){let q;if(typeof $==="string")q={content:$,tool_calls:[],invalid_tool_calls:[],tool_call_chunks:[]};else if($.tool_call_chunks===void 0)q={...$,tool_calls:$.tool_calls??[],invalid_tool_calls:[],tool_call_chunks:[],usage_metadata:$.usage_metadata!==void 0?$.usage_metadata:void 0};else{let
|
|
87
|
+
`&&!_)O="\\n";else if(O==="\\")_=!_;else _=!1;else if(O==='"')P=!0,_=!1;else if(O==="{")K.push("}");else if(O==="[")K.push("]");else if(O==="}"||O==="]")if(K&&K[K.length-1]===O)K.pop();else return null;q+=O}if(P)q+='"';for(let O=K.length-1;O>=0;O-=1)q+=K[O];try{return JSON.parse(q)}catch(O){return null}}function V2($){return typeof $==="object"&&$!==null&&"type"in $&&typeof $.type==="string"&&"source_type"in $&&($.source_type==="url"||$.source_type==="base64"||$.source_type==="text"||$.source_type==="id")}function Y_($,q){if(typeof $==="string"){if($==="")return q;if(typeof q==="string")return $+q;else if(Array.isArray(q)&&q.some((K)=>V2(K)))return[{type:"text",source_type:"text",text:$},...q];else return[{type:"text",text:$},...q]}else if(Array.isArray(q))return n1($,q)??[...$,...q];else if(q==="")return $;else if(Array.isArray($)&&$.some((K)=>V2(K)))return[...$,{type:"file",source_type:"text",text:q}];else return[...$,{type:"text",text:q}]}function zI($,q){function K(P,_){if(typeof P!=="object"||P===null||P===void 0)return P;if(_>=q){if(Array.isArray(P))return"[Array]";return"[Object]"}if(Array.isArray(P))return P.map((j)=>K(j,_+1));let O={};for(let j of Object.keys(P))O[j]=K(P[j],_+1);return O}return JSON.stringify(K($,0),null,2)}class PK extends _K{get lc_aliases(){return{additional_kwargs:"additional_kwargs",response_metadata:"response_metadata"}}get text(){if(typeof this.content==="string")return this.content;if(!Array.isArray(this.content))return"";return this.content.map(($)=>{if(typeof $==="string")return $;if($.type==="text")return $.text;return""}).join("")}getType(){return this._getType()}constructor($,q){if(typeof $==="string")$={content:$,additional_kwargs:q,response_metadata:{}};if(!$.additional_kwargs)$.additional_kwargs={};if(!$.response_metadata)$.response_metadata={};super($);Object.defineProperty(this,"lc_namespace",{enumerable:!0,configurable:!0,writable:!0,value:["langchain_core","messages"]}),Object.defineProperty(this,"lc_serializable",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"content",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"additional_kwargs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"response_metadata",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=$.name,this.content=$.content,this.additional_kwargs=$.additional_kwargs,this.response_metadata=$.response_metadata,this.id=$.id}toDict(){return{type:this._getType(),data:this.toJSON().kwargs}}static lc_name(){return"BaseMessage"}get _printableFields(){return{id:this.id,content:this.content,name:this.name,additional_kwargs:this.additional_kwargs,response_metadata:this.response_metadata}}_updateId($){this.id=$,this.lc_kwargs.id=$}get[Symbol.toStringTag](){return this.constructor.lc_name()}[Symbol.for("nodejs.util.inspect.custom")]($){if($===null)return this;let q=zI(this._printableFields,Math.max(4,$));return`${this.constructor.lc_name()} ${q}`}}function x8($,q){let K={...$};for(let[P,_]of Object.entries(q))if(K[P]==null)K[P]=_;else if(_==null)continue;else if(typeof K[P]!==typeof _||Array.isArray(K[P])!==Array.isArray(_))throw Error(`field[${P}] already exists in the message chunk, but with a different type.`);else if(typeof K[P]==="string")if(P==="type")continue;else if(["id","name","output_version","model_provider"].includes(P))K[P]=_;else K[P]+=_;else if(typeof K[P]==="object"&&!Array.isArray(K[P]))K[P]=x8(K[P],_);else if(Array.isArray(K[P]))K[P]=n1(K[P],_);else if(K[P]===_)continue;else console.warn(`field[${P}] already exists in this message chunk and value has unsupported type.`);return K}function n1($,q){if($===void 0&&q===void 0)return;else if($===void 0||q===void 0)return $||q;else{let K=[...$];for(let P of q)if(typeof P==="object"&&P!==null&&"index"in P&&typeof P.index==="number"){let _=K.findIndex((O)=>{let j=typeof O==="object",z="index"in O&&O.index===P.index,J="id"in O&&"id"in P&&O?.id===P?.id,w=!("id"in O)||!O?.id||!("id"in P)||!P?.id;return j&&z&&(J||w)});if(_!==-1&&typeof K[_]==="object"&&K[_]!==null)K[_]=x8(K[_],P);else K.push(P)}else if(typeof P==="object"&&P!==null&&"text"in P&&P.text==="")continue;else K.push(P);return K}}class gK extends PK{}class v_ extends gK{constructor($){let q;if(typeof $==="string")q={content:$,tool_calls:[],invalid_tool_calls:[],tool_call_chunks:[]};else if($.tool_call_chunks===void 0||$.tool_call_chunks.length===0)q={...$,tool_calls:$.tool_calls??[],invalid_tool_calls:[],tool_call_chunks:[],usage_metadata:$.usage_metadata!==void 0?$.usage_metadata:void 0};else{let P=($.tool_call_chunks??[]).reduce((j,z)=>{let J=j.findIndex(([w])=>{if("id"in z&&z.id&&"index"in z&&z.index!==void 0)return z.id===w.id&&z.index===w.index;if("id"in z&&z.id)return z.id===w.id;if("index"in z&&z.index!==void 0)return z.index===w.index;return!1});if(J!==-1)j[J].push(z);else j.push([z]);return j},[]),_=[],O=[];for(let j of P){let z={},J=j[0]?.name??"",w=j.map((G)=>G.args||"").join(""),k=w.length?w:"{}",X=j[0]?.id;try{if(z=Jf(k),!X||z===null||typeof z!=="object"||Array.isArray(z))throw Error("Malformed tool call chunk args.");_.push({name:J,args:z,id:X,type:"tool_call"})}catch(G){O.push({name:J,args:k,id:X,error:"Malformed args.",type:"invalid_tool_call"})}}q={...$,tool_calls:_,invalid_tool_calls:O,usage_metadata:$.usage_metadata!==void 0?$.usage_metadata:void 0}}super(q);Object.defineProperty(this,"tool_calls",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"invalid_tool_calls",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"tool_call_chunks",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"usage_metadata",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.tool_call_chunks=q.tool_call_chunks??this.tool_call_chunks,this.tool_calls=q.tool_calls??this.tool_calls,this.invalid_tool_calls=q.invalid_tool_calls??this.invalid_tool_calls,this.usage_metadata=q.usage_metadata}get lc_aliases(){return{...super.lc_aliases,tool_calls:"tool_calls",invalid_tool_calls:"invalid_tool_calls",tool_call_chunks:"tool_call_chunks"}}static lc_name(){return"AIMessageChunk"}_getType(){return"ai"}get _printableFields(){return{...super._printableFields,tool_calls:this.tool_calls,tool_call_chunks:this.tool_call_chunks,invalid_tool_calls:this.invalid_tool_calls,usage_metadata:this.usage_metadata}}concat($){let q={content:Y_(this.content,$.content),additional_kwargs:x8(this.additional_kwargs,$.additional_kwargs),response_metadata:x8(this.response_metadata,$.response_metadata),tool_call_chunks:[],id:this.id??$.id};if(this.tool_call_chunks!==void 0||$.tool_call_chunks!==void 0){let K=n1(this.tool_call_chunks,$.tool_call_chunks);if(K!==void 0&&K.length>0)q.tool_call_chunks=K}if(this.usage_metadata!==void 0||$.usage_metadata!==void 0){let K={...(this.usage_metadata?.input_token_details?.audio!==void 0||$.usage_metadata?.input_token_details?.audio!==void 0)&&{audio:(this.usage_metadata?.input_token_details?.audio??0)+($.usage_metadata?.input_token_details?.audio??0)},...(this.usage_metadata?.input_token_details?.cache_read!==void 0||$.usage_metadata?.input_token_details?.cache_read!==void 0)&&{cache_read:(this.usage_metadata?.input_token_details?.cache_read??0)+($.usage_metadata?.input_token_details?.cache_read??0)},...(this.usage_metadata?.input_token_details?.cache_creation!==void 0||$.usage_metadata?.input_token_details?.cache_creation!==void 0)&&{cache_creation:(this.usage_metadata?.input_token_details?.cache_creation??0)+($.usage_metadata?.input_token_details?.cache_creation??0)}},P={...(this.usage_metadata?.output_token_details?.audio!==void 0||$.usage_metadata?.output_token_details?.audio!==void 0)&&{audio:(this.usage_metadata?.output_token_details?.audio??0)+($.usage_metadata?.output_token_details?.audio??0)},...(this.usage_metadata?.output_token_details?.reasoning!==void 0||$.usage_metadata?.output_token_details?.reasoning!==void 0)&&{reasoning:(this.usage_metadata?.output_token_details?.reasoning??0)+($.usage_metadata?.output_token_details?.reasoning??0)}},_=this.usage_metadata??{input_tokens:0,output_tokens:0,total_tokens:0},O=$.usage_metadata??{input_tokens:0,output_tokens:0,total_tokens:0},j={input_tokens:_.input_tokens+O.input_tokens,output_tokens:_.output_tokens+O.output_tokens,total_tokens:_.total_tokens+O.total_tokens,...Object.keys(K).length>0&&{input_token_details:K},...Object.keys(P).length>0&&{output_token_details:P}};q.usage_metadata=j}return new v_(q)}}function Tf($,q="Human",K="AI"){let P=[];for(let _ of $){let O;if(_._getType()==="human")O=q;else if(_._getType()==="ai")O=K;else if(_._getType()==="system")O="System";else if(_._getType()==="function")O="Function";else if(_._getType()==="tool")O="Tool";else if(_._getType()==="generic")O=_.role;else throw Error(`Got unsupported message type: ${_._getType()}`);let j=_.name?`${_.name}, `:"",z=typeof _.content==="string"?_.content:JSON.stringify(_.content,null,2);P.push(`${O}: ${j}${z}`)}return P.join(`
|
|
88
88
|
`)}var S2,M2=()=>{if(S2===void 0){let $=u8("LANGCHAIN_CALLBACKS_BACKGROUND")==="false"?{blockOnRootRunFinalization:!0}:{};S2=new LK($)}return S2};class K4 extends C8{constructor($={}){super($);Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"langchain_tracer"}),Object.defineProperty(this,"projectName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"exampleId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"client",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"replicas",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"usesRunTreeMap",{enumerable:!0,configurable:!0,writable:!0,value:!0});let{exampleId:q,projectName:K,client:P,replicas:_}=$;this.projectName=K??zP(),this.replicas=_,this.exampleId=q,this.client=P??M2();let O=K4.getTraceableRunTree();if(O)this.updateFromRunTree(O)}async persistRun($){}async onRunCreate($){await this.getRunTreeWithTracingConfig($.id)?.postRun()}async onRunUpdate($){await this.getRunTreeWithTracingConfig($.id)?.patchRun()}getRun($){return this.runTreeMap.get($)}updateFromRunTree($){this.runTreeMap.set($.id,$);let q=$,K=new Set;while(q.parent_run){if(K.has(q.id))break;if(K.add(q.id),!q.parent_run)break;q=q.parent_run}K.clear();let P=[q];while(P.length>0){let _=P.shift();if(!_||K.has(_.id))continue;if(K.add(_.id),this.runTreeMap.set(_.id,_),_.child_runs)P.push(..._.child_runs)}this.client=$.client??this.client,this.replicas=$.replicas??this.replicas,this.projectName=$.project_name??this.projectName,this.exampleId=$.reference_example_id??this.exampleId}getRunTreeWithTracingConfig($){let q=this.runTreeMap.get($);if(!q)return;return new qq({...q,client:this.client,project_name:this.projectName,replicas:this.replicas,reference_example_id:this.exampleId,tracingEnabled:!0})}static getTraceableRunTree(){try{return DJ(!0)}catch{return}}}var i1=Dq(S1(),1);var wf=Symbol.for("ls:tracing_async_local_storage"),z_=Symbol.for("lc:context_variables"),Zf=($)=>{globalThis[wf]=$},yK=()=>{return globalThis[wf]};var GP;function WI(){return new("default"in i1.default?i1.default.default:i1.default)({autoStart:!0,concurrency:1})}function HI(){if(typeof GP>"u")GP=WI();return GP}async function x6($,q){if(q===!0){let K=yK();if(K!==void 0)await K.run(void 0,async()=>$());else await $()}else GP=HI(),GP.add(async()=>{let K=yK();if(K!==void 0)await K.run(void 0,async()=>$());else await $()})}var ff=($)=>{if($!==void 0)return $;return!!["LANGSMITH_TRACING_V2","LANGCHAIN_TRACING_V2","LANGSMITH_TRACING","LANGCHAIN_TRACING"].find((K)=>u8(K)==="true")};function N2($){let q=yK();if(q===void 0)return;return q.getStore()?.[z_]?.[$]}var JI=Symbol("lc:configure_hooks"),Xf=()=>N2(JI)||[];class kf{setHandler($){return this.setHandlers([$])}}class SP{constructor($,q,K,P,_,O,j,z){Object.defineProperty(this,"runId",{enumerable:!0,configurable:!0,writable:!0,value:$}),Object.defineProperty(this,"handlers",{enumerable:!0,configurable:!0,writable:!0,value:q}),Object.defineProperty(this,"inheritableHandlers",{enumerable:!0,configurable:!0,writable:!0,value:K}),Object.defineProperty(this,"tags",{enumerable:!0,configurable:!0,writable:!0,value:P}),Object.defineProperty(this,"inheritableTags",{enumerable:!0,configurable:!0,writable:!0,value:_}),Object.defineProperty(this,"metadata",{enumerable:!0,configurable:!0,writable:!0,value:O}),Object.defineProperty(this,"inheritableMetadata",{enumerable:!0,configurable:!0,writable:!0,value:j}),Object.defineProperty(this,"_parentRunId",{enumerable:!0,configurable:!0,writable:!0,value:z})}get parentRunId(){return this._parentRunId}async handleText($){await Promise.all(this.handlers.map((q)=>x6(async()=>{try{await q.handleText?.($,this.runId,this._parentRunId,this.tags)}catch(K){if((q.raiseError?console.error:console.warn)(`Error in handler ${q.constructor.name}, handleText: ${K}`),q.raiseError)throw K}},q.awaitHandlers)))}async handleCustomEvent($,q,K,P,_){await Promise.all(this.handlers.map((O)=>x6(async()=>{try{await O.handleCustomEvent?.($,q,this.runId,this.tags,this.metadata)}catch(j){if((O.raiseError?console.error:console.warn)(`Error in handler ${O.constructor.name}, handleCustomEvent: ${j}`),O.raiseError)throw j}},O.awaitHandlers)))}}class Af extends SP{getChild($){let q=new eq(this.runId);if(q.setHandlers(this.inheritableHandlers),q.addTags(this.inheritableTags),q.addMetadata(this.inheritableMetadata),$)q.addTags([$],!1);return q}async handleRetrieverEnd($){await Promise.all(this.handlers.map((q)=>x6(async()=>{if(!q.ignoreRetriever)try{await q.handleRetrieverEnd?.($,this.runId,this._parentRunId,this.tags)}catch(K){if((q.raiseError?console.error:console.warn)(`Error in handler ${q.constructor.name}, handleRetriever`),q.raiseError)throw K}},q.awaitHandlers)))}async handleRetrieverError($){await Promise.all(this.handlers.map((q)=>x6(async()=>{if(!q.ignoreRetriever)try{await q.handleRetrieverError?.($,this.runId,this._parentRunId,this.tags)}catch(K){if((q.raiseError?console.error:console.warn)(`Error in handler ${q.constructor.name}, handleRetrieverError: ${K}`),q.raiseError)throw $}},q.awaitHandlers)))}}class C2 extends SP{async handleLLMNewToken($,q,K,P,_,O){await Promise.all(this.handlers.map((j)=>x6(async()=>{if(!j.ignoreLLM)try{await j.handleLLMNewToken?.($,q??{prompt:0,completion:0},this.runId,this._parentRunId,this.tags,O)}catch(z){if((j.raiseError?console.error:console.warn)(`Error in handler ${j.constructor.name}, handleLLMNewToken: ${z}`),j.raiseError)throw z}},j.awaitHandlers)))}async handleLLMError($,q,K,P,_){await Promise.all(this.handlers.map((O)=>x6(async()=>{if(!O.ignoreLLM)try{await O.handleLLMError?.($,this.runId,this._parentRunId,this.tags,_)}catch(j){if((O.raiseError?console.error:console.warn)(`Error in handler ${O.constructor.name}, handleLLMError: ${j}`),O.raiseError)throw j}},O.awaitHandlers)))}async handleLLMEnd($,q,K,P,_){await Promise.all(this.handlers.map((O)=>x6(async()=>{if(!O.ignoreLLM)try{await O.handleLLMEnd?.($,this.runId,this._parentRunId,this.tags,_)}catch(j){if((O.raiseError?console.error:console.warn)(`Error in handler ${O.constructor.name}, handleLLMEnd: ${j}`),O.raiseError)throw j}},O.awaitHandlers)))}}class Gf extends SP{getChild($){let q=new eq(this.runId);if(q.setHandlers(this.inheritableHandlers),q.addTags(this.inheritableTags),q.addMetadata(this.inheritableMetadata),$)q.addTags([$],!1);return q}async handleChainError($,q,K,P,_){await Promise.all(this.handlers.map((O)=>x6(async()=>{if(!O.ignoreChain)try{await O.handleChainError?.($,this.runId,this._parentRunId,this.tags,_)}catch(j){if((O.raiseError?console.error:console.warn)(`Error in handler ${O.constructor.name}, handleChainError: ${j}`),O.raiseError)throw j}},O.awaitHandlers)))}async handleChainEnd($,q,K,P,_){await Promise.all(this.handlers.map((O)=>x6(async()=>{if(!O.ignoreChain)try{await O.handleChainEnd?.($,this.runId,this._parentRunId,this.tags,_)}catch(j){if((O.raiseError?console.error:console.warn)(`Error in handler ${O.constructor.name}, handleChainEnd: ${j}`),O.raiseError)throw j}},O.awaitHandlers)))}async handleAgentAction($){await Promise.all(this.handlers.map((q)=>x6(async()=>{if(!q.ignoreAgent)try{await q.handleAgentAction?.($,this.runId,this._parentRunId,this.tags)}catch(K){if((q.raiseError?console.error:console.warn)(`Error in handler ${q.constructor.name}, handleAgentAction: ${K}`),q.raiseError)throw K}},q.awaitHandlers)))}async handleAgentEnd($){await Promise.all(this.handlers.map((q)=>x6(async()=>{if(!q.ignoreAgent)try{await q.handleAgentEnd?.($,this.runId,this._parentRunId,this.tags)}catch(K){if((q.raiseError?console.error:console.warn)(`Error in handler ${q.constructor.name}, handleAgentEnd: ${K}`),q.raiseError)throw K}},q.awaitHandlers)))}}class Vf extends SP{getChild($){let q=new eq(this.runId);if(q.setHandlers(this.inheritableHandlers),q.addTags(this.inheritableTags),q.addMetadata(this.inheritableMetadata),$)q.addTags([$],!1);return q}async handleToolError($){await Promise.all(this.handlers.map((q)=>x6(async()=>{if(!q.ignoreAgent)try{await q.handleToolError?.($,this.runId,this._parentRunId,this.tags)}catch(K){if((q.raiseError?console.error:console.warn)(`Error in handler ${q.constructor.name}, handleToolError: ${K}`),q.raiseError)throw K}},q.awaitHandlers)))}async handleToolEnd($){await Promise.all(this.handlers.map((q)=>x6(async()=>{if(!q.ignoreAgent)try{await q.handleToolEnd?.($,this.runId,this._parentRunId,this.tags)}catch(K){if((q.raiseError?console.error:console.warn)(`Error in handler ${q.constructor.name}, handleToolEnd: ${K}`),q.raiseError)throw K}},q.awaitHandlers)))}}class eq extends kf{constructor($,q){super();Object.defineProperty(this,"handlers",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"inheritableHandlers",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"tags",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"inheritableTags",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"metadata",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"inheritableMetadata",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"callback_manager"}),Object.defineProperty(this,"_parentRunId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.handlers=q?.handlers??this.handlers,this.inheritableHandlers=q?.inheritableHandlers??this.inheritableHandlers,this.tags=q?.tags??this.tags,this.inheritableTags=q?.inheritableTags??this.inheritableTags,this.metadata=q?.metadata??this.metadata,this.inheritableMetadata=q?.inheritableMetadata??this.inheritableMetadata,this._parentRunId=$}getParentRunId(){return this._parentRunId}async handleLLMStart($,q,K=void 0,P=void 0,_=void 0,O=void 0,j=void 0,z=void 0){return Promise.all(q.map(async(J,w)=>{let k=w===0&&K?K:rq();return await Promise.all(this.handlers.map((X)=>{if(X.ignoreLLM)return;if(q4(X))X._createRunForLLMStart($,[J],k,this._parentRunId,_,this.tags,this.metadata,z);return x6(async()=>{try{await X.handleLLMStart?.($,[J],k,this._parentRunId,_,this.tags,this.metadata,z)}catch(G){if((X.raiseError?console.error:console.warn)(`Error in handler ${X.constructor.name}, handleLLMStart: ${G}`),X.raiseError)throw G}},X.awaitHandlers)})),new C2(k,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}))}async handleChatModelStart($,q,K=void 0,P=void 0,_=void 0,O=void 0,j=void 0,z=void 0){return Promise.all(q.map(async(J,w)=>{let k=w===0&&K?K:rq();return await Promise.all(this.handlers.map((X)=>{if(X.ignoreLLM)return;if(q4(X))X._createRunForChatModelStart($,[J],k,this._parentRunId,_,this.tags,this.metadata,z);return x6(async()=>{try{if(X.handleChatModelStart)await X.handleChatModelStart?.($,[J],k,this._parentRunId,_,this.tags,this.metadata,z);else if(X.handleLLMStart){let G=Tf(J);await X.handleLLMStart?.($,[G],k,this._parentRunId,_,this.tags,this.metadata,z)}}catch(G){if((X.raiseError?console.error:console.warn)(`Error in handler ${X.constructor.name}, handleLLMStart: ${G}`),X.raiseError)throw G}},X.awaitHandlers)})),new C2(k,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}))}async handleChainStart($,q,K=rq(),P=void 0,_=void 0,O=void 0,j=void 0){return await Promise.all(this.handlers.map((z)=>{if(z.ignoreChain)return;if(q4(z))z._createRunForChainStart($,q,K,this._parentRunId,this.tags,this.metadata,P,j);return x6(async()=>{try{await z.handleChainStart?.($,q,K,this._parentRunId,this.tags,this.metadata,P,j)}catch(J){if((z.raiseError?console.error:console.warn)(`Error in handler ${z.constructor.name}, handleChainStart: ${J}`),z.raiseError)throw J}},z.awaitHandlers)})),new Gf(K,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}async handleToolStart($,q,K=rq(),P=void 0,_=void 0,O=void 0,j=void 0){return await Promise.all(this.handlers.map((z)=>{if(z.ignoreAgent)return;if(q4(z))z._createRunForToolStart($,q,K,this._parentRunId,this.tags,this.metadata,j);return x6(async()=>{try{await z.handleToolStart?.($,q,K,this._parentRunId,this.tags,this.metadata,j)}catch(J){if((z.raiseError?console.error:console.warn)(`Error in handler ${z.constructor.name}, handleToolStart: ${J}`),z.raiseError)throw J}},z.awaitHandlers)})),new Vf(K,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}async handleRetrieverStart($,q,K=rq(),P=void 0,_=void 0,O=void 0,j=void 0){return await Promise.all(this.handlers.map((z)=>{if(z.ignoreRetriever)return;if(q4(z))z._createRunForRetrieverStart($,q,K,this._parentRunId,this.tags,this.metadata,j);return x6(async()=>{try{await z.handleRetrieverStart?.($,q,K,this._parentRunId,this.tags,this.metadata,j)}catch(J){if((z.raiseError?console.error:console.warn)(`Error in handler ${z.constructor.name}, handleRetrieverStart: ${J}`),z.raiseError)throw J}},z.awaitHandlers)})),new Af(K,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}async handleCustomEvent($,q,K,P,_){await Promise.all(this.handlers.map((O)=>x6(async()=>{if(!O.ignoreCustomEvent)try{await O.handleCustomEvent?.($,q,K,this.tags,this.metadata)}catch(j){if((O.raiseError?console.error:console.warn)(`Error in handler ${O.constructor.name}, handleCustomEvent: ${j}`),O.raiseError)throw j}},O.awaitHandlers)))}addHandler($,q=!0){if(this.handlers.push($),q)this.inheritableHandlers.push($)}removeHandler($){this.handlers=this.handlers.filter((q)=>q!==$),this.inheritableHandlers=this.inheritableHandlers.filter((q)=>q!==$)}setHandlers($,q=!0){this.handlers=[],this.inheritableHandlers=[];for(let K of $)this.addHandler(K,q)}addTags($,q=!0){if(this.removeTags($),this.tags.push(...$),q)this.inheritableTags.push(...$)}removeTags($){this.tags=this.tags.filter((q)=>!$.includes(q)),this.inheritableTags=this.inheritableTags.filter((q)=>!$.includes(q))}addMetadata($,q=!0){if(this.metadata={...this.metadata,...$},q)this.inheritableMetadata={...this.inheritableMetadata,...$}}removeMetadata($){for(let q of Object.keys($))delete this.metadata[q],delete this.inheritableMetadata[q]}copy($=[],q=!0){let K=new eq(this._parentRunId);for(let P of this.handlers){let _=this.inheritableHandlers.includes(P);K.addHandler(P,_)}for(let P of this.tags){let _=this.inheritableTags.includes(P);K.addTags([P],_)}for(let P of Object.keys(this.metadata)){let _=Object.keys(this.inheritableMetadata).includes(P);K.addMetadata({[P]:this.metadata[P]},_)}for(let P of $){if(K.handlers.filter((_)=>_.name==="console_callback_handler").some((_)=>_.name===P.name))continue;K.addHandler(P,q)}return K}static fromHandlers($){class q extends O_{constructor(){super();Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:rq()}),Object.assign(this,$)}}let K=new this;return K.addHandler(new q),K}static configure($,q,K,P,_,O,j){return this._configureSync($,q,K,P,_,O,j)}static _configureSync($,q,K,P,_,O,j){let z;if($||q){if(Array.isArray($)||!$)z=new eq,z.setHandlers($?.map(VP)??[],!0);else z=$;z=z.copy(Array.isArray(q)?q.map(VP):q?.handlers,!1)}let J=u8("LANGCHAIN_VERBOSE")==="true"||j?.verbose,w=K4.getTraceableRunTree()?.tracingEnabled||ff(),k=w||(u8("LANGCHAIN_TRACING")??!1);if(J||k){if(!z)z=new eq;if(J&&!z.handlers.some((X)=>X.name===o1.prototype.name)){let X=new o1;z.addHandler(X,!0)}if(k&&!z.handlers.some((X)=>X.name==="langchain_tracer")){if(w){let X=new K4;z.addHandler(X,!0)}}if(w){let X=K4.getTraceableRunTree();if(X&&z._parentRunId===void 0)z._parentRunId=X.id,z.handlers.find((V)=>V.name==="langchain_tracer")?.updateFromRunTree(X)}}for(let{contextVar:X,inheritable:G=!0,handlerClass:V,envVar:C}of Xf()){let E=C&&u8(C)==="true"&&V,h,I=X!==void 0?N2(X):void 0;if(I&&Of(I))h=I;else if(E)h=new V({});if(h!==void 0){if(!z)z=new eq;if(!z.handlers.some((D)=>D.name===h.name))z.addHandler(h,G)}}if(K||P){if(z)z.addTags(K??[]),z.addTags(P??[],!1)}if(_||O){if(z)z.addMetadata(_??{}),z.addMetadata(O??{},!1)}return z}}function VP($){if("name"in $)return $;return O_.fromMethods($)}class E2{getStore(){return}run($,q){return q()}enterWith($){return}}var TI=new E2,Sf=Symbol.for("lc:child_config");class Mf{getInstance(){return yK()??TI}getRunnableConfig(){return this.getInstance().getStore()?.extra?.[Sf]}runWithConfig($,q,K){let P=eq._configureSync($?.callbacks,void 0,$?.tags,void 0,$?.metadata),_=this.getInstance(),O=_.getStore(),j=P?.getParentRunId(),z=P?.handlers?.find((w)=>w?.name==="langchain_tracer"),J;if(z&&j)J=z.getRunTreeWithTracingConfig(j);else if(!K)J=new qq({name:"<runnable_lambda>",tracingEnabled:!1});if(J)J.extra={...J.extra,[Sf]:$};if(O!==void 0&&O[z_]!==void 0){if(J===void 0)J={};J[z_]=O[z_]}return _.run(J,q)}initializeGlobalInstance($){if(yK()===void 0)Zf($)}}var sq=new Mf;var B1=25;async function W8($){return eq._configureSync($?.callbacks,void 0,$?.tags,void 0,$?.metadata)}function h2(...$){let q={};for(let K of $.filter((P)=>!!P))for(let P of Object.keys(K))if(P==="metadata")q[P]={...q[P],...K[P]};else if(P==="tags"){let _=q[P]??[];q[P]=[...new Set(_.concat(K[P]??[]))]}else if(P==="configurable")q[P]={...q[P],...K[P]};else if(P==="timeout"){if(q.timeout===void 0)q.timeout=K.timeout;else if(K.timeout!==void 0)q.timeout=Math.min(q.timeout,K.timeout)}else if(P==="signal"){if(q.signal===void 0)q.signal=K.signal;else if(K.signal!==void 0)if("any"in AbortSignal)q.signal=AbortSignal.any([q.signal,K.signal]);else q.signal=K.signal}else if(P==="callbacks"){let _=q.callbacks,O=K.callbacks;if(Array.isArray(O))if(!_)q.callbacks=O;else if(Array.isArray(_))q.callbacks=_.concat(O);else{let j=_.copy();for(let z of O)j.addHandler(VP(z),!0);q.callbacks=j}else if(O)if(!_)q.callbacks=O;else if(Array.isArray(_)){let j=O.copy();for(let z of _)j.addHandler(VP(z),!0);q.callbacks=j}else q.callbacks=new eq(O._parentRunId,{handlers:_.handlers.concat(O.handlers),inheritableHandlers:_.inheritableHandlers.concat(O.inheritableHandlers),tags:Array.from(new Set(_.tags.concat(O.tags))),inheritableTags:Array.from(new Set(_.inheritableTags.concat(O.inheritableTags))),metadata:{..._.metadata,...O.metadata}})}else{let _=P;q[_]=K[_]??q[_]}return q}var wI=new Set(["string","number","boolean"]);function V6($){let q=sq.getRunnableConfig(),K={tags:[],metadata:{},recursionLimit:25,runId:void 0};if(q){let{runId:P,runName:_,...O}=q;K=Object.entries(O).reduce((j,[z,J])=>{if(J!==void 0)j[z]=J;return j},K)}if($)K=Object.entries($).reduce((P,[_,O])=>{if(O!==void 0)P[_]=O;return P},K);if(K?.configurable){for(let P of Object.keys(K.configurable))if(wI.has(typeof K.configurable[P])&&!K.metadata?.[P]){if(!K.metadata)K.metadata={};K.metadata[P]=K.configurable[P]}}if(K.timeout!==void 0){if(K.timeout<=0)throw Error("Timeout must be a positive number");let P=AbortSignal.timeout(K.timeout);if(K.signal!==void 0){if("any"in AbortSignal)K.signal=AbortSignal.any([K.signal,P])}else K.signal=P;delete K.timeout}return K}function fq($={},{callbacks:q,maxConcurrency:K,recursionLimit:P,runName:_,configurable:O,runId:j}={}){let z=V6($);if(q!==void 0)delete z.runName,z.callbacks=q;if(P!==void 0)z.recursionLimit=P;if(K!==void 0)z.maxConcurrency=K;if(_!==void 0)z.runName=_;if(O!==void 0)z.configurable={...z.configurable,...O};if(j!==void 0)delete z.runId;return z}function jK($){return $?{configurable:$.configurable,recursionLimit:$.recursionLimit,callbacks:$.callbacks,tags:$.tags,metadata:$.metadata,maxConcurrency:$.maxConcurrency,timeout:$.timeout,signal:$.signal}:void 0}async function c8($,q){if(q===void 0)return $;let K;return Promise.race([$.catch((P)=>{if(!q?.aborted)throw P;else return}),new Promise((P,_)=>{if(K=()=>{_(Error("Aborted"))},q.addEventListener("abort",K),q.aborted)_(Error("Aborted"))})]).finally(()=>q.removeEventListener("abort",K))}class Xq extends ReadableStream{constructor(){super(...arguments);Object.defineProperty(this,"reader",{enumerable:!0,configurable:!0,writable:!0,value:void 0})}ensureReader(){if(!this.reader)this.reader=this.getReader()}async next(){this.ensureReader();try{let $=await this.reader.read();if($.done)return this.reader.releaseLock(),{done:!0,value:void 0};else return{done:!1,value:$.value}}catch($){throw this.reader.releaseLock(),$}}async return(){if(this.ensureReader(),this.locked){let $=this.reader.cancel();this.reader.releaseLock(),await $}return{done:!0,value:void 0}}async throw($){if(this.ensureReader(),this.locked){let q=this.reader.cancel();this.reader.releaseLock(),await q}throw $}[Symbol.asyncIterator](){return this}async[Symbol.asyncDispose](){await this.return()}static fromReadableStream($){let q=$.getReader();return new Xq({start(K){return P();function P(){return q.read().then(({done:_,value:O})=>{if(_){K.close();return}return K.enqueue(O),P()})}},cancel(){q.releaseLock()}})}static fromAsyncGenerator($){return new Xq({async pull(q){let{value:K,done:P}=await $.next();if(P)q.close();q.enqueue(K)},async cancel(q){await $.return(q)}})}}function R2($,q=2){let K=Array.from({length:q},()=>[]);return K.map(async function*(_){while(!0)if(_.length===0){let O=await $.next();for(let j of K)j.push(O)}else if(_[0].done)return;else yield _.shift().value})}function I2($,q){if(Array.isArray($)&&Array.isArray(q))return $.concat(q);else if(typeof $==="string"&&typeof q==="string")return $+q;else if(typeof $==="number"&&typeof q==="number")return $+q;else if("concat"in $&&typeof $.concat==="function")return $.concat(q);else if(typeof $==="object"&&typeof q==="object"){let K={...$};for(let[P,_]of Object.entries(q))if(P in K&&!Array.isArray(K[P]))K[P]=I2(K[P],_);else K[P]=_;return K}else throw Error(`Cannot concat ${typeof $} and ${typeof q}`)}class uK{constructor($){Object.defineProperty(this,"generator",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"setup",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"config",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"signal",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"firstResult",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"firstResultUsed",{enumerable:!0,configurable:!0,writable:!0,value:!1}),this.generator=$.generator,this.config=$.config,this.signal=$.signal??this.config?.signal,this.setup=new Promise((q,K)=>{sq.runWithConfig(jK($.config),async()=>{if(this.firstResult=$.generator.next(),$.startSetup)this.firstResult.then($.startSetup).then(q,K);else this.firstResult.then((P)=>q(void 0),K)},!0)})}async next(...$){if(this.signal?.throwIfAborted(),!this.firstResultUsed)return this.firstResultUsed=!0,this.firstResult;return sq.runWithConfig(jK(this.config),this.signal?async()=>{return c8(this.generator.next(...$),this.signal)}:async()=>{return this.generator.next(...$)},!0)}async return($){return this.generator.return($)}async throw($){return this.generator.throw($)}[Symbol.asyncIterator](){return this}async[Symbol.asyncDispose](){await this.return()}}async function Nf($,q,K,P,..._){let O=new uK({generator:q,startSetup:K,signal:P}),j=await O.setup;return{output:$(O,j,..._),setup:j}}class p8{constructor($){Object.defineProperty(this,"ops",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.ops=$.ops??[]}concat($){let q=this.ops.concat($.ops),K=P_({},q);return new _4({ops:q,state:K[K.length-1].newDocument})}}class _4 extends p8{constructor($){super($);Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.state=$.state}concat($){let q=this.ops.concat($.ops),K=P_(this.state,$.ops);return new _4({ops:q,state:K[K.length-1].newDocument})}static fromRunLogPatch($){let q=P_({},$.ops);return new _4({ops:$.ops,state:q[q.length-1].newDocument})}}var hf=($)=>$.name==="log_stream_tracer";async function Cf($,q){if(q==="original")throw Error("Do not assign inputs with original schema drop the key for now. When inputs are added to streamLog they should be added with standardized schema for streaming events.");let{inputs:K}=$;if(["retriever","llm","prompt"].includes($.run_type))return K;if(Object.keys(K).length===1&&K?.input==="")return;return K.input}async function Ef($,q){let{outputs:K}=$;if(q==="original")return K;if(["retriever","llm","prompt"].includes($.run_type))return K;if(K!==void 0&&Object.keys(K).length===1&&K?.output!==void 0)return K.output;return K}function ZI($){return $!==void 0&&$.message!==void 0}class t1 extends C8{constructor($){super({_awaitHandler:!0,...$});Object.defineProperty(this,"autoClose",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"includeNames",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"includeTypes",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"includeTags",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"excludeNames",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"excludeTypes",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"excludeTags",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_schemaFormat",{enumerable:!0,configurable:!0,writable:!0,value:"original"}),Object.defineProperty(this,"rootId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"keyMapByRunId",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"counterMapByRunName",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"transformStream",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"writer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"receiveStream",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"log_stream_tracer"}),Object.defineProperty(this,"lc_prefer_streaming",{enumerable:!0,configurable:!0,writable:!0,value:!0}),this.autoClose=$?.autoClose??!0,this.includeNames=$?.includeNames,this.includeTypes=$?.includeTypes,this.includeTags=$?.includeTags,this.excludeNames=$?.excludeNames,this.excludeTypes=$?.excludeTypes,this.excludeTags=$?.excludeTags,this._schemaFormat=$?._schemaFormat??this._schemaFormat,this.transformStream=new TransformStream,this.writer=this.transformStream.writable.getWriter(),this.receiveStream=Xq.fromReadableStream(this.transformStream.readable)}[Symbol.asyncIterator](){return this.receiveStream}async persistRun($){}_includeRun($){if($.id===this.rootId)return!1;let q=$.tags??[],K=this.includeNames===void 0&&this.includeTags===void 0&&this.includeTypes===void 0;if(this.includeNames!==void 0)K=K||this.includeNames.includes($.name);if(this.includeTypes!==void 0)K=K||this.includeTypes.includes($.run_type);if(this.includeTags!==void 0)K=K||q.find((P)=>this.includeTags?.includes(P))!==void 0;if(this.excludeNames!==void 0)K=K&&!this.excludeNames.includes($.name);if(this.excludeTypes!==void 0)K=K&&!this.excludeTypes.includes($.run_type);if(this.excludeTags!==void 0)K=K&&q.every((P)=>!this.excludeTags?.includes(P));return K}async*tapOutputIterable($,q){for await(let K of q){if($!==this.rootId){let P=this.keyMapByRunId[$];if(P)await this.writer.write(new p8({ops:[{op:"add",path:`/logs/${P}/streamed_output/-`,value:K}]}))}yield K}}async onRunCreate($){if(this.rootId===void 0)this.rootId=$.id,await this.writer.write(new p8({ops:[{op:"replace",path:"",value:{id:$.id,name:$.name,type:$.run_type,streamed_output:[],final_output:void 0,logs:{}}}]}));if(!this._includeRun($))return;if(this.counterMapByRunName[$.name]===void 0)this.counterMapByRunName[$.name]=0;this.counterMapByRunName[$.name]+=1;let q=this.counterMapByRunName[$.name];this.keyMapByRunId[$.id]=q===1?$.name:`${$.name}:${q}`;let K={id:$.id,name:$.name,type:$.run_type,tags:$.tags??[],metadata:$.extra?.metadata??{},start_time:new Date($.start_time).toISOString(),streamed_output:[],streamed_output_str:[],final_output:void 0,end_time:void 0};if(this._schemaFormat==="streaming_events")K.inputs=await Cf($,this._schemaFormat);await this.writer.write(new p8({ops:[{op:"add",path:`/logs/${this.keyMapByRunId[$.id]}`,value:K}]}))}async onRunUpdate($){try{let q=this.keyMapByRunId[$.id];if(q===void 0)return;let K=[];if(this._schemaFormat==="streaming_events")K.push({op:"replace",path:`/logs/${q}/inputs`,value:await Cf($,this._schemaFormat)});if(K.push({op:"add",path:`/logs/${q}/final_output`,value:await Ef($,this._schemaFormat)}),$.end_time!==void 0)K.push({op:"add",path:`/logs/${q}/end_time`,value:new Date($.end_time).toISOString()});let P=new p8({ops:K});await this.writer.write(P)}finally{if($.id===this.rootId){let q=new p8({ops:[{op:"replace",path:"/final_output",value:await Ef($,this._schemaFormat)}]});if(await this.writer.write(q),this.autoClose)await this.writer.close()}}}async onLLMNewToken($,q,K){let P=this.keyMapByRunId[$.id];if(P===void 0)return;let _=$.inputs.messages!==void 0,O;if(_)if(ZI(K?.chunk))O=K?.chunk;else O=new v_({id:`run-${$.id}`,content:q});else O=q;let j=new p8({ops:[{op:"add",path:`/logs/${P}/streamed_output_str/-`,value:q},{op:"add",path:`/logs/${P}/streamed_output/-`,value:O}]});await this.writer.write(j)}}class MP{constructor($){Object.defineProperty(this,"text",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"generationInfo",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.text=$.text,this.generationInfo=$.generationInfo}concat($){return new MP({text:this.text+$.text,generationInfo:{...this.generationInfo,...$.generationInfo}})}}function U1({name:$,serialized:q}){if($!==void 0)return $;if(q?.name!==void 0)return q.name;else if(q?.id!==void 0&&Array.isArray(q?.id))return q.id[q.id.length-1];return"Unnamed"}var Rf=($)=>$.name==="event_stream_tracer";class D2 extends C8{constructor($){super({_awaitHandler:!0,...$});Object.defineProperty(this,"autoClose",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"includeNames",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"includeTypes",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"includeTags",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"excludeNames",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"excludeTypes",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"excludeTags",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"runInfoMap",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"tappedPromises",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"transformStream",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"writer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"receiveStream",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"event_stream_tracer"}),Object.defineProperty(this,"lc_prefer_streaming",{enumerable:!0,configurable:!0,writable:!0,value:!0}),this.autoClose=$?.autoClose??!0,this.includeNames=$?.includeNames,this.includeTypes=$?.includeTypes,this.includeTags=$?.includeTags,this.excludeNames=$?.excludeNames,this.excludeTypes=$?.excludeTypes,this.excludeTags=$?.excludeTags,this.transformStream=new TransformStream,this.writer=this.transformStream.writable.getWriter(),this.receiveStream=Xq.fromReadableStream(this.transformStream.readable)}[Symbol.asyncIterator](){return this.receiveStream}async persistRun($){}_includeRun($){let q=$.tags??[],K=this.includeNames===void 0&&this.includeTags===void 0&&this.includeTypes===void 0;if(this.includeNames!==void 0)K=K||this.includeNames.includes($.name);if(this.includeTypes!==void 0)K=K||this.includeTypes.includes($.runType);if(this.includeTags!==void 0)K=K||q.find((P)=>this.includeTags?.includes(P))!==void 0;if(this.excludeNames!==void 0)K=K&&!this.excludeNames.includes($.name);if(this.excludeTypes!==void 0)K=K&&!this.excludeTypes.includes($.runType);if(this.excludeTags!==void 0)K=K&&q.every((P)=>!this.excludeTags?.includes(P));return K}async*tapOutputIterable($,q){let K=await q.next();if(K.done)return;let P=this.runInfoMap.get($);if(P===void 0){yield K.value;return}function _(j,z){if(j==="llm"&&typeof z==="string")return new MP({text:z});return z}let O=this.tappedPromises.get($);if(O===void 0){let j;O=new Promise((z)=>{j=z}),this.tappedPromises.set($,O);try{let z={event:`on_${P.runType}_stream`,run_id:$,name:P.name,tags:P.tags,metadata:P.metadata,data:{}};await this.send({...z,data:{chunk:_(P.runType,K.value)}},P),yield K.value;for await(let J of q){if(P.runType!=="tool"&&P.runType!=="retriever")await this.send({...z,data:{chunk:_(P.runType,J)}},P);yield J}}finally{j()}}else{yield K.value;for await(let j of q)yield j}}async send($,q){if(this._includeRun(q))await this.writer.write($)}async sendEndEvent($,q){let K=this.tappedPromises.get($.run_id);if(K!==void 0)K.then(()=>{this.send($,q)});else await this.send($,q)}async onLLMStart($){let q=U1($),K=$.inputs.messages!==void 0?"chat_model":"llm",P={tags:$.tags??[],metadata:$.extra?.metadata??{},name:q,runType:K,inputs:$.inputs};this.runInfoMap.set($.id,P);let _=`on_${K}_start`;await this.send({event:_,data:{input:$.inputs},name:q,tags:$.tags??[],run_id:$.id,metadata:$.extra?.metadata??{}},P)}async onLLMNewToken($,q,K){let P=this.runInfoMap.get($.id),_,O;if(P===void 0)throw Error(`onLLMNewToken: Run ID ${$.id} not found in run map.`);if(this.runInfoMap.size===1)return;if(P.runType==="chat_model")if(O="on_chat_model_stream",K?.chunk===void 0)_=new v_({content:q,id:`run-${$.id}`});else _=K.chunk.message;else if(P.runType==="llm")if(O="on_llm_stream",K?.chunk===void 0)_=new MP({text:q});else _=K.chunk;else throw Error(`Unexpected run type ${P.runType}`);await this.send({event:O,data:{chunk:_},run_id:$.id,name:P.name,tags:P.tags,metadata:P.metadata},P)}async onLLMEnd($){let q=this.runInfoMap.get($.id);this.runInfoMap.delete($.id);let K;if(q===void 0)throw Error(`onLLMEnd: Run ID ${$.id} not found in run map.`);let P=$.outputs?.generations,_;if(q.runType==="chat_model"){for(let O of P??[]){if(_!==void 0)break;_=O[0]?.message}K="on_chat_model_end"}else if(q.runType==="llm")_={generations:P?.map((O)=>{return O.map((j)=>{return{text:j.text,generationInfo:j.generationInfo}})}),llmOutput:$.outputs?.llmOutput??{}},K="on_llm_end";else throw Error(`onLLMEnd: Unexpected run type: ${q.runType}`);await this.sendEndEvent({event:K,data:{output:_,input:q.inputs},run_id:$.id,name:q.name,tags:q.tags,metadata:q.metadata},q)}async onChainStart($){let q=U1($),K=$.run_type??"chain",P={tags:$.tags??[],metadata:$.extra?.metadata??{},name:q,runType:$.run_type},_={};if($.inputs.input===""&&Object.keys($.inputs).length===1)_={},P.inputs={};else if($.inputs.input!==void 0)_.input=$.inputs.input,P.inputs=$.inputs.input;else _.input=$.inputs,P.inputs=$.inputs;this.runInfoMap.set($.id,P),await this.send({event:`on_${K}_start`,data:_,name:q,tags:$.tags??[],run_id:$.id,metadata:$.extra?.metadata??{}},P)}async onChainEnd($){let q=this.runInfoMap.get($.id);if(this.runInfoMap.delete($.id),q===void 0)throw Error(`onChainEnd: Run ID ${$.id} not found in run map.`);let K=`on_${$.run_type}_end`,P=$.inputs??q.inputs??{},O={output:$.outputs?.output??$.outputs,input:P};if(P.input&&Object.keys(P).length===1)O.input=P.input,q.inputs=P.input;await this.sendEndEvent({event:K,data:O,run_id:$.id,name:q.name,tags:q.tags,metadata:q.metadata??{}},q)}async onToolStart($){let q=U1($),K={tags:$.tags??[],metadata:$.extra?.metadata??{},name:q,runType:"tool",inputs:$.inputs??{}};this.runInfoMap.set($.id,K),await this.send({event:"on_tool_start",data:{input:$.inputs??{}},name:q,run_id:$.id,tags:$.tags??[],metadata:$.extra?.metadata??{}},K)}async onToolEnd($){let q=this.runInfoMap.get($.id);if(this.runInfoMap.delete($.id),q===void 0)throw Error(`onToolEnd: Run ID ${$.id} not found in run map.`);if(q.inputs===void 0)throw Error(`onToolEnd: Run ID ${$.id} is a tool call, and is expected to have traced inputs.`);let K=$.outputs?.output===void 0?$.outputs:$.outputs.output;await this.sendEndEvent({event:"on_tool_end",data:{output:K,input:q.inputs},run_id:$.id,name:q.name,tags:q.tags,metadata:q.metadata},q)}async onRetrieverStart($){let q=U1($),K="retriever",P={tags:$.tags??[],metadata:$.extra?.metadata??{},name:q,runType:"retriever",inputs:{query:$.inputs.query}};this.runInfoMap.set($.id,P),await this.send({event:"on_retriever_start",data:{input:{query:$.inputs.query}},name:q,tags:$.tags??[],run_id:$.id,metadata:$.extra?.metadata??{}},P)}async onRetrieverEnd($){let q=this.runInfoMap.get($.id);if(this.runInfoMap.delete($.id),q===void 0)throw Error(`onRetrieverEnd: Run ID ${$.id} not found in run map.`);await this.sendEndEvent({event:"on_retriever_end",data:{output:$.outputs?.documents??$.outputs,input:q.inputs},run_id:$.id,name:q.name,tags:q.tags,metadata:q.metadata},q)}async handleCustomEvent($,q,K){let P=this.runInfoMap.get(K);if(P===void 0)throw Error(`handleCustomEvent: Run ID ${K} not found in run map.`);await this.send({event:"on_custom_event",run_id:K,name:$,tags:P.tags,metadata:P.metadata,data:q},P)}async finish(){let $=[...this.tappedPromises.values()];Promise.all($).finally(()=>{this.writer.close()})}}var If=Dq(P1(),1),F1=Dq(S1(),1),fI=[400,401,402,403,404,405,406,407,409],XI=($)=>{if($.message.startsWith("Cancel")||$.message.startsWith("AbortError")||$.name==="AbortError")throw $;if($?.code==="ECONNABORTED")throw $;let q=$?.response?.status??$?.status;if(q&&fI.includes(+q))throw $;if($?.error?.code==="insufficient_quota"){let K=Error($?.message);throw K.name="InsufficientQuotaError",K}};class a1{constructor($){Object.defineProperty(this,"maxConcurrency",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"maxRetries",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onFailedAttempt",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"queue",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxConcurrency=$.maxConcurrency??1/0,this.maxRetries=$.maxRetries??6,this.onFailedAttempt=$.onFailedAttempt??XI;let q="default"in F1.default?F1.default.default:F1.default;this.queue=new q({concurrency:this.maxConcurrency})}call($,...q){return this.queue.add(()=>If.default(()=>$(...q).catch((K)=>{if(K instanceof Error)throw K;else throw Error(K)}),{onFailedAttempt:this.onFailedAttempt,retries:this.maxRetries,randomize:!0}),{throwOnTimeout:!0})}callWithOptions($,q,...K){if($.signal)return Promise.race([this.call(q,...K),new Promise((P,_)=>{$.signal?.addEventListener("abort",()=>{_(Error("AbortError"))})})]);return this.call(q,...K)}fetch(...$){return this.call(()=>fetch(...$).then((q)=>q.ok?q:Promise.reject(q)))}}class Q1 extends C8{constructor({config:$,onStart:q,onEnd:K,onError:P}){super({_awaitHandler:!0});Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RootListenersTracer"}),Object.defineProperty(this,"rootId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"config",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"argOnStart",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"argOnEnd",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"argOnError",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.config=$,this.argOnStart=q,this.argOnEnd=K,this.argOnError=P}persistRun($){return Promise.resolve()}async onRunCreate($){if(this.rootId)return;if(this.rootId=$.id,this.argOnStart)await this.argOnStart($,this.config)}async onRunUpdate($){if($.id!==this.rootId)return;if(!$.error){if(this.argOnEnd)await this.argOnEnd($,this.config)}else if(this.argOnError)await this.argOnError($,this.config)}}function NP($){return $?$.lc_runnable:!1}class L2{constructor($){Object.defineProperty(this,"includeNames",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"includeTypes",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"includeTags",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"excludeNames",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"excludeTypes",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"excludeTags",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.includeNames=$.includeNames,this.includeTypes=$.includeTypes,this.includeTags=$.includeTags,this.excludeNames=$.excludeNames,this.excludeTypes=$.excludeTypes,this.excludeTags=$.excludeTags}includeEvent($,q){let K=this.includeNames===void 0&&this.includeTypes===void 0&&this.includeTags===void 0,P=$.tags??[];if(this.includeNames!==void 0)K=K||this.includeNames.includes($.name);if(this.includeTypes!==void 0)K=K||this.includeTypes.includes(q);if(this.includeTags!==void 0)K=K||P.some((_)=>this.includeTags?.includes(_));if(this.excludeNames!==void 0)K=K&&!this.excludeNames.includes($.name);if(this.excludeTypes!==void 0)K=K&&!this.excludeTypes.includes(q);if(this.excludeTags!==void 0)K=K&&P.every((_)=>!this.excludeTags?.includes(_));return K}}function b2($){return $.replace(/[^a-zA-Z-_0-9]/g,"_")}var kI=["*","_","`"];function AI($){let q="";for(let[K,P]of Object.entries($))q+=` classDef ${K} ${P};
|
|
89
89
|
`;return q}function Df($,q,K){let{firstNode:P,lastNode:_,nodeColors:O,withStyles:j=!0,curveStyle:z="linear",wrapLabelNWords:J=9}=K??{},w=j?`%%{init: {'flowchart': {'curve': '${z}'}}}%%
|
|
90
90
|
graph TD;
|
|
@@ -643,5 +643,5 @@ Data: ${JSON.stringify(K.metadata)}
|
|
|
643
643
|
`}`}).join(`
|
|
644
644
|
`)}var $1$=!0,q1$=!1,K1$={check:async()=>({status:"not-applicable",environment:"browser"}),isHealthy:()=>!0};export{Zn as validateUuid,tM as validateCharacter,BM as uuidSchema,R7$ as updateWorldSettings,v0 as unsaltWorldSettings,Oi as unsaltSettingValue,rM as truncateToCompleteSentence,TP$ as trimTokens,Ln as toString,UM as toHex,Nn as templateTypeSchema,Cn as styleSchema,WO as stringToUuid,JP$ as splitChunks,xn as slice,FM as shouldRespondTemplate,En as settingsSchema,uo as setEnv,K1$ as serverHealth,hn as secretsSchema,Yi as saltWorldSettings,ji as saltSettingValue,UH as safeReplacer,s4$ as recentLogs,mn as randomBytes,wP$ as prewarmUuidCache,dP$ as postCreationTemplate,UK as parseKeyValueXml,HP$ as parseJSONObjectFromText,zO as parseBooleanFromText,GP$ as parseAndValidateCharacter,cM as normalizeJsonString,sM as multiStepSummaryTemplate,eM as multiStepDecisionTemplate,aM as messageHandlerTemplate,Vn as messageExampleSchema,An as mediaSchema,j6 as logger,lo as loadEnvConfig,Mn as knowledgeItemSchema,VP$ as isValidCharacter,q1$ as isNode,gP$ as isMessageMetadata,bP$ as isFragmentMetadata,cP$ as isFragmentMemory,LP$ as isDocumentMetadata,xP$ as isDocumentMemory,yP$ as isDescriptionMetadata,uP$ as isCustomMetadata,bn as isBuffer,$1$ as isBrowser,D7$ as initializeOnboarding,po as initBrowserEnvironment,QM as imageDescriptionTemplate,xo as hasEnv,I7$ as getWorldSettings,iP$ as getUserServerRole,Ni as getTypedService,y_ as getSalt,XH as getNumberEnv,pP$ as getMemoryText,iM as getLocalServerUrl,b_ as getEnvironment,VK as getEnv,Q7$ as getEntityDetails,ZP$ as getContentTypeFromMimeType,co as getBooleanEnv,Dn as fromString,In as fromHex,yn as fromBytes,lM as formatTimestamp,zP$ as formatPosts,WP$ as formatMessages,e7$ as formatEntities,hP$ as formatActions,EP$ as formatActionNames,BP$ as findWorldsForOwner,jM as findEnvFile,a7$ as findEntityByName,cn as equals,L7$ as encryptedCharacter,Y0 as encryptStringValue,j0 as encryptObjectValues,e4$ as elizaLogger,Sn as directoryItemSchema,L_ as detectEnvironment,u7$ as defineService,b7$ as decryptedCharacter,HO as decryptStringValue,HO as decryptSecret,O0 as decryptObjectValues,Q4$ as customLevels,mo as currentRuntime,Q8 as createUniqueUuid,_i as createSettingFromConfig,Ci as createServiceError,vi as createService,DP$ as createMessageMemory,F7 as createLogger,Gn as contentSchema,un as concat,a7 as composePromptFromState,mM as composePrompt,CP$ as composeActionExamples,h7$ as clearSaltCache,Rn as characterSchema,pn as byteLength,lP$ as booleanFooter,e7 as asUUID,gn as alloc,vP$ as addHeader,U4$ as __loggerTestHooks,Ri as VECTOR_DIMS,S0 as TeeType,V0 as TEEMode,Mi as ServiceType,z0 as ServiceBuilder,ZO as Service,sn as Semaphore,M0 as SOCKET_MESSAGE_TYPE,k0 as Role,G0 as PlatformPrefix,I6 as ModelType,X0 as MemoryType,Q4 as MODEL_SETTINGS,fO as EventType,fH as Environment,Zi as ElizaOS,sH as DefaultMessageService,ln as DatabaseAdapter,F4 as ContentType,a4 as ChannelType,FK as BufferUtils,qJ as BM25,A0 as AgentStatus,KJ as AgentRuntime};
|
|
645
645
|
|
|
646
|
-
//# debugId=
|
|
646
|
+
//# debugId=F369BDF1A2F530C164756E2164756E21
|
|
647
647
|
//# sourceMappingURL=index.browser.js.map
|