@arcgis/ai-components 5.1.0-next.59 → 5.1.0-next.60
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/{PBBL4U3F.js → 5BADCY6B.js} +1 -1
- package/dist/cdn/{Y7BRIR4P.js → BTK65AMF.js} +1 -1
- package/dist/cdn/{ZYNAMCE7.js → EP54VHGN.js} +1 -1
- package/dist/cdn/{565PAT33.js → FARA7SPN.js} +1 -1
- package/dist/cdn/{FWO3FZOU.js → L5TVHUCT.js} +1 -1
- package/dist/cdn/{KERNPQXV.js → LNIUXPX7.js} +23 -23
- package/dist/cdn/{LCEN6RVE.js → TX5YYQZP.js} +1 -1
- package/dist/cdn/{25NGSPQS.js → VIXYCCHV.js} +55 -55
- package/dist/cdn/{XCK57ABF.js → ZOOIBXUA.js} +1 -1
- package/dist/cdn/index.js +1 -1
- package/dist/docs/api.json +1 -1
- package/dist/docs/docs.json +1 -1
- package/dist/docs/web-types.json +1 -1
- package/package.json +6 -6
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{a as de,b as li,c as Ko}from"./CFDTXKJ6.js";export default $arcgis.t(([PT,Ov,q6,EX,$X])=>{var QT=de((_Q,YT)=>{"use strict";YT.exports=function(e,t){if(typeof e!="string")throw new TypeError("Expected a string");return t=typeof t>"u"?"_":t,e.replace(/([a-z\d])([A-Z])/g,"$1"+t+"$2").replace(/([A-Z]+)([A-Z][a-z\d]+)/g,"$1"+t+"$2").toLowerCase()}});var aA=de((yQ,Wv)=>{"use strict";var IF=/[\p{Lu}]/u,SF=/[\p{Ll}]/u,eA=/^[\p{Lu}](?![\p{Lu}])/gu,nA=/([\p{Alpha}\p{N}_]|$)/u,iA=/[_.\- ]+/,kF=new RegExp("^"+iA.source),tA=new RegExp(iA.source+nA.source,"gu"),rA=new RegExp("\\d+"+nA.source,"gu"),EF=(e,t,r)=>{let n=!1,i=!1,o=!1;for(let a=0;a<e.length;a++){let s=e[a];n&&IF.test(s)?(e=e.slice(0,a)+"-"+e.slice(a),n=!1,o=i,i=!0,a++):i&&o&&SF.test(s)?(e=e.slice(0,a-1)+"-"+e.slice(a-1),o=i,i=!1,n=!0):(n=t(s)===s&&r(s)!==s,o=i,i=r(s)===s&&t(s)!==s)}return e},$F=(e,t)=>(eA.lastIndex=0,e.replace(eA,r=>t(r))),TF=(e,t)=>(tA.lastIndex=0,rA.lastIndex=0,e.replace(tA,(r,n)=>t(n)).replace(rA,r=>t(r))),oA=(e,t)=>{if(!(typeof e=="string"||Array.isArray(e)))throw new TypeError("Expected the input to be `string | string[]`");if(t={pascalCase:!1,preserveConsecutiveUppercase:!1,...t},Array.isArray(e)?e=e.map(o=>o.trim()).filter(o=>o.length).join("-"):e=e.trim(),e.length===0)return"";let r=t.locale===!1?o=>o.toLowerCase():o=>o.toLocaleLowerCase(t.locale),n=t.locale===!1?o=>o.toUpperCase():o=>o.toLocaleUpperCase(t.locale);return e.length===1?t.pascalCase?n(e):r(e):(e!==r(e)&&(e=EF(e,r,n)),e=e.replace(kF,""),t.preserveConsecutiveUppercase?e=$F(e,r):e=r(e),t.pascalCase&&(e=n(e.charAt(0))+e.slice(1)),TF(e,n))};Wv.exports=oA;Wv.exports.default=oA});var OC=de((Yre,Fb)=>{"use strict";var s3=Object.prototype.hasOwnProperty,gr="~";function Od(){}Object.create&&(Od.prototype=Object.create(null),new Od().__proto__||(gr=!1));function c3(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function AC(e,t,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var o=new c3(r,n||e,i),a=gr?gr+t:t;return e._events[a]?e._events[a].fn?e._events[a]=[e._events[a],o]:e._events[a].push(o):(e._events[a]=o,e._eventsCount++),e}function Zm(e,t){--e._eventsCount===0?e._events=new Od:delete e._events[t]}function rr(){this._events=new Od,this._eventsCount=0}rr.prototype.eventNames=function(){var t=[],r,n;if(this._eventsCount===0)return t;for(n in r=this._events)s3.call(r,n)&&t.push(gr?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(r)):t};rr.prototype.listeners=function(t){var r=gr?gr+t:t,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,o=n.length,a=new Array(o);i<o;i++)a[i]=n[i].fn;return a};rr.prototype.listenerCount=function(t){var r=gr?gr+t:t,n=this._events[r];return n?n.fn?1:n.length:0};rr.prototype.emit=function(t,r,n,i,o,a){var s=gr?gr+t:t;if(!this._events[s])return!1;var c=this._events[s],u=arguments.length,l,d;if(c.fn){switch(c.once&&this.removeListener(t,c.fn,void 0,!0),u){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,r),!0;case 3:return c.fn.call(c.context,r,n),!0;case 4:return c.fn.call(c.context,r,n,i),!0;case 5:return c.fn.call(c.context,r,n,i,o),!0;case 6:return c.fn.call(c.context,r,n,i,o,a),!0}for(d=1,l=new Array(u-1);d<u;d++)l[d-1]=arguments[d];c.fn.apply(c.context,l)}else{var f=c.length,p;for(d=0;d<f;d++)switch(c[d].once&&this.removeListener(t,c[d].fn,void 0,!0),u){case 1:c[d].fn.call(c[d].context);break;case 2:c[d].fn.call(c[d].context,r);break;case 3:c[d].fn.call(c[d].context,r,n);break;case 4:c[d].fn.call(c[d].context,r,n,i);break;default:if(!l)for(p=1,l=new Array(u-1);p<u;p++)l[p-1]=arguments[p];c[d].fn.apply(c[d].context,l)}}return!0};rr.prototype.on=function(t,r,n){return AC(this,t,r,n,!1)};rr.prototype.once=function(t,r,n){return AC(this,t,r,n,!0)};rr.prototype.removeListener=function(t,r,n,i){var o=gr?gr+t:t;if(!this._events[o])return this;if(!r)return Zm(this,o),this;var a=this._events[o];if(a.fn)a.fn===r&&(!i||a.once)&&(!n||a.context===n)&&Zm(this,o);else{for(var s=0,c=[],u=a.length;s<u;s++)(a[s].fn!==r||i&&!a[s].once||n&&a[s].context!==n)&&c.push(a[s]);c.length?this._events[o]=c.length===1?c[0]:c:Zm(this,o)}return this};rr.prototype.removeAllListeners=function(t){var r;return t?(r=gr?gr+t:t,this._events[r]&&Zm(this,r)):(this._events=new Od,this._eventsCount=0),this};rr.prototype.off=rr.prototype.removeListener;rr.prototype.addListener=rr.prototype.on;rr.prefixed=gr;rr.EventEmitter=rr;typeof Fb<"u"&&(Fb.exports=rr)});var PC=de((Qre,CC)=>{"use strict";CC.exports=(e,t)=>(t=t||(()=>{}),e.then(r=>new Promise(n=>{n(t())}).then(()=>r),r=>new Promise(n=>{n(t())}).then(()=>{throw r})))});var NC=de((ene,Hm)=>{"use strict";var u3=PC(),Gm=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},RC=(e,t,r)=>new Promise((n,i)=>{if(typeof t!="number"||t<0)throw new TypeError("Expected `milliseconds` to be a positive number");if(t===1/0){n(e);return}let o=setTimeout(()=>{if(typeof r=="function"){try{n(r())}catch(c){i(c)}return}let a=typeof r=="string"?r:`Promise timed out after ${t} milliseconds`,s=r instanceof Error?r:new Gm(a);typeof e.cancel=="function"&&e.cancel(),i(s)},t);u3(e.then(n,i),()=>{clearTimeout(o)})});Hm.exports=RC;Hm.exports.default=RC;Hm.exports.TimeoutError=Gm});var MC=de(Bb=>{"use strict";Object.defineProperty(Bb,"__esModule",{value:!0});function l3(e,t,r){let n=0,i=e.length;for(;i>0;){let o=i/2|0,a=n+o;r(e[a],t)<=0?(n=++a,i-=o+1):i=o}return n}Bb.default=l3});var jC=de(Zb=>{"use strict";Object.defineProperty(Zb,"__esModule",{value:!0});var d3=MC(),Vb=class{constructor(){this._queue=[]}enqueue(t,r){r=Object.assign({priority:0},r);let n={priority:r.priority,run:t};if(this.size&&this._queue[this.size-1].priority>=r.priority){this._queue.push(n);return}let i=d3.default(this._queue,n,(o,a)=>a.priority-o.priority);this._queue.splice(i,0,n)}dequeue(){let t=this._queue.shift();return t?.run}filter(t){return this._queue.filter(r=>r.priority===t.priority).map(r=>r.run)}get size(){return this._queue.length}};Zb.default=Vb});var Km=de(Hb=>{"use strict";Object.defineProperty(Hb,"__esModule",{value:!0});var p3=OC(),zC=NC(),f3=jC(),qm=()=>{},m3=new zC.TimeoutError,Gb=class extends p3{constructor(t){var r,n,i,o;if(super(),this._intervalCount=0,this._intervalEnd=0,this._pendingCount=0,this._resolveEmpty=qm,this._resolveIdle=qm,t=Object.assign({carryoverConcurrencyCount:!1,intervalCap:1/0,interval:0,concurrency:1/0,autoStart:!0,queueClass:f3.default},t),!(typeof t.intervalCap=="number"&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=t.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:""}\` (${typeof t.intervalCap})`);if(t.interval===void 0||!(Number.isFinite(t.interval)&&t.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(o=(i=t.interval)===null||i===void 0?void 0:i.toString())!==null&&o!==void 0?o:""}\` (${typeof t.interval})`);this._carryoverConcurrencyCount=t.carryoverConcurrencyCount,this._isIntervalIgnored=t.intervalCap===1/0||t.interval===0,this._intervalCap=t.intervalCap,this._interval=t.interval,this._queue=new t.queueClass,this._queueClass=t.queueClass,this.concurrency=t.concurrency,this._timeout=t.timeout,this._throwOnTimeout=t.throwOnTimeout===!0,this._isPaused=t.autoStart===!1}get _doesIntervalAllowAnother(){return this._isIntervalIgnored||this._intervalCount<this._intervalCap}get _doesConcurrentAllowAnother(){return this._pendingCount<this._concurrency}_next(){this._pendingCount--,this._tryToStartAnother(),this.emit("next")}_resolvePromises(){this._resolveEmpty(),this._resolveEmpty=qm,this._pendingCount===0&&(this._resolveIdle(),this._resolveIdle=qm,this.emit("idle"))}_onResumeInterval(){this._onInterval(),this._initializeIntervalIfNeeded(),this._timeoutId=void 0}_isIntervalPaused(){let t=Date.now();if(this._intervalId===void 0){let r=this._intervalEnd-t;if(r<0)this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0;else return this._timeoutId===void 0&&(this._timeoutId=setTimeout(()=>{this._onResumeInterval()},r)),!0}return!1}_tryToStartAnother(){if(this._queue.size===0)return this._intervalId&&clearInterval(this._intervalId),this._intervalId=void 0,this._resolvePromises(),!1;if(!this._isPaused){let t=!this._isIntervalPaused();if(this._doesIntervalAllowAnother&&this._doesConcurrentAllowAnother){let r=this._queue.dequeue();return r?(this.emit("active"),r(),t&&this._initializeIntervalIfNeeded(),!0):!1}}return!1}_initializeIntervalIfNeeded(){this._isIntervalIgnored||this._intervalId!==void 0||(this._intervalId=setInterval(()=>{this._onInterval()},this._interval),this._intervalEnd=Date.now()+this._interval)}_onInterval(){this._intervalCount===0&&this._pendingCount===0&&this._intervalId&&(clearInterval(this._intervalId),this._intervalId=void 0),this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0,this._processQueue()}_processQueue(){for(;this._tryToStartAnother(););}get concurrency(){return this._concurrency}set concurrency(t){if(!(typeof t=="number"&&t>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${t}\` (${typeof t})`);this._concurrency=t,this._processQueue()}async add(t,r={}){return new Promise((n,i)=>{let o=async()=>{this._pendingCount++,this._intervalCount++;try{let a=this._timeout===void 0&&r.timeout===void 0?t():zC.default(Promise.resolve(t()),r.timeout===void 0?this._timeout:r.timeout,()=>{(r.throwOnTimeout===void 0?this._throwOnTimeout:r.throwOnTimeout)&&i(m3)});n(await a)}catch(a){i(a)}this._next()};this._queue.enqueue(o,r),this._tryToStartAnother(),this.emit("add")})}async addAll(t,r){return Promise.all(t.map(async n=>this.add(n,r)))}start(){return this._isPaused?(this._isPaused=!1,this._processQueue(),this):this}pause(){this._isPaused=!0}clear(){this._queue=new this._queueClass}async onEmpty(){if(this._queue.size!==0)return new Promise(t=>{let r=this._resolveEmpty;this._resolveEmpty=()=>{r(),t()}})}async onIdle(){if(!(this._pendingCount===0&&this._queue.size===0))return new Promise(t=>{let r=this._resolveIdle;this._resolveIdle=()=>{r(),t()}})}get size(){return this._queue.size}sizeBy(t){return this._queue.filter(t).length}get pending(){return this._pendingCount}get isPaused(){return this._isPaused}get timeout(){return this._timeout}set timeout(t){this._timeout=t}};Hb.default=Gb});var Pd=de((une,LC)=>{"use strict";var g3="2.0.0",_3=Number.MAX_SAFE_INTEGER||9007199254740991,y3=16,v3=250,b3=["major","premajor","minor","preminor","patch","prepatch","prerelease"];LC.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:y3,MAX_SAFE_BUILD_LENGTH:v3,MAX_SAFE_INTEGER:_3,RELEASE_TYPES:b3,SEMVER_SPEC_VERSION:g3,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var Rd=de((lne,UC)=>{"use strict";var w3=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};UC.exports=w3});var tu=de((bi,FC)=>{"use strict";var{MAX_SAFE_COMPONENT_LENGTH:Wb,MAX_SAFE_BUILD_LENGTH:x3,MAX_LENGTH:I3}=Pd(),S3=Rd();bi=FC.exports={};var k3=bi.re=[],E3=bi.safeRe=[],re=bi.src=[],$3=bi.safeSrc=[],ne=bi.t={},T3=0,Jb="[a-zA-Z0-9-]",A3=[["\\s",1],["\\d",I3],[Jb,x3]],O3=e=>{for(let[t,r]of A3)e=e.split(`${t}*`).join(`${t}{0,${r}}`).split(`${t}+`).join(`${t}{1,${r}}`);return e},Ee=(e,t,r)=>{let n=O3(t),i=T3++;S3(e,i,t),ne[e]=i,re[i]=t,$3[i]=n,k3[i]=new RegExp(t,r?"g":void 0),E3[i]=new RegExp(n,r?"g":void 0)};Ee("NUMERICIDENTIFIER","0|[1-9]\\d*");Ee("NUMERICIDENTIFIERLOOSE","\\d+");Ee("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${Jb}*`);Ee("MAINVERSION",`(${re[ne.NUMERICIDENTIFIER]})\\.(${re[ne.NUMERICIDENTIFIER]})\\.(${re[ne.NUMERICIDENTIFIER]})`);Ee("MAINVERSIONLOOSE",`(${re[ne.NUMERICIDENTIFIERLOOSE]})\\.(${re[ne.NUMERICIDENTIFIERLOOSE]})\\.(${re[ne.NUMERICIDENTIFIERLOOSE]})`);Ee("PRERELEASEIDENTIFIER",`(?:${re[ne.NONNUMERICIDENTIFIER]}|${re[ne.NUMERICIDENTIFIER]})`);Ee("PRERELEASEIDENTIFIERLOOSE",`(?:${re[ne.NONNUMERICIDENTIFIER]}|${re[ne.NUMERICIDENTIFIERLOOSE]})`);Ee("PRERELEASE",`(?:-(${re[ne.PRERELEASEIDENTIFIER]}(?:\\.${re[ne.PRERELEASEIDENTIFIER]})*))`);Ee("PRERELEASELOOSE",`(?:-?(${re[ne.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${re[ne.PRERELEASEIDENTIFIERLOOSE]})*))`);Ee("BUILDIDENTIFIER",`${Jb}+`);Ee("BUILD",`(?:\\+(${re[ne.BUILDIDENTIFIER]}(?:\\.${re[ne.BUILDIDENTIFIER]})*))`);Ee("FULLPLAIN",`v?${re[ne.MAINVERSION]}${re[ne.PRERELEASE]}?${re[ne.BUILD]}?`);Ee("FULL",`^${re[ne.FULLPLAIN]}$`);Ee("LOOSEPLAIN",`[v=\\s]*${re[ne.MAINVERSIONLOOSE]}${re[ne.PRERELEASELOOSE]}?${re[ne.BUILD]}?`);Ee("LOOSE",`^${re[ne.LOOSEPLAIN]}$`);Ee("GTLT","((?:<|>)?=?)");Ee("XRANGEIDENTIFIERLOOSE",`${re[ne.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);Ee("XRANGEIDENTIFIER",`${re[ne.NUMERICIDENTIFIER]}|x|X|\\*`);Ee("XRANGEPLAIN",`[v=\\s]*(${re[ne.XRANGEIDENTIFIER]})(?:\\.(${re[ne.XRANGEIDENTIFIER]})(?:\\.(${re[ne.XRANGEIDENTIFIER]})(?:${re[ne.PRERELEASE]})?${re[ne.BUILD]}?)?)?`);Ee("XRANGEPLAINLOOSE",`[v=\\s]*(${re[ne.XRANGEIDENTIFIERLOOSE]})(?:\\.(${re[ne.XRANGEIDENTIFIERLOOSE]})(?:\\.(${re[ne.XRANGEIDENTIFIERLOOSE]})(?:${re[ne.PRERELEASELOOSE]})?${re[ne.BUILD]}?)?)?`);Ee("XRANGE",`^${re[ne.GTLT]}\\s*${re[ne.XRANGEPLAIN]}$`);Ee("XRANGELOOSE",`^${re[ne.GTLT]}\\s*${re[ne.XRANGEPLAINLOOSE]}$`);Ee("COERCEPLAIN",`(^|[^\\d])(\\d{1,${Wb}})(?:\\.(\\d{1,${Wb}}))?(?:\\.(\\d{1,${Wb}}))?`);Ee("COERCE",`${re[ne.COERCEPLAIN]}(?:$|[^\\d])`);Ee("COERCEFULL",re[ne.COERCEPLAIN]+`(?:${re[ne.PRERELEASE]})?(?:${re[ne.BUILD]})?(?:$|[^\\d])`);Ee("COERCERTL",re[ne.COERCE],!0);Ee("COERCERTLFULL",re[ne.COERCEFULL],!0);Ee("LONETILDE","(?:~>?)");Ee("TILDETRIM",`(\\s*)${re[ne.LONETILDE]}\\s+`,!0);bi.tildeTrimReplace="$1~";Ee("TILDE",`^${re[ne.LONETILDE]}${re[ne.XRANGEPLAIN]}$`);Ee("TILDELOOSE",`^${re[ne.LONETILDE]}${re[ne.XRANGEPLAINLOOSE]}$`);Ee("LONECARET","(?:\\^)");Ee("CARETTRIM",`(\\s*)${re[ne.LONECARET]}\\s+`,!0);bi.caretTrimReplace="$1^";Ee("CARET",`^${re[ne.LONECARET]}${re[ne.XRANGEPLAIN]}$`);Ee("CARETLOOSE",`^${re[ne.LONECARET]}${re[ne.XRANGEPLAINLOOSE]}$`);Ee("COMPARATORLOOSE",`^${re[ne.GTLT]}\\s*(${re[ne.LOOSEPLAIN]})$|^$`);Ee("COMPARATOR",`^${re[ne.GTLT]}\\s*(${re[ne.FULLPLAIN]})$|^$`);Ee("COMPARATORTRIM",`(\\s*)${re[ne.GTLT]}\\s*(${re[ne.LOOSEPLAIN]}|${re[ne.XRANGEPLAIN]})`,!0);bi.comparatorTrimReplace="$1$2$3";Ee("HYPHENRANGE",`^\\s*(${re[ne.XRANGEPLAIN]})\\s+-\\s+(${re[ne.XRANGEPLAIN]})\\s*$`);Ee("HYPHENRANGELOOSE",`^\\s*(${re[ne.XRANGEPLAINLOOSE]})\\s+-\\s+(${re[ne.XRANGEPLAINLOOSE]})\\s*$`);Ee("STAR","(<|>)?=?\\s*\\*");Ee("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");Ee("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var Jm=de((dne,BC)=>{"use strict";var C3=Object.freeze({loose:!0}),P3=Object.freeze({}),R3=e=>e?typeof e!="object"?C3:e:P3;BC.exports=R3});var Xb=de((pne,GC)=>{"use strict";var VC=/^[0-9]+$/,ZC=(e,t)=>{if(typeof e=="number"&&typeof t=="number")return e===t?0:e<t?-1:1;let r=VC.test(e),n=VC.test(t);return r&&n&&(e=+e,t=+t),e===t?0:r&&!n?-1:n&&!r?1:e<t?-1:1},N3=(e,t)=>ZC(t,e);GC.exports={compareIdentifiers:ZC,rcompareIdentifiers:N3}});var nr=de((fne,qC)=>{"use strict";var Xm=Rd(),{MAX_LENGTH:HC,MAX_SAFE_INTEGER:Ym}=Pd(),{safeRe:Qm,t:eh}=tu(),M3=Jm(),{compareIdentifiers:Yb}=Xb(),Qb=class e{constructor(t,r){if(r=M3(r),t instanceof e){if(t.loose===!!r.loose&&t.includePrerelease===!!r.includePrerelease)return t;t=t.version}else if(typeof t!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof t}".`);if(t.length>HC)throw new TypeError(`version is longer than ${HC} characters`);Xm("SemVer",t,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;let n=t.trim().match(r.loose?Qm[eh.LOOSE]:Qm[eh.FULL]);if(!n)throw new TypeError(`Invalid Version: ${t}`);if(this.raw=t,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>Ym||this.major<0)throw new TypeError("Invalid major version");if(this.minor>Ym||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>Ym||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map(i=>{if(/^[0-9]+$/.test(i)){let o=+i;if(o>=0&&o<Ym)return o}return i}):this.prerelease=[],this.build=n[5]?n[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(t){if(Xm("SemVer.compare",this.version,this.options,t),!(t instanceof e)){if(typeof t=="string"&&t===this.version)return 0;t=new e(t,this.options)}return t.version===this.version?0:this.compareMain(t)||this.comparePre(t)}compareMain(t){return t instanceof e||(t=new e(t,this.options)),this.major<t.major?-1:this.major>t.major?1:this.minor<t.minor?-1:this.minor>t.minor?1:this.patch<t.patch?-1:this.patch>t.patch?1:0}comparePre(t){if(t instanceof e||(t=new e(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let r=0;do{let n=this.prerelease[r],i=t.prerelease[r];if(Xm("prerelease compare",r,n,i),n===void 0&&i===void 0)return 0;if(i===void 0)return 1;if(n===void 0)return-1;if(n===i)continue;return Yb(n,i)}while(++r)}compareBuild(t){t instanceof e||(t=new e(t,this.options));let r=0;do{let n=this.build[r],i=t.build[r];if(Xm("build compare",r,n,i),n===void 0&&i===void 0)return 0;if(i===void 0)return 1;if(n===void 0)return-1;if(n===i)continue;return Yb(n,i)}while(++r)}inc(t,r,n){if(t.startsWith("pre")){if(!r&&n===!1)throw new Error("invalid increment argument: identifier is empty");if(r){let i=`-${r}`.match(this.options.loose?Qm[eh.PRERELEASELOOSE]:Qm[eh.PRERELEASE]);if(!i||i[1]!==r)throw new Error(`invalid identifier: ${r}`)}}switch(t){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",r,n);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",r,n);break;case"prepatch":this.prerelease.length=0,this.inc("patch",r,n),this.inc("pre",r,n);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",r,n),this.inc("pre",r,n);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let i=Number(n)?1:0;if(this.prerelease.length===0)this.prerelease=[i];else{let o=this.prerelease.length;for(;--o>=0;)typeof this.prerelease[o]=="number"&&(this.prerelease[o]++,o=-2);if(o===-1){if(r===this.prerelease.join(".")&&n===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(i)}}if(r){let o=[r,i];n===!1&&(o=[r]),Yb(this.prerelease[0],r)===0?isNaN(this.prerelease[1])&&(this.prerelease=o):this.prerelease=o}break}default:throw new Error(`invalid increment argument: ${t}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};qC.exports=Qb});var fs=de((mne,WC)=>{"use strict";var KC=nr(),j3=(e,t,r=!1)=>{if(e instanceof KC)return e;try{return new KC(e,t)}catch(n){if(!r)return null;throw n}};WC.exports=j3});var XC=de((hne,JC)=>{"use strict";var z3=fs(),D3=(e,t)=>{let r=z3(e,t);return r?r.version:null};JC.exports=D3});var QC=de((gne,YC)=>{"use strict";var L3=fs(),U3=(e,t)=>{let r=L3(e.trim().replace(/^[=v]+/,""),t);return r?r.version:null};YC.exports=U3});var rP=de((_ne,tP)=>{"use strict";var eP=nr(),F3=(e,t,r,n,i)=>{typeof r=="string"&&(i=n,n=r,r=void 0);try{return new eP(e instanceof eP?e.version:e,r).inc(t,n,i).version}catch{return null}};tP.exports=F3});var oP=de((yne,iP)=>{"use strict";var nP=fs(),B3=(e,t)=>{let r=nP(e,null,!0),n=nP(t,null,!0),i=r.compare(n);if(i===0)return null;let o=i>0,a=o?r:n,s=o?n:r,c=!!a.prerelease.length;if(!!s.prerelease.length&&!c){if(!s.patch&&!s.minor)return"major";if(s.compareMain(a)===0)return s.minor&&!s.patch?"minor":"patch"}let l=c?"pre":"";return r.major!==n.major?l+"major":r.minor!==n.minor?l+"minor":r.patch!==n.patch?l+"patch":"prerelease"};iP.exports=B3});var sP=de((vne,aP)=>{"use strict";var V3=nr(),Z3=(e,t)=>new V3(e,t).major;aP.exports=Z3});var uP=de((bne,cP)=>{"use strict";var G3=nr(),H3=(e,t)=>new G3(e,t).minor;cP.exports=H3});var dP=de((wne,lP)=>{"use strict";var q3=nr(),K3=(e,t)=>new q3(e,t).patch;lP.exports=K3});var fP=de((xne,pP)=>{"use strict";var W3=fs(),J3=(e,t)=>{let r=W3(e,t);return r&&r.prerelease.length?r.prerelease:null};pP.exports=J3});var hn=de((Ine,hP)=>{"use strict";var mP=nr(),X3=(e,t,r)=>new mP(e,r).compare(new mP(t,r));hP.exports=X3});var _P=de((Sne,gP)=>{"use strict";var Y3=hn(),Q3=(e,t,r)=>Y3(t,e,r);gP.exports=Q3});var vP=de((kne,yP)=>{"use strict";var eV=hn(),tV=(e,t)=>eV(e,t,!0);yP.exports=tV});var th=de((Ene,wP)=>{"use strict";var bP=nr(),rV=(e,t,r)=>{let n=new bP(e,r),i=new bP(t,r);return n.compare(i)||n.compareBuild(i)};wP.exports=rV});var IP=de(($ne,xP)=>{"use strict";var nV=th(),iV=(e,t)=>e.sort((r,n)=>nV(r,n,t));xP.exports=iV});var kP=de((Tne,SP)=>{"use strict";var oV=th(),aV=(e,t)=>e.sort((r,n)=>oV(n,r,t));SP.exports=aV});var Nd=de((Ane,EP)=>{"use strict";var sV=hn(),cV=(e,t,r)=>sV(e,t,r)>0;EP.exports=cV});var rh=de((One,$P)=>{"use strict";var uV=hn(),lV=(e,t,r)=>uV(e,t,r)<0;$P.exports=lV});var ew=de((Cne,TP)=>{"use strict";var dV=hn(),pV=(e,t,r)=>dV(e,t,r)===0;TP.exports=pV});var tw=de((Pne,AP)=>{"use strict";var fV=hn(),mV=(e,t,r)=>fV(e,t,r)!==0;AP.exports=mV});var nh=de((Rne,OP)=>{"use strict";var hV=hn(),gV=(e,t,r)=>hV(e,t,r)>=0;OP.exports=gV});var ih=de((Nne,CP)=>{"use strict";var _V=hn(),yV=(e,t,r)=>_V(e,t,r)<=0;CP.exports=yV});var rw=de((Mne,PP)=>{"use strict";var vV=ew(),bV=tw(),wV=Nd(),xV=nh(),IV=rh(),SV=ih(),kV=(e,t,r,n)=>{switch(t){case"===":return typeof e=="object"&&(e=e.version),typeof r=="object"&&(r=r.version),e===r;case"!==":return typeof e=="object"&&(e=e.version),typeof r=="object"&&(r=r.version),e!==r;case"":case"=":case"==":return vV(e,r,n);case"!=":return bV(e,r,n);case">":return wV(e,r,n);case">=":return xV(e,r,n);case"<":return IV(e,r,n);case"<=":return SV(e,r,n);default:throw new TypeError(`Invalid operator: ${t}`)}};PP.exports=kV});var NP=de((jne,RP)=>{"use strict";var EV=nr(),$V=fs(),{safeRe:oh,t:ah}=tu(),TV=(e,t)=>{if(e instanceof EV)return e;if(typeof e=="number"&&(e=String(e)),typeof e!="string")return null;t=t||{};let r=null;if(!t.rtl)r=e.match(t.includePrerelease?oh[ah.COERCEFULL]:oh[ah.COERCE]);else{let c=t.includePrerelease?oh[ah.COERCERTLFULL]:oh[ah.COERCERTL],u;for(;(u=c.exec(e))&&(!r||r.index+r[0].length!==e.length);)(!r||u.index+u[0].length!==r.index+r[0].length)&&(r=u),c.lastIndex=u.index+u[1].length+u[2].length;c.lastIndex=-1}if(r===null)return null;let n=r[2],i=r[3]||"0",o=r[4]||"0",a=t.includePrerelease&&r[5]?`-${r[5]}`:"",s=t.includePrerelease&&r[6]?`+${r[6]}`:"";return $V(`${n}.${i}.${o}${a}${s}`,t)};RP.exports=TV});var jP=de((zne,MP)=>{"use strict";var nw=class{constructor(){this.max=1e3,this.map=new Map}get(t){let r=this.map.get(t);if(r!==void 0)return this.map.delete(t),this.map.set(t,r),r}delete(t){return this.map.delete(t)}set(t,r){if(!this.delete(t)&&r!==void 0){if(this.map.size>=this.max){let i=this.map.keys().next().value;this.delete(i)}this.map.set(t,r)}return this}};MP.exports=nw});var gn=de((Dne,UP)=>{"use strict";var AV=/\s+/g,iw=class e{constructor(t,r){if(r=CV(r),t instanceof e)return t.loose===!!r.loose&&t.includePrerelease===!!r.includePrerelease?t:new e(t.raw,r);if(t instanceof ow)return this.raw=t.value,this.set=[[t]],this.formatted=void 0,this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=t.trim().replace(AV," "),this.set=this.raw.split("||").map(n=>this.parseRange(n.trim())).filter(n=>n.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let n=this.set[0];if(this.set=this.set.filter(i=>!DP(i[0])),this.set.length===0)this.set=[n];else if(this.set.length>1){for(let i of this.set)if(i.length===1&&DV(i[0])){this.set=[i];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let t=0;t<this.set.length;t++){t>0&&(this.formatted+="||");let r=this.set[t];for(let n=0;n<r.length;n++)n>0&&(this.formatted+=" "),this.formatted+=r[n].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(t){let n=((this.options.includePrerelease&&jV)|(this.options.loose&&zV))+":"+t,i=zP.get(n);if(i)return i;let o=this.options.loose,a=o?_r[ir.HYPHENRANGELOOSE]:_r[ir.HYPHENRANGE];t=t.replace(a,KV(this.options.includePrerelease)),ut("hyphen replace",t),t=t.replace(_r[ir.COMPARATORTRIM],RV),ut("comparator trim",t),t=t.replace(_r[ir.TILDETRIM],NV),ut("tilde trim",t),t=t.replace(_r[ir.CARETTRIM],MV),ut("caret trim",t);let s=t.split(" ").map(d=>LV(d,this.options)).join(" ").split(/\s+/).map(d=>qV(d,this.options));o&&(s=s.filter(d=>(ut("loose invalid filter",d,this.options),!!d.match(_r[ir.COMPARATORLOOSE])))),ut("range list",s);let c=new Map,u=s.map(d=>new ow(d,this.options));for(let d of u){if(DP(d))return[d];c.set(d.value,d)}c.size>1&&c.has("")&&c.delete("");let l=[...c.values()];return zP.set(n,l),l}intersects(t,r){if(!(t instanceof e))throw new TypeError("a Range is required");return this.set.some(n=>LP(n,r)&&t.set.some(i=>LP(i,r)&&n.every(o=>i.every(a=>o.intersects(a,r)))))}test(t){if(!t)return!1;if(typeof t=="string")try{t=new PV(t,this.options)}catch{return!1}for(let r=0;r<this.set.length;r++)if(WV(this.set[r],t,this.options))return!0;return!1}};UP.exports=iw;var OV=jP(),zP=new OV,CV=Jm(),ow=Md(),ut=Rd(),PV=nr(),{safeRe:_r,t:ir,comparatorTrimReplace:RV,tildeTrimReplace:NV,caretTrimReplace:MV}=tu(),{FLAG_INCLUDE_PRERELEASE:jV,FLAG_LOOSE:zV}=Pd(),DP=e=>e.value==="<0.0.0-0",DV=e=>e.value==="",LP=(e,t)=>{let r=!0,n=e.slice(),i=n.pop();for(;r&&n.length;)r=n.every(o=>i.intersects(o,t)),i=n.pop();return r},LV=(e,t)=>(e=e.replace(_r[ir.BUILD],""),ut("comp",e,t),e=BV(e,t),ut("caret",e),e=UV(e,t),ut("tildes",e),e=ZV(e,t),ut("xrange",e),e=HV(e,t),ut("stars",e),e),yr=e=>!e||e.toLowerCase()==="x"||e==="*",UV=(e,t)=>e.trim().split(/\s+/).map(r=>FV(r,t)).join(" "),FV=(e,t)=>{let r=t.loose?_r[ir.TILDELOOSE]:_r[ir.TILDE];return e.replace(r,(n,i,o,a,s)=>{ut("tilde",e,n,i,o,a,s);let c;return yr(i)?c="":yr(o)?c=`>=${i}.0.0 <${+i+1}.0.0-0`:yr(a)?c=`>=${i}.${o}.0 <${i}.${+o+1}.0-0`:s?(ut("replaceTilde pr",s),c=`>=${i}.${o}.${a}-${s} <${i}.${+o+1}.0-0`):c=`>=${i}.${o}.${a} <${i}.${+o+1}.0-0`,ut("tilde return",c),c})},BV=(e,t)=>e.trim().split(/\s+/).map(r=>VV(r,t)).join(" "),VV=(e,t)=>{ut("caret",e,t);let r=t.loose?_r[ir.CARETLOOSE]:_r[ir.CARET],n=t.includePrerelease?"-0":"";return e.replace(r,(i,o,a,s,c)=>{ut("caret",e,i,o,a,s,c);let u;return yr(o)?u="":yr(a)?u=`>=${o}.0.0${n} <${+o+1}.0.0-0`:yr(s)?o==="0"?u=`>=${o}.${a}.0${n} <${o}.${+a+1}.0-0`:u=`>=${o}.${a}.0${n} <${+o+1}.0.0-0`:c?(ut("replaceCaret pr",c),o==="0"?a==="0"?u=`>=${o}.${a}.${s}-${c} <${o}.${a}.${+s+1}-0`:u=`>=${o}.${a}.${s}-${c} <${o}.${+a+1}.0-0`:u=`>=${o}.${a}.${s}-${c} <${+o+1}.0.0-0`):(ut("no pr"),o==="0"?a==="0"?u=`>=${o}.${a}.${s}${n} <${o}.${a}.${+s+1}-0`:u=`>=${o}.${a}.${s}${n} <${o}.${+a+1}.0-0`:u=`>=${o}.${a}.${s} <${+o+1}.0.0-0`),ut("caret return",u),u})},ZV=(e,t)=>(ut("replaceXRanges",e,t),e.split(/\s+/).map(r=>GV(r,t)).join(" ")),GV=(e,t)=>{e=e.trim();let r=t.loose?_r[ir.XRANGELOOSE]:_r[ir.XRANGE];return e.replace(r,(n,i,o,a,s,c)=>{ut("xRange",e,n,i,o,a,s,c);let u=yr(o),l=u||yr(a),d=l||yr(s),f=d;return i==="="&&f&&(i=""),c=t.includePrerelease?"-0":"",u?i===">"||i==="<"?n="<0.0.0-0":n="*":i&&f?(l&&(a=0),s=0,i===">"?(i=">=",l?(o=+o+1,a=0,s=0):(a=+a+1,s=0)):i==="<="&&(i="<",l?o=+o+1:a=+a+1),i==="<"&&(c="-0"),n=`${i+o}.${a}.${s}${c}`):l?n=`>=${o}.0.0${c} <${+o+1}.0.0-0`:d&&(n=`>=${o}.${a}.0${c} <${o}.${+a+1}.0-0`),ut("xRange return",n),n})},HV=(e,t)=>(ut("replaceStars",e,t),e.trim().replace(_r[ir.STAR],"")),qV=(e,t)=>(ut("replaceGTE0",e,t),e.trim().replace(_r[t.includePrerelease?ir.GTE0PRE:ir.GTE0],"")),KV=e=>(t,r,n,i,o,a,s,c,u,l,d,f)=>(yr(n)?r="":yr(i)?r=`>=${n}.0.0${e?"-0":""}`:yr(o)?r=`>=${n}.${i}.0${e?"-0":""}`:a?r=`>=${r}`:r=`>=${r}${e?"-0":""}`,yr(u)?c="":yr(l)?c=`<${+u+1}.0.0-0`:yr(d)?c=`<${u}.${+l+1}.0-0`:f?c=`<=${u}.${l}.${d}-${f}`:e?c=`<${u}.${l}.${+d+1}-0`:c=`<=${c}`,`${r} ${c}`.trim()),WV=(e,t,r)=>{for(let n=0;n<e.length;n++)if(!e[n].test(t))return!1;if(t.prerelease.length&&!r.includePrerelease){for(let n=0;n<e.length;n++)if(ut(e[n].semver),e[n].semver!==ow.ANY&&e[n].semver.prerelease.length>0){let i=e[n].semver;if(i.major===t.major&&i.minor===t.minor&&i.patch===t.patch)return!0}return!1}return!0}});var Md=de((Lne,HP)=>{"use strict";var jd=Symbol("SemVer ANY"),cw=class e{static get ANY(){return jd}constructor(t,r){if(r=FP(r),t instanceof e){if(t.loose===!!r.loose)return t;t=t.value}t=t.trim().split(/\s+/).join(" "),sw("comparator",t,r),this.options=r,this.loose=!!r.loose,this.parse(t),this.semver===jd?this.value="":this.value=this.operator+this.semver.version,sw("comp",this)}parse(t){let r=this.options.loose?BP[VP.COMPARATORLOOSE]:BP[VP.COMPARATOR],n=t.match(r);if(!n)throw new TypeError(`Invalid comparator: ${t}`);this.operator=n[1]!==void 0?n[1]:"",this.operator==="="&&(this.operator=""),n[2]?this.semver=new ZP(n[2],this.options.loose):this.semver=jd}toString(){return this.value}test(t){if(sw("Comparator.test",t,this.options.loose),this.semver===jd||t===jd)return!0;if(typeof t=="string")try{t=new ZP(t,this.options)}catch{return!1}return aw(t,this.operator,this.semver,this.options)}intersects(t,r){if(!(t instanceof e))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new GP(t.value,r).test(this.value):t.operator===""?t.value===""?!0:new GP(this.value,r).test(t.semver):(r=FP(r),r.includePrerelease&&(this.value==="<0.0.0-0"||t.value==="<0.0.0-0")||!r.includePrerelease&&(this.value.startsWith("<0.0.0")||t.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&t.operator.startsWith(">")||this.operator.startsWith("<")&&t.operator.startsWith("<")||this.semver.version===t.semver.version&&this.operator.includes("=")&&t.operator.includes("=")||aw(this.semver,"<",t.semver,r)&&this.operator.startsWith(">")&&t.operator.startsWith("<")||aw(this.semver,">",t.semver,r)&&this.operator.startsWith("<")&&t.operator.startsWith(">")))}};HP.exports=cw;var FP=Jm(),{safeRe:BP,t:VP}=tu(),aw=rw(),sw=Rd(),ZP=nr(),GP=gn()});var zd=de((Une,qP)=>{"use strict";var JV=gn(),XV=(e,t,r)=>{try{t=new JV(t,r)}catch{return!1}return t.test(e)};qP.exports=XV});var WP=de((Fne,KP)=>{"use strict";var YV=gn(),QV=(e,t)=>new YV(e,t).set.map(r=>r.map(n=>n.value).join(" ").trim().split(" "));KP.exports=QV});var XP=de((Bne,JP)=>{"use strict";var eZ=nr(),tZ=gn(),rZ=(e,t,r)=>{let n=null,i=null,o=null;try{o=new tZ(t,r)}catch{return null}return e.forEach(a=>{o.test(a)&&(!n||i.compare(a)===-1)&&(n=a,i=new eZ(n,r))}),n};JP.exports=rZ});var QP=de((Vne,YP)=>{"use strict";var nZ=nr(),iZ=gn(),oZ=(e,t,r)=>{let n=null,i=null,o=null;try{o=new iZ(t,r)}catch{return null}return e.forEach(a=>{o.test(a)&&(!n||i.compare(a)===1)&&(n=a,i=new nZ(n,r))}),n};YP.exports=oZ});var rR=de((Zne,tR)=>{"use strict";var uw=nr(),aZ=gn(),eR=Nd(),sZ=(e,t)=>{e=new aZ(e,t);let r=new uw("0.0.0");if(e.test(r)||(r=new uw("0.0.0-0"),e.test(r)))return r;r=null;for(let n=0;n<e.set.length;++n){let i=e.set[n],o=null;i.forEach(a=>{let s=new uw(a.semver.version);switch(a.operator){case">":s.prerelease.length===0?s.patch++:s.prerelease.push(0),s.raw=s.format();case"":case">=":(!o||eR(s,o))&&(o=s);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${a.operator}`)}}),o&&(!r||eR(r,o))&&(r=o)}return r&&e.test(r)?r:null};tR.exports=sZ});var iR=de((Gne,nR)=>{"use strict";var cZ=gn(),uZ=(e,t)=>{try{return new cZ(e,t).range||"*"}catch{return null}};nR.exports=uZ});var sh=de((Hne,cR)=>{"use strict";var lZ=nr(),sR=Md(),{ANY:dZ}=sR,pZ=gn(),fZ=zd(),oR=Nd(),aR=rh(),mZ=ih(),hZ=nh(),gZ=(e,t,r,n)=>{e=new lZ(e,n),t=new pZ(t,n);let i,o,a,s,c;switch(r){case">":i=oR,o=mZ,a=aR,s=">",c=">=";break;case"<":i=aR,o=hZ,a=oR,s="<",c="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(fZ(e,t,n))return!1;for(let u=0;u<t.set.length;++u){let l=t.set[u],d=null,f=null;if(l.forEach(p=>{p.semver===dZ&&(p=new sR(">=0.0.0")),d=d||p,f=f||p,i(p.semver,d.semver,n)?d=p:a(p.semver,f.semver,n)&&(f=p)}),d.operator===s||d.operator===c||(!f.operator||f.operator===s)&&o(e,f.semver))return!1;if(f.operator===c&&a(e,f.semver))return!1}return!0};cR.exports=gZ});var lR=de((qne,uR)=>{"use strict";var _Z=sh(),yZ=(e,t,r)=>_Z(e,t,">",r);uR.exports=yZ});var pR=de((Kne,dR)=>{"use strict";var vZ=sh(),bZ=(e,t,r)=>vZ(e,t,"<",r);dR.exports=bZ});var hR=de((Wne,mR)=>{"use strict";var fR=gn(),wZ=(e,t,r)=>(e=new fR(e,r),t=new fR(t,r),e.intersects(t,r));mR.exports=wZ});var _R=de((Jne,gR)=>{"use strict";var xZ=zd(),IZ=hn();gR.exports=(e,t,r)=>{let n=[],i=null,o=null,a=e.sort((l,d)=>IZ(l,d,r));for(let l of a)xZ(l,t,r)?(o=l,i||(i=l)):(o&&n.push([i,o]),o=null,i=null);i&&n.push([i,null]);let s=[];for(let[l,d]of n)l===d?s.push(l):!d&&l===a[0]?s.push("*"):d?l===a[0]?s.push(`<=${d}`):s.push(`${l} - ${d}`):s.push(`>=${l}`);let c=s.join(" || "),u=typeof t.raw=="string"?t.raw:String(t);return c.length<u.length?c:t}});var IR=de((Xne,xR)=>{"use strict";var yR=gn(),dw=Md(),{ANY:lw}=dw,Dd=zd(),pw=hn(),SZ=(e,t,r={})=>{if(e===t)return!0;e=new yR(e,r),t=new yR(t,r);let n=!1;e:for(let i of e.set){for(let o of t.set){let a=EZ(i,o,r);if(n=n||a!==null,a)continue e}if(n)return!1}return!0},kZ=[new dw(">=0.0.0-0")],vR=[new dw(">=0.0.0")],EZ=(e,t,r)=>{if(e===t)return!0;if(e.length===1&&e[0].semver===lw){if(t.length===1&&t[0].semver===lw)return!0;r.includePrerelease?e=kZ:e=vR}if(t.length===1&&t[0].semver===lw){if(r.includePrerelease)return!0;t=vR}let n=new Set,i,o;for(let p of e)p.operator===">"||p.operator===">="?i=bR(i,p,r):p.operator==="<"||p.operator==="<="?o=wR(o,p,r):n.add(p.semver);if(n.size>1)return null;let a;if(i&&o){if(a=pw(i.semver,o.semver,r),a>0)return null;if(a===0&&(i.operator!==">="||o.operator!=="<="))return null}for(let p of n){if(i&&!Dd(p,String(i),r)||o&&!Dd(p,String(o),r))return null;for(let m of t)if(!Dd(p,String(m),r))return!1;return!0}let s,c,u,l,d=o&&!r.includePrerelease&&o.semver.prerelease.length?o.semver:!1,f=i&&!r.includePrerelease&&i.semver.prerelease.length?i.semver:!1;d&&d.prerelease.length===1&&o.operator==="<"&&d.prerelease[0]===0&&(d=!1);for(let p of t){if(l=l||p.operator===">"||p.operator===">=",u=u||p.operator==="<"||p.operator==="<=",i){if(f&&p.semver.prerelease&&p.semver.prerelease.length&&p.semver.major===f.major&&p.semver.minor===f.minor&&p.semver.patch===f.patch&&(f=!1),p.operator===">"||p.operator===">="){if(s=bR(i,p,r),s===p&&s!==i)return!1}else if(i.operator===">="&&!Dd(i.semver,String(p),r))return!1}if(o){if(d&&p.semver.prerelease&&p.semver.prerelease.length&&p.semver.major===d.major&&p.semver.minor===d.minor&&p.semver.patch===d.patch&&(d=!1),p.operator==="<"||p.operator==="<="){if(c=wR(o,p,r),c===p&&c!==o)return!1}else if(o.operator==="<="&&!Dd(o.semver,String(p),r))return!1}if(!p.operator&&(o||i)&&a!==0)return!1}return!(i&&u&&!o&&a!==0||o&&l&&!i&&a!==0||f||d)},bR=(e,t,r)=>{if(!e)return t;let n=pw(e.semver,t.semver,r);return n>0?e:n<0||t.operator===">"&&e.operator===">="?t:e},wR=(e,t,r)=>{if(!e)return t;let n=pw(e.semver,t.semver,r);return n<0?e:n>0||t.operator==="<"&&e.operator==="<="?t:e};xR.exports=SZ});var $R=de((Yne,ER)=>{"use strict";var fw=tu(),SR=Pd(),$Z=nr(),kR=Xb(),TZ=fs(),AZ=XC(),OZ=QC(),CZ=rP(),PZ=oP(),RZ=sP(),NZ=uP(),MZ=dP(),jZ=fP(),zZ=hn(),DZ=_P(),LZ=vP(),UZ=th(),FZ=IP(),BZ=kP(),VZ=Nd(),ZZ=rh(),GZ=ew(),HZ=tw(),qZ=nh(),KZ=ih(),WZ=rw(),JZ=NP(),XZ=Md(),YZ=gn(),QZ=zd(),e9=WP(),t9=XP(),r9=QP(),n9=rR(),i9=iR(),o9=sh(),a9=lR(),s9=pR(),c9=hR(),u9=_R(),l9=IR();ER.exports={parse:TZ,valid:AZ,clean:OZ,inc:CZ,diff:PZ,major:RZ,minor:NZ,patch:MZ,prerelease:jZ,compare:zZ,rcompare:DZ,compareLoose:LZ,compareBuild:UZ,sort:FZ,rsort:BZ,gt:VZ,lt:ZZ,eq:GZ,neq:HZ,gte:qZ,lte:KZ,cmp:WZ,coerce:JZ,Comparator:XZ,Range:YZ,satisfies:QZ,toComparators:e9,maxSatisfying:t9,minSatisfying:r9,minVersion:n9,validRange:i9,outside:o9,gtr:a9,ltr:s9,intersects:c9,simplifyRange:u9,subset:l9,SemVer:$Z,re:fw.re,src:fw.src,tokens:fw.t,SEMVER_SPEC_VERSION:SR.SEMVER_SPEC_VERSION,RELEASE_TYPES:SR.RELEASE_TYPES,compareIdentifiers:kR.compareIdentifiers,rcompareIdentifiers:kR.rcompareIdentifiers}});var WR=de((Zie,KR)=>{"use strict";var HR=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,qR=(e=0)=>(t,r,n)=>`\x1B[${38+e};2;${t};${r};${n}m`;function N9(){let e=new Map,t={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};t.color.gray=t.color.blackBright,t.bgColor.bgGray=t.bgColor.bgBlackBright,t.color.grey=t.color.blackBright,t.bgColor.bgGrey=t.bgColor.bgBlackBright;for(let[r,n]of Object.entries(t)){for(let[i,o]of Object.entries(n))t[i]={open:`\x1B[${o[0]}m`,close:`\x1B[${o[1]}m`},n[i]=t[i],e.set(o[0],o[1]);Object.defineProperty(t,r,{value:n,enumerable:!1})}return Object.defineProperty(t,"codes",{value:e,enumerable:!1}),t.color.close="\x1B[39m",t.bgColor.close="\x1B[49m",t.color.ansi256=HR(),t.color.ansi16m=qR(),t.bgColor.ansi256=HR(10),t.bgColor.ansi16m=qR(10),Object.defineProperties(t,{rgbToAnsi256:{value:(r,n,i)=>r===n&&n===i?r<8?16:r>248?231:Math.round((r-8)/247*24)+232:16+36*Math.round(r/255*5)+6*Math.round(n/255*5)+Math.round(i/255*5),enumerable:!1},hexToRgb:{value:r=>{let n=/(?<colorString>[a-f\d]{6}|[a-f\d]{3})/i.exec(r.toString(16));if(!n)return[0,0,0];let{colorString:i}=n.groups;i.length===3&&(i=i.split("").map(a=>a+a).join(""));let o=Number.parseInt(i,16);return[o>>16&255,o>>8&255,o&255]},enumerable:!1},hexToAnsi256:{value:r=>t.rgbToAnsi256(...t.hexToRgb(r)),enumerable:!1}}),t}Object.defineProperty(KR,"exports",{enumerable:!0,get:N9})});var nz=de(o_=>{"use strict";o_.byteLength=Dq;o_.toByteArray=Uq;o_.fromByteArray=Vq;var Mi=[],kn=[],zq=typeof Uint8Array<"u"?Uint8Array:Array,QS="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(qs=0,tz=QS.length;qs<tz;++qs)Mi[qs]=QS[qs],kn[QS.charCodeAt(qs)]=qs;var qs,tz;kn[45]=62;kn[95]=63;function rz(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");r===-1&&(r=t);var n=r===t?0:4-r%4;return[r,n]}function Dq(e){var t=rz(e),r=t[0],n=t[1];return(r+n)*3/4-n}function Lq(e,t,r){return(t+r)*3/4-r}function Uq(e){var t,r=rz(e),n=r[0],i=r[1],o=new zq(Lq(e,n,i)),a=0,s=i>0?n-4:n,c;for(c=0;c<s;c+=4)t=kn[e.charCodeAt(c)]<<18|kn[e.charCodeAt(c+1)]<<12|kn[e.charCodeAt(c+2)]<<6|kn[e.charCodeAt(c+3)],o[a++]=t>>16&255,o[a++]=t>>8&255,o[a++]=t&255;return i===2&&(t=kn[e.charCodeAt(c)]<<2|kn[e.charCodeAt(c+1)]>>4,o[a++]=t&255),i===1&&(t=kn[e.charCodeAt(c)]<<10|kn[e.charCodeAt(c+1)]<<4|kn[e.charCodeAt(c+2)]>>2,o[a++]=t>>8&255,o[a++]=t&255),o}function Fq(e){return Mi[e>>18&63]+Mi[e>>12&63]+Mi[e>>6&63]+Mi[e&63]}function Bq(e,t,r){for(var n,i=[],o=t;o<r;o+=3)n=(e[o]<<16&16711680)+(e[o+1]<<8&65280)+(e[o+2]&255),i.push(Fq(n));return i.join("")}function Vq(e){for(var t,r=e.length,n=r%3,i=[],o=16383,a=0,s=r-n;a<s;a+=o)i.push(Bq(e,a,a+o>s?s:a+o));return n===1?(t=e[r-1],i.push(Mi[t>>2]+Mi[t<<4&63]+"==")):n===2&&(t=(e[r-2]<<8)+e[r-1],i.push(Mi[t>>10]+Mi[t>>4&63]+Mi[t<<2&63]+"=")),i.join("")}});var Ye="__start__",ot="__end__",di="__input__";var jc="__error__",Kf="__pregel_ns_writes",cn="__pregel_send",dd="__pregel_call",On="__pregel_read",Cn="__pregel_checkpointer",zc="__pregel_resuming",pd="__pregel_task_id",fd="__pregel_stream",Q6="__pregel_resume_value",Dc="__pregel_resume_map",Br="__pregel_scratchpad",Lc="__pregel_previous",eF="__pregel_durability",Wf="checkpoint_id",un="checkpoint_ns",DT="__pregel_node_finished",ln="checkpoint_map",LT="__pregel_abort_signals",at="__interrupt__",Vr="__resume__",md="__no_writes__",Wo="__return__",rs="__previous__",Tt="langsmith:hidden";var Pv="__self__",pi="__pregel_tasks",dn="__pregel_push",Jf="__pregel_pull",Zr="00000000-0000-0000-0000-000000000000",UT=[Tt,di,at,Vr,jc,md,cn,On,Cn,eF,fd,zc,pd,dd,Q6,Br,Lc,ln,un,Wf],Cv=Symbol.for("langgraph.command"),FT=class{[Cv];constructor(e){this[Cv]=e}};function Xf(e){let t=e;return t!=null&&typeof t.node=="string"&&t.args!==void 0}var ts=class{lg_name="Send";node;args;constructor(e,t){this.node=e,this.args=ld(t)}toJSON(){return{lg_name:this.lg_name,node:this.node,args:this.args}}};function At(e){return e instanceof ts}var Mc="__overwrite__",tF=class{lg_name="Overwrite";[Mc];constructor(e){this[Mc]=e}get value(){return this[Mc]}toJSON(){return{[Mc]:this[Mc]}}static isInstance(e){return!e||typeof e!="object"?!1:"__overwrite__"in e||"lg_name"in e&&e.lg_name==="Overwrite"}};function Yf(e){return typeof e=="object"&&e!==null&&"__overwrite__"in e?[!0,e[Mc]]:[!1,void 0]}function BT(e){return Yf(e)[0]}function hd(e){return!e||typeof e!="object"||!("__interrupt__"in e)?!1:Array.isArray(e[at])}var Ar=class extends FT{lg_name="Command";lc_direct_tool_output=!0;graph;update;resume;goto=[];static PARENT="__parent__";constructor(e){super(e),this.resume=e.resume,this.graph=e.graph,this.update=e.update,e.goto&&(this.goto=Array.isArray(e.goto)?ld(e.goto):[ld(e.goto)])}_updateAsTuples(){return this.update&&typeof this.update=="object"&&!Array.isArray(this.update)?Object.entries(this.update):Array.isArray(this.update)&&this.update.every(e=>Array.isArray(e)&&e.length===2&&typeof e[0]=="string")?this.update:[["__root__",this.update]]}toJSON(){let e;return typeof this.goto=="string"?e=this.goto:At(this.goto)?e=this.goto.toJSON():e=this.goto?.map(t=>typeof t=="string"?t:t.toJSON()),{lg_name:this.lg_name,update:this.update,resume:this.resume,goto:e}}};function Nt(e){return typeof e!="object"||e==null?!1:"lg_name"in e&&e.lg_name==="Command"}function ld(e,t=new Map){if(e!=null&&typeof e=="object"){if(t.has(e))return t.get(e);let r;if(Array.isArray(e))r=[],t.set(e,r),e.forEach((n,i)=>{r[i]=ld(n,t)});else if(Nt(e)&&!(e instanceof Ar))r=new Ar(e),t.set(e,r);else if(Xf(e)&&!(e instanceof ts))r=new ts(e.node,e.args),t.set(e,r);else if(Nt(e)||At(e))r=e,t.set(e,r);else if("lc_serializable"in e&&e.lc_serializable)r=e,t.set(e,r);else{r={},t.set(e,r);for(let[n,i]of Object.entries(e))r[n]=ld(i,t)}return r}return e}var Qi=class extends Error{lc_error_code;constructor(e,t){let r=e??"";t?.lc_error_code&&(r=`${r}
|
|
2
|
+
import{a as de,b as li,c as Ko}from"./CFDTXKJ6.js";export default $arcgis.t(([PT,Ov,q6,EX,$X])=>{var QT=de((_Q,YT)=>{"use strict";YT.exports=function(e,t){if(typeof e!="string")throw new TypeError("Expected a string");return t=typeof t>"u"?"_":t,e.replace(/([a-z\d])([A-Z])/g,"$1"+t+"$2").replace(/([A-Z]+)([A-Z][a-z\d]+)/g,"$1"+t+"$2").toLowerCase()}});var aA=de((yQ,Wv)=>{"use strict";var IF=/[\p{Lu}]/u,SF=/[\p{Ll}]/u,eA=/^[\p{Lu}](?![\p{Lu}])/gu,nA=/([\p{Alpha}\p{N}_]|$)/u,iA=/[_.\- ]+/,kF=new RegExp("^"+iA.source),tA=new RegExp(iA.source+nA.source,"gu"),rA=new RegExp("\\d+"+nA.source,"gu"),EF=(e,t,r)=>{let n=!1,i=!1,o=!1;for(let a=0;a<e.length;a++){let s=e[a];n&&IF.test(s)?(e=e.slice(0,a)+"-"+e.slice(a),n=!1,o=i,i=!0,a++):i&&o&&SF.test(s)?(e=e.slice(0,a-1)+"-"+e.slice(a-1),o=i,i=!1,n=!0):(n=t(s)===s&&r(s)!==s,o=i,i=r(s)===s&&t(s)!==s)}return e},$F=(e,t)=>(eA.lastIndex=0,e.replace(eA,r=>t(r))),TF=(e,t)=>(tA.lastIndex=0,rA.lastIndex=0,e.replace(tA,(r,n)=>t(n)).replace(rA,r=>t(r))),oA=(e,t)=>{if(!(typeof e=="string"||Array.isArray(e)))throw new TypeError("Expected the input to be `string | string[]`");if(t={pascalCase:!1,preserveConsecutiveUppercase:!1,...t},Array.isArray(e)?e=e.map(o=>o.trim()).filter(o=>o.length).join("-"):e=e.trim(),e.length===0)return"";let r=t.locale===!1?o=>o.toLowerCase():o=>o.toLocaleLowerCase(t.locale),n=t.locale===!1?o=>o.toUpperCase():o=>o.toLocaleUpperCase(t.locale);return e.length===1?t.pascalCase?n(e):r(e):(e!==r(e)&&(e=EF(e,r,n)),e=e.replace(kF,""),t.preserveConsecutiveUppercase?e=$F(e,r):e=r(e),t.pascalCase&&(e=n(e.charAt(0))+e.slice(1)),TF(e,n))};Wv.exports=oA;Wv.exports.default=oA});var OC=de((Yre,Fb)=>{"use strict";var s3=Object.prototype.hasOwnProperty,gr="~";function Od(){}Object.create&&(Od.prototype=Object.create(null),new Od().__proto__||(gr=!1));function c3(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function AC(e,t,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var o=new c3(r,n||e,i),a=gr?gr+t:t;return e._events[a]?e._events[a].fn?e._events[a]=[e._events[a],o]:e._events[a].push(o):(e._events[a]=o,e._eventsCount++),e}function Zm(e,t){--e._eventsCount===0?e._events=new Od:delete e._events[t]}function rr(){this._events=new Od,this._eventsCount=0}rr.prototype.eventNames=function(){var t=[],r,n;if(this._eventsCount===0)return t;for(n in r=this._events)s3.call(r,n)&&t.push(gr?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(r)):t};rr.prototype.listeners=function(t){var r=gr?gr+t:t,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,o=n.length,a=new Array(o);i<o;i++)a[i]=n[i].fn;return a};rr.prototype.listenerCount=function(t){var r=gr?gr+t:t,n=this._events[r];return n?n.fn?1:n.length:0};rr.prototype.emit=function(t,r,n,i,o,a){var s=gr?gr+t:t;if(!this._events[s])return!1;var c=this._events[s],u=arguments.length,l,d;if(c.fn){switch(c.once&&this.removeListener(t,c.fn,void 0,!0),u){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,r),!0;case 3:return c.fn.call(c.context,r,n),!0;case 4:return c.fn.call(c.context,r,n,i),!0;case 5:return c.fn.call(c.context,r,n,i,o),!0;case 6:return c.fn.call(c.context,r,n,i,o,a),!0}for(d=1,l=new Array(u-1);d<u;d++)l[d-1]=arguments[d];c.fn.apply(c.context,l)}else{var f=c.length,p;for(d=0;d<f;d++)switch(c[d].once&&this.removeListener(t,c[d].fn,void 0,!0),u){case 1:c[d].fn.call(c[d].context);break;case 2:c[d].fn.call(c[d].context,r);break;case 3:c[d].fn.call(c[d].context,r,n);break;case 4:c[d].fn.call(c[d].context,r,n,i);break;default:if(!l)for(p=1,l=new Array(u-1);p<u;p++)l[p-1]=arguments[p];c[d].fn.apply(c[d].context,l)}}return!0};rr.prototype.on=function(t,r,n){return AC(this,t,r,n,!1)};rr.prototype.once=function(t,r,n){return AC(this,t,r,n,!0)};rr.prototype.removeListener=function(t,r,n,i){var o=gr?gr+t:t;if(!this._events[o])return this;if(!r)return Zm(this,o),this;var a=this._events[o];if(a.fn)a.fn===r&&(!i||a.once)&&(!n||a.context===n)&&Zm(this,o);else{for(var s=0,c=[],u=a.length;s<u;s++)(a[s].fn!==r||i&&!a[s].once||n&&a[s].context!==n)&&c.push(a[s]);c.length?this._events[o]=c.length===1?c[0]:c:Zm(this,o)}return this};rr.prototype.removeAllListeners=function(t){var r;return t?(r=gr?gr+t:t,this._events[r]&&Zm(this,r)):(this._events=new Od,this._eventsCount=0),this};rr.prototype.off=rr.prototype.removeListener;rr.prototype.addListener=rr.prototype.on;rr.prefixed=gr;rr.EventEmitter=rr;typeof Fb<"u"&&(Fb.exports=rr)});var PC=de((Qre,CC)=>{"use strict";CC.exports=(e,t)=>(t=t||(()=>{}),e.then(r=>new Promise(n=>{n(t())}).then(()=>r),r=>new Promise(n=>{n(t())}).then(()=>{throw r})))});var NC=de((ene,Hm)=>{"use strict";var u3=PC(),Gm=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},RC=(e,t,r)=>new Promise((n,i)=>{if(typeof t!="number"||t<0)throw new TypeError("Expected `milliseconds` to be a positive number");if(t===1/0){n(e);return}let o=setTimeout(()=>{if(typeof r=="function"){try{n(r())}catch(c){i(c)}return}let a=typeof r=="string"?r:`Promise timed out after ${t} milliseconds`,s=r instanceof Error?r:new Gm(a);typeof e.cancel=="function"&&e.cancel(),i(s)},t);u3(e.then(n,i),()=>{clearTimeout(o)})});Hm.exports=RC;Hm.exports.default=RC;Hm.exports.TimeoutError=Gm});var MC=de(Bb=>{"use strict";Object.defineProperty(Bb,"__esModule",{value:!0});function l3(e,t,r){let n=0,i=e.length;for(;i>0;){let o=i/2|0,a=n+o;r(e[a],t)<=0?(n=++a,i-=o+1):i=o}return n}Bb.default=l3});var jC=de(Zb=>{"use strict";Object.defineProperty(Zb,"__esModule",{value:!0});var d3=MC(),Vb=class{constructor(){this._queue=[]}enqueue(t,r){r=Object.assign({priority:0},r);let n={priority:r.priority,run:t};if(this.size&&this._queue[this.size-1].priority>=r.priority){this._queue.push(n);return}let i=d3.default(this._queue,n,(o,a)=>a.priority-o.priority);this._queue.splice(i,0,n)}dequeue(){let t=this._queue.shift();return t?.run}filter(t){return this._queue.filter(r=>r.priority===t.priority).map(r=>r.run)}get size(){return this._queue.length}};Zb.default=Vb});var Km=de(Hb=>{"use strict";Object.defineProperty(Hb,"__esModule",{value:!0});var p3=OC(),zC=NC(),f3=jC(),qm=()=>{},m3=new zC.TimeoutError,Gb=class extends p3{constructor(t){var r,n,i,o;if(super(),this._intervalCount=0,this._intervalEnd=0,this._pendingCount=0,this._resolveEmpty=qm,this._resolveIdle=qm,t=Object.assign({carryoverConcurrencyCount:!1,intervalCap:1/0,interval:0,concurrency:1/0,autoStart:!0,queueClass:f3.default},t),!(typeof t.intervalCap=="number"&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=t.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:""}\` (${typeof t.intervalCap})`);if(t.interval===void 0||!(Number.isFinite(t.interval)&&t.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(o=(i=t.interval)===null||i===void 0?void 0:i.toString())!==null&&o!==void 0?o:""}\` (${typeof t.interval})`);this._carryoverConcurrencyCount=t.carryoverConcurrencyCount,this._isIntervalIgnored=t.intervalCap===1/0||t.interval===0,this._intervalCap=t.intervalCap,this._interval=t.interval,this._queue=new t.queueClass,this._queueClass=t.queueClass,this.concurrency=t.concurrency,this._timeout=t.timeout,this._throwOnTimeout=t.throwOnTimeout===!0,this._isPaused=t.autoStart===!1}get _doesIntervalAllowAnother(){return this._isIntervalIgnored||this._intervalCount<this._intervalCap}get _doesConcurrentAllowAnother(){return this._pendingCount<this._concurrency}_next(){this._pendingCount--,this._tryToStartAnother(),this.emit("next")}_resolvePromises(){this._resolveEmpty(),this._resolveEmpty=qm,this._pendingCount===0&&(this._resolveIdle(),this._resolveIdle=qm,this.emit("idle"))}_onResumeInterval(){this._onInterval(),this._initializeIntervalIfNeeded(),this._timeoutId=void 0}_isIntervalPaused(){let t=Date.now();if(this._intervalId===void 0){let r=this._intervalEnd-t;if(r<0)this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0;else return this._timeoutId===void 0&&(this._timeoutId=setTimeout(()=>{this._onResumeInterval()},r)),!0}return!1}_tryToStartAnother(){if(this._queue.size===0)return this._intervalId&&clearInterval(this._intervalId),this._intervalId=void 0,this._resolvePromises(),!1;if(!this._isPaused){let t=!this._isIntervalPaused();if(this._doesIntervalAllowAnother&&this._doesConcurrentAllowAnother){let r=this._queue.dequeue();return r?(this.emit("active"),r(),t&&this._initializeIntervalIfNeeded(),!0):!1}}return!1}_initializeIntervalIfNeeded(){this._isIntervalIgnored||this._intervalId!==void 0||(this._intervalId=setInterval(()=>{this._onInterval()},this._interval),this._intervalEnd=Date.now()+this._interval)}_onInterval(){this._intervalCount===0&&this._pendingCount===0&&this._intervalId&&(clearInterval(this._intervalId),this._intervalId=void 0),this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0,this._processQueue()}_processQueue(){for(;this._tryToStartAnother(););}get concurrency(){return this._concurrency}set concurrency(t){if(!(typeof t=="number"&&t>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${t}\` (${typeof t})`);this._concurrency=t,this._processQueue()}async add(t,r={}){return new Promise((n,i)=>{let o=async()=>{this._pendingCount++,this._intervalCount++;try{let a=this._timeout===void 0&&r.timeout===void 0?t():zC.default(Promise.resolve(t()),r.timeout===void 0?this._timeout:r.timeout,()=>{(r.throwOnTimeout===void 0?this._throwOnTimeout:r.throwOnTimeout)&&i(m3)});n(await a)}catch(a){i(a)}this._next()};this._queue.enqueue(o,r),this._tryToStartAnother(),this.emit("add")})}async addAll(t,r){return Promise.all(t.map(async n=>this.add(n,r)))}start(){return this._isPaused?(this._isPaused=!1,this._processQueue(),this):this}pause(){this._isPaused=!0}clear(){this._queue=new this._queueClass}async onEmpty(){if(this._queue.size!==0)return new Promise(t=>{let r=this._resolveEmpty;this._resolveEmpty=()=>{r(),t()}})}async onIdle(){if(!(this._pendingCount===0&&this._queue.size===0))return new Promise(t=>{let r=this._resolveIdle;this._resolveIdle=()=>{r(),t()}})}get size(){return this._queue.size}sizeBy(t){return this._queue.filter(t).length}get pending(){return this._pendingCount}get isPaused(){return this._isPaused}get timeout(){return this._timeout}set timeout(t){this._timeout=t}};Hb.default=Gb});var Pd=de((une,LC)=>{"use strict";var g3="2.0.0",_3=Number.MAX_SAFE_INTEGER||9007199254740991,y3=16,v3=250,b3=["major","premajor","minor","preminor","patch","prepatch","prerelease"];LC.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:y3,MAX_SAFE_BUILD_LENGTH:v3,MAX_SAFE_INTEGER:_3,RELEASE_TYPES:b3,SEMVER_SPEC_VERSION:g3,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var Rd=de((lne,UC)=>{"use strict";var w3=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};UC.exports=w3});var tu=de((bi,FC)=>{"use strict";var{MAX_SAFE_COMPONENT_LENGTH:Wb,MAX_SAFE_BUILD_LENGTH:x3,MAX_LENGTH:I3}=Pd(),S3=Rd();bi=FC.exports={};var k3=bi.re=[],E3=bi.safeRe=[],re=bi.src=[],$3=bi.safeSrc=[],ne=bi.t={},T3=0,Jb="[a-zA-Z0-9-]",A3=[["\\s",1],["\\d",I3],[Jb,x3]],O3=e=>{for(let[t,r]of A3)e=e.split(`${t}*`).join(`${t}{0,${r}}`).split(`${t}+`).join(`${t}{1,${r}}`);return e},Ee=(e,t,r)=>{let n=O3(t),i=T3++;S3(e,i,t),ne[e]=i,re[i]=t,$3[i]=n,k3[i]=new RegExp(t,r?"g":void 0),E3[i]=new RegExp(n,r?"g":void 0)};Ee("NUMERICIDENTIFIER","0|[1-9]\\d*");Ee("NUMERICIDENTIFIERLOOSE","\\d+");Ee("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${Jb}*`);Ee("MAINVERSION",`(${re[ne.NUMERICIDENTIFIER]})\\.(${re[ne.NUMERICIDENTIFIER]})\\.(${re[ne.NUMERICIDENTIFIER]})`);Ee("MAINVERSIONLOOSE",`(${re[ne.NUMERICIDENTIFIERLOOSE]})\\.(${re[ne.NUMERICIDENTIFIERLOOSE]})\\.(${re[ne.NUMERICIDENTIFIERLOOSE]})`);Ee("PRERELEASEIDENTIFIER",`(?:${re[ne.NONNUMERICIDENTIFIER]}|${re[ne.NUMERICIDENTIFIER]})`);Ee("PRERELEASEIDENTIFIERLOOSE",`(?:${re[ne.NONNUMERICIDENTIFIER]}|${re[ne.NUMERICIDENTIFIERLOOSE]})`);Ee("PRERELEASE",`(?:-(${re[ne.PRERELEASEIDENTIFIER]}(?:\\.${re[ne.PRERELEASEIDENTIFIER]})*))`);Ee("PRERELEASELOOSE",`(?:-?(${re[ne.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${re[ne.PRERELEASEIDENTIFIERLOOSE]})*))`);Ee("BUILDIDENTIFIER",`${Jb}+`);Ee("BUILD",`(?:\\+(${re[ne.BUILDIDENTIFIER]}(?:\\.${re[ne.BUILDIDENTIFIER]})*))`);Ee("FULLPLAIN",`v?${re[ne.MAINVERSION]}${re[ne.PRERELEASE]}?${re[ne.BUILD]}?`);Ee("FULL",`^${re[ne.FULLPLAIN]}$`);Ee("LOOSEPLAIN",`[v=\\s]*${re[ne.MAINVERSIONLOOSE]}${re[ne.PRERELEASELOOSE]}?${re[ne.BUILD]}?`);Ee("LOOSE",`^${re[ne.LOOSEPLAIN]}$`);Ee("GTLT","((?:<|>)?=?)");Ee("XRANGEIDENTIFIERLOOSE",`${re[ne.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);Ee("XRANGEIDENTIFIER",`${re[ne.NUMERICIDENTIFIER]}|x|X|\\*`);Ee("XRANGEPLAIN",`[v=\\s]*(${re[ne.XRANGEIDENTIFIER]})(?:\\.(${re[ne.XRANGEIDENTIFIER]})(?:\\.(${re[ne.XRANGEIDENTIFIER]})(?:${re[ne.PRERELEASE]})?${re[ne.BUILD]}?)?)?`);Ee("XRANGEPLAINLOOSE",`[v=\\s]*(${re[ne.XRANGEIDENTIFIERLOOSE]})(?:\\.(${re[ne.XRANGEIDENTIFIERLOOSE]})(?:\\.(${re[ne.XRANGEIDENTIFIERLOOSE]})(?:${re[ne.PRERELEASELOOSE]})?${re[ne.BUILD]}?)?)?`);Ee("XRANGE",`^${re[ne.GTLT]}\\s*${re[ne.XRANGEPLAIN]}$`);Ee("XRANGELOOSE",`^${re[ne.GTLT]}\\s*${re[ne.XRANGEPLAINLOOSE]}$`);Ee("COERCEPLAIN",`(^|[^\\d])(\\d{1,${Wb}})(?:\\.(\\d{1,${Wb}}))?(?:\\.(\\d{1,${Wb}}))?`);Ee("COERCE",`${re[ne.COERCEPLAIN]}(?:$|[^\\d])`);Ee("COERCEFULL",re[ne.COERCEPLAIN]+`(?:${re[ne.PRERELEASE]})?(?:${re[ne.BUILD]})?(?:$|[^\\d])`);Ee("COERCERTL",re[ne.COERCE],!0);Ee("COERCERTLFULL",re[ne.COERCEFULL],!0);Ee("LONETILDE","(?:~>?)");Ee("TILDETRIM",`(\\s*)${re[ne.LONETILDE]}\\s+`,!0);bi.tildeTrimReplace="$1~";Ee("TILDE",`^${re[ne.LONETILDE]}${re[ne.XRANGEPLAIN]}$`);Ee("TILDELOOSE",`^${re[ne.LONETILDE]}${re[ne.XRANGEPLAINLOOSE]}$`);Ee("LONECARET","(?:\\^)");Ee("CARETTRIM",`(\\s*)${re[ne.LONECARET]}\\s+`,!0);bi.caretTrimReplace="$1^";Ee("CARET",`^${re[ne.LONECARET]}${re[ne.XRANGEPLAIN]}$`);Ee("CARETLOOSE",`^${re[ne.LONECARET]}${re[ne.XRANGEPLAINLOOSE]}$`);Ee("COMPARATORLOOSE",`^${re[ne.GTLT]}\\s*(${re[ne.LOOSEPLAIN]})$|^$`);Ee("COMPARATOR",`^${re[ne.GTLT]}\\s*(${re[ne.FULLPLAIN]})$|^$`);Ee("COMPARATORTRIM",`(\\s*)${re[ne.GTLT]}\\s*(${re[ne.LOOSEPLAIN]}|${re[ne.XRANGEPLAIN]})`,!0);bi.comparatorTrimReplace="$1$2$3";Ee("HYPHENRANGE",`^\\s*(${re[ne.XRANGEPLAIN]})\\s+-\\s+(${re[ne.XRANGEPLAIN]})\\s*$`);Ee("HYPHENRANGELOOSE",`^\\s*(${re[ne.XRANGEPLAINLOOSE]})\\s+-\\s+(${re[ne.XRANGEPLAINLOOSE]})\\s*$`);Ee("STAR","(<|>)?=?\\s*\\*");Ee("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");Ee("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var Jm=de((dne,BC)=>{"use strict";var C3=Object.freeze({loose:!0}),P3=Object.freeze({}),R3=e=>e?typeof e!="object"?C3:e:P3;BC.exports=R3});var Xb=de((pne,GC)=>{"use strict";var VC=/^[0-9]+$/,ZC=(e,t)=>{if(typeof e=="number"&&typeof t=="number")return e===t?0:e<t?-1:1;let r=VC.test(e),n=VC.test(t);return r&&n&&(e=+e,t=+t),e===t?0:r&&!n?-1:n&&!r?1:e<t?-1:1},N3=(e,t)=>ZC(t,e);GC.exports={compareIdentifiers:ZC,rcompareIdentifiers:N3}});var nr=de((fne,qC)=>{"use strict";var Xm=Rd(),{MAX_LENGTH:HC,MAX_SAFE_INTEGER:Ym}=Pd(),{safeRe:Qm,t:eh}=tu(),M3=Jm(),{compareIdentifiers:Yb}=Xb(),Qb=class e{constructor(t,r){if(r=M3(r),t instanceof e){if(t.loose===!!r.loose&&t.includePrerelease===!!r.includePrerelease)return t;t=t.version}else if(typeof t!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof t}".`);if(t.length>HC)throw new TypeError(`version is longer than ${HC} characters`);Xm("SemVer",t,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;let n=t.trim().match(r.loose?Qm[eh.LOOSE]:Qm[eh.FULL]);if(!n)throw new TypeError(`Invalid Version: ${t}`);if(this.raw=t,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>Ym||this.major<0)throw new TypeError("Invalid major version");if(this.minor>Ym||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>Ym||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map(i=>{if(/^[0-9]+$/.test(i)){let o=+i;if(o>=0&&o<Ym)return o}return i}):this.prerelease=[],this.build=n[5]?n[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(t){if(Xm("SemVer.compare",this.version,this.options,t),!(t instanceof e)){if(typeof t=="string"&&t===this.version)return 0;t=new e(t,this.options)}return t.version===this.version?0:this.compareMain(t)||this.comparePre(t)}compareMain(t){return t instanceof e||(t=new e(t,this.options)),this.major<t.major?-1:this.major>t.major?1:this.minor<t.minor?-1:this.minor>t.minor?1:this.patch<t.patch?-1:this.patch>t.patch?1:0}comparePre(t){if(t instanceof e||(t=new e(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let r=0;do{let n=this.prerelease[r],i=t.prerelease[r];if(Xm("prerelease compare",r,n,i),n===void 0&&i===void 0)return 0;if(i===void 0)return 1;if(n===void 0)return-1;if(n===i)continue;return Yb(n,i)}while(++r)}compareBuild(t){t instanceof e||(t=new e(t,this.options));let r=0;do{let n=this.build[r],i=t.build[r];if(Xm("build compare",r,n,i),n===void 0&&i===void 0)return 0;if(i===void 0)return 1;if(n===void 0)return-1;if(n===i)continue;return Yb(n,i)}while(++r)}inc(t,r,n){if(t.startsWith("pre")){if(!r&&n===!1)throw new Error("invalid increment argument: identifier is empty");if(r){let i=`-${r}`.match(this.options.loose?Qm[eh.PRERELEASELOOSE]:Qm[eh.PRERELEASE]);if(!i||i[1]!==r)throw new Error(`invalid identifier: ${r}`)}}switch(t){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",r,n);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",r,n);break;case"prepatch":this.prerelease.length=0,this.inc("patch",r,n),this.inc("pre",r,n);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",r,n),this.inc("pre",r,n);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let i=Number(n)?1:0;if(this.prerelease.length===0)this.prerelease=[i];else{let o=this.prerelease.length;for(;--o>=0;)typeof this.prerelease[o]=="number"&&(this.prerelease[o]++,o=-2);if(o===-1){if(r===this.prerelease.join(".")&&n===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(i)}}if(r){let o=[r,i];n===!1&&(o=[r]),Yb(this.prerelease[0],r)===0?isNaN(this.prerelease[1])&&(this.prerelease=o):this.prerelease=o}break}default:throw new Error(`invalid increment argument: ${t}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};qC.exports=Qb});var fs=de((mne,WC)=>{"use strict";var KC=nr(),j3=(e,t,r=!1)=>{if(e instanceof KC)return e;try{return new KC(e,t)}catch(n){if(!r)return null;throw n}};WC.exports=j3});var XC=de((hne,JC)=>{"use strict";var z3=fs(),D3=(e,t)=>{let r=z3(e,t);return r?r.version:null};JC.exports=D3});var QC=de((gne,YC)=>{"use strict";var L3=fs(),U3=(e,t)=>{let r=L3(e.trim().replace(/^[=v]+/,""),t);return r?r.version:null};YC.exports=U3});var rP=de((_ne,tP)=>{"use strict";var eP=nr(),F3=(e,t,r,n,i)=>{typeof r=="string"&&(i=n,n=r,r=void 0);try{return new eP(e instanceof eP?e.version:e,r).inc(t,n,i).version}catch{return null}};tP.exports=F3});var oP=de((yne,iP)=>{"use strict";var nP=fs(),B3=(e,t)=>{let r=nP(e,null,!0),n=nP(t,null,!0),i=r.compare(n);if(i===0)return null;let o=i>0,a=o?r:n,s=o?n:r,c=!!a.prerelease.length;if(!!s.prerelease.length&&!c){if(!s.patch&&!s.minor)return"major";if(s.compareMain(a)===0)return s.minor&&!s.patch?"minor":"patch"}let l=c?"pre":"";return r.major!==n.major?l+"major":r.minor!==n.minor?l+"minor":r.patch!==n.patch?l+"patch":"prerelease"};iP.exports=B3});var sP=de((vne,aP)=>{"use strict";var V3=nr(),Z3=(e,t)=>new V3(e,t).major;aP.exports=Z3});var uP=de((bne,cP)=>{"use strict";var G3=nr(),H3=(e,t)=>new G3(e,t).minor;cP.exports=H3});var dP=de((wne,lP)=>{"use strict";var q3=nr(),K3=(e,t)=>new q3(e,t).patch;lP.exports=K3});var fP=de((xne,pP)=>{"use strict";var W3=fs(),J3=(e,t)=>{let r=W3(e,t);return r&&r.prerelease.length?r.prerelease:null};pP.exports=J3});var hn=de((Ine,hP)=>{"use strict";var mP=nr(),X3=(e,t,r)=>new mP(e,r).compare(new mP(t,r));hP.exports=X3});var _P=de((Sne,gP)=>{"use strict";var Y3=hn(),Q3=(e,t,r)=>Y3(t,e,r);gP.exports=Q3});var vP=de((kne,yP)=>{"use strict";var eV=hn(),tV=(e,t)=>eV(e,t,!0);yP.exports=tV});var th=de((Ene,wP)=>{"use strict";var bP=nr(),rV=(e,t,r)=>{let n=new bP(e,r),i=new bP(t,r);return n.compare(i)||n.compareBuild(i)};wP.exports=rV});var IP=de(($ne,xP)=>{"use strict";var nV=th(),iV=(e,t)=>e.sort((r,n)=>nV(r,n,t));xP.exports=iV});var kP=de((Tne,SP)=>{"use strict";var oV=th(),aV=(e,t)=>e.sort((r,n)=>oV(n,r,t));SP.exports=aV});var Nd=de((Ane,EP)=>{"use strict";var sV=hn(),cV=(e,t,r)=>sV(e,t,r)>0;EP.exports=cV});var rh=de((One,$P)=>{"use strict";var uV=hn(),lV=(e,t,r)=>uV(e,t,r)<0;$P.exports=lV});var ew=de((Cne,TP)=>{"use strict";var dV=hn(),pV=(e,t,r)=>dV(e,t,r)===0;TP.exports=pV});var tw=de((Pne,AP)=>{"use strict";var fV=hn(),mV=(e,t,r)=>fV(e,t,r)!==0;AP.exports=mV});var nh=de((Rne,OP)=>{"use strict";var hV=hn(),gV=(e,t,r)=>hV(e,t,r)>=0;OP.exports=gV});var ih=de((Nne,CP)=>{"use strict";var _V=hn(),yV=(e,t,r)=>_V(e,t,r)<=0;CP.exports=yV});var rw=de((Mne,PP)=>{"use strict";var vV=ew(),bV=tw(),wV=Nd(),xV=nh(),IV=rh(),SV=ih(),kV=(e,t,r,n)=>{switch(t){case"===":return typeof e=="object"&&(e=e.version),typeof r=="object"&&(r=r.version),e===r;case"!==":return typeof e=="object"&&(e=e.version),typeof r=="object"&&(r=r.version),e!==r;case"":case"=":case"==":return vV(e,r,n);case"!=":return bV(e,r,n);case">":return wV(e,r,n);case">=":return xV(e,r,n);case"<":return IV(e,r,n);case"<=":return SV(e,r,n);default:throw new TypeError(`Invalid operator: ${t}`)}};PP.exports=kV});var NP=de((jne,RP)=>{"use strict";var EV=nr(),$V=fs(),{safeRe:oh,t:ah}=tu(),TV=(e,t)=>{if(e instanceof EV)return e;if(typeof e=="number"&&(e=String(e)),typeof e!="string")return null;t=t||{};let r=null;if(!t.rtl)r=e.match(t.includePrerelease?oh[ah.COERCEFULL]:oh[ah.COERCE]);else{let c=t.includePrerelease?oh[ah.COERCERTLFULL]:oh[ah.COERCERTL],u;for(;(u=c.exec(e))&&(!r||r.index+r[0].length!==e.length);)(!r||u.index+u[0].length!==r.index+r[0].length)&&(r=u),c.lastIndex=u.index+u[1].length+u[2].length;c.lastIndex=-1}if(r===null)return null;let n=r[2],i=r[3]||"0",o=r[4]||"0",a=t.includePrerelease&&r[5]?`-${r[5]}`:"",s=t.includePrerelease&&r[6]?`+${r[6]}`:"";return $V(`${n}.${i}.${o}${a}${s}`,t)};RP.exports=TV});var jP=de((zne,MP)=>{"use strict";var nw=class{constructor(){this.max=1e3,this.map=new Map}get(t){let r=this.map.get(t);if(r!==void 0)return this.map.delete(t),this.map.set(t,r),r}delete(t){return this.map.delete(t)}set(t,r){if(!this.delete(t)&&r!==void 0){if(this.map.size>=this.max){let i=this.map.keys().next().value;this.delete(i)}this.map.set(t,r)}return this}};MP.exports=nw});var gn=de((Dne,UP)=>{"use strict";var AV=/\s+/g,iw=class e{constructor(t,r){if(r=CV(r),t instanceof e)return t.loose===!!r.loose&&t.includePrerelease===!!r.includePrerelease?t:new e(t.raw,r);if(t instanceof ow)return this.raw=t.value,this.set=[[t]],this.formatted=void 0,this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=t.trim().replace(AV," "),this.set=this.raw.split("||").map(n=>this.parseRange(n.trim())).filter(n=>n.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let n=this.set[0];if(this.set=this.set.filter(i=>!DP(i[0])),this.set.length===0)this.set=[n];else if(this.set.length>1){for(let i of this.set)if(i.length===1&&DV(i[0])){this.set=[i];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let t=0;t<this.set.length;t++){t>0&&(this.formatted+="||");let r=this.set[t];for(let n=0;n<r.length;n++)n>0&&(this.formatted+=" "),this.formatted+=r[n].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(t){let n=((this.options.includePrerelease&&jV)|(this.options.loose&&zV))+":"+t,i=zP.get(n);if(i)return i;let o=this.options.loose,a=o?_r[ir.HYPHENRANGELOOSE]:_r[ir.HYPHENRANGE];t=t.replace(a,KV(this.options.includePrerelease)),ut("hyphen replace",t),t=t.replace(_r[ir.COMPARATORTRIM],RV),ut("comparator trim",t),t=t.replace(_r[ir.TILDETRIM],NV),ut("tilde trim",t),t=t.replace(_r[ir.CARETTRIM],MV),ut("caret trim",t);let s=t.split(" ").map(d=>LV(d,this.options)).join(" ").split(/\s+/).map(d=>qV(d,this.options));o&&(s=s.filter(d=>(ut("loose invalid filter",d,this.options),!!d.match(_r[ir.COMPARATORLOOSE])))),ut("range list",s);let c=new Map,u=s.map(d=>new ow(d,this.options));for(let d of u){if(DP(d))return[d];c.set(d.value,d)}c.size>1&&c.has("")&&c.delete("");let l=[...c.values()];return zP.set(n,l),l}intersects(t,r){if(!(t instanceof e))throw new TypeError("a Range is required");return this.set.some(n=>LP(n,r)&&t.set.some(i=>LP(i,r)&&n.every(o=>i.every(a=>o.intersects(a,r)))))}test(t){if(!t)return!1;if(typeof t=="string")try{t=new PV(t,this.options)}catch{return!1}for(let r=0;r<this.set.length;r++)if(WV(this.set[r],t,this.options))return!0;return!1}};UP.exports=iw;var OV=jP(),zP=new OV,CV=Jm(),ow=Md(),ut=Rd(),PV=nr(),{safeRe:_r,t:ir,comparatorTrimReplace:RV,tildeTrimReplace:NV,caretTrimReplace:MV}=tu(),{FLAG_INCLUDE_PRERELEASE:jV,FLAG_LOOSE:zV}=Pd(),DP=e=>e.value==="<0.0.0-0",DV=e=>e.value==="",LP=(e,t)=>{let r=!0,n=e.slice(),i=n.pop();for(;r&&n.length;)r=n.every(o=>i.intersects(o,t)),i=n.pop();return r},LV=(e,t)=>(e=e.replace(_r[ir.BUILD],""),ut("comp",e,t),e=BV(e,t),ut("caret",e),e=UV(e,t),ut("tildes",e),e=ZV(e,t),ut("xrange",e),e=HV(e,t),ut("stars",e),e),yr=e=>!e||e.toLowerCase()==="x"||e==="*",UV=(e,t)=>e.trim().split(/\s+/).map(r=>FV(r,t)).join(" "),FV=(e,t)=>{let r=t.loose?_r[ir.TILDELOOSE]:_r[ir.TILDE];return e.replace(r,(n,i,o,a,s)=>{ut("tilde",e,n,i,o,a,s);let c;return yr(i)?c="":yr(o)?c=`>=${i}.0.0 <${+i+1}.0.0-0`:yr(a)?c=`>=${i}.${o}.0 <${i}.${+o+1}.0-0`:s?(ut("replaceTilde pr",s),c=`>=${i}.${o}.${a}-${s} <${i}.${+o+1}.0-0`):c=`>=${i}.${o}.${a} <${i}.${+o+1}.0-0`,ut("tilde return",c),c})},BV=(e,t)=>e.trim().split(/\s+/).map(r=>VV(r,t)).join(" "),VV=(e,t)=>{ut("caret",e,t);let r=t.loose?_r[ir.CARETLOOSE]:_r[ir.CARET],n=t.includePrerelease?"-0":"";return e.replace(r,(i,o,a,s,c)=>{ut("caret",e,i,o,a,s,c);let u;return yr(o)?u="":yr(a)?u=`>=${o}.0.0${n} <${+o+1}.0.0-0`:yr(s)?o==="0"?u=`>=${o}.${a}.0${n} <${o}.${+a+1}.0-0`:u=`>=${o}.${a}.0${n} <${+o+1}.0.0-0`:c?(ut("replaceCaret pr",c),o==="0"?a==="0"?u=`>=${o}.${a}.${s}-${c} <${o}.${a}.${+s+1}-0`:u=`>=${o}.${a}.${s}-${c} <${o}.${+a+1}.0-0`:u=`>=${o}.${a}.${s}-${c} <${+o+1}.0.0-0`):(ut("no pr"),o==="0"?a==="0"?u=`>=${o}.${a}.${s}${n} <${o}.${a}.${+s+1}-0`:u=`>=${o}.${a}.${s}${n} <${o}.${+a+1}.0-0`:u=`>=${o}.${a}.${s} <${+o+1}.0.0-0`),ut("caret return",u),u})},ZV=(e,t)=>(ut("replaceXRanges",e,t),e.split(/\s+/).map(r=>GV(r,t)).join(" ")),GV=(e,t)=>{e=e.trim();let r=t.loose?_r[ir.XRANGELOOSE]:_r[ir.XRANGE];return e.replace(r,(n,i,o,a,s,c)=>{ut("xRange",e,n,i,o,a,s,c);let u=yr(o),l=u||yr(a),d=l||yr(s),f=d;return i==="="&&f&&(i=""),c=t.includePrerelease?"-0":"",u?i===">"||i==="<"?n="<0.0.0-0":n="*":i&&f?(l&&(a=0),s=0,i===">"?(i=">=",l?(o=+o+1,a=0,s=0):(a=+a+1,s=0)):i==="<="&&(i="<",l?o=+o+1:a=+a+1),i==="<"&&(c="-0"),n=`${i+o}.${a}.${s}${c}`):l?n=`>=${o}.0.0${c} <${+o+1}.0.0-0`:d&&(n=`>=${o}.${a}.0${c} <${o}.${+a+1}.0-0`),ut("xRange return",n),n})},HV=(e,t)=>(ut("replaceStars",e,t),e.trim().replace(_r[ir.STAR],"")),qV=(e,t)=>(ut("replaceGTE0",e,t),e.trim().replace(_r[t.includePrerelease?ir.GTE0PRE:ir.GTE0],"")),KV=e=>(t,r,n,i,o,a,s,c,u,l,d,f)=>(yr(n)?r="":yr(i)?r=`>=${n}.0.0${e?"-0":""}`:yr(o)?r=`>=${n}.${i}.0${e?"-0":""}`:a?r=`>=${r}`:r=`>=${r}${e?"-0":""}`,yr(u)?c="":yr(l)?c=`<${+u+1}.0.0-0`:yr(d)?c=`<${u}.${+l+1}.0-0`:f?c=`<=${u}.${l}.${d}-${f}`:e?c=`<${u}.${l}.${+d+1}-0`:c=`<=${c}`,`${r} ${c}`.trim()),WV=(e,t,r)=>{for(let n=0;n<e.length;n++)if(!e[n].test(t))return!1;if(t.prerelease.length&&!r.includePrerelease){for(let n=0;n<e.length;n++)if(ut(e[n].semver),e[n].semver!==ow.ANY&&e[n].semver.prerelease.length>0){let i=e[n].semver;if(i.major===t.major&&i.minor===t.minor&&i.patch===t.patch)return!0}return!1}return!0}});var Md=de((Lne,HP)=>{"use strict";var jd=Symbol("SemVer ANY"),cw=class e{static get ANY(){return jd}constructor(t,r){if(r=FP(r),t instanceof e){if(t.loose===!!r.loose)return t;t=t.value}t=t.trim().split(/\s+/).join(" "),sw("comparator",t,r),this.options=r,this.loose=!!r.loose,this.parse(t),this.semver===jd?this.value="":this.value=this.operator+this.semver.version,sw("comp",this)}parse(t){let r=this.options.loose?BP[VP.COMPARATORLOOSE]:BP[VP.COMPARATOR],n=t.match(r);if(!n)throw new TypeError(`Invalid comparator: ${t}`);this.operator=n[1]!==void 0?n[1]:"",this.operator==="="&&(this.operator=""),n[2]?this.semver=new ZP(n[2],this.options.loose):this.semver=jd}toString(){return this.value}test(t){if(sw("Comparator.test",t,this.options.loose),this.semver===jd||t===jd)return!0;if(typeof t=="string")try{t=new ZP(t,this.options)}catch{return!1}return aw(t,this.operator,this.semver,this.options)}intersects(t,r){if(!(t instanceof e))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new GP(t.value,r).test(this.value):t.operator===""?t.value===""?!0:new GP(this.value,r).test(t.semver):(r=FP(r),r.includePrerelease&&(this.value==="<0.0.0-0"||t.value==="<0.0.0-0")||!r.includePrerelease&&(this.value.startsWith("<0.0.0")||t.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&t.operator.startsWith(">")||this.operator.startsWith("<")&&t.operator.startsWith("<")||this.semver.version===t.semver.version&&this.operator.includes("=")&&t.operator.includes("=")||aw(this.semver,"<",t.semver,r)&&this.operator.startsWith(">")&&t.operator.startsWith("<")||aw(this.semver,">",t.semver,r)&&this.operator.startsWith("<")&&t.operator.startsWith(">")))}};HP.exports=cw;var FP=Jm(),{safeRe:BP,t:VP}=tu(),aw=rw(),sw=Rd(),ZP=nr(),GP=gn()});var zd=de((Une,qP)=>{"use strict";var JV=gn(),XV=(e,t,r)=>{try{t=new JV(t,r)}catch{return!1}return t.test(e)};qP.exports=XV});var WP=de((Fne,KP)=>{"use strict";var YV=gn(),QV=(e,t)=>new YV(e,t).set.map(r=>r.map(n=>n.value).join(" ").trim().split(" "));KP.exports=QV});var XP=de((Bne,JP)=>{"use strict";var eZ=nr(),tZ=gn(),rZ=(e,t,r)=>{let n=null,i=null,o=null;try{o=new tZ(t,r)}catch{return null}return e.forEach(a=>{o.test(a)&&(!n||i.compare(a)===-1)&&(n=a,i=new eZ(n,r))}),n};JP.exports=rZ});var QP=de((Vne,YP)=>{"use strict";var nZ=nr(),iZ=gn(),oZ=(e,t,r)=>{let n=null,i=null,o=null;try{o=new iZ(t,r)}catch{return null}return e.forEach(a=>{o.test(a)&&(!n||i.compare(a)===1)&&(n=a,i=new nZ(n,r))}),n};YP.exports=oZ});var rR=de((Zne,tR)=>{"use strict";var uw=nr(),aZ=gn(),eR=Nd(),sZ=(e,t)=>{e=new aZ(e,t);let r=new uw("0.0.0");if(e.test(r)||(r=new uw("0.0.0-0"),e.test(r)))return r;r=null;for(let n=0;n<e.set.length;++n){let i=e.set[n],o=null;i.forEach(a=>{let s=new uw(a.semver.version);switch(a.operator){case">":s.prerelease.length===0?s.patch++:s.prerelease.push(0),s.raw=s.format();case"":case">=":(!o||eR(s,o))&&(o=s);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${a.operator}`)}}),o&&(!r||eR(r,o))&&(r=o)}return r&&e.test(r)?r:null};tR.exports=sZ});var iR=de((Gne,nR)=>{"use strict";var cZ=gn(),uZ=(e,t)=>{try{return new cZ(e,t).range||"*"}catch{return null}};nR.exports=uZ});var sh=de((Hne,cR)=>{"use strict";var lZ=nr(),sR=Md(),{ANY:dZ}=sR,pZ=gn(),fZ=zd(),oR=Nd(),aR=rh(),mZ=ih(),hZ=nh(),gZ=(e,t,r,n)=>{e=new lZ(e,n),t=new pZ(t,n);let i,o,a,s,c;switch(r){case">":i=oR,o=mZ,a=aR,s=">",c=">=";break;case"<":i=aR,o=hZ,a=oR,s="<",c="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(fZ(e,t,n))return!1;for(let u=0;u<t.set.length;++u){let l=t.set[u],d=null,f=null;if(l.forEach(p=>{p.semver===dZ&&(p=new sR(">=0.0.0")),d=d||p,f=f||p,i(p.semver,d.semver,n)?d=p:a(p.semver,f.semver,n)&&(f=p)}),d.operator===s||d.operator===c||(!f.operator||f.operator===s)&&o(e,f.semver))return!1;if(f.operator===c&&a(e,f.semver))return!1}return!0};cR.exports=gZ});var lR=de((qne,uR)=>{"use strict";var _Z=sh(),yZ=(e,t,r)=>_Z(e,t,">",r);uR.exports=yZ});var pR=de((Kne,dR)=>{"use strict";var vZ=sh(),bZ=(e,t,r)=>vZ(e,t,"<",r);dR.exports=bZ});var hR=de((Wne,mR)=>{"use strict";var fR=gn(),wZ=(e,t,r)=>(e=new fR(e,r),t=new fR(t,r),e.intersects(t,r));mR.exports=wZ});var _R=de((Jne,gR)=>{"use strict";var xZ=zd(),IZ=hn();gR.exports=(e,t,r)=>{let n=[],i=null,o=null,a=e.sort((l,d)=>IZ(l,d,r));for(let l of a)xZ(l,t,r)?(o=l,i||(i=l)):(o&&n.push([i,o]),o=null,i=null);i&&n.push([i,null]);let s=[];for(let[l,d]of n)l===d?s.push(l):!d&&l===a[0]?s.push("*"):d?l===a[0]?s.push(`<=${d}`):s.push(`${l} - ${d}`):s.push(`>=${l}`);let c=s.join(" || "),u=typeof t.raw=="string"?t.raw:String(t);return c.length<u.length?c:t}});var IR=de((Xne,xR)=>{"use strict";var yR=gn(),dw=Md(),{ANY:lw}=dw,Dd=zd(),pw=hn(),SZ=(e,t,r={})=>{if(e===t)return!0;e=new yR(e,r),t=new yR(t,r);let n=!1;e:for(let i of e.set){for(let o of t.set){let a=EZ(i,o,r);if(n=n||a!==null,a)continue e}if(n)return!1}return!0},kZ=[new dw(">=0.0.0-0")],vR=[new dw(">=0.0.0")],EZ=(e,t,r)=>{if(e===t)return!0;if(e.length===1&&e[0].semver===lw){if(t.length===1&&t[0].semver===lw)return!0;r.includePrerelease?e=kZ:e=vR}if(t.length===1&&t[0].semver===lw){if(r.includePrerelease)return!0;t=vR}let n=new Set,i,o;for(let p of e)p.operator===">"||p.operator===">="?i=bR(i,p,r):p.operator==="<"||p.operator==="<="?o=wR(o,p,r):n.add(p.semver);if(n.size>1)return null;let a;if(i&&o){if(a=pw(i.semver,o.semver,r),a>0)return null;if(a===0&&(i.operator!==">="||o.operator!=="<="))return null}for(let p of n){if(i&&!Dd(p,String(i),r)||o&&!Dd(p,String(o),r))return null;for(let m of t)if(!Dd(p,String(m),r))return!1;return!0}let s,c,u,l,d=o&&!r.includePrerelease&&o.semver.prerelease.length?o.semver:!1,f=i&&!r.includePrerelease&&i.semver.prerelease.length?i.semver:!1;d&&d.prerelease.length===1&&o.operator==="<"&&d.prerelease[0]===0&&(d=!1);for(let p of t){if(l=l||p.operator===">"||p.operator===">=",u=u||p.operator==="<"||p.operator==="<=",i){if(f&&p.semver.prerelease&&p.semver.prerelease.length&&p.semver.major===f.major&&p.semver.minor===f.minor&&p.semver.patch===f.patch&&(f=!1),p.operator===">"||p.operator===">="){if(s=bR(i,p,r),s===p&&s!==i)return!1}else if(i.operator===">="&&!Dd(i.semver,String(p),r))return!1}if(o){if(d&&p.semver.prerelease&&p.semver.prerelease.length&&p.semver.major===d.major&&p.semver.minor===d.minor&&p.semver.patch===d.patch&&(d=!1),p.operator==="<"||p.operator==="<="){if(c=wR(o,p,r),c===p&&c!==o)return!1}else if(o.operator==="<="&&!Dd(o.semver,String(p),r))return!1}if(!p.operator&&(o||i)&&a!==0)return!1}return!(i&&u&&!o&&a!==0||o&&l&&!i&&a!==0||f||d)},bR=(e,t,r)=>{if(!e)return t;let n=pw(e.semver,t.semver,r);return n>0?e:n<0||t.operator===">"&&e.operator===">="?t:e},wR=(e,t,r)=>{if(!e)return t;let n=pw(e.semver,t.semver,r);return n<0?e:n>0||t.operator==="<"&&e.operator==="<="?t:e};xR.exports=SZ});var $R=de((Yne,ER)=>{"use strict";var fw=tu(),SR=Pd(),$Z=nr(),kR=Xb(),TZ=fs(),AZ=XC(),OZ=QC(),CZ=rP(),PZ=oP(),RZ=sP(),NZ=uP(),MZ=dP(),jZ=fP(),zZ=hn(),DZ=_P(),LZ=vP(),UZ=th(),FZ=IP(),BZ=kP(),VZ=Nd(),ZZ=rh(),GZ=ew(),HZ=tw(),qZ=nh(),KZ=ih(),WZ=rw(),JZ=NP(),XZ=Md(),YZ=gn(),QZ=zd(),e9=WP(),t9=XP(),r9=QP(),n9=rR(),i9=iR(),o9=sh(),a9=lR(),s9=pR(),c9=hR(),u9=_R(),l9=IR();ER.exports={parse:TZ,valid:AZ,clean:OZ,inc:CZ,diff:PZ,major:RZ,minor:NZ,patch:MZ,prerelease:jZ,compare:zZ,rcompare:DZ,compareLoose:LZ,compareBuild:UZ,sort:FZ,rsort:BZ,gt:VZ,lt:ZZ,eq:GZ,neq:HZ,gte:qZ,lte:KZ,cmp:WZ,coerce:JZ,Comparator:XZ,Range:YZ,satisfies:QZ,toComparators:e9,maxSatisfying:t9,minSatisfying:r9,minVersion:n9,validRange:i9,outside:o9,gtr:a9,ltr:s9,intersects:c9,simplifyRange:u9,subset:l9,SemVer:$Z,re:fw.re,src:fw.src,tokens:fw.t,SEMVER_SPEC_VERSION:SR.SEMVER_SPEC_VERSION,RELEASE_TYPES:SR.RELEASE_TYPES,compareIdentifiers:kR.compareIdentifiers,rcompareIdentifiers:kR.rcompareIdentifiers}});var WR=de((Zie,KR)=>{"use strict";var HR=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,qR=(e=0)=>(t,r,n)=>`\x1B[${38+e};2;${t};${r};${n}m`;function N9(){let e=new Map,t={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};t.color.gray=t.color.blackBright,t.bgColor.bgGray=t.bgColor.bgBlackBright,t.color.grey=t.color.blackBright,t.bgColor.bgGrey=t.bgColor.bgBlackBright;for(let[r,n]of Object.entries(t)){for(let[i,o]of Object.entries(n))t[i]={open:`\x1B[${o[0]}m`,close:`\x1B[${o[1]}m`},n[i]=t[i],e.set(o[0],o[1]);Object.defineProperty(t,r,{value:n,enumerable:!1})}return Object.defineProperty(t,"codes",{value:e,enumerable:!1}),t.color.close="\x1B[39m",t.bgColor.close="\x1B[49m",t.color.ansi256=HR(),t.color.ansi16m=qR(),t.bgColor.ansi256=HR(10),t.bgColor.ansi16m=qR(10),Object.defineProperties(t,{rgbToAnsi256:{value:(r,n,i)=>r===n&&n===i?r<8?16:r>248?231:Math.round((r-8)/247*24)+232:16+36*Math.round(r/255*5)+6*Math.round(n/255*5)+Math.round(i/255*5),enumerable:!1},hexToRgb:{value:r=>{let n=/(?<colorString>[a-f\d]{6}|[a-f\d]{3})/i.exec(r.toString(16));if(!n)return[0,0,0];let{colorString:i}=n.groups;i.length===3&&(i=i.split("").map(a=>a+a).join(""));let o=Number.parseInt(i,16);return[o>>16&255,o>>8&255,o&255]},enumerable:!1},hexToAnsi256:{value:r=>t.rgbToAnsi256(...t.hexToRgb(r)),enumerable:!1}}),t}Object.defineProperty(KR,"exports",{enumerable:!0,get:N9})});var nz=de(o_=>{"use strict";o_.byteLength=Dq;o_.toByteArray=Uq;o_.fromByteArray=Vq;var Mi=[],kn=[],zq=typeof Uint8Array<"u"?Uint8Array:Array,QS="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(qs=0,tz=QS.length;qs<tz;++qs)Mi[qs]=QS[qs],kn[QS.charCodeAt(qs)]=qs;var qs,tz;kn[45]=62;kn[95]=63;function rz(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");r===-1&&(r=t);var n=r===t?0:4-r%4;return[r,n]}function Dq(e){var t=rz(e),r=t[0],n=t[1];return(r+n)*3/4-n}function Lq(e,t,r){return(t+r)*3/4-r}function Uq(e){var t,r=rz(e),n=r[0],i=r[1],o=new zq(Lq(e,n,i)),a=0,s=i>0?n-4:n,c;for(c=0;c<s;c+=4)t=kn[e.charCodeAt(c)]<<18|kn[e.charCodeAt(c+1)]<<12|kn[e.charCodeAt(c+2)]<<6|kn[e.charCodeAt(c+3)],o[a++]=t>>16&255,o[a++]=t>>8&255,o[a++]=t&255;return i===2&&(t=kn[e.charCodeAt(c)]<<2|kn[e.charCodeAt(c+1)]>>4,o[a++]=t&255),i===1&&(t=kn[e.charCodeAt(c)]<<10|kn[e.charCodeAt(c+1)]<<4|kn[e.charCodeAt(c+2)]>>2,o[a++]=t>>8&255,o[a++]=t&255),o}function Fq(e){return Mi[e>>18&63]+Mi[e>>12&63]+Mi[e>>6&63]+Mi[e&63]}function Bq(e,t,r){for(var n,i=[],o=t;o<r;o+=3)n=(e[o]<<16&16711680)+(e[o+1]<<8&65280)+(e[o+2]&255),i.push(Fq(n));return i.join("")}function Vq(e){for(var t,r=e.length,n=r%3,i=[],o=16383,a=0,s=r-n;a<s;a+=o)i.push(Bq(e,a,a+o>s?s:a+o));return n===1?(t=e[r-1],i.push(Mi[t>>2]+Mi[t<<4&63]+"==")):n===2&&(t=(e[r-2]<<8)+e[r-1],i.push(Mi[t>>10]+Mi[t>>4&63]+Mi[t<<2&63]+"=")),i.join("")}});var Ye="__start__",it="__end__",di="__input__";var jc="__error__",Kf="__pregel_ns_writes",cn="__pregel_send",dd="__pregel_call",On="__pregel_read",Cn="__pregel_checkpointer",zc="__pregel_resuming",pd="__pregel_task_id",fd="__pregel_stream",Q6="__pregel_resume_value",Dc="__pregel_resume_map",Br="__pregel_scratchpad",Lc="__pregel_previous",eF="__pregel_durability",Wf="checkpoint_id",un="checkpoint_ns",DT="__pregel_node_finished",ln="checkpoint_map",LT="__pregel_abort_signals",ot="__interrupt__",Vr="__resume__",md="__no_writes__",Wo="__return__",rs="__previous__",Tt="langsmith:hidden";var Pv="__self__",pi="__pregel_tasks",dn="__pregel_push",Jf="__pregel_pull",Zr="00000000-0000-0000-0000-000000000000",UT=[Tt,di,ot,Vr,jc,md,cn,On,Cn,eF,fd,zc,pd,dd,Q6,Br,Lc,ln,un,Wf],Cv=Symbol.for("langgraph.command"),FT=class{[Cv];constructor(e){this[Cv]=e}};function Xf(e){let t=e;return t!=null&&typeof t.node=="string"&&t.args!==void 0}var ts=class{lg_name="Send";node;args;constructor(e,t){this.node=e,this.args=ld(t)}toJSON(){return{lg_name:this.lg_name,node:this.node,args:this.args}}};function At(e){return e instanceof ts}var Mc="__overwrite__",tF=class{lg_name="Overwrite";[Mc];constructor(e){this[Mc]=e}get value(){return this[Mc]}toJSON(){return{[Mc]:this[Mc]}}static isInstance(e){return!e||typeof e!="object"?!1:"__overwrite__"in e||"lg_name"in e&&e.lg_name==="Overwrite"}};function Yf(e){return typeof e=="object"&&e!==null&&"__overwrite__"in e?[!0,e[Mc]]:[!1,void 0]}function BT(e){return Yf(e)[0]}function hd(e){return!e||typeof e!="object"||!("__interrupt__"in e)?!1:Array.isArray(e[ot])}var Ar=class extends FT{lg_name="Command";lc_direct_tool_output=!0;graph;update;resume;goto=[];static PARENT="__parent__";constructor(e){super(e),this.resume=e.resume,this.graph=e.graph,this.update=e.update,e.goto&&(this.goto=Array.isArray(e.goto)?ld(e.goto):[ld(e.goto)])}_updateAsTuples(){return this.update&&typeof this.update=="object"&&!Array.isArray(this.update)?Object.entries(this.update):Array.isArray(this.update)&&this.update.every(e=>Array.isArray(e)&&e.length===2&&typeof e[0]=="string")?this.update:[["__root__",this.update]]}toJSON(){let e;return typeof this.goto=="string"?e=this.goto:At(this.goto)?e=this.goto.toJSON():e=this.goto?.map(t=>typeof t=="string"?t:t.toJSON()),{lg_name:this.lg_name,update:this.update,resume:this.resume,goto:e}}};function Nt(e){return typeof e!="object"||e==null?!1:"lg_name"in e&&e.lg_name==="Command"}function ld(e,t=new Map){if(e!=null&&typeof e=="object"){if(t.has(e))return t.get(e);let r;if(Array.isArray(e))r=[],t.set(e,r),e.forEach((n,i)=>{r[i]=ld(n,t)});else if(Nt(e)&&!(e instanceof Ar))r=new Ar(e),t.set(e,r);else if(Xf(e)&&!(e instanceof ts))r=new ts(e.node,e.args),t.set(e,r);else if(Nt(e)||At(e))r=e,t.set(e,r);else if("lc_serializable"in e&&e.lc_serializable)r=e,t.set(e,r);else{r={},t.set(e,r);for(let[n,i]of Object.entries(e))r[n]=ld(i,t)}return r}return e}var Qi=class extends Error{lc_error_code;constructor(e,t){let r=e??"";t?.lc_error_code&&(r=`${r}
|
|
3
3
|
|
|
4
4
|
Troubleshooting URL: https://docs.langchain.com/oss/javascript/langgraph/${t.lc_error_code}/
|
|
5
5
|
`),super(r),this.lc_error_code=t?.lc_error_code}},Rv=class extends Qi{get is_bubble_up(){return!0}},Nv=class extends Qi{constructor(e,t){super(e,t),this.name="GraphRecursionError"}static get unminifiable_name(){return"GraphRecursionError"}},ns=class extends Qi{constructor(e,t){super(e,t),this.name="GraphValueError"}static get unminifiable_name(){return"GraphValueError"}},eo=class extends Rv{interrupts;constructor(e,t){super(JSON.stringify(e,null,2),t),this.name="GraphInterrupt",this.interrupts=e??[]}static get unminifiable_name(){return"GraphInterrupt"}},Qf=class extends eo{constructor(e,t){super([{value:e}],t),this.name="NodeInterrupt"}static get unminifiable_name(){return"NodeInterrupt"}},em=class extends Rv{command;constructor(e){super(),this.name="ParentCommand",this.command=e}static get unminifiable_name(){return"ParentCommand"}};function Mv(e){return e!==void 0&&e.name===em.unminifiable_name}function is(e){return e!==void 0&&e.is_bubble_up===!0}function to(e){return e!==void 0&&[eo.unminifiable_name,Qf.unminifiable_name].includes(e.name)}var tm=class extends Qi{constructor(e,t){super(e,t),this.name="EmptyInputError"}static get unminifiable_name(){return"EmptyInputError"}},Ve=class extends Qi{constructor(e,t){super(e,t),this.name="EmptyChannelError"}static get unminifiable_name(){return"EmptyChannelError"}},Re=class extends Qi{constructor(e,t){super(e,t),this.name="InvalidUpdateError"}static get unminifiable_name(){return"InvalidUpdateError"}};var jv=class extends Qi{constructor(e,t){super(e,t),this.name="UnreachableNodeError"}static get unminifiable_name(){return"UnreachableNodeError"}};var gd=class extends Qi{constructor(e,t){super(e,t),this.name="StateGraphInputError",this.message="Invalid StateGraph input. Make sure to pass a valid StateDefinition, Annotation.Root, or Zod schema."}static get unminifiable_name(){return"StateGraphInputError"}};var VT=/^(?:[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 rF(e){return typeof e=="string"&&VT.test(e)}var Uc=rF;function nF(e){if(!Uc(e))throw TypeError("Invalid UUID");var t,r=new Uint8Array(16);return r[0]=(t=parseInt(e.slice(0,8),16))>>>24,r[1]=t>>>16&255,r[2]=t>>>8&255,r[3]=t&255,r[4]=(t=parseInt(e.slice(9,13),16))>>>8,r[5]=t&255,r[6]=(t=parseInt(e.slice(14,18),16))>>>8,r[7]=t&255,r[8]=(t=parseInt(e.slice(19,23),16))>>>8,r[9]=t&255,r[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,r[11]=t/4294967296&255,r[12]=t>>>24&255,r[13]=t>>>16&255,r[14]=t>>>8&255,r[15]=t&255,r}var rm=nF;var Kt=[];for(nm=0;nm<256;++nm)Kt.push((nm+256).toString(16).slice(1));var nm;function pn(e,t=0){return(Kt[e[t+0]]+Kt[e[t+1]]+Kt[e[t+2]]+Kt[e[t+3]]+"-"+Kt[e[t+4]]+Kt[e[t+5]]+"-"+Kt[e[t+6]]+Kt[e[t+7]]+"-"+Kt[e[t+8]]+Kt[e[t+9]]+"-"+Kt[e[t+10]]+Kt[e[t+11]]+Kt[e[t+12]]+Kt[e[t+13]]+Kt[e[t+14]]+Kt[e[t+15]]).toLowerCase()}var im,iF=new Uint8Array(16);function os(){if(!im&&(im=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!im))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return im(iF)}var zv,om,Dv=0,Lv=0;function oF(e,t,r){var n=t&&r||0,i=t||new Array(16);e=e||{};var o=e.node,a=e.clockseq;if(e._v6||(o||(o=zv),a==null&&(a=om)),o==null||a==null){var s=e.random||(e.rng||os)();o==null&&(o=[s[0],s[1],s[2],s[3],s[4],s[5]],!zv&&!e._v6&&(o[0]|=1,zv=o)),a==null&&(a=(s[6]<<8|s[7])&16383,om===void 0&&!e._v6&&(om=a))}var c=e.msecs!==void 0?e.msecs:Date.now(),u=e.nsecs!==void 0?e.nsecs:Lv+1,l=c-Dv+(u-Lv)/1e4;if(l<0&&e.clockseq===void 0&&(a=a+1&16383),(l<0||c>Dv)&&e.nsecs===void 0&&(u=0),u>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");Dv=c,Lv=u,om=a,c+=122192928e5;var d=((c&268435455)*1e4+u)%4294967296;i[n++]=d>>>24&255,i[n++]=d>>>16&255,i[n++]=d>>>8&255,i[n++]=d&255;var f=c/4294967296*1e4&268435455;i[n++]=f>>>8&255,i[n++]=f&255,i[n++]=f>>>24&15|16,i[n++]=f>>>16&255,i[n++]=a>>>8|128,i[n++]=a&255;for(var p=0;p<6;++p)i[n+p]=o[p];return t||pn(i)}var ZT=oF;function Uv(e){var t=typeof e=="string"?rm(e):e,r=aF(t);return typeof e=="string"?pn(r):r}function aF(e,t=!1){return Uint8Array.of((e[6]&15)<<4|e[7]>>4&15,(e[7]&15)<<4|(e[4]&240)>>4,(e[4]&15)<<4|(e[5]&240)>>4,(e[5]&15)<<4|(e[0]&240)>>4,(e[0]&15)<<4|(e[1]&240)>>4,(e[1]&15)<<4|(e[2]&240)>>4,96|e[2]&15,e[3],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])}function sF(e){e=unescape(encodeURIComponent(e));for(var t=[],r=0;r<e.length;++r)t.push(e.charCodeAt(r));return t}var cF="6ba7b810-9dad-11d1-80b4-00c04fd430c8",uF="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function Fv(e,t,r){function n(i,o,a,s){var c;if(typeof i=="string"&&(i=sF(i)),typeof o=="string"&&(o=rm(o)),((c=o)===null||c===void 0?void 0:c.length)!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");var u=new Uint8Array(16+i.length);if(u.set(o),u.set(i,o.length),u=r(u),u[6]=u[6]&15|t,u[8]=u[8]&63|128,a){s=s||0;for(var l=0;l<16;++l)a[s+l]=u[l];return a}return pn(u)}try{n.name=e}catch{}return n.DNS=cF,n.URL=uF,n}var lF=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),Bv={randomUUID:lF};function dF(e,t,r){if(Bv.randomUUID&&!t&&!e)return Bv.randomUUID();e=e||{};var n=e.random||(e.rng||os)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t){r=r||0;for(var i=0;i<16;++i)t[r+i]=n[i];return t}return pn(n)}var fi=dF;function pF(e,t,r,n){switch(e){case 0:return t&r^~t&n;case 1:return t^r^n;case 2:return t&r^t&n^r&n;case 3:return t^r^n}}function Vv(e,t){return e<<t|e>>>32-t}function fF(e){var t=[1518500249,1859775393,2400959708,3395469782],r=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof e=="string"){var n=unescape(encodeURIComponent(e));e=[];for(var i=0;i<n.length;++i)e.push(n.charCodeAt(i))}else Array.isArray(e)||(e=Array.prototype.slice.call(e));e.push(128);for(var o=e.length/4+2,a=Math.ceil(o/16),s=new Array(a),c=0;c<a;++c){for(var u=new Uint32Array(16),l=0;l<16;++l)u[l]=e[c*64+l*4]<<24|e[c*64+l*4+1]<<16|e[c*64+l*4+2]<<8|e[c*64+l*4+3];s[c]=u}s[a-1][14]=(e.length-1)*8/Math.pow(2,32),s[a-1][14]=Math.floor(s[a-1][14]),s[a-1][15]=(e.length-1)*8&4294967295;for(var d=0;d<a;++d){for(var f=new Uint32Array(80),p=0;p<16;++p)f[p]=s[d][p];for(var m=16;m<80;++m)f[m]=Vv(f[m-3]^f[m-8]^f[m-14]^f[m-16],1);for(var h=r[0],w=r[1],_=r[2],y=r[3],x=r[4],S=0;S<80;++S){var $=Math.floor(S/20),j=Vv(h,5)+pF($,w,_,y)+x+t[$]+f[S]>>>0;x=y,y=_,_=Vv(w,30)>>>0,w=h,h=j}r[0]=r[0]+h>>>0,r[1]=r[1]+w>>>0,r[2]=r[2]+_>>>0,r[3]=r[3]+y>>>0,r[4]=r[4]+x>>>0}return[r[0]>>24&255,r[0]>>16&255,r[0]>>8&255,r[0]&255,r[1]>>24&255,r[1]>>16&255,r[1]>>8&255,r[1]&255,r[2]>>24&255,r[2]>>16&255,r[2]>>8&255,r[2]&255,r[3]>>24&255,r[3]>>16&255,r[3]>>8&255,r[3]&255,r[4]>>24&255,r[4]>>16&255,r[4]>>8&255,r[4]&255]}var GT=fF;var mF=Fv("v5",80,GT),_d=mF;function HT(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function qT(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?HT(Object(r),!0).forEach(function(n){hF(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):HT(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function hF(e,t,r){return(t=gF(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function gF(e){var t=_F(e,"string");return typeof t=="symbol"?t:t+""}function _F(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function am(e={},t,r=0){var n=ZT(qT(qT({},e),{},{_v6:!0}),new Uint8Array(16));if(n=Uv(n),t){for(var i=0;i<16;i++)t[r+i]=n[i];return t}return pn(n)}var KT=null,WT=null,Pn=0;function yF(e,t,r){e=e||{};var n=t&&r||0,i=t||new Uint8Array(16),o=e.random||(e.rng||os)(),a=e.msecs!==void 0?e.msecs:Date.now(),s=e.seq!==void 0?e.seq:null,c=WT,u=KT;return a>Pn&&e.msecs===void 0&&(Pn=a,s!==null&&(c=null,u=null)),s!==null&&(s>2147483647&&(s=2147483647),c=s>>>19&4095,u=s&524287),(c===null||u===null)&&(c=o[6]&127,c=c<<8|o[7],u=o[8]&63,u=u<<8|o[9],u=u<<5|o[10]>>>3),a+1e4>Pn&&s===null?++u>524287&&(u=0,++c>4095&&(c=0,Pn++)):Pn=a,WT=c,KT=u,i[n++]=Pn/1099511627776&255,i[n++]=Pn/4294967296&255,i[n++]=Pn/16777216&255,i[n++]=Pn/65536&255,i[n++]=Pn/256&255,i[n++]=Pn&255,i[n++]=c>>>4&15|112,i[n++]=c&255,i[n++]=u>>>13&63|128,i[n++]=u>>>5&255,i[n++]=u<<3&255|o[10]&7,i[n++]=o[11],i[n++]=o[12],i[n++]=o[13],i[n++]=o[14],i[n++]=o[15],t||pn(i)}var yd=yF;function vd(e){return am({clockseq:e})}function ro(e,t){let r=t.replace(/-/g,"").match(/.{2}/g).map(n=>parseInt(n,16));return _d(e,new Uint8Array(r))}var bd="__pregel_tasks",Zv="__error__",as="__scheduled__",Gv="__interrupt__",Hv="__resume__";var JT="[...]",bF="[Circular]",sm=[],Fc=[];function wF(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function XT(e,t,r,n){typeof n>"u"&&(n=wF()),Kv(e,"",0,[],void 0,0,n);var i;try{Fc.length===0?i=JSON.stringify(e,t,r):i=JSON.stringify(e,xF(t),r)}catch{return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;sm.length!==0;){var o=sm.pop();o.length===4?Object.defineProperty(o[0],o[1],o[3]):o[0][o[1]]=o[2]}}return i}function qv(e,t,r,n){var i=Object.getOwnPropertyDescriptor(n,r);i.get!==void 0?i.configurable?(Object.defineProperty(n,r,{value:e}),sm.push([n,r,t,i])):Fc.push([t,r,e]):(n[r]=e,sm.push([n,r,t]))}function Kv(e,t,r,n,i,o,a){o+=1;var s;if(typeof e=="object"&&e!==null){for(s=0;s<n.length;s++)if(n[s]===e){qv(bF,e,t,i);return}if(typeof a.depthLimit<"u"&&o>a.depthLimit){qv(JT,e,t,i);return}if(typeof a.edgesLimit<"u"&&r+1>a.edgesLimit){qv(JT,e,t,i);return}if(n.push(e),Array.isArray(e))for(s=0;s<e.length;s++)Kv(e[s],s,s,n,e,o,a);else{var c=Object.keys(e);for(s=0;s<c.length;s++){var u=c[s];Kv(e[u],u,s,n,e,o,a)}}n.pop()}}function xF(e){return e=typeof e<"u"?e:function(t,r){return r},function(t,r){if(Fc.length>0)for(var n=0;n<Fc.length;n++){var i=Fc[n];if(i[1]===t&&i[0]===r){r=i[2],Fc.splice(n,1);break}}return e.call(this,t,r)}}var sA=Ko(QT(),1),cA=Ko(aA(),1);function uA(e,t){return t?.[e]||(0,sA.default)(e)}function lA(e,t){return t?.[e]||(0,cA.default)(e)}function cm(e,t,r){let n={};for(let i in e)Object.hasOwn(e,i)&&(n[t(i,r)]=e[i]);return n}var dA="__lc_escaped__";function AF(e){return"lc"in e||Object.keys(e).length===1&&"__lc_escaped__"in e}function OF(e){return{[dA]:e}}function Jv(e){return Object.keys(e).length===1&&"__lc_escaped__"in e}function CF(e){return e!==null&&typeof e=="object"&&"lc_serializable"in e&&typeof e.toJSON=="function"}function PF(e){let t;return e!==null&&typeof e=="object"?"lc_id"in e&&Array.isArray(e.lc_id)?t=e.lc_id:t=[e.constructor?.name??"Object"]:t=[typeof e],{lc:1,type:"not_implemented",id:t}}function um(e,t=new WeakSet){if(e!==null&&typeof e=="object"&&!Array.isArray(e)){if(t.has(e))return PF(e);if(CF(e))return e;t.add(e);let r=e;if(AF(r))return t.delete(e),OF(r);let n={};for(let[i,o]of Object.entries(r))n[i]=um(o,t);return t.delete(e),n}return Array.isArray(e)?e.map(r=>um(r,t)):e}function lm(e){if(e!==null&&typeof e=="object"&&!Array.isArray(e)){let t=e;if(Jv(t))return t[dA];let r={};for(let[n,i]of Object.entries(t))r[n]=lm(i);return r}return Array.isArray(e)?e.map(t=>lm(t)):e}var pA=Object.defineProperty,P=(e,t)=>{let r={};for(var n in e)pA(r,n,{get:e[n],enumerable:!0});return t||pA(r,Symbol.toStringTag,{value:"Module"}),r};var mA=P({Serializable:()=>kt,get_lc_unique_name:()=>Bc});function fA(e){return Array.isArray(e)?[...e]:{...e}}function RF(e,t){let r=fA(e);for(let[n,i]of Object.entries(t)){let[o,...a]=n.split(".").reverse(),s=r;for(let c of a.reverse()){if(s[c]===void 0)break;s[c]=fA(s[c]),s=s[c]}s[o]!==void 0&&(s[o]={lc:1,type:"secret",id:[i]})}return r}function Bc(e){let t=Object.getPrototypeOf(e);return typeof e.lc_name=="function"&&(typeof t.lc_name!="function"||e.lc_name()!==t.lc_name())?e.lc_name():e.name}var kt=class hA{lc_serializable=!1;lc_kwargs;static lc_name(){return this.name}get lc_id(){return[...this.lc_namespace,Bc(this.constructor)]}get lc_secrets(){}get lc_attributes(){}get lc_aliases(){}get lc_serializable_keys(){}constructor(t,...r){this.lc_serializable_keys!==void 0?this.lc_kwargs=Object.fromEntries(Object.entries(t||{}).filter(([n])=>this.lc_serializable_keys?.includes(n))):this.lc_kwargs=t??{}}toJSON(){if(!this.lc_serializable)return this.toJSONNotImplemented();if(this.lc_kwargs instanceof hA||typeof this.lc_kwargs!="object"||Array.isArray(this.lc_kwargs))return this.toJSONNotImplemented();let t={},r={},n=Object.keys(this.lc_kwargs).reduce((s,c)=>(s[c]=c in this?this[c]:this.lc_kwargs[c],s),{});for(let s=Object.getPrototypeOf(this);s;s=Object.getPrototypeOf(s))Object.assign(t,Reflect.get(s,"lc_aliases",this)),Object.assign(r,Reflect.get(s,"lc_secrets",this)),Object.assign(n,Reflect.get(s,"lc_attributes",this));Object.keys(r).forEach(s=>{let c=this,u=n,[l,...d]=s.split(".").reverse();for(let f of d.reverse()){if(!(f in c)||c[f]===void 0)return;(!(f in u)||u[f]===void 0)&&(typeof c[f]=="object"&&c[f]!=null?u[f]={}:Array.isArray(c[f])&&(u[f]=[])),c=c[f],u=u[f]}l in c&&c[l]!==void 0&&(u[l]=u[l]||c[l])});let i={},o=new WeakSet;o.add(this);for(let[s,c]of Object.entries(n))i[s]=um(c,o);let a=cm(Object.keys(r).length?RF(i,r):i,uA,t);return{lc:1,type:"constructor",id:this.lc_id,kwargs:a}}toJSONNotImplemented(){return{lc:1,type:"not_implemented",id:this.lc_id}}};var gA=P({getEnv:()=>pm,getEnvironmentVariable:()=>et,getRuntimeEnvironment:()=>Yv,isBrowser:()=>_A,isDeno:()=>dm,isJsDom:()=>vA,isNode:()=>bA,isWebWorker:()=>yA}),_A=()=>typeof window<"u"&&typeof window.document<"u",yA=()=>typeof globalThis=="object"&&globalThis.constructor&&globalThis.constructor.name==="DedicatedWorkerGlobalScope",vA=()=>typeof window<"u"&&window.name==="nodejs"||typeof navigator<"u"&&navigator.userAgent.includes("jsdom"),dm=()=>typeof Deno<"u",bA=()=>typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"&&!dm(),pm=()=>{let e;return _A()?e="browser":bA()?e="node":yA()?e="webworker":vA()?e="jsdom":dm()?e="deno":e="other",e},Xv;function Yv(){return Xv===void 0&&(Xv={library:"langchain-js",runtime:pm()}),Xv}function et(e){try{return typeof process<"u"?process.env?.[e]:dm()?Deno?.env.get(e):void 0}catch{return}}var wA=[];var xA=P({});var IA=P({});var oe="0123456789abcdef".split(""),NF=[-2147483648,8388608,32768,128],Rn=[24,16,8,0],fm=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],Ft=[];function Nn(e,t){t?(Ft[0]=Ft[16]=Ft[1]=Ft[2]=Ft[3]=Ft[4]=Ft[5]=Ft[6]=Ft[7]=Ft[8]=Ft[9]=Ft[10]=Ft[11]=Ft[12]=Ft[13]=Ft[14]=Ft[15]=0,this.blocks=Ft):this.blocks=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],e?(this.h0=3238371032,this.h1=914150663,this.h2=812702999,this.h3=4144912697,this.h4=4290775857,this.h5=1750603025,this.h6=1694076839,this.h7=3204075428):(this.h0=1779033703,this.h1=3144134277,this.h2=1013904242,this.h3=2773480762,this.h4=1359893119,this.h5=2600822924,this.h6=528734635,this.h7=1541459225),this.block=this.start=this.bytes=this.hBytes=0,this.finalized=this.hashed=!1,this.first=!0,this.is224=e}Nn.prototype.update=function(e){if(!this.finalized){var t,r=typeof e;if(r!=="string"){if(r==="object"){if(e===null)throw new Error(ERROR);if(ARRAY_BUFFER&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!Array.isArray(e)&&(!ARRAY_BUFFER||!ArrayBuffer.isView(e)))throw new Error(ERROR)}else throw new Error(ERROR);t=!0}for(var n,i=0,o,a=e.length,s=this.blocks;i<a;){if(this.hashed&&(this.hashed=!1,s[0]=this.block,this.block=s[16]=s[1]=s[2]=s[3]=s[4]=s[5]=s[6]=s[7]=s[8]=s[9]=s[10]=s[11]=s[12]=s[13]=s[14]=s[15]=0),t)for(o=this.start;i<a&&o<64;++i)s[o>>>2]|=e[i]<<Rn[o++&3];else for(o=this.start;i<a&&o<64;++i)n=e.charCodeAt(i),n<128?s[o>>>2]|=n<<Rn[o++&3]:n<2048?(s[o>>>2]|=(192|n>>>6)<<Rn[o++&3],s[o>>>2]|=(128|n&63)<<Rn[o++&3]):n<55296||n>=57344?(s[o>>>2]|=(224|n>>>12)<<Rn[o++&3],s[o>>>2]|=(128|n>>>6&63)<<Rn[o++&3],s[o>>>2]|=(128|n&63)<<Rn[o++&3]):(n=65536+((n&1023)<<10|e.charCodeAt(++i)&1023),s[o>>>2]|=(240|n>>>18)<<Rn[o++&3],s[o>>>2]|=(128|n>>>12&63)<<Rn[o++&3],s[o>>>2]|=(128|n>>>6&63)<<Rn[o++&3],s[o>>>2]|=(128|n&63)<<Rn[o++&3]);this.lastByteIndex=o,this.bytes+=o-this.start,o>=64?(this.block=s[16],this.start=o-64,this.hash(),this.hashed=!0):this.start=o}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this}};Nn.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var e=this.blocks,t=this.lastByteIndex;e[16]=this.block,e[t>>>2]|=NF[t&3],this.block=e[16],t>=56&&(this.hashed||this.hash(),e[0]=this.block,e[16]=e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=e[7]=e[8]=e[9]=e[10]=e[11]=e[12]=e[13]=e[14]=e[15]=0),e[14]=this.hBytes<<3|this.bytes>>>29,e[15]=this.bytes<<3,this.hash()}};Nn.prototype.hash=function(){var e=this.h0,t=this.h1,r=this.h2,n=this.h3,i=this.h4,o=this.h5,a=this.h6,s=this.h7,c=this.blocks,u,l,d,f,p,m,h,w,_,y,x;for(u=16;u<64;++u)p=c[u-15],l=(p>>>7|p<<25)^(p>>>18|p<<14)^p>>>3,p=c[u-2],d=(p>>>17|p<<15)^(p>>>19|p<<13)^p>>>10,c[u]=c[u-16]+l+c[u-7]+d<<0;for(x=t&r,u=0;u<64;u+=4)this.first?(this.is224?(w=300032,p=c[0]-1413257819,s=p-150054599<<0,n=p+24177077<<0):(w=704751109,p=c[0]-210244248,s=p-1521486534<<0,n=p+143694565<<0),this.first=!1):(l=(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10),d=(i>>>6|i<<26)^(i>>>11|i<<21)^(i>>>25|i<<7),w=e&t,f=w^e&r^x,h=i&o^~i&a,p=s+d+h+fm[u]+c[u],m=l+f,s=n+p<<0,n=p+m<<0),l=(n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10),d=(s>>>6|s<<26)^(s>>>11|s<<21)^(s>>>25|s<<7),_=n&e,f=_^n&t^w,h=a&s^~a&i,p=o+d+h+fm[u+1]+c[u+1],m=l+f,a=r+p<<0,r=p+m<<0,l=(r>>>2|r<<30)^(r>>>13|r<<19)^(r>>>22|r<<10),d=(a>>>6|a<<26)^(a>>>11|a<<21)^(a>>>25|a<<7),y=r&n,f=y^r&e^_,h=o&a^~o&s,p=i+d+h+fm[u+2]+c[u+2],m=l+f,o=t+p<<0,t=p+m<<0,l=(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10),d=(o>>>6|o<<26)^(o>>>11|o<<21)^(o>>>25|o<<7),x=t&r,f=x^t&n^y,h=o&a^~o&s,p=i+d+h+fm[u+3]+c[u+3],m=l+f,i=e+p<<0,e=p+m<<0,this.chromeBugWorkAround=!0;this.h0=this.h0+e<<0,this.h1=this.h1+t<<0,this.h2=this.h2+r<<0,this.h3=this.h3+n<<0,this.h4=this.h4+i<<0,this.h5=this.h5+o<<0,this.h6=this.h6+a<<0,this.h7=this.h7+s<<0};Nn.prototype.hex=function(){this.finalize();var e=this.h0,t=this.h1,r=this.h2,n=this.h3,i=this.h4,o=this.h5,a=this.h6,s=this.h7,c=oe[e>>>28&15]+oe[e>>>24&15]+oe[e>>>20&15]+oe[e>>>16&15]+oe[e>>>12&15]+oe[e>>>8&15]+oe[e>>>4&15]+oe[e&15]+oe[t>>>28&15]+oe[t>>>24&15]+oe[t>>>20&15]+oe[t>>>16&15]+oe[t>>>12&15]+oe[t>>>8&15]+oe[t>>>4&15]+oe[t&15]+oe[r>>>28&15]+oe[r>>>24&15]+oe[r>>>20&15]+oe[r>>>16&15]+oe[r>>>12&15]+oe[r>>>8&15]+oe[r>>>4&15]+oe[r&15]+oe[n>>>28&15]+oe[n>>>24&15]+oe[n>>>20&15]+oe[n>>>16&15]+oe[n>>>12&15]+oe[n>>>8&15]+oe[n>>>4&15]+oe[n&15]+oe[i>>>28&15]+oe[i>>>24&15]+oe[i>>>20&15]+oe[i>>>16&15]+oe[i>>>12&15]+oe[i>>>8&15]+oe[i>>>4&15]+oe[i&15]+oe[o>>>28&15]+oe[o>>>24&15]+oe[o>>>20&15]+oe[o>>>16&15]+oe[o>>>12&15]+oe[o>>>8&15]+oe[o>>>4&15]+oe[o&15]+oe[a>>>28&15]+oe[a>>>24&15]+oe[a>>>20&15]+oe[a>>>16&15]+oe[a>>>12&15]+oe[a>>>8&15]+oe[a>>>4&15]+oe[a&15];return this.is224||(c+=oe[s>>>28&15]+oe[s>>>24&15]+oe[s>>>20&15]+oe[s>>>16&15]+oe[s>>>12&15]+oe[s>>>8&15]+oe[s>>>4&15]+oe[s&15]),c};Nn.prototype.toString=Nn.prototype.hex;Nn.prototype.digest=function(){this.finalize();var e=this.h0,t=this.h1,r=this.h2,n=this.h3,i=this.h4,o=this.h5,a=this.h6,s=this.h7,c=[e>>>24&255,e>>>16&255,e>>>8&255,e&255,t>>>24&255,t>>>16&255,t>>>8&255,t&255,r>>>24&255,r>>>16&255,r>>>8&255,r&255,n>>>24&255,n>>>16&255,n>>>8&255,n&255,i>>>24&255,i>>>16&255,i>>>8&255,i&255,o>>>24&255,o>>>16&255,o>>>8&255,o&255,a>>>24&255,a>>>16&255,a>>>8&255,a&255];return this.is224||c.push(s>>>24&255,s>>>16&255,s>>>8&255,s&255),c};Nn.prototype.array=Nn.prototype.digest;Nn.prototype.arrayBuffer=function(){this.finalize();var e=new ArrayBuffer(this.is224?28:32),t=new DataView(e);return t.setUint32(0,this.h0),t.setUint32(4,this.h1),t.setUint32(8,this.h2),t.setUint32(12,this.h3),t.setUint32(16,this.h4),t.setUint32(20,this.h5),t.setUint32(24,this.h6),this.is224||t.setUint32(28,this.h7),e};var Vc=(...e)=>new Nn(!1,!0).update(e.join("")).hex();var SA=P({sha256:()=>Vc});function kA(e){let t=Symbol.for(e);return{brand(r,n){let i=n?Symbol.for(`${e}.${n}`):t;class o extends r{[i]=!0;constructor(...s){super(...s)}static isInstance(s){return typeof s=="object"&&s!==null&&i in s&&s[i]===!0}}return Object.defineProperty(o,"name",{value:r.name}),o},sub(r){return kA(`${e}.${r}`)},isInstance(r){return typeof r=="object"&&r!==null&&t in r&&r[t]===!0}}}var EA=kA("langchain");var $A=P({ContextOverflowError:()=>eb,LangChainError:()=>Qv,ModelAbortError:()=>hm,addLangChainErrorFields:()=>no,ns:()=>mm});function no(e,t){return e.lc_error_code=t,e.message=`${e.message}
|
|
@@ -15,10 +15,10 @@ Right ${t}`)}}var fr=class BA extends tt{static isInstance(t){if(!super.isInstan
|
|
|
15
15
|
`)&&(n=n.substring(1));let i=n.indexOf("```"),o=n;return i!==-1&&(o=n.substring(0,i)),t(o.trim())}function GF(e){try{return JSON.parse(e)}catch{}let t=e.trim();if(t.length===0)throw new Error("Unexpected end of JSON input");let r=0;function n(){for(;r<t.length&&/\s/.test(t[r]);)r+=1}function i(){if(t[r]!=='"')throw new Error(`Expected '"' at position ${r}, got '${t[r]}'`);r+=1;let l="",d=!1;for(;r<t.length;){let f=t[r];if(d){if(f==="n")l+=`
|
|
16
16
|
`;else if(f==="t")l+=" ";else if(f==="r")l+="\r";else if(f==="\\")l+="\\";else if(f==='"')l+='"';else if(f==="b")l+="\b";else if(f==="f")l+="\f";else if(f==="/")l+="/";else if(f==="u"){let p=t.substring(r+1,r+5);if(/^[0-9A-Fa-f]{0,4}$/.test(p))p.length===4?l+=String.fromCharCode(Number.parseInt(p,16)):l+=`u${p}`,r+=p.length;else throw new Error(`Invalid unicode escape sequence '\\u${p}' at position ${r}`)}else throw new Error(`Invalid escape sequence '\\${f}' at position ${r}`);d=!1}else if(f==="\\")d=!0;else{if(f==='"')return r+=1,l;l+=f}r+=1}return d&&(l+="\\"),l}function o(){let l=r,d="";if(t[r]==="-"&&(d+="-",r+=1),r<t.length&&t[r]==="0"&&(d+="0",r+=1,t[r]>="0"&&t[r]<="9"))throw new Error(`Invalid number at position ${l}`);if(r<t.length&&t[r]>="1"&&t[r]<="9")for(;r<t.length&&t[r]>="0"&&t[r]<="9";)d+=t[r],r+=1;if(r<t.length&&t[r]===".")for(d+=".",r+=1;r<t.length&&t[r]>="0"&&t[r]<="9";)d+=t[r],r+=1;if(r<t.length&&(t[r]==="e"||t[r]==="E"))for(d+=t[r],r+=1,r<t.length&&(t[r]==="+"||t[r]==="-")&&(d+=t[r],r+=1);r<t.length&&t[r]>="0"&&t[r]<="9";)d+=t[r],r+=1;if(d==="-")return-0;let f=Number.parseFloat(d);if(Number.isNaN(f))throw r=l,new Error(`Invalid number '${d}' at position ${l}`);return f}function a(){if(n(),r>=t.length)throw new Error(`Unexpected end of input at position ${r}`);let l=t[r];if(l==="{")return c();if(l==="[")return s();if(l==='"')return i();if("null".startsWith(t.substring(r,r+4)))return r+=Math.min(4,t.length-r),null;if("true".startsWith(t.substring(r,r+4)))return r+=Math.min(4,t.length-r),!0;if("false".startsWith(t.substring(r,r+5)))return r+=Math.min(5,t.length-r),!1;if(l==="-"||l>="0"&&l<="9")return o();throw new Error(`Unexpected character '${l}' at position ${r}`)}function s(){if(t[r]!=="[")throw new Error(`Expected '[' at position ${r}, got '${t[r]}'`);let l=[];if(r+=1,n(),r>=t.length)return l;if(t[r]==="]")return r+=1,l;for(;r<t.length;){if(n(),r>=t.length||(l.push(a()),n(),r>=t.length))return l;if(t[r]==="]")return r+=1,l;if(t[r]===","){r+=1;continue}throw new Error(`Expected ',' or ']' at position ${r}, got '${t[r]}'`)}return l}function c(){if(t[r]!=="{")throw new Error(`Expected '{' at position ${r}, got '${t[r]}'`);let l={};if(r+=1,n(),r>=t.length)return l;if(t[r]==="}")return r+=1,l;for(;r<t.length;){if(n(),r>=t.length)return l;let d=i();if(n(),r>=t.length)return l;if(t[r]!==":")throw new Error(`Expected ':' at position ${r}, got '${t[r]}'`);if(r+=1,n(),r>=t.length||(l[d]=a(),n(),r>=t.length))return l;if(t[r]==="}")return r+=1,l;if(t[r]===","){r+=1;continue}throw new Error(`Expected ',' or '}' at position ${r}, got '${t[r]}'`)}return l}let u=a();if(n(),r<t.length)throw new Error(`Unexpected character '${t[r]}' at position ${r}`);return u}function mi(e){try{return typeof e>"u"?null:GF(e)}catch{return null}}function ob(e){switch(e){case"csv":return"text/csv";case"doc":return"application/vnd.openxmlformats-officedocument.wordprocessingml.document";case"docx":return"application/vnd.openxmlformats-officedocument.wordprocessingml.document";case"html":return"text/html";case"md":return"text/markdown";case"pdf":return"application/pdf";case"txt":return"text/plain";case"xls":return"application/vnd.ms-excel";case"xlsx":return"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";case"gif":return"image/gif";case"jpeg":return"image/jpeg";case"jpg":return"image/jpeg";case"png":return"image/png";case"webp":return"image/webp";case"flv":return"video/flv";case"mkv":return"video/mkv";case"mov":return"video/mov";case"mp4":return"video/mp4";case"mpeg":return"video/mpeg";case"mpg":return"video/mpg";case"three_gp":return"video/three_gp";case"webm":return"video/webm";case"wmv":return"video/wmv";default:return"application/octet-stream"}}function HF(e){if(ce(e.document)&&ce(e.document.source)){let t=ob(ce(e.document)&&D(e.document.format)?e.document.format:"");if(ce(e.document.source)){if(ce(e.document.source.s3Location)&&D(e.document.source.s3Location.uri))return{type:"file",mimeType:t,fileId:e.document.source.s3Location.uri};if(ym(e.document.source.bytes))return{type:"file",mimeType:t,data:e.document.source.bytes};if(D(e.document.source.text))return{type:"file",mimeType:t,data:Buffer.from(e.document.source.text).toString("base64")};if(Mt(e.document.source.content))return{type:"file",mimeType:t,data:e.document.source.content.reduce((r,n)=>ce(n)&&D(n.text)?r+n.text:r,"")}}}return{type:"non_standard",value:e}}function qF(e){if(Y(e,"image")&&ce(e.image)){let t=ob(ce(e.image)&&D(e.image.format)?e.image.format:"");if(ce(e.image.source)){if(ce(e.image.source.s3Location)&&D(e.image.source.s3Location.uri))return{type:"image",mimeType:t,fileId:e.image.source.s3Location.uri};if(ym(e.image.source.bytes))return{type:"image",mimeType:t,data:e.image.source.bytes}}}return{type:"non_standard",value:e}}function KF(e){if(Y(e,"video")&&ce(e.video)){let t=ob(ce(e.video)&&D(e.video.format)?e.video.format:"");if(ce(e.video.source)){if(ce(e.video.source.s3Location)&&D(e.video.source.s3Location.uri))return{type:"video",mimeType:t,fileId:e.video.source.s3Location.uri};if(ym(e.video.source.bytes))return{type:"video",mimeType:t,data:e.video.source.bytes}}}return{type:"non_standard",value:e}}function GA(e){function*t(){let r=typeof e.content=="string"?[{type:"text",text:e.content}]:e.content;for(let n of r){if(Y(n,"cache_point")){yield{type:"non_standard",value:n};continue}else if(Y(n,"citations_content")&&ce(n.citationsContent)){yield{type:"text",text:Mt(n.citationsContent.content)?n.citationsContent.content.reduce((i,o)=>ce(o)&&D(o.text)?i+o.text:i,""):"",annotations:Mt(n.citationsContent.citations)?n.citationsContent.citations.reduce((i,o)=>{if(ce(o)){let a=Mt(o.sourceContent)?o.sourceContent.reduce((c,u)=>ce(u)&&D(u.text)?c+u.text:c,""):"",s=Hr(()=>{if(ce(o.location)){let c=o.location.documentChar||o.location.documentPage||o.location.documentChunk;if(ce(c))return{source:Gr(c.documentIndex)?c.documentIndex.toString():void 0,startIndex:Gr(c.start)?c.start:void 0,endIndex:Gr(c.end)?c.end:void 0}}return{}});i.push({type:"citation",citedText:a,...s})}return i},[]):[]};continue}else if(Y(n,"document")&&ce(n.document)){yield HF(n);continue}else if(Y(n,"guard_content")){yield{type:"non_standard",value:n};continue}else if(Y(n,"image")&&ce(n.image)){yield qF(n);continue}else if(Y(n,"reasoning_content")&&D(n.reasoningText)){yield{type:"reasoning",reasoning:n.reasoningText};continue}else if(Y(n,"text")&&D(n.text)){yield{type:"text",text:n.text};continue}else if(Y(n,"tool_result")){yield{type:"non_standard",value:n};continue}else{if(Y(n,"tool_call"))continue;if(Y(n,"video")&&ce(n.video)){yield KF(n);continue}}yield{type:"non_standard",value:n}}}return Array.from(t())}var HA={translateContent:GA,translateContentChunk:GA};function qA(e){let t=[],r=e.additional_kwargs?.reasoning_content;if(D(r)&&r.length>0&&t.push({type:"reasoning",reasoning:r}),typeof e.content=="string")e.content.length>0&&t.push({type:"text",text:e.content});else for(let n of e.content)typeof n=="object"&&"type"in n&&n.type==="text"&&"text"in n&&D(n.text)&&t.push({type:"text",text:n.text});for(let n of e.tool_calls??[])t.push({type:"tool_call",id:n.id,name:n.name,args:n.args});return t}var KA={translateContent:qA,translateContentChunk:qA};function WA(e){function*t(){let r=typeof e.content=="string"?[{type:"text",text:e.content}]:e.content;for(let n of r){if(Y(n,"text")&&D(n.text)){yield{type:"text",text:n.text};continue}else if(Y(n,"thinking")&&D(n.thinking)){yield{type:"reasoning",reasoning:n.thinking,...n.signature?{signature:n.signature}:{}};continue}else if(Y(n,"inlineData")&&ce(n.inlineData)&&D(n.inlineData.mimeType)&&D(n.inlineData.data)){yield{type:"file",mimeType:n.inlineData.mimeType,data:n.inlineData.data};continue}else if(Y(n,"functionCall")&&ce(n.functionCall)&&D(n.functionCall.name)&&ce(n.functionCall.args)){yield{type:"tool_call",id:e.id,name:n.functionCall.name,args:n.functionCall.args};continue}else if(Y(n,"functionResponse")){yield{type:"non_standard",value:n};continue}else if(Y(n,"fileData")&&ce(n.fileData)&&D(n.fileData.mimeType)&&D(n.fileData.fileUri)){yield{type:"file",mimeType:n.fileData.mimeType,fileId:n.fileData.fileUri};continue}else if(Y(n,"executableCode")){yield{type:"non_standard",value:n};continue}else if(Y(n,"codeExecutionResult")){yield{type:"non_standard",value:n};continue}yield{type:"non_standard",value:n}}}return Array.from(t())}var JA={translateContent:WA,translateContentChunk:WA};function XA(e){function*t(){let r=typeof e.content=="string"?[{type:"text",text:e.content}]:e.content;for(let n of r){if(Y(n,"reasoning")&&D(n.reasoning)){let i=Hr(()=>{let o=r.indexOf(n);if(Mt(e.additional_kwargs?.signatures)&&o>=0)return e.additional_kwargs.signatures.at(o)});D(i)?yield{type:"reasoning",reasoning:n.reasoning,signature:i}:yield{type:"reasoning",reasoning:n.reasoning};continue}else if(Y(n,"thinking")&&D(n.thinking)){yield{type:"reasoning",reasoning:n.thinking,...n.signature?{signature:n.signature}:{}};continue}else if(Y(n,"text")&&D(n.text)){yield{type:"text",text:n.text};continue}else if(Y(n,"image_url")){if(D(n.image_url))if(n.image_url.startsWith("data:")){let i=n.image_url.match(/^data:([^;]+);base64,(.+)$/);i?yield{type:"image",data:i[2],mimeType:i[1]}:yield{type:"image",url:n.image_url}}else yield{type:"image",url:n.image_url};continue}else if(Y(n,"media")&&D(n.mimeType)&&D(n.data)){yield{type:"file",mimeType:n.mimeType,data:n.data};continue}yield{type:"non_standard",value:n}}}return Array.from(t())}var YA={translateContent:XA,translateContentChunk:XA};function QA(e){let t=[],r=e.additional_kwargs?.reasoning;if(D(r)&&r.length>0&&t.push({type:"reasoning",reasoning:r}),typeof e.content=="string"){let n=e.content,i=n.match(/<think>([\s\S]*?)<\/think>/);if(i){let o=i[1].trim();o.length>0&&t.push({type:"reasoning",reasoning:o}),n=n.replace(/<think>[\s\S]*?<\/think>/,"").trim()}n.length>0&&t.push({type:"text",text:n})}else for(let n of e.content)if(typeof n=="object"&&"type"in n&&n.type==="text"&&"text"in n&&D(n.text)){let i=n.text,o=i.match(/<think>([\s\S]*?)<\/think>/);if(o){let a=o[1].trim();a.length>0&&t.push({type:"reasoning",reasoning:a}),i=i.replace(/<think>[\s\S]*?<\/think>/,"").trim()}i.length>0&&t.push({type:"text",text:i})}for(let n of e.tool_calls??[])t.push({type:"tool_call",id:n.id,name:n.name,args:n.args});return t}var eO={translateContent:QA,translateContentChunk:QA};function tO(e){let t=[],r=e.additional_kwargs?.reasoning_content;if(D(r)&&r.length>0&&t.push({type:"reasoning",reasoning:r}),typeof e.content=="string")e.content.length>0&&t.push({type:"text",text:e.content});else for(let n of e.content)typeof n=="object"&&"type"in n&&n.type==="text"&&"text"in n&&D(n.text)&&t.push({type:"text",text:n.text});for(let n of e.tool_calls??[])t.push({type:"tool_call",id:n.id,name:n.name,args:n.args});return t}var rO={translateContent:tO,translateContentChunk:tO};function nO(e){let t=[];if(ce(e.additional_kwargs?.reasoning)){let n=e.additional_kwargs.reasoning;if(Mt(n.summary)){let i=n.summary.reduce((o,a)=>ce(a)&&D(a.text)?`${o}${a.text}`:o,"");i.length>0&&t.push({type:"reasoning",reasoning:i})}}let r=e.additional_kwargs?.reasoning_content;if(D(r)&&r.length>0&&t.push({type:"reasoning",reasoning:r}),typeof e.content=="string")e.content.length>0&&t.push({type:"text",text:e.content});else for(let n of e.content)typeof n=="object"&&"type"in n&&n.type==="text"&&"text"in n&&D(n.text)&&t.push({type:"text",text:n.text});for(let n of e.tool_calls??[])t.push({type:"tool_call",id:n.id,name:n.name,args:n.args});return t}var iO={translateContent:nO,translateContentChunk:nO};function oO(e){function*t(){let r=Hr(()=>{if(typeof e.content=="string")return e.additional_kwargs.originalTextContentBlock?[{...e.additional_kwargs.originalTextContentBlock,type:"text"}]:[{type:"text",text:e.content}];{let n=e.additional_kwargs?.originalTextContentBlock;if(n?.thoughtSignature&&!e.content.some(i=>"thoughtSignature"in i)){let i=[...e.content];for(let o=i.length-1;o>=0;o--){let a=i[o];if(a.type==="text"&&!a.thought)return a.thoughtSignature=n.thoughtSignature,i}}return e.content}});for(let n of r){let i=Hr(()=>Y(n,"text")&&D(n.text)?{type:"text",text:n.text}:Y(n,"inlineData")&&ce(n.inlineData)&&D(n.inlineData.mimeType)&&D(n.inlineData.data)?{type:"file",mimeType:n.inlineData.mimeType,data:n.inlineData.data}:Y(n,"functionCall")&&ce(n.functionCall)&&D(n.functionCall.name)&&ce(n.functionCall.args)?{type:"tool_call",id:e.id,name:n.functionCall.name,args:n.functionCall.args}:Y(n,"functionResponse")?{type:"non_standard",value:n}:Y(n,"fileData")&&ce(n.fileData)&&D(n.fileData.mimeType)&&D(n.fileData.fileUri)?{type:"file",mimeType:n.fileData.mimeType,fileId:n.fileData.fileUri}:Y(n,"executableCode")?{type:"non_standard",value:n}:Y(n,"codeExecutionResult")?{type:"non_standard",value:n}:{type:"non_standard",value:n}),o=Hr(()=>"thought"in n&&n.thought?{type:"reasoning",reasoning:i.type==="text"?i.text:"",reasoningContentBlock:i}:i),a={thought:n.thought,thoughtSignature:n.thoughtSignature,partMetadata:n.partMetadata,...o};for(let s in a)a[s]===void 0&&delete a[s];yield a}}return Array.from(t())}var aO={translateContent:oO,translateContentChunk:oO};globalThis.lc_block_translators_registry??=new Map([["anthropic",RA],["bedrock-converse",HA],["deepseek",KA],["google",aO],["google-genai",JA],["google-vertexai",YA],["groq",eO],["ollama",rO],["openai",DA],["xai",iO]]);function ab(e){return globalThis.lc_block_translators_registry.get(e)}function Sm(e,t){return pt(e,t)??{}}function sO(e,t){let r={};return(e?.audio!==void 0||t?.audio!==void 0)&&(r.audio=(e?.audio??0)+(t?.audio??0)),(e?.image!==void 0||t?.image!==void 0)&&(r.image=(e?.image??0)+(t?.image??0)),(e?.video!==void 0||t?.video!==void 0)&&(r.video=(e?.video??0)+(t?.video??0)),(e?.document!==void 0||t?.document!==void 0)&&(r.document=(e?.document??0)+(t?.document??0)),(e?.text!==void 0||t?.text!==void 0)&&(r.text=(e?.text??0)+(t?.text??0)),r}function WF(e,t){let r={...sO(e,t)};return(e?.cache_read!==void 0||t?.cache_read!==void 0)&&(r.cache_read=(e?.cache_read??0)+(t?.cache_read??0)),(e?.cache_creation!==void 0||t?.cache_creation!==void 0)&&(r.cache_creation=(e?.cache_creation??0)+(t?.cache_creation??0)),r}function JF(e,t){let r={...sO(e,t)};return(e?.reasoning!==void 0||t?.reasoning!==void 0)&&(r.reasoning=(e?.reasoning??0)+(t?.reasoning??0)),r}function Kc(e,t){return{input_tokens:(e?.input_tokens??0)+(t?.input_tokens??0),output_tokens:(e?.output_tokens??0)+(t?.output_tokens??0),total_tokens:(e?.total_tokens??0)+(t?.total_tokens??0),input_token_details:WF(e?.input_token_details,t?.input_token_details),output_token_details:JF(e?.output_token_details,t?.output_token_details)}}var be=class extends tt{type="ai";tool_calls=[];invalid_tool_calls=[];usage_metadata;get lc_aliases(){return{...super.lc_aliases,tool_calls:"tool_calls",invalid_tool_calls:"invalid_tool_calls",usage_metadata:"usage_metadata"}}constructor(e){let t;if(typeof e=="string"||Array.isArray(e))t={content:e,tool_calls:[],invalid_tool_calls:[],additional_kwargs:{}};else{t=e;let r=t.additional_kwargs?.tool_calls,n=t.tool_calls;r!=null&&r.length>0&&(n===void 0||n.length===0)&&console.warn(["New LangChain packages are available that more efficiently handle",`tool calling.
|
|
17
17
|
|
|
18
|
-
Please upgrade your packages to versions that set`,"message tool calls. e.g., `pnpm install @langchain/anthropic`,","pnpm install @langchain/openai`, etc."].join(" "));try{if(r!=null&&n===void 0){let[i,o]=Id(r);t.tool_calls=i??[],t.invalid_tool_calls=o??[]}else t.tool_calls=t.tool_calls??[],t.invalid_tool_calls=t.invalid_tool_calls??[]}catch{t.tool_calls=[],t.invalid_tool_calls=[]}if(t.response_metadata!==void 0&&"output_version"in t.response_metadata&&t.response_metadata.output_version==="v1"&&(t.contentBlocks=t.content,t.content=void 0),t.contentBlocks!==void 0){t.tool_calls&&t.contentBlocks.push(...t.tool_calls.map(o=>({type:"tool_call",id:o.id,name:o.name,args:o.args})));let i=t.contentBlocks.filter(o=>o.type==="tool_call").filter(o=>!t.tool_calls?.some(a=>a.id===o.id&&a.name===o.name));i.length>0&&(t.tool_calls=i.map(o=>({type:"tool_call",id:o.id,name:o.name,args:o.args})))}}super(t),typeof t!="string"&&(this.tool_calls=t.tool_calls??this.tool_calls,this.invalid_tool_calls=t.invalid_tool_calls??this.invalid_tool_calls),this.usage_metadata=t.usage_metadata}static lc_name(){return"AIMessage"}get contentBlocks(){if(this.response_metadata&&"output_version"in this.response_metadata&&this.response_metadata.output_version==="v1")return this.content;if(this.response_metadata&&"model_provider"in this.response_metadata&&typeof this.response_metadata.model_provider=="string"){let t=ab(this.response_metadata.model_provider);if(t)return t.translateContent(this)}let e=super.contentBlocks;if(this.tool_calls){let t=this.tool_calls.filter(r=>!e.some(n=>n.id===r.id&&n.name===r.name));e.push(...t.map(r=>({type:"tool_call",id:r.id,name:r.name,args:r.args})))}return e}get _printableFields(){return{...super._printableFields,tool_calls:this.tool_calls,invalid_tool_calls:this.invalid_tool_calls,usage_metadata:this.usage_metadata}}static isInstance(e){return super.isInstance(e)&&e.type==="ai"}};function hi(e){return e._getType()==="ai"}function Sd(e){return e._getType()==="ai"}var
|
|
18
|
+
Please upgrade your packages to versions that set`,"message tool calls. e.g., `pnpm install @langchain/anthropic`,","pnpm install @langchain/openai`, etc."].join(" "));try{if(r!=null&&n===void 0){let[i,o]=Id(r);t.tool_calls=i??[],t.invalid_tool_calls=o??[]}else t.tool_calls=t.tool_calls??[],t.invalid_tool_calls=t.invalid_tool_calls??[]}catch{t.tool_calls=[],t.invalid_tool_calls=[]}if(t.response_metadata!==void 0&&"output_version"in t.response_metadata&&t.response_metadata.output_version==="v1"&&(t.contentBlocks=t.content,t.content=void 0),t.contentBlocks!==void 0){t.tool_calls&&t.contentBlocks.push(...t.tool_calls.map(o=>({type:"tool_call",id:o.id,name:o.name,args:o.args})));let i=t.contentBlocks.filter(o=>o.type==="tool_call").filter(o=>!t.tool_calls?.some(a=>a.id===o.id&&a.name===o.name));i.length>0&&(t.tool_calls=i.map(o=>({type:"tool_call",id:o.id,name:o.name,args:o.args})))}}super(t),typeof t!="string"&&(this.tool_calls=t.tool_calls??this.tool_calls,this.invalid_tool_calls=t.invalid_tool_calls??this.invalid_tool_calls),this.usage_metadata=t.usage_metadata}static lc_name(){return"AIMessage"}get contentBlocks(){if(this.response_metadata&&"output_version"in this.response_metadata&&this.response_metadata.output_version==="v1")return this.content;if(this.response_metadata&&"model_provider"in this.response_metadata&&typeof this.response_metadata.model_provider=="string"){let t=ab(this.response_metadata.model_provider);if(t)return t.translateContent(this)}let e=super.contentBlocks;if(this.tool_calls){let t=this.tool_calls.filter(r=>!e.some(n=>n.id===r.id&&n.name===r.name));e.push(...t.map(r=>({type:"tool_call",id:r.id,name:r.name,args:r.args})))}return e}get _printableFields(){return{...super._printableFields,tool_calls:this.tool_calls,invalid_tool_calls:this.invalid_tool_calls,usage_metadata:this.usage_metadata}}static isInstance(e){return super.isInstance(e)&&e.type==="ai"}};function hi(e){return e._getType()==="ai"}function Sd(e){return e._getType()==="ai"}var at=class extends fr{type="ai";tool_calls=[];invalid_tool_calls=[];tool_call_chunks=[];usage_metadata;constructor(e){let t;if(typeof e=="string"||Array.isArray(e))t={content:e,tool_calls:[],invalid_tool_calls:[],tool_call_chunks:[]};else if(e.tool_call_chunks===void 0||e.tool_call_chunks.length===0)t={...e,tool_calls:e.tool_calls??[],invalid_tool_calls:[],tool_call_chunks:[],usage_metadata:e.usage_metadata!==void 0?e.usage_metadata:void 0};else{let r=km(e.tool_call_chunks??[]);t={...e,tool_call_chunks:r.tool_call_chunks,tool_calls:r.tool_calls,invalid_tool_calls:r.invalid_tool_calls,usage_metadata:e.usage_metadata!==void 0?e.usage_metadata:void 0}}super(t),this.tool_call_chunks=t.tool_call_chunks??this.tool_call_chunks,this.tool_calls=t.tool_calls??this.tool_calls,this.invalid_tool_calls=t.invalid_tool_calls??this.invalid_tool_calls,this.usage_metadata=t.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",usage_metadata:"usage_metadata"}}static lc_name(){return"AIMessageChunk"}get contentBlocks(){if(this.response_metadata&&"output_version"in this.response_metadata&&this.response_metadata.output_version==="v1")return this.content;if(this.response_metadata&&"model_provider"in this.response_metadata&&typeof this.response_metadata.model_provider=="string"){let t=ab(this.response_metadata.model_provider);if(t)return t.translateContent(this)}let e=super.contentBlocks;if(this.tool_calls&&typeof this.content!="string"){let t=this.content.filter(r=>r.type==="tool_call").map(r=>r.id);for(let r of this.tool_calls)r.id&&!t.includes(r.id)&&e.push({...r,type:"tool_call",id:r.id,name:r.name,args:r.args})}return e}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(e){let t={content:er(this.content,e.content),additional_kwargs:pt(this.additional_kwargs,e.additional_kwargs),response_metadata:Sm(this.response_metadata,e.response_metadata),tool_call_chunks:[],tool_calls:[],id:this.id??e.id};if(this.tool_call_chunks!==void 0||e.tool_call_chunks!==void 0){let n=Xo(this.tool_call_chunks,e.tool_call_chunks);n!==void 0&&n.length>0&&(t.tool_call_chunks=n)}if(this.tool_calls!==void 0||e.tool_calls!==void 0){let n=Xo(this.tool_calls,e.tool_calls);n!==void 0&&n.length>0&&(t.tool_calls=n)}(this.usage_metadata!==void 0||e.usage_metadata!==void 0)&&(t.usage_metadata=Kc(this.usage_metadata,e.usage_metadata));let r=this.constructor;return new r(t)}static isInstance(e){return super.isInstance(e)&&e.type==="ai"}};var mr=class cO extends tt{static lc_name(){return"ChatMessage"}type="generic";role;static _chatMessageClass(){return cO}constructor(t,r){(typeof t=="string"||Array.isArray(t))&&(t={content:t,role:r}),super(t),this.role=t.role}static isInstance(t){return super.isInstance(t)&&t.type==="generic"}get _printableFields(){return{...super._printableFields,role:this.role}}},oo=class extends fr{static lc_name(){return"ChatMessageChunk"}type="generic";role;constructor(e,t){(typeof e=="string"||Array.isArray(e))&&(e={content:e,role:t}),super(e),this.role=e.role}concat(e){let t=this.constructor;return new t({content:er(this.content,e.content),additional_kwargs:pt(this.additional_kwargs,e.additional_kwargs),response_metadata:pt(this.response_metadata,e.response_metadata),role:this.role,id:this.id??e.id})}static isInstance(e){return super.isInstance(e)&&e.type==="generic"}get _printableFields(){return{...super._printableFields,role:this.role}}};function uO(e){return e._getType()==="generic"}function lO(e){return e._getType()==="generic"}var us=class extends tt{static lc_name(){return"FunctionMessage"}type="function";name;constructor(e){super(e),this.name=e.name}},ao=class extends fr{static lc_name(){return"FunctionMessageChunk"}type="function";concat(e){let t=this.constructor;return new t({content:er(this.content,e.content),additional_kwargs:pt(this.additional_kwargs,e.additional_kwargs),response_metadata:pt(this.response_metadata,e.response_metadata),name:this.name??"",id:this.id??e.id})}};function dO(e){return e._getType()==="function"}function pO(e){return e._getType()==="function"}var st=class extends tt{static lc_name(){return"HumanMessage"}type="human";constructor(e){super(e)}static isInstance(e){return super.isInstance(e)&&e.type==="human"}},so=class extends fr{static lc_name(){return"HumanMessageChunk"}type="human";constructor(e){super(e)}concat(e){let t=this.constructor;return new t({content:er(this.content,e.content),additional_kwargs:pt(this.additional_kwargs,e.additional_kwargs),response_metadata:pt(this.response_metadata,e.response_metadata),id:this.id??e.id})}static isInstance(e){return super.isInstance(e)&&e.type==="human"}};function fO(e){return e.getType()==="human"}function mO(e){return e.getType()==="human"}var Mn=class extends tt{type="remove";id;constructor(e){super({...e,content:[]}),this.id=e.id}get _printableFields(){return{...super._printableFields,id:this.id}}static isInstance(e){return super.isInstance(e)&&e.type==="remove"}};var hr=class Em extends tt{static lc_name(){return"SystemMessage"}type="system";constructor(t){super(t)}concat(t){if(typeof t=="string")return new Em({...this,content:er(this.content,t)});if(Em.isInstance(t))return new Em({...this,additional_kwargs:{...this.additional_kwargs,...t.additional_kwargs},response_metadata:{...this.response_metadata,...t.response_metadata},content:er(this.content,t.content)});throw new Error("Unexpected chunk type for system message")}static isInstance(t){return super.isInstance(t)&&t.type==="system"}},fn=class extends fr{static lc_name(){return"SystemMessageChunk"}type="system";constructor(e){super(e)}concat(e){let t=this.constructor;return new t({content:er(this.content,e.content),additional_kwargs:pt(this.additional_kwargs,e.additional_kwargs),response_metadata:pt(this.response_metadata,e.response_metadata),id:this.id??e.id})}static isInstance(e){return super.isInstance(e)&&e.type==="system"}};function hO(e){return e._getType()==="system"}function gO(e){return e._getType()==="system"}var $m=e=>e();function XF(e){return Qo(e)?e:typeof e.id=="string"&&e.type==="function"&&typeof e.function=="object"&&e.function!==null&&"arguments"in e.function&&typeof e.function.arguments=="string"&&"name"in e.function&&typeof e.function.name=="string"?{id:e.id,args:JSON.parse(e.function.arguments),name:e.function.name,type:"tool_call"}:e}function YF(e){return typeof e=="object"&&e!=null&&e.lc===1&&Array.isArray(e.id)&&e.kwargs!=null&&typeof e.kwargs=="object"}function sb(e){let t,r;if(YF(e)){let n=e.id.at(-1);n==="HumanMessage"||n==="HumanMessageChunk"?t="user":n==="AIMessage"||n==="AIMessageChunk"?t="assistant":n==="SystemMessage"||n==="SystemMessageChunk"?t="system":n==="FunctionMessage"||n==="FunctionMessageChunk"?t="function":n==="ToolMessage"||n==="ToolMessageChunk"?t="tool":t="unknown",r=e.kwargs}else{let{type:n,...i}=e;t=n,r=i}if(t==="human"||t==="user")return new st(r);if(t==="ai"||t==="assistant"){let{tool_calls:n,...i}=r;if(!Array.isArray(n))return new be(r);let o=n.map(XF);return new be({...i,tool_calls:o})}else{if(t==="system")return new hr(r);if(t==="developer")return new hr({...r,additional_kwargs:{...r.additional_kwargs,__openai_role__:"developer"}});if(t==="tool"&&"tool_call_id"in r)return new jt({...r,content:r.content,tool_call_id:r.tool_call_id,name:r.name});if(t==="remove"&&"id"in r&&typeof r.id=="string")return new Mn({...r,id:r.id});throw no(new Error(`Unable to coerce message from array: only human, AI, system, developer, or tool message coercion is currently supported.
|
|
19
19
|
|
|
20
|
-
Received: ${JSON.stringify(e,null,2)}`),"MESSAGE_COERCION_FAILURE")}}function tr(e){if(typeof e=="string")return new
|
|
21
|
-
`)}function eB(e){if(e.data!==void 0)return e;{let t=e;return{type:t.type,data:{content:t.text,role:t.role,name:void 0,tool_call_id:void 0}}}}function kd(e){let t=eB(e);switch(t.type){case"human":return new rt(t.data);case"ai":return new be(t.data);case"system":return new hr(t.data);case"function":if(t.data.name===void 0)throw new Error("Name must be defined for function messages");return new us(t.data);case"tool":if(t.data.tool_call_id===void 0)throw new Error("Tool call ID must be defined for tool messages");return new jt(t.data);case"generic":if(t.data.role===void 0)throw new Error("Role must be defined for chat messages");return new mr(t.data);default:throw new Error(`Got unexpected type: ${t.type}`)}}function _O(e){return e.map(kd)}function yO(e){return e.map(t=>t.toDict())}function ls(e){let t=e._getType();if(t==="human")return new so({...e});if(t==="ai"){let r={...e};return"tool_calls"in r&&(r={...r,tool_call_chunks:r.tool_calls?.map(n=>({...n,type:"tool_call_chunk",index:void 0,args:JSON.stringify(n.args)}))}),new st({...r})}else{if(t==="system")return new fn({...e});if(t==="function")return new ao({...e});if(mr.isInstance(e))return new oo({...e});throw new Error("Unknown message type.")}}function km(e){let t=e.reduce((i,o)=>{let a=i.findIndex(([s])=>"id"in o&&o.id&&"index"in o&&o.index!==void 0?o.id===s.id&&o.index===s.index:"id"in o&&o.id?o.id===s.id:"index"in o&&o.index!==void 0?o.index===s.index:!1);return a!==-1?i[a].push(o):i.push([o]),i},[]),r=[],n=[];for(let i of t){let o=null,a=i[0]?.name??"",s=i.map(l=>l.args||"").join("").trim(),c=s.length?s:"{}",u=i[0]?.id;try{if(o=mi(c),!u||o===null||typeof o!="object"||Array.isArray(o))throw new Error("Malformed tool call chunk args.");r.push({name:a,args:o,id:u,type:"tool_call"})}catch{n.push({name:a,args:c,id:u,error:"Malformed args.",type:"invalid_tool_call"})}}return{tool_call_chunks:e,tool_calls:r,invalid_tool_calls:n}}var vO=P({BaseCache:()=>wO,InMemoryCache:()=>cb,defaultHashKeyEncoder:()=>bO,deserializeStoredGeneration:()=>tB,serializeGeneration:()=>rB}),bO=(...e)=>Vc(e.join("_"));function tB(e){return e.message!==void 0?{text:e.text,message:kd(e.message)}:{text:e.text}}function rB(e){let t={text:e.text};return e.message!==void 0&&(t.message=e.message.toDict()),t}var wO=class{keyEncoder=bO;makeDefaultKeyEncoder(e){this.keyEncoder=e}},nB=new Map,cb=class xO extends wO{cache;constructor(t){super(),this.cache=t??new Map}lookup(t,r){return Promise.resolve(this.cache.get(this.keyEncoder(t,r))??null)}async update(t,r,n){this.cache.set(this.keyEncoder(t,r),n)}static global(){return new xO(nB)}};var IO=/^(?:[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 iB(e){return typeof e=="string"&&IO.test(e)}var ea=iB;function oB(e){if(!ea(e))throw TypeError("Invalid UUID");let t;return Uint8Array.of((t=parseInt(e.slice(0,8),16))>>>24,t>>>16&255,t>>>8&255,t&255,(t=parseInt(e.slice(9,13),16))>>>8,t&255,(t=parseInt(e.slice(14,18),16))>>>8,t&255,(t=parseInt(e.slice(19,23),16))>>>8,t&255,(t=parseInt(e.slice(24,36),16))/1099511627776&255,t/4294967296&255,t>>>24&255,t>>>16&255,t>>>8&255,t&255)}var ub=oB;var Wt=[];for(let e=0;e<256;++e)Wt.push((e+256).toString(16).slice(1));function Jc(e,t=0){return(Wt[e[t+0]]+Wt[e[t+1]]+Wt[e[t+2]]+Wt[e[t+3]]+"-"+Wt[e[t+4]]+Wt[e[t+5]]+"-"+Wt[e[t+6]]+Wt[e[t+7]]+"-"+Wt[e[t+8]]+Wt[e[t+9]]+"-"+Wt[e[t+10]]+Wt[e[t+11]]+Wt[e[t+12]]+Wt[e[t+13]]+Wt[e[t+14]]+Wt[e[t+15]]).toLowerCase()}var lb,aB=new Uint8Array(16);function Xc(){if(!lb){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");lb=crypto.getRandomValues.bind(crypto)}return lb(aB)}function sB(e){e=unescape(encodeURIComponent(e));let t=new Uint8Array(e.length);for(let r=0;r<e.length;++r)t[r]=e.charCodeAt(r);return t}var SO="6ba7b810-9dad-11d1-80b4-00c04fd430c8",kO="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function db(e,t,r,n,i,o){let a=typeof r=="string"?sB(r):r,s=typeof n=="string"?ub(n):n;if(typeof n=="string"&&(n=ub(n)),n?.length!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let c=new Uint8Array(16+a.length);if(c.set(s),c.set(a,s.length),c=t(c),c[6]=c[6]&15|e,c[8]=c[8]&63|128,i){o=o||0;for(let u=0;u<16;++u)i[o+u]=c[u];return i}return Jc(c)}var cB=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),pb={randomUUID:cB};function uB(e,t,r){if(pb.randomUUID&&!t&&!e)return pb.randomUUID();e=e||{};let n=e.random??e.rng?.()??Xc();if(n.length<16)throw new Error("Random bytes length must be >= 16");if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t){if(r=r||0,r<0||r+16>t.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let i=0;i<16;++i)t[r+i]=n[i];return t}return Jc(n)}var fb=uB;function lB(e,t,r,n){switch(e){case 0:return t&r^~t&n;case 1:return t^r^n;case 2:return t&r^t&n^r&n;case 3:return t^r^n}}function mb(e,t){return e<<t|e>>>32-t}function dB(e){let t=[1518500249,1859775393,2400959708,3395469782],r=[1732584193,4023233417,2562383102,271733878,3285377520],n=new Uint8Array(e.length+1);n.set(e),n[e.length]=128,e=n;let i=e.length/4+2,o=Math.ceil(i/16),a=new Array(o);for(let s=0;s<o;++s){let c=new Uint32Array(16);for(let u=0;u<16;++u)c[u]=e[s*64+u*4]<<24|e[s*64+u*4+1]<<16|e[s*64+u*4+2]<<8|e[s*64+u*4+3];a[s]=c}a[o-1][14]=(e.length-1)*8/Math.pow(2,32),a[o-1][14]=Math.floor(a[o-1][14]),a[o-1][15]=(e.length-1)*8&4294967295;for(let s=0;s<o;++s){let c=new Uint32Array(80);for(let m=0;m<16;++m)c[m]=a[s][m];for(let m=16;m<80;++m)c[m]=mb(c[m-3]^c[m-8]^c[m-14]^c[m-16],1);let u=r[0],l=r[1],d=r[2],f=r[3],p=r[4];for(let m=0;m<80;++m){let h=Math.floor(m/20),w=mb(u,5)+lB(h,l,d,f)+p+t[h]+c[m]>>>0;p=f,f=d,d=mb(l,30)>>>0,l=u,u=w}r[0]=r[0]+u>>>0,r[1]=r[1]+l>>>0,r[2]=r[2]+d>>>0,r[3]=r[3]+f>>>0,r[4]=r[4]+p>>>0}return Uint8Array.of(r[0]>>24,r[0]>>16,r[0]>>8,r[0],r[1]>>24,r[1]>>16,r[1]>>8,r[1],r[2]>>24,r[2]>>16,r[2]>>8,r[2],r[3]>>24,r[3]>>16,r[3]>>8,r[3],r[4]>>24,r[4]>>16,r[4]>>8,r[4])}var EO=dB;function hb(e,t,r,n){return db(80,EO,e,t,r,n)}hb.DNS=SO;hb.URL=kO;var Tm=hb;var gb={};function pB(e,t,r){let n;if(e)n=$O(e.random??e.rng?.()??Xc(),e.msecs,e.seq,t,r);else{let i=Date.now(),o=Xc();fB(gb,i,o),n=$O(o,gb.msecs,gb.seq,t,r)}return t??Jc(n)}function fB(e,t,r){return e.msecs??=-1/0,e.seq??=0,t>e.msecs?(e.seq=r[6]<<23|r[7]<<16|r[8]<<8|r[9],e.msecs=t):(e.seq=e.seq+1|0,e.seq===0&&e.msecs++),e}function $O(e,t,r,n,i=0){if(e.length<16)throw new Error("Random bytes length must be >= 16");if(!n)n=new Uint8Array(16),i=0;else if(i<0||i+16>n.length)throw new RangeError(`UUID byte range ${i}:${i+15} is out of buffer bounds`);return t??=Date.now(),r??=e[6]*127<<24|e[7]<<16|e[8]<<8|e[9],n[i++]=t/1099511627776&255,n[i++]=t/4294967296&255,n[i++]=t/16777216&255,n[i++]=t/65536&255,n[i++]=t/256&255,n[i++]=t&255,n[i++]=112|r>>>28&15,n[i++]=r>>>20&255,n[i++]=128|r>>>14&63,n[i++]=r>>>6&255,n[i++]=r<<2&255|e[10]&3,n[i++]=e[11],n[i++]=e[12],n[i++]=e[13],n[i++]=e[14],n[i++]=e[15],n}var mn=pB;var TO=P({BaseCallbackHandler:()=>jn,callbackHandlerPrefersStreaming:()=>Ed,isBaseCallbackHandler:()=>_b}),hB=class{};function Ed(e){return"lc_prefer_streaming"in e&&e.lc_prefer_streaming}var jn=class extends hB{lc_serializable=!1;get lc_namespace(){return["langchain_core","callbacks",this.name]}get lc_secrets(){}get lc_attributes(){}get lc_aliases(){}get lc_serializable_keys(){}static lc_name(){return this.name}get lc_id(){return[...this.lc_namespace,Bc(this.constructor)]}lc_kwargs;ignoreLLM=!1;ignoreChain=!1;ignoreAgent=!1;ignoreRetriever=!1;ignoreCustomEvent=!1;raiseError=!1;awaitHandlers=et("LANGCHAIN_CALLBACKS_BACKGROUND")==="false";constructor(e){super(),this.lc_kwargs=e||{},e&&(this.ignoreLLM=e.ignoreLLM??this.ignoreLLM,this.ignoreChain=e.ignoreChain??this.ignoreChain,this.ignoreAgent=e.ignoreAgent??this.ignoreAgent,this.ignoreRetriever=e.ignoreRetriever??this.ignoreRetriever,this.ignoreCustomEvent=e.ignoreCustomEvent??this.ignoreCustomEvent,this.raiseError=e.raiseError??this.raiseError,this.awaitHandlers=this.raiseError||(e._awaitHandler??this.awaitHandlers))}copy(){return new this.constructor(this)}toJSON(){return kt.prototype.toJSON.call(this)}toJSONNotImplemented(){return kt.prototype.toJSONNotImplemented.call(this)}static fromMethods(e){class t extends jn{name=mn();constructor(){super(),Object.assign(this,e)}}return new t}},_b=e=>{let t=e;return t!==void 0&&typeof t.copy=="function"&&typeof t.name=="string"&&typeof t.awaitHandlers=="boolean"};var AO="gen_ai.operation.name",OO="gen_ai.system",yb="gen_ai.request.model",CO="gen_ai.response.model",vb="gen_ai.usage.input_tokens",bb="gen_ai.usage.output_tokens",wb="gen_ai.usage.total_tokens",PO="gen_ai.request.max_tokens",RO="gen_ai.request.temperature",NO="gen_ai.request.top_p",MO="gen_ai.request.frequency_penalty",jO="gen_ai.request.presence_penalty",zO="gen_ai.response.finish_reasons",DO="gen_ai.prompt",LO="gen_ai.completion",UO="gen_ai.request.extra_query",FO="gen_ai.request.extra_body",BO="gen_ai.serialized.name",VO="gen_ai.serialized.signature",ZO="gen_ai.serialized.doc",GO="gen_ai.response.id",HO="gen_ai.response.service_tier",qO="gen_ai.response.system_fingerprint",KO="gen_ai.usage.input_token_details",WO="gen_ai.usage.output_token_details",JO="langsmith.trace.session_id",XO="langsmith.trace.session_name",YO="langsmith.span.kind",QO="langsmith.trace.name",eC="langsmith.metadata",xb="langsmith.span.tags";var tC="langsmith.request.streaming",rC="langsmith.request.headers";var _B=(...e)=>fetch(...e),yB,nC=Symbol.for("ls:fetch_implementation");var iC=()=>globalThis[nC]===void 0?!0:yB??!1,oC=e=>async(...t)=>{if(e||gt("DEBUG")==="true"){let[n,i]=t;console.log(`\u2192 ${i?.method||"GET"} ${n}`)}let r=await(globalThis[nC]??_B)(...t);return(e||gt("DEBUG")==="true")&&console.log(`\u2190 ${r.status} ${r.statusText} ${r.url}`),r};var $d=()=>gt("PROJECT")??qr("LANGCHAIN_SESSION")??"default";var aC={};function ds(e){aC[e]||(console.warn(e),aC[e]=!0)}var L=e=>BigInt(e),lC=L("0x9E3779B1"),dC=L("0x85EBCA77"),vB=L("0xC2B2AE3D"),ta=L("0x9E3779B185EBCA87"),ps=L("0xC2B2AE3D27D4EB4F"),pC=L("0x165667B19E3779F9"),Eb=L("0x85EBCA77C2B2AE63"),bB=L("0x27D4EB2F165667C5"),wB=L("0x165667919E3779F9"),xB=L("0x9FB21C651E98DF25");function IB(e){let t=new Uint8Array(e.length/2);for(let r=0;r<e.length;r+=2)t[r/2]=parseInt(e.substring(r,r+2),16);return t}var gi=IB("b8fe6c3923a44bbe7c01812cf721ad1cded46de9839097db7240a4a4b7b3671fcb79e64eccc0e578825ad07dccff7221b8084674f743248ee03590e6813a264c3c2852bb91c300cb88d0658b1b532ea371644897a20df94e3819ef46a9deacd8a8fa763fe39c343ff9dcbbc7c70b4f1d8a51e04bcdb45931c89f7ec9d9787364eac5ac8334d3ebc3c581a0fffa1363eb170ddd51b7f0da49d316552629d4689e2b16be587d47a1fc8ff8b8d17ad031ce45cb3a8f95160428afd7fbcabb4b407e"),Qc=(L(1)<<L(128))-L(1),Ae=(L(1)<<L(64))-L(1),Pm=(L(1)<<L(32))-L(1),co=64,fC=co/8,SB=8,Am=4;function nt(e,t=0){return new Uint8Array(e.buffer,e.byteOffset+t,e.length-t)}function ct(e,t=0){return new DataView(e.buffer,e.byteOffset+t).getBigUint64(0,!0)}function Yc(e,t=0){return new DataView(e.buffer,e.byteOffset+t).getUint32(0,!0)}function Ib(e,t=0){return e[t]}var kB=e=>(e&L(255))<<L(56)|(e&L(65280))<<L(40)|(e&L(16711680))<<L(24)|(e&L(4278190080))<<L(8)|(e&L(0xff00000000))>>L(8)|(e&L(0xff0000000000))>>L(24)|(e&L(0xff000000000000))>>L(40)|(e&L(0xff00000000000000))>>L(56),EB=e=>(e=(e&L(65535))<<L(16)|(e&L(4294901760))>>L(16),e=(e&L(16711935))<<L(8)|(e&L(4278255360))>>L(8),e),$B=(e,t)=>(e&Pm)*(t&Pm)&Ae,eu=e=>{if(!e)throw new Error("Assert failed")};function TB(e,t){return(e<<t|e>>L(32)-t)&Pm}function mC(e,t,r){for(let n=0;n<fC;n++){let i=ct(t,n*8),o=i^ct(r,n*8);e[n^1]+=i,e[n]+=$B(o,o>>L(32))}return e}function sC(e,t,r,n){for(let i=0;i<n;i++)mC(e,nt(t,i*co),nt(r,i*8));return e}function AB(e,t){for(let r=0;r<fC;r++){let n=ct(t,r*8),i=e[r];i=Sb(i,L(47)),i^=n,i*=lC,e[r]=i&Ae}return e}function Om(e,t){return hC(e[0]^ct(t,0),e[1]^ct(t,SB))}function cC(e,t,r){let n=r;return n+=Om(e.slice(0),nt(t,0*Am)),n+=Om(e.slice(2),nt(t,4*Am)),n+=Om(e.slice(4),nt(t,8*Am)),n+=Om(e.slice(6),nt(t,12*Am)),_i(n&Ae)}function OB(e,t,r,n,i){let o=Math.floor((r.byteLength-co)/8),a=co*o,s=Math.floor((t.byteLength-1)/a);for(let c=0;c<s;c++)e=sC(e,nt(t,c*a),r,o),e=i(e,nt(r,r.byteLength-co));{let c=Math.floor((t.byteLength-1-a*s)/co);e=sC(e,nt(t,s*a),r,c),e=n(e,nt(t,t.byteLength-co),nt(r,r.byteLength-co-7))}return e}function CB(e,t,r){let n=new BigUint64Array([vB,ta,ps,pC,Eb,dC,bB,lC]);eu(e.length>128),n=OB(n,e,t,mC,AB),eu(n.length*8==64);{let i=cC(n,nt(t,11),L(e.byteLength)*ta&Ae);return cC(n,nt(t,t.byteLength-co-11),~(L(e.byteLength)*ps)&Ae)<<L(64)|i}}function hC(e,t){let r=e*t&Qc;return r&Ae^r>>L(64)}function uC(e,t,r){return hC((ct(e,0)^ct(t,0)+r)&Ae,(ct(e,8)^ct(t,8)-r)&Ae)}function Cm(e,t,r,n,i){let o=e&Ae,a=e>>L(64)&Ae;return o+=uC(t,n,i),o^=ct(r,0)+ct(r,8),o&=Ae,a+=uC(r,nt(n,16),i),a^=ct(t,0)+ct(t,8),a&=Ae,a<<L(64)|o}function _i(e){return e^=e>>L(37),e*=wB,e&=Ae,e^=e>>L(32),e}function Rm(e){return e^=e>>L(33),e*=ps,e&=Ae,e^=e>>L(29),e*=pC,e&=Ae,e^=e>>L(32),e}function PB(e,t,r){let n=e.byteLength;eu(n>0&&n<=3);let i=L(Ib(e,n-1))|L(n<<8)|L(Ib(e,0)<<16)|L(Ib(e,n>>1)<<24),o=(L(Yc(t,0))^L(Yc(t,4)))+r,a=(i^o)&Ae,s=(L(Yc(t,8))^L(Yc(t,12)))-r,c=(TB(EB(i),L(13))^s)&Ae;return(Rm(c)&Ae)<<L(64)|Rm(a)}function Sb(e,t){return e^e>>t}function RB(e,t,r){let n=e.byteLength;eu(n>=4&&n<=8);{let i=Yc(e,0),o=Yc(e,n-4),a=L(i)|L(o)<<L(32),s=(ct(t,16)^ct(t,24))+r&Ae,u=(a^s)*(ta+(L(n)<<L(2)))&Qc;return u+=(u&Ae)<<L(65),u&=Qc,u^=u>>L(67),Sb(Sb(u&Ae,L(35))*xB&Ae,L(28))|_i(u>>L(64))<<L(64)}}function NB(e,t,r){let n=e.byteLength;eu(n>=9&&n<=16);{let i=(ct(t,32)^ct(t,40))+r&Ae,o=(ct(t,48)^ct(t,56))-r&Ae,a=ct(e),s=ct(e,n-8),c=(a^s^i)*ta,u=(c&Ae)+(L(n-1)<<L(54));c=c&(Qc^Ae)|u,s^=o,c+=s+(s&Pm)*(dC-L(1))<<L(64),c&=Qc,c^=kB(c>>L(64));let l=(c&Ae)*ps;return l+=(c>>L(64))*ps<<L(64),l&=Qc,_i(l&Ae)|_i(l>>L(64))<<L(64)}}function MB(e,t){let r=e.byteLength;return eu(r<=16),r>8?NB(e,gi,t):r>=4?RB(e,gi,t):r>0?PB(e,gi,t):Rm(t^ct(gi,64)^ct(gi,72))|Rm(t^ct(gi,80)^ct(gi,88))<<L(64)}function kb(e){return~e+L(1)&Ae}function jB(e,t,r){let n=L(e.byteLength)*ta&Ae,i=L(e.byteLength-1)/L(32);for(;i>=0;){let s=Number(i);n=Cm(n,nt(e,16*s),nt(e,e.byteLength-16*(s+1)),nt(t,32*s),r),i--}let o=n+(n>>L(64))&Ae;o=_i(o);let a=(n&Ae)*ta+(n>>L(64))*Eb+(L(e.byteLength)-r&Ae)*ps;return a&=Ae,a=kb(_i(a)),o|a<<L(64)}function zB(e,t,r){let n=L(e.byteLength)*ta&Ae;for(let a=32;a<160;a+=32)n=Cm(n,nt(e,a-32),nt(e,a-16),nt(t,a-32),r);n=_i(n&Ae)|_i(n>>L(64))<<L(64);for(let a=160;a<=e.byteLength;a+=32)n=Cm(n,nt(e,a-32),nt(e,a-16),nt(t,3+a-160),r);n=Cm(n,nt(e,e.byteLength-16),nt(e,e.byteLength-32),nt(t,103),kb(r));let i=n+(n>>L(64))&Ae;i=_i(i);let o=(n&Ae)*ta+(n>>L(64))*Eb+(L(e.byteLength)-r&Ae)*ps;return o&=Ae,o=kb(_i(o)),i|o<<L(64)}function gC(e,t=L(0)){let r=e.byteLength;return r<=16?MB(e,t):r<=128?jB(e,gi,t):r<=240?zB(e,gi,t):CB(e,gi,t)}function _C(e){let t=new Uint8Array(16),r=new DataView(t.buffer),n=e&Ae,i=e>>L(64);return r.setBigUint64(0,i,!1),r.setBigUint64(8,n,!1),t}var yC=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function Se(e,t){if(!yC.test(e)){let r=t!==void 0?`Invalid UUID for ${t}: ${e}`:`Invalid UUID: ${e}`;throw new Error(r)}return e}function Nm(e){let t=typeof e=="string"?Date.parse(e):e;return yd({msecs:t,seq:0})}function DB(e){if(!yC.test(e))return null;let t=e[14];return parseInt(t,16)}function LB(e){let t=e.replace(/-/g,""),r=new Uint8Array(16);for(let n=0;n<16;n++)r[n]=parseInt(t.slice(n*2,n*2+2),16);return r}function UB(e){let t=Array.from(e).map(r=>r.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}var FB=new TextEncoder;function BB(e){let t=FB.encode(e),r=gC(t);return _C(r)}function Td(e,t){let r=`${e}:${t}`,n=BB(r),i=new Uint8Array(16);if(DB(e)===7){let a=LB(e);i.set(a.slice(0,6),0)}else{let a=Date.now();i[0]=a/1099511627776&255,i[1]=a/4294967296&255,i[2]=a/16777216&255,i[3]=a/65536&255,i[4]=a/256&255,i[5]=a&255}return i[6]=112|n[0]&15,i[7]=n[1],i[8]=128|n[2]&63,i.set(n.slice(3,10),9),UB(i)}var Ad={join:(...e)=>e.join("/"),dirname:e=>e.split("/").slice(0,-1).join("/")};async function vC(e){}async function bC(e,t){}async function wC(e){return[]}async function xC(e){return{size:0}}function Mm(e){return!1}function IC(e){return""}function ZB(e,t){return t===null?!1:Date.now()-e.createdAt>t*1e3}var jm=class{constructor(t={}){Object.defineProperty(this,"cache",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"ttlSeconds",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"refreshIntervalSeconds",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"refreshTimer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_metrics",{enumerable:!0,configurable:!0,writable:!0,value:{hits:0,misses:0,refreshes:0,refreshErrors:0}}),this.configure(t)}get metrics(){return{...this._metrics}}get totalRequests(){return this._metrics.hits+this._metrics.misses}get hitRate(){let t=this.totalRequests;return t>0?this._metrics.hits/t:0}resetMetrics(){this._metrics={hits:0,misses:0,refreshes:0,refreshErrors:0}}get(t,r){if(this.maxSize===0)return;let n=this.cache.get(t);if(!n){this._metrics.misses+=1;return}return this.cache.delete(t),this.cache.set(t,{...n,refreshFunc:r}),this._metrics.hits+=1,n.value}set(t,r,n){if(this.maxSize===0)return;if(this.refreshTimer===void 0&&this.startRefreshLoop(),!this.cache.has(t)&&this.cache.size>=this.maxSize){let o=this.cache.keys().next().value;o!==void 0&&this.cache.delete(o)}let i={value:r,createdAt:Date.now(),refreshFunc:n};this.cache.delete(t),this.cache.set(t,i)}invalidate(t){this.cache.delete(t)}clear(){this.cache.clear()}get size(){return this.cache.size}stop(){this.refreshTimer&&(clearInterval(this.refreshTimer),this.refreshTimer=void 0)}dump(t){let r={};for(let[o,a]of this.cache.entries())r[o]=a.value;let n=Ad.dirname(t);Mm(n)||void 0;let i=`${t}.tmp`;try{JSON.stringify({entries:r},null,2)}catch(o){throw Mm(i)&&void 0,o}}load(t){if(!Mm(t))return 0;let r;try{let o=IC(t);r=JSON.parse(o).entries??null}catch{return 0}if(!r)return 0;let n=0,i=Date.now();for(let[o,a]of Object.entries(r)){if(this.cache.size>=this.maxSize)break;let s={value:a,createdAt:i};this.cache.set(o,s),n+=1}return n}startRefreshLoop(){this.stop(),this.ttlSeconds!==null&&(this.refreshTimer=setInterval(()=>{this.refreshStaleEntries().catch(t=>{console.warn("Unexpected error in cache refresh loop:",t)})},this.refreshIntervalSeconds*1e3),this.refreshTimer.unref&&this.refreshTimer.unref())}getStaleEntries(){let t=[];for(let[r,n]of this.cache.entries())ZB(n,this.ttlSeconds)&&t.push([r,n]);return t}async refreshStaleEntries(){let t=this.getStaleEntries();if(t.length!==0){for(let[r,n]of t)if(n.refreshFunc!==void 0)try{let i=await n.refreshFunc();this.set(r,i,n.refreshFunc),this._metrics.refreshes+=1}catch(i){this._metrics.refreshErrors+=1,console.warn(`Failed to refresh cache entry ${r}:`,i)}}}configure(t){this.stop(),this.refreshIntervalSeconds=t.refreshIntervalSeconds??60,this.maxSize=t.maxSize??100,this.ttlSeconds=t.ttlSeconds??300}},zm=new jm;var Dm="0.5.12";var vi,GB=()=>typeof window<"u"&&typeof window.document<"u",HB=()=>typeof globalThis=="object"&&globalThis.constructor&&globalThis.constructor.name==="DedicatedWorkerGlobalScope",qB=()=>typeof window<"u"&&window.name==="nodejs"||typeof navigator<"u"&&navigator.userAgent.includes("jsdom"),SC=()=>typeof Deno<"u",KB=()=>typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"&&!SC(),Ab=()=>vi||(typeof Bun<"u"?vi="bun":GB()?vi="browser":KB()?vi="node":HB()?vi="webworker":qB()?vi="jsdom":SC()?vi="deno":vi="other",vi),$b;function Lm(){if($b===void 0){let e=Ab(),t=JB();$b={library:"langsmith",runtime:e,sdk:"langsmith-js",sdk_version:Dm,...t}}return $b}function Ob(){let e=WB(),t={},r=["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[n,i]of Object.entries(e))typeof i=="string"&&!r.includes(n)&&!n.toLowerCase().includes("key")&&!n.toLowerCase().includes("secret")&&!n.toLowerCase().includes("token")&&(n==="LANGCHAIN_REVISION_ID"?t.revision_id=i:t[n]=i);return t}function WB(){let e={};try{if(typeof process<"u"&&process.env)for(let[t,r]of Object.entries(process.env))(t.startsWith("LANGCHAIN_")||t.startsWith("LANGSMITH_"))&&r!=null&&((t.toLowerCase().includes("key")||t.toLowerCase().includes("secret")||t.toLowerCase().includes("token"))&&typeof r=="string"?e[t]=r.slice(0,2)+"*".repeat(r.length-4)+r.slice(-2):e[t]=r)}catch{}return e}function qr(e){try{return typeof process<"u"?process.env?.[e]:void 0}catch{return}}function gt(e){return qr(`LANGSMITH_${e}`)||qr(`LANGCHAIN_${e}`)}var Tb;function JB(){if(Tb!==void 0)return Tb;let e=["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"],t={};for(let r of e){let n=qr(r);n!==void 0&&(t[r]=n)}return Tb=t,t}function Um(){return qr("OTEL_ENABLED")==="true"||gt("OTEL_ENABLED")==="true"}var Rb=class{constructor(){Object.defineProperty(this,"hasWarned",{enumerable:!0,configurable:!0,writable:!0,value:!1})}startActiveSpan(t,...r){!this.hasWarned&&Um()&&(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 n;if(r.length===1&&typeof r[0]=="function"?n=r[0]:r.length===2&&typeof r[1]=="function"?n=r[1]:r.length===3&&typeof r[2]=="function"&&(n=r[2]),typeof n=="function")return n()}},Nb=class{constructor(){Object.defineProperty(this,"mockTracer",{enumerable:!0,configurable:!0,writable:!0,value:new Rb})}getTracer(t,r){return this.mockTracer}getActiveSpan(){}setSpan(t,r){return t}getSpan(t){}setSpanContext(t,r){return t}getTracerProvider(){}setGlobalTracerProvider(t){return!1}},Mb=class{active(){return{}}with(t,r){return r()}},Cb=Symbol.for("ls:otel_trace"),Pb=Symbol.for("ls:otel_context"),kC=Symbol.for("ls:otel_get_default_otlp_tracer_provider"),XB=new Nb,YB=new Mb,jb=class{getTraceInstance(){return globalThis[Cb]??XB}getContextInstance(){return globalThis[Pb]??YB}initializeGlobalInstances(t){globalThis[Cb]===void 0&&(globalThis[Cb]=t.trace),globalThis[Pb]===void 0&&(globalThis[Pb]=t.context)}setDefaultOTLPTracerComponents(t){globalThis[kC]=t}getDefaultOTLPTracerComponents(){return globalThis[kC]??void 0}},zb=new jb;function Fm(){return zb.getTraceInstance()}function EC(){return zb.getContextInstance()}function $C(){return zb.getDefaultOTLPTracerComponents()}var QB={llm:"chat",tool:"execute_tool",retriever:"embeddings",embedding:"embeddings",prompt:"chat"};function e3(e){return QB[e]||e}var Bm=class{constructor(){Object.defineProperty(this,"spans",{enumerable:!0,configurable:!0,writable:!0,value:new Map})}exportBatch(t,r){for(let n of t)try{if(!n.run)continue;if(n.operation==="post"){let i=this.createSpanForRun(n,n.run,r.get(n.id));i&&!n.run.end_time&&this.spans.set(n.id,i)}else this.updateSpanForRun(n,n.run)}catch(i){console.error(`Error processing operation ${n.id}:`,i)}}createSpanForRun(t,r,n){let i=n&&Fm().getSpan(n);if(i)try{return this.finishSpanSetup(i,r,t)}catch(o){console.error(`Failed to create span for run ${t.id}:`,o);return}}finishSpanSetup(t,r,n){return this.setSpanAttributes(t,r,n),r.error?(t.setStatus({code:2}),t.recordException(new Error(r.error))):t.setStatus({code:1}),r.end_time&&t.end(new Date(r.end_time)),t}updateSpanForRun(t,r){try{let n=this.spans.get(t.id);if(!n){console.debug(`No span found for run ${t.id} during update`);return}this.setSpanAttributes(n,r,t),r.error?(n.setStatus({code:2}),n.recordException(new Error(r.error))):n.setStatus({code:1});let i=r.end_time;i&&(n.end(new Date(i)),this.spans.delete(t.id))}catch(n){console.error(`Failed to update span for run ${t.id}:`,n)}}extractModelName(t){if(t.extra?.metadata){let r=t.extra.metadata;if(r.ls_model_name)return r.ls_model_name;if(r.invocation_params){let n=r.invocation_params;if(n.model)return n.model;if(n.model_name)return n.model_name}}}setSpanAttributes(t,r,n){if("run_type"in r&&r.run_type){t.setAttribute(YO,r.run_type);let s=e3(r.run_type||"chain");t.setAttribute(AO,s)}"name"in r&&r.name&&t.setAttribute(QO,r.name),"session_id"in r&&r.session_id&&t.setAttribute(JO,r.session_id),"session_name"in r&&r.session_name&&t.setAttribute(XO,r.session_name),this.setGenAiSystem(t,r);let i=this.extractModelName(r);i&&t.setAttribute(yb,i),"prompt_tokens"in r&&typeof r.prompt_tokens=="number"&&t.setAttribute(vb,r.prompt_tokens),"completion_tokens"in r&&typeof r.completion_tokens=="number"&&t.setAttribute(bb,r.completion_tokens),"total_tokens"in r&&typeof r.total_tokens=="number"&&t.setAttribute(wb,r.total_tokens),this.setInvocationParameters(t,r);let o=r.extra?.metadata||{};for(let[s,c]of Object.entries(o))c!=null&&t.setAttribute(`${eC}.${s}`,String(c));let a=r.tags;if(a&&Array.isArray(a)?t.setAttribute(xb,a.join(", ")):a&&t.setAttribute(xb,String(a)),"serialized"in r&&typeof r.serialized=="object"){let s=r.serialized;s.name&&t.setAttribute(BO,String(s.name)),s.signature&&t.setAttribute(VO,String(s.signature)),s.doc&&t.setAttribute(ZO,String(s.doc))}this.setIOAttributes(t,n)}setGenAiSystem(t,r){let n="langchain",i=this.extractModelName(r);if(i){let o=i.toLowerCase();o.includes("anthropic")||o.startsWith("claude")?n="anthropic":o.includes("bedrock")?n="aws.bedrock":o.includes("azure")&&o.includes("openai")?n="az.ai.openai":o.includes("azure")&&o.includes("inference")?n="az.ai.inference":o.includes("cohere")?n="cohere":o.includes("deepseek")?n="deepseek":o.includes("gemini")?n="gemini":o.includes("groq")?n="groq":o.includes("watson")||o.includes("ibm")?n="ibm.watsonx.ai":o.includes("mistral")?n="mistral_ai":o.includes("gpt")||o.includes("openai")?n="openai":o.includes("perplexity")||o.includes("sonar")?n="perplexity":o.includes("vertex")?n="vertex_ai":(o.includes("xai")||o.includes("grok"))&&(n="xai")}t.setAttribute(OO,n)}setInvocationParameters(t,r){if(!r.extra?.metadata?.invocation_params)return;let n=r.extra.metadata.invocation_params;n.max_tokens!==void 0&&t.setAttribute(PO,n.max_tokens),n.temperature!==void 0&&t.setAttribute(RO,n.temperature),n.top_p!==void 0&&t.setAttribute(NO,n.top_p),n.frequency_penalty!==void 0&&t.setAttribute(MO,n.frequency_penalty),n.presence_penalty!==void 0&&t.setAttribute(jO,n.presence_penalty)}setIOAttributes(t,r){if(r.run.inputs)try{let n=r.run.inputs;typeof n=="object"&&n!==null&&(n.model&&Array.isArray(n.messages)&&t.setAttribute(yb,n.model),n.stream!==void 0&&t.setAttribute(tC,n.stream),n.extra_headers&&t.setAttribute(rC,JSON.stringify(n.extra_headers)),n.extra_query&&t.setAttribute(UO,JSON.stringify(n.extra_query)),n.extra_body&&t.setAttribute(FO,JSON.stringify(n.extra_body))),t.setAttribute(DO,JSON.stringify(n))}catch(n){console.debug(`Failed to process inputs for run ${r.id}`,n)}if(r.run.outputs)try{let n=r.run.outputs,i=this.getUnifiedRunTokens(n);if(i&&(t.setAttribute(vb,i[0]),t.setAttribute(bb,i[1]),t.setAttribute(wb,i[0]+i[1])),n&&typeof n=="object"){if(n.model&&t.setAttribute(CO,String(n.model)),n.id&&t.setAttribute(GO,n.id),n.choices&&Array.isArray(n.choices)){let o=n.choices.map(a=>a.finish_reason).filter(a=>a).map(String);o.length>0&&t.setAttribute(zO,o.join(", "))}if(n.service_tier&&t.setAttribute(HO,n.service_tier),n.system_fingerprint&&t.setAttribute(qO,n.system_fingerprint),n.usage_metadata&&typeof n.usage_metadata=="object"){let o=n.usage_metadata;o.input_token_details&&t.setAttribute(KO,JSON.stringify(o.input_token_details)),o.output_token_details&&t.setAttribute(WO,JSON.stringify(o.output_token_details))}}t.setAttribute(LO,JSON.stringify(n))}catch(n){console.debug(`Failed to process outputs for run ${r.id}`,n)}}getUnifiedRunTokens(t){if(!t)return null;let r=this.extractUnifiedRunTokens(t.usage_metadata);if(r)return r;let n=Object.keys(t);for(let a of n){let s=t[a];if(!(!s||typeof s!="object")&&(r=this.extractUnifiedRunTokens(s.usage_metadata),r||s.lc===1&&s.kwargs&&typeof s.kwargs=="object"&&(r=this.extractUnifiedRunTokens(s.kwargs.usage_metadata),r)))return r}let i=t.generations||[];if(!Array.isArray(i))return null;let o=Array.isArray(i[0])?i.flat():i;for(let a of o)if(typeof a=="object"&&a.message&&typeof a.message=="object"&&a.message.kwargs&&typeof a.message.kwargs=="object"&&(r=this.extractUnifiedRunTokens(a.message.kwargs.usage_metadata),r))return r;return null}extractUnifiedRunTokens(t){return!t||typeof t!="object"||typeof t.input_tokens!="number"||typeof t.output_tokens!="number"?null:[t.input_tokens,t.output_tokens]}};var t3=Object.prototype.toString,r3=e=>t3.call(e)==="[object Error]",n3=new Set(["network error","Failed to fetch","NetworkError when attempting to fetch resource.","The Internet connection appears to be offline.","Network request failed","fetch failed","terminated"," A network error occurred.","Network connection lost"]);function Db(e){if(!(e&&r3(e)&&e.name==="TypeError"&&typeof e.message=="string"))return!1;let{message:r,stack:n}=e;return r==="Load failed"?n===void 0||"__sentry_captured__"in e:r.startsWith("error sending request for url")?!0:n3.has(r)}function i3(e){if(typeof e=="number"){if(e<0)throw new TypeError("Expected `retries` to be a non-negative number.");if(Number.isNaN(e))throw new TypeError("Expected `retries` to be a valid number or Infinity, got NaN.")}else if(e!==void 0)throw new TypeError("Expected `retries` to be a number or Infinity.")}function Vm(e,t,{min:r=0,allowInfinity:n=!1}={}){if(t!==void 0){if(typeof t!="number"||Number.isNaN(t))throw new TypeError(`Expected \`${e}\` to be a number${n?" or Infinity":""}.`);if(!n&&!Number.isFinite(t))throw new TypeError(`Expected \`${e}\` to be a finite number.`);if(t<r)throw new TypeError(`Expected \`${e}\` to be \u2265 ${r}.`)}}var Lb=class extends Error{constructor(t){super(),t instanceof Error?(this.originalError=t,{message:t}=t):(this.originalError=new Error(t),this.originalError.stack=this.stack),this.name="AbortError",this.message=t}};function o3(e,t){let r=Math.max(1,e+1),n=t.randomize?Math.random()+1:1,i=Math.round(n*t.minTimeout*t.factor**(r-1));return i=Math.min(i,t.maxTimeout),i}function TC(e,t){return Number.isFinite(t)?t-(performance.now()-e):t}async function a3({error:e,attemptNumber:t,retriesConsumed:r,startTime:n,options:i}){let o=e instanceof Error?e:new TypeError(`Non-error was thrown: "${e}". You should only throw errors.`);if(o instanceof Lb)throw o.originalError;let a=Number.isFinite(i.retries)?Math.max(0,i.retries-r):i.retries,s=i.maxRetryTime??Number.POSITIVE_INFINITY,c=Object.freeze({error:o,attemptNumber:t,retriesLeft:a,retriesConsumed:r});if(await i.onFailedAttempt(c),TC(n,s)<=0)throw o;let u=await i.shouldConsumeRetry(c),l=TC(n,s);if(l<=0||a<=0)throw o;if(o instanceof TypeError&&!Db(o)){if(u)throw o;return i.signal?.throwIfAborted(),!1}if(!await i.shouldRetry(c))throw o;if(!u)return i.signal?.throwIfAborted(),!1;let d=o3(r,i),f=Math.min(d,l);return f>0&&await new Promise((p,m)=>{let h=()=>{clearTimeout(w),i.signal?.removeEventListener("abort",h),m(i.signal.reason)},w=setTimeout(()=>{i.signal?.removeEventListener("abort",h),p()},f);i.unref&&w.unref?.(),i.signal?.addEventListener("abort",h,{once:!0})}),i.signal?.throwIfAborted(),!0}async function Ub(e,t={}){if(t={...t},i3(t.retries),Object.hasOwn(t,"forever"))throw new Error("The `forever` option is no longer supported. For many use-cases, you can set `retries: Infinity` instead.");t.retries??=10,t.factor??=2,t.minTimeout??=1e3,t.maxTimeout??=Number.POSITIVE_INFINITY,t.maxRetryTime??=Number.POSITIVE_INFINITY,t.randomize??=!1,t.onFailedAttempt??=()=>{},t.shouldRetry??=()=>!0,t.shouldConsumeRetry??=()=>!0,Vm("factor",t.factor,{min:0,allowInfinity:!1}),Vm("minTimeout",t.minTimeout,{min:0,allowInfinity:!1}),Vm("maxTimeout",t.maxTimeout,{min:0,allowInfinity:!0}),Vm("maxRetryTime",t.maxRetryTime,{min:0,allowInfinity:!0}),t.factor>0||(t.factor=1),t.signal?.throwIfAborted();let r=0,n=0,i=performance.now();for(;!Number.isFinite(t.retries)||n<=t.retries;){r++;try{t.signal?.throwIfAborted();let o=await e(r);return t.signal?.throwIfAborted(),o}catch(o){await a3({error:o,attemptNumber:r,retriesConsumed:n,startTime:i,options:t})&&n++}}throw new Error("Retry attempts exhausted without throwing an error.")}var Wm=Ko(Km(),1),DC="default"in Wm.default?Wm.default.default:Wm.default;var h3=[408,425,429,500,502,503,504],Cd=class{constructor(t){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,"maxQueueSizeBytes",{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}),Object.defineProperty(this,"queueSizeBytes",{enumerable:!0,configurable:!0,writable:!0,value:0}),this.maxConcurrency=t.maxConcurrency??1/0,this.maxRetries=t.maxRetries??6,this.maxQueueSizeBytes=t.maxQueueSizeBytes,this.queue=new DC({concurrency:this.maxConcurrency}),this.onFailedResponseHook=t?.onFailedResponseHook}call(t,...r){return this.callWithOptions({},t,...r)}callWithOptions(t,r,...n){let i=t.sizeBytes??0;if(this.maxQueueSizeBytes!==void 0&&i>0&&this.queueSizeBytes+i>this.maxQueueSizeBytes)return Promise.reject(new Error(`Queue size limit (${this.maxQueueSizeBytes} bytes) exceeded. Current queue size: ${this.queueSizeBytes} bytes, attempted addition: ${i} bytes.`));i>0&&(this.queueSizeBytes+=i);let o=this.onFailedResponseHook,a=this.queue.add(()=>Ub(()=>r(...n).catch(s=>{throw s instanceof Error?s:new Error(s)}),{async onFailedAttempt({error:s}){if(typeof s!="object"||s==null)throw s;let c="message"in s&&typeof s.message=="string"?s.message:void 0;if(c?.startsWith("Cancel")||c?.startsWith("TimeoutError")||c?.startsWith("AbortError")||"name"in s&&s.name==="TimeoutError"||"code"in s&&s.code==="ECONNABORTED")throw s;let u="response"in s?s.response:void 0;if(o&&await o(u))return;let l=u?.status??("status"in s?s.status:void 0);if(l!=null&&(typeof l=="number"||typeof l=="string")&&!h3.includes(+l))throw s},retries:this.maxRetries,randomize:!0}),{throwOnTimeout:!0});return i>0&&(a=a.finally(()=>{this.queueSizeBytes-=i})),t.signal?Promise.race([a,new Promise((s,c)=>{t.signal?.addEventListener("abort",()=>{c(new Error("AbortError"))})})]):a}};function qb(e){return typeof e?._getType=="function"}function Kb(e){let t={type:e._getType(),data:{content:e.content}};return e?.additional_kwargs&&Object.keys(e.additional_kwargs).length>0&&(t.data.additional_kwargs={...e.additional_kwargs}),t}var d9=Ko($R(),1);function uh(e){return`Invalid prompt identifier format: "${e}". Expected one of:
|
|
20
|
+
Received: ${JSON.stringify(e,null,2)}`),"MESSAGE_COERCION_FAILURE")}}function tr(e){if(typeof e=="string")return new st(e);if(ft(e))return e;if(Array.isArray(e)){let[t,r]=e;return sb({type:t,content:r})}else if(Im(e)){let{role:t,...r}=e;return sb({...r,type:t})}else return sb(e)}function QF(e){if(typeof e=="string")return e;switch(e.type){case"text":return e.text??"";case"text-plain":return e.text??"[text-plain file]";case"image":case"image_url":return"[image]";case"audio":case"input_audio":return"[audio]";case"video":return"[video]";case"file":return"[file]";case"reasoning":case"tool_call":case"tool_call_chunk":case"invalid_tool_call":case"server_tool_call":case"server_tool_call_chunk":case"server_tool_call_result":case"non_standard":return"";default:return e.type?`[${e.type}]`:""}}function Wc(e,t="Human",r="AI"){let n=[];for(let i of e){let o;if(i.type==="human")o=t;else if(i.type==="ai")o=r;else if(i.type==="system")o="System";else if(i.type==="tool")o="Tool";else if(i.type==="generic")o=i.role;else throw new Error(`Got unsupported message type: ${i.type}`);let a=i.name?`${i.name}, `:"",s=typeof i.content=="string"?i.content:Array.isArray(i.content)?i.content.map(QF).filter(Boolean).join(""):"",c=`${o}: ${a}${s}`;if(i.type==="ai"){let u=i;u.tool_calls&&u.tool_calls.length>0?c+=JSON.stringify(u.tool_calls):u.additional_kwargs&&"function_call"in u.additional_kwargs&&(c+=JSON.stringify(u.additional_kwargs.function_call))}n.push(c)}return n.join(`
|
|
21
|
+
`)}function eB(e){if(e.data!==void 0)return e;{let t=e;return{type:t.type,data:{content:t.text,role:t.role,name:void 0,tool_call_id:void 0}}}}function kd(e){let t=eB(e);switch(t.type){case"human":return new st(t.data);case"ai":return new be(t.data);case"system":return new hr(t.data);case"function":if(t.data.name===void 0)throw new Error("Name must be defined for function messages");return new us(t.data);case"tool":if(t.data.tool_call_id===void 0)throw new Error("Tool call ID must be defined for tool messages");return new jt(t.data);case"generic":if(t.data.role===void 0)throw new Error("Role must be defined for chat messages");return new mr(t.data);default:throw new Error(`Got unexpected type: ${t.type}`)}}function _O(e){return e.map(kd)}function yO(e){return e.map(t=>t.toDict())}function ls(e){let t=e._getType();if(t==="human")return new so({...e});if(t==="ai"){let r={...e};return"tool_calls"in r&&(r={...r,tool_call_chunks:r.tool_calls?.map(n=>({...n,type:"tool_call_chunk",index:void 0,args:JSON.stringify(n.args)}))}),new at({...r})}else{if(t==="system")return new fn({...e});if(t==="function")return new ao({...e});if(mr.isInstance(e))return new oo({...e});throw new Error("Unknown message type.")}}function km(e){let t=e.reduce((i,o)=>{let a=i.findIndex(([s])=>"id"in o&&o.id&&"index"in o&&o.index!==void 0?o.id===s.id&&o.index===s.index:"id"in o&&o.id?o.id===s.id:"index"in o&&o.index!==void 0?o.index===s.index:!1);return a!==-1?i[a].push(o):i.push([o]),i},[]),r=[],n=[];for(let i of t){let o=null,a=i[0]?.name??"",s=i.map(l=>l.args||"").join("").trim(),c=s.length?s:"{}",u=i[0]?.id;try{if(o=mi(c),!u||o===null||typeof o!="object"||Array.isArray(o))throw new Error("Malformed tool call chunk args.");r.push({name:a,args:o,id:u,type:"tool_call"})}catch{n.push({name:a,args:c,id:u,error:"Malformed args.",type:"invalid_tool_call"})}}return{tool_call_chunks:e,tool_calls:r,invalid_tool_calls:n}}var vO=P({BaseCache:()=>wO,InMemoryCache:()=>cb,defaultHashKeyEncoder:()=>bO,deserializeStoredGeneration:()=>tB,serializeGeneration:()=>rB}),bO=(...e)=>Vc(e.join("_"));function tB(e){return e.message!==void 0?{text:e.text,message:kd(e.message)}:{text:e.text}}function rB(e){let t={text:e.text};return e.message!==void 0&&(t.message=e.message.toDict()),t}var wO=class{keyEncoder=bO;makeDefaultKeyEncoder(e){this.keyEncoder=e}},nB=new Map,cb=class xO extends wO{cache;constructor(t){super(),this.cache=t??new Map}lookup(t,r){return Promise.resolve(this.cache.get(this.keyEncoder(t,r))??null)}async update(t,r,n){this.cache.set(this.keyEncoder(t,r),n)}static global(){return new xO(nB)}};var IO=/^(?:[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 iB(e){return typeof e=="string"&&IO.test(e)}var ea=iB;function oB(e){if(!ea(e))throw TypeError("Invalid UUID");let t;return Uint8Array.of((t=parseInt(e.slice(0,8),16))>>>24,t>>>16&255,t>>>8&255,t&255,(t=parseInt(e.slice(9,13),16))>>>8,t&255,(t=parseInt(e.slice(14,18),16))>>>8,t&255,(t=parseInt(e.slice(19,23),16))>>>8,t&255,(t=parseInt(e.slice(24,36),16))/1099511627776&255,t/4294967296&255,t>>>24&255,t>>>16&255,t>>>8&255,t&255)}var ub=oB;var Wt=[];for(let e=0;e<256;++e)Wt.push((e+256).toString(16).slice(1));function Jc(e,t=0){return(Wt[e[t+0]]+Wt[e[t+1]]+Wt[e[t+2]]+Wt[e[t+3]]+"-"+Wt[e[t+4]]+Wt[e[t+5]]+"-"+Wt[e[t+6]]+Wt[e[t+7]]+"-"+Wt[e[t+8]]+Wt[e[t+9]]+"-"+Wt[e[t+10]]+Wt[e[t+11]]+Wt[e[t+12]]+Wt[e[t+13]]+Wt[e[t+14]]+Wt[e[t+15]]).toLowerCase()}var lb,aB=new Uint8Array(16);function Xc(){if(!lb){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");lb=crypto.getRandomValues.bind(crypto)}return lb(aB)}function sB(e){e=unescape(encodeURIComponent(e));let t=new Uint8Array(e.length);for(let r=0;r<e.length;++r)t[r]=e.charCodeAt(r);return t}var SO="6ba7b810-9dad-11d1-80b4-00c04fd430c8",kO="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function db(e,t,r,n,i,o){let a=typeof r=="string"?sB(r):r,s=typeof n=="string"?ub(n):n;if(typeof n=="string"&&(n=ub(n)),n?.length!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let c=new Uint8Array(16+a.length);if(c.set(s),c.set(a,s.length),c=t(c),c[6]=c[6]&15|e,c[8]=c[8]&63|128,i){o=o||0;for(let u=0;u<16;++u)i[o+u]=c[u];return i}return Jc(c)}var cB=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),pb={randomUUID:cB};function uB(e,t,r){if(pb.randomUUID&&!t&&!e)return pb.randomUUID();e=e||{};let n=e.random??e.rng?.()??Xc();if(n.length<16)throw new Error("Random bytes length must be >= 16");if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t){if(r=r||0,r<0||r+16>t.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let i=0;i<16;++i)t[r+i]=n[i];return t}return Jc(n)}var fb=uB;function lB(e,t,r,n){switch(e){case 0:return t&r^~t&n;case 1:return t^r^n;case 2:return t&r^t&n^r&n;case 3:return t^r^n}}function mb(e,t){return e<<t|e>>>32-t}function dB(e){let t=[1518500249,1859775393,2400959708,3395469782],r=[1732584193,4023233417,2562383102,271733878,3285377520],n=new Uint8Array(e.length+1);n.set(e),n[e.length]=128,e=n;let i=e.length/4+2,o=Math.ceil(i/16),a=new Array(o);for(let s=0;s<o;++s){let c=new Uint32Array(16);for(let u=0;u<16;++u)c[u]=e[s*64+u*4]<<24|e[s*64+u*4+1]<<16|e[s*64+u*4+2]<<8|e[s*64+u*4+3];a[s]=c}a[o-1][14]=(e.length-1)*8/Math.pow(2,32),a[o-1][14]=Math.floor(a[o-1][14]),a[o-1][15]=(e.length-1)*8&4294967295;for(let s=0;s<o;++s){let c=new Uint32Array(80);for(let m=0;m<16;++m)c[m]=a[s][m];for(let m=16;m<80;++m)c[m]=mb(c[m-3]^c[m-8]^c[m-14]^c[m-16],1);let u=r[0],l=r[1],d=r[2],f=r[3],p=r[4];for(let m=0;m<80;++m){let h=Math.floor(m/20),w=mb(u,5)+lB(h,l,d,f)+p+t[h]+c[m]>>>0;p=f,f=d,d=mb(l,30)>>>0,l=u,u=w}r[0]=r[0]+u>>>0,r[1]=r[1]+l>>>0,r[2]=r[2]+d>>>0,r[3]=r[3]+f>>>0,r[4]=r[4]+p>>>0}return Uint8Array.of(r[0]>>24,r[0]>>16,r[0]>>8,r[0],r[1]>>24,r[1]>>16,r[1]>>8,r[1],r[2]>>24,r[2]>>16,r[2]>>8,r[2],r[3]>>24,r[3]>>16,r[3]>>8,r[3],r[4]>>24,r[4]>>16,r[4]>>8,r[4])}var EO=dB;function hb(e,t,r,n){return db(80,EO,e,t,r,n)}hb.DNS=SO;hb.URL=kO;var Tm=hb;var gb={};function pB(e,t,r){let n;if(e)n=$O(e.random??e.rng?.()??Xc(),e.msecs,e.seq,t,r);else{let i=Date.now(),o=Xc();fB(gb,i,o),n=$O(o,gb.msecs,gb.seq,t,r)}return t??Jc(n)}function fB(e,t,r){return e.msecs??=-1/0,e.seq??=0,t>e.msecs?(e.seq=r[6]<<23|r[7]<<16|r[8]<<8|r[9],e.msecs=t):(e.seq=e.seq+1|0,e.seq===0&&e.msecs++),e}function $O(e,t,r,n,i=0){if(e.length<16)throw new Error("Random bytes length must be >= 16");if(!n)n=new Uint8Array(16),i=0;else if(i<0||i+16>n.length)throw new RangeError(`UUID byte range ${i}:${i+15} is out of buffer bounds`);return t??=Date.now(),r??=e[6]*127<<24|e[7]<<16|e[8]<<8|e[9],n[i++]=t/1099511627776&255,n[i++]=t/4294967296&255,n[i++]=t/16777216&255,n[i++]=t/65536&255,n[i++]=t/256&255,n[i++]=t&255,n[i++]=112|r>>>28&15,n[i++]=r>>>20&255,n[i++]=128|r>>>14&63,n[i++]=r>>>6&255,n[i++]=r<<2&255|e[10]&3,n[i++]=e[11],n[i++]=e[12],n[i++]=e[13],n[i++]=e[14],n[i++]=e[15],n}var mn=pB;var TO=P({BaseCallbackHandler:()=>jn,callbackHandlerPrefersStreaming:()=>Ed,isBaseCallbackHandler:()=>_b}),hB=class{};function Ed(e){return"lc_prefer_streaming"in e&&e.lc_prefer_streaming}var jn=class extends hB{lc_serializable=!1;get lc_namespace(){return["langchain_core","callbacks",this.name]}get lc_secrets(){}get lc_attributes(){}get lc_aliases(){}get lc_serializable_keys(){}static lc_name(){return this.name}get lc_id(){return[...this.lc_namespace,Bc(this.constructor)]}lc_kwargs;ignoreLLM=!1;ignoreChain=!1;ignoreAgent=!1;ignoreRetriever=!1;ignoreCustomEvent=!1;raiseError=!1;awaitHandlers=et("LANGCHAIN_CALLBACKS_BACKGROUND")==="false";constructor(e){super(),this.lc_kwargs=e||{},e&&(this.ignoreLLM=e.ignoreLLM??this.ignoreLLM,this.ignoreChain=e.ignoreChain??this.ignoreChain,this.ignoreAgent=e.ignoreAgent??this.ignoreAgent,this.ignoreRetriever=e.ignoreRetriever??this.ignoreRetriever,this.ignoreCustomEvent=e.ignoreCustomEvent??this.ignoreCustomEvent,this.raiseError=e.raiseError??this.raiseError,this.awaitHandlers=this.raiseError||(e._awaitHandler??this.awaitHandlers))}copy(){return new this.constructor(this)}toJSON(){return kt.prototype.toJSON.call(this)}toJSONNotImplemented(){return kt.prototype.toJSONNotImplemented.call(this)}static fromMethods(e){class t extends jn{name=mn();constructor(){super(),Object.assign(this,e)}}return new t}},_b=e=>{let t=e;return t!==void 0&&typeof t.copy=="function"&&typeof t.name=="string"&&typeof t.awaitHandlers=="boolean"};var AO="gen_ai.operation.name",OO="gen_ai.system",yb="gen_ai.request.model",CO="gen_ai.response.model",vb="gen_ai.usage.input_tokens",bb="gen_ai.usage.output_tokens",wb="gen_ai.usage.total_tokens",PO="gen_ai.request.max_tokens",RO="gen_ai.request.temperature",NO="gen_ai.request.top_p",MO="gen_ai.request.frequency_penalty",jO="gen_ai.request.presence_penalty",zO="gen_ai.response.finish_reasons",DO="gen_ai.prompt",LO="gen_ai.completion",UO="gen_ai.request.extra_query",FO="gen_ai.request.extra_body",BO="gen_ai.serialized.name",VO="gen_ai.serialized.signature",ZO="gen_ai.serialized.doc",GO="gen_ai.response.id",HO="gen_ai.response.service_tier",qO="gen_ai.response.system_fingerprint",KO="gen_ai.usage.input_token_details",WO="gen_ai.usage.output_token_details",JO="langsmith.trace.session_id",XO="langsmith.trace.session_name",YO="langsmith.span.kind",QO="langsmith.trace.name",eC="langsmith.metadata",xb="langsmith.span.tags";var tC="langsmith.request.streaming",rC="langsmith.request.headers";var _B=(...e)=>fetch(...e),yB,nC=Symbol.for("ls:fetch_implementation");var iC=()=>globalThis[nC]===void 0?!0:yB??!1,oC=e=>async(...t)=>{if(e||gt("DEBUG")==="true"){let[n,i]=t;console.log(`\u2192 ${i?.method||"GET"} ${n}`)}let r=await(globalThis[nC]??_B)(...t);return(e||gt("DEBUG")==="true")&&console.log(`\u2190 ${r.status} ${r.statusText} ${r.url}`),r};var $d=()=>gt("PROJECT")??qr("LANGCHAIN_SESSION")??"default";var aC={};function ds(e){aC[e]||(console.warn(e),aC[e]=!0)}var L=e=>BigInt(e),lC=L("0x9E3779B1"),dC=L("0x85EBCA77"),vB=L("0xC2B2AE3D"),ta=L("0x9E3779B185EBCA87"),ps=L("0xC2B2AE3D27D4EB4F"),pC=L("0x165667B19E3779F9"),Eb=L("0x85EBCA77C2B2AE63"),bB=L("0x27D4EB2F165667C5"),wB=L("0x165667919E3779F9"),xB=L("0x9FB21C651E98DF25");function IB(e){let t=new Uint8Array(e.length/2);for(let r=0;r<e.length;r+=2)t[r/2]=parseInt(e.substring(r,r+2),16);return t}var gi=IB("b8fe6c3923a44bbe7c01812cf721ad1cded46de9839097db7240a4a4b7b3671fcb79e64eccc0e578825ad07dccff7221b8084674f743248ee03590e6813a264c3c2852bb91c300cb88d0658b1b532ea371644897a20df94e3819ef46a9deacd8a8fa763fe39c343ff9dcbbc7c70b4f1d8a51e04bcdb45931c89f7ec9d9787364eac5ac8334d3ebc3c581a0fffa1363eb170ddd51b7f0da49d316552629d4689e2b16be587d47a1fc8ff8b8d17ad031ce45cb3a8f95160428afd7fbcabb4b407e"),Qc=(L(1)<<L(128))-L(1),Ae=(L(1)<<L(64))-L(1),Pm=(L(1)<<L(32))-L(1),co=64,fC=co/8,SB=8,Am=4;function rt(e,t=0){return new Uint8Array(e.buffer,e.byteOffset+t,e.length-t)}function ct(e,t=0){return new DataView(e.buffer,e.byteOffset+t).getBigUint64(0,!0)}function Yc(e,t=0){return new DataView(e.buffer,e.byteOffset+t).getUint32(0,!0)}function Ib(e,t=0){return e[t]}var kB=e=>(e&L(255))<<L(56)|(e&L(65280))<<L(40)|(e&L(16711680))<<L(24)|(e&L(4278190080))<<L(8)|(e&L(0xff00000000))>>L(8)|(e&L(0xff0000000000))>>L(24)|(e&L(0xff000000000000))>>L(40)|(e&L(0xff00000000000000))>>L(56),EB=e=>(e=(e&L(65535))<<L(16)|(e&L(4294901760))>>L(16),e=(e&L(16711935))<<L(8)|(e&L(4278255360))>>L(8),e),$B=(e,t)=>(e&Pm)*(t&Pm)&Ae,eu=e=>{if(!e)throw new Error("Assert failed")};function TB(e,t){return(e<<t|e>>L(32)-t)&Pm}function mC(e,t,r){for(let n=0;n<fC;n++){let i=ct(t,n*8),o=i^ct(r,n*8);e[n^1]+=i,e[n]+=$B(o,o>>L(32))}return e}function sC(e,t,r,n){for(let i=0;i<n;i++)mC(e,rt(t,i*co),rt(r,i*8));return e}function AB(e,t){for(let r=0;r<fC;r++){let n=ct(t,r*8),i=e[r];i=Sb(i,L(47)),i^=n,i*=lC,e[r]=i&Ae}return e}function Om(e,t){return hC(e[0]^ct(t,0),e[1]^ct(t,SB))}function cC(e,t,r){let n=r;return n+=Om(e.slice(0),rt(t,0*Am)),n+=Om(e.slice(2),rt(t,4*Am)),n+=Om(e.slice(4),rt(t,8*Am)),n+=Om(e.slice(6),rt(t,12*Am)),_i(n&Ae)}function OB(e,t,r,n,i){let o=Math.floor((r.byteLength-co)/8),a=co*o,s=Math.floor((t.byteLength-1)/a);for(let c=0;c<s;c++)e=sC(e,rt(t,c*a),r,o),e=i(e,rt(r,r.byteLength-co));{let c=Math.floor((t.byteLength-1-a*s)/co);e=sC(e,rt(t,s*a),r,c),e=n(e,rt(t,t.byteLength-co),rt(r,r.byteLength-co-7))}return e}function CB(e,t,r){let n=new BigUint64Array([vB,ta,ps,pC,Eb,dC,bB,lC]);eu(e.length>128),n=OB(n,e,t,mC,AB),eu(n.length*8==64);{let i=cC(n,rt(t,11),L(e.byteLength)*ta&Ae);return cC(n,rt(t,t.byteLength-co-11),~(L(e.byteLength)*ps)&Ae)<<L(64)|i}}function hC(e,t){let r=e*t&Qc;return r&Ae^r>>L(64)}function uC(e,t,r){return hC((ct(e,0)^ct(t,0)+r)&Ae,(ct(e,8)^ct(t,8)-r)&Ae)}function Cm(e,t,r,n,i){let o=e&Ae,a=e>>L(64)&Ae;return o+=uC(t,n,i),o^=ct(r,0)+ct(r,8),o&=Ae,a+=uC(r,rt(n,16),i),a^=ct(t,0)+ct(t,8),a&=Ae,a<<L(64)|o}function _i(e){return e^=e>>L(37),e*=wB,e&=Ae,e^=e>>L(32),e}function Rm(e){return e^=e>>L(33),e*=ps,e&=Ae,e^=e>>L(29),e*=pC,e&=Ae,e^=e>>L(32),e}function PB(e,t,r){let n=e.byteLength;eu(n>0&&n<=3);let i=L(Ib(e,n-1))|L(n<<8)|L(Ib(e,0)<<16)|L(Ib(e,n>>1)<<24),o=(L(Yc(t,0))^L(Yc(t,4)))+r,a=(i^o)&Ae,s=(L(Yc(t,8))^L(Yc(t,12)))-r,c=(TB(EB(i),L(13))^s)&Ae;return(Rm(c)&Ae)<<L(64)|Rm(a)}function Sb(e,t){return e^e>>t}function RB(e,t,r){let n=e.byteLength;eu(n>=4&&n<=8);{let i=Yc(e,0),o=Yc(e,n-4),a=L(i)|L(o)<<L(32),s=(ct(t,16)^ct(t,24))+r&Ae,u=(a^s)*(ta+(L(n)<<L(2)))&Qc;return u+=(u&Ae)<<L(65),u&=Qc,u^=u>>L(67),Sb(Sb(u&Ae,L(35))*xB&Ae,L(28))|_i(u>>L(64))<<L(64)}}function NB(e,t,r){let n=e.byteLength;eu(n>=9&&n<=16);{let i=(ct(t,32)^ct(t,40))+r&Ae,o=(ct(t,48)^ct(t,56))-r&Ae,a=ct(e),s=ct(e,n-8),c=(a^s^i)*ta,u=(c&Ae)+(L(n-1)<<L(54));c=c&(Qc^Ae)|u,s^=o,c+=s+(s&Pm)*(dC-L(1))<<L(64),c&=Qc,c^=kB(c>>L(64));let l=(c&Ae)*ps;return l+=(c>>L(64))*ps<<L(64),l&=Qc,_i(l&Ae)|_i(l>>L(64))<<L(64)}}function MB(e,t){let r=e.byteLength;return eu(r<=16),r>8?NB(e,gi,t):r>=4?RB(e,gi,t):r>0?PB(e,gi,t):Rm(t^ct(gi,64)^ct(gi,72))|Rm(t^ct(gi,80)^ct(gi,88))<<L(64)}function kb(e){return~e+L(1)&Ae}function jB(e,t,r){let n=L(e.byteLength)*ta&Ae,i=L(e.byteLength-1)/L(32);for(;i>=0;){let s=Number(i);n=Cm(n,rt(e,16*s),rt(e,e.byteLength-16*(s+1)),rt(t,32*s),r),i--}let o=n+(n>>L(64))&Ae;o=_i(o);let a=(n&Ae)*ta+(n>>L(64))*Eb+(L(e.byteLength)-r&Ae)*ps;return a&=Ae,a=kb(_i(a)),o|a<<L(64)}function zB(e,t,r){let n=L(e.byteLength)*ta&Ae;for(let a=32;a<160;a+=32)n=Cm(n,rt(e,a-32),rt(e,a-16),rt(t,a-32),r);n=_i(n&Ae)|_i(n>>L(64))<<L(64);for(let a=160;a<=e.byteLength;a+=32)n=Cm(n,rt(e,a-32),rt(e,a-16),rt(t,3+a-160),r);n=Cm(n,rt(e,e.byteLength-16),rt(e,e.byteLength-32),rt(t,103),kb(r));let i=n+(n>>L(64))&Ae;i=_i(i);let o=(n&Ae)*ta+(n>>L(64))*Eb+(L(e.byteLength)-r&Ae)*ps;return o&=Ae,o=kb(_i(o)),i|o<<L(64)}function gC(e,t=L(0)){let r=e.byteLength;return r<=16?MB(e,t):r<=128?jB(e,gi,t):r<=240?zB(e,gi,t):CB(e,gi,t)}function _C(e){let t=new Uint8Array(16),r=new DataView(t.buffer),n=e&Ae,i=e>>L(64);return r.setBigUint64(0,i,!1),r.setBigUint64(8,n,!1),t}var yC=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function Se(e,t){if(!yC.test(e)){let r=t!==void 0?`Invalid UUID for ${t}: ${e}`:`Invalid UUID: ${e}`;throw new Error(r)}return e}function Nm(e){let t=typeof e=="string"?Date.parse(e):e;return yd({msecs:t,seq:0})}function DB(e){if(!yC.test(e))return null;let t=e[14];return parseInt(t,16)}function LB(e){let t=e.replace(/-/g,""),r=new Uint8Array(16);for(let n=0;n<16;n++)r[n]=parseInt(t.slice(n*2,n*2+2),16);return r}function UB(e){let t=Array.from(e).map(r=>r.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}var FB=new TextEncoder;function BB(e){let t=FB.encode(e),r=gC(t);return _C(r)}function Td(e,t){let r=`${e}:${t}`,n=BB(r),i=new Uint8Array(16);if(DB(e)===7){let a=LB(e);i.set(a.slice(0,6),0)}else{let a=Date.now();i[0]=a/1099511627776&255,i[1]=a/4294967296&255,i[2]=a/16777216&255,i[3]=a/65536&255,i[4]=a/256&255,i[5]=a&255}return i[6]=112|n[0]&15,i[7]=n[1],i[8]=128|n[2]&63,i.set(n.slice(3,10),9),UB(i)}var Ad={join:(...e)=>e.join("/"),dirname:e=>e.split("/").slice(0,-1).join("/")};async function vC(e){}async function bC(e,t){}async function wC(e){return[]}async function xC(e){return{size:0}}function Mm(e){return!1}function IC(e){return""}function ZB(e,t){return t===null?!1:Date.now()-e.createdAt>t*1e3}var jm=class{constructor(t={}){Object.defineProperty(this,"cache",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"ttlSeconds",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"refreshIntervalSeconds",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"refreshTimer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_metrics",{enumerable:!0,configurable:!0,writable:!0,value:{hits:0,misses:0,refreshes:0,refreshErrors:0}}),this.configure(t)}get metrics(){return{...this._metrics}}get totalRequests(){return this._metrics.hits+this._metrics.misses}get hitRate(){let t=this.totalRequests;return t>0?this._metrics.hits/t:0}resetMetrics(){this._metrics={hits:0,misses:0,refreshes:0,refreshErrors:0}}get(t,r){if(this.maxSize===0)return;let n=this.cache.get(t);if(!n){this._metrics.misses+=1;return}return this.cache.delete(t),this.cache.set(t,{...n,refreshFunc:r}),this._metrics.hits+=1,n.value}set(t,r,n){if(this.maxSize===0)return;if(this.refreshTimer===void 0&&this.startRefreshLoop(),!this.cache.has(t)&&this.cache.size>=this.maxSize){let o=this.cache.keys().next().value;o!==void 0&&this.cache.delete(o)}let i={value:r,createdAt:Date.now(),refreshFunc:n};this.cache.delete(t),this.cache.set(t,i)}invalidate(t){this.cache.delete(t)}clear(){this.cache.clear()}get size(){return this.cache.size}stop(){this.refreshTimer&&(clearInterval(this.refreshTimer),this.refreshTimer=void 0)}dump(t){let r={};for(let[o,a]of this.cache.entries())r[o]=a.value;let n=Ad.dirname(t);Mm(n)||void 0;let i=`${t}.tmp`;try{JSON.stringify({entries:r},null,2)}catch(o){throw Mm(i)&&void 0,o}}load(t){if(!Mm(t))return 0;let r;try{let o=IC(t);r=JSON.parse(o).entries??null}catch{return 0}if(!r)return 0;let n=0,i=Date.now();for(let[o,a]of Object.entries(r)){if(this.cache.size>=this.maxSize)break;let s={value:a,createdAt:i};this.cache.set(o,s),n+=1}return n}startRefreshLoop(){this.stop(),this.ttlSeconds!==null&&(this.refreshTimer=setInterval(()=>{this.refreshStaleEntries().catch(t=>{console.warn("Unexpected error in cache refresh loop:",t)})},this.refreshIntervalSeconds*1e3),this.refreshTimer.unref&&this.refreshTimer.unref())}getStaleEntries(){let t=[];for(let[r,n]of this.cache.entries())ZB(n,this.ttlSeconds)&&t.push([r,n]);return t}async refreshStaleEntries(){let t=this.getStaleEntries();if(t.length!==0){for(let[r,n]of t)if(n.refreshFunc!==void 0)try{let i=await n.refreshFunc();this.set(r,i,n.refreshFunc),this._metrics.refreshes+=1}catch(i){this._metrics.refreshErrors+=1,console.warn(`Failed to refresh cache entry ${r}:`,i)}}}configure(t){this.stop(),this.refreshIntervalSeconds=t.refreshIntervalSeconds??60,this.maxSize=t.maxSize??100,this.ttlSeconds=t.ttlSeconds??300}},zm=new jm;var Dm="0.5.12";var vi,GB=()=>typeof window<"u"&&typeof window.document<"u",HB=()=>typeof globalThis=="object"&&globalThis.constructor&&globalThis.constructor.name==="DedicatedWorkerGlobalScope",qB=()=>typeof window<"u"&&window.name==="nodejs"||typeof navigator<"u"&&navigator.userAgent.includes("jsdom"),SC=()=>typeof Deno<"u",KB=()=>typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"&&!SC(),Ab=()=>vi||(typeof Bun<"u"?vi="bun":GB()?vi="browser":KB()?vi="node":HB()?vi="webworker":qB()?vi="jsdom":SC()?vi="deno":vi="other",vi),$b;function Lm(){if($b===void 0){let e=Ab(),t=JB();$b={library:"langsmith",runtime:e,sdk:"langsmith-js",sdk_version:Dm,...t}}return $b}function Ob(){let e=WB(),t={},r=["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[n,i]of Object.entries(e))typeof i=="string"&&!r.includes(n)&&!n.toLowerCase().includes("key")&&!n.toLowerCase().includes("secret")&&!n.toLowerCase().includes("token")&&(n==="LANGCHAIN_REVISION_ID"?t.revision_id=i:t[n]=i);return t}function WB(){let e={};try{if(typeof process<"u"&&process.env)for(let[t,r]of Object.entries(process.env))(t.startsWith("LANGCHAIN_")||t.startsWith("LANGSMITH_"))&&r!=null&&((t.toLowerCase().includes("key")||t.toLowerCase().includes("secret")||t.toLowerCase().includes("token"))&&typeof r=="string"?e[t]=r.slice(0,2)+"*".repeat(r.length-4)+r.slice(-2):e[t]=r)}catch{}return e}function qr(e){try{return typeof process<"u"?process.env?.[e]:void 0}catch{return}}function gt(e){return qr(`LANGSMITH_${e}`)||qr(`LANGCHAIN_${e}`)}var Tb;function JB(){if(Tb!==void 0)return Tb;let e=["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"],t={};for(let r of e){let n=qr(r);n!==void 0&&(t[r]=n)}return Tb=t,t}function Um(){return qr("OTEL_ENABLED")==="true"||gt("OTEL_ENABLED")==="true"}var Rb=class{constructor(){Object.defineProperty(this,"hasWarned",{enumerable:!0,configurable:!0,writable:!0,value:!1})}startActiveSpan(t,...r){!this.hasWarned&&Um()&&(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 n;if(r.length===1&&typeof r[0]=="function"?n=r[0]:r.length===2&&typeof r[1]=="function"?n=r[1]:r.length===3&&typeof r[2]=="function"&&(n=r[2]),typeof n=="function")return n()}},Nb=class{constructor(){Object.defineProperty(this,"mockTracer",{enumerable:!0,configurable:!0,writable:!0,value:new Rb})}getTracer(t,r){return this.mockTracer}getActiveSpan(){}setSpan(t,r){return t}getSpan(t){}setSpanContext(t,r){return t}getTracerProvider(){}setGlobalTracerProvider(t){return!1}},Mb=class{active(){return{}}with(t,r){return r()}},Cb=Symbol.for("ls:otel_trace"),Pb=Symbol.for("ls:otel_context"),kC=Symbol.for("ls:otel_get_default_otlp_tracer_provider"),XB=new Nb,YB=new Mb,jb=class{getTraceInstance(){return globalThis[Cb]??XB}getContextInstance(){return globalThis[Pb]??YB}initializeGlobalInstances(t){globalThis[Cb]===void 0&&(globalThis[Cb]=t.trace),globalThis[Pb]===void 0&&(globalThis[Pb]=t.context)}setDefaultOTLPTracerComponents(t){globalThis[kC]=t}getDefaultOTLPTracerComponents(){return globalThis[kC]??void 0}},zb=new jb;function Fm(){return zb.getTraceInstance()}function EC(){return zb.getContextInstance()}function $C(){return zb.getDefaultOTLPTracerComponents()}var QB={llm:"chat",tool:"execute_tool",retriever:"embeddings",embedding:"embeddings",prompt:"chat"};function e3(e){return QB[e]||e}var Bm=class{constructor(){Object.defineProperty(this,"spans",{enumerable:!0,configurable:!0,writable:!0,value:new Map})}exportBatch(t,r){for(let n of t)try{if(!n.run)continue;if(n.operation==="post"){let i=this.createSpanForRun(n,n.run,r.get(n.id));i&&!n.run.end_time&&this.spans.set(n.id,i)}else this.updateSpanForRun(n,n.run)}catch(i){console.error(`Error processing operation ${n.id}:`,i)}}createSpanForRun(t,r,n){let i=n&&Fm().getSpan(n);if(i)try{return this.finishSpanSetup(i,r,t)}catch(o){console.error(`Failed to create span for run ${t.id}:`,o);return}}finishSpanSetup(t,r,n){return this.setSpanAttributes(t,r,n),r.error?(t.setStatus({code:2}),t.recordException(new Error(r.error))):t.setStatus({code:1}),r.end_time&&t.end(new Date(r.end_time)),t}updateSpanForRun(t,r){try{let n=this.spans.get(t.id);if(!n){console.debug(`No span found for run ${t.id} during update`);return}this.setSpanAttributes(n,r,t),r.error?(n.setStatus({code:2}),n.recordException(new Error(r.error))):n.setStatus({code:1});let i=r.end_time;i&&(n.end(new Date(i)),this.spans.delete(t.id))}catch(n){console.error(`Failed to update span for run ${t.id}:`,n)}}extractModelName(t){if(t.extra?.metadata){let r=t.extra.metadata;if(r.ls_model_name)return r.ls_model_name;if(r.invocation_params){let n=r.invocation_params;if(n.model)return n.model;if(n.model_name)return n.model_name}}}setSpanAttributes(t,r,n){if("run_type"in r&&r.run_type){t.setAttribute(YO,r.run_type);let s=e3(r.run_type||"chain");t.setAttribute(AO,s)}"name"in r&&r.name&&t.setAttribute(QO,r.name),"session_id"in r&&r.session_id&&t.setAttribute(JO,r.session_id),"session_name"in r&&r.session_name&&t.setAttribute(XO,r.session_name),this.setGenAiSystem(t,r);let i=this.extractModelName(r);i&&t.setAttribute(yb,i),"prompt_tokens"in r&&typeof r.prompt_tokens=="number"&&t.setAttribute(vb,r.prompt_tokens),"completion_tokens"in r&&typeof r.completion_tokens=="number"&&t.setAttribute(bb,r.completion_tokens),"total_tokens"in r&&typeof r.total_tokens=="number"&&t.setAttribute(wb,r.total_tokens),this.setInvocationParameters(t,r);let o=r.extra?.metadata||{};for(let[s,c]of Object.entries(o))c!=null&&t.setAttribute(`${eC}.${s}`,String(c));let a=r.tags;if(a&&Array.isArray(a)?t.setAttribute(xb,a.join(", ")):a&&t.setAttribute(xb,String(a)),"serialized"in r&&typeof r.serialized=="object"){let s=r.serialized;s.name&&t.setAttribute(BO,String(s.name)),s.signature&&t.setAttribute(VO,String(s.signature)),s.doc&&t.setAttribute(ZO,String(s.doc))}this.setIOAttributes(t,n)}setGenAiSystem(t,r){let n="langchain",i=this.extractModelName(r);if(i){let o=i.toLowerCase();o.includes("anthropic")||o.startsWith("claude")?n="anthropic":o.includes("bedrock")?n="aws.bedrock":o.includes("azure")&&o.includes("openai")?n="az.ai.openai":o.includes("azure")&&o.includes("inference")?n="az.ai.inference":o.includes("cohere")?n="cohere":o.includes("deepseek")?n="deepseek":o.includes("gemini")?n="gemini":o.includes("groq")?n="groq":o.includes("watson")||o.includes("ibm")?n="ibm.watsonx.ai":o.includes("mistral")?n="mistral_ai":o.includes("gpt")||o.includes("openai")?n="openai":o.includes("perplexity")||o.includes("sonar")?n="perplexity":o.includes("vertex")?n="vertex_ai":(o.includes("xai")||o.includes("grok"))&&(n="xai")}t.setAttribute(OO,n)}setInvocationParameters(t,r){if(!r.extra?.metadata?.invocation_params)return;let n=r.extra.metadata.invocation_params;n.max_tokens!==void 0&&t.setAttribute(PO,n.max_tokens),n.temperature!==void 0&&t.setAttribute(RO,n.temperature),n.top_p!==void 0&&t.setAttribute(NO,n.top_p),n.frequency_penalty!==void 0&&t.setAttribute(MO,n.frequency_penalty),n.presence_penalty!==void 0&&t.setAttribute(jO,n.presence_penalty)}setIOAttributes(t,r){if(r.run.inputs)try{let n=r.run.inputs;typeof n=="object"&&n!==null&&(n.model&&Array.isArray(n.messages)&&t.setAttribute(yb,n.model),n.stream!==void 0&&t.setAttribute(tC,n.stream),n.extra_headers&&t.setAttribute(rC,JSON.stringify(n.extra_headers)),n.extra_query&&t.setAttribute(UO,JSON.stringify(n.extra_query)),n.extra_body&&t.setAttribute(FO,JSON.stringify(n.extra_body))),t.setAttribute(DO,JSON.stringify(n))}catch(n){console.debug(`Failed to process inputs for run ${r.id}`,n)}if(r.run.outputs)try{let n=r.run.outputs,i=this.getUnifiedRunTokens(n);if(i&&(t.setAttribute(vb,i[0]),t.setAttribute(bb,i[1]),t.setAttribute(wb,i[0]+i[1])),n&&typeof n=="object"){if(n.model&&t.setAttribute(CO,String(n.model)),n.id&&t.setAttribute(GO,n.id),n.choices&&Array.isArray(n.choices)){let o=n.choices.map(a=>a.finish_reason).filter(a=>a).map(String);o.length>0&&t.setAttribute(zO,o.join(", "))}if(n.service_tier&&t.setAttribute(HO,n.service_tier),n.system_fingerprint&&t.setAttribute(qO,n.system_fingerprint),n.usage_metadata&&typeof n.usage_metadata=="object"){let o=n.usage_metadata;o.input_token_details&&t.setAttribute(KO,JSON.stringify(o.input_token_details)),o.output_token_details&&t.setAttribute(WO,JSON.stringify(o.output_token_details))}}t.setAttribute(LO,JSON.stringify(n))}catch(n){console.debug(`Failed to process outputs for run ${r.id}`,n)}}getUnifiedRunTokens(t){if(!t)return null;let r=this.extractUnifiedRunTokens(t.usage_metadata);if(r)return r;let n=Object.keys(t);for(let a of n){let s=t[a];if(!(!s||typeof s!="object")&&(r=this.extractUnifiedRunTokens(s.usage_metadata),r||s.lc===1&&s.kwargs&&typeof s.kwargs=="object"&&(r=this.extractUnifiedRunTokens(s.kwargs.usage_metadata),r)))return r}let i=t.generations||[];if(!Array.isArray(i))return null;let o=Array.isArray(i[0])?i.flat():i;for(let a of o)if(typeof a=="object"&&a.message&&typeof a.message=="object"&&a.message.kwargs&&typeof a.message.kwargs=="object"&&(r=this.extractUnifiedRunTokens(a.message.kwargs.usage_metadata),r))return r;return null}extractUnifiedRunTokens(t){return!t||typeof t!="object"||typeof t.input_tokens!="number"||typeof t.output_tokens!="number"?null:[t.input_tokens,t.output_tokens]}};var t3=Object.prototype.toString,r3=e=>t3.call(e)==="[object Error]",n3=new Set(["network error","Failed to fetch","NetworkError when attempting to fetch resource.","The Internet connection appears to be offline.","Network request failed","fetch failed","terminated"," A network error occurred.","Network connection lost"]);function Db(e){if(!(e&&r3(e)&&e.name==="TypeError"&&typeof e.message=="string"))return!1;let{message:r,stack:n}=e;return r==="Load failed"?n===void 0||"__sentry_captured__"in e:r.startsWith("error sending request for url")?!0:n3.has(r)}function i3(e){if(typeof e=="number"){if(e<0)throw new TypeError("Expected `retries` to be a non-negative number.");if(Number.isNaN(e))throw new TypeError("Expected `retries` to be a valid number or Infinity, got NaN.")}else if(e!==void 0)throw new TypeError("Expected `retries` to be a number or Infinity.")}function Vm(e,t,{min:r=0,allowInfinity:n=!1}={}){if(t!==void 0){if(typeof t!="number"||Number.isNaN(t))throw new TypeError(`Expected \`${e}\` to be a number${n?" or Infinity":""}.`);if(!n&&!Number.isFinite(t))throw new TypeError(`Expected \`${e}\` to be a finite number.`);if(t<r)throw new TypeError(`Expected \`${e}\` to be \u2265 ${r}.`)}}var Lb=class extends Error{constructor(t){super(),t instanceof Error?(this.originalError=t,{message:t}=t):(this.originalError=new Error(t),this.originalError.stack=this.stack),this.name="AbortError",this.message=t}};function o3(e,t){let r=Math.max(1,e+1),n=t.randomize?Math.random()+1:1,i=Math.round(n*t.minTimeout*t.factor**(r-1));return i=Math.min(i,t.maxTimeout),i}function TC(e,t){return Number.isFinite(t)?t-(performance.now()-e):t}async function a3({error:e,attemptNumber:t,retriesConsumed:r,startTime:n,options:i}){let o=e instanceof Error?e:new TypeError(`Non-error was thrown: "${e}". You should only throw errors.`);if(o instanceof Lb)throw o.originalError;let a=Number.isFinite(i.retries)?Math.max(0,i.retries-r):i.retries,s=i.maxRetryTime??Number.POSITIVE_INFINITY,c=Object.freeze({error:o,attemptNumber:t,retriesLeft:a,retriesConsumed:r});if(await i.onFailedAttempt(c),TC(n,s)<=0)throw o;let u=await i.shouldConsumeRetry(c),l=TC(n,s);if(l<=0||a<=0)throw o;if(o instanceof TypeError&&!Db(o)){if(u)throw o;return i.signal?.throwIfAborted(),!1}if(!await i.shouldRetry(c))throw o;if(!u)return i.signal?.throwIfAborted(),!1;let d=o3(r,i),f=Math.min(d,l);return f>0&&await new Promise((p,m)=>{let h=()=>{clearTimeout(w),i.signal?.removeEventListener("abort",h),m(i.signal.reason)},w=setTimeout(()=>{i.signal?.removeEventListener("abort",h),p()},f);i.unref&&w.unref?.(),i.signal?.addEventListener("abort",h,{once:!0})}),i.signal?.throwIfAborted(),!0}async function Ub(e,t={}){if(t={...t},i3(t.retries),Object.hasOwn(t,"forever"))throw new Error("The `forever` option is no longer supported. For many use-cases, you can set `retries: Infinity` instead.");t.retries??=10,t.factor??=2,t.minTimeout??=1e3,t.maxTimeout??=Number.POSITIVE_INFINITY,t.maxRetryTime??=Number.POSITIVE_INFINITY,t.randomize??=!1,t.onFailedAttempt??=()=>{},t.shouldRetry??=()=>!0,t.shouldConsumeRetry??=()=>!0,Vm("factor",t.factor,{min:0,allowInfinity:!1}),Vm("minTimeout",t.minTimeout,{min:0,allowInfinity:!1}),Vm("maxTimeout",t.maxTimeout,{min:0,allowInfinity:!0}),Vm("maxRetryTime",t.maxRetryTime,{min:0,allowInfinity:!0}),t.factor>0||(t.factor=1),t.signal?.throwIfAborted();let r=0,n=0,i=performance.now();for(;!Number.isFinite(t.retries)||n<=t.retries;){r++;try{t.signal?.throwIfAborted();let o=await e(r);return t.signal?.throwIfAborted(),o}catch(o){await a3({error:o,attemptNumber:r,retriesConsumed:n,startTime:i,options:t})&&n++}}throw new Error("Retry attempts exhausted without throwing an error.")}var Wm=Ko(Km(),1),DC="default"in Wm.default?Wm.default.default:Wm.default;var h3=[408,425,429,500,502,503,504],Cd=class{constructor(t){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,"maxQueueSizeBytes",{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}),Object.defineProperty(this,"queueSizeBytes",{enumerable:!0,configurable:!0,writable:!0,value:0}),this.maxConcurrency=t.maxConcurrency??1/0,this.maxRetries=t.maxRetries??6,this.maxQueueSizeBytes=t.maxQueueSizeBytes,this.queue=new DC({concurrency:this.maxConcurrency}),this.onFailedResponseHook=t?.onFailedResponseHook}call(t,...r){return this.callWithOptions({},t,...r)}callWithOptions(t,r,...n){let i=t.sizeBytes??0;if(this.maxQueueSizeBytes!==void 0&&i>0&&this.queueSizeBytes+i>this.maxQueueSizeBytes)return Promise.reject(new Error(`Queue size limit (${this.maxQueueSizeBytes} bytes) exceeded. Current queue size: ${this.queueSizeBytes} bytes, attempted addition: ${i} bytes.`));i>0&&(this.queueSizeBytes+=i);let o=this.onFailedResponseHook,a=this.queue.add(()=>Ub(()=>r(...n).catch(s=>{throw s instanceof Error?s:new Error(s)}),{async onFailedAttempt({error:s}){if(typeof s!="object"||s==null)throw s;let c="message"in s&&typeof s.message=="string"?s.message:void 0;if(c?.startsWith("Cancel")||c?.startsWith("TimeoutError")||c?.startsWith("AbortError")||"name"in s&&s.name==="TimeoutError"||"code"in s&&s.code==="ECONNABORTED")throw s;let u="response"in s?s.response:void 0;if(o&&await o(u))return;let l=u?.status??("status"in s?s.status:void 0);if(l!=null&&(typeof l=="number"||typeof l=="string")&&!h3.includes(+l))throw s},retries:this.maxRetries,randomize:!0}),{throwOnTimeout:!0});return i>0&&(a=a.finally(()=>{this.queueSizeBytes-=i})),t.signal?Promise.race([a,new Promise((s,c)=>{t.signal?.addEventListener("abort",()=>{c(new Error("AbortError"))})})]):a}};function qb(e){return typeof e?._getType=="function"}function Kb(e){let t={type:e._getType(),data:{content:e.content}};return e?.additional_kwargs&&Object.keys(e.additional_kwargs).length>0&&(t.data.additional_kwargs={...e.additional_kwargs}),t}var d9=Ko($R(),1);function uh(e){return`Invalid prompt identifier format: "${e}". Expected one of:
|
|
22
22
|
- "prompt-name" (for private prompts)
|
|
23
23
|
- "owner/prompt-name" (for prompts with explicit owner)
|
|
24
24
|
- "prompt-name:commit-hash" (with commit reference)
|
|
@@ -59,7 +59,7 @@ Message: ${Array.isArray(a.detail)?a.detail.join(`
|
|
|
59
59
|
${e.stack}`:""):typeof e=="string"?e:`${e}`}_addChildRun(e,t){e.child_runs.push(t)}_addRunToRunMap(e){let{dottedOrder:t,microsecondPrecisionDatestring:r}=ww(new Date(e.start_time).getTime(),e.id,e.execution_order),n={...e},i=this.getRunById(n.parent_run_id);if(n.parent_run_id!==void 0?i?(this._addChildRun(i,n),i.child_execution_order=Math.max(i.child_execution_order,n.child_execution_order),n.trace_id=i.trace_id,i.dotted_order!==void 0&&(n.dotted_order=[i.dotted_order,t].join("."),n._serialized_start_time=r)):n.parent_run_id=void 0:(n.trace_id=n.id,n.dotted_order=t,n._serialized_start_time=r),this.usesRunTreeMap){let o=Iw(n,i);o!==void 0&&this.runTreeMap.set(n.id,o)}else this.runMap.set(n.id,n);return n}async _endTrace(e){let t=e.parent_run_id!==void 0&&this.getRunById(e.parent_run_id);t?t.child_execution_order=Math.max(t.child_execution_order,e.child_execution_order):await this.persistRun(e),await this.onRunUpdate?.(e),this.usesRunTreeMap?this.runTreeMap.delete(e.id):this.runMap.delete(e.id)}_getExecutionOrder(e){let t=e!==void 0&&this.getRunById(e);return t?t.child_execution_order+1:1}_createRunForLLMStart(e,t,r,n,i,o,a,s){let c=this._getExecutionOrder(n),u=Date.now(),l=a?{...i,metadata:a}:i,d={id:r,name:s??e.id[e.id.length-1],parent_run_id:n,start_time:u,serialized:e,events:[{name:"start",time:new Date(u).toISOString()}],inputs:{prompts:t},execution_order:c,child_runs:[],child_execution_order:c,run_type:"llm",extra:l??{},tags:o||[]};return this._addRunToRunMap(d)}async handleLLMStart(e,t,r,n,i,o,a,s){let c=this.getRunById(r)??this._createRunForLLMStart(e,t,r,n,i,o,a,s);return await this.onRunCreate?.(c),await this.onLLMStart?.(c),c}_createRunForChatModelStart(e,t,r,n,i,o,a,s){let c=this._getExecutionOrder(n),u=Date.now(),l=a?{...i,metadata:a}:i,d={id:r,name:s??e.id[e.id.length-1],parent_run_id:n,start_time:u,serialized:e,events:[{name:"start",time:new Date(u).toISOString()}],inputs:{messages:t},execution_order:c,child_runs:[],child_execution_order:c,run_type:"llm",extra:l??{},tags:o||[]};return this._addRunToRunMap(d)}async handleChatModelStart(e,t,r,n,i,o,a,s){let c=this.getRunById(r)??this._createRunForChatModelStart(e,t,r,n,i,o,a,s);return await this.onRunCreate?.(c),await this.onLLMStart?.(c),c}async handleLLMEnd(e,t,r,n,i){let o=this.getRunById(t);if(!o||o?.run_type!=="llm")throw new Error("No LLM run to end.");return o.end_time=Date.now(),o.outputs=e,o.events.push({name:"end",time:new Date(o.end_time).toISOString()}),o.extra={...o.extra,...i},await this.onLLMEnd?.(o),await this._endTrace(o),o}async handleLLMError(e,t,r,n,i){let o=this.getRunById(t);if(!o||o?.run_type!=="llm")throw new Error("No LLM run to end.");return o.end_time=Date.now(),o.error=this.stringifyError(e),o.events.push({name:"error",time:new Date(o.end_time).toISOString()}),o.extra={...o.extra,...i},await this.onLLMError?.(o),await this._endTrace(o),o}_createRunForChainStart(e,t,r,n,i,o,a,s,c){let u=this._getExecutionOrder(n),l=Date.now(),d={id:r,name:s??e.id[e.id.length-1],parent_run_id:n,start_time:l,serialized:e,events:[{name:"start",time:new Date(l).toISOString()}],inputs:t,execution_order:u,child_execution_order:u,run_type:a??"chain",child_runs:[],extra:o?{...c,metadata:o}:{...c},tags:i||[]};return this._addRunToRunMap(d)}async handleChainStart(e,t,r,n,i,o,a,s){let c=this.getRunById(r)??this._createRunForChainStart(e,t,r,n,i,o,a,s);return await this.onRunCreate?.(c),await this.onChainStart?.(c),c}async handleChainEnd(e,t,r,n,i){let o=this.getRunById(t);if(!o)throw new Error("No chain run to end.");return o.end_time=Date.now(),o.outputs=xw(e,"output"),o.events.push({name:"end",time:new Date(o.end_time).toISOString()}),i?.inputs!==void 0&&(o.inputs=xw(i.inputs,"input")),await this.onChainEnd?.(o),await this._endTrace(o),o}async handleChainError(e,t,r,n,i){let o=this.getRunById(t);if(!o)throw new Error("No chain run to end.");return o.end_time=Date.now(),o.error=this.stringifyError(e),o.events.push({name:"error",time:new Date(o.end_time).toISOString()}),i?.inputs!==void 0&&(o.inputs=xw(i.inputs,"input")),await this.onChainError?.(o),await this._endTrace(o),o}_createRunForToolStart(e,t,r,n,i,o,a){let s=this._getExecutionOrder(n),c=Date.now(),u={id:r,name:a??e.id[e.id.length-1],parent_run_id:n,start_time:c,serialized:e,events:[{name:"start",time:new Date(c).toISOString()}],inputs:{input:t},execution_order:s,child_execution_order:s,run_type:"tool",child_runs:[],extra:o?{metadata:o}:{},tags:i||[]};return this._addRunToRunMap(u)}async handleToolStart(e,t,r,n,i,o,a){let s=this.getRunById(r)??this._createRunForToolStart(e,t,r,n,i,o,a);return await this.onRunCreate?.(s),await this.onToolStart?.(s),s}async handleToolEnd(e,t){let r=this.getRunById(t);if(!r||r?.run_type!=="tool")throw new Error("No tool run to end");return r.end_time=Date.now(),r.outputs={output:e},r.events.push({name:"end",time:new Date(r.end_time).toISOString()}),await this.onToolEnd?.(r),await this._endTrace(r),r}async handleToolError(e,t){let r=this.getRunById(t);if(!r||r?.run_type!=="tool")throw new Error("No tool run to end");return r.end_time=Date.now(),r.error=this.stringifyError(e),r.events.push({name:"error",time:new Date(r.end_time).toISOString()}),await this.onToolError?.(r),await this._endTrace(r),r}async handleAgentAction(e,t){let r=this.getRunById(t);if(!r||r?.run_type!=="chain")return;let n=r;n.actions=n.actions||[],n.actions.push(e),n.events.push({name:"agent_action",time:new Date().toISOString(),kwargs:{action:e}}),await this.onAgentAction?.(r)}async handleAgentEnd(e,t){let r=this.getRunById(t);!r||r?.run_type!=="chain"||(r.events.push({name:"agent_end",time:new Date().toISOString(),kwargs:{action:e}}),await this.onAgentEnd?.(r))}_createRunForRetrieverStart(e,t,r,n,i,o,a){let s=this._getExecutionOrder(n),c=Date.now(),u={id:r,name:a??e.id[e.id.length-1],parent_run_id:n,start_time:c,serialized:e,events:[{name:"start",time:new Date(c).toISOString()}],inputs:{query:t},execution_order:s,child_execution_order:s,run_type:"retriever",child_runs:[],extra:o?{metadata:o}:{},tags:i||[]};return this._addRunToRunMap(u)}async handleRetrieverStart(e,t,r,n,i,o,a){let s=this.getRunById(r)??this._createRunForRetrieverStart(e,t,r,n,i,o,a);return await this.onRunCreate?.(s),await this.onRetrieverStart?.(s),s}async handleRetrieverEnd(e,t){let r=this.getRunById(t);if(!r||r?.run_type!=="retriever")throw new Error("No retriever run to end");return r.end_time=Date.now(),r.outputs={documents:e},r.events.push({name:"end",time:new Date(r.end_time).toISOString()}),await this.onRetrieverEnd?.(r),await this._endTrace(r),r}async handleRetrieverError(e,t){let r=this.getRunById(t);if(!r||r?.run_type!=="retriever")throw new Error("No retriever run to end");return r.end_time=Date.now(),r.error=this.stringifyError(e),r.events.push({name:"error",time:new Date(r.end_time).toISOString()}),await this.onRetrieverError?.(r),await this._endTrace(r),r}async handleText(e,t){let r=this.getRunById(t);!r||r?.run_type!=="chain"||(r.events.push({name:"text",time:new Date().toISOString(),kwargs:{text:e}}),await this.onText?.(r))}async handleLLMNewToken(e,t,r,n,i,o){let a=this.getRunById(r);if(!a||a?.run_type!=="llm")throw new Error('Invalid "runId" provided to "handleLLMNewToken" callback.');return a.events.push({name:"new_token",time:new Date().toISOString(),kwargs:{token:e,idx:t,chunk:o?.chunk}}),await this.onLLMNewToken?.(a,e,{chunk:o?.chunk}),a}};var Sw=Ko(WR(),1),XR=P({ConsoleCallbackHandler:()=>hh});function vr(e,t){return`${e.open}${t}${e.close}`}function _n(e,t){try{return JSON.stringify(e,null,2)}catch{return t}}function JR(e){return typeof e=="string"?e.trim():e==null?e:_n(e,e.toString())}function ra(e){if(!e.end_time)return"";let t=e.end_time-e.start_time;return t<1e3?`${t}ms`:`${(t/1e3).toFixed(2)}s`}var{color:Pr}=Sw.default,hh=class extends Jt{name="console_callback_handler";persistRun(e){return Promise.resolve()}getParents(e){let t=[],r=e;for(;r.parent_run_id;){let n=this.runMap.get(r.parent_run_id);if(n)t.push(n),r=n;else break}return t}getBreadcrumbs(e){let t=[...this.getParents(e).reverse(),e].map((r,n,i)=>{let o=`${r.execution_order}:${r.run_type}:${r.name}`;return n===i.length-1?vr(Sw.default.bold,o):o}).join(" > ");return vr(Pr.grey,t)}onChainStart(e){let t=this.getBreadcrumbs(e);console.log(`${vr(Pr.green,"[chain/start]")} [${t}] Entering Chain run with input: ${_n(e.inputs,"[inputs]")}`)}onChainEnd(e){let t=this.getBreadcrumbs(e);console.log(`${vr(Pr.cyan,"[chain/end]")} [${t}] [${ra(e)}] Exiting Chain run with output: ${_n(e.outputs,"[outputs]")}`)}onChainError(e){let t=this.getBreadcrumbs(e);console.log(`${vr(Pr.red,"[chain/error]")} [${t}] [${ra(e)}] Chain run errored with error: ${_n(e.error,"[error]")}`)}onLLMStart(e){let t=this.getBreadcrumbs(e),r="prompts"in e.inputs?{prompts:e.inputs.prompts.map(n=>n.trim())}:e.inputs;console.log(`${vr(Pr.green,"[llm/start]")} [${t}] Entering LLM run with input: ${_n(r,"[inputs]")}`)}onLLMEnd(e){let t=this.getBreadcrumbs(e);console.log(`${vr(Pr.cyan,"[llm/end]")} [${t}] [${ra(e)}] Exiting LLM run with output: ${_n(e.outputs,"[response]")}`)}onLLMError(e){let t=this.getBreadcrumbs(e);console.log(`${vr(Pr.red,"[llm/error]")} [${t}] [${ra(e)}] LLM run errored with error: ${_n(e.error,"[error]")}`)}onToolStart(e){let t=this.getBreadcrumbs(e);console.log(`${vr(Pr.green,"[tool/start]")} [${t}] Entering Tool run with input: "${JR(e.inputs.input)}"`)}onToolEnd(e){let t=this.getBreadcrumbs(e);console.log(`${vr(Pr.cyan,"[tool/end]")} [${t}] [${ra(e)}] Exiting Tool run with output: "${JR(e.outputs?.output)}"`)}onToolError(e){let t=this.getBreadcrumbs(e);console.log(`${vr(Pr.red,"[tool/error]")} [${t}] [${ra(e)}] Tool run errored with error: ${_n(e.error,"[error]")}`)}onRetrieverStart(e){let t=this.getBreadcrumbs(e);console.log(`${vr(Pr.green,"[retriever/start]")} [${t}] Entering Retriever run with input: ${_n(e.inputs,"[inputs]")}`)}onRetrieverEnd(e){let t=this.getBreadcrumbs(e);console.log(`${vr(Pr.cyan,"[retriever/end]")} [${t}] [${ra(e)}] Exiting Retriever run with output: ${_n(e.outputs,"[outputs]")}`)}onRetrieverError(e){let t=this.getBreadcrumbs(e);console.log(`${vr(Pr.red,"[retriever/error]")} [${t}] [${ra(e)}] Retriever run errored with error: ${_n(e.error,"[error]")}`)}onAgentAction(e){let t=e,r=this.getBreadcrumbs(e);console.log(`${vr(Pr.blue,"[agent/action]")} [${r}] Agent selected action: ${_n(t.actions[t.actions.length-1],"[action]")}`)}};var kw,gh=()=>(kw===void 0&&(kw=new yi(et("LANGCHAIN_CALLBACKS_BACKGROUND")==="false"?{blockOnRootRunFinalization:!0}:{})),kw);var $w=class{getStore(){}run(t,r){return r()}},Ew=Symbol.for("ls:tracing_async_local_storage"),M9=new $w,Tw=class{getInstance(){return globalThis[Ew]??M9}initializeGlobalInstance(t){globalThis[Ew]===void 0&&(globalThis[Ew]=t)}},j9=new Tw;function YR(e=!1){let t=j9.getInstance().getStore();if(!e&&t===void 0)throw new Error(`Could not get the current run tree.
|
|
60
60
|
|
|
61
61
|
Please make sure you are calling this method within a traceable function and that tracing is enabled.`);return t}var eoe=Symbol.for("langsmith:traceable:root");function _h(e){return typeof e=="function"&&"langsmith:traceable"in e}var QR=P({LangChainTracer:()=>yh});function z9(e){let t;for(let r of e)for(let n of r)be.isInstance(n.message)&&n.message.usage_metadata!==void 0&&(t=Kc(t,n.message.usage_metadata));return t}var yh=class eN extends Jt{name="langchain_tracer";projectName;exampleId;client;replicas;usesRunTreeMap=!0;constructor(t={}){super(t);let{exampleId:r,projectName:n,client:i,replicas:o}=t;this.projectName=n??$d(),this.replicas=o,this.exampleId=r,this.client=i??gh();let a=eN.getTraceableRunTree();a&&this.updateFromRunTree(a)}async persistRun(t){}async onRunCreate(t){t.extra?.lc_defers_inputs||await this.getRunTreeWithTracingConfig(t.id)?.postRun()}async onRunUpdate(t){let r=this.getRunTreeWithTracingConfig(t.id);t.extra?.lc_defers_inputs?await r?.postRun():await r?.patchRun()}onLLMEnd(t){let r=t.outputs;if(r?.generations){let n=z9(r.generations);if(n!==void 0){t.extra=t.extra??{};let i=t.extra.metadata??{};i.usage_metadata=n,t.extra.metadata=i}}}getRun(t){return this.runTreeMap.get(t)}updateFromRunTree(t){this.runTreeMap.set(t.id,t);let r=t,n=new Set;for(;r.parent_run&&!(n.has(r.id)||(n.add(r.id),!r.parent_run));)r=r.parent_run;n.clear();let i=[r];for(;i.length>0;){let o=i.shift();!o||n.has(o.id)||(n.add(o.id),this.runTreeMap.set(o.id,o),o.child_runs&&i.push(...o.child_runs))}this.client=t.client??this.client,this.replicas=t.replicas??this.replicas,this.projectName=t.project_name??this.projectName,this.exampleId=t.reference_example_id??this.exampleId}getRunTreeWithTracingConfig(t){let r=this.runTreeMap.get(t);if(r)return new zn({...r,client:this.client,project_name:this.projectName,replicas:this.replicas,reference_example_id:this.exampleId,tracingEnabled:!0})}static getTraceableRunTree(){try{return YR(!0)}catch{return}}};var tN=Symbol.for("ls:tracing_async_local_storage"),na=Symbol.for("lc:context_variables"),rN=e=>{globalThis[tN]=e},ia=()=>globalThis[tN];var vh=Ko(Km(),1),hs;function D9(){return new("default"in vh.default?vh.default.default:vh.default)({autoStart:!0,concurrency:1})}function L9(){return typeof hs>"u"&&(hs=D9()),hs}async function _t(e,t){if(t===!0){let r=ia();r!==void 0?await r.run(void 0,async()=>e()):await e()}else hs=L9(),hs.add(async()=>{let r=ia();r!==void 0?await r.run(void 0,async()=>e()):await e()})}async function nN(){let e=gh();await Promise.allSettled([typeof hs<"u"?hs.onIdle():Promise.resolve(),e.awaitPendingTraceBatches()])}var iN=P({awaitAllCallbacks:()=>nN,consumeCallback:()=>_t});var oN=e=>e!==void 0?e:!!["LANGSMITH_TRACING_V2","LANGCHAIN_TRACING_V2","LANGSMITH_TRACING","LANGCHAIN_TRACING"].find(t=>et(t)==="true");function Aw(e){let t=ia();if(t!==void 0)return t.getStore()?.[na]?.[e]}var U9=Symbol("lc:configure_hooks"),aN=()=>Aw(U9)||[];var sN=P({BaseCallbackManager:()=>cN,BaseRunManager:()=>Bd,CallbackManager:()=>Et,CallbackManagerForChainRun:()=>lN,CallbackManagerForLLMRun:()=>Ow,CallbackManagerForRetrieverRun:()=>uN,CallbackManagerForToolRun:()=>dN,ensureHandler:()=>nu,parseCallbackConfigArg:()=>gs});function gs(e){return e?Array.isArray(e)||"name"in e?{callbacks:e}:e:{}}var cN=class{setHandler(e){return this.setHandlers([e])}},Bd=class{constructor(e,t,r,n,i,o,a,s){this.runId=e,this.handlers=t,this.inheritableHandlers=r,this.tags=n,this.inheritableTags=i,this.metadata=o,this.inheritableMetadata=a,this._parentRunId=s}get parentRunId(){return this._parentRunId}async handleText(e){await Promise.all(this.handlers.map(t=>_t(async()=>{try{await t.handleText?.(e,this.runId,this._parentRunId,this.tags)}catch(r){if((t.raiseError?console.error:console.warn)(`Error in handler ${t.constructor.name}, handleText: ${r}`),t.raiseError)throw r}},t.awaitHandlers)))}async handleCustomEvent(e,t,r,n,i){await Promise.all(this.handlers.map(o=>_t(async()=>{try{await o.handleCustomEvent?.(e,t,this.runId,this.tags,this.metadata)}catch(a){if((o.raiseError?console.error:console.warn)(`Error in handler ${o.constructor.name}, handleCustomEvent: ${a}`),o.raiseError)throw a}},o.awaitHandlers)))}},uN=class extends Bd{getChild(e){let t=new Et(this.runId);return t.setHandlers(this.inheritableHandlers),t.addTags(this.inheritableTags),t.addMetadata(this.inheritableMetadata),e&&t.addTags([e],!1),t}async handleRetrieverEnd(e){await Promise.all(this.handlers.map(t=>_t(async()=>{if(!t.ignoreRetriever)try{await t.handleRetrieverEnd?.(e,this.runId,this._parentRunId,this.tags)}catch(r){if((t.raiseError?console.error:console.warn)(`Error in handler ${t.constructor.name}, handleRetriever`),t.raiseError)throw r}},t.awaitHandlers)))}async handleRetrieverError(e){await Promise.all(this.handlers.map(t=>_t(async()=>{if(!t.ignoreRetriever)try{await t.handleRetrieverError?.(e,this.runId,this._parentRunId,this.tags)}catch(r){if((t.raiseError?console.error:console.warn)(`Error in handler ${t.constructor.name}, handleRetrieverError: ${r}`),t.raiseError)throw e}},t.awaitHandlers)))}},Ow=class extends Bd{async handleLLMNewToken(e,t,r,n,i,o){await Promise.all(this.handlers.map(a=>_t(async()=>{if(!a.ignoreLLM)try{await a.handleLLMNewToken?.(e,t??{prompt:0,completion:0},this.runId,this._parentRunId,this.tags,o)}catch(s){if((a.raiseError?console.error:console.warn)(`Error in handler ${a.constructor.name}, handleLLMNewToken: ${s}`),a.raiseError)throw s}},a.awaitHandlers)))}async handleLLMError(e,t,r,n,i){await Promise.all(this.handlers.map(o=>_t(async()=>{if(!o.ignoreLLM)try{await o.handleLLMError?.(e,this.runId,this._parentRunId,this.tags,i)}catch(a){if((o.raiseError?console.error:console.warn)(`Error in handler ${o.constructor.name}, handleLLMError: ${a}`),o.raiseError)throw a}},o.awaitHandlers)))}async handleLLMEnd(e,t,r,n,i){await Promise.all(this.handlers.map(o=>_t(async()=>{if(!o.ignoreLLM)try{await o.handleLLMEnd?.(e,this.runId,this._parentRunId,this.tags,i)}catch(a){if((o.raiseError?console.error:console.warn)(`Error in handler ${o.constructor.name}, handleLLMEnd: ${a}`),o.raiseError)throw a}},o.awaitHandlers)))}},lN=class extends Bd{getChild(e){let t=new Et(this.runId);return t.setHandlers(this.inheritableHandlers),t.addTags(this.inheritableTags),t.addMetadata(this.inheritableMetadata),e&&t.addTags([e],!1),t}async handleChainError(e,t,r,n,i){await Promise.all(this.handlers.map(o=>_t(async()=>{if(!o.ignoreChain)try{await o.handleChainError?.(e,this.runId,this._parentRunId,this.tags,i)}catch(a){if((o.raiseError?console.error:console.warn)(`Error in handler ${o.constructor.name}, handleChainError: ${a}`),o.raiseError)throw a}},o.awaitHandlers)))}async handleChainEnd(e,t,r,n,i){await Promise.all(this.handlers.map(o=>_t(async()=>{if(!o.ignoreChain)try{await o.handleChainEnd?.(e,this.runId,this._parentRunId,this.tags,i)}catch(a){if((o.raiseError?console.error:console.warn)(`Error in handler ${o.constructor.name}, handleChainEnd: ${a}`),o.raiseError)throw a}},o.awaitHandlers)))}async handleAgentAction(e){await Promise.all(this.handlers.map(t=>_t(async()=>{if(!t.ignoreAgent)try{await t.handleAgentAction?.(e,this.runId,this._parentRunId,this.tags)}catch(r){if((t.raiseError?console.error:console.warn)(`Error in handler ${t.constructor.name}, handleAgentAction: ${r}`),t.raiseError)throw r}},t.awaitHandlers)))}async handleAgentEnd(e){await Promise.all(this.handlers.map(t=>_t(async()=>{if(!t.ignoreAgent)try{await t.handleAgentEnd?.(e,this.runId,this._parentRunId,this.tags)}catch(r){if((t.raiseError?console.error:console.warn)(`Error in handler ${t.constructor.name}, handleAgentEnd: ${r}`),t.raiseError)throw r}},t.awaitHandlers)))}},dN=class extends Bd{getChild(e){let t=new Et(this.runId);return t.setHandlers(this.inheritableHandlers),t.addTags(this.inheritableTags),t.addMetadata(this.inheritableMetadata),e&&t.addTags([e],!1),t}async handleToolError(e){await Promise.all(this.handlers.map(t=>_t(async()=>{if(!t.ignoreAgent)try{await t.handleToolError?.(e,this.runId,this._parentRunId,this.tags)}catch(r){if((t.raiseError?console.error:console.warn)(`Error in handler ${t.constructor.name}, handleToolError: ${r}`),t.raiseError)throw r}},t.awaitHandlers)))}async handleToolEvent(e){await Promise.all(this.handlers.map(t=>_t(async()=>{if(!t.ignoreAgent)try{await t.handleToolEvent?.(e,this.runId,this._parentRunId,this.tags)}catch(r){if(t.raiseError)throw r}},t.awaitHandlers)))}async handleToolEnd(e){await Promise.all(this.handlers.map(t=>_t(async()=>{if(!t.ignoreAgent)try{await t.handleToolEnd?.(e,this.runId,this._parentRunId,this.tags)}catch(r){if((t.raiseError?console.error:console.warn)(`Error in handler ${t.constructor.name}, handleToolEnd: ${r}`),t.raiseError)throw r}},t.awaitHandlers)))}},Et=class Fd extends cN{handlers=[];inheritableHandlers=[];tags=[];inheritableTags=[];metadata={};inheritableMetadata={};name="callback_manager";_parentRunId;constructor(t,r){super(),this.handlers=r?.handlers??this.handlers,this.inheritableHandlers=r?.inheritableHandlers??this.inheritableHandlers,this.tags=r?.tags??this.tags,this.inheritableTags=r?.inheritableTags??this.inheritableTags,this.metadata=r?.metadata??this.metadata,this.inheritableMetadata=r?.inheritableMetadata??this.inheritableMetadata,this._parentRunId=t}getParentRunId(){return this._parentRunId}async handleLLMStart(t,r,n=void 0,i=void 0,o=void 0,a=void 0,s=void 0,c=void 0){return Promise.all(r.map(async(u,l)=>{let d=l===0&&n?n:mn();return await Promise.all(this.handlers.map(f=>{if(!f.ignoreLLM)return ms(f)&&f._createRunForLLMStart(t,[u],d,this._parentRunId,o,this.tags,this.metadata,c),_t(async()=>{try{await f.handleLLMStart?.(t,[u],d,this._parentRunId,o,this.tags,this.metadata,c)}catch(p){if((f.raiseError?console.error:console.warn)(`Error in handler ${f.constructor.name}, handleLLMStart: ${p}`),f.raiseError)throw p}},f.awaitHandlers)})),new Ow(d,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}))}async handleChatModelStart(t,r,n=void 0,i=void 0,o=void 0,a=void 0,s=void 0,c=void 0){return Promise.all(r.map(async(u,l)=>{let d=l===0&&n?n:mn();return await Promise.all(this.handlers.map(f=>{if(!f.ignoreLLM)return ms(f)&&f._createRunForChatModelStart(t,[u],d,this._parentRunId,o,this.tags,this.metadata,c),_t(async()=>{try{if(f.handleChatModelStart)await f.handleChatModelStart?.(t,[u],d,this._parentRunId,o,this.tags,this.metadata,c);else if(f.handleLLMStart){let p=Wc(u);await f.handleLLMStart?.(t,[p],d,this._parentRunId,o,this.tags,this.metadata,c)}}catch(p){if((f.raiseError?console.error:console.warn)(`Error in handler ${f.constructor.name}, handleLLMStart: ${p}`),f.raiseError)throw p}},f.awaitHandlers)})),new Ow(d,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}))}async handleChainStart(t,r,n=mn(),i=void 0,o=void 0,a=void 0,s=void 0,c=void 0,u=void 0){return await Promise.all(this.handlers.map(l=>{if(!l.ignoreChain)return ms(l)&&l._createRunForChainStart(t,r,n,this._parentRunId,this.tags,this.metadata,i,s,u),_t(async()=>{try{await l.handleChainStart?.(t,r,n,this._parentRunId,this.tags,this.metadata,i,s,u)}catch(d){if((l.raiseError?console.error:console.warn)(`Error in handler ${l.constructor.name}, handleChainStart: ${d}`),l.raiseError)throw d}},l.awaitHandlers)})),new lN(n,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}async handleToolStart(t,r,n=mn(),i=void 0,o=void 0,a=void 0,s=void 0,c=void 0){return await Promise.all(this.handlers.map(u=>{if(!u.ignoreAgent)return ms(u)&&u._createRunForToolStart(t,r,n,this._parentRunId,this.tags,this.metadata,s),_t(async()=>{try{await u.handleToolStart?.(t,r,n,this._parentRunId,this.tags,this.metadata,s,c)}catch(l){if((u.raiseError?console.error:console.warn)(`Error in handler ${u.constructor.name}, handleToolStart: ${l}`),u.raiseError)throw l}},u.awaitHandlers)})),new dN(n,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}async handleRetrieverStart(t,r,n=mn(),i=void 0,o=void 0,a=void 0,s=void 0){return await Promise.all(this.handlers.map(c=>{if(!c.ignoreRetriever)return ms(c)&&c._createRunForRetrieverStart(t,r,n,this._parentRunId,this.tags,this.metadata,s),_t(async()=>{try{await c.handleRetrieverStart?.(t,r,n,this._parentRunId,this.tags,this.metadata,s)}catch(u){if((c.raiseError?console.error:console.warn)(`Error in handler ${c.constructor.name}, handleRetrieverStart: ${u}`),c.raiseError)throw u}},c.awaitHandlers)})),new uN(n,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}async handleCustomEvent(t,r,n,i,o){await Promise.all(this.handlers.map(a=>_t(async()=>{if(!a.ignoreCustomEvent)try{await a.handleCustomEvent?.(t,r,n,this.tags,this.metadata)}catch(s){if((a.raiseError?console.error:console.warn)(`Error in handler ${a.constructor.name}, handleCustomEvent: ${s}`),a.raiseError)throw s}},a.awaitHandlers)))}addHandler(t,r=!0){this.handlers.push(t),r&&this.inheritableHandlers.push(t)}removeHandler(t){this.handlers=this.handlers.filter(r=>r!==t),this.inheritableHandlers=this.inheritableHandlers.filter(r=>r!==t)}setHandlers(t,r=!0){this.handlers=[],this.inheritableHandlers=[];for(let n of t)this.addHandler(n,r)}addTags(t,r=!0){this.removeTags(t),this.tags.push(...t),r&&this.inheritableTags.push(...t)}removeTags(t){this.tags=this.tags.filter(r=>!t.includes(r)),this.inheritableTags=this.inheritableTags.filter(r=>!t.includes(r))}addMetadata(t,r=!0){this.metadata={...this.metadata,...t},r&&(this.inheritableMetadata={...this.inheritableMetadata,...t})}removeMetadata(t){for(let r of Object.keys(t))delete this.metadata[r],delete this.inheritableMetadata[r]}copy(t=[],r=!0){let n=new Fd(this._parentRunId);for(let i of this.handlers){let o=this.inheritableHandlers.includes(i);n.addHandler(i,o)}for(let i of this.tags){let o=this.inheritableTags.includes(i);n.addTags([i],o)}for(let i of Object.keys(this.metadata)){let o=Object.keys(this.inheritableMetadata).includes(i);n.addMetadata({[i]:this.metadata[i]},o)}for(let i of t)n.handlers.filter(o=>o.name==="console_callback_handler").some(o=>o.name===i.name)||n.addHandler(i,r);return n}static fromHandlers(t){class r extends jn{name=mn();constructor(){super(),Object.assign(this,t)}}let n=new this;return n.addHandler(new r),n}static configure(t,r,n,i,o,a,s){return this._configureSync(t,r,n,i,o,a,s)}static _configureSync(t,r,n,i,o,a,s){let c;(t||r)&&(Array.isArray(t)||!t?(c=new Fd,c.setHandlers(t?.map(nu)??[],!0)):c=t,c=c.copy(Array.isArray(r)?r.map(nu):r?.handlers,!1));let u=et("LANGCHAIN_VERBOSE")==="true"||s?.verbose,l=yh.getTraceableRunTree(),d=l?.tracingEnabled??oN();if(l?.tracingEnabled===!1&&c){let p=c.handlers.filter(m=>m.name==="langchain_tracer");for(let m of p)c.removeHandler(m)}let f=d||(et("LANGCHAIN_TRACING")??!1);if(u||f){if(c||(c=new Fd),u&&!c.handlers.some(p=>p.name===hh.prototype.name)){let p=new hh;c.addHandler(p,!0)}if(f&&!c.handlers.some(p=>p.name==="langchain_tracer")&&d){let p=new yh;c.addHandler(p,!0)}d&&l&&c._parentRunId===void 0&&(c._parentRunId=l.id,c.handlers.find(p=>p.name==="langchain_tracer")?.updateFromRunTree(l))}for(let{contextVar:p,inheritable:m=!0,handlerClass:h,envVar:w}of aN()){let _=w&&et(w)==="true"&&h,y,x=p!==void 0?Aw(p):void 0;x&&_b(x)?y=x:_&&(y=new h({})),y!==void 0&&(c||(c=new Fd),c.handlers.some(S=>S.name===y.name)||c.addHandler(y,m))}return(n||i)&&c&&(c.addTags(n??[]),c.addTags(i??[],!1)),(o||a)&&c&&(c.addMetadata(o??{}),c.addMetadata(a??{},!1)),c}};function nu(e){return"name"in e?e:jn.fromMethods(e)}var Cw=class{getStore(){}run(e,t){return t()}enterWith(e){}},F9=new Cw,pN=Symbol.for("lc:child_config"),B9=class{getInstance(){return ia()??F9}getRunnableConfig(){return this.getInstance().getStore()?.extra?.[pN]}runWithConfig(e,t,r){let n=Et._configureSync(e?.callbacks,void 0,e?.tags,void 0,e?.metadata),i=this.getInstance(),o=i.getStore(),a=n?.getParentRunId(),s=n?.handlers?.find(u=>u?.name==="langchain_tracer"),c;return s&&a?c=s.getRunTreeWithTracingConfig(a):r||(c=new zn({name:"<runnable_lambda>",tracingEnabled:!1})),c&&(c.extra={...c.extra,[pN]:e}),o!==void 0&&o[na]!==void 0&&(c===void 0&&(c={}),c[na]=o[na]),i.run(c,t)}initializeGlobalInstance(e){ia()===void 0&&rN(e)}},He=new B9;var fN=P({AsyncLocalStorageProviderSingleton:()=>He,MockAsyncLocalStorage:()=>Cw,_CONTEXT_VARIABLES_KEY:()=>na});async function Ot(e){return Et._configureSync(e?.callbacks,void 0,e?.tags,void 0,e?.metadata)}function Bt(...e){let t={};for(let r of e.filter(n=>!!n))for(let n of Object.keys(r))if(n==="metadata")t[n]={...t[n],...r[n]};else if(n==="tags"){let i=t[n]??[];t[n]=[...new Set(i.concat(r[n]??[]))]}else if(n==="configurable")t[n]={...t[n],...r[n]};else if(n==="timeout")t.timeout===void 0?t.timeout=r.timeout:r.timeout!==void 0&&(t.timeout=Math.min(t.timeout,r.timeout));else if(n==="signal")t.signal===void 0?t.signal=r.signal:r.signal!==void 0&&("any"in AbortSignal?t.signal=AbortSignal.any([t.signal,r.signal]):t.signal=r.signal);else if(n==="callbacks"){let i=t.callbacks,o=r.callbacks;if(Array.isArray(o))if(!i)t.callbacks=o;else if(Array.isArray(i))t.callbacks=i.concat(o);else{let a=i.copy();for(let s of o)a.addHandler(nu(s),!0);t.callbacks=a}else if(o)if(!i)t.callbacks=o;else if(Array.isArray(i)){let a=o.copy();for(let s of i)a.addHandler(nu(s),!0);t.callbacks=a}else t.callbacks=new Et(o._parentRunId,{handlers:i.handlers.concat(o.handlers),inheritableHandlers:i.inheritableHandlers.concat(o.inheritableHandlers),tags:Array.from(new Set(i.tags.concat(o.tags))),inheritableTags:Array.from(new Set(i.inheritableTags.concat(o.inheritableTags))),metadata:{...i.metadata,...o.metadata}})}else{let i=n;t[i]=r[i]??t[i]}return t}var V9=new Set(["string","number","boolean"]);function Ne(e){let t=He.getRunnableConfig(),r={tags:[],metadata:{},recursionLimit:25,runId:void 0};if(t){let{runId:n,runName:i,...o}=t;r=Object.entries(o).reduce((a,[s,c])=>(c!==void 0&&(a[s]=c),a),r)}if(e&&(r=Object.entries(e).reduce((n,[i,o])=>(o!==void 0&&(n[i]=o),n),r)),r?.configurable)for(let n of Object.keys(r.configurable))V9.has(typeof r.configurable[n])&&!r.metadata?.[n]&&(r.metadata||(r.metadata={}),r.metadata[n]=r.configurable[n]);if(r.timeout!==void 0){if(r.timeout<=0)throw new Error("Timeout must be a positive number");let n=r.timeout,i=AbortSignal.timeout(n);r.metadata||(r.metadata={}),r.metadata.timeoutMs===void 0&&(r.metadata.timeoutMs=n),r.signal!==void 0?"any"in AbortSignal&&(r.signal=AbortSignal.any([r.signal,i])):r.signal=i,delete r.timeout}return r}function Me(e={},{callbacks:t,maxConcurrency:r,recursionLimit:n,runName:i,configurable:o,runId:a}={}){let s=Ne(e);return t!==void 0&&(delete s.runName,s.callbacks=t),n!==void 0&&(s.recursionLimit=n),r!==void 0&&(s.maxConcurrency=r),i!==void 0&&(s.runName=i),o!==void 0&&(s.configurable={...s.configurable,...o}),a!==void 0&&delete s.runId,s}function br(e){if(e)return{configurable:e.configurable,recursionLimit:e.recursionLimit,callbacks:e.callbacks,tags:e.tags,metadata:e.metadata,maxConcurrency:e.maxConcurrency,timeout:e.timeout,signal:e.signal,store:e.store}}async function Kr(e,t){if(t===void 0)return e;let r;return Promise.race([e.catch(n=>{if(!t?.aborted)throw n}),new Promise((n,i)=>{r=()=>{i(oa(t))},t.addEventListener("abort",r,{once:!0}),t.aborted&&i(oa(t))})]).finally(()=>t.removeEventListener("abort",r))}function oa(e){return e?.reason instanceof Error?e.reason:typeof e?.reason=="string"?new Error(e.reason):new Error("Aborted")}var mN=P({AsyncGeneratorWithSetup:()=>aa,IterableReadableStream:()=>Ct,atee:()=>bh,concat:()=>Wr,pipeGeneratorWithSetup:()=>Rw}),Ct=class Pw extends ReadableStream{reader;ensureReader(){this.reader||(this.reader=this.getReader())}async next(){this.ensureReader();try{let t=await this.reader.read();return t.done?(this.reader.releaseLock(),{done:!0,value:void 0}):{done:!1,value:t.value}}catch(t){throw this.reader.releaseLock(),t}}async return(){if(this.ensureReader(),this.locked){let t=this.reader.cancel();this.reader.releaseLock(),await t}return{done:!0,value:void 0}}async throw(t){if(this.ensureReader(),this.locked){let r=this.reader.cancel();this.reader.releaseLock(),await r}throw t}[Symbol.asyncIterator](){return this}async[Symbol.asyncDispose](){await this.return()}static fromReadableStream(t){let r=t.getReader();return new Pw({start(n){return i();function i(){return r.read().then(({done:o,value:a})=>{if(o){n.close();return}return n.enqueue(a),i()})}},cancel(){r.releaseLock()}})}static fromAsyncGenerator(t){return new Pw({async pull(r){let{value:n,done:i}=await t.next();i&&r.close(),r.enqueue(n)},async cancel(r){await t.return(r)}})}};function bh(e,t=2){let r=Array.from({length:t},()=>[]);return r.map(async function*(i){for(;;)if(i.length===0){let o=await e.next();for(let a of r)a.push(o)}else{if(i[0].done)return;yield i.shift().value}})}function Wr(e,t){if(Array.isArray(e)&&Array.isArray(t))return e.concat(t);if(typeof e=="string"&&typeof t=="string")return e+t;if(typeof e=="number"&&typeof t=="number")return e+t;if("concat"in e&&typeof e.concat=="function")return e.concat(t);if(typeof e=="object"&&typeof t=="object"){let r={...e};for(let[n,i]of Object.entries(t))n in r&&!Array.isArray(r[n])?r[n]=Wr(r[n],i):r[n]=i;return r}else throw new Error(`Cannot concat ${typeof e} and ${typeof t}`)}var aa=class{generator;setup;config;signal;firstResult;firstResultUsed=!1;constructor(e){this.generator=e.generator,this.config=e.config,this.signal=e.signal??this.config?.signal,this.setup=new Promise((t,r)=>{He.runWithConfig(br(e.config),async()=>{this.firstResult=this.signal?Kr(e.generator.next(),this.signal):e.generator.next(),e.startSetup?this.firstResult.then(e.startSetup).then(t,r):this.firstResult.then(n=>t(void 0),r)},!0)})}async next(...e){return this.signal?.throwIfAborted(),this.firstResultUsed?He.runWithConfig(br(this.config),this.signal?async()=>Kr(this.generator.next(...e),this.signal):async()=>this.generator.next(...e),!0):(this.firstResultUsed=!0,this.firstResult)}async return(e){return this.generator.return(e)}async throw(e){return this.generator.throw(e)}[Symbol.asyncIterator](){return this}async[Symbol.asyncDispose](){await this.return()}};async function Rw(e,t,r,n,...i){let o=new aa({generator:t,startSetup:r,signal:n}),a=await o.setup;return{output:e(o,a,...i),setup:a}}var Z9=Object.prototype.hasOwnProperty;function xh(e,t){return Z9.call(e,t)}function Ih(e){if(Array.isArray(e)){let r=new Array(e.length);for(let n=0;n<r.length;n++)r[n]=""+n;return r}if(Object.keys)return Object.keys(e);let t=[];for(let r in e)xh(e,r)&&t.push(r);return t}function Jr(e){switch(typeof e){case"object":return JSON.parse(JSON.stringify(e));case"undefined":return null;default:return e}}function Sh(e){let t=0,r=e.length,n;for(;t<r;){if(n=e.charCodeAt(t),n>=48&&n<=57){t++;continue}return!1}return!0}function _s(e){return e.indexOf("/")===-1&&e.indexOf("~")===-1?e:e.replace(/~/g,"~0").replace(/\//g,"~1")}function gN(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function wh(e){if(e===void 0)return!0;if(e){if(Array.isArray(e)){for(let r=0,n=e.length;r<n;r++)if(wh(e[r]))return!0}else if(typeof e=="object"){let r=Ih(e),n=r.length;for(var t=0;t<n;t++)if(wh(e[r[t]]))return!0}}return!1}function hN(e,t){let r=[e];for(let n in t){let i=typeof t[n]=="object"?JSON.stringify(t[n],null,2):t[n];typeof i<"u"&&r.push(`${n}: ${i}`)}return r.join(`
|
|
62
|
-
`)}var _N=class extends Error{constructor(e,t,r,n,i){super(hN(e,{name:t,index:r,operation:n,tree:i})),this.name=t,this.index=r,this.operation=n,this.tree=i,Object.setPrototypeOf(this,new.target.prototype),this.message=hN(e,{name:t,index:r,operation:n,tree:i})}};var yN=P({JsonPatchError:()=>vt,_areEquals:()=>Vd,applyOperation:()=>ys,applyPatch:()=>sa,applyReducer:()=>q9,deepClone:()=>G9,getValueByPointer:()=>kh,validate:()=>vN,validator:()=>Eh}),vt=_N,G9=Jr,iu={add:function(e,t,r){if(t==="__proto__"||t==="constructor")throw new TypeError("JSON-Patch: modifying `__proto__` or `constructor` prop is banned for security reasons");return e[t]=this.value,{newDocument:r}},remove:function(e,t,r){if(t==="__proto__"||t==="constructor")throw new TypeError("JSON-Patch: modifying `__proto__` or `constructor` prop is banned for security reasons");var n=e[t];return delete e[t],{newDocument:r,removed:n}},replace:function(e,t,r){if(t==="__proto__"||t==="constructor")throw new TypeError("JSON-Patch: modifying `__proto__` or `constructor` prop is banned for security reasons");var n=e[t];return e[t]=this.value,{newDocument:r,removed:n}},move:function(e,t,r){let n=kh(r,this.path);n&&(n=Jr(n));let i=ys(r,{op:"remove",path:this.from}).removed;return ys(r,{op:"add",path:this.path,value:i}),{newDocument:r,removed:n}},copy:function(e,t,r){let n=kh(r,this.from);return ys(r,{op:"add",path:this.path,value:Jr(n)}),{newDocument:r}},test:function(e,t,r){return{newDocument:r,test:Vd(e[t],this.value)}},_get:function(e,t,r){return this.value=e[t],{newDocument:r}}},H9={add:function(e,t,r){return Sh(t)?e.splice(t,0,this.value):e[t]=this.value,{newDocument:r,index:t}},remove:function(e,t,r){return{newDocument:r,removed:e.splice(t,1)[0]}},replace:function(e,t,r){var n=e[t];return e[t]=this.value,{newDocument:r,removed:n}},move:iu.move,copy:iu.copy,test:iu.test,_get:iu._get};function kh(e,t){if(t=="")return e;var r={op:"_get",path:t};return ys(e,r),r.value}function ys(e,t,r=!1,n=!0,i=!0,o=0){if(r&&(typeof r=="function"?r(t,0,e,t.path):Eh(t,0)),t.path===""){let a={newDocument:e};if(t.op==="add")return a.newDocument=t.value,a;if(t.op==="replace")return a.newDocument=t.value,a.removed=e,a;if(t.op==="move"||t.op==="copy")return a.newDocument=kh(e,t.from),t.op==="move"&&(a.removed=e),a;if(t.op==="test"){if(a.test=Vd(e,t.value),a.test===!1)throw new vt("Test operation failed","TEST_OPERATION_FAILED",o,t,e);return a.newDocument=e,a}else{if(t.op==="remove")return a.removed=e,a.newDocument=null,a;if(t.op==="_get")return t.value=e,a;if(r)throw new vt("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",o,t,e);return a}}else{n||(e=Jr(e));let a=(t.path||"").split("/"),s=e,c=1,u=a.length,l,d,f;for(typeof r=="function"?f=r:f=Eh;;){if(d=a[c],d&&d.indexOf("~")!=-1&&(d=gN(d)),i&&(d=="__proto__"||d=="prototype"&&c>0&&a[c-1]=="constructor"))throw new TypeError("JSON-Patch: modifying `__proto__` or `constructor/prototype` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function. More info in fast-json-patch README");if(r&&l===void 0&&(s[d]===void 0?l=a.slice(0,c).join("/"):c==u-1&&(l=t.path),l!==void 0&&f(t,0,e,l)),c++,Array.isArray(s)){if(d==="-")d=s.length;else{if(r&&!Sh(d))throw new vt("Expected an unsigned base-10 integer value, making the new referenced value the array element with the zero-based index","OPERATION_PATH_ILLEGAL_ARRAY_INDEX",o,t,e);Sh(d)&&(d=~~d)}if(c>=u){if(r&&t.op==="add"&&d>s.length)throw new vt("The specified index MUST NOT be greater than the number of elements in the array","OPERATION_VALUE_OUT_OF_BOUNDS",o,t,e);let p=H9[t.op].call(t,s,d,e);if(p.test===!1)throw new vt("Test operation failed","TEST_OPERATION_FAILED",o,t,e);return p}}else if(c>=u){let p=iu[t.op].call(t,s,d,e);if(p.test===!1)throw new vt("Test operation failed","TEST_OPERATION_FAILED",o,t,e);return p}if(s=s[d],r&&c<u&&(!s||typeof s!="object"))throw new vt("Cannot perform operation at the desired path","OPERATION_PATH_UNRESOLVABLE",o,t,e)}}}function sa(e,t,r,n=!0,i=!0){if(r&&!Array.isArray(t))throw new vt("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");n||(e=Jr(e));let o=new Array(t.length);for(let a=0,s=t.length;a<s;a++)o[a]=ys(e,t[a],r,!0,i,a),e=o[a].newDocument;return o.newDocument=e,o}function q9(e,t,r){let n=ys(e,t);if(n.test===!1)throw new vt("Test operation failed","TEST_OPERATION_FAILED",r,t,e);return n.newDocument}function Eh(e,t,r,n){if(typeof e!="object"||e===null||Array.isArray(e))throw new vt("Operation is not an object","OPERATION_NOT_AN_OBJECT",t,e,r);if(iu[e.op]){if(typeof e.path!="string")throw new vt("Operation `path` property is not a string","OPERATION_PATH_INVALID",t,e,r);if(e.path.indexOf("/")!==0&&e.path.length>0)throw new vt('Operation `path` property must start with "/"',"OPERATION_PATH_INVALID",t,e,r);if((e.op==="move"||e.op==="copy")&&typeof e.from!="string")throw new vt("Operation `from` property is not present (applicable in `move` and `copy` operations)","OPERATION_FROM_REQUIRED",t,e,r);if((e.op==="add"||e.op==="replace"||e.op==="test")&&e.value===void 0)throw new vt("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_REQUIRED",t,e,r);if((e.op==="add"||e.op==="replace"||e.op==="test")&&wh(e.value))throw new vt("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED",t,e,r);if(r){if(e.op=="add"){var i=e.path.split("/").length,o=n.split("/").length;if(i!==o+1&&i!==o)throw new vt("Cannot perform an `add` operation at the desired path","OPERATION_PATH_CANNOT_ADD",t,e,r)}else if(e.op==="replace"||e.op==="remove"||e.op==="_get"){if(e.path!==n)throw new vt("Cannot perform the operation at a path that does not exist","OPERATION_PATH_UNRESOLVABLE",t,e,r)}else if(e.op==="move"||e.op==="copy"){var a=vN([{op:"_get",path:e.from,value:void 0}],r);if(a&&a.name==="OPERATION_PATH_UNRESOLVABLE")throw new vt("Cannot perform the operation from a path that does not exist","OPERATION_FROM_UNRESOLVABLE",t,e,r)}}}else throw new vt("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",t,e,r)}function vN(e,t,r){try{if(!Array.isArray(e))throw new vt("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");if(t)sa(Jr(t),Jr(e),r||!0);else{r=r||Eh;for(var n=0;n<e.length;n++)r(e[n],n,t,void 0)}}catch(i){if(i instanceof vt)return i;throw i}}function Vd(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){var r=Array.isArray(e),n=Array.isArray(t),i,o,a;if(r&&n){if(o=e.length,o!=t.length)return!1;for(i=o;i--!==0;)if(!Vd(e[i],t[i]))return!1;return!0}if(r!=n)return!1;var s=Object.keys(e);if(o=s.length,o!==Object.keys(t).length)return!1;for(i=o;i--!==0;)if(!t.hasOwnProperty(s[i]))return!1;for(i=o;i--!==0;)if(a=s[i],!Vd(e[a],t[a]))return!1;return!0}return e!==e&&t!==t}function bN(e,t,r,n,i){if(t!==e){typeof t.toJSON=="function"&&(t=t.toJSON());for(var o=Ih(t),a=Ih(e),s=!1,c=a.length-1;c>=0;c--){var u=a[c],l=e[u];if(xh(t,u)&&!(t[u]===void 0&&l!==void 0&&Array.isArray(t)===!1)){var d=t[u];typeof l=="object"&&l!=null&&typeof d=="object"&&d!=null&&Array.isArray(l)===Array.isArray(d)?bN(l,d,r,n+"/"+_s(u),i):l!==d&&(i&&r.push({op:"test",path:n+"/"+_s(u),value:Jr(l)}),r.push({op:"replace",path:n+"/"+_s(u),value:Jr(d)}))}else Array.isArray(e)===Array.isArray(t)?(i&&r.push({op:"test",path:n+"/"+_s(u),value:Jr(l)}),r.push({op:"remove",path:n+"/"+_s(u)}),s=!0):(i&&r.push({op:"test",path:n,value:e}),r.push({op:"replace",path:n,value:t}))}if(!(!s&&o.length==a.length))for(var c=0;c<o.length;c++){var u=o[c];!xh(e,u)&&t[u]!==void 0&&r.push({op:"add",path:n+"/"+_s(u),value:Jr(t[u])})}}}function ca(e,t,r=!1){var n=[];return bN(e,t,n,"",r),n}({...yN});var IN=P({LogStreamCallbackHandler:()=>Th,RunLog:()=>$h,RunLogPatch:()=>Ii,isLogStreamHandler:()=>Mw}),Ii=class{ops;constructor(e){this.ops=e.ops??[]}concat(e){let t=this.ops.concat(e.ops),r=sa({},t);return new $h({ops:t,state:r[r.length-1].newDocument})}},$h=class Nw extends Ii{state;constructor(t){super(t),this.state=t.state}concat(t){let r=this.ops.concat(t.ops),n=sa(this.state,t.ops);return new Nw({ops:r,state:n[n.length-1].newDocument})}static fromRunLogPatch(t){let r=sa({},t.ops);return new Nw({ops:t.ops,state:r[r.length-1].newDocument})}},Mw=e=>e.name==="log_stream_tracer";async function wN(e,t){if(t==="original")throw new 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:r}=e;if(["retriever","llm","prompt"].includes(e.run_type))return r;if(!(Object.keys(r).length===1&&r?.input===""))return r.input}async function xN(e,t){let{outputs:r}=e;return t==="original"||["retriever","llm","prompt"].includes(e.run_type)?r:r!==void 0&&Object.keys(r).length===1&&r?.output!==void 0?r.output:r}function K9(e){return e!==void 0&&e.message!==void 0}var Th=class extends Jt{autoClose=!0;includeNames;includeTypes;includeTags;excludeNames;excludeTypes;excludeTags;_schemaFormat="original";rootId;keyMapByRunId={};counterMapByRunName={};transformStream;writer;receiveStream;name="log_stream_tracer";lc_prefer_streaming=!0;constructor(e){super({_awaitHandler:!0,...e}),this.autoClose=e?.autoClose??!0,this.includeNames=e?.includeNames,this.includeTypes=e?.includeTypes,this.includeTags=e?.includeTags,this.excludeNames=e?.excludeNames,this.excludeTypes=e?.excludeTypes,this.excludeTags=e?.excludeTags,this._schemaFormat=e?._schemaFormat??this._schemaFormat,this.transformStream=new TransformStream,this.writer=this.transformStream.writable.getWriter(),this.receiveStream=Ct.fromReadableStream(this.transformStream.readable)}[Symbol.asyncIterator](){return this.receiveStream}async persistRun(e){}_includeRun(e){if(e.id===this.rootId)return!1;let t=e.tags??[],r=this.includeNames===void 0&&this.includeTags===void 0&&this.includeTypes===void 0;return this.includeNames!==void 0&&(r=r||this.includeNames.includes(e.name)),this.includeTypes!==void 0&&(r=r||this.includeTypes.includes(e.run_type)),this.includeTags!==void 0&&(r=r||t.find(n=>this.includeTags?.includes(n))!==void 0),this.excludeNames!==void 0&&(r=r&&!this.excludeNames.includes(e.name)),this.excludeTypes!==void 0&&(r=r&&!this.excludeTypes.includes(e.run_type)),this.excludeTags!==void 0&&(r=r&&t.every(n=>!this.excludeTags?.includes(n))),r}async*tapOutputIterable(e,t){for await(let r of t){if(e!==this.rootId){let n=this.keyMapByRunId[e];n&&await this.writer.write(new Ii({ops:[{op:"add",path:`/logs/${n}/streamed_output/-`,value:r}]}))}yield r}}async onRunCreate(e){if(this.rootId===void 0&&(this.rootId=e.id,await this.writer.write(new Ii({ops:[{op:"replace",path:"",value:{id:e.id,name:e.name,type:e.run_type,streamed_output:[],final_output:void 0,logs:{}}}]}))),!this._includeRun(e))return;this.counterMapByRunName[e.name]===void 0&&(this.counterMapByRunName[e.name]=0),this.counterMapByRunName[e.name]+=1;let t=this.counterMapByRunName[e.name];this.keyMapByRunId[e.id]=t===1?e.name:`${e.name}:${t}`;let r={id:e.id,name:e.name,type:e.run_type,tags:e.tags??[],metadata:e.extra?.metadata??{},start_time:new Date(e.start_time).toISOString(),streamed_output:[],streamed_output_str:[],final_output:void 0,end_time:void 0};this._schemaFormat==="streaming_events"&&(r.inputs=await wN(e,this._schemaFormat)),await this.writer.write(new Ii({ops:[{op:"add",path:`/logs/${this.keyMapByRunId[e.id]}`,value:r}]}))}async onRunUpdate(e){try{let t=this.keyMapByRunId[e.id];if(t===void 0)return;let r=[];this._schemaFormat==="streaming_events"&&r.push({op:"replace",path:`/logs/${t}/inputs`,value:await wN(e,this._schemaFormat)}),r.push({op:"add",path:`/logs/${t}/final_output`,value:await xN(e,this._schemaFormat)}),e.end_time!==void 0&&r.push({op:"add",path:`/logs/${t}/end_time`,value:new Date(e.end_time).toISOString()});let n=new Ii({ops:r});await this.writer.write(n)}finally{if(e.id===this.rootId){let t=new Ii({ops:[{op:"replace",path:"/final_output",value:await xN(e,this._schemaFormat)}]});await this.writer.write(t),this.autoClose&&await this.writer.close()}}}async onLLMNewToken(e,t,r){let n=this.keyMapByRunId[e.id];if(n===void 0)return;let i=e.inputs.messages!==void 0,o;i?K9(r?.chunk)?o=r?.chunk:o=new st({id:`run-${e.id}`,content:t}):o=t;let a=new Ii({ops:[{op:"add",path:`/logs/${n}/streamed_output_str/-`,value:t},{op:"add",path:`/logs/${n}/streamed_output/-`,value:o}]});await this.writer.write(a)}};var SN=P({ChatGenerationChunk:()=>Xr,GenerationChunk:()=>Si,RUN_KEY:()=>vs}),vs="__run",Si=class kN{text;generationInfo;constructor(t){this.text=t.text,this.generationInfo=t.generationInfo}concat(t){return new kN({text:this.text+t.text,generationInfo:{...this.generationInfo,...t.generationInfo}})}},Xr=class EN extends Si{message;constructor(t){super(t),this.message=t.message}concat(t){return new EN({text:this.text+t.text,generationInfo:{...this.generationInfo,...t.generationInfo},message:this.message.concat(t.message)})}};var W9=Object.prototype.toString,J9=e=>W9.call(e)==="[object Error]",X9=new Set(["network error","Failed to fetch","NetworkError when attempting to fetch resource.","The Internet connection appears to be offline.","Network request failed","fetch failed","terminated"," A network error occurred.","Network connection lost"]);function $N(e){if(!(e&&J9(e)&&e.name==="TypeError"&&typeof e.message=="string"))return!1;let{message:t,stack:r}=e;return t==="Load failed"?r===void 0||"__sentry_captured__"in e:t.startsWith("error sending request for url")?!0:X9.has(t)}function Y9(e){if(typeof e=="number"){if(e<0)throw new TypeError("Expected `retries` to be a non-negative number.");if(Number.isNaN(e))throw new TypeError("Expected `retries` to be a valid number or Infinity, got NaN.")}else if(e!==void 0)throw new TypeError("Expected `retries` to be a number or Infinity.")}function Ah(e,t,{min:r=0,allowInfinity:n=!1}={}){if(t!==void 0){if(typeof t!="number"||Number.isNaN(t))throw new TypeError(`Expected \`${e}\` to be a number${n?" or Infinity":""}.`);if(!n&&!Number.isFinite(t))throw new TypeError(`Expected \`${e}\` to be a finite number.`);if(t<r)throw new TypeError(`Expected \`${e}\` to be \u2265 ${r}.`)}}var Q9=class extends Error{constructor(e){super(),e instanceof Error?(this.originalError=e,{message:e}=e):(this.originalError=new Error(e),this.originalError.stack=this.stack),this.name="AbortError",this.message=e}};function e5(e,t){let r=Math.max(1,e+1),n=t.randomize?Math.random()+1:1,i=Math.round(n*t.minTimeout*t.factor**(r-1));return i=Math.min(i,t.maxTimeout),i}function TN(e,t){return Number.isFinite(t)?t-(performance.now()-e):t}async function t5({error:e,attemptNumber:t,retriesConsumed:r,startTime:n,options:i}){let o=e instanceof Error?e:new TypeError(`Non-error was thrown: "${e}". You should only throw errors.`);if(o instanceof Q9)throw o.originalError;let a=Number.isFinite(i.retries)?Math.max(0,i.retries-r):i.retries,s=i.maxRetryTime??Number.POSITIVE_INFINITY,c=Object.freeze({error:o,attemptNumber:t,retriesLeft:a,retriesConsumed:r});if(await i.onFailedAttempt(c),TN(n,s)<=0)throw o;let u=await i.shouldConsumeRetry(c),l=TN(n,s);if(l<=0||a<=0)throw o;if(o instanceof TypeError&&!$N(o)){if(u)throw o;return i.signal?.throwIfAborted(),!1}if(!await i.shouldRetry(c))throw o;if(!u)return i.signal?.throwIfAborted(),!1;let d=e5(r,i),f=Math.min(d,l);return f>0&&await new Promise((p,m)=>{let h=()=>{clearTimeout(w),i.signal?.removeEventListener("abort",h),m(i.signal.reason)},w=setTimeout(()=>{i.signal?.removeEventListener("abort",h),p()},f);i.unref&&w.unref?.(),i.signal?.addEventListener("abort",h,{once:!0})}),i.signal?.throwIfAborted(),!0}async function Zd(e,t={}){if(t={...t},Y9(t.retries),Object.hasOwn(t,"forever"))throw new Error("The `forever` option is no longer supported. For many use-cases, you can set `retries: Infinity` instead.");t.retries??=10,t.factor??=2,t.minTimeout??=1e3,t.maxTimeout??=Number.POSITIVE_INFINITY,t.maxRetryTime??=Number.POSITIVE_INFINITY,t.randomize??=!1,t.onFailedAttempt??=()=>{},t.shouldRetry??=()=>!0,t.shouldConsumeRetry??=()=>!0,Ah("factor",t.factor,{min:0,allowInfinity:!1}),Ah("minTimeout",t.minTimeout,{min:0,allowInfinity:!1}),Ah("maxTimeout",t.maxTimeout,{min:0,allowInfinity:!0}),Ah("maxRetryTime",t.maxRetryTime,{min:0,allowInfinity:!0}),t.factor>0||(t.factor=1),t.signal?.throwIfAborted();let r=0,n=0,i=performance.now();for(;!Number.isFinite(t.retries)||n<=t.retries;){r++;try{t.signal?.throwIfAborted();let o=await e(r);return t.signal?.throwIfAborted(),o}catch(o){await t5({error:o,attemptNumber:r,retriesConsumed:n,startTime:i,options:t})&&n++}}throw new Error("Retry attempts exhausted without throwing an error.")}var Oh=Ko(Km(),1),AN=P({AsyncCaller:()=>uo}),r5=[400,401,402,403,404,405,406,407,409],n5=e=>{if(typeof e!="object"||e===null)return;if("message"in e&&typeof e.message=="string"&&(e.message.startsWith("Cancel")||e.message.startsWith("AbortError"))||"name"in e&&typeof e.name=="string"&&e.name==="AbortError"||"code"in e&&typeof e.code=="string"&&e.code==="ECONNABORTED")throw e;let t="response"in e&&typeof e.response=="object"&&e.response!==null&&"status"in e.response&&typeof e.response.status=="number"?e.response.status:void 0,r="status"in e&&typeof e.status=="number"?e.status:void 0,n=t??r;if(n&&r5.includes(+n))throw e;if(("error"in e&&typeof e.error=="object"&&e.error!==null&&"code"in e.error&&typeof e.error.code=="string"?e.error.code:void 0)==="insufficient_quota"){let i=new Error("message"in e&&typeof e.message=="string"?e.message:"Insufficient quota");throw i.name="InsufficientQuotaError",i}},uo=class{maxConcurrency;maxRetries;onFailedAttempt;queue;constructor(e){this.maxConcurrency=e.maxConcurrency??1/0,this.maxRetries=e.maxRetries??6,this.onFailedAttempt=e.onFailedAttempt??n5,this.queue=new("default"in Oh.default?Oh.default.default:Oh.default)({concurrency:this.maxConcurrency})}async call(e,...t){return this.queue.add(()=>Zd(()=>e(...t).catch(r=>{throw r instanceof Error?r:new Error(r)}),{onFailedAttempt:({error:r})=>this.onFailedAttempt?.(r),retries:this.maxRetries,randomize:!0}),{throwOnTimeout:!0})}callWithOptions(e,t,...r){if(e.signal){let n;return Promise.race([this.call(t,...r),new Promise((i,o)=>{n=()=>{o(oa(e.signal))},e.signal?.addEventListener("abort",n,{once:!0})})]).finally(()=>{e.signal&&n&&e.signal.removeEventListener("abort",n)})}return this.call(t,...r)}fetch(...e){return this.call(()=>fetch(...e).then(t=>t.ok?t:Promise.reject(t)))}};var ON=P({isSerializableSchema:()=>ki,isStandardJsonSchema:()=>Ch,isStandardSchema:()=>CN});function CN(e){return(typeof e=="object"||typeof e=="function")&&e!==null&&"~standard"in e&&typeof e["~standard"]=="object"&&e["~standard"]!==null&&"validate"in e["~standard"]}function Ch(e){return(typeof e=="object"||typeof e=="function")&&e!==null&&"~standard"in e&&typeof e["~standard"]=="object"&&e["~standard"]!==null&&"jsonSchema"in e["~standard"]}function ki(e){return CN(e)&&Ch(e)}var mo={};li(mo,{$ZodAny:()=>x0,$ZodArray:()=>k0,$ZodAsyncError:()=>Dn,$ZodBase64:()=>p0,$ZodBase64URL:()=>f0,$ZodBigInt:()=>Qh,$ZodBigIntFormat:()=>y0,$ZodBoolean:()=>ip,$ZodCIDRv4:()=>u0,$ZodCIDRv6:()=>l0,$ZodCUID:()=>Xx,$ZodCUID2:()=>Yx,$ZodCatch:()=>V0,$ZodCheck:()=>Qe,$ZodCheckBigIntFormat:()=>$x,$ZodCheckEndsWith:()=>Lx,$ZodCheckGreaterThan:()=>Hh,$ZodCheckIncludes:()=>zx,$ZodCheckLengthEquals:()=>Rx,$ZodCheckLessThan:()=>Gh,$ZodCheckLowerCase:()=>Mx,$ZodCheckMaxLength:()=>Cx,$ZodCheckMaxSize:()=>Tx,$ZodCheckMimeType:()=>Fx,$ZodCheckMinLength:()=>Px,$ZodCheckMinSize:()=>Ax,$ZodCheckMultipleOf:()=>kx,$ZodCheckNumberFormat:()=>Ex,$ZodCheckOverwrite:()=>Bx,$ZodCheckProperty:()=>Ux,$ZodCheckRegex:()=>Nx,$ZodCheckSizeEquals:()=>Ox,$ZodCheckStartsWith:()=>Dx,$ZodCheckStringFormat:()=>pu,$ZodCheckUpperCase:()=>jx,$ZodCodec:()=>cp,$ZodCustom:()=>X0,$ZodCustomStringFormat:()=>g0,$ZodDate:()=>S0,$ZodDefault:()=>L0,$ZodDiscriminatedUnion:()=>T0,$ZodE164:()=>m0,$ZodEmail:()=>qx,$ZodEmoji:()=>Wx,$ZodEncodeError:()=>ua,$ZodEnum:()=>R0,$ZodError:()=>Yd,$ZodExactOptional:()=>z0,$ZodFile:()=>M0,$ZodFunction:()=>K0,$ZodGUID:()=>Gx,$ZodIPv4:()=>a0,$ZodIPv6:()=>s0,$ZodISODate:()=>n0,$ZodISODateTime:()=>r0,$ZodISODuration:()=>o0,$ZodISOTime:()=>i0,$ZodIntersection:()=>A0,$ZodJWT:()=>h0,$ZodKSUID:()=>t0,$ZodLazy:()=>J0,$ZodLiteral:()=>N0,$ZodMAC:()=>c0,$ZodMap:()=>C0,$ZodNaN:()=>Z0,$ZodNanoID:()=>Jx,$ZodNever:()=>ap,$ZodNonOptional:()=>F0,$ZodNull:()=>w0,$ZodNullable:()=>D0,$ZodNumber:()=>Yh,$ZodNumberFormat:()=>_0,$ZodObject:()=>i1,$ZodObjectJIT:()=>E0,$ZodOptional:()=>Ss,$ZodPipe:()=>G0,$ZodPrefault:()=>U0,$ZodPromise:()=>W0,$ZodReadonly:()=>H0,$ZodRealError:()=>Nr,$ZodRecord:()=>O0,$ZodRegistry:()=>ig,$ZodSet:()=>P0,$ZodString:()=>Is,$ZodStringFormat:()=>Ke,$ZodSuccess:()=>B0,$ZodSymbol:()=>v0,$ZodTemplateLiteral:()=>q0,$ZodTransform:()=>j0,$ZodTuple:()=>eg,$ZodType:()=>we,$ZodULID:()=>Qx,$ZodURL:()=>Kx,$ZodUUID:()=>Hx,$ZodUndefined:()=>b0,$ZodUnion:()=>sp,$ZodUnknown:()=>op,$ZodVoid:()=>I0,$ZodXID:()=>e0,$ZodXor:()=>$0,$brand:()=>Ph,$constructor:()=>I,$input:()=>Q0,$output:()=>Y0,Doc:()=>np,JSONSchema:()=>nM,JSONSchemaGenerator:()=>Ng,NEVER:()=>jw,TimePrecision:()=>nI,_any:()=>SI,_array:()=>AI,_base64:()=>xg,_base64url:()=>Ig,_bigint:()=>_I,_boolean:()=>hI,_catch:()=>I8,_check:()=>rM,_cidrv4:()=>bg,_cidrv6:()=>wg,_coercedBigint:()=>yI,_coercedBoolean:()=>gI,_coercedDate:()=>$I,_coercedNumber:()=>uI,_coercedString:()=>tI,_cuid:()=>fg,_cuid2:()=>mg,_custom:()=>CI,_date:()=>EI,_decode:()=>jh,_decodeAsync:()=>Dh,_default:()=>b8,_discriminatedUnion:()=>c8,_e164:()=>Sg,_email:()=>ag,_emoji:()=>dg,_encode:()=>Mh,_encodeAsync:()=>zh,_endsWith:()=>vu,_enum:()=>m8,_file:()=>OI,_float32:()=>dI,_float64:()=>pI,_gt:()=>Ti,_gte:()=>wr,_guid:()=>dp,_includes:()=>_u,_int:()=>lI,_int32:()=>fI,_int64:()=>vI,_intersection:()=>u8,_ipv4:()=>yg,_ipv6:()=>vg,_isoDate:()=>oI,_isoDateTime:()=>iI,_isoDuration:()=>sI,_isoTime:()=>aI,_jwt:()=>kg,_ksuid:()=>_g,_lazy:()=>$8,_length:()=>$s,_literal:()=>g8,_lowercase:()=>hu,_lt:()=>$i,_lte:()=>Qr,_mac:()=>rI,_map:()=>p8,_max:()=>Qr,_maxLength:()=>Es,_maxSize:()=>ha,_mime:()=>bu,_min:()=>wr,_minLength:()=>po,_minSize:()=>Ai,_multipleOf:()=>ma,_nan:()=>TI,_nanoid:()=>pg,_nativeEnum:()=>h8,_negative:()=>$g,_never:()=>mp,_nonnegative:()=>Ag,_nonoptional:()=>w8,_nonpositive:()=>Tg,_normalize:()=>wu,_null:()=>II,_nullable:()=>v8,_number:()=>cI,_optional:()=>y8,_overwrite:()=>Ln,_parse:()=>cu,_parseAsync:()=>uu,_pipe:()=>S8,_positive:()=>Eg,_promise:()=>T8,_property:()=>Og,_readonly:()=>k8,_record:()=>d8,_refine:()=>PI,_regex:()=>mu,_safeDecode:()=>Uh,_safeDecodeAsync:()=>Bh,_safeEncode:()=>Lh,_safeEncodeAsync:()=>Fh,_safeParse:()=>lu,_safeParseAsync:()=>du,_set:()=>f8,_size:()=>ks,_slugify:()=>ku,_startsWith:()=>yu,_string:()=>eI,_stringFormat:()=>Eu,_stringbool:()=>jI,_success:()=>x8,_superRefine:()=>RI,_symbol:()=>wI,_templateLiteral:()=>E8,_toLowerCase:()=>Iu,_toUpperCase:()=>Su,_transform:()=>_8,_trim:()=>xu,_tuple:()=>l8,_uint32:()=>mI,_uint64:()=>bI,_ulid:()=>hg,_undefined:()=>xI,_union:()=>a8,_unknown:()=>fp,_uppercase:()=>gu,_url:()=>pp,_uuid:()=>sg,_uuidv4:()=>cg,_uuidv6:()=>ug,_uuidv7:()=>lg,_void:()=>kI,_xid:()=>gg,_xor:()=>s8,clone:()=>lt,config:()=>bt,createStandardJSONSchemaMethod:()=>$u,createToJSONSchemaMethod:()=>zI,decode:()=>C5,decodeAsync:()=>R5,describe:()=>NI,encode:()=>O5,encodeAsync:()=>P5,extractDefs:()=>_a,finalize:()=>ya,flattenError:()=>Qd,formatError:()=>ep,globalConfig:()=>Gd,globalRegistry:()=>Be,initializeContext:()=>ga,isValidBase64:()=>d0,isValidBase64URL:()=>e1,isValidJWT:()=>t1,locales:()=>lp,meta:()=>MI,parse:()=>Ei,parseAsync:()=>ws,prettifyError:()=>Kw,process:()=>Ze,regexes:()=>vn,registry:()=>og,safeDecode:()=>M5,safeDecodeAsync:()=>z5,safeEncode:()=>N5,safeEncodeAsync:()=>j5,safeParse:()=>Ww,safeParseAsync:()=>Jw,toDotPath:()=>jN,toJSONSchema:()=>fo,treeifyError:()=>qw,util:()=>F,version:()=>Vx});var jw=Object.freeze({status:"aborted"});function I(e,t,r){function n(s,c){if(s._zod||Object.defineProperty(s,"_zod",{value:{def:c,constr:a,traits:new Set},enumerable:!1}),s._zod.traits.has(e))return;s._zod.traits.add(e),t(s,c);let u=a.prototype,l=Object.keys(u);for(let d=0;d<l.length;d++){let f=l[d];f in s||(s[f]=u[f].bind(s))}}let i=r?.Parent??Object;class o extends i{}Object.defineProperty(o,"name",{value:e});function a(s){var c;let u=r?.Parent?new o:this;n(u,s),(c=u._zod).deferred??(c.deferred=[]);for(let l of u._zod.deferred)l();return u}return Object.defineProperty(a,"init",{value:n}),Object.defineProperty(a,Symbol.hasInstance,{value:s=>r?.Parent&&s instanceof r.Parent?!0:s?._zod?.traits?.has(e)}),Object.defineProperty(a,"name",{value:e}),a}var Ph=Symbol("zod_brand"),Dn=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},ua=class extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}},Gd={};function bt(e){return e&&Object.assign(Gd,e),Gd}var F={};li(F,{BIGINT_FORMAT_RANGES:()=>Hw,Class:()=>Dw,NUMBER_FORMAT_RANGES:()=>Gw,aborted:()=>fa,allowsEval:()=>Fw,assert:()=>c5,assertEqual:()=>i5,assertIs:()=>a5,assertNever:()=>s5,assertNotEqual:()=>o5,assignProp:()=>da,base64ToUint8Array:()=>RN,base64urlToUint8Array:()=>k5,cached:()=>au,captureStackTrace:()=>Nh,cleanEnum:()=>S5,cleanRegex:()=>Kd,clone:()=>lt,cloneDef:()=>l5,createTransparentProxy:()=>g5,defineLazy:()=>Oe,esc:()=>Rh,escapeRegex:()=>yn,extend:()=>v5,finalizeIssue:()=>Rr,floatSafeRemainder:()=>Lw,getElementAtPath:()=>d5,getEnumValues:()=>qd,getLengthableOrigin:()=>Xd,getParsedType:()=>h5,getSizableOrigin:()=>Jd,hexToUint8Array:()=>$5,isObject:()=>bs,isPlainObject:()=>pa,issue:()=>su,joinValues:()=>A,jsonStringifyReplacer:()=>ou,merge:()=>w5,mergeDefs:()=>lo,normalizeParams:()=>q,nullish:()=>la,numKeys:()=>m5,objectClone:()=>u5,omit:()=>y5,optionalKeys:()=>Zw,parsedType:()=>Z,partial:()=>x5,pick:()=>_5,prefixIssues:()=>Yr,primitiveTypes:()=>Vw,promiseAllObject:()=>p5,propertyKeyTypes:()=>Wd,randomString:()=>f5,required:()=>I5,safeExtend:()=>b5,shallowClone:()=>Bw,slugify:()=>Uw,stringifyPrimitive:()=>U,uint8ArrayToBase64:()=>NN,uint8ArrayToBase64url:()=>E5,uint8ArrayToHex:()=>T5,unwrapMessage:()=>Hd});function i5(e){return e}function o5(e){return e}function a5(e){}function s5(e){throw new Error("Unexpected value in exhaustive check")}function c5(e){}function qd(e){let t=Object.values(e).filter(n=>typeof n=="number");return Object.entries(e).filter(([n,i])=>t.indexOf(+n)===-1).map(([n,i])=>i)}function A(e,t="|"){return e.map(r=>U(r)).join(t)}function ou(e,t){return typeof t=="bigint"?t.toString():t}function au(e){return{get value(){{let r=e();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function la(e){return e==null}function Kd(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function Lw(e,t){let r=(e.toString().split(".")[1]||"").length,n=t.toString(),i=(n.split(".")[1]||"").length;if(i===0&&/\d?e-\d?/.test(n)){let c=n.match(/\d?e-(\d?)/);c?.[1]&&(i=Number.parseInt(c[1]))}let o=r>i?r:i,a=Number.parseInt(e.toFixed(o).replace(".","")),s=Number.parseInt(t.toFixed(o).replace(".",""));return a%s/10**o}var PN=Symbol("evaluating");function Oe(e,t,r){let n;Object.defineProperty(e,t,{get(){if(n!==PN)return n===void 0&&(n=PN,n=r()),n},set(i){Object.defineProperty(e,t,{value:i})},configurable:!0})}function u5(e){return Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}function da(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function lo(...e){let t={};for(let r of e){let n=Object.getOwnPropertyDescriptors(r);Object.assign(t,n)}return Object.defineProperties({},t)}function l5(e){return lo(e._zod.def)}function d5(e,t){return t?t.reduce((r,n)=>r?.[n],e):e}function p5(e){let t=Object.keys(e),r=t.map(n=>e[n]);return Promise.all(r).then(n=>{let i={};for(let o=0;o<t.length;o++)i[t[o]]=n[o];return i})}function f5(e=10){let t="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<e;n++)r+=t[Math.floor(Math.random()*t.length)];return r}function Rh(e){return JSON.stringify(e)}function Uw(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var Nh="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function bs(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Fw=au(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let e=Function;return new e(""),!0}catch{return!1}});function pa(e){if(bs(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!="function")return!0;let r=t.prototype;return!(bs(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function Bw(e){return pa(e)?{...e}:Array.isArray(e)?[...e]:e}function m5(e){let t=0;for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t++;return t}var h5=e=>{let t=typeof e;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(e)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(e)?"array":e===null?"null":e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?"promise":typeof Map<"u"&&e instanceof Map?"map":typeof Set<"u"&&e instanceof Set?"set":typeof Date<"u"&&e instanceof Date?"date":typeof File<"u"&&e instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${t}`)}},Wd=new Set(["string","number","symbol"]),Vw=new Set(["string","number","bigint","boolean","symbol","undefined"]);function yn(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function lt(e,t,r){let n=new e._zod.constr(t??e._zod.def);return(!t||r?.parent)&&(n._zod.parent=e),n}function q(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function g5(e){let t;return new Proxy({},{get(r,n,i){return t??(t=e()),Reflect.get(t,n,i)},set(r,n,i,o){return t??(t=e()),Reflect.set(t,n,i,o)},has(r,n){return t??(t=e()),Reflect.has(t,n)},deleteProperty(r,n){return t??(t=e()),Reflect.deleteProperty(t,n)},ownKeys(r){return t??(t=e()),Reflect.ownKeys(t)},getOwnPropertyDescriptor(r,n){return t??(t=e()),Reflect.getOwnPropertyDescriptor(t,n)},defineProperty(r,n,i){return t??(t=e()),Reflect.defineProperty(t,n,i)}})}function U(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function Zw(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var Gw={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},Hw={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function _5(e,t){let r=e._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");let o=lo(e._zod.def,{get shape(){let a={};for(let s in t){if(!(s in r.shape))throw new Error(`Unrecognized key: "${s}"`);t[s]&&(a[s]=r.shape[s])}return da(this,"shape",a),a},checks:[]});return lt(e,o)}function y5(e,t){let r=e._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");let o=lo(e._zod.def,{get shape(){let a={...e._zod.def.shape};for(let s in t){if(!(s in r.shape))throw new Error(`Unrecognized key: "${s}"`);t[s]&&delete a[s]}return da(this,"shape",a),a},checks:[]});return lt(e,o)}function v5(e,t){if(!pa(t))throw new Error("Invalid input to extend: expected a plain object");let r=e._zod.def.checks;if(r&&r.length>0){let o=e._zod.def.shape;for(let a in t)if(Object.getOwnPropertyDescriptor(o,a)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let i=lo(e._zod.def,{get shape(){let o={...e._zod.def.shape,...t};return da(this,"shape",o),o}});return lt(e,i)}function b5(e,t){if(!pa(t))throw new Error("Invalid input to safeExtend: expected a plain object");let r=lo(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return da(this,"shape",n),n}});return lt(e,r)}function w5(e,t){let r=lo(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return da(this,"shape",n),n},get catchall(){return t._zod.def.catchall},checks:[]});return lt(e,r)}function x5(e,t,r){let i=t._zod.def.checks;if(i&&i.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");let a=lo(t._zod.def,{get shape(){let s=t._zod.def.shape,c={...s};if(r)for(let u in r){if(!(u in s))throw new Error(`Unrecognized key: "${u}"`);r[u]&&(c[u]=e?new e({type:"optional",innerType:s[u]}):s[u])}else for(let u in s)c[u]=e?new e({type:"optional",innerType:s[u]}):s[u];return da(this,"shape",c),c},checks:[]});return lt(t,a)}function I5(e,t,r){let n=lo(t._zod.def,{get shape(){let i=t._zod.def.shape,o={...i};if(r)for(let a in r){if(!(a in o))throw new Error(`Unrecognized key: "${a}"`);r[a]&&(o[a]=new e({type:"nonoptional",innerType:i[a]}))}else for(let a in i)o[a]=new e({type:"nonoptional",innerType:i[a]});return da(this,"shape",o),o}});return lt(t,n)}function fa(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function Yr(e,t){return t.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function Hd(e){return typeof e=="string"?e:e?.message}function Rr(e,t,r){let n={...e,path:e.path??[]};if(!e.message){let i=Hd(e.inst?._zod.def?.error?.(e))??Hd(t?.error?.(e))??Hd(r.customError?.(e))??Hd(r.localeError?.(e))??"Invalid input";n.message=i}return delete n.inst,delete n.continue,t?.reportInput||delete n.input,n}function Jd(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}function Xd(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function Z(e){let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"nan":"number";case"object":{if(e===null)return"null";if(Array.isArray(e))return"array";let r=e;if(r&&Object.getPrototypeOf(r)!==Object.prototype&&"constructor"in r&&r.constructor)return r.constructor.name}}return t}function su(...e){let[t,r,n]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:n}:{...t}}function S5(e){return Object.entries(e).filter(([t,r])=>Number.isNaN(Number.parseInt(t,10))).map(t=>t[1])}function RN(e){let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}function NN(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return btoa(t)}function k5(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),r="=".repeat((4-t.length%4)%4);return RN(t+r)}function E5(e){return NN(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function $5(e){let t=e.replace(/^0x/,"");if(t.length%2!==0)throw new Error("Invalid hex string length");let r=new Uint8Array(t.length/2);for(let n=0;n<t.length;n+=2)r[n/2]=Number.parseInt(t.slice(n,n+2),16);return r}function T5(e){return Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")}var Dw=class{constructor(...t){}};var MN=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,ou,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Yd=I("$ZodError",MN),Nr=I("$ZodError",MN,{Parent:Error});function Qd(e,t=r=>r.message){let r={},n=[];for(let i of e.issues)i.path.length>0?(r[i.path[0]]=r[i.path[0]]||[],r[i.path[0]].push(t(i))):n.push(t(i));return{formErrors:n,fieldErrors:r}}function ep(e,t=r=>r.message){let r={_errors:[]},n=i=>{for(let o of i.issues)if(o.code==="invalid_union"&&o.errors.length)o.errors.map(a=>n({issues:a}));else if(o.code==="invalid_key")n({issues:o.issues});else if(o.code==="invalid_element")n({issues:o.issues});else if(o.path.length===0)r._errors.push(t(o));else{let a=r,s=0;for(;s<o.path.length;){let c=o.path[s];s===o.path.length-1?(a[c]=a[c]||{_errors:[]},a[c]._errors.push(t(o))):a[c]=a[c]||{_errors:[]},a=a[c],s++}}};return n(e),r}function qw(e,t=r=>r.message){let r={errors:[]},n=(i,o=[])=>{var a,s;for(let c of i.issues)if(c.code==="invalid_union"&&c.errors.length)c.errors.map(u=>n({issues:u},c.path));else if(c.code==="invalid_key")n({issues:c.issues},c.path);else if(c.code==="invalid_element")n({issues:c.issues},c.path);else{let u=[...o,...c.path];if(u.length===0){r.errors.push(t(c));continue}let l=r,d=0;for(;d<u.length;){let f=u[d],p=d===u.length-1;typeof f=="string"?(l.properties??(l.properties={}),(a=l.properties)[f]??(a[f]={errors:[]}),l=l.properties[f]):(l.items??(l.items=[]),(s=l.items)[f]??(s[f]={errors:[]}),l=l.items[f]),p&&l.errors.push(t(c)),d++}}};return n(e),r}function jN(e){let t=[],r=e.map(n=>typeof n=="object"?n.key:n);for(let n of r)typeof n=="number"?t.push(`[${n}]`):typeof n=="symbol"?t.push(`[${JSON.stringify(String(n))}]`):/[^\w$]/.test(n)?t.push(`[${JSON.stringify(n)}]`):(t.length&&t.push("."),t.push(n));return t.join("")}function Kw(e){let t=[],r=[...e.issues].sort((n,i)=>(n.path??[]).length-(i.path??[]).length);for(let n of r)t.push(`\u2716 ${n.message}`),n.path?.length&&t.push(` \u2192 at ${jN(n.path)}`);return t.join(`
|
|
62
|
+
`)}var _N=class extends Error{constructor(e,t,r,n,i){super(hN(e,{name:t,index:r,operation:n,tree:i})),this.name=t,this.index=r,this.operation=n,this.tree=i,Object.setPrototypeOf(this,new.target.prototype),this.message=hN(e,{name:t,index:r,operation:n,tree:i})}};var yN=P({JsonPatchError:()=>vt,_areEquals:()=>Vd,applyOperation:()=>ys,applyPatch:()=>sa,applyReducer:()=>q9,deepClone:()=>G9,getValueByPointer:()=>kh,validate:()=>vN,validator:()=>Eh}),vt=_N,G9=Jr,iu={add:function(e,t,r){if(t==="__proto__"||t==="constructor")throw new TypeError("JSON-Patch: modifying `__proto__` or `constructor` prop is banned for security reasons");return e[t]=this.value,{newDocument:r}},remove:function(e,t,r){if(t==="__proto__"||t==="constructor")throw new TypeError("JSON-Patch: modifying `__proto__` or `constructor` prop is banned for security reasons");var n=e[t];return delete e[t],{newDocument:r,removed:n}},replace:function(e,t,r){if(t==="__proto__"||t==="constructor")throw new TypeError("JSON-Patch: modifying `__proto__` or `constructor` prop is banned for security reasons");var n=e[t];return e[t]=this.value,{newDocument:r,removed:n}},move:function(e,t,r){let n=kh(r,this.path);n&&(n=Jr(n));let i=ys(r,{op:"remove",path:this.from}).removed;return ys(r,{op:"add",path:this.path,value:i}),{newDocument:r,removed:n}},copy:function(e,t,r){let n=kh(r,this.from);return ys(r,{op:"add",path:this.path,value:Jr(n)}),{newDocument:r}},test:function(e,t,r){return{newDocument:r,test:Vd(e[t],this.value)}},_get:function(e,t,r){return this.value=e[t],{newDocument:r}}},H9={add:function(e,t,r){return Sh(t)?e.splice(t,0,this.value):e[t]=this.value,{newDocument:r,index:t}},remove:function(e,t,r){return{newDocument:r,removed:e.splice(t,1)[0]}},replace:function(e,t,r){var n=e[t];return e[t]=this.value,{newDocument:r,removed:n}},move:iu.move,copy:iu.copy,test:iu.test,_get:iu._get};function kh(e,t){if(t=="")return e;var r={op:"_get",path:t};return ys(e,r),r.value}function ys(e,t,r=!1,n=!0,i=!0,o=0){if(r&&(typeof r=="function"?r(t,0,e,t.path):Eh(t,0)),t.path===""){let a={newDocument:e};if(t.op==="add")return a.newDocument=t.value,a;if(t.op==="replace")return a.newDocument=t.value,a.removed=e,a;if(t.op==="move"||t.op==="copy")return a.newDocument=kh(e,t.from),t.op==="move"&&(a.removed=e),a;if(t.op==="test"){if(a.test=Vd(e,t.value),a.test===!1)throw new vt("Test operation failed","TEST_OPERATION_FAILED",o,t,e);return a.newDocument=e,a}else{if(t.op==="remove")return a.removed=e,a.newDocument=null,a;if(t.op==="_get")return t.value=e,a;if(r)throw new vt("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",o,t,e);return a}}else{n||(e=Jr(e));let a=(t.path||"").split("/"),s=e,c=1,u=a.length,l,d,f;for(typeof r=="function"?f=r:f=Eh;;){if(d=a[c],d&&d.indexOf("~")!=-1&&(d=gN(d)),i&&(d=="__proto__"||d=="prototype"&&c>0&&a[c-1]=="constructor"))throw new TypeError("JSON-Patch: modifying `__proto__` or `constructor/prototype` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function. More info in fast-json-patch README");if(r&&l===void 0&&(s[d]===void 0?l=a.slice(0,c).join("/"):c==u-1&&(l=t.path),l!==void 0&&f(t,0,e,l)),c++,Array.isArray(s)){if(d==="-")d=s.length;else{if(r&&!Sh(d))throw new vt("Expected an unsigned base-10 integer value, making the new referenced value the array element with the zero-based index","OPERATION_PATH_ILLEGAL_ARRAY_INDEX",o,t,e);Sh(d)&&(d=~~d)}if(c>=u){if(r&&t.op==="add"&&d>s.length)throw new vt("The specified index MUST NOT be greater than the number of elements in the array","OPERATION_VALUE_OUT_OF_BOUNDS",o,t,e);let p=H9[t.op].call(t,s,d,e);if(p.test===!1)throw new vt("Test operation failed","TEST_OPERATION_FAILED",o,t,e);return p}}else if(c>=u){let p=iu[t.op].call(t,s,d,e);if(p.test===!1)throw new vt("Test operation failed","TEST_OPERATION_FAILED",o,t,e);return p}if(s=s[d],r&&c<u&&(!s||typeof s!="object"))throw new vt("Cannot perform operation at the desired path","OPERATION_PATH_UNRESOLVABLE",o,t,e)}}}function sa(e,t,r,n=!0,i=!0){if(r&&!Array.isArray(t))throw new vt("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");n||(e=Jr(e));let o=new Array(t.length);for(let a=0,s=t.length;a<s;a++)o[a]=ys(e,t[a],r,!0,i,a),e=o[a].newDocument;return o.newDocument=e,o}function q9(e,t,r){let n=ys(e,t);if(n.test===!1)throw new vt("Test operation failed","TEST_OPERATION_FAILED",r,t,e);return n.newDocument}function Eh(e,t,r,n){if(typeof e!="object"||e===null||Array.isArray(e))throw new vt("Operation is not an object","OPERATION_NOT_AN_OBJECT",t,e,r);if(iu[e.op]){if(typeof e.path!="string")throw new vt("Operation `path` property is not a string","OPERATION_PATH_INVALID",t,e,r);if(e.path.indexOf("/")!==0&&e.path.length>0)throw new vt('Operation `path` property must start with "/"',"OPERATION_PATH_INVALID",t,e,r);if((e.op==="move"||e.op==="copy")&&typeof e.from!="string")throw new vt("Operation `from` property is not present (applicable in `move` and `copy` operations)","OPERATION_FROM_REQUIRED",t,e,r);if((e.op==="add"||e.op==="replace"||e.op==="test")&&e.value===void 0)throw new vt("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_REQUIRED",t,e,r);if((e.op==="add"||e.op==="replace"||e.op==="test")&&wh(e.value))throw new vt("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED",t,e,r);if(r){if(e.op=="add"){var i=e.path.split("/").length,o=n.split("/").length;if(i!==o+1&&i!==o)throw new vt("Cannot perform an `add` operation at the desired path","OPERATION_PATH_CANNOT_ADD",t,e,r)}else if(e.op==="replace"||e.op==="remove"||e.op==="_get"){if(e.path!==n)throw new vt("Cannot perform the operation at a path that does not exist","OPERATION_PATH_UNRESOLVABLE",t,e,r)}else if(e.op==="move"||e.op==="copy"){var a=vN([{op:"_get",path:e.from,value:void 0}],r);if(a&&a.name==="OPERATION_PATH_UNRESOLVABLE")throw new vt("Cannot perform the operation from a path that does not exist","OPERATION_FROM_UNRESOLVABLE",t,e,r)}}}else throw new vt("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",t,e,r)}function vN(e,t,r){try{if(!Array.isArray(e))throw new vt("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");if(t)sa(Jr(t),Jr(e),r||!0);else{r=r||Eh;for(var n=0;n<e.length;n++)r(e[n],n,t,void 0)}}catch(i){if(i instanceof vt)return i;throw i}}function Vd(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){var r=Array.isArray(e),n=Array.isArray(t),i,o,a;if(r&&n){if(o=e.length,o!=t.length)return!1;for(i=o;i--!==0;)if(!Vd(e[i],t[i]))return!1;return!0}if(r!=n)return!1;var s=Object.keys(e);if(o=s.length,o!==Object.keys(t).length)return!1;for(i=o;i--!==0;)if(!t.hasOwnProperty(s[i]))return!1;for(i=o;i--!==0;)if(a=s[i],!Vd(e[a],t[a]))return!1;return!0}return e!==e&&t!==t}function bN(e,t,r,n,i){if(t!==e){typeof t.toJSON=="function"&&(t=t.toJSON());for(var o=Ih(t),a=Ih(e),s=!1,c=a.length-1;c>=0;c--){var u=a[c],l=e[u];if(xh(t,u)&&!(t[u]===void 0&&l!==void 0&&Array.isArray(t)===!1)){var d=t[u];typeof l=="object"&&l!=null&&typeof d=="object"&&d!=null&&Array.isArray(l)===Array.isArray(d)?bN(l,d,r,n+"/"+_s(u),i):l!==d&&(i&&r.push({op:"test",path:n+"/"+_s(u),value:Jr(l)}),r.push({op:"replace",path:n+"/"+_s(u),value:Jr(d)}))}else Array.isArray(e)===Array.isArray(t)?(i&&r.push({op:"test",path:n+"/"+_s(u),value:Jr(l)}),r.push({op:"remove",path:n+"/"+_s(u)}),s=!0):(i&&r.push({op:"test",path:n,value:e}),r.push({op:"replace",path:n,value:t}))}if(!(!s&&o.length==a.length))for(var c=0;c<o.length;c++){var u=o[c];!xh(e,u)&&t[u]!==void 0&&r.push({op:"add",path:n+"/"+_s(u),value:Jr(t[u])})}}}function ca(e,t,r=!1){var n=[];return bN(e,t,n,"",r),n}({...yN});var IN=P({LogStreamCallbackHandler:()=>Th,RunLog:()=>$h,RunLogPatch:()=>Ii,isLogStreamHandler:()=>Mw}),Ii=class{ops;constructor(e){this.ops=e.ops??[]}concat(e){let t=this.ops.concat(e.ops),r=sa({},t);return new $h({ops:t,state:r[r.length-1].newDocument})}},$h=class Nw extends Ii{state;constructor(t){super(t),this.state=t.state}concat(t){let r=this.ops.concat(t.ops),n=sa(this.state,t.ops);return new Nw({ops:r,state:n[n.length-1].newDocument})}static fromRunLogPatch(t){let r=sa({},t.ops);return new Nw({ops:t.ops,state:r[r.length-1].newDocument})}},Mw=e=>e.name==="log_stream_tracer";async function wN(e,t){if(t==="original")throw new 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:r}=e;if(["retriever","llm","prompt"].includes(e.run_type))return r;if(!(Object.keys(r).length===1&&r?.input===""))return r.input}async function xN(e,t){let{outputs:r}=e;return t==="original"||["retriever","llm","prompt"].includes(e.run_type)?r:r!==void 0&&Object.keys(r).length===1&&r?.output!==void 0?r.output:r}function K9(e){return e!==void 0&&e.message!==void 0}var Th=class extends Jt{autoClose=!0;includeNames;includeTypes;includeTags;excludeNames;excludeTypes;excludeTags;_schemaFormat="original";rootId;keyMapByRunId={};counterMapByRunName={};transformStream;writer;receiveStream;name="log_stream_tracer";lc_prefer_streaming=!0;constructor(e){super({_awaitHandler:!0,...e}),this.autoClose=e?.autoClose??!0,this.includeNames=e?.includeNames,this.includeTypes=e?.includeTypes,this.includeTags=e?.includeTags,this.excludeNames=e?.excludeNames,this.excludeTypes=e?.excludeTypes,this.excludeTags=e?.excludeTags,this._schemaFormat=e?._schemaFormat??this._schemaFormat,this.transformStream=new TransformStream,this.writer=this.transformStream.writable.getWriter(),this.receiveStream=Ct.fromReadableStream(this.transformStream.readable)}[Symbol.asyncIterator](){return this.receiveStream}async persistRun(e){}_includeRun(e){if(e.id===this.rootId)return!1;let t=e.tags??[],r=this.includeNames===void 0&&this.includeTags===void 0&&this.includeTypes===void 0;return this.includeNames!==void 0&&(r=r||this.includeNames.includes(e.name)),this.includeTypes!==void 0&&(r=r||this.includeTypes.includes(e.run_type)),this.includeTags!==void 0&&(r=r||t.find(n=>this.includeTags?.includes(n))!==void 0),this.excludeNames!==void 0&&(r=r&&!this.excludeNames.includes(e.name)),this.excludeTypes!==void 0&&(r=r&&!this.excludeTypes.includes(e.run_type)),this.excludeTags!==void 0&&(r=r&&t.every(n=>!this.excludeTags?.includes(n))),r}async*tapOutputIterable(e,t){for await(let r of t){if(e!==this.rootId){let n=this.keyMapByRunId[e];n&&await this.writer.write(new Ii({ops:[{op:"add",path:`/logs/${n}/streamed_output/-`,value:r}]}))}yield r}}async onRunCreate(e){if(this.rootId===void 0&&(this.rootId=e.id,await this.writer.write(new Ii({ops:[{op:"replace",path:"",value:{id:e.id,name:e.name,type:e.run_type,streamed_output:[],final_output:void 0,logs:{}}}]}))),!this._includeRun(e))return;this.counterMapByRunName[e.name]===void 0&&(this.counterMapByRunName[e.name]=0),this.counterMapByRunName[e.name]+=1;let t=this.counterMapByRunName[e.name];this.keyMapByRunId[e.id]=t===1?e.name:`${e.name}:${t}`;let r={id:e.id,name:e.name,type:e.run_type,tags:e.tags??[],metadata:e.extra?.metadata??{},start_time:new Date(e.start_time).toISOString(),streamed_output:[],streamed_output_str:[],final_output:void 0,end_time:void 0};this._schemaFormat==="streaming_events"&&(r.inputs=await wN(e,this._schemaFormat)),await this.writer.write(new Ii({ops:[{op:"add",path:`/logs/${this.keyMapByRunId[e.id]}`,value:r}]}))}async onRunUpdate(e){try{let t=this.keyMapByRunId[e.id];if(t===void 0)return;let r=[];this._schemaFormat==="streaming_events"&&r.push({op:"replace",path:`/logs/${t}/inputs`,value:await wN(e,this._schemaFormat)}),r.push({op:"add",path:`/logs/${t}/final_output`,value:await xN(e,this._schemaFormat)}),e.end_time!==void 0&&r.push({op:"add",path:`/logs/${t}/end_time`,value:new Date(e.end_time).toISOString()});let n=new Ii({ops:r});await this.writer.write(n)}finally{if(e.id===this.rootId){let t=new Ii({ops:[{op:"replace",path:"/final_output",value:await xN(e,this._schemaFormat)}]});await this.writer.write(t),this.autoClose&&await this.writer.close()}}}async onLLMNewToken(e,t,r){let n=this.keyMapByRunId[e.id];if(n===void 0)return;let i=e.inputs.messages!==void 0,o;i?K9(r?.chunk)?o=r?.chunk:o=new at({id:`run-${e.id}`,content:t}):o=t;let a=new Ii({ops:[{op:"add",path:`/logs/${n}/streamed_output_str/-`,value:t},{op:"add",path:`/logs/${n}/streamed_output/-`,value:o}]});await this.writer.write(a)}};var SN=P({ChatGenerationChunk:()=>Xr,GenerationChunk:()=>Si,RUN_KEY:()=>vs}),vs="__run",Si=class kN{text;generationInfo;constructor(t){this.text=t.text,this.generationInfo=t.generationInfo}concat(t){return new kN({text:this.text+t.text,generationInfo:{...this.generationInfo,...t.generationInfo}})}},Xr=class EN extends Si{message;constructor(t){super(t),this.message=t.message}concat(t){return new EN({text:this.text+t.text,generationInfo:{...this.generationInfo,...t.generationInfo},message:this.message.concat(t.message)})}};var W9=Object.prototype.toString,J9=e=>W9.call(e)==="[object Error]",X9=new Set(["network error","Failed to fetch","NetworkError when attempting to fetch resource.","The Internet connection appears to be offline.","Network request failed","fetch failed","terminated"," A network error occurred.","Network connection lost"]);function $N(e){if(!(e&&J9(e)&&e.name==="TypeError"&&typeof e.message=="string"))return!1;let{message:t,stack:r}=e;return t==="Load failed"?r===void 0||"__sentry_captured__"in e:t.startsWith("error sending request for url")?!0:X9.has(t)}function Y9(e){if(typeof e=="number"){if(e<0)throw new TypeError("Expected `retries` to be a non-negative number.");if(Number.isNaN(e))throw new TypeError("Expected `retries` to be a valid number or Infinity, got NaN.")}else if(e!==void 0)throw new TypeError("Expected `retries` to be a number or Infinity.")}function Ah(e,t,{min:r=0,allowInfinity:n=!1}={}){if(t!==void 0){if(typeof t!="number"||Number.isNaN(t))throw new TypeError(`Expected \`${e}\` to be a number${n?" or Infinity":""}.`);if(!n&&!Number.isFinite(t))throw new TypeError(`Expected \`${e}\` to be a finite number.`);if(t<r)throw new TypeError(`Expected \`${e}\` to be \u2265 ${r}.`)}}var Q9=class extends Error{constructor(e){super(),e instanceof Error?(this.originalError=e,{message:e}=e):(this.originalError=new Error(e),this.originalError.stack=this.stack),this.name="AbortError",this.message=e}};function e5(e,t){let r=Math.max(1,e+1),n=t.randomize?Math.random()+1:1,i=Math.round(n*t.minTimeout*t.factor**(r-1));return i=Math.min(i,t.maxTimeout),i}function TN(e,t){return Number.isFinite(t)?t-(performance.now()-e):t}async function t5({error:e,attemptNumber:t,retriesConsumed:r,startTime:n,options:i}){let o=e instanceof Error?e:new TypeError(`Non-error was thrown: "${e}". You should only throw errors.`);if(o instanceof Q9)throw o.originalError;let a=Number.isFinite(i.retries)?Math.max(0,i.retries-r):i.retries,s=i.maxRetryTime??Number.POSITIVE_INFINITY,c=Object.freeze({error:o,attemptNumber:t,retriesLeft:a,retriesConsumed:r});if(await i.onFailedAttempt(c),TN(n,s)<=0)throw o;let u=await i.shouldConsumeRetry(c),l=TN(n,s);if(l<=0||a<=0)throw o;if(o instanceof TypeError&&!$N(o)){if(u)throw o;return i.signal?.throwIfAborted(),!1}if(!await i.shouldRetry(c))throw o;if(!u)return i.signal?.throwIfAborted(),!1;let d=e5(r,i),f=Math.min(d,l);return f>0&&await new Promise((p,m)=>{let h=()=>{clearTimeout(w),i.signal?.removeEventListener("abort",h),m(i.signal.reason)},w=setTimeout(()=>{i.signal?.removeEventListener("abort",h),p()},f);i.unref&&w.unref?.(),i.signal?.addEventListener("abort",h,{once:!0})}),i.signal?.throwIfAborted(),!0}async function Zd(e,t={}){if(t={...t},Y9(t.retries),Object.hasOwn(t,"forever"))throw new Error("The `forever` option is no longer supported. For many use-cases, you can set `retries: Infinity` instead.");t.retries??=10,t.factor??=2,t.minTimeout??=1e3,t.maxTimeout??=Number.POSITIVE_INFINITY,t.maxRetryTime??=Number.POSITIVE_INFINITY,t.randomize??=!1,t.onFailedAttempt??=()=>{},t.shouldRetry??=()=>!0,t.shouldConsumeRetry??=()=>!0,Ah("factor",t.factor,{min:0,allowInfinity:!1}),Ah("minTimeout",t.minTimeout,{min:0,allowInfinity:!1}),Ah("maxTimeout",t.maxTimeout,{min:0,allowInfinity:!0}),Ah("maxRetryTime",t.maxRetryTime,{min:0,allowInfinity:!0}),t.factor>0||(t.factor=1),t.signal?.throwIfAborted();let r=0,n=0,i=performance.now();for(;!Number.isFinite(t.retries)||n<=t.retries;){r++;try{t.signal?.throwIfAborted();let o=await e(r);return t.signal?.throwIfAborted(),o}catch(o){await t5({error:o,attemptNumber:r,retriesConsumed:n,startTime:i,options:t})&&n++}}throw new Error("Retry attempts exhausted without throwing an error.")}var Oh=Ko(Km(),1),AN=P({AsyncCaller:()=>uo}),r5=[400,401,402,403,404,405,406,407,409],n5=e=>{if(typeof e!="object"||e===null)return;if("message"in e&&typeof e.message=="string"&&(e.message.startsWith("Cancel")||e.message.startsWith("AbortError"))||"name"in e&&typeof e.name=="string"&&e.name==="AbortError"||"code"in e&&typeof e.code=="string"&&e.code==="ECONNABORTED")throw e;let t="response"in e&&typeof e.response=="object"&&e.response!==null&&"status"in e.response&&typeof e.response.status=="number"?e.response.status:void 0,r="status"in e&&typeof e.status=="number"?e.status:void 0,n=t??r;if(n&&r5.includes(+n))throw e;if(("error"in e&&typeof e.error=="object"&&e.error!==null&&"code"in e.error&&typeof e.error.code=="string"?e.error.code:void 0)==="insufficient_quota"){let i=new Error("message"in e&&typeof e.message=="string"?e.message:"Insufficient quota");throw i.name="InsufficientQuotaError",i}},uo=class{maxConcurrency;maxRetries;onFailedAttempt;queue;constructor(e){this.maxConcurrency=e.maxConcurrency??1/0,this.maxRetries=e.maxRetries??6,this.onFailedAttempt=e.onFailedAttempt??n5,this.queue=new("default"in Oh.default?Oh.default.default:Oh.default)({concurrency:this.maxConcurrency})}async call(e,...t){return this.queue.add(()=>Zd(()=>e(...t).catch(r=>{throw r instanceof Error?r:new Error(r)}),{onFailedAttempt:({error:r})=>this.onFailedAttempt?.(r),retries:this.maxRetries,randomize:!0}),{throwOnTimeout:!0})}callWithOptions(e,t,...r){if(e.signal){let n;return Promise.race([this.call(t,...r),new Promise((i,o)=>{n=()=>{o(oa(e.signal))},e.signal?.addEventListener("abort",n,{once:!0})})]).finally(()=>{e.signal&&n&&e.signal.removeEventListener("abort",n)})}return this.call(t,...r)}fetch(...e){return this.call(()=>fetch(...e).then(t=>t.ok?t:Promise.reject(t)))}};var ON=P({isSerializableSchema:()=>ki,isStandardJsonSchema:()=>Ch,isStandardSchema:()=>CN});function CN(e){return(typeof e=="object"||typeof e=="function")&&e!==null&&"~standard"in e&&typeof e["~standard"]=="object"&&e["~standard"]!==null&&"validate"in e["~standard"]}function Ch(e){return(typeof e=="object"||typeof e=="function")&&e!==null&&"~standard"in e&&typeof e["~standard"]=="object"&&e["~standard"]!==null&&"jsonSchema"in e["~standard"]}function ki(e){return CN(e)&&Ch(e)}var mo={};li(mo,{$ZodAny:()=>x0,$ZodArray:()=>k0,$ZodAsyncError:()=>Dn,$ZodBase64:()=>p0,$ZodBase64URL:()=>f0,$ZodBigInt:()=>Qh,$ZodBigIntFormat:()=>y0,$ZodBoolean:()=>ip,$ZodCIDRv4:()=>u0,$ZodCIDRv6:()=>l0,$ZodCUID:()=>Xx,$ZodCUID2:()=>Yx,$ZodCatch:()=>V0,$ZodCheck:()=>Qe,$ZodCheckBigIntFormat:()=>$x,$ZodCheckEndsWith:()=>Lx,$ZodCheckGreaterThan:()=>Hh,$ZodCheckIncludes:()=>zx,$ZodCheckLengthEquals:()=>Rx,$ZodCheckLessThan:()=>Gh,$ZodCheckLowerCase:()=>Mx,$ZodCheckMaxLength:()=>Cx,$ZodCheckMaxSize:()=>Tx,$ZodCheckMimeType:()=>Fx,$ZodCheckMinLength:()=>Px,$ZodCheckMinSize:()=>Ax,$ZodCheckMultipleOf:()=>kx,$ZodCheckNumberFormat:()=>Ex,$ZodCheckOverwrite:()=>Bx,$ZodCheckProperty:()=>Ux,$ZodCheckRegex:()=>Nx,$ZodCheckSizeEquals:()=>Ox,$ZodCheckStartsWith:()=>Dx,$ZodCheckStringFormat:()=>pu,$ZodCheckUpperCase:()=>jx,$ZodCodec:()=>cp,$ZodCustom:()=>X0,$ZodCustomStringFormat:()=>g0,$ZodDate:()=>S0,$ZodDefault:()=>L0,$ZodDiscriminatedUnion:()=>T0,$ZodE164:()=>m0,$ZodEmail:()=>qx,$ZodEmoji:()=>Wx,$ZodEncodeError:()=>ua,$ZodEnum:()=>R0,$ZodError:()=>Yd,$ZodExactOptional:()=>z0,$ZodFile:()=>M0,$ZodFunction:()=>K0,$ZodGUID:()=>Gx,$ZodIPv4:()=>a0,$ZodIPv6:()=>s0,$ZodISODate:()=>n0,$ZodISODateTime:()=>r0,$ZodISODuration:()=>o0,$ZodISOTime:()=>i0,$ZodIntersection:()=>A0,$ZodJWT:()=>h0,$ZodKSUID:()=>t0,$ZodLazy:()=>J0,$ZodLiteral:()=>N0,$ZodMAC:()=>c0,$ZodMap:()=>C0,$ZodNaN:()=>Z0,$ZodNanoID:()=>Jx,$ZodNever:()=>ap,$ZodNonOptional:()=>F0,$ZodNull:()=>w0,$ZodNullable:()=>D0,$ZodNumber:()=>Yh,$ZodNumberFormat:()=>_0,$ZodObject:()=>i1,$ZodObjectJIT:()=>E0,$ZodOptional:()=>Ss,$ZodPipe:()=>G0,$ZodPrefault:()=>U0,$ZodPromise:()=>W0,$ZodReadonly:()=>H0,$ZodRealError:()=>Nr,$ZodRecord:()=>O0,$ZodRegistry:()=>ig,$ZodSet:()=>P0,$ZodString:()=>Is,$ZodStringFormat:()=>Ke,$ZodSuccess:()=>B0,$ZodSymbol:()=>v0,$ZodTemplateLiteral:()=>q0,$ZodTransform:()=>j0,$ZodTuple:()=>eg,$ZodType:()=>we,$ZodULID:()=>Qx,$ZodURL:()=>Kx,$ZodUUID:()=>Hx,$ZodUndefined:()=>b0,$ZodUnion:()=>sp,$ZodUnknown:()=>op,$ZodVoid:()=>I0,$ZodXID:()=>e0,$ZodXor:()=>$0,$brand:()=>Ph,$constructor:()=>I,$input:()=>Q0,$output:()=>Y0,Doc:()=>np,JSONSchema:()=>nM,JSONSchemaGenerator:()=>Ng,NEVER:()=>jw,TimePrecision:()=>nI,_any:()=>SI,_array:()=>AI,_base64:()=>xg,_base64url:()=>Ig,_bigint:()=>_I,_boolean:()=>hI,_catch:()=>I8,_check:()=>rM,_cidrv4:()=>bg,_cidrv6:()=>wg,_coercedBigint:()=>yI,_coercedBoolean:()=>gI,_coercedDate:()=>$I,_coercedNumber:()=>uI,_coercedString:()=>tI,_cuid:()=>fg,_cuid2:()=>mg,_custom:()=>CI,_date:()=>EI,_decode:()=>jh,_decodeAsync:()=>Dh,_default:()=>b8,_discriminatedUnion:()=>c8,_e164:()=>Sg,_email:()=>ag,_emoji:()=>dg,_encode:()=>Mh,_encodeAsync:()=>zh,_endsWith:()=>vu,_enum:()=>m8,_file:()=>OI,_float32:()=>dI,_float64:()=>pI,_gt:()=>Ti,_gte:()=>wr,_guid:()=>dp,_includes:()=>_u,_int:()=>lI,_int32:()=>fI,_int64:()=>vI,_intersection:()=>u8,_ipv4:()=>yg,_ipv6:()=>vg,_isoDate:()=>oI,_isoDateTime:()=>iI,_isoDuration:()=>sI,_isoTime:()=>aI,_jwt:()=>kg,_ksuid:()=>_g,_lazy:()=>$8,_length:()=>$s,_literal:()=>g8,_lowercase:()=>hu,_lt:()=>$i,_lte:()=>Qr,_mac:()=>rI,_map:()=>p8,_max:()=>Qr,_maxLength:()=>Es,_maxSize:()=>ha,_mime:()=>bu,_min:()=>wr,_minLength:()=>po,_minSize:()=>Ai,_multipleOf:()=>ma,_nan:()=>TI,_nanoid:()=>pg,_nativeEnum:()=>h8,_negative:()=>$g,_never:()=>mp,_nonnegative:()=>Ag,_nonoptional:()=>w8,_nonpositive:()=>Tg,_normalize:()=>wu,_null:()=>II,_nullable:()=>v8,_number:()=>cI,_optional:()=>y8,_overwrite:()=>Ln,_parse:()=>cu,_parseAsync:()=>uu,_pipe:()=>S8,_positive:()=>Eg,_promise:()=>T8,_property:()=>Og,_readonly:()=>k8,_record:()=>d8,_refine:()=>PI,_regex:()=>mu,_safeDecode:()=>Uh,_safeDecodeAsync:()=>Bh,_safeEncode:()=>Lh,_safeEncodeAsync:()=>Fh,_safeParse:()=>lu,_safeParseAsync:()=>du,_set:()=>f8,_size:()=>ks,_slugify:()=>ku,_startsWith:()=>yu,_string:()=>eI,_stringFormat:()=>Eu,_stringbool:()=>jI,_success:()=>x8,_superRefine:()=>RI,_symbol:()=>wI,_templateLiteral:()=>E8,_toLowerCase:()=>Iu,_toUpperCase:()=>Su,_transform:()=>_8,_trim:()=>xu,_tuple:()=>l8,_uint32:()=>mI,_uint64:()=>bI,_ulid:()=>hg,_undefined:()=>xI,_union:()=>a8,_unknown:()=>fp,_uppercase:()=>gu,_url:()=>pp,_uuid:()=>sg,_uuidv4:()=>cg,_uuidv6:()=>ug,_uuidv7:()=>lg,_void:()=>kI,_xid:()=>gg,_xor:()=>s8,clone:()=>lt,config:()=>bt,createStandardJSONSchemaMethod:()=>$u,createToJSONSchemaMethod:()=>zI,decode:()=>C5,decodeAsync:()=>R5,describe:()=>NI,encode:()=>O5,encodeAsync:()=>P5,extractDefs:()=>_a,finalize:()=>ya,flattenError:()=>Qd,formatError:()=>ep,globalConfig:()=>Gd,globalRegistry:()=>Be,initializeContext:()=>ga,isValidBase64:()=>d0,isValidBase64URL:()=>e1,isValidJWT:()=>t1,locales:()=>lp,meta:()=>MI,parse:()=>Ei,parseAsync:()=>ws,prettifyError:()=>Kw,process:()=>Ze,regexes:()=>vn,registry:()=>og,safeDecode:()=>M5,safeDecodeAsync:()=>z5,safeEncode:()=>N5,safeEncodeAsync:()=>j5,safeParse:()=>Ww,safeParseAsync:()=>Jw,toDotPath:()=>jN,toJSONSchema:()=>fo,treeifyError:()=>qw,util:()=>F,version:()=>Vx});var jw=Object.freeze({status:"aborted"});function I(e,t,r){function n(s,c){if(s._zod||Object.defineProperty(s,"_zod",{value:{def:c,constr:a,traits:new Set},enumerable:!1}),s._zod.traits.has(e))return;s._zod.traits.add(e),t(s,c);let u=a.prototype,l=Object.keys(u);for(let d=0;d<l.length;d++){let f=l[d];f in s||(s[f]=u[f].bind(s))}}let i=r?.Parent??Object;class o extends i{}Object.defineProperty(o,"name",{value:e});function a(s){var c;let u=r?.Parent?new o:this;n(u,s),(c=u._zod).deferred??(c.deferred=[]);for(let l of u._zod.deferred)l();return u}return Object.defineProperty(a,"init",{value:n}),Object.defineProperty(a,Symbol.hasInstance,{value:s=>r?.Parent&&s instanceof r.Parent?!0:s?._zod?.traits?.has(e)}),Object.defineProperty(a,"name",{value:e}),a}var Ph=Symbol("zod_brand"),Dn=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},ua=class extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}},Gd={};function bt(e){return e&&Object.assign(Gd,e),Gd}var F={};li(F,{BIGINT_FORMAT_RANGES:()=>Hw,Class:()=>Dw,NUMBER_FORMAT_RANGES:()=>Gw,aborted:()=>fa,allowsEval:()=>Fw,assert:()=>c5,assertEqual:()=>i5,assertIs:()=>a5,assertNever:()=>s5,assertNotEqual:()=>o5,assignProp:()=>da,base64ToUint8Array:()=>RN,base64urlToUint8Array:()=>k5,cached:()=>au,captureStackTrace:()=>Nh,cleanEnum:()=>S5,cleanRegex:()=>Kd,clone:()=>lt,cloneDef:()=>l5,createTransparentProxy:()=>g5,defineLazy:()=>Oe,esc:()=>Rh,escapeRegex:()=>yn,extend:()=>v5,finalizeIssue:()=>Rr,floatSafeRemainder:()=>Lw,getElementAtPath:()=>d5,getEnumValues:()=>qd,getLengthableOrigin:()=>Xd,getParsedType:()=>h5,getSizableOrigin:()=>Jd,hexToUint8Array:()=>$5,isObject:()=>bs,isPlainObject:()=>pa,issue:()=>su,joinValues:()=>A,jsonStringifyReplacer:()=>ou,merge:()=>w5,mergeDefs:()=>lo,normalizeParams:()=>q,nullish:()=>la,numKeys:()=>m5,objectClone:()=>u5,omit:()=>y5,optionalKeys:()=>Zw,parsedType:()=>Z,partial:()=>x5,pick:()=>_5,prefixIssues:()=>Yr,primitiveTypes:()=>Vw,promiseAllObject:()=>p5,propertyKeyTypes:()=>Wd,randomString:()=>f5,required:()=>I5,safeExtend:()=>b5,shallowClone:()=>Bw,slugify:()=>Uw,stringifyPrimitive:()=>U,uint8ArrayToBase64:()=>NN,uint8ArrayToBase64url:()=>E5,uint8ArrayToHex:()=>T5,unwrapMessage:()=>Hd});function i5(e){return e}function o5(e){return e}function a5(e){}function s5(e){throw new Error("Unexpected value in exhaustive check")}function c5(e){}function qd(e){let t=Object.values(e).filter(n=>typeof n=="number");return Object.entries(e).filter(([n,i])=>t.indexOf(+n)===-1).map(([n,i])=>i)}function A(e,t="|"){return e.map(r=>U(r)).join(t)}function ou(e,t){return typeof t=="bigint"?t.toString():t}function au(e){return{get value(){{let r=e();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function la(e){return e==null}function Kd(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function Lw(e,t){let r=(e.toString().split(".")[1]||"").length,n=t.toString(),i=(n.split(".")[1]||"").length;if(i===0&&/\d?e-\d?/.test(n)){let c=n.match(/\d?e-(\d?)/);c?.[1]&&(i=Number.parseInt(c[1]))}let o=r>i?r:i,a=Number.parseInt(e.toFixed(o).replace(".","")),s=Number.parseInt(t.toFixed(o).replace(".",""));return a%s/10**o}var PN=Symbol("evaluating");function Oe(e,t,r){let n;Object.defineProperty(e,t,{get(){if(n!==PN)return n===void 0&&(n=PN,n=r()),n},set(i){Object.defineProperty(e,t,{value:i})},configurable:!0})}function u5(e){return Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}function da(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function lo(...e){let t={};for(let r of e){let n=Object.getOwnPropertyDescriptors(r);Object.assign(t,n)}return Object.defineProperties({},t)}function l5(e){return lo(e._zod.def)}function d5(e,t){return t?t.reduce((r,n)=>r?.[n],e):e}function p5(e){let t=Object.keys(e),r=t.map(n=>e[n]);return Promise.all(r).then(n=>{let i={};for(let o=0;o<t.length;o++)i[t[o]]=n[o];return i})}function f5(e=10){let t="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<e;n++)r+=t[Math.floor(Math.random()*t.length)];return r}function Rh(e){return JSON.stringify(e)}function Uw(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var Nh="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function bs(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Fw=au(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let e=Function;return new e(""),!0}catch{return!1}});function pa(e){if(bs(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!="function")return!0;let r=t.prototype;return!(bs(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function Bw(e){return pa(e)?{...e}:Array.isArray(e)?[...e]:e}function m5(e){let t=0;for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t++;return t}var h5=e=>{let t=typeof e;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(e)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(e)?"array":e===null?"null":e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?"promise":typeof Map<"u"&&e instanceof Map?"map":typeof Set<"u"&&e instanceof Set?"set":typeof Date<"u"&&e instanceof Date?"date":typeof File<"u"&&e instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${t}`)}},Wd=new Set(["string","number","symbol"]),Vw=new Set(["string","number","bigint","boolean","symbol","undefined"]);function yn(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function lt(e,t,r){let n=new e._zod.constr(t??e._zod.def);return(!t||r?.parent)&&(n._zod.parent=e),n}function q(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function g5(e){let t;return new Proxy({},{get(r,n,i){return t??(t=e()),Reflect.get(t,n,i)},set(r,n,i,o){return t??(t=e()),Reflect.set(t,n,i,o)},has(r,n){return t??(t=e()),Reflect.has(t,n)},deleteProperty(r,n){return t??(t=e()),Reflect.deleteProperty(t,n)},ownKeys(r){return t??(t=e()),Reflect.ownKeys(t)},getOwnPropertyDescriptor(r,n){return t??(t=e()),Reflect.getOwnPropertyDescriptor(t,n)},defineProperty(r,n,i){return t??(t=e()),Reflect.defineProperty(t,n,i)}})}function U(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function Zw(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var Gw={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},Hw={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function _5(e,t){let r=e._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");let o=lo(e._zod.def,{get shape(){let a={};for(let s in t){if(!(s in r.shape))throw new Error(`Unrecognized key: "${s}"`);t[s]&&(a[s]=r.shape[s])}return da(this,"shape",a),a},checks:[]});return lt(e,o)}function y5(e,t){let r=e._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");let o=lo(e._zod.def,{get shape(){let a={...e._zod.def.shape};for(let s in t){if(!(s in r.shape))throw new Error(`Unrecognized key: "${s}"`);t[s]&&delete a[s]}return da(this,"shape",a),a},checks:[]});return lt(e,o)}function v5(e,t){if(!pa(t))throw new Error("Invalid input to extend: expected a plain object");let r=e._zod.def.checks;if(r&&r.length>0){let o=e._zod.def.shape;for(let a in t)if(Object.getOwnPropertyDescriptor(o,a)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let i=lo(e._zod.def,{get shape(){let o={...e._zod.def.shape,...t};return da(this,"shape",o),o}});return lt(e,i)}function b5(e,t){if(!pa(t))throw new Error("Invalid input to safeExtend: expected a plain object");let r=lo(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return da(this,"shape",n),n}});return lt(e,r)}function w5(e,t){let r=lo(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return da(this,"shape",n),n},get catchall(){return t._zod.def.catchall},checks:[]});return lt(e,r)}function x5(e,t,r){let i=t._zod.def.checks;if(i&&i.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");let a=lo(t._zod.def,{get shape(){let s=t._zod.def.shape,c={...s};if(r)for(let u in r){if(!(u in s))throw new Error(`Unrecognized key: "${u}"`);r[u]&&(c[u]=e?new e({type:"optional",innerType:s[u]}):s[u])}else for(let u in s)c[u]=e?new e({type:"optional",innerType:s[u]}):s[u];return da(this,"shape",c),c},checks:[]});return lt(t,a)}function I5(e,t,r){let n=lo(t._zod.def,{get shape(){let i=t._zod.def.shape,o={...i};if(r)for(let a in r){if(!(a in o))throw new Error(`Unrecognized key: "${a}"`);r[a]&&(o[a]=new e({type:"nonoptional",innerType:i[a]}))}else for(let a in i)o[a]=new e({type:"nonoptional",innerType:i[a]});return da(this,"shape",o),o}});return lt(t,n)}function fa(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function Yr(e,t){return t.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function Hd(e){return typeof e=="string"?e:e?.message}function Rr(e,t,r){let n={...e,path:e.path??[]};if(!e.message){let i=Hd(e.inst?._zod.def?.error?.(e))??Hd(t?.error?.(e))??Hd(r.customError?.(e))??Hd(r.localeError?.(e))??"Invalid input";n.message=i}return delete n.inst,delete n.continue,t?.reportInput||delete n.input,n}function Jd(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}function Xd(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function Z(e){let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"nan":"number";case"object":{if(e===null)return"null";if(Array.isArray(e))return"array";let r=e;if(r&&Object.getPrototypeOf(r)!==Object.prototype&&"constructor"in r&&r.constructor)return r.constructor.name}}return t}function su(...e){let[t,r,n]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:n}:{...t}}function S5(e){return Object.entries(e).filter(([t,r])=>Number.isNaN(Number.parseInt(t,10))).map(t=>t[1])}function RN(e){let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}function NN(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return btoa(t)}function k5(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),r="=".repeat((4-t.length%4)%4);return RN(t+r)}function E5(e){return NN(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function $5(e){let t=e.replace(/^0x/,"");if(t.length%2!==0)throw new Error("Invalid hex string length");let r=new Uint8Array(t.length/2);for(let n=0;n<t.length;n+=2)r[n/2]=Number.parseInt(t.slice(n,n+2),16);return r}function T5(e){return Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")}var Dw=class{constructor(...t){}};var MN=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,ou,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Yd=I("$ZodError",MN),Nr=I("$ZodError",MN,{Parent:Error});function Qd(e,t=r=>r.message){let r={},n=[];for(let i of e.issues)i.path.length>0?(r[i.path[0]]=r[i.path[0]]||[],r[i.path[0]].push(t(i))):n.push(t(i));return{formErrors:n,fieldErrors:r}}function ep(e,t=r=>r.message){let r={_errors:[]},n=i=>{for(let o of i.issues)if(o.code==="invalid_union"&&o.errors.length)o.errors.map(a=>n({issues:a}));else if(o.code==="invalid_key")n({issues:o.issues});else if(o.code==="invalid_element")n({issues:o.issues});else if(o.path.length===0)r._errors.push(t(o));else{let a=r,s=0;for(;s<o.path.length;){let c=o.path[s];s===o.path.length-1?(a[c]=a[c]||{_errors:[]},a[c]._errors.push(t(o))):a[c]=a[c]||{_errors:[]},a=a[c],s++}}};return n(e),r}function qw(e,t=r=>r.message){let r={errors:[]},n=(i,o=[])=>{var a,s;for(let c of i.issues)if(c.code==="invalid_union"&&c.errors.length)c.errors.map(u=>n({issues:u},c.path));else if(c.code==="invalid_key")n({issues:c.issues},c.path);else if(c.code==="invalid_element")n({issues:c.issues},c.path);else{let u=[...o,...c.path];if(u.length===0){r.errors.push(t(c));continue}let l=r,d=0;for(;d<u.length;){let f=u[d],p=d===u.length-1;typeof f=="string"?(l.properties??(l.properties={}),(a=l.properties)[f]??(a[f]={errors:[]}),l=l.properties[f]):(l.items??(l.items=[]),(s=l.items)[f]??(s[f]={errors:[]}),l=l.items[f]),p&&l.errors.push(t(c)),d++}}};return n(e),r}function jN(e){let t=[],r=e.map(n=>typeof n=="object"?n.key:n);for(let n of r)typeof n=="number"?t.push(`[${n}]`):typeof n=="symbol"?t.push(`[${JSON.stringify(String(n))}]`):/[^\w$]/.test(n)?t.push(`[${JSON.stringify(n)}]`):(t.length&&t.push("."),t.push(n));return t.join("")}function Kw(e){let t=[],r=[...e.issues].sort((n,i)=>(n.path??[]).length-(i.path??[]).length);for(let n of r)t.push(`\u2716 ${n.message}`),n.path?.length&&t.push(` \u2192 at ${jN(n.path)}`);return t.join(`
|
|
63
63
|
`)}var cu=e=>(t,r,n,i)=>{let o=n?Object.assign(n,{async:!1}):{async:!1},a=t._zod.run({value:r,issues:[]},o);if(a instanceof Promise)throw new Dn;if(a.issues.length){let s=new(i?.Err??e)(a.issues.map(c=>Rr(c,o,bt())));throw Nh(s,i?.callee),s}return a.value},Ei=cu(Nr),uu=e=>async(t,r,n,i)=>{let o=n?Object.assign(n,{async:!0}):{async:!0},a=t._zod.run({value:r,issues:[]},o);if(a instanceof Promise&&(a=await a),a.issues.length){let s=new(i?.Err??e)(a.issues.map(c=>Rr(c,o,bt())));throw Nh(s,i?.callee),s}return a.value},ws=uu(Nr),lu=e=>(t,r,n)=>{let i=n?{...n,async:!1}:{async:!1},o=t._zod.run({value:r,issues:[]},i);if(o instanceof Promise)throw new Dn;return o.issues.length?{success:!1,error:new(e??Yd)(o.issues.map(a=>Rr(a,i,bt())))}:{success:!0,data:o.value}},Ww=lu(Nr),du=e=>async(t,r,n)=>{let i=n?Object.assign(n,{async:!0}):{async:!0},o=t._zod.run({value:r,issues:[]},i);return o instanceof Promise&&(o=await o),o.issues.length?{success:!1,error:new e(o.issues.map(a=>Rr(a,i,bt())))}:{success:!0,data:o.value}},Jw=du(Nr),Mh=e=>(t,r,n)=>{let i=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return cu(e)(t,r,i)},O5=Mh(Nr),jh=e=>(t,r,n)=>cu(e)(t,r,n),C5=jh(Nr),zh=e=>async(t,r,n)=>{let i=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return uu(e)(t,r,i)},P5=zh(Nr),Dh=e=>async(t,r,n)=>uu(e)(t,r,n),R5=Dh(Nr),Lh=e=>(t,r,n)=>{let i=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return lu(e)(t,r,i)},N5=Lh(Nr),Uh=e=>(t,r,n)=>lu(e)(t,r,n),M5=Uh(Nr),Fh=e=>async(t,r,n)=>{let i=n?Object.assign(n,{direction:"backward"}):{direction:"backward"};return du(e)(t,r,i)},j5=Fh(Nr),Bh=e=>async(t,r,n)=>du(e)(t,r,n),z5=Bh(Nr);var vn={};li(vn,{base64:()=>px,base64url:()=>Vh,bigint:()=>yx,boolean:()=>bx,browserEmail:()=>G5,cidrv4:()=>lx,cidrv6:()=>dx,cuid:()=>Xw,cuid2:()=>Yw,date:()=>mx,datetime:()=>gx,domain:()=>K5,duration:()=>nx,e164:()=>fx,email:()=>ox,emoji:()=>ax,extendedDuration:()=>D5,guid:()=>ix,hex:()=>W5,hostname:()=>q5,html5Email:()=>B5,idnEmail:()=>Z5,integer:()=>vx,ipv4:()=>sx,ipv6:()=>cx,ksuid:()=>tx,lowercase:()=>Ix,mac:()=>ux,md5_base64:()=>X5,md5_base64url:()=>Y5,md5_hex:()=>J5,nanoid:()=>rx,null:()=>wx,number:()=>Zh,rfc5322Email:()=>V5,sha1_base64:()=>eG,sha1_base64url:()=>tG,sha1_hex:()=>Q5,sha256_base64:()=>nG,sha256_base64url:()=>iG,sha256_hex:()=>rG,sha384_base64:()=>aG,sha384_base64url:()=>sG,sha384_hex:()=>oG,sha512_base64:()=>uG,sha512_base64url:()=>lG,sha512_hex:()=>cG,string:()=>_x,time:()=>hx,ulid:()=>Qw,undefined:()=>xx,unicodeEmail:()=>zN,uppercase:()=>Sx,uuid:()=>xs,uuid4:()=>L5,uuid6:()=>U5,uuid7:()=>F5,xid:()=>ex});var Xw=/^[cC][^\s-]{8,}$/,Yw=/^[0-9a-z]+$/,Qw=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,ex=/^[0-9a-vA-V]{20}$/,tx=/^[A-Za-z0-9]{27}$/,rx=/^[a-zA-Z0-9_-]{21}$/,nx=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,D5=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,ix=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,xs=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,L5=xs(4),U5=xs(6),F5=xs(7),ox=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,B5=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,V5=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,zN=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,Z5=zN,G5=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,H5="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function ax(){return new RegExp(H5,"u")}var sx=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,cx=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,ux=e=>{let t=yn(e??":");return new RegExp(`^(?:[0-9A-F]{2}${t}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${t}){5}[0-9a-f]{2}$`)},lx=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,dx=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,px=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Vh=/^[A-Za-z0-9_-]*$/,q5=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,K5=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,fx=/^\+[1-9]\d{6,14}$/,DN="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",mx=new RegExp(`^${DN}$`);function LN(e){let t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function hx(e){return new RegExp(`^${LN(e)}$`)}function gx(e){let t=LN({precision:e.precision}),r=["Z"];e.local&&r.push(""),e.offset&&r.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let n=`${t}(?:${r.join("|")})`;return new RegExp(`^${DN}T(?:${n})$`)}var _x=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},yx=/^-?\d+n?$/,vx=/^-?\d+$/,Zh=/^-?\d+(?:\.\d+)?$/,bx=/^(?:true|false)$/i,wx=/^null$/i;var xx=/^undefined$/i;var Ix=/^[^A-Z]*$/,Sx=/^[^a-z]*$/,W5=/^[0-9a-fA-F]*$/;function tp(e,t){return new RegExp(`^[A-Za-z0-9+/]{${e}}${t}$`)}function rp(e){return new RegExp(`^[A-Za-z0-9_-]{${e}}$`)}var J5=/^[0-9a-fA-F]{32}$/,X5=tp(22,"=="),Y5=rp(22),Q5=/^[0-9a-fA-F]{40}$/,eG=tp(27,"="),tG=rp(27),rG=/^[0-9a-fA-F]{64}$/,nG=tp(43,"="),iG=rp(43),oG=/^[0-9a-fA-F]{96}$/,aG=tp(64,""),sG=rp(64),cG=/^[0-9a-fA-F]{128}$/,uG=tp(86,"=="),lG=rp(86);var Qe=I("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),FN={number:"number",bigint:"bigint",object:"date"},Gh=I("$ZodCheckLessThan",(e,t)=>{Qe.init(e,t);let r=FN[typeof t.value];e._zod.onattach.push(n=>{let i=n._zod.bag,o=(t.inclusive?i.maximum:i.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<o&&(t.inclusive?i.maximum=t.value:i.exclusiveMaximum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value<=t.value:n.value<t.value)||n.issues.push({origin:r,code:"too_big",maximum:typeof t.value=="object"?t.value.getTime():t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Hh=I("$ZodCheckGreaterThan",(e,t)=>{Qe.init(e,t);let r=FN[typeof t.value];e._zod.onattach.push(n=>{let i=n._zod.bag,o=(t.inclusive?i.minimum:i.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>o&&(t.inclusive?i.minimum=t.value:i.exclusiveMinimum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value>=t.value:n.value>t.value)||n.issues.push({origin:r,code:"too_small",minimum:typeof t.value=="object"?t.value.getTime():t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),kx=I("$ZodCheckMultipleOf",(e,t)=>{Qe.init(e,t),e._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=r=>{if(typeof r.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%t.value===BigInt(0):Lw(r.value,t.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:t.value,input:r.value,inst:e,continue:!t.abort})}}),Ex=I("$ZodCheckNumberFormat",(e,t)=>{Qe.init(e,t),t.format=t.format||"float64";let r=t.format?.includes("int"),n=r?"int":"number",[i,o]=Gw[t.format];e._zod.onattach.push(a=>{let s=a._zod.bag;s.format=t.format,s.minimum=i,s.maximum=o,r&&(s.pattern=vx)}),e._zod.check=a=>{let s=a.value;if(r){if(!Number.isInteger(s)){a.issues.push({expected:n,format:t.format,code:"invalid_type",continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?a.issues.push({input:s,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,inclusive:!0,continue:!t.abort}):a.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,inclusive:!0,continue:!t.abort});return}}s<i&&a.issues.push({origin:"number",input:s,code:"too_small",minimum:i,inclusive:!0,inst:e,continue:!t.abort}),s>o&&a.issues.push({origin:"number",input:s,code:"too_big",maximum:o,inclusive:!0,inst:e,continue:!t.abort})}}),$x=I("$ZodCheckBigIntFormat",(e,t)=>{Qe.init(e,t);let[r,n]=Hw[t.format];e._zod.onattach.push(i=>{let o=i._zod.bag;o.format=t.format,o.minimum=r,o.maximum=n}),e._zod.check=i=>{let o=i.value;o<r&&i.issues.push({origin:"bigint",input:o,code:"too_small",minimum:r,inclusive:!0,inst:e,continue:!t.abort}),o>n&&i.issues.push({origin:"bigint",input:o,code:"too_big",maximum:n,inclusive:!0,inst:e,continue:!t.abort})}}),Tx=I("$ZodCheckMaxSize",(e,t)=>{var r;Qe.init(e,t),(r=e._zod.def).when??(r.when=n=>{let i=n.value;return!la(i)&&i.size!==void 0}),e._zod.onattach.push(n=>{let i=n._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<i&&(n._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let i=n.value;i.size<=t.maximum||n.issues.push({origin:Jd(i),code:"too_big",maximum:t.maximum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),Ax=I("$ZodCheckMinSize",(e,t)=>{var r;Qe.init(e,t),(r=e._zod.def).when??(r.when=n=>{let i=n.value;return!la(i)&&i.size!==void 0}),e._zod.onattach.push(n=>{let i=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>i&&(n._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let i=n.value;i.size>=t.minimum||n.issues.push({origin:Jd(i),code:"too_small",minimum:t.minimum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),Ox=I("$ZodCheckSizeEquals",(e,t)=>{var r;Qe.init(e,t),(r=e._zod.def).when??(r.when=n=>{let i=n.value;return!la(i)&&i.size!==void 0}),e._zod.onattach.push(n=>{let i=n._zod.bag;i.minimum=t.size,i.maximum=t.size,i.size=t.size}),e._zod.check=n=>{let i=n.value,o=i.size;if(o===t.size)return;let a=o>t.size;n.issues.push({origin:Jd(i),...a?{code:"too_big",maximum:t.size}:{code:"too_small",minimum:t.size},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Cx=I("$ZodCheckMaxLength",(e,t)=>{var r;Qe.init(e,t),(r=e._zod.def).when??(r.when=n=>{let i=n.value;return!la(i)&&i.length!==void 0}),e._zod.onattach.push(n=>{let i=n._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<i&&(n._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let i=n.value;if(i.length<=t.maximum)return;let a=Xd(i);n.issues.push({origin:a,code:"too_big",maximum:t.maximum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),Px=I("$ZodCheckMinLength",(e,t)=>{var r;Qe.init(e,t),(r=e._zod.def).when??(r.when=n=>{let i=n.value;return!la(i)&&i.length!==void 0}),e._zod.onattach.push(n=>{let i=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>i&&(n._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let i=n.value;if(i.length>=t.minimum)return;let a=Xd(i);n.issues.push({origin:a,code:"too_small",minimum:t.minimum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),Rx=I("$ZodCheckLengthEquals",(e,t)=>{var r;Qe.init(e,t),(r=e._zod.def).when??(r.when=n=>{let i=n.value;return!la(i)&&i.length!==void 0}),e._zod.onattach.push(n=>{let i=n._zod.bag;i.minimum=t.length,i.maximum=t.length,i.length=t.length}),e._zod.check=n=>{let i=n.value,o=i.length;if(o===t.length)return;let a=Xd(i),s=o>t.length;n.issues.push({origin:a,...s?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),pu=I("$ZodCheckStringFormat",(e,t)=>{var r,n;Qe.init(e,t),e._zod.onattach.push(i=>{let o=i._zod.bag;o.format=t.format,t.pattern&&(o.patterns??(o.patterns=new Set),o.patterns.add(t.pattern))}),t.pattern?(r=e._zod).check??(r.check=i=>{t.pattern.lastIndex=0,!t.pattern.test(i.value)&&i.issues.push({origin:"string",code:"invalid_format",format:t.format,input:i.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(n=e._zod).check??(n.check=()=>{})}),Nx=I("$ZodCheckRegex",(e,t)=>{pu.init(e,t),e._zod.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Mx=I("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Ix),pu.init(e,t)}),jx=I("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Sx),pu.init(e,t)}),zx=I("$ZodCheckIncludes",(e,t)=>{Qe.init(e,t);let r=yn(t.includes),n=new RegExp(typeof t.position=="number"?`^.{${t.position}}${r}`:r);t.pattern=n,e._zod.onattach.push(i=>{let o=i._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=i=>{i.value.includes(t.includes,t.position)||i.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:i.value,inst:e,continue:!t.abort})}}),Dx=I("$ZodCheckStartsWith",(e,t)=>{Qe.init(e,t);let r=new RegExp(`^${yn(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{let i=n._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(r)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),Lx=I("$ZodCheckEndsWith",(e,t)=>{Qe.init(e,t);let r=new RegExp(`.*${yn(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{let i=n._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(r)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}});function UN(e,t,r){e.issues.length&&t.issues.push(...Yr(r,e.issues))}var Ux=I("$ZodCheckProperty",(e,t)=>{Qe.init(e,t),e._zod.check=r=>{let n=t.schema._zod.run({value:r.value[t.property],issues:[]},{});if(n instanceof Promise)return n.then(i=>UN(i,r,t.property));UN(n,r,t.property)}}),Fx=I("$ZodCheckMimeType",(e,t)=>{Qe.init(e,t);let r=new Set(t.mime);e._zod.onattach.push(n=>{n._zod.bag.mime=t.mime}),e._zod.check=n=>{r.has(n.value.type)||n.issues.push({code:"invalid_value",values:t.mime,input:n.value.type,inst:e,continue:!t.abort})}}),Bx=I("$ZodCheckOverwrite",(e,t)=>{Qe.init(e,t),e._zod.check=r=>{r.value=t.tx(r.value)}});var np=class{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}let n=t.split(`
|
|
64
64
|
`).filter(a=>a),i=Math.min(...n.map(a=>a.length-a.trimStart().length)),o=n.map(a=>a.slice(i)).map(a=>" ".repeat(this.indent*2)+a);for(let a of o)this.content.push(a)}compile(){let t=Function,r=this?.args,i=[...(this?.content??[""]).map(o=>` ${o}`)];return new t(...r,i.join(`
|
|
65
65
|
`))}};var Vx={major:4,minor:3,patch:6};var we=I("$ZodType",(e,t)=>{var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Vx;let n=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&n.unshift(e);for(let i of n)for(let o of i._zod.onattach)o(e);if(n.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let i=(a,s,c)=>{let u=fa(a),l;for(let d of s){if(d._zod.def.when){if(!d._zod.def.when(a))continue}else if(u)continue;let f=a.issues.length,p=d._zod.check(a);if(p instanceof Promise&&c?.async===!1)throw new Dn;if(l||p instanceof Promise)l=(l??Promise.resolve()).then(async()=>{await p,a.issues.length!==f&&(u||(u=fa(a,f)))});else{if(a.issues.length===f)continue;u||(u=fa(a,f))}}return l?l.then(()=>a):a},o=(a,s,c)=>{if(fa(a))return a.aborted=!0,a;let u=i(s,n,c);if(u instanceof Promise){if(c.async===!1)throw new Dn;return u.then(l=>e._zod.parse(l,c))}return e._zod.parse(u,c)};e._zod.run=(a,s)=>{if(s.skipChecks)return e._zod.parse(a,s);if(s.direction==="backward"){let u=e._zod.parse({value:a.value,issues:[]},{...s,skipChecks:!0});return u instanceof Promise?u.then(l=>o(l,a,s)):o(u,a,s)}let c=e._zod.parse(a,s);if(c instanceof Promise){if(s.async===!1)throw new Dn;return c.then(u=>i(u,n,s))}return i(c,n,s)}}Oe(e,"~standard",()=>({validate:i=>{try{let o=Ww(e,i);return o.success?{value:o.data}:{issues:o.error?.issues}}catch{return Jw(e,i).then(a=>a.success?{value:a.data}:{issues:a.error?.issues})}},vendor:"zod",version:1}))}),Is=I("$ZodString",(e,t)=>{we.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??_x(e._zod.bag),e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:e}),r}}),Ke=I("$ZodStringFormat",(e,t)=>{pu.init(e,t),Is.init(e,t)}),Gx=I("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=ix),Ke.init(e,t)}),Hx=I("$ZodUUID",(e,t)=>{if(t.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(n===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=xs(n))}else t.pattern??(t.pattern=xs());Ke.init(e,t)}),qx=I("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=ox),Ke.init(e,t)}),Kx=I("$ZodURL",(e,t)=>{Ke.init(e,t),e._zod.check=r=>{try{let n=r.value.trim(),i=new URL(n);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(i.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:r.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(i.protocol.endsWith(":")?i.protocol.slice(0,-1):i.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:r.value,inst:e,continue:!t.abort})),t.normalize?r.value=i.href:r.value=n;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort})}}}),Wx=I("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=ax()),Ke.init(e,t)}),Jx=I("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=rx),Ke.init(e,t)}),Xx=I("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=Xw),Ke.init(e,t)}),Yx=I("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=Yw),Ke.init(e,t)}),Qx=I("$ZodULID",(e,t)=>{t.pattern??(t.pattern=Qw),Ke.init(e,t)}),e0=I("$ZodXID",(e,t)=>{t.pattern??(t.pattern=ex),Ke.init(e,t)}),t0=I("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=tx),Ke.init(e,t)}),r0=I("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=gx(t)),Ke.init(e,t)}),n0=I("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=mx),Ke.init(e,t)}),i0=I("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=hx(t)),Ke.init(e,t)}),o0=I("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=nx),Ke.init(e,t)}),a0=I("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=sx),Ke.init(e,t),e._zod.bag.format="ipv4"}),s0=I("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=cx),Ke.init(e,t),e._zod.bag.format="ipv6",e._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:e,continue:!t.abort})}}}),c0=I("$ZodMAC",(e,t)=>{t.pattern??(t.pattern=ux(t.delimiter)),Ke.init(e,t),e._zod.bag.format="mac"}),u0=I("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=lx),Ke.init(e,t)}),l0=I("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=dx),Ke.init(e,t),e._zod.check=r=>{let n=r.value.split("/");try{if(n.length!==2)throw new Error;let[i,o]=n;if(!o)throw new Error;let a=Number(o);if(`${a}`!==o)throw new Error;if(a<0||a>128)throw new Error;new URL(`http://[${i}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:e,continue:!t.abort})}}});function d0(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var p0=I("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=px),Ke.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=r=>{d0(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}});function e1(e){if(!Vh.test(e))return!1;let t=e.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=t.padEnd(Math.ceil(t.length/4)*4,"=");return d0(r)}var f0=I("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Vh),Ke.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=r=>{e1(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),m0=I("$ZodE164",(e,t)=>{t.pattern??(t.pattern=fx),Ke.init(e,t)});function t1(e,t=null){try{let r=e.split(".");if(r.length!==3)return!1;let[n]=r;if(!n)return!1;let i=JSON.parse(atob(n));return!("typ"in i&&i?.typ!=="JWT"||!i.alg||t&&(!("alg"in i)||i.alg!==t))}catch{return!1}}var h0=I("$ZodJWT",(e,t)=>{Ke.init(e,t),e._zod.check=r=>{t1(r.value,t.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}}),g0=I("$ZodCustomStringFormat",(e,t)=>{Ke.init(e,t),e._zod.check=r=>{t.fn(r.value)||r.issues.push({code:"invalid_format",format:t.format,input:r.value,inst:e,continue:!t.abort})}}),Yh=I("$ZodNumber",(e,t)=>{we.init(e,t),e._zod.pattern=e._zod.bag.pattern??Zh,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=Number(r.value)}catch{}let i=r.value;if(typeof i=="number"&&!Number.isNaN(i)&&Number.isFinite(i))return r;let o=typeof i=="number"?Number.isNaN(i)?"NaN":Number.isFinite(i)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:i,inst:e,...o?{received:o}:{}}),r}}),_0=I("$ZodNumberFormat",(e,t)=>{Ex.init(e,t),Yh.init(e,t)}),ip=I("$ZodBoolean",(e,t)=>{we.init(e,t),e._zod.pattern=bx,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=!!r.value}catch{}let i=r.value;return typeof i=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:i,inst:e}),r}}),Qh=I("$ZodBigInt",(e,t)=>{we.init(e,t),e._zod.pattern=yx,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=BigInt(r.value)}catch{}return typeof r.value=="bigint"||r.issues.push({expected:"bigint",code:"invalid_type",input:r.value,inst:e}),r}}),y0=I("$ZodBigIntFormat",(e,t)=>{$x.init(e,t),Qh.init(e,t)}),v0=I("$ZodSymbol",(e,t)=>{we.init(e,t),e._zod.parse=(r,n)=>{let i=r.value;return typeof i=="symbol"||r.issues.push({expected:"symbol",code:"invalid_type",input:i,inst:e}),r}}),b0=I("$ZodUndefined",(e,t)=>{we.init(e,t),e._zod.pattern=xx,e._zod.values=new Set([void 0]),e._zod.optin="optional",e._zod.optout="optional",e._zod.parse=(r,n)=>{let i=r.value;return typeof i>"u"||r.issues.push({expected:"undefined",code:"invalid_type",input:i,inst:e}),r}}),w0=I("$ZodNull",(e,t)=>{we.init(e,t),e._zod.pattern=wx,e._zod.values=new Set([null]),e._zod.parse=(r,n)=>{let i=r.value;return i===null||r.issues.push({expected:"null",code:"invalid_type",input:i,inst:e}),r}}),x0=I("$ZodAny",(e,t)=>{we.init(e,t),e._zod.parse=r=>r}),op=I("$ZodUnknown",(e,t)=>{we.init(e,t),e._zod.parse=r=>r}),ap=I("$ZodNever",(e,t)=>{we.init(e,t),e._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:e}),r)}),I0=I("$ZodVoid",(e,t)=>{we.init(e,t),e._zod.parse=(r,n)=>{let i=r.value;return typeof i>"u"||r.issues.push({expected:"void",code:"invalid_type",input:i,inst:e}),r}}),S0=I("$ZodDate",(e,t)=>{we.init(e,t),e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=new Date(r.value)}catch{}let i=r.value,o=i instanceof Date;return o&&!Number.isNaN(i.getTime())||r.issues.push({expected:"date",code:"invalid_type",input:i,...o?{received:"Invalid Date"}:{},inst:e}),r}});function VN(e,t,r){e.issues.length&&t.issues.push(...Yr(r,e.issues)),t.value[r]=e.value}var k0=I("$ZodArray",(e,t)=>{we.init(e,t),e._zod.parse=(r,n)=>{let i=r.value;if(!Array.isArray(i))return r.issues.push({expected:"array",code:"invalid_type",input:i,inst:e}),r;r.value=Array(i.length);let o=[];for(let a=0;a<i.length;a++){let s=i[a],c=t.element._zod.run({value:s,issues:[]},n);c instanceof Promise?o.push(c.then(u=>VN(u,r,a))):VN(c,r,a)}return o.length?Promise.all(o).then(()=>r):r}});function Xh(e,t,r,n,i){if(e.issues.length){if(i&&!(r in n))return;t.issues.push(...Yr(r,e.issues))}e.value===void 0?r in n&&(t.value[r]=void 0):t.value[r]=e.value}function r1(e){let t=Object.keys(e.shape);for(let n of t)if(!e.shape?.[n]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${n}": expected a Zod schema`);let r=Zw(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(r)}}function n1(e,t,r,n,i,o){let a=[],s=i.keySet,c=i.catchall._zod,u=c.def.type,l=c.optout==="optional";for(let d in t){if(s.has(d))continue;if(u==="never"){a.push(d);continue}let f=c.run({value:t[d],issues:[]},n);f instanceof Promise?e.push(f.then(p=>Xh(p,r,d,t,l))):Xh(f,r,d,t,l)}return a.length&&r.issues.push({code:"unrecognized_keys",keys:a,input:t,inst:o}),e.length?Promise.all(e).then(()=>r):r}var i1=I("$ZodObject",(e,t)=>{if(we.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){let s=t.shape;Object.defineProperty(t,"shape",{get:()=>{let c={...s};return Object.defineProperty(t,"shape",{value:c}),c}})}let n=au(()=>r1(t));Oe(e._zod,"propValues",()=>{let s=t.shape,c={};for(let u in s){let l=s[u]._zod;if(l.values){c[u]??(c[u]=new Set);for(let d of l.values)c[u].add(d)}}return c});let i=bs,o=t.catchall,a;e._zod.parse=(s,c)=>{a??(a=n.value);let u=s.value;if(!i(u))return s.issues.push({expected:"object",code:"invalid_type",input:u,inst:e}),s;s.value={};let l=[],d=a.shape;for(let f of a.keys){let p=d[f],m=p._zod.optout==="optional",h=p._zod.run({value:u[f],issues:[]},c);h instanceof Promise?l.push(h.then(w=>Xh(w,s,f,u,m))):Xh(h,s,f,u,m)}return o?n1(l,u,s,c,n.value,e):l.length?Promise.all(l).then(()=>s):s}}),E0=I("$ZodObjectJIT",(e,t)=>{i1.init(e,t);let r=e._zod.parse,n=au(()=>r1(t)),i=f=>{let p=new np(["shape","payload","ctx"]),m=n.value,h=x=>{let S=Rh(x);return`shape[${S}]._zod.run({ value: input[${S}], issues: [] }, ctx)`};p.write("const input = payload.value;");let w=Object.create(null),_=0;for(let x of m.keys)w[x]=`key_${_++}`;p.write("const newResult = {};");for(let x of m.keys){let S=w[x],$=Rh(x),C=f[x]?._zod?.optout==="optional";p.write(`const ${S} = ${h(x)};`),C?p.write(`
|
|
@@ -102,10 +102,10 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
102
102
|
]))`;continue}else if(n[c]==="$"){i+=`($|(?=[\r
|
|
103
103
|
]))`;continue}}if(r.s&&n[c]==="."){i+=a?`${n[c]}\r
|
|
104
104
|
`:`[${n[c]}\r
|
|
105
|
-
]`;continue}i+=n[c],n[c]==="\\"?o=!0:a&&n[c]==="]"?a=!1:!a&&n[c]==="["&&(a=!0)}try{new RegExp(i)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return i}function Wg(e,t){if(t.target==="openAi"&&console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead."),t.target==="openApi3"&&e.keyType?._def.typeName===O.ZodEnum)return{type:"object",required:e.keyType._def.values,properties:e.keyType._def.values.reduce((n,i)=>({...n,[i]:ge(e.valueType._def,{...t,currentPath:[...t.currentPath,"properties",i]})??ht(t)}),{}),additionalProperties:t.rejectedAdditionalProperties};let r={type:"object",additionalProperties:ge(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??t.allowedAdditionalProperties};if(t.target==="openApi3")return r;if(e.keyType?._def.typeName===O.ZodString&&e.keyType._def.checks?.length){let{type:n,...i}=Kg(e.keyType._def,t);return{...r,propertyNames:i}}else{if(e.keyType?._def.typeName===O.ZodEnum)return{...r,propertyNames:{enum:e.keyType._def.values}};if(e.keyType?._def.typeName===O.ZodBranded&&e.keyType._def.type._def.typeName===O.ZodString&&e.keyType._def.type._def.checks?.length){let{type:n,...i}=qg(e.keyType._def,t);return{...r,propertyNames:i}}}return r}function NM(e,t){return t.mapStrategy==="record"?Wg(e,t):{type:"array",maxItems:125,items:{type:"array",items:[ge(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||ht(t),ge(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||ht(t)],minItems:2,maxItems:2}}}function MM(e){let t=e.values,r=Object.keys(e.values).filter(i=>typeof t[t[i]]!="number").map(i=>t[i]),n=Array.from(new Set(r.map(i=>typeof i)));return{type:n.length===1?n[0]==="string"?"string":"number":["string","number"],enum:r}}function jM(e){return e.target==="openAi"?void 0:{not:ht({...e,currentPath:[...e.currentPath,"not"]})}}function zM(e){return e.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var bp={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function LM(e,t){if(t.target==="openApi3")return DM(e,t);let r=e.options instanceof Map?Array.from(e.options.values()):e.options;if(r.every(n=>n._def.typeName in bp&&(!n._def.checks||!n._def.checks.length))){let n=r.reduce((i,o)=>{let a=bp[o._def.typeName];return a&&!i.includes(a)?[...i,a]:i},[]);return{type:n.length>1?n:n[0]}}else if(r.every(n=>n._def.typeName==="ZodLiteral"&&!n.description)){let n=r.reduce((i,o)=>{let a=typeof o._def.value;switch(a){case"string":case"number":case"boolean":return[...i,a];case"bigint":return[...i,"integer"];case"object":return o._def.value===null?[...i,"null"]:i;default:return i}},[]);if(n.length===r.length){let i=n.filter((o,a,s)=>s.indexOf(o)===a);return{type:i.length>1?i:i[0],enum:r.reduce((o,a)=>o.includes(a._def.value)?o:[...o,a._def.value],[])}}}else if(r.every(n=>n._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((n,i)=>[...n,...i._def.values.filter(o=>!n.includes(o))],[])};return DM(e,t)}var DM=(e,t)=>{let r=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((n,i)=>ge(n._def,{...t,currentPath:[...t.currentPath,"anyOf",`${i}`]})).filter(n=>!!n&&(!t.strictUnions||typeof n=="object"&&Object.keys(n).length>0));return r.length?{anyOf:r}:void 0};function UM(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return t.target==="openApi3"?{type:bp[e.innerType._def.typeName],nullable:!0}:{type:[bp[e.innerType._def.typeName],"null"]};if(t.target==="openApi3"){let n=ge(e.innerType._def,{...t,currentPath:[...t.currentPath]});return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let r=ge(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function FM(e,t){let r={type:"number"};if(!e.checks)return r;for(let n of e.checks)switch(n.kind){case"int":r.type="integer",kS(r,"type",n.message,t);break;case"min":t.target==="jsonSchema7"?n.inclusive?Ue(r,"minimum",n.value,n.message,t):Ue(r,"exclusiveMinimum",n.value,n.message,t):(n.inclusive||(r.exclusiveMinimum=!0),Ue(r,"minimum",n.value,n.message,t));break;case"max":t.target==="jsonSchema7"?n.inclusive?Ue(r,"maximum",n.value,n.message,t):Ue(r,"exclusiveMaximum",n.value,n.message,t):(n.inclusive||(r.exclusiveMaximum=!0),Ue(r,"maximum",n.value,n.message,t));break;case"multipleOf":Ue(r,"multipleOf",n.value,n.message,t);break}return r}function BM(e,t){let r=t.target==="openAi",n={type:"object",properties:{}},i=[],o=e.shape();for(let s in o){let c=o[s];if(c===void 0||c._def===void 0)continue;let u=KH(c);u&&r&&(c._def.typeName==="ZodOptional"&&(c=c._def.innerType),c.isNullable()||(c=c.nullable()),u=!1);let l=ge(c._def,{...t,currentPath:[...t.currentPath,"properties",s],propertyPath:[...t.currentPath,"properties",s]});l!==void 0&&(n.properties[s]=l,u||i.push(s))}i.length&&(n.required=i);let a=qH(e,t);return a!==void 0&&(n.additionalProperties=a),n}function qH(e,t){if(e.catchall._def.typeName!=="ZodNever")return ge(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]});switch(e.unknownKeys){case"passthrough":return t.allowedAdditionalProperties;case"strict":return t.rejectedAdditionalProperties;case"strip":return t.removeAdditionalStrategy==="strict"?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}function KH(e){try{return e.isOptional()}catch{return!0}}var VM=(e,t)=>{if(t.currentPath.toString()===t.propertyPath?.toString())return ge(e.innerType._def,t);let r=ge(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return r?{anyOf:[{not:ht(t)},r]}:ht(t)};var ZM=(e,t)=>{if(t.pipeStrategy==="input")return ge(e.in._def,t);if(t.pipeStrategy==="output")return ge(e.out._def,t);let r=ge(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]});return{allOf:[r,ge(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",r?"1":"0"]})].filter(n=>n!==void 0)}};function GM(e,t){return ge(e.type._def,t)}function HM(e,t){let r={type:"array",uniqueItems:!0,items:ge(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};return e.minSize&&Ue(r,"minItems",e.minSize.value,e.minSize.message,t),e.maxSize&&Ue(r,"maxItems",e.maxSize.value,e.maxSize.message,t),r}function qM(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((r,n)=>ge(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:ge(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((r,n)=>ge(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}function KM(e){return{not:ht(e)}}function WM(e){return ht(e)}var JM=(e,t)=>ge(e.innerType._def,t);var XM=(e,t,r)=>{switch(t){case O.ZodString:return Kg(e,r);case O.ZodNumber:return FM(e,r);case O.ZodObject:return BM(e,r);case O.ZodBigInt:return kM(e,r);case O.ZodBoolean:return EM();case O.ZodDate:return AS(e,r);case O.ZodUndefined:return KM(r);case O.ZodNull:return zM(r);case O.ZodArray:return SM(e,r);case O.ZodUnion:case O.ZodDiscriminatedUnion:return LM(e,r);case O.ZodIntersection:return CM(e,r);case O.ZodTuple:return qM(e,r);case O.ZodRecord:return Wg(e,r);case O.ZodLiteral:return PM(e,r);case O.ZodEnum:return OM(e);case O.ZodNativeEnum:return MM(e);case O.ZodNullable:return UM(e,r);case O.ZodOptional:return VM(e,r);case O.ZodMap:return NM(e,r);case O.ZodSet:return HM(e,r);case O.ZodLazy:return()=>e.getter()._def;case O.ZodPromise:return GM(e,r);case O.ZodNaN:case O.ZodNever:return jM(r);case O.ZodEffects:return AM(e,r);case O.ZodAny:return ht(r);case O.ZodUnknown:return WM(r);case O.ZodDefault:return TM(e,r);case O.ZodBranded:return qg(e,r);case O.ZodReadonly:return JM(e,r);case O.ZodCatch:return $M(e,r);case O.ZodPipeline:return ZM(e,r);case O.ZodFunction:case O.ZodVoid:case O.ZodSymbol:return;default:return(n=>{})(t)}};function ge(e,t,r=!1){let n=t.seen.get(e);if(t.override){let s=t.override?.(e,t,n,r);if(s!==lM)return s}if(n&&!r){let s=WH(n,t);if(s!==void 0)return s}let i={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,i);let o=XM(e,e.typeName,t),a=typeof o=="function"?ge(o(),t):o;if(a&&JH(e,t,a),t.postProcess){let s=t.postProcess(a,e,t);return i.jsonSchema=a,s}return i.jsonSchema=a,a}var WH=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:Fg(t.currentPath,e.path)};case"none":case"seen":return e.path.length<t.currentPath.length&&e.path.every((r,n)=>t.currentPath[n]===r)?(console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),ht(t)):t.$refStrategy==="seen"?ht(t):void 0}},JH=(e,t,r)=>(e.description&&(r.description=e.description,t.markdownDescription&&(r.markdownDescription=e.description)),r);var YM=(e,t)=>{let r=pM(t),n=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((c,[u,l])=>({...c,[u]:ge(l._def,{...r,currentPath:[...r.basePath,r.definitionPath,u]},!0)??ht(r)}),{}):void 0,i=typeof t=="string"?t:t?.nameStrategy==="title"?void 0:t?.name,o=ge(e._def,i===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,i]},!1)??ht(r),a=typeof t=="object"&&t.name!==void 0&&t.nameStrategy==="title"?t.name:void 0;a!==void 0&&(o.title=a),r.flags.hasReferencedOpenAiAnyType&&(n||(n={}),n[r.openAiAnyTypeName]||(n[r.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:r.$refStrategy==="relative"?"1":[...r.basePath,r.definitionPath,r.openAiAnyTypeName].join("/")}}));let s=i===void 0?n?{...o,[r.definitionPath]:n}:o:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,i].join("/"),[r.definitionPath]:{...n,[i]:o}};return r.target==="jsonSchema7"?s.$schema="http://json-schema.org/draft-07/schema#":(r.target==="jsonSchema2019-09"||r.target==="openAi")&&(s.$schema="https://json-schema.org/draft/2019-09/schema#"),r.target==="openAi"&&("anyOf"in s||"oneOf"in s||"allOf"in s||"type"in s&&Array.isArray(s.type))&&console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."),s};function Ri(e,t){let r=typeof e;if(r!==typeof t)return!1;if(Array.isArray(e)){if(!Array.isArray(t))return!1;let n=e.length;if(n!==t.length)return!1;for(let i=0;i<n;i++)if(!Ri(e[i],t[i]))return!1;return!0}if(r==="object"){if(!e||!t)return e===t;let n=Object.keys(e),i=Object.keys(t);if(n.length!==i.length)return!1;for(let a of n)if(!Ri(e[a],t[a]))return!1;return!0}return e===t}function en(e){return encodeURI(XH(e))}function XH(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}var YH={prefixItems:!0,items:!0,allOf:!0,anyOf:!0,oneOf:!0},QH={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependentSchemas:!0},eq={id:!0,$id:!0,$ref:!0,$schema:!0,$anchor:!0,$vocabulary:!0,$comment:!0,default:!0,enum:!0,const:!0,required:!0,type:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0},tq=typeof self<"u"&&self.location&&self.location.origin!=="null"?new URL(self.location.origin+self.location.pathname+location.search):new URL("https://github.com/cfworker");function Zn(e,t=Object.create(null),r=tq,n=""){if(e&&typeof e=="object"&&!Array.isArray(e)){let o=e.$id||e.id;if(o){let a=new URL(o,r.href);a.hash.length>1?t[a.href]=e:(a.hash="",n===""?r=a:Zn(e,t,r))}}else if(e!==!0&&e!==!1)return t;let i=r.href+(n?"#"+n:"");if(t[i]!==void 0)throw new Error(`Duplicate schema URI "${i}".`);if(t[i]=e,e===!0||e===!1)return t;if(e.__absolute_uri__===void 0&&Object.defineProperty(e,"__absolute_uri__",{enumerable:!1,value:i}),e.$ref&&e.__absolute_ref__===void 0){let o=new URL(e.$ref,r.href);o.hash=o.hash,Object.defineProperty(e,"__absolute_ref__",{enumerable:!1,value:o.href})}if(e.$recursiveRef&&e.__absolute_recursive_ref__===void 0){let o=new URL(e.$recursiveRef,r.href);o.hash=o.hash,Object.defineProperty(e,"__absolute_recursive_ref__",{enumerable:!1,value:o.href})}if(e.$anchor){let o=new URL("#"+e.$anchor,r.href);t[o.href]=e}for(let o in e){if(eq[o])continue;let a=`${n}/${en(o)}`,s=e[o];if(Array.isArray(s)){if(YH[o]){let c=s.length;for(let u=0;u<c;u++)Zn(s[u],t,r,`${a}/${u}`)}}else if(QH[o])for(let c in s)Zn(s[c],t,r,`${a}/${en(c)}`);else Zn(s,t,r,a)}return t}var rq=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,nq=[0,31,28,31,30,31,30,31,31,30,31,30,31],iq=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i,oq=/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,aq=/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,sq=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,cq=/^(?:(?:https?|ftp):\/\/)(?:\S+(?::\S*)?@)?(?:(?!10(?:\.\d{1,3}){3})(?!127(?:\.\d{1,3}){3})(?!169\.254(?:\.\d{1,3}){2})(?!192\.168(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u{00a1}-\u{ffff}0-9]+-?)*[a-z\u{00a1}-\u{ffff}0-9]+)(?:\.(?:[a-z\u{00a1}-\u{ffff}0-9]+-?)*[a-z\u{00a1}-\u{ffff}0-9]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,uq=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,lq=/^(?:\/(?:[^~/]|~0|~1)*)*$/,dq=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,pq=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,fq=e=>{if(e[0]==='"')return!1;let[t,r,...n]=e.split("@");return!t||!r||n.length!==0||t.length>64||r.length>253||t[0]==="."||t.endsWith(".")||t.includes("..")||!/^[a-z0-9.-]+$/i.test(r)||!/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+$/i.test(t)?!1:r.split(".").every(i=>/^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$/i.test(i))},mq=/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,hq=/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,gq=e=>e.length>1&&e.length<80&&(/^P\d+([.,]\d+)?W$/.test(e)||/^P[\dYMDTHS]*(\d[.,]\d+)?[YMDHS]$/.test(e)&&/^P([.,\d]+Y)?([.,\d]+M)?([.,\d]+D)?(T([.,\d]+H)?([.,\d]+M)?([.,\d]+S)?)?$/.test(e));function Ni(e){return e.test.bind(e)}var PS={date:QM,time:ej.bind(void 0,!1),"date-time":vq,duration:gq,uri:xq,"uri-reference":Ni(aq),"uri-template":Ni(sq),url:Ni(cq),email:fq,hostname:Ni(oq),ipv4:Ni(mq),ipv6:Ni(hq),regex:Sq,uuid:Ni(uq),"json-pointer":Ni(lq),"json-pointer-uri-fragment":Ni(dq),"relative-json-pointer":Ni(pq)};function _q(e){return e%4===0&&(e%100!==0||e%400===0)}function QM(e){let t=e.match(rq);if(!t)return!1;let r=+t[1],n=+t[2],i=+t[3];return n>=1&&n<=12&&i>=1&&i<=(n==2&&_q(r)?29:nq[n])}function ej(e,t){let r=t.match(iq);if(!r)return!1;let n=+r[1],i=+r[2],o=+r[3],a=!!r[5];return(n<=23&&i<=59&&o<=59||n==23&&i==59&&o==60)&&(!e||a)}var yq=/t|\s/i;function vq(e){let t=e.split(yq);return t.length==2&&QM(t[0])&&ej(!0,t[1])}var bq=/\/|:/,wq=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function xq(e){return bq.test(e)&&wq.test(e)}var Iq=/[^\\]\\Z/;function Sq(e){if(Iq.test(e))return!1;try{return new RegExp(e,"u"),!0}catch{return!1}}var tj;(function(e){e[e.Flag=1]="Flag",e[e.Basic=2]="Basic",e[e.Detailed=4]="Detailed"})(tj||(tj={}));function rj(e){let t=0,r=e.length,n=0,i;for(;n<r;)t++,i=e.charCodeAt(n++),i>=55296&&i<=56319&&n<r&&(i=e.charCodeAt(n),(i&64512)==56320&&n++);return t}function it(e,t,r="2019-09",n=Zn(t),i=!0,o=null,a="#",s="#",c=Object.create(null)){if(t===!0)return{valid:!0,errors:[]};if(t===!1)return{valid:!1,errors:[{instanceLocation:a,keyword:"false",keywordLocation:a,error:"False boolean schema."}]};let u=typeof e,l;switch(u){case"boolean":case"number":case"string":l=u;break;case"object":e===null?l="null":Array.isArray(e)?l="array":l="object";break;default:throw new Error(`Instances of "${u}" type are not supported.`)}let{$ref:d,$recursiveRef:f,$recursiveAnchor:p,type:m,const:h,enum:w,required:_,not:y,anyOf:x,allOf:S,oneOf:$,if:j,then:C,else:b,format:H,properties:R,patternProperties:V,additionalProperties:xe,unevaluatedProperties:Ge,minProperties:qt,maxProperties:Fr,propertyNames:ze,dependentRequired:Ya,dependentSchemas:Xi,dependencies:Qa,prefixItems:Tn,items:Yi,additionalItems:sd,unevaluatedItems:cd,contains:ud,minContains:An,maxContains:v,minItems:g,maxItems:z,uniqueItems:k,minimum:De,maximum:qe,exclusiveMinimum:Rt,exclusiveMaximum:It,multipleOf:Qt,minLength:sn,maxLength:St,pattern:ui,__absolute_ref__:Nc,__absolute_recursive_ref__:qf}=t,ee=[];if(p===!0&&o===null&&(o=t),f==="#"){let _e=o===null?n[qf]:o,le=`${s}/$recursiveRef`,Ie=it(e,o===null?t:o,r,n,i,_e,a,le,c);Ie.valid||ee.push({instanceLocation:a,keyword:"$recursiveRef",keywordLocation:le,error:"A subschema had errors."},...Ie.errors)}if(d!==void 0){let le=n[Nc||d];if(le===void 0){let X=`Unresolved $ref "${d}".`;throw Nc&&Nc!==d&&(X+=` Absolute URI "${Nc}".`),X+=`
|
|
105
|
+
]`;continue}i+=n[c],n[c]==="\\"?o=!0:a&&n[c]==="]"?a=!1:!a&&n[c]==="["&&(a=!0)}try{new RegExp(i)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return i}function Wg(e,t){if(t.target==="openAi"&&console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead."),t.target==="openApi3"&&e.keyType?._def.typeName===O.ZodEnum)return{type:"object",required:e.keyType._def.values,properties:e.keyType._def.values.reduce((n,i)=>({...n,[i]:ge(e.valueType._def,{...t,currentPath:[...t.currentPath,"properties",i]})??ht(t)}),{}),additionalProperties:t.rejectedAdditionalProperties};let r={type:"object",additionalProperties:ge(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??t.allowedAdditionalProperties};if(t.target==="openApi3")return r;if(e.keyType?._def.typeName===O.ZodString&&e.keyType._def.checks?.length){let{type:n,...i}=Kg(e.keyType._def,t);return{...r,propertyNames:i}}else{if(e.keyType?._def.typeName===O.ZodEnum)return{...r,propertyNames:{enum:e.keyType._def.values}};if(e.keyType?._def.typeName===O.ZodBranded&&e.keyType._def.type._def.typeName===O.ZodString&&e.keyType._def.type._def.checks?.length){let{type:n,...i}=qg(e.keyType._def,t);return{...r,propertyNames:i}}}return r}function NM(e,t){return t.mapStrategy==="record"?Wg(e,t):{type:"array",maxItems:125,items:{type:"array",items:[ge(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||ht(t),ge(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||ht(t)],minItems:2,maxItems:2}}}function MM(e){let t=e.values,r=Object.keys(e.values).filter(i=>typeof t[t[i]]!="number").map(i=>t[i]),n=Array.from(new Set(r.map(i=>typeof i)));return{type:n.length===1?n[0]==="string"?"string":"number":["string","number"],enum:r}}function jM(e){return e.target==="openAi"?void 0:{not:ht({...e,currentPath:[...e.currentPath,"not"]})}}function zM(e){return e.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var bp={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function LM(e,t){if(t.target==="openApi3")return DM(e,t);let r=e.options instanceof Map?Array.from(e.options.values()):e.options;if(r.every(n=>n._def.typeName in bp&&(!n._def.checks||!n._def.checks.length))){let n=r.reduce((i,o)=>{let a=bp[o._def.typeName];return a&&!i.includes(a)?[...i,a]:i},[]);return{type:n.length>1?n:n[0]}}else if(r.every(n=>n._def.typeName==="ZodLiteral"&&!n.description)){let n=r.reduce((i,o)=>{let a=typeof o._def.value;switch(a){case"string":case"number":case"boolean":return[...i,a];case"bigint":return[...i,"integer"];case"object":return o._def.value===null?[...i,"null"]:i;default:return i}},[]);if(n.length===r.length){let i=n.filter((o,a,s)=>s.indexOf(o)===a);return{type:i.length>1?i:i[0],enum:r.reduce((o,a)=>o.includes(a._def.value)?o:[...o,a._def.value],[])}}}else if(r.every(n=>n._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((n,i)=>[...n,...i._def.values.filter(o=>!n.includes(o))],[])};return DM(e,t)}var DM=(e,t)=>{let r=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((n,i)=>ge(n._def,{...t,currentPath:[...t.currentPath,"anyOf",`${i}`]})).filter(n=>!!n&&(!t.strictUnions||typeof n=="object"&&Object.keys(n).length>0));return r.length?{anyOf:r}:void 0};function UM(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return t.target==="openApi3"?{type:bp[e.innerType._def.typeName],nullable:!0}:{type:[bp[e.innerType._def.typeName],"null"]};if(t.target==="openApi3"){let n=ge(e.innerType._def,{...t,currentPath:[...t.currentPath]});return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let r=ge(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function FM(e,t){let r={type:"number"};if(!e.checks)return r;for(let n of e.checks)switch(n.kind){case"int":r.type="integer",kS(r,"type",n.message,t);break;case"min":t.target==="jsonSchema7"?n.inclusive?Ue(r,"minimum",n.value,n.message,t):Ue(r,"exclusiveMinimum",n.value,n.message,t):(n.inclusive||(r.exclusiveMinimum=!0),Ue(r,"minimum",n.value,n.message,t));break;case"max":t.target==="jsonSchema7"?n.inclusive?Ue(r,"maximum",n.value,n.message,t):Ue(r,"exclusiveMaximum",n.value,n.message,t):(n.inclusive||(r.exclusiveMaximum=!0),Ue(r,"maximum",n.value,n.message,t));break;case"multipleOf":Ue(r,"multipleOf",n.value,n.message,t);break}return r}function BM(e,t){let r=t.target==="openAi",n={type:"object",properties:{}},i=[],o=e.shape();for(let s in o){let c=o[s];if(c===void 0||c._def===void 0)continue;let u=KH(c);u&&r&&(c._def.typeName==="ZodOptional"&&(c=c._def.innerType),c.isNullable()||(c=c.nullable()),u=!1);let l=ge(c._def,{...t,currentPath:[...t.currentPath,"properties",s],propertyPath:[...t.currentPath,"properties",s]});l!==void 0&&(n.properties[s]=l,u||i.push(s))}i.length&&(n.required=i);let a=qH(e,t);return a!==void 0&&(n.additionalProperties=a),n}function qH(e,t){if(e.catchall._def.typeName!=="ZodNever")return ge(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]});switch(e.unknownKeys){case"passthrough":return t.allowedAdditionalProperties;case"strict":return t.rejectedAdditionalProperties;case"strip":return t.removeAdditionalStrategy==="strict"?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}function KH(e){try{return e.isOptional()}catch{return!0}}var VM=(e,t)=>{if(t.currentPath.toString()===t.propertyPath?.toString())return ge(e.innerType._def,t);let r=ge(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return r?{anyOf:[{not:ht(t)},r]}:ht(t)};var ZM=(e,t)=>{if(t.pipeStrategy==="input")return ge(e.in._def,t);if(t.pipeStrategy==="output")return ge(e.out._def,t);let r=ge(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]});return{allOf:[r,ge(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",r?"1":"0"]})].filter(n=>n!==void 0)}};function GM(e,t){return ge(e.type._def,t)}function HM(e,t){let r={type:"array",uniqueItems:!0,items:ge(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};return e.minSize&&Ue(r,"minItems",e.minSize.value,e.minSize.message,t),e.maxSize&&Ue(r,"maxItems",e.maxSize.value,e.maxSize.message,t),r}function qM(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((r,n)=>ge(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:ge(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((r,n)=>ge(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}function KM(e){return{not:ht(e)}}function WM(e){return ht(e)}var JM=(e,t)=>ge(e.innerType._def,t);var XM=(e,t,r)=>{switch(t){case O.ZodString:return Kg(e,r);case O.ZodNumber:return FM(e,r);case O.ZodObject:return BM(e,r);case O.ZodBigInt:return kM(e,r);case O.ZodBoolean:return EM();case O.ZodDate:return AS(e,r);case O.ZodUndefined:return KM(r);case O.ZodNull:return zM(r);case O.ZodArray:return SM(e,r);case O.ZodUnion:case O.ZodDiscriminatedUnion:return LM(e,r);case O.ZodIntersection:return CM(e,r);case O.ZodTuple:return qM(e,r);case O.ZodRecord:return Wg(e,r);case O.ZodLiteral:return PM(e,r);case O.ZodEnum:return OM(e);case O.ZodNativeEnum:return MM(e);case O.ZodNullable:return UM(e,r);case O.ZodOptional:return VM(e,r);case O.ZodMap:return NM(e,r);case O.ZodSet:return HM(e,r);case O.ZodLazy:return()=>e.getter()._def;case O.ZodPromise:return GM(e,r);case O.ZodNaN:case O.ZodNever:return jM(r);case O.ZodEffects:return AM(e,r);case O.ZodAny:return ht(r);case O.ZodUnknown:return WM(r);case O.ZodDefault:return TM(e,r);case O.ZodBranded:return qg(e,r);case O.ZodReadonly:return JM(e,r);case O.ZodCatch:return $M(e,r);case O.ZodPipeline:return ZM(e,r);case O.ZodFunction:case O.ZodVoid:case O.ZodSymbol:return;default:return(n=>{})(t)}};function ge(e,t,r=!1){let n=t.seen.get(e);if(t.override){let s=t.override?.(e,t,n,r);if(s!==lM)return s}if(n&&!r){let s=WH(n,t);if(s!==void 0)return s}let i={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,i);let o=XM(e,e.typeName,t),a=typeof o=="function"?ge(o(),t):o;if(a&&JH(e,t,a),t.postProcess){let s=t.postProcess(a,e,t);return i.jsonSchema=a,s}return i.jsonSchema=a,a}var WH=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:Fg(t.currentPath,e.path)};case"none":case"seen":return e.path.length<t.currentPath.length&&e.path.every((r,n)=>t.currentPath[n]===r)?(console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),ht(t)):t.$refStrategy==="seen"?ht(t):void 0}},JH=(e,t,r)=>(e.description&&(r.description=e.description,t.markdownDescription&&(r.markdownDescription=e.description)),r);var YM=(e,t)=>{let r=pM(t),n=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((c,[u,l])=>({...c,[u]:ge(l._def,{...r,currentPath:[...r.basePath,r.definitionPath,u]},!0)??ht(r)}),{}):void 0,i=typeof t=="string"?t:t?.nameStrategy==="title"?void 0:t?.name,o=ge(e._def,i===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,i]},!1)??ht(r),a=typeof t=="object"&&t.name!==void 0&&t.nameStrategy==="title"?t.name:void 0;a!==void 0&&(o.title=a),r.flags.hasReferencedOpenAiAnyType&&(n||(n={}),n[r.openAiAnyTypeName]||(n[r.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:r.$refStrategy==="relative"?"1":[...r.basePath,r.definitionPath,r.openAiAnyTypeName].join("/")}}));let s=i===void 0?n?{...o,[r.definitionPath]:n}:o:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,i].join("/"),[r.definitionPath]:{...n,[i]:o}};return r.target==="jsonSchema7"?s.$schema="http://json-schema.org/draft-07/schema#":(r.target==="jsonSchema2019-09"||r.target==="openAi")&&(s.$schema="https://json-schema.org/draft/2019-09/schema#"),r.target==="openAi"&&("anyOf"in s||"oneOf"in s||"allOf"in s||"type"in s&&Array.isArray(s.type))&&console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."),s};function Ri(e,t){let r=typeof e;if(r!==typeof t)return!1;if(Array.isArray(e)){if(!Array.isArray(t))return!1;let n=e.length;if(n!==t.length)return!1;for(let i=0;i<n;i++)if(!Ri(e[i],t[i]))return!1;return!0}if(r==="object"){if(!e||!t)return e===t;let n=Object.keys(e),i=Object.keys(t);if(n.length!==i.length)return!1;for(let a of n)if(!Ri(e[a],t[a]))return!1;return!0}return e===t}function en(e){return encodeURI(XH(e))}function XH(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}var YH={prefixItems:!0,items:!0,allOf:!0,anyOf:!0,oneOf:!0},QH={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependentSchemas:!0},eq={id:!0,$id:!0,$ref:!0,$schema:!0,$anchor:!0,$vocabulary:!0,$comment:!0,default:!0,enum:!0,const:!0,required:!0,type:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0},tq=typeof self<"u"&&self.location&&self.location.origin!=="null"?new URL(self.location.origin+self.location.pathname+location.search):new URL("https://github.com/cfworker");function Zn(e,t=Object.create(null),r=tq,n=""){if(e&&typeof e=="object"&&!Array.isArray(e)){let o=e.$id||e.id;if(o){let a=new URL(o,r.href);a.hash.length>1?t[a.href]=e:(a.hash="",n===""?r=a:Zn(e,t,r))}}else if(e!==!0&&e!==!1)return t;let i=r.href+(n?"#"+n:"");if(t[i]!==void 0)throw new Error(`Duplicate schema URI "${i}".`);if(t[i]=e,e===!0||e===!1)return t;if(e.__absolute_uri__===void 0&&Object.defineProperty(e,"__absolute_uri__",{enumerable:!1,value:i}),e.$ref&&e.__absolute_ref__===void 0){let o=new URL(e.$ref,r.href);o.hash=o.hash,Object.defineProperty(e,"__absolute_ref__",{enumerable:!1,value:o.href})}if(e.$recursiveRef&&e.__absolute_recursive_ref__===void 0){let o=new URL(e.$recursiveRef,r.href);o.hash=o.hash,Object.defineProperty(e,"__absolute_recursive_ref__",{enumerable:!1,value:o.href})}if(e.$anchor){let o=new URL("#"+e.$anchor,r.href);t[o.href]=e}for(let o in e){if(eq[o])continue;let a=`${n}/${en(o)}`,s=e[o];if(Array.isArray(s)){if(YH[o]){let c=s.length;for(let u=0;u<c;u++)Zn(s[u],t,r,`${a}/${u}`)}}else if(QH[o])for(let c in s)Zn(s[c],t,r,`${a}/${en(c)}`);else Zn(s,t,r,a)}return t}var rq=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,nq=[0,31,28,31,30,31,30,31,31,30,31,30,31],iq=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i,oq=/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,aq=/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,sq=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,cq=/^(?:(?:https?|ftp):\/\/)(?:\S+(?::\S*)?@)?(?:(?!10(?:\.\d{1,3}){3})(?!127(?:\.\d{1,3}){3})(?!169\.254(?:\.\d{1,3}){2})(?!192\.168(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u{00a1}-\u{ffff}0-9]+-?)*[a-z\u{00a1}-\u{ffff}0-9]+)(?:\.(?:[a-z\u{00a1}-\u{ffff}0-9]+-?)*[a-z\u{00a1}-\u{ffff}0-9]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,uq=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,lq=/^(?:\/(?:[^~/]|~0|~1)*)*$/,dq=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,pq=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,fq=e=>{if(e[0]==='"')return!1;let[t,r,...n]=e.split("@");return!t||!r||n.length!==0||t.length>64||r.length>253||t[0]==="."||t.endsWith(".")||t.includes("..")||!/^[a-z0-9.-]+$/i.test(r)||!/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+$/i.test(t)?!1:r.split(".").every(i=>/^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$/i.test(i))},mq=/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,hq=/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,gq=e=>e.length>1&&e.length<80&&(/^P\d+([.,]\d+)?W$/.test(e)||/^P[\dYMDTHS]*(\d[.,]\d+)?[YMDHS]$/.test(e)&&/^P([.,\d]+Y)?([.,\d]+M)?([.,\d]+D)?(T([.,\d]+H)?([.,\d]+M)?([.,\d]+S)?)?$/.test(e));function Ni(e){return e.test.bind(e)}var PS={date:QM,time:ej.bind(void 0,!1),"date-time":vq,duration:gq,uri:xq,"uri-reference":Ni(aq),"uri-template":Ni(sq),url:Ni(cq),email:fq,hostname:Ni(oq),ipv4:Ni(mq),ipv6:Ni(hq),regex:Sq,uuid:Ni(uq),"json-pointer":Ni(lq),"json-pointer-uri-fragment":Ni(dq),"relative-json-pointer":Ni(pq)};function _q(e){return e%4===0&&(e%100!==0||e%400===0)}function QM(e){let t=e.match(rq);if(!t)return!1;let r=+t[1],n=+t[2],i=+t[3];return n>=1&&n<=12&&i>=1&&i<=(n==2&&_q(r)?29:nq[n])}function ej(e,t){let r=t.match(iq);if(!r)return!1;let n=+r[1],i=+r[2],o=+r[3],a=!!r[5];return(n<=23&&i<=59&&o<=59||n==23&&i==59&&o==60)&&(!e||a)}var yq=/t|\s/i;function vq(e){let t=e.split(yq);return t.length==2&&QM(t[0])&&ej(!0,t[1])}var bq=/\/|:/,wq=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function xq(e){return bq.test(e)&&wq.test(e)}var Iq=/[^\\]\\Z/;function Sq(e){if(Iq.test(e))return!1;try{return new RegExp(e,"u"),!0}catch{return!1}}var tj;(function(e){e[e.Flag=1]="Flag",e[e.Basic=2]="Basic",e[e.Detailed=4]="Detailed"})(tj||(tj={}));function rj(e){let t=0,r=e.length,n=0,i;for(;n<r;)t++,i=e.charCodeAt(n++),i>=55296&&i<=56319&&n<r&&(i=e.charCodeAt(n),(i&64512)==56320&&n++);return t}function nt(e,t,r="2019-09",n=Zn(t),i=!0,o=null,a="#",s="#",c=Object.create(null)){if(t===!0)return{valid:!0,errors:[]};if(t===!1)return{valid:!1,errors:[{instanceLocation:a,keyword:"false",keywordLocation:a,error:"False boolean schema."}]};let u=typeof e,l;switch(u){case"boolean":case"number":case"string":l=u;break;case"object":e===null?l="null":Array.isArray(e)?l="array":l="object";break;default:throw new Error(`Instances of "${u}" type are not supported.`)}let{$ref:d,$recursiveRef:f,$recursiveAnchor:p,type:m,const:h,enum:w,required:_,not:y,anyOf:x,allOf:S,oneOf:$,if:j,then:C,else:b,format:H,properties:R,patternProperties:V,additionalProperties:xe,unevaluatedProperties:Ge,minProperties:qt,maxProperties:Fr,propertyNames:ze,dependentRequired:Ya,dependentSchemas:Xi,dependencies:Qa,prefixItems:Tn,items:Yi,additionalItems:sd,unevaluatedItems:cd,contains:ud,minContains:An,maxContains:v,minItems:g,maxItems:z,uniqueItems:k,minimum:De,maximum:qe,exclusiveMinimum:Rt,exclusiveMaximum:It,multipleOf:Qt,minLength:sn,maxLength:St,pattern:ui,__absolute_ref__:Nc,__absolute_recursive_ref__:qf}=t,ee=[];if(p===!0&&o===null&&(o=t),f==="#"){let _e=o===null?n[qf]:o,le=`${s}/$recursiveRef`,Ie=nt(e,o===null?t:o,r,n,i,_e,a,le,c);Ie.valid||ee.push({instanceLocation:a,keyword:"$recursiveRef",keywordLocation:le,error:"A subschema had errors."},...Ie.errors)}if(d!==void 0){let le=n[Nc||d];if(le===void 0){let X=`Unresolved $ref "${d}".`;throw Nc&&Nc!==d&&(X+=` Absolute URI "${Nc}".`),X+=`
|
|
106
106
|
Known schemas:
|
|
107
107
|
- ${Object.keys(n).join(`
|
|
108
|
-
- `)}`,new Error(X)}let Ie=`${s}/$ref`,ie=it(e,le,r,n,i,o,a,Ie,c);if(ie.valid||ee.push({instanceLocation:a,keyword:"$ref",keywordLocation:Ie,error:"A subschema had errors."},...ie.errors),r==="4"||r==="7")return{valid:ee.length===0,errors:ee}}if(Array.isArray(m)){let _e=m.length,le=!1;for(let Ie=0;Ie<_e;Ie++)if(l===m[Ie]||m[Ie]==="integer"&&l==="number"&&e%1===0&&e===e){le=!0;break}le||ee.push({instanceLocation:a,keyword:"type",keywordLocation:`${s}/type`,error:`Instance type "${l}" is invalid. Expected "${m.join('", "')}".`})}else m==="integer"?(l!=="number"||e%1||e!==e)&&ee.push({instanceLocation:a,keyword:"type",keywordLocation:`${s}/type`,error:`Instance type "${l}" is invalid. Expected "${m}".`}):m!==void 0&&l!==m&&ee.push({instanceLocation:a,keyword:"type",keywordLocation:`${s}/type`,error:`Instance type "${l}" is invalid. Expected "${m}".`});if(h!==void 0&&(l==="object"||l==="array"?Ri(e,h)||ee.push({instanceLocation:a,keyword:"const",keywordLocation:`${s}/const`,error:`Instance does not match ${JSON.stringify(h)}.`}):e!==h&&ee.push({instanceLocation:a,keyword:"const",keywordLocation:`${s}/const`,error:`Instance does not match ${JSON.stringify(h)}.`})),w!==void 0&&(l==="object"||l==="array"?w.some(_e=>Ri(e,_e))||ee.push({instanceLocation:a,keyword:"enum",keywordLocation:`${s}/enum`,error:`Instance does not match any of ${JSON.stringify(w)}.`}):w.some(_e=>e===_e)||ee.push({instanceLocation:a,keyword:"enum",keywordLocation:`${s}/enum`,error:`Instance does not match any of ${JSON.stringify(w)}.`})),y!==void 0){let _e=`${s}/not`;it(e,y,r,n,i,o,a,_e).valid&&ee.push({instanceLocation:a,keyword:"not",keywordLocation:_e,error:'Instance matched "not" schema.'})}let es=[];if(x!==void 0){let _e=`${s}/anyOf`,le=ee.length,Ie=!1;for(let ie=0;ie<x.length;ie++){let X=x[ie],ve=Object.create(c),ye=it(e,X,r,n,i,p===!0?o:null,a,`${_e}/${ie}`,ve);ee.push(...ye.errors),Ie=Ie||ye.valid,ye.valid&&es.push(ve)}Ie?ee.length=le:ee.splice(le,0,{instanceLocation:a,keyword:"anyOf",keywordLocation:_e,error:"Instance does not match any subschemas."})}if(S!==void 0){let _e=`${s}/allOf`,le=ee.length,Ie=!0;for(let ie=0;ie<S.length;ie++){let X=S[ie],ve=Object.create(c),ye=it(e,X,r,n,i,p===!0?o:null,a,`${_e}/${ie}`,ve);ee.push(...ye.errors),Ie=Ie&&ye.valid,ye.valid&&es.push(ve)}Ie?ee.length=le:ee.splice(le,0,{instanceLocation:a,keyword:"allOf",keywordLocation:_e,error:"Instance does not match every subschema."})}if($!==void 0){let _e=`${s}/oneOf`,le=ee.length,Ie=$.filter((ie,X)=>{let ve=Object.create(c),ye=it(e,ie,r,n,i,p===!0?o:null,a,`${_e}/${X}`,ve);return ee.push(...ye.errors),ye.valid&&es.push(ve),ye.valid}).length;Ie===1?ee.length=le:ee.splice(le,0,{instanceLocation:a,keyword:"oneOf",keywordLocation:_e,error:`Instance does not match exactly one subschema (${Ie} matches).`})}if((l==="object"||l==="array")&&Object.assign(c,...es),j!==void 0){let _e=`${s}/if`;if(it(e,j,r,n,i,o,a,_e,c).valid){if(C!==void 0){let Ie=it(e,C,r,n,i,o,a,`${s}/then`,c);Ie.valid||ee.push({instanceLocation:a,keyword:"if",keywordLocation:_e,error:'Instance does not match "then" schema.'},...Ie.errors)}}else if(b!==void 0){let Ie=it(e,b,r,n,i,o,a,`${s}/else`,c);Ie.valid||ee.push({instanceLocation:a,keyword:"if",keywordLocation:_e,error:'Instance does not match "else" schema.'},...Ie.errors)}}if(l==="object"){if(_!==void 0)for(let ie of _)ie in e||ee.push({instanceLocation:a,keyword:"required",keywordLocation:`${s}/required`,error:`Instance does not have required property "${ie}".`});let _e=Object.keys(e);if(qt!==void 0&&_e.length<qt&&ee.push({instanceLocation:a,keyword:"minProperties",keywordLocation:`${s}/minProperties`,error:`Instance does not have at least ${qt} properties.`}),Fr!==void 0&&_e.length>Fr&&ee.push({instanceLocation:a,keyword:"maxProperties",keywordLocation:`${s}/maxProperties`,error:`Instance does not have at least ${Fr} properties.`}),ze!==void 0){let ie=`${s}/propertyNames`;for(let X in e){let ve=`${a}/${en(X)}`,ye=it(X,ze,r,n,i,o,ve,ie);ye.valid||ee.push({instanceLocation:a,keyword:"propertyNames",keywordLocation:ie,error:`Property name "${X}" does not match schema.`},...ye.errors)}}if(Ya!==void 0){let ie=`${s}/dependantRequired`;for(let X in Ya)if(X in e){let ve=Ya[X];for(let ye of ve)ye in e||ee.push({instanceLocation:a,keyword:"dependentRequired",keywordLocation:ie,error:`Instance has "${X}" but does not have "${ye}".`})}}if(Xi!==void 0)for(let ie in Xi){let X=`${s}/dependentSchemas`;if(ie in e){let ve=it(e,Xi[ie],r,n,i,o,a,`${X}/${en(ie)}`,c);ve.valid||ee.push({instanceLocation:a,keyword:"dependentSchemas",keywordLocation:X,error:`Instance has "${ie}" but does not match dependant schema.`},...ve.errors)}}if(Qa!==void 0){let ie=`${s}/dependencies`;for(let X in Qa)if(X in e){let ve=Qa[X];if(Array.isArray(ve))for(let ye of ve)ye in e||ee.push({instanceLocation:a,keyword:"dependencies",keywordLocation:ie,error:`Instance has "${X}" but does not have "${ye}".`});else{let ye=it(e,ve,r,n,i,o,a,`${ie}/${en(X)}`);ye.valid||ee.push({instanceLocation:a,keyword:"dependencies",keywordLocation:ie,error:`Instance has "${X}" but does not match dependant schema.`},...ye.errors)}}}let le=Object.create(null),Ie=!1;if(R!==void 0){let ie=`${s}/properties`;for(let X in R){if(!(X in e))continue;let ve=`${a}/${en(X)}`,ye=it(e[X],R[X],r,n,i,o,ve,`${ie}/${en(X)}`);if(ye.valid)c[X]=le[X]=!0;else if(Ie=i,ee.push({instanceLocation:a,keyword:"properties",keywordLocation:ie,error:`Property "${X}" does not match schema.`},...ye.errors),Ie)break}}if(!Ie&&V!==void 0){let ie=`${s}/patternProperties`;for(let X in V){let ve=new RegExp(X,"u"),ye=V[X];for(let Tr in e){if(!ve.test(Tr))continue;let jT=`${a}/${en(Tr)}`,zT=it(e[Tr],ye,r,n,i,o,jT,`${ie}/${en(X)}`);zT.valid?c[Tr]=le[Tr]=!0:(Ie=i,ee.push({instanceLocation:a,keyword:"patternProperties",keywordLocation:ie,error:`Property "${Tr}" matches pattern "${X}" but does not match associated schema.`},...zT.errors))}}}if(!Ie&&xe!==void 0){let ie=`${s}/additionalProperties`;for(let X in e){if(le[X])continue;let ve=`${a}/${en(X)}`,ye=it(e[X],xe,r,n,i,o,ve,ie);ye.valid?c[X]=!0:(Ie=i,ee.push({instanceLocation:a,keyword:"additionalProperties",keywordLocation:ie,error:`Property "${X}" does not match additional properties schema.`},...ye.errors))}}else if(!Ie&&Ge!==void 0){let ie=`${s}/unevaluatedProperties`;for(let X in e)if(!c[X]){let ve=`${a}/${en(X)}`,ye=it(e[X],Ge,r,n,i,o,ve,ie);ye.valid?c[X]=!0:ee.push({instanceLocation:a,keyword:"unevaluatedProperties",keywordLocation:ie,error:`Property "${X}" does not match unevaluated properties schema.`},...ye.errors)}}}else if(l==="array"){z!==void 0&&e.length>z&&ee.push({instanceLocation:a,keyword:"maxItems",keywordLocation:`${s}/maxItems`,error:`Array has too many items (${e.length} > ${z}).`}),g!==void 0&&e.length<g&&ee.push({instanceLocation:a,keyword:"minItems",keywordLocation:`${s}/minItems`,error:`Array has too few items (${e.length} < ${g}).`});let _e=e.length,le=0,Ie=!1;if(Tn!==void 0){let ie=`${s}/prefixItems`,X=Math.min(Tn.length,_e);for(;le<X;le++){let ve=it(e[le],Tn[le],r,n,i,o,`${a}/${le}`,`${ie}/${le}`);if(c[le]=!0,!ve.valid&&(Ie=i,ee.push({instanceLocation:a,keyword:"prefixItems",keywordLocation:ie,error:"Items did not match schema."},...ve.errors),Ie))break}}if(Yi!==void 0){let ie=`${s}/items`;if(Array.isArray(Yi)){let X=Math.min(Yi.length,_e);for(;le<X;le++){let ve=it(e[le],Yi[le],r,n,i,o,`${a}/${le}`,`${ie}/${le}`);if(c[le]=!0,!ve.valid&&(Ie=i,ee.push({instanceLocation:a,keyword:"items",keywordLocation:ie,error:"Items did not match schema."},...ve.errors),Ie))break}}else for(;le<_e;le++){let X=it(e[le],Yi,r,n,i,o,`${a}/${le}`,ie);if(c[le]=!0,!X.valid&&(Ie=i,ee.push({instanceLocation:a,keyword:"items",keywordLocation:ie,error:"Items did not match schema."},...X.errors),Ie))break}if(!Ie&&sd!==void 0){let X=`${s}/additionalItems`;for(;le<_e;le++){let ve=it(e[le],sd,r,n,i,o,`${a}/${le}`,X);c[le]=!0,ve.valid||(Ie=i,ee.push({instanceLocation:a,keyword:"additionalItems",keywordLocation:X,error:"Items did not match additional items schema."},...ve.errors))}}}if(ud!==void 0)if(_e===0&&An===void 0)ee.push({instanceLocation:a,keyword:"contains",keywordLocation:`${s}/contains`,error:"Array is empty. It must contain at least one item matching the schema."});else if(An!==void 0&&_e<An)ee.push({instanceLocation:a,keyword:"minContains",keywordLocation:`${s}/minContains`,error:`Array has less items (${_e}) than minContains (${An}).`});else{let ie=`${s}/contains`,X=ee.length,ve=0;for(let ye=0;ye<_e;ye++){let Tr=it(e[ye],ud,r,n,i,o,`${a}/${ye}`,ie);Tr.valid?(c[ye]=!0,ve++):ee.push(...Tr.errors)}ve>=(An||0)&&(ee.length=X),An===void 0&&v===void 0&&ve===0?ee.splice(X,0,{instanceLocation:a,keyword:"contains",keywordLocation:ie,error:"Array does not contain item matching schema."}):An!==void 0&&ve<An?ee.push({instanceLocation:a,keyword:"minContains",keywordLocation:`${s}/minContains`,error:`Array must contain at least ${An} items matching schema. Only ${ve} items were found.`}):v!==void 0&&ve>v&&ee.push({instanceLocation:a,keyword:"maxContains",keywordLocation:`${s}/maxContains`,error:`Array may contain at most ${v} items matching schema. ${ve} items were found.`})}if(!Ie&&cd!==void 0){let ie=`${s}/unevaluatedItems`;for(le;le<_e;le++){if(c[le])continue;let X=it(e[le],cd,r,n,i,o,`${a}/${le}`,ie);c[le]=!0,X.valid||ee.push({instanceLocation:a,keyword:"unevaluatedItems",keywordLocation:ie,error:"Items did not match unevaluated items schema."},...X.errors)}}if(k)for(let ie=0;ie<_e;ie++){let X=e[ie],ve=typeof X=="object"&&X!==null;for(let ye=0;ye<_e;ye++){if(ie===ye)continue;let Tr=e[ye];(X===Tr||ve&&(typeof Tr=="object"&&Tr!==null)&&Ri(X,Tr))&&(ee.push({instanceLocation:a,keyword:"uniqueItems",keywordLocation:`${s}/uniqueItems`,error:`Duplicate items at indexes ${ie} and ${ye}.`}),ie=Number.MAX_SAFE_INTEGER,ye=Number.MAX_SAFE_INTEGER)}}}else if(l==="number"){if(r==="4"?(De!==void 0&&(Rt===!0&&e<=De||e<De)&&ee.push({instanceLocation:a,keyword:"minimum",keywordLocation:`${s}/minimum`,error:`${e} is less than ${Rt?"or equal to ":""} ${De}.`}),qe!==void 0&&(It===!0&&e>=qe||e>qe)&&ee.push({instanceLocation:a,keyword:"maximum",keywordLocation:`${s}/maximum`,error:`${e} is greater than ${It?"or equal to ":""} ${qe}.`})):(De!==void 0&&e<De&&ee.push({instanceLocation:a,keyword:"minimum",keywordLocation:`${s}/minimum`,error:`${e} is less than ${De}.`}),qe!==void 0&&e>qe&&ee.push({instanceLocation:a,keyword:"maximum",keywordLocation:`${s}/maximum`,error:`${e} is greater than ${qe}.`}),Rt!==void 0&&e<=Rt&&ee.push({instanceLocation:a,keyword:"exclusiveMinimum",keywordLocation:`${s}/exclusiveMinimum`,error:`${e} is less than ${Rt}.`}),It!==void 0&&e>=It&&ee.push({instanceLocation:a,keyword:"exclusiveMaximum",keywordLocation:`${s}/exclusiveMaximum`,error:`${e} is greater than or equal to ${It}.`})),Qt!==void 0){let _e=e%Qt;Math.abs(0-_e)>=11920929e-14&&Math.abs(Qt-_e)>=11920929e-14&&ee.push({instanceLocation:a,keyword:"multipleOf",keywordLocation:`${s}/multipleOf`,error:`${e} is not a multiple of ${Qt}.`})}}else if(l==="string"){let _e=sn===void 0&&St===void 0?0:rj(e);sn!==void 0&&_e<sn&&ee.push({instanceLocation:a,keyword:"minLength",keywordLocation:`${s}/minLength`,error:`String is too short (${_e} < ${sn}).`}),St!==void 0&&_e>St&&ee.push({instanceLocation:a,keyword:"maxLength",keywordLocation:`${s}/maxLength`,error:`String is too long (${_e} > ${St}).`}),ui!==void 0&&!new RegExp(ui,"u").test(e)&&ee.push({instanceLocation:a,keyword:"pattern",keywordLocation:`${s}/pattern`,error:"String does not match pattern."}),H!==void 0&&PS[H]&&!PS[H](e)&&ee.push({instanceLocation:a,keyword:"format",keywordLocation:`${s}/format`,error:`String does not match format "${H}".`})}return{valid:ee.length===0,errors:ee}}var Jg=class{schema;draft;shortCircuit;lookup;constructor(t,r="2019-09",n=!0){this.schema=t,this.draft=r,this.shortCircuit=n,this.lookup=Zn(t)}validate(t){return it(t,this.schema,this.draft,this.lookup,this.shortCircuit)}addSchema(t,r){r&&(t={...t,$id:r}),Zn(t,this.lookup)}};var nj=P({Validator:()=>Jg,deepCompareStrict:()=>Ri,toJsonSchema:()=>dt,validatesOnlyStrings:()=>Uu});function dt(e,t){if(Ch(e)&&!We(e))return e["~standard"].jsonSchema.input({target:"draft-07"});if(We(e)){let r=Lg(e,!0);return bn(r)?fo(Tu(r,!0),t):fo(e,t)}return mt(e)?YM(e):e}function Uu(e){if(!e||typeof e!="object"||Object.keys(e).length===0||Array.isArray(e))return!1;if("type"in e)return typeof e.type=="string"?e.type==="string":Array.isArray(e.type)?e.type.every(t=>t==="string"):!1;if("enum"in e)return Array.isArray(e.enum)&&e.enum.length>0&&e.enum.every(t=>typeof t=="string");if("const"in e)return typeof e.const=="string";if("allOf"in e&&Array.isArray(e.allOf))return e.allOf.some(t=>Uu(t));if("anyOf"in e&&Array.isArray(e.anyOf)||"oneOf"in e&&Array.isArray(e.oneOf)){let t="anyOf"in e?e.anyOf:e.oneOf;return t.length>0&&t.every(r=>Uu(r))}if("not"in e)return!1;if("$ref"in e&&typeof e.$ref=="string"){let t=e.$ref,r=Zn(e);return r[t]?Uu(r[t]):!1}return!1}function wp(e){return e?e.lc_runnable:!1}var ij=class{includeNames;includeTypes;includeTags;excludeNames;excludeTypes;excludeTags;constructor(e){this.includeNames=e.includeNames,this.includeTypes=e.includeTypes,this.includeTags=e.includeTags,this.excludeNames=e.excludeNames,this.excludeTypes=e.excludeTypes,this.excludeTags=e.excludeTags}includeEvent(e,t){let r=this.includeNames===void 0&&this.includeTypes===void 0&&this.includeTags===void 0,n=e.tags??[];return this.includeNames!==void 0&&(r=r||this.includeNames.includes(e.name)),this.includeTypes!==void 0&&(r=r||this.includeTypes.includes(t)),this.includeTags!==void 0&&(r=r||n.some(i=>this.includeTags?.includes(i))),this.excludeNames!==void 0&&(r=r&&!this.excludeNames.includes(e.name)),this.excludeTypes!==void 0&&(r=r&&!this.excludeTypes.includes(t)),this.excludeTags!==void 0&&(r=r&&n.every(i=>!this.excludeTags?.includes(i))),r}},oj=e=>btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"");function RS(e){return e.replace(/[^a-zA-Z-_0-9]/g,"_")}var kq=["*","_","`"];function Eq(e){let t="";for(let[r,n]of Object.entries(e))t+=` classDef ${r} ${n};
|
|
108
|
+
- `)}`,new Error(X)}let Ie=`${s}/$ref`,ie=nt(e,le,r,n,i,o,a,Ie,c);if(ie.valid||ee.push({instanceLocation:a,keyword:"$ref",keywordLocation:Ie,error:"A subschema had errors."},...ie.errors),r==="4"||r==="7")return{valid:ee.length===0,errors:ee}}if(Array.isArray(m)){let _e=m.length,le=!1;for(let Ie=0;Ie<_e;Ie++)if(l===m[Ie]||m[Ie]==="integer"&&l==="number"&&e%1===0&&e===e){le=!0;break}le||ee.push({instanceLocation:a,keyword:"type",keywordLocation:`${s}/type`,error:`Instance type "${l}" is invalid. Expected "${m.join('", "')}".`})}else m==="integer"?(l!=="number"||e%1||e!==e)&&ee.push({instanceLocation:a,keyword:"type",keywordLocation:`${s}/type`,error:`Instance type "${l}" is invalid. Expected "${m}".`}):m!==void 0&&l!==m&&ee.push({instanceLocation:a,keyword:"type",keywordLocation:`${s}/type`,error:`Instance type "${l}" is invalid. Expected "${m}".`});if(h!==void 0&&(l==="object"||l==="array"?Ri(e,h)||ee.push({instanceLocation:a,keyword:"const",keywordLocation:`${s}/const`,error:`Instance does not match ${JSON.stringify(h)}.`}):e!==h&&ee.push({instanceLocation:a,keyword:"const",keywordLocation:`${s}/const`,error:`Instance does not match ${JSON.stringify(h)}.`})),w!==void 0&&(l==="object"||l==="array"?w.some(_e=>Ri(e,_e))||ee.push({instanceLocation:a,keyword:"enum",keywordLocation:`${s}/enum`,error:`Instance does not match any of ${JSON.stringify(w)}.`}):w.some(_e=>e===_e)||ee.push({instanceLocation:a,keyword:"enum",keywordLocation:`${s}/enum`,error:`Instance does not match any of ${JSON.stringify(w)}.`})),y!==void 0){let _e=`${s}/not`;nt(e,y,r,n,i,o,a,_e).valid&&ee.push({instanceLocation:a,keyword:"not",keywordLocation:_e,error:'Instance matched "not" schema.'})}let es=[];if(x!==void 0){let _e=`${s}/anyOf`,le=ee.length,Ie=!1;for(let ie=0;ie<x.length;ie++){let X=x[ie],ve=Object.create(c),ye=nt(e,X,r,n,i,p===!0?o:null,a,`${_e}/${ie}`,ve);ee.push(...ye.errors),Ie=Ie||ye.valid,ye.valid&&es.push(ve)}Ie?ee.length=le:ee.splice(le,0,{instanceLocation:a,keyword:"anyOf",keywordLocation:_e,error:"Instance does not match any subschemas."})}if(S!==void 0){let _e=`${s}/allOf`,le=ee.length,Ie=!0;for(let ie=0;ie<S.length;ie++){let X=S[ie],ve=Object.create(c),ye=nt(e,X,r,n,i,p===!0?o:null,a,`${_e}/${ie}`,ve);ee.push(...ye.errors),Ie=Ie&&ye.valid,ye.valid&&es.push(ve)}Ie?ee.length=le:ee.splice(le,0,{instanceLocation:a,keyword:"allOf",keywordLocation:_e,error:"Instance does not match every subschema."})}if($!==void 0){let _e=`${s}/oneOf`,le=ee.length,Ie=$.filter((ie,X)=>{let ve=Object.create(c),ye=nt(e,ie,r,n,i,p===!0?o:null,a,`${_e}/${X}`,ve);return ee.push(...ye.errors),ye.valid&&es.push(ve),ye.valid}).length;Ie===1?ee.length=le:ee.splice(le,0,{instanceLocation:a,keyword:"oneOf",keywordLocation:_e,error:`Instance does not match exactly one subschema (${Ie} matches).`})}if((l==="object"||l==="array")&&Object.assign(c,...es),j!==void 0){let _e=`${s}/if`;if(nt(e,j,r,n,i,o,a,_e,c).valid){if(C!==void 0){let Ie=nt(e,C,r,n,i,o,a,`${s}/then`,c);Ie.valid||ee.push({instanceLocation:a,keyword:"if",keywordLocation:_e,error:'Instance does not match "then" schema.'},...Ie.errors)}}else if(b!==void 0){let Ie=nt(e,b,r,n,i,o,a,`${s}/else`,c);Ie.valid||ee.push({instanceLocation:a,keyword:"if",keywordLocation:_e,error:'Instance does not match "else" schema.'},...Ie.errors)}}if(l==="object"){if(_!==void 0)for(let ie of _)ie in e||ee.push({instanceLocation:a,keyword:"required",keywordLocation:`${s}/required`,error:`Instance does not have required property "${ie}".`});let _e=Object.keys(e);if(qt!==void 0&&_e.length<qt&&ee.push({instanceLocation:a,keyword:"minProperties",keywordLocation:`${s}/minProperties`,error:`Instance does not have at least ${qt} properties.`}),Fr!==void 0&&_e.length>Fr&&ee.push({instanceLocation:a,keyword:"maxProperties",keywordLocation:`${s}/maxProperties`,error:`Instance does not have at least ${Fr} properties.`}),ze!==void 0){let ie=`${s}/propertyNames`;for(let X in e){let ve=`${a}/${en(X)}`,ye=nt(X,ze,r,n,i,o,ve,ie);ye.valid||ee.push({instanceLocation:a,keyword:"propertyNames",keywordLocation:ie,error:`Property name "${X}" does not match schema.`},...ye.errors)}}if(Ya!==void 0){let ie=`${s}/dependantRequired`;for(let X in Ya)if(X in e){let ve=Ya[X];for(let ye of ve)ye in e||ee.push({instanceLocation:a,keyword:"dependentRequired",keywordLocation:ie,error:`Instance has "${X}" but does not have "${ye}".`})}}if(Xi!==void 0)for(let ie in Xi){let X=`${s}/dependentSchemas`;if(ie in e){let ve=nt(e,Xi[ie],r,n,i,o,a,`${X}/${en(ie)}`,c);ve.valid||ee.push({instanceLocation:a,keyword:"dependentSchemas",keywordLocation:X,error:`Instance has "${ie}" but does not match dependant schema.`},...ve.errors)}}if(Qa!==void 0){let ie=`${s}/dependencies`;for(let X in Qa)if(X in e){let ve=Qa[X];if(Array.isArray(ve))for(let ye of ve)ye in e||ee.push({instanceLocation:a,keyword:"dependencies",keywordLocation:ie,error:`Instance has "${X}" but does not have "${ye}".`});else{let ye=nt(e,ve,r,n,i,o,a,`${ie}/${en(X)}`);ye.valid||ee.push({instanceLocation:a,keyword:"dependencies",keywordLocation:ie,error:`Instance has "${X}" but does not match dependant schema.`},...ye.errors)}}}let le=Object.create(null),Ie=!1;if(R!==void 0){let ie=`${s}/properties`;for(let X in R){if(!(X in e))continue;let ve=`${a}/${en(X)}`,ye=nt(e[X],R[X],r,n,i,o,ve,`${ie}/${en(X)}`);if(ye.valid)c[X]=le[X]=!0;else if(Ie=i,ee.push({instanceLocation:a,keyword:"properties",keywordLocation:ie,error:`Property "${X}" does not match schema.`},...ye.errors),Ie)break}}if(!Ie&&V!==void 0){let ie=`${s}/patternProperties`;for(let X in V){let ve=new RegExp(X,"u"),ye=V[X];for(let Tr in e){if(!ve.test(Tr))continue;let jT=`${a}/${en(Tr)}`,zT=nt(e[Tr],ye,r,n,i,o,jT,`${ie}/${en(X)}`);zT.valid?c[Tr]=le[Tr]=!0:(Ie=i,ee.push({instanceLocation:a,keyword:"patternProperties",keywordLocation:ie,error:`Property "${Tr}" matches pattern "${X}" but does not match associated schema.`},...zT.errors))}}}if(!Ie&&xe!==void 0){let ie=`${s}/additionalProperties`;for(let X in e){if(le[X])continue;let ve=`${a}/${en(X)}`,ye=nt(e[X],xe,r,n,i,o,ve,ie);ye.valid?c[X]=!0:(Ie=i,ee.push({instanceLocation:a,keyword:"additionalProperties",keywordLocation:ie,error:`Property "${X}" does not match additional properties schema.`},...ye.errors))}}else if(!Ie&&Ge!==void 0){let ie=`${s}/unevaluatedProperties`;for(let X in e)if(!c[X]){let ve=`${a}/${en(X)}`,ye=nt(e[X],Ge,r,n,i,o,ve,ie);ye.valid?c[X]=!0:ee.push({instanceLocation:a,keyword:"unevaluatedProperties",keywordLocation:ie,error:`Property "${X}" does not match unevaluated properties schema.`},...ye.errors)}}}else if(l==="array"){z!==void 0&&e.length>z&&ee.push({instanceLocation:a,keyword:"maxItems",keywordLocation:`${s}/maxItems`,error:`Array has too many items (${e.length} > ${z}).`}),g!==void 0&&e.length<g&&ee.push({instanceLocation:a,keyword:"minItems",keywordLocation:`${s}/minItems`,error:`Array has too few items (${e.length} < ${g}).`});let _e=e.length,le=0,Ie=!1;if(Tn!==void 0){let ie=`${s}/prefixItems`,X=Math.min(Tn.length,_e);for(;le<X;le++){let ve=nt(e[le],Tn[le],r,n,i,o,`${a}/${le}`,`${ie}/${le}`);if(c[le]=!0,!ve.valid&&(Ie=i,ee.push({instanceLocation:a,keyword:"prefixItems",keywordLocation:ie,error:"Items did not match schema."},...ve.errors),Ie))break}}if(Yi!==void 0){let ie=`${s}/items`;if(Array.isArray(Yi)){let X=Math.min(Yi.length,_e);for(;le<X;le++){let ve=nt(e[le],Yi[le],r,n,i,o,`${a}/${le}`,`${ie}/${le}`);if(c[le]=!0,!ve.valid&&(Ie=i,ee.push({instanceLocation:a,keyword:"items",keywordLocation:ie,error:"Items did not match schema."},...ve.errors),Ie))break}}else for(;le<_e;le++){let X=nt(e[le],Yi,r,n,i,o,`${a}/${le}`,ie);if(c[le]=!0,!X.valid&&(Ie=i,ee.push({instanceLocation:a,keyword:"items",keywordLocation:ie,error:"Items did not match schema."},...X.errors),Ie))break}if(!Ie&&sd!==void 0){let X=`${s}/additionalItems`;for(;le<_e;le++){let ve=nt(e[le],sd,r,n,i,o,`${a}/${le}`,X);c[le]=!0,ve.valid||(Ie=i,ee.push({instanceLocation:a,keyword:"additionalItems",keywordLocation:X,error:"Items did not match additional items schema."},...ve.errors))}}}if(ud!==void 0)if(_e===0&&An===void 0)ee.push({instanceLocation:a,keyword:"contains",keywordLocation:`${s}/contains`,error:"Array is empty. It must contain at least one item matching the schema."});else if(An!==void 0&&_e<An)ee.push({instanceLocation:a,keyword:"minContains",keywordLocation:`${s}/minContains`,error:`Array has less items (${_e}) than minContains (${An}).`});else{let ie=`${s}/contains`,X=ee.length,ve=0;for(let ye=0;ye<_e;ye++){let Tr=nt(e[ye],ud,r,n,i,o,`${a}/${ye}`,ie);Tr.valid?(c[ye]=!0,ve++):ee.push(...Tr.errors)}ve>=(An||0)&&(ee.length=X),An===void 0&&v===void 0&&ve===0?ee.splice(X,0,{instanceLocation:a,keyword:"contains",keywordLocation:ie,error:"Array does not contain item matching schema."}):An!==void 0&&ve<An?ee.push({instanceLocation:a,keyword:"minContains",keywordLocation:`${s}/minContains`,error:`Array must contain at least ${An} items matching schema. Only ${ve} items were found.`}):v!==void 0&&ve>v&&ee.push({instanceLocation:a,keyword:"maxContains",keywordLocation:`${s}/maxContains`,error:`Array may contain at most ${v} items matching schema. ${ve} items were found.`})}if(!Ie&&cd!==void 0){let ie=`${s}/unevaluatedItems`;for(le;le<_e;le++){if(c[le])continue;let X=nt(e[le],cd,r,n,i,o,`${a}/${le}`,ie);c[le]=!0,X.valid||ee.push({instanceLocation:a,keyword:"unevaluatedItems",keywordLocation:ie,error:"Items did not match unevaluated items schema."},...X.errors)}}if(k)for(let ie=0;ie<_e;ie++){let X=e[ie],ve=typeof X=="object"&&X!==null;for(let ye=0;ye<_e;ye++){if(ie===ye)continue;let Tr=e[ye];(X===Tr||ve&&(typeof Tr=="object"&&Tr!==null)&&Ri(X,Tr))&&(ee.push({instanceLocation:a,keyword:"uniqueItems",keywordLocation:`${s}/uniqueItems`,error:`Duplicate items at indexes ${ie} and ${ye}.`}),ie=Number.MAX_SAFE_INTEGER,ye=Number.MAX_SAFE_INTEGER)}}}else if(l==="number"){if(r==="4"?(De!==void 0&&(Rt===!0&&e<=De||e<De)&&ee.push({instanceLocation:a,keyword:"minimum",keywordLocation:`${s}/minimum`,error:`${e} is less than ${Rt?"or equal to ":""} ${De}.`}),qe!==void 0&&(It===!0&&e>=qe||e>qe)&&ee.push({instanceLocation:a,keyword:"maximum",keywordLocation:`${s}/maximum`,error:`${e} is greater than ${It?"or equal to ":""} ${qe}.`})):(De!==void 0&&e<De&&ee.push({instanceLocation:a,keyword:"minimum",keywordLocation:`${s}/minimum`,error:`${e} is less than ${De}.`}),qe!==void 0&&e>qe&&ee.push({instanceLocation:a,keyword:"maximum",keywordLocation:`${s}/maximum`,error:`${e} is greater than ${qe}.`}),Rt!==void 0&&e<=Rt&&ee.push({instanceLocation:a,keyword:"exclusiveMinimum",keywordLocation:`${s}/exclusiveMinimum`,error:`${e} is less than ${Rt}.`}),It!==void 0&&e>=It&&ee.push({instanceLocation:a,keyword:"exclusiveMaximum",keywordLocation:`${s}/exclusiveMaximum`,error:`${e} is greater than or equal to ${It}.`})),Qt!==void 0){let _e=e%Qt;Math.abs(0-_e)>=11920929e-14&&Math.abs(Qt-_e)>=11920929e-14&&ee.push({instanceLocation:a,keyword:"multipleOf",keywordLocation:`${s}/multipleOf`,error:`${e} is not a multiple of ${Qt}.`})}}else if(l==="string"){let _e=sn===void 0&&St===void 0?0:rj(e);sn!==void 0&&_e<sn&&ee.push({instanceLocation:a,keyword:"minLength",keywordLocation:`${s}/minLength`,error:`String is too short (${_e} < ${sn}).`}),St!==void 0&&_e>St&&ee.push({instanceLocation:a,keyword:"maxLength",keywordLocation:`${s}/maxLength`,error:`String is too long (${_e} > ${St}).`}),ui!==void 0&&!new RegExp(ui,"u").test(e)&&ee.push({instanceLocation:a,keyword:"pattern",keywordLocation:`${s}/pattern`,error:"String does not match pattern."}),H!==void 0&&PS[H]&&!PS[H](e)&&ee.push({instanceLocation:a,keyword:"format",keywordLocation:`${s}/format`,error:`String does not match format "${H}".`})}return{valid:ee.length===0,errors:ee}}var Jg=class{schema;draft;shortCircuit;lookup;constructor(t,r="2019-09",n=!0){this.schema=t,this.draft=r,this.shortCircuit=n,this.lookup=Zn(t)}validate(t){return nt(t,this.schema,this.draft,this.lookup,this.shortCircuit)}addSchema(t,r){r&&(t={...t,$id:r}),Zn(t,this.lookup)}};var nj=P({Validator:()=>Jg,deepCompareStrict:()=>Ri,toJsonSchema:()=>dt,validatesOnlyStrings:()=>Uu});function dt(e,t){if(Ch(e)&&!We(e))return e["~standard"].jsonSchema.input({target:"draft-07"});if(We(e)){let r=Lg(e,!0);return bn(r)?fo(Tu(r,!0),t):fo(e,t)}return mt(e)?YM(e):e}function Uu(e){if(!e||typeof e!="object"||Object.keys(e).length===0||Array.isArray(e))return!1;if("type"in e)return typeof e.type=="string"?e.type==="string":Array.isArray(e.type)?e.type.every(t=>t==="string"):!1;if("enum"in e)return Array.isArray(e.enum)&&e.enum.length>0&&e.enum.every(t=>typeof t=="string");if("const"in e)return typeof e.const=="string";if("allOf"in e&&Array.isArray(e.allOf))return e.allOf.some(t=>Uu(t));if("anyOf"in e&&Array.isArray(e.anyOf)||"oneOf"in e&&Array.isArray(e.oneOf)){let t="anyOf"in e?e.anyOf:e.oneOf;return t.length>0&&t.every(r=>Uu(r))}if("not"in e)return!1;if("$ref"in e&&typeof e.$ref=="string"){let t=e.$ref,r=Zn(e);return r[t]?Uu(r[t]):!1}return!1}function wp(e){return e?e.lc_runnable:!1}var ij=class{includeNames;includeTypes;includeTags;excludeNames;excludeTypes;excludeTags;constructor(e){this.includeNames=e.includeNames,this.includeTypes=e.includeTypes,this.includeTags=e.includeTags,this.excludeNames=e.excludeNames,this.excludeTypes=e.excludeTypes,this.excludeTags=e.excludeTags}includeEvent(e,t){let r=this.includeNames===void 0&&this.includeTypes===void 0&&this.includeTags===void 0,n=e.tags??[];return this.includeNames!==void 0&&(r=r||this.includeNames.includes(e.name)),this.includeTypes!==void 0&&(r=r||this.includeTypes.includes(t)),this.includeTags!==void 0&&(r=r||n.some(i=>this.includeTags?.includes(i))),this.excludeNames!==void 0&&(r=r&&!this.excludeNames.includes(e.name)),this.excludeTypes!==void 0&&(r=r&&!this.excludeTypes.includes(t)),this.excludeTags!==void 0&&(r=r&&n.every(i=>!this.excludeTags?.includes(i))),r}},oj=e=>btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"");function RS(e){return e.replace(/[^a-zA-Z-_0-9]/g,"_")}var kq=["*","_","`"];function Eq(e){let t="";for(let[r,n]of Object.entries(e))t+=` classDef ${r} ${n};
|
|
109
109
|
`;return t}function aj(e,t,r){let{firstNode:n,lastNode:i,nodeColors:o,withStyles:a=!0,curveStyle:s="linear",wrapLabelNWords:c=9}=r??{},u=a?`%%{init: {'flowchart': {'curve': '${s}'}}}%%
|
|
110
110
|
graph TD;
|
|
111
111
|
`:`graph TD;
|
|
@@ -115,17 +115,17 @@ graph TD;
|
|
|
115
115
|
`}let _=f(Object.keys(l).filter(y=>y.startsWith(`${h}:`)&&y!==h&&y.split(":").length===h.split(":").length+1));for(let y of _)p(l[y],y);for(let y of m){let{source:x,target:S,data:$,conditional:j}=y,C="";if($!==void 0){let b=$,H=b.split(" ");H.length>c&&(b=Array.from({length:Math.ceil(H.length/c)},(R,V)=>H.slice(V*c,(V+1)*c).join(" ")).join(" <br> ")),C=j?` -. ${b} .-> `:` -- ${b} --> `}else C=j?" -.-> ":" --> ";u+=` ${RS(x)}${C}${RS(S)};
|
|
116
116
|
`}h&&!w&&(u+=` end
|
|
117
117
|
`)}p(l[""]??[],"");for(let m in l)!m.includes(":")&&m!==""&&p(l[m],m);return a&&(u+=Eq(o??{})),u}async function sj(e,t){let r=t?.backgroundColor??"white",n=t?.imageType??"png",i=oj(e);r!==void 0&&(/^#(?:[0-9a-fA-F]{3}){1,2}$/.test(r)||(r=`!${r}`));let o=`https://mermaid.ink/img/${i}?bgColor=${r}&type=${n}`,a=await fetch(o);if(!a.ok)throw new Error(["Failed to render the graph using the Mermaid.INK API.",`Status code: ${a.status}`,`Status text: ${a.statusText}`].join(`
|
|
118
|
-
`));return await a.blob()}var lj=P({Graph:()=>Hs});function $q(e,t){if(e!==void 0&&!ea(e))return e;if(wp(t))try{let r=t.getName();return r=r.startsWith("Runnable")?r.slice(8):r,r}catch{return t.getName()}else return t.name??"UnknownSchema"}function Tq(e){return wp(e.data)?{type:"runnable",data:{id:e.data.lc_id,name:e.data.getName()}}:{type:"schema",data:{...dt(e.data.schema),title:e.data.name}}}var Hs=class dj{nodes={};edges=[];constructor(t){this.nodes=t?.nodes??this.nodes,this.edges=t?.edges??this.edges}toJSON(){let t={};return Object.values(this.nodes).forEach((r,n)=>{t[r.id]=ea(r.id)?n:r.id}),{nodes:Object.values(this.nodes).map(r=>({id:t[r.id],...Tq(r)})),edges:this.edges.map(r=>{let n={source:t[r.source],target:t[r.target]};return typeof r.data<"u"&&(n.data=r.data),typeof r.conditional<"u"&&(n.conditional=r.conditional),n})}}addNode(t,r,n){if(r!==void 0&&this.nodes[r]!==void 0)throw new Error(`Node with id ${r} already exists`);let i=r??fb(),o={id:i,data:t,name:$q(r,t),metadata:n};return this.nodes[i]=o,o}removeNode(t){delete this.nodes[t.id],this.edges=this.edges.filter(r=>r.source!==t.id&&r.target!==t.id)}addEdge(t,r,n,i){if(this.nodes[t.id]===void 0)throw new Error(`Source node ${t.id} not in graph`);if(this.nodes[r.id]===void 0)throw new Error(`Target node ${r.id} not in graph`);let o={source:t.id,target:r.id,data:n,conditional:i};return this.edges.push(o),o}firstNode(){return cj(this)}lastNode(){return uj(this)}extend(t,r=""){let n=r;Object.values(t.nodes).map(c=>c.id).every(ea)&&(n="");let i=c=>n?`${n}:${c}`:c;Object.entries(t.nodes).forEach(([c,u])=>{this.nodes[i(c)]={...u,id:i(c)}});let o=t.edges.map(c=>({...c,source:i(c.source),target:i(c.target)}));this.edges=[...this.edges,...o];let a=t.firstNode(),s=t.lastNode();return[a?{id:i(a.id),data:a.data}:void 0,s?{id:i(s.id),data:s.data}:void 0]}trimFirstNode(){let t=this.firstNode();t&&cj(this,[t.id])&&this.removeNode(t)}trimLastNode(){let t=this.lastNode();t&&uj(this,[t.id])&&this.removeNode(t)}reid(){let t=Object.fromEntries(Object.values(this.nodes).map(i=>[i.id,i.name])),r=new Map;Object.values(t).forEach(i=>{r.set(i,(r.get(i)||0)+1)});let n=i=>{let o=t[i];return ea(i)&&r.get(o)===1?o:i};return new dj({nodes:Object.fromEntries(Object.entries(this.nodes).map(([i,o])=>[n(i),{...o,id:n(i)}])),edges:this.edges.map(i=>({...i,source:n(i.source),target:n(i.target)}))})}drawMermaid(t){let{withStyles:r,curveStyle:n,nodeColors:i={default:"fill:#f2f0ff,line-height:1.2",first:"fill-opacity:0",last:"fill:#bfb6fc"},wrapLabelNWords:o}=t??{},a=this.reid(),s=a.firstNode(),c=a.lastNode();return aj(a.nodes,a.edges,{firstNode:s?.id,lastNode:c?.id,withStyles:r,curveStyle:n,nodeColors:i,wrapLabelNWords:o})}async drawMermaidPng(t){return sj(this.drawMermaid(t),{backgroundColor:t?.backgroundColor})}};function cj(e,t=[]){let r=new Set(e.edges.filter(i=>!t.includes(i.source)).map(i=>i.target)),n=[];for(let i of Object.values(e.nodes))!t.includes(i.id)&&!r.has(i.id)&&n.push(i);return n.length===1?n[0]:void 0}function uj(e,t=[]){let r=new Set(e.edges.filter(i=>!t.includes(i.target)).map(i=>i.source)),n=[];for(let i of Object.values(e.nodes))!t.includes(i.id)&&!r.has(i.id)&&n.push(i);return n.length===1?n[0]:void 0}function Xg({name:e,serialized:t}){return e!==void 0?e:t?.name!==void 0?t.name:t?.id!==void 0&&Array.isArray(t?.id)?t.id[t.id.length-1]:"Unnamed"}var pj=e=>e.name==="event_stream_tracer",fj=class extends Jt{autoClose=!0;includeNames;includeTypes;includeTags;excludeNames;excludeTypes;excludeTags;runInfoMap=new Map;tappedPromises=new Map;transformStream;writer;receiveStream;readableStreamClosed=!1;name="event_stream_tracer";lc_prefer_streaming=!0;constructor(e){super({_awaitHandler:!0,...e}),this.autoClose=e?.autoClose??!0,this.includeNames=e?.includeNames,this.includeTypes=e?.includeTypes,this.includeTags=e?.includeTags,this.excludeNames=e?.excludeNames,this.excludeTypes=e?.excludeTypes,this.excludeTags=e?.excludeTags,this.transformStream=new TransformStream({flush:()=>{this.readableStreamClosed=!0}}),this.writer=this.transformStream.writable.getWriter(),this.receiveStream=Ct.fromReadableStream(this.transformStream.readable)}[Symbol.asyncIterator](){return this.receiveStream}async persistRun(e){}_includeRun(e){let t=e.tags??[],r=this.includeNames===void 0&&this.includeTags===void 0&&this.includeTypes===void 0;return this.includeNames!==void 0&&(r=r||this.includeNames.includes(e.name)),this.includeTypes!==void 0&&(r=r||this.includeTypes.includes(e.runType)),this.includeTags!==void 0&&(r=r||t.find(n=>this.includeTags?.includes(n))!==void 0),this.excludeNames!==void 0&&(r=r&&!this.excludeNames.includes(e.name)),this.excludeTypes!==void 0&&(r=r&&!this.excludeTypes.includes(e.runType)),this.excludeTags!==void 0&&(r=r&&t.every(n=>!this.excludeTags?.includes(n))),r}async*tapOutputIterable(e,t){let r=await t.next();if(r.done)return;let n=this.runInfoMap.get(e);if(n===void 0){yield r.value;return}function i(a,s){return a==="llm"&&typeof s=="string"?new Si({text:s}):s}let o=this.tappedPromises.get(e);if(o===void 0){let a;o=new Promise(s=>{a=s}),this.tappedPromises.set(e,o);try{let s={event:`on_${n.runType}_stream`,run_id:e,name:n.name,tags:n.tags,metadata:n.metadata,data:{}};await this.send({...s,data:{chunk:i(n.runType,r.value)}},n),yield r.value;for await(let c of t)n.runType!=="tool"&&n.runType!=="retriever"&&await this.send({...s,data:{chunk:i(n.runType,c)}},n),yield c}finally{a?.()}}else{yield r.value;for await(let a of t)yield a}}async send(e,t){this.readableStreamClosed||this._includeRun(t)&&await this.writer.write(e)}async sendEndEvent(e,t){let r=this.tappedPromises.get(e.run_id);r!==void 0?r.then(()=>{this.send(e,t)}):await this.send(e,t)}async onLLMStart(e){let t=Xg(e),r=e.inputs.messages!==void 0?"chat_model":"llm",n={tags:e.tags??[],metadata:e.extra?.metadata??{},name:t,runType:r,inputs:e.inputs};this.runInfoMap.set(e.id,n);let i=`on_${r}_start`;await this.send({event:i,data:{input:e.inputs},name:t,tags:e.tags??[],run_id:e.id,metadata:e.extra?.metadata??{}},n)}async onLLMNewToken(e,t,r){let n=this.runInfoMap.get(e.id),i,o;if(n===void 0)throw new Error(`onLLMNewToken: Run ID ${e.id} not found in run map.`);if(this.runInfoMap.size!==1){if(n.runType==="chat_model")o="on_chat_model_stream",r?.chunk===void 0?i=new st({content:t,id:`run-${e.id}`}):i=r.chunk.message;else if(n.runType==="llm")o="on_llm_stream",r?.chunk===void 0?i=new Si({text:t}):i=r.chunk;else throw new Error(`Unexpected run type ${n.runType}`);await this.send({event:o,data:{chunk:i},run_id:e.id,name:n.name,tags:n.tags,metadata:n.metadata},n)}}async onLLMEnd(e){let t=this.runInfoMap.get(e.id);this.runInfoMap.delete(e.id);let r;if(t===void 0)throw new Error(`onLLMEnd: Run ID ${e.id} not found in run map.`);let n=e.outputs?.generations,i;if(t.runType==="chat_model"){for(let o of n??[]){if(i!==void 0)break;i=o[0]?.message}r="on_chat_model_end"}else if(t.runType==="llm")i={generations:n?.map(o=>o.map(a=>({text:a.text,generationInfo:a.generationInfo}))),llmOutput:e.outputs?.llmOutput??{}},r="on_llm_end";else throw new Error(`onLLMEnd: Unexpected run type: ${t.runType}`);await this.sendEndEvent({event:r,data:{output:i,input:t.inputs},run_id:e.id,name:t.name,tags:t.tags,metadata:t.metadata},t)}async onChainStart(e){let t=Xg(e),r=e.run_type??"chain",n={tags:e.tags??[],metadata:e.extra?.metadata??{},name:t,runType:e.run_type},i={};e.inputs.input===""&&Object.keys(e.inputs).length===1?(i={},n.inputs={}):e.inputs.input!==void 0?(i.input=e.inputs.input,n.inputs=e.inputs.input):(i.input=e.inputs,n.inputs=e.inputs),this.runInfoMap.set(e.id,n),await this.send({event:`on_${r}_start`,data:i,name:t,tags:e.tags??[],run_id:e.id,metadata:e.extra?.metadata??{}},n)}async onChainEnd(e){let t=this.runInfoMap.get(e.id);if(this.runInfoMap.delete(e.id),t===void 0)throw new Error(`onChainEnd: Run ID ${e.id} not found in run map.`);let r=`on_${e.run_type}_end`,n=e.inputs??t.inputs??{},i={output:e.outputs?.output??e.outputs,input:n};n.input&&Object.keys(n).length===1&&(i.input=n.input,t.inputs=n.input),await this.sendEndEvent({event:r,data:i,run_id:e.id,name:t.name,tags:t.tags,metadata:t.metadata??{}},t)}async onToolStart(e){let t=Xg(e),r={tags:e.tags??[],metadata:e.extra?.metadata??{},name:t,runType:"tool",inputs:e.inputs??{}};this.runInfoMap.set(e.id,r),await this.send({event:"on_tool_start",data:{input:e.inputs??{}},name:t,run_id:e.id,tags:e.tags??[],metadata:e.extra?.metadata??{}},r)}async onToolEnd(e){let t=this.runInfoMap.get(e.id);if(this.runInfoMap.delete(e.id),t===void 0)throw new Error(`onToolEnd: Run ID ${e.id} not found in run map.`);if(t.inputs===void 0)throw new Error(`onToolEnd: Run ID ${e.id} is a tool call, and is expected to have traced inputs.`);let r=e.outputs?.output===void 0?e.outputs:e.outputs.output;await this.sendEndEvent({event:"on_tool_end",data:{output:r,input:t.inputs},run_id:e.id,name:t.name,tags:t.tags,metadata:t.metadata},t)}async onToolError(e){let t=this.runInfoMap.get(e.id);if(this.runInfoMap.delete(e.id),t===void 0)throw new Error(`onToolEnd: Run ID ${e.id} not found in run map.`);if(t.inputs===void 0)throw new Error(`onToolEnd: Run ID ${e.id} is a tool call, and is expected to have traced inputs.`);await this.sendEndEvent({event:"on_tool_error",data:{input:t.inputs,error:e.error},run_id:e.id,name:t.name,tags:t.tags,metadata:t.metadata},t)}async onRetrieverStart(e){let t=Xg(e),r={tags:e.tags??[],metadata:e.extra?.metadata??{},name:t,runType:"retriever",inputs:{query:e.inputs.query}};this.runInfoMap.set(e.id,r),await this.send({event:"on_retriever_start",data:{input:{query:e.inputs.query}},name:t,tags:e.tags??[],run_id:e.id,metadata:e.extra?.metadata??{}},r)}async onRetrieverEnd(e){let t=this.runInfoMap.get(e.id);if(this.runInfoMap.delete(e.id),t===void 0)throw new Error(`onRetrieverEnd: Run ID ${e.id} not found in run map.`);await this.sendEndEvent({event:"on_retriever_end",data:{output:e.outputs?.documents??e.outputs,input:t.inputs},run_id:e.id,name:t.name,tags:t.tags,metadata:t.metadata},t)}async handleCustomEvent(e,t,r){let n=this.runInfoMap.get(r);if(n===void 0)throw new Error(`handleCustomEvent: Run ID ${r} not found in run map.`);await this.send({event:"on_custom_event",run_id:r,name:e,tags:n.tags,metadata:n.metadata,data:t},n)}async finish(){let e=[...this.tappedPromises.values()];Promise.all(e).finally(()=>{this.writer.close()})}};var NS=class extends Jt{name="RootListenersTracer";rootId;config;argOnStart;argOnEnd;argOnError;constructor({config:e,onStart:t,onEnd:r,onError:n}){super({_awaitHandler:!0}),this.config=e,this.argOnStart=t,this.argOnEnd=r,this.argOnError=n}persistRun(e){return Promise.resolve()}async onRunCreate(e){this.rootId||(this.rootId=e.id,this.argOnStart&&await this.argOnStart(e,this.config))}async onRunUpdate(e){e.id===this.rootId&&(e.error?this.argOnError&&await this.argOnError(e,this.config):this.argOnEnd&&await this.argOnEnd(e,this.config))}};function mj(e){let t=new TextEncoder,r=new ReadableStream({async start(n){for await(let i of e)n.enqueue(t.encode(`event: data
|
|
118
|
+
`));return await a.blob()}var lj=P({Graph:()=>Hs});function $q(e,t){if(e!==void 0&&!ea(e))return e;if(wp(t))try{let r=t.getName();return r=r.startsWith("Runnable")?r.slice(8):r,r}catch{return t.getName()}else return t.name??"UnknownSchema"}function Tq(e){return wp(e.data)?{type:"runnable",data:{id:e.data.lc_id,name:e.data.getName()}}:{type:"schema",data:{...dt(e.data.schema),title:e.data.name}}}var Hs=class dj{nodes={};edges=[];constructor(t){this.nodes=t?.nodes??this.nodes,this.edges=t?.edges??this.edges}toJSON(){let t={};return Object.values(this.nodes).forEach((r,n)=>{t[r.id]=ea(r.id)?n:r.id}),{nodes:Object.values(this.nodes).map(r=>({id:t[r.id],...Tq(r)})),edges:this.edges.map(r=>{let n={source:t[r.source],target:t[r.target]};return typeof r.data<"u"&&(n.data=r.data),typeof r.conditional<"u"&&(n.conditional=r.conditional),n})}}addNode(t,r,n){if(r!==void 0&&this.nodes[r]!==void 0)throw new Error(`Node with id ${r} already exists`);let i=r??fb(),o={id:i,data:t,name:$q(r,t),metadata:n};return this.nodes[i]=o,o}removeNode(t){delete this.nodes[t.id],this.edges=this.edges.filter(r=>r.source!==t.id&&r.target!==t.id)}addEdge(t,r,n,i){if(this.nodes[t.id]===void 0)throw new Error(`Source node ${t.id} not in graph`);if(this.nodes[r.id]===void 0)throw new Error(`Target node ${r.id} not in graph`);let o={source:t.id,target:r.id,data:n,conditional:i};return this.edges.push(o),o}firstNode(){return cj(this)}lastNode(){return uj(this)}extend(t,r=""){let n=r;Object.values(t.nodes).map(c=>c.id).every(ea)&&(n="");let i=c=>n?`${n}:${c}`:c;Object.entries(t.nodes).forEach(([c,u])=>{this.nodes[i(c)]={...u,id:i(c)}});let o=t.edges.map(c=>({...c,source:i(c.source),target:i(c.target)}));this.edges=[...this.edges,...o];let a=t.firstNode(),s=t.lastNode();return[a?{id:i(a.id),data:a.data}:void 0,s?{id:i(s.id),data:s.data}:void 0]}trimFirstNode(){let t=this.firstNode();t&&cj(this,[t.id])&&this.removeNode(t)}trimLastNode(){let t=this.lastNode();t&&uj(this,[t.id])&&this.removeNode(t)}reid(){let t=Object.fromEntries(Object.values(this.nodes).map(i=>[i.id,i.name])),r=new Map;Object.values(t).forEach(i=>{r.set(i,(r.get(i)||0)+1)});let n=i=>{let o=t[i];return ea(i)&&r.get(o)===1?o:i};return new dj({nodes:Object.fromEntries(Object.entries(this.nodes).map(([i,o])=>[n(i),{...o,id:n(i)}])),edges:this.edges.map(i=>({...i,source:n(i.source),target:n(i.target)}))})}drawMermaid(t){let{withStyles:r,curveStyle:n,nodeColors:i={default:"fill:#f2f0ff,line-height:1.2",first:"fill-opacity:0",last:"fill:#bfb6fc"},wrapLabelNWords:o}=t??{},a=this.reid(),s=a.firstNode(),c=a.lastNode();return aj(a.nodes,a.edges,{firstNode:s?.id,lastNode:c?.id,withStyles:r,curveStyle:n,nodeColors:i,wrapLabelNWords:o})}async drawMermaidPng(t){return sj(this.drawMermaid(t),{backgroundColor:t?.backgroundColor})}};function cj(e,t=[]){let r=new Set(e.edges.filter(i=>!t.includes(i.source)).map(i=>i.target)),n=[];for(let i of Object.values(e.nodes))!t.includes(i.id)&&!r.has(i.id)&&n.push(i);return n.length===1?n[0]:void 0}function uj(e,t=[]){let r=new Set(e.edges.filter(i=>!t.includes(i.target)).map(i=>i.source)),n=[];for(let i of Object.values(e.nodes))!t.includes(i.id)&&!r.has(i.id)&&n.push(i);return n.length===1?n[0]:void 0}function Xg({name:e,serialized:t}){return e!==void 0?e:t?.name!==void 0?t.name:t?.id!==void 0&&Array.isArray(t?.id)?t.id[t.id.length-1]:"Unnamed"}var pj=e=>e.name==="event_stream_tracer",fj=class extends Jt{autoClose=!0;includeNames;includeTypes;includeTags;excludeNames;excludeTypes;excludeTags;runInfoMap=new Map;tappedPromises=new Map;transformStream;writer;receiveStream;readableStreamClosed=!1;name="event_stream_tracer";lc_prefer_streaming=!0;constructor(e){super({_awaitHandler:!0,...e}),this.autoClose=e?.autoClose??!0,this.includeNames=e?.includeNames,this.includeTypes=e?.includeTypes,this.includeTags=e?.includeTags,this.excludeNames=e?.excludeNames,this.excludeTypes=e?.excludeTypes,this.excludeTags=e?.excludeTags,this.transformStream=new TransformStream({flush:()=>{this.readableStreamClosed=!0}}),this.writer=this.transformStream.writable.getWriter(),this.receiveStream=Ct.fromReadableStream(this.transformStream.readable)}[Symbol.asyncIterator](){return this.receiveStream}async persistRun(e){}_includeRun(e){let t=e.tags??[],r=this.includeNames===void 0&&this.includeTags===void 0&&this.includeTypes===void 0;return this.includeNames!==void 0&&(r=r||this.includeNames.includes(e.name)),this.includeTypes!==void 0&&(r=r||this.includeTypes.includes(e.runType)),this.includeTags!==void 0&&(r=r||t.find(n=>this.includeTags?.includes(n))!==void 0),this.excludeNames!==void 0&&(r=r&&!this.excludeNames.includes(e.name)),this.excludeTypes!==void 0&&(r=r&&!this.excludeTypes.includes(e.runType)),this.excludeTags!==void 0&&(r=r&&t.every(n=>!this.excludeTags?.includes(n))),r}async*tapOutputIterable(e,t){let r=await t.next();if(r.done)return;let n=this.runInfoMap.get(e);if(n===void 0){yield r.value;return}function i(a,s){return a==="llm"&&typeof s=="string"?new Si({text:s}):s}let o=this.tappedPromises.get(e);if(o===void 0){let a;o=new Promise(s=>{a=s}),this.tappedPromises.set(e,o);try{let s={event:`on_${n.runType}_stream`,run_id:e,name:n.name,tags:n.tags,metadata:n.metadata,data:{}};await this.send({...s,data:{chunk:i(n.runType,r.value)}},n),yield r.value;for await(let c of t)n.runType!=="tool"&&n.runType!=="retriever"&&await this.send({...s,data:{chunk:i(n.runType,c)}},n),yield c}finally{a?.()}}else{yield r.value;for await(let a of t)yield a}}async send(e,t){this.readableStreamClosed||this._includeRun(t)&&await this.writer.write(e)}async sendEndEvent(e,t){let r=this.tappedPromises.get(e.run_id);r!==void 0?r.then(()=>{this.send(e,t)}):await this.send(e,t)}async onLLMStart(e){let t=Xg(e),r=e.inputs.messages!==void 0?"chat_model":"llm",n={tags:e.tags??[],metadata:e.extra?.metadata??{},name:t,runType:r,inputs:e.inputs};this.runInfoMap.set(e.id,n);let i=`on_${r}_start`;await this.send({event:i,data:{input:e.inputs},name:t,tags:e.tags??[],run_id:e.id,metadata:e.extra?.metadata??{}},n)}async onLLMNewToken(e,t,r){let n=this.runInfoMap.get(e.id),i,o;if(n===void 0)throw new Error(`onLLMNewToken: Run ID ${e.id} not found in run map.`);if(this.runInfoMap.size!==1){if(n.runType==="chat_model")o="on_chat_model_stream",r?.chunk===void 0?i=new at({content:t,id:`run-${e.id}`}):i=r.chunk.message;else if(n.runType==="llm")o="on_llm_stream",r?.chunk===void 0?i=new Si({text:t}):i=r.chunk;else throw new Error(`Unexpected run type ${n.runType}`);await this.send({event:o,data:{chunk:i},run_id:e.id,name:n.name,tags:n.tags,metadata:n.metadata},n)}}async onLLMEnd(e){let t=this.runInfoMap.get(e.id);this.runInfoMap.delete(e.id);let r;if(t===void 0)throw new Error(`onLLMEnd: Run ID ${e.id} not found in run map.`);let n=e.outputs?.generations,i;if(t.runType==="chat_model"){for(let o of n??[]){if(i!==void 0)break;i=o[0]?.message}r="on_chat_model_end"}else if(t.runType==="llm")i={generations:n?.map(o=>o.map(a=>({text:a.text,generationInfo:a.generationInfo}))),llmOutput:e.outputs?.llmOutput??{}},r="on_llm_end";else throw new Error(`onLLMEnd: Unexpected run type: ${t.runType}`);await this.sendEndEvent({event:r,data:{output:i,input:t.inputs},run_id:e.id,name:t.name,tags:t.tags,metadata:t.metadata},t)}async onChainStart(e){let t=Xg(e),r=e.run_type??"chain",n={tags:e.tags??[],metadata:e.extra?.metadata??{},name:t,runType:e.run_type},i={};e.inputs.input===""&&Object.keys(e.inputs).length===1?(i={},n.inputs={}):e.inputs.input!==void 0?(i.input=e.inputs.input,n.inputs=e.inputs.input):(i.input=e.inputs,n.inputs=e.inputs),this.runInfoMap.set(e.id,n),await this.send({event:`on_${r}_start`,data:i,name:t,tags:e.tags??[],run_id:e.id,metadata:e.extra?.metadata??{}},n)}async onChainEnd(e){let t=this.runInfoMap.get(e.id);if(this.runInfoMap.delete(e.id),t===void 0)throw new Error(`onChainEnd: Run ID ${e.id} not found in run map.`);let r=`on_${e.run_type}_end`,n=e.inputs??t.inputs??{},i={output:e.outputs?.output??e.outputs,input:n};n.input&&Object.keys(n).length===1&&(i.input=n.input,t.inputs=n.input),await this.sendEndEvent({event:r,data:i,run_id:e.id,name:t.name,tags:t.tags,metadata:t.metadata??{}},t)}async onToolStart(e){let t=Xg(e),r={tags:e.tags??[],metadata:e.extra?.metadata??{},name:t,runType:"tool",inputs:e.inputs??{}};this.runInfoMap.set(e.id,r),await this.send({event:"on_tool_start",data:{input:e.inputs??{}},name:t,run_id:e.id,tags:e.tags??[],metadata:e.extra?.metadata??{}},r)}async onToolEnd(e){let t=this.runInfoMap.get(e.id);if(this.runInfoMap.delete(e.id),t===void 0)throw new Error(`onToolEnd: Run ID ${e.id} not found in run map.`);if(t.inputs===void 0)throw new Error(`onToolEnd: Run ID ${e.id} is a tool call, and is expected to have traced inputs.`);let r=e.outputs?.output===void 0?e.outputs:e.outputs.output;await this.sendEndEvent({event:"on_tool_end",data:{output:r,input:t.inputs},run_id:e.id,name:t.name,tags:t.tags,metadata:t.metadata},t)}async onToolError(e){let t=this.runInfoMap.get(e.id);if(this.runInfoMap.delete(e.id),t===void 0)throw new Error(`onToolEnd: Run ID ${e.id} not found in run map.`);if(t.inputs===void 0)throw new Error(`onToolEnd: Run ID ${e.id} is a tool call, and is expected to have traced inputs.`);await this.sendEndEvent({event:"on_tool_error",data:{input:t.inputs,error:e.error},run_id:e.id,name:t.name,tags:t.tags,metadata:t.metadata},t)}async onRetrieverStart(e){let t=Xg(e),r={tags:e.tags??[],metadata:e.extra?.metadata??{},name:t,runType:"retriever",inputs:{query:e.inputs.query}};this.runInfoMap.set(e.id,r),await this.send({event:"on_retriever_start",data:{input:{query:e.inputs.query}},name:t,tags:e.tags??[],run_id:e.id,metadata:e.extra?.metadata??{}},r)}async onRetrieverEnd(e){let t=this.runInfoMap.get(e.id);if(this.runInfoMap.delete(e.id),t===void 0)throw new Error(`onRetrieverEnd: Run ID ${e.id} not found in run map.`);await this.sendEndEvent({event:"on_retriever_end",data:{output:e.outputs?.documents??e.outputs,input:t.inputs},run_id:e.id,name:t.name,tags:t.tags,metadata:t.metadata},t)}async handleCustomEvent(e,t,r){let n=this.runInfoMap.get(r);if(n===void 0)throw new Error(`handleCustomEvent: Run ID ${r} not found in run map.`);await this.send({event:"on_custom_event",run_id:r,name:e,tags:n.tags,metadata:n.metadata,data:t},n)}async finish(){let e=[...this.tappedPromises.values()];Promise.all(e).finally(()=>{this.writer.close()})}};var NS=class extends Jt{name="RootListenersTracer";rootId;config;argOnStart;argOnEnd;argOnError;constructor({config:e,onStart:t,onEnd:r,onError:n}){super({_awaitHandler:!0}),this.config=e,this.argOnStart=t,this.argOnEnd=r,this.argOnError=n}persistRun(e){return Promise.resolve()}async onRunCreate(e){this.rootId||(this.rootId=e.id,this.argOnStart&&await this.argOnStart(e,this.config))}async onRunUpdate(e){e.id===this.rootId&&(e.error?this.argOnError&&await this.argOnError(e,this.config):this.argOnEnd&&await this.argOnEnd(e,this.config))}};function mj(e){let t=new TextEncoder,r=new ReadableStream({async start(n){for await(let i of e)n.enqueue(t.encode(`event: data
|
|
119
119
|
data: ${JSON.stringify(i)}
|
|
120
120
|
|
|
121
121
|
`));n.enqueue(t.encode(`event: end
|
|
122
122
|
|
|
123
123
|
`)),n.close()}});return Ct.fromReadableStream(r)}function MS(e){return typeof e=="object"&&e!==null&&typeof e[Symbol.iterator]=="function"&&typeof e.next=="function"}var hj=e=>e!=null&&typeof e=="object"&&"next"in e&&typeof e.next=="function";function Yg(e){return typeof e=="object"&&e!==null&&typeof e[Symbol.asyncIterator]=="function"}function jS(e){return e!=null&&typeof e=="object"&&typeof e.next=="function"}async function gj(e,t){try{let r=await e.next();for(;!r.done;)await t?.(r.value),r=await e.next();return r.value}finally{await e.return?.(void 0)}}function*zS(e,t){for(;;){let{value:r,done:n}=He.runWithConfig(br(e),t.next.bind(t),!0);if(n)break;yield r}}async function*Qg(e,t){let r=t[Symbol.asyncIterator]();for(;;){let{value:n,done:i}=await He.runWithConfig(br(e),r.next.bind(t),!0);if(i)break;yield n}}function Pt(e,t){return e&&!Array.isArray(e)&&!(e instanceof Date)&&typeof e=="object"?e:{[t]:e}}var pe=class extends kt{lc_runnable=!0;name;getName(e){let t=this.name??this.constructor.lc_name()??this.constructor.name;return e?`${t}${e}`:t}withRetry(e){return new t_({bound:this,kwargs:{},config:{},maxAttemptNumber:e?.stopAfterAttempt,...e})}withConfig(e){return new Sn({bound:this,config:e,kwargs:{}})}withFallbacks(e){let t=Array.isArray(e)?e:e.fallbacks;return new DS({runnable:this,fallbacks:t})}_getOptionsList(e,t=0){if(Array.isArray(e)&&e.length!==t)throw new Error(`Passed "options" must be an array with the same length as the inputs, but got ${e.length} options for ${t} inputs`);if(Array.isArray(e))return e.map(Ne);if(t>1&&!Array.isArray(e)&&e.runId){console.warn("Provided runId will be used only for the first element of the batch.");let r=Object.fromEntries(Object.entries(e).filter(([n])=>n!=="runId"));return Array.from({length:t},(n,i)=>Ne(i===0?e:r))}return Array.from({length:t},()=>Ne(e))}async batch(e,t,r){let n=this._getOptionsList(t??{},e.length),i=new uo({maxConcurrency:n[0]?.maxConcurrency??r?.maxConcurrency,onFailedAttempt:a=>{throw a}}),o=e.map((a,s)=>i.call(async()=>{try{return await this.invoke(a,n[s])}catch(c){if(r?.returnExceptions)return c;throw c}}));return Promise.all(o)}async*_streamIterator(e,t){yield this.invoke(e,t)}async stream(e,t){let r=Ne(t),n=new aa({generator:this._streamIterator(e,r),config:r});return await n.setup,Ct.fromAsyncGenerator(n)}_separateRunnableConfigFromCallOptions(e){let t;e===void 0?t=Ne(e):t=Ne({callbacks:e.callbacks,tags:e.tags,metadata:e.metadata,runName:e.runName,configurable:e.configurable,recursionLimit:e.recursionLimit,maxConcurrency:e.maxConcurrency,runId:e.runId,timeout:e.timeout,signal:e.signal});let r={...e};return delete r.callbacks,delete r.tags,delete r.metadata,delete r.runName,delete r.configurable,delete r.recursionLimit,delete r.maxConcurrency,delete r.runId,delete r.timeout,delete r.signal,[t,r]}async _callWithConfig(e,t,r){let n=Ne(r),i=await(await Ot(n))?.handleChainStart(this.toJSON(),Pt(t,"input"),n.runId,n?.runType,void 0,void 0,n?.runName??this.getName());delete n.runId;let o;try{o=await Kr(e.call(this,t,n,i),n.signal)}catch(a){throw await i?.handleChainError(a),a}return await i?.handleChainEnd(Pt(o,"output")),o}async _batchWithConfig(e,t,r,n){let i=this._getOptionsList(r??{},t.length),o=await Promise.all(i.map(Ot)),a=await Promise.all(o.map(async(c,u)=>{let l=await c?.handleChainStart(this.toJSON(),Pt(t[u],"input"),i[u].runId,i[u].runType,void 0,void 0,i[u].runName??this.getName());return delete i[u].runId,l})),s;try{s=await Kr(e.call(this,t,i,a,n),i?.[0]?.signal)}catch(c){throw await Promise.all(a.map(u=>u?.handleChainError(c))),c}return await Promise.all(a.map(c=>c?.handleChainEnd(Pt(s,"output")))),s}_concatOutputChunks(e,t){return Wr(e,t)}async*_transformStreamWithConfig(e,t,r){let n,i=!0,o,a=!0,s=Ne(r),c=await Ot(s),u=this;async function*l(){for await(let f of e){if(i)if(n===void 0)n=f;else try{n=u._concatOutputChunks(n,f)}catch{n=void 0,i=!1}yield f}}let d;try{let f=await Rw(t.bind(this),l(),async()=>c?.handleChainStart(this.toJSON(),{input:""},s.runId,s.runType,void 0,void 0,s.runName??this.getName(),void 0,{lc_defers_inputs:!0}),s.signal,s);delete s.runId,d=f.setup;let p=d?.handlers.find(pj),m=f.output;p!==void 0&&d!==void 0&&(m=p.tapOutputIterable(d.runId,m));let h=d?.handlers.find(Mw);h!==void 0&&d!==void 0&&(m=h.tapOutputIterable(d.runId,m));for await(let w of m)if(yield w,a)if(o===void 0)o=w;else try{o=this._concatOutputChunks(o,w)}catch{o=void 0,a=!1}}catch(f){throw await d?.handleChainError(f,void 0,void 0,void 0,{inputs:Pt(n,"input")}),f}await d?.handleChainEnd(o??{},void 0,void 0,void 0,{inputs:Pt(n,"input")})}getGraph(e){let t=new Hs,r=t.addNode({name:`${this.getName()}Input`,schema:Vt.any()}),n=t.addNode(this),i=t.addNode({name:`${this.getName()}Output`,schema:Vt.any()});return t.addEdge(r,n),t.addEdge(n,i),t}pipe(e){return new tn({first:this,last:yt(e)})}pick(e){return this.pipe(new LS(e))}assign(e){return this.pipe(new Ip(new Sa({steps:e})))}async*transform(e,t){let r;for await(let n of e)r===void 0?r=n:r=this._concatOutputChunks(r,n);yield*this._streamIterator(r,Ne(t))}async*streamLog(e,t,r){let n=new Th({...r,autoClose:!1,_schemaFormat:"original"}),i=Ne(t);yield*this._streamLog(e,n,i)}async*_streamLog(e,t,r){let{callbacks:n}=r;if(n===void 0)r.callbacks=[t];else if(Array.isArray(n))r.callbacks=n.concat([t]);else{let s=n.copy();s.addHandler(t,!0),r.callbacks=s}let i=this.stream(e,r);async function o(){try{let s=await i;for await(let c of s){let u=new Ii({ops:[{op:"add",path:"/streamed_output/-",value:c}]});await t.writer.write(u)}}finally{await t.writer.close()}}let a=o();try{for await(let s of t)yield s}finally{await a}}streamEvents(e,t,r){let n;if(t.version==="v1")n=this._streamEventsV1(e,t,r);else if(t.version==="v2")n=this._streamEventsV2(e,t,r);else throw new Error('Only versions "v1" and "v2" of the schema are currently supported.');return t.encoding==="text/event-stream"?mj(n):Ct.fromAsyncGenerator(n)}async*_streamEventsV2(e,t,r){let n=new fj({...r,autoClose:!1}),i=Ne(t),o=i.runId??mn();i.runId=o;let a=i.callbacks;if(a===void 0)i.callbacks=[n];else if(Array.isArray(a))i.callbacks=a.concat(n);else{let p=a.copy();p.addHandler(n,!0),i.callbacks=p}let s=new AbortController,c=this;async function u(){let p;try{if(i.signal)if("any"in AbortSignal)p=AbortSignal.any([s.signal,i.signal]);else{let w=new AbortController;i.signal.addEventListener("abort",()=>w.abort(),{once:!0}),s.signal.addEventListener("abort",()=>w.abort(),{once:!0}),p=w.signal}else p=s.signal;let m=await c.stream(e,{...i,signal:p}),h=n.tapOutputIterable(o,m);for await(let w of h)if(s.signal.aborted)break}finally{await n.finish()}}let l=u(),d=!1,f;try{for await(let p of n){if(!d){p.data.input=e,d=!0,f=p.run_id,yield p;continue}p.run_id===f&&p.event.endsWith("_end")&&p.data?.input&&delete p.data.input,yield p}}finally{s.abort(),await l}}async*_streamEventsV1(e,t,r){let n,i=!1,o=Ne(t),a=o.tags??[],s=o.metadata??{},c=o.runName??this.getName(),u=new Th({...r,autoClose:!1,_schemaFormat:"streaming_events"}),l=new ij({...r}),d=this._streamLog(e,u,o);for await(let p of d){if(n?n=n.concat(p):n=$h.fromRunLogPatch(p),n.state===void 0)throw new Error('Internal error: "streamEvents" state is missing. Please open a bug report.');if(!i){i=!0;let _={...n.state},y={run_id:_.id,event:`on_${_.type}_start`,name:c,tags:a,metadata:s,data:{input:e}};l.includeEvent(y,_.type)&&(yield y)}let m=p.ops.filter(_=>_.path.startsWith("/logs/")).map(_=>_.path.split("/")[2]),h=[...new Set(m)];for(let _ of h){let y,x={},S=n.state.logs[_];if(S.end_time===void 0?S.streamed_output.length>0?y="stream":y="start":y="end",y==="start")S.inputs!==void 0&&(x.input=S.inputs);else if(y==="end")S.inputs!==void 0&&(x.input=S.inputs),x.output=S.final_output;else if(y==="stream"){let $=S.streamed_output.length;if($!==1)throw new Error(`Expected exactly one chunk of streamed output, got ${$} instead. Encountered in: "${S.name}"`);x={chunk:S.streamed_output[0]},S.streamed_output=[]}yield{event:`on_${S.type}_${y}`,name:S.name,run_id:S.id,tags:S.tags,metadata:S.metadata,data:x}}let{state:w}=n;if(w.streamed_output.length>0){let _=w.streamed_output.length;if(_!==1)throw new Error(`Expected exactly one chunk of streamed output, got ${_} instead. Encountered in: "${w.name}"`);let y={chunk:w.streamed_output[0]};w.streamed_output=[];let x={event:`on_${w.type}_stream`,run_id:w.id,tags:a,metadata:s,name:c,data:y};l.includeEvent(x,w.type)&&(yield x)}}let f=n?.state;if(f!==void 0){let p={event:`on_${f.type}_end`,name:c,run_id:f.id,tags:a,metadata:s,data:{output:f.final_output}};l.includeEvent(p,f.type)&&(yield p)}}static isRunnable(e){return wp(e)}withListeners({onStart:e,onEnd:t,onError:r}){return new Sn({bound:this,config:{},configFactories:[n=>({callbacks:[new NS({config:n,onStart:e,onEnd:t,onError:r})]})]})}asTool(e){return Cq(this,e)}},Sn=class _j extends pe{static lc_name(){return"RunnableBinding"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;bound;config;kwargs;configFactories;constructor(t){super(t),this.bound=t.bound,this.kwargs=t.kwargs,this.config=t.config,this.configFactories=t.configFactories}getName(t){return this.bound.getName(t)}async _mergeConfig(...t){let r=Bt(this.config,...t);return Bt(r,...this.configFactories?await Promise.all(this.configFactories.map(async n=>await n(r))):[])}withConfig(t){return new this.constructor({bound:this.bound,kwargs:this.kwargs,config:{...this.config,...t}})}withRetry(t){return new t_({bound:this.bound,kwargs:this.kwargs,config:this.config,maxAttemptNumber:t?.stopAfterAttempt,...t})}async invoke(t,r){return this.bound.invoke(t,await this._mergeConfig(r,this.kwargs))}async batch(t,r,n){let i=Array.isArray(r)?await Promise.all(r.map(async o=>this._mergeConfig(Ne(o),this.kwargs))):await this._mergeConfig(Ne(r),this.kwargs);return this.bound.batch(t,i,n)}_concatOutputChunks(t,r){return this.bound._concatOutputChunks(t,r)}async*_streamIterator(t,r){yield*this.bound._streamIterator(t,await this._mergeConfig(Ne(r),this.kwargs))}async stream(t,r){return this.bound.stream(t,await this._mergeConfig(Ne(r),this.kwargs))}async*transform(t,r){yield*this.bound.transform(t,await this._mergeConfig(Ne(r),this.kwargs))}streamEvents(t,r,n){let i=this,o=async function*(){yield*i.bound.streamEvents(t,{...await i._mergeConfig(Ne(r),i.kwargs),version:r.version},n)};return Ct.fromAsyncGenerator(o())}static isRunnableBinding(t){return t.bound&&pe.isRunnable(t.bound)}withListeners({onStart:t,onEnd:r,onError:n}){return new _j({bound:this.bound,kwargs:this.kwargs,config:this.config,configFactories:[i=>({callbacks:[new NS({config:i,onStart:t,onEnd:r,onError:n})]})]})}},yj=class vj extends pe{static lc_name(){return"RunnableEach"}lc_serializable=!0;lc_namespace=["langchain_core","runnables"];bound;constructor(t){super(t),this.bound=t.bound}async invoke(t,r){return this._callWithConfig(this._invoke.bind(this),t,r)}async _invoke(t,r,n){return this.bound.batch(t,Me(r,{callbacks:n?.getChild()}))}withListeners({onStart:t,onEnd:r,onError:n}){return new vj({bound:this.bound.withListeners({onStart:t,onEnd:r,onError:n})})}},t_=class extends Sn{static lc_name(){return"RunnableRetry"}lc_namespace=["langchain_core","runnables"];maxAttemptNumber=3;onFailedAttempt=()=>{};constructor(e){super(e),this.maxAttemptNumber=e.maxAttemptNumber??this.maxAttemptNumber,this.onFailedAttempt=e.onFailedAttempt??this.onFailedAttempt}_patchConfigForRetry(e,t,r){let n=e>1?`retry:attempt:${e}`:void 0;return Me(t,{callbacks:r?.getChild(n)})}async _invoke(e,t,r){return Zd(n=>super.invoke(e,this._patchConfigForRetry(n,t,r)),{onFailedAttempt:({error:n})=>this.onFailedAttempt(n,e),retries:Math.max(this.maxAttemptNumber-1,0),randomize:!0})}async invoke(e,t){return this._callWithConfig(this._invoke.bind(this),e,t)}async _batch(e,t,r,n){let i={};try{await Zd(async o=>{let a=e.map((d,f)=>f).filter(d=>i[d.toString()]===void 0||i[d.toString()]instanceof Error),s=a.map(d=>e[d]),c=a.map(d=>this._patchConfigForRetry(o,t?.[d],r?.[d])),u=await super.batch(s,c,{...n,returnExceptions:!0}),l;for(let d=0;d<u.length;d+=1){let f=u[d],p=a[d];f instanceof Error&&l===void 0&&(l=f,l.input=s[d]),i[p.toString()]=f}if(l)throw l;return u},{onFailedAttempt:({error:o})=>this.onFailedAttempt(o,o.input),retries:Math.max(this.maxAttemptNumber-1,0),randomize:!0})}catch(o){if(n?.returnExceptions!==!0)throw o}return Object.keys(i).sort((o,a)=>parseInt(o,10)-parseInt(a,10)).map(o=>i[parseInt(o,10)])}async batch(e,t,r){return this._batchWithConfig(this._batch.bind(this),e,t,r)}},tn=class xp extends pe{static lc_name(){return"RunnableSequence"}first;middle=[];last;omitSequenceTags=!1;lc_serializable=!0;lc_namespace=["langchain_core","runnables"];constructor(t){super(t),this.first=t.first,this.middle=t.middle??this.middle,this.last=t.last,this.name=t.name,this.omitSequenceTags=t.omitSequenceTags??this.omitSequenceTags}get steps(){return[this.first,...this.middle,this.last]}async invoke(t,r){let n=Ne(r),i=await(await Ot(n))?.handleChainStart(this.toJSON(),Pt(t,"input"),n.runId,void 0,void 0,void 0,n?.runName);delete n.runId;let o=t,a;try{let s=[this.first,...this.middle];for(let c=0;c<s.length;c+=1)o=await Kr(s[c].invoke(o,Me(n,{callbacks:i?.getChild(this.omitSequenceTags?void 0:`seq:step:${c+1}`)})),n.signal);if(n.signal?.aborted)throw oa(n.signal);a=await this.last.invoke(o,Me(n,{callbacks:i?.getChild(this.omitSequenceTags?void 0:`seq:step:${this.steps.length}`)}))}catch(s){throw await i?.handleChainError(s),s}return await i?.handleChainEnd(Pt(a,"output")),a}async batch(t,r,n){let i=this._getOptionsList(r??{},t.length),o=await Promise.all(i.map(Ot)),a=await Promise.all(o.map(async(c,u)=>{let l=await c?.handleChainStart(this.toJSON(),Pt(t[u],"input"),i[u].runId,void 0,void 0,void 0,i[u].runName);return delete i[u].runId,l})),s=t;try{for(let c=0;c<this.steps.length;c+=1)s=await Kr(this.steps[c].batch(s,a.map((u,l)=>{let d=u?.getChild(this.omitSequenceTags?void 0:`seq:step:${c+1}`);return Me(i[l],{callbacks:d})}),n),i[0]?.signal)}catch(c){throw await Promise.all(a.map(u=>u?.handleChainError(c))),c}return await Promise.all(a.map(c=>c?.handleChainEnd(Pt(s,"output")))),s}_concatOutputChunks(t,r){return this.last._concatOutputChunks(t,r)}async*_streamIterator(t,r){let n=await Ot(r),{runId:i,...o}=r??{},a=await n?.handleChainStart(this.toJSON(),Pt(t,"input"),i,void 0,void 0,void 0,o?.runName),s=[this.first,...this.middle,this.last],c=!0,u;async function*l(){yield t}try{let d=s[0].transform(l(),Me(o,{callbacks:a?.getChild(this.omitSequenceTags?void 0:"seq:step:1")}));for(let f=1;f<s.length;f+=1)d=await s[f].transform(d,Me(o,{callbacks:a?.getChild(this.omitSequenceTags?void 0:`seq:step:${f+1}`)}));for await(let f of d)if(r?.signal?.throwIfAborted(),yield f,c)if(u===void 0)u=f;else try{u=this._concatOutputChunks(u,f)}catch{u=void 0,c=!1}}catch(d){throw await a?.handleChainError(d),d}await a?.handleChainEnd(Pt(u,"output"))}getGraph(t){let r=new Hs,n=null;return this.steps.forEach((i,o)=>{let a=i.getGraph(t);o!==0&&a.trimFirstNode(),o!==this.steps.length-1&&a.trimLastNode(),r.extend(a);let s=a.firstNode();if(!s)throw new Error(`Runnable ${i} has no first node`);n&&r.addEdge(n,s),n=a.lastNode()}),r}pipe(t){return xp.isRunnableSequence(t)?new xp({first:this.first,middle:this.middle.concat([this.last,t.first,...t.middle]),last:t.last,name:this.name??t.name}):new xp({first:this.first,middle:[...this.middle,this.last],last:yt(t),name:this.name})}static isRunnableSequence(t){return Array.isArray(t.middle)&&pe.isRunnable(t)}static from([t,...r],n){let i={};return typeof n=="string"?i.name=n:n!==void 0&&(i=n),new xp({...i,first:yt(t),middle:r.slice(0,-1).map(yt),last:yt(r[r.length-1])})}},Sa=class bj extends pe{static lc_name(){return"RunnableMap"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;steps;getStepsKeys(){return Object.keys(this.steps)}constructor(t){super(t),this.steps={};for(let[r,n]of Object.entries(t.steps))this.steps[r]=yt(n)}static from(t){return new bj({steps:t})}async invoke(t,r){let n=Ne(r),i=await(await Ot(n))?.handleChainStart(this.toJSON(),{input:t},n.runId,void 0,void 0,void 0,n?.runName);delete n.runId;let o={};try{let a=Object.entries(this.steps).map(async([s,c])=>{o[s]=await c.invoke(t,Me(n,{callbacks:i?.getChild(`map:key:${s}`)}))});await Kr(Promise.all(a),n.signal)}catch(a){throw await i?.handleChainError(a),a}return await i?.handleChainEnd(o),o}async*_transform(t,r,n){let i={...this.steps},o=bh(t,Object.keys(i).length),a=new Map(Object.entries(i).map(([s,c],u)=>{let l=c.transform(o[u],Me(n,{callbacks:r?.getChild(`map:key:${s}`)}));return[s,l.next().then(d=>({key:s,gen:l,result:d}))]}));for(;a.size;){let{key:s,result:c,gen:u}=await Kr(Promise.race(a.values()),n?.signal);a.delete(s),c.done||(yield{[s]:c.value},a.set(s,u.next().then(l=>({key:s,gen:u,result:l}))))}}transform(t,r){return this._transformStreamWithConfig(t,this._transform.bind(this),r)}async stream(t,r){async function*n(){yield t}let i=Ne(r),o=new aa({generator:this.transform(n(),i),config:i});return await o.setup,Ct.fromAsyncGenerator(o)}},Aq=class wj extends pe{lc_serializable=!1;lc_namespace=["langchain_core","runnables"];func;constructor(t){if(super(t),!_h(t.func))throw new Error("RunnableTraceable requires a function that is wrapped in traceable higher-order function");this.func=t.func}async invoke(t,r){let[n]=this._getOptionsList(r??{},1),i=await Ot(n);return Kr(this.func(Me(n,{callbacks:i}),t),n?.signal)}async*_streamIterator(t,r){let[n]=this._getOptionsList(r??{},1),i=await this.invoke(t,r);if(Yg(i)){for await(let o of i)n?.signal?.throwIfAborted(),yield o;return}if(hj(i)){for(;;){n?.signal?.throwIfAborted();let o=i.next();if(o.done)break;yield o.value}return}yield i}static from(t){return new wj({func:t})}};function Oq(e){if(_h(e))throw new Error("RunnableLambda requires a function that is not wrapped in traceable higher-order function. This shouldn't happen.")}var Zt=class xj extends pe{static lc_name(){return"RunnableLambda"}lc_namespace=["langchain_core","runnables"];func;constructor(t){if(_h(t.func))return Aq.from(t.func);super(t),Oq(t.func),this.func=t.func}static from(t){return new xj({func:t})}async _invoke(t,r,n){return new Promise((i,o)=>{let a=Me(r,{callbacks:n?.getChild(),recursionLimit:(r?.recursionLimit??25)-1});He.runWithConfig(br(a),async()=>{try{let s=await this.func(t,{...a});if(s&&pe.isRunnable(s)){if(r?.recursionLimit===0)throw new Error("Recursion limit reached.");s=await s.invoke(t,{...a,recursionLimit:(a.recursionLimit??25)-1})}else if(Yg(s)){let c;for await(let u of Qg(a,s))if(r?.signal?.throwIfAborted(),c===void 0)c=u;else try{c=this._concatOutputChunks(c,u)}catch{c=u}s=c}else if(MS(s)){let c;for(let u of zS(a,s))if(r?.signal?.throwIfAborted(),c===void 0)c=u;else try{c=this._concatOutputChunks(c,u)}catch{c=u}s=c}i(s)}catch(s){o(s)}})})}async invoke(t,r){return this._callWithConfig(this._invoke.bind(this),t,r)}async*_transform(t,r,n){let i;for await(let s of t)if(i===void 0)i=s;else try{i=this._concatOutputChunks(i,s)}catch{i=s}let o=Me(n,{callbacks:r?.getChild(),recursionLimit:(n?.recursionLimit??25)-1}),a=await new Promise((s,c)=>{He.runWithConfig(br(o),async()=>{try{s(await this.func(i,{...o,config:o}))}catch(u){c(u)}})});if(a&&pe.isRunnable(a)){if(n?.recursionLimit===0)throw new Error("Recursion limit reached.");let s=await a.stream(i,o);for await(let c of s)yield c}else if(Yg(a))for await(let s of Qg(o,a))n?.signal?.throwIfAborted(),yield s;else if(MS(a))for(let s of zS(o,a))n?.signal?.throwIfAborted(),yield s;else yield a}transform(t,r){return this._transformStreamWithConfig(t,this._transform.bind(this),r)}async stream(t,r){async function*n(){yield t}let i=Ne(r),o=new aa({generator:this.transform(n(),i),config:i});return await o.setup,Ct.fromAsyncGenerator(o)}},Ij=class extends Sa{},DS=class extends pe{static lc_name(){return"RunnableWithFallbacks"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;runnable;fallbacks;constructor(e){super(e),this.runnable=e.runnable,this.fallbacks=e.fallbacks}*runnables(){yield this.runnable;for(let e of this.fallbacks)yield e}async invoke(e,t){let r=Ne(t),n=await Ot(r),{runId:i,...o}=r,a=await n?.handleChainStart(this.toJSON(),Pt(e,"input"),i,void 0,void 0,void 0,o?.runName),s=Me(o,{callbacks:a?.getChild()});return await He.runWithConfig(s,async()=>{let c;for(let u of this.runnables()){r?.signal?.throwIfAborted();try{let l=await u.invoke(e,s);return await a?.handleChainEnd(Pt(l,"output")),l}catch(l){c===void 0&&(c=l)}}throw c===void 0?new Error("No error stored at end of fallback."):(await a?.handleChainError(c),c)})}async*_streamIterator(e,t){let r=Ne(t),n=await Ot(r),{runId:i,...o}=r,a=await n?.handleChainStart(this.toJSON(),Pt(e,"input"),i,void 0,void 0,void 0,o?.runName),s,c;for(let l of this.runnables()){r?.signal?.throwIfAborted();let d=Me(o,{callbacks:a?.getChild()});try{c=Qg(d,await l.stream(e,d));break}catch(f){s===void 0&&(s=f)}}if(c===void 0){let l=s??new Error("No error stored at end of fallback.");throw await a?.handleChainError(l),l}let u;try{for await(let l of c){yield l;try{u=u===void 0?u:this._concatOutputChunks(u,l)}catch{u=void 0}}}catch(l){throw await a?.handleChainError(l),l}await a?.handleChainEnd(Pt(u,"output"))}async batch(e,t,r){if(r?.returnExceptions)throw new Error("Not implemented.");let n=this._getOptionsList(t??{},e.length),i=await Promise.all(n.map(s=>Ot(s))),o=await Promise.all(i.map(async(s,c)=>{let u=await s?.handleChainStart(this.toJSON(),Pt(e[c],"input"),n[c].runId,void 0,void 0,void 0,n[c].runName);return delete n[c].runId,u})),a;for(let s of this.runnables()){n[0].signal?.throwIfAborted();try{let c=await s.batch(e,o.map((u,l)=>Me(n[l],{callbacks:u?.getChild()})),r);return await Promise.all(o.map((u,l)=>u?.handleChainEnd(Pt(c[l],"output")))),c}catch(c){a===void 0&&(a=c)}}throw a?(await Promise.all(o.map(s=>s?.handleChainError(a))),a):new Error("No error stored at end of fallbacks.")}};function yt(e){if(typeof e=="function")return new Zt({func:e});if(pe.isRunnable(e))return e;if(!Array.isArray(e)&&typeof e=="object"){let t={};for(let[r,n]of Object.entries(e))t[r]=yt(n);return new Sa({steps:t})}else throw new Error(`Expected a Runnable, function or object.
|
|
124
124
|
Instead got an unsupported type.`)}var Ip=class extends pe{static lc_name(){return"RunnableAssign"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;mapper;constructor(e){e instanceof Sa&&(e={mapper:e}),super(e),this.mapper=e.mapper}async invoke(e,t){let r=await this.mapper.invoke(e,t);return{...e,...r}}async*_transform(e,t,r){let n=this.mapper.getStepsKeys(),[i,o]=bh(e),a=this.mapper.transform(o,Me(r,{callbacks:t?.getChild()})),s=a.next();for await(let c of i){if(typeof c!="object"||Array.isArray(c))throw new Error(`RunnableAssign can only be used with objects as input, got ${typeof c}`);let u=Object.fromEntries(Object.entries(c).filter(([l])=>!n.includes(l)));Object.keys(u).length>0&&(yield u)}yield(await s).value;for await(let c of a)yield c}transform(e,t){return this._transformStreamWithConfig(e,this._transform.bind(this),t)}async stream(e,t){async function*r(){yield e}let n=Ne(t),i=new aa({generator:this.transform(r(),n),config:n});return await i.setup,Ct.fromAsyncGenerator(i)}},LS=class extends pe{static lc_name(){return"RunnablePick"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;keys;constructor(e){(typeof e=="string"||Array.isArray(e))&&(e={keys:e}),super(e),this.keys=e.keys}async _pick(e){if(typeof this.keys=="string")return e[this.keys];{let t=this.keys.map(r=>[r,e[r]]).filter(r=>r[1]!==void 0);return t.length===0?void 0:Object.fromEntries(t)}}async invoke(e,t){return this._callWithConfig(this._pick.bind(this),e,t)}async*_transform(e){for await(let t of e){let r=await this._pick(t);r!==void 0&&(yield r)}}transform(e,t){return this._transformStreamWithConfig(e,this._transform.bind(this),t)}async stream(e,t){async function*r(){yield e}let n=Ne(t),i=new aa({generator:this.transform(r(),n),config:n});return await i.setup,Ct.fromAsyncGenerator(i)}},e_=class extends Sn{name;description;schema;constructor(e){let t=tn.from([Zt.from(async r=>{let n;if(Qo(r))try{n=await va(this.schema,r.args)}catch{throw new qc("Received tool input did not match expected schema",JSON.stringify(r.args))}else n=r;return n}).withConfig({runName:`${e.name}:parse_input`}),e.bound]).withConfig({runName:e.name});super({bound:t,config:e.config??{}}),this.name=e.name,this.description=e.description,this.schema=e.schema}static lc_name(){return"RunnableToolLike"}};function Cq(e,t){let r=t.name??e.getName(),n=t.description??Un(t.schema);return Ou(t.schema)?new e_({name:r,description:n,schema:Vt.object({input:Vt.string()}).transform(i=>i.input),bound:e}):new e_({name:r,description:n,schema:t.schema,bound:e})}var r_=(e,t)=>{let r=[...new Set(t?.map(i=>{if(typeof i=="string")return i;let o=new i({});if(!("getType"in o)||typeof o.getType!="function")throw new Error("Invalid type provided.");return o.getType()}))],n=e.getType();return r.some(i=>i===n)};function Tj(e,t){return Array.isArray(e)?Sj(e,t):Zt.from(r=>Sj(r,e))}function Sj(e,t={}){let{includeNames:r,excludeNames:n,includeTypes:i,excludeTypes:o,includeIds:a,excludeIds:s}=t,c=[];for(let u of e)if(!(n&&u.name&&n.includes(u.name))){{if(o&&r_(u,o))continue;if(s&&u.id&&s.includes(u.id))continue}i||a||r?(r&&u.name&&r.some(l=>l===u.name)||i&&r_(u,i)||a&&u.id&&a.some(l=>l===u.id))&&c.push(u):c.push(u)}return c}function Aj(e){return Array.isArray(e)?kj(e):Zt.from(kj)}function kj(e){if(!e.length)return[];let t=[];for(let r of e){let n=r,i=t.pop();if(!i)t.push(n);else if(n.getType()==="tool"||n.getType()!==i.getType())t.push(i,n);else{let o=ls(i),a=ls(n),s=o.concat(a);typeof o.content=="string"&&typeof a.content=="string"&&(s.content=`${o.content}
|
|
125
|
-
${a.content}`),t.push(Rq(s))}}return t}function Oj(e,t){if(Array.isArray(e)){let r=e;if(!t)throw new Error("Options parameter is required when providing messages.");return Ej(r,t)}else{let r=e;return Zt.from(n=>Ej(n,r)).withConfig({runName:"trim_messages"})}}async function Ej(e,t){let{maxTokens:r,tokenCounter:n,strategy:i="last",allowPartial:o=!1,endOn:a,startOn:s,includeSystem:c=!1,textSplitter:u}=t;if(s&&i==="first")throw new Error("`startOn` should only be specified if `strategy` is 'last'.");if(c&&i==="first")throw new Error("`includeSystem` should only be specified if `strategy` is 'last'.");let l;"getNumTokens"in n?l=async f=>(await Promise.all(f.map(p=>n.getNumTokens(p.content)))).reduce((p,m)=>p+m,0):l=async f=>n(f);let d=FS;if(u&&("splitText"in u?d=u.splitText:d=async f=>u(f)),i==="first")return Cj(e,{maxTokens:r,tokenCounter:l,textSplitter:d,partialStrategy:o?"first":void 0,endOn:a});if(i==="last")return Pq(e,{maxTokens:r,tokenCounter:l,textSplitter:d,allowPartial:o,includeSystem:c,startOn:s,endOn:a});throw new Error(`Unrecognized strategy: '${i}'. Must be one of 'first' or 'last'.`)}async function Cj(e,t){let{maxTokens:r,tokenCounter:n,textSplitter:i,partialStrategy:o,endOn:a}=t,s=[...e],c=0;for(let u=0;u<s.length;u+=1)if(await n(u>0?s.slice(0,-u):s)<=r){c=s.length-u;break}if(c<s.length&&o){let u=!1;if(Array.isArray(s[c].content)){let l=s[c];if(typeof l.content=="string")throw new Error("Expected content to be an array.");let d=l.content.length,f=o==="last"?[...l.content].reverse():l.content;for(let p=1;p<=d;p+=1){let m=o==="first"?f.slice(0,p):f.slice(-p),h=Object.fromEntries(Object.entries(l).filter(([y])=>y!=="type"&&!y.startsWith("lc_"))),w=US(l.getType(),{...h,content:m}),_=[...s.slice(0,c),w];if(await n(_)<=r)s=_,c+=1,u=!0;else break}u&&o==="last"&&(l.content=[...f].reverse())}if(!u){let l=s[c],d;if(Array.isArray(l.content)&&l.content.some(f=>typeof f=="string"||f.type==="text")?d=l.content.find(f=>f.type==="text"&&f.text)?.text:typeof l.content=="string"&&(d=l.content),d){let f=await i(d),p=f.length;o==="last"&&f.reverse();for(let m=0;m<p-1;m+=1)if(f.pop(),l.content=f.join(""),await n([...s.slice(0,c),l])<=r){o==="last"&&(l.content=[...f].reverse().join("")),s=[...s.slice(0,c),l],c+=1;break}}}}if(a){let u=Array.isArray(a)?a:[a];for(;c>0&&!r_(s[c-1],u);)c-=1}return s.slice(0,c)}async function Pq(e,t){let{allowPartial:r=!1,includeSystem:n=!1,endOn:i,startOn:o,...a}=t,s=e.map(l=>{let d=Object.fromEntries(Object.entries(l).filter(([f])=>f!=="type"&&!f.startsWith("lc_")));return US(l.getType(),d,io(l))});if(i){let l=Array.isArray(i)?i:[i];for(;s.length>0&&!r_(s[s.length-1],l);)s=s.slice(0,-1)}let c=n&&s[0]?.getType()==="system",u=c?s.slice(0,1).concat(s.slice(1).reverse()):s.reverse();return u=await Cj(u,{...a,partialStrategy:r?"last":void 0,endOn:o}),c?[u[0],...u.slice(1).reverse()]:u.reverse()}var $j={human:{message:
|
|
125
|
+
${a.content}`),t.push(Rq(s))}}return t}function Oj(e,t){if(Array.isArray(e)){let r=e;if(!t)throw new Error("Options parameter is required when providing messages.");return Ej(r,t)}else{let r=e;return Zt.from(n=>Ej(n,r)).withConfig({runName:"trim_messages"})}}async function Ej(e,t){let{maxTokens:r,tokenCounter:n,strategy:i="last",allowPartial:o=!1,endOn:a,startOn:s,includeSystem:c=!1,textSplitter:u}=t;if(s&&i==="first")throw new Error("`startOn` should only be specified if `strategy` is 'last'.");if(c&&i==="first")throw new Error("`includeSystem` should only be specified if `strategy` is 'last'.");let l;"getNumTokens"in n?l=async f=>(await Promise.all(f.map(p=>n.getNumTokens(p.content)))).reduce((p,m)=>p+m,0):l=async f=>n(f);let d=FS;if(u&&("splitText"in u?d=u.splitText:d=async f=>u(f)),i==="first")return Cj(e,{maxTokens:r,tokenCounter:l,textSplitter:d,partialStrategy:o?"first":void 0,endOn:a});if(i==="last")return Pq(e,{maxTokens:r,tokenCounter:l,textSplitter:d,allowPartial:o,includeSystem:c,startOn:s,endOn:a});throw new Error(`Unrecognized strategy: '${i}'. Must be one of 'first' or 'last'.`)}async function Cj(e,t){let{maxTokens:r,tokenCounter:n,textSplitter:i,partialStrategy:o,endOn:a}=t,s=[...e],c=0;for(let u=0;u<s.length;u+=1)if(await n(u>0?s.slice(0,-u):s)<=r){c=s.length-u;break}if(c<s.length&&o){let u=!1;if(Array.isArray(s[c].content)){let l=s[c];if(typeof l.content=="string")throw new Error("Expected content to be an array.");let d=l.content.length,f=o==="last"?[...l.content].reverse():l.content;for(let p=1;p<=d;p+=1){let m=o==="first"?f.slice(0,p):f.slice(-p),h=Object.fromEntries(Object.entries(l).filter(([y])=>y!=="type"&&!y.startsWith("lc_"))),w=US(l.getType(),{...h,content:m}),_=[...s.slice(0,c),w];if(await n(_)<=r)s=_,c+=1,u=!0;else break}u&&o==="last"&&(l.content=[...f].reverse())}if(!u){let l=s[c],d;if(Array.isArray(l.content)&&l.content.some(f=>typeof f=="string"||f.type==="text")?d=l.content.find(f=>f.type==="text"&&f.text)?.text:typeof l.content=="string"&&(d=l.content),d){let f=await i(d),p=f.length;o==="last"&&f.reverse();for(let m=0;m<p-1;m+=1)if(f.pop(),l.content=f.join(""),await n([...s.slice(0,c),l])<=r){o==="last"&&(l.content=[...f].reverse().join("")),s=[...s.slice(0,c),l],c+=1;break}}}}if(a){let u=Array.isArray(a)?a:[a];for(;c>0&&!r_(s[c-1],u);)c-=1}return s.slice(0,c)}async function Pq(e,t){let{allowPartial:r=!1,includeSystem:n=!1,endOn:i,startOn:o,...a}=t,s=e.map(l=>{let d=Object.fromEntries(Object.entries(l).filter(([f])=>f!=="type"&&!f.startsWith("lc_")));return US(l.getType(),d,io(l))});if(i){let l=Array.isArray(i)?i:[i];for(;s.length>0&&!r_(s[s.length-1],l);)s=s.slice(0,-1)}let c=n&&s[0]?.getType()==="system",u=c?s.slice(0,1).concat(s.slice(1).reverse()):s.reverse();return u=await Cj(u,{...a,partialStrategy:r?"last":void 0,endOn:o}),c?[u[0],...u.slice(1).reverse()]:u.reverse()}var $j={human:{message:st,messageChunk:so},ai:{message:be,messageChunk:at},system:{message:hr,messageChunk:fn},developer:{message:hr,messageChunk:fn},tool:{message:jt,messageChunk:Yo},function:{message:us,messageChunk:ao},generic:{message:mr,messageChunk:oo},remove:{message:Mn,messageChunk:Mn}};function US(e,t,r){let n,i;switch(e){case"human":r?n=new so(t):i=new st(t);break;case"ai":if(r){let o={...t};"tool_calls"in o&&(o={...o,tool_call_chunks:o.tool_calls?.map(a=>({...a,type:"tool_call_chunk",index:void 0,args:JSON.stringify(a.args)}))}),n=new at(o)}else i=new be(t);break;case"system":r?n=new fn(t):i=new hr(t);break;case"developer":r?n=new fn({...t,additional_kwargs:{...t.additional_kwargs,__openai_role__:"developer"}}):i=new hr({...t,additional_kwargs:{...t.additional_kwargs,__openai_role__:"developer"}});break;case"tool":if("tool_call_id"in t)r?n=new Yo(t):i=new jt(t);else throw new Error("Can not convert ToolMessage to ToolMessageChunk if 'tool_call_id' field is not defined.");break;case"function":if(r)n=new ao(t);else{if(!t.name)throw new Error("FunctionMessage must have a 'name' field");i=new us(t)}break;case"generic":if("role"in t)r?n=new oo(t):i=new mr(t);else throw new Error("Can not convert ChatMessage to ChatMessageChunk if 'role' field is not defined.");break;default:throw new Error(`Unrecognized message type ${e}`)}if(r&&n)return n;if(i)return i;throw new Error(`Unrecognized message type ${e}`)}function Rq(e){let t=e.getType(),r,n=Object.fromEntries(Object.entries(e).filter(([i])=>!["type","tool_call_chunks"].includes(i)&&!i.startsWith("lc_")));if(t in $j&&(r=US(t,n)),!r)throw new Error(`Unrecognized message chunk class ${t}. Supported classes are ${Object.keys($j)}`);return r}function FS(e){let t=e.split(`
|
|
126
126
|
`);return Promise.resolve([...t.slice(0,-1).map(r=>`${r}
|
|
127
|
-
`),t[t.length-1]])}var Pj=["tool_call","tool_call_chunk","invalid_tool_call","server_tool_call","server_tool_call_chunk","server_tool_call_result"];var Rj=["image","video","audio","text-plain","file"];var Nj=["text","reasoning",...Pj,...Rj];var Mj=P({AIMessage:()=>be,AIMessageChunk:()=>st,BaseMessage:()=>tt,BaseMessageChunk:()=>fr,ChatMessage:()=>mr,ChatMessageChunk:()=>oo,DEFAULT_MERGE_IGNORE_KEYS:()=>nb,FunctionMessage:()=>us,FunctionMessageChunk:()=>ao,HumanMessage:()=>rt,HumanMessageChunk:()=>so,KNOWN_BLOCK_TYPES:()=>Nj,RemoveMessage:()=>Mn,SystemMessage:()=>hr,SystemMessageChunk:()=>fn,ToolMessage:()=>jt,ToolMessageChunk:()=>Yo,_isMessageFieldWithRole:()=>Im,_mergeDicts:()=>pt,_mergeLists:()=>Xo,_mergeObj:()=>xm,_mergeStatus:()=>wm,coerceMessageLikeToMessage:()=>tr,collapseToolCallChunks:()=>km,convertToChunk:()=>ls,convertToOpenAIImageBlock:()=>_m,convertToProviderContentBlock:()=>Hc,defaultTextSplitter:()=>FS,defaultToolCallParser:()=>Id,filterMessages:()=>Tj,getBufferString:()=>Wc,iife:()=>$m,isAIMessage:()=>hi,isAIMessageChunk:()=>Sd,isBase64ContentBlock:()=>Gc,isBaseMessage:()=>ft,isBaseMessageChunk:()=>io,isChatMessage:()=>uO,isChatMessageChunk:()=>lO,isDataContentBlock:()=>Or,isDirectToolOutput:()=>xd,isFunctionMessage:()=>dO,isFunctionMessageChunk:()=>pO,isHumanMessage:()=>fO,isHumanMessageChunk:()=>mO,isIDContentBlock:()=>gm,isMessage:()=>bm,isOpenAIToolCallArray:()=>FA,isPlainTextContentBlock:()=>AA,isSystemMessage:()=>hO,isSystemMessageChunk:()=>gO,isToolMessage:()=>ss,isToolMessageChunk:()=>ib,isURLContentBlock:()=>Zc,mapChatMessagesToStoredMessages:()=>yO,mapStoredMessageToChatMessage:()=>kd,mapStoredMessagesToChatMessages:()=>_O,mergeContent:()=>er,mergeMessageRuns:()=>Aj,mergeResponseMetadata:()=>Sm,mergeUsageMetadata:()=>Kc,parseBase64DataUrl:()=>Jo,parseMimeType:()=>wd,trimMessages:()=>Oj});var jj=P({BaseChatMessageHistory:()=>BS,BaseListChatMessageHistory:()=>n_,InMemoryChatMessageHistory:()=>Nq}),BS=class extends kt{async addMessages(e){for(let t of e)await this.addMessage(t)}},n_=class extends kt{addUserMessage(e){return this.addMessage(new rt(e))}addAIMessage(e){return this.addMessage(new be(e))}async addMessages(e){for(let t of e)await this.addMessage(t)}clear(){throw new Error("Not implemented.")}},Nq=class extends n_{lc_namespace=["langchain","stores","message","in_memory"];messages=[];constructor(e){super(...arguments),this.messages=e??[]}async getMessages(){return this.messages}async addMessage(e){this.messages.push(e)}async clear(){this.messages=[]}};var rn=class{pageContent;metadata;id;constructor(e){this.pageContent=e.pageContent!==void 0?e.pageContent.toString():"",this.metadata=e.metadata??{},this.id=e.id}};var VS=class extends pe{lc_namespace=["langchain_core","documents","transformers"];invoke(e,t){return this.transformDocuments(e)}},zj=class extends VS{async transformDocuments(e){let t=[];for(let r of e){let n=await this._transformDocument(r);t.push(n)}return t}};var Dj=P({BaseDocumentTransformer:()=>VS,Document:()=>rn,MappingDocumentTransformer:()=>zj});var Lj=P({BaseDocumentLoader:()=>ZS}),ZS=class{};var Uj=P({LangSmithLoader:()=>Mq}),Mq=class extends ZS{datasetId;datasetName;exampleIds;asOf;splits;inlineS3Urls;offset;limit;metadata;filter;contentKey;formatContent;client;constructor(e){if(super(),e.client&&e.clientConfig)throw new Error("client and clientConfig cannot both be provided.");this.client=e.client??new yi(e?.clientConfig),this.contentKey=e.contentKey?e.contentKey.split("."):[],this.formatContent=e.formatContent??jq,this.datasetId=e.datasetId,this.datasetName=e.datasetName,this.exampleIds=e.exampleIds,this.asOf=e.asOf,this.splits=e.splits,this.inlineS3Urls=e.inlineS3Urls,this.offset=e.offset,this.limit=e.limit,this.metadata=e.metadata,this.filter=e.filter}async load(){let e=[];for await(let t of this.client.listExamples({datasetId:this.datasetId,datasetName:this.datasetName,exampleIds:this.exampleIds,asOf:this.asOf,splits:this.splits,inlineS3Urls:this.inlineS3Urls,offset:this.offset,limit:this.limit,metadata:this.metadata,filter:this.filter})){let r=t.inputs;for(let o of this.contentKey)r=r[o];let n=this.formatContent(r),i=t;["created_at","modified_at"].forEach(o=>{o in i&&typeof i[o]=="object"&&(i[o]=i[o].toString())}),e.push({pageContent:n,metadata:i})}return e}};function jq(e){if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}var Fj=P({Embeddings:()=>Fu}),Fu=class{caller;constructor(e){this.caller=new uo(e??{})}};var Bu=class extends kt{lc_namespace=["langchain_core","example_selectors","base"]};var GS=class{async getPromptAsync(e,t){return this.getPrompt(e).partial(t?.partialVariables??{})}},Bj=class extends GS{defaultPrompt;conditionals;constructor(e,t=[]){super(),this.defaultPrompt=e,this.conditionals=t}getPrompt(e){for(let[t,r]of this.conditionals)if(t(e))return r;return this.defaultPrompt}};function Vj(e){return e._modelType()==="base_llm"}function Zj(e){return e._modelType()==="base_chat_model"}function Gj(e){return e.split(/\n| /).length}var Hj=class qj extends Bu{examples=[];examplePrompt;getTextLength=Gj;maxLength=2048;exampleTextLengths=[];constructor(t){super(t),this.examplePrompt=t.examplePrompt,this.maxLength=t.maxLength??2048,this.getTextLength=t.getTextLength??Gj}async addExample(t){this.examples.push(t);let r=await this.examplePrompt.format(t);this.exampleTextLengths.push(this.getTextLength(r))}async calculateExampleTextLengths(t,r){if(t.length>0)return t;let{examples:n,examplePrompt:i}=r;return(await Promise.all(n.map(o=>i.format(o)))).map(o=>this.getTextLength(o))}async selectExamples(t){let r=Object.values(t).join(" "),n=this.maxLength-this.getTextLength(r),i=0,o=[];for(;n>0&&i<this.examples.length;){let a=n-this.exampleTextLengths[i];if(a<0)break;o.push(this.examples[i]),n=a,i+=1}return o}static async fromExamples(t,r){let n=new qj(r);return await Promise.all(t.map(i=>n.addExample(i))),n}};function HS(e){return Object.keys(e).sort().map(t=>e[t])}var Kj=class Wj extends Bu{vectorStoreRetriever;exampleKeys;inputKeys;constructor(t){if(super(t),this.exampleKeys=t.exampleKeys,this.inputKeys=t.inputKeys,t.vectorStore!==void 0)this.vectorStoreRetriever=t.vectorStore.asRetriever({k:t.k??4,filter:t.filter});else if(t.vectorStoreRetriever)this.vectorStoreRetriever=t.vectorStoreRetriever;else throw new Error('You must specify one of "vectorStore" and "vectorStoreRetriever".')}async addExample(t){let r=HS((this.inputKeys??Object.keys(t)).reduce((n,i)=>({...n,[i]:t[i]}),{})).join(" ");await this.vectorStoreRetriever.addDocuments([new rn({pageContent:r,metadata:t})])}async selectExamples(t){let r=HS((this.inputKeys??Object.keys(t)).reduce((i,o)=>({...i,[o]:t[o]}),{})).join(" "),n=(await this.vectorStoreRetriever.invoke(r)).map(i=>i.metadata);return this.exampleKeys?n.map(i=>this.exampleKeys.reduce((o,a)=>({...o,[a]:i[a]}),{})):n}static async fromExamples(t,r,n,i={}){let o=i.inputKeys??null,a=t.map(s=>HS(o?o.reduce((c,u)=>({...c,[u]:s[u]}),{}):s).join(" "));return new Wj({vectorStore:await n.fromTexts(a,t,r,i),k:i.k??4,exampleKeys:i.exampleKeys,inputKeys:i.inputKeys})}};var Jj=P({BaseExampleSelector:()=>Bu,BasePromptSelector:()=>GS,ConditionalPromptSelector:()=>Bj,LengthBasedExampleSelector:()=>Hj,SemanticSimilarityExampleSelector:()=>Kj,isChatModel:()=>Zj,isLLM:()=>Vj});var Sp="10f90ea3-90a4-4962-bf75-83a0f3c1c62a",Xj=class extends kt{lc_namespace=["langchain","recordmanagers"]};var qS=class{uid;hash_;contentHash;metadataHash;pageContent;metadata;keyEncoder=Vc;constructor(e){this.uid=e.uid,this.pageContent=e.pageContent,this.metadata=e.metadata}makeDefaultKeyEncoder(e){this.keyEncoder=e}calculateHashes(){let e=["hash_","content_hash","metadata_hash"];for(let r of e)if(r in this.metadata)throw new Error(`Metadata cannot contain key ${r} as it is reserved for internal use. Restricted keys: [${e.join(", ")}]`);let t=this._hashStringToUUID(this.pageContent);try{let r=this._hashNestedDictToUUID(this.metadata);this.contentHash=t,this.metadataHash=r}catch(r){throw new Error(`Failed to hash metadata: ${r}. Please use a dict that can be serialized using json.`)}this.hash_=this._hashStringToUUID(this.contentHash+this.metadataHash),this.uid||(this.uid=this.hash_)}toDocument(){return new rn({pageContent:this.pageContent,metadata:this.metadata})}static fromDocument(e,t){let r=new this({pageContent:e.pageContent,metadata:e.metadata,uid:t||e.uid});return r.calculateHashes(),r}_hashStringToUUID(e){return Tm(this.keyEncoder(e),Sp)}_hashNestedDictToUUID(e){let t=JSON.stringify(e,Object.keys(e).sort());return Tm(this.keyEncoder(t),Sp)}};function KS(e,t){let r=[],n=[];return t.forEach(i=>{n.push(i),n.length>=e&&(r.push(n),n=[])}),n.length>0&&r.push(n),r}function WS(e){let t=new Set,r=[];for(let n of e){if(!n.hash_)throw new Error("Hashed document does not have a hash");t.has(n.hash_)||(t.add(n.hash_),r.push(n))}return r}function JS(e){if(e===null)return t=>null;if(typeof e=="string")return t=>t.metadata[e];if(typeof e=="function")return e;throw new Error(`sourceIdKey should be null, a string or a function, got ${typeof e}`)}var XS=e=>"load"in e&&typeof e.load=="function"&&"loadAndSplit"in e&&typeof e.loadAndSplit=="function";async function Yj(e){let{docsSource:t,recordManager:r,vectorStore:n,options:i}=e,{batchSize:o=100,cleanup:a,sourceIdKey:s,cleanupBatchSize:c=1e3,forceUpdate:u=!1}=i??{};if(a==="incremental"&&!s)throw new Error("sourceIdKey is required when cleanup mode is incremental. Please provide through 'options.sourceIdKey'.");let l=XS(t)?await t.load():t,d=JS(s??null),f=await r.getTime(),p=0,m=0,h=0,w=0,_=KS(o??100,l);for(let y of _){let x=WS(y.map(R=>qS.fromDocument(R))),S=x.map(R=>d(R));a==="incremental"&&x.forEach((R,V)=>{if(S[V]===null)throw new Error("sourceIdKey must be provided when cleanup is incremental")});let $=await r.exists(x.map(R=>R.uid)),j=[],C=[],b=[],H=new Set;if(x.forEach((R,V)=>{if($[V])if(u)H.add(R.uid);else{b.push(R.uid);return}j.push(R.uid),C.push(R.toDocument())}),b.length>0&&(await r.update(b,{timeAtLeast:f}),w+=b.length),C.length>0&&(await n.addDocuments(C,{ids:j}),p+=C.length-H.size,h+=H.size),await r.update(x.map(R=>R.uid),{timeAtLeast:f,groupIds:S}),a==="incremental"){S.forEach(V=>{if(!V)throw new Error("Source id cannot be null")});let R=await r.listKeys({before:f,groupIds:S});R.length>0&&(await n.delete({ids:R}),await r.deleteKeys(R),m+=R.length)}}if(a==="full"){let y=await r.listKeys({before:f,limit:c});for(;y.length>0;)await n.delete({ids:y}),await r.deleteKeys(y),m+=y.length,y=await r.listKeys({before:f,limit:c})}return{numAdded:p,numDeleted:m,numUpdated:h,numSkipped:w}}var Qj=P({RecordManager:()=>Xj,UUIDV5_NAMESPACE:()=>Sp,_HashedDocument:()=>qS,_batch:()=>KS,_deduplicateInOrder:()=>WS,_getSourceIdAssigner:()=>JS,_isBaseDocumentLoader:()=>XS,index:()=>Yj});var ez=P({BasePromptValue:()=>i_,ChatPromptValue:()=>Ep,ImagePromptValue:()=>YS,StringPromptValue:()=>kp}),i_=class extends kt{},kp=class extends i_{static lc_name(){return"StringPromptValue"}lc_namespace=["langchain_core","prompt_values"];lc_serializable=!0;value;constructor(e){super({value:e}),this.value=e}toString(){return this.value}toChatMessages(){return[new rt(this.value)]}},Ep=class extends i_{lc_namespace=["langchain_core","prompt_values"];lc_serializable=!0;static lc_name(){return"ChatPromptValue"}messages;constructor(e){Array.isArray(e)&&(e={messages:e}),super(e),this.messages=e.messages}toString(){return Wc(this.messages)}toChatMessages(){return this.messages}},YS=class extends i_{lc_namespace=["langchain_core","prompt_values"];lc_serializable=!0;static lc_name(){return"ImagePromptValue"}imageUrl;value;constructor(e){"imageUrl"in e||(e={imageUrl:e}),super(e),this.imageUrl=e.imageUrl}toString(){return this.imageUrl.url}toChatMessages(){return[new rt({content:[{type:"image_url",image_url:{detail:this.imageUrl.detail,url:this.imageUrl.url}}]})]}};var iz=Ko(nz(),1),Zq=Object.defineProperty,Gq=(e,t,r)=>t in e?Zq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Hq=(e,t,r)=>(Gq(e,typeof t!="symbol"?t+"":t,r),r);function qq(e,t){let r=Array.from({length:e.length},(n,i)=>({start:i,end:i+1}));for(;r.length>1;){let n=null;for(let i=0;i<r.length-1;i++){let o=e.slice(r[i].start,r[i+1].end),a=t.get(o.join(","));a!=null&&(n==null||a<n[0])&&(n=[a,i])}if(n!=null){let i=n[1];r[i]={start:r[i].start,end:r[i+1].end},r.splice(i+1,1)}else break}return r}function Kq(e,t){return e.length===1?[t.get(e.join(","))]:qq(e,t).map(r=>t.get(e.slice(r.start,r.end).join(","))).filter(r=>r!=null)}function Wq(e){return e.replace(/[\\^$*+?.()|[\]{}]/g,"\\$&")}var ek=class{specialTokens;inverseSpecialTokens;patStr;textEncoder=new TextEncoder;textDecoder=new TextDecoder("utf-8");rankMap=new Map;textMap=new Map;constructor(e,t){this.patStr=e.pat_str;let r=e.bpe_ranks.split(`
|
|
128
|
-
`).filter(Boolean).reduce((n,i)=>{let[o,a,...s]=i.split(" "),c=Number.parseInt(a,10);return s.forEach((u,l)=>n[u]=c+l),n},{});for(let[n,i]of Object.entries(r)){let o=iz.default.toByteArray(n);this.rankMap.set(o.join(","),i),this.textMap.set(i,o)}this.specialTokens={...e.special_tokens,...t},this.inverseSpecialTokens=Object.entries(this.specialTokens).reduce((n,[i,o])=>(n[o]=this.textEncoder.encode(i),n),{})}encode(e,t=[],r="all"){let n=new RegExp(this.patStr,"ug"),i=ek.specialTokenRegex(Object.keys(this.specialTokens)),o=[],a=new Set(t==="all"?Object.keys(this.specialTokens):t),s=new Set(r==="all"?Object.keys(this.specialTokens).filter(u=>!a.has(u)):r);if(s.size>0){let u=ek.specialTokenRegex([...s]),l=e.match(u);if(l!=null)throw new Error(`The text contains a special token that is not allowed: ${l[0]}`)}let c=0;for(;;){let u=null,l=c;for(;i.lastIndex=l,u=i.exec(e),!(u==null||a.has(u[0]));)l=u.index+1;let d=u?.index??e.length;for(let p of e.substring(c,d).matchAll(n)){let m=this.textEncoder.encode(p[0]),h=this.rankMap.get(m.join(","));if(h!=null){o.push(h);continue}o.push(...Kq(m,this.rankMap))}if(u==null)break;let f=this.specialTokens[u[0]];o.push(f),c=u.index+u[0].length}return o}decode(e){let t=[],r=0;for(let o=0;o<e.length;++o){let a=e[o],s=this.textMap.get(a)??this.inverseSpecialTokens[a];s!=null&&(t.push(s),r+=s.length)}let n=new Uint8Array(r),i=0;for(let o of t)n.set(o,i),i+=o.length;return this.textDecoder.decode(n)}},a_=ek;Hq(a_,"specialTokenRegex",e=>new RegExp(e.map(t=>Wq(t)).join("|"),"g"));function tk(e){switch(e){case"gpt2":return"gpt2";case"code-cushman-001":case"code-cushman-002":case"code-davinci-001":case"code-davinci-002":case"cushman-codex":case"davinci-codex":case"davinci-002":case"text-davinci-002":case"text-davinci-003":return"p50k_base";case"code-davinci-edit-001":case"text-davinci-edit-001":return"p50k_edit";case"ada":case"babbage":case"babbage-002":case"code-search-ada-code-001":case"code-search-babbage-code-001":case"curie":case"davinci":case"text-ada-001":case"text-babbage-001":case"text-curie-001":case"text-davinci-001":case"text-search-ada-doc-001":case"text-search-babbage-doc-001":case"text-search-curie-doc-001":case"text-search-davinci-doc-001":case"text-similarity-ada-001":case"text-similarity-babbage-001":case"text-similarity-curie-001":case"text-similarity-davinci-001":return"r50k_base";case"gpt-3.5-turbo-instruct-0914":case"gpt-3.5-turbo-instruct":case"gpt-3.5-turbo-16k-0613":case"gpt-3.5-turbo-16k":case"gpt-3.5-turbo-0613":case"gpt-3.5-turbo-0301":case"gpt-3.5-turbo":case"gpt-4-32k-0613":case"gpt-4-32k-0314":case"gpt-4-32k":case"gpt-4-0613":case"gpt-4-0314":case"gpt-4":case"gpt-3.5-turbo-1106":case"gpt-35-turbo":case"gpt-4-1106-preview":case"gpt-4-vision-preview":case"gpt-3.5-turbo-0125":case"gpt-4-turbo":case"gpt-4-turbo-2024-04-09":case"gpt-4-turbo-preview":case"gpt-4-0125-preview":case"text-embedding-ada-002":case"text-embedding-3-small":case"text-embedding-3-large":return"cl100k_base";case"gpt-4o":case"gpt-4o-2024-05-13":case"gpt-4o-2024-08-06":case"gpt-4o-2024-11-20":case"gpt-4o-mini-2024-07-18":case"gpt-4o-mini":case"gpt-4o-search-preview":case"gpt-4o-search-preview-2025-03-11":case"gpt-4o-mini-search-preview":case"gpt-4o-mini-search-preview-2025-03-11":case"gpt-4o-audio-preview":case"gpt-4o-audio-preview-2024-12-17":case"gpt-4o-audio-preview-2024-10-01":case"gpt-4o-mini-audio-preview":case"gpt-4o-mini-audio-preview-2024-12-17":case"o1":case"o1-2024-12-17":case"o1-mini":case"o1-mini-2024-09-12":case"o1-preview":case"o1-preview-2024-09-12":case"o1-pro":case"o1-pro-2025-03-19":case"o3":case"o3-2025-04-16":case"o3-mini":case"o3-mini-2025-01-31":case"o4-mini":case"o4-mini-2025-04-16":case"chatgpt-4o-latest":case"gpt-4o-realtime":case"gpt-4o-realtime-preview-2024-10-01":case"gpt-4o-realtime-preview-2024-12-17":case"gpt-4o-mini-realtime-preview":case"gpt-4o-mini-realtime-preview-2024-12-17":case"gpt-4.1":case"gpt-4.1-2025-04-14":case"gpt-4.1-mini":case"gpt-4.1-mini-2025-04-14":case"gpt-4.1-nano":case"gpt-4.1-nano-2025-04-14":case"gpt-4.5-preview":case"gpt-4.5-preview-2025-02-27":case"gpt-5":case"gpt-5-2025-08-07":case"gpt-5-nano":case"gpt-5-nano-2025-08-07":case"gpt-5-mini":case"gpt-5-mini-2025-08-07":case"gpt-5-chat-latest":return"o200k_base";default:throw new Error("Unknown model")}}var oz=P({encodingForModel:()=>c_,getEncoding:()=>az}),s_={},Jq=new uo({});async function az(e){return e in s_||(s_[e]=Jq.fetch(`https://tiktoken.pages.dev/js/${e}.json`).then(t=>t.json()).then(t=>new a_(t)).catch(t=>{throw delete s_[e],t})),await s_[e]}async function c_(e){return az(tk(e))}var sz=P({BaseLangChain:()=>l_,BaseLanguageModel:()=>Tp,calculateMaxTokens:()=>uz,getEmbeddingContextSize:()=>Xq,getModelContextSize:()=>cz,getModelNameForTiktoken:()=>u_,isOpenAITool:()=>$p}),u_=e=>e.startsWith("gpt-5")?"gpt-5":e.startsWith("gpt-3.5-turbo-16k")?"gpt-3.5-turbo-16k":e.startsWith("gpt-3.5-turbo-")?"gpt-3.5-turbo":e.startsWith("gpt-4-32k")?"gpt-4-32k":e.startsWith("gpt-4-")?"gpt-4":e.startsWith("gpt-4o")?"gpt-4o":e,Xq=e=>{switch(e){case"text-embedding-ada-002":return 8191;default:return 2046}},cz=e=>{switch(u_(e)){case"gpt-5":case"gpt-5-turbo":case"gpt-5-turbo-preview":return 4e5;case"gpt-4o":case"gpt-4o-mini":case"gpt-4o-2024-05-13":case"gpt-4o-2024-08-06":return 128e3;case"gpt-4-turbo":case"gpt-4-turbo-preview":case"gpt-4-turbo-2024-04-09":case"gpt-4-0125-preview":case"gpt-4-1106-preview":return 128e3;case"gpt-4-32k":case"gpt-4-32k-0314":case"gpt-4-32k-0613":return 32768;case"gpt-4":case"gpt-4-0314":case"gpt-4-0613":return 8192;case"gpt-3.5-turbo-16k":case"gpt-3.5-turbo-16k-0613":return 16384;case"gpt-3.5-turbo":case"gpt-3.5-turbo-0301":case"gpt-3.5-turbo-0613":case"gpt-3.5-turbo-1106":case"gpt-3.5-turbo-0125":return 4096;case"text-davinci-003":case"text-davinci-002":return 4097;case"text-davinci-001":return 2049;case"text-curie-001":case"text-babbage-001":case"text-ada-001":return 2048;case"code-davinci-002":case"code-davinci-001":return 8e3;case"code-cushman-001":return 2048;case"claude-3-5-sonnet-20241022":case"claude-3-5-sonnet-20240620":case"claude-3-opus-20240229":case"claude-3-sonnet-20240229":case"claude-3-haiku-20240307":case"claude-2.1":return 2e5;case"claude-2.0":case"claude-instant-1.2":return 1e5;case"gemini-1.5-pro":case"gemini-1.5-pro-latest":case"gemini-1.5-flash":case"gemini-1.5-flash-latest":return 1e6;case"gemini-pro":case"gemini-pro-vision":return 32768;default:return 4097}};function $p(e){return typeof e!="object"||!e?!1:!!("type"in e&&e.type==="function"&&"function"in e&&typeof e.function=="object"&&e.function&&"name"in e.function&&"parameters"in e.function)}var uz=async({prompt:e,modelName:t})=>{let r;try{r=(await c_(u_(t))).encode(e).length}catch{console.warn("Failed to calculate number of tokens, falling back to approximate count"),r=Math.ceil(e.length/4)}return cz(t)-r},Yq=()=>!1,l_=class extends pe{verbose;callbacks;tags;metadata;get lc_attributes(){return{callbacks:void 0,verbose:void 0}}constructor(e){super(e),this.verbose=e.verbose??Yq(),this.callbacks=e.callbacks,this.tags=e.tags??[],this.metadata=e.metadata??{},this._addVersion("@langchain/core","1.1.35")}_addVersion(e,t){let r=this.metadata?.versions;this.metadata={...this.metadata,versions:{...typeof r=="object"&&r!==null?r:{},[e]:t}}}},Tp=class extends l_{get callKeys(){return["stop","timeout","signal","tags","metadata","callbacks"]}caller;cache;constructor({callbacks:e,callbackManager:t,...r}){let{cache:n,...i}=r;super({callbacks:e??t,...i}),typeof n=="object"?this.cache=n:n?this.cache=cb.global():this.cache=void 0,this.caller=new uo(r??{})}_encoding;async getNumTokens(e){let t;typeof e=="string"?t=e:t=e.map(n=>typeof n=="string"?n:n.type==="text"&&"text"in n?n.text:"").join("");let r=Math.ceil(t.length/4);if(!this._encoding)try{this._encoding=await c_("modelName"in this?u_(this.modelName):"gpt2")}catch(n){console.warn("Failed to calculate number of tokens, falling back to approximate count",n)}if(this._encoding)try{r=this._encoding.encode(t).length}catch(n){console.warn("Failed to calculate number of tokens, falling back to approximate count",n)}return r}static _convertInputToPromptValue(e){return typeof e=="string"?new kp(e):Array.isArray(e)?new Ep(e.map(tr)):e}_identifyingParams(){return{}}_getSerializedCacheKeyParametersForCall({config:e,...t}){let r={...this._identifyingParams(),...t,_type:this._llmType(),_model:this._modelType()};return Object.entries(r).filter(([n,i])=>i!==void 0).map(([n,i])=>`${n}:${JSON.stringify(i)}`).sort().join(",")}serialize(){return{...this._identifyingParams(),_type:this._llmType(),_model:this._modelType()}}static async deserialize(e){throw new Error("Use .toJSON() instead")}get profile(){return{}}};var vo=class extends pe{static lc_name(){return"RunnablePassthrough"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;func;constructor(e){super(e),e&&(this.func=e.func)}async invoke(e,t){let r=Ne(t);return this.func&&await this.func(e,r),this._callWithConfig(n=>Promise.resolve(n),e,r)}async*transform(e,t){let r=Ne(t),n,i=!0;for await(let o of this._transformStreamWithConfig(e,a=>a,r))if(yield o,i)if(n===void 0)n=o;else try{n=Wr(n,o)}catch{n=void 0,i=!1}this.func&&n!==void 0&&await this.func(n,r)}static assign(e){return new Ip(new Sa({steps:e}))}};var lz=class extends pe{static lc_name(){return"RouterRunnable"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;runnables;constructor(e){super(e),this.runnables=e.runnables}async invoke(e,t){let{key:r,input:n}=e,i=this.runnables[r];if(i===void 0)throw new Error(`No runnable associated with key "${r}".`);return i.invoke(n,Ne(t))}async batch(e,t,r){let n=e.map(l=>l.key),i=e.map(l=>l.input);if(n.find(l=>this.runnables[l]===void 0)!==void 0)throw new Error("One or more keys do not have a corresponding runnable.");let o=n.map(l=>this.runnables[l]),a=this._getOptionsList(t??{},e.length),s=a[0]?.maxConcurrency??r?.maxConcurrency,c=s&&s>0?s:e.length,u=[];for(let l=0;l<i.length;l+=c){let d=i.slice(l,l+c).map((p,m)=>o[m].invoke(p,a[m])),f=await Promise.all(d);u.push(f)}return u.flat()}async stream(e,t){let{key:r,input:n}=e,i=this.runnables[r];if(i===void 0)throw new Error(`No runnable associated with key "${r}".`);return i.stream(n,t)}};var dz=class extends pe{static lc_name(){return"RunnableBranch"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;default;branches;constructor(e){super(e),this.branches=e.branches,this.default=e.default}static from(e){if(e.length<1)throw new Error("RunnableBranch requires at least one branch");let t=e.slice(0,-1).map(([n,i])=>[yt(n),yt(i)]),r=yt(e[e.length-1]);return new this({branches:t,default:r})}async _invoke(e,t,r){let n;for(let i=0;i<this.branches.length;i+=1){let[o,a]=this.branches[i];if(await o.invoke(e,Me(t,{callbacks:r?.getChild(`condition:${i+1}`)}))){n=await a.invoke(e,Me(t,{callbacks:r?.getChild(`branch:${i+1}`)}));break}}return n||(n=await this.default.invoke(e,Me(t,{callbacks:r?.getChild("branch:default")}))),n}async invoke(e,t={}){return this._callWithConfig(this._invoke,e,t)}async*_streamIterator(e,t){let r=await(await Ot(t))?.handleChainStart(this.toJSON(),Pt(e,"input"),t?.runId,void 0,void 0,void 0,t?.runName),n,i=!0,o;try{for(let a=0;a<this.branches.length;a+=1){let[s,c]=this.branches[a];if(await s.invoke(e,Me(t,{callbacks:r?.getChild(`condition:${a+1}`)}))){o=await c.stream(e,Me(t,{callbacks:r?.getChild(`branch:${a+1}`)}));for await(let u of o)if(yield u,i)if(n===void 0)n=u;else try{n=Wr(n,u)}catch{n=void 0,i=!1}break}}if(o===void 0){o=await this.default.stream(e,Me(t,{callbacks:r?.getChild("branch:default")}));for await(let a of o)if(yield a,i)if(n===void 0)n=a;else try{n=Wr(n,a)}catch{n=void 0,i=!1}}}catch(a){throw await r?.handleChainError(a),a}await r?.handleChainEnd(n??{})}};var pz=class extends Sn{runnable;inputMessagesKey;outputMessagesKey;historyMessagesKey;getMessageHistory;constructor(e){let t=Zt.from((o,a)=>this._enterHistory(o,a??{})).withConfig({runName:"loadHistory"}),r=e.historyMessagesKey??e.inputMessagesKey;r&&(t=vo.assign({[r]:t}).withConfig({runName:"insertHistory"}));let n=t.pipe(e.runnable.withListeners({onEnd:(o,a)=>this._exitHistory(o,a??{})})).withConfig({runName:"RunnableWithMessageHistory"}),i=e.config??{};super({...e,config:i,bound:n}),this.runnable=e.runnable,this.getMessageHistory=e.getMessageHistory,this.inputMessagesKey=e.inputMessagesKey,this.outputMessagesKey=e.outputMessagesKey,this.historyMessagesKey=e.historyMessagesKey}_getInputMessages(e){let t;if(typeof e=="object"&&!Array.isArray(e)&&!ft(e)){let r;this.inputMessagesKey?r=this.inputMessagesKey:Object.keys(e).length===1?r=Object.keys(e)[0]:r="input",Array.isArray(e[r])&&Array.isArray(e[r][0])?t=e[r][0]:t=e[r]}else t=e;if(typeof t=="string")return[new rt(t)];if(Array.isArray(t))return t;if(ft(t))return[t];throw new Error(`Expected a string, BaseMessage, or array of BaseMessages.
|
|
127
|
+
`),t[t.length-1]])}var Pj=["tool_call","tool_call_chunk","invalid_tool_call","server_tool_call","server_tool_call_chunk","server_tool_call_result"];var Rj=["image","video","audio","text-plain","file"];var Nj=["text","reasoning",...Pj,...Rj];var Mj=P({AIMessage:()=>be,AIMessageChunk:()=>at,BaseMessage:()=>tt,BaseMessageChunk:()=>fr,ChatMessage:()=>mr,ChatMessageChunk:()=>oo,DEFAULT_MERGE_IGNORE_KEYS:()=>nb,FunctionMessage:()=>us,FunctionMessageChunk:()=>ao,HumanMessage:()=>st,HumanMessageChunk:()=>so,KNOWN_BLOCK_TYPES:()=>Nj,RemoveMessage:()=>Mn,SystemMessage:()=>hr,SystemMessageChunk:()=>fn,ToolMessage:()=>jt,ToolMessageChunk:()=>Yo,_isMessageFieldWithRole:()=>Im,_mergeDicts:()=>pt,_mergeLists:()=>Xo,_mergeObj:()=>xm,_mergeStatus:()=>wm,coerceMessageLikeToMessage:()=>tr,collapseToolCallChunks:()=>km,convertToChunk:()=>ls,convertToOpenAIImageBlock:()=>_m,convertToProviderContentBlock:()=>Hc,defaultTextSplitter:()=>FS,defaultToolCallParser:()=>Id,filterMessages:()=>Tj,getBufferString:()=>Wc,iife:()=>$m,isAIMessage:()=>hi,isAIMessageChunk:()=>Sd,isBase64ContentBlock:()=>Gc,isBaseMessage:()=>ft,isBaseMessageChunk:()=>io,isChatMessage:()=>uO,isChatMessageChunk:()=>lO,isDataContentBlock:()=>Or,isDirectToolOutput:()=>xd,isFunctionMessage:()=>dO,isFunctionMessageChunk:()=>pO,isHumanMessage:()=>fO,isHumanMessageChunk:()=>mO,isIDContentBlock:()=>gm,isMessage:()=>bm,isOpenAIToolCallArray:()=>FA,isPlainTextContentBlock:()=>AA,isSystemMessage:()=>hO,isSystemMessageChunk:()=>gO,isToolMessage:()=>ss,isToolMessageChunk:()=>ib,isURLContentBlock:()=>Zc,mapChatMessagesToStoredMessages:()=>yO,mapStoredMessageToChatMessage:()=>kd,mapStoredMessagesToChatMessages:()=>_O,mergeContent:()=>er,mergeMessageRuns:()=>Aj,mergeResponseMetadata:()=>Sm,mergeUsageMetadata:()=>Kc,parseBase64DataUrl:()=>Jo,parseMimeType:()=>wd,trimMessages:()=>Oj});var jj=P({BaseChatMessageHistory:()=>BS,BaseListChatMessageHistory:()=>n_,InMemoryChatMessageHistory:()=>Nq}),BS=class extends kt{async addMessages(e){for(let t of e)await this.addMessage(t)}},n_=class extends kt{addUserMessage(e){return this.addMessage(new st(e))}addAIMessage(e){return this.addMessage(new be(e))}async addMessages(e){for(let t of e)await this.addMessage(t)}clear(){throw new Error("Not implemented.")}},Nq=class extends n_{lc_namespace=["langchain","stores","message","in_memory"];messages=[];constructor(e){super(...arguments),this.messages=e??[]}async getMessages(){return this.messages}async addMessage(e){this.messages.push(e)}async clear(){this.messages=[]}};var rn=class{pageContent;metadata;id;constructor(e){this.pageContent=e.pageContent!==void 0?e.pageContent.toString():"",this.metadata=e.metadata??{},this.id=e.id}};var VS=class extends pe{lc_namespace=["langchain_core","documents","transformers"];invoke(e,t){return this.transformDocuments(e)}},zj=class extends VS{async transformDocuments(e){let t=[];for(let r of e){let n=await this._transformDocument(r);t.push(n)}return t}};var Dj=P({BaseDocumentTransformer:()=>VS,Document:()=>rn,MappingDocumentTransformer:()=>zj});var Lj=P({BaseDocumentLoader:()=>ZS}),ZS=class{};var Uj=P({LangSmithLoader:()=>Mq}),Mq=class extends ZS{datasetId;datasetName;exampleIds;asOf;splits;inlineS3Urls;offset;limit;metadata;filter;contentKey;formatContent;client;constructor(e){if(super(),e.client&&e.clientConfig)throw new Error("client and clientConfig cannot both be provided.");this.client=e.client??new yi(e?.clientConfig),this.contentKey=e.contentKey?e.contentKey.split("."):[],this.formatContent=e.formatContent??jq,this.datasetId=e.datasetId,this.datasetName=e.datasetName,this.exampleIds=e.exampleIds,this.asOf=e.asOf,this.splits=e.splits,this.inlineS3Urls=e.inlineS3Urls,this.offset=e.offset,this.limit=e.limit,this.metadata=e.metadata,this.filter=e.filter}async load(){let e=[];for await(let t of this.client.listExamples({datasetId:this.datasetId,datasetName:this.datasetName,exampleIds:this.exampleIds,asOf:this.asOf,splits:this.splits,inlineS3Urls:this.inlineS3Urls,offset:this.offset,limit:this.limit,metadata:this.metadata,filter:this.filter})){let r=t.inputs;for(let o of this.contentKey)r=r[o];let n=this.formatContent(r),i=t;["created_at","modified_at"].forEach(o=>{o in i&&typeof i[o]=="object"&&(i[o]=i[o].toString())}),e.push({pageContent:n,metadata:i})}return e}};function jq(e){if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}var Fj=P({Embeddings:()=>Fu}),Fu=class{caller;constructor(e){this.caller=new uo(e??{})}};var Bu=class extends kt{lc_namespace=["langchain_core","example_selectors","base"]};var GS=class{async getPromptAsync(e,t){return this.getPrompt(e).partial(t?.partialVariables??{})}},Bj=class extends GS{defaultPrompt;conditionals;constructor(e,t=[]){super(),this.defaultPrompt=e,this.conditionals=t}getPrompt(e){for(let[t,r]of this.conditionals)if(t(e))return r;return this.defaultPrompt}};function Vj(e){return e._modelType()==="base_llm"}function Zj(e){return e._modelType()==="base_chat_model"}function Gj(e){return e.split(/\n| /).length}var Hj=class qj extends Bu{examples=[];examplePrompt;getTextLength=Gj;maxLength=2048;exampleTextLengths=[];constructor(t){super(t),this.examplePrompt=t.examplePrompt,this.maxLength=t.maxLength??2048,this.getTextLength=t.getTextLength??Gj}async addExample(t){this.examples.push(t);let r=await this.examplePrompt.format(t);this.exampleTextLengths.push(this.getTextLength(r))}async calculateExampleTextLengths(t,r){if(t.length>0)return t;let{examples:n,examplePrompt:i}=r;return(await Promise.all(n.map(o=>i.format(o)))).map(o=>this.getTextLength(o))}async selectExamples(t){let r=Object.values(t).join(" "),n=this.maxLength-this.getTextLength(r),i=0,o=[];for(;n>0&&i<this.examples.length;){let a=n-this.exampleTextLengths[i];if(a<0)break;o.push(this.examples[i]),n=a,i+=1}return o}static async fromExamples(t,r){let n=new qj(r);return await Promise.all(t.map(i=>n.addExample(i))),n}};function HS(e){return Object.keys(e).sort().map(t=>e[t])}var Kj=class Wj extends Bu{vectorStoreRetriever;exampleKeys;inputKeys;constructor(t){if(super(t),this.exampleKeys=t.exampleKeys,this.inputKeys=t.inputKeys,t.vectorStore!==void 0)this.vectorStoreRetriever=t.vectorStore.asRetriever({k:t.k??4,filter:t.filter});else if(t.vectorStoreRetriever)this.vectorStoreRetriever=t.vectorStoreRetriever;else throw new Error('You must specify one of "vectorStore" and "vectorStoreRetriever".')}async addExample(t){let r=HS((this.inputKeys??Object.keys(t)).reduce((n,i)=>({...n,[i]:t[i]}),{})).join(" ");await this.vectorStoreRetriever.addDocuments([new rn({pageContent:r,metadata:t})])}async selectExamples(t){let r=HS((this.inputKeys??Object.keys(t)).reduce((i,o)=>({...i,[o]:t[o]}),{})).join(" "),n=(await this.vectorStoreRetriever.invoke(r)).map(i=>i.metadata);return this.exampleKeys?n.map(i=>this.exampleKeys.reduce((o,a)=>({...o,[a]:i[a]}),{})):n}static async fromExamples(t,r,n,i={}){let o=i.inputKeys??null,a=t.map(s=>HS(o?o.reduce((c,u)=>({...c,[u]:s[u]}),{}):s).join(" "));return new Wj({vectorStore:await n.fromTexts(a,t,r,i),k:i.k??4,exampleKeys:i.exampleKeys,inputKeys:i.inputKeys})}};var Jj=P({BaseExampleSelector:()=>Bu,BasePromptSelector:()=>GS,ConditionalPromptSelector:()=>Bj,LengthBasedExampleSelector:()=>Hj,SemanticSimilarityExampleSelector:()=>Kj,isChatModel:()=>Zj,isLLM:()=>Vj});var Sp="10f90ea3-90a4-4962-bf75-83a0f3c1c62a",Xj=class extends kt{lc_namespace=["langchain","recordmanagers"]};var qS=class{uid;hash_;contentHash;metadataHash;pageContent;metadata;keyEncoder=Vc;constructor(e){this.uid=e.uid,this.pageContent=e.pageContent,this.metadata=e.metadata}makeDefaultKeyEncoder(e){this.keyEncoder=e}calculateHashes(){let e=["hash_","content_hash","metadata_hash"];for(let r of e)if(r in this.metadata)throw new Error(`Metadata cannot contain key ${r} as it is reserved for internal use. Restricted keys: [${e.join(", ")}]`);let t=this._hashStringToUUID(this.pageContent);try{let r=this._hashNestedDictToUUID(this.metadata);this.contentHash=t,this.metadataHash=r}catch(r){throw new Error(`Failed to hash metadata: ${r}. Please use a dict that can be serialized using json.`)}this.hash_=this._hashStringToUUID(this.contentHash+this.metadataHash),this.uid||(this.uid=this.hash_)}toDocument(){return new rn({pageContent:this.pageContent,metadata:this.metadata})}static fromDocument(e,t){let r=new this({pageContent:e.pageContent,metadata:e.metadata,uid:t||e.uid});return r.calculateHashes(),r}_hashStringToUUID(e){return Tm(this.keyEncoder(e),Sp)}_hashNestedDictToUUID(e){let t=JSON.stringify(e,Object.keys(e).sort());return Tm(this.keyEncoder(t),Sp)}};function KS(e,t){let r=[],n=[];return t.forEach(i=>{n.push(i),n.length>=e&&(r.push(n),n=[])}),n.length>0&&r.push(n),r}function WS(e){let t=new Set,r=[];for(let n of e){if(!n.hash_)throw new Error("Hashed document does not have a hash");t.has(n.hash_)||(t.add(n.hash_),r.push(n))}return r}function JS(e){if(e===null)return t=>null;if(typeof e=="string")return t=>t.metadata[e];if(typeof e=="function")return e;throw new Error(`sourceIdKey should be null, a string or a function, got ${typeof e}`)}var XS=e=>"load"in e&&typeof e.load=="function"&&"loadAndSplit"in e&&typeof e.loadAndSplit=="function";async function Yj(e){let{docsSource:t,recordManager:r,vectorStore:n,options:i}=e,{batchSize:o=100,cleanup:a,sourceIdKey:s,cleanupBatchSize:c=1e3,forceUpdate:u=!1}=i??{};if(a==="incremental"&&!s)throw new Error("sourceIdKey is required when cleanup mode is incremental. Please provide through 'options.sourceIdKey'.");let l=XS(t)?await t.load():t,d=JS(s??null),f=await r.getTime(),p=0,m=0,h=0,w=0,_=KS(o??100,l);for(let y of _){let x=WS(y.map(R=>qS.fromDocument(R))),S=x.map(R=>d(R));a==="incremental"&&x.forEach((R,V)=>{if(S[V]===null)throw new Error("sourceIdKey must be provided when cleanup is incremental")});let $=await r.exists(x.map(R=>R.uid)),j=[],C=[],b=[],H=new Set;if(x.forEach((R,V)=>{if($[V])if(u)H.add(R.uid);else{b.push(R.uid);return}j.push(R.uid),C.push(R.toDocument())}),b.length>0&&(await r.update(b,{timeAtLeast:f}),w+=b.length),C.length>0&&(await n.addDocuments(C,{ids:j}),p+=C.length-H.size,h+=H.size),await r.update(x.map(R=>R.uid),{timeAtLeast:f,groupIds:S}),a==="incremental"){S.forEach(V=>{if(!V)throw new Error("Source id cannot be null")});let R=await r.listKeys({before:f,groupIds:S});R.length>0&&(await n.delete({ids:R}),await r.deleteKeys(R),m+=R.length)}}if(a==="full"){let y=await r.listKeys({before:f,limit:c});for(;y.length>0;)await n.delete({ids:y}),await r.deleteKeys(y),m+=y.length,y=await r.listKeys({before:f,limit:c})}return{numAdded:p,numDeleted:m,numUpdated:h,numSkipped:w}}var Qj=P({RecordManager:()=>Xj,UUIDV5_NAMESPACE:()=>Sp,_HashedDocument:()=>qS,_batch:()=>KS,_deduplicateInOrder:()=>WS,_getSourceIdAssigner:()=>JS,_isBaseDocumentLoader:()=>XS,index:()=>Yj});var ez=P({BasePromptValue:()=>i_,ChatPromptValue:()=>Ep,ImagePromptValue:()=>YS,StringPromptValue:()=>kp}),i_=class extends kt{},kp=class extends i_{static lc_name(){return"StringPromptValue"}lc_namespace=["langchain_core","prompt_values"];lc_serializable=!0;value;constructor(e){super({value:e}),this.value=e}toString(){return this.value}toChatMessages(){return[new st(this.value)]}},Ep=class extends i_{lc_namespace=["langchain_core","prompt_values"];lc_serializable=!0;static lc_name(){return"ChatPromptValue"}messages;constructor(e){Array.isArray(e)&&(e={messages:e}),super(e),this.messages=e.messages}toString(){return Wc(this.messages)}toChatMessages(){return this.messages}},YS=class extends i_{lc_namespace=["langchain_core","prompt_values"];lc_serializable=!0;static lc_name(){return"ImagePromptValue"}imageUrl;value;constructor(e){"imageUrl"in e||(e={imageUrl:e}),super(e),this.imageUrl=e.imageUrl}toString(){return this.imageUrl.url}toChatMessages(){return[new st({content:[{type:"image_url",image_url:{detail:this.imageUrl.detail,url:this.imageUrl.url}}]})]}};var iz=Ko(nz(),1),Zq=Object.defineProperty,Gq=(e,t,r)=>t in e?Zq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Hq=(e,t,r)=>(Gq(e,typeof t!="symbol"?t+"":t,r),r);function qq(e,t){let r=Array.from({length:e.length},(n,i)=>({start:i,end:i+1}));for(;r.length>1;){let n=null;for(let i=0;i<r.length-1;i++){let o=e.slice(r[i].start,r[i+1].end),a=t.get(o.join(","));a!=null&&(n==null||a<n[0])&&(n=[a,i])}if(n!=null){let i=n[1];r[i]={start:r[i].start,end:r[i+1].end},r.splice(i+1,1)}else break}return r}function Kq(e,t){return e.length===1?[t.get(e.join(","))]:qq(e,t).map(r=>t.get(e.slice(r.start,r.end).join(","))).filter(r=>r!=null)}function Wq(e){return e.replace(/[\\^$*+?.()|[\]{}]/g,"\\$&")}var ek=class{specialTokens;inverseSpecialTokens;patStr;textEncoder=new TextEncoder;textDecoder=new TextDecoder("utf-8");rankMap=new Map;textMap=new Map;constructor(e,t){this.patStr=e.pat_str;let r=e.bpe_ranks.split(`
|
|
128
|
+
`).filter(Boolean).reduce((n,i)=>{let[o,a,...s]=i.split(" "),c=Number.parseInt(a,10);return s.forEach((u,l)=>n[u]=c+l),n},{});for(let[n,i]of Object.entries(r)){let o=iz.default.toByteArray(n);this.rankMap.set(o.join(","),i),this.textMap.set(i,o)}this.specialTokens={...e.special_tokens,...t},this.inverseSpecialTokens=Object.entries(this.specialTokens).reduce((n,[i,o])=>(n[o]=this.textEncoder.encode(i),n),{})}encode(e,t=[],r="all"){let n=new RegExp(this.patStr,"ug"),i=ek.specialTokenRegex(Object.keys(this.specialTokens)),o=[],a=new Set(t==="all"?Object.keys(this.specialTokens):t),s=new Set(r==="all"?Object.keys(this.specialTokens).filter(u=>!a.has(u)):r);if(s.size>0){let u=ek.specialTokenRegex([...s]),l=e.match(u);if(l!=null)throw new Error(`The text contains a special token that is not allowed: ${l[0]}`)}let c=0;for(;;){let u=null,l=c;for(;i.lastIndex=l,u=i.exec(e),!(u==null||a.has(u[0]));)l=u.index+1;let d=u?.index??e.length;for(let p of e.substring(c,d).matchAll(n)){let m=this.textEncoder.encode(p[0]),h=this.rankMap.get(m.join(","));if(h!=null){o.push(h);continue}o.push(...Kq(m,this.rankMap))}if(u==null)break;let f=this.specialTokens[u[0]];o.push(f),c=u.index+u[0].length}return o}decode(e){let t=[],r=0;for(let o=0;o<e.length;++o){let a=e[o],s=this.textMap.get(a)??this.inverseSpecialTokens[a];s!=null&&(t.push(s),r+=s.length)}let n=new Uint8Array(r),i=0;for(let o of t)n.set(o,i),i+=o.length;return this.textDecoder.decode(n)}},a_=ek;Hq(a_,"specialTokenRegex",e=>new RegExp(e.map(t=>Wq(t)).join("|"),"g"));function tk(e){switch(e){case"gpt2":return"gpt2";case"code-cushman-001":case"code-cushman-002":case"code-davinci-001":case"code-davinci-002":case"cushman-codex":case"davinci-codex":case"davinci-002":case"text-davinci-002":case"text-davinci-003":return"p50k_base";case"code-davinci-edit-001":case"text-davinci-edit-001":return"p50k_edit";case"ada":case"babbage":case"babbage-002":case"code-search-ada-code-001":case"code-search-babbage-code-001":case"curie":case"davinci":case"text-ada-001":case"text-babbage-001":case"text-curie-001":case"text-davinci-001":case"text-search-ada-doc-001":case"text-search-babbage-doc-001":case"text-search-curie-doc-001":case"text-search-davinci-doc-001":case"text-similarity-ada-001":case"text-similarity-babbage-001":case"text-similarity-curie-001":case"text-similarity-davinci-001":return"r50k_base";case"gpt-3.5-turbo-instruct-0914":case"gpt-3.5-turbo-instruct":case"gpt-3.5-turbo-16k-0613":case"gpt-3.5-turbo-16k":case"gpt-3.5-turbo-0613":case"gpt-3.5-turbo-0301":case"gpt-3.5-turbo":case"gpt-4-32k-0613":case"gpt-4-32k-0314":case"gpt-4-32k":case"gpt-4-0613":case"gpt-4-0314":case"gpt-4":case"gpt-3.5-turbo-1106":case"gpt-35-turbo":case"gpt-4-1106-preview":case"gpt-4-vision-preview":case"gpt-3.5-turbo-0125":case"gpt-4-turbo":case"gpt-4-turbo-2024-04-09":case"gpt-4-turbo-preview":case"gpt-4-0125-preview":case"text-embedding-ada-002":case"text-embedding-3-small":case"text-embedding-3-large":return"cl100k_base";case"gpt-4o":case"gpt-4o-2024-05-13":case"gpt-4o-2024-08-06":case"gpt-4o-2024-11-20":case"gpt-4o-mini-2024-07-18":case"gpt-4o-mini":case"gpt-4o-search-preview":case"gpt-4o-search-preview-2025-03-11":case"gpt-4o-mini-search-preview":case"gpt-4o-mini-search-preview-2025-03-11":case"gpt-4o-audio-preview":case"gpt-4o-audio-preview-2024-12-17":case"gpt-4o-audio-preview-2024-10-01":case"gpt-4o-mini-audio-preview":case"gpt-4o-mini-audio-preview-2024-12-17":case"o1":case"o1-2024-12-17":case"o1-mini":case"o1-mini-2024-09-12":case"o1-preview":case"o1-preview-2024-09-12":case"o1-pro":case"o1-pro-2025-03-19":case"o3":case"o3-2025-04-16":case"o3-mini":case"o3-mini-2025-01-31":case"o4-mini":case"o4-mini-2025-04-16":case"chatgpt-4o-latest":case"gpt-4o-realtime":case"gpt-4o-realtime-preview-2024-10-01":case"gpt-4o-realtime-preview-2024-12-17":case"gpt-4o-mini-realtime-preview":case"gpt-4o-mini-realtime-preview-2024-12-17":case"gpt-4.1":case"gpt-4.1-2025-04-14":case"gpt-4.1-mini":case"gpt-4.1-mini-2025-04-14":case"gpt-4.1-nano":case"gpt-4.1-nano-2025-04-14":case"gpt-4.5-preview":case"gpt-4.5-preview-2025-02-27":case"gpt-5":case"gpt-5-2025-08-07":case"gpt-5-nano":case"gpt-5-nano-2025-08-07":case"gpt-5-mini":case"gpt-5-mini-2025-08-07":case"gpt-5-chat-latest":return"o200k_base";default:throw new Error("Unknown model")}}var oz=P({encodingForModel:()=>c_,getEncoding:()=>az}),s_={},Jq=new uo({});async function az(e){return e in s_||(s_[e]=Jq.fetch(`https://tiktoken.pages.dev/js/${e}.json`).then(t=>t.json()).then(t=>new a_(t)).catch(t=>{throw delete s_[e],t})),await s_[e]}async function c_(e){return az(tk(e))}var sz=P({BaseLangChain:()=>l_,BaseLanguageModel:()=>Tp,calculateMaxTokens:()=>uz,getEmbeddingContextSize:()=>Xq,getModelContextSize:()=>cz,getModelNameForTiktoken:()=>u_,isOpenAITool:()=>$p}),u_=e=>e.startsWith("gpt-5")?"gpt-5":e.startsWith("gpt-3.5-turbo-16k")?"gpt-3.5-turbo-16k":e.startsWith("gpt-3.5-turbo-")?"gpt-3.5-turbo":e.startsWith("gpt-4-32k")?"gpt-4-32k":e.startsWith("gpt-4-")?"gpt-4":e.startsWith("gpt-4o")?"gpt-4o":e,Xq=e=>{switch(e){case"text-embedding-ada-002":return 8191;default:return 2046}},cz=e=>{switch(u_(e)){case"gpt-5":case"gpt-5-turbo":case"gpt-5-turbo-preview":return 4e5;case"gpt-4o":case"gpt-4o-mini":case"gpt-4o-2024-05-13":case"gpt-4o-2024-08-06":return 128e3;case"gpt-4-turbo":case"gpt-4-turbo-preview":case"gpt-4-turbo-2024-04-09":case"gpt-4-0125-preview":case"gpt-4-1106-preview":return 128e3;case"gpt-4-32k":case"gpt-4-32k-0314":case"gpt-4-32k-0613":return 32768;case"gpt-4":case"gpt-4-0314":case"gpt-4-0613":return 8192;case"gpt-3.5-turbo-16k":case"gpt-3.5-turbo-16k-0613":return 16384;case"gpt-3.5-turbo":case"gpt-3.5-turbo-0301":case"gpt-3.5-turbo-0613":case"gpt-3.5-turbo-1106":case"gpt-3.5-turbo-0125":return 4096;case"text-davinci-003":case"text-davinci-002":return 4097;case"text-davinci-001":return 2049;case"text-curie-001":case"text-babbage-001":case"text-ada-001":return 2048;case"code-davinci-002":case"code-davinci-001":return 8e3;case"code-cushman-001":return 2048;case"claude-3-5-sonnet-20241022":case"claude-3-5-sonnet-20240620":case"claude-3-opus-20240229":case"claude-3-sonnet-20240229":case"claude-3-haiku-20240307":case"claude-2.1":return 2e5;case"claude-2.0":case"claude-instant-1.2":return 1e5;case"gemini-1.5-pro":case"gemini-1.5-pro-latest":case"gemini-1.5-flash":case"gemini-1.5-flash-latest":return 1e6;case"gemini-pro":case"gemini-pro-vision":return 32768;default:return 4097}};function $p(e){return typeof e!="object"||!e?!1:!!("type"in e&&e.type==="function"&&"function"in e&&typeof e.function=="object"&&e.function&&"name"in e.function&&"parameters"in e.function)}var uz=async({prompt:e,modelName:t})=>{let r;try{r=(await c_(u_(t))).encode(e).length}catch{console.warn("Failed to calculate number of tokens, falling back to approximate count"),r=Math.ceil(e.length/4)}return cz(t)-r},Yq=()=>!1,l_=class extends pe{verbose;callbacks;tags;metadata;get lc_attributes(){return{callbacks:void 0,verbose:void 0}}constructor(e){super(e),this.verbose=e.verbose??Yq(),this.callbacks=e.callbacks,this.tags=e.tags??[],this.metadata=e.metadata??{},this._addVersion("@langchain/core","1.1.35")}_addVersion(e,t){let r=this.metadata?.versions;this.metadata={...this.metadata,versions:{...typeof r=="object"&&r!==null?r:{},[e]:t}}}},Tp=class extends l_{get callKeys(){return["stop","timeout","signal","tags","metadata","callbacks"]}caller;cache;constructor({callbacks:e,callbackManager:t,...r}){let{cache:n,...i}=r;super({callbacks:e??t,...i}),typeof n=="object"?this.cache=n:n?this.cache=cb.global():this.cache=void 0,this.caller=new uo(r??{})}_encoding;async getNumTokens(e){let t;typeof e=="string"?t=e:t=e.map(n=>typeof n=="string"?n:n.type==="text"&&"text"in n?n.text:"").join("");let r=Math.ceil(t.length/4);if(!this._encoding)try{this._encoding=await c_("modelName"in this?u_(this.modelName):"gpt2")}catch(n){console.warn("Failed to calculate number of tokens, falling back to approximate count",n)}if(this._encoding)try{r=this._encoding.encode(t).length}catch(n){console.warn("Failed to calculate number of tokens, falling back to approximate count",n)}return r}static _convertInputToPromptValue(e){return typeof e=="string"?new kp(e):Array.isArray(e)?new Ep(e.map(tr)):e}_identifyingParams(){return{}}_getSerializedCacheKeyParametersForCall({config:e,...t}){let r={...this._identifyingParams(),...t,_type:this._llmType(),_model:this._modelType()};return Object.entries(r).filter(([n,i])=>i!==void 0).map(([n,i])=>`${n}:${JSON.stringify(i)}`).sort().join(",")}serialize(){return{...this._identifyingParams(),_type:this._llmType(),_model:this._modelType()}}static async deserialize(e){throw new Error("Use .toJSON() instead")}get profile(){return{}}};var vo=class extends pe{static lc_name(){return"RunnablePassthrough"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;func;constructor(e){super(e),e&&(this.func=e.func)}async invoke(e,t){let r=Ne(t);return this.func&&await this.func(e,r),this._callWithConfig(n=>Promise.resolve(n),e,r)}async*transform(e,t){let r=Ne(t),n,i=!0;for await(let o of this._transformStreamWithConfig(e,a=>a,r))if(yield o,i)if(n===void 0)n=o;else try{n=Wr(n,o)}catch{n=void 0,i=!1}this.func&&n!==void 0&&await this.func(n,r)}static assign(e){return new Ip(new Sa({steps:e}))}};var lz=class extends pe{static lc_name(){return"RouterRunnable"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;runnables;constructor(e){super(e),this.runnables=e.runnables}async invoke(e,t){let{key:r,input:n}=e,i=this.runnables[r];if(i===void 0)throw new Error(`No runnable associated with key "${r}".`);return i.invoke(n,Ne(t))}async batch(e,t,r){let n=e.map(l=>l.key),i=e.map(l=>l.input);if(n.find(l=>this.runnables[l]===void 0)!==void 0)throw new Error("One or more keys do not have a corresponding runnable.");let o=n.map(l=>this.runnables[l]),a=this._getOptionsList(t??{},e.length),s=a[0]?.maxConcurrency??r?.maxConcurrency,c=s&&s>0?s:e.length,u=[];for(let l=0;l<i.length;l+=c){let d=i.slice(l,l+c).map((p,m)=>o[m].invoke(p,a[m])),f=await Promise.all(d);u.push(f)}return u.flat()}async stream(e,t){let{key:r,input:n}=e,i=this.runnables[r];if(i===void 0)throw new Error(`No runnable associated with key "${r}".`);return i.stream(n,t)}};var dz=class extends pe{static lc_name(){return"RunnableBranch"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;default;branches;constructor(e){super(e),this.branches=e.branches,this.default=e.default}static from(e){if(e.length<1)throw new Error("RunnableBranch requires at least one branch");let t=e.slice(0,-1).map(([n,i])=>[yt(n),yt(i)]),r=yt(e[e.length-1]);return new this({branches:t,default:r})}async _invoke(e,t,r){let n;for(let i=0;i<this.branches.length;i+=1){let[o,a]=this.branches[i];if(await o.invoke(e,Me(t,{callbacks:r?.getChild(`condition:${i+1}`)}))){n=await a.invoke(e,Me(t,{callbacks:r?.getChild(`branch:${i+1}`)}));break}}return n||(n=await this.default.invoke(e,Me(t,{callbacks:r?.getChild("branch:default")}))),n}async invoke(e,t={}){return this._callWithConfig(this._invoke,e,t)}async*_streamIterator(e,t){let r=await(await Ot(t))?.handleChainStart(this.toJSON(),Pt(e,"input"),t?.runId,void 0,void 0,void 0,t?.runName),n,i=!0,o;try{for(let a=0;a<this.branches.length;a+=1){let[s,c]=this.branches[a];if(await s.invoke(e,Me(t,{callbacks:r?.getChild(`condition:${a+1}`)}))){o=await c.stream(e,Me(t,{callbacks:r?.getChild(`branch:${a+1}`)}));for await(let u of o)if(yield u,i)if(n===void 0)n=u;else try{n=Wr(n,u)}catch{n=void 0,i=!1}break}}if(o===void 0){o=await this.default.stream(e,Me(t,{callbacks:r?.getChild("branch:default")}));for await(let a of o)if(yield a,i)if(n===void 0)n=a;else try{n=Wr(n,a)}catch{n=void 0,i=!1}}}catch(a){throw await r?.handleChainError(a),a}await r?.handleChainEnd(n??{})}};var pz=class extends Sn{runnable;inputMessagesKey;outputMessagesKey;historyMessagesKey;getMessageHistory;constructor(e){let t=Zt.from((o,a)=>this._enterHistory(o,a??{})).withConfig({runName:"loadHistory"}),r=e.historyMessagesKey??e.inputMessagesKey;r&&(t=vo.assign({[r]:t}).withConfig({runName:"insertHistory"}));let n=t.pipe(e.runnable.withListeners({onEnd:(o,a)=>this._exitHistory(o,a??{})})).withConfig({runName:"RunnableWithMessageHistory"}),i=e.config??{};super({...e,config:i,bound:n}),this.runnable=e.runnable,this.getMessageHistory=e.getMessageHistory,this.inputMessagesKey=e.inputMessagesKey,this.outputMessagesKey=e.outputMessagesKey,this.historyMessagesKey=e.historyMessagesKey}_getInputMessages(e){let t;if(typeof e=="object"&&!Array.isArray(e)&&!ft(e)){let r;this.inputMessagesKey?r=this.inputMessagesKey:Object.keys(e).length===1?r=Object.keys(e)[0]:r="input",Array.isArray(e[r])&&Array.isArray(e[r][0])?t=e[r][0]:t=e[r]}else t=e;if(typeof t=="string")return[new st(t)];if(Array.isArray(t))return t;if(ft(t))return[t];throw new Error(`Expected a string, BaseMessage, or array of BaseMessages.
|
|
129
129
|
Got ${JSON.stringify(t,null,2)}`)}_getOutputMessages(e){let t;if(!Array.isArray(e)&&!ft(e)&&typeof e!="string"){let r;this.outputMessagesKey!==void 0?r=this.outputMessagesKey:Object.keys(e).length===1?r=Object.keys(e)[0]:r="output",e.generations!==void 0?t=e.generations[0][0].message:t=e[r]}else t=e;if(typeof t=="string")return[new be(t)];if(Array.isArray(t))return t;if(ft(t))return[t];throw new Error(`Expected a string, BaseMessage, or array of BaseMessages. Received: ${JSON.stringify(t,null,2)}`)}async _enterHistory(e,t){let r=await(t?.configurable?.messageHistory).getMessages();return this.historyMessagesKey===void 0?r.concat(this._getInputMessages(e)):r}async _exitHistory(e,t){let r=t.configurable?.messageHistory,n;Array.isArray(e.inputs)&&Array.isArray(e.inputs[0])?n=e.inputs[0]:n=e.inputs;let i=this._getInputMessages(n);if(this.historyMessagesKey===void 0){let s=await r.getMessages();i=i.slice(s.length)}let o=e.outputs;if(!o)throw new Error(`Output values from 'Run' undefined. Run: ${JSON.stringify(e,null,2)}`);let a=this._getOutputMessages(o);await r.addMessages([...i,...a])}async _mergeConfig(...e){let t=await super._mergeConfig(...e);if(!t.configurable||!t.configurable.sessionId){let n={[this.inputMessagesKey??"input"]:"foo"};throw new Error(`sessionId is required. Pass it in as part of the config argument to .invoke() or .stream()
|
|
130
130
|
eg. chain.invoke(${JSON.stringify(n)}, ${JSON.stringify({configurable:{sessionId:"123"}})})`)}let{sessionId:r}=t.configurable;return t.configurable.messageHistory=await this.getMessageHistory(r),t}};var fz=P({RouterRunnable:()=>lz,Runnable:()=>pe,RunnableAssign:()=>Ip,RunnableBinding:()=>Sn,RunnableBranch:()=>dz,RunnableEach:()=>yj,RunnableLambda:()=>Zt,RunnableMap:()=>Sa,RunnableParallel:()=>Ij,RunnablePassthrough:()=>vo,RunnablePick:()=>LS,RunnableRetry:()=>t_,RunnableSequence:()=>tn,RunnableToolLike:()=>e_,RunnableWithFallbacks:()=>DS,RunnableWithMessageHistory:()=>pz,_coerceToRunnable:()=>yt,ensureConfig:()=>Ne,getCallbackManagerForConfig:()=>Ot,mergeConfigs:()=>Bt,patchConfig:()=>Me,pickRunnableConfigKeys:()=>br,raceWithSignal:()=>Kr});var mz=P({applyPatch:()=>sa,compare:()=>ca});var Vu=class extends pe{parseResultWithPrompt(e,t,r){return this.parseResult(e,r)}_baseMessageToString(e){return typeof e.content=="string"?e.content:this._baseMessageContentToString(e.content)}_baseMessageContentToString(e){return JSON.stringify(e)}async invoke(e,t){return typeof e=="string"?this._callWithConfig(async(r,n)=>this.parseResult([{text:r}],n?.callbacks),e,{...t,runType:"parser"}):this._callWithConfig(async(r,n)=>this.parseResult([{message:r,text:this._baseMessageToString(r)}],n?.callbacks),e,{...t,runType:"parser"})}},Gn=class extends Vu{parseResult(e,t){return this.parse(e[0].text,t)}async parseWithPrompt(e,t,r){return this.parse(e,r)}_type(){throw new Error("_type not implemented")}},ar=class extends Error{llmOutput;observation;sendToLLM;constructor(e,t,r,n=!1){if(super(e),this.llmOutput=t,this.observation=r,this.sendToLLM=n,n&&(r===void 0||t===void 0))throw new Error("Arguments 'observation' & 'llmOutput' are required if 'sendToLlm' is true");no(this,"OUTPUT_PARSING_FAILURE")}};var bo=class extends Gn{async*_transform(e){for await(let t of e)typeof t=="string"?yield this.parseResult([{text:t}]):yield this.parseResult([{message:t,text:this._baseMessageToString(t)}])}async*transform(e,t){yield*this._transformStreamWithConfig(e,this._transform.bind(this),{...t,runType:"parser"})}},ji=class extends bo{diff=!1;constructor(e){super(e),this.diff=e?.diff??this.diff}async*_transform(e){let t,r;for await(let n of e){if(typeof n!="string"&&typeof n.content!="string")throw new Error("Cannot handle non-string output.");let i;if(io(n)){if(typeof n.content!="string")throw new Error("Cannot handle non-string message output.");i=new Xr({message:n,text:n.content})}else if(ft(n)){if(typeof n.content!="string")throw new Error("Cannot handle non-string message output.");i=new Xr({message:ls(n),text:n.content})}else i=new Si({text:n});r===void 0?r=i:r=r.concat(i);let o=await this.parsePartialResult([r]);o!=null&&!Ri(o,t)&&(this.diff?yield this._diff(t,o):yield o,t=o)}}getFormatInstructions(){return""}};var hz=class extends bo{static lc_name(){return"BytesOutputParser"}lc_namespace=["langchain_core","output_parsers","bytes"];lc_serializable=!0;textEncoder=new TextEncoder;parse(e){return Promise.resolve(this.textEncoder.encode(e))}getFormatInstructions(){return""}};var Zu=class extends bo{re;async*_transform(e){let t="";for await(let r of e)if(typeof r=="string"?t+=r:t+=r.content,this.re){let n=[...t.matchAll(this.re)];if(n.length>1){let i=0;for(let o of n.slice(0,-1))yield[o[1]],i+=(o.index??0)+o[0].length;t=t.slice(i)}}else{let n=await this.parse(t);if(n.length>1){for(let i of n.slice(0,-1))yield[i];t=n[n.length-1]}}for(let r of await this.parse(t))yield[r]}},gz=class extends Zu{static lc_name(){return"CommaSeparatedListOutputParser"}lc_namespace=["langchain_core","output_parsers","list"];lc_serializable=!0;async parse(e){try{return e.trim().split(",").map(t=>t.trim())}catch{throw new ar(`Could not parse output: ${e}`,e)}}getFormatInstructions(){return"Your response should be a list of comma separated values, eg: `foo, bar, baz`"}},_z=class extends Zu{lc_namespace=["langchain_core","output_parsers","list"];length;separator;constructor({length:e,separator:t}){super(...arguments),this.length=e,this.separator=t||","}async parse(e){try{let t=e.trim().split(this.separator).map(r=>r.trim());if(this.length!==void 0&&t.length!==this.length)throw new ar(`Incorrect number of items. Expected ${this.length}, got ${t.length}.`);return t}catch(t){throw Object.getPrototypeOf(t)===ar.prototype?t:new ar(`Could not parse output: ${e}`)}}getFormatInstructions(){return`Your response should be a list of ${this.length===void 0?"":`${this.length} `}items separated by "${this.separator}" (eg: \`foo${this.separator} bar${this.separator} baz\`)`}},yz=class extends Zu{static lc_name(){return"NumberedListOutputParser"}lc_namespace=["langchain_core","output_parsers","list"];lc_serializable=!0;getFormatInstructions(){return`Your response should be a numbered list with each item on a new line. For example:
|
|
131
131
|
|
|
@@ -195,7 +195,7 @@ Here are the output tags:
|
|
|
195
195
|
\`\`\``,Iz=class extends ji{tags;constructor(e){super(e),this.tags=e?.tags}static lc_name(){return"XMLOutputParser"}lc_namespace=["langchain_core","output_parsers"];lc_serializable=!0;_diff(e,t){if(t)return e?ca(e,t):[{op:"replace",path:"",value:t}]}async parsePartialResult(e){return f_(e[0].text)}async parse(e){return f_(e)}getFormatInstructions(){return this.tags&&this.tags.length>0?p_.replace("{tags}",this.tags?.join(", ")??""):p_}},eK=e=>e.split(`
|
|
196
196
|
`).map(t=>t.replace(/^\s+/,"")).join(`
|
|
197
197
|
`).trim(),Sz=e=>{if(Object.keys(e).length===0)return{};let t={};return e.children.length>0?(t[e.name]=e.children.map(Sz),t):(t[e.name]=e.text??void 0,t)};function f_(e){let t=eK(e),r=xz.parser(!0),n={},i=[];r.onopentag=s=>{let c={name:s.name,attributes:s.attributes,children:[],text:"",isSelfClosing:s.isSelfClosing};i.length>0?i[i.length-1].children.push(c):n=c,s.isSelfClosing||i.push(c)},r.onclosetag=()=>{if(i.length>0){let s=i.pop();i.length===0&&s&&(n=s)}},r.ontext=s=>{if(i.length>0){let c=i[i.length-1];c.text+=s}},r.onattribute=s=>{if(i.length>0){let c=i[i.length-1];c.attributes[s.name]=s.value}};let o=/```(xml)?(.*)```/s.exec(t),a=o?o[2]:t;return r.write(a).close(),n&&n.name==="?xml"&&(n=n.children[0]),Sz(n)}var kz=P({AsymmetricStructuredOutputParser:()=>wz,BaseCumulativeTransformOutputParser:()=>ji,BaseLLMOutputParser:()=>Vu,BaseOutputParser:()=>Gn,BaseTransformOutputParser:()=>bo,BytesOutputParser:()=>hz,CommaSeparatedListOutputParser:()=>gz,CustomListOutputParser:()=>_z,JsonMarkdownStructuredOutputParser:()=>rk,JsonOutputParser:()=>Gu,ListOutputParser:()=>Zu,MarkdownListOutputParser:()=>vz,NumberedListOutputParser:()=>yz,OutputParserException:()=>ar,StandardSchemaOutputParser:()=>d_,StringOutputParser:()=>bz,StructuredOutputParser:()=>Ap,XMLOutputParser:()=>Iz,XML_FORMAT_INSTRUCTIONS:()=>p_,parseJsonMarkdown:()=>cs,parsePartialJson:()=>mi,parseXMLMarkdown:()=>f_});var Ez=P({extendInteropZodObject:()=>zg,getInteropZodDefaultGetter:()=>Dg,getInteropZodObjectShape:()=>As,getSchemaDescription:()=>Un,interopParse:()=>Au,interopParseAsync:()=>va,interopSafeParse:()=>aM,interopSafeParseAsync:()=>jg,interopZodObjectMakeFieldsOptional:()=>cM,interopZodObjectPartial:()=>Cu,interopZodObjectPassthrough:()=>Mg,interopZodObjectStrict:()=>Tu,interopZodTransformInputSchema:()=>Lg,isInteropZodError:()=>Ug,isInteropZodLiteral:()=>oM,isInteropZodObject:()=>Ir,isInteropZodSchema:()=>zt,isShapelessZodSchema:()=>sM,isSimpleStringZodSchema:()=>Ou,isZodArrayV4:()=>gp,isZodLiteralV3:()=>wS,isZodLiteralV4:()=>xS,isZodNullableV4:()=>SS,isZodObjectV3:()=>hp,isZodObjectV4:()=>bn,isZodOptionalV4:()=>IS,isZodSchema:()=>iM,isZodSchemaV3:()=>mt,isZodSchemaV4:()=>We});function Ks(e,t){if(e.function===void 0)return;let r;if(t?.partial)try{r=mi(e.function.arguments??"{}")}catch{return}else try{r=JSON.parse(e.function.arguments)}catch(i){throw new ar([`Function "${e.function.name}" arguments:`,"",e.function.arguments,"","are not valid JSON.",`Error: ${i.message}`].join(`
|
|
198
|
-
`))}let n={name:e.function.name,args:r,type:"tool_call"};return t?.returnId&&(n.id=e.id),n}function m_(e){if(e.id===void 0)throw new Error('All OpenAI tool calls must have an "id" field.');return{id:e.id,type:"function",function:{name:e.name,arguments:JSON.stringify(e.args)}}}function ka(e,t){return{name:e.function?.name,args:e.function?.arguments,id:e.id,error:t,type:"invalid_tool_call"}}var nk=class extends ji{static lc_name(){return"JsonOutputToolsParser"}returnId=!1;lc_namespace=["langchain","output_parsers","openai_tools"];lc_serializable=!0;constructor(e){super(e),this.returnId=e?.returnId??this.returnId}_diff(){throw new Error("Not supported.")}async parse(){throw new Error("Not implemented.")}async parseResult(e){return await this.parsePartialResult(e,!1)}async parsePartialResult(e,t=!0){let r=e[0].message,n;if(hi(r)&&r.tool_calls?.length?n=r.tool_calls.map(o=>{let{id:a,...s}=o;return this.returnId?{id:a,...s}:s}):r.additional_kwargs.tool_calls!==void 0&&(n=JSON.parse(JSON.stringify(r.additional_kwargs.tool_calls)).map(o=>Ks(o,{returnId:this.returnId,partial:t}))),!n)return[];let i=[];for(let o of n)if(o!==void 0){let a={type:o.name,args:o.args,id:o.id};i.push(a)}return i}},h_=class extends nk{static lc_name(){return"JsonOutputKeyToolsParser"}lc_namespace=["langchain","output_parsers","openai_tools"];lc_serializable=!0;returnId=!1;keyName;returnSingle=!1;zodSchema;serializableSchema;constructor(e){super(e),this.keyName=e.keyName,this.returnSingle=e.returnSingle??this.returnSingle,"zodSchema"in e&&(this.zodSchema=e.zodSchema),"serializableSchema"in e&&(this.serializableSchema=e.serializableSchema)}async _validateResult(e){if(this.serializableSchema!==void 0){let r=await this.serializableSchema["~standard"].validate(e);if(r.issues)throw new ar(`Failed to parse. Text: "${JSON.stringify(e,null,2)}". Error: ${JSON.stringify(r.issues)}`,JSON.stringify(e,null,2));return r.value}if(this.zodSchema===void 0)return e;let t=await jg(this.zodSchema,e);if(t.success)return t.data;throw new ar(`Failed to parse. Text: "${JSON.stringify(e,null,2)}". Error: ${JSON.stringify(t.error?.issues)}`,JSON.stringify(e,null,2))}async parsePartialResult(e){let t=(await super.parsePartialResult(e)).filter(n=>n.type===this.keyName),r=t;if(t.length)return this.returnId||(r=t.map(n=>n.args)),this.returnSingle?r[0]:r}async parseResult(e){let t=(await super.parsePartialResult(e,!1)).filter(n=>n.type===this.keyName),r=t;if(t.length)return this.returnId||(r=t.map(n=>n.args)),this.returnSingle?this._validateResult(r[0]):await Promise.all(r.map(n=>this._validateResult(n)))}};var $z=P({assembleStructuredOutputPipeline:()=>Op,createContentParser:()=>g_,createFunctionCallingParser:()=>ik});function g_(e){return zt(e)?Ap.fromZodSchema(e):ki(e)?d_.fromSerializableSchema(e):new Gu}function ik(e,t,r){let n=r??h_;return zt(e)?new n({returnSingle:!0,keyName:t,zodSchema:e}):ki(e)?new n({returnSingle:!0,keyName:t,serializableSchema:e}):new n({returnSingle:!0,keyName:t})}function Op(e,t,r,n){if(!r){let c=e.pipe(t);return n?c.withConfig({runName:n}):c}let i=vo.assign({parsed:(c,u)=>t.invoke(c.raw,u)}),o=vo.assign({parsed:()=>null}),a=i.withFallbacks({fallbacks:[o]}),s=tn.from([{raw:e},a]);return n?s.withConfig({runName:n}):s}var Tz=e=>e();function __(e){let t=e.constructor;return new t({...e,content:e.contentBlocks,response_metadata:{...e.response_metadata,output_version:"v1"}})}function Ea(e){return Object.fromEntries(Object.entries(e).filter(([t,r])=>t!=="tools"&&r!==null&&r!==void 0))}var Az=P({BaseChatModel:()=>zi,SimpleChatModel:()=>tK});function ok(e){let t=[];for(let r of e){let n=r;if(Array.isArray(r.content))for(let i=0;i<r.content.length;i++){let o=r.content[i];(Zc(o)||Gc(o))&&n===r&&(n=new r.constructor({...n,content:[...r.content.slice(0,i),_m(o),...r.content.slice(i+1)]}))}t.push(n)}return t}var zi=class Ws extends Tp{lc_namespace=["langchain","chat_models",this._llmType()];disableStreaming=!1;outputVersion;get callKeys(){return[...super.callKeys,"outputVersion"]}constructor(t){super(t),this.outputVersion=Tz(()=>{let r=t.outputVersion??et("LC_OUTPUT_VERSION");return r&&["v0","v1"].includes(r)?r:"v0"})}_separateRunnableConfigFromCallOptionsCompat(t){let[r,n]=super._separateRunnableConfigFromCallOptions(t);return n.signal=r.signal,[r,n]}async invoke(t,r){let n=Ws._convertInputToPromptValue(t);return(await this.generatePrompt([n],r,r?.callbacks)).generations[0][0].message}async*_streamResponseChunks(t,r,n){throw new Error("Not implemented.")}async*_streamIterator(t,r){if(this._streamResponseChunks===Ws.prototype._streamResponseChunks||this.disableStreaming)yield this.invoke(t,r);else{let n=Ws._convertInputToPromptValue(t).toChatMessages(),[i,o]=this._separateRunnableConfigFromCallOptionsCompat(r),a={...i.metadata,...this.getLsParamsWithDefaults(o)},s=this?.invocationParams(o),c=Ea(s),u=Et.configure(i.callbacks,this.callbacks,i.tags,this.tags,a,{...c,...this.metadata},{verbose:this.verbose}),l={options:o,invocation_params:s,batch_size:1},d=o.outputVersion??this.outputVersion,f=await u?.handleChatModelStart(this.toJSON(),[ok(n)],i.runId,void 0,l,void 0,void 0,i.runName),p,m;try{for await(let h of this._streamResponseChunks(n,o,f?.[0])){if(o.signal?.throwIfAborted(),h.message.id==null){let w=f?.at(0)?.runId;w!=null&&h.message._updateId(`run-${w}`)}h.message.response_metadata={...h.generationInfo,...h.message.response_metadata},d==="v1"?yield __(h.message):yield h.message,p?p=p.concat(h):p=h,Sd(h.message)&&h.message.usage_metadata!==void 0&&(m={tokenUsage:{promptTokens:h.message.usage_metadata.input_tokens,completionTokens:h.message.usage_metadata.output_tokens,totalTokens:h.message.usage_metadata.total_tokens}})}o.signal?.throwIfAborted()}catch(h){throw await Promise.all((f??[]).map(w=>w?.handleLLMError(h))),h}await Promise.all((f??[]).map(h=>h?.handleLLMEnd({generations:[[p]],llmOutput:m})))}}getLsParams(t){let r=this.getName().startsWith("Chat")?this.getName().replace("Chat",""):this.getName();return{ls_model_type:"chat",ls_stop:t.stop,ls_provider:r}}getLsParamsWithDefaults(t){return{...this.getLsParams(t),ls_integration:"langchain_chat_model"}}async _generateUncached(t,r,n,i){let o=t.map(d=>d.map(tr)),a;if(i!==void 0&&i.length===o.length)a=i;else{let d={...n.metadata,...this.getLsParamsWithDefaults(r)},f=this?.invocationParams(r),p=Ea(f),m=Et.configure(n.callbacks,this.callbacks,n.tags,this.tags,d,{...p,...this.metadata},{verbose:this.verbose}),h={options:r,invocation_params:f,batch_size:1};a=await m?.handleChatModelStart(this.toJSON(),o.map(ok),n.runId,void 0,h,void 0,void 0,n.runName)}let s=r.outputVersion??this.outputVersion,c=[],u=[];if(a?.[0].handlers.find(Ed)&&!this.disableStreaming&&o.length===1&&this._streamResponseChunks!==Ws.prototype._streamResponseChunks)try{let d=await this._streamResponseChunks(o[0],r,a?.[0]),f,p;for await(let m of d){if(r.signal?.aborted){let h=f?.message;throw new hm("Model invocation was aborted.",h)}if(m.message.id==null){let h=a?.at(0)?.runId;h!=null&&m.message._updateId(`run-${h}`)}f===void 0?f=m:f=Wr(f,m),Sd(m.message)&&m.message.usage_metadata!==void 0&&(p={tokenUsage:{promptTokens:m.message.usage_metadata.input_tokens,completionTokens:m.message.usage_metadata.output_tokens,totalTokens:m.message.usage_metadata.total_tokens}})}if(r.signal?.aborted){let m=f?.message;throw new hm("Model invocation was aborted.",m)}if(f===void 0)throw new Error("Received empty response from chat model call.");c.push([f]),await a?.[0].handleLLMEnd({generations:c,llmOutput:p})}catch(d){throw await a?.[0].handleLLMError(d),d}else{let d=await Promise.allSettled(o.map(async(f,p)=>{let m=await this._generate(f,{...r,promptIndex:p},a?.[p]);if(s==="v1")for(let h of m.generations)h.message=__(h.message);return m}));await Promise.all(d.map(async(f,p)=>{if(f.status==="fulfilled"){let m=f.value;for(let h of m.generations){if(h.message.id==null){let w=a?.at(0)?.runId;w!=null&&h.message._updateId(`run-${w}`)}h.message.response_metadata={...h.generationInfo,...h.message.response_metadata}}return m.generations.length===1&&(m.generations[0].message.response_metadata={...m.llmOutput,...m.generations[0].message.response_metadata}),c[p]=m.generations,u[p]=m.llmOutput,a?.[p]?.handleLLMEnd({generations:[m.generations],llmOutput:m.llmOutput})}else return await a?.[p]?.handleLLMError(f.reason),Promise.reject(f.reason)}))}let l={generations:c,llmOutput:u.length?this._combineLLMOutput?.(...u):void 0};return Object.defineProperty(l,vs,{value:a?{runIds:a?.map(d=>d.runId)}:void 0,configurable:!0}),l}async _generateCached({messages:t,cache:r,llmStringKey:n,parsedOptions:i,handledOptions:o}){let a=t.map(y=>y.map(tr)),s={...o.metadata,...this.getLsParamsWithDefaults(i)},c=this?.invocationParams(i),u=Ea(c),l=Et.configure(o.callbacks,this.callbacks,o.tags,this.tags,s,{...u,...this.metadata},{verbose:this.verbose}),d={options:i,invocation_params:c,batch_size:1},f=await l?.handleChatModelStart(this.toJSON(),a.map(ok),o.runId,void 0,d,void 0,void 0,o.runName),p=[],m=(await Promise.allSettled(a.map(async(y,x)=>{let S=Ws._convertInputToPromptValue(y).toString(),$=await r.lookup(S,n);return $==null&&p.push(x),$}))).map((y,x)=>({result:y,runManager:f?.[x]})).filter(({result:y})=>y.status==="fulfilled"&&y.value!=null||y.status==="rejected"),h=i.outputVersion??this.outputVersion,w=[];await Promise.all(m.map(async({result:y,runManager:x},S)=>{if(y.status==="fulfilled"){let $=y.value;return w[S]=$.map(j=>("message"in j&&ft(j.message)&&hi(j.message)&&(j.message.usage_metadata={input_tokens:0,output_tokens:0,total_tokens:0},h==="v1"&&(j.message=__(j.message))),j.generationInfo={...j.generationInfo,tokenUsage:{}},j)),$.length&&await x?.handleLLMNewToken($[0].text),x?.handleLLMEnd({generations:[$]},void 0,void 0,void 0,{cached:!0})}else return await x?.handleLLMError(y.reason,void 0,void 0,void 0,{cached:!0}),Promise.reject(y.reason)}));let _={generations:w,missingPromptIndices:p,startedRunManagers:f};return Object.defineProperty(_,vs,{value:f?{runIds:f?.map(y=>y.runId)}:void 0,configurable:!0}),_}async generate(t,r,n){let i;Array.isArray(r)?i={stop:r}:i=r;let o=t.map(m=>m.map(tr)),[a,s]=this._separateRunnableConfigFromCallOptionsCompat(i);if(a.callbacks=a.callbacks??n,!this.cache)return this._generateUncached(o,s,a);let{cache:c}=this,u=this._getSerializedCacheKeyParametersForCall(s),{generations:l,missingPromptIndices:d,startedRunManagers:f}=await this._generateCached({messages:o,cache:c,llmStringKey:u,parsedOptions:s,handledOptions:a}),p={};if(d.length>0){let m=await this._generateUncached(d.map(h=>o[h]),s,a,f!==void 0?d.map(h=>f?.[h]):void 0);await Promise.all(m.generations.map(async(h,w)=>{let _=d[w];l[_]=h;let y=Ws._convertInputToPromptValue(o[_]).toString();return c.update(y,u,h)})),p=m.llmOutput??{}}return{generations:l,llmOutput:p}}invocationParams(t){return{}}_modelType(){return"base_chat_model"}async generatePrompt(t,r,n){let i=t.map(o=>o.toChatMessages());return this.generate(i,r,n)}withStructuredOutput(t,r){if(typeof this.bindTools!="function")throw new Error('Chat model must implement ".bindTools()" to use withStructuredOutput.');if(r?.strict)throw new Error('"strict" mode is not supported for this model by default.');let n=t,i=r?.name,o=Un(n)??"A function available to call.",a=r?.method,s=r?.includeRaw;if(a==="jsonMode")throw new Error('Base withStructuredOutput implementation only supports "functionCalling" as a method.');let c=i??"extract";!zt(n)&&!ki(n)&&"name"in n&&(c=n.name);let u=zt(n)||ki(n)?dt(n):n,l=[{type:"function",function:{name:c,description:o,parameters:u}}];return Op(this.bindTools(l),Zt.from(d=>{if(!st.isInstance(d))throw new Error("Input is not an AIMessageChunk.");if(!d.tool_calls||d.tool_calls.length===0)throw new Error("No tool calls found in the response.");let f=d.tool_calls.find(p=>p.name===c);if(!f)throw new Error(`No tool call found with name ${c}.`);return f.args}),s,s?"StructuredOutputRunnable":"StructuredOutput")}},tK=class extends zi{async _generate(e,t,r){let n=new be(await this._call(e,t,r));if(typeof n.content!="string")throw new Error("Cannot generate with a simple chat model when output is not a string.");return{generations:[{text:n.content,message:n}]}}};var Oz=P({BaseLLM:()=>ak,LLM:()=>y_}),ak=class Cp extends Tp{lc_namespace=["langchain","llms",this._llmType()];async invoke(t,r){let n=Cp._convertInputToPromptValue(t);return(await this.generatePrompt([n],r,r?.callbacks)).generations[0][0].text}async*_streamResponseChunks(t,r,n){throw new Error("Not implemented.")}_separateRunnableConfigFromCallOptionsCompat(t){let[r,n]=super._separateRunnableConfigFromCallOptions(t);return n.signal=r.signal,[r,n]}async*_streamIterator(t,r){if(this._streamResponseChunks===Cp.prototype._streamResponseChunks)yield this.invoke(t,r);else{let n=Cp._convertInputToPromptValue(t),[i,o]=this._separateRunnableConfigFromCallOptionsCompat(r),a=this?.invocationParams(o),s=Ea(a),c=Et.configure(i.callbacks,this.callbacks,i.tags,this.tags,i.metadata,{...s,...this.metadata},{verbose:this.verbose}),u={options:o,invocation_params:a,batch_size:1},l=await c?.handleLLMStart(this.toJSON(),[n.toString()],i.runId,void 0,u,void 0,void 0,i.runName),d=new Si({text:""});try{for await(let f of this._streamResponseChunks(n.toString(),o,l?.[0]))d?d=d.concat(f):d=f,typeof f.text=="string"&&(yield f.text)}catch(f){throw await Promise.all((l??[]).map(p=>p?.handleLLMError(f))),f}await Promise.all((l??[]).map(f=>f?.handleLLMEnd({generations:[[d]]})))}}async generatePrompt(t,r,n){let i=t.map(o=>o.toString());return this.generate(i,r,n)}invocationParams(t){return{}}_flattenLLMResult(t){let r=[];for(let n=0;n<t.generations.length;n+=1){let i=t.generations[n];if(n===0)r.push({generations:[i],llmOutput:t.llmOutput});else{let o=t.llmOutput?{...t.llmOutput,tokenUsage:{}}:void 0;r.push({generations:[i],llmOutput:o})}}return r}async _generateUncached(t,r,n,i){let o;if(i!==void 0&&i.length===t.length)o=i;else{let u=this?.invocationParams(r),l=Ea(u),d=Et.configure(n.callbacks,this.callbacks,n.tags,this.tags,n.metadata,{...l,...this.metadata},{verbose:this.verbose}),f={options:r,invocation_params:u,batch_size:t.length};o=await d?.handleLLMStart(this.toJSON(),t,n.runId,void 0,f,void 0,void 0,n?.runName)}let a=!!o?.[0].handlers.find(Ed),s;if(a&&t.length===1&&this._streamResponseChunks!==Cp.prototype._streamResponseChunks)try{let u=await this._streamResponseChunks(t[0],r,o?.[0]),l;for await(let d of u)l===void 0?l=d:l=Wr(l,d);if(l===void 0)throw new Error("Received empty response from chat model call.");s={generations:[[l]],llmOutput:{}},await o?.[0].handleLLMEnd(s)}catch(u){throw await o?.[0].handleLLMError(u),u}else{try{s=await this._generate(t,r,o?.[0])}catch(l){throw await Promise.all((o??[]).map(d=>d?.handleLLMError(l))),l}let u=this._flattenLLMResult(s);await Promise.all((o??[]).map((l,d)=>l?.handleLLMEnd(u[d])))}let c=o?.map(u=>u.runId)||void 0;return Object.defineProperty(s,vs,{value:c?{runIds:c}:void 0,configurable:!0}),s}async _generateCached({prompts:t,cache:r,llmStringKey:n,parsedOptions:i,handledOptions:o,runId:a}){let s=this?.invocationParams(i),c=Ea(s),u=Et.configure(o.callbacks,this.callbacks,o.tags,this.tags,o.metadata,{...c,...this.metadata},{verbose:this.verbose}),l={options:i,invocation_params:s,batch_size:t.length},d=await u?.handleLLMStart(this.toJSON(),t,a,void 0,l,void 0,void 0,o?.runName),f=[],p=(await Promise.allSettled(t.map(async(w,_)=>{let y=await r.lookup(w,n);return y==null&&f.push(_),y}))).map((w,_)=>({result:w,runManager:d?.[_]})).filter(({result:w})=>w.status==="fulfilled"&&w.value!=null||w.status==="rejected"),m=[];await Promise.all(p.map(async({result:w,runManager:_},y)=>{if(w.status==="fulfilled"){let x=w.value;return m[y]=x.map(S=>(S.generationInfo={...S.generationInfo,tokenUsage:{}},S)),x.length&&await _?.handleLLMNewToken(x[0].text),_?.handleLLMEnd({generations:[x]},void 0,void 0,void 0,{cached:!0})}else return await _?.handleLLMError(w.reason,void 0,void 0,void 0,{cached:!0}),Promise.reject(w.reason)}));let h={generations:m,missingPromptIndices:f,startedRunManagers:d};return Object.defineProperty(h,vs,{value:d?{runIds:d?.map(w=>w.runId)}:void 0,configurable:!0}),h}async generate(t,r,n){if(!Array.isArray(t))throw new Error("Argument 'prompts' is expected to be a string[]");let i;Array.isArray(r)?i={stop:r}:i=r;let[o,a]=this._separateRunnableConfigFromCallOptionsCompat(i);if(o.callbacks=o.callbacks??n,!this.cache)return this._generateUncached(t,a,o);let{cache:s}=this,c=this._getSerializedCacheKeyParametersForCall(a),{generations:u,missingPromptIndices:l,startedRunManagers:d}=await this._generateCached({prompts:t,cache:s,llmStringKey:c,parsedOptions:a,handledOptions:o,runId:o.runId}),f={};if(l.length>0){let p=await this._generateUncached(l.map(m=>t[m]),a,o,d!==void 0?l.map(m=>d?.[m]):void 0);await Promise.all(p.generations.map(async(m,h)=>{let w=l[h];return u[w]=m,s.update(t[w],c,m)})),f=p.llmOutput??{}}return{generations:u,llmOutput:f}}_identifyingParams(){return{}}_modelType(){return"base_llm"}},y_=class extends ak{async _generate(e,t,r){return{generations:await Promise.all(e.map((n,i)=>this._call(n,{...t,promptIndex:i},r).then(o=>[{text:o}])))}}};var Cz=P({});var Pz=P({BaseMemory:()=>rK,getInputValue:()=>nK,getOutputValue:()=>iK,getPromptInputKey:()=>oK}),rK=class{},Rz=(e,t)=>{if(t!==void 0)return e[t];let r=Object.keys(e);if(r.length===1)return e[r[0]]},nK=(e,t)=>{let r=Rz(e,t);if(!r){let n=Object.keys(e);throw new Error(`input values have ${n.length} keys, you must specify an input key or pass only 1 key as input`)}return r},iK=(e,t)=>{let r=Rz(e,t);if(!r&&r!==""){let n=Object.keys(e);throw new Error(`output values have ${n.length} keys, you must specify an output key or pass only 1 key as output`)}return r};function oK(e,t){let r=Object.keys(e).filter(n=>!t.includes(n)&&n!=="stop");if(r.length!==1)throw new Error(`One input key expected, but got ${r.length}`);return r[0]}var sk=class extends Vu{static lc_name(){return"OutputFunctionsParser"}lc_namespace=["langchain","output_parsers","openai_functions"];lc_serializable=!0;argsOnly=!0;constructor(e){super(),this.argsOnly=e?.argsOnly??this.argsOnly}async parseResult(e){if("message"in e[0]){let t=e[0].message.additional_kwargs.function_call;if(!t)throw new Error(`No function_call in message ${JSON.stringify(e)}`);if(!t.arguments)throw new Error(`No arguments in function_call ${JSON.stringify(e)}`);return this.argsOnly?t.arguments:JSON.stringify(t)}else throw new Error(`No message in generations ${JSON.stringify(e)}`)}},ck=class extends ji{static lc_name(){return"JsonOutputFunctionsParser"}lc_namespace=["langchain","output_parsers","openai_functions"];lc_serializable=!0;outputParser;argsOnly=!0;constructor(e){super(e),this.argsOnly=e?.argsOnly??this.argsOnly,this.outputParser=new sk(e)}_diff(e,t){if(t)return ca(e??{},t)}async parsePartialResult(e){let t=e[0];if(!t.message)return;let{message:r}=t,n=r.additional_kwargs.function_call;if(n)return this.argsOnly?mi(n.arguments):{...n,arguments:mi(n.arguments)}}async parseResult(e){let t=await this.outputParser.parseResult(e);if(!t)throw new Error(`No result from "OutputFunctionsParser" ${JSON.stringify(e)}`);return this.parse(t)}async parse(e){let t=JSON.parse(e);return this.argsOnly||(t.arguments=JSON.parse(t.arguments)),t}getFormatInstructions(){return""}},Nz=class extends Vu{static lc_name(){return"JsonKeyOutputFunctionsParser"}lc_namespace=["langchain","output_parsers","openai_functions"];lc_serializable=!0;outputParser=new ck;attrName;get lc_aliases(){return{attrName:"key_name"}}constructor(e){super(e),this.attrName=e.attrName}async parseResult(e){return(await this.outputParser.parseResult(e))[this.attrName]}};var Mz=P({JsonKeyOutputFunctionsParser:()=>Nz,JsonOutputFunctionsParser:()=>ck,OutputFunctionsParser:()=>sk});var jz=P({JsonOutputKeyToolsParser:()=>h_,JsonOutputToolsParser:()=>nk,convertLangChainToolCallToOpenAI:()=>m_,makeInvalidToolCall:()=>ka,parseToolCall:()=>Ks});var Di=class extends pe{lc_serializable=!0;lc_namespace=["langchain_core","prompts",this._getPromptType()];get lc_attributes(){return{partialVariables:void 0}}inputVariables;outputParser;partialVariables;metadata;tags;constructor(e){super(e);let{inputVariables:t}=e;if(t.includes("stop"))throw new Error("Cannot have an input variable named 'stop', as it is used internally, please rename.");Object.assign(this,e)}async mergePartialAndUserVariables(e){let t=this.partialVariables??{},r={};for(let[n,i]of Object.entries(t))typeof i=="string"?r[n]=i:r[n]=await i();return{...r,...e}}async invoke(e,t){let r={...this.metadata,...t?.metadata},n=[...this.tags??[],...t?.tags??[]];return this._callWithConfig(i=>this.formatPromptValue(i),e,{...t,tags:n,metadata:r,runType:"prompt"})}};var wo=class extends Di{async formatPromptValue(e){return new kp(await this.format(e))}};var aK=Object.prototype.toString,qu=Array.isArray||function(t){return aK.call(t)==="[object Array]"};function lk(e){return typeof e=="function"}function sK(e){return qu(e)?"array":typeof e}function uk(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function zz(e,t){return e!=null&&typeof e=="object"&&t in e}function cK(e,t){return e!=null&&typeof e!="object"&&e.hasOwnProperty&&e.hasOwnProperty(t)}var uK=RegExp.prototype.test;function lK(e,t){return uK.call(e,t)}var dK=/\S/;function pK(e){return!lK(dK,e)}var fK={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/","`":"`","=":"="};function mK(e){return String(e).replace(/[&<>"'`=\/]/g,function(r){return fK[r]})}var hK=/\s*/,gK=/\s+/,Dz=/\s*=/,_K=/\s*\}/,yK=/#|\^|\/|>|\{|&|=|!/;function vK(e,t){if(!e)return[];var r=!1,n=[],i=[],o=[],a=!1,s=!1,c="",u=0;function l(){if(a&&!s)for(;o.length;)delete i[o.pop()];else o=[];a=!1,s=!1}var d,f,p;function m(b){if(typeof b=="string"&&(b=b.split(gK,2)),!qu(b)||b.length!==2)throw new Error("Invalid tags: "+b);d=new RegExp(uk(b[0])+"\\s*"),f=new RegExp("\\s*"+uk(b[1])),p=new RegExp("\\s*"+uk("}"+b[1]))}m(t||En.tags);for(var h=new Rp(e),w,_,y,x,S,$;!h.eos();){if(w=h.pos,y=h.scanUntil(d),y)for(var j=0,C=y.length;j<C;++j)x=y.charAt(j),pK(x)?(o.push(i.length),c+=x):(s=!0,r=!0,c+=" "),i.push(["text",x,w,w+1]),w+=1,x===`
|
|
198
|
+
`))}let n={name:e.function.name,args:r,type:"tool_call"};return t?.returnId&&(n.id=e.id),n}function m_(e){if(e.id===void 0)throw new Error('All OpenAI tool calls must have an "id" field.');return{id:e.id,type:"function",function:{name:e.name,arguments:JSON.stringify(e.args)}}}function ka(e,t){return{name:e.function?.name,args:e.function?.arguments,id:e.id,error:t,type:"invalid_tool_call"}}var nk=class extends ji{static lc_name(){return"JsonOutputToolsParser"}returnId=!1;lc_namespace=["langchain","output_parsers","openai_tools"];lc_serializable=!0;constructor(e){super(e),this.returnId=e?.returnId??this.returnId}_diff(){throw new Error("Not supported.")}async parse(){throw new Error("Not implemented.")}async parseResult(e){return await this.parsePartialResult(e,!1)}async parsePartialResult(e,t=!0){let r=e[0].message,n;if(hi(r)&&r.tool_calls?.length?n=r.tool_calls.map(o=>{let{id:a,...s}=o;return this.returnId?{id:a,...s}:s}):r.additional_kwargs.tool_calls!==void 0&&(n=JSON.parse(JSON.stringify(r.additional_kwargs.tool_calls)).map(o=>Ks(o,{returnId:this.returnId,partial:t}))),!n)return[];let i=[];for(let o of n)if(o!==void 0){let a={type:o.name,args:o.args,id:o.id};i.push(a)}return i}},h_=class extends nk{static lc_name(){return"JsonOutputKeyToolsParser"}lc_namespace=["langchain","output_parsers","openai_tools"];lc_serializable=!0;returnId=!1;keyName;returnSingle=!1;zodSchema;serializableSchema;constructor(e){super(e),this.keyName=e.keyName,this.returnSingle=e.returnSingle??this.returnSingle,"zodSchema"in e&&(this.zodSchema=e.zodSchema),"serializableSchema"in e&&(this.serializableSchema=e.serializableSchema)}async _validateResult(e){if(this.serializableSchema!==void 0){let r=await this.serializableSchema["~standard"].validate(e);if(r.issues)throw new ar(`Failed to parse. Text: "${JSON.stringify(e,null,2)}". Error: ${JSON.stringify(r.issues)}`,JSON.stringify(e,null,2));return r.value}if(this.zodSchema===void 0)return e;let t=await jg(this.zodSchema,e);if(t.success)return t.data;throw new ar(`Failed to parse. Text: "${JSON.stringify(e,null,2)}". Error: ${JSON.stringify(t.error?.issues)}`,JSON.stringify(e,null,2))}async parsePartialResult(e){let t=(await super.parsePartialResult(e)).filter(n=>n.type===this.keyName),r=t;if(t.length)return this.returnId||(r=t.map(n=>n.args)),this.returnSingle?r[0]:r}async parseResult(e){let t=(await super.parsePartialResult(e,!1)).filter(n=>n.type===this.keyName),r=t;if(t.length)return this.returnId||(r=t.map(n=>n.args)),this.returnSingle?this._validateResult(r[0]):await Promise.all(r.map(n=>this._validateResult(n)))}};var $z=P({assembleStructuredOutputPipeline:()=>Op,createContentParser:()=>g_,createFunctionCallingParser:()=>ik});function g_(e){return zt(e)?Ap.fromZodSchema(e):ki(e)?d_.fromSerializableSchema(e):new Gu}function ik(e,t,r){let n=r??h_;return zt(e)?new n({returnSingle:!0,keyName:t,zodSchema:e}):ki(e)?new n({returnSingle:!0,keyName:t,serializableSchema:e}):new n({returnSingle:!0,keyName:t})}function Op(e,t,r,n){if(!r){let c=e.pipe(t);return n?c.withConfig({runName:n}):c}let i=vo.assign({parsed:(c,u)=>t.invoke(c.raw,u)}),o=vo.assign({parsed:()=>null}),a=i.withFallbacks({fallbacks:[o]}),s=tn.from([{raw:e},a]);return n?s.withConfig({runName:n}):s}var Tz=e=>e();function __(e){let t=e.constructor;return new t({...e,content:e.contentBlocks,response_metadata:{...e.response_metadata,output_version:"v1"}})}function Ea(e){return Object.fromEntries(Object.entries(e).filter(([t,r])=>t!=="tools"&&r!==null&&r!==void 0))}var Az=P({BaseChatModel:()=>zi,SimpleChatModel:()=>tK});function ok(e){let t=[];for(let r of e){let n=r;if(Array.isArray(r.content))for(let i=0;i<r.content.length;i++){let o=r.content[i];(Zc(o)||Gc(o))&&n===r&&(n=new r.constructor({...n,content:[...r.content.slice(0,i),_m(o),...r.content.slice(i+1)]}))}t.push(n)}return t}var zi=class Ws extends Tp{lc_namespace=["langchain","chat_models",this._llmType()];disableStreaming=!1;outputVersion;get callKeys(){return[...super.callKeys,"outputVersion"]}constructor(t){super(t),this.outputVersion=Tz(()=>{let r=t.outputVersion??et("LC_OUTPUT_VERSION");return r&&["v0","v1"].includes(r)?r:"v0"})}_separateRunnableConfigFromCallOptionsCompat(t){let[r,n]=super._separateRunnableConfigFromCallOptions(t);return n.signal=r.signal,[r,n]}async invoke(t,r){let n=Ws._convertInputToPromptValue(t);return(await this.generatePrompt([n],r,r?.callbacks)).generations[0][0].message}async*_streamResponseChunks(t,r,n){throw new Error("Not implemented.")}async*_streamIterator(t,r){if(this._streamResponseChunks===Ws.prototype._streamResponseChunks||this.disableStreaming)yield this.invoke(t,r);else{let n=Ws._convertInputToPromptValue(t).toChatMessages(),[i,o]=this._separateRunnableConfigFromCallOptionsCompat(r),a={...i.metadata,...this.getLsParamsWithDefaults(o)},s=this?.invocationParams(o),c=Ea(s),u=Et.configure(i.callbacks,this.callbacks,i.tags,this.tags,a,{...c,...this.metadata},{verbose:this.verbose}),l={options:o,invocation_params:s,batch_size:1},d=o.outputVersion??this.outputVersion,f=await u?.handleChatModelStart(this.toJSON(),[ok(n)],i.runId,void 0,l,void 0,void 0,i.runName),p,m;try{for await(let h of this._streamResponseChunks(n,o,f?.[0])){if(o.signal?.throwIfAborted(),h.message.id==null){let w=f?.at(0)?.runId;w!=null&&h.message._updateId(`run-${w}`)}h.message.response_metadata={...h.generationInfo,...h.message.response_metadata},d==="v1"?yield __(h.message):yield h.message,p?p=p.concat(h):p=h,Sd(h.message)&&h.message.usage_metadata!==void 0&&(m={tokenUsage:{promptTokens:h.message.usage_metadata.input_tokens,completionTokens:h.message.usage_metadata.output_tokens,totalTokens:h.message.usage_metadata.total_tokens}})}o.signal?.throwIfAborted()}catch(h){throw await Promise.all((f??[]).map(w=>w?.handleLLMError(h))),h}await Promise.all((f??[]).map(h=>h?.handleLLMEnd({generations:[[p]],llmOutput:m})))}}getLsParams(t){let r=this.getName().startsWith("Chat")?this.getName().replace("Chat",""):this.getName();return{ls_model_type:"chat",ls_stop:t.stop,ls_provider:r}}getLsParamsWithDefaults(t){return{...this.getLsParams(t),ls_integration:"langchain_chat_model"}}async _generateUncached(t,r,n,i){let o=t.map(d=>d.map(tr)),a;if(i!==void 0&&i.length===o.length)a=i;else{let d={...n.metadata,...this.getLsParamsWithDefaults(r)},f=this?.invocationParams(r),p=Ea(f),m=Et.configure(n.callbacks,this.callbacks,n.tags,this.tags,d,{...p,...this.metadata},{verbose:this.verbose}),h={options:r,invocation_params:f,batch_size:1};a=await m?.handleChatModelStart(this.toJSON(),o.map(ok),n.runId,void 0,h,void 0,void 0,n.runName)}let s=r.outputVersion??this.outputVersion,c=[],u=[];if(a?.[0].handlers.find(Ed)&&!this.disableStreaming&&o.length===1&&this._streamResponseChunks!==Ws.prototype._streamResponseChunks)try{let d=await this._streamResponseChunks(o[0],r,a?.[0]),f,p;for await(let m of d){if(r.signal?.aborted){let h=f?.message;throw new hm("Model invocation was aborted.",h)}if(m.message.id==null){let h=a?.at(0)?.runId;h!=null&&m.message._updateId(`run-${h}`)}f===void 0?f=m:f=Wr(f,m),Sd(m.message)&&m.message.usage_metadata!==void 0&&(p={tokenUsage:{promptTokens:m.message.usage_metadata.input_tokens,completionTokens:m.message.usage_metadata.output_tokens,totalTokens:m.message.usage_metadata.total_tokens}})}if(r.signal?.aborted){let m=f?.message;throw new hm("Model invocation was aborted.",m)}if(f===void 0)throw new Error("Received empty response from chat model call.");c.push([f]),await a?.[0].handleLLMEnd({generations:c,llmOutput:p})}catch(d){throw await a?.[0].handleLLMError(d),d}else{let d=await Promise.allSettled(o.map(async(f,p)=>{let m=await this._generate(f,{...r,promptIndex:p},a?.[p]);if(s==="v1")for(let h of m.generations)h.message=__(h.message);return m}));await Promise.all(d.map(async(f,p)=>{if(f.status==="fulfilled"){let m=f.value;for(let h of m.generations){if(h.message.id==null){let w=a?.at(0)?.runId;w!=null&&h.message._updateId(`run-${w}`)}h.message.response_metadata={...h.generationInfo,...h.message.response_metadata}}return m.generations.length===1&&(m.generations[0].message.response_metadata={...m.llmOutput,...m.generations[0].message.response_metadata}),c[p]=m.generations,u[p]=m.llmOutput,a?.[p]?.handleLLMEnd({generations:[m.generations],llmOutput:m.llmOutput})}else return await a?.[p]?.handleLLMError(f.reason),Promise.reject(f.reason)}))}let l={generations:c,llmOutput:u.length?this._combineLLMOutput?.(...u):void 0};return Object.defineProperty(l,vs,{value:a?{runIds:a?.map(d=>d.runId)}:void 0,configurable:!0}),l}async _generateCached({messages:t,cache:r,llmStringKey:n,parsedOptions:i,handledOptions:o}){let a=t.map(y=>y.map(tr)),s={...o.metadata,...this.getLsParamsWithDefaults(i)},c=this?.invocationParams(i),u=Ea(c),l=Et.configure(o.callbacks,this.callbacks,o.tags,this.tags,s,{...u,...this.metadata},{verbose:this.verbose}),d={options:i,invocation_params:c,batch_size:1},f=await l?.handleChatModelStart(this.toJSON(),a.map(ok),o.runId,void 0,d,void 0,void 0,o.runName),p=[],m=(await Promise.allSettled(a.map(async(y,x)=>{let S=Ws._convertInputToPromptValue(y).toString(),$=await r.lookup(S,n);return $==null&&p.push(x),$}))).map((y,x)=>({result:y,runManager:f?.[x]})).filter(({result:y})=>y.status==="fulfilled"&&y.value!=null||y.status==="rejected"),h=i.outputVersion??this.outputVersion,w=[];await Promise.all(m.map(async({result:y,runManager:x},S)=>{if(y.status==="fulfilled"){let $=y.value;return w[S]=$.map(j=>("message"in j&&ft(j.message)&&hi(j.message)&&(j.message.usage_metadata={input_tokens:0,output_tokens:0,total_tokens:0},h==="v1"&&(j.message=__(j.message))),j.generationInfo={...j.generationInfo,tokenUsage:{}},j)),$.length&&await x?.handleLLMNewToken($[0].text),x?.handleLLMEnd({generations:[$]},void 0,void 0,void 0,{cached:!0})}else return await x?.handleLLMError(y.reason,void 0,void 0,void 0,{cached:!0}),Promise.reject(y.reason)}));let _={generations:w,missingPromptIndices:p,startedRunManagers:f};return Object.defineProperty(_,vs,{value:f?{runIds:f?.map(y=>y.runId)}:void 0,configurable:!0}),_}async generate(t,r,n){let i;Array.isArray(r)?i={stop:r}:i=r;let o=t.map(m=>m.map(tr)),[a,s]=this._separateRunnableConfigFromCallOptionsCompat(i);if(a.callbacks=a.callbacks??n,!this.cache)return this._generateUncached(o,s,a);let{cache:c}=this,u=this._getSerializedCacheKeyParametersForCall(s),{generations:l,missingPromptIndices:d,startedRunManagers:f}=await this._generateCached({messages:o,cache:c,llmStringKey:u,parsedOptions:s,handledOptions:a}),p={};if(d.length>0){let m=await this._generateUncached(d.map(h=>o[h]),s,a,f!==void 0?d.map(h=>f?.[h]):void 0);await Promise.all(m.generations.map(async(h,w)=>{let _=d[w];l[_]=h;let y=Ws._convertInputToPromptValue(o[_]).toString();return c.update(y,u,h)})),p=m.llmOutput??{}}return{generations:l,llmOutput:p}}invocationParams(t){return{}}_modelType(){return"base_chat_model"}async generatePrompt(t,r,n){let i=t.map(o=>o.toChatMessages());return this.generate(i,r,n)}withStructuredOutput(t,r){if(typeof this.bindTools!="function")throw new Error('Chat model must implement ".bindTools()" to use withStructuredOutput.');if(r?.strict)throw new Error('"strict" mode is not supported for this model by default.');let n=t,i=r?.name,o=Un(n)??"A function available to call.",a=r?.method,s=r?.includeRaw;if(a==="jsonMode")throw new Error('Base withStructuredOutput implementation only supports "functionCalling" as a method.');let c=i??"extract";!zt(n)&&!ki(n)&&"name"in n&&(c=n.name);let u=zt(n)||ki(n)?dt(n):n,l=[{type:"function",function:{name:c,description:o,parameters:u}}];return Op(this.bindTools(l),Zt.from(d=>{if(!at.isInstance(d))throw new Error("Input is not an AIMessageChunk.");if(!d.tool_calls||d.tool_calls.length===0)throw new Error("No tool calls found in the response.");let f=d.tool_calls.find(p=>p.name===c);if(!f)throw new Error(`No tool call found with name ${c}.`);return f.args}),s,s?"StructuredOutputRunnable":"StructuredOutput")}},tK=class extends zi{async _generate(e,t,r){let n=new be(await this._call(e,t,r));if(typeof n.content!="string")throw new Error("Cannot generate with a simple chat model when output is not a string.");return{generations:[{text:n.content,message:n}]}}};var Oz=P({BaseLLM:()=>ak,LLM:()=>y_}),ak=class Cp extends Tp{lc_namespace=["langchain","llms",this._llmType()];async invoke(t,r){let n=Cp._convertInputToPromptValue(t);return(await this.generatePrompt([n],r,r?.callbacks)).generations[0][0].text}async*_streamResponseChunks(t,r,n){throw new Error("Not implemented.")}_separateRunnableConfigFromCallOptionsCompat(t){let[r,n]=super._separateRunnableConfigFromCallOptions(t);return n.signal=r.signal,[r,n]}async*_streamIterator(t,r){if(this._streamResponseChunks===Cp.prototype._streamResponseChunks)yield this.invoke(t,r);else{let n=Cp._convertInputToPromptValue(t),[i,o]=this._separateRunnableConfigFromCallOptionsCompat(r),a=this?.invocationParams(o),s=Ea(a),c=Et.configure(i.callbacks,this.callbacks,i.tags,this.tags,i.metadata,{...s,...this.metadata},{verbose:this.verbose}),u={options:o,invocation_params:a,batch_size:1},l=await c?.handleLLMStart(this.toJSON(),[n.toString()],i.runId,void 0,u,void 0,void 0,i.runName),d=new Si({text:""});try{for await(let f of this._streamResponseChunks(n.toString(),o,l?.[0]))d?d=d.concat(f):d=f,typeof f.text=="string"&&(yield f.text)}catch(f){throw await Promise.all((l??[]).map(p=>p?.handleLLMError(f))),f}await Promise.all((l??[]).map(f=>f?.handleLLMEnd({generations:[[d]]})))}}async generatePrompt(t,r,n){let i=t.map(o=>o.toString());return this.generate(i,r,n)}invocationParams(t){return{}}_flattenLLMResult(t){let r=[];for(let n=0;n<t.generations.length;n+=1){let i=t.generations[n];if(n===0)r.push({generations:[i],llmOutput:t.llmOutput});else{let o=t.llmOutput?{...t.llmOutput,tokenUsage:{}}:void 0;r.push({generations:[i],llmOutput:o})}}return r}async _generateUncached(t,r,n,i){let o;if(i!==void 0&&i.length===t.length)o=i;else{let u=this?.invocationParams(r),l=Ea(u),d=Et.configure(n.callbacks,this.callbacks,n.tags,this.tags,n.metadata,{...l,...this.metadata},{verbose:this.verbose}),f={options:r,invocation_params:u,batch_size:t.length};o=await d?.handleLLMStart(this.toJSON(),t,n.runId,void 0,f,void 0,void 0,n?.runName)}let a=!!o?.[0].handlers.find(Ed),s;if(a&&t.length===1&&this._streamResponseChunks!==Cp.prototype._streamResponseChunks)try{let u=await this._streamResponseChunks(t[0],r,o?.[0]),l;for await(let d of u)l===void 0?l=d:l=Wr(l,d);if(l===void 0)throw new Error("Received empty response from chat model call.");s={generations:[[l]],llmOutput:{}},await o?.[0].handleLLMEnd(s)}catch(u){throw await o?.[0].handleLLMError(u),u}else{try{s=await this._generate(t,r,o?.[0])}catch(l){throw await Promise.all((o??[]).map(d=>d?.handleLLMError(l))),l}let u=this._flattenLLMResult(s);await Promise.all((o??[]).map((l,d)=>l?.handleLLMEnd(u[d])))}let c=o?.map(u=>u.runId)||void 0;return Object.defineProperty(s,vs,{value:c?{runIds:c}:void 0,configurable:!0}),s}async _generateCached({prompts:t,cache:r,llmStringKey:n,parsedOptions:i,handledOptions:o,runId:a}){let s=this?.invocationParams(i),c=Ea(s),u=Et.configure(o.callbacks,this.callbacks,o.tags,this.tags,o.metadata,{...c,...this.metadata},{verbose:this.verbose}),l={options:i,invocation_params:s,batch_size:t.length},d=await u?.handleLLMStart(this.toJSON(),t,a,void 0,l,void 0,void 0,o?.runName),f=[],p=(await Promise.allSettled(t.map(async(w,_)=>{let y=await r.lookup(w,n);return y==null&&f.push(_),y}))).map((w,_)=>({result:w,runManager:d?.[_]})).filter(({result:w})=>w.status==="fulfilled"&&w.value!=null||w.status==="rejected"),m=[];await Promise.all(p.map(async({result:w,runManager:_},y)=>{if(w.status==="fulfilled"){let x=w.value;return m[y]=x.map(S=>(S.generationInfo={...S.generationInfo,tokenUsage:{}},S)),x.length&&await _?.handleLLMNewToken(x[0].text),_?.handleLLMEnd({generations:[x]},void 0,void 0,void 0,{cached:!0})}else return await _?.handleLLMError(w.reason,void 0,void 0,void 0,{cached:!0}),Promise.reject(w.reason)}));let h={generations:m,missingPromptIndices:f,startedRunManagers:d};return Object.defineProperty(h,vs,{value:d?{runIds:d?.map(w=>w.runId)}:void 0,configurable:!0}),h}async generate(t,r,n){if(!Array.isArray(t))throw new Error("Argument 'prompts' is expected to be a string[]");let i;Array.isArray(r)?i={stop:r}:i=r;let[o,a]=this._separateRunnableConfigFromCallOptionsCompat(i);if(o.callbacks=o.callbacks??n,!this.cache)return this._generateUncached(t,a,o);let{cache:s}=this,c=this._getSerializedCacheKeyParametersForCall(a),{generations:u,missingPromptIndices:l,startedRunManagers:d}=await this._generateCached({prompts:t,cache:s,llmStringKey:c,parsedOptions:a,handledOptions:o,runId:o.runId}),f={};if(l.length>0){let p=await this._generateUncached(l.map(m=>t[m]),a,o,d!==void 0?l.map(m=>d?.[m]):void 0);await Promise.all(p.generations.map(async(m,h)=>{let w=l[h];return u[w]=m,s.update(t[w],c,m)})),f=p.llmOutput??{}}return{generations:u,llmOutput:f}}_identifyingParams(){return{}}_modelType(){return"base_llm"}},y_=class extends ak{async _generate(e,t,r){return{generations:await Promise.all(e.map((n,i)=>this._call(n,{...t,promptIndex:i},r).then(o=>[{text:o}])))}}};var Cz=P({});var Pz=P({BaseMemory:()=>rK,getInputValue:()=>nK,getOutputValue:()=>iK,getPromptInputKey:()=>oK}),rK=class{},Rz=(e,t)=>{if(t!==void 0)return e[t];let r=Object.keys(e);if(r.length===1)return e[r[0]]},nK=(e,t)=>{let r=Rz(e,t);if(!r){let n=Object.keys(e);throw new Error(`input values have ${n.length} keys, you must specify an input key or pass only 1 key as input`)}return r},iK=(e,t)=>{let r=Rz(e,t);if(!r&&r!==""){let n=Object.keys(e);throw new Error(`output values have ${n.length} keys, you must specify an output key or pass only 1 key as output`)}return r};function oK(e,t){let r=Object.keys(e).filter(n=>!t.includes(n)&&n!=="stop");if(r.length!==1)throw new Error(`One input key expected, but got ${r.length}`);return r[0]}var sk=class extends Vu{static lc_name(){return"OutputFunctionsParser"}lc_namespace=["langchain","output_parsers","openai_functions"];lc_serializable=!0;argsOnly=!0;constructor(e){super(),this.argsOnly=e?.argsOnly??this.argsOnly}async parseResult(e){if("message"in e[0]){let t=e[0].message.additional_kwargs.function_call;if(!t)throw new Error(`No function_call in message ${JSON.stringify(e)}`);if(!t.arguments)throw new Error(`No arguments in function_call ${JSON.stringify(e)}`);return this.argsOnly?t.arguments:JSON.stringify(t)}else throw new Error(`No message in generations ${JSON.stringify(e)}`)}},ck=class extends ji{static lc_name(){return"JsonOutputFunctionsParser"}lc_namespace=["langchain","output_parsers","openai_functions"];lc_serializable=!0;outputParser;argsOnly=!0;constructor(e){super(e),this.argsOnly=e?.argsOnly??this.argsOnly,this.outputParser=new sk(e)}_diff(e,t){if(t)return ca(e??{},t)}async parsePartialResult(e){let t=e[0];if(!t.message)return;let{message:r}=t,n=r.additional_kwargs.function_call;if(n)return this.argsOnly?mi(n.arguments):{...n,arguments:mi(n.arguments)}}async parseResult(e){let t=await this.outputParser.parseResult(e);if(!t)throw new Error(`No result from "OutputFunctionsParser" ${JSON.stringify(e)}`);return this.parse(t)}async parse(e){let t=JSON.parse(e);return this.argsOnly||(t.arguments=JSON.parse(t.arguments)),t}getFormatInstructions(){return""}},Nz=class extends Vu{static lc_name(){return"JsonKeyOutputFunctionsParser"}lc_namespace=["langchain","output_parsers","openai_functions"];lc_serializable=!0;outputParser=new ck;attrName;get lc_aliases(){return{attrName:"key_name"}}constructor(e){super(e),this.attrName=e.attrName}async parseResult(e){return(await this.outputParser.parseResult(e))[this.attrName]}};var Mz=P({JsonKeyOutputFunctionsParser:()=>Nz,JsonOutputFunctionsParser:()=>ck,OutputFunctionsParser:()=>sk});var jz=P({JsonOutputKeyToolsParser:()=>h_,JsonOutputToolsParser:()=>nk,convertLangChainToolCallToOpenAI:()=>m_,makeInvalidToolCall:()=>ka,parseToolCall:()=>Ks});var Di=class extends pe{lc_serializable=!0;lc_namespace=["langchain_core","prompts",this._getPromptType()];get lc_attributes(){return{partialVariables:void 0}}inputVariables;outputParser;partialVariables;metadata;tags;constructor(e){super(e);let{inputVariables:t}=e;if(t.includes("stop"))throw new Error("Cannot have an input variable named 'stop', as it is used internally, please rename.");Object.assign(this,e)}async mergePartialAndUserVariables(e){let t=this.partialVariables??{},r={};for(let[n,i]of Object.entries(t))typeof i=="string"?r[n]=i:r[n]=await i();return{...r,...e}}async invoke(e,t){let r={...this.metadata,...t?.metadata},n=[...this.tags??[],...t?.tags??[]];return this._callWithConfig(i=>this.formatPromptValue(i),e,{...t,tags:n,metadata:r,runType:"prompt"})}};var wo=class extends Di{async formatPromptValue(e){return new kp(await this.format(e))}};var aK=Object.prototype.toString,qu=Array.isArray||function(t){return aK.call(t)==="[object Array]"};function lk(e){return typeof e=="function"}function sK(e){return qu(e)?"array":typeof e}function uk(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function zz(e,t){return e!=null&&typeof e=="object"&&t in e}function cK(e,t){return e!=null&&typeof e!="object"&&e.hasOwnProperty&&e.hasOwnProperty(t)}var uK=RegExp.prototype.test;function lK(e,t){return uK.call(e,t)}var dK=/\S/;function pK(e){return!lK(dK,e)}var fK={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/","`":"`","=":"="};function mK(e){return String(e).replace(/[&<>"'`=\/]/g,function(r){return fK[r]})}var hK=/\s*/,gK=/\s+/,Dz=/\s*=/,_K=/\s*\}/,yK=/#|\^|\/|>|\{|&|=|!/;function vK(e,t){if(!e)return[];var r=!1,n=[],i=[],o=[],a=!1,s=!1,c="",u=0;function l(){if(a&&!s)for(;o.length;)delete i[o.pop()];else o=[];a=!1,s=!1}var d,f,p;function m(b){if(typeof b=="string"&&(b=b.split(gK,2)),!qu(b)||b.length!==2)throw new Error("Invalid tags: "+b);d=new RegExp(uk(b[0])+"\\s*"),f=new RegExp("\\s*"+uk(b[1])),p=new RegExp("\\s*"+uk("}"+b[1]))}m(t||En.tags);for(var h=new Rp(e),w,_,y,x,S,$;!h.eos();){if(w=h.pos,y=h.scanUntil(d),y)for(var j=0,C=y.length;j<C;++j)x=y.charAt(j),pK(x)?(o.push(i.length),c+=x):(s=!0,r=!0,c+=" "),i.push(["text",x,w,w+1]),w+=1,x===`
|
|
199
199
|
`&&(l(),c="",u=0,r=!1);if(!h.scan(d))break;if(a=!0,_=h.scan(yK)||"name",h.scan(hK),_==="="?(y=h.scanUntil(Dz),h.scan(Dz),h.scanUntil(f)):_==="{"?(y=h.scanUntil(p),h.scan(_K),h.scanUntil(f),_="&"):y=h.scanUntil(f),!h.scan(f))throw new Error("Unclosed tag at "+h.pos);if(_==">"?S=[_,y,w,h.pos,c,u,r]:S=[_,y,w,h.pos],u++,i.push(S),_==="#"||_==="^")n.push(S);else if(_==="/"){if($=n.pop(),!$)throw new Error('Unopened section "'+y+'" at '+w);if($[1]!==y)throw new Error('Unclosed section "'+$[1]+'" at '+w)}else _==="name"||_==="{"||_==="&"?s=!0:_==="="&&m(y)}if(l(),$=n.pop(),$)throw new Error('Unclosed section "'+$[1]+'" at '+h.pos);return wK(bK(i))}function bK(e){for(var t=[],r,n,i=0,o=e.length;i<o;++i)r=e[i],r&&(r[0]==="text"&&n&&n[0]==="text"?(n[1]+=r[1],n[3]=r[3]):(t.push(r),n=r));return t}function wK(e){for(var t=[],r=t,n=[],i,o,a=0,s=e.length;a<s;++a)switch(i=e[a],i[0]){case"#":case"^":r.push(i),n.push(i),r=i[4]=[];break;case"/":o=n.pop(),o[5]=i[2],r=n.length>0?n[n.length-1][4]:t;break;default:r.push(i)}return t}function Rp(e){this.string=e,this.tail=e,this.pos=0}Rp.prototype.eos=function(){return this.tail===""};Rp.prototype.scan=function(t){var r=this.tail.match(t);if(!r||r.index!==0)return"";var n=r[0];return this.tail=this.tail.substring(n.length),this.pos+=n.length,n};Rp.prototype.scanUntil=function(t){var r=this.tail.search(t),n;switch(r){case-1:n=this.tail,this.tail="";break;case 0:n="";break;default:n=this.tail.substring(0,r),this.tail=this.tail.substring(r)}return this.pos+=n.length,n};function Hu(e,t){this.view=e,this.cache={".":this.view},this.parent=t}Hu.prototype.push=function(t){return new Hu(t,this)};Hu.prototype.lookup=function(t){var r=this.cache,n;if(r.hasOwnProperty(t))n=r[t];else{for(var i=this,o,a,s,c=!1;i;){if(t.indexOf(".")>0)for(o=i.view,a=t.split("."),s=0;o!=null&&s<a.length;)s===a.length-1&&(c=zz(o,a[s])||cK(o,a[s])),o=o[a[s++]];else o=i.view[t],c=zz(i.view,t);if(c){n=o;break}i=i.parent}r[t]=n}return lk(n)&&(n=n.call(this.view)),n};function kr(){this.templateCache={_cache:{},set:function(t,r){this._cache[t]=r},get:function(t){return this._cache[t]},clear:function(){this._cache={}}}}kr.prototype.clearCache=function(){typeof this.templateCache<"u"&&this.templateCache.clear()};kr.prototype.parse=function(t,r){var n=this.templateCache,i=t+":"+(r||En.tags).join(":"),o=typeof n<"u",a=o?n.get(i):void 0;return a==null&&(a=vK(t,r),o&&n.set(i,a)),a};kr.prototype.render=function(t,r,n,i){var o=this.getConfigTags(i),a=this.parse(t,o),s=r instanceof Hu?r:new Hu(r,void 0);return this.renderTokens(a,s,n,t,i)};kr.prototype.renderTokens=function(t,r,n,i,o){for(var a="",s,c,u,l=0,d=t.length;l<d;++l)u=void 0,s=t[l],c=s[0],c==="#"?u=this.renderSection(s,r,n,i,o):c==="^"?u=this.renderInverted(s,r,n,i,o):c===">"?u=this.renderPartial(s,r,n,o):c==="&"?u=this.unescapedValue(s,r):c==="name"?u=this.escapedValue(s,r,o):c==="text"&&(u=this.rawValue(s)),u!==void 0&&(a+=u);return a};kr.prototype.renderSection=function(t,r,n,i,o){var a=this,s="",c=r.lookup(t[1]);function u(f){return a.render(f,r,n,o)}if(c){if(qu(c))for(var l=0,d=c.length;l<d;++l)s+=this.renderTokens(t[4],r.push(c[l]),n,i,o);else if(typeof c=="object"||typeof c=="string"||typeof c=="number")s+=this.renderTokens(t[4],r.push(c),n,i,o);else if(lk(c)){if(typeof i!="string")throw new Error("Cannot use higher-order sections without the original template");c=c.call(r.view,i.slice(t[3],t[5]),u),c!=null&&(s+=c)}else s+=this.renderTokens(t[4],r,n,i,o);return s}};kr.prototype.renderInverted=function(t,r,n,i,o){var a=r.lookup(t[1]);if(!a||qu(a)&&a.length===0)return this.renderTokens(t[4],r,n,i,o)};kr.prototype.indentPartial=function(t,r,n){for(var i=r.replace(/[^ \t]/g,""),o=t.split(`
|
|
200
200
|
`),a=0;a<o.length;a++)o[a].length&&(a>0||!n)&&(o[a]=i+o[a]);return o.join(`
|
|
201
201
|
`)};kr.prototype.renderPartial=function(t,r,n,i){if(n){var o=this.getConfigTags(i),a=lk(n)?n(t[1]):n[t[1]];if(a!=null){var s=t[6],c=t[5],u=t[4],l=a;c==0&&u&&(l=this.indentPartial(a,u,s));var d=this.parse(l,o);return this.renderTokens(d,r,n,l,i)}}};kr.prototype.unescapedValue=function(t,r){var n=r.lookup(t[1]);if(n!=null)return n};kr.prototype.escapedValue=function(t,r,n){var i=this.getConfigEscape(n)||En.escape,o=r.lookup(t[1]);if(o!=null)return typeof o=="number"&&i===En.escape?String(o):i(o)};kr.prototype.rawValue=function(t){return t[1]};kr.prototype.getConfigTags=function(t){return qu(t)?t:t&&typeof t=="object"?t.tags:void 0};kr.prototype.getConfigEscape=function(t){if(t&&typeof t=="object"&&!qu(t))return t.escape};var En={name:"mustache.js",version:"4.2.0",tags:["{{","}}"],clearCache:void 0,escape:void 0,parse:void 0,render:void 0,Scanner:void 0,Context:void 0,Writer:void 0,set templateCache(e){Pp.templateCache=e},get templateCache(){return Pp.templateCache}},Pp=new kr;En.clearCache=function(){return Pp.clearCache()};En.parse=function(t,r){return Pp.parse(t,r)};En.render=function(t,r,n,i){if(typeof t!="string")throw new TypeError('Invalid template! Template should be a "string" but "'+sK(t)+'" was given as the first argument for mustache#render(template, view, partials)');return Pp.render(t,r,n,i)};En.escape=mK;En.Scanner=Rp;En.Context=Hu;En.Writer=kr;var v_=En;function Lz(){v_.escape=e=>e}var Js=e=>{let t=e.split(""),r=[],n=(o,a)=>{for(let s=a;s<t.length;s+=1)if(o.includes(t[s]))return s;return-1},i=0;for(;i<t.length;)if(t[i]==="{"&&i+1<t.length&&t[i+1]==="{")r.push({type:"literal",text:"{"}),i+=2;else if(t[i]==="}"&&i+1<t.length&&t[i+1]==="}")r.push({type:"literal",text:"}"}),i+=2;else if(t[i]==="{"){let o=n("}",i);if(o<0)throw new Error("Unclosed '{' in template.");r.push({type:"variable",name:t.slice(i+1,o).join("")}),i=o+1}else{if(t[i]==="}")throw new Error("Single '}' in template.");{let o=n("{}",i),a=(o<0?t.slice(i):t.slice(i,o)).join("");r.push({type:"literal",text:a}),i=o<0?t.length:o}}return r},Uz=(e,t=[])=>{let r=[];for(let n of e)if(n[0]==="name"){let i=n[1].includes(".")?n[1].split(".")[0]:n[1];r.push({type:"variable",name:i})}else if(["#","&","^",">"].includes(n[0])){if(r.push({type:"variable",name:n[1]}),n[0]==="#"&&n.length>4&&Array.isArray(n[4])){let i=[...t,n[1]],o=Uz(n[4],i);r.push(...o)}}else r.push({type:"literal",text:n[1]});return r},Ku=e=>(Lz(),Uz(v_.parse(e))),dk=(e,t)=>Js(e).reduce((r,n)=>{if(n.type==="variable"){if(n.name in t)return r+(typeof t[n.name]=="string"?t[n.name]:JSON.stringify(t[n.name]));throw new Error(`(f-string) Missing value for input ${n.name}`)}return r+n.text},""),pk=(e,t)=>(Lz(),v_.render(e,t)),Np={"f-string":dk,mustache:pk},fk={"f-string":Js,mustache:Ku},sr=(e,t,r)=>{try{return Np[t](e,r)}catch(n){throw no(n,"INVALID_PROMPT_INPUT")}},Xs=(e,t)=>fk[t](e),xo=(e,t,r)=>{if(!(t in Np)){let n=Object.keys(Np);throw new Error(`Invalid template format. Got \`${t}\`;
|
|
@@ -205,7 +205,7 @@ Here are the output tags:
|
|
|
205
205
|
|
|
206
206
|
`));throw o.name="InputFormatError",o.lc_error_code=n.lc_error_code,o}return r}},gk=class extends zp{prompt;constructor(e){"prompt"in e||(e={prompt:e}),super(e),this.prompt=e.prompt}get inputVariables(){return this.prompt.inputVariables}async formatMessages(e){return[await this.format(e)]}},Dp=class extends Di{constructor(e){super(e)}async format(e){return(await this.formatPromptValue(e)).toString()}async formatPromptValue(e){return new Ep(await this.formatMessages(e))}},_k=class extends gk{static lc_name(){return"ChatMessagePromptTemplate"}role;constructor(e,t){"prompt"in e||(e={prompt:e,role:t}),super(e),this.role=e.role}async format(e){return new mr(await this.prompt.format(e),this.role)}static fromTemplate(e,t,r){return new this(Hn.fromTemplate(e,{templateFormat:r?.templateFormat}),t)}};function xK(e){return e===null||typeof e!="object"||Array.isArray(e)?!1:Object.keys(e).length===1&&"text"in e&&typeof e.text=="string"}function IK(e){return e===null||typeof e!="object"||Array.isArray(e)?!1:"image_url"in e&&(typeof e.image_url=="string"||typeof e.image_url=="object"&&e.image_url!==null&&"url"in e.image_url&&typeof e.image_url.url=="string")}var yk=class extends zp{lc_namespace=["langchain_core","prompts","chat"];lc_serializable=!0;inputVariables=[];additionalOptions={};prompt;messageClass;static _messageClass(){throw new Error("Can not invoke _messageClass from inside _StringImageMessagePromptTemplate")}chatMessageClass;constructor(e,t){if("prompt"in e||(e={prompt:e}),super(e),this.prompt=e.prompt,Array.isArray(this.prompt)){let r=[];this.prompt.forEach(n=>{"inputVariables"in n&&(r=r.concat(n.inputVariables))}),this.inputVariables=r}else this.inputVariables=this.prompt.inputVariables;this.additionalOptions=t??this.additionalOptions}createMessage(e){let t=this.constructor;if(t._messageClass())return new(t._messageClass())({content:e});if(t.chatMessageClass){let r=t.chatMessageClass();return new r({content:e,role:this.getRoleFromMessageClass(r.lc_name())})}else throw new Error("No message class defined")}getRoleFromMessageClass(e){switch(e){case"HumanMessage":return"human";case"AIMessage":return"ai";case"SystemMessage":return"system";case"ChatMessage":return"chat";default:throw new Error("Invalid message class name")}}static fromTemplate(e,t){if(typeof e=="string")return new this(Hn.fromTemplate(e,t));let r=[];for(let n of e)if(typeof n=="string")r.push(Hn.fromTemplate(n,t));else if(n!==null)if(xK(n)){let i="";typeof n.text=="string"&&(i=n.text??"");let o={...t,additionalContentFields:n};r.push(Hn.fromTemplate(i,o))}else if(IK(n)){let i=n.image_url??"",o,a=[];if(typeof i=="string"){let s;t?.templateFormat==="mustache"?s=Ku(i):s=Js(i);let c=s.flatMap(u=>u.type==="variable"?[u.name]:[]);if((c?.length??0)>0){if(c.length>1)throw new Error(`Only one format variable allowed per image template.
|
|
207
207
|
Got: ${c}
|
|
208
|
-
From: ${i}`);a=[c[0]]}else a=[];i={url:i},o=new Wu({template:i,inputVariables:a,templateFormat:t?.templateFormat,additionalContentFields:n})}else if(typeof i=="object"){if("url"in i){let s;t?.templateFormat==="mustache"?s=Ku(i.url):s=Js(i.url),a=s.flatMap(c=>c.type==="variable"?[c.name]:[])}else a=[];o=new Wu({template:i,inputVariables:a,templateFormat:t?.templateFormat,additionalContentFields:n})}else throw new Error("Invalid image template");r.push(o)}else typeof n=="object"&&r.push(new jp({template:n,templateFormat:t?.templateFormat}));return new this({prompt:r,additionalOptions:t})}async format(e){if(this.prompt instanceof wo){let t=await this.prompt.format(e);return this.createMessage(t)}else{let t=[];for(let r of this.prompt){let n={};if(!("inputVariables"in r))throw new Error(`Prompt ${r} does not have inputVariables defined.`);for(let i of r.inputVariables)n||(n={[i]:e[i]}),n={...n,[i]:e[i]};if(r instanceof wo){let i=await r.format(n),o;"additionalContentFields"in r&&(o=r.additionalContentFields),i!==""&&t.push({...o,type:"text",text:i})}else if(r instanceof Wu){let i=await r.format(n),o;"additionalContentFields"in r&&(o=r.additionalContentFields),t.push({...o,type:"image_url",image_url:i})}else if(r instanceof jp){let i=await r.format(n),o;"additionalContentFields"in r&&(o=r.additionalContentFields),t.push({...o,...i})}}return this.createMessage(t)}}async formatMessages(e){return[await this.format(e)]}},x_=class extends yk{static _messageClass(){return
|
|
208
|
+
From: ${i}`);a=[c[0]]}else a=[];i={url:i},o=new Wu({template:i,inputVariables:a,templateFormat:t?.templateFormat,additionalContentFields:n})}else if(typeof i=="object"){if("url"in i){let s;t?.templateFormat==="mustache"?s=Ku(i.url):s=Js(i.url),a=s.flatMap(c=>c.type==="variable"?[c.name]:[])}else a=[];o=new Wu({template:i,inputVariables:a,templateFormat:t?.templateFormat,additionalContentFields:n})}else throw new Error("Invalid image template");r.push(o)}else typeof n=="object"&&r.push(new jp({template:n,templateFormat:t?.templateFormat}));return new this({prompt:r,additionalOptions:t})}async format(e){if(this.prompt instanceof wo){let t=await this.prompt.format(e);return this.createMessage(t)}else{let t=[];for(let r of this.prompt){let n={};if(!("inputVariables"in r))throw new Error(`Prompt ${r} does not have inputVariables defined.`);for(let i of r.inputVariables)n||(n={[i]:e[i]}),n={...n,[i]:e[i]};if(r instanceof wo){let i=await r.format(n),o;"additionalContentFields"in r&&(o=r.additionalContentFields),i!==""&&t.push({...o,type:"text",text:i})}else if(r instanceof Wu){let i=await r.format(n),o;"additionalContentFields"in r&&(o=r.additionalContentFields),t.push({...o,type:"image_url",image_url:i})}else if(r instanceof jp){let i=await r.format(n),o;"additionalContentFields"in r&&(o=r.additionalContentFields),t.push({...o,...i})}}return this.createMessage(t)}}async formatMessages(e){return[await this.format(e)]}},x_=class extends yk{static _messageClass(){return st}static lc_name(){return"HumanMessagePromptTemplate"}},vk=class extends yk{static _messageClass(){return be}static lc_name(){return"AIMessagePromptTemplate"}},Lp=class extends yk{static _messageClass(){return hr}static lc_name(){return"SystemMessagePromptTemplate"}};function SK(e){return typeof e.formatMessages=="function"}function kK(e,t){if(SK(e)||ft(e))return e;if(Array.isArray(e)&&e[0]==="placeholder"){let i=e[1];if(t?.templateFormat==="mustache"&&typeof i=="string"&&i.slice(0,2)==="{{"&&i.slice(-2)==="}}")return new w_({variableName:i.slice(2,-2),optional:!0});if(typeof i=="string"&&i[0]==="{"&&i[i.length-1]==="}")return new w_({variableName:i.slice(1,-1),optional:!0});throw new Error(`Invalid placeholder template for format ${t?.templateFormat??'"f-string"'}: "${e[1]}". Expected a variable name surrounded by ${t?.templateFormat==="mustache"?"double":"single"} curly braces.`)}let r=tr(e),n;if(typeof r.content=="string"?n=r.content:n=r.content.map(i=>"text"in i?{...i,text:i.text}:"image_url"in i?{...i,image_url:i.image_url}:i),r._getType()==="human")return x_.fromTemplate(n,t);if(r._getType()==="ai")return vk.fromTemplate(n,t);if(r._getType()==="system")return Lp.fromTemplate(n,t);if(mr.isInstance(r))return _k.fromTemplate(r.content,r.role,t);throw new Error(`Could not coerce message prompt template from input. Received message type: "${r._getType()}".`)}function EK(e){return e.constructor.lc_name()==="MessagesPlaceholder"}var $a=class b_ extends Dp{static lc_name(){return"ChatPromptTemplate"}get lc_aliases(){return{promptMessages:"messages"}}promptMessages;validateTemplate=!0;templateFormat="f-string";constructor(t){if(super(t),t.templateFormat==="mustache"&&t.validateTemplate===void 0&&(this.validateTemplate=!1),Object.assign(this,t),this.validateTemplate){let r=new Set;for(let s of this.promptMessages)if(!(s instanceof tt))for(let c of s.inputVariables)r.add(c);let n=this.inputVariables,i=new Set(this.partialVariables?n.concat(Object.keys(this.partialVariables)):n),o=new Set([...i].filter(s=>!r.has(s)));if(o.size>0)throw new Error(`Input variables \`${[...o]}\` are not used in any of the prompt messages.`);let a=new Set([...r].filter(s=>!i.has(s)));if(a.size>0)throw new Error(`Input variables \`${[...a]}\` are used in prompt messages but not in the prompt template.`)}}_getPromptType(){return"chat"}async _parseImagePrompts(t,r){return typeof t.content=="string"||(t.content=await Promise.all(t.content.map(async n=>{if(n.type!=="image_url")return n;let i="";typeof n.image_url=="string"?i=n.image_url:typeof n.image_url=="object"&&n.image_url!==null&&"url"in n.image_url&&typeof n.image_url.url=="string"&&(i=n.image_url.url);let o=await Hn.fromTemplate(i,{templateFormat:this.templateFormat}).format(r);return typeof n.image_url=="object"&&n.image_url!==null&&"url"in n.image_url?n.image_url.url=o:n.image_url=o,n}))),t}async formatMessages(t){let r=await this.mergePartialAndUserVariables(t),n=[];for(let i of this.promptMessages)if(i instanceof tt)n.push(await this._parseImagePrompts(i,r));else{let o;this.templateFormat==="mustache"?o={...r}:o=i.inputVariables.reduce((s,c)=>{if(!(c in r)&&!(EK(i)&&i.optional))throw no(new Error(`Missing value for input variable \`${c.toString()}\``),"INVALID_PROMPT_INPUT");return s[c]=r[c],s},{});let a=await i.formatMessages(o);n=n.concat(a)}return n}async partial(t){let r=this.inputVariables.filter(i=>!(i in t)),n={...this.partialVariables??{},...t};return new b_({...this,inputVariables:r,partialVariables:n})}static fromTemplate(t,r){let n=new x_({prompt:Hn.fromTemplate(t,r)});return this.fromMessages([n])}static fromMessages(t,r){let n=t.reduce((a,s)=>a.concat(s instanceof b_?s.promptMessages:[kK(s,r)]),[]),i=t.reduce((a,s)=>s instanceof b_?Object.assign(a,s.partialVariables):a,Object.create(null)),o=new Set;for(let a of n)if(!(a instanceof tt))for(let s of a.inputVariables)s in i||o.add(s);return new this({...r,inputVariables:[...o],promptMessages:n,partialVariables:i,templateFormat:r?.templateFormat})}};var Bz=class bk extends wo{lc_serializable=!1;examples;exampleSelector;examplePrompt;suffix="";exampleSeparator=`
|
|
209
209
|
|
|
210
210
|
`;prefix="";templateFormat="f-string";validateTemplate=!0;constructor(t){if(super(t),Object.assign(this,t),this.examples!==void 0&&this.exampleSelector!==void 0)throw new Error("Only one of 'examples' and 'example_selector' should be provided");if(this.examples===void 0&&this.exampleSelector===void 0)throw new Error("One of 'examples' and 'example_selector' should be provided");if(this.validateTemplate){let r=this.inputVariables;this.partialVariables&&(r=r.concat(Object.keys(this.partialVariables))),xo(this.prefix+this.suffix,this.templateFormat,r)}}_getPromptType(){return"few_shot"}static lc_name(){return"FewShotPromptTemplate"}async getExamples(t){if(this.examples!==void 0)return this.examples;if(this.exampleSelector!==void 0)return this.exampleSelector.selectExamples(t);throw new Error("One of 'examples' and 'example_selector' should be provided")}async partial(t){let r=this.inputVariables.filter(i=>!(i in t)),n={...this.partialVariables??{},...t};return new bk({...this,inputVariables:r,partialVariables:n})}async format(t){let r=await this.mergePartialAndUserVariables(t),n=await this.getExamples(r),i=await Promise.all(n.map(o=>this.examplePrompt.format(o)));return sr([this.prefix,...i,this.suffix].join(this.exampleSeparator),this.templateFormat,r)}serialize(){if(this.exampleSelector||!this.examples)throw new Error("Serializing an example selector is not currently supported");if(this.outputParser!==void 0)throw new Error("Serializing an output parser is not currently supported");return{_type:this._getPromptType(),input_variables:this.inputVariables,example_prompt:this.examplePrompt.serialize(),example_separator:this.exampleSeparator,suffix:this.suffix,prefix:this.prefix,template_format:this.templateFormat,examples:this.examples}}static async deserialize(t){let{example_prompt:r}=t;if(!r)throw new Error("Missing example prompt");let n=await Hn.deserialize(r),i;if(Array.isArray(t.examples))i=t.examples;else throw new Error("Invalid examples format. Only list or string are supported.");return new bk({inputVariables:t.input_variables,examplePrompt:n,examples:i,exampleSeparator:t.example_separator,prefix:t.prefix,suffix:t.suffix,templateFormat:t.template_format})}},Vz=class Zz extends Dp{lc_serializable=!0;examples;exampleSelector;examplePrompt;suffix="";exampleSeparator=`
|
|
211
211
|
|
|
@@ -223,7 +223,7 @@ Expected: ${e} with content ${o.printExpected(n)}
|
|
|
223
223
|
Received: ${e} with content ${o.printReceived(a.content)}`,actual:a.content,expected:n}:{pass:Object.entries(n).every(([s,c])=>this.equals(a[s],c)),message:()=>{let s={};for(let c of Object.keys(n))s[c]=a[c];return`${o.matcherHint(`toBe${e}`,void 0,void 0)}
|
|
224
224
|
|
|
225
225
|
Expected: ${e} matching ${o.printExpected(n)}
|
|
226
|
-
Received: ${e} with ${o.printReceived(s)}`},actual:(()=>{let s={};for(let c of Object.keys(n))s[c]=a[c];return s})(),expected:n}}}var Ek=$_("HumanMessage",
|
|
226
|
+
Received: ${e} with ${o.printReceived(s)}`},actual:(()=>{let s={};for(let c of Object.keys(n))s[c]=a[c];return s})(),expected:n}}}var Ek=$_("HumanMessage",st.isInstance),$k=$_("AIMessage",be.isInstance),Tk=$_("SystemMessage",hr.isInstance),Ak=$_("ToolMessage",jt.isInstance);function Ok(e,t){let{isNot:r,utils:n}=this;if(!be.isInstance(e))return{pass:!1,message:()=>`${n.matcherHint("toHaveToolCalls")}
|
|
227
227
|
|
|
228
228
|
Expected: AIMessage
|
|
229
229
|
Received: ${Bp(e)}`};let i=e.tool_calls??[];if(i.length!==t.length)return{pass:!1,message:()=>`${n.matcherHint("toHaveToolCalls")}
|
|
@@ -277,7 +277,7 @@ Expected structured response: ${n.printExpected(t)}
|
|
|
277
277
|
Received structured response: ${n.printReceived(i)}`,actual:i,expected:t}}var aD={toBeHumanMessage:Ek,toBeAIMessage:$k,toBeSystemMessage:Tk,toBeToolMessage:Ak,toHaveToolCalls:Ok,toHaveToolCallCount:Ck,toContainToolCall:Pk,toHaveToolMessages:Rk,toHaveBeenInterrupted:Nk,toHaveStructuredResponse:Mk};function OK(e){return e.map(t=>t.text).filter(Boolean).join("-")}var sD=0;function CK(){return sD+=1,`fake_tc_${sD}`}var jk=class cD extends zi{queue=[];_alwaysThrowError;_structuredResponseValue;_tools=[];_callIndex=0;_calls=[];get calls(){return this._calls}get callCount(){return this._calls.length}constructor(){super({})}_llmType(){return"fake-model-builder"}_combineLLMOutput(){return[]}respond(t){return typeof t=="function"?this.queue.push({kind:"factory",factory:t}):tt.isInstance(t)?this.queue.push({kind:"message",message:t}):this.queue.push({kind:"error",error:t}),this}respondWithTools(t){return this.queue.push({kind:"toolCalls",toolCalls:t.map(r=>({name:r.name,args:r.args,id:r.id??CK(),type:"tool_call"}))}),this}alwaysThrow(t){return this._alwaysThrowError=t,this}structuredResponse(t){return this._structuredResponseValue=t,this}bindTools(t){let r=[...this._tools,...t],n=new cD;return n.queue=this.queue,n._alwaysThrowError=this._alwaysThrowError,n._structuredResponseValue=this._structuredResponseValue,n._tools=r,n._calls=this._calls,n._callIndex=this._callIndex,n.withConfig({})}withStructuredOutput(t,r){let{_structuredResponseValue:n}=this;return Zt.from(async()=>n)}async _generate(t,r,n){this._calls.push({messages:[...t],options:r});let i=this._callIndex;if(this._callIndex+=1,this._alwaysThrowError)throw this._alwaysThrowError;let o=this.queue[i];if(!o)throw new Error(`FakeModel: no response queued for invocation ${i} (${this.queue.length} total queued).`);if(o.kind==="error")throw o.error;if(o.kind==="factory"){let s=o.factory(t);if(!tt.isInstance(s))throw s;return{generations:[{text:"",message:s}]}}if(o.kind==="message")return{generations:[{text:"",message:o.message}]};let a=OK(t);return{generations:[{text:a,message:new be({content:a,id:i.toString(),tool_calls:o.toolCalls.length>0?o.toolCalls.map(s=>({...s,type:"tool_call"})):void 0})}],llmOutput:{}}}};function uD(){return new jk}var lD=P({FakeBuiltModel:()=>jk,fakeModel:()=>uD,langchainMatchers:()=>aD,toBeAIMessage:()=>$k,toBeHumanMessage:()=>Ek,toBeSystemMessage:()=>Tk,toBeToolMessage:()=>Ak,toContainToolCall:()=>Pk,toHaveBeenInterrupted:()=>Nk,toHaveStructuredResponse:()=>Mk,toHaveToolCallCount:()=>Ck,toHaveToolCalls:()=>Ok,toHaveToolMessages:()=>Rk});function Vp(e){return e!==void 0&&Array.isArray(e.lc_namespace)}function Zp(e){return e!==void 0&&pe.isRunnable(e)&&"lc_name"in e.constructor&&typeof e.constructor.lc_name=="function"&&e.constructor.lc_name()==="RunnableToolLike"}function Gp(e){return!!e&&typeof e=="object"&&"name"in e&&"schema"in e&&(zt(e.schema)||e.schema!=null&&typeof e.schema=="object"&&"type"in e.schema&&typeof e.schema.type=="string"&&["null","boolean","object","array","number","string"].includes(e.schema.type))}function Io(e){return Gp(e)||Zp(e)||Vp(e)}var M={};li(M,{$brand:()=>Ph,$input:()=>Q0,$output:()=>Y0,NEVER:()=>jw,TimePrecision:()=>nI,ZodAny:()=>aE,ZodArray:()=>lE,ZodBase64:()=>K_,ZodBase64URL:()=>W_,ZodBigInt:()=>nl,ZodBigIntFormat:()=>Y_,ZodBoolean:()=>rl,ZodCIDRv4:()=>H_,ZodCIDRv6:()=>q_,ZodCUID:()=>L_,ZodCUID2:()=>U_,ZodCatch:()=>PE,ZodCodec:()=>ay,ZodCustom:()=>nf,ZodCustomStringFormat:()=>el,ZodDate:()=>Yp,ZodDefault:()=>EE,ZodDiscriminatedUnion:()=>pE,ZodE164:()=>J_,ZodEmail:()=>j_,ZodEmoji:()=>z_,ZodEnum:()=>Yu,ZodError:()=>PK,ZodExactOptional:()=>IE,ZodFile:()=>wE,ZodFirstPartyTypeKind:()=>ZE,ZodFunction:()=>FE,ZodGUID:()=>qp,ZodIPv4:()=>Z_,ZodIPv6:()=>G_,ZodISODate:()=>O_,ZodISODateTime:()=>A_,ZodISODuration:()=>P_,ZodISOTime:()=>C_,ZodIntersection:()=>fE,ZodIssueCode:()=>NK,ZodJWT:()=>X_,ZodKSUID:()=>V_,ZodLazy:()=>DE,ZodLiteral:()=>bE,ZodMAC:()=>Qk,ZodMap:()=>yE,ZodNaN:()=>NE,ZodNanoID:()=>D_,ZodNever:()=>cE,ZodNonOptional:()=>iy,ZodNull:()=>iE,ZodNullable:()=>kE,ZodNumber:()=>tl,ZodNumberFormat:()=>Qs,ZodObject:()=>ef,ZodOptional:()=>ny,ZodPipe:()=>oy,ZodPrefault:()=>TE,ZodPromise:()=>UE,ZodReadonly:()=>ME,ZodRealError:()=>Dr,ZodRecord:()=>rf,ZodSet:()=>vE,ZodString:()=>Qu,ZodStringFormat:()=>Je,ZodSuccess:()=>CE,ZodSymbol:()=>rE,ZodTemplateLiteral:()=>zE,ZodTransform:()=>xE,ZodTuple:()=>hE,ZodType:()=>Te,ZodULID:()=>F_,ZodURL:()=>Xp,ZodUUID:()=>Li,ZodUndefined:()=>nE,ZodUnion:()=>tf,ZodUnknown:()=>sE,ZodVoid:()=>uE,ZodXID:()=>B_,ZodXor:()=>dE,_ZodString:()=>M_,_default:()=>$E,_function:()=>_4,any:()=>WD,array:()=>Qp,base64:()=>PD,base64url:()=>RD,bigint:()=>ZD,boolean:()=>tE,catch:()=>RE,check:()=>y4,cidrv4:()=>OD,cidrv6:()=>CD,clone:()=>lt,codec:()=>m4,coerce:()=>GE,config:()=>bt,core:()=>mo,cuid:()=>xD,cuid2:()=>ID,custom:()=>v4,date:()=>XD,decode:()=>Hk,decodeAsync:()=>Kk,describe:()=>b4,discriminatedUnion:()=>n4,e164:()=>ND,email:()=>pD,emoji:()=>bD,encode:()=>Gk,encodeAsync:()=>qk,endsWith:()=>vu,enum:()=>ty,exactOptional:()=>SE,file:()=>l4,flattenError:()=>Qd,float32:()=>UD,float64:()=>FD,formatError:()=>ep,fromJSONSchema:()=>$4,function:()=>_4,getErrorMap:()=>jK,globalRegistry:()=>Be,gt:()=>Ti,gte:()=>wr,guid:()=>fD,hash:()=>LD,hex:()=>DD,hostname:()=>zD,httpUrl:()=>vD,includes:()=>_u,instanceof:()=>x4,int:()=>N_,int32:()=>BD,int64:()=>GD,intersection:()=>mE,ipv4:()=>$D,ipv6:()=>AD,iso:()=>Xu,json:()=>S4,jwt:()=>MD,keyof:()=>YD,ksuid:()=>ED,lazy:()=>LE,length:()=>$s,literal:()=>u4,locales:()=>lp,looseObject:()=>t4,looseRecord:()=>o4,lowercase:()=>hu,lt:()=>$i,lte:()=>Qr,mac:()=>TD,map:()=>a4,maxLength:()=>Es,maxSize:()=>ha,meta:()=>w4,mime:()=>bu,minLength:()=>po,minSize:()=>Ai,multipleOf:()=>ma,nan:()=>f4,nanoid:()=>wD,nativeEnum:()=>c4,negative:()=>$g,never:()=>Q_,nonnegative:()=>Ag,nonoptional:()=>OE,nonpositive:()=>Tg,normalize:()=>wu,null:()=>oE,nullable:()=>Wp,nullish:()=>d4,number:()=>eE,object:()=>QD,optional:()=>Kp,overwrite:()=>Ln,parse:()=>Fk,parseAsync:()=>Bk,partialRecord:()=>i4,pipe:()=>Jp,positive:()=>Eg,prefault:()=>AE,preprocess:()=>k4,prettifyError:()=>Kw,promise:()=>g4,property:()=>Og,readonly:()=>jE,record:()=>_E,refine:()=>BE,regex:()=>mu,regexes:()=>vn,registry:()=>og,safeDecode:()=>Jk,safeDecodeAsync:()=>Yk,safeEncode:()=>Wk,safeEncodeAsync:()=>Xk,safeParse:()=>Vk,safeParseAsync:()=>Zk,set:()=>s4,setErrorMap:()=>MK,size:()=>ks,slugify:()=>ku,startsWith:()=>yu,strictObject:()=>e4,string:()=>R_,stringFormat:()=>jD,stringbool:()=>I4,success:()=>p4,superRefine:()=>VE,symbol:()=>qD,templateLiteral:()=>h4,toJSONSchema:()=>fo,toLowerCase:()=>Iu,toUpperCase:()=>Su,transform:()=>ry,treeifyError:()=>qw,trim:()=>xu,tuple:()=>gE,uint32:()=>VD,uint64:()=>HD,ulid:()=>SD,undefined:()=>KD,union:()=>ey,unknown:()=>Ys,uppercase:()=>gu,url:()=>yD,util:()=>F,uuid:()=>mD,uuidv4:()=>hD,uuidv6:()=>gD,uuidv7:()=>_D,void:()=>JD,xid:()=>kD,xor:()=>r4});var Hp={};li(Hp,{ZodAny:()=>aE,ZodArray:()=>lE,ZodBase64:()=>K_,ZodBase64URL:()=>W_,ZodBigInt:()=>nl,ZodBigIntFormat:()=>Y_,ZodBoolean:()=>rl,ZodCIDRv4:()=>H_,ZodCIDRv6:()=>q_,ZodCUID:()=>L_,ZodCUID2:()=>U_,ZodCatch:()=>PE,ZodCodec:()=>ay,ZodCustom:()=>nf,ZodCustomStringFormat:()=>el,ZodDate:()=>Yp,ZodDefault:()=>EE,ZodDiscriminatedUnion:()=>pE,ZodE164:()=>J_,ZodEmail:()=>j_,ZodEmoji:()=>z_,ZodEnum:()=>Yu,ZodExactOptional:()=>IE,ZodFile:()=>wE,ZodFunction:()=>FE,ZodGUID:()=>qp,ZodIPv4:()=>Z_,ZodIPv6:()=>G_,ZodIntersection:()=>fE,ZodJWT:()=>X_,ZodKSUID:()=>V_,ZodLazy:()=>DE,ZodLiteral:()=>bE,ZodMAC:()=>Qk,ZodMap:()=>yE,ZodNaN:()=>NE,ZodNanoID:()=>D_,ZodNever:()=>cE,ZodNonOptional:()=>iy,ZodNull:()=>iE,ZodNullable:()=>kE,ZodNumber:()=>tl,ZodNumberFormat:()=>Qs,ZodObject:()=>ef,ZodOptional:()=>ny,ZodPipe:()=>oy,ZodPrefault:()=>TE,ZodPromise:()=>UE,ZodReadonly:()=>ME,ZodRecord:()=>rf,ZodSet:()=>vE,ZodString:()=>Qu,ZodStringFormat:()=>Je,ZodSuccess:()=>CE,ZodSymbol:()=>rE,ZodTemplateLiteral:()=>zE,ZodTransform:()=>xE,ZodTuple:()=>hE,ZodType:()=>Te,ZodULID:()=>F_,ZodURL:()=>Xp,ZodUUID:()=>Li,ZodUndefined:()=>nE,ZodUnion:()=>tf,ZodUnknown:()=>sE,ZodVoid:()=>uE,ZodXID:()=>B_,ZodXor:()=>dE,_ZodString:()=>M_,_default:()=>$E,_function:()=>_4,any:()=>WD,array:()=>Qp,base64:()=>PD,base64url:()=>RD,bigint:()=>ZD,boolean:()=>tE,catch:()=>RE,check:()=>y4,cidrv4:()=>OD,cidrv6:()=>CD,codec:()=>m4,cuid:()=>xD,cuid2:()=>ID,custom:()=>v4,date:()=>XD,describe:()=>b4,discriminatedUnion:()=>n4,e164:()=>ND,email:()=>pD,emoji:()=>bD,enum:()=>ty,exactOptional:()=>SE,file:()=>l4,float32:()=>UD,float64:()=>FD,function:()=>_4,guid:()=>fD,hash:()=>LD,hex:()=>DD,hostname:()=>zD,httpUrl:()=>vD,instanceof:()=>x4,int:()=>N_,int32:()=>BD,int64:()=>GD,intersection:()=>mE,ipv4:()=>$D,ipv6:()=>AD,json:()=>S4,jwt:()=>MD,keyof:()=>YD,ksuid:()=>ED,lazy:()=>LE,literal:()=>u4,looseObject:()=>t4,looseRecord:()=>o4,mac:()=>TD,map:()=>a4,meta:()=>w4,nan:()=>f4,nanoid:()=>wD,nativeEnum:()=>c4,never:()=>Q_,nonoptional:()=>OE,null:()=>oE,nullable:()=>Wp,nullish:()=>d4,number:()=>eE,object:()=>QD,optional:()=>Kp,partialRecord:()=>i4,pipe:()=>Jp,prefault:()=>AE,preprocess:()=>k4,promise:()=>g4,readonly:()=>jE,record:()=>_E,refine:()=>BE,set:()=>s4,strictObject:()=>e4,string:()=>R_,stringFormat:()=>jD,stringbool:()=>I4,success:()=>p4,superRefine:()=>VE,symbol:()=>qD,templateLiteral:()=>h4,transform:()=>ry,tuple:()=>gE,uint32:()=>VD,uint64:()=>HD,ulid:()=>SD,undefined:()=>KD,union:()=>ey,unknown:()=>Ys,url:()=>yD,uuid:()=>mD,uuidv4:()=>hD,uuidv6:()=>gD,uuidv7:()=>_D,void:()=>JD,xid:()=>kD,xor:()=>r4});var T_={};li(T_,{endsWith:()=>vu,gt:()=>Ti,gte:()=>wr,includes:()=>_u,length:()=>$s,lowercase:()=>hu,lt:()=>$i,lte:()=>Qr,maxLength:()=>Es,maxSize:()=>ha,mime:()=>bu,minLength:()=>po,minSize:()=>Ai,multipleOf:()=>ma,negative:()=>$g,nonnegative:()=>Ag,nonpositive:()=>Tg,normalize:()=>wu,overwrite:()=>Ln,positive:()=>Eg,property:()=>Og,regex:()=>mu,size:()=>ks,slugify:()=>ku,startsWith:()=>yu,toLowerCase:()=>Iu,toUpperCase:()=>Su,trim:()=>xu,uppercase:()=>gu});var Xu={};li(Xu,{ZodISODate:()=>O_,ZodISODateTime:()=>A_,ZodISODuration:()=>P_,ZodISOTime:()=>C_,date:()=>Dk,datetime:()=>zk,duration:()=>Uk,time:()=>Lk});var A_=I("ZodISODateTime",(e,t)=>{r0.init(e,t),Je.init(e,t)});function zk(e){return iI(A_,e)}var O_=I("ZodISODate",(e,t)=>{n0.init(e,t),Je.init(e,t)});function Dk(e){return oI(O_,e)}var C_=I("ZodISOTime",(e,t)=>{i0.init(e,t),Je.init(e,t)});function Lk(e){return aI(C_,e)}var P_=I("ZodISODuration",(e,t)=>{o0.init(e,t),Je.init(e,t)});function Uk(e){return sI(P_,e)}var dD=(e,t)=>{Yd.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:r=>ep(e,r)},flatten:{value:r=>Qd(e,r)},addIssue:{value:r=>{e.issues.push(r),e.message=JSON.stringify(e.issues,ou,2)}},addIssues:{value:r=>{e.issues.push(...r),e.message=JSON.stringify(e.issues,ou,2)}},isEmpty:{get(){return e.issues.length===0}}})},PK=I("ZodError",dD),Dr=I("ZodError",dD,{Parent:Error});var Fk=cu(Dr),Bk=uu(Dr),Vk=lu(Dr),Zk=du(Dr),Gk=Mh(Dr),Hk=jh(Dr),qk=zh(Dr),Kk=Dh(Dr),Wk=Lh(Dr),Jk=Uh(Dr),Xk=Fh(Dr),Yk=Bh(Dr);var Te=I("ZodType",(e,t)=>(we.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:$u(e,"input"),output:$u(e,"output")}}),e.toJSONSchema=zI(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.check=(...r)=>e.clone(F.mergeDefs(t,{checks:[...t.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),{parent:!0}),e.with=e.check,e.clone=(r,n)=>lt(e,r,n),e.brand=()=>e,e.register=((r,n)=>(r.add(e,n),e)),e.parse=(r,n)=>Fk(e,r,n,{callee:e.parse}),e.safeParse=(r,n)=>Vk(e,r,n),e.parseAsync=async(r,n)=>Bk(e,r,n,{callee:e.parseAsync}),e.safeParseAsync=async(r,n)=>Zk(e,r,n),e.spa=e.safeParseAsync,e.encode=(r,n)=>Gk(e,r,n),e.decode=(r,n)=>Hk(e,r,n),e.encodeAsync=async(r,n)=>qk(e,r,n),e.decodeAsync=async(r,n)=>Kk(e,r,n),e.safeEncode=(r,n)=>Wk(e,r,n),e.safeDecode=(r,n)=>Jk(e,r,n),e.safeEncodeAsync=async(r,n)=>Xk(e,r,n),e.safeDecodeAsync=async(r,n)=>Yk(e,r,n),e.refine=(r,n)=>e.check(BE(r,n)),e.superRefine=r=>e.check(VE(r)),e.overwrite=r=>e.check(Ln(r)),e.optional=()=>Kp(e),e.exactOptional=()=>SE(e),e.nullable=()=>Wp(e),e.nullish=()=>Kp(Wp(e)),e.nonoptional=r=>OE(e,r),e.array=()=>Qp(e),e.or=r=>ey([e,r]),e.and=r=>mE(e,r),e.transform=r=>Jp(e,ry(r)),e.default=r=>$E(e,r),e.prefault=r=>AE(e,r),e.catch=r=>RE(e,r),e.pipe=r=>Jp(e,r),e.readonly=()=>jE(e),e.describe=r=>{let n=e.clone();return Be.add(n,{description:r}),n},Object.defineProperty(e,"description",{get(){return Be.get(e)?.description},configurable:!0}),e.meta=(...r)=>{if(r.length===0)return Be.get(e);let n=e.clone();return Be.add(n,r[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=r=>r(e),e)),M_=I("_ZodString",(e,t)=>{Is.init(e,t),Te.init(e,t),e._zod.processJSONSchema=(n,i,o)=>DI(e,n,i,o);let r=e._zod.bag;e.format=r.format??null,e.minLength=r.minimum??null,e.maxLength=r.maximum??null,e.regex=(...n)=>e.check(mu(...n)),e.includes=(...n)=>e.check(_u(...n)),e.startsWith=(...n)=>e.check(yu(...n)),e.endsWith=(...n)=>e.check(vu(...n)),e.min=(...n)=>e.check(po(...n)),e.max=(...n)=>e.check(Es(...n)),e.length=(...n)=>e.check($s(...n)),e.nonempty=(...n)=>e.check(po(1,...n)),e.lowercase=n=>e.check(hu(n)),e.uppercase=n=>e.check(gu(n)),e.trim=()=>e.check(xu()),e.normalize=(...n)=>e.check(wu(...n)),e.toLowerCase=()=>e.check(Iu()),e.toUpperCase=()=>e.check(Su()),e.slugify=()=>e.check(ku())}),Qu=I("ZodString",(e,t)=>{Is.init(e,t),M_.init(e,t),e.email=r=>e.check(ag(j_,r)),e.url=r=>e.check(pp(Xp,r)),e.jwt=r=>e.check(kg(X_,r)),e.emoji=r=>e.check(dg(z_,r)),e.guid=r=>e.check(dp(qp,r)),e.uuid=r=>e.check(sg(Li,r)),e.uuidv4=r=>e.check(cg(Li,r)),e.uuidv6=r=>e.check(ug(Li,r)),e.uuidv7=r=>e.check(lg(Li,r)),e.nanoid=r=>e.check(pg(D_,r)),e.guid=r=>e.check(dp(qp,r)),e.cuid=r=>e.check(fg(L_,r)),e.cuid2=r=>e.check(mg(U_,r)),e.ulid=r=>e.check(hg(F_,r)),e.base64=r=>e.check(xg(K_,r)),e.base64url=r=>e.check(Ig(W_,r)),e.xid=r=>e.check(gg(B_,r)),e.ksuid=r=>e.check(_g(V_,r)),e.ipv4=r=>e.check(yg(Z_,r)),e.ipv6=r=>e.check(vg(G_,r)),e.cidrv4=r=>e.check(bg(H_,r)),e.cidrv6=r=>e.check(wg(q_,r)),e.e164=r=>e.check(Sg(J_,r)),e.datetime=r=>e.check(zk(r)),e.date=r=>e.check(Dk(r)),e.time=r=>e.check(Lk(r)),e.duration=r=>e.check(Uk(r))});function R_(e){return eI(Qu,e)}var Je=I("ZodStringFormat",(e,t)=>{Ke.init(e,t),M_.init(e,t)}),j_=I("ZodEmail",(e,t)=>{qx.init(e,t),Je.init(e,t)});function pD(e){return ag(j_,e)}var qp=I("ZodGUID",(e,t)=>{Gx.init(e,t),Je.init(e,t)});function fD(e){return dp(qp,e)}var Li=I("ZodUUID",(e,t)=>{Hx.init(e,t),Je.init(e,t)});function mD(e){return sg(Li,e)}function hD(e){return cg(Li,e)}function gD(e){return ug(Li,e)}function _D(e){return lg(Li,e)}var Xp=I("ZodURL",(e,t)=>{Kx.init(e,t),Je.init(e,t)});function yD(e){return pp(Xp,e)}function vD(e){return pp(Xp,{protocol:/^https?$/,hostname:vn.domain,...F.normalizeParams(e)})}var z_=I("ZodEmoji",(e,t)=>{Wx.init(e,t),Je.init(e,t)});function bD(e){return dg(z_,e)}var D_=I("ZodNanoID",(e,t)=>{Jx.init(e,t),Je.init(e,t)});function wD(e){return pg(D_,e)}var L_=I("ZodCUID",(e,t)=>{Xx.init(e,t),Je.init(e,t)});function xD(e){return fg(L_,e)}var U_=I("ZodCUID2",(e,t)=>{Yx.init(e,t),Je.init(e,t)});function ID(e){return mg(U_,e)}var F_=I("ZodULID",(e,t)=>{Qx.init(e,t),Je.init(e,t)});function SD(e){return hg(F_,e)}var B_=I("ZodXID",(e,t)=>{e0.init(e,t),Je.init(e,t)});function kD(e){return gg(B_,e)}var V_=I("ZodKSUID",(e,t)=>{t0.init(e,t),Je.init(e,t)});function ED(e){return _g(V_,e)}var Z_=I("ZodIPv4",(e,t)=>{a0.init(e,t),Je.init(e,t)});function $D(e){return yg(Z_,e)}var Qk=I("ZodMAC",(e,t)=>{c0.init(e,t),Je.init(e,t)});function TD(e){return rI(Qk,e)}var G_=I("ZodIPv6",(e,t)=>{s0.init(e,t),Je.init(e,t)});function AD(e){return vg(G_,e)}var H_=I("ZodCIDRv4",(e,t)=>{u0.init(e,t),Je.init(e,t)});function OD(e){return bg(H_,e)}var q_=I("ZodCIDRv6",(e,t)=>{l0.init(e,t),Je.init(e,t)});function CD(e){return wg(q_,e)}var K_=I("ZodBase64",(e,t)=>{p0.init(e,t),Je.init(e,t)});function PD(e){return xg(K_,e)}var W_=I("ZodBase64URL",(e,t)=>{f0.init(e,t),Je.init(e,t)});function RD(e){return Ig(W_,e)}var J_=I("ZodE164",(e,t)=>{m0.init(e,t),Je.init(e,t)});function ND(e){return Sg(J_,e)}var X_=I("ZodJWT",(e,t)=>{h0.init(e,t),Je.init(e,t)});function MD(e){return kg(X_,e)}var el=I("ZodCustomStringFormat",(e,t)=>{g0.init(e,t),Je.init(e,t)});function jD(e,t,r={}){return Eu(el,e,t,r)}function zD(e){return Eu(el,"hostname",vn.hostname,e)}function DD(e){return Eu(el,"hex",vn.hex,e)}function LD(e,t){let r=t?.enc??"hex",n=`${e}_${r}`,i=vn[n];if(!i)throw new Error(`Unrecognized hash format: ${n}`);return Eu(el,n,i,t)}var tl=I("ZodNumber",(e,t)=>{Yh.init(e,t),Te.init(e,t),e._zod.processJSONSchema=(n,i,o)=>LI(e,n,i,o),e.gt=(n,i)=>e.check(Ti(n,i)),e.gte=(n,i)=>e.check(wr(n,i)),e.min=(n,i)=>e.check(wr(n,i)),e.lt=(n,i)=>e.check($i(n,i)),e.lte=(n,i)=>e.check(Qr(n,i)),e.max=(n,i)=>e.check(Qr(n,i)),e.int=n=>e.check(N_(n)),e.safe=n=>e.check(N_(n)),e.positive=n=>e.check(Ti(0,n)),e.nonnegative=n=>e.check(wr(0,n)),e.negative=n=>e.check($i(0,n)),e.nonpositive=n=>e.check(Qr(0,n)),e.multipleOf=(n,i)=>e.check(ma(n,i)),e.step=(n,i)=>e.check(ma(n,i)),e.finite=()=>e;let r=e._zod.bag;e.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),e.isFinite=!0,e.format=r.format??null});function eE(e){return cI(tl,e)}var Qs=I("ZodNumberFormat",(e,t)=>{_0.init(e,t),tl.init(e,t)});function N_(e){return lI(Qs,e)}function UD(e){return dI(Qs,e)}function FD(e){return pI(Qs,e)}function BD(e){return fI(Qs,e)}function VD(e){return mI(Qs,e)}var rl=I("ZodBoolean",(e,t)=>{ip.init(e,t),Te.init(e,t),e._zod.processJSONSchema=(r,n,i)=>UI(e,r,n,i)});function tE(e){return hI(rl,e)}var nl=I("ZodBigInt",(e,t)=>{Qh.init(e,t),Te.init(e,t),e._zod.processJSONSchema=(n,i,o)=>FI(e,n,i,o),e.gte=(n,i)=>e.check(wr(n,i)),e.min=(n,i)=>e.check(wr(n,i)),e.gt=(n,i)=>e.check(Ti(n,i)),e.gte=(n,i)=>e.check(wr(n,i)),e.min=(n,i)=>e.check(wr(n,i)),e.lt=(n,i)=>e.check($i(n,i)),e.lte=(n,i)=>e.check(Qr(n,i)),e.max=(n,i)=>e.check(Qr(n,i)),e.positive=n=>e.check(Ti(BigInt(0),n)),e.negative=n=>e.check($i(BigInt(0),n)),e.nonpositive=n=>e.check(Qr(BigInt(0),n)),e.nonnegative=n=>e.check(wr(BigInt(0),n)),e.multipleOf=(n,i)=>e.check(ma(n,i));let r=e._zod.bag;e.minValue=r.minimum??null,e.maxValue=r.maximum??null,e.format=r.format??null});function ZD(e){return _I(nl,e)}var Y_=I("ZodBigIntFormat",(e,t)=>{y0.init(e,t),nl.init(e,t)});function GD(e){return vI(Y_,e)}function HD(e){return bI(Y_,e)}var rE=I("ZodSymbol",(e,t)=>{v0.init(e,t),Te.init(e,t),e._zod.processJSONSchema=(r,n,i)=>BI(e,r,n,i)});function qD(e){return wI(rE,e)}var nE=I("ZodUndefined",(e,t)=>{b0.init(e,t),Te.init(e,t),e._zod.processJSONSchema=(r,n,i)=>ZI(e,r,n,i)});function KD(e){return xI(nE,e)}var iE=I("ZodNull",(e,t)=>{w0.init(e,t),Te.init(e,t),e._zod.processJSONSchema=(r,n,i)=>VI(e,r,n,i)});function oE(e){return II(iE,e)}var aE=I("ZodAny",(e,t)=>{x0.init(e,t),Te.init(e,t),e._zod.processJSONSchema=(r,n,i)=>qI(e,r,n,i)});function WD(){return SI(aE)}var sE=I("ZodUnknown",(e,t)=>{op.init(e,t),Te.init(e,t),e._zod.processJSONSchema=(r,n,i)=>KI(e,r,n,i)});function Ys(){return fp(sE)}var cE=I("ZodNever",(e,t)=>{ap.init(e,t),Te.init(e,t),e._zod.processJSONSchema=(r,n,i)=>HI(e,r,n,i)});function Q_(e){return mp(cE,e)}var uE=I("ZodVoid",(e,t)=>{I0.init(e,t),Te.init(e,t),e._zod.processJSONSchema=(r,n,i)=>GI(e,r,n,i)});function JD(e){return kI(uE,e)}var Yp=I("ZodDate",(e,t)=>{S0.init(e,t),Te.init(e,t),e._zod.processJSONSchema=(n,i,o)=>WI(e,n,i,o),e.min=(n,i)=>e.check(wr(n,i)),e.max=(n,i)=>e.check(Qr(n,i));let r=e._zod.bag;e.minDate=r.minimum?new Date(r.minimum):null,e.maxDate=r.maximum?new Date(r.maximum):null});function XD(e){return EI(Yp,e)}var lE=I("ZodArray",(e,t)=>{k0.init(e,t),Te.init(e,t),e._zod.processJSONSchema=(r,n,i)=>sS(e,r,n,i),e.element=t.element,e.min=(r,n)=>e.check(po(r,n)),e.nonempty=r=>e.check(po(1,r)),e.max=(r,n)=>e.check(Es(r,n)),e.length=(r,n)=>e.check($s(r,n)),e.unwrap=()=>e.element});function Qp(e,t){return AI(lE,e,t)}function YD(e){let t=e._zod.def.shape;return ty(Object.keys(t))}var ef=I("ZodObject",(e,t)=>{E0.init(e,t),Te.init(e,t),e._zod.processJSONSchema=(r,n,i)=>cS(e,r,n,i),F.defineLazy(e,"shape",()=>t.shape),e.keyof=()=>ty(Object.keys(e._zod.def.shape)),e.catchall=r=>e.clone({...e._zod.def,catchall:r}),e.passthrough=()=>e.clone({...e._zod.def,catchall:Ys()}),e.loose=()=>e.clone({...e._zod.def,catchall:Ys()}),e.strict=()=>e.clone({...e._zod.def,catchall:Q_()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=r=>F.extend(e,r),e.safeExtend=r=>F.safeExtend(e,r),e.merge=r=>F.merge(e,r),e.pick=r=>F.pick(e,r),e.omit=r=>F.omit(e,r),e.partial=(...r)=>F.partial(ny,e,r[0]),e.required=(...r)=>F.required(iy,e,r[0])});function QD(e,t){let r={type:"object",shape:e??{},...F.normalizeParams(t)};return new ef(r)}function e4(e,t){return new ef({type:"object",shape:e,catchall:Q_(),...F.normalizeParams(t)})}function t4(e,t){return new ef({type:"object",shape:e,catchall:Ys(),...F.normalizeParams(t)})}var tf=I("ZodUnion",(e,t)=>{sp.init(e,t),Te.init(e,t),e._zod.processJSONSchema=(r,n,i)=>Pg(e,r,n,i),e.options=t.options});function ey(e,t){return new tf({type:"union",options:e,...F.normalizeParams(t)})}var dE=I("ZodXor",(e,t)=>{tf.init(e,t),$0.init(e,t),e._zod.processJSONSchema=(r,n,i)=>Pg(e,r,n,i),e.options=t.options});function r4(e,t){return new dE({type:"union",options:e,inclusive:!1,...F.normalizeParams(t)})}var pE=I("ZodDiscriminatedUnion",(e,t)=>{tf.init(e,t),T0.init(e,t)});function n4(e,t,r){return new pE({type:"union",options:t,discriminator:e,...F.normalizeParams(r)})}var fE=I("ZodIntersection",(e,t)=>{A0.init(e,t),Te.init(e,t),e._zod.processJSONSchema=(r,n,i)=>uS(e,r,n,i)});function mE(e,t){return new fE({type:"intersection",left:e,right:t})}var hE=I("ZodTuple",(e,t)=>{eg.init(e,t),Te.init(e,t),e._zod.processJSONSchema=(r,n,i)=>lS(e,r,n,i),e.rest=r=>e.clone({...e._zod.def,rest:r})});function gE(e,t,r){let n=t instanceof we,i=n?r:t,o=n?t:null;return new hE({type:"tuple",items:e,rest:o,...F.normalizeParams(i)})}var rf=I("ZodRecord",(e,t)=>{O0.init(e,t),Te.init(e,t),e._zod.processJSONSchema=(r,n,i)=>dS(e,r,n,i),e.keyType=t.keyType,e.valueType=t.valueType});function _E(e,t,r){return new rf({type:"record",keyType:e,valueType:t,...F.normalizeParams(r)})}function i4(e,t,r){let n=lt(e);return n._zod.values=void 0,new rf({type:"record",keyType:n,valueType:t,...F.normalizeParams(r)})}function o4(e,t,r){return new rf({type:"record",keyType:e,valueType:t,mode:"loose",...F.normalizeParams(r)})}var yE=I("ZodMap",(e,t)=>{C0.init(e,t),Te.init(e,t),e._zod.processJSONSchema=(r,n,i)=>oS(e,r,n,i),e.keyType=t.keyType,e.valueType=t.valueType,e.min=(...r)=>e.check(Ai(...r)),e.nonempty=r=>e.check(Ai(1,r)),e.max=(...r)=>e.check(ha(...r)),e.size=(...r)=>e.check(ks(...r))});function a4(e,t,r){return new yE({type:"map",keyType:e,valueType:t,...F.normalizeParams(r)})}var vE=I("ZodSet",(e,t)=>{P0.init(e,t),Te.init(e,t),e._zod.processJSONSchema=(r,n,i)=>aS(e,r,n,i),e.min=(...r)=>e.check(Ai(...r)),e.nonempty=r=>e.check(Ai(1,r)),e.max=(...r)=>e.check(ha(...r)),e.size=(...r)=>e.check(ks(...r))});function s4(e,t){return new vE({type:"set",valueType:e,...F.normalizeParams(t)})}var Yu=I("ZodEnum",(e,t)=>{R0.init(e,t),Te.init(e,t),e._zod.processJSONSchema=(n,i,o)=>JI(e,n,i,o),e.enum=t.entries,e.options=Object.values(t.entries);let r=new Set(Object.keys(t.entries));e.extract=(n,i)=>{let o={};for(let a of n)if(r.has(a))o[a]=t.entries[a];else throw new Error(`Key ${a} not found in enum`);return new Yu({...t,checks:[],...F.normalizeParams(i),entries:o})},e.exclude=(n,i)=>{let o={...t.entries};for(let a of n)if(r.has(a))delete o[a];else throw new Error(`Key ${a} not found in enum`);return new Yu({...t,checks:[],...F.normalizeParams(i),entries:o})}});function ty(e,t){let r=Array.isArray(e)?Object.fromEntries(e.map(n=>[n,n])):e;return new Yu({type:"enum",entries:r,...F.normalizeParams(t)})}function c4(e,t){return new Yu({type:"enum",entries:e,...F.normalizeParams(t)})}var bE=I("ZodLiteral",(e,t)=>{N0.init(e,t),Te.init(e,t),e._zod.processJSONSchema=(r,n,i)=>XI(e,r,n,i),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function u4(e,t){return new bE({type:"literal",values:Array.isArray(e)?e:[e],...F.normalizeParams(t)})}var wE=I("ZodFile",(e,t)=>{M0.init(e,t),Te.init(e,t),e._zod.processJSONSchema=(r,n,i)=>eS(e,r,n,i),e.min=(r,n)=>e.check(Ai(r,n)),e.max=(r,n)=>e.check(ha(r,n)),e.mime=(r,n)=>e.check(bu(Array.isArray(r)?r:[r],n))});function l4(e){return OI(wE,e)}var xE=I("ZodTransform",(e,t)=>{j0.init(e,t),Te.init(e,t),e._zod.processJSONSchema=(r,n,i)=>iS(e,r,n,i),e._zod.parse=(r,n)=>{if(n.direction==="backward")throw new ua(e.constructor.name);r.addIssue=o=>{if(typeof o=="string")r.issues.push(F.issue(o,r.value,t));else{let a=o;a.fatal&&(a.continue=!1),a.code??(a.code="custom"),a.input??(a.input=r.value),a.inst??(a.inst=e),r.issues.push(F.issue(a))}};let i=t.transform(r.value,r);return i instanceof Promise?i.then(o=>(r.value=o,r)):(r.value=i,r)}});function ry(e){return new xE({type:"transform",transform:e})}var ny=I("ZodOptional",(e,t)=>{Ss.init(e,t),Te.init(e,t),e._zod.processJSONSchema=(r,n,i)=>Rg(e,r,n,i),e.unwrap=()=>e._zod.def.innerType});function Kp(e){return new ny({type:"optional",innerType:e})}var IE=I("ZodExactOptional",(e,t)=>{z0.init(e,t),Te.init(e,t),e._zod.processJSONSchema=(r,n,i)=>Rg(e,r,n,i),e.unwrap=()=>e._zod.def.innerType});function SE(e){return new IE({type:"optional",innerType:e})}var kE=I("ZodNullable",(e,t)=>{D0.init(e,t),Te.init(e,t),e._zod.processJSONSchema=(r,n,i)=>pS(e,r,n,i),e.unwrap=()=>e._zod.def.innerType});function Wp(e){return new kE({type:"nullable",innerType:e})}function d4(e){return Kp(Wp(e))}var EE=I("ZodDefault",(e,t)=>{L0.init(e,t),Te.init(e,t),e._zod.processJSONSchema=(r,n,i)=>mS(e,r,n,i),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function $E(e,t){return new EE({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():F.shallowClone(t)}})}var TE=I("ZodPrefault",(e,t)=>{U0.init(e,t),Te.init(e,t),e._zod.processJSONSchema=(r,n,i)=>hS(e,r,n,i),e.unwrap=()=>e._zod.def.innerType});function AE(e,t){return new TE({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():F.shallowClone(t)}})}var iy=I("ZodNonOptional",(e,t)=>{F0.init(e,t),Te.init(e,t),e._zod.processJSONSchema=(r,n,i)=>fS(e,r,n,i),e.unwrap=()=>e._zod.def.innerType});function OE(e,t){return new iy({type:"nonoptional",innerType:e,...F.normalizeParams(t)})}var CE=I("ZodSuccess",(e,t)=>{B0.init(e,t),Te.init(e,t),e._zod.processJSONSchema=(r,n,i)=>tS(e,r,n,i),e.unwrap=()=>e._zod.def.innerType});function p4(e){return new CE({type:"success",innerType:e})}var PE=I("ZodCatch",(e,t)=>{V0.init(e,t),Te.init(e,t),e._zod.processJSONSchema=(r,n,i)=>gS(e,r,n,i),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function RE(e,t){return new PE({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}var NE=I("ZodNaN",(e,t)=>{Z0.init(e,t),Te.init(e,t),e._zod.processJSONSchema=(r,n,i)=>YI(e,r,n,i)});function f4(e){return TI(NE,e)}var oy=I("ZodPipe",(e,t)=>{G0.init(e,t),Te.init(e,t),e._zod.processJSONSchema=(r,n,i)=>_S(e,r,n,i),e.in=t.in,e.out=t.out});function Jp(e,t){return new oy({type:"pipe",in:e,out:t})}var ay=I("ZodCodec",(e,t)=>{oy.init(e,t),cp.init(e,t)});function m4(e,t,r){return new ay({type:"pipe",in:e,out:t,transform:r.decode,reverseTransform:r.encode})}var ME=I("ZodReadonly",(e,t)=>{H0.init(e,t),Te.init(e,t),e._zod.processJSONSchema=(r,n,i)=>yS(e,r,n,i),e.unwrap=()=>e._zod.def.innerType});function jE(e){return new ME({type:"readonly",innerType:e})}var zE=I("ZodTemplateLiteral",(e,t)=>{q0.init(e,t),Te.init(e,t),e._zod.processJSONSchema=(r,n,i)=>QI(e,r,n,i)});function h4(e,t){return new zE({type:"template_literal",parts:e,...F.normalizeParams(t)})}var DE=I("ZodLazy",(e,t)=>{J0.init(e,t),Te.init(e,t),e._zod.processJSONSchema=(r,n,i)=>bS(e,r,n,i),e.unwrap=()=>e._zod.def.getter()});function LE(e){return new DE({type:"lazy",getter:e})}var UE=I("ZodPromise",(e,t)=>{W0.init(e,t),Te.init(e,t),e._zod.processJSONSchema=(r,n,i)=>vS(e,r,n,i),e.unwrap=()=>e._zod.def.innerType});function g4(e){return new UE({type:"promise",innerType:e})}var FE=I("ZodFunction",(e,t)=>{K0.init(e,t),Te.init(e,t),e._zod.processJSONSchema=(r,n,i)=>nS(e,r,n,i)});function _4(e){return new FE({type:"function",input:Array.isArray(e?.input)?gE(e?.input):e?.input??Qp(Ys()),output:e?.output??Ys()})}var nf=I("ZodCustom",(e,t)=>{X0.init(e,t),Te.init(e,t),e._zod.processJSONSchema=(r,n,i)=>rS(e,r,n,i)});function y4(e){let t=new Qe({check:"custom"});return t._zod.check=e,t}function v4(e,t){return CI(nf,e??(()=>!0),t)}function BE(e,t={}){return PI(nf,e,t)}function VE(e){return RI(e)}var b4=NI,w4=MI;function x4(e,t={}){let r=new nf({type:"custom",check:"custom",fn:n=>n instanceof e,abort:!0,...F.normalizeParams(t)});return r._zod.bag.Class=e,r._zod.check=n=>{n.value instanceof e||n.issues.push({code:"invalid_type",expected:e.name,input:n.value,inst:r,path:[...r._zod.def.path??[]]})},r}var I4=(...e)=>jI({Codec:ay,Boolean:rl,String:Qu},...e);function S4(e){let t=LE(()=>ey([R_(e),eE(),tE(),oE(),Qp(t),_E(R_(),t)]));return t}function k4(e,t){return Jp(ry(e),t)}var NK={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};function MK(e){bt({customError:e})}function jK(){return bt().customError}var ZE;ZE||(ZE={});var J={...Hp,...T_,iso:Xu},zK=new Set(["$schema","$ref","$defs","definitions","$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor","type","enum","const","anyOf","oneOf","allOf","not","properties","required","additionalProperties","patternProperties","propertyNames","minProperties","maxProperties","items","prefixItems","additionalItems","minItems","maxItems","uniqueItems","contains","minContains","maxContains","minLength","maxLength","pattern","format","minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","description","default","contentEncoding","contentMediaType","contentSchema","unevaluatedItems","unevaluatedProperties","if","then","else","dependentSchemas","dependentRequired","nullable","readOnly"]);function DK(e,t){let r=e.$schema;return r==="https://json-schema.org/draft/2020-12/schema"?"draft-2020-12":r==="http://json-schema.org/draft-07/schema#"?"draft-7":r==="http://json-schema.org/draft-04/schema#"?"draft-4":t??"draft-2020-12"}function LK(e,t){if(!e.startsWith("#"))throw new Error("External $ref is not supported, only local refs (#/...) are allowed");let r=e.slice(1).split("/").filter(Boolean);if(r.length===0)return t.rootSchema;let n=t.version==="draft-2020-12"?"$defs":"definitions";if(r[0]===n){let i=r[1];if(!i||!t.defs[i])throw new Error(`Reference not found: ${e}`);return t.defs[i]}throw new Error(`Reference not found: ${e}`)}function E4(e,t){if(e.not!==void 0){if(typeof e.not=="object"&&Object.keys(e.not).length===0)return J.never();throw new Error("not is not supported in Zod (except { not: {} } for never)")}if(e.unevaluatedItems!==void 0)throw new Error("unevaluatedItems is not supported");if(e.unevaluatedProperties!==void 0)throw new Error("unevaluatedProperties is not supported");if(e.if!==void 0||e.then!==void 0||e.else!==void 0)throw new Error("Conditional schemas (if/then/else) are not supported");if(e.dependentSchemas!==void 0||e.dependentRequired!==void 0)throw new Error("dependentSchemas and dependentRequired are not supported");if(e.$ref){let i=e.$ref;if(t.refs.has(i))return t.refs.get(i);if(t.processing.has(i))return J.lazy(()=>{if(!t.refs.has(i))throw new Error(`Circular reference not resolved: ${i}`);return t.refs.get(i)});t.processing.add(i);let o=LK(i,t),a=cr(o,t);return t.refs.set(i,a),t.processing.delete(i),a}if(e.enum!==void 0){let i=e.enum;if(t.version==="openapi-3.0"&&e.nullable===!0&&i.length===1&&i[0]===null)return J.null();if(i.length===0)return J.never();if(i.length===1)return J.literal(i[0]);if(i.every(a=>typeof a=="string"))return J.enum(i);let o=i.map(a=>J.literal(a));return o.length<2?o[0]:J.union([o[0],o[1],...o.slice(2)])}if(e.const!==void 0)return J.literal(e.const);let r=e.type;if(Array.isArray(r)){let i=r.map(o=>{let a={...e,type:o};return E4(a,t)});return i.length===0?J.never():i.length===1?i[0]:J.union(i)}if(!r)return J.any();let n;switch(r){case"string":{let i=J.string();if(e.format){let o=e.format;o==="email"?i=i.check(J.email()):o==="uri"||o==="uri-reference"?i=i.check(J.url()):o==="uuid"||o==="guid"?i=i.check(J.uuid()):o==="date-time"?i=i.check(J.iso.datetime()):o==="date"?i=i.check(J.iso.date()):o==="time"?i=i.check(J.iso.time()):o==="duration"?i=i.check(J.iso.duration()):o==="ipv4"?i=i.check(J.ipv4()):o==="ipv6"?i=i.check(J.ipv6()):o==="mac"?i=i.check(J.mac()):o==="cidr"?i=i.check(J.cidrv4()):o==="cidr-v6"?i=i.check(J.cidrv6()):o==="base64"?i=i.check(J.base64()):o==="base64url"?i=i.check(J.base64url()):o==="e164"?i=i.check(J.e164()):o==="jwt"?i=i.check(J.jwt()):o==="emoji"?i=i.check(J.emoji()):o==="nanoid"?i=i.check(J.nanoid()):o==="cuid"?i=i.check(J.cuid()):o==="cuid2"?i=i.check(J.cuid2()):o==="ulid"?i=i.check(J.ulid()):o==="xid"?i=i.check(J.xid()):o==="ksuid"&&(i=i.check(J.ksuid()))}typeof e.minLength=="number"&&(i=i.min(e.minLength)),typeof e.maxLength=="number"&&(i=i.max(e.maxLength)),e.pattern&&(i=i.regex(new RegExp(e.pattern))),n=i;break}case"number":case"integer":{let i=r==="integer"?J.number().int():J.number();typeof e.minimum=="number"&&(i=i.min(e.minimum)),typeof e.maximum=="number"&&(i=i.max(e.maximum)),typeof e.exclusiveMinimum=="number"?i=i.gt(e.exclusiveMinimum):e.exclusiveMinimum===!0&&typeof e.minimum=="number"&&(i=i.gt(e.minimum)),typeof e.exclusiveMaximum=="number"?i=i.lt(e.exclusiveMaximum):e.exclusiveMaximum===!0&&typeof e.maximum=="number"&&(i=i.lt(e.maximum)),typeof e.multipleOf=="number"&&(i=i.multipleOf(e.multipleOf)),n=i;break}case"boolean":{n=J.boolean();break}case"null":{n=J.null();break}case"object":{let i={},o=e.properties||{},a=new Set(e.required||[]);for(let[c,u]of Object.entries(o)){let l=cr(u,t);i[c]=a.has(c)?l:l.optional()}if(e.propertyNames){let c=cr(e.propertyNames,t),u=e.additionalProperties&&typeof e.additionalProperties=="object"?cr(e.additionalProperties,t):J.any();if(Object.keys(i).length===0){n=J.record(c,u);break}let l=J.object(i).passthrough(),d=J.looseRecord(c,u);n=J.intersection(l,d);break}if(e.patternProperties){let c=e.patternProperties,u=Object.keys(c),l=[];for(let f of u){let p=cr(c[f],t),m=J.string().regex(new RegExp(f));l.push(J.looseRecord(m,p))}let d=[];if(Object.keys(i).length>0&&d.push(J.object(i).passthrough()),d.push(...l),d.length===0)n=J.object({}).passthrough();else if(d.length===1)n=d[0];else{let f=J.intersection(d[0],d[1]);for(let p=2;p<d.length;p++)f=J.intersection(f,d[p]);n=f}break}let s=J.object(i);e.additionalProperties===!1?n=s.strict():typeof e.additionalProperties=="object"?n=s.catchall(cr(e.additionalProperties,t)):n=s.passthrough();break}case"array":{let i=e.prefixItems,o=e.items;if(i&&Array.isArray(i)){let a=i.map(c=>cr(c,t)),s=o&&typeof o=="object"&&!Array.isArray(o)?cr(o,t):void 0;s?n=J.tuple(a).rest(s):n=J.tuple(a),typeof e.minItems=="number"&&(n=n.check(J.minLength(e.minItems))),typeof e.maxItems=="number"&&(n=n.check(J.maxLength(e.maxItems)))}else if(Array.isArray(o)){let a=o.map(c=>cr(c,t)),s=e.additionalItems&&typeof e.additionalItems=="object"?cr(e.additionalItems,t):void 0;s?n=J.tuple(a).rest(s):n=J.tuple(a),typeof e.minItems=="number"&&(n=n.check(J.minLength(e.minItems))),typeof e.maxItems=="number"&&(n=n.check(J.maxLength(e.maxItems)))}else if(o!==void 0){let a=cr(o,t),s=J.array(a);typeof e.minItems=="number"&&(s=s.min(e.minItems)),typeof e.maxItems=="number"&&(s=s.max(e.maxItems)),n=s}else n=J.array(J.any());break}default:throw new Error(`Unsupported type: ${r}`)}return e.description&&(n=n.describe(e.description)),e.default!==void 0&&(n=n.default(e.default)),n}function cr(e,t){if(typeof e=="boolean")return e?J.any():J.never();let r=E4(e,t),n=e.type||e.enum!==void 0||e.const!==void 0;if(e.anyOf&&Array.isArray(e.anyOf)){let s=e.anyOf.map(u=>cr(u,t)),c=J.union(s);r=n?J.intersection(r,c):c}if(e.oneOf&&Array.isArray(e.oneOf)){let s=e.oneOf.map(u=>cr(u,t)),c=J.xor(s);r=n?J.intersection(r,c):c}if(e.allOf&&Array.isArray(e.allOf))if(e.allOf.length===0)r=n?r:J.any();else{let s=n?r:cr(e.allOf[0],t),c=n?0:1;for(let u=c;u<e.allOf.length;u++)s=J.intersection(s,cr(e.allOf[u],t));r=s}e.nullable===!0&&t.version==="openapi-3.0"&&(r=J.nullable(r)),e.readOnly===!0&&(r=J.readonly(r));let i={},o=["$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor"];for(let s of o)s in e&&(i[s]=e[s]);let a=["contentEncoding","contentMediaType","contentSchema"];for(let s of a)s in e&&(i[s]=e[s]);for(let s of Object.keys(e))zK.has(s)||(i[s]=e[s]);return Object.keys(i).length>0&&t.registry.add(r,i),r}function $4(e,t){if(typeof e=="boolean")return e?J.any():J.never();let r=DK(e,t?.defaultTarget),n=e.$defs||e.definitions||{},i={version:r,defs:n,refs:new Map,processing:new Set,rootSchema:e,registry:t?.registry??Be};return cr(e,i)}var GE={};li(GE,{bigint:()=>VK,boolean:()=>BK,date:()=>ZK,number:()=>FK,string:()=>UK});function UK(e){return tI(Qu,e)}function FK(e){return uI(tl,e)}function BK(e){return gI(rl,e)}function VK(e){return yI(nl,e)}function ZK(e){return $I(Yp,e)}bt(tg());var T4=P({BaseToolkit:()=>HK,DynamicStructuredTool:()=>A4,DynamicTool:()=>qE,StructuredTool:()=>of,Tool:()=>HE,ToolInputParsingException:()=>qc,isLangChainTool:()=>Io,isRunnableToolLike:()=>Zp,isStructuredTool:()=>Vp,isStructuredToolParams:()=>Gp,tool:()=>af}),of=class extends l_{extras;returnDirect=!1;verboseParsingErrors=!1;get lc_namespace(){return["langchain","tools"]}responseFormat="content";defaultConfig;constructor(e){super(e??{}),this.verboseParsingErrors=e?.verboseParsingErrors??this.verboseParsingErrors,this.responseFormat=e?.responseFormat??this.responseFormat,this.defaultConfig=e?.defaultConfig??this.defaultConfig,this.metadata=e?.metadata??this.metadata,this.extras=e?.extras??this.extras}async invoke(e,t){let r,n=Ne(Bt(this.defaultConfig,t));return Qo(e)?(r=e.args,n={...n,toolCall:e}):r=e,this.call(r,n)}async call(e,t,r){let n=Qo(e)?e.args:e,i;if(zt(this.schema))try{i=await va(this.schema,n)}catch(p){let m="Received tool input did not match expected schema";throw this.verboseParsingErrors&&(m=`${m}
|
|
278
278
|
Details: ${p.message}`),Ug(p)&&(m=`${m}
|
|
279
279
|
|
|
280
|
-
${M.prettifyError(p)}`),new qc(m,JSON.stringify(e))}else{let p=
|
|
280
|
+
${M.prettifyError(p)}`),new qc(m,JSON.stringify(e))}else{let p=nt(n,this.schema);if(!p.valid){let m="Received tool input did not match expected schema";throw this.verboseParsingErrors&&(m=`${m}
|
|
281
281
|
Details: ${p.errors.map(h=>`${h.keywordLocation}: ${h.error}`).join(`
|
|
282
282
|
`)}`),new qc(m,JSON.stringify(e))}i=n}let o=gs(t),a=Et.configure(o.callbacks,this.callbacks,o.tags||r,this.tags,o.metadata,this.metadata,{verbose:this.verbose}),s;Qo(e)&&(s=e.id),!s&&ZA(o)&&(s=o.toolCall.id);let c=await a?.handleToolStart(this.toJSON(),typeof e=="string"?e:JSON.stringify(e),o.runId,void 0,void 0,void 0,o.runName,s);delete o.runId;let u;try{let p=await this._call(i,c,o);u=jS(p)?await gj(p,async m=>{try{await c?.handleToolEvent(m)}catch(h){await c?.handleToolError(h)}}):p}catch(p){throw await c?.handleToolError(p),p}let l,d;if(this.responseFormat==="content_and_artifact")if(Array.isArray(u)&&u.length===2)[l,d]=u;else throw new Error(`Tool response format is "content_and_artifact" but the output was not a two-tuple.
|
|
283
283
|
Result: ${JSON.stringify(u)}`);else l=u;let f=qK({content:l,artifact:d,toolCallId:s,name:this.name,metadata:this.metadata});return await c?.handleToolEnd(f),f}},HE=class extends of{schema=Vt.object({input:Vt.string().optional()}).transform(e=>e.input);constructor(e){super(e)}call(e,t){let r=typeof e=="string"||e==null?{input:e}:e;return super.call(r,t)}},qE=class extends HE{static lc_name(){return"DynamicTool"}name;description;func;constructor(e){super(e),this.name=e.name,this.description=e.description,this.func=e.func,this.returnDirect=e.returnDirect??this.returnDirect}async call(e,t){let r=gs(t);return r.runName===void 0&&(r.runName=this.name),super.call(e,r)}_call(e,t,r){return this.func(e,t,r)}},A4=class extends of{static lc_name(){return"DynamicStructuredTool"}description;func;schema;constructor(e){super(e),this.name=e.name,this.description=e.description,this.func=e.func,this.returnDirect=e.returnDirect??this.returnDirect,this.schema=e.schema}async call(e,t,r){let n=gs(t);return n.runName===void 0&&(n.runName=this.name),super.call(e,n,r)}_call(e,t,r){return this.func(e,t,r)}},HK=class{getTools(){return this.tools}};function af(e,t){let r=Ou(t.schema),n=Uu(t.schema);if(!t.schema||r||n)return new qE({...t,description:t.description??t.schema?.description??`${t.name} tool`,func:async(a,s,c)=>new Promise((u,l)=>{let d=Me(c,{callbacks:s?.getChild()});He.runWithConfig(br(d),async()=>{try{u(e(a,d))}catch(f){l(f)}})})});let i=t.schema,o=t.description??t.schema.description??`${t.name} tool`;return new A4({...t,description:o,schema:i,func:async(a,s,c)=>new Promise((u,l)=>{let d,f=()=>{c?.signal&&d&&c.signal.removeEventListener("abort",d)};c?.signal&&(d=()=>{f(),l(oa(c.signal))},c.signal.addEventListener("abort",d,{once:!0}));let p=Me(c,{callbacks:s?.getChild()});He.runWithConfig(br(p),async()=>{try{let m=await e(a,p);if(jS(m)){u(m);return}if(c?.signal?.aborted){f();return}f(),u(m)}catch(m){f(),l(m)}})})})}function qK(e){let{content:t,artifact:r,toolCallId:n,metadata:i}=e;return n&&!xd(t)?typeof t=="string"||Array.isArray(t)&&t.every(o=>typeof o=="object")?new jt({status:"success",content:t,artifact:r,tool_call_id:n,name:e.name,metadata:i}):new jt({status:"success",content:KK(t),artifact:r,tool_call_id:n,name:e.name,metadata:i}):t}function KK(e){try{return JSON.stringify(e)??""}catch{return`${e}`}}var O4=P({RunCollectorCallbackHandler:()=>WK}),WK=class extends Jt{name="run_collector";exampleId;tracedRuns;constructor({exampleId:e}={}){super({_awaitHandler:!0}),this.exampleId=e,this.tracedRuns=[]}async persistRun(e){let t={...e};t.reference_example_id=this.exampleId,this.tracedRuns.push(t)}};var C4=P({});var P4=P({chunkArray:()=>sy}),sy=(e,t)=>e.reduce((r,n,i)=>{let o=Math.floor(i/t);return r[o]=(r[o]||[]).concat([n]),r},[]);var R4=P({context:()=>JK});function JK(e,...t){let r=e.raw,n="";for(let i=0;i<r.length;i++){let o=r[i].replace(/\\\n[ \t]*/g,"").replace(/\\`/g,"`").replace(/\\\$/g,"$").replace(/\\\{/g,"{");if(n+=o,i<t.length){let a=XK(t[i],n);n+=typeof a=="string"?a:JSON.stringify(a)}}return n=YK(n),n=n.trim(),n=n.replace(/\\n/g,`
|
|
@@ -289,7 +289,7 @@ ${n}`)}return e}function YK(e){let t=e.split(`
|
|
|
289
289
|
`)}var N4=P({EventStreamContentType:()=>QK,convertEventStreamToIterableReadableDataStream:()=>tW,getBytes:()=>M4,getLines:()=>j4,getMessages:()=>z4}),QK="text/event-stream";async function M4(e,t){if(e instanceof ReadableStream){let r=e.getReader();for(;;){let n=await r.read();if(n.done){t(new Uint8Array,!0);break}t(n.value)}}else try{for await(let r of e)t(new Uint8Array(r));t(new Uint8Array,!0)}catch(r){throw new Error(["Parsing event source stream failed.","Ensure your implementation of fetch returns a web or Node readable stream.",`Error: ${r.message}`].join(`
|
|
290
290
|
`))}}var il=(function(e){return e[e.NewLine=10]="NewLine",e[e.CarriageReturn=13]="CarriageReturn",e[e.Space=32]="Space",e[e.Colon=58]="Colon",e})(il||{});function j4(e){let t,r,n,i=!1;return function(a,s){if(s){e(a,0,!0);return}t===void 0?(t=a,r=0,n=-1):t=eW(t,a);let c=t.length,u=0;for(;r<c;){i&&(t[r]===il.NewLine&&(u=++r),i=!1);let l=-1;for(;r<c&&l===-1;++r)switch(t[r]){case il.Colon:n===-1&&(n=r-u);break;case il.CarriageReturn:i=!0;case il.NewLine:l=r;break}if(l===-1)break;e(t.subarray(u,l),n),u=r,n=-1}u===c?t=void 0:u!==0&&(t=t.subarray(u),r-=u)}}function z4(e,t,r){let n=KE(),i=new TextDecoder;return function(a,s,c){if(c){rW(n)||(e?.(n),n=KE());return}if(a.length===0)e?.(n),n=KE();else if(s>0){let u=i.decode(a.subarray(0,s)),l=s+(a[s+1]===il.Space?2:1),d=i.decode(a.subarray(l));switch(u){case"data":n.data=n.data?n.data+`
|
|
291
291
|
`+d:d;break;case"event":n.event=d;break;case"id":t?.(n.id=d);break;case"retry":{let f=parseInt(d,10);Number.isNaN(f)||r?.(n.retry=f);break}}}}}function eW(e,t){let r=new Uint8Array(e.length+t.length);return r.set(e),r.set(t,e.length),r}function KE(){return{data:"",event:"",id:"",retry:void 0}}function tW(e,t){let r=new ReadableStream({async start(n){let i=z4(a=>{if(a.event==="error")throw new Error(a.data??"Unspecified event streaming error.");a.event==="metadata"?t?.(a):a.data&&n.enqueue(a.data)});await M4(e,j4((a,s,c)=>{i(a,s,c),c&&n.close()}))}});return Ct.fromReadableStream(r)}function rW(e){return e.data===""&&e.event===""&&e.id===""&&e.retry===void 0}var D4=P({});var L4=P({convertToOpenAIFunction:()=>U4,convertToOpenAITool:()=>WE,isLangChainTool:()=>Io,isRunnableToolLike:()=>Zp,isStructuredTool:()=>Vp,isStructuredToolParams:()=>Gp});function U4(e,t){let r=typeof t=="number"?void 0:t;return{name:e.name,description:e.description,parameters:dt(e.schema),...r?.strict!==void 0?{strict:r.strict}:{}}}function WE(e,t){let r=typeof t=="number"?void 0:t,n;return Io(e)?n={type:"function",function:U4(e)}:n=e,r?.strict!==void 0&&(n.function.strict=r.strict),n}function cy(e,t){let r=0,n=0,i=0;for(let o=0;o<e.length;o++)r+=e[o]*t[o],n+=e[o]*e[o],i+=t[o]*t[o];return r/(Math.sqrt(n)*Math.sqrt(i))}function F4(e,t){let r=0;for(let n=0;n<e.length;n++)r+=e[n]*t[n];return r}function nW(e,t){let r=0;for(let n=0;n<e.length;n++)r+=(e[n]-t[n])*(e[n]-t[n]);return r}function B4(e,t){return Math.sqrt(nW(e,t))}var V4=P({cosineSimilarity:()=>JE,euclideanDistance:()=>aW,innerProduct:()=>oW,matrixFunc:()=>uy,maximalMarginalRelevance:()=>sW,normalize:()=>iW});function uy(e,t,r){if(e.length===0||e[0].length===0||t.length===0||t[0].length===0)return[[]];if(e[0].length!==t[0].length)throw new Error(`Number of columns in X and Y must be the same. X has shape ${[e.length,e[0].length]} and Y has shape ${[t.length,t[0].length]}.`);return e.map(n=>t.map(i=>r(n,i)).map(i=>Number.isNaN(i)?0:i))}function iW(e,t=!1){let r=cW(e);return e.map(n=>n.map(i=>t?1-i/r:i/r))}function JE(e,t){return uy(e,t,cy)}function oW(e,t){return uy(e,t,F4)}function aW(e,t){return uy(e,t,B4)}function sW(e,t,r=.5,n=4){if(Math.min(n,t.length)<=0)return[];let i=JE(Array.isArray(e[0])?e:[e],t)[0],o=Z4(i).maxIndex,a=[t[o]],s=[o];for(;s.length<Math.min(n,t.length);){let c=-1/0,u=-1,l=JE(t,a);i.forEach((d,f)=>{if(s.includes(f))return;let p=Math.max(...l[f]),m=r*d-(1-r)*p;m>c&&(c=m,u=f)}),a.push(t[u]),s.push(u)}return s}function Z4(e){if(e.length===0)return{maxIndex:-1,maxValue:NaN};let t=e[0],r=0;for(let n=1;n<e.length;n+=1)e[n]>t&&(r=n,t=e[n]);return{maxIndex:r,maxValue:t}}function cW(e){return e.reduce((t,r)=>Math.max(t,Z4(r).maxValue),0)}var G4=P({isCloudMetadata:()=>XE,isLocalhost:()=>YE,isPrivateIp:()=>J4,isSafeUrl:()=>gW,isSameOrigin:()=>_W,validateSafeUrl:()=>X4}),uW=["10.0.0.0/8","172.16.0.0/12","192.168.0.0/16","127.0.0.0/8","169.254.0.0/16","0.0.0.0/8","::1/128","fc00::/7","fe80::/10","ff00::/8"],lW=["169.254.169.254","169.254.170.2","100.100.100.200"],dW=["metadata.google.internal","metadata","instance-data"],pW=["localhost","localhost.localdomain"],fW=/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/;function H4(e){return fW.test(e)}function ly(e){return W4(e)!==null}function q4(e){return H4(e)||ly(e)}function K4(e){if(H4(e))return e.split(".").map(t=>parseInt(t,10));if(ly(e)){let t=W4(e);if(!t)return null;let r=t.split(":"),n=[];for(let i of r)n.push(parseInt(i,16));return n}return null}function W4(e){if(!e||typeof e!="string"||!e.includes(":")||!/^[0-9a-fA-F:]+$/.test(e))return null;let t=e;if(t.includes("::")){let n=t.split("::");if(n.length>2)return null;let[i,o]=n,a=i?i.split(":"):[],s=o?o.split(":"):[],c=8-(a.length+s.length);if(c<0)return null;let u=Array(c).fill("0");t=[...a,...u,...s].filter(l=>l!=="").join(":")}let r=t.split(":");if(r.length!==8)return null;for(let n of r)if(n.length===0||n.length>4||!/^[0-9a-fA-F]+$/.test(n))return null;return r.map(n=>n.padStart(4,"0").toLowerCase()).join(":")}function mW(e){let[t,r]=e.split("/");if(!t||!r)return null;let n=K4(t);if(!n)return null;let i=parseInt(r,10);if(isNaN(i))return null;let o=ly(t);return o&&i>128||!o&&i>32?null:{addr:n,prefixLen:i,isIpv6:o}}function hW(e,t){let r=K4(e);if(!r)return!1;let n=mW(t);if(!n)return!1;let i=ly(e);if(i!==n.isIpv6)return!1;let{addr:o,prefixLen:a}=n;if(i)for(let s=0;s<Math.ceil(a/16);s++){let c=65535<<16-Math.min(16,a-s*16)&65535;if((r[s]&c)!==(o[s]&c))return!1}else for(let s=0;s<Math.ceil(a/8);s++){let c=255<<8-Math.min(8,a-s*8)&255;if((r[s]&c)!==(o[s]&c))return!1}return!0}function J4(e){if(!q4(e))return!1;for(let t of uW)if(hW(e,t))return!0;return!1}function XE(e,t){if(lW.includes(t||""))return!0;let r=e.toLowerCase();return!!dW.includes(r)}function YE(e,t){if(t&&(t==="127.0.0.1"||t==="::1"||t==="0.0.0.0"||t.startsWith("127.")))return!0;let r=e.toLowerCase();return!!pW.includes(r)}function X4(e,t){let r=t?.allowPrivate??!1,n=t?.allowHttp??!1;try{let i;try{i=new URL(e)}catch{throw new Error(`Invalid URL: ${e}`)}let o=i.hostname;if(!o)throw new Error("URL missing hostname.");if(XE(o))throw new Error(`URL points to cloud metadata endpoint: ${o}`);if(YE(o)){if(!r)throw new Error(`URL points to localhost: ${o}`);return e}let a=i.protocol;if(a!=="http:"&&a!=="https:")throw new Error(`Invalid URL scheme: ${a}. Only http and https are allowed.`);if(a==="http:"&&!n)throw new Error("HTTP scheme not allowed. Use HTTPS or set allowHttp: true.");if(q4(o)){let s=o;if(YE(o,s)){if(!r)throw new Error(`URL points to localhost: ${o}`);return e}if(XE(o,s))throw new Error(`URL resolves to cloud metadata IP: ${s} (${o})`);if(J4(s)&&!r)throw new Error(`URL resolves to private IP: ${s} (${o}). Set allowPrivate: true to allow.`);return e}return e}catch(i){throw i&&typeof i=="object"&&"message"in i?i:new Error(`URL validation failed: ${i}`)}}function gW(e,t){try{return X4(e,t),!0}catch{return!1}}function _W(e,t){try{return new URL(e).origin===new URL(t).origin}catch{return!1}}var Y4=P({SaveableVectorStore:()=>yW,VectorStore:()=>py,VectorStoreRetriever:()=>dy}),dy=class extends Up{static lc_name(){return"VectorStoreRetriever"}get lc_namespace(){return["langchain_core","vectorstores"]}vectorStore;k=4;searchType="similarity";searchKwargs;filter;_vectorstoreType(){return this.vectorStore._vectorstoreType()}constructor(e){super(e),this.vectorStore=e.vectorStore,this.k=e.k??this.k,this.searchType=e.searchType??this.searchType,this.filter=e.filter,e.searchType==="mmr"&&(this.searchKwargs=e.searchKwargs)}async _getRelevantDocuments(e,t){if(this.searchType==="mmr"){if(typeof this.vectorStore.maxMarginalRelevanceSearch!="function")throw new Error(`The vector store backing this retriever, ${this._vectorstoreType()} does not support max marginal relevance search.`);return this.vectorStore.maxMarginalRelevanceSearch(e,{k:this.k,filter:this.filter,...this.searchKwargs},t?.getChild("vectorstore"))}return this.vectorStore.similaritySearch(e,this.k,this.filter,t?.getChild("vectorstore"))}async addDocuments(e,t){return this.vectorStore.addDocuments(e,t)}},py=class extends kt{lc_namespace=["langchain","vectorstores",this._vectorstoreType()];embeddings;constructor(e,t){super(t),this.embeddings=e}async delete(e){throw new Error("Not implemented.")}async similaritySearch(e,t=4,r=void 0,n=void 0){return(await this.similaritySearchVectorWithScore(await this.embeddings.embedQuery(e),t,r)).map(i=>i[0])}async similaritySearchWithScore(e,t=4,r=void 0,n=void 0){return this.similaritySearchVectorWithScore(await this.embeddings.embedQuery(e),t,r)}static fromTexts(e,t,r,n){throw new Error("the Langchain vectorstore implementation you are using forgot to override this, please report a bug")}static fromDocuments(e,t,r){throw new Error("the Langchain vectorstore implementation you are using forgot to override this, please report a bug")}asRetriever(e,t,r,n,i,o){if(typeof e=="number")return new dy({vectorStore:this,k:e,filter:t,tags:[...n??[],this._vectorstoreType()],metadata:i,verbose:o,callbacks:r});{let a={vectorStore:this,k:e?.k,filter:e?.filter,tags:[...e?.tags??[],this._vectorstoreType()],metadata:e?.metadata,verbose:e?.verbose,callbacks:e?.callbacks,searchType:e?.searchType};return e?.searchType==="mmr"?new dy({...a,searchKwargs:e.searchKwargs}):new dy({...a})}}},yW=class extends py{static load(e,t){throw new Error("Not implemented")}};var Q4=class extends zi{_combineLLMOutput(){return[]}_llmType(){return"fake"}async _generate(e,t,r){if(t?.stop?.length)return{generations:[{message:new be(t.stop[0]),text:t.stop[0]}]};let n=e.map(i=>typeof i.content=="string"?i.content:JSON.stringify(i.content,null,2)).join(`
|
|
292
|
-
`);return await r?.handleLLMNewToken(n),{generations:[{message:new be(n),text:n}],llmOutput:{}}}},eL=class tL extends zi{sleep=50;responses=[];chunks=[];toolStyle="openai";thrownErrorString;tools=[];constructor({sleep:t=50,responses:r=[],chunks:n=[],toolStyle:i="openai",thrownErrorString:o,...a}){super(a),this.sleep=t,this.responses=r,this.chunks=n,this.toolStyle=i,this.thrownErrorString=o}_llmType(){return"fake"}bindTools(t){let r=[...this.tools,...t],n=r.map(a=>{switch(this.toolStyle){case"openai":return{type:"function",function:{name:a.name,description:a.description,parameters:dt(a.schema)}};case"anthropic":return{name:a.name,description:a.description,input_schema:dt(a.schema)};case"bedrock":return{toolSpec:{name:a.name,description:a.description,inputSchema:dt(a.schema)}};case"google":return{name:a.name,description:a.description,parameters:dt(a.schema)};default:throw new Error(`Unsupported tool style: ${this.toolStyle}`)}}),i=this.toolStyle==="google"?[{functionDeclarations:n}]:n,o=new tL({sleep:this.sleep,responses:this.responses,chunks:this.chunks,toolStyle:this.toolStyle,thrownErrorString:this.thrownErrorString});return o.tools=r,o.withConfig({tools:i})}async _generate(t,r,n){if(this.thrownErrorString)throw new Error(this.thrownErrorString);return{generations:[{text:"",message:new be({content:this.responses?.[0]?.content??t[0].content??"",tool_calls:this.chunks?.[0]?.tool_calls})}]}}async*_streamResponseChunks(t,r,n){if(this.thrownErrorString)throw new Error(this.thrownErrorString);if(this.chunks?.length){for(let a of this.chunks){let s=new Xr({message:new st({content:a.content,tool_calls:a.tool_calls,additional_kwargs:a.additional_kwargs??{}}),text:a.content?.toString()??""});if(r.signal?.aborted)break;yield s,await n?.handleLLMNewToken(a.content,void 0,void 0,void 0,void 0,{chunk:s})}return}let i=this.responses?.[0]??new be(typeof t[0].content=="string"?t[0].content:""),o=typeof i.content=="string"?i.content:"";for(let a of o){await new Promise(c=>setTimeout(c,this.sleep));let s=new Xr({message:new st({content:a}),text:a});if(r.signal?.aborted)break;yield s,await n?.handleLLMNewToken(a,void 0,void 0,void 0,void 0,{chunk:s})}}},rL=class nL extends zi{static lc_name(){return"FakeListChatModel"}lc_serializable=!0;responses;i=0;sleep;emitCustomEvent=!1;generationInfo;tools=[];toolStyle="openai";constructor(t){super(t);let{responses:r,sleep:n,emitCustomEvent:i,generationInfo:o}=t;this.responses=r,this.sleep=n,this.emitCustomEvent=i??this.emitCustomEvent,this.generationInfo=o}_combineLLMOutput(){return[]}_llmType(){return"fake-list"}async _generate(t,r,n){if(await this._sleepIfRequested(),r?.thrownErrorString)throw new Error(r.thrownErrorString);if(this.emitCustomEvent&&await n?.handleCustomEvent("some_test_event",{someval:!0}),r?.stop?.length)return{generations:[this._formatGeneration(r.stop[0])]};{let i=this._currentResponse();return this._incrementResponse(),{generations:[this._formatGeneration(i)],llmOutput:{}}}}_formatGeneration(t){return{message:new be(t),text:t}}async*_streamResponseChunks(t,r,n){let i=this._currentResponse();this._incrementResponse(),this.emitCustomEvent&&await n?.handleCustomEvent("some_test_event",{someval:!0});let o=[...i];for(let a=0;a<o.length;a++){let s=o[a],c=a===o.length-1;if(await this._sleepIfRequested(),r?.thrownErrorString)throw new Error(r.thrownErrorString);let u=this._createResponseChunk(s,c?this.generationInfo:void 0);if(r.signal?.aborted)break;yield u,n?.handleLLMNewToken(s)}}async _sleepIfRequested(){this.sleep!==void 0&&await this._sleep()}async _sleep(){return new Promise(t=>{setTimeout(()=>t(),this.sleep)})}_createResponseChunk(t,r){return new Xr({message:new st({content:t}),text:t,generationInfo:r})}_currentResponse(){return this.responses[this.i]}_incrementResponse(){this.i<this.responses.length-1?this.i+=1:this.i=0}bindTools(t){let r=[...this.tools,...t],n=r.map(a=>{switch(this.toolStyle){case"openai":return{type:"function",function:{name:a.name,description:a.description,parameters:dt(a.schema)}};case"anthropic":return{name:a.name,description:a.description,input_schema:dt(a.schema)};case"bedrock":return{toolSpec:{name:a.name,description:a.description,inputSchema:dt(a.schema)}};case"google":return{name:a.name,description:a.description,parameters:dt(a.schema)};default:throw new Error(`Unsupported tool style: ${this.toolStyle}`)}}),i=this.toolStyle==="google"?[{functionDeclarations:n}]:n,o=new nL({responses:this.responses,sleep:this.sleep,emitCustomEvent:this.emitCustomEvent,generationInfo:this.generationInfo});return o.tools=r,o.toolStyle=this.toolStyle,o.i=this.i,o.withConfig({tools:i})}withStructuredOutput(t,r){return Zt.from(async n=>{let i=await this.invoke(n);if(i.tool_calls?.[0]?.args)return i.tool_calls[0].args;if(typeof i.content=="string")return JSON.parse(i.content);throw new Error("No structured output found")})}};var iL=class extends Fu{vectorSize;constructor(e){super(e??{}),this.vectorSize=e?.vectorSize??4}async embedDocuments(e){return Promise.all(e.map(t=>this.embedQuery(t)))}async embedQuery(e){let t=e;t=t.toLowerCase().replaceAll(/[^a-z ]/g,"");let r=t.length%this.vectorSize,n=r===0?0:this.vectorSize-r,i=t.length+n;t=t.padEnd(i," ");let o=t.length/this.vectorSize,a=[];for(let s=0;s<t.length;s+=o)a.push(t.slice(s,s+o));return a.map(s=>{let c=0;for(let u=0;u<s.length;u+=1)c+=s===" "?0:s.charCodeAt(u);return c%26/26})}},oL=class extends Fu{constructor(e){super(e??{})}embedDocuments(e){return Promise.resolve(e.map(()=>[.1,.2,.3,.4]))}embedQuery(e){return Promise.resolve([.1,.2,.3,.4])}};var aL=class extends y_{response;thrownErrorString;constructor(e){super(e),this.response=e.response,this.thrownErrorString=e.thrownErrorString}_llmType(){return"fake"}async _call(e,t,r){if(this.thrownErrorString)throw new Error(this.thrownErrorString);let n=this.response??e;return await r?.handleLLMNewToken(n),n}},sL=class extends y_{sleep=50;responses;thrownErrorString;constructor(e){super(e),this.sleep=e.sleep??this.sleep,this.responses=e.responses,this.thrownErrorString=e.thrownErrorString}_llmType(){return"fake"}async _call(e){if(this.thrownErrorString)throw new Error(this.thrownErrorString);let t=this.responses?.[0];return this.responses=this.responses?.slice(1),t??e}async*_streamResponseChunks(e,t,r){if(this.thrownErrorString)throw new Error(this.thrownErrorString);let n=this.responses?.[0];this.responses=this.responses?.slice(1);for(let i of n??e)await new Promise(o=>setTimeout(o,this.sleep)),yield{text:i,generationInfo:{}},await r?.handleLLMNewToken(i)}};var cL=class extends BS{lc_namespace=["langchain_core","message","fake"];messages=[];constructor(){super()}async getMessages(){return this.messages}async addMessage(e){this.messages.push(e)}async addUserMessage(e){this.messages.push(new rt(e))}async addAIMessage(e){this.messages.push(new be(e))}async clear(){this.messages=[]}},uL=class extends n_{lc_namespace=["langchain_core","message","fake"];messages=[];constructor(){super()}async addMessage(e){this.messages.push(e)}async getMessages(){return this.messages}},lL=class extends Jt{name="fake_tracer";runs=[];constructor(){super()}persistRun(e){return this.runs.push(e),Promise.resolve()}};var dL=class extends Gn{lc_namespace=["tests","fake"];getFormatInstructions(){return""}async parse(e){return e.split(",").map(t=>t.trim())}};var pL=class extends Up{lc_namespace=["test","fake"];output=[new rn({pageContent:"foo"}),new rn({pageContent:"bar"})];constructor(e){super(),this.output=e?.output??this.output}async _getRelevantDocuments(e){return this.output}};var fL=class extends pe{lc_namespace=["tests","fake"];returnOptions;constructor(e){super(e),this.returnOptions=e.returnOptions}async invoke(e,t){return this.returnOptions?t??{}:{input:e}}};var mL=class extends of{name;description;schema;constructor(e){super(e),this.name=e.name,this.description=e.description,this.schema=e.schema}async _call(e,t){return JSON.stringify(e)}};var hL=class extends Jt{runPromiseResolver;runPromise;name="single_run_extractor";constructor(){super(),this.runPromise=new Promise(e=>{this.runPromiseResolver=e})}async persistRun(e){this.runPromiseResolver(e)}async extract(){return this.runPromise}};var gL=class _L extends py{memoryVectors=[];similarity;_vectorstoreType(){return"memory"}constructor(t,{similarity:r,...n}={}){super(t,n),this.similarity=r??cy}async addDocuments(t){let r=t.map(({pageContent:n})=>n);return this.addVectors(await this.embeddings.embedDocuments(r),t)}async addVectors(t,r){let n=t.map((i,o)=>({content:r[o].pageContent,embedding:i,metadata:r[o].metadata}));this.memoryVectors=this.memoryVectors.concat(n)}async similaritySearchVectorWithScore(t,r,n){let i=a=>n?n(new rn({metadata:a.metadata,pageContent:a.content})):!0,o=this.memoryVectors.filter(i);return o.map((a,s)=>({similarity:this.similarity(t,a.embedding),index:s})).sort((a,s)=>a.similarity>s.similarity?-1:0).slice(0,r).map(a=>[new rn({metadata:o[a.index].metadata,pageContent:o[a.index].content}),a.similarity])}static async fromTexts(t,r,n,i){let o=[];for(let a=0;a<t.length;a+=1){let s=Array.isArray(r)?r[a]:r,c=new rn({pageContent:t[a],metadata:s});o.push(c)}return _L.fromDocuments(o,n,i)}static async fromDocuments(t,r,n){let i=new this(r,n);return await i.addDocuments(t),i}static async fromExistingIndex(t,r){return new this(t,r)}};var yL=P({FakeChatMessageHistory:()=>cL,FakeChatModel:()=>Q4,FakeEmbeddings:()=>oL,FakeLLM:()=>aL,FakeListChatMessageHistory:()=>uL,FakeListChatModel:()=>rL,FakeRetriever:()=>pL,FakeRunnable:()=>fL,FakeSplitIntoListParser:()=>dL,FakeStreamingChatModel:()=>eL,FakeStreamingLLM:()=>sL,FakeTool:()=>mL,FakeTracer:()=>lL,FakeVectorStore:()=>gL,SingleRunExtractor:()=>hL,SyntheticEmbeddings:()=>iL});var vL=P({agents:()=>IA,caches:()=>vO,callbacks__base:()=>TO,callbacks__manager:()=>sN,callbacks__promises:()=>iN,chat_history:()=>jj,document_loaders__base:()=>Lj,document_loaders__langsmith:()=>Uj,documents:()=>Dj,embeddings:()=>Fj,errors:()=>$A,example_selectors:()=>Jj,index:()=>xA,indexing:()=>Qj,language_models__base:()=>sz,language_models__chat_models:()=>Az,language_models__llms:()=>Oz,language_models__profile:()=>Cz,language_models__structured_output:()=>$z,load__serializable:()=>mA,memory:()=>Pz,messages:()=>Mj,messages__tool:()=>VA,output_parsers:()=>kz,output_parsers__openai_functions:()=>Mz,output_parsers__openai_tools:()=>jz,outputs:()=>SN,prompt_values:()=>ez,prompts:()=>Wz,retrievers:()=>Xz,retrievers__document_compressors:()=>Jz,runnables:()=>fz,runnables__graph:()=>lj,singletons:()=>fN,stores:()=>Yz,structured_query:()=>oD,testing:()=>lD,tools:()=>T4,tracers__base:()=>GR,tracers__console:()=>XR,tracers__log_stream:()=>IN,tracers__run_collector:()=>O4,tracers__tracer_langchain:()=>QR,types__stream:()=>C4,utils__async_caller:()=>AN,utils__chunk_array:()=>P4,utils__context:()=>R4,utils__env:()=>gA,utils__event_source_parse:()=>N4,utils__format:()=>D4,utils__function_calling:()=>L4,utils__hash:()=>SA,utils__json_patch:()=>mz,utils__json_schema:()=>nj,utils__math:()=>V4,utils__ssrf:()=>G4,utils__standard_schema:()=>ON,utils__stream:()=>mN,utils__testing:()=>yL,utils__tiktoken:()=>oz,utils__types:()=>Ez,vectorstores:()=>Y4});var vW=50;function bW(e){let t={};for(let r=e;r&&r.prototype;r=Object.getPrototypeOf(r))Object.assign(t,Reflect.get(r.prototype,"lc_aliases"));return Object.entries(t).reduce((r,[n,i])=>(r[i]=n,r),{})}async function fy(e){let{optionalImportsMap:t,optionalImportEntrypoints:r,importMap:n,secretsMap:i,secretsFromEnv:o,path:a,depth:s,maxDepth:c}=this,u=a.join(".");if(s>c)throw new Error(`Maximum recursion depth (${c}) exceeded during deserialization. This may indicate a malicious payload or you may need to increase maxDepth.`);if(typeof e!="object"||e==null)return e;if(Array.isArray(e))return Promise.all(e.map((f,p)=>fy.call({...this,path:[...a,`${p}`],depth:s+1},f)));let l=e;if(Jv(l))return lm(l);if("lc"in l&&"type"in l&&"id"in l&&l.lc===1&&l.type==="secret"){let[f]=l.id;if(f in i)return i[f];if(o){let p=et(f);if(p)return p}throw new Error(`Missing secret "${f}" at ${u}`)}if("lc"in l&&"type"in l&&"id"in l&&l.lc===1&&l.type==="not_implemented"){let p=JSON.stringify(l);throw new Error(`Trying to load an object that doesn't implement serialization: ${u} -> ${p}`)}if("lc"in l&&"type"in l&&"id"in l&&"kwargs"in l&&l.lc===1&&l.type==="constructor"){let f=l,p=JSON.stringify(f),[m,...h]=f.id.slice().reverse(),w=h.reverse(),_={langchain_core:vL,langchain:n},y=null,x=[w.join("/")];w[0]==="langchain_community"&&x.push(["langchain",...w.slice(1)].join("/"));let S=x.find(C=>C in t);if(wA.concat(r).includes(w.join("/"))||S)if(S!==void 0)y=await t[S];else throw new Error(`Missing key "${w.join("/")}" for ${u} in load(optionalImportsMap={})`);else{let C;if(w[0]==="langchain"||w[0]==="langchain_core")C=_[w[0]],w.shift();else throw new Error(`Invalid namespace: ${u} -> ${p}`);if(w.length===0)throw new Error(`Invalid namespace: ${u} -> ${p}`);let b;do{if(b=w.join("__"),b in C)break;w.pop()}while(w.length>0);b in C&&(y=C[b])}if(typeof y!="object"||y===null)throw new Error(`Invalid namespace: ${u} -> ${p}`);let $=y[m]??Object.values(y).find(C=>typeof C=="function"&&Bc(C)===m);if(typeof $!="function")throw new Error(`Invalid identifer: ${u} -> ${p}`);let j=new $(cm(await fy.call({...this,path:[...a,"kwargs"],depth:s+1},f.kwargs),lA,bW($)));return Object.defineProperty(j.constructor,"name",{value:m}),j}let d={};for(let[f,p]of Object.entries(l))d[f]=await fy.call({...this,path:[...a,f],depth:s+1},p);return d}async function bL(e,t){let r=JSON.parse(e),n={optionalImportsMap:t?.optionalImportsMap??{},optionalImportEntrypoints:t?.optionalImportEntrypoints??[],secretsMap:t?.secretsMap??{},secretsFromEnv:t?.secretsFromEnv??!1,importMap:t?.importMap??{},path:["$"],depth:0,maxDepth:t?.maxDepth??vW};return fy.call(n,r)}function wW(e){return e!==null&&e.lc===1&&e.type==="constructor"&&Array.isArray(e.id)}async function QE(e){if(e&&typeof e=="object"){if(Array.isArray(e))return await Promise.all(e.map(t=>QE(t)));{let t={};for(let[r,n]of Object.entries(e))t[r]=await QE(n);if(t.lc===2&&t.type==="undefined")return;if(t.lc===2&&t.type==="constructor"&&Array.isArray(t.id))try{let r=t.id[t.id.length-1],n;switch(r){case"Set":n=Set;break;case"Map":n=Map;break;case"RegExp":n=RegExp;break;case"Error":n=Error;break;case"Uint8Array":n=Uint8Array;break;default:return t}return t.method?n[t.method](...t.args||[]):new n(...t.args||[])}catch{return t}else if(wW(t))return bL(JSON.stringify(t));return t}}return e}function my(e,t,r,n){return{lc:2,type:"constructor",id:[e.name],method:t??null,args:r??[],kwargs:n??{}}}function xW(e){return e===void 0?{lc:2,type:"undefined"}:e instanceof Set||e instanceof Map?my(e.constructor,void 0,[Array.from(e)]):e instanceof RegExp?my(RegExp,void 0,[e.source,e.flags]):e instanceof Error?my(e.constructor,void 0,[e.message]):e?.lg_name==="Send"?{node:e.node,args:e.args}:e instanceof Uint8Array?my(Uint8Array,"from",[Array.from(e)]):e}var hy=class{_dumps(e){return new TextEncoder().encode(XT(e,(t,r)=>xW(r)))}async dumpsTyped(e){return e instanceof Uint8Array?["bytes",e]:["json",this._dumps(e)]}async _loads(e){return QE(JSON.parse(e))}async loadsTyped(e,t){if(e==="bytes")return typeof t=="string"?new TextEncoder().encode(t):t;if(e==="json")return this._loads(typeof t=="string"?t:new TextDecoder().decode(t));throw new Error(`Unknown serialization type: ${e}`)}};function e$(e){if(typeof e!="object"||e===null)return e;let t=Array.isArray(e)?[]:{};for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e$(e[r]));return t}function ol(){return{v:4,id:vd(-2),ts:new Date().toISOString(),channel_values:{},channel_versions:{},versions_seen:{}}}function Kn(e){return{v:e.v,id:e.id,ts:e.ts,channel_values:{...e.channel_values},channel_versions:{...e.channel_versions},versions_seen:e$(e.versions_seen)}}var gy=class{serde=new hy;constructor(e){this.serde=e||this.serde}async get(e){let t=await this.getTuple(e);return t?t.checkpoint:void 0}getNextVersion(e){if(typeof e=="string")throw new Error("Please override this method to use string versions.");return e!==void 0&&typeof e=="number"?e+1:1}};function _y(e,t){return typeof e=="number"&&typeof t=="number"?Math.sign(e-t):String(e).localeCompare(String(t))}function sf(...e){return e.reduce((t,r,n)=>n===0?r:_y(t,r)>=0?t:r)}var cf={[Zv]:-1,[as]:-2,[Gv]:-3,[Hv]:-4};function t$(e){return e.configurable?.checkpoint_id||e.configurable?.thread_ts||""}function uf(e,t,r){return JSON.stringify([e,t,r])}function IW(e){let[t,r,n]=JSON.parse(e);return{threadId:t,checkpointNamespace:r,checkpointId:n}}var yy=class extends gy{storage={};writes={};constructor(e){super(e)}async _migratePendingSends(e,t,r,n){let i=e,o=uf(t,r,n),a=await Promise.all(Object.values(this.writes[o]??{}).filter(([s,c])=>c===bd).map(async([s,c,u])=>await this.serde.loadsTyped("json",u)));i.channel_values??={},i.channel_values[bd]=a,i.channel_versions??={},i.channel_versions[bd]=Object.keys(i.channel_versions).length>0?sf(...Object.values(i.channel_versions)):this.getNextVersion(void 0)}async getTuple(e){let t=e.configurable?.thread_id,r=e.configurable?.checkpoint_ns??"",n=t$(e);if(n){let i=this.storage[t]?.[r]?.[n];if(i!==void 0){let[o,a,s]=i,c=uf(t,r,n),u=await this.serde.loadsTyped("json",o);u.v<4&&s!==void 0&&await this._migratePendingSends(u,t,r,s);let l=await Promise.all(Object.values(this.writes[c]||{}).map(async([f,p,m])=>[f,p,await this.serde.loadsTyped("json",m)])),d={config:e,checkpoint:u,metadata:await this.serde.loadsTyped("json",a),pendingWrites:l};return s!==void 0&&(d.parentConfig={configurable:{thread_id:t,checkpoint_ns:r,checkpoint_id:s}}),d}}else{let i=this.storage[t]?.[r];if(i!==void 0){n=Object.keys(i).sort((f,p)=>p.localeCompare(f))[0];let[o,a,s]=i[n],c=uf(t,r,n),u=await this.serde.loadsTyped("json",o);u.v<4&&s!==void 0&&await this._migratePendingSends(u,t,r,s);let l=await Promise.all(Object.values(this.writes[c]||{}).map(async([f,p,m])=>[f,p,await this.serde.loadsTyped("json",m)])),d={config:{configurable:{thread_id:t,checkpoint_id:n,checkpoint_ns:r}},checkpoint:u,metadata:await this.serde.loadsTyped("json",a),pendingWrites:l};return s!==void 0&&(d.parentConfig={configurable:{thread_id:t,checkpoint_ns:r,checkpoint_id:s}}),d}}}async*list(e,t){let{before:r,limit:n,filter:i}=t??{},o=e.configurable?.thread_id?[e.configurable?.thread_id]:Object.keys(this.storage),a=e.configurable?.checkpoint_ns,s=e.configurable?.checkpoint_id;for(let c of o)for(let u of Object.keys(this.storage[c]??{})){if(a!==void 0&&u!==a)continue;let l=this.storage[c]?.[u]??{},d=Object.entries(l).sort((f,p)=>p[0].localeCompare(f[0]));for(let[f,[p,m,h]]of d){if(s&&f!==s||r&&r.configurable?.checkpoint_id&&f>=r.configurable.checkpoint_id)continue;let w=await this.serde.loadsTyped("json",m);if(i&&!Object.entries(i).every(([j,C])=>w[j]===C))continue;if(n!==void 0){if(n<=0)break;n-=1}let _=uf(c,u,f),y=Object.values(this.writes[_]||{}),x=await Promise.all(y.map(async([j,C,b])=>[j,C,await this.serde.loadsTyped("json",b)])),S=await this.serde.loadsTyped("json",p);S.v<4&&h!==void 0&&await this._migratePendingSends(S,c,u,h);let $={config:{configurable:{thread_id:c,checkpoint_ns:u,checkpoint_id:f}},checkpoint:S,metadata:w,pendingWrites:x};h!==void 0&&($.parentConfig={configurable:{thread_id:c,checkpoint_ns:u,checkpoint_id:h}}),yield $}}}async put(e,t,r){let n=Kn(t),i=e.configurable?.thread_id,o=e.configurable?.checkpoint_ns??"";if(i===void 0)throw new Error('Failed to put checkpoint. The passed RunnableConfig is missing a required "thread_id" field in its "configurable" property.');this.storage[i]||(this.storage[i]={}),this.storage[i][o]||(this.storage[i][o]={});let[[,a],[,s]]=await Promise.all([this.serde.dumpsTyped(n),this.serde.dumpsTyped(r)]);return this.storage[i][o][t.id]=[a,s,e.configurable?.checkpoint_id],{configurable:{thread_id:i,checkpoint_ns:o,checkpoint_id:t.id}}}async putWrites(e,t,r){let n=e.configurable?.thread_id,i=e.configurable?.checkpoint_ns,o=e.configurable?.checkpoint_id;if(n===void 0)throw new Error('Failed to put writes. The passed RunnableConfig is missing a required "thread_id" field in its "configurable" property');if(o===void 0)throw new Error('Failed to put writes. The passed RunnableConfig is missing a required "checkpoint_id" field in its "configurable" property.');let a=uf(n,i,o),s=this.writes[a];this.writes[a]===void 0&&(this.writes[a]={}),await Promise.all(t.map(async([c,u],l)=>{let[,d]=await this.serde.dumpsTyped(u),f=[r,cf[c]||l],p=`${f[0]},${f[1]}`;f[1]>=0&&s&&p in s||(this.writes[a][p]=[r,c,d])}))}async deleteThread(e){delete this.storage[e];for(let t of Object.keys(this.writes))IW(t).threadId===e&&delete this.writes[t]}};var al=class extends Error{constructor(e){super(e),this.name="InvalidNamespaceError"}};function SW(e){if(e.length===0)throw new al("Namespace cannot be empty.");for(let t of e){if(typeof t!="string")throw new al(`Invalid namespace label '${t}' found in ${e}. Namespace labels must be strings, but got ${typeof t}.`);if(t.includes("."))throw new al(`Invalid namespace label '${t}' found in ${e}. Namespace labels cannot contain periods ('.').`);if(t==="")throw new al(`Namespace labels cannot be empty strings. Got ${t} in ${e}`)}if(e[0]==="langgraph")throw new al(`Root label for namespace cannot be "langgraph". Got: ${e}`)}var lf=class{async get(e,t){return(await this.batch([{namespace:e,key:t}]))[0]}async search(e,t={}){let{filter:r,limit:n=10,offset:i=0,query:o}=t;return(await this.batch([{namespacePrefix:e,filter:r,limit:n,offset:i,query:o}]))[0]}async put(e,t,r,n){SW(e),await this.batch([{namespace:e,key:t,value:r,index:n}])}async delete(e,t){await this.batch([{namespace:e,key:t,value:null}])}async listNamespaces(e={}){let{prefix:t,suffix:r,maxDepth:n,limit:i=100,offset:o=0}=e,a=[];return t&&a.push({matchType:"prefix",path:t}),r&&a.push({matchType:"suffix",path:r}),(await this.batch([{matchConditions:a.length?a:void 0,maxDepth:n,limit:i,offset:o}]))[0]}start(){}stop(){}};var kW=e=>"lg_name"in e&&e.lg_name==="AsyncBatchedStore"?e.store:e,vy=class extends lf{lg_name="AsyncBatchedStore";store;queue=new Map;nextKey=0;running=!1;processingTask=null;constructor(e){super(),this.store=kW(e)}get isRunning(){return this.running}async batch(e){throw new Error("The `batch` method is not implemented on `AsyncBatchedStore`.\n Instead, it calls the `batch` method on the wrapped store.\n If you are seeing this error, something is wrong.")}async get(e,t){return this.enqueueOperation({namespace:e,key:t})}async search(e,t){let{filter:r,limit:n=10,offset:i=0,query:o}=t||{};return this.enqueueOperation({namespacePrefix:e,filter:r,limit:n,offset:i,query:o})}async put(e,t,r){return this.enqueueOperation({namespace:e,key:t,value:r})}async delete(e,t){return this.enqueueOperation({namespace:e,key:t,value:null})}start(){this.running||(this.running=!0,this.processingTask=this.processBatchQueue())}async stop(){this.running=!1,this.processingTask&&await this.processingTask}enqueueOperation(e){return new Promise((t,r)=>{let n=this.nextKey;this.nextKey+=1,this.queue.set(n,{operation:e,resolve:t,reject:r})})}async processBatchQueue(){for(;this.running;){if(await new Promise(t=>{setTimeout(t,0)}),this.queue.size===0)continue;let e=new Map(this.queue);this.queue.clear();try{let t=Array.from(e.values()).map(({operation:n})=>n),r=await this.store.batch(t);e.forEach(({resolve:n},i)=>{n(r[Array.from(e.keys()).indexOf(i)])})}catch(t){e.forEach(({reject:r})=>{r(t)})}}}toJSON(){return{queue:this.queue,nextKey:this.nextKey,running:this.running,store:"[LangGraphStore]"}}};var by=class{serde=new hy;constructor(e){this.serde=e||this.serde}};function n$(e){return e!=null&&e.lg_is_channel===!0}var Gt=class{ValueType;UpdateType;lg_is_channel=!0;consume(){return!1}finish(){return!1}isAvailable(){try{return this.get(),!0}catch(e){if(e.name===Ve.unminifiable_name)return!1;throw e}}equals(e){return this===e}},r$=Symbol.for("LG_IS_ONLY_BASE_CHANNEL");function df(e){if(e[r$]===!0)return e;let t={};for(let r in e){if(!Object.prototype.hasOwnProperty.call(e,r))continue;let n=e[r];n$(n)&&(t[r]=n)}return Object.assign(t,{[r$]:!0}),t}function Ta(e,t){let r=df(e),n={};for(let i in r){if(!Object.prototype.hasOwnProperty.call(r,i))continue;let o=t.channel_values[i];n[i]=r[i].fromCheckpoint(o)}return Object.assign(n,{[r$]:!0}),n}function Wn(e,t,r,n){let i;if(t===void 0)i=e.channel_values;else{i={};for(let o in t)if(Object.prototype.hasOwnProperty.call(t,o))try{i[o]=t[o].checkpoint()}catch(a){if(a.name!==Ve.unminifiable_name)throw a}}return{v:4,id:n?.id??vd(r),ts:new Date().toISOString(),channel_values:i,channel_versions:e.channel_versions,versions_seen:e.versions_seen}}var $W=e=>e!=null&&e.lc_graph_name==="BinaryOperatorAggregate",So=class wL extends Gt{lc_graph_name="BinaryOperatorAggregate";value;operator;initialValueFactory;constructor(t,r){super(),this.operator=t,this.initialValueFactory=r,this.value=r?.()}fromCheckpoint(t){let r=new wL(this.operator,this.initialValueFactory);return typeof t<"u"&&(r.value=t),r}update(t){let r=t;if(!r.length)return!1;if(this.value===void 0){let i=r[0],[o,a]=Yf(i);o?this.value=a:this.value=i,r=r.slice(1)}let n=!1;for(let i of r)if(BT(i)){if(n)throw new Re("Can receive only one Overwrite value per step.");let[,o]=Yf(i);this.value=o,n=!0;continue}else!n&&this.value!==void 0&&(this.value=this.operator(this.value,i));return!0}get(){if(this.value===void 0)throw new Ve;return this.value}checkpoint(){if(this.value===void 0)throw new Ve;return this.value}isAvailable(){return this.value!==void 0}equals(t){return this===t?!0:$W(t)?this.operator===t.operator:!1}};var Jn=class xL extends Gt{lc_graph_name="LastValue";value=[];constructor(t){super(),this.initialValueFactory=t,t&&(this.value=[t()])}fromCheckpoint(t){let r=new xL(this.initialValueFactory);return typeof t<"u"&&(r.value=[t]),r}update(t){if(t.length===0)return!1;if(t.length!==1)throw new Re("LastValue can only receive one value per step.",{lc_error_code:"INVALID_CONCURRENT_GRAPH_UPDATE"});return this.value=[t[t.length-1]],!0}get(){if(this.value.length===0)throw new Ve;return this.value[0]}checkpoint(){if(this.value.length===0)throw new Ve;return this.value[0]}isAvailable(){return this.value.length!==0}},i$=class IL extends Gt{lc_graph_name="LastValueAfterFinish";value=[];finished=!1;fromCheckpoint(t){let r=new IL;if(typeof t<"u"){let[n,i]=t;r.value=[n],r.finished=i}return r}update(t){return t.length===0?!1:(this.finished=!1,this.value=[t[t.length-1]],!0)}get(){if(this.value.length===0||!this.finished)throw new Ve;return this.value[0]}checkpoint(){if(this.value.length!==0)return[this.value[0],this.finished]}consume(){return this.finished?(this.finished=!1,this.value=[],!0):!1}finish(){return!this.finished&&this.value.length>0?(this.finished=!0,!0):!1}isAvailable(){return this.value.length!==0&&this.finished}};var wy=class{lc_graph_name="AnnotationRoot";spec;constructor(e){this.spec=e}static isInstance(e){return typeof e=="object"&&e!==null&&"lc_graph_name"in e&&e.lc_graph_name==="AnnotationRoot"}},Xn=function(e){return e?xy(e):new Jn};Xn.Root=e=>new wy(e);function xy(e){return typeof e=="object"&&e&&"reducer"in e&&e.reducer?new So(e.reducer,e.default):typeof e=="object"&&e&&"value"in e&&e.value?new So(e.value,e.default):new Jn}var TW=["tags","metadata","callbacks","configurable"],AW=["tags","metadata","callbacks","runName","maxConcurrency","recursionLimit","configurable","runId","outputKeys","streamMode","store","writer","interrupt","context","interruptBefore","interruptAfter","checkpointDuring","durability","signal"],OW=25;function pf(...e){let t={tags:[],metadata:{},callbacks:void 0,recursionLimit:OW,configurable:{}},r=He.getRunnableConfig();if(r!==void 0){for(let[n,i]of Object.entries(r))if(i!==void 0)if(TW.includes(n)){let o;Array.isArray(i)?o=[...i]:typeof i=="object"?n==="callbacks"&&"copy"in i&&typeof i.copy=="function"?o=i.copy():o={...i}:o=i,t[n]=o}else t[n]=i}for(let n of e)if(n!==void 0)for(let[i,o]of Object.entries(n))o!==void 0&&AW.includes(i)&&(t[i]=o);for(let[n,i]of Object.entries(t.configurable))t.metadata=t.metadata??{},!n.startsWith("__")&&(typeof i=="string"||typeof i=="number"||typeof i=="boolean")&&!(n in t.metadata)&&(t.metadata[n]=i);return t}function SL(){return He.getRunnableConfig()}function Iy(e){return e.split("|").filter(t=>!t.match(/^\d+$/)).map(t=>t.split(":")[0]).join("|")}function kL(e){let t=e.split("|");for(;t.length>1&&t[t.length-1].match(/^\d+$/);)t.pop();return t.slice(0,-1).join("|")}var ur=class extends pe{lc_namespace=["langgraph"];func;tags;config;trace=!0;recurse=!0;constructor(e){super(),this.name=e.name??e.func.name,this.func=e.func,this.config=e.tags?{tags:e.tags}:void 0,this.trace=e.trace??this.trace,this.recurse=e.recurse??this.recurse}async _tracedInvoke(e,t,r){return new Promise((n,i)=>{let o=Me(t,{callbacks:r?.getChild()});He.runWithConfig(o,async()=>{try{n(await this.func(e,o))}catch(a){i(a)}})})}async invoke(e,t){let r,n=pf(t),i=Bt(this.config,n);return this.trace?r=await this._callWithConfig(this._tracedInvoke,e,i):r=await He.runWithConfig(i,async()=>this.func(e,i)),pe.isRunnable(r)&&this.recurse?await He.runWithConfig(i,async()=>r.invoke(e,i)):r}};function*ko(e,t){if(t===void 0)yield*e;else for(let r of e)yield[t,r]}async function Yn(e){let t=[];for await(let r of await e)t.push(r);return t}function ec(e){let t=[];for(let r of e)t.push(r);return t}function tc(e,t){return e?"configurable"in e?{...e,configurable:{...e.configurable,...t}}:{...e,configurable:t}:{configurable:t}}function EL(e){return e!=null&&typeof e=="function"&&e instanceof Object.getPrototypeOf(async function*(){}).constructor}function $L(e){return e!=null&&typeof e=="function"&&e instanceof Object.getPrototypeOf(function*(){}).constructor}function CW(e){return typeof e=="object"&&e?.[Symbol.for("LG_SKIP_WRITE")]!==void 0}var Lr={[Symbol.for("LG_PASSTHROUGH")]:!0};function Sy(e){return typeof e=="object"&&e?.[Symbol.for("LG_PASSTHROUGH")]!==void 0}var o$=Symbol("IS_WRITER"),wt=class s$ extends ur{writes;constructor(t,r){let n=`ChannelWrite<${t.map(i=>At(i)?i.node:"channel"in i?i.channel:"...").join(",")}>`;super({writes:t,name:n,tags:r,trace:!1,func:async(i,o)=>this._write(i,o??{})}),this.writes=t}async _write(t,r){let n=this.writes.map(i=>a$(i)&&Sy(i.value)?{mapper:i.mapper,value:t}:ky(i)&&Sy(i.value)?{channel:i.channel,value:t,skipNone:i.skipNone,mapper:i.mapper}:i);return await s$.doWrite(r,n),t}static async doWrite(t,r){for(let o of r){if(ky(o)){if(o.channel==="__pregel_tasks")throw new Re("Cannot write to the reserved channel TASKS");if(Sy(o.value))throw new Re("PASSTHROUGH value must be replaced")}if(a$(o)&&Sy(o.value))throw new Re("PASSTHROUGH value must be replaced")}let n=[];for(let o of r)if(At(o))n.push([pi,o]);else if(a$(o)){let a=await o.mapper.invoke(o.value,t);a!=null&&a.length>0&&n.push(...a)}else if(ky(o)){let a=o.mapper!==void 0?await o.mapper.invoke(o.value,t):o.value;if(CW(a)||o.skipNone&&a===void 0)continue;n.push([o.channel,a])}else throw new Error(`Invalid write entry: ${JSON.stringify(o)}`);let i=t.configurable?.[cn];i(n)}static isWriter(t){return t instanceof s$||o$ in t&&!!t[o$]}static registerWriter(t){return Object.defineProperty(t,o$,{value:!0})}};function ky(e){return e!==void 0&&typeof e.channel=="string"}function a$(e){return e!==void 0&&!ky(e)&&pe.isRunnable(e.mapper)}var TL=class AL extends ur{lc_graph_name="ChannelRead";channel;fresh=!1;mapper;constructor(t,r,n=!1){super({trace:!1,func:(i,o)=>AL.doRead(o,this.channel,this.fresh,this.mapper)}),this.fresh=n,this.mapper=r,this.channel=t,this.name=Array.isArray(t)?`ChannelRead<${t.join(",")}>`:`ChannelRead<${t}>`}static doRead(t,r,n,i){let o=t.configurable?.[On];if(!o)throw new Error("Runnable is not configured with a read function. Make sure to call in the context of a Pregel process");return i?i(o(r,n)):o(r,n)}},sl=new vo,Qn=class ff extends Sn{lc_graph_name="PregelNode";channels;triggers=[];mapper;writers=[];bound=sl;kwargs={};metadata={};tags=[];retryPolicy;cachePolicy;subgraphs;ends;constructor(t){let{channels:r,triggers:n,mapper:i,writers:o,bound:a,kwargs:s,metadata:c,retryPolicy:u,cachePolicy:l,tags:d,subgraphs:f,ends:p}=t,m=[...t.config?.tags?t.config.tags:[],...d??[]];super({...t,bound:t.bound??sl,config:{...t.config?t.config:{},tags:m}}),this.channels=r,this.triggers=n,this.mapper=i,this.writers=o??this.writers,this.bound=a??this.bound,this.kwargs=s??this.kwargs,this.metadata=c??this.metadata,this.tags=m,this.retryPolicy=u,this.cachePolicy=l,this.subgraphs=f,this.ends=p}getWriters(){let t=[...this.writers];for(;t.length>1&&t[t.length-1]instanceof wt&&t[t.length-2]instanceof wt;){let r=t.slice(-2),n=r[0].writes.concat(r[1].writes);t[t.length-2]=new wt(n,r[0].config?.tags),t.pop()}return t}getNode(){let t=this.getWriters();if(!(this.bound===sl&&t.length===0))return this.bound===sl&&t.length===1?t[0]:this.bound===sl?new tn({first:t[0],middle:t.slice(1,t.length-1),last:t[t.length-1],omitSequenceTags:!0}):t.length>0?new tn({first:this.bound,middle:t.slice(0,t.length-1),last:t[t.length-1],omitSequenceTags:!0}):this.bound}join(t){if(!Array.isArray(t))throw new Error("channels must be a list");if(typeof this.channels!="object")throw new Error("all channels must be named when using .join()");return new ff({channels:{...this.channels,...Object.fromEntries(t.map(r=>[r,r]))},triggers:this.triggers,mapper:this.mapper,writers:this.writers,bound:this.bound,kwargs:this.kwargs,config:this.config,retryPolicy:this.retryPolicy,cachePolicy:this.cachePolicy})}pipe(t){return wt.isWriter(t)?new ff({channels:this.channels,triggers:this.triggers,mapper:this.mapper,writers:[...this.writers,t],bound:this.bound,config:this.config,kwargs:this.kwargs,retryPolicy:this.retryPolicy,cachePolicy:this.cachePolicy}):this.bound===sl?new ff({channels:this.channels,triggers:this.triggers,mapper:this.mapper,writers:this.writers,bound:yt(t),config:this.config,kwargs:this.kwargs,retryPolicy:this.retryPolicy,cachePolicy:this.cachePolicy}):new ff({channels:this.channels,triggers:this.triggers,mapper:this.mapper,writers:this.writers,bound:this.bound.pipe(t),config:this.config,kwargs:this.kwargs,retryPolicy:this.retryPolicy,cachePolicy:this.cachePolicy})}};function PW(e){return"steps"in e&&Array.isArray(e.steps)}function mf(e){return"lg_is_pregel"in e&&e.lg_is_pregel===!0}function Ey(e){let t=[e];for(let r of t){if(mf(r))return r;PW(r)&&t.push(...r.steps)}}var K=e=>BigInt(e),Xe=(e,t=0)=>new DataView(e.buffer,e.byteOffset+t,e.byteLength-t),RL=K("0x9E3779B1"),NL=K("0x85EBCA77"),RW=K("0xC2B2AE3D"),Aa=K("0x9E3779B185EBCA87"),rc=K("0xC2B2AE3D27D4EB4F"),ML=K("0x165667B19E3779F9"),l$=K("0x85EBCA77C2B2AE63"),NW=K("0x27D4EB2F165667C5"),MW=K("0x165667919E3779F9"),jW=K("0x9FB21C651E98DF25"),zW=e=>{let t=e.length;if(t%2!==0)throw new Error("String should have an even number of characters");let r=t/2,n=new Uint8Array(r),i=0,o=0;for(;o<r;){let a=e.slice(i,i+=2);n[o]=Number.parseInt(a,16),o+=1}return Xe(n)},Ui=zW("b8fe6c3923a44bbe7c01812cf721ad1cded46de9839097db7240a4a4b7b3671fcb79e64eccc0e578825ad07dccff7221b8084674f743248ee03590e6813a264c3c2852bb91c300cb88d0658b1b532ea371644897a20df94e3819ef46a9deacd8a8fa763fe39c343ff9dcbbc7c70b4f1d8a51e04bcdb45931c89f7ec9d9787364eac5ac8334d3ebc3c581a0fffa1363eb170ddd51b7f0da49d316552629d4689e2b16be587d47a1fc8ff8b8d17ad031ce45cb3a8f95160428afd7fbcabb4b407e"),cl=(K(1)<<K(128))-K(1),Pe=(K(1)<<K(64))-K(1),Oy=(K(1)<<K(32))-K(1),Eo=64,jL=Eo/8,DW=8,$y=4;function ul(e){if(!e)throw new Error("Assert failed")}function LW(e){let t=new DataView(new ArrayBuffer(8));return t.setBigUint64(0,e,!0),t.getBigUint64(0,!1)}function UW(e){let t=e;return t=(t&K(65535))<<K(16)|(t&K(4294901760))>>K(16),t=(t&K(16711935))<<K(8)|(t&K(4278255360))>>K(8),t}function FW(e,t){return(e&Oy)*(t&Oy)&Pe}function BW(e,t){return(e<<t|e>>K(32)-t)&Oy}function zL(e,t,r){for(let n=0;n<jL;n+=1){let i=t.getBigUint64(n*8,!0),o=i^r.getBigUint64(n*8,!0);e[n^1]+=i,e[n]+=FW(o,o>>K(32))}return e}function OL(e,t,r,n){for(let i=0;i<n;i+=1)zL(e,Xe(t,i*Eo),Xe(r,i*8));return e}function VW(e,t){for(let r=0;r<jL;r+=1){let n=t.getBigUint64(r*8,!0),i=e[r];i=c$(i,K(47)),i^=n,i*=RL,e[r]=i&Pe}return e}function Ty(e,t){return DL(e[0]^t.getBigUint64(0,!0),e[1]^t.getBigUint64(DW,!0))}function CL(e,t,r){let n=r;return n+=Ty(e.slice(0),Xe(t,0*$y)),n+=Ty(e.slice(2),Xe(t,4*$y)),n+=Ty(e.slice(4),Xe(t,8*$y)),n+=Ty(e.slice(6),Xe(t,12*$y)),Fi(n&Pe)}function ZW(e,t,r,n,i){let o=e,a=Math.floor((r.byteLength-Eo)/8),s=Eo*a,c=Math.floor((t.byteLength-1)/s);for(let u=0;u<c;u+=1)o=OL(o,Xe(t,u*s),r,a),o=i(o,Xe(r,r.byteLength-Eo));{let u=Math.floor((t.byteLength-1-s*c)/Eo);o=OL(o,Xe(t,c*s),r,u),o=n(o,Xe(t,t.byteLength-Eo),Xe(r,r.byteLength-Eo-7))}return o}function GW(e,t){let r=new BigUint64Array([RW,Aa,rc,ML,l$,NL,NW,RL]);ul(e.byteLength>128),r=ZW(r,e,t,zL,VW),ul(r.length*8===64);{let n=CL(r,Xe(t,11),K(e.byteLength)*Aa&Pe);return CL(r,Xe(t,t.byteLength-Eo-11),~(K(e.byteLength)*rc)&Pe)<<K(64)|n}}function DL(e,t){let r=e*t&cl;return r&Pe^r>>K(64)}function PL(e,t,r){return DL((e.getBigUint64(0,!0)^t.getBigUint64(0,!0)+r)&Pe,(e.getBigUint64(8,!0)^t.getBigUint64(8,!0)-r)&Pe)}function Ay(e,t,r,n,i){let o=e&Pe,a=e>>K(64)&Pe;return o+=PL(t,n,i),o^=r.getBigUint64(0,!0)+r.getBigUint64(8,!0),o&=Pe,a+=PL(r,Xe(n,16),i),a^=t.getBigUint64(0,!0)+t.getBigUint64(8,!0),a&=Pe,a<<K(64)|o}function Fi(e){let t=e;return t^=t>>K(37),t*=MW,t&=Pe,t^=t>>K(32),t}function Cy(e){let t=e;return t^=t>>K(33),t*=rc,t&=Pe,t^=t>>K(29),t*=ML,t&=Pe,t^=t>>K(32),t}function HW(e,t,r){let n=e.byteLength;ul(n>0&&n<=3);let i=K(e.getUint8(n-1))|K(n<<8)|K(e.getUint8(0)<<16)|K(e.getUint8(n>>1)<<24),o=(i^(K(t.getUint32(0,!0))^K(t.getUint32(4,!0)))+r)&Pe,a=(K(t.getUint32(8,!0))^K(t.getUint32(12,!0)))-r;return(Cy((BW(UW(i),K(13))^a)&Pe)&Pe)<<K(64)|Cy(o)}function c$(e,t){return e^e>>t}function qW(e,t,r){let n=e.byteLength;ul(n>=4&&n<=8);{let i=e.getUint32(0,!0),o=e.getUint32(n-4,!0),a=((K(i)|K(o)<<K(32))^(t.getBigUint64(16,!0)^t.getBigUint64(24,!0))+r&Pe)*(Aa+(K(n)<<K(2)))&cl;return a+=(a&Pe)<<K(65),a&=cl,a^=a>>K(67),c$(c$(a&Pe,K(35))*jW&Pe,K(28))|Fi(a>>K(64))<<K(64)}}function KW(e,t,r){let n=e.byteLength;ul(n>=9&&n<=16);{let i=(t.getBigUint64(32,!0)^t.getBigUint64(40,!0))+r&Pe,o=(t.getBigUint64(48,!0)^t.getBigUint64(56,!0))-r&Pe,a=e.getBigUint64(0,!0),s=e.getBigUint64(n-8,!0),c=(a^s^i)*Aa,u=(c&Pe)+(K(n-1)<<K(54));c=c&(cl^Pe)|u,s^=o,c+=s+(s&Oy)*(NL-K(1))<<K(64),c&=cl,c^=LW(c>>K(64));let l=(c&Pe)*rc;return l+=(c>>K(64))*rc<<K(64),l&=cl,Fi(l&Pe)|Fi(l>>K(64))<<K(64)}}function WW(e,t){let r=e.byteLength;return ul(r<=16),r>8?KW(e,Ui,t):r>=4?qW(e,Ui,t):r>0?HW(e,Ui,t):Cy(t^Ui.getBigUint64(64,!0)^Ui.getBigUint64(72,!0))|Cy(t^Ui.getBigUint64(80,!0)^Ui.getBigUint64(88,!0))<<K(64)}function u$(e){return~e+K(1)&Pe}function JW(e,t,r){let n=K(e.byteLength)*Aa&Pe,i=K(e.byteLength-1)/K(32);for(;i>=0;){let s=Number(i);n=Ay(n,Xe(e,16*s),Xe(e,e.byteLength-16*(s+1)),Xe(t,32*s),r),i-=K(1)}let o=n+(n>>K(64))&Pe;o=Fi(o);let a=(n&Pe)*Aa+(n>>K(64))*l$+(K(e.byteLength)-r&Pe)*rc;return a&=Pe,a=u$(Fi(a)),o|a<<K(64)}function XW(e,t,r){let n=K(e.byteLength)*Aa&Pe;for(let a=32;a<160;a+=32)n=Ay(n,Xe(e,a-32),Xe(e,a-16),Xe(t,a-32),r);n=Fi(n&Pe)|Fi(n>>K(64))<<K(64);for(let a=160;a<=e.byteLength;a+=32)n=Ay(n,Xe(e,a-32),Xe(e,a-16),Xe(t,3+a-160),r);n=Ay(n,Xe(e,e.byteLength-16),Xe(e,e.byteLength-32),Xe(t,103),u$(r));let i=n+(n>>K(64))&Pe;i=Fi(i);let o=(n&Pe)*Aa+(n>>K(64))*l$+(K(e.byteLength)-r&Pe)*rc;return o&=Pe,o=u$(Fi(o)),i|o<<K(64)}function $o(e,t=K(0)){let r=new TextEncoder,n=Xe(typeof e=="string"?r.encode(e):e),i=n.byteLength,o=a=>a.toString(16).padStart(32,"0");return i<=16?o(WW(n,t)):i<=128?o(JW(n,Ui,t)):i<=240?o(XW(n,Ui,t)):o(GW(n,Ui))}function Py(e){return/^[0-9a-f]{32}$/.test(e)}function nc(e,t,r=!0,n=!1){try{return e[t].get()}catch(i){if(i.name===Ve.unminifiable_name){if(n)return i;if(r)return null}throw i}}function ei(e,t,r=!0){if(Array.isArray(t)){let n={};for(let i of t)try{n[i]=nc(e,i,!r)}catch(o){if(o.name===Ve.unminifiable_name)continue}return n}else return nc(e,t)}function*LL(e,t){if(e.graph===Ar.PARENT)throw new Re("There is no parent graph.");if(e.goto){let r;Array.isArray(e.goto)?r=e.goto:r=[e.goto];for(let n of r)if(At(n))yield[Zr,pi,n];else if(typeof n=="string")yield[Zr,`branch:to:${n}`,"__start__"];else throw new Error(`In Command.send, expected Send or string, got ${typeof n}`)}if(e.resume)if(typeof e.resume=="object"&&Object.keys(e.resume).length&&Object.keys(e.resume).every(Py))for(let[r,n]of Object.entries(e.resume)){let i=t.filter(o=>o[0]===r&&o[1]==="__resume__").map(o=>o[2]).slice(0,1)??[];i.push(n),yield[r,Vr,i]}else yield[Zr,Vr,e.resume];if(e.update){if(typeof e.update!="object"||!e.update)throw new Error("Expected cmd.update to be a dict mapping channel names to update values");if(Array.isArray(e.update))for(let[r,n]of e.update)yield[Zr,r,n];else for(let[r,n]of Object.entries(e.update))yield[Zr,r,n]}}function*Ry(e,t){if(t!=null)if(Array.isArray(e)&&typeof t=="object"&&!Array.isArray(t))for(let r in t)e.includes(r)&&(yield[r,t[r]]);else{if(Array.isArray(e))throw new Error('Input chunk must be an object when "inputChannels" is an array');yield[e,t]}}function*Ny(e,t,r){Array.isArray(e)?(t===!0||t.find(([n,i])=>e.includes(n)))&&(yield ei(r,e)):(t===!0||t.some(([n,i])=>n===e))&&(yield nc(r,e))}function*UL(e,t,r){let n=t.filter(([s,c])=>(s.config===void 0||!s.config.tags?.includes("langsmith:hidden"))&&c[0][0]!=="__error__"&&c[0][0]!=="__interrupt__");if(!n.length)return;let i;n.some(([s])=>s.writes.some(([c,u])=>c==="__return__"))?i=n.flatMap(([s])=>s.writes.filter(([c,u])=>c===Wo).map(([c,u])=>[s.name,u])):Array.isArray(e)?i=n.flatMap(([s])=>{let{writes:c}=s,u={};for(let[l]of c)e.includes(l)&&(u[l]=(u[l]||0)+1);return Object.values(u).some(l=>l>1)?c.filter(([l])=>e.includes(l)).map(([l,d])=>[s.name,{[l]:d}]):[[s.name,Object.fromEntries(c.filter(([l])=>e.includes(l)))]]}):i=n.flatMap(([s])=>s.writes.filter(([c,u])=>c===e).map(([c,u])=>[s.name,u]));let o={};for(let[s,c]of i)s in o||(o[s]=[]),o[s].push(c);let a={};for(let s in o)if(o[s].length===1){let[c]=o[s];a[s]=c}else a[s]=o[s];r&&(a.__metadata__={cached:r}),yield a}function My(e){let t=typeof e[Ye];if(t==="number")return 0;if(t==="string")return"";for(let r in e){if(!Object.prototype.hasOwnProperty.call(e,r))continue;let n=typeof e[r];if(n==="number")return 0;if(n==="string")return"";break}}function ll(e,t){if(Object.keys(e).length>0){let r=My(t);return Object.fromEntries(Object.entries(t).filter(([n,i])=>i>(e[n]??r)))}else return t}function FL(e,t){return e&&!Array.isArray(e)&&!(e instanceof Date)&&typeof e=="object"?e:{[t]:e}}function Ur(e,t){return e===null?{configurable:t}:e?.configurable===void 0?{...e,configurable:t}:{...e,configurable:{...e.configurable,...t}}}function Oa(e,t){let r=t?.parents??{};return Object.keys(r).length>0?Ur(e,{[ln]:{...r,[e.configurable?.checkpoint_ns??""]:e.configurable?.checkpoint_id}}):e}function dl(...e){let t=[...new Set(e.filter(Boolean))];if(t.length===0)return{signal:void 0,dispose:void 0};if(t.length===1)return{signal:t[0],dispose:void 0};if(typeof AbortSignal.any=="function")return{signal:AbortSignal.any(t),dispose:void 0};let r=new AbortController,n=()=>{let o=t.find(a=>a.aborted)?.reason;r.abort(o),t.forEach(a=>a.removeEventListener("abort",n))};t.forEach(o=>o.addEventListener("abort",n,{once:!0}));let i=t.find(o=>o.aborted);return i&&r.abort(i.reason),{signal:r.signal,dispose:()=>{t.forEach(o=>o.removeEventListener("abort",n))}}}var BL=(e,t)=>{if(!(!e&&!t))return e?t?Array.isArray(e)&&Array.isArray(t)?[...e,...t]:Array.isArray(e)?[...e,t]:Array.isArray(t)?[e,...t]:[e,t]:e:t};var VL=class{func;name;input;retry;cache;callbacks;__lg_type="call";constructor({func:e,name:t,input:r,retry:n,cache:i,callbacks:o}){this.func=e,this.name=t,this.input=r,this.retry=n,this.cache=i,this.callbacks=o}};function ZL(e){return typeof e=="object"&&e!==null&&"__lg_type"in e&&e.__lg_type==="call"}function GL(e,t){return new tn({name:e,first:new ur({func:r=>t(...r),name:e,trace:!1,recurse:!1}),last:new wt([{channel:Wo,value:Lr}],[Tt])})}function HL(e,t){return new ur({func:(r,n)=>t(r,n),name:e,trace:!1,recurse:!1})}var qL=e=>e!==void 0?e+1:1;function YW(e,t){if(t==null)return!1;for(let r of e)if(t[r])return!0;return!1}function QW(e){let t;for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t==null?t=e[r]:t=sf(t,e[r]));return t}function gf(e,t,r){let n=My(e.channel_versions),i=e.versions_seen.__interrupt__??{},o=!1;if((e.channel_versions.__start__??n)>(i.__start__??n))o=!0;else for(let s in e.channel_versions)if(Object.prototype.hasOwnProperty.call(e.channel_versions,s)&&e.channel_versions[s]>(i[s]??n)){o=!0;break}let a=r.some(s=>t==="*"?!s.config?.tags?.includes(Tt):t.includes(s.name));return o&&a}function hf(e,t,r,n,i=!1){let o=new Set;if(Array.isArray(n))o=new Set(n.filter(s=>r.writes.some(([c,u])=>c===s)));else{for(let[s]of r.writes)if(s===n){o=new Set([s]);break}o=o||new Set}let a;if(i&&o.size>0){let s=Object.fromEntries(Object.entries(t).filter(([l,d])=>o.has(l))),c=Wn(e,s,-1),u=Ta(s,c);Er(Kn(c),u,[r],void 0,void 0),a=ei({...t,...u},n)}else a=ei(t,n);return a}function d$(e,t,r){for(let[n,i]of r)if(["__pregel_push","__pregel_tasks"].includes(n)&&i!=null){if(!At(i))throw new Re(`Invalid packet type, expected SendProtocol, got ${JSON.stringify(i)}`);if(!(i.node in t))throw new Re(`Invalid node name "${i.node}" in Send packet`)}e(r)}var eJ=new Set([md,dn,Vr,at,Wo,jc]);function Er(e,t,r,n,i){r.sort((f,p)=>{let m=f.path?.slice(0,3)||[],h=p.path?.slice(0,3)||[];for(let w=0;w<Math.min(m.length,h.length);w+=1){if(m[w]<h[w])return-1;if(m[w]>h[w])return 1}return m.length-h.length});let o=r.some(f=>f.triggers.length>0),a=df(t);for(let f of r){e.versions_seen[f.name]??={};for(let p of f.triggers)p in e.channel_versions&&(e.versions_seen[f.name][p]=e.channel_versions[p])}let s=QW(e.channel_versions),c=new Set(r.flatMap(f=>f.triggers).filter(f=>!UT.includes(f))),u=!1;for(let f of c)f in a&&a[f].consume()&&n!==void 0&&(e.channel_versions[f]=n(s),u=!0);let l={};for(let f of r)for(let[p,m]of f.writes)eJ.has(p)||p in a&&(l[p]??=[],l[p].push(m));s!=null&&n!=null&&(s=u?n(s):s);let d=new Set;for(let[f,p]of Object.entries(l))if(f in a){let m=a[f],h;try{h=m.update(p)}catch(w){if(w.name===Re.unminifiable_name){let _=new Re(`Invalid update for channel "${f}" with values ${JSON.stringify(p)}: ${w.message}`);throw _.lc_error_code=w.lc_error_code,_}else throw w}h&&n!==void 0&&(e.channel_versions[f]=n(s),m.isAvailable()&&d.add(f))}if(o)for(let f in a){if(!Object.prototype.hasOwnProperty.call(a,f))continue;let p=a[f];p.isAvailable()&&!d.has(f)&&p.update([])&&n!==void 0&&(e.channel_versions[f]=n(s),p.isAvailable()&&d.add(f))}if(o&&!YW(d,i))for(let f in a){if(!Object.prototype.hasOwnProperty.call(a,f))continue;let p=a[f];p.finish()&&n!==void 0&&(e.channel_versions[f]=n(s),p.isAvailable()&&d.add(f))}return d}function*tJ(e,t,r){if(r.updatedChannels!=null&&r.triggerToNodes!=null){let n=new Set;for(let i of r.updatedChannels){let o=r.triggerToNodes[i];for(let a of o??[])n.add(a)}yield*[...n].sort();return}if(!(()=>{for(let n in e.channel_versions)if(e.channel_versions[n]!==null)return!1;return!0})())for(let n in t)Object.prototype.hasOwnProperty.call(t,n)&&(yield n)}function Ca(e,t,r,n,i,o,a){let s={},c=n[pi];if(c?.isAvailable()){let u=c.get().length;for(let l=0;l<u;l+=1){let d=jy([dn,l],e,t,r,n,i,o,a);d!==void 0&&(s[d.id]=d)}}for(let u of tJ(e,r,a)){let l=jy([Jf,u],e,t,r,n,i,o,a);l!==void 0&&(s[l.id]=l)}return s}function jy(e,t,r,n,i,o,a,s){let{step:c,checkpointer:u,manager:l}=s,d=o.configurable??{},f=d.checkpoint_ns??"";if(e[0]==="__pregel_push"&&ZL(e[e.length-1])){let p=e[e.length-1],m=GL(p.name,p.func),h=[dn],w=f===""?p.name:`${f}|${p.name}`,_=ro(JSON.stringify([w,c.toString(),p.name,dn,e[1],e[2]]),t.id),y=`${w}:${_}`,x=[...e.slice(0,3),!0],S={langgraph_step:c,langgraph_node:p.name,langgraph_triggers:h,langgraph_path:x,langgraph_checkpoint_ns:y};if(a){let $=[];return{name:p.name,input:p.input,proc:m,writes:$,config:Me(Bt(o,{metadata:S,store:s.store??o.store}),{runName:p.name,callbacks:l?.getChild(`graph:step:${c}`),configurable:{[pd]:_,[cn]:j=>d$(C=>$.push(...C),n,j),[On]:(j,C=!1)=>hf(t,i,{name:p.name,writes:$,triggers:h,path:x},j,C),[Cn]:u??d.__pregel_checkpointer,[ln]:{...d[ln],[f]:t.id},[Br]:p$({pendingWrites:r??[],taskId:_,currentTaskInput:p.input,resumeMap:o.configurable?.[Dc],namespaceHash:$o(y)}),[Lc]:t.channel_values[rs],checkpoint_id:void 0,checkpoint_ns:y}}),triggers:h,retry_policy:p.retry,cache_key:p.cache?{key:$o((p.cache.keyFunc??JSON.stringify)([p.input])),ns:[Kf,p.name??"__dynamic__"],ttl:p.cache.ttl}:void 0,id:_,path:x,writers:[]}}else return{id:_,name:p.name,interrupts:[],path:x}}else if(e[0]==="__pregel_push"){let p=typeof e[1]=="number"?e[1]:parseInt(e[1],10);if(!i.__pregel_tasks?.isAvailable())return;let m=i[pi].get();if(p<0||p>=m.length)return;let h=Xf(m[p])&&!At(m[p])?new ts(m[p].node,m[p].args):m[p];if(!Xf(h)){console.warn(`Ignoring invalid packet ${JSON.stringify(h)} in pending sends.`);return}if(!(h.node in n)){console.warn(`Ignoring unknown node name ${h.node} in pending sends.`);return}let w=[dn],_=f===""?h.node:`${f}|${h.node}`,y=ro(JSON.stringify([_,c.toString(),h.node,dn,p.toString()]),t.id),x=`${_}:${y}`,S={langgraph_step:c,langgraph_node:h.node,langgraph_triggers:w,langgraph_path:e.slice(0,3),langgraph_checkpoint_ns:x};if(a){let $=n[h.node],j=$.getNode();if(j!==void 0){$.metadata!==void 0&&(S={...S,...$.metadata});let C=[];return{name:h.node,input:h.args,proc:j,subgraphs:$.subgraphs,writes:C,config:Me(Bt(o,{metadata:S,tags:$.tags,store:s.store??o.store}),{runName:h.node,callbacks:l?.getChild(`graph:step:${c}`),configurable:{[pd]:y,[cn]:b=>d$(H=>C.push(...H),n,b),[On]:(b,H=!1)=>hf(t,i,{name:h.node,writes:C,triggers:w,path:e},b,H),[Cn]:u??d.__pregel_checkpointer,[ln]:{...d[ln],[f]:t.id},[Br]:p$({pendingWrites:r??[],taskId:y,currentTaskInput:h.args,resumeMap:o.configurable?.[Dc],namespaceHash:$o(x)}),[Lc]:t.channel_values[rs],checkpoint_id:void 0,checkpoint_ns:x}}),triggers:w,retry_policy:$.retryPolicy,cache_key:$.cachePolicy?{key:$o(($.cachePolicy.keyFunc??JSON.stringify)([h.args])),ns:[Kf,$.name??"__dynamic__",h.node],ttl:$.cachePolicy.ttl}:void 0,id:y,path:e,writers:$.getWriters()}}}else return{id:y,name:h.node,interrupts:[],path:e}}else if(e[0]==="__pregel_pull"){let p=e[1].toString(),m=n[p];if(m===void 0)return;if(r?.length){let y=f===""?p:`${f}|${p}`,x=ro(JSON.stringify([y,c.toString(),p,Jf,p]),t.id);if(r.some(S=>S[0]===x&&S[1]!=="__error__"))return}let h=My(t.channel_versions);if(h===void 0)return;let w=t.versions_seen[p]??{},_=m.triggers.find(y=>i[y].isAvailable()?(t.channel_versions[y]??h)>(w[y]??h):!1);if(_!==void 0){let y=rJ(m,i,a);if(y===void 0)return;let x=f===""?p:`${f}|${p}`,S=ro(JSON.stringify([x,c.toString(),p,Jf,[_]]),t.id),$=`${x}:${S}`,j={langgraph_step:c,langgraph_node:p,langgraph_triggers:[_],langgraph_path:e,langgraph_checkpoint_ns:$};if(a){let C=m.getNode();if(C!==void 0){m.metadata!==void 0&&(j={...j,...m.metadata});let b=[];return{name:p,input:y,proc:C,subgraphs:m.subgraphs,writes:b,config:Me(Bt(o,{metadata:j,tags:m.tags,store:s.store??o.store}),{runName:p,callbacks:l?.getChild(`graph:step:${c}`),configurable:{[pd]:S,[cn]:H=>d$(R=>{b.push(...R)},n,H),[On]:(H,R=!1)=>hf(t,i,{name:p,writes:b,triggers:[_],path:e},H,R),[Cn]:u??d.__pregel_checkpointer,[ln]:{...d[ln],[f]:t.id},[Br]:p$({pendingWrites:r??[],taskId:S,currentTaskInput:y,resumeMap:o.configurable?.[Dc],namespaceHash:$o($)}),[Lc]:t.channel_values[rs],checkpoint_id:void 0,checkpoint_ns:$}}),triggers:[_],retry_policy:m.retryPolicy,cache_key:m.cachePolicy?{key:$o((m.cachePolicy.keyFunc??JSON.stringify)([y])),ns:[Kf,m.name??"__dynamic__",p],ttl:m.cachePolicy.ttl}:void 0,id:S,path:e,writers:m.getWriters()}}}else return{id:S,name:p,interrupts:[],path:e}}}}function rJ(e,t,r){let n;if(typeof e.channels=="object"&&!Array.isArray(e.channels)){n={};for(let[i,o]of Object.entries(e.channels))if(e.triggers.includes(o))try{n[i]=nc(t,o,!1)}catch(a){if(a.name===Ve.unminifiable_name)return;throw a}else if(o in t)try{n[i]=nc(t,o,!1)}catch(a){if(a.name===Ve.unminifiable_name)continue;throw a}}else if(Array.isArray(e.channels)){let i=!1;for(let o of e.channels)try{n=nc(t,o,!1),i=!0;break}catch(a){if(a.name===Ve.unminifiable_name)continue;throw a}if(!i)return}else throw new Error(`Invalid channels type, expected list or dict, got ${e.channels}`);return r&&e.mapper!==void 0&&(n=e.mapper(n)),n}function KL(e,t){if(typeof e.args!="object"||e.args===null)return e;let r={};for(let[n,i]of Object.entries(e.args)){let o=t[n];(!o||o.lc_graph_name!=="UntrackedValue")&&(r[n]=i)}return new ts(e.node,r)}function p$({pendingWrites:e,taskId:t,currentTaskInput:r,resumeMap:n,namespaceHash:i}){let o=e.find(([s,c])=>s==="00000000-0000-0000-0000-000000000000"&&c==="__resume__")?.[2],a={callCounter:0,interruptCounter:-1,resume:(()=>{let s=e.filter(([c,u])=>c===t&&u==="__resume__").flatMap(([c,u,l])=>l);if(n!=null&&i in n){let c=n[i];s.push(c)}return s})(),nullResume:o,subgraphCounter:0,currentTaskInput:r,consumeNullResume:()=>{if(a.nullResume)return delete a.nullResume,e.splice(e.findIndex(([s,c])=>s==="00000000-0000-0000-0000-000000000000"&&c==="__resume__"),1),o}};return a}var _f={blue:{start:"\x1B[34m",end:"\x1B[0m"},green:{start:"\x1B[32m",end:"\x1B[0m"},yellow:{start:"\x1B[33;1m",end:"\x1B[0m"}},yf=(e,t)=>`${e.start}${t}${e.end}`;function*f$(e){for(let{id:t,name:r,input:n,config:i,triggers:o,writes:a}of e)i?.tags?.includes("langsmith:hidden")||(yield{id:t,name:r,input:n,triggers:o,interrupts:a.filter(([s,c])=>s===t&&c==="__interrupt__").map(([,s])=>s)})}function nJ(e){return typeof e!="object"||e===null?!1:"$writes"in e&&Array.isArray(e.$writes)}function WL(e){let t={};for(let[r,n]of e){let i=String(r);if(i in t){let o=nJ(t[i])?t[i].$writes:[t[i]];o.push(n),t[i]={$writes:o}}else t[i]=n}return t}function*JL(e,t){for(let[{id:r,name:n,config:i},o]of e)i?.tags?.includes("langsmith:hidden")||(yield{id:r,name:n,result:WL(o.filter(([a])=>Array.isArray(t)?t.includes(a):a===t)),interrupts:o.filter(a=>a[0]===at).map(a=>a[1])})}function*XL(e,t,r,n,i,o,a,s){function c(d){let f={};return d.callbacks!=null&&(f.callbacks=d.callbacks),d.configurable!=null&&(f.configurable=d.configurable),d.maxConcurrency!=null&&(f.max_concurrency=d.maxConcurrency),d.metadata!=null&&(f.metadata=d.metadata),d.recursionLimit!=null&&(f.recursion_limit=d.recursionLimit),d.runId!=null&&(f.run_id=d.runId),d.runName!=null&&(f.run_name=d.runName),d.tags!=null&&(f.tags=d.tags),f}let u=e.configurable?.checkpoint_ns,l={};for(let d of i){if(!(d.subgraphs?.length?d.subgraphs:[d.proc]).find(Ey))continue;let f=`${d.name}:${d.id}`;u&&(f=`${u}|${f}`),l[d.id]={configurable:{thread_id:e.configurable?.thread_id,checkpoint_ns:f}}}yield{config:c(e),values:ei(t,r),metadata:n,next:i.map(d=>d.name),tasks:m$(i,o,l,s),parentConfig:a?c(a):void 0}}function m$(e,t,r,n){return e.map(i=>{let o=t.find(([u,l])=>u===i.id&&l==="__error__")?.[2],a=t.filter(([u,l])=>u===i.id&&l==="__interrupt__").map(([,,u])=>u),s=(()=>{if(o||a.length||!t.length)return;let u=t.findIndex(([l,d])=>l===i.id&&d==="__return__");if(u>=0)return t[u][2];if(typeof n=="string")return t.find(([l,d])=>l===i.id&&d===n)?.[2];if(Array.isArray(n)){let l=t.filter(([d,f])=>d===i.id&&n.includes(f)).map(([,d,f])=>[d,f]);return l.length?WL(l):void 0}})();if(o)return{id:i.id,name:i.name,path:i.path,error:o,interrupts:a,result:s};let c=r?.[i.id];return{id:i.id,name:i.name,path:i.path,interrupts:a,...c!==void 0?{state:c}:{},result:s}})}function YL(e,t,r){console.log([`${yf(_f.blue,`[${e}:checkpoint]`)}`,`\x1B[1m State at the end of step ${e}:\x1B[0m
|
|
292
|
+
`);return await r?.handleLLMNewToken(n),{generations:[{message:new be(n),text:n}],llmOutput:{}}}},eL=class tL extends zi{sleep=50;responses=[];chunks=[];toolStyle="openai";thrownErrorString;tools=[];constructor({sleep:t=50,responses:r=[],chunks:n=[],toolStyle:i="openai",thrownErrorString:o,...a}){super(a),this.sleep=t,this.responses=r,this.chunks=n,this.toolStyle=i,this.thrownErrorString=o}_llmType(){return"fake"}bindTools(t){let r=[...this.tools,...t],n=r.map(a=>{switch(this.toolStyle){case"openai":return{type:"function",function:{name:a.name,description:a.description,parameters:dt(a.schema)}};case"anthropic":return{name:a.name,description:a.description,input_schema:dt(a.schema)};case"bedrock":return{toolSpec:{name:a.name,description:a.description,inputSchema:dt(a.schema)}};case"google":return{name:a.name,description:a.description,parameters:dt(a.schema)};default:throw new Error(`Unsupported tool style: ${this.toolStyle}`)}}),i=this.toolStyle==="google"?[{functionDeclarations:n}]:n,o=new tL({sleep:this.sleep,responses:this.responses,chunks:this.chunks,toolStyle:this.toolStyle,thrownErrorString:this.thrownErrorString});return o.tools=r,o.withConfig({tools:i})}async _generate(t,r,n){if(this.thrownErrorString)throw new Error(this.thrownErrorString);return{generations:[{text:"",message:new be({content:this.responses?.[0]?.content??t[0].content??"",tool_calls:this.chunks?.[0]?.tool_calls})}]}}async*_streamResponseChunks(t,r,n){if(this.thrownErrorString)throw new Error(this.thrownErrorString);if(this.chunks?.length){for(let a of this.chunks){let s=new Xr({message:new at({content:a.content,tool_calls:a.tool_calls,additional_kwargs:a.additional_kwargs??{}}),text:a.content?.toString()??""});if(r.signal?.aborted)break;yield s,await n?.handleLLMNewToken(a.content,void 0,void 0,void 0,void 0,{chunk:s})}return}let i=this.responses?.[0]??new be(typeof t[0].content=="string"?t[0].content:""),o=typeof i.content=="string"?i.content:"";for(let a of o){await new Promise(c=>setTimeout(c,this.sleep));let s=new Xr({message:new at({content:a}),text:a});if(r.signal?.aborted)break;yield s,await n?.handleLLMNewToken(a,void 0,void 0,void 0,void 0,{chunk:s})}}},rL=class nL extends zi{static lc_name(){return"FakeListChatModel"}lc_serializable=!0;responses;i=0;sleep;emitCustomEvent=!1;generationInfo;tools=[];toolStyle="openai";constructor(t){super(t);let{responses:r,sleep:n,emitCustomEvent:i,generationInfo:o}=t;this.responses=r,this.sleep=n,this.emitCustomEvent=i??this.emitCustomEvent,this.generationInfo=o}_combineLLMOutput(){return[]}_llmType(){return"fake-list"}async _generate(t,r,n){if(await this._sleepIfRequested(),r?.thrownErrorString)throw new Error(r.thrownErrorString);if(this.emitCustomEvent&&await n?.handleCustomEvent("some_test_event",{someval:!0}),r?.stop?.length)return{generations:[this._formatGeneration(r.stop[0])]};{let i=this._currentResponse();return this._incrementResponse(),{generations:[this._formatGeneration(i)],llmOutput:{}}}}_formatGeneration(t){return{message:new be(t),text:t}}async*_streamResponseChunks(t,r,n){let i=this._currentResponse();this._incrementResponse(),this.emitCustomEvent&&await n?.handleCustomEvent("some_test_event",{someval:!0});let o=[...i];for(let a=0;a<o.length;a++){let s=o[a],c=a===o.length-1;if(await this._sleepIfRequested(),r?.thrownErrorString)throw new Error(r.thrownErrorString);let u=this._createResponseChunk(s,c?this.generationInfo:void 0);if(r.signal?.aborted)break;yield u,n?.handleLLMNewToken(s)}}async _sleepIfRequested(){this.sleep!==void 0&&await this._sleep()}async _sleep(){return new Promise(t=>{setTimeout(()=>t(),this.sleep)})}_createResponseChunk(t,r){return new Xr({message:new at({content:t}),text:t,generationInfo:r})}_currentResponse(){return this.responses[this.i]}_incrementResponse(){this.i<this.responses.length-1?this.i+=1:this.i=0}bindTools(t){let r=[...this.tools,...t],n=r.map(a=>{switch(this.toolStyle){case"openai":return{type:"function",function:{name:a.name,description:a.description,parameters:dt(a.schema)}};case"anthropic":return{name:a.name,description:a.description,input_schema:dt(a.schema)};case"bedrock":return{toolSpec:{name:a.name,description:a.description,inputSchema:dt(a.schema)}};case"google":return{name:a.name,description:a.description,parameters:dt(a.schema)};default:throw new Error(`Unsupported tool style: ${this.toolStyle}`)}}),i=this.toolStyle==="google"?[{functionDeclarations:n}]:n,o=new nL({responses:this.responses,sleep:this.sleep,emitCustomEvent:this.emitCustomEvent,generationInfo:this.generationInfo});return o.tools=r,o.toolStyle=this.toolStyle,o.i=this.i,o.withConfig({tools:i})}withStructuredOutput(t,r){return Zt.from(async n=>{let i=await this.invoke(n);if(i.tool_calls?.[0]?.args)return i.tool_calls[0].args;if(typeof i.content=="string")return JSON.parse(i.content);throw new Error("No structured output found")})}};var iL=class extends Fu{vectorSize;constructor(e){super(e??{}),this.vectorSize=e?.vectorSize??4}async embedDocuments(e){return Promise.all(e.map(t=>this.embedQuery(t)))}async embedQuery(e){let t=e;t=t.toLowerCase().replaceAll(/[^a-z ]/g,"");let r=t.length%this.vectorSize,n=r===0?0:this.vectorSize-r,i=t.length+n;t=t.padEnd(i," ");let o=t.length/this.vectorSize,a=[];for(let s=0;s<t.length;s+=o)a.push(t.slice(s,s+o));return a.map(s=>{let c=0;for(let u=0;u<s.length;u+=1)c+=s===" "?0:s.charCodeAt(u);return c%26/26})}},oL=class extends Fu{constructor(e){super(e??{})}embedDocuments(e){return Promise.resolve(e.map(()=>[.1,.2,.3,.4]))}embedQuery(e){return Promise.resolve([.1,.2,.3,.4])}};var aL=class extends y_{response;thrownErrorString;constructor(e){super(e),this.response=e.response,this.thrownErrorString=e.thrownErrorString}_llmType(){return"fake"}async _call(e,t,r){if(this.thrownErrorString)throw new Error(this.thrownErrorString);let n=this.response??e;return await r?.handleLLMNewToken(n),n}},sL=class extends y_{sleep=50;responses;thrownErrorString;constructor(e){super(e),this.sleep=e.sleep??this.sleep,this.responses=e.responses,this.thrownErrorString=e.thrownErrorString}_llmType(){return"fake"}async _call(e){if(this.thrownErrorString)throw new Error(this.thrownErrorString);let t=this.responses?.[0];return this.responses=this.responses?.slice(1),t??e}async*_streamResponseChunks(e,t,r){if(this.thrownErrorString)throw new Error(this.thrownErrorString);let n=this.responses?.[0];this.responses=this.responses?.slice(1);for(let i of n??e)await new Promise(o=>setTimeout(o,this.sleep)),yield{text:i,generationInfo:{}},await r?.handleLLMNewToken(i)}};var cL=class extends BS{lc_namespace=["langchain_core","message","fake"];messages=[];constructor(){super()}async getMessages(){return this.messages}async addMessage(e){this.messages.push(e)}async addUserMessage(e){this.messages.push(new st(e))}async addAIMessage(e){this.messages.push(new be(e))}async clear(){this.messages=[]}},uL=class extends n_{lc_namespace=["langchain_core","message","fake"];messages=[];constructor(){super()}async addMessage(e){this.messages.push(e)}async getMessages(){return this.messages}},lL=class extends Jt{name="fake_tracer";runs=[];constructor(){super()}persistRun(e){return this.runs.push(e),Promise.resolve()}};var dL=class extends Gn{lc_namespace=["tests","fake"];getFormatInstructions(){return""}async parse(e){return e.split(",").map(t=>t.trim())}};var pL=class extends Up{lc_namespace=["test","fake"];output=[new rn({pageContent:"foo"}),new rn({pageContent:"bar"})];constructor(e){super(),this.output=e?.output??this.output}async _getRelevantDocuments(e){return this.output}};var fL=class extends pe{lc_namespace=["tests","fake"];returnOptions;constructor(e){super(e),this.returnOptions=e.returnOptions}async invoke(e,t){return this.returnOptions?t??{}:{input:e}}};var mL=class extends of{name;description;schema;constructor(e){super(e),this.name=e.name,this.description=e.description,this.schema=e.schema}async _call(e,t){return JSON.stringify(e)}};var hL=class extends Jt{runPromiseResolver;runPromise;name="single_run_extractor";constructor(){super(),this.runPromise=new Promise(e=>{this.runPromiseResolver=e})}async persistRun(e){this.runPromiseResolver(e)}async extract(){return this.runPromise}};var gL=class _L extends py{memoryVectors=[];similarity;_vectorstoreType(){return"memory"}constructor(t,{similarity:r,...n}={}){super(t,n),this.similarity=r??cy}async addDocuments(t){let r=t.map(({pageContent:n})=>n);return this.addVectors(await this.embeddings.embedDocuments(r),t)}async addVectors(t,r){let n=t.map((i,o)=>({content:r[o].pageContent,embedding:i,metadata:r[o].metadata}));this.memoryVectors=this.memoryVectors.concat(n)}async similaritySearchVectorWithScore(t,r,n){let i=a=>n?n(new rn({metadata:a.metadata,pageContent:a.content})):!0,o=this.memoryVectors.filter(i);return o.map((a,s)=>({similarity:this.similarity(t,a.embedding),index:s})).sort((a,s)=>a.similarity>s.similarity?-1:0).slice(0,r).map(a=>[new rn({metadata:o[a.index].metadata,pageContent:o[a.index].content}),a.similarity])}static async fromTexts(t,r,n,i){let o=[];for(let a=0;a<t.length;a+=1){let s=Array.isArray(r)?r[a]:r,c=new rn({pageContent:t[a],metadata:s});o.push(c)}return _L.fromDocuments(o,n,i)}static async fromDocuments(t,r,n){let i=new this(r,n);return await i.addDocuments(t),i}static async fromExistingIndex(t,r){return new this(t,r)}};var yL=P({FakeChatMessageHistory:()=>cL,FakeChatModel:()=>Q4,FakeEmbeddings:()=>oL,FakeLLM:()=>aL,FakeListChatMessageHistory:()=>uL,FakeListChatModel:()=>rL,FakeRetriever:()=>pL,FakeRunnable:()=>fL,FakeSplitIntoListParser:()=>dL,FakeStreamingChatModel:()=>eL,FakeStreamingLLM:()=>sL,FakeTool:()=>mL,FakeTracer:()=>lL,FakeVectorStore:()=>gL,SingleRunExtractor:()=>hL,SyntheticEmbeddings:()=>iL});var vL=P({agents:()=>IA,caches:()=>vO,callbacks__base:()=>TO,callbacks__manager:()=>sN,callbacks__promises:()=>iN,chat_history:()=>jj,document_loaders__base:()=>Lj,document_loaders__langsmith:()=>Uj,documents:()=>Dj,embeddings:()=>Fj,errors:()=>$A,example_selectors:()=>Jj,index:()=>xA,indexing:()=>Qj,language_models__base:()=>sz,language_models__chat_models:()=>Az,language_models__llms:()=>Oz,language_models__profile:()=>Cz,language_models__structured_output:()=>$z,load__serializable:()=>mA,memory:()=>Pz,messages:()=>Mj,messages__tool:()=>VA,output_parsers:()=>kz,output_parsers__openai_functions:()=>Mz,output_parsers__openai_tools:()=>jz,outputs:()=>SN,prompt_values:()=>ez,prompts:()=>Wz,retrievers:()=>Xz,retrievers__document_compressors:()=>Jz,runnables:()=>fz,runnables__graph:()=>lj,singletons:()=>fN,stores:()=>Yz,structured_query:()=>oD,testing:()=>lD,tools:()=>T4,tracers__base:()=>GR,tracers__console:()=>XR,tracers__log_stream:()=>IN,tracers__run_collector:()=>O4,tracers__tracer_langchain:()=>QR,types__stream:()=>C4,utils__async_caller:()=>AN,utils__chunk_array:()=>P4,utils__context:()=>R4,utils__env:()=>gA,utils__event_source_parse:()=>N4,utils__format:()=>D4,utils__function_calling:()=>L4,utils__hash:()=>SA,utils__json_patch:()=>mz,utils__json_schema:()=>nj,utils__math:()=>V4,utils__ssrf:()=>G4,utils__standard_schema:()=>ON,utils__stream:()=>mN,utils__testing:()=>yL,utils__tiktoken:()=>oz,utils__types:()=>Ez,vectorstores:()=>Y4});var vW=50;function bW(e){let t={};for(let r=e;r&&r.prototype;r=Object.getPrototypeOf(r))Object.assign(t,Reflect.get(r.prototype,"lc_aliases"));return Object.entries(t).reduce((r,[n,i])=>(r[i]=n,r),{})}async function fy(e){let{optionalImportsMap:t,optionalImportEntrypoints:r,importMap:n,secretsMap:i,secretsFromEnv:o,path:a,depth:s,maxDepth:c}=this,u=a.join(".");if(s>c)throw new Error(`Maximum recursion depth (${c}) exceeded during deserialization. This may indicate a malicious payload or you may need to increase maxDepth.`);if(typeof e!="object"||e==null)return e;if(Array.isArray(e))return Promise.all(e.map((f,p)=>fy.call({...this,path:[...a,`${p}`],depth:s+1},f)));let l=e;if(Jv(l))return lm(l);if("lc"in l&&"type"in l&&"id"in l&&l.lc===1&&l.type==="secret"){let[f]=l.id;if(f in i)return i[f];if(o){let p=et(f);if(p)return p}throw new Error(`Missing secret "${f}" at ${u}`)}if("lc"in l&&"type"in l&&"id"in l&&l.lc===1&&l.type==="not_implemented"){let p=JSON.stringify(l);throw new Error(`Trying to load an object that doesn't implement serialization: ${u} -> ${p}`)}if("lc"in l&&"type"in l&&"id"in l&&"kwargs"in l&&l.lc===1&&l.type==="constructor"){let f=l,p=JSON.stringify(f),[m,...h]=f.id.slice().reverse(),w=h.reverse(),_={langchain_core:vL,langchain:n},y=null,x=[w.join("/")];w[0]==="langchain_community"&&x.push(["langchain",...w.slice(1)].join("/"));let S=x.find(C=>C in t);if(wA.concat(r).includes(w.join("/"))||S)if(S!==void 0)y=await t[S];else throw new Error(`Missing key "${w.join("/")}" for ${u} in load(optionalImportsMap={})`);else{let C;if(w[0]==="langchain"||w[0]==="langchain_core")C=_[w[0]],w.shift();else throw new Error(`Invalid namespace: ${u} -> ${p}`);if(w.length===0)throw new Error(`Invalid namespace: ${u} -> ${p}`);let b;do{if(b=w.join("__"),b in C)break;w.pop()}while(w.length>0);b in C&&(y=C[b])}if(typeof y!="object"||y===null)throw new Error(`Invalid namespace: ${u} -> ${p}`);let $=y[m]??Object.values(y).find(C=>typeof C=="function"&&Bc(C)===m);if(typeof $!="function")throw new Error(`Invalid identifer: ${u} -> ${p}`);let j=new $(cm(await fy.call({...this,path:[...a,"kwargs"],depth:s+1},f.kwargs),lA,bW($)));return Object.defineProperty(j.constructor,"name",{value:m}),j}let d={};for(let[f,p]of Object.entries(l))d[f]=await fy.call({...this,path:[...a,f],depth:s+1},p);return d}async function bL(e,t){let r=JSON.parse(e),n={optionalImportsMap:t?.optionalImportsMap??{},optionalImportEntrypoints:t?.optionalImportEntrypoints??[],secretsMap:t?.secretsMap??{},secretsFromEnv:t?.secretsFromEnv??!1,importMap:t?.importMap??{},path:["$"],depth:0,maxDepth:t?.maxDepth??vW};return fy.call(n,r)}function wW(e){return e!==null&&e.lc===1&&e.type==="constructor"&&Array.isArray(e.id)}async function QE(e){if(e&&typeof e=="object"){if(Array.isArray(e))return await Promise.all(e.map(t=>QE(t)));{let t={};for(let[r,n]of Object.entries(e))t[r]=await QE(n);if(t.lc===2&&t.type==="undefined")return;if(t.lc===2&&t.type==="constructor"&&Array.isArray(t.id))try{let r=t.id[t.id.length-1],n;switch(r){case"Set":n=Set;break;case"Map":n=Map;break;case"RegExp":n=RegExp;break;case"Error":n=Error;break;case"Uint8Array":n=Uint8Array;break;default:return t}return t.method?n[t.method](...t.args||[]):new n(...t.args||[])}catch{return t}else if(wW(t))return bL(JSON.stringify(t));return t}}return e}function my(e,t,r,n){return{lc:2,type:"constructor",id:[e.name],method:t??null,args:r??[],kwargs:n??{}}}function xW(e){return e===void 0?{lc:2,type:"undefined"}:e instanceof Set||e instanceof Map?my(e.constructor,void 0,[Array.from(e)]):e instanceof RegExp?my(RegExp,void 0,[e.source,e.flags]):e instanceof Error?my(e.constructor,void 0,[e.message]):e?.lg_name==="Send"?{node:e.node,args:e.args}:e instanceof Uint8Array?my(Uint8Array,"from",[Array.from(e)]):e}var hy=class{_dumps(e){return new TextEncoder().encode(XT(e,(t,r)=>xW(r)))}async dumpsTyped(e){return e instanceof Uint8Array?["bytes",e]:["json",this._dumps(e)]}async _loads(e){return QE(JSON.parse(e))}async loadsTyped(e,t){if(e==="bytes")return typeof t=="string"?new TextEncoder().encode(t):t;if(e==="json")return this._loads(typeof t=="string"?t:new TextDecoder().decode(t));throw new Error(`Unknown serialization type: ${e}`)}};function e$(e){if(typeof e!="object"||e===null)return e;let t=Array.isArray(e)?[]:{};for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e$(e[r]));return t}function ol(){return{v:4,id:vd(-2),ts:new Date().toISOString(),channel_values:{},channel_versions:{},versions_seen:{}}}function Kn(e){return{v:e.v,id:e.id,ts:e.ts,channel_values:{...e.channel_values},channel_versions:{...e.channel_versions},versions_seen:e$(e.versions_seen)}}var gy=class{serde=new hy;constructor(e){this.serde=e||this.serde}async get(e){let t=await this.getTuple(e);return t?t.checkpoint:void 0}getNextVersion(e){if(typeof e=="string")throw new Error("Please override this method to use string versions.");return e!==void 0&&typeof e=="number"?e+1:1}};function _y(e,t){return typeof e=="number"&&typeof t=="number"?Math.sign(e-t):String(e).localeCompare(String(t))}function sf(...e){return e.reduce((t,r,n)=>n===0?r:_y(t,r)>=0?t:r)}var cf={[Zv]:-1,[as]:-2,[Gv]:-3,[Hv]:-4};function t$(e){return e.configurable?.checkpoint_id||e.configurable?.thread_ts||""}function uf(e,t,r){return JSON.stringify([e,t,r])}function IW(e){let[t,r,n]=JSON.parse(e);return{threadId:t,checkpointNamespace:r,checkpointId:n}}var yy=class extends gy{storage={};writes={};constructor(e){super(e)}async _migratePendingSends(e,t,r,n){let i=e,o=uf(t,r,n),a=await Promise.all(Object.values(this.writes[o]??{}).filter(([s,c])=>c===bd).map(async([s,c,u])=>await this.serde.loadsTyped("json",u)));i.channel_values??={},i.channel_values[bd]=a,i.channel_versions??={},i.channel_versions[bd]=Object.keys(i.channel_versions).length>0?sf(...Object.values(i.channel_versions)):this.getNextVersion(void 0)}async getTuple(e){let t=e.configurable?.thread_id,r=e.configurable?.checkpoint_ns??"",n=t$(e);if(n){let i=this.storage[t]?.[r]?.[n];if(i!==void 0){let[o,a,s]=i,c=uf(t,r,n),u=await this.serde.loadsTyped("json",o);u.v<4&&s!==void 0&&await this._migratePendingSends(u,t,r,s);let l=await Promise.all(Object.values(this.writes[c]||{}).map(async([f,p,m])=>[f,p,await this.serde.loadsTyped("json",m)])),d={config:e,checkpoint:u,metadata:await this.serde.loadsTyped("json",a),pendingWrites:l};return s!==void 0&&(d.parentConfig={configurable:{thread_id:t,checkpoint_ns:r,checkpoint_id:s}}),d}}else{let i=this.storage[t]?.[r];if(i!==void 0){n=Object.keys(i).sort((f,p)=>p.localeCompare(f))[0];let[o,a,s]=i[n],c=uf(t,r,n),u=await this.serde.loadsTyped("json",o);u.v<4&&s!==void 0&&await this._migratePendingSends(u,t,r,s);let l=await Promise.all(Object.values(this.writes[c]||{}).map(async([f,p,m])=>[f,p,await this.serde.loadsTyped("json",m)])),d={config:{configurable:{thread_id:t,checkpoint_id:n,checkpoint_ns:r}},checkpoint:u,metadata:await this.serde.loadsTyped("json",a),pendingWrites:l};return s!==void 0&&(d.parentConfig={configurable:{thread_id:t,checkpoint_ns:r,checkpoint_id:s}}),d}}}async*list(e,t){let{before:r,limit:n,filter:i}=t??{},o=e.configurable?.thread_id?[e.configurable?.thread_id]:Object.keys(this.storage),a=e.configurable?.checkpoint_ns,s=e.configurable?.checkpoint_id;for(let c of o)for(let u of Object.keys(this.storage[c]??{})){if(a!==void 0&&u!==a)continue;let l=this.storage[c]?.[u]??{},d=Object.entries(l).sort((f,p)=>p[0].localeCompare(f[0]));for(let[f,[p,m,h]]of d){if(s&&f!==s||r&&r.configurable?.checkpoint_id&&f>=r.configurable.checkpoint_id)continue;let w=await this.serde.loadsTyped("json",m);if(i&&!Object.entries(i).every(([j,C])=>w[j]===C))continue;if(n!==void 0){if(n<=0)break;n-=1}let _=uf(c,u,f),y=Object.values(this.writes[_]||{}),x=await Promise.all(y.map(async([j,C,b])=>[j,C,await this.serde.loadsTyped("json",b)])),S=await this.serde.loadsTyped("json",p);S.v<4&&h!==void 0&&await this._migratePendingSends(S,c,u,h);let $={config:{configurable:{thread_id:c,checkpoint_ns:u,checkpoint_id:f}},checkpoint:S,metadata:w,pendingWrites:x};h!==void 0&&($.parentConfig={configurable:{thread_id:c,checkpoint_ns:u,checkpoint_id:h}}),yield $}}}async put(e,t,r){let n=Kn(t),i=e.configurable?.thread_id,o=e.configurable?.checkpoint_ns??"";if(i===void 0)throw new Error('Failed to put checkpoint. The passed RunnableConfig is missing a required "thread_id" field in its "configurable" property.');this.storage[i]||(this.storage[i]={}),this.storage[i][o]||(this.storage[i][o]={});let[[,a],[,s]]=await Promise.all([this.serde.dumpsTyped(n),this.serde.dumpsTyped(r)]);return this.storage[i][o][t.id]=[a,s,e.configurable?.checkpoint_id],{configurable:{thread_id:i,checkpoint_ns:o,checkpoint_id:t.id}}}async putWrites(e,t,r){let n=e.configurable?.thread_id,i=e.configurable?.checkpoint_ns,o=e.configurable?.checkpoint_id;if(n===void 0)throw new Error('Failed to put writes. The passed RunnableConfig is missing a required "thread_id" field in its "configurable" property');if(o===void 0)throw new Error('Failed to put writes. The passed RunnableConfig is missing a required "checkpoint_id" field in its "configurable" property.');let a=uf(n,i,o),s=this.writes[a];this.writes[a]===void 0&&(this.writes[a]={}),await Promise.all(t.map(async([c,u],l)=>{let[,d]=await this.serde.dumpsTyped(u),f=[r,cf[c]||l],p=`${f[0]},${f[1]}`;f[1]>=0&&s&&p in s||(this.writes[a][p]=[r,c,d])}))}async deleteThread(e){delete this.storage[e];for(let t of Object.keys(this.writes))IW(t).threadId===e&&delete this.writes[t]}};var al=class extends Error{constructor(e){super(e),this.name="InvalidNamespaceError"}};function SW(e){if(e.length===0)throw new al("Namespace cannot be empty.");for(let t of e){if(typeof t!="string")throw new al(`Invalid namespace label '${t}' found in ${e}. Namespace labels must be strings, but got ${typeof t}.`);if(t.includes("."))throw new al(`Invalid namespace label '${t}' found in ${e}. Namespace labels cannot contain periods ('.').`);if(t==="")throw new al(`Namespace labels cannot be empty strings. Got ${t} in ${e}`)}if(e[0]==="langgraph")throw new al(`Root label for namespace cannot be "langgraph". Got: ${e}`)}var lf=class{async get(e,t){return(await this.batch([{namespace:e,key:t}]))[0]}async search(e,t={}){let{filter:r,limit:n=10,offset:i=0,query:o}=t;return(await this.batch([{namespacePrefix:e,filter:r,limit:n,offset:i,query:o}]))[0]}async put(e,t,r,n){SW(e),await this.batch([{namespace:e,key:t,value:r,index:n}])}async delete(e,t){await this.batch([{namespace:e,key:t,value:null}])}async listNamespaces(e={}){let{prefix:t,suffix:r,maxDepth:n,limit:i=100,offset:o=0}=e,a=[];return t&&a.push({matchType:"prefix",path:t}),r&&a.push({matchType:"suffix",path:r}),(await this.batch([{matchConditions:a.length?a:void 0,maxDepth:n,limit:i,offset:o}]))[0]}start(){}stop(){}};var kW=e=>"lg_name"in e&&e.lg_name==="AsyncBatchedStore"?e.store:e,vy=class extends lf{lg_name="AsyncBatchedStore";store;queue=new Map;nextKey=0;running=!1;processingTask=null;constructor(e){super(),this.store=kW(e)}get isRunning(){return this.running}async batch(e){throw new Error("The `batch` method is not implemented on `AsyncBatchedStore`.\n Instead, it calls the `batch` method on the wrapped store.\n If you are seeing this error, something is wrong.")}async get(e,t){return this.enqueueOperation({namespace:e,key:t})}async search(e,t){let{filter:r,limit:n=10,offset:i=0,query:o}=t||{};return this.enqueueOperation({namespacePrefix:e,filter:r,limit:n,offset:i,query:o})}async put(e,t,r){return this.enqueueOperation({namespace:e,key:t,value:r})}async delete(e,t){return this.enqueueOperation({namespace:e,key:t,value:null})}start(){this.running||(this.running=!0,this.processingTask=this.processBatchQueue())}async stop(){this.running=!1,this.processingTask&&await this.processingTask}enqueueOperation(e){return new Promise((t,r)=>{let n=this.nextKey;this.nextKey+=1,this.queue.set(n,{operation:e,resolve:t,reject:r})})}async processBatchQueue(){for(;this.running;){if(await new Promise(t=>{setTimeout(t,0)}),this.queue.size===0)continue;let e=new Map(this.queue);this.queue.clear();try{let t=Array.from(e.values()).map(({operation:n})=>n),r=await this.store.batch(t);e.forEach(({resolve:n},i)=>{n(r[Array.from(e.keys()).indexOf(i)])})}catch(t){e.forEach(({reject:r})=>{r(t)})}}}toJSON(){return{queue:this.queue,nextKey:this.nextKey,running:this.running,store:"[LangGraphStore]"}}};var by=class{serde=new hy;constructor(e){this.serde=e||this.serde}};function n$(e){return e!=null&&e.lg_is_channel===!0}var Gt=class{ValueType;UpdateType;lg_is_channel=!0;consume(){return!1}finish(){return!1}isAvailable(){try{return this.get(),!0}catch(e){if(e.name===Ve.unminifiable_name)return!1;throw e}}equals(e){return this===e}},r$=Symbol.for("LG_IS_ONLY_BASE_CHANNEL");function df(e){if(e[r$]===!0)return e;let t={};for(let r in e){if(!Object.prototype.hasOwnProperty.call(e,r))continue;let n=e[r];n$(n)&&(t[r]=n)}return Object.assign(t,{[r$]:!0}),t}function Ta(e,t){let r=df(e),n={};for(let i in r){if(!Object.prototype.hasOwnProperty.call(r,i))continue;let o=t.channel_values[i];n[i]=r[i].fromCheckpoint(o)}return Object.assign(n,{[r$]:!0}),n}function Wn(e,t,r,n){let i;if(t===void 0)i=e.channel_values;else{i={};for(let o in t)if(Object.prototype.hasOwnProperty.call(t,o))try{i[o]=t[o].checkpoint()}catch(a){if(a.name!==Ve.unminifiable_name)throw a}}return{v:4,id:n?.id??vd(r),ts:new Date().toISOString(),channel_values:i,channel_versions:e.channel_versions,versions_seen:e.versions_seen}}var $W=e=>e!=null&&e.lc_graph_name==="BinaryOperatorAggregate",So=class wL extends Gt{lc_graph_name="BinaryOperatorAggregate";value;operator;initialValueFactory;constructor(t,r){super(),this.operator=t,this.initialValueFactory=r,this.value=r?.()}fromCheckpoint(t){let r=new wL(this.operator,this.initialValueFactory);return typeof t<"u"&&(r.value=t),r}update(t){let r=t;if(!r.length)return!1;if(this.value===void 0){let i=r[0],[o,a]=Yf(i);o?this.value=a:this.value=i,r=r.slice(1)}let n=!1;for(let i of r)if(BT(i)){if(n)throw new Re("Can receive only one Overwrite value per step.");let[,o]=Yf(i);this.value=o,n=!0;continue}else!n&&this.value!==void 0&&(this.value=this.operator(this.value,i));return!0}get(){if(this.value===void 0)throw new Ve;return this.value}checkpoint(){if(this.value===void 0)throw new Ve;return this.value}isAvailable(){return this.value!==void 0}equals(t){return this===t?!0:$W(t)?this.operator===t.operator:!1}};var Jn=class xL extends Gt{lc_graph_name="LastValue";value=[];constructor(t){super(),this.initialValueFactory=t,t&&(this.value=[t()])}fromCheckpoint(t){let r=new xL(this.initialValueFactory);return typeof t<"u"&&(r.value=[t]),r}update(t){if(t.length===0)return!1;if(t.length!==1)throw new Re("LastValue can only receive one value per step.",{lc_error_code:"INVALID_CONCURRENT_GRAPH_UPDATE"});return this.value=[t[t.length-1]],!0}get(){if(this.value.length===0)throw new Ve;return this.value[0]}checkpoint(){if(this.value.length===0)throw new Ve;return this.value[0]}isAvailable(){return this.value.length!==0}},i$=class IL extends Gt{lc_graph_name="LastValueAfterFinish";value=[];finished=!1;fromCheckpoint(t){let r=new IL;if(typeof t<"u"){let[n,i]=t;r.value=[n],r.finished=i}return r}update(t){return t.length===0?!1:(this.finished=!1,this.value=[t[t.length-1]],!0)}get(){if(this.value.length===0||!this.finished)throw new Ve;return this.value[0]}checkpoint(){if(this.value.length!==0)return[this.value[0],this.finished]}consume(){return this.finished?(this.finished=!1,this.value=[],!0):!1}finish(){return!this.finished&&this.value.length>0?(this.finished=!0,!0):!1}isAvailable(){return this.value.length!==0&&this.finished}};var wy=class{lc_graph_name="AnnotationRoot";spec;constructor(e){this.spec=e}static isInstance(e){return typeof e=="object"&&e!==null&&"lc_graph_name"in e&&e.lc_graph_name==="AnnotationRoot"}},Xn=function(e){return e?xy(e):new Jn};Xn.Root=e=>new wy(e);function xy(e){return typeof e=="object"&&e&&"reducer"in e&&e.reducer?new So(e.reducer,e.default):typeof e=="object"&&e&&"value"in e&&e.value?new So(e.value,e.default):new Jn}var TW=["tags","metadata","callbacks","configurable"],AW=["tags","metadata","callbacks","runName","maxConcurrency","recursionLimit","configurable","runId","outputKeys","streamMode","store","writer","interrupt","context","interruptBefore","interruptAfter","checkpointDuring","durability","signal"],OW=25;function pf(...e){let t={tags:[],metadata:{},callbacks:void 0,recursionLimit:OW,configurable:{}},r=He.getRunnableConfig();if(r!==void 0){for(let[n,i]of Object.entries(r))if(i!==void 0)if(TW.includes(n)){let o;Array.isArray(i)?o=[...i]:typeof i=="object"?n==="callbacks"&&"copy"in i&&typeof i.copy=="function"?o=i.copy():o={...i}:o=i,t[n]=o}else t[n]=i}for(let n of e)if(n!==void 0)for(let[i,o]of Object.entries(n))o!==void 0&&AW.includes(i)&&(t[i]=o);for(let[n,i]of Object.entries(t.configurable))t.metadata=t.metadata??{},!n.startsWith("__")&&(typeof i=="string"||typeof i=="number"||typeof i=="boolean")&&!(n in t.metadata)&&(t.metadata[n]=i);return t}function SL(){return He.getRunnableConfig()}function Iy(e){return e.split("|").filter(t=>!t.match(/^\d+$/)).map(t=>t.split(":")[0]).join("|")}function kL(e){let t=e.split("|");for(;t.length>1&&t[t.length-1].match(/^\d+$/);)t.pop();return t.slice(0,-1).join("|")}var ur=class extends pe{lc_namespace=["langgraph"];func;tags;config;trace=!0;recurse=!0;constructor(e){super(),this.name=e.name??e.func.name,this.func=e.func,this.config=e.tags?{tags:e.tags}:void 0,this.trace=e.trace??this.trace,this.recurse=e.recurse??this.recurse}async _tracedInvoke(e,t,r){return new Promise((n,i)=>{let o=Me(t,{callbacks:r?.getChild()});He.runWithConfig(o,async()=>{try{n(await this.func(e,o))}catch(a){i(a)}})})}async invoke(e,t){let r,n=pf(t),i=Bt(this.config,n);return this.trace?r=await this._callWithConfig(this._tracedInvoke,e,i):r=await He.runWithConfig(i,async()=>this.func(e,i)),pe.isRunnable(r)&&this.recurse?await He.runWithConfig(i,async()=>r.invoke(e,i)):r}};function*ko(e,t){if(t===void 0)yield*e;else for(let r of e)yield[t,r]}async function Yn(e){let t=[];for await(let r of await e)t.push(r);return t}function ec(e){let t=[];for(let r of e)t.push(r);return t}function tc(e,t){return e?"configurable"in e?{...e,configurable:{...e.configurable,...t}}:{...e,configurable:t}:{configurable:t}}function EL(e){return e!=null&&typeof e=="function"&&e instanceof Object.getPrototypeOf(async function*(){}).constructor}function $L(e){return e!=null&&typeof e=="function"&&e instanceof Object.getPrototypeOf(function*(){}).constructor}function CW(e){return typeof e=="object"&&e?.[Symbol.for("LG_SKIP_WRITE")]!==void 0}var Lr={[Symbol.for("LG_PASSTHROUGH")]:!0};function Sy(e){return typeof e=="object"&&e?.[Symbol.for("LG_PASSTHROUGH")]!==void 0}var o$=Symbol("IS_WRITER"),wt=class s$ extends ur{writes;constructor(t,r){let n=`ChannelWrite<${t.map(i=>At(i)?i.node:"channel"in i?i.channel:"...").join(",")}>`;super({writes:t,name:n,tags:r,trace:!1,func:async(i,o)=>this._write(i,o??{})}),this.writes=t}async _write(t,r){let n=this.writes.map(i=>a$(i)&&Sy(i.value)?{mapper:i.mapper,value:t}:ky(i)&&Sy(i.value)?{channel:i.channel,value:t,skipNone:i.skipNone,mapper:i.mapper}:i);return await s$.doWrite(r,n),t}static async doWrite(t,r){for(let o of r){if(ky(o)){if(o.channel==="__pregel_tasks")throw new Re("Cannot write to the reserved channel TASKS");if(Sy(o.value))throw new Re("PASSTHROUGH value must be replaced")}if(a$(o)&&Sy(o.value))throw new Re("PASSTHROUGH value must be replaced")}let n=[];for(let o of r)if(At(o))n.push([pi,o]);else if(a$(o)){let a=await o.mapper.invoke(o.value,t);a!=null&&a.length>0&&n.push(...a)}else if(ky(o)){let a=o.mapper!==void 0?await o.mapper.invoke(o.value,t):o.value;if(CW(a)||o.skipNone&&a===void 0)continue;n.push([o.channel,a])}else throw new Error(`Invalid write entry: ${JSON.stringify(o)}`);let i=t.configurable?.[cn];i(n)}static isWriter(t){return t instanceof s$||o$ in t&&!!t[o$]}static registerWriter(t){return Object.defineProperty(t,o$,{value:!0})}};function ky(e){return e!==void 0&&typeof e.channel=="string"}function a$(e){return e!==void 0&&!ky(e)&&pe.isRunnable(e.mapper)}var TL=class AL extends ur{lc_graph_name="ChannelRead";channel;fresh=!1;mapper;constructor(t,r,n=!1){super({trace:!1,func:(i,o)=>AL.doRead(o,this.channel,this.fresh,this.mapper)}),this.fresh=n,this.mapper=r,this.channel=t,this.name=Array.isArray(t)?`ChannelRead<${t.join(",")}>`:`ChannelRead<${t}>`}static doRead(t,r,n,i){let o=t.configurable?.[On];if(!o)throw new Error("Runnable is not configured with a read function. Make sure to call in the context of a Pregel process");return i?i(o(r,n)):o(r,n)}},sl=new vo,Qn=class ff extends Sn{lc_graph_name="PregelNode";channels;triggers=[];mapper;writers=[];bound=sl;kwargs={};metadata={};tags=[];retryPolicy;cachePolicy;subgraphs;ends;constructor(t){let{channels:r,triggers:n,mapper:i,writers:o,bound:a,kwargs:s,metadata:c,retryPolicy:u,cachePolicy:l,tags:d,subgraphs:f,ends:p}=t,m=[...t.config?.tags?t.config.tags:[],...d??[]];super({...t,bound:t.bound??sl,config:{...t.config?t.config:{},tags:m}}),this.channels=r,this.triggers=n,this.mapper=i,this.writers=o??this.writers,this.bound=a??this.bound,this.kwargs=s??this.kwargs,this.metadata=c??this.metadata,this.tags=m,this.retryPolicy=u,this.cachePolicy=l,this.subgraphs=f,this.ends=p}getWriters(){let t=[...this.writers];for(;t.length>1&&t[t.length-1]instanceof wt&&t[t.length-2]instanceof wt;){let r=t.slice(-2),n=r[0].writes.concat(r[1].writes);t[t.length-2]=new wt(n,r[0].config?.tags),t.pop()}return t}getNode(){let t=this.getWriters();if(!(this.bound===sl&&t.length===0))return this.bound===sl&&t.length===1?t[0]:this.bound===sl?new tn({first:t[0],middle:t.slice(1,t.length-1),last:t[t.length-1],omitSequenceTags:!0}):t.length>0?new tn({first:this.bound,middle:t.slice(0,t.length-1),last:t[t.length-1],omitSequenceTags:!0}):this.bound}join(t){if(!Array.isArray(t))throw new Error("channels must be a list");if(typeof this.channels!="object")throw new Error("all channels must be named when using .join()");return new ff({channels:{...this.channels,...Object.fromEntries(t.map(r=>[r,r]))},triggers:this.triggers,mapper:this.mapper,writers:this.writers,bound:this.bound,kwargs:this.kwargs,config:this.config,retryPolicy:this.retryPolicy,cachePolicy:this.cachePolicy})}pipe(t){return wt.isWriter(t)?new ff({channels:this.channels,triggers:this.triggers,mapper:this.mapper,writers:[...this.writers,t],bound:this.bound,config:this.config,kwargs:this.kwargs,retryPolicy:this.retryPolicy,cachePolicy:this.cachePolicy}):this.bound===sl?new ff({channels:this.channels,triggers:this.triggers,mapper:this.mapper,writers:this.writers,bound:yt(t),config:this.config,kwargs:this.kwargs,retryPolicy:this.retryPolicy,cachePolicy:this.cachePolicy}):new ff({channels:this.channels,triggers:this.triggers,mapper:this.mapper,writers:this.writers,bound:this.bound.pipe(t),config:this.config,kwargs:this.kwargs,retryPolicy:this.retryPolicy,cachePolicy:this.cachePolicy})}};function PW(e){return"steps"in e&&Array.isArray(e.steps)}function mf(e){return"lg_is_pregel"in e&&e.lg_is_pregel===!0}function Ey(e){let t=[e];for(let r of t){if(mf(r))return r;PW(r)&&t.push(...r.steps)}}var K=e=>BigInt(e),Xe=(e,t=0)=>new DataView(e.buffer,e.byteOffset+t,e.byteLength-t),RL=K("0x9E3779B1"),NL=K("0x85EBCA77"),RW=K("0xC2B2AE3D"),Aa=K("0x9E3779B185EBCA87"),rc=K("0xC2B2AE3D27D4EB4F"),ML=K("0x165667B19E3779F9"),l$=K("0x85EBCA77C2B2AE63"),NW=K("0x27D4EB2F165667C5"),MW=K("0x165667919E3779F9"),jW=K("0x9FB21C651E98DF25"),zW=e=>{let t=e.length;if(t%2!==0)throw new Error("String should have an even number of characters");let r=t/2,n=new Uint8Array(r),i=0,o=0;for(;o<r;){let a=e.slice(i,i+=2);n[o]=Number.parseInt(a,16),o+=1}return Xe(n)},Ui=zW("b8fe6c3923a44bbe7c01812cf721ad1cded46de9839097db7240a4a4b7b3671fcb79e64eccc0e578825ad07dccff7221b8084674f743248ee03590e6813a264c3c2852bb91c300cb88d0658b1b532ea371644897a20df94e3819ef46a9deacd8a8fa763fe39c343ff9dcbbc7c70b4f1d8a51e04bcdb45931c89f7ec9d9787364eac5ac8334d3ebc3c581a0fffa1363eb170ddd51b7f0da49d316552629d4689e2b16be587d47a1fc8ff8b8d17ad031ce45cb3a8f95160428afd7fbcabb4b407e"),cl=(K(1)<<K(128))-K(1),Pe=(K(1)<<K(64))-K(1),Oy=(K(1)<<K(32))-K(1),Eo=64,jL=Eo/8,DW=8,$y=4;function ul(e){if(!e)throw new Error("Assert failed")}function LW(e){let t=new DataView(new ArrayBuffer(8));return t.setBigUint64(0,e,!0),t.getBigUint64(0,!1)}function UW(e){let t=e;return t=(t&K(65535))<<K(16)|(t&K(4294901760))>>K(16),t=(t&K(16711935))<<K(8)|(t&K(4278255360))>>K(8),t}function FW(e,t){return(e&Oy)*(t&Oy)&Pe}function BW(e,t){return(e<<t|e>>K(32)-t)&Oy}function zL(e,t,r){for(let n=0;n<jL;n+=1){let i=t.getBigUint64(n*8,!0),o=i^r.getBigUint64(n*8,!0);e[n^1]+=i,e[n]+=FW(o,o>>K(32))}return e}function OL(e,t,r,n){for(let i=0;i<n;i+=1)zL(e,Xe(t,i*Eo),Xe(r,i*8));return e}function VW(e,t){for(let r=0;r<jL;r+=1){let n=t.getBigUint64(r*8,!0),i=e[r];i=c$(i,K(47)),i^=n,i*=RL,e[r]=i&Pe}return e}function Ty(e,t){return DL(e[0]^t.getBigUint64(0,!0),e[1]^t.getBigUint64(DW,!0))}function CL(e,t,r){let n=r;return n+=Ty(e.slice(0),Xe(t,0*$y)),n+=Ty(e.slice(2),Xe(t,4*$y)),n+=Ty(e.slice(4),Xe(t,8*$y)),n+=Ty(e.slice(6),Xe(t,12*$y)),Fi(n&Pe)}function ZW(e,t,r,n,i){let o=e,a=Math.floor((r.byteLength-Eo)/8),s=Eo*a,c=Math.floor((t.byteLength-1)/s);for(let u=0;u<c;u+=1)o=OL(o,Xe(t,u*s),r,a),o=i(o,Xe(r,r.byteLength-Eo));{let u=Math.floor((t.byteLength-1-s*c)/Eo);o=OL(o,Xe(t,c*s),r,u),o=n(o,Xe(t,t.byteLength-Eo),Xe(r,r.byteLength-Eo-7))}return o}function GW(e,t){let r=new BigUint64Array([RW,Aa,rc,ML,l$,NL,NW,RL]);ul(e.byteLength>128),r=ZW(r,e,t,zL,VW),ul(r.length*8===64);{let n=CL(r,Xe(t,11),K(e.byteLength)*Aa&Pe);return CL(r,Xe(t,t.byteLength-Eo-11),~(K(e.byteLength)*rc)&Pe)<<K(64)|n}}function DL(e,t){let r=e*t&cl;return r&Pe^r>>K(64)}function PL(e,t,r){return DL((e.getBigUint64(0,!0)^t.getBigUint64(0,!0)+r)&Pe,(e.getBigUint64(8,!0)^t.getBigUint64(8,!0)-r)&Pe)}function Ay(e,t,r,n,i){let o=e&Pe,a=e>>K(64)&Pe;return o+=PL(t,n,i),o^=r.getBigUint64(0,!0)+r.getBigUint64(8,!0),o&=Pe,a+=PL(r,Xe(n,16),i),a^=t.getBigUint64(0,!0)+t.getBigUint64(8,!0),a&=Pe,a<<K(64)|o}function Fi(e){let t=e;return t^=t>>K(37),t*=MW,t&=Pe,t^=t>>K(32),t}function Cy(e){let t=e;return t^=t>>K(33),t*=rc,t&=Pe,t^=t>>K(29),t*=ML,t&=Pe,t^=t>>K(32),t}function HW(e,t,r){let n=e.byteLength;ul(n>0&&n<=3);let i=K(e.getUint8(n-1))|K(n<<8)|K(e.getUint8(0)<<16)|K(e.getUint8(n>>1)<<24),o=(i^(K(t.getUint32(0,!0))^K(t.getUint32(4,!0)))+r)&Pe,a=(K(t.getUint32(8,!0))^K(t.getUint32(12,!0)))-r;return(Cy((BW(UW(i),K(13))^a)&Pe)&Pe)<<K(64)|Cy(o)}function c$(e,t){return e^e>>t}function qW(e,t,r){let n=e.byteLength;ul(n>=4&&n<=8);{let i=e.getUint32(0,!0),o=e.getUint32(n-4,!0),a=((K(i)|K(o)<<K(32))^(t.getBigUint64(16,!0)^t.getBigUint64(24,!0))+r&Pe)*(Aa+(K(n)<<K(2)))&cl;return a+=(a&Pe)<<K(65),a&=cl,a^=a>>K(67),c$(c$(a&Pe,K(35))*jW&Pe,K(28))|Fi(a>>K(64))<<K(64)}}function KW(e,t,r){let n=e.byteLength;ul(n>=9&&n<=16);{let i=(t.getBigUint64(32,!0)^t.getBigUint64(40,!0))+r&Pe,o=(t.getBigUint64(48,!0)^t.getBigUint64(56,!0))-r&Pe,a=e.getBigUint64(0,!0),s=e.getBigUint64(n-8,!0),c=(a^s^i)*Aa,u=(c&Pe)+(K(n-1)<<K(54));c=c&(cl^Pe)|u,s^=o,c+=s+(s&Oy)*(NL-K(1))<<K(64),c&=cl,c^=LW(c>>K(64));let l=(c&Pe)*rc;return l+=(c>>K(64))*rc<<K(64),l&=cl,Fi(l&Pe)|Fi(l>>K(64))<<K(64)}}function WW(e,t){let r=e.byteLength;return ul(r<=16),r>8?KW(e,Ui,t):r>=4?qW(e,Ui,t):r>0?HW(e,Ui,t):Cy(t^Ui.getBigUint64(64,!0)^Ui.getBigUint64(72,!0))|Cy(t^Ui.getBigUint64(80,!0)^Ui.getBigUint64(88,!0))<<K(64)}function u$(e){return~e+K(1)&Pe}function JW(e,t,r){let n=K(e.byteLength)*Aa&Pe,i=K(e.byteLength-1)/K(32);for(;i>=0;){let s=Number(i);n=Ay(n,Xe(e,16*s),Xe(e,e.byteLength-16*(s+1)),Xe(t,32*s),r),i-=K(1)}let o=n+(n>>K(64))&Pe;o=Fi(o);let a=(n&Pe)*Aa+(n>>K(64))*l$+(K(e.byteLength)-r&Pe)*rc;return a&=Pe,a=u$(Fi(a)),o|a<<K(64)}function XW(e,t,r){let n=K(e.byteLength)*Aa&Pe;for(let a=32;a<160;a+=32)n=Ay(n,Xe(e,a-32),Xe(e,a-16),Xe(t,a-32),r);n=Fi(n&Pe)|Fi(n>>K(64))<<K(64);for(let a=160;a<=e.byteLength;a+=32)n=Ay(n,Xe(e,a-32),Xe(e,a-16),Xe(t,3+a-160),r);n=Ay(n,Xe(e,e.byteLength-16),Xe(e,e.byteLength-32),Xe(t,103),u$(r));let i=n+(n>>K(64))&Pe;i=Fi(i);let o=(n&Pe)*Aa+(n>>K(64))*l$+(K(e.byteLength)-r&Pe)*rc;return o&=Pe,o=u$(Fi(o)),i|o<<K(64)}function $o(e,t=K(0)){let r=new TextEncoder,n=Xe(typeof e=="string"?r.encode(e):e),i=n.byteLength,o=a=>a.toString(16).padStart(32,"0");return i<=16?o(WW(n,t)):i<=128?o(JW(n,Ui,t)):i<=240?o(XW(n,Ui,t)):o(GW(n,Ui))}function Py(e){return/^[0-9a-f]{32}$/.test(e)}function nc(e,t,r=!0,n=!1){try{return e[t].get()}catch(i){if(i.name===Ve.unminifiable_name){if(n)return i;if(r)return null}throw i}}function ei(e,t,r=!0){if(Array.isArray(t)){let n={};for(let i of t)try{n[i]=nc(e,i,!r)}catch(o){if(o.name===Ve.unminifiable_name)continue}return n}else return nc(e,t)}function*LL(e,t){if(e.graph===Ar.PARENT)throw new Re("There is no parent graph.");if(e.goto){let r;Array.isArray(e.goto)?r=e.goto:r=[e.goto];for(let n of r)if(At(n))yield[Zr,pi,n];else if(typeof n=="string")yield[Zr,`branch:to:${n}`,"__start__"];else throw new Error(`In Command.send, expected Send or string, got ${typeof n}`)}if(e.resume)if(typeof e.resume=="object"&&Object.keys(e.resume).length&&Object.keys(e.resume).every(Py))for(let[r,n]of Object.entries(e.resume)){let i=t.filter(o=>o[0]===r&&o[1]==="__resume__").map(o=>o[2]).slice(0,1)??[];i.push(n),yield[r,Vr,i]}else yield[Zr,Vr,e.resume];if(e.update){if(typeof e.update!="object"||!e.update)throw new Error("Expected cmd.update to be a dict mapping channel names to update values");if(Array.isArray(e.update))for(let[r,n]of e.update)yield[Zr,r,n];else for(let[r,n]of Object.entries(e.update))yield[Zr,r,n]}}function*Ry(e,t){if(t!=null)if(Array.isArray(e)&&typeof t=="object"&&!Array.isArray(t))for(let r in t)e.includes(r)&&(yield[r,t[r]]);else{if(Array.isArray(e))throw new Error('Input chunk must be an object when "inputChannels" is an array');yield[e,t]}}function*Ny(e,t,r){Array.isArray(e)?(t===!0||t.find(([n,i])=>e.includes(n)))&&(yield ei(r,e)):(t===!0||t.some(([n,i])=>n===e))&&(yield nc(r,e))}function*UL(e,t,r){let n=t.filter(([s,c])=>(s.config===void 0||!s.config.tags?.includes("langsmith:hidden"))&&c[0][0]!=="__error__"&&c[0][0]!=="__interrupt__");if(!n.length)return;let i;n.some(([s])=>s.writes.some(([c,u])=>c==="__return__"))?i=n.flatMap(([s])=>s.writes.filter(([c,u])=>c===Wo).map(([c,u])=>[s.name,u])):Array.isArray(e)?i=n.flatMap(([s])=>{let{writes:c}=s,u={};for(let[l]of c)e.includes(l)&&(u[l]=(u[l]||0)+1);return Object.values(u).some(l=>l>1)?c.filter(([l])=>e.includes(l)).map(([l,d])=>[s.name,{[l]:d}]):[[s.name,Object.fromEntries(c.filter(([l])=>e.includes(l)))]]}):i=n.flatMap(([s])=>s.writes.filter(([c,u])=>c===e).map(([c,u])=>[s.name,u]));let o={};for(let[s,c]of i)s in o||(o[s]=[]),o[s].push(c);let a={};for(let s in o)if(o[s].length===1){let[c]=o[s];a[s]=c}else a[s]=o[s];r&&(a.__metadata__={cached:r}),yield a}function My(e){let t=typeof e[Ye];if(t==="number")return 0;if(t==="string")return"";for(let r in e){if(!Object.prototype.hasOwnProperty.call(e,r))continue;let n=typeof e[r];if(n==="number")return 0;if(n==="string")return"";break}}function ll(e,t){if(Object.keys(e).length>0){let r=My(t);return Object.fromEntries(Object.entries(t).filter(([n,i])=>i>(e[n]??r)))}else return t}function FL(e,t){return e&&!Array.isArray(e)&&!(e instanceof Date)&&typeof e=="object"?e:{[t]:e}}function Ur(e,t){return e===null?{configurable:t}:e?.configurable===void 0?{...e,configurable:t}:{...e,configurable:{...e.configurable,...t}}}function Oa(e,t){let r=t?.parents??{};return Object.keys(r).length>0?Ur(e,{[ln]:{...r,[e.configurable?.checkpoint_ns??""]:e.configurable?.checkpoint_id}}):e}function dl(...e){let t=[...new Set(e.filter(Boolean))];if(t.length===0)return{signal:void 0,dispose:void 0};if(t.length===1)return{signal:t[0],dispose:void 0};if(typeof AbortSignal.any=="function")return{signal:AbortSignal.any(t),dispose:void 0};let r=new AbortController,n=()=>{let o=t.find(a=>a.aborted)?.reason;r.abort(o),t.forEach(a=>a.removeEventListener("abort",n))};t.forEach(o=>o.addEventListener("abort",n,{once:!0}));let i=t.find(o=>o.aborted);return i&&r.abort(i.reason),{signal:r.signal,dispose:()=>{t.forEach(o=>o.removeEventListener("abort",n))}}}var BL=(e,t)=>{if(!(!e&&!t))return e?t?Array.isArray(e)&&Array.isArray(t)?[...e,...t]:Array.isArray(e)?[...e,t]:Array.isArray(t)?[e,...t]:[e,t]:e:t};var VL=class{func;name;input;retry;cache;callbacks;__lg_type="call";constructor({func:e,name:t,input:r,retry:n,cache:i,callbacks:o}){this.func=e,this.name=t,this.input=r,this.retry=n,this.cache=i,this.callbacks=o}};function ZL(e){return typeof e=="object"&&e!==null&&"__lg_type"in e&&e.__lg_type==="call"}function GL(e,t){return new tn({name:e,first:new ur({func:r=>t(...r),name:e,trace:!1,recurse:!1}),last:new wt([{channel:Wo,value:Lr}],[Tt])})}function HL(e,t){return new ur({func:(r,n)=>t(r,n),name:e,trace:!1,recurse:!1})}var qL=e=>e!==void 0?e+1:1;function YW(e,t){if(t==null)return!1;for(let r of e)if(t[r])return!0;return!1}function QW(e){let t;for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t==null?t=e[r]:t=sf(t,e[r]));return t}function gf(e,t,r){let n=My(e.channel_versions),i=e.versions_seen.__interrupt__??{},o=!1;if((e.channel_versions.__start__??n)>(i.__start__??n))o=!0;else for(let s in e.channel_versions)if(Object.prototype.hasOwnProperty.call(e.channel_versions,s)&&e.channel_versions[s]>(i[s]??n)){o=!0;break}let a=r.some(s=>t==="*"?!s.config?.tags?.includes(Tt):t.includes(s.name));return o&&a}function hf(e,t,r,n,i=!1){let o=new Set;if(Array.isArray(n))o=new Set(n.filter(s=>r.writes.some(([c,u])=>c===s)));else{for(let[s]of r.writes)if(s===n){o=new Set([s]);break}o=o||new Set}let a;if(i&&o.size>0){let s=Object.fromEntries(Object.entries(t).filter(([l,d])=>o.has(l))),c=Wn(e,s,-1),u=Ta(s,c);Er(Kn(c),u,[r],void 0,void 0),a=ei({...t,...u},n)}else a=ei(t,n);return a}function d$(e,t,r){for(let[n,i]of r)if(["__pregel_push","__pregel_tasks"].includes(n)&&i!=null){if(!At(i))throw new Re(`Invalid packet type, expected SendProtocol, got ${JSON.stringify(i)}`);if(!(i.node in t))throw new Re(`Invalid node name "${i.node}" in Send packet`)}e(r)}var eJ=new Set([md,dn,Vr,ot,Wo,jc]);function Er(e,t,r,n,i){r.sort((f,p)=>{let m=f.path?.slice(0,3)||[],h=p.path?.slice(0,3)||[];for(let w=0;w<Math.min(m.length,h.length);w+=1){if(m[w]<h[w])return-1;if(m[w]>h[w])return 1}return m.length-h.length});let o=r.some(f=>f.triggers.length>0),a=df(t);for(let f of r){e.versions_seen[f.name]??={};for(let p of f.triggers)p in e.channel_versions&&(e.versions_seen[f.name][p]=e.channel_versions[p])}let s=QW(e.channel_versions),c=new Set(r.flatMap(f=>f.triggers).filter(f=>!UT.includes(f))),u=!1;for(let f of c)f in a&&a[f].consume()&&n!==void 0&&(e.channel_versions[f]=n(s),u=!0);let l={};for(let f of r)for(let[p,m]of f.writes)eJ.has(p)||p in a&&(l[p]??=[],l[p].push(m));s!=null&&n!=null&&(s=u?n(s):s);let d=new Set;for(let[f,p]of Object.entries(l))if(f in a){let m=a[f],h;try{h=m.update(p)}catch(w){if(w.name===Re.unminifiable_name){let _=new Re(`Invalid update for channel "${f}" with values ${JSON.stringify(p)}: ${w.message}`);throw _.lc_error_code=w.lc_error_code,_}else throw w}h&&n!==void 0&&(e.channel_versions[f]=n(s),m.isAvailable()&&d.add(f))}if(o)for(let f in a){if(!Object.prototype.hasOwnProperty.call(a,f))continue;let p=a[f];p.isAvailable()&&!d.has(f)&&p.update([])&&n!==void 0&&(e.channel_versions[f]=n(s),p.isAvailable()&&d.add(f))}if(o&&!YW(d,i))for(let f in a){if(!Object.prototype.hasOwnProperty.call(a,f))continue;let p=a[f];p.finish()&&n!==void 0&&(e.channel_versions[f]=n(s),p.isAvailable()&&d.add(f))}return d}function*tJ(e,t,r){if(r.updatedChannels!=null&&r.triggerToNodes!=null){let n=new Set;for(let i of r.updatedChannels){let o=r.triggerToNodes[i];for(let a of o??[])n.add(a)}yield*[...n].sort();return}if(!(()=>{for(let n in e.channel_versions)if(e.channel_versions[n]!==null)return!1;return!0})())for(let n in t)Object.prototype.hasOwnProperty.call(t,n)&&(yield n)}function Ca(e,t,r,n,i,o,a){let s={},c=n[pi];if(c?.isAvailable()){let u=c.get().length;for(let l=0;l<u;l+=1){let d=jy([dn,l],e,t,r,n,i,o,a);d!==void 0&&(s[d.id]=d)}}for(let u of tJ(e,r,a)){let l=jy([Jf,u],e,t,r,n,i,o,a);l!==void 0&&(s[l.id]=l)}return s}function jy(e,t,r,n,i,o,a,s){let{step:c,checkpointer:u,manager:l}=s,d=o.configurable??{},f=d.checkpoint_ns??"";if(e[0]==="__pregel_push"&&ZL(e[e.length-1])){let p=e[e.length-1],m=GL(p.name,p.func),h=[dn],w=f===""?p.name:`${f}|${p.name}`,_=ro(JSON.stringify([w,c.toString(),p.name,dn,e[1],e[2]]),t.id),y=`${w}:${_}`,x=[...e.slice(0,3),!0],S={langgraph_step:c,langgraph_node:p.name,langgraph_triggers:h,langgraph_path:x,langgraph_checkpoint_ns:y};if(a){let $=[];return{name:p.name,input:p.input,proc:m,writes:$,config:Me(Bt(o,{metadata:S,store:s.store??o.store}),{runName:p.name,callbacks:l?.getChild(`graph:step:${c}`),configurable:{[pd]:_,[cn]:j=>d$(C=>$.push(...C),n,j),[On]:(j,C=!1)=>hf(t,i,{name:p.name,writes:$,triggers:h,path:x},j,C),[Cn]:u??d.__pregel_checkpointer,[ln]:{...d[ln],[f]:t.id},[Br]:p$({pendingWrites:r??[],taskId:_,currentTaskInput:p.input,resumeMap:o.configurable?.[Dc],namespaceHash:$o(y)}),[Lc]:t.channel_values[rs],checkpoint_id:void 0,checkpoint_ns:y}}),triggers:h,retry_policy:p.retry,cache_key:p.cache?{key:$o((p.cache.keyFunc??JSON.stringify)([p.input])),ns:[Kf,p.name??"__dynamic__"],ttl:p.cache.ttl}:void 0,id:_,path:x,writers:[]}}else return{id:_,name:p.name,interrupts:[],path:x}}else if(e[0]==="__pregel_push"){let p=typeof e[1]=="number"?e[1]:parseInt(e[1],10);if(!i.__pregel_tasks?.isAvailable())return;let m=i[pi].get();if(p<0||p>=m.length)return;let h=Xf(m[p])&&!At(m[p])?new ts(m[p].node,m[p].args):m[p];if(!Xf(h)){console.warn(`Ignoring invalid packet ${JSON.stringify(h)} in pending sends.`);return}if(!(h.node in n)){console.warn(`Ignoring unknown node name ${h.node} in pending sends.`);return}let w=[dn],_=f===""?h.node:`${f}|${h.node}`,y=ro(JSON.stringify([_,c.toString(),h.node,dn,p.toString()]),t.id),x=`${_}:${y}`,S={langgraph_step:c,langgraph_node:h.node,langgraph_triggers:w,langgraph_path:e.slice(0,3),langgraph_checkpoint_ns:x};if(a){let $=n[h.node],j=$.getNode();if(j!==void 0){$.metadata!==void 0&&(S={...S,...$.metadata});let C=[];return{name:h.node,input:h.args,proc:j,subgraphs:$.subgraphs,writes:C,config:Me(Bt(o,{metadata:S,tags:$.tags,store:s.store??o.store}),{runName:h.node,callbacks:l?.getChild(`graph:step:${c}`),configurable:{[pd]:y,[cn]:b=>d$(H=>C.push(...H),n,b),[On]:(b,H=!1)=>hf(t,i,{name:h.node,writes:C,triggers:w,path:e},b,H),[Cn]:u??d.__pregel_checkpointer,[ln]:{...d[ln],[f]:t.id},[Br]:p$({pendingWrites:r??[],taskId:y,currentTaskInput:h.args,resumeMap:o.configurable?.[Dc],namespaceHash:$o(x)}),[Lc]:t.channel_values[rs],checkpoint_id:void 0,checkpoint_ns:x}}),triggers:w,retry_policy:$.retryPolicy,cache_key:$.cachePolicy?{key:$o(($.cachePolicy.keyFunc??JSON.stringify)([h.args])),ns:[Kf,$.name??"__dynamic__",h.node],ttl:$.cachePolicy.ttl}:void 0,id:y,path:e,writers:$.getWriters()}}}else return{id:y,name:h.node,interrupts:[],path:e}}else if(e[0]==="__pregel_pull"){let p=e[1].toString(),m=n[p];if(m===void 0)return;if(r?.length){let y=f===""?p:`${f}|${p}`,x=ro(JSON.stringify([y,c.toString(),p,Jf,p]),t.id);if(r.some(S=>S[0]===x&&S[1]!=="__error__"))return}let h=My(t.channel_versions);if(h===void 0)return;let w=t.versions_seen[p]??{},_=m.triggers.find(y=>i[y].isAvailable()?(t.channel_versions[y]??h)>(w[y]??h):!1);if(_!==void 0){let y=rJ(m,i,a);if(y===void 0)return;let x=f===""?p:`${f}|${p}`,S=ro(JSON.stringify([x,c.toString(),p,Jf,[_]]),t.id),$=`${x}:${S}`,j={langgraph_step:c,langgraph_node:p,langgraph_triggers:[_],langgraph_path:e,langgraph_checkpoint_ns:$};if(a){let C=m.getNode();if(C!==void 0){m.metadata!==void 0&&(j={...j,...m.metadata});let b=[];return{name:p,input:y,proc:C,subgraphs:m.subgraphs,writes:b,config:Me(Bt(o,{metadata:j,tags:m.tags,store:s.store??o.store}),{runName:p,callbacks:l?.getChild(`graph:step:${c}`),configurable:{[pd]:S,[cn]:H=>d$(R=>{b.push(...R)},n,H),[On]:(H,R=!1)=>hf(t,i,{name:p,writes:b,triggers:[_],path:e},H,R),[Cn]:u??d.__pregel_checkpointer,[ln]:{...d[ln],[f]:t.id},[Br]:p$({pendingWrites:r??[],taskId:S,currentTaskInput:y,resumeMap:o.configurable?.[Dc],namespaceHash:$o($)}),[Lc]:t.channel_values[rs],checkpoint_id:void 0,checkpoint_ns:$}}),triggers:[_],retry_policy:m.retryPolicy,cache_key:m.cachePolicy?{key:$o((m.cachePolicy.keyFunc??JSON.stringify)([y])),ns:[Kf,m.name??"__dynamic__",p],ttl:m.cachePolicy.ttl}:void 0,id:S,path:e,writers:m.getWriters()}}}else return{id:S,name:p,interrupts:[],path:e}}}}function rJ(e,t,r){let n;if(typeof e.channels=="object"&&!Array.isArray(e.channels)){n={};for(let[i,o]of Object.entries(e.channels))if(e.triggers.includes(o))try{n[i]=nc(t,o,!1)}catch(a){if(a.name===Ve.unminifiable_name)return;throw a}else if(o in t)try{n[i]=nc(t,o,!1)}catch(a){if(a.name===Ve.unminifiable_name)continue;throw a}}else if(Array.isArray(e.channels)){let i=!1;for(let o of e.channels)try{n=nc(t,o,!1),i=!0;break}catch(a){if(a.name===Ve.unminifiable_name)continue;throw a}if(!i)return}else throw new Error(`Invalid channels type, expected list or dict, got ${e.channels}`);return r&&e.mapper!==void 0&&(n=e.mapper(n)),n}function KL(e,t){if(typeof e.args!="object"||e.args===null)return e;let r={};for(let[n,i]of Object.entries(e.args)){let o=t[n];(!o||o.lc_graph_name!=="UntrackedValue")&&(r[n]=i)}return new ts(e.node,r)}function p$({pendingWrites:e,taskId:t,currentTaskInput:r,resumeMap:n,namespaceHash:i}){let o=e.find(([s,c])=>s==="00000000-0000-0000-0000-000000000000"&&c==="__resume__")?.[2],a={callCounter:0,interruptCounter:-1,resume:(()=>{let s=e.filter(([c,u])=>c===t&&u==="__resume__").flatMap(([c,u,l])=>l);if(n!=null&&i in n){let c=n[i];s.push(c)}return s})(),nullResume:o,subgraphCounter:0,currentTaskInput:r,consumeNullResume:()=>{if(a.nullResume)return delete a.nullResume,e.splice(e.findIndex(([s,c])=>s==="00000000-0000-0000-0000-000000000000"&&c==="__resume__"),1),o}};return a}var _f={blue:{start:"\x1B[34m",end:"\x1B[0m"},green:{start:"\x1B[32m",end:"\x1B[0m"},yellow:{start:"\x1B[33;1m",end:"\x1B[0m"}},yf=(e,t)=>`${e.start}${t}${e.end}`;function*f$(e){for(let{id:t,name:r,input:n,config:i,triggers:o,writes:a}of e)i?.tags?.includes("langsmith:hidden")||(yield{id:t,name:r,input:n,triggers:o,interrupts:a.filter(([s,c])=>s===t&&c==="__interrupt__").map(([,s])=>s)})}function nJ(e){return typeof e!="object"||e===null?!1:"$writes"in e&&Array.isArray(e.$writes)}function WL(e){let t={};for(let[r,n]of e){let i=String(r);if(i in t){let o=nJ(t[i])?t[i].$writes:[t[i]];o.push(n),t[i]={$writes:o}}else t[i]=n}return t}function*JL(e,t){for(let[{id:r,name:n,config:i},o]of e)i?.tags?.includes("langsmith:hidden")||(yield{id:r,name:n,result:WL(o.filter(([a])=>Array.isArray(t)?t.includes(a):a===t)),interrupts:o.filter(a=>a[0]===ot).map(a=>a[1])})}function*XL(e,t,r,n,i,o,a,s){function c(d){let f={};return d.callbacks!=null&&(f.callbacks=d.callbacks),d.configurable!=null&&(f.configurable=d.configurable),d.maxConcurrency!=null&&(f.max_concurrency=d.maxConcurrency),d.metadata!=null&&(f.metadata=d.metadata),d.recursionLimit!=null&&(f.recursion_limit=d.recursionLimit),d.runId!=null&&(f.run_id=d.runId),d.runName!=null&&(f.run_name=d.runName),d.tags!=null&&(f.tags=d.tags),f}let u=e.configurable?.checkpoint_ns,l={};for(let d of i){if(!(d.subgraphs?.length?d.subgraphs:[d.proc]).find(Ey))continue;let f=`${d.name}:${d.id}`;u&&(f=`${u}|${f}`),l[d.id]={configurable:{thread_id:e.configurable?.thread_id,checkpoint_ns:f}}}yield{config:c(e),values:ei(t,r),metadata:n,next:i.map(d=>d.name),tasks:m$(i,o,l,s),parentConfig:a?c(a):void 0}}function m$(e,t,r,n){return e.map(i=>{let o=t.find(([u,l])=>u===i.id&&l==="__error__")?.[2],a=t.filter(([u,l])=>u===i.id&&l==="__interrupt__").map(([,,u])=>u),s=(()=>{if(o||a.length||!t.length)return;let u=t.findIndex(([l,d])=>l===i.id&&d==="__return__");if(u>=0)return t[u][2];if(typeof n=="string")return t.find(([l,d])=>l===i.id&&d===n)?.[2];if(Array.isArray(n)){let l=t.filter(([d,f])=>d===i.id&&n.includes(f)).map(([,d,f])=>[d,f]);return l.length?WL(l):void 0}})();if(o)return{id:i.id,name:i.name,path:i.path,error:o,interrupts:a,result:s};let c=r?.[i.id];return{id:i.id,name:i.name,path:i.path,interrupts:a,...c!==void 0?{state:c}:{},result:s}})}function YL(e,t,r){console.log([`${yf(_f.blue,`[${e}:checkpoint]`)}`,`\x1B[1m State at the end of step ${e}:\x1B[0m
|
|
293
293
|
`,JSON.stringify(ei(t,r),null,2)].join(""))}function zy(e,t){let r=t.length;console.log([`${yf(_f.blue,`[${e}:tasks]`)}`,`\x1B[1m Starting step ${e} with ${r} task${r===1?"":"s"}:\x1B[0m
|
|
294
294
|
`,t.map(n=>`- ${yf(_f.green,String(n.name))} -> ${JSON.stringify(n.input,null,2)}`).join(`
|
|
295
295
|
`)].join(""))}function QL(e,t,r){let n={};for(let[i,o]of t)r.includes(i)&&(n[i]||(n[i]=[]),n[i].push(o));console.log([`${yf(_f.blue,`[${e}:writes]`)}`,`\x1B[1m Finished step ${e} with writes to ${Object.keys(n).length} channel${Object.keys(n).length!==1?"s":""}:\x1B[0m
|
|
@@ -297,9 +297,9 @@ ${n}`)}return e}function YK(e){let t=e.split(`
|
|
|
297
297
|
`)].join(""))}var g$=class extends Ct{_abortController;_innerReader;_disposeSignal;constructor(e,t,r){let n=e.getReader(),i=t??new AbortController,o=r;super({start(a){return s();function s(){return n.read().then(({done:c,value:u})=>{if(c){a.close(),o?.();return}return a.enqueue(u),s()})}}}),this._abortController=i,this._innerReader=n,this._disposeSignal=r}async cancel(e){this._abortController.abort(e),this._innerReader.releaseLock(),this._disposeSignal?.()}get signal(){return this._abortController.signal}},Dy=class extends Ct{modes;controller;passthroughFn;_closed=!1;get closed(){return this._closed}constructor(e){let t,r=new Promise(n=>{t=n});super({start:n=>{t(n)}}),r.then(n=>{this.controller=n}),this.passthroughFn=e.passthroughFn,this.modes=e.modes}push(e){this.passthroughFn?.(e),this.controller.enqueue(e)}close(){try{this.controller.close()}catch{}finally{this._closed=!0}}error(e){this.controller.error(e)}},rU=class extends jn{name="StreamToolsHandler";streamFn;runs={};constructor(e){super(),this.streamFn=e}handleToolStart(e,t,r,n,i,o,a,s){if(!o||i&&i.includes("langsmith:hidden"))return;let c=o.langgraph_checkpoint_ns?.split("|")??[],u={ns:c,toolCallId:s,toolName:a??"unknown",input:t};this.runs[r]=u,this.streamFn([c,"tools",{event:"on_tool_start",toolCallId:u.toolCallId,name:u.toolName,input:t}])}handleToolEvent(e,t){let r=this.runs[t];r&&this.streamFn([r.ns,"tools",{event:"on_tool_event",toolCallId:r.toolCallId,name:r.toolName,data:e}])}handleToolEnd(e,t){let r=this.runs[t];delete this.runs[t],r&&this.streamFn([r.ns,"tools",{event:"on_tool_end",toolCallId:r.toolCallId,name:r.toolName,output:e}])}handleToolError(e,t){let r=this.runs[t];delete this.runs[t],r&&this.streamFn([r.ns,"tools",{event:"on_tool_error",toolCallId:r.toolCallId,name:r.toolName,error:e}])}};function iJ(e){return JSON.stringify(e,function(t,r){let n=this[t];if(n!=null&&typeof n=="object"&&"toDict"in n&&typeof n.toDict=="function"){let{type:i,data:o}=n.toDict();return{...o,type:i}}return r})}function oJ(e){return e instanceof Error?{error:e.name,message:e.message}:{error:"Error",message:JSON.stringify(e)}}function _$(e){return typeof e!="object"||e==null?!1:"configurable"in e&&typeof e.configurable=="object"&&e.configurable!=null}function h$(e){return!_$(e)||!e.configurable.thread_id?null:{thread_id:e.configurable.thread_id,checkpoint_ns:e.configurable.checkpoint_ns||"",checkpoint_id:e.configurable.checkpoint_id||null,checkpoint_map:e.configurable.checkpoint_map||null}}function eU(e){if(_$(e)){let t=Object.fromEntries(Object.entries(e.configurable).filter(([n])=>!n.startsWith("__"))),r={...e,configurable:t};return delete r.callbacks,r}return e}function tU(e){let t={...e,checkpoint:h$(e.config),parent_checkpoint:h$(e.parentConfig),config:eU(e.config),parent_config:eU(e.parentConfig),tasks:e.tasks.map(r=>{if(_$(r.state)){let n=h$(r.state);if(n!=null){let i={...r,checkpoint:n};return delete i.state,i}}return r})};return delete t.parentConfig,t}function nU(e){let t=new TextEncoder;return new ReadableStream({async start(r){let n=i=>{r.enqueue(t.encode(`event: ${i.event}
|
|
298
298
|
data: ${iJ(i.data)}
|
|
299
299
|
|
|
300
|
-
`))};try{for await(let i of e){let[o,a,s]=i,c=s;if(a==="debug"){let u=s;u.type==="checkpoint"&&(c={...u,payload:tU(u.payload)})}a==="checkpoints"&&(c=tU(s)),n({event:o?.length?`${a}|${o.join("|")}`:a,data:c})}}catch(i){n({event:"error",data:oJ(i)})}r.close()}})}var Ly=Symbol.for("INPUT_DONE"),y$=Symbol.for("INPUT_RESUMING"),aJ=25;function sJ(...e){return new Dy({passthroughFn:t=>{for(let r of e)r.modes.has(t[1])&&r.push(t)},modes:new Set(e.flatMap(t=>Array.from(t.modes)))})}var cJ=class extends by{cache;queue=Promise.resolve();constructor(e){super(),this.cache=e}async get(e){return this.enqueueOperation("get",e)}async set(e){return this.enqueueOperation("set",e)}async clear(e){return this.enqueueOperation("clear",e)}async stop(){await this.queue}enqueueOperation(e,...t){let r=this.queue.then(()=>this.cache[e](...t));return this.queue=r.then(()=>{},()=>{}),r}},iU=class oU{input;output;config;checkpointer;checkpointerGetNextVersion;channels;checkpoint;checkpointIdSaved;checkpointConfig;checkpointMetadata;checkpointNamespace;checkpointPendingWrites=[];checkpointPreviousVersions;step;stop;durability;outputKeys;streamKeys;nodes;skipDoneTasks;prevCheckpointConfig;updatedChannels;status="pending";tasks={};stream;checkpointerPromises=[];isNested;_checkpointerChainedPromise=Promise.resolve();store;cache;manager;interruptAfter;interruptBefore;toInterrupt=[];debug=!1;triggerToNodes;get isResuming(){let t=!1;if("__start__"in this.checkpoint.channel_versions)t=!0;else for(let s in this.checkpoint.channel_versions)if(Object.prototype.hasOwnProperty.call(this.checkpoint.channel_versions,s)){t=!0;break}let r=this.config.configurable?.__pregel_resuming!==void 0&&this.config.configurable?.__pregel_resuming,n=this.input===null||this.input===void 0,i=Nt(this.input)&&this.input.resume!=null,o=this.input===y$,a=!this.isNested&&this.config.metadata?.run_id!==void 0&&this.checkpointMetadata?.run_id!==void 0&&this.config.metadata.run_id===this.checkpointMetadata?.run_id;return t&&(r||n||i||o||a)}constructor(t){this.input=t.input,this.checkpointer=t.checkpointer,this.checkpointer!==void 0?this.checkpointerGetNextVersion=this.checkpointer.getNextVersion.bind(this.checkpointer):this.checkpointerGetNextVersion=qL,this.checkpoint=t.checkpoint,this.checkpointMetadata=t.checkpointMetadata,this.checkpointPreviousVersions=t.checkpointPreviousVersions,this.channels=t.channels,this.checkpointPendingWrites=t.checkpointPendingWrites,this.step=t.step,this.stop=t.stop,this.config=t.config,this.checkpointConfig=t.checkpointConfig,this.isNested=t.isNested,this.manager=t.manager,this.outputKeys=t.outputKeys,this.streamKeys=t.streamKeys,this.nodes=t.nodes,this.skipDoneTasks=t.skipDoneTasks,this.store=t.store,this.cache=t.cache?new cJ(t.cache):void 0,this.stream=t.stream,this.checkpointNamespace=t.checkpointNamespace,this.prevCheckpointConfig=t.prevCheckpointConfig,this.interruptAfter=t.interruptAfter,this.interruptBefore=t.interruptBefore,this.durability=t.durability,this.debug=t.debug,this.triggerToNodes=t.triggerToNodes}static async initialize(t){let{config:r,stream:n}=t;n!==void 0&&r.configurable?.__pregel_stream!==void 0&&(n=sJ(n,r.configurable[fd]));let i=r.configurable?!("checkpoint_id"in r.configurable):!0,o=r.configurable?.[Br];r.configurable&&o&&(o.subgraphCounter>0&&(r=Ur(r,{[un]:[r.configurable[un],o.subgraphCounter.toString()].join("|")})),o.subgraphCounter+=1);let a=On in(r.configurable??{});!a&&r.configurable?.checkpoint_ns!==void 0&&r.configurable?.checkpoint_ns!==""&&(r=Ur(r,{checkpoint_ns:"",checkpoint_id:void 0}));let s=r;r.configurable?.checkpoint_map!==void 0&&r.configurable?.checkpoint_map?.[r.configurable?.checkpoint_ns]&&(s=Ur(r,{checkpoint_id:r.configurable[ln][r.configurable?.checkpoint_ns]}));let c=r.configurable?.checkpoint_ns?.split("|")??[],u=await t.checkpointer?.getTuple(s)??{config:r,checkpoint:ol(),metadata:{source:"input",step:-2,parents:{}},pendingWrites:[]};s={...r,...u.config,configurable:{checkpoint_ns:"",...r.configurable,...u.config.configurable}};let l=u.parentConfig,d=Kn(u.checkpoint),f={...u.metadata},p=u.pendingWrites??[],m=Ta(t.channelSpecs,d),h=(f.step??0)+1,w=h+(r.recursionLimit??aJ)+1,_={...d.channel_versions},y=t.store?new vy(t.store):void 0;return y&&await y.start(),new oU({input:t.input,config:r,checkpointer:t.checkpointer,checkpoint:d,checkpointMetadata:f,checkpointConfig:s,prevCheckpointConfig:l,checkpointNamespace:c,channels:m,isNested:a,manager:t.manager,skipDoneTasks:i,step:h,stop:w,checkpointPreviousVersions:_,checkpointPendingWrites:p,outputKeys:t.outputKeys??[],streamKeys:t.streamKeys??[],nodes:t.nodes,stream:n,store:y,cache:t.cache,interruptAfter:t.interruptAfter,interruptBefore:t.interruptBefore,durability:t.durability,debug:t.debug,triggerToNodes:t.triggerToNodes})}_checkpointerPutAfterPrevious(t){this._checkpointerChainedPromise=this._checkpointerChainedPromise.then(()=>this.checkpointer?.put(t.config,t.checkpoint,t.metadata,t.newVersions)),this.checkpointerPromises.push(this._checkpointerChainedPromise)}putWrites(t,r){let n=r;if(n.length===0)return;n.every(([c])=>c in cf)&&(n=Array.from(new Map(n.map(c=>[c[0],c])).values()));let i=!1;for(let c in this.channels)if(Object.prototype.hasOwnProperty.call(this.channels,c)&&this.channels[c].lc_graph_name==="UntrackedValue"){i=!0;break}let o=n;i&&(o=n.filter(([c])=>{let u=this.channels[c];return!u||u.lc_graph_name!=="UntrackedValue"}).map(([c,u])=>c==="__pregel_tasks"&&At(u)?[c,KL(u,this.channels)]:[c,u])),this.checkpointPendingWrites=this.checkpointPendingWrites.filter(c=>c[0]!==t);for(let[c,u]of o)this.checkpointPendingWrites.push([t,c,u]);let a=Ur(this.checkpointConfig,{[un]:this.config.configurable?.checkpoint_ns??"",[Wf]:this.checkpoint.id});if(this.durability!=="exit"&&this.checkpointer!=null&&this.checkpointerPromises.push(this.checkpointer.putWrites(a,o,t)),this.tasks&&this._outputWrites(t,n),!r.length||!this.cache||!this.tasks)return;let s=this.tasks[t];s==null||s.cache_key==null||r[0][0]==="__error__"||r[0][0]==="__interrupt__"||this.cache.set([{key:[s.cache_key.ns,s.cache_key.key],value:s.writes,ttl:s.cache_key.ttl}])}_outputWrites(t,r,n=!1){let i=this.tasks[t];if(i!==void 0){if(i.config!==void 0&&(i.config.tags??[]).includes("langsmith:hidden"))return;if(r.length>0)if(r[0][0]==="__interrupt__"){if(i.path?.[0]==="__pregel_push"&&i.path?.[i.path.length-1]===!0)return;let o=r.filter(a=>a[0]===at).flatMap(a=>a[1]);this._emit([["updates",{[at]:o}],["values",{[at]:o}]])}else r[0][0]!=="__error__"&&this._emit(ec(ko(UL(this.outputKeys,[[i,r]],n),"updates")));n||this._emit(ec(ko(JL([[i,r]],this.streamKeys),"tasks")))}}async _matchCachedWrites(){if(!this.cache)return[];let t=[],r=([a,s])=>`ns:${a.join(",")}|key:${s}`,n=[],i={};for(let a of Object.values(this.tasks))a.cache_key!=null&&!a.writes.length&&(n.push([a.cache_key.ns,a.cache_key.key]),i[r([a.cache_key.ns,a.cache_key.key])]=a);if(n.length===0)return[];let o=await this.cache.get(n);for(let{key:a,value:s}of o){let c=i[r(a)];c!=null&&(c.writes.push(...s),t.push({task:c,result:s}))}return t}async tick(t){this.store&&!this.store.isRunning&&await this.store?.start();let{inputKeys:r=[]}=t;if(this.status!=="pending")throw new Error(`Cannot tick when status is no longer "pending". Current status: "${this.status}"`);if(![Ly,y$].includes(this.input))await this._first(r);else{if(this.toInterrupt.length>0)throw this.status="interrupt_before",new eo;if(Object.values(this.tasks).every(i=>i.writes.length>0)){let i=Object.values(this.tasks).flatMap(a=>a.writes);this.updatedChannels=Er(this.checkpoint,this.channels,Object.values(this.tasks),this.checkpointerGetNextVersion,this.triggerToNodes);let o=await Yn(ko(Ny(this.outputKeys,i,this.channels),"values"));if(this._emit(o),this.checkpointPendingWrites=[],await this._putCheckpoint({source:"loop"}),gf(this.checkpoint,this.interruptAfter,Object.values(this.tasks)))throw this.status="interrupt_after",new eo;this.config.configurable?.__pregel_resuming!==void 0&&delete this.config.configurable?.[zc]}else return!1}if(this.step>this.stop)return this.status="out_of_steps",!1;if(this.tasks=Ca(this.checkpoint,this.checkpointPendingWrites,this.nodes,this.channels,this.config,!0,{step:this.step,checkpointer:this.checkpointer,isResuming:this.isResuming,manager:this.manager,store:this.store,stream:this.stream,triggerToNodes:this.triggerToNodes,updatedChannels:this.updatedChannels}),this.checkpointer&&this._emit(await Yn(ko(XL(this.checkpointConfig,this.channels,this.streamKeys,this.checkpointMetadata,Object.values(this.tasks),this.checkpointPendingWrites,this.prevCheckpointConfig,this.outputKeys),"checkpoints"))),Object.values(this.tasks).length===0)return this.status="done",!1;if(this.skipDoneTasks&&this.checkpointPendingWrites.length>0){for(let[i,o,a]of this.checkpointPendingWrites){if(o==="__error__"||o==="__interrupt__"||o==="__resume__")continue;let s=Object.values(this.tasks).find(c=>c.id===i);s&&s.writes.push([o,a])}for(let i of Object.values(this.tasks))i.writes.length>0&&this._outputWrites(i.id,i.writes,!0)}if(Object.values(this.tasks).every(i=>i.writes.length>0))return this.tick({inputKeys:r});if(gf(this.checkpoint,this.interruptBefore,Object.values(this.tasks)))throw this.status="interrupt_before",new eo;let n=await Yn(ko(f$(Object.values(this.tasks)),"tasks"));return this._emit(n),!0}async finishAndHandleError(t){this.durability==="exit"&&(!this.isNested||typeof t<"u"||this.checkpointNamespace.every(n=>!n.includes(":")))&&(this._putCheckpoint(this.checkpointMetadata),this._flushPendingWrites());let r=this._suppressInterrupt(t);return(r||t===void 0)&&(this.output=ei(this.channels,this.outputKeys)),r&&(this.tasks!==void 0&&this.checkpointPendingWrites.length>0&&Object.values(this.tasks).some(n=>n.writes.length>0)&&(this.updatedChannels=Er(this.checkpoint,this.channels,Object.values(this.tasks),this.checkpointerGetNextVersion,this.triggerToNodes),this._emit(ec(ko(Ny(this.outputKeys,Object.values(this.tasks).flatMap(n=>n.writes),this.channels),"values")))),to(t)&&!t.interrupts.length&&this._emit([["updates",{[at]:[]}],["values",{[at]:[]}]])),r}async acceptPush(t,r,n){if(this.interruptAfter?.length>0&&gf(this.checkpoint,this.interruptAfter,[t])){this.toInterrupt.push(t);return}let i=jy([dn,t.path??[],r,t.id,n],this.checkpoint,this.checkpointPendingWrites,this.nodes,this.channels,t.config??{},!0,{step:this.step,checkpointer:this.checkpointer,manager:this.manager,store:this.store,stream:this.stream});if(!i)return;if(this.interruptBefore?.length>0&&gf(this.checkpoint,this.interruptBefore,[i])){this.toInterrupt.push(i);return}this._emit(ec(ko(f$([i]),"tasks"))),this.debug&&zy(this.step,[i]),this.tasks[i.id]=i,this.skipDoneTasks&&this._matchWrites({[i.id]:i});let o=await this._matchCachedWrites();for(let{task:a}of o)this._outputWrites(a.id,a.writes,!0);return i}_suppressInterrupt(t){return to(t)&&!this.isNested}async _first(t){let{configurable:r}=this.config,n=r?.[Br];if(n&&n.nullResume!==void 0&&this.putWrites(Zr,[[Vr,n.nullResume]]),Nt(this.input)){let a=this.input.resume!=null;if(this.input.resume!=null&&typeof this.input.resume=="object"&&Object.keys(this.input.resume).every(Py)&&(this.config.configurable??={},this.config.configurable[Dc]=this.input.resume),a&&this.checkpointer==null)throw new Error("Cannot use Command(resume=...) without checkpointer");let s={};for(let[c,u,l]of LL(this.input,this.checkpointPendingWrites))s[c]??=[],s[c].push([u,l]);if(Object.keys(s).length===0)throw new tm("Received empty Command input");for(let[c,u]of Object.entries(s))this.putWrites(c,u)}let i=(this.checkpointPendingWrites??[]).filter(a=>a[0]===Zr).map(a=>a.slice(1));i.length>0&&Er(this.checkpoint,this.channels,[{name:di,writes:i,triggers:[]}],this.checkpointerGetNextVersion,this.triggerToNodes);let o=Nt(this.input)&&i.length>0;if(this.isResuming||o){for(let s in this.channels)if(Object.prototype.hasOwnProperty.call(this.channels,s)&&this.checkpoint.channel_versions[s]!==void 0){let c=this.checkpoint.channel_versions[s];this.checkpoint.versions_seen[at]={...this.checkpoint.versions_seen[at],[s]:c}}let a=await Yn(ko(Ny(this.outputKeys,!0,this.channels),"values"));this._emit(a)}if(this.isResuming)this.input=y$;else if(o)await this._putCheckpoint({source:"input"}),this.input=Ly;else{let a=await Yn(Ry(t,this.input));if(a.length>0){let s=Ca(this.checkpoint,this.checkpointPendingWrites,this.nodes,this.channels,this.config,!0,{step:this.step});this.updatedChannels=Er(this.checkpoint,this.channels,Object.values(s).concat([{name:di,writes:a,triggers:[]}]),this.checkpointerGetNextVersion,this.triggerToNodes),await this._putCheckpoint({source:"input"}),this.input=Ly}else if("__pregel_resuming"in(this.config.configurable??{}))this.input=Ly;else throw new tm(`Received no input writes for ${JSON.stringify(t,null,2)}`)}this.isNested||(this.config=Ur(this.config,{[zc]:this.isResuming}))}_emit(t){for(let[r,n]of t)if(this.stream.modes.has(r)&&this.stream.push([this.checkpointNamespace,r,n]),(r==="checkpoints"||r==="tasks")&&this.stream.modes.has("debug")){let i=r==="checkpoints"?this.step-1:this.step,o=new Date().toISOString(),a=r==="checkpoints"?"checkpoint":typeof n=="object"&&n!=null&&"result"in n?"task_result":"task";this.stream.push([this.checkpointNamespace,"debug",{step:i,type:a,timestamp:o,payload:n}])}}_putCheckpoint(t){let r=this.checkpointMetadata===t,n=this.checkpointer!=null&&(this.durability!=="exit"||r),i=o=>{this.prevCheckpointConfig=this.checkpointConfig?.configurable?.checkpoint_id?this.checkpointConfig:void 0,this.checkpointConfig=Ur(this.checkpointConfig,{[un]:this.config.configurable?.checkpoint_ns??""});let a={...this.checkpoint.channel_versions},s=ll(this.checkpointPreviousVersions,a);this.checkpointPreviousVersions=a,this._checkpointerPutAfterPrevious({config:{...this.checkpointConfig},checkpoint:Kn(o),metadata:{...this.checkpointMetadata},newVersions:s}),this.checkpointConfig={...this.checkpointConfig,configurable:{...this.checkpointConfig.configurable,checkpoint_id:this.checkpoint.id}}};r||(this.checkpointMetadata={...t,step:this.step,parents:this.config.configurable?.checkpoint_map??{}}),this.checkpoint=Wn(this.checkpoint,n?this.channels:void 0,this.step,r?{id:this.checkpoint.id}:void 0),n&&i(this.checkpoint),r||(this.step+=1)}_flushPendingWrites(){if(this.checkpointer==null||this.checkpointPendingWrites.length===0)return;let t=Ur(this.checkpointConfig,{[un]:this.config.configurable?.checkpoint_ns??"",[Wf]:this.checkpoint.id}),r={};for(let[n,i,o]of this.checkpointPendingWrites)r[n]??=[],r[n].push([i,o]);for(let[n,i]of Object.entries(r))this.checkpointerPromises.push(this.checkpointer.putWrites(t,i,n))}_matchWrites(t){for(let[r,n,i]of this.checkpointPendingWrites){if(n==="__error__"||n==="__interrupt__"||n==="__resume__")continue;let o=Object.values(t).find(a=>a.id===r);o&&o.writes.push([n,i])}for(let r of Object.values(t))r.writes.length>0&&this._outputWrites(r.id,r.writes,!0)}};function uJ(e){return ft(e?.message)}var aU=class extends jn{name="StreamMessagesHandler";streamFn;metadatas={};seen={};emittedChatModelRunIds={};stableMessageIdMap={};lc_prefer_streaming=!0;constructor(e){super(),this.streamFn=e}_emit(e,t,r,n=!1){if(n&&t.id!==void 0&&this.seen[t.id]!==void 0)return;let i=t.id;r!=null&&(ss(t)?i??=`run-${r}-tool-${t.tool_call_id}`:((i==null||i===`run-${r}`)&&(i=this.stableMessageIdMap[r]??i??`run-${r}`),this.stableMessageIdMap[r]??=i)),i!==t.id&&(t.id=i,t.lc_kwargs.id=i),t.id!=null&&(this.seen[t.id]=t),this.streamFn([e[0],"messages",[t,e[1]]])}handleChatModelStart(e,t,r,n,i,o,a,s){a&&(!o||!o.includes("langsmith:nostream")&&!o.includes("nostream"))&&(this.metadatas[r]=[a.langgraph_checkpoint_ns.split("|"),{tags:o,name:s,...a}])}handleLLMNewToken(e,t,r,n,i,o){let a=o?.chunk;this.emittedChatModelRunIds[r]=!0,this.metadatas[r]!==void 0&&(uJ(a)?this._emit(this.metadatas[r],a.message,r):this._emit(this.metadatas[r],new st({content:e}),r))}handleLLMEnd(e,t){if(this.metadatas[t]!==void 0){if(!this.emittedChatModelRunIds[t]){let r=e.generations?.[0]?.[0];ft(r?.message)&&this._emit(this.metadatas[t],r?.message,t,!0),delete this.emittedChatModelRunIds[t]}delete this.metadatas[t],delete this.stableMessageIdMap[t]}}handleLLMError(e,t){delete this.metadatas[t]}handleChainStart(e,t,r,n,i,o,a,s){if(o!==void 0&&s===o.langgraph_node&&(i===void 0||!i.includes("langsmith:hidden"))&&(this.metadatas[r]=[o.langgraph_checkpoint_ns.split("|"),{tags:i,name:s,...o}],typeof t=="object")){for(let c of Object.values(t))if((ft(c)||io(c))&&c.id!==void 0)this.seen[c.id]=c;else if(Array.isArray(c))for(let u of c)(ft(u)||io(u))&&u.id!==void 0&&(this.seen[u.id]=u)}}handleChainEnd(e,t){let r=this.metadatas[t];if(delete this.metadatas[t],r!==void 0){if(ft(e))this._emit(r,e,t,!0);else if(Array.isArray(e))for(let n of e)ft(n)&&this._emit(r,n,t,!0);else if(e!=null&&typeof e=="object"){for(let n of Object.values(e))if(ft(n))this._emit(r,n,t,!0);else if(Array.isArray(n))for(let i of n)ft(i)&&this._emit(r,i,t,!0)}}}handleChainError(e,t){delete this.metadatas[t]}};var lJ=[400,401,402,403,404,405,406,407,409],dJ=e=>{if(e.message.startsWith("Cancel")||e.message.startsWith("AbortError")||e.name==="AbortError"||e.name==="GraphValueError"||e?.code==="ECONNABORTED")return!1;let t=e?.response?.status??e?.status;return!(t&&lJ.includes(+t)||e?.error?.code==="insufficient_quota")};async function v$(e,t,r,n){let i=e.retry_policy??t,o=i!==void 0?i.initialInterval??500:0,a=0,s,c,{config:u}=e;for(r&&(u=Ur(u,r)),u={...u,signal:n};!n?.aborted;){e.writes.splice(0,e.writes.length),s=void 0;try{c=await e.proc.invoke(e.input,u);break}catch(l){if(s=l,s.pregelTaskId=e.id,Mv(s)){let p=u?.configurable?.checkpoint_ns,m=s.command;if(m.graph===p){for(let h of e.writers)await h.invoke(m,u);s=void 0;break}else if(m.graph===Ar.PARENT){let h=kL(p);s.command=new Ar({...s.command,graph:h})}}if(is(s)||i===void 0||(a+=1,a>=(i.maxAttempts??3))||!(i.retryOn??dJ)(s))break;o=Math.min(i.maxInterval??128e3,o*(i.backoffFactor??2));let d=i.jitter?Math.floor(o+Math.random()*1e3):o;await new Promise(p=>setTimeout(p,d));let f=s.name??s.constructor.unminifiable_name??s.constructor.name;(i?.logWarning??!0)&&console.log(`Retrying task "${String(e.name)}" after ${o.toFixed(2)}ms (attempt ${a}) after ${f}: ${s}`),u=Ur(u,{[zc]:!0})}}return{task:e,result:c,error:s,signalAborted:n?.aborted}}var b$=Symbol.for("promiseAdded");function pJ(){let e={next:()=>{},wait:Promise.resolve(b$)};function t(r){e.next=()=>{e.wait=new Promise(t),r(b$)}}return e.wait=new Promise(t),e}var sU=class{nodeFinished;loop;constructor({loop:e,nodeFinished:t}){this.loop=e,this.nodeFinished=t}async tick(e={}){let{timeout:t,retryPolicy:r,onStepWrite:n,maxConcurrency:i}=e,o=new Set,a,s=new AbortController,c=s.signal,u=t?AbortSignal.timeout(t):void 0,l=Object.values(this.loop.tasks).filter(m=>m.writes.length===0),{signals:d,disposeCombinedSignal:f}=this._initializeAbortSignals({exceptionSignal:c,stepTimeoutSignal:u,signal:e.signal}),p=this._executeTasksWithRetry(l,{signals:d,retryPolicy:r,maxConcurrency:i});for await(let{task:m,error:h,signalAborted:w}of p)this._commit(m,h),to(h)||is(h)&&!to(a)?a=h:h&&(o.size===0||!w)&&(s.abort(),o.add(h));if(f?.(),n?.(this.loop.step,Object.values(this.loop.tasks).map(m=>m.writes).flat()),o.size===1)throw Array.from(o)[0];if(o.size>1)throw new AggregateError(Array.from(o),`Multiple errors occurred during superstep ${this.loop.step}. See the "errors" field of this exception for more details.`);if(to(a)||is(a)&&this.loop.isNested)throw a}_initializeAbortSignals({exceptionSignal:e,stepTimeoutSignal:t,signal:r}){let n=this.loop.config.configurable?.__pregel_abort_signals??{},i=n.externalAbortSignal??r,o=t??n.timeoutAbortSignal,{signal:a,dispose:s}=dl(i,o,e),c={externalAbortSignal:i,timeoutAbortSignal:o,composedAbortSignal:a};return this.loop.config=Ur(this.loop.config,{[LT]:c}),{signals:c,disposeCombinedSignal:s}}async*_executeTasksWithRetry(e,t){let{retryPolicy:r,maxConcurrency:n,signals:i}=t??{},o=pJ(),a={},s={executingTasksMap:a,barrier:o,retryPolicy:r,scheduleTask:async(f,p,m)=>this.loop.acceptPush(f,p,m)};if(i?.composedAbortSignal?.aborted)throw new Error("Abort");let c=0,u,l=dl(i?.externalAbortSignal,i?.timeoutAbortSignal),d=l.signal?new Promise((f,p)=>{u=()=>p(new Error("Abort")),l.signal?.addEventListener("abort",u,{once:!0})}):void 0;for(;(c===0||Object.keys(a).length>0)&&e.length;){for(;Object.values(a).length<(n??e.length)&&c<e.length;c+=1){let p=e[c];a[p.id]=v$(p,r,{[dd]:cU?.bind(s,this,p)},i?.composedAbortSignal).catch(m=>({task:p,error:m,signalAborted:i?.composedAbortSignal?.aborted}))}let f=await Promise.race([...Object.values(a),...d?[d]:[],o.wait]);f!==b$&&(yield f,u!=null&&(l.signal?.removeEventListener("abort",u),l.dispose?.()),delete a[f.task.id])}}_commit(e,t){if(t!==void 0)if(to(t)){if(t.interrupts.length){let r=t.interrupts.map(i=>[at,i]),n=e.writes.filter(i=>i[0]===Vr);n.length&&r.push(...n),this.loop.putWrites(e.id,r)}}else is(t)&&e.writes.length?this.loop.putWrites(e.id,e.writes):this.loop.putWrites(e.id,[[jc,{message:t.message,name:t.name}]]);else this.nodeFinished&&(e.config?.tags==null||!e.config.tags.includes("langsmith:hidden"))&&this.nodeFinished(String(e.name)),e.writes.length===0&&e.writes.push([md,null]),this.loop.putWrites(e.id,e.writes)}};async function cU(e,t,r,n,i,o={}){let a=t.config?.configurable?.[Br];if(!a)throw new Error(`BUG: No scratchpad found on task ${t.name}__${t.id}`);let s=a.callCounter;a.callCounter+=1;let c=new VL({func:r,name:n,input:i,cache:o.cache,retry:o.retry,callbacks:o.callbacks}),u=await this.scheduleTask(t,s,c);if(!u)return;let l=this.executingTasksMap[u.id];if(l!==void 0)return l;if(u.writes.length>0){let d=u.writes.filter(([p])=>p===Wo),f=u.writes.filter(([p])=>p===jc);if(d.length>0){if(d.length===1)return Promise.resolve(d[0][1]);throw new Error(`BUG: multiple returns found for task ${u.name}__${u.id}`)}if(f.length>0){if(f.length===1){let p=f[0][1],m=p instanceof Error?p:new Error(String(p));return Promise.reject(m)}throw new Error(`BUG: multiple errors found for task ${u.name}__${u.id}`)}return}else{let d=v$(u,o.retry,{[dd]:cU.bind(this,e,u)});return this.executingTasksMap[u.id]=d,this.barrier.next(),d.then(({result:f,error:p})=>p?Promise.reject(p):f)}}var To=class extends Error{constructor(e){super(e),this.name="GraphValidationError"}};function uU({nodes:e,channels:t,inputChannels:r,outputChannels:n,streamChannels:i,interruptAfterNodes:o,interruptBeforeNodes:a}){if(!t)throw new To("Channels not provided");let s=new Set,c=new Set;for(let[u,l]of Object.entries(e)){if(u==="__interrupt__")throw new To(`"Node name ${at} is reserved"`);if(l.constructor===Qn)l.triggers.forEach(d=>s.add(d));else throw new To(`Invalid node type ${typeof l}, expected PregelNode`)}for(let u of s)if(!(u in t))throw new To(`Subscribed channel '${String(u)}' not in channels`);if(Array.isArray(r)){if(r.every(u=>!s.has(u)))throw new To(`None of the input channels ${r} are subscribed to by any node`)}else if(!s.has(r))throw new To(`Input channel ${String(r)} is not subscribed to by any node`);Array.isArray(n)?n.forEach(u=>c.add(u)):c.add(n),i&&!Array.isArray(i)?c.add(i):Array.isArray(i)&&i.forEach(u=>c.add(u));for(let u of c)if(!(u in t))throw new To(`Output channel '${String(u)}' not in channels`);if(o&&o!=="*"){for(let u of o)if(!(u in e))throw new To(`Node ${String(u)} not in nodes`)}if(a&&a!=="*"){for(let u of a)if(!(u in e))throw new To(`Node ${String(u)} not in nodes`)}}function w$(e,t){if(Array.isArray(e)){for(let r of e)if(!(r in t))throw new Error(`Key ${String(r)} not found in channels`)}else if(!(e in t))throw new Error(`Key ${String(e)} not found in channels`)}var x$=class lU extends Gt{lc_graph_name="Topic";unique=!1;accumulate=!1;seen;values;constructor(t){super(),this.unique=t?.unique??this.unique,this.accumulate=t?.accumulate??this.accumulate,this.seen=new Set,this.values=[]}fromCheckpoint(t){let r=new lU({unique:this.unique,accumulate:this.accumulate});return typeof t<"u"&&(r.seen=new Set(t[0]),r.values=t[1]),r}update(t){let r=!1;this.accumulate||(r=this.values.length>0,this.values=[]);let n=t.flat();if(n.length>0)if(this.unique)for(let i of n)this.seen.has(i)||(r=!0,this.seen.add(i),this.values.push(i));else r=!0,this.values.push(...n);return r}get(){if(this.values.length===0)throw new Ve;return this.values}checkpoint(){return[[...this.seen],this.values]}isAvailable(){return this.values.length!==0}};function dU(e){let t=He.getRunnableConfig();if(!t)throw new Error("Called interrupt() outside the context of a graph.");let r=t.configurable;if(!r)throw new Error("No configurable found in config");if(!r.__pregel_checkpointer)throw new ns("No checkpointer set",{lc_error_code:"MISSING_CHECKPOINTER"});let n=r[Br];n.interruptCounter+=1;let i=n.interruptCounter;if(n.resume.length>0&&i<n.resume.length)return r[cn]?.([[Vr,n.resume]]),n.resume[i];if(n.nullResume!==void 0){if(n.resume.length!==i)throw new Error(`Resume length mismatch: ${n.resume.length} !== ${i}`);let a=n.consumeNullResume();return n.resume.push(a),r[cn]?.([[Vr,n.resume]]),a}let o=r[un]?.split("|");throw new eo([{id:o?$o(o.join("|")):void 0,value:e}])}var pU=class{static subscribeTo(e,t){let{key:r,tags:n}={key:void 0,tags:void 0,...t??{}};if(Array.isArray(e)&&r!==void 0)throw new Error("Can't specify a key when subscribing to multiple channels");let i;return typeof e=="string"?r?i={[r]:e}:i=[e]:i=Object.fromEntries(e.map(o=>[o,o])),new Qn({channels:i,triggers:Array.isArray(e)?e:[e],tags:n})}static writeTo(e,t){let r=[];for(let n of e)r.push({channel:n,value:Lr,skipNone:!1});for(let[n,i]of Object.entries(t??{}))pe.isRunnable(i)||typeof i=="function"?r.push({channel:n,value:Lr,skipNone:!0,mapper:yt(i)}):r.push({channel:n,value:i,skipNone:!1});return new wt(r)}},fJ=class extends pe{lc_namespace=["langgraph","pregel"];invoke(e,t){throw new Error("Not implemented")}withConfig(e){return super.withConfig(e)}stream(e,t){return super.stream(e,t)}},Uy=class extends fJ{static lc_name(){return"LangGraph"}lc_namespace=["langgraph","pregel"];lg_is_pregel=!0;nodes;channels;inputChannels;outputChannels;autoValidate=!0;streamMode=["values"];streamChannels;interruptAfter;interruptBefore;stepTimeout;debug=!1;checkpointer;retryPolicy;config;store;cache;userInterrupt;triggerToNodes={};constructor(e){super(e);let{streamMode:t}=e;if(t!=null&&!Array.isArray(t)&&(t=[t]),this.nodes=e.nodes,this.channels=e.channels,"__pregel_tasks"in this.channels&&"lc_graph_name"in this.channels.__pregel_tasks&&this.channels.__pregel_tasks.lc_graph_name!=="Topic")throw new Error(`Channel '${pi}' is reserved and cannot be used in the graph.`);this.channels[pi]=new x$({accumulate:!1}),this.autoValidate=e.autoValidate??this.autoValidate,this.streamMode=t??this.streamMode,this.inputChannels=e.inputChannels,this.outputChannels=e.outputChannels,this.streamChannels=e.streamChannels??this.streamChannels,this.interruptAfter=e.interruptAfter,this.interruptBefore=e.interruptBefore,this.stepTimeout=e.stepTimeout??this.stepTimeout,this.debug=e.debug??this.debug,this.checkpointer=e.checkpointer,this.retryPolicy=e.retryPolicy,this.config=e.config,this.store=e.store,this.cache=e.cache,this.name=e.name,this.triggerToNodes=e.triggerToNodes??this.triggerToNodes,this.userInterrupt=e.userInterrupt,this.autoValidate&&this.validate()}withConfig(e){let t=Bt(this.config,e);return new this.constructor({...this,config:t})}validate(){uU({nodes:this.nodes,channels:this.channels,outputChannels:this.outputChannels,inputChannels:this.inputChannels,streamChannels:this.streamChannels,interruptAfterNodes:this.interruptAfter,interruptBeforeNodes:this.interruptBefore});for(let[e,t]of Object.entries(this.nodes))for(let r of t.triggers)this.triggerToNodes[r]??=[],this.triggerToNodes[r].push(e);return this}get streamChannelsList(){return Array.isArray(this.streamChannels)?this.streamChannels:this.streamChannels?[this.streamChannels]:Object.keys(this.channels)}get streamChannelsAsIs(){return this.streamChannels?this.streamChannels:Object.keys(this.channels)}async getGraphAsync(e){return this.getGraph(e)}*getSubgraphs(e,t){for(let[r,n]of Object.entries(this.nodes)){if(e!==void 0&&!e.startsWith(r))continue;let i=n.subgraphs?.length?n.subgraphs:[n.bound];for(let o of i){let a=Ey(o);if(a!==void 0){if(r===e){yield[r,a];return}if(e===void 0&&(yield[r,a]),t){let s=e;e!==void 0&&(s=e.slice(r.length+1));for(let[c,u]of a.getSubgraphs(s,t))yield[`${r}|${c}`,u]}}}}}async*getSubgraphsAsync(e,t){yield*this.getSubgraphs(e,t)}async _prepareStateSnapshot({config:e,saved:t,subgraphCheckpointer:r,applyPendingWrites:n=!1}){if(t===void 0)return{values:{},next:[],config:e,tasks:[]};let i=Ta(this.channels,t.checkpoint);if(t.pendingWrites?.length){let d=t.pendingWrites.filter(([f,p])=>f===Zr).map(([f,p,m])=>[String(p),m]);d.length>0&&Er(t.checkpoint,i,[{name:di,writes:d,triggers:[]}],void 0,this.triggerToNodes)}let o=Object.values(Ca(t.checkpoint,t.pendingWrites,this.nodes,i,t.config,!0,{step:(t.metadata?.step??-1)+1,store:this.store})),a=await Yn(this.getSubgraphsAsync()),s=t.config.configurable?.checkpoint_ns??"",c={};for(let d of o){let f=a.find(([m])=>m===d.name);if(!f)continue;let p=`${String(d.name)}:${d.id}`;if(s&&(p=`${s}|${p}`),r===void 0){let m={configurable:{thread_id:t.config.configurable?.thread_id,checkpoint_ns:p}};c[d.id]=m}else{let m={configurable:{[Cn]:r,thread_id:t.config.configurable?.thread_id,checkpoint_ns:p}},h=f[1];c[d.id]=await h.getState(m,{subgraphs:!0})}}if(n&&t.pendingWrites?.length){let d=Object.fromEntries(o.map(p=>[p.id,p]));for(let[p,m,h]of t.pendingWrites)["__error__","__interrupt__",as].includes(m)||p in d&&d[p].writes.push([String(m),h]);let f=o.filter(p=>p.writes.length>0);f.length>0&&Er(t.checkpoint,i,f,void 0,this.triggerToNodes)}let u=t?.metadata;u&&t?.config?.configurable?.thread_id&&(u={...u,thread_id:t.config.configurable.thread_id});let l=o.filter(d=>d.writes.length===0).map(d=>d.name);return{values:ei(i,this.streamChannelsAsIs),next:l,tasks:m$(o,t?.pendingWrites??[],c,this.streamChannelsAsIs),metadata:u,config:Oa(t.config,t.metadata),createdAt:t.checkpoint.ts,parentConfig:t.parentConfig}}async getState(e,t){let r=e.configurable?.__pregel_checkpointer??this.checkpointer;if(!r)throw new ns("No checkpointer set",{lc_error_code:"MISSING_CHECKPOINTER"});let n=e.configurable?.checkpoint_ns??"";if(n!==""&&e.configurable?.__pregel_checkpointer===void 0){let a=Iy(n);for await(let[s,c]of this.getSubgraphsAsync(a,!0))if(s===a)return await c.getState(tc(e,{[Cn]:r}),{subgraphs:t?.subgraphs})}let i=Bt(this.config,e),o=await r.getTuple(e);return await this._prepareStateSnapshot({config:i,saved:o,subgraphCheckpointer:t?.subgraphs?r:void 0,applyPendingWrites:!e.configurable?.checkpoint_id})}async*getStateHistory(e,t){let r=e.configurable?.__pregel_checkpointer??this.checkpointer;if(!r)throw new ns("No checkpointer set",{lc_error_code:"MISSING_CHECKPOINTER"});let n=e.configurable?.checkpoint_ns??"";if(n!==""&&e.configurable?.__pregel_checkpointer===void 0){let o=Iy(n);for await(let[a,s]of this.getSubgraphsAsync(o,!0))if(a===o){yield*s.getStateHistory(tc(e,{[Cn]:r}),t);return}}let i=Bt(this.config,e,{configurable:{checkpoint_ns:n}});for await(let o of r.list(i,t))yield this._prepareStateSnapshot({config:o.config,saved:o})}async bulkUpdateState(e,t){let r=e.configurable?.__pregel_checkpointer??this.checkpointer;if(!r)throw new ns("No checkpointer set",{lc_error_code:"MISSING_CHECKPOINTER"});if(t.length===0)throw new Error("No supersteps provided");if(t.some(a=>a.updates.length===0))throw new Error("No updates provided");let n=e.configurable?.checkpoint_ns??"";if(n!==""&&e.configurable?.__pregel_checkpointer===void 0){let a=Iy(n);for await(let[,s]of this.getSubgraphsAsync(a,!0))return await s.bulkUpdateState(tc(e,{[Cn]:r}),t);throw new Error(`Subgraph "${a}" not found`)}let i=async(a,s)=>{let c=this.config?Bt(this.config,a):a,u=await r.getTuple(c),l=u!==void 0?Kn(u.checkpoint):ol(),d={...u?.checkpoint.channel_versions},f=u?.metadata?.step??-1,p=tc(c,{checkpoint_ns:c.configurable?.checkpoint_ns??""}),m=c.metadata??{};u?.config.configurable&&(p=tc(c,u.config.configurable),m={...u.metadata,...m});let{values:h,asNode:w}=s[0];if(h==null&&w===void 0){if(s.length>1)throw new Re("Cannot create empty checkpoint with multiple updates");return Oa(await r.put(p,Wn(l,void 0,f),{source:"update",step:f+1,parents:u?.metadata?.parents??{}},{}),u?u.metadata:void 0)}let _=Ta(this.channels,l);if(h===null&&w==="__end__"){if(s.length>1)throw new Re("Cannot apply multiple updates when clearing state");if(u){let C=Ca(l,u.pendingWrites||[],this.nodes,_,u.config,!0,{step:(u.metadata?.step??-1)+1,checkpointer:r,store:this.store}),b=(u.pendingWrites||[]).filter(H=>H[0]===Zr).map(H=>H.slice(1));b.length>0&&Er(l,_,[{name:di,writes:b,triggers:[]}],r.getNextVersion.bind(r),this.triggerToNodes);for(let[H,R,V]of u.pendingWrites||[])["__error__","__interrupt__",as].includes(R)||H in C&&C[H].writes.push([R,V]);Er(l,_,Object.values(C),r.getNextVersion.bind(r),this.triggerToNodes)}return Oa(await r.put(p,Wn(l,_,f),{...m,source:"update",step:f+1,parents:u?.metadata?.parents??{}},ll(d,l.channel_versions)),u?u.metadata:void 0)}if(w==="__copy__"){if(s.length>1)throw new Re("Cannot copy checkpoint with multiple updates");if(u==null)throw new Re("Cannot copy a non-existent checkpoint");let C=R=>!Array.isArray(R)||R.length===0?!1:R.every(V=>Array.isArray(V)&&V.length===2),b=Wn(l,void 0,f),H=await r.put(u.parentConfig??tc(u.config,{checkpoint_id:void 0}),b,{source:"fork",step:f+1,parents:u.metadata?.parents??{}},{});if(C(h)){let R=Ca(b,u.pendingWrites,this.nodes,_,H,!1,{step:f+2}),V=Object.values(R).reduce((Ge,{name:qt,id:Fr})=>(Ge[qt]??=[],Ge[qt].push({id:Fr}),Ge),{}),xe=h.reduce((Ge,qt)=>{let[Fr,ze]=qt;Ge[ze]??=[];let Ya=Ge[ze].length,Xi=V[ze]?.[Ya]?.id;return Ge[ze].push({values:Fr,asNode:ze,taskId:Xi}),Ge},{});return i(Oa(H,u.metadata),Object.values(xe).flat())}return Oa(H,u.metadata)}if(w==="__input__"){if(s.length>1)throw new Re("Cannot apply multiple updates when updating as input");let C=await Yn(Ry(this.inputChannels,h));if(C.length===0)throw new Re(`Received no input writes for ${JSON.stringify(this.inputChannels,null,2)}`);Er(l,_,[{name:di,writes:C,triggers:[]}],r.getNextVersion.bind(this.checkpointer),this.triggerToNodes);let b=u?.metadata?.step!=null?u.metadata.step+1:-1,H=await r.put(p,Wn(l,_,b),{source:"input",step:b,parents:u?.metadata?.parents??{}},ll(d,l.channel_versions));return await r.putWrites(H,C,ro(di,l.id)),Oa(H,u?u.metadata:void 0)}if(c.configurable?.checkpoint_id===void 0&&u?.pendingWrites!==void 0&&u.pendingWrites.length>0){let C=Ca(l,u.pendingWrites,this.nodes,_,u.config,!0,{store:this.store,checkpointer:this.checkpointer,step:(u.metadata?.step??-1)+1}),b=(u.pendingWrites??[]).filter(R=>R[0]===Zr).map(R=>R.slice(1));b.length>0&&Er(u.checkpoint,_,[{name:di,writes:b,triggers:[]}],void 0,this.triggerToNodes);for(let[R,V,xe]of u.pendingWrites)["__error__","__interrupt__",as].includes(V)||C[R]===void 0||C[R].writes.push([V,xe]);let H=Object.values(C).filter(R=>R.writes.length>0);H.length>0&&Er(l,_,H,void 0,this.triggerToNodes)}let y=Object.values(l.versions_seen).map(C=>Object.values(C)).flat().find(C=>!!C),x=[];if(s.length===1){let{values:C,asNode:b,taskId:H}=s[0];if(b===void 0&&Object.keys(this.nodes).length===1)[b]=Object.keys(this.nodes);else if(b===void 0&&y===void 0)typeof this.inputChannels=="string"&&this.nodes[this.inputChannels]!==void 0&&(b=this.inputChannels);else if(b===void 0){let R=Object.entries(l.versions_seen).map(([V,xe])=>Object.values(xe).map(Ge=>[Ge,V])).flat().filter(([V,xe])=>xe!==at).sort(([V],[xe])=>_y(V,xe));R&&(R.length===1?b=R[0][1]:R[R.length-1][0]!==R[R.length-2][0]&&(b=R[R.length-1][1]))}if(b===void 0)throw new Re('Ambiguous update, specify "asNode"');x.push({values:C,asNode:b,taskId:H})}else for(let{asNode:C,values:b,taskId:H}of s){if(C==null)throw new Re('"asNode" is required when applying multiple updates');x.push({values:b,asNode:C,taskId:H})}let S=[];for(let{asNode:C,values:b,taskId:H}of x){if(this.nodes[C]===void 0)throw new Re(`Node "${C.toString()}" does not exist`);let R=this.nodes[C].getWriters();if(!R.length)throw new Re(`No writers found for node "${C.toString()}"`);S.push({name:C,input:b,proc:R.length>1?tn.from(R,{omitSequenceTags:!0}):R[0],writes:[],triggers:[at],id:H??ro("__interrupt__",l.id),writers:[]})}for(let C of S)await C.proc.invoke(C.input,Me({...c,store:c?.store??this.store},{runName:c.runName??`${this.getName()}UpdateState`,configurable:{[cn]:b=>C.writes.push(...b),[On]:(b,H=!1)=>hf(l,_,C,b,H)}}));for(let C of S){let b=C.writes.filter(H=>H[0]!==dn);u!==void 0&&b.length>0&&await r.putWrites(p,b,C.id)}Er(l,_,S,r.getNextVersion.bind(this.checkpointer),this.triggerToNodes);let $=ll(d,l.channel_versions),j=await r.put(p,Wn(l,_,f+1),{source:"update",step:f+1,parents:u?.metadata?.parents??{}},$);for(let C of S){let b=C.writes.filter(H=>H[0]===dn);b.length>0&&await r.putWrites(j,b,C.id)}return Oa(j,u?u.metadata:void 0)},o=e;for(let{updates:a}of t)o=await i(o,a);return o}async updateState(e,t,r){return this.bulkUpdateState(e,[{updates:[{values:t,asNode:r}]}])}_defaults(e){let{debug:t,streamMode:r,inputKeys:n,outputKeys:i,interruptAfter:o,interruptBefore:a,...s}=e,c=!0,u=t!==void 0?t:this.debug,l=i;l===void 0?l=this.streamChannelsAsIs:w$(l,this.channels);let d=n;d===void 0?d=this.inputChannels:w$(d,this.channels);let f=a??this.interruptBefore??[],p=o??this.interruptAfter??[],m;r!==void 0?(m=Array.isArray(r)?r:[r],c=typeof r=="string"):(e.configurable?.__pregel_task_id!==void 0?m=["values"]:m=this.streamMode,c=!0);let h;if(this.checkpointer===!1)h=void 0;else if(e!==void 0&&e.configurable?.__pregel_checkpointer!==void 0)h=e.configurable[Cn];else{if(this.checkpointer===!0)throw new Error("checkpointer: true cannot be used for root graphs.");h=this.checkpointer}let w=e.store??this.store,_=e.cache??this.cache;if(e.durability!=null&&e.checkpointDuring!=null)throw new Error("Cannot use both `durability` and `checkpointDuring` at the same time.");let y=(()=>{if(e.checkpointDuring!=null)return e.checkpointDuring===!1?"exit":"async"})(),x=e.durability??y??e?.configurable?.__pregel_durability??"async";return[u,m,d,l,s,f,p,h,w,c,_,x]}async stream(e,t){let r=new AbortController,{signal:n,dispose:i}=dl(t?.signal,r.signal),o={recursionLimit:this.config?.recursionLimit,...t,signal:n},a=await super.stream(e,o);return new g$(t?.encoding==="text/event-stream"?nU(a):a,r,i)}streamEvents(e,t,r){let n=new AbortController,{signal:i,dispose:o}=dl(t?.signal,n.signal),a={recursionLimit:this.config?.recursionLimit,...t,callbacks:BL(this.config?.callbacks,t?.callbacks),signal:i};return new g$(super.streamEvents(e,a,r),n,o)}async _validateInput(e){return e}async _validateContext(e){return e}async*_streamIterator(e,t){let r="version"in(t??{})?void 0:t?.encoding??void 0,n=t?.subgraphs,i=pf(this.config,t);if(i.recursionLimit===void 0||i.recursionLimit<1)throw new Error('Passed "recursionLimit" must be at least 1.');if(this.checkpointer!==void 0&&this.checkpointer!==!1&&i.configurable===void 0)throw new Error('Checkpointer requires one or more of the following "configurable" keys: "thread_id", "checkpoint_ns", "checkpoint_id"');let o=await this._validateInput(e),{runId:a,...s}=i,[c,u,,l,d,f,p,m,h,w,_,y]=this._defaults(s);typeof d.context<"u"?d.context=await this._validateContext(d.context):d.configurable=await this._validateContext(d.configurable);let x=new Dy({modes:new Set(u)});if(this.checkpointer===!0){d.configurable??={};let R=d.configurable.checkpoint_ns??"";d.configurable[un]=R.split("|").map(V=>V.split(":")[0]).join("|")}if(u.includes("messages")){let R=new aU(xe=>x.push(xe)),{callbacks:V}=d;if(V===void 0)d.callbacks=[R];else if(Array.isArray(V))d.callbacks=V.concat(R);else{let xe=V.copy();xe.addHandler(R,!0),d.callbacks=xe}}if(u.includes("tools")){let R=new rU(xe=>x.push(xe)),{callbacks:V}=d;if(V===void 0)d.callbacks=[R];else if(Array.isArray(V))d.callbacks=V.concat(R);else{let xe=V.copy();xe.addHandler(R,!0),d.callbacks=xe}}d.writer??=R=>{if(!u.includes("custom"))return;let V=SL()?.configurable?.[un]?.split("|").slice(0,-1);x.push([V??[],"custom",R])},d.interrupt??=this.userInterrupt??dU;let S=await(await Ot(d))?.handleChainStart(this.toJSON(),FL(e,"input"),a,void 0,void 0,void 0,d?.runName??this.getName()),$=df(this.channels),j,C,H=(async()=>{try{j=await iU.initialize({input:o,config:d,checkpointer:m,nodes:this.nodes,channelSpecs:$,outputKeys:l,streamKeys:this.streamChannelsAsIs,store:h,cache:_,stream:x,interruptAfter:p,interruptBefore:f,manager:S,debug:this.debug,triggerToNodes:this.triggerToNodes,durability:y});let R=new sU({loop:j,nodeFinished:d.configurable?.[DT]});t?.subgraphs&&(j.config.configurable={...j.config.configurable,[fd]:j.stream}),await this._runLoop({loop:j,runner:R,debug:c,config:d}),y==="sync"&&await Promise.all(j?.checkpointerPromises??[])}catch(R){C=R}finally{try{j&&(await j.store?.stop(),await j.cache?.stop()),await Promise.all(j?.checkpointerPromises??[])}catch(R){C=C??R}C?x.error(C):x.close()}})();try{for await(let R of x){if(R===void 0)throw new Error("Data structure error.");let[V,xe,Ge]=R;if(u.includes(xe)){if(r==="text/event-stream"){n?yield[V,xe,Ge]:yield[null,xe,Ge];continue}n&&!w?yield[V,xe,Ge]:w?n?yield[V,Ge]:yield Ge:yield[xe,Ge]}}}catch(R){throw await S?.handleChainError(C),R}finally{await H}await S?.handleChainEnd(j?.output??{},a,void 0,void 0,void 0)}async invoke(e,t){let r=t?.streamMode??"values",n={...t,outputKeys:t?.outputKeys??this.outputChannels,streamMode:r,encoding:void 0},i=[],o=await this.stream(e,n),a=[],s;for await(let c of o)r==="values"?hd(c)?a.push(c[at]):s=c:i.push(c);if(r==="values"){if(a.length>0){let c=a.flat(1);if(s==null)return{[at]:c};if(typeof s=="object")return{...s,[at]:c}}return s}return i}async _runLoop(e){let{loop:t,runner:r,debug:n,config:i}=e,o;try{for(;await t.tick({inputKeys:this.inputChannels});){for(let{task:a}of await t._matchCachedWrites())t._outputWrites(a.id,a.writes,!0);n&&YL(t.checkpointMetadata.step,t.channels,this.streamChannelsList),n&&zy(t.step,Object.values(t.tasks)),await r.tick({timeout:this.stepTimeout,retryPolicy:this.retryPolicy,onStepWrite:(a,s)=>{n&&QL(a,s,this.streamChannelsList)},maxConcurrency:i.maxConcurrency,signal:i.signal})}if(t.status==="out_of_steps")throw new Nv([`Recursion limit of ${i.recursionLimit} reached`,"without hitting a stop condition. You can increase the",'limit by setting the "recursionLimit" config key.'].join(" "),{lc_error_code:"GRAPH_RECURSION_LIMIT"})}catch(a){if(o=a,!await t.finishAndHandleError(o))throw a}finally{o===void 0&&await t.finishAndHandleError()}}async clearCache(){await this.cache?.clear([])}};var ti=class fU extends Gt{lc_graph_name="EphemeralValue";guard;value=[];constructor(t=!0){super(),this.guard=t}fromCheckpoint(t){let r=new fU(this.guard);return typeof t<"u"&&(r.value=[t]),r}update(t){if(t.length===0){let r=this.value.length>0;return this.value=[],r}if(t.length!==1&&this.guard)throw new Re("EphemeralValue can only receive one value per step.");return this.value=[t[t.length-1]],!0}get(){if(this.value.length===0)throw new Ve;return this.value[0]}checkpoint(){if(this.value.length===0)throw new Ve;return this.value[0]}isAvailable(){return this.value.length!==0}};var I$=class{path;ends;constructor(e){pe.isRunnable(e.path)?this.path=e.path:this.path=yt(e.path),this.ends=Array.isArray(e.pathMap)?e.pathMap.reduce((t,r)=>(t[r]=r,t),{}):e.pathMap}run(e,t){return wt.registerWriter(new ur({name:"<branch_run>",trace:!1,func:async(r,n)=>{try{return await this._route(r,n,e,t)}catch(i){throw i.name===Qf.unminifiable_name&&console.warn(`[WARN]: 'NodeInterrupt' thrown in conditional edge. This is likely a bug in your graph implementation.
|
|
301
|
-
NodeInterrupt should only be thrown inside a node, not in edge conditions.`),i}}}))}async _route(e,t,r,n){let i=await this.path.invoke(n?n(t):e,t);Array.isArray(i)||(i=[i]);let o;if(this.ends?o=i.map(a=>At(a)?a:this.ends[a]):o=i,o.some(a=>!a))throw new Error("Branch condition returned unknown or null destination");if(o.filter(At).some(a=>a.node==="__end__"))throw new Re("Cannot send a packet to the END node");return await r(o,t)??e}},S$=class{nodes;edges;branches;entryPoint;compiled=!1;constructor(){this.nodes={},this.edges=new Set,this.branches={}}warnIfCompiled(e){this.compiled&&console.warn(e)}get allEdges(){return this.edges}addNode(...e){function t(n){return n.length>=1&&typeof n[0]!="string"}let r=t(e)?Array.isArray(e[0])?e[0]:Object.entries(e[0]):[[e[0],e[1],e[2]]];if(r.length===0)throw new Error("No nodes provided in `addNode`");for(let[n,i,o]of r){for(let s of["|",":"])if(n.includes(s))throw new Error(`"${s}" is a reserved character and is not allowed in node names.`);if(this.warnIfCompiled("Adding a node to a graph that has already been compiled. This will not be reflected in the compiled graph."),n in this.nodes)throw new Error(`Node \`${n}\` already present.`);if(n==="__end__")throw new Error(`Node \`${n}\` is reserved.`);let a=yt(i);this.nodes[n]={runnable:a,metadata:o?.metadata,subgraphs:mf(a)?[a]:o?.subgraphs,ends:o?.ends}}return this}addEdge(e,t){if(this.warnIfCompiled("Adding an edge to a graph that has already been compiled. This will not be reflected in the compiled graph."),e==="__end__")throw new Error("END cannot be a start node");if(t==="__start__")throw new Error("START cannot be an end node");if(Array.from(this.edges).some(([r])=>r===e)&&!("channels"in this))throw new Error(`Already found path for ${e}. For multiple edges, use StateGraph.`);return this.edges.add([e,t]),this}addConditionalEdges(e,t,r){let n=typeof e=="object"?e:{source:e,path:t,pathMap:r};this.warnIfCompiled("Adding an edge to a graph that has already been compiled. This will not be reflected in the compiled graph."),pe.isRunnable(n.path)||(n.path=yt(n.path));let i=n.path.getName()==="RunnableLambda"?"condition":n.path.getName();if(this.branches[n.source]&&this.branches[n.source][i])throw new Error(`Condition \`${i}\` already present for node \`${e}\``);return this.branches[n.source]??={},this.branches[n.source][i]=new I$(n),this}setEntryPoint(e){return this.warnIfCompiled("Setting the entry point of a graph that has already been compiled. This will not be reflected in the compiled graph."),this.addEdge(Ye,e)}setFinishPoint(e){return this.warnIfCompiled("Setting a finish point of a graph that has already been compiled. This will not be reflected in the compiled graph."),this.addEdge(e,
|
|
302
|
-
`),{lc_error_code:"UNREACHABLE_NODE"});for(let n of r)if(n!=="__end__"&&!(n in this.nodes))throw new Error(`Found edge ending at unknown node \`${n}\``);if(e){for(let n of e)if(!(n in this.nodes))throw new Error(`Interrupt node \`${n}\` is not present`)}this.compiled=!0}},k$=class extends Uy{builder;constructor({builder:e,...t}){super(t),this.builder=e}attachNode(e,t){this.channels[e]=new ti,this.nodes[e]=new Qn({channels:[],triggers:[],metadata:t.metadata,subgraphs:t.subgraphs,ends:t.ends}).pipe(t.runnable).pipe(new wt([{channel:e,value:Lr}],[Tt])),this.streamChannels.push(e)}attachEdge(e,t){if(t==="__end__"){if(e==="__start__")throw new Error("Cannot have an edge from START to END");this.nodes[e].writers.push(new wt([{channel:ot,value:Lr}],[Tt]))}else this.nodes[t].triggers.push(e),this.nodes[t].channels.push(e)}attachBranch(e,t,r){e==="__start__"&&!this.nodes.__start__&&(this.nodes[Ye]=pU.subscribeTo(Ye,{tags:[Tt]})),this.nodes[e].pipe(r.run(i=>new wt(i.map(o=>At(o)?o:{channel:o==="__end__"?ot:`branch:${e}:${t}:${o}`,value:Lr}),[Tt])));let n=r.ends?Object.values(r.ends):Object.keys(this.nodes);for(let i of n)if(i!=="__end__"){let o=`branch:${e}:${t}:${i}`;this.channels[o]=new ti,this.nodes[i].triggers.push(o),this.nodes[i].channels.push(o)}}async getGraphAsync(e){let t=e?.xray,r=new Hs,n={[Ye]:r.addNode({schema:M.any()},Ye)},i={},o={};t&&(o=Object.fromEntries((await Yn(this.getSubgraphsAsync())).filter(c=>mU(c[1]))));function a(c,u,l,d=!1){if(u==="__end__"&&i.__end__===void 0&&(i[ot]=r.addNode({schema:M.any()},ot)),n[c]!==void 0){if(i[u]===void 0)throw new Error(`End node ${u} not found!`);return r.addEdge(n[c],i[u],l!==u?l:void 0,d)}}for(let[c,u]of Object.entries(this.builder.nodes)){let l=lr(c),d=u.runnable,f=u.metadata??{};if(this.interruptBefore?.includes(c)&&this.interruptAfter?.includes(c)?f.__interrupt="before,after":this.interruptBefore?.includes(c)?f.__interrupt="before":this.interruptAfter?.includes(c)&&(f.__interrupt="after"),t){let p=typeof t=="number"?t-1:t,m=o[c]!==void 0?await o[c].getGraphAsync({...e,xray:p}):d.getGraph(e);if(m.trimFirstNode(),m.trimLastNode(),Object.keys(m.nodes).length>1){let _=function(x){return x?x.lc_runnable:!1},y=function(x,S){if(x!==void 0&&!Uc(x))return x;if(_(S))try{let $=S.getName();return $=$.startsWith("Runnable")?$.slice(8):$,$}catch{return S.getName()}else return S.name??"UnknownSchema"},[h,w]=r.extend(m,l);if(h===void 0)throw new Error(`Could not extend subgraph "${c}" due to missing entrypoint.`);w!==void 0&&(n[l]={name:y(w.id,w.data),...w}),i[l]={name:y(h.id,h.data),...h}}else{let h=r.addNode(d,l,f);n[l]=h,i[l]=h}}else{let p=r.addNode(d,l,f);n[l]=p,i[l]=p}}let s=[...this.builder.allEdges].sort(([c],[u])=>c<u?-1:u>c?1:0);for(let[c,u]of s)a(lr(c),lr(u));for(let[c,u]of Object.entries(this.builder.branches)){let l={...Object.fromEntries(Object.keys(this.builder.nodes).filter(d=>d!==c).map(d=>[lr(d),lr(d)])),[ot]:ot};for(let d of Object.values(u)){let f;d.ends!==void 0?f=d.ends:f=l;for(let[p,m]of Object.entries(f))a(lr(c),lr(m),p,!0)}}for(let[c,u]of Object.entries(this.builder.nodes))if(u.ends!==void 0)for(let l of u.ends)a(lr(c),lr(l),void 0,!0);return r}getGraph(e){let t=e?.xray,r=new Hs,n={[Ye]:r.addNode({schema:M.any()},Ye)},i={},o={};t&&(o=Object.fromEntries(ec(this.getSubgraphs()).filter(c=>mU(c[1]))));function a(c,u,l,d=!1){return u==="__end__"&&i.__end__===void 0&&(i[ot]=r.addNode({schema:M.any()},ot)),r.addEdge(n[c],i[u],l!==u?l:void 0,d)}for(let[c,u]of Object.entries(this.builder.nodes)){let l=lr(c),d=u.runnable,f=u.metadata??{};if(this.interruptBefore?.includes(c)&&this.interruptAfter?.includes(c)?f.__interrupt="before,after":this.interruptBefore?.includes(c)?f.__interrupt="before":this.interruptAfter?.includes(c)&&(f.__interrupt="after"),t){let p=typeof t=="number"?t-1:t,m=o[c]!==void 0?o[c].getGraph({...e,xray:p}):d.getGraph(e);if(m.trimFirstNode(),m.trimLastNode(),Object.keys(m.nodes).length>1){let _=function(x){return x?x.lc_runnable:!1},y=function(x,S){if(x!==void 0&&!Uc(x))return x;if(_(S))try{let $=S.getName();return $=$.startsWith("Runnable")?$.slice(8):$,$}catch{return S.getName()}else return S.name??"UnknownSchema"},[h,w]=r.extend(m,l);if(h===void 0)throw new Error(`Could not extend subgraph "${c}" due to missing entrypoint.`);w!==void 0&&(n[l]={name:y(w.id,w.data),...w}),i[l]={name:y(h.id,h.data),...h}}else{let h=r.addNode(d,l,f);n[l]=h,i[l]=h}}else{let p=r.addNode(d,l,f);n[l]=p,i[l]=p}}let s=[...this.builder.allEdges].sort(([c],[u])=>c<u?-1:u>c?1:0);for(let[c,u]of s)a(lr(c),lr(u));for(let[c,u]of Object.entries(this.builder.branches)){let l={...Object.fromEntries(Object.keys(this.builder.nodes).filter(d=>d!==c).map(d=>[lr(d),lr(d)])),[ot]:ot};for(let d of Object.values(u)){let f;d.ends!==void 0?f=d.ends:f=l;for(let[p,m]of Object.entries(f))a(lr(c),lr(m),p,!0)}}return r}};function mU(e){return typeof e.attachNode=="function"&&typeof e.attachEdge=="function"}function lr(e){return e==="subgraph"?`"${e}"`:e}function Pa(e){return typeof e=="object"&&e!==null&&"~standard"in e&&typeof e["~standard"]=="object"&&e["~standard"]!==null&&"validate"in e["~standard"]}function hU(e){return typeof e=="object"&&e!==null&&"~standard"in e&&typeof e["~standard"]=="object"&&e["~standard"]!==null&&"jsonSchema"in e["~standard"]}function Ra(e){if(hU(e))try{return e["~standard"].jsonSchema.input({target:"draft-07"})}catch{return}}function Na(e){if(e!=null&&Pa(e))try{let t=e["~standard"].validate(void 0);if(t&&typeof t=="object"&&!("then"in t&&typeof t.then=="function")){let r=t;if(!r.issues){let n=r.value;return()=>n}}}catch{}}var E$=Symbol.for("langgraph.channel.missing"),Fy=class gU extends Gt{lc_graph_name="UntrackedValue";guard;_value=E$;initialValueFactory;constructor(t){super(),this.guard=t?.guard??!0,this.initialValueFactory=t?.initialValueFactory,this.initialValueFactory&&(this._value=this.initialValueFactory())}fromCheckpoint(t){return new gU({guard:this.guard,initialValueFactory:this.initialValueFactory})}update(t){if(t.length===0)return!1;if(t.length!==1&&this.guard)throw new Re("UntrackedValue(guard=true) can receive only one value per step. Use guard=false if you want to store any one of multiple values.",{lc_error_code:"INVALID_CONCURRENT_GRAPH_UPDATE"});return this._value=t[t.length-1],!0}get(){if(this._value===E$)throw new Ve;return this._value}checkpoint(){}isAvailable(){return this._value!==E$}};var Ma=(e,t)=>e.size===t.size&&[...e].every(r=>t.has(r)),$$=class _U extends Gt{lc_graph_name="NamedBarrierValue";names;seen;constructor(t){super(),this.names=t,this.seen=new Set}fromCheckpoint(t){let r=new _U(this.names);return typeof t<"u"&&(r.seen=new Set(t)),r}update(t){let r=!1;for(let n of t)if(this.names.has(n))this.seen.has(n)||(this.seen.add(n),r=!0);else throw new Re(`Value ${JSON.stringify(n)} not in names ${JSON.stringify(this.names)}`);return r}get(){if(!Ma(this.names,this.seen))throw new Ve}checkpoint(){return[...this.seen]}consume(){return this.seen&&this.names&&Ma(this.seen,this.names)?(this.seen=new Set,!0):!1}isAvailable(){return!!this.names&&Ma(this.names,this.seen)}},T$=class yU extends Gt{lc_graph_name="NamedBarrierValueAfterFinish";names;seen;finished;constructor(t){super(),this.names=t,this.seen=new Set,this.finished=!1}fromCheckpoint(t){let r=new yU(this.names);if(typeof t<"u"){let[n,i]=t;r.seen=new Set(n),r.finished=i}return r}update(t){let r=!1;for(let n of t)if(this.names.has(n)&&!this.seen.has(n))this.seen.add(n),r=!0;else if(!this.names.has(n))throw new Re(`Value ${JSON.stringify(n)} not in names ${JSON.stringify(this.names)}`);return r}get(){if(!this.finished||!Ma(this.names,this.seen))throw new Ve}checkpoint(){return[[...this.seen],this.finished]}consume(){return this.finished&&this.seen&&this.names&&Ma(this.seen,this.names)?(this.seen=new Set,this.finished=!1,!0):!1}finish(){return!this.finished&&this.names&&Ma(this.names,this.seen)?(this.finished=!0,!0):!1}isAvailable(){return this.finished&&!!this.names&&Ma(this.names,this.seen)}};var A$=Symbol.for("langgraph.state.reduced_value"),Ao=class{[A$]=!0;valueSchema;inputSchema;reducer;jsonSchemaExtra;constructor(e,t){this.reducer=t.reducer,this.jsonSchemaExtra=t.jsonSchemaExtra,this.valueSchema=e,this.inputSchema="inputSchema"in t?t.inputSchema:e,this.jsonSchemaExtra=t.jsonSchemaExtra}static isInstance(e){return typeof e=="object"&&e!==null&&A$ in e&&e[A$]===!0}};var vU=Symbol.for("langgraph.state.untracked_value"),ic=class{[vU]=!0;schema;guard;constructor(e,t){this.schema=e,this.guard=t?.guard??!0}static isInstance(e){return typeof e=="object"&&e!==null&&vU in e}};var O$=Symbol.for("langgraph.state.state_schema"),Bi=class{[O$]=!0;constructor(e){this.fields=e}getChannels(){let e={};for(let[t,r]of Object.entries(this.fields))if(Ao.isInstance(r)){let n=Na(r.valueSchema);e[t]=new So(r.reducer,n)}else if(ic.isInstance(r)){let n=r.schema?Na(r.schema):void 0;e[t]=new Fy({guard:r.guard,initialValueFactory:n})}else if(Pa(r))e[t]=new Jn(Na(r));else throw new Error(`Invalid state field "${t}": must be a schema, ReducedValue, UntrackedValue, or ManagedValue`);return e}getJsonSchema(){let e={},t=[];for(let[r,n]of Object.entries(this.fields)){let i;if(Ao.isInstance(n)?(i=Ra(n.valueSchema),n.jsonSchemaExtra&&(i={...i??{},...n.jsonSchemaExtra})):ic.isInstance(n)?i=n.schema?Ra(n.schema):void 0:Pa(n)&&(i=Ra(n)),i){e[r]=i;let o=!1;Ao.isInstance(n)?o=Na(n.valueSchema)!==void 0:ic.isInstance(n)?o=n.schema?Na(n.schema)!==void 0:!1:o=Na(n)!==void 0,o||t.push(r)}}return{type:"object",properties:e,required:t.length>0?t:void 0}}getInputJsonSchema(){let e={};for(let[t,r]of Object.entries(this.fields)){let n;Ao.isInstance(r)?(n=Ra(r.inputSchema),r.jsonSchemaExtra&&(n={...n??{},...r.jsonSchemaExtra})):ic.isInstance(r)?n=r.schema?Ra(r.schema):void 0:Pa(r)&&(n=Ra(r)),n&&(e[t]=n)}return{type:"object",properties:e}}getChannelKeys(){return Object.entries(this.fields).map(([e])=>e)}getAllKeys(){return Object.keys(this.fields)}async validateInput(e){if(e==null||typeof e!="object")return e;let t={};for(let[r,n]of Object.entries(e)){let i=this.fields[r];if(i===void 0){t[r]=n;continue}let o;if(Ao.isInstance(i)?o=i.inputSchema:ic.isInstance(i)?o=i.schema:Pa(i)&&(o=i),o){let a=await o["~standard"].validate(n);if(a.issues)throw new Error(`Validation failed for field "${r}": ${JSON.stringify(a.issues)}`);t[r]=a.value}else t[r]=n}return t}static isInstance(e){return typeof e=="object"&&e!==null&&O$ in e&&e[O$]===!0}};function Oo(e,t){let r=Array.isArray(e)?e:[e],n=Array.isArray(t)?t:[t],i=r.map(tr),o=n.map(tr);for(let l of i)(l.id===null||l.id===void 0)&&(l.id=fi(),l.lc_kwargs.id=l.id);let a;for(let l=0;l<o.length;l+=1){let d=o[l];(d.id===null||d.id===void 0)&&(d.id=fi(),d.lc_kwargs.id=d.id),Mn.isInstance(d)&&d.id==="__remove_all__"&&(a=l)}if(a!=null)return o.slice(a+1);let s=[...i],c=new Map(s.map((l,d)=>[l.id,d])),u=new Set;for(let l of o){let d=c.get(l.id);if(d!==void 0)Mn.isInstance(l)?u.add(l.id):(u.delete(l.id),s[d]=l);else{if(Mn.isInstance(l))throw new Error(`Attempting to delete a message with an ID that doesn't exist ('${l.id}')`);c.set(l.id,s.length),s.push(l)}}return s.filter(l=>!u.has(l.id))}var mJ=new Ao(M.custom().default(()=>[]),{inputSchema:M.custom(),reducer:Oo,jsonSchemaExtra:{langgraph_type:"messages",description:"A list of chat messages"}});var hJ=class{_map=new Map;_extensionCache=new Map;get(e){return this._map.get(e)}extend(e,t){let r=this.get(e);this._map.set(e,t(r))}remove(e){return this._map.delete(e),this}has(e){return this._map.has(e)}getChannelsForSchema(e){let t={},r=As(e);for(let[n,i]of Object.entries(r)){let o=this.get(i);o?.reducer?t[n]=new So(o.reducer.fn,o.default):t[n]=new Jn(o?.default)}return t}getExtendedChannelSchemas(e,t){if(Object.keys(t).length===0)return e;let r=Object.entries(t).filter(([,o])=>o===!0).sort(([o],[a])=>o.localeCompare(a)).map(([o,a])=>`${o}:${a}`).join("|"),n=this._extensionCache.get(r)??new Map;if(n.has(e))return n.get(e);let i=e;if(t.withReducerSchema||t.withJsonSchemaExtrasAsDescription){let o=Object.entries(As(e)).map(([a,s])=>{let c=this.get(s),u=t.withReducerSchema?c?.reducer?.schema??s:s;if(t.withJsonSchemaExtrasAsDescription&&c?.jsonSchemaExtra){let l=Un(u)??Un(s),d=JSON.stringify({...c.jsonSchemaExtra,description:l});u=u.describe(`lg:${d}`)}return[a,u]});i=zg(e,Object.fromEntries(o)),mt(i)&&(i._def.unknownKeys="strip")}return t.asPartial&&(i=Cu(i)),n.set(e,i),this._extensionCache.set(r,n),i}},vf=new hJ;function bU(e,t){if(t.reducer&&!t.default){let r=Dg(e);r!=null&&(t.default=r)}if(t.reducer){let r=Object.assign(e,{lg_reducer_schema:t.reducer?.schema??e});return vf.extend(r,()=>t),r}else return vf.extend(e,()=>t),e}function oc(e){return e==null?!1:!!(Bi.isInstance(e)||Ir(e)||typeof e=="object"&&"lc_graph_name"in e&&e.lc_graph_name==="AnnotationRoot"||typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length>0&&Object.values(e).every(t=>typeof t=="function"||n$(t)))}function wU(e){if(typeof e!="object"||e==null)return!1;let t=e,r="state"in t&&oc(t.state),n="stateSchema"in t&&oc(t.stateSchema),i="input"in t&&oc(t.input);return!(!r&&!n&&!i||"input"in t&&t.input!=null&&!oc(t.input)||"output"in t&&t.output!=null&&!oc(t.output))}var Co="__root__",By=Symbol.for("langgraph.state.partial"),Vy=class extends S${channels={};waitingEdges=new Set;_schemaDefinition;_schemaRuntimeDefinition;_inputDefinition;_inputRuntimeDefinition;_outputDefinition;_outputRuntimeDefinition;_schemaDefinitions=new Map;_metaRegistry=vf;_configSchema;_configRuntimeSchema;_interrupt;_writer;constructor(e,t){super();let r=this._normalizeToStateGraphInit(e,t),n=r.state??r.stateSchema??r.input;if(!n)throw new gd;let i=this._getChannelsFromSchema(n);this._schemaDefinition=i,Bi.isInstance(n)?this._schemaRuntimeDefinition=n:Ir(n)&&(this._schemaRuntimeDefinition=n),r.input?Bi.isInstance(r.input)?this._inputRuntimeDefinition=r.input:Ir(r.input)?this._inputRuntimeDefinition=r.input:this._inputRuntimeDefinition=By:this._inputRuntimeDefinition=By,r.output?Bi.isInstance(r.output)?this._outputRuntimeDefinition=r.output:Ir(r.output)?this._outputRuntimeDefinition=r.output:this._outputRuntimeDefinition=this._schemaRuntimeDefinition:this._outputRuntimeDefinition=this._schemaRuntimeDefinition;let o=r.input?this._getChannelsFromSchema(r.input):i,a=r.output?this._getChannelsFromSchema(r.output):i;this._inputDefinition=o,this._outputDefinition=a,this._addSchema(this._schemaDefinition),this._addSchema(this._inputDefinition),this._addSchema(this._outputDefinition),r.context&&Ir(r.context)&&(this._configRuntimeSchema=r.context),this._interrupt=r.interrupt,this._writer=r.writer}_normalizeToStateGraphInit(e,t){if(wU(e)){if(Ir(t)||wy.isInstance(t))return{...e,context:t};let r=t;return{...e,input:e.input??r?.input,output:e.output??r?.output,context:e.context??r?.context,interrupt:e.interrupt??r?.interrupt,writer:e.writer??r?.writer,nodes:e.nodes??r?.nodes}}if(oc(e)){if(Ir(t)||wy.isInstance(t))return{state:e,context:t};let r=t;return{state:e,input:r?.input,output:r?.output,context:r?.context,interrupt:r?.interrupt,writer:r?.writer,nodes:r?.nodes}}if(_J(e))return{state:gJ(e.channels)};throw new gd}_getChannelsFromSchema(e){if(Bi.isInstance(e))return e.getChannels();if(Ir(e))return this._metaRegistry.getChannelsForSchema(e);if(typeof e=="object"&&"lc_graph_name"in e&&e.lc_graph_name==="AnnotationRoot")return e.spec;if(typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length>0)return e;throw new gd("Invalid schema type. Expected StateSchema, Zod object, AnnotationRoot, or StateDefinition.")}get allEdges(){return new Set([...this.edges,...Array.from(this.waitingEdges).flatMap(([e,t])=>e.map(r=>[r,t]))])}_addSchema(e){if(!this._schemaDefinitions.has(e)){this._schemaDefinitions.set(e,e);for(let[t,r]of Object.entries(e)){let n;if(typeof r=="function"?n=r():n=r,this.channels[t]!==void 0){if(!this.channels[t].equals(n)&&n.lc_graph_name!=="LastValue")throw new Error(`Channel "${t}" already exists with a different type.`)}else this.channels[t]=n}}}addNode(...e){function t(n){return n.length>=1&&typeof n[0]!="string"}let r=t(e)?Array.isArray(e[0])?e[0]:Object.entries(e[0]).map(([n,i])=>[n,i]):[[e[0],e[1],e[2]]];if(r.length===0)throw new Error("No nodes provided in `addNode`");for(let[n,i,o]of r){if(n in this.channels)throw new Error(`${n} is already being used as a state attribute (a.k.a. a channel), cannot also be used as a node name.`);for(let l of["|",":"])if(n.includes(l))throw new Error(`"${l}" is a reserved character and is not allowed in node names.`);if(this.warnIfCompiled("Adding a node to a graph that has already been compiled. This will not be reflected in the compiled graph."),n in this.nodes)throw new Error(`Node \`${n}\` already present.`);if(n==="__end__"||n==="__start__")throw new Error(`Node \`${n}\` is reserved.`);let a=this._schemaDefinition;o?.input!==void 0&&(a=this._getChannelsFromSchema(o.input)),this._addSchema(a);let s;pe.isRunnable(i)?s=i:typeof i=="function"?s=new ur({func:i,name:n,trace:!1}):s=yt(i);let c=o?.cachePolicy;typeof c=="boolean"&&(c=c?{}:void 0);let u={runnable:s,retryPolicy:o?.retryPolicy,cachePolicy:c,metadata:o?.metadata,input:a??this._schemaDefinition,subgraphs:mf(s)?[s]:o?.subgraphs,ends:o?.ends,defer:o?.defer};this.nodes[n]=u}return this}addEdge(e,t){if(typeof e=="string")return super.addEdge(e,t);this.compiled&&console.warn("Adding an edge to a graph that has already been compiled. This will not be reflected in the compiled graph.");for(let r of e){if(r==="__end__")throw new Error("END cannot be a start node");if(!Object.keys(this.nodes).some(n=>n===r))throw new Error(`Need to add a node named "${r}" first`)}if(t==="__end__")throw new Error("END cannot be an end node");if(!Object.keys(this.nodes).some(r=>r===t))throw new Error(`Need to add a node named "${t}" first`);return this.waitingEdges.add([e,t]),this}addSequence(e){let t=Array.isArray(e)?e:Object.entries(e);if(t.length===0)throw new Error("Sequence requires at least one node.");let r;for(let[n,i,o]of t){if(n in this.nodes)throw new Error(`Node names must be unique: node with the name "${n}" already exists.`);let a=n;this.addNode(a,i,o),r!=null&&this.addEdge(r,a),r=a}return this}compile({checkpointer:e,store:t,cache:r,interruptBefore:n,interruptAfter:i,name:o,description:a}={}){this.validate([...Array.isArray(n)?n:[],...Array.isArray(i)?i:[]]);let s=Object.keys(this._schemaDefinitions.get(this._outputDefinition)),c=s.length===1&&s[0]===Co?Co:s,u=Object.keys(this.channels),l=u.length===1&&u[0]===Co?Co:u,d=this._interrupt,f=new IU({builder:this,checkpointer:e,interruptAfter:i,interruptBefore:n,autoValidate:!1,nodes:{},channels:{...this.channels,[Ye]:new ti},inputChannels:Ye,outputChannels:c,streamChannels:l,streamMode:"updates",store:t,cache:r,name:o,description:a,userInterrupt:d});f.attachNode(Ye);for(let[p,m]of Object.entries(this.nodes))f.attachNode(p,m);f.attachBranch(Ye,Pv,xU(),{withReader:!1});for(let[p]of Object.entries(this.nodes))f.attachBranch(p,Pv,xU(),{withReader:!1});for(let[p,m]of this.edges)f.attachEdge(p,m);for(let[p,m]of this.waitingEdges)f.attachEdge(p,m);for(let[p,m]of Object.entries(this.branches))for(let[h,w]of Object.entries(m))f.attachBranch(p,h,w);return f.validate()}};function gJ(e){let t={};for(let[r,n]of Object.entries(e))r===Co?t[r]=xy(n):t[r]=xy(n);return t}var IU=class extends k${description;_metaRegistry=vf;constructor({description:e,...t}){super(t),this.description=e}attachNode(e,t){let r;e==="__start__"?r=Object.entries(this.builder._schemaDefinitions.get(this.builder._inputDefinition)).map(([s])=>s):r=Object.keys(this.builder.channels);function n(s){if(Nt(s))return s.graph===Ar.PARENT?null:s._updateAsTuples();if(Array.isArray(s)&&s.length>0&&s.some(c=>Nt(c))){let c=[];for(let u of s)if(Nt(u)){if(u.graph===Ar.PARENT)continue;c.push(...u._updateAsTuples())}else c.push([Co,u]);return c}else if(s!=null)return[[Co,s]];return null}let i=e;function o(s){if(s){if(Nt(s))return s.graph===Ar.PARENT?null:s._updateAsTuples().filter(([c])=>r.includes(c));if(Array.isArray(s)&&s.length>0&&s.some(Nt)){let c=[];for(let u of s)if(Nt(u)){if(u.graph===Ar.PARENT)continue;c.push(...u._updateAsTuples().filter(([l])=>r.includes(l)))}else{let l=o(u);l&&c.push(...l??[])}return c}else{if(typeof s=="object"&&!Array.isArray(s))return Object.entries(s).filter(([c])=>r.includes(c));{let c=Array.isArray(s)?"array":typeof s;throw new Re(`Expected node "${i.toString()}" to return an object or an array containing at least one Command object, received ${c}`,{lc_error_code:"INVALID_GRAPH_NODE_RETURN_VALUE"})}}}else return null}let a=[{value:Lr,mapper:new ur({func:r.length&&r[0]===Co?n:o,trace:!1,recurse:!1})}];if(e==="__start__")this.nodes[e]=new Qn({tags:[Tt],triggers:[Ye],channels:[Ye],writers:[new wt(a,[Tt])]});else{let s=t?.input??this.builder._schemaDefinition,c=Object.fromEntries(Object.keys(this.builder._schemaDefinitions.get(s)).map(d=>[d,d])),u=Object.keys(c).length===1&&Co in c,l=`branch:to:${e}`;this.channels[l]=t?.defer?new i$:new ti(!1),this.nodes[e]=new Qn({triggers:[l],channels:u?Object.keys(c):c,writers:[new wt(a,[Tt])],mapper:u?void 0:d=>Object.fromEntries(Object.entries(d).filter(([f])=>f in c)),bound:t?.runnable,metadata:t?.metadata,retryPolicy:t?.retryPolicy,cachePolicy:t?.cachePolicy,subgraphs:t?.subgraphs,ends:t?.ends})}}attachEdge(e,t){if(t!=="__end__"){if(typeof e=="string")this.nodes[e].writers.push(new wt([{channel:`branch:to:${t}`,value:null}],[Tt]));else if(Array.isArray(e)){let r=`join:${e.join("+")}:${t}`;this.channels[r]=this.builder.nodes[t].defer?new T$(new Set(e)):new $$(new Set(e)),this.nodes[t].triggers.push(r);for(let n of e)this.nodes[n].writers.push(new wt([{channel:r,value:n}],[Tt]))}}}attachBranch(e,t,r,n={withReader:!0}){let i=async(o,a)=>{let s=o.filter(u=>u!==ot);if(!s.length)return;let c=s.map(u=>At(u)?u:{channel:u==="__end__"?u:`branch:to:${u}`,value:e});await wt.doWrite({...a,tags:(a.tags??[]).concat([Tt])},c)};this.nodes[e].writers.push(r.run(i,n.withReader?o=>TL.doRead(o,this.streamChannels??this.outputChannels,!0):void 0))}async _validateInput(e){if(e==null)return e;let t=this.builder._inputRuntimeDefinition,r=this.builder._schemaRuntimeDefinition;if(Bi.isInstance(t)){if(Nt(e)){let i=e;return e.update&&(i.update=await t.validateInput(Array.isArray(e.update)?Object.fromEntries(e.update):e.update)),i}return await t.validateInput(e)}if(t===By&&Bi.isInstance(r)){if(Nt(e)){let i=e;return e.update&&(i.update=await r.validateInput(Array.isArray(e.update)?Object.fromEntries(e.update):e.update)),i}return await r.validateInput(e)}let n=(()=>{let i=o=>{if(o!=null)return this._metaRegistry.getExtendedChannelSchemas(o,{withReducerSchema:!0})};if(Ir(t))return i(t);if(t===By)return Ir(r)?Cu(i(r)):void 0})();if(Nt(e)){let i=e;return e.update&&n!=null&&(i.update=Au(n,e.update)),i}return n!=null?Au(n,e):e}isInterrupted(e){return hd(e)}async _validateContext(e){let t=this.builder._configRuntimeSchema;return Ir(t)&&Au(t,e),e}};function _J(e){return typeof e=="object"&&e!==null&&e.channels!==void 0}function yJ(e){if(At(e))return[e];let t=[];Nt(e)?t.push(e):Array.isArray(e)&&t.push(...e.filter(Nt));let r=[];for(let n of t){if(n.graph===Ar.PARENT)throw new em(n);At(n.goto)||typeof n.goto=="string"?r.push(n.goto):Array.isArray(n.goto)&&r.push(...n.goto)}return r}function xU(){return new I$({path:new ur({func:yJ,tags:[Tt],trace:!1,recurse:!1,name:"<control_branch>"})})}var SU=function(t,r){let{name:n,checkpointer:i,store:o,cache:a}=typeof t=="string"?{name:t,checkpointer:void 0,store:void 0}:t;if(EL(r)||$L(r))throw new Error("Generators are disallowed as entrypoints. For streaming responses, use config.write.");let s="updates",c=HL(n,r);function u(p){return typeof p=="object"&&p!==null&&"__lg_type"in p&&p.__lg_type==="__pregel_final"}let l=new ur({name:"pluckReturnValue",func:p=>u(p)?p.value:p}),d=new ur({name:"pluckSaveValue",func:p=>u(p)?p.save:p}),f=new Qn({bound:c,triggers:[Ye],channels:[Ye],writers:[new wt([{channel:ot,value:Lr,mapper:l},{channel:rs,value:Lr,mapper:d}],[Tt])]});return new Uy({name:n,checkpointer:i,nodes:{[n]:f},channels:{[Ye]:new ti,[ot]:new Jn,[rs]:new Jn},inputChannels:Ye,outputChannels:ot,streamChannels:ot,streamMode:s,store:o,cache:a})};SU.final=function({value:t,save:r}){return{value:t,save:r,__lg_type:"__pregel_final"}};var vJ=Xn.Root({messages:Xn({reducer:Oo,default:()=>[]})}),kU={reducer:{fn:Oo},jsonSchemaExtra:{langgraph_type:"messages"},default:()=>[]},bJ=Vt.object({messages:bU(Vt.custom(),kU)});async function C$(e,t,r){if(r===void 0)throw new Error(["Unable to dispatch a custom event without a parent run id.",'"dispatchCustomEvent" can only be called from within an existing run (e.g.,',"inside a tool or a RunnableLambda).",`
|
|
300
|
+
`))};try{for await(let i of e){let[o,a,s]=i,c=s;if(a==="debug"){let u=s;u.type==="checkpoint"&&(c={...u,payload:tU(u.payload)})}a==="checkpoints"&&(c=tU(s)),n({event:o?.length?`${a}|${o.join("|")}`:a,data:c})}}catch(i){n({event:"error",data:oJ(i)})}r.close()}})}var Ly=Symbol.for("INPUT_DONE"),y$=Symbol.for("INPUT_RESUMING"),aJ=25;function sJ(...e){return new Dy({passthroughFn:t=>{for(let r of e)r.modes.has(t[1])&&r.push(t)},modes:new Set(e.flatMap(t=>Array.from(t.modes)))})}var cJ=class extends by{cache;queue=Promise.resolve();constructor(e){super(),this.cache=e}async get(e){return this.enqueueOperation("get",e)}async set(e){return this.enqueueOperation("set",e)}async clear(e){return this.enqueueOperation("clear",e)}async stop(){await this.queue}enqueueOperation(e,...t){let r=this.queue.then(()=>this.cache[e](...t));return this.queue=r.then(()=>{},()=>{}),r}},iU=class oU{input;output;config;checkpointer;checkpointerGetNextVersion;channels;checkpoint;checkpointIdSaved;checkpointConfig;checkpointMetadata;checkpointNamespace;checkpointPendingWrites=[];checkpointPreviousVersions;step;stop;durability;outputKeys;streamKeys;nodes;skipDoneTasks;prevCheckpointConfig;updatedChannels;status="pending";tasks={};stream;checkpointerPromises=[];isNested;_checkpointerChainedPromise=Promise.resolve();store;cache;manager;interruptAfter;interruptBefore;toInterrupt=[];debug=!1;triggerToNodes;get isResuming(){let t=!1;if("__start__"in this.checkpoint.channel_versions)t=!0;else for(let s in this.checkpoint.channel_versions)if(Object.prototype.hasOwnProperty.call(this.checkpoint.channel_versions,s)){t=!0;break}let r=this.config.configurable?.__pregel_resuming!==void 0&&this.config.configurable?.__pregel_resuming,n=this.input===null||this.input===void 0,i=Nt(this.input)&&this.input.resume!=null,o=this.input===y$,a=!this.isNested&&this.config.metadata?.run_id!==void 0&&this.checkpointMetadata?.run_id!==void 0&&this.config.metadata.run_id===this.checkpointMetadata?.run_id;return t&&(r||n||i||o||a)}constructor(t){this.input=t.input,this.checkpointer=t.checkpointer,this.checkpointer!==void 0?this.checkpointerGetNextVersion=this.checkpointer.getNextVersion.bind(this.checkpointer):this.checkpointerGetNextVersion=qL,this.checkpoint=t.checkpoint,this.checkpointMetadata=t.checkpointMetadata,this.checkpointPreviousVersions=t.checkpointPreviousVersions,this.channels=t.channels,this.checkpointPendingWrites=t.checkpointPendingWrites,this.step=t.step,this.stop=t.stop,this.config=t.config,this.checkpointConfig=t.checkpointConfig,this.isNested=t.isNested,this.manager=t.manager,this.outputKeys=t.outputKeys,this.streamKeys=t.streamKeys,this.nodes=t.nodes,this.skipDoneTasks=t.skipDoneTasks,this.store=t.store,this.cache=t.cache?new cJ(t.cache):void 0,this.stream=t.stream,this.checkpointNamespace=t.checkpointNamespace,this.prevCheckpointConfig=t.prevCheckpointConfig,this.interruptAfter=t.interruptAfter,this.interruptBefore=t.interruptBefore,this.durability=t.durability,this.debug=t.debug,this.triggerToNodes=t.triggerToNodes}static async initialize(t){let{config:r,stream:n}=t;n!==void 0&&r.configurable?.__pregel_stream!==void 0&&(n=sJ(n,r.configurable[fd]));let i=r.configurable?!("checkpoint_id"in r.configurable):!0,o=r.configurable?.[Br];r.configurable&&o&&(o.subgraphCounter>0&&(r=Ur(r,{[un]:[r.configurable[un],o.subgraphCounter.toString()].join("|")})),o.subgraphCounter+=1);let a=On in(r.configurable??{});!a&&r.configurable?.checkpoint_ns!==void 0&&r.configurable?.checkpoint_ns!==""&&(r=Ur(r,{checkpoint_ns:"",checkpoint_id:void 0}));let s=r;r.configurable?.checkpoint_map!==void 0&&r.configurable?.checkpoint_map?.[r.configurable?.checkpoint_ns]&&(s=Ur(r,{checkpoint_id:r.configurable[ln][r.configurable?.checkpoint_ns]}));let c=r.configurable?.checkpoint_ns?.split("|")??[],u=await t.checkpointer?.getTuple(s)??{config:r,checkpoint:ol(),metadata:{source:"input",step:-2,parents:{}},pendingWrites:[]};s={...r,...u.config,configurable:{checkpoint_ns:"",...r.configurable,...u.config.configurable}};let l=u.parentConfig,d=Kn(u.checkpoint),f={...u.metadata},p=u.pendingWrites??[],m=Ta(t.channelSpecs,d),h=(f.step??0)+1,w=h+(r.recursionLimit??aJ)+1,_={...d.channel_versions},y=t.store?new vy(t.store):void 0;return y&&await y.start(),new oU({input:t.input,config:r,checkpointer:t.checkpointer,checkpoint:d,checkpointMetadata:f,checkpointConfig:s,prevCheckpointConfig:l,checkpointNamespace:c,channels:m,isNested:a,manager:t.manager,skipDoneTasks:i,step:h,stop:w,checkpointPreviousVersions:_,checkpointPendingWrites:p,outputKeys:t.outputKeys??[],streamKeys:t.streamKeys??[],nodes:t.nodes,stream:n,store:y,cache:t.cache,interruptAfter:t.interruptAfter,interruptBefore:t.interruptBefore,durability:t.durability,debug:t.debug,triggerToNodes:t.triggerToNodes})}_checkpointerPutAfterPrevious(t){this._checkpointerChainedPromise=this._checkpointerChainedPromise.then(()=>this.checkpointer?.put(t.config,t.checkpoint,t.metadata,t.newVersions)),this.checkpointerPromises.push(this._checkpointerChainedPromise)}putWrites(t,r){let n=r;if(n.length===0)return;n.every(([c])=>c in cf)&&(n=Array.from(new Map(n.map(c=>[c[0],c])).values()));let i=!1;for(let c in this.channels)if(Object.prototype.hasOwnProperty.call(this.channels,c)&&this.channels[c].lc_graph_name==="UntrackedValue"){i=!0;break}let o=n;i&&(o=n.filter(([c])=>{let u=this.channels[c];return!u||u.lc_graph_name!=="UntrackedValue"}).map(([c,u])=>c==="__pregel_tasks"&&At(u)?[c,KL(u,this.channels)]:[c,u])),this.checkpointPendingWrites=this.checkpointPendingWrites.filter(c=>c[0]!==t);for(let[c,u]of o)this.checkpointPendingWrites.push([t,c,u]);let a=Ur(this.checkpointConfig,{[un]:this.config.configurable?.checkpoint_ns??"",[Wf]:this.checkpoint.id});if(this.durability!=="exit"&&this.checkpointer!=null&&this.checkpointerPromises.push(this.checkpointer.putWrites(a,o,t)),this.tasks&&this._outputWrites(t,n),!r.length||!this.cache||!this.tasks)return;let s=this.tasks[t];s==null||s.cache_key==null||r[0][0]==="__error__"||r[0][0]==="__interrupt__"||this.cache.set([{key:[s.cache_key.ns,s.cache_key.key],value:s.writes,ttl:s.cache_key.ttl}])}_outputWrites(t,r,n=!1){let i=this.tasks[t];if(i!==void 0){if(i.config!==void 0&&(i.config.tags??[]).includes("langsmith:hidden"))return;if(r.length>0)if(r[0][0]==="__interrupt__"){if(i.path?.[0]==="__pregel_push"&&i.path?.[i.path.length-1]===!0)return;let o=r.filter(a=>a[0]===ot).flatMap(a=>a[1]);this._emit([["updates",{[ot]:o}],["values",{[ot]:o}]])}else r[0][0]!=="__error__"&&this._emit(ec(ko(UL(this.outputKeys,[[i,r]],n),"updates")));n||this._emit(ec(ko(JL([[i,r]],this.streamKeys),"tasks")))}}async _matchCachedWrites(){if(!this.cache)return[];let t=[],r=([a,s])=>`ns:${a.join(",")}|key:${s}`,n=[],i={};for(let a of Object.values(this.tasks))a.cache_key!=null&&!a.writes.length&&(n.push([a.cache_key.ns,a.cache_key.key]),i[r([a.cache_key.ns,a.cache_key.key])]=a);if(n.length===0)return[];let o=await this.cache.get(n);for(let{key:a,value:s}of o){let c=i[r(a)];c!=null&&(c.writes.push(...s),t.push({task:c,result:s}))}return t}async tick(t){this.store&&!this.store.isRunning&&await this.store?.start();let{inputKeys:r=[]}=t;if(this.status!=="pending")throw new Error(`Cannot tick when status is no longer "pending". Current status: "${this.status}"`);if(![Ly,y$].includes(this.input))await this._first(r);else{if(this.toInterrupt.length>0)throw this.status="interrupt_before",new eo;if(Object.values(this.tasks).every(i=>i.writes.length>0)){let i=Object.values(this.tasks).flatMap(a=>a.writes);this.updatedChannels=Er(this.checkpoint,this.channels,Object.values(this.tasks),this.checkpointerGetNextVersion,this.triggerToNodes);let o=await Yn(ko(Ny(this.outputKeys,i,this.channels),"values"));if(this._emit(o),this.checkpointPendingWrites=[],await this._putCheckpoint({source:"loop"}),gf(this.checkpoint,this.interruptAfter,Object.values(this.tasks)))throw this.status="interrupt_after",new eo;this.config.configurable?.__pregel_resuming!==void 0&&delete this.config.configurable?.[zc]}else return!1}if(this.step>this.stop)return this.status="out_of_steps",!1;if(this.tasks=Ca(this.checkpoint,this.checkpointPendingWrites,this.nodes,this.channels,this.config,!0,{step:this.step,checkpointer:this.checkpointer,isResuming:this.isResuming,manager:this.manager,store:this.store,stream:this.stream,triggerToNodes:this.triggerToNodes,updatedChannels:this.updatedChannels}),this.checkpointer&&this._emit(await Yn(ko(XL(this.checkpointConfig,this.channels,this.streamKeys,this.checkpointMetadata,Object.values(this.tasks),this.checkpointPendingWrites,this.prevCheckpointConfig,this.outputKeys),"checkpoints"))),Object.values(this.tasks).length===0)return this.status="done",!1;if(this.skipDoneTasks&&this.checkpointPendingWrites.length>0){for(let[i,o,a]of this.checkpointPendingWrites){if(o==="__error__"||o==="__interrupt__"||o==="__resume__")continue;let s=Object.values(this.tasks).find(c=>c.id===i);s&&s.writes.push([o,a])}for(let i of Object.values(this.tasks))i.writes.length>0&&this._outputWrites(i.id,i.writes,!0)}if(Object.values(this.tasks).every(i=>i.writes.length>0))return this.tick({inputKeys:r});if(gf(this.checkpoint,this.interruptBefore,Object.values(this.tasks)))throw this.status="interrupt_before",new eo;let n=await Yn(ko(f$(Object.values(this.tasks)),"tasks"));return this._emit(n),!0}async finishAndHandleError(t){this.durability==="exit"&&(!this.isNested||typeof t<"u"||this.checkpointNamespace.every(n=>!n.includes(":")))&&(this._putCheckpoint(this.checkpointMetadata),this._flushPendingWrites());let r=this._suppressInterrupt(t);return(r||t===void 0)&&(this.output=ei(this.channels,this.outputKeys)),r&&(this.tasks!==void 0&&this.checkpointPendingWrites.length>0&&Object.values(this.tasks).some(n=>n.writes.length>0)&&(this.updatedChannels=Er(this.checkpoint,this.channels,Object.values(this.tasks),this.checkpointerGetNextVersion,this.triggerToNodes),this._emit(ec(ko(Ny(this.outputKeys,Object.values(this.tasks).flatMap(n=>n.writes),this.channels),"values")))),to(t)&&!t.interrupts.length&&this._emit([["updates",{[ot]:[]}],["values",{[ot]:[]}]])),r}async acceptPush(t,r,n){if(this.interruptAfter?.length>0&&gf(this.checkpoint,this.interruptAfter,[t])){this.toInterrupt.push(t);return}let i=jy([dn,t.path??[],r,t.id,n],this.checkpoint,this.checkpointPendingWrites,this.nodes,this.channels,t.config??{},!0,{step:this.step,checkpointer:this.checkpointer,manager:this.manager,store:this.store,stream:this.stream});if(!i)return;if(this.interruptBefore?.length>0&&gf(this.checkpoint,this.interruptBefore,[i])){this.toInterrupt.push(i);return}this._emit(ec(ko(f$([i]),"tasks"))),this.debug&&zy(this.step,[i]),this.tasks[i.id]=i,this.skipDoneTasks&&this._matchWrites({[i.id]:i});let o=await this._matchCachedWrites();for(let{task:a}of o)this._outputWrites(a.id,a.writes,!0);return i}_suppressInterrupt(t){return to(t)&&!this.isNested}async _first(t){let{configurable:r}=this.config,n=r?.[Br];if(n&&n.nullResume!==void 0&&this.putWrites(Zr,[[Vr,n.nullResume]]),Nt(this.input)){let a=this.input.resume!=null;if(this.input.resume!=null&&typeof this.input.resume=="object"&&Object.keys(this.input.resume).every(Py)&&(this.config.configurable??={},this.config.configurable[Dc]=this.input.resume),a&&this.checkpointer==null)throw new Error("Cannot use Command(resume=...) without checkpointer");let s={};for(let[c,u,l]of LL(this.input,this.checkpointPendingWrites))s[c]??=[],s[c].push([u,l]);if(Object.keys(s).length===0)throw new tm("Received empty Command input");for(let[c,u]of Object.entries(s))this.putWrites(c,u)}let i=(this.checkpointPendingWrites??[]).filter(a=>a[0]===Zr).map(a=>a.slice(1));i.length>0&&Er(this.checkpoint,this.channels,[{name:di,writes:i,triggers:[]}],this.checkpointerGetNextVersion,this.triggerToNodes);let o=Nt(this.input)&&i.length>0;if(this.isResuming||o){for(let s in this.channels)if(Object.prototype.hasOwnProperty.call(this.channels,s)&&this.checkpoint.channel_versions[s]!==void 0){let c=this.checkpoint.channel_versions[s];this.checkpoint.versions_seen[ot]={...this.checkpoint.versions_seen[ot],[s]:c}}let a=await Yn(ko(Ny(this.outputKeys,!0,this.channels),"values"));this._emit(a)}if(this.isResuming)this.input=y$;else if(o)await this._putCheckpoint({source:"input"}),this.input=Ly;else{let a=await Yn(Ry(t,this.input));if(a.length>0){let s=Ca(this.checkpoint,this.checkpointPendingWrites,this.nodes,this.channels,this.config,!0,{step:this.step});this.updatedChannels=Er(this.checkpoint,this.channels,Object.values(s).concat([{name:di,writes:a,triggers:[]}]),this.checkpointerGetNextVersion,this.triggerToNodes),await this._putCheckpoint({source:"input"}),this.input=Ly}else if("__pregel_resuming"in(this.config.configurable??{}))this.input=Ly;else throw new tm(`Received no input writes for ${JSON.stringify(t,null,2)}`)}this.isNested||(this.config=Ur(this.config,{[zc]:this.isResuming}))}_emit(t){for(let[r,n]of t)if(this.stream.modes.has(r)&&this.stream.push([this.checkpointNamespace,r,n]),(r==="checkpoints"||r==="tasks")&&this.stream.modes.has("debug")){let i=r==="checkpoints"?this.step-1:this.step,o=new Date().toISOString(),a=r==="checkpoints"?"checkpoint":typeof n=="object"&&n!=null&&"result"in n?"task_result":"task";this.stream.push([this.checkpointNamespace,"debug",{step:i,type:a,timestamp:o,payload:n}])}}_putCheckpoint(t){let r=this.checkpointMetadata===t,n=this.checkpointer!=null&&(this.durability!=="exit"||r),i=o=>{this.prevCheckpointConfig=this.checkpointConfig?.configurable?.checkpoint_id?this.checkpointConfig:void 0,this.checkpointConfig=Ur(this.checkpointConfig,{[un]:this.config.configurable?.checkpoint_ns??""});let a={...this.checkpoint.channel_versions},s=ll(this.checkpointPreviousVersions,a);this.checkpointPreviousVersions=a,this._checkpointerPutAfterPrevious({config:{...this.checkpointConfig},checkpoint:Kn(o),metadata:{...this.checkpointMetadata},newVersions:s}),this.checkpointConfig={...this.checkpointConfig,configurable:{...this.checkpointConfig.configurable,checkpoint_id:this.checkpoint.id}}};r||(this.checkpointMetadata={...t,step:this.step,parents:this.config.configurable?.checkpoint_map??{}}),this.checkpoint=Wn(this.checkpoint,n?this.channels:void 0,this.step,r?{id:this.checkpoint.id}:void 0),n&&i(this.checkpoint),r||(this.step+=1)}_flushPendingWrites(){if(this.checkpointer==null||this.checkpointPendingWrites.length===0)return;let t=Ur(this.checkpointConfig,{[un]:this.config.configurable?.checkpoint_ns??"",[Wf]:this.checkpoint.id}),r={};for(let[n,i,o]of this.checkpointPendingWrites)r[n]??=[],r[n].push([i,o]);for(let[n,i]of Object.entries(r))this.checkpointerPromises.push(this.checkpointer.putWrites(t,i,n))}_matchWrites(t){for(let[r,n,i]of this.checkpointPendingWrites){if(n==="__error__"||n==="__interrupt__"||n==="__resume__")continue;let o=Object.values(t).find(a=>a.id===r);o&&o.writes.push([n,i])}for(let r of Object.values(t))r.writes.length>0&&this._outputWrites(r.id,r.writes,!0)}};function uJ(e){return ft(e?.message)}var aU=class extends jn{name="StreamMessagesHandler";streamFn;metadatas={};seen={};emittedChatModelRunIds={};stableMessageIdMap={};lc_prefer_streaming=!0;constructor(e){super(),this.streamFn=e}_emit(e,t,r,n=!1){if(n&&t.id!==void 0&&this.seen[t.id]!==void 0)return;let i=t.id;r!=null&&(ss(t)?i??=`run-${r}-tool-${t.tool_call_id}`:((i==null||i===`run-${r}`)&&(i=this.stableMessageIdMap[r]??i??`run-${r}`),this.stableMessageIdMap[r]??=i)),i!==t.id&&(t.id=i,t.lc_kwargs.id=i),t.id!=null&&(this.seen[t.id]=t),this.streamFn([e[0],"messages",[t,e[1]]])}handleChatModelStart(e,t,r,n,i,o,a,s){a&&(!o||!o.includes("langsmith:nostream")&&!o.includes("nostream"))&&(this.metadatas[r]=[a.langgraph_checkpoint_ns.split("|"),{tags:o,name:s,...a}])}handleLLMNewToken(e,t,r,n,i,o){let a=o?.chunk;this.emittedChatModelRunIds[r]=!0,this.metadatas[r]!==void 0&&(uJ(a)?this._emit(this.metadatas[r],a.message,r):this._emit(this.metadatas[r],new at({content:e}),r))}handleLLMEnd(e,t){if(this.metadatas[t]!==void 0){if(!this.emittedChatModelRunIds[t]){let r=e.generations?.[0]?.[0];ft(r?.message)&&this._emit(this.metadatas[t],r?.message,t,!0),delete this.emittedChatModelRunIds[t]}delete this.metadatas[t],delete this.stableMessageIdMap[t]}}handleLLMError(e,t){delete this.metadatas[t]}handleChainStart(e,t,r,n,i,o,a,s){if(o!==void 0&&s===o.langgraph_node&&(i===void 0||!i.includes("langsmith:hidden"))&&(this.metadatas[r]=[o.langgraph_checkpoint_ns.split("|"),{tags:i,name:s,...o}],typeof t=="object")){for(let c of Object.values(t))if((ft(c)||io(c))&&c.id!==void 0)this.seen[c.id]=c;else if(Array.isArray(c))for(let u of c)(ft(u)||io(u))&&u.id!==void 0&&(this.seen[u.id]=u)}}handleChainEnd(e,t){let r=this.metadatas[t];if(delete this.metadatas[t],r!==void 0){if(ft(e))this._emit(r,e,t,!0);else if(Array.isArray(e))for(let n of e)ft(n)&&this._emit(r,n,t,!0);else if(e!=null&&typeof e=="object"){for(let n of Object.values(e))if(ft(n))this._emit(r,n,t,!0);else if(Array.isArray(n))for(let i of n)ft(i)&&this._emit(r,i,t,!0)}}}handleChainError(e,t){delete this.metadatas[t]}};var lJ=[400,401,402,403,404,405,406,407,409],dJ=e=>{if(e.message.startsWith("Cancel")||e.message.startsWith("AbortError")||e.name==="AbortError"||e.name==="GraphValueError"||e?.code==="ECONNABORTED")return!1;let t=e?.response?.status??e?.status;return!(t&&lJ.includes(+t)||e?.error?.code==="insufficient_quota")};async function v$(e,t,r,n){let i=e.retry_policy??t,o=i!==void 0?i.initialInterval??500:0,a=0,s,c,{config:u}=e;for(r&&(u=Ur(u,r)),u={...u,signal:n};!n?.aborted;){e.writes.splice(0,e.writes.length),s=void 0;try{c=await e.proc.invoke(e.input,u);break}catch(l){if(s=l,s.pregelTaskId=e.id,Mv(s)){let p=u?.configurable?.checkpoint_ns,m=s.command;if(m.graph===p){for(let h of e.writers)await h.invoke(m,u);s=void 0;break}else if(m.graph===Ar.PARENT){let h=kL(p);s.command=new Ar({...s.command,graph:h})}}if(is(s)||i===void 0||(a+=1,a>=(i.maxAttempts??3))||!(i.retryOn??dJ)(s))break;o=Math.min(i.maxInterval??128e3,o*(i.backoffFactor??2));let d=i.jitter?Math.floor(o+Math.random()*1e3):o;await new Promise(p=>setTimeout(p,d));let f=s.name??s.constructor.unminifiable_name??s.constructor.name;(i?.logWarning??!0)&&console.log(`Retrying task "${String(e.name)}" after ${o.toFixed(2)}ms (attempt ${a}) after ${f}: ${s}`),u=Ur(u,{[zc]:!0})}}return{task:e,result:c,error:s,signalAborted:n?.aborted}}var b$=Symbol.for("promiseAdded");function pJ(){let e={next:()=>{},wait:Promise.resolve(b$)};function t(r){e.next=()=>{e.wait=new Promise(t),r(b$)}}return e.wait=new Promise(t),e}var sU=class{nodeFinished;loop;constructor({loop:e,nodeFinished:t}){this.loop=e,this.nodeFinished=t}async tick(e={}){let{timeout:t,retryPolicy:r,onStepWrite:n,maxConcurrency:i}=e,o=new Set,a,s=new AbortController,c=s.signal,u=t?AbortSignal.timeout(t):void 0,l=Object.values(this.loop.tasks).filter(m=>m.writes.length===0),{signals:d,disposeCombinedSignal:f}=this._initializeAbortSignals({exceptionSignal:c,stepTimeoutSignal:u,signal:e.signal}),p=this._executeTasksWithRetry(l,{signals:d,retryPolicy:r,maxConcurrency:i});for await(let{task:m,error:h,signalAborted:w}of p)this._commit(m,h),to(h)||is(h)&&!to(a)?a=h:h&&(o.size===0||!w)&&(s.abort(),o.add(h));if(f?.(),n?.(this.loop.step,Object.values(this.loop.tasks).map(m=>m.writes).flat()),o.size===1)throw Array.from(o)[0];if(o.size>1)throw new AggregateError(Array.from(o),`Multiple errors occurred during superstep ${this.loop.step}. See the "errors" field of this exception for more details.`);if(to(a)||is(a)&&this.loop.isNested)throw a}_initializeAbortSignals({exceptionSignal:e,stepTimeoutSignal:t,signal:r}){let n=this.loop.config.configurable?.__pregel_abort_signals??{},i=n.externalAbortSignal??r,o=t??n.timeoutAbortSignal,{signal:a,dispose:s}=dl(i,o,e),c={externalAbortSignal:i,timeoutAbortSignal:o,composedAbortSignal:a};return this.loop.config=Ur(this.loop.config,{[LT]:c}),{signals:c,disposeCombinedSignal:s}}async*_executeTasksWithRetry(e,t){let{retryPolicy:r,maxConcurrency:n,signals:i}=t??{},o=pJ(),a={},s={executingTasksMap:a,barrier:o,retryPolicy:r,scheduleTask:async(f,p,m)=>this.loop.acceptPush(f,p,m)};if(i?.composedAbortSignal?.aborted)throw new Error("Abort");let c=0,u,l=dl(i?.externalAbortSignal,i?.timeoutAbortSignal),d=l.signal?new Promise((f,p)=>{u=()=>p(new Error("Abort")),l.signal?.addEventListener("abort",u,{once:!0})}):void 0;for(;(c===0||Object.keys(a).length>0)&&e.length;){for(;Object.values(a).length<(n??e.length)&&c<e.length;c+=1){let p=e[c];a[p.id]=v$(p,r,{[dd]:cU?.bind(s,this,p)},i?.composedAbortSignal).catch(m=>({task:p,error:m,signalAborted:i?.composedAbortSignal?.aborted}))}let f=await Promise.race([...Object.values(a),...d?[d]:[],o.wait]);f!==b$&&(yield f,u!=null&&(l.signal?.removeEventListener("abort",u),l.dispose?.()),delete a[f.task.id])}}_commit(e,t){if(t!==void 0)if(to(t)){if(t.interrupts.length){let r=t.interrupts.map(i=>[ot,i]),n=e.writes.filter(i=>i[0]===Vr);n.length&&r.push(...n),this.loop.putWrites(e.id,r)}}else is(t)&&e.writes.length?this.loop.putWrites(e.id,e.writes):this.loop.putWrites(e.id,[[jc,{message:t.message,name:t.name}]]);else this.nodeFinished&&(e.config?.tags==null||!e.config.tags.includes("langsmith:hidden"))&&this.nodeFinished(String(e.name)),e.writes.length===0&&e.writes.push([md,null]),this.loop.putWrites(e.id,e.writes)}};async function cU(e,t,r,n,i,o={}){let a=t.config?.configurable?.[Br];if(!a)throw new Error(`BUG: No scratchpad found on task ${t.name}__${t.id}`);let s=a.callCounter;a.callCounter+=1;let c=new VL({func:r,name:n,input:i,cache:o.cache,retry:o.retry,callbacks:o.callbacks}),u=await this.scheduleTask(t,s,c);if(!u)return;let l=this.executingTasksMap[u.id];if(l!==void 0)return l;if(u.writes.length>0){let d=u.writes.filter(([p])=>p===Wo),f=u.writes.filter(([p])=>p===jc);if(d.length>0){if(d.length===1)return Promise.resolve(d[0][1]);throw new Error(`BUG: multiple returns found for task ${u.name}__${u.id}`)}if(f.length>0){if(f.length===1){let p=f[0][1],m=p instanceof Error?p:new Error(String(p));return Promise.reject(m)}throw new Error(`BUG: multiple errors found for task ${u.name}__${u.id}`)}return}else{let d=v$(u,o.retry,{[dd]:cU.bind(this,e,u)});return this.executingTasksMap[u.id]=d,this.barrier.next(),d.then(({result:f,error:p})=>p?Promise.reject(p):f)}}var To=class extends Error{constructor(e){super(e),this.name="GraphValidationError"}};function uU({nodes:e,channels:t,inputChannels:r,outputChannels:n,streamChannels:i,interruptAfterNodes:o,interruptBeforeNodes:a}){if(!t)throw new To("Channels not provided");let s=new Set,c=new Set;for(let[u,l]of Object.entries(e)){if(u==="__interrupt__")throw new To(`"Node name ${ot} is reserved"`);if(l.constructor===Qn)l.triggers.forEach(d=>s.add(d));else throw new To(`Invalid node type ${typeof l}, expected PregelNode`)}for(let u of s)if(!(u in t))throw new To(`Subscribed channel '${String(u)}' not in channels`);if(Array.isArray(r)){if(r.every(u=>!s.has(u)))throw new To(`None of the input channels ${r} are subscribed to by any node`)}else if(!s.has(r))throw new To(`Input channel ${String(r)} is not subscribed to by any node`);Array.isArray(n)?n.forEach(u=>c.add(u)):c.add(n),i&&!Array.isArray(i)?c.add(i):Array.isArray(i)&&i.forEach(u=>c.add(u));for(let u of c)if(!(u in t))throw new To(`Output channel '${String(u)}' not in channels`);if(o&&o!=="*"){for(let u of o)if(!(u in e))throw new To(`Node ${String(u)} not in nodes`)}if(a&&a!=="*"){for(let u of a)if(!(u in e))throw new To(`Node ${String(u)} not in nodes`)}}function w$(e,t){if(Array.isArray(e)){for(let r of e)if(!(r in t))throw new Error(`Key ${String(r)} not found in channels`)}else if(!(e in t))throw new Error(`Key ${String(e)} not found in channels`)}var x$=class lU extends Gt{lc_graph_name="Topic";unique=!1;accumulate=!1;seen;values;constructor(t){super(),this.unique=t?.unique??this.unique,this.accumulate=t?.accumulate??this.accumulate,this.seen=new Set,this.values=[]}fromCheckpoint(t){let r=new lU({unique:this.unique,accumulate:this.accumulate});return typeof t<"u"&&(r.seen=new Set(t[0]),r.values=t[1]),r}update(t){let r=!1;this.accumulate||(r=this.values.length>0,this.values=[]);let n=t.flat();if(n.length>0)if(this.unique)for(let i of n)this.seen.has(i)||(r=!0,this.seen.add(i),this.values.push(i));else r=!0,this.values.push(...n);return r}get(){if(this.values.length===0)throw new Ve;return this.values}checkpoint(){return[[...this.seen],this.values]}isAvailable(){return this.values.length!==0}};function dU(e){let t=He.getRunnableConfig();if(!t)throw new Error("Called interrupt() outside the context of a graph.");let r=t.configurable;if(!r)throw new Error("No configurable found in config");if(!r.__pregel_checkpointer)throw new ns("No checkpointer set",{lc_error_code:"MISSING_CHECKPOINTER"});let n=r[Br];n.interruptCounter+=1;let i=n.interruptCounter;if(n.resume.length>0&&i<n.resume.length)return r[cn]?.([[Vr,n.resume]]),n.resume[i];if(n.nullResume!==void 0){if(n.resume.length!==i)throw new Error(`Resume length mismatch: ${n.resume.length} !== ${i}`);let a=n.consumeNullResume();return n.resume.push(a),r[cn]?.([[Vr,n.resume]]),a}let o=r[un]?.split("|");throw new eo([{id:o?$o(o.join("|")):void 0,value:e}])}var pU=class{static subscribeTo(e,t){let{key:r,tags:n}={key:void 0,tags:void 0,...t??{}};if(Array.isArray(e)&&r!==void 0)throw new Error("Can't specify a key when subscribing to multiple channels");let i;return typeof e=="string"?r?i={[r]:e}:i=[e]:i=Object.fromEntries(e.map(o=>[o,o])),new Qn({channels:i,triggers:Array.isArray(e)?e:[e],tags:n})}static writeTo(e,t){let r=[];for(let n of e)r.push({channel:n,value:Lr,skipNone:!1});for(let[n,i]of Object.entries(t??{}))pe.isRunnable(i)||typeof i=="function"?r.push({channel:n,value:Lr,skipNone:!0,mapper:yt(i)}):r.push({channel:n,value:i,skipNone:!1});return new wt(r)}},fJ=class extends pe{lc_namespace=["langgraph","pregel"];invoke(e,t){throw new Error("Not implemented")}withConfig(e){return super.withConfig(e)}stream(e,t){return super.stream(e,t)}},Uy=class extends fJ{static lc_name(){return"LangGraph"}lc_namespace=["langgraph","pregel"];lg_is_pregel=!0;nodes;channels;inputChannels;outputChannels;autoValidate=!0;streamMode=["values"];streamChannels;interruptAfter;interruptBefore;stepTimeout;debug=!1;checkpointer;retryPolicy;config;store;cache;userInterrupt;triggerToNodes={};constructor(e){super(e);let{streamMode:t}=e;if(t!=null&&!Array.isArray(t)&&(t=[t]),this.nodes=e.nodes,this.channels=e.channels,"__pregel_tasks"in this.channels&&"lc_graph_name"in this.channels.__pregel_tasks&&this.channels.__pregel_tasks.lc_graph_name!=="Topic")throw new Error(`Channel '${pi}' is reserved and cannot be used in the graph.`);this.channels[pi]=new x$({accumulate:!1}),this.autoValidate=e.autoValidate??this.autoValidate,this.streamMode=t??this.streamMode,this.inputChannels=e.inputChannels,this.outputChannels=e.outputChannels,this.streamChannels=e.streamChannels??this.streamChannels,this.interruptAfter=e.interruptAfter,this.interruptBefore=e.interruptBefore,this.stepTimeout=e.stepTimeout??this.stepTimeout,this.debug=e.debug??this.debug,this.checkpointer=e.checkpointer,this.retryPolicy=e.retryPolicy,this.config=e.config,this.store=e.store,this.cache=e.cache,this.name=e.name,this.triggerToNodes=e.triggerToNodes??this.triggerToNodes,this.userInterrupt=e.userInterrupt,this.autoValidate&&this.validate()}withConfig(e){let t=Bt(this.config,e);return new this.constructor({...this,config:t})}validate(){uU({nodes:this.nodes,channels:this.channels,outputChannels:this.outputChannels,inputChannels:this.inputChannels,streamChannels:this.streamChannels,interruptAfterNodes:this.interruptAfter,interruptBeforeNodes:this.interruptBefore});for(let[e,t]of Object.entries(this.nodes))for(let r of t.triggers)this.triggerToNodes[r]??=[],this.triggerToNodes[r].push(e);return this}get streamChannelsList(){return Array.isArray(this.streamChannels)?this.streamChannels:this.streamChannels?[this.streamChannels]:Object.keys(this.channels)}get streamChannelsAsIs(){return this.streamChannels?this.streamChannels:Object.keys(this.channels)}async getGraphAsync(e){return this.getGraph(e)}*getSubgraphs(e,t){for(let[r,n]of Object.entries(this.nodes)){if(e!==void 0&&!e.startsWith(r))continue;let i=n.subgraphs?.length?n.subgraphs:[n.bound];for(let o of i){let a=Ey(o);if(a!==void 0){if(r===e){yield[r,a];return}if(e===void 0&&(yield[r,a]),t){let s=e;e!==void 0&&(s=e.slice(r.length+1));for(let[c,u]of a.getSubgraphs(s,t))yield[`${r}|${c}`,u]}}}}}async*getSubgraphsAsync(e,t){yield*this.getSubgraphs(e,t)}async _prepareStateSnapshot({config:e,saved:t,subgraphCheckpointer:r,applyPendingWrites:n=!1}){if(t===void 0)return{values:{},next:[],config:e,tasks:[]};let i=Ta(this.channels,t.checkpoint);if(t.pendingWrites?.length){let d=t.pendingWrites.filter(([f,p])=>f===Zr).map(([f,p,m])=>[String(p),m]);d.length>0&&Er(t.checkpoint,i,[{name:di,writes:d,triggers:[]}],void 0,this.triggerToNodes)}let o=Object.values(Ca(t.checkpoint,t.pendingWrites,this.nodes,i,t.config,!0,{step:(t.metadata?.step??-1)+1,store:this.store})),a=await Yn(this.getSubgraphsAsync()),s=t.config.configurable?.checkpoint_ns??"",c={};for(let d of o){let f=a.find(([m])=>m===d.name);if(!f)continue;let p=`${String(d.name)}:${d.id}`;if(s&&(p=`${s}|${p}`),r===void 0){let m={configurable:{thread_id:t.config.configurable?.thread_id,checkpoint_ns:p}};c[d.id]=m}else{let m={configurable:{[Cn]:r,thread_id:t.config.configurable?.thread_id,checkpoint_ns:p}},h=f[1];c[d.id]=await h.getState(m,{subgraphs:!0})}}if(n&&t.pendingWrites?.length){let d=Object.fromEntries(o.map(p=>[p.id,p]));for(let[p,m,h]of t.pendingWrites)["__error__","__interrupt__",as].includes(m)||p in d&&d[p].writes.push([String(m),h]);let f=o.filter(p=>p.writes.length>0);f.length>0&&Er(t.checkpoint,i,f,void 0,this.triggerToNodes)}let u=t?.metadata;u&&t?.config?.configurable?.thread_id&&(u={...u,thread_id:t.config.configurable.thread_id});let l=o.filter(d=>d.writes.length===0).map(d=>d.name);return{values:ei(i,this.streamChannelsAsIs),next:l,tasks:m$(o,t?.pendingWrites??[],c,this.streamChannelsAsIs),metadata:u,config:Oa(t.config,t.metadata),createdAt:t.checkpoint.ts,parentConfig:t.parentConfig}}async getState(e,t){let r=e.configurable?.__pregel_checkpointer??this.checkpointer;if(!r)throw new ns("No checkpointer set",{lc_error_code:"MISSING_CHECKPOINTER"});let n=e.configurable?.checkpoint_ns??"";if(n!==""&&e.configurable?.__pregel_checkpointer===void 0){let a=Iy(n);for await(let[s,c]of this.getSubgraphsAsync(a,!0))if(s===a)return await c.getState(tc(e,{[Cn]:r}),{subgraphs:t?.subgraphs})}let i=Bt(this.config,e),o=await r.getTuple(e);return await this._prepareStateSnapshot({config:i,saved:o,subgraphCheckpointer:t?.subgraphs?r:void 0,applyPendingWrites:!e.configurable?.checkpoint_id})}async*getStateHistory(e,t){let r=e.configurable?.__pregel_checkpointer??this.checkpointer;if(!r)throw new ns("No checkpointer set",{lc_error_code:"MISSING_CHECKPOINTER"});let n=e.configurable?.checkpoint_ns??"";if(n!==""&&e.configurable?.__pregel_checkpointer===void 0){let o=Iy(n);for await(let[a,s]of this.getSubgraphsAsync(o,!0))if(a===o){yield*s.getStateHistory(tc(e,{[Cn]:r}),t);return}}let i=Bt(this.config,e,{configurable:{checkpoint_ns:n}});for await(let o of r.list(i,t))yield this._prepareStateSnapshot({config:o.config,saved:o})}async bulkUpdateState(e,t){let r=e.configurable?.__pregel_checkpointer??this.checkpointer;if(!r)throw new ns("No checkpointer set",{lc_error_code:"MISSING_CHECKPOINTER"});if(t.length===0)throw new Error("No supersteps provided");if(t.some(a=>a.updates.length===0))throw new Error("No updates provided");let n=e.configurable?.checkpoint_ns??"";if(n!==""&&e.configurable?.__pregel_checkpointer===void 0){let a=Iy(n);for await(let[,s]of this.getSubgraphsAsync(a,!0))return await s.bulkUpdateState(tc(e,{[Cn]:r}),t);throw new Error(`Subgraph "${a}" not found`)}let i=async(a,s)=>{let c=this.config?Bt(this.config,a):a,u=await r.getTuple(c),l=u!==void 0?Kn(u.checkpoint):ol(),d={...u?.checkpoint.channel_versions},f=u?.metadata?.step??-1,p=tc(c,{checkpoint_ns:c.configurable?.checkpoint_ns??""}),m=c.metadata??{};u?.config.configurable&&(p=tc(c,u.config.configurable),m={...u.metadata,...m});let{values:h,asNode:w}=s[0];if(h==null&&w===void 0){if(s.length>1)throw new Re("Cannot create empty checkpoint with multiple updates");return Oa(await r.put(p,Wn(l,void 0,f),{source:"update",step:f+1,parents:u?.metadata?.parents??{}},{}),u?u.metadata:void 0)}let _=Ta(this.channels,l);if(h===null&&w==="__end__"){if(s.length>1)throw new Re("Cannot apply multiple updates when clearing state");if(u){let C=Ca(l,u.pendingWrites||[],this.nodes,_,u.config,!0,{step:(u.metadata?.step??-1)+1,checkpointer:r,store:this.store}),b=(u.pendingWrites||[]).filter(H=>H[0]===Zr).map(H=>H.slice(1));b.length>0&&Er(l,_,[{name:di,writes:b,triggers:[]}],r.getNextVersion.bind(r),this.triggerToNodes);for(let[H,R,V]of u.pendingWrites||[])["__error__","__interrupt__",as].includes(R)||H in C&&C[H].writes.push([R,V]);Er(l,_,Object.values(C),r.getNextVersion.bind(r),this.triggerToNodes)}return Oa(await r.put(p,Wn(l,_,f),{...m,source:"update",step:f+1,parents:u?.metadata?.parents??{}},ll(d,l.channel_versions)),u?u.metadata:void 0)}if(w==="__copy__"){if(s.length>1)throw new Re("Cannot copy checkpoint with multiple updates");if(u==null)throw new Re("Cannot copy a non-existent checkpoint");let C=R=>!Array.isArray(R)||R.length===0?!1:R.every(V=>Array.isArray(V)&&V.length===2),b=Wn(l,void 0,f),H=await r.put(u.parentConfig??tc(u.config,{checkpoint_id:void 0}),b,{source:"fork",step:f+1,parents:u.metadata?.parents??{}},{});if(C(h)){let R=Ca(b,u.pendingWrites,this.nodes,_,H,!1,{step:f+2}),V=Object.values(R).reduce((Ge,{name:qt,id:Fr})=>(Ge[qt]??=[],Ge[qt].push({id:Fr}),Ge),{}),xe=h.reduce((Ge,qt)=>{let[Fr,ze]=qt;Ge[ze]??=[];let Ya=Ge[ze].length,Xi=V[ze]?.[Ya]?.id;return Ge[ze].push({values:Fr,asNode:ze,taskId:Xi}),Ge},{});return i(Oa(H,u.metadata),Object.values(xe).flat())}return Oa(H,u.metadata)}if(w==="__input__"){if(s.length>1)throw new Re("Cannot apply multiple updates when updating as input");let C=await Yn(Ry(this.inputChannels,h));if(C.length===0)throw new Re(`Received no input writes for ${JSON.stringify(this.inputChannels,null,2)}`);Er(l,_,[{name:di,writes:C,triggers:[]}],r.getNextVersion.bind(this.checkpointer),this.triggerToNodes);let b=u?.metadata?.step!=null?u.metadata.step+1:-1,H=await r.put(p,Wn(l,_,b),{source:"input",step:b,parents:u?.metadata?.parents??{}},ll(d,l.channel_versions));return await r.putWrites(H,C,ro(di,l.id)),Oa(H,u?u.metadata:void 0)}if(c.configurable?.checkpoint_id===void 0&&u?.pendingWrites!==void 0&&u.pendingWrites.length>0){let C=Ca(l,u.pendingWrites,this.nodes,_,u.config,!0,{store:this.store,checkpointer:this.checkpointer,step:(u.metadata?.step??-1)+1}),b=(u.pendingWrites??[]).filter(R=>R[0]===Zr).map(R=>R.slice(1));b.length>0&&Er(u.checkpoint,_,[{name:di,writes:b,triggers:[]}],void 0,this.triggerToNodes);for(let[R,V,xe]of u.pendingWrites)["__error__","__interrupt__",as].includes(V)||C[R]===void 0||C[R].writes.push([V,xe]);let H=Object.values(C).filter(R=>R.writes.length>0);H.length>0&&Er(l,_,H,void 0,this.triggerToNodes)}let y=Object.values(l.versions_seen).map(C=>Object.values(C)).flat().find(C=>!!C),x=[];if(s.length===1){let{values:C,asNode:b,taskId:H}=s[0];if(b===void 0&&Object.keys(this.nodes).length===1)[b]=Object.keys(this.nodes);else if(b===void 0&&y===void 0)typeof this.inputChannels=="string"&&this.nodes[this.inputChannels]!==void 0&&(b=this.inputChannels);else if(b===void 0){let R=Object.entries(l.versions_seen).map(([V,xe])=>Object.values(xe).map(Ge=>[Ge,V])).flat().filter(([V,xe])=>xe!==ot).sort(([V],[xe])=>_y(V,xe));R&&(R.length===1?b=R[0][1]:R[R.length-1][0]!==R[R.length-2][0]&&(b=R[R.length-1][1]))}if(b===void 0)throw new Re('Ambiguous update, specify "asNode"');x.push({values:C,asNode:b,taskId:H})}else for(let{asNode:C,values:b,taskId:H}of s){if(C==null)throw new Re('"asNode" is required when applying multiple updates');x.push({values:b,asNode:C,taskId:H})}let S=[];for(let{asNode:C,values:b,taskId:H}of x){if(this.nodes[C]===void 0)throw new Re(`Node "${C.toString()}" does not exist`);let R=this.nodes[C].getWriters();if(!R.length)throw new Re(`No writers found for node "${C.toString()}"`);S.push({name:C,input:b,proc:R.length>1?tn.from(R,{omitSequenceTags:!0}):R[0],writes:[],triggers:[ot],id:H??ro("__interrupt__",l.id),writers:[]})}for(let C of S)await C.proc.invoke(C.input,Me({...c,store:c?.store??this.store},{runName:c.runName??`${this.getName()}UpdateState`,configurable:{[cn]:b=>C.writes.push(...b),[On]:(b,H=!1)=>hf(l,_,C,b,H)}}));for(let C of S){let b=C.writes.filter(H=>H[0]!==dn);u!==void 0&&b.length>0&&await r.putWrites(p,b,C.id)}Er(l,_,S,r.getNextVersion.bind(this.checkpointer),this.triggerToNodes);let $=ll(d,l.channel_versions),j=await r.put(p,Wn(l,_,f+1),{source:"update",step:f+1,parents:u?.metadata?.parents??{}},$);for(let C of S){let b=C.writes.filter(H=>H[0]===dn);b.length>0&&await r.putWrites(j,b,C.id)}return Oa(j,u?u.metadata:void 0)},o=e;for(let{updates:a}of t)o=await i(o,a);return o}async updateState(e,t,r){return this.bulkUpdateState(e,[{updates:[{values:t,asNode:r}]}])}_defaults(e){let{debug:t,streamMode:r,inputKeys:n,outputKeys:i,interruptAfter:o,interruptBefore:a,...s}=e,c=!0,u=t!==void 0?t:this.debug,l=i;l===void 0?l=this.streamChannelsAsIs:w$(l,this.channels);let d=n;d===void 0?d=this.inputChannels:w$(d,this.channels);let f=a??this.interruptBefore??[],p=o??this.interruptAfter??[],m;r!==void 0?(m=Array.isArray(r)?r:[r],c=typeof r=="string"):(e.configurable?.__pregel_task_id!==void 0?m=["values"]:m=this.streamMode,c=!0);let h;if(this.checkpointer===!1)h=void 0;else if(e!==void 0&&e.configurable?.__pregel_checkpointer!==void 0)h=e.configurable[Cn];else{if(this.checkpointer===!0)throw new Error("checkpointer: true cannot be used for root graphs.");h=this.checkpointer}let w=e.store??this.store,_=e.cache??this.cache;if(e.durability!=null&&e.checkpointDuring!=null)throw new Error("Cannot use both `durability` and `checkpointDuring` at the same time.");let y=(()=>{if(e.checkpointDuring!=null)return e.checkpointDuring===!1?"exit":"async"})(),x=e.durability??y??e?.configurable?.__pregel_durability??"async";return[u,m,d,l,s,f,p,h,w,c,_,x]}async stream(e,t){let r=new AbortController,{signal:n,dispose:i}=dl(t?.signal,r.signal),o={recursionLimit:this.config?.recursionLimit,...t,signal:n},a=await super.stream(e,o);return new g$(t?.encoding==="text/event-stream"?nU(a):a,r,i)}streamEvents(e,t,r){let n=new AbortController,{signal:i,dispose:o}=dl(t?.signal,n.signal),a={recursionLimit:this.config?.recursionLimit,...t,callbacks:BL(this.config?.callbacks,t?.callbacks),signal:i};return new g$(super.streamEvents(e,a,r),n,o)}async _validateInput(e){return e}async _validateContext(e){return e}async*_streamIterator(e,t){let r="version"in(t??{})?void 0:t?.encoding??void 0,n=t?.subgraphs,i=pf(this.config,t);if(i.recursionLimit===void 0||i.recursionLimit<1)throw new Error('Passed "recursionLimit" must be at least 1.');if(this.checkpointer!==void 0&&this.checkpointer!==!1&&i.configurable===void 0)throw new Error('Checkpointer requires one or more of the following "configurable" keys: "thread_id", "checkpoint_ns", "checkpoint_id"');let o=await this._validateInput(e),{runId:a,...s}=i,[c,u,,l,d,f,p,m,h,w,_,y]=this._defaults(s);typeof d.context<"u"?d.context=await this._validateContext(d.context):d.configurable=await this._validateContext(d.configurable);let x=new Dy({modes:new Set(u)});if(this.checkpointer===!0){d.configurable??={};let R=d.configurable.checkpoint_ns??"";d.configurable[un]=R.split("|").map(V=>V.split(":")[0]).join("|")}if(u.includes("messages")){let R=new aU(xe=>x.push(xe)),{callbacks:V}=d;if(V===void 0)d.callbacks=[R];else if(Array.isArray(V))d.callbacks=V.concat(R);else{let xe=V.copy();xe.addHandler(R,!0),d.callbacks=xe}}if(u.includes("tools")){let R=new rU(xe=>x.push(xe)),{callbacks:V}=d;if(V===void 0)d.callbacks=[R];else if(Array.isArray(V))d.callbacks=V.concat(R);else{let xe=V.copy();xe.addHandler(R,!0),d.callbacks=xe}}d.writer??=R=>{if(!u.includes("custom"))return;let V=SL()?.configurable?.[un]?.split("|").slice(0,-1);x.push([V??[],"custom",R])},d.interrupt??=this.userInterrupt??dU;let S=await(await Ot(d))?.handleChainStart(this.toJSON(),FL(e,"input"),a,void 0,void 0,void 0,d?.runName??this.getName()),$=df(this.channels),j,C,H=(async()=>{try{j=await iU.initialize({input:o,config:d,checkpointer:m,nodes:this.nodes,channelSpecs:$,outputKeys:l,streamKeys:this.streamChannelsAsIs,store:h,cache:_,stream:x,interruptAfter:p,interruptBefore:f,manager:S,debug:this.debug,triggerToNodes:this.triggerToNodes,durability:y});let R=new sU({loop:j,nodeFinished:d.configurable?.[DT]});t?.subgraphs&&(j.config.configurable={...j.config.configurable,[fd]:j.stream}),await this._runLoop({loop:j,runner:R,debug:c,config:d}),y==="sync"&&await Promise.all(j?.checkpointerPromises??[])}catch(R){C=R}finally{try{j&&(await j.store?.stop(),await j.cache?.stop()),await Promise.all(j?.checkpointerPromises??[])}catch(R){C=C??R}C?x.error(C):x.close()}})();try{for await(let R of x){if(R===void 0)throw new Error("Data structure error.");let[V,xe,Ge]=R;if(u.includes(xe)){if(r==="text/event-stream"){n?yield[V,xe,Ge]:yield[null,xe,Ge];continue}n&&!w?yield[V,xe,Ge]:w?n?yield[V,Ge]:yield Ge:yield[xe,Ge]}}}catch(R){throw await S?.handleChainError(C),R}finally{await H}await S?.handleChainEnd(j?.output??{},a,void 0,void 0,void 0)}async invoke(e,t){let r=t?.streamMode??"values",n={...t,outputKeys:t?.outputKeys??this.outputChannels,streamMode:r,encoding:void 0},i=[],o=await this.stream(e,n),a=[],s;for await(let c of o)r==="values"?hd(c)?a.push(c[ot]):s=c:i.push(c);if(r==="values"){if(a.length>0){let c=a.flat(1);if(s==null)return{[ot]:c};if(typeof s=="object")return{...s,[ot]:c}}return s}return i}async _runLoop(e){let{loop:t,runner:r,debug:n,config:i}=e,o;try{for(;await t.tick({inputKeys:this.inputChannels});){for(let{task:a}of await t._matchCachedWrites())t._outputWrites(a.id,a.writes,!0);n&&YL(t.checkpointMetadata.step,t.channels,this.streamChannelsList),n&&zy(t.step,Object.values(t.tasks)),await r.tick({timeout:this.stepTimeout,retryPolicy:this.retryPolicy,onStepWrite:(a,s)=>{n&&QL(a,s,this.streamChannelsList)},maxConcurrency:i.maxConcurrency,signal:i.signal})}if(t.status==="out_of_steps")throw new Nv([`Recursion limit of ${i.recursionLimit} reached`,"without hitting a stop condition. You can increase the",'limit by setting the "recursionLimit" config key.'].join(" "),{lc_error_code:"GRAPH_RECURSION_LIMIT"})}catch(a){if(o=a,!await t.finishAndHandleError(o))throw a}finally{o===void 0&&await t.finishAndHandleError()}}async clearCache(){await this.cache?.clear([])}};var ti=class fU extends Gt{lc_graph_name="EphemeralValue";guard;value=[];constructor(t=!0){super(),this.guard=t}fromCheckpoint(t){let r=new fU(this.guard);return typeof t<"u"&&(r.value=[t]),r}update(t){if(t.length===0){let r=this.value.length>0;return this.value=[],r}if(t.length!==1&&this.guard)throw new Re("EphemeralValue can only receive one value per step.");return this.value=[t[t.length-1]],!0}get(){if(this.value.length===0)throw new Ve;return this.value[0]}checkpoint(){if(this.value.length===0)throw new Ve;return this.value[0]}isAvailable(){return this.value.length!==0}};var I$=class{path;ends;constructor(e){pe.isRunnable(e.path)?this.path=e.path:this.path=yt(e.path),this.ends=Array.isArray(e.pathMap)?e.pathMap.reduce((t,r)=>(t[r]=r,t),{}):e.pathMap}run(e,t){return wt.registerWriter(new ur({name:"<branch_run>",trace:!1,func:async(r,n)=>{try{return await this._route(r,n,e,t)}catch(i){throw i.name===Qf.unminifiable_name&&console.warn(`[WARN]: 'NodeInterrupt' thrown in conditional edge. This is likely a bug in your graph implementation.
|
|
301
|
+
NodeInterrupt should only be thrown inside a node, not in edge conditions.`),i}}}))}async _route(e,t,r,n){let i=await this.path.invoke(n?n(t):e,t);Array.isArray(i)||(i=[i]);let o;if(this.ends?o=i.map(a=>At(a)?a:this.ends[a]):o=i,o.some(a=>!a))throw new Error("Branch condition returned unknown or null destination");if(o.filter(At).some(a=>a.node==="__end__"))throw new Re("Cannot send a packet to the END node");return await r(o,t)??e}},S$=class{nodes;edges;branches;entryPoint;compiled=!1;constructor(){this.nodes={},this.edges=new Set,this.branches={}}warnIfCompiled(e){this.compiled&&console.warn(e)}get allEdges(){return this.edges}addNode(...e){function t(n){return n.length>=1&&typeof n[0]!="string"}let r=t(e)?Array.isArray(e[0])?e[0]:Object.entries(e[0]):[[e[0],e[1],e[2]]];if(r.length===0)throw new Error("No nodes provided in `addNode`");for(let[n,i,o]of r){for(let s of["|",":"])if(n.includes(s))throw new Error(`"${s}" is a reserved character and is not allowed in node names.`);if(this.warnIfCompiled("Adding a node to a graph that has already been compiled. This will not be reflected in the compiled graph."),n in this.nodes)throw new Error(`Node \`${n}\` already present.`);if(n==="__end__")throw new Error(`Node \`${n}\` is reserved.`);let a=yt(i);this.nodes[n]={runnable:a,metadata:o?.metadata,subgraphs:mf(a)?[a]:o?.subgraphs,ends:o?.ends}}return this}addEdge(e,t){if(this.warnIfCompiled("Adding an edge to a graph that has already been compiled. This will not be reflected in the compiled graph."),e==="__end__")throw new Error("END cannot be a start node");if(t==="__start__")throw new Error("START cannot be an end node");if(Array.from(this.edges).some(([r])=>r===e)&&!("channels"in this))throw new Error(`Already found path for ${e}. For multiple edges, use StateGraph.`);return this.edges.add([e,t]),this}addConditionalEdges(e,t,r){let n=typeof e=="object"?e:{source:e,path:t,pathMap:r};this.warnIfCompiled("Adding an edge to a graph that has already been compiled. This will not be reflected in the compiled graph."),pe.isRunnable(n.path)||(n.path=yt(n.path));let i=n.path.getName()==="RunnableLambda"?"condition":n.path.getName();if(this.branches[n.source]&&this.branches[n.source][i])throw new Error(`Condition \`${i}\` already present for node \`${e}\``);return this.branches[n.source]??={},this.branches[n.source][i]=new I$(n),this}setEntryPoint(e){return this.warnIfCompiled("Setting the entry point of a graph that has already been compiled. This will not be reflected in the compiled graph."),this.addEdge(Ye,e)}setFinishPoint(e){return this.warnIfCompiled("Setting a finish point of a graph that has already been compiled. This will not be reflected in the compiled graph."),this.addEdge(e,it)}compile({checkpointer:e,interruptBefore:t,interruptAfter:r,name:n}={}){this.validate([...Array.isArray(t)?t:[],...Array.isArray(r)?r:[]]);let i=new k$({builder:this,checkpointer:e,interruptAfter:r,interruptBefore:t,autoValidate:!1,nodes:{},channels:{[Ye]:new ti,[it]:new ti},inputChannels:Ye,outputChannels:it,streamChannels:[],streamMode:"values",name:n});for(let[o,a]of Object.entries(this.nodes))i.attachNode(o,a);for(let[o,a]of this.edges)i.attachEdge(o,a);for(let[o,a]of Object.entries(this.branches))for(let[s,c]of Object.entries(a))i.attachBranch(o,s,c);return i.validate()}validate(e){let t=new Set([...this.allEdges].map(([n,i])=>n));for(let[n]of Object.entries(this.branches))t.add(n);for(let n of t)if(n!=="__start__"&&!(n in this.nodes))throw new Error(`Found edge starting at unknown node \`${n}\``);let r=new Set([...this.allEdges].map(([n,i])=>i));for(let[n,i]of Object.entries(this.branches))for(let o of Object.values(i))if(o.ends!=null)for(let a of Object.values(o.ends))r.add(a);else{r.add(it);for(let a of Object.keys(this.nodes))a!==n&&r.add(a)}for(let n of Object.values(this.nodes))for(let i of n.ends??[])r.add(i);for(let n of Object.keys(this.nodes))if(!r.has(n))throw new jv([`Node \`${n}\` is not reachable.`,"","If you are returning Command objects from your node,",'make sure you are passing names of potential destination nodes as an "ends" array','into ".addNode(..., { ends: ["node1", "node2"] })".'].join(`
|
|
302
|
+
`),{lc_error_code:"UNREACHABLE_NODE"});for(let n of r)if(n!=="__end__"&&!(n in this.nodes))throw new Error(`Found edge ending at unknown node \`${n}\``);if(e){for(let n of e)if(!(n in this.nodes))throw new Error(`Interrupt node \`${n}\` is not present`)}this.compiled=!0}},k$=class extends Uy{builder;constructor({builder:e,...t}){super(t),this.builder=e}attachNode(e,t){this.channels[e]=new ti,this.nodes[e]=new Qn({channels:[],triggers:[],metadata:t.metadata,subgraphs:t.subgraphs,ends:t.ends}).pipe(t.runnable).pipe(new wt([{channel:e,value:Lr}],[Tt])),this.streamChannels.push(e)}attachEdge(e,t){if(t==="__end__"){if(e==="__start__")throw new Error("Cannot have an edge from START to END");this.nodes[e].writers.push(new wt([{channel:it,value:Lr}],[Tt]))}else this.nodes[t].triggers.push(e),this.nodes[t].channels.push(e)}attachBranch(e,t,r){e==="__start__"&&!this.nodes.__start__&&(this.nodes[Ye]=pU.subscribeTo(Ye,{tags:[Tt]})),this.nodes[e].pipe(r.run(i=>new wt(i.map(o=>At(o)?o:{channel:o==="__end__"?it:`branch:${e}:${t}:${o}`,value:Lr}),[Tt])));let n=r.ends?Object.values(r.ends):Object.keys(this.nodes);for(let i of n)if(i!=="__end__"){let o=`branch:${e}:${t}:${i}`;this.channels[o]=new ti,this.nodes[i].triggers.push(o),this.nodes[i].channels.push(o)}}async getGraphAsync(e){let t=e?.xray,r=new Hs,n={[Ye]:r.addNode({schema:M.any()},Ye)},i={},o={};t&&(o=Object.fromEntries((await Yn(this.getSubgraphsAsync())).filter(c=>mU(c[1]))));function a(c,u,l,d=!1){if(u==="__end__"&&i.__end__===void 0&&(i[it]=r.addNode({schema:M.any()},it)),n[c]!==void 0){if(i[u]===void 0)throw new Error(`End node ${u} not found!`);return r.addEdge(n[c],i[u],l!==u?l:void 0,d)}}for(let[c,u]of Object.entries(this.builder.nodes)){let l=lr(c),d=u.runnable,f=u.metadata??{};if(this.interruptBefore?.includes(c)&&this.interruptAfter?.includes(c)?f.__interrupt="before,after":this.interruptBefore?.includes(c)?f.__interrupt="before":this.interruptAfter?.includes(c)&&(f.__interrupt="after"),t){let p=typeof t=="number"?t-1:t,m=o[c]!==void 0?await o[c].getGraphAsync({...e,xray:p}):d.getGraph(e);if(m.trimFirstNode(),m.trimLastNode(),Object.keys(m.nodes).length>1){let _=function(x){return x?x.lc_runnable:!1},y=function(x,S){if(x!==void 0&&!Uc(x))return x;if(_(S))try{let $=S.getName();return $=$.startsWith("Runnable")?$.slice(8):$,$}catch{return S.getName()}else return S.name??"UnknownSchema"},[h,w]=r.extend(m,l);if(h===void 0)throw new Error(`Could not extend subgraph "${c}" due to missing entrypoint.`);w!==void 0&&(n[l]={name:y(w.id,w.data),...w}),i[l]={name:y(h.id,h.data),...h}}else{let h=r.addNode(d,l,f);n[l]=h,i[l]=h}}else{let p=r.addNode(d,l,f);n[l]=p,i[l]=p}}let s=[...this.builder.allEdges].sort(([c],[u])=>c<u?-1:u>c?1:0);for(let[c,u]of s)a(lr(c),lr(u));for(let[c,u]of Object.entries(this.builder.branches)){let l={...Object.fromEntries(Object.keys(this.builder.nodes).filter(d=>d!==c).map(d=>[lr(d),lr(d)])),[it]:it};for(let d of Object.values(u)){let f;d.ends!==void 0?f=d.ends:f=l;for(let[p,m]of Object.entries(f))a(lr(c),lr(m),p,!0)}}for(let[c,u]of Object.entries(this.builder.nodes))if(u.ends!==void 0)for(let l of u.ends)a(lr(c),lr(l),void 0,!0);return r}getGraph(e){let t=e?.xray,r=new Hs,n={[Ye]:r.addNode({schema:M.any()},Ye)},i={},o={};t&&(o=Object.fromEntries(ec(this.getSubgraphs()).filter(c=>mU(c[1]))));function a(c,u,l,d=!1){return u==="__end__"&&i.__end__===void 0&&(i[it]=r.addNode({schema:M.any()},it)),r.addEdge(n[c],i[u],l!==u?l:void 0,d)}for(let[c,u]of Object.entries(this.builder.nodes)){let l=lr(c),d=u.runnable,f=u.metadata??{};if(this.interruptBefore?.includes(c)&&this.interruptAfter?.includes(c)?f.__interrupt="before,after":this.interruptBefore?.includes(c)?f.__interrupt="before":this.interruptAfter?.includes(c)&&(f.__interrupt="after"),t){let p=typeof t=="number"?t-1:t,m=o[c]!==void 0?o[c].getGraph({...e,xray:p}):d.getGraph(e);if(m.trimFirstNode(),m.trimLastNode(),Object.keys(m.nodes).length>1){let _=function(x){return x?x.lc_runnable:!1},y=function(x,S){if(x!==void 0&&!Uc(x))return x;if(_(S))try{let $=S.getName();return $=$.startsWith("Runnable")?$.slice(8):$,$}catch{return S.getName()}else return S.name??"UnknownSchema"},[h,w]=r.extend(m,l);if(h===void 0)throw new Error(`Could not extend subgraph "${c}" due to missing entrypoint.`);w!==void 0&&(n[l]={name:y(w.id,w.data),...w}),i[l]={name:y(h.id,h.data),...h}}else{let h=r.addNode(d,l,f);n[l]=h,i[l]=h}}else{let p=r.addNode(d,l,f);n[l]=p,i[l]=p}}let s=[...this.builder.allEdges].sort(([c],[u])=>c<u?-1:u>c?1:0);for(let[c,u]of s)a(lr(c),lr(u));for(let[c,u]of Object.entries(this.builder.branches)){let l={...Object.fromEntries(Object.keys(this.builder.nodes).filter(d=>d!==c).map(d=>[lr(d),lr(d)])),[it]:it};for(let d of Object.values(u)){let f;d.ends!==void 0?f=d.ends:f=l;for(let[p,m]of Object.entries(f))a(lr(c),lr(m),p,!0)}}return r}};function mU(e){return typeof e.attachNode=="function"&&typeof e.attachEdge=="function"}function lr(e){return e==="subgraph"?`"${e}"`:e}function Pa(e){return typeof e=="object"&&e!==null&&"~standard"in e&&typeof e["~standard"]=="object"&&e["~standard"]!==null&&"validate"in e["~standard"]}function hU(e){return typeof e=="object"&&e!==null&&"~standard"in e&&typeof e["~standard"]=="object"&&e["~standard"]!==null&&"jsonSchema"in e["~standard"]}function Ra(e){if(hU(e))try{return e["~standard"].jsonSchema.input({target:"draft-07"})}catch{return}}function Na(e){if(e!=null&&Pa(e))try{let t=e["~standard"].validate(void 0);if(t&&typeof t=="object"&&!("then"in t&&typeof t.then=="function")){let r=t;if(!r.issues){let n=r.value;return()=>n}}}catch{}}var E$=Symbol.for("langgraph.channel.missing"),Fy=class gU extends Gt{lc_graph_name="UntrackedValue";guard;_value=E$;initialValueFactory;constructor(t){super(),this.guard=t?.guard??!0,this.initialValueFactory=t?.initialValueFactory,this.initialValueFactory&&(this._value=this.initialValueFactory())}fromCheckpoint(t){return new gU({guard:this.guard,initialValueFactory:this.initialValueFactory})}update(t){if(t.length===0)return!1;if(t.length!==1&&this.guard)throw new Re("UntrackedValue(guard=true) can receive only one value per step. Use guard=false if you want to store any one of multiple values.",{lc_error_code:"INVALID_CONCURRENT_GRAPH_UPDATE"});return this._value=t[t.length-1],!0}get(){if(this._value===E$)throw new Ve;return this._value}checkpoint(){}isAvailable(){return this._value!==E$}};var Ma=(e,t)=>e.size===t.size&&[...e].every(r=>t.has(r)),$$=class _U extends Gt{lc_graph_name="NamedBarrierValue";names;seen;constructor(t){super(),this.names=t,this.seen=new Set}fromCheckpoint(t){let r=new _U(this.names);return typeof t<"u"&&(r.seen=new Set(t)),r}update(t){let r=!1;for(let n of t)if(this.names.has(n))this.seen.has(n)||(this.seen.add(n),r=!0);else throw new Re(`Value ${JSON.stringify(n)} not in names ${JSON.stringify(this.names)}`);return r}get(){if(!Ma(this.names,this.seen))throw new Ve}checkpoint(){return[...this.seen]}consume(){return this.seen&&this.names&&Ma(this.seen,this.names)?(this.seen=new Set,!0):!1}isAvailable(){return!!this.names&&Ma(this.names,this.seen)}},T$=class yU extends Gt{lc_graph_name="NamedBarrierValueAfterFinish";names;seen;finished;constructor(t){super(),this.names=t,this.seen=new Set,this.finished=!1}fromCheckpoint(t){let r=new yU(this.names);if(typeof t<"u"){let[n,i]=t;r.seen=new Set(n),r.finished=i}return r}update(t){let r=!1;for(let n of t)if(this.names.has(n)&&!this.seen.has(n))this.seen.add(n),r=!0;else if(!this.names.has(n))throw new Re(`Value ${JSON.stringify(n)} not in names ${JSON.stringify(this.names)}`);return r}get(){if(!this.finished||!Ma(this.names,this.seen))throw new Ve}checkpoint(){return[[...this.seen],this.finished]}consume(){return this.finished&&this.seen&&this.names&&Ma(this.seen,this.names)?(this.seen=new Set,this.finished=!1,!0):!1}finish(){return!this.finished&&this.names&&Ma(this.names,this.seen)?(this.finished=!0,!0):!1}isAvailable(){return this.finished&&!!this.names&&Ma(this.names,this.seen)}};var A$=Symbol.for("langgraph.state.reduced_value"),Ao=class{[A$]=!0;valueSchema;inputSchema;reducer;jsonSchemaExtra;constructor(e,t){this.reducer=t.reducer,this.jsonSchemaExtra=t.jsonSchemaExtra,this.valueSchema=e,this.inputSchema="inputSchema"in t?t.inputSchema:e,this.jsonSchemaExtra=t.jsonSchemaExtra}static isInstance(e){return typeof e=="object"&&e!==null&&A$ in e&&e[A$]===!0}};var vU=Symbol.for("langgraph.state.untracked_value"),ic=class{[vU]=!0;schema;guard;constructor(e,t){this.schema=e,this.guard=t?.guard??!0}static isInstance(e){return typeof e=="object"&&e!==null&&vU in e}};var O$=Symbol.for("langgraph.state.state_schema"),Bi=class{[O$]=!0;constructor(e){this.fields=e}getChannels(){let e={};for(let[t,r]of Object.entries(this.fields))if(Ao.isInstance(r)){let n=Na(r.valueSchema);e[t]=new So(r.reducer,n)}else if(ic.isInstance(r)){let n=r.schema?Na(r.schema):void 0;e[t]=new Fy({guard:r.guard,initialValueFactory:n})}else if(Pa(r))e[t]=new Jn(Na(r));else throw new Error(`Invalid state field "${t}": must be a schema, ReducedValue, UntrackedValue, or ManagedValue`);return e}getJsonSchema(){let e={},t=[];for(let[r,n]of Object.entries(this.fields)){let i;if(Ao.isInstance(n)?(i=Ra(n.valueSchema),n.jsonSchemaExtra&&(i={...i??{},...n.jsonSchemaExtra})):ic.isInstance(n)?i=n.schema?Ra(n.schema):void 0:Pa(n)&&(i=Ra(n)),i){e[r]=i;let o=!1;Ao.isInstance(n)?o=Na(n.valueSchema)!==void 0:ic.isInstance(n)?o=n.schema?Na(n.schema)!==void 0:!1:o=Na(n)!==void 0,o||t.push(r)}}return{type:"object",properties:e,required:t.length>0?t:void 0}}getInputJsonSchema(){let e={};for(let[t,r]of Object.entries(this.fields)){let n;Ao.isInstance(r)?(n=Ra(r.inputSchema),r.jsonSchemaExtra&&(n={...n??{},...r.jsonSchemaExtra})):ic.isInstance(r)?n=r.schema?Ra(r.schema):void 0:Pa(r)&&(n=Ra(r)),n&&(e[t]=n)}return{type:"object",properties:e}}getChannelKeys(){return Object.entries(this.fields).map(([e])=>e)}getAllKeys(){return Object.keys(this.fields)}async validateInput(e){if(e==null||typeof e!="object")return e;let t={};for(let[r,n]of Object.entries(e)){let i=this.fields[r];if(i===void 0){t[r]=n;continue}let o;if(Ao.isInstance(i)?o=i.inputSchema:ic.isInstance(i)?o=i.schema:Pa(i)&&(o=i),o){let a=await o["~standard"].validate(n);if(a.issues)throw new Error(`Validation failed for field "${r}": ${JSON.stringify(a.issues)}`);t[r]=a.value}else t[r]=n}return t}static isInstance(e){return typeof e=="object"&&e!==null&&O$ in e&&e[O$]===!0}};function Oo(e,t){let r=Array.isArray(e)?e:[e],n=Array.isArray(t)?t:[t],i=r.map(tr),o=n.map(tr);for(let l of i)(l.id===null||l.id===void 0)&&(l.id=fi(),l.lc_kwargs.id=l.id);let a;for(let l=0;l<o.length;l+=1){let d=o[l];(d.id===null||d.id===void 0)&&(d.id=fi(),d.lc_kwargs.id=d.id),Mn.isInstance(d)&&d.id==="__remove_all__"&&(a=l)}if(a!=null)return o.slice(a+1);let s=[...i],c=new Map(s.map((l,d)=>[l.id,d])),u=new Set;for(let l of o){let d=c.get(l.id);if(d!==void 0)Mn.isInstance(l)?u.add(l.id):(u.delete(l.id),s[d]=l);else{if(Mn.isInstance(l))throw new Error(`Attempting to delete a message with an ID that doesn't exist ('${l.id}')`);c.set(l.id,s.length),s.push(l)}}return s.filter(l=>!u.has(l.id))}var mJ=new Ao(M.custom().default(()=>[]),{inputSchema:M.custom(),reducer:Oo,jsonSchemaExtra:{langgraph_type:"messages",description:"A list of chat messages"}});var hJ=class{_map=new Map;_extensionCache=new Map;get(e){return this._map.get(e)}extend(e,t){let r=this.get(e);this._map.set(e,t(r))}remove(e){return this._map.delete(e),this}has(e){return this._map.has(e)}getChannelsForSchema(e){let t={},r=As(e);for(let[n,i]of Object.entries(r)){let o=this.get(i);o?.reducer?t[n]=new So(o.reducer.fn,o.default):t[n]=new Jn(o?.default)}return t}getExtendedChannelSchemas(e,t){if(Object.keys(t).length===0)return e;let r=Object.entries(t).filter(([,o])=>o===!0).sort(([o],[a])=>o.localeCompare(a)).map(([o,a])=>`${o}:${a}`).join("|"),n=this._extensionCache.get(r)??new Map;if(n.has(e))return n.get(e);let i=e;if(t.withReducerSchema||t.withJsonSchemaExtrasAsDescription){let o=Object.entries(As(e)).map(([a,s])=>{let c=this.get(s),u=t.withReducerSchema?c?.reducer?.schema??s:s;if(t.withJsonSchemaExtrasAsDescription&&c?.jsonSchemaExtra){let l=Un(u)??Un(s),d=JSON.stringify({...c.jsonSchemaExtra,description:l});u=u.describe(`lg:${d}`)}return[a,u]});i=zg(e,Object.fromEntries(o)),mt(i)&&(i._def.unknownKeys="strip")}return t.asPartial&&(i=Cu(i)),n.set(e,i),this._extensionCache.set(r,n),i}},vf=new hJ;function bU(e,t){if(t.reducer&&!t.default){let r=Dg(e);r!=null&&(t.default=r)}if(t.reducer){let r=Object.assign(e,{lg_reducer_schema:t.reducer?.schema??e});return vf.extend(r,()=>t),r}else return vf.extend(e,()=>t),e}function oc(e){return e==null?!1:!!(Bi.isInstance(e)||Ir(e)||typeof e=="object"&&"lc_graph_name"in e&&e.lc_graph_name==="AnnotationRoot"||typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length>0&&Object.values(e).every(t=>typeof t=="function"||n$(t)))}function wU(e){if(typeof e!="object"||e==null)return!1;let t=e,r="state"in t&&oc(t.state),n="stateSchema"in t&&oc(t.stateSchema),i="input"in t&&oc(t.input);return!(!r&&!n&&!i||"input"in t&&t.input!=null&&!oc(t.input)||"output"in t&&t.output!=null&&!oc(t.output))}var Co="__root__",By=Symbol.for("langgraph.state.partial"),Vy=class extends S${channels={};waitingEdges=new Set;_schemaDefinition;_schemaRuntimeDefinition;_inputDefinition;_inputRuntimeDefinition;_outputDefinition;_outputRuntimeDefinition;_schemaDefinitions=new Map;_metaRegistry=vf;_configSchema;_configRuntimeSchema;_interrupt;_writer;constructor(e,t){super();let r=this._normalizeToStateGraphInit(e,t),n=r.state??r.stateSchema??r.input;if(!n)throw new gd;let i=this._getChannelsFromSchema(n);this._schemaDefinition=i,Bi.isInstance(n)?this._schemaRuntimeDefinition=n:Ir(n)&&(this._schemaRuntimeDefinition=n),r.input?Bi.isInstance(r.input)?this._inputRuntimeDefinition=r.input:Ir(r.input)?this._inputRuntimeDefinition=r.input:this._inputRuntimeDefinition=By:this._inputRuntimeDefinition=By,r.output?Bi.isInstance(r.output)?this._outputRuntimeDefinition=r.output:Ir(r.output)?this._outputRuntimeDefinition=r.output:this._outputRuntimeDefinition=this._schemaRuntimeDefinition:this._outputRuntimeDefinition=this._schemaRuntimeDefinition;let o=r.input?this._getChannelsFromSchema(r.input):i,a=r.output?this._getChannelsFromSchema(r.output):i;this._inputDefinition=o,this._outputDefinition=a,this._addSchema(this._schemaDefinition),this._addSchema(this._inputDefinition),this._addSchema(this._outputDefinition),r.context&&Ir(r.context)&&(this._configRuntimeSchema=r.context),this._interrupt=r.interrupt,this._writer=r.writer}_normalizeToStateGraphInit(e,t){if(wU(e)){if(Ir(t)||wy.isInstance(t))return{...e,context:t};let r=t;return{...e,input:e.input??r?.input,output:e.output??r?.output,context:e.context??r?.context,interrupt:e.interrupt??r?.interrupt,writer:e.writer??r?.writer,nodes:e.nodes??r?.nodes}}if(oc(e)){if(Ir(t)||wy.isInstance(t))return{state:e,context:t};let r=t;return{state:e,input:r?.input,output:r?.output,context:r?.context,interrupt:r?.interrupt,writer:r?.writer,nodes:r?.nodes}}if(_J(e))return{state:gJ(e.channels)};throw new gd}_getChannelsFromSchema(e){if(Bi.isInstance(e))return e.getChannels();if(Ir(e))return this._metaRegistry.getChannelsForSchema(e);if(typeof e=="object"&&"lc_graph_name"in e&&e.lc_graph_name==="AnnotationRoot")return e.spec;if(typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length>0)return e;throw new gd("Invalid schema type. Expected StateSchema, Zod object, AnnotationRoot, or StateDefinition.")}get allEdges(){return new Set([...this.edges,...Array.from(this.waitingEdges).flatMap(([e,t])=>e.map(r=>[r,t]))])}_addSchema(e){if(!this._schemaDefinitions.has(e)){this._schemaDefinitions.set(e,e);for(let[t,r]of Object.entries(e)){let n;if(typeof r=="function"?n=r():n=r,this.channels[t]!==void 0){if(!this.channels[t].equals(n)&&n.lc_graph_name!=="LastValue")throw new Error(`Channel "${t}" already exists with a different type.`)}else this.channels[t]=n}}}addNode(...e){function t(n){return n.length>=1&&typeof n[0]!="string"}let r=t(e)?Array.isArray(e[0])?e[0]:Object.entries(e[0]).map(([n,i])=>[n,i]):[[e[0],e[1],e[2]]];if(r.length===0)throw new Error("No nodes provided in `addNode`");for(let[n,i,o]of r){if(n in this.channels)throw new Error(`${n} is already being used as a state attribute (a.k.a. a channel), cannot also be used as a node name.`);for(let l of["|",":"])if(n.includes(l))throw new Error(`"${l}" is a reserved character and is not allowed in node names.`);if(this.warnIfCompiled("Adding a node to a graph that has already been compiled. This will not be reflected in the compiled graph."),n in this.nodes)throw new Error(`Node \`${n}\` already present.`);if(n==="__end__"||n==="__start__")throw new Error(`Node \`${n}\` is reserved.`);let a=this._schemaDefinition;o?.input!==void 0&&(a=this._getChannelsFromSchema(o.input)),this._addSchema(a);let s;pe.isRunnable(i)?s=i:typeof i=="function"?s=new ur({func:i,name:n,trace:!1}):s=yt(i);let c=o?.cachePolicy;typeof c=="boolean"&&(c=c?{}:void 0);let u={runnable:s,retryPolicy:o?.retryPolicy,cachePolicy:c,metadata:o?.metadata,input:a??this._schemaDefinition,subgraphs:mf(s)?[s]:o?.subgraphs,ends:o?.ends,defer:o?.defer};this.nodes[n]=u}return this}addEdge(e,t){if(typeof e=="string")return super.addEdge(e,t);this.compiled&&console.warn("Adding an edge to a graph that has already been compiled. This will not be reflected in the compiled graph.");for(let r of e){if(r==="__end__")throw new Error("END cannot be a start node");if(!Object.keys(this.nodes).some(n=>n===r))throw new Error(`Need to add a node named "${r}" first`)}if(t==="__end__")throw new Error("END cannot be an end node");if(!Object.keys(this.nodes).some(r=>r===t))throw new Error(`Need to add a node named "${t}" first`);return this.waitingEdges.add([e,t]),this}addSequence(e){let t=Array.isArray(e)?e:Object.entries(e);if(t.length===0)throw new Error("Sequence requires at least one node.");let r;for(let[n,i,o]of t){if(n in this.nodes)throw new Error(`Node names must be unique: node with the name "${n}" already exists.`);let a=n;this.addNode(a,i,o),r!=null&&this.addEdge(r,a),r=a}return this}compile({checkpointer:e,store:t,cache:r,interruptBefore:n,interruptAfter:i,name:o,description:a}={}){this.validate([...Array.isArray(n)?n:[],...Array.isArray(i)?i:[]]);let s=Object.keys(this._schemaDefinitions.get(this._outputDefinition)),c=s.length===1&&s[0]===Co?Co:s,u=Object.keys(this.channels),l=u.length===1&&u[0]===Co?Co:u,d=this._interrupt,f=new IU({builder:this,checkpointer:e,interruptAfter:i,interruptBefore:n,autoValidate:!1,nodes:{},channels:{...this.channels,[Ye]:new ti},inputChannels:Ye,outputChannels:c,streamChannels:l,streamMode:"updates",store:t,cache:r,name:o,description:a,userInterrupt:d});f.attachNode(Ye);for(let[p,m]of Object.entries(this.nodes))f.attachNode(p,m);f.attachBranch(Ye,Pv,xU(),{withReader:!1});for(let[p]of Object.entries(this.nodes))f.attachBranch(p,Pv,xU(),{withReader:!1});for(let[p,m]of this.edges)f.attachEdge(p,m);for(let[p,m]of this.waitingEdges)f.attachEdge(p,m);for(let[p,m]of Object.entries(this.branches))for(let[h,w]of Object.entries(m))f.attachBranch(p,h,w);return f.validate()}};function gJ(e){let t={};for(let[r,n]of Object.entries(e))r===Co?t[r]=xy(n):t[r]=xy(n);return t}var IU=class extends k${description;_metaRegistry=vf;constructor({description:e,...t}){super(t),this.description=e}attachNode(e,t){let r;e==="__start__"?r=Object.entries(this.builder._schemaDefinitions.get(this.builder._inputDefinition)).map(([s])=>s):r=Object.keys(this.builder.channels);function n(s){if(Nt(s))return s.graph===Ar.PARENT?null:s._updateAsTuples();if(Array.isArray(s)&&s.length>0&&s.some(c=>Nt(c))){let c=[];for(let u of s)if(Nt(u)){if(u.graph===Ar.PARENT)continue;c.push(...u._updateAsTuples())}else c.push([Co,u]);return c}else if(s!=null)return[[Co,s]];return null}let i=e;function o(s){if(s){if(Nt(s))return s.graph===Ar.PARENT?null:s._updateAsTuples().filter(([c])=>r.includes(c));if(Array.isArray(s)&&s.length>0&&s.some(Nt)){let c=[];for(let u of s)if(Nt(u)){if(u.graph===Ar.PARENT)continue;c.push(...u._updateAsTuples().filter(([l])=>r.includes(l)))}else{let l=o(u);l&&c.push(...l??[])}return c}else{if(typeof s=="object"&&!Array.isArray(s))return Object.entries(s).filter(([c])=>r.includes(c));{let c=Array.isArray(s)?"array":typeof s;throw new Re(`Expected node "${i.toString()}" to return an object or an array containing at least one Command object, received ${c}`,{lc_error_code:"INVALID_GRAPH_NODE_RETURN_VALUE"})}}}else return null}let a=[{value:Lr,mapper:new ur({func:r.length&&r[0]===Co?n:o,trace:!1,recurse:!1})}];if(e==="__start__")this.nodes[e]=new Qn({tags:[Tt],triggers:[Ye],channels:[Ye],writers:[new wt(a,[Tt])]});else{let s=t?.input??this.builder._schemaDefinition,c=Object.fromEntries(Object.keys(this.builder._schemaDefinitions.get(s)).map(d=>[d,d])),u=Object.keys(c).length===1&&Co in c,l=`branch:to:${e}`;this.channels[l]=t?.defer?new i$:new ti(!1),this.nodes[e]=new Qn({triggers:[l],channels:u?Object.keys(c):c,writers:[new wt(a,[Tt])],mapper:u?void 0:d=>Object.fromEntries(Object.entries(d).filter(([f])=>f in c)),bound:t?.runnable,metadata:t?.metadata,retryPolicy:t?.retryPolicy,cachePolicy:t?.cachePolicy,subgraphs:t?.subgraphs,ends:t?.ends})}}attachEdge(e,t){if(t!=="__end__"){if(typeof e=="string")this.nodes[e].writers.push(new wt([{channel:`branch:to:${t}`,value:null}],[Tt]));else if(Array.isArray(e)){let r=`join:${e.join("+")}:${t}`;this.channels[r]=this.builder.nodes[t].defer?new T$(new Set(e)):new $$(new Set(e)),this.nodes[t].triggers.push(r);for(let n of e)this.nodes[n].writers.push(new wt([{channel:r,value:n}],[Tt]))}}}attachBranch(e,t,r,n={withReader:!0}){let i=async(o,a)=>{let s=o.filter(u=>u!==it);if(!s.length)return;let c=s.map(u=>At(u)?u:{channel:u==="__end__"?u:`branch:to:${u}`,value:e});await wt.doWrite({...a,tags:(a.tags??[]).concat([Tt])},c)};this.nodes[e].writers.push(r.run(i,n.withReader?o=>TL.doRead(o,this.streamChannels??this.outputChannels,!0):void 0))}async _validateInput(e){if(e==null)return e;let t=this.builder._inputRuntimeDefinition,r=this.builder._schemaRuntimeDefinition;if(Bi.isInstance(t)){if(Nt(e)){let i=e;return e.update&&(i.update=await t.validateInput(Array.isArray(e.update)?Object.fromEntries(e.update):e.update)),i}return await t.validateInput(e)}if(t===By&&Bi.isInstance(r)){if(Nt(e)){let i=e;return e.update&&(i.update=await r.validateInput(Array.isArray(e.update)?Object.fromEntries(e.update):e.update)),i}return await r.validateInput(e)}let n=(()=>{let i=o=>{if(o!=null)return this._metaRegistry.getExtendedChannelSchemas(o,{withReducerSchema:!0})};if(Ir(t))return i(t);if(t===By)return Ir(r)?Cu(i(r)):void 0})();if(Nt(e)){let i=e;return e.update&&n!=null&&(i.update=Au(n,e.update)),i}return n!=null?Au(n,e):e}isInterrupted(e){return hd(e)}async _validateContext(e){let t=this.builder._configRuntimeSchema;return Ir(t)&&Au(t,e),e}};function _J(e){return typeof e=="object"&&e!==null&&e.channels!==void 0}function yJ(e){if(At(e))return[e];let t=[];Nt(e)?t.push(e):Array.isArray(e)&&t.push(...e.filter(Nt));let r=[];for(let n of t){if(n.graph===Ar.PARENT)throw new em(n);At(n.goto)||typeof n.goto=="string"?r.push(n.goto):Array.isArray(n.goto)&&r.push(...n.goto)}return r}function xU(){return new I$({path:new ur({func:yJ,tags:[Tt],trace:!1,recurse:!1,name:"<control_branch>"})})}var SU=function(t,r){let{name:n,checkpointer:i,store:o,cache:a}=typeof t=="string"?{name:t,checkpointer:void 0,store:void 0}:t;if(EL(r)||$L(r))throw new Error("Generators are disallowed as entrypoints. For streaming responses, use config.write.");let s="updates",c=HL(n,r);function u(p){return typeof p=="object"&&p!==null&&"__lg_type"in p&&p.__lg_type==="__pregel_final"}let l=new ur({name:"pluckReturnValue",func:p=>u(p)?p.value:p}),d=new ur({name:"pluckSaveValue",func:p=>u(p)?p.save:p}),f=new Qn({bound:c,triggers:[Ye],channels:[Ye],writers:[new wt([{channel:it,value:Lr,mapper:l},{channel:rs,value:Lr,mapper:d}],[Tt])]});return new Uy({name:n,checkpointer:i,nodes:{[n]:f},channels:{[Ye]:new ti,[it]:new Jn,[rs]:new Jn},inputChannels:Ye,outputChannels:it,streamChannels:it,streamMode:s,store:o,cache:a})};SU.final=function({value:t,save:r}){return{value:t,save:r,__lg_type:"__pregel_final"}};var vJ=Xn.Root({messages:Xn({reducer:Oo,default:()=>[]})}),kU={reducer:{fn:Oo},jsonSchemaExtra:{langgraph_type:"messages"},default:()=>[]},bJ=Vt.object({messages:bU(Vt.custom(),kU)});async function C$(e,t,r){if(r===void 0)throw new Error(["Unable to dispatch a custom event without a parent run id.",'"dispatchCustomEvent" can only be called from within an existing run (e.g.,',"inside a tool or a RunnableLambda).",`
|
|
303
303
|
|
|
304
304
|
If you continue to see this error, please import from "@langchain/core/callbacks/dispatch/web"`,"and explicitly pass in a config parameter.",`
|
|
305
305
|
|
|
@@ -338,11 +338,11 @@ https://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety
|
|
|
338
338
|
]))`;continue}else if(i[u]==="$"){o+=`($|(?=[\r
|
|
339
339
|
]))`;continue}}if(n.s&&i[u]==="."){o+=s?`${i[u]}\r
|
|
340
340
|
`:`[${i[u]}\r
|
|
341
|
-
]`;continue}o+=i[u],i[u]==="\\"?a=!0:s&&i[u]==="]"?s=!1:!s&&i[u]==="["&&(s=!0)}try{let u=new RegExp(o)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),r.source}return o};function bv(e,t){if(t.target==="openApi3"&&e.keyType?._def.typeName===O.ZodEnum)return{type:"object",required:e.keyType._def.values,properties:e.keyType._def.values.reduce((n,i)=>({...n,[i]:he(e.valueType._def,{...t,currentPath:[...t.currentPath,"properties",i]})??{}}),{}),additionalProperties:!1};let r={type:"object",additionalProperties:he(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??{}};if(t.target==="openApi3")return r;if(e.keyType?._def.typeName===O.ZodString&&e.keyType._def.checks?.length){let n=Object.entries(vv(e.keyType._def,t)).reduce((i,[o,a])=>o==="type"?i:{...i,[o]:a},{});return{...r,propertyNames:n}}else if(e.keyType?._def.typeName===O.ZodEnum)return{...r,propertyNames:{enum:e.keyType._def.values}};return r}function c6(e,t){if(t.mapStrategy==="record")return bv(e,t);let r=he(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||{},n=he(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||{};return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function u6(e){let t=e.values,n=Object.keys(e.values).filter(o=>typeof t[t[o]]!="number").map(o=>t[o]),i=Array.from(new Set(n.map(o=>typeof o)));return{type:i.length===1?i[0]==="string"?"string":"number":["string","number"],enum:n}}function l6(){return{not:{}}}function d6(e){return e.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var Zf={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function f6(e,t){if(t.target==="openApi3")return p6(e,t);let r=e.options instanceof Map?Array.from(e.options.values()):e.options;if(r.every(n=>n._def.typeName in Zf&&(!n._def.checks||!n._def.checks.length))){let n=r.reduce((i,o)=>{let a=Zf[o._def.typeName];return a&&!i.includes(a)?[...i,a]:i},[]);return{type:n.length>1?n:n[0]}}else if(r.every(n=>n._def.typeName==="ZodLiteral"&&!n.description)){let n=r.reduce((i,o)=>{let a=typeof o._def.value;switch(a){case"string":case"number":case"boolean":return[...i,a];case"bigint":return[...i,"integer"];case"object":if(o._def.value===null)return[...i,"null"];case"symbol":case"undefined":case"function":default:return i}},[]);if(n.length===r.length){let i=n.filter((o,a,s)=>s.indexOf(o)===a);return{type:i.length>1?i:i[0],enum:r.reduce((o,a)=>o.includes(a._def.value)?o:[...o,a._def.value],[])}}}else if(r.every(n=>n._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((n,i)=>[...n,...i._def.values.filter(o=>!n.includes(o))],[])};return p6(e,t)}var p6=(e,t)=>{let r=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((n,i)=>he(n._def,{...t,currentPath:[...t.currentPath,"anyOf",`${i}`]})).filter(n=>!!n&&(!t.strictUnions||typeof n=="object"&&Object.keys(n).length>0));return r.length?{anyOf:r}:void 0};function m6(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return t.target==="openApi3"||t.nullableStrategy==="property"?{type:Zf[e.innerType._def.typeName],nullable:!0}:{type:[Zf[e.innerType._def.typeName],"null"]};if(t.target==="openApi3"){let n=he(e.innerType._def,{...t,currentPath:[...t.currentPath]});return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let r=he(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function h6(e,t){let r={type:"number"};if(!e.checks)return r;for(let n of e.checks)switch(n.kind){case"int":r.type="integer",bT(r,"type",n.message,t);break;case"min":t.target==="jsonSchema7"?n.inclusive?Fe(r,"minimum",n.value,n.message,t):Fe(r,"exclusiveMinimum",n.value,n.message,t):(n.inclusive||(r.exclusiveMinimum=!0),Fe(r,"minimum",n.value,n.message,t));break;case"max":t.target==="jsonSchema7"?n.inclusive?Fe(r,"maximum",n.value,n.message,t):Fe(r,"exclusiveMaximum",n.value,n.message,t):(n.inclusive||(r.exclusiveMaximum=!0),Fe(r,"maximum",n.value,n.message,t));break;case"multipleOf":Fe(r,"multipleOf",n.value,n.message,t);break}return r}function J7(e,t){return t.removeAdditionalStrategy==="strict"?e.catchall._def.typeName==="ZodNever"?e.unknownKeys!=="strict":he(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??!0:e.catchall._def.typeName==="ZodNever"?e.unknownKeys==="passthrough":he(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??!0}function g6(e,t){let r={type:"object",...Object.entries(e.shape()).reduce((n,[i,o])=>{if(o===void 0||o._def===void 0)return n;let a=[...t.currentPath,"properties",i],s=he(o._def,{...t,currentPath:a,propertyPath:a});if(s===void 0)return n;if(t.openaiStrictMode&&o.isOptional()&&!o.isNullable()&&typeof o._def?.defaultValue>"u")throw new Error(`Zod field at \`${a.join("/")}\` uses \`.optional()\` without \`.nullable()\` which is not supported by the API. See: https://platform.openai.com/docs/guides/structured-outputs?api-mode=responses#all-fields-must-be-required`);return{properties:{...n.properties,[i]:s},required:o.isOptional()&&!t.openaiStrictMode?n.required:[...n.required,i]}},{properties:{},required:[]}),additionalProperties:J7(e,t)};return r.required.length||delete r.required,r}var _6=(e,t)=>{if(t.propertyPath&&t.currentPath.slice(0,t.propertyPath.length).toString()===t.propertyPath.toString())return he(e.innerType._def,{...t,currentPath:t.currentPath});let r=he(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return r?{anyOf:[{not:{}},r]}:{}};var y6=(e,t)=>{if(t.pipeStrategy==="input")return he(e.in._def,t);if(t.pipeStrategy==="output")return he(e.out._def,t);let r=he(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),n=he(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,n].filter(i=>i!==void 0)}};function v6(e,t){return he(e.type._def,t)}function b6(e,t){let n={type:"array",uniqueItems:!0,items:he(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};return e.minSize&&Fe(n,"minItems",e.minSize.value,e.minSize.message,t),e.maxSize&&Fe(n,"maxItems",e.maxSize.value,e.maxSize.message,t),n}function w6(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((r,n)=>he(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:he(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((r,n)=>he(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}function x6(){return{not:{}}}function I6(){return{}}var S6=(e,t)=>he(e.innerType._def,t);function he(e,t,r=!1){let n=t.seen.get(e);if(t.override){let a=t.override?.(e,t,n,r);if(a!==H2)return a}if(n&&!r){let a=X7(n,t);if(a!==void 0)return"$ref"in a&&t.seenRefs.add(a.$ref),a}let i={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,i);let o=Q7(e,e.typeName,t,r);return o&&eX(e,t,o),i.jsonSchema=o,o}var X7=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"extract-to-root":let r=e.path.slice(t.basePath.length+1).join("_");return r!==t.name&&t.nameStrategy==="duplicate-ref"&&(t.definitions[r]=e.def),{$ref:[...t.basePath,t.definitionPath,r].join("/")};case"relative":return{$ref:Y7(t.currentPath,e.path)};case"none":case"seen":return e.path.length<t.currentPath.length&&e.path.every((n,i)=>t.currentPath[i]===n)?(console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),{}):t.$refStrategy==="seen"?{}:void 0}},Y7=(e,t)=>{let r=0;for(;r<e.length&&r<t.length&&e[r]===t[r];r++);return[(e.length-r).toString(),...t.slice(r)].join("/")},Q7=(e,t,r,n)=>{switch(t){case O.ZodString:return vv(e,r);case O.ZodNumber:return h6(e,r);case O.ZodObject:return g6(e,r);case O.ZodBigInt:return Y2(e,r);case O.ZodBoolean:return Q2();case O.ZodDate:return wT(e,r);case O.ZodUndefined:return x6();case O.ZodNull:return d6(r);case O.ZodArray:return X2(e,r);case O.ZodUnion:case O.ZodDiscriminatedUnion:return f6(e,r);case O.ZodIntersection:return o6(e,r);case O.ZodTuple:return w6(e,r);case O.ZodRecord:return bv(e,r);case O.ZodLiteral:return a6(e,r);case O.ZodEnum:return i6(e);case O.ZodNativeEnum:return u6(e);case O.ZodNullable:return m6(e,r);case O.ZodOptional:return _6(e,r);case O.ZodMap:return c6(e,r);case O.ZodSet:return b6(e,r);case O.ZodLazy:return he(e.getter()._def,r);case O.ZodPromise:return v6(e,r);case O.ZodNaN:case O.ZodNever:return l6();case O.ZodEffects:return n6(e,r,n);case O.ZodAny:return J2();case O.ZodUnknown:return I6();case O.ZodDefault:return r6(e,r);case O.ZodBranded:return e6(e,r);case O.ZodReadonly:return S6(e,r);case O.ZodCatch:return t6(e,r);case O.ZodPipeline:return y6(e,r);case O.ZodFunction:case O.ZodVoid:case O.ZodSymbol:return;default:return(i=>{})(t)}},eX=(e,t,r)=>(e.description&&(r.description=e.description,t.markdownDescription&&(r.markdownDescription=e.description)),r);var IT=(e,t)=>{let r=W2(t),n=typeof t=="string"?t:t?.nameStrategy==="title"?void 0:t?.name,i=he(e._def,n===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,n]},!1)??{},o=typeof t=="object"&&t.name!==void 0&&t.nameStrategy==="title"?t.name:void 0;o!==void 0&&(i.title=o);let a=(()=>{if(K2(r.definitions))return;let c={},u=new Set;for(let l=0;l<500;l++){let d=Object.entries(r.definitions).filter(([f])=>!u.has(f));if(d.length===0)break;for(let[f,p]of d)c[f]=he(Vf(p),{...r,currentPath:[...r.basePath,r.definitionPath,f]},!0)??{},u.add(f)}return c})(),s=n===void 0?a?{...i,[r.definitionPath]:a}:i:r.nameStrategy==="duplicate-ref"?{...i,...a||r.seenRefs.size?{[r.definitionPath]:{...a,...r.seenRefs.size?{[n]:i}:void 0}}:void 0}:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,n].join("/"),[r.definitionPath]:{...a,[n]:i}};return r.target==="jsonSchema7"?s.$schema="http://json-schema.org/draft-07/schema#":r.target==="jsonSchema2019-09"&&(s.$schema="https://json-schema.org/draft/2019-09/schema#"),s};function k6(e){if(e.type!=="object")throw new Error(`Root schema must have type: 'object' but got type: ${e.type?`'${e.type}'`:"undefined"}`);let t=structuredClone(e);return Ho(t,[],t)}function ST(e){if(typeof e=="boolean")return!1;if(e.type==="null")return!0;for(let t of e.oneOf??[])if(ST(t))return!0;for(let t of e.anyOf??[])if(ST(t))return!0;return!1}function Ho(e,t,r){if(typeof e=="boolean")throw new TypeError(`Expected object schema but got boolean; path=${t.join("/")}`);if(!Pc(e))throw new TypeError(`Expected ${JSON.stringify(e)} to be an object; path=${t.join("/")}`);let n=e.$defs;if(Pc(n))for(let[f,p]of Object.entries(n))Ho(p,[...t,"$defs",f],r);let i=e.definitions;if(Pc(i))for(let[f,p]of Object.entries(i))Ho(p,[...t,"definitions",f],r);e.type==="object"&&!("additionalProperties"in e)&&(e.additionalProperties=!1);let a=e.required??[],s=e.properties;if(Pc(s)){for(let[f,p]of Object.entries(s))if(!ST(p)&&!a.includes(f))throw new Error(`Zod field at \`${[...t,"properties",f].join("/")}\` uses \`.optional()\` without \`.nullable()\` which is not supported by the API. See: https://platform.openai.com/docs/guides/structured-outputs?api-mode=responses#all-fields-must-be-required`);e.required=Object.keys(s),e.properties=Object.fromEntries(Object.entries(s).map(([f,p])=>[f,Ho(p,[...t,"properties",f],r)]))}let c=e.items;Pc(c)&&(e.items=Ho(c,[...t,"items"],r));let u=e.anyOf;Array.isArray(u)&&(e.anyOf=u.map((f,p)=>Ho(f,[...t,"anyOf",String(p)],r)));let l=e.allOf;if(Array.isArray(l))if(l.length===1){let f=Ho(l[0],[...t,"allOf","0"],r);Object.assign(e,f),delete e.allOf}else e.allOf=l.map((f,p)=>Ho(f,[...t,"allOf",String(p)],r));e.default===null&&delete e.default;let d=e.$ref;if(d&&rX(e,1)){if(typeof d!="string")throw new TypeError(`Received non-string $ref - ${d}; path=${t.join("/")}`);let f=tX(r,d);if(typeof f=="boolean")throw new Error(`Expected \`$ref: ${d}\` to resolve to an object schema but got boolean`);if(!Pc(f))throw new Error(`Expected \`$ref: ${d}\` to resolve to an object but got ${JSON.stringify(f)}`);return Object.assign(e,{...f,...e}),delete e.$ref,Ho(e,t,r)}return e}function tX(e,t){if(!t.startsWith("#/"))throw new Error(`Unexpected $ref format ${JSON.stringify(t)}; Does not start with #/`);let r=t.slice(2).split("/"),n=e;for(let i of r){if(!Pc(n))throw new Error(`encountered non-object entry while resolving ${t} - ${JSON.stringify(n)}`);let o=n[i];if(o===void 0)throw new Error(`Key ${i} not found while resolving ${t}`);n=o}return n}function Pc(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function rX(e,t){let r=0;for(let n in e)if(r++,r>t)return!0;return!1}function nX(e,t){return IT(e,{openaiStrictMode:!0,name:t.name,nameStrategy:"duplicate-ref",$refStrategy:"extract-to-root",nullableStrategy:"property"})}function iX(e){return k6(fo(e,{target:"draft-7"}))}function oX(e){return"_zod"in e}function E6(e,t,r){return i2({type:"json_schema",json_schema:{...r,name:t,strict:!0,schema:oX(e)?iX(e):nX(e,{name:t})}},n=>e.parse(JSON.parse(n)))}var $6=["jsonSchema","functionCalling","jsonMode"];function T6(e,t){if(typeof t<"u"&&!$6.includes(t))throw new Error(`Invalid method: ${t}. Supported methods are: ${$6.join(", ")}`);let r=!e.startsWith("gpt-3")&&!e.startsWith("gpt-4-")&&e!=="gpt-4";if(r&&!t)return"jsonSchema";if(!r&&t==="jsonSchema")throw new Error(`JSON Schema is not supported for model "${e}". Please use a different method, e.g. "functionCalling" or "jsonMode".`);return t??"functionCalling"}function aX(e,t){let r={...e};return Object.defineProperties(r,{$brand:{value:"auto-parseable-response-format",enumerable:!1},$parseRaw:{value:t,enumerable:!1}}),r}function A6(e,t,r){if(mt(e))return E6(e,t,r);if(We(e))return aX({type:"json_schema",json_schema:{...r,name:t,strict:!0,schema:dt(e,{cycles:"ref",reused:"ref",override(n){n.jsonSchema.title=t}})}},n=>Ei(e,JSON.parse(n)));throw new Error("Unsupported schema response format")}function O6(e,t){if(t&&typeof t=="object"&&"images"in t&&Array.isArray(t.images)){let r=t.images.filter(n=>typeof n?.image_url?.url=="string").map(n=>({type:"image",url:n.image_url.url}));return[{type:"text",text:e},...r]}return e}var C6={"gpt-4o-2024-11-20":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.3-codex":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-codex":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-pro":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:272e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4o-mini":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"text-embedding-ada-002":{maxInputTokens:8192,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1536,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-chat-latest":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"codex-mini-latest":{maxInputTokens:2e5,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.1-codex-max":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4o-2024-05-13":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:4096,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.2-chat-latest":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.2-codex":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o3-deep-research":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},o1:{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.1":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o4-mini-deep-research":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.3-codex-spark":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},o3:{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"text-embedding-3-small":{maxInputTokens:8191,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1536,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4.1-nano":{maxInputTokens:1047576,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32768,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"text-embedding-3-large":{maxInputTokens:8191,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:3072,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-3.5-turbo":{maxInputTokens:16385,imageInputs:!1,audioInputs:!1,pdfInputs:!1,videoInputs:!1,maxOutputTokens:4096,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!1,imageUrlInputs:!1,pdfToolMessage:!1,imageToolMessage:!1,toolChoice:!0},"gpt-5.1-codex-mini":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.2":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4.1":{maxInputTokens:1047576,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32768,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o3-pro":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4-turbo":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:4096,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o4-mini":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4.1-mini":{maxInputTokens:1047576,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32768,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.4":{maxInputTokens:105e4,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o1-preview":{maxInputTokens:128e3,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32768,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.4-pro":{maxInputTokens:105e4,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o1-pro":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.1-codex":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.2-pro":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o3-mini":{maxInputTokens:2e5,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4o-2024-08-06":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-mini":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.1-chat-latest":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4":{maxInputTokens:8192,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:8192,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-nano":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o1-mini":{maxInputTokens:128e3,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:65536,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4o":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0}};function ad(e,t){return typeof e=="string"?{model:e,...t??{}}:e??t}var Rc=class extends zi{temperature;topP;frequencyPenalty;presencePenalty;n;logitBias;model="gpt-3.5-turbo";modelKwargs;stop;stopSequences;user;timeout;streaming=!1;streamUsage=!0;maxTokens;logprobs;topLogprobs;apiKey;organization;__includeRawResponse;client;clientConfig;supportsStrictToolCalling;audio;modalities;reasoning;zdrEnabled;service_tier;promptCacheKey;promptCacheRetention;verbosity;defaultOptions;_llmType(){return"openai"}static lc_name(){return"ChatOpenAI"}get callKeys(){return[...super.callKeys,"options","function_call","functions","tools","tool_choice","promptIndex","response_format","seed","reasoning","reasoning_effort","service_tier"]}lc_serializable=!0;get lc_secrets(){return{apiKey:"OPENAI_API_KEY",organization:"OPENAI_ORGANIZATION"}}get lc_aliases(){return{apiKey:"openai_api_key",modelName:"model"}}get lc_serializable_keys(){return["configuration","logprobs","topLogprobs","prefixMessages","supportsStrictToolCalling","modalities","audio","temperature","maxTokens","topP","frequencyPenalty","presencePenalty","n","logitBias","user","streaming","streamUsage","model","modelName","modelKwargs","stop","stopSequences","timeout","apiKey","cache","maxConcurrency","maxRetries","verbose","callbacks","tags","metadata","disableStreaming","zdrEnabled","reasoning","promptCacheKey","promptCacheRetention","verbosity"]}getLsParams(e){let t=this.invocationParams(e);return{ls_provider:"openai",ls_model_name:this.model,ls_model_type:"chat",ls_temperature:t.temperature??void 0,ls_max_tokens:t.max_tokens??void 0,ls_stop:e.stop}}_identifyingParams(){return{model_name:this.model,...this.invocationParams(),...this.clientConfig}}identifyingParams(){return this._identifyingParams()}constructor(e){super(e??{});let t=typeof e?.configuration?.apiKey=="string"||typeof e?.configuration?.apiKey=="function"?e?.configuration?.apiKey:void 0;this.apiKey=e?.apiKey??t??et("OPENAI_API_KEY"),this.organization=e?.configuration?.organization??et("OPENAI_ORGANIZATION"),this.model=e?.model??e?.modelName??this.model,this.modelKwargs=e?.modelKwargs??{},this.timeout=e?.timeout,this.temperature=e?.temperature??this.temperature,this.topP=e?.topP??this.topP,this.frequencyPenalty=e?.frequencyPenalty??this.frequencyPenalty,this.presencePenalty=e?.presencePenalty??this.presencePenalty,this.logprobs=e?.logprobs,this.topLogprobs=e?.topLogprobs,this.n=e?.n??this.n,this.logitBias=e?.logitBias,this.stop=e?.stopSequences??e?.stop,this.stopSequences=this.stop,this.user=e?.user,this.__includeRawResponse=e?.__includeRawResponse,this.audio=e?.audio,this.modalities=e?.modalities,this.reasoning=e?.reasoning,this.maxTokens=e?.maxCompletionTokens??e?.maxTokens,this.promptCacheKey=e?.promptCacheKey??this.promptCacheKey,this.promptCacheRetention=e?.promptCacheRetention??this.promptCacheRetention,this.verbosity=e?.verbosity??this.verbosity,this.disableStreaming=e?.disableStreaming===!0,this.streaming=e?.streaming===!0,this.disableStreaming&&(this.streaming=!1),e?.streaming===!1&&(this.disableStreaming=!0),this.streamUsage=e?.streamUsage??this.streamUsage,this.disableStreaming&&(this.streamUsage=!1),this.clientConfig={apiKey:this.apiKey,organization:this.organization,dangerouslyAllowBrowser:!0,...e?.configuration},e?.supportsStrictToolCalling!==void 0&&(this.supportsStrictToolCalling=e.supportsStrictToolCalling),e?.service_tier!==void 0&&(this.service_tier=e.service_tier),this.zdrEnabled=e?.zdrEnabled??!1,this._addVersion("@langchain/openai","1.3.0")}_getReasoningParams(e){if(!Bo(this.model))return;let t;return this.reasoning!==void 0&&(t={...t,...this.reasoning}),e?.reasoning!==void 0&&(t={...t,...e.reasoning}),e?.reasoningEffort!==void 0&&t?.effort===void 0&&(t={...t,effort:e.reasoningEffort}),t}_getResponseFormat(e){return e&&e.type==="json_schema"&&e.json_schema.schema&&zt(e.json_schema.schema)?A6(e.json_schema.schema,e.json_schema.name,{description:e.json_schema.description}):e}_combineCallOptions(e){return{...this.defaultOptions,...e??{}}}_getClientOptions(e){if(!this.client){let t=Zo({baseURL:this.clientConfig.baseURL}),r={...this.clientConfig,baseURL:t,timeout:this.timeout,maxRetries:0};r.baseURL||delete r.baseURL,r.defaultHeaders=Go(r.defaultHeaders),this.client=new fe(r)}return{...this.clientConfig,...e}}_convertChatOpenAIToolToCompletionsTool(e,t){return Oc(e)?Z2(e.metadata.customTool):$p(e)?t?.strict!==void 0?{...e,function:{...e.function,strict:t.strict}}:e:N2(e,t)}bindTools(e,t){let r;return t?.strict!==void 0?r=t.strict:this.supportsStrictToolCalling!==void 0&&(r=this.supportsStrictToolCalling),this.withConfig({tools:e.map(n=>{if(od(n)||Oc(n))return n;if(z2(n))return n.extras.providerToolDefinition;let i=this._convertChatOpenAIToolToCompletionsTool(n,{strict:r});return Io(n)&&n.extras?.defer_loading===!0?{...i,defer_loading:!0}:i}),...t})}async stream(e,t){return super.stream(e,this._combineCallOptions(t))}async invoke(e,t){return super.invoke(e,this._combineCallOptions(t))}_combineLLMOutput(...e){return e.reduce((t,r)=>(r&&r.tokenUsage&&(t.tokenUsage.completionTokens+=r.tokenUsage.completionTokens??0,t.tokenUsage.promptTokens+=r.tokenUsage.promptTokens??0,t.tokenUsage.totalTokens+=r.tokenUsage.totalTokens??0),t),{tokenUsage:{completionTokens:0,promptTokens:0,totalTokens:0}})}async getNumTokensFromMessages(e){let t=0,r=0,n=0;this.model==="gpt-3.5-turbo-0301"?(r=4,n=-1):(r=3,n=1);let i=await Promise.all(e.map(async o=>{let[a,s]=await Promise.all([this.getNumTokens(o.content),this.getNumTokens(Vo(o))]),c=o.name!==void 0?n+await this.getNumTokens(o.name):0,u=a+r+s+c,l=o;if(l._getType()==="function"&&(u-=2),l.additional_kwargs?.function_call&&(u+=3),l?.additional_kwargs.function_call?.name&&(u+=await this.getNumTokens(l.additional_kwargs.function_call?.name)),l.additional_kwargs.function_call?.arguments)try{u+=await this.getNumTokens(JSON.stringify(JSON.parse(l.additional_kwargs.function_call?.arguments)))}catch(d){console.error("Error parsing function arguments",d,JSON.stringify(l.additional_kwargs.function_call)),u+=await this.getNumTokens(l.additional_kwargs.function_call?.arguments)}return t+=u,u}));return t+=3,{totalCount:t,countPerMessage:i}}async _getNumTokensFromGenerations(e){return(await Promise.all(e.map(async t=>t.message.additional_kwargs?.function_call?(await this.getNumTokensFromMessages([t.message])).countPerMessage[0]:await this.getNumTokens(t.message.content)))).reduce((t,r)=>t+r,0)}async _getEstimatedTokenCountFromPrompt(e,t,r){let n=(await this.getNumTokensFromMessages(e)).totalCount;if(t&&r!=="auto"){let i=M2(t);n+=await this.getNumTokens(i),n+=9}return t&&e.find(i=>i._getType()==="system")&&(n-=4),r==="none"?n+=1:typeof r=="object"&&(n+=await this.getNumTokens(r.name)+4),n}async moderateContent(e,t){let r=this._getClientOptions(t?.options),n={input:e,model:t?.model??"omni-moderation-latest"};return this.caller.call(async()=>{try{return await this.client.moderations.create(n,r)}catch(i){throw ai(i)}})}get profile(){return C6[this.model]??{}}_getStructuredOutputMethod(e){let t={...e};if(!this.model.startsWith("gpt-3")&&!this.model.startsWith("gpt-4-")&&this.model!=="gpt-4"){if(t?.method===void 0)return"jsonSchema"}else t.method==="jsonSchema"&&console.warn(`[WARNING]: JSON Schema is not supported for model "${this.model}". Falling back to tool calling.`);return t.method}withStructuredOutput(e,t){let r,n,{schema:i,name:o,includeRaw:a}={...t,schema:e};if(t?.strict!==void 0&&t.method==="jsonMode")throw new Error("Argument `strict` is only supported for `method` = 'function_calling'");let s=T6(this.model,t?.method);if(s==="jsonMode"){n=g_(i);let c=dt(i);r=this.withConfig({outputVersion:"v0",response_format:{type:"json_object"},ls_structured_output_format:{kwargs:{method:"json_mode"},schema:{title:o??"extract",...c}}})}else if(s==="jsonSchema"){let c=dt(i),u={name:o??"extract",description:Un(c),schema:zt(i)?i:c,strict:t?.strict};if(r=this.withConfig({outputVersion:"v0",response_format:{type:"json_schema",json_schema:u},ls_structured_output_format:{kwargs:{method:"json_schema"},schema:{title:u.name,description:u.description,...c}}}),zt(i)||ki(i)){let l=g_(i);n=Zt.from(async d=>"parsed"in d.additional_kwargs?d.additional_kwargs.parsed:l.invoke(d.content))}else n=new Gu}else{let c=o??"extract",u=dt(i),l;zt(i)||ki(i)?l={name:c,description:u.description,parameters:u}:typeof i.name=="string"&&typeof i.parameters=="object"&&i.parameters!=null?(l=i,c=i.name):(c=i.title??c,l={name:c,description:i.description??"",parameters:i}),r=this.withConfig({outputVersion:"v0",tools:[{type:"function",function:l}],tool_choice:{type:"function",function:{name:c}},ls_structured_output_format:{kwargs:{method:"function_calling"},schema:{title:c,...u}},...t?.strict!==void 0?{strict:t.strict}:{}}),n=ik(i,c)}return Op(r,n,a)}};var wv={providerName:"ChatOpenAI",fromStandardTextBlock(e){return{type:"text",text:e.text}},fromStandardImageBlock(e){if(e.source_type==="url")return{type:"image_url",image_url:{url:e.url,...e.metadata?.detail?{detail:e.metadata.detail}:{}}};if(e.source_type==="base64")return{type:"image_url",image_url:{url:`data:${e.mime_type??""};base64,${e.data}`,...e.metadata?.detail?{detail:e.metadata.detail}:{}}};throw new Error(`Image content blocks with source_type ${e.source_type} are not supported for ChatOpenAI`)},fromStandardAudioBlock(e){if(e.source_type==="url"){let t=Jo({dataUrl:e.url});if(!t)throw new Error(`URL audio blocks with source_type ${e.source_type} must be formatted as a data URL for ChatOpenAI`);let r=t.mime_type||e.mime_type||"",n;try{n=wd(r)}catch{throw new Error(`Audio blocks with source_type ${e.source_type} must have mime type of audio/wav or audio/mp3`)}if(n.type!=="audio"||n.subtype!=="wav"&&n.subtype!=="mp3")throw new Error(`Audio blocks with source_type ${e.source_type} must have mime type of audio/wav or audio/mp3`);return{type:"input_audio",input_audio:{format:n.subtype,data:t.data}}}if(e.source_type==="base64"){let t;try{t=wd(e.mime_type??"")}catch{throw new Error(`Audio blocks with source_type ${e.source_type} must have mime type of audio/wav or audio/mp3`)}if(t.type!=="audio"||t.subtype!=="wav"&&t.subtype!=="mp3")throw new Error(`Audio blocks with source_type ${e.source_type} must have mime type of audio/wav or audio/mp3`);return{type:"input_audio",input_audio:{format:t.subtype,data:e.data}}}throw new Error(`Audio content blocks with source_type ${e.source_type} are not supported for ChatOpenAI`)},fromStandardFileBlock(e){if(e.source_type==="url"){let t=Jo({dataUrl:e.url}),r=id(e);if(!t)throw new Error(`URL file blocks with source_type ${e.source_type} must be formatted as a data URL for ChatOpenAI`);return{type:"file",file:{file_data:e.url,...e.metadata?.filename||e.metadata?.name?{filename:r}:{}}}}if(e.source_type==="base64"){let t=id(e);return{type:"file",file:{file_data:`data:${e.mime_type??""};base64,${e.data}`,...e.metadata?.filename||e.metadata?.name||e.metadata?.title?{filename:t}:{}}}}if(e.source_type==="id")return{type:"file",file:{file_id:e.id}};throw new Error(`File content blocks with source_type ${e.source_type} are not supported for ChatOpenAI`)}},kT=({message:e,rawResponse:t,includeRawResponse:r})=>{let n=e.tool_calls;switch(e.role){case"assistant":{let i=[],o=[];for(let c of n??[])try{i.push(Ks(c,{returnId:!0}))}catch(u){o.push(ka(c,u.message))}let a={function_call:e.function_call,tool_calls:n};r!==void 0&&(a.__raw_response=t);let s={model_provider:"openai",model_name:t.model,...t.system_fingerprint?{usage:{...t.usage},system_fingerprint:t.system_fingerprint}:{}};return e.audio&&(a.audio=e.audio),new be({content:O6(e.content||"",t.choices?.[0]?.message),tool_calls:i,invalid_tool_calls:o,additional_kwargs:a,response_metadata:s,id:t.id})}default:return new mr(e.content||"",e.role??"unknown")}},ET=({delta:e,rawResponse:t,includeRawResponse:r,defaultRole:n})=>{let i=e.role??n,o=e.content??"",a;e.function_call?a={function_call:e.function_call}:e.tool_calls?a={tool_calls:e.tool_calls}:a={},r&&(a.__raw_response=t),e.audio&&(a.audio={...e.audio,index:t.choices[0].index});let s={model_provider:"openai",usage:{...t.usage}};if(i==="user")return new so({content:o,response_metadata:s});if(i==="assistant"){let c=[];if(Array.isArray(e.tool_calls))for(let u of e.tool_calls)c.push({name:u.function?.name,args:u.function?.arguments,id:u.id,index:u.index,type:"tool_call_chunk"});return new st({content:o,tool_call_chunks:c,additional_kwargs:a,id:t.id,response_metadata:s})}else return i==="system"?new fn({content:o,response_metadata:s}):i==="developer"?new fn({content:o,response_metadata:s,additional_kwargs:{__openai_role__:"developer"}}):i==="function"?new ao({content:o,additional_kwargs:a,name:e.name,response_metadata:s}):i==="tool"?new Yo({content:o,additional_kwargs:a,tool_call_id:e.tool_call_id,response_metadata:s}):new oo({content:o,role:i,response_metadata:s})},P6=e=>{if(e.type==="image"){if(e.url)return{type:"image_url",image_url:{url:e.url}};if(e.data)return{type:"image_url",image_url:{url:`data:${e.mimeType};base64,${e.data}`}}}if(e.type==="audio"&&e.data){let t=$m(()=>{let[,r]=e.mimeType.split("/");return r==="wav"||r==="mp3"?r:"wav"});return{type:"input_audio",input_audio:{data:e.data.toString(),format:t}}}if(e.type==="file"){if(e.data){let t=id(e);return{type:"file",file:{file_data:`data:${e.mimeType};base64,${e.data}`,filename:t}}}if(e.fileId)return{type:"file",file:{file_id:e.fileId}}}},R6=({message:e,model:t})=>{let r=Vo(e);if(r==="system"&&Bo(t)&&(r="developer"),r==="developer")return{role:"developer",content:e.contentBlocks.filter(i=>i.type==="text")};if(r==="system")return{role:"system",content:e.contentBlocks.filter(i=>i.type==="text")};if(r==="assistant")return{role:"assistant",content:e.contentBlocks.filter(i=>i.type==="text")};if(r==="tool"&&jt.isInstance(e))return{role:"tool",tool_call_id:e.tool_call_id,content:e.contentBlocks.filter(i=>i.type==="text")};if(r==="function")return{role:"function",name:e.name??"",content:e.contentBlocks.filter(i=>i.type==="text").join("")};function*n(i){for(let o of i){o.type==="text"&&(yield{type:"text",text:o.text});let a=P6(o);a&&(yield a)}}return{role:"user",content:Array.from(n(e.contentBlocks))}},Gf=({messages:e,model:t})=>e.flatMap(r=>{if("output_version"in r.response_metadata&&r.response_metadata?.output_version==="v1")return R6({message:r});let n=Vo(r);n==="system"&&Bo(t)&&(n="developer");let i=typeof r.content=="string"?r.content:r.content.flatMap(a=>Or(a)?Hc(a,wv):typeof a=="object"&&a!==null&&"type"in a&&a.type==="tool_use"?[]:a),o={role:n,content:i};return r.name!=null&&(o.name=r.name),r.additional_kwargs.function_call!=null&&(o.function_call=r.additional_kwargs.function_call),be.isInstance(r)&&r.tool_calls?.length?o.tool_calls=r.tool_calls.map(m_):(r.additional_kwargs.tool_calls!=null&&(o.tool_calls=r.additional_kwargs.tool_calls),jt.isInstance(r)&&r.tool_call_id!=null&&(o.tool_call_id=r.tool_call_id)),r.additional_kwargs.audio&&typeof r.additional_kwargs.audio=="object"&&"id"in r.additional_kwargs.audio?[o,{role:"assistant",audio:{id:r.additional_kwargs.audio.id}}]:o});var xv=class extends Rc{constructor(e,t){super(ad(e,t))}invocationParams(e,t){let r;e?.strict!==void 0?r=e.strict:this.supportsStrictToolCalling!==void 0&&(r=this.supportsStrictToolCalling);let n={};e?.stream_options!==void 0?n={stream_options:e.stream_options}:this.streamUsage&&(this.streaming||t?.streaming)&&(n={stream_options:{include_usage:!0}});let i={model:this.model,temperature:this.temperature,top_p:this.topP,frequency_penalty:this.frequencyPenalty,presence_penalty:this.presencePenalty,logprobs:this.logprobs,top_logprobs:this.topLogprobs,n:this.n,logit_bias:this.logitBias,stop:e?.stop??this.stopSequences,user:this.user,stream:this.streaming,functions:e?.functions,function_call:e?.function_call,tools:e?.tools?.length?e.tools.map(a=>this._convertChatOpenAIToolToCompletionsTool(a,{strict:r})):void 0,tool_choice:_v(e?.tool_choice),response_format:this._getResponseFormat(e?.response_format),seed:e?.seed,...n,parallel_tool_calls:e?.parallel_tool_calls,...this.audio||e?.audio?{audio:this.audio||e?.audio}:{},...this.modalities||e?.modalities?{modalities:this.modalities||e?.modalities}:{},...this.modelKwargs,prompt_cache_key:e?.promptCacheKey??this.promptCacheKey,prompt_cache_retention:e?.promptCacheRetention??this.promptCacheRetention,verbosity:e?.verbosity??this.verbosity};e?.prediction!==void 0&&(i.prediction=e.prediction),this.service_tier!==void 0&&(i.service_tier=this.service_tier),e?.service_tier!==void 0&&(i.service_tier=e.service_tier);let o=this._getReasoningParams(e);return o!==void 0&&o.effort!==void 0&&(i.reasoning_effort=o.effort),Bo(i.model)?i.max_completion_tokens=this.maxTokens===-1?void 0:this.maxTokens:i.max_tokens=this.maxTokens===-1?void 0:this.maxTokens,i}async _generate(e,t,r){t.signal?.throwIfAborted();let n={},i=this.invocationParams(t),o=Gf({messages:e,model:this.model});if(i.stream){let a=this._streamResponseChunks(e,t,r),s={};for await(let p of a){p.message.response_metadata={...p.generationInfo,...p.message.response_metadata};let m=p.generationInfo?.completion??0;s[m]===void 0?s[m]=p:s[m]=s[m].concat(p)}let c=Object.entries(s).sort(([p],[m])=>parseInt(p,10)-parseInt(m,10)).map(([p,m])=>m),{functions:u,function_call:l}=this.invocationParams(t),d=await this._getEstimatedTokenCountFromPrompt(e,u,l),f=await this._getNumTokensFromGenerations(c);return n.input_tokens=d,n.output_tokens=f,n.total_tokens=d+f,{generations:c,llmOutput:{estimatedTokenUsage:{promptTokens:n.input_tokens,completionTokens:n.output_tokens,totalTokens:n.total_tokens}}}}else{let a=await this.completionWithRetry({...i,stream:!1,messages:o},{signal:t?.signal,...t?.options}),{completion_tokens:s,prompt_tokens:c,total_tokens:u,prompt_tokens_details:l,completion_tokens_details:d}=a?.usage??{};s&&(n.output_tokens=(n.output_tokens??0)+s),c&&(n.input_tokens=(n.input_tokens??0)+c),u&&(n.total_tokens=(n.total_tokens??0)+u),(l?.audio_tokens!==null||l?.cached_tokens!==null)&&(n.input_token_details={...l?.audio_tokens!==null&&{audio:l?.audio_tokens},...l?.cached_tokens!==null&&{cache_read:l?.cached_tokens}}),(d?.audio_tokens!==null||d?.reasoning_tokens!==null)&&(n.output_token_details={...d?.audio_tokens!==null&&{audio:d?.audio_tokens},...d?.reasoning_tokens!==null&&{reasoning:d?.reasoning_tokens}});let f=[];for(let p of a?.choices??[]){let m={text:p.message?.content??"",message:this._convertCompletionsMessageToBaseMessage(p.message??{role:"assistant"},a)};m.generationInfo={...p.finish_reason?{finish_reason:p.finish_reason}:{},...p.logprobs?{logprobs:p.logprobs}:{}},hi(m.message)&&(m.message.usage_metadata=n),m.message=new be(Object.fromEntries(Object.entries(m.message).filter(([h])=>!h.startsWith("lc_")))),f.push(m)}return{generations:f,llmOutput:{tokenUsage:{promptTokens:n.input_tokens,completionTokens:n.output_tokens,totalTokens:n.total_tokens}}}}}async*_streamResponseChunks(e,t,r){let n=Gf({messages:e,model:this.model}),i={...this.invocationParams(t,{streaming:!0}),messages:n,stream:!0},o,a=await this.completionWithRetry(i,t),s;for await(let c of a){if(t.signal?.aborted)return;let u=c?.choices?.[0];if(c.usage&&(s=c.usage),!u)continue;let{delta:l}=u;if(!l)continue;let d=this._convertCompletionsDeltaToBaseMessageChunk(l,c,o);o=l.role??o;let f={prompt:t.promptIndex??0,completion:u.index??0};if(typeof d.content!="string"){console.log("[WARNING]: Received non-string content from OpenAI. This is currently not supported.");continue}let p={...f};u.finish_reason!=null&&(p.finish_reason=u.finish_reason,p.system_fingerprint=c.system_fingerprint,p.model_name=c.model,p.service_tier=c.service_tier),this.logprobs&&(p.logprobs=u.logprobs);let m=new Xr({message:d,text:d.content,generationInfo:p});yield m,await r?.handleLLMNewToken(m.text??"",f,void 0,void 0,void 0,{chunk:m})}if(s){let c={...s.prompt_tokens_details?.audio_tokens!==null&&{audio:s.prompt_tokens_details?.audio_tokens},...s.prompt_tokens_details?.cached_tokens!==null&&{cache_read:s.prompt_tokens_details?.cached_tokens}},u={...s.completion_tokens_details?.audio_tokens!==null&&{audio:s.completion_tokens_details?.audio_tokens},...s.completion_tokens_details?.reasoning_tokens!==null&&{reasoning:s.completion_tokens_details?.reasoning_tokens}},l=new Xr({message:new st({content:"",response_metadata:{usage:{...s}},usage_metadata:{input_tokens:s.prompt_tokens,output_tokens:s.completion_tokens,total_tokens:s.total_tokens,...Object.keys(c).length>0&&{input_token_details:c},...Object.keys(u).length>0&&{output_token_details:u}}}),text:""});yield l,await r?.handleLLMNewToken(l.text??"",{prompt:0,completion:0},void 0,void 0,void 0,{chunk:l})}if(t.signal?.aborted)throw new Error("AbortError")}async completionWithRetry(e,t){let r=this._getClientOptions(t),n=e.response_format&&e.response_format.type==="json_schema";return this.caller.call(async()=>{try{return n&&!e.stream?await this.client.chat.completions.parse(e,r):await this.client.chat.completions.create(e,r)}catch(i){throw ai(i)}})}_convertCompletionsDeltaToBaseMessageChunk(e,t,r){return ET({delta:e,rawResponse:t,includeRawResponse:this.__includeRawResponse,defaultRole:r})}_convertCompletionsMessageToBaseMessage(e,t){return kT({message:e,rawResponse:t,includeRawResponse:this.__includeRawResponse})}};var Iv="__openai_function_call_ids__";function U6(e){return e.type==="url_citation"?{type:"citation",source:"url_citation",url:e.url,title:e.title,startIndex:e.start_index,endIndex:e.end_index}:e.type==="file_citation"?{type:"citation",source:"file_citation",title:e.filename,startIndex:e.index,file_id:e.file_id}:e.type==="container_file_citation"?{type:"citation",source:"container_file_citation",title:e.filename,startIndex:e.start_index,endIndex:e.end_index,file_id:e.file_id,container_id:e.container_id}:e.type==="file_path"?{type:"citation",source:"file_path",startIndex:e.index,file_id:e.file_id}:{type:"non_standard",value:e}}function cX(e){if(e.type==="url_citation"||e.type==="file_citation"||e.type==="container_file_citation"||e.type==="file_path")return e;if(e.type==="citation"){let t=e;if(t.source==="url_citation")return{type:"url_citation",url:t.url??"",title:t.title??"",start_index:t.startIndex??0,end_index:t.endIndex??0};if(t.source==="file_citation")return{type:"file_citation",file_id:t.file_id??"",filename:t.title??"",index:t.startIndex??0};if(t.source==="container_file_citation")return{type:"container_file_citation",file_id:t.file_id??"",filename:t.title??"",container_id:t.container_id??"",start_index:t.startIndex??0,end_index:t.endIndex??0};if(t.source==="file_path")return{type:"file_path",file_id:t.file_id??"",index:t.startIndex??0}}return e.type==="non_standard"?e.value:e}var $T=e=>{let t={...e?.input_tokens_details?.cached_tokens!=null&&{cache_read:e?.input_tokens_details?.cached_tokens}},r={...e?.output_tokens_details?.reasoning_tokens!=null&&{reasoning:e?.output_tokens_details?.reasoning_tokens}};return{input_tokens:e?.input_tokens??0,output_tokens:e?.output_tokens??0,total_tokens:e?.total_tokens??0,input_token_details:t,output_token_details:r}},Sv=e=>{if(e.error){let c=new Error(e.error.message);throw c.name=e.error.code,c}let t,r=[],n=[],i=[],o=e.output.map(c=>{if(c.type==="function_call"&&"parsed_arguments"in c){let u={...c};return delete u.parsed_arguments,u}return c}),a={model_provider:"openai",model:e.model,created_at:e.created_at,id:e.id,incomplete_details:e.incomplete_details,metadata:e.metadata,object:e.object,output:o,status:e.status,user:e.user,service_tier:e.service_tier,model_name:e.model},s={};for(let c of e.output)if(c.type==="message")t=c.id,r.push(...c.content.flatMap(u=>u.type==="output_text"?("parsed"in u&&u.parsed!=null&&(s.parsed=u.parsed),{type:"text",text:u.text,annotations:u.annotations.map(U6)}):u.type==="refusal"?(s.refusal=u.refusal,[]):u));else if(c.type==="function_call"){let u={function:{name:c.name,arguments:c.arguments},id:c.call_id};try{n.push(Ks(u,{returnId:!0}))}catch(l){let d;typeof l=="object"&&l!=null&&"message"in l&&typeof l.message=="string"&&(d=l.message),i.push(ka(u,d))}s[Iv]??={},c.id&&(s[Iv][c.call_id]=c.id)}else if(c.type==="reasoning"){s.reasoning=c;let u=c.summary?.map(l=>l.text).filter(Boolean).join("");u&&r.push({type:"reasoning",reasoning:u})}else if(c.type==="custom_tool_call"){let u=L2(c);u?n.push(u):i.push(ka(c,"Malformed custom tool call"))}else if(c.type==="computer_call"){let u=U2(c);u?n.push(u):i.push(ka(c,"Malformed computer call"))}else c.type==="image_generation_call"?(c.result&&r.push({type:"image",mimeType:"image/png",data:c.result,id:c.id,metadata:{status:c.status}}),s.tool_outputs??=[],s.tool_outputs.push(c)):(s.tool_outputs??=[],s.tool_outputs.push(c));return new be({id:t,content:r,tool_calls:n,invalid_tool_calls:i,usage_metadata:$T(e.usage),additional_kwargs:s,response_metadata:a})},F6=e=>{let t=(e.summary.length>1?e.summary.reduce((r,n)=>{let i=r[r.length-1];return i.index===n.index?i.text+=n.text:r.push(n),r},[{...e.summary[0]}]):e.summary).map(r=>Object.fromEntries(Object.entries(r).filter(([n])=>n!=="index")));return{...e,summary:t}},TT=e=>{let t=[],r={},n,i=[],o={model_provider:"openai"},a={},s;if(e.type==="response.output_text.delta")t.push({type:"text",text:e.delta,index:e.content_index});else if(e.type==="response.output_text.annotation.added")t.push({type:"text",text:"",annotations:[U6(e.annotation)],index:e.content_index});else if(e.type==="response.output_item.added"&&e.item.type==="message")s=e.item.id;else if(e.type==="response.output_item.added"&&e.item.type==="function_call")i.push({type:"tool_call_chunk",name:e.item.name,args:e.item.arguments,id:e.item.call_id,index:e.output_index}),a[Iv]={[e.item.call_id]:e.item.id};else if(e.type==="response.output_item.done"&&e.item.type==="computer_call")i.push({type:"tool_call_chunk",name:"computer_use",args:JSON.stringify({action:e.item.action}),id:e.item.call_id,index:e.output_index}),a.tool_outputs=[e.item];else if(e.type==="response.output_item.done"&&e.item.type==="image_generation_call")e.item.result&&t.push({type:"image",mimeType:"image/png",data:e.item.result,id:e.item.id,metadata:{status:e.item.status}}),a.tool_outputs=[e.item];else if(e.type==="response.output_item.done"&&["web_search_call","file_search_call","code_interpreter_call","shell_call","local_shell_call","mcp_call","mcp_list_tools","mcp_approval_request","custom_tool_call","tool_search_call","tool_search_output"].includes(e.item.type))a.tool_outputs=[e.item];else if(e.type==="response.created")o.id=e.response.id,o.model_name=e.response.model,o.model=e.response.model;else if(e.type==="response.completed"){let c=Sv(e.response);n=$T(e.response.usage),e.response.text?.format?.type==="json_schema"&&(a.parsed??=JSON.parse(c.text));for(let[u,l]of Object.entries(e.response))u!=="id"&&(u==="output"?o[u]=c.response_metadata.output:o[u]=l)}else if(e.type==="response.function_call_arguments.delta"||e.type==="response.custom_tool_call_input.delta")i.push({type:"tool_call_chunk",args:e.delta,index:e.output_index});else if(e.type==="response.web_search_call.completed"||e.type==="response.file_search_call.completed")r={tool_outputs:{id:e.item_id,type:e.type.replace("response.","").replace(".completed",""),status:"completed"}};else if(e.type==="response.refusal.done")a.refusal=e.refusal;else if(e.type==="response.output_item.added"&&"item"in e&&e.item.type==="reasoning"){let c=e.item.summary?e.item.summary.map((l,d)=>({...l,index:d})):void 0;a.reasoning={id:e.item.id,type:e.item.type,...c?{summary:c}:{}};let u=e.item.summary?.map(l=>l.text).filter(Boolean).join("");u&&t.push({type:"reasoning",reasoning:u})}else if(e.type==="response.reasoning_summary_part.added")a.reasoning={type:"reasoning",summary:[{...e.part,index:e.summary_index}]},e.part.text&&t.push({type:"reasoning",reasoning:e.part.text});else if(e.type==="response.reasoning_summary_text.delta")a.reasoning={type:"reasoning",summary:[{text:e.delta,type:"summary_text",index:e.summary_index}]},e.delta&&t.push({type:"reasoning",reasoning:e.delta});else return e.type==="response.image_generation_call.partial_image",null;return new Xr({text:t.map(c=>c.text).join(""),message:new st({id:s,content:t,tool_call_chunks:i,usage_metadata:n,additional_kwargs:a,response_metadata:o}),generationInfo:r})},B6=e=>{let t=be.isInstance(e)&&e.response_metadata?.model_provider==="openai";function*r(){let n=Fo(()=>{try{let _=Vo(e);return _==="system"||_==="developer"||_==="assistant"||_==="user"?_:"assistant"}catch{return"assistant"}}),i,o=new Set,a=new Set,s=new Map,c=new Map;function*u(){if(!i)return;let _=i.content;(typeof _=="string"&&_.length>0||Array.isArray(_)&&_.length>0)&&(yield i),i=void 0}let l=_=>{i||(i={type:"message",role:n,content:[]}),typeof i.content=="string"?i.content=i.content.length>0?[{type:"input_text",text:i.content},..._]:[..._]:i.content.push(..._)},d=_=>{if(typeof _=="string")return _;try{return JSON.stringify(_??{})}catch{return"{}"}},f=_=>{let y=Fo(()=>{let x=_.metadata?.detail;return x==="low"||x==="high"||x==="auto"?x:"auto"});if(_.fileId)return{type:"input_image",detail:y,file_id:_.fileId};if(_.url)return{type:"input_image",detail:y,image_url:_.url};if(_.data){let x=typeof _.data=="string"?_.data:Buffer.from(_.data).toString("base64");return{type:"input_image",detail:y,image_url:`data:${_.mimeType??"image/png"};base64,${x}`}}},p=_=>{if(_.fileId){let y=yT(_);return{type:"input_file",file_id:_.fileId,...y?{filename:y}:{}}}if(_.url){let y=yT(_);return{...y?{filename:y}:{},type:"input_file",file_url:_.url}}if(_.data){let y=id(_),x=typeof _.data=="string"?_.data:Buffer.from(_.data).toString("base64");return{type:"input_file",file_data:`data:${_.mimeType??"application/octet-stream"};base64,${x}`,...y?{filename:y}:{}}}},m=_=>{let y=Fo(()=>{if(Array.isArray(_.summary)){let $=_.summary?.map(j=>j?.text).filter(j=>typeof j=="string")??[];if($.length>0)return $}return _.reasoning?[_.reasoning]:[]}),x=y.length>0?y.map($=>({type:"summary_text",text:$})):[{type:"summary_text",text:""}],S={type:"reasoning",id:_.id??"",summary:x};return _.reasoning&&(S.content=[{type:"reasoning_text",text:_.reasoning}]),S},h=_=>({type:"function_call",name:_.name??"",call_id:_.id??"",arguments:d(_.args)}),w=_=>{let y=d(_.output),x=_.status==="success"?"completed":_.status==="error"?"incomplete":void 0;return{type:"function_call_output",call_id:_.toolCallId??"",output:y,...x?{status:x}:{}}};for(let _ of e.contentBlocks)if(_.type==="text")l([{type:"input_text",text:_.text}]);else if(_.type!=="invalid_tool_call"){if(_.type==="reasoning")yield*u(),yield m(_);else if(_.type==="tool_call"){yield*u();let y=_.id??"";y&&(o.add(y),s.delete(y)),yield h(_)}else if(_.type==="tool_call_chunk"){if(_.id){let y=s.get(_.id)??{name:_.name,args:[]};_.name&&(y.name=_.name),_.args&&y.args.push(_.args),s.set(_.id,y)}}else if(_.type==="server_tool_call"){yield*u();let y=_.id??"";y&&(a.add(y),c.delete(y)),yield h(_)}else if(_.type==="server_tool_call_chunk"){if(_.id){let y=c.get(_.id)??{name:_.name,args:[]};_.name&&(y.name=_.name),_.args&&y.args.push(_.args),c.set(_.id,y)}}else if(_.type==="server_tool_call_result")yield*u(),yield w(_);else if(_.type!=="audio")if(_.type==="file"){let y=p(_);y&&l([y])}else if(_.type==="image"){let y=f(_);y&&l([y])}else if(_.type==="video"){let y=p(_);y&&l([y])}else _.type==="text-plain"?_.text&&l([{type:"input_text",text:_.text}]):_.type==="non_standard"&&t&&(yield*u(),yield _.value)}yield*u();for(let[_,y]of s){if(!_||o.has(_))continue;let x=y.args.join("");!y.name&&!x||(yield{type:"function_call",call_id:_,name:y.name??"",arguments:x})}for(let[_,y]of c){if(!_||a.has(_))continue;let x=y.args.join("");!y.name&&!x||(yield{type:"function_call",call_id:_,name:y.name??"",arguments:x})}}return Array.from(r())},kv=({messages:e,zdrEnabled:t,model:r})=>e.flatMap(n=>{let i=n.response_metadata;if(i?.output_version==="v1")return B6(n);let o=n.additional_kwargs,a=Vo(n);if(a==="system"&&Bo(r)&&(a="developer"),a==="function")throw new Error("Function messages are not supported in Responses API");if(a==="tool"){let s=n;if(o?.type==="computer_call_output")return{type:"computer_call_output",output:(()=>{if(typeof s.content=="string")return{type:"input_image",image_url:s.content};if(Array.isArray(s.content)){let u=s.content.find(f=>f.type==="input_image");if(u)return u;let l=s.content.find(f=>f.type==="computer_screenshot");if(l)return l;let d=s.content.find(f=>f.type==="image_url");if(d)return{type:"input_image",image_url:typeof d.image_url=="string"?d.image_url:d.image_url.url}}throw new Error("Invalid computer call output")})(),call_id:s.tool_call_id};if(s.additional_kwargs?.customTool)return{type:"custom_tool_call_output",call_id:s.tool_call_id,output:s.content};let c=Array.isArray(s.content)&&s.content.every(u=>typeof u=="object"&&u!==null&&"type"in u&&(u.type==="input_file"||u.type==="input_image"||u.type==="input_text"));return{type:"function_call_output",call_id:s.tool_call_id,id:s.id?.startsWith("fc_")?s.id:void 0,output:c?s.content:typeof s.content!="string"?JSON.stringify(s.content):s.content}}if(a==="assistant"){if(!t&&i?.output!=null&&Array.isArray(i?.output)&&i?.output.length>0&&i?.output.every(m=>"type"in m))return i?.output;let s=[],c=o?.reasoning,u=!!c?.encrypted_content;if(c&&(!t||u)){let m=F6(c);s.push(m)}let{content:l}=n;o?.refusal&&(typeof l=="string"&&(l=[{type:"output_text",text:l,annotations:[]}]),l=[...l,{type:"refusal",refusal:o.refusal}]),(typeof l=="string"||l.length>0)&&s.push({type:"message",role:"assistant",...n.id&&!t&&n.id.startsWith("msg_")?{id:n.id}:{},content:Fo(()=>typeof l=="string"?l:l.flatMap(m=>{if(m.type==="text"){let h=m;return{type:"output_text",text:h.text,annotations:(h.annotations??[]).map(cX)}}return m.type==="output_text"||m.type==="refusal"?m:[]}))});let d=o?.[Iv];be.isInstance(n)&&n.tool_calls?.length?s.push(...n.tool_calls.map(m=>B2(m)?{type:"custom_tool_call",id:m.call_id,call_id:m.id??"",input:m.args.input,name:m.name}:F2(m)?{type:"computer_call",id:m.call_id,call_id:m.id??"",action:m.args.action}:{type:"function_call",name:m.name,arguments:JSON.stringify(m.args),call_id:m.id,...t?{}:{id:d?.[m.id]}})):o?.tool_calls&&s.push(...o.tool_calls.map(m=>({type:"function_call",name:m.function.name,call_id:m.id,arguments:m.function.arguments,...t?{}:{id:d?.[m.id]}})));let f=i?.output?.length?i?.output:o.tool_outputs,p=["computer_call","mcp_call","code_interpreter_call","image_generation_call","shell_call","local_shell_call"];if(f!=null){let m=f?.filter(h=>p.includes(h.type));m.length>0&&s.push(...m)}return s}if(a==="user"||a==="system"||a==="developer"){if(typeof n.content=="string")return{type:"message",role:a,content:n.content};let s=[],c=n.content.flatMap(u=>(u.type==="mcp_approval_response"&&s.push({type:"mcp_approval_response",approval_request_id:u.approval_request_id,approve:u.approve}),Or(u)?Hc(u,wv):u.type==="text"?{type:"input_text",text:u.text}:u.type==="image_url"?{type:"input_image",image_url:Fo(()=>{if(typeof u.image_url=="string")return u.image_url;if(typeof u.image_url=="object"&&u.image_url!==null&&"url"in u.image_url)return u.image_url.url}),detail:Fo(()=>{if(typeof u.image_url=="string")return"auto";if(typeof u.image_url=="object"&&u.image_url!==null&&"detail"in u.image_url)return u.image_url.detail})}:u.type==="input_text"||u.type==="input_image"||u.type==="input_file"?u:[]));return c.length>0&&s.push({type:"message",role:a,content:c}),s}return console.warn(`Unsupported role found when converting to OpenAI Responses API: ${a}`),[]});var Ev=class extends Rc{constructor(e,t){super(ad(e,t))}invocationParams(e){let t;e?.strict!==void 0&&(t=e.strict),t===void 0&&this.supportsStrictToolCalling!==void 0&&(t=this.supportsStrictToolCalling);let r={model:this.model,temperature:this.temperature,top_p:this.topP,user:this.user,service_tier:this.service_tier,stream:this.streaming,previous_response_id:e?.previous_response_id,truncation:e?.truncation,include:e?.include,tools:e?.tools?.length?this._reduceChatOpenAITools(e.tools,{stream:this.streaming,strict:t}):void 0,tool_choice:D2(e?.tool_choice)?e?.tool_choice:(()=>{let i=_v(e?.tool_choice);if(typeof i=="object"&&"type"in i){if(i.type==="function")return{type:"function",name:i.function.name};if(i.type==="allowed_tools")return{type:"allowed_tools",mode:i.allowed_tools.mode,tools:i.allowed_tools.tools};if(i.type==="custom")return{type:"custom",name:i.custom.name}}})(),text:(()=>{if(e?.text)return e.text;let i=this._getResponseFormat(e?.response_format);return i?.type==="json_schema"?i.json_schema.schema!=null?{format:{type:"json_schema",schema:i.json_schema.schema,description:i.json_schema.description,name:i.json_schema.name,strict:i.json_schema.strict},verbosity:e?.verbosity}:void 0:{format:i,verbosity:e?.verbosity}})(),parallel_tool_calls:e?.parallel_tool_calls,max_output_tokens:this.maxTokens===-1?void 0:this.maxTokens,prompt_cache_key:e?.promptCacheKey??this.promptCacheKey,prompt_cache_retention:e?.promptCacheRetention??this.promptCacheRetention,...this.zdrEnabled?{store:!1}:{},...this.modelKwargs},n=this._getReasoningParams(e);return n!==void 0&&(r.reasoning=n),r}async _generate(e,t,r){t.signal?.throwIfAborted();let n=this.invocationParams(t);if(n.stream){let i=this._streamResponseChunks(e,t,r),o;for await(let a of i)a.message.response_metadata={...a.generationInfo,...a.message.response_metadata},o=o?.concat(a)??a;return{generations:o?[o]:[],llmOutput:{estimatedTokenUsage:o?.message?.usage_metadata}}}else{let i=await this.completionWithRetry({input:kv({messages:e,zdrEnabled:this.zdrEnabled??!1,model:this.model}),...n,stream:!1},{signal:t?.signal,...t?.options});return{generations:[{text:i.output_text,message:Sv(i)}],llmOutput:{id:i.id,estimatedTokenUsage:i.usage?{promptTokens:i.usage.input_tokens,completionTokens:i.usage.output_tokens,totalTokens:i.usage.total_tokens}:void 0}}}}async*_streamResponseChunks(e,t,r){let n=await this.completionWithRetry({...this.invocationParams(t),input:kv({messages:e,zdrEnabled:this.zdrEnabled??!1,model:this.model}),stream:!0},t);for await(let i of n){if(t.signal?.aborted)return;let o=TT(i);o!=null&&(yield o,await r?.handleLLMNewToken(o.text||"",{prompt:t.promptIndex??0,completion:0},void 0,void 0,void 0,{chunk:o}))}}async completionWithRetry(e,t){return this.caller.call(async()=>{let r=this._getClientOptions(t);try{return e.text?.format?.type==="json_schema"&&!e.stream?await this.client.responses.parse(e,r):await this.client.responses.create(e,r)}catch(n){throw ai(n)}})}_reduceChatOpenAITools(e,t){let r=[];for(let n of e)if(od(n))n.type==="image_generation"&&t?.stream&&(n.partial_images=1),r.push(n);else if(Oc(n)){let i=n.metadata.customTool;r.push({type:"custom",name:i.name,description:i.description,format:i.format})}else if($p(n)){let i={};for(let[o,a]of Object.entries(n))o!=="type"&&o!=="function"&&(i[o]=a);r.push({type:"function",name:n.function.name,parameters:n.function.parameters,description:n.function.description,strict:t?.strict??null,...i})}else yv(n)&&r.push(V2(n));return r}};var $v=class V6 extends Rc{useResponsesApi=!1;responses;completions;get lc_serializable_keys(){return[...super.lc_serializable_keys,"useResponsesApi"]}get callKeys(){return[...super.callKeys,"useResponsesApi"]}fields;constructor(t,r){let n=ad(t,r);super(n),this.fields=n,this.useResponsesApi=n?.useResponsesApi??!1,this.responses=n?.responses??new Ev(n),this.completions=n?.completions??new xv(n)}_useResponsesApi(t){let r=t?.tools?.some(od),n=t?.previous_response_id!=null||t?.text!=null||t?.truncation!=null||t?.include!=null||t?.reasoning?.summary!=null||this.reasoning?.summary!=null,i=t?.tools?.some(yv)||t?.tools?.some(Oc);return this.useResponsesApi||r||n||i||C2(this.model)}getLsParams(t){let r=this._combineCallOptions(t);return this._useResponsesApi(t)?this.responses.getLsParams(r):this.completions.getLsParams(r)}invocationParams(t){let r=this._combineCallOptions(t);return this._useResponsesApi(t)?this.responses.invocationParams(r):this.completions.invocationParams(r)}async _generate(t,r,n){return this._useResponsesApi(r)?this.responses._generate(t,r,n):this.completions._generate(t,r,n)}async*_streamResponseChunks(t,r,n){if(this._useResponsesApi(r)){yield*this.responses._streamResponseChunks(t,this._combineCallOptions(r),n);return}yield*this.completions._streamResponseChunks(t,this._combineCallOptions(r),n)}withConfig(t){let r=new V6(this.fields);return r.defaultOptions={...this.defaultOptions,...t},r}};var Tv=class extends Fu{model="text-embedding-ada-002";modelName;batchSize=512;stripNewLines=!0;dimensions;timeout;organization;encodingFormat;client;clientConfig;apiKey;constructor(e){let t={maxConcurrency:2,...e};super(t);let r=t?.apiKey??t?.openAIApiKey??et("OPENAI_API_KEY");this.organization=t?.configuration?.organization??et("OPENAI_ORGANIZATION"),this.model=t?.model??t?.modelName??this.model,this.modelName=this.model,this.batchSize=t?.batchSize??this.batchSize,this.stripNewLines=t?.stripNewLines??this.stripNewLines,this.timeout=t?.timeout,this.dimensions=t?.dimensions,this.encodingFormat=t?.encodingFormat,this.clientConfig={apiKey:r,organization:this.organization,dangerouslyAllowBrowser:!0,...e?.configuration}}async embedDocuments(e){let t=sy(this.stripNewLines?e.map(o=>o.replace(/\n/g," ")):e,this.batchSize),r=t.map(o=>{let a={model:this.model,input:o};return this.dimensions&&(a.dimensions=this.dimensions),this.encodingFormat&&(a.encoding_format=this.encodingFormat),this.embeddingWithRetry(a)}),n=await Promise.all(r),i=[];for(let o=0;o<n.length;o+=1){let a=t[o],{data:s}=n[o];for(let c=0;c<a.length;c+=1)i.push(s[c].embedding)}return i}async embedQuery(e){let t={model:this.model,input:this.stripNewLines?e.replace(/\n/g," "):e};this.dimensions&&(t.dimensions=this.dimensions),this.encodingFormat&&(t.encoding_format=this.encodingFormat);let{data:r}=await this.embeddingWithRetry(t);return r[0].embedding}async embeddingWithRetry(e){if(!this.client){let r=Zo({baseURL:this.clientConfig.baseURL}),n={...this.clientConfig,baseURL:r,timeout:this.timeout,maxRetries:0};n.baseURL||delete n.baseURL,n.defaultHeaders=Go(n.defaultHeaders),this.client=new fe(n)}let t={};return this.caller.call(async()=>{try{return await this.client.embeddings.create(e,t)}catch(r){throw ai(r)}})}};var pX=M.object({type:M.literal("screenshot")}),fX=M.object({type:M.literal("click"),x:M.number(),y:M.number(),button:M.enum(["left","right","wheel","back","forward"]).default("left")}),mX=M.object({type:M.literal("double_click"),x:M.number(),y:M.number(),button:M.enum(["left","right","wheel","back","forward"]).default("left")}),hX=M.object({type:M.literal("drag"),path:M.array(M.object({x:M.number(),y:M.number()}))}),gX=M.object({type:M.literal("keypress"),keys:M.array(M.string())}),_X=M.object({type:M.literal("move"),x:M.number(),y:M.number()}),yX=M.object({type:M.literal("scroll"),x:M.number(),y:M.number(),scroll_x:M.number(),scroll_y:M.number()}),vX=M.object({type:M.literal("type"),text:M.string()}),bX=M.object({type:M.literal("wait"),duration:M.number().optional()}),wX=M.union([pX,fX,mX,hX,gX,_X,yX,vX,bX]),L6e=M.object({action:wX});var xX=M.object({type:M.literal("exec"),command:M.array(M.string()),env:M.record(M.string(),M.string()).optional(),working_directory:M.string().optional(),timeout_ms:M.number().optional(),user:M.string().optional()}),V6e=M.union([xX]);var q6e=M.object({commands:M.array(M.string()).describe("Array of shell commands to execute"),timeout_ms:M.number().optional().describe("Optional timeout in milliseconds for the commands"),max_output_length:M.number().optional().describe("Optional maximum number of characters to return from each command")});var IX=M.object({type:M.literal("create_file"),path:M.string(),diff:M.string()}),SX=M.object({type:M.literal("update_file"),path:M.string(),diff:M.string()}),kX=M.object({type:M.literal("delete_file"),path:M.string()}),X6e=M.union([IX,SX,kX]);var K6={advanced:"gpt-5.2",default:"gpt-5-mini"},RT={default:"text-embedding-ada-002"},AT=new Map,Av=null,TX=()=>{let e=Ov.getDefault().helperServices;if(!e?.aiModels?.url)throw new Error("AI Models Service URL is not defined in the portal's helper services.");return e.aiModels.url},W6=async e=>{let t=TX();AT.size===0&&(Av||(Av=(async()=>{try{let n=await fetch(`${t}/models`);if(!n.ok)throw new Error("Failed to fetch AI service discovery data.");(await n.json()).models.forEach(i=>AT.set(i.name,i))}catch(n){throw Av=null,n}})()),await Av);let r=AT.get(e);if(!r)throw new Error(`Model '${e}' is not available in the discovery service.`);return r.endpoint},AX=async(e="default")=>await W6(K6[e]),J6=async(e="default")=>await W6(RT[e]),OX=async e=>{let t=await CX(),r=await J6("default"),n=Ov.getDefault(),i=(await PT.getCredential(`${n.url}/sharing`)).token,o={type:"generateEmbeddings",webmapEmbeddings:e,auth:{apiUrl:r,token:i}};return t.postMessage(o),await new Promise((a,s)=>{let c=l=>{l.data==="completed"&&(t.removeEventListener("message",c),a())},u=l=>{t.removeEventListener("message",c),s(l instanceof Error?l:new Error("Embeddings worker error"))};t.addEventListener("message",c),t.addEventListener("error",u,{once:!0})}),t},CX=async()=>{{let e=(await import("./24MYCR6F.js")).default;return new e}},Z6=(e,t)=>t,PX=Xn.Root({userInput:Xn(),messages:Xn({reducer:Oo,default:()=>[]}),pendingIntents:Xn({default:()=>[],reducer:Z6}),currentIntent:Xn({default:()=>"none",reducer:Z6})}),qo=async(e,t)=>{await C$("trace_message",e,t)},gBe=async(e,t)=>{await C$("graph_ux_suggestion",e,t)},RX=e=>{e.currentIntent="none",e.pendingIntents=[]},NX=async(e,t)=>{if(e.userInput){let n=new rt(e.userInput.trim());e.messages=[...e.messages,n],RX(e)}let r=t?.configurable?.services.agentRegistry.list().map(n=>n.agent.id)??[];return await qo({text:`Available agents: ${[...r].join(", ")}`},t),await qo({text:"Analyzing user input"},t),e},MX=async(e,t)=>(await qo({text:"Exiting..."},t),e),jX=e=>{if(e.pendingIntents.length===0)return{...e,currentIntent:"none"};let[t,...r]=e.pendingIntents;return{...e,currentIntent:t,pendingIntents:r}},G6=4e3,zX=async(e,t)=>{let r=t?.configurable,{agentRegistry:n}=r.services,i=n?.get(e.currentIntent);if(!i)return console.warn(`No agent found for intent: ${e.currentIntent}`),e;await qo({text:`Executing registered agent: ${i.agent.name}`},t);let o={...t??{},configurable:{...r??{},agentId:i.agent.id,context:i.getContext?await i.getContext():void 0}},a=await i.agent.createGraph().compile().invoke({messages:[...e.messages]},o);await qo({text:`Finished executing registered agent: ${i.agent.name}`},t);let s=typeof a?.outputMessage=="string"?a.outputMessage.trim():"";if(!s)return e;let c=s.length>G6?`${s.slice(0,G6-14)}
|
|
342
|
-
[truncated]`:s;return{...e,messages:[...e.messages,new be(c)]}},DX=(e,t,r)=>{let n=e[t];return n?typeof n=="function"?n():Promise.resolve(n):new Promise((i,o)=>{(typeof queueMicrotask=="function"?queueMicrotask:setTimeout)(o.bind(null,new Error("Unknown variable dynamic import: "+t+(t.split("/").length!==r?". Note that variables only represent file names one level deep.":""))))})},LX=async e=>(await DX(Object.assign({"./field_descriptions_prompt.md":()=>import("./W5CHGOOR.js"),"./intent_prompt.md":()=>import("./BSIB6MUI.js"),"./layer_descriptions_prompt.md":()=>import("./JDL3HFFX.js")}),`./${e}.md`,2)).default,UX=(e,t=3)=>e.filter(r=>r
|
|
341
|
+
]`;continue}o+=i[u],i[u]==="\\"?a=!0:s&&i[u]==="]"?s=!1:!s&&i[u]==="["&&(s=!0)}try{let u=new RegExp(o)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),r.source}return o};function bv(e,t){if(t.target==="openApi3"&&e.keyType?._def.typeName===O.ZodEnum)return{type:"object",required:e.keyType._def.values,properties:e.keyType._def.values.reduce((n,i)=>({...n,[i]:he(e.valueType._def,{...t,currentPath:[...t.currentPath,"properties",i]})??{}}),{}),additionalProperties:!1};let r={type:"object",additionalProperties:he(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??{}};if(t.target==="openApi3")return r;if(e.keyType?._def.typeName===O.ZodString&&e.keyType._def.checks?.length){let n=Object.entries(vv(e.keyType._def,t)).reduce((i,[o,a])=>o==="type"?i:{...i,[o]:a},{});return{...r,propertyNames:n}}else if(e.keyType?._def.typeName===O.ZodEnum)return{...r,propertyNames:{enum:e.keyType._def.values}};return r}function c6(e,t){if(t.mapStrategy==="record")return bv(e,t);let r=he(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||{},n=he(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||{};return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function u6(e){let t=e.values,n=Object.keys(e.values).filter(o=>typeof t[t[o]]!="number").map(o=>t[o]),i=Array.from(new Set(n.map(o=>typeof o)));return{type:i.length===1?i[0]==="string"?"string":"number":["string","number"],enum:n}}function l6(){return{not:{}}}function d6(e){return e.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var Zf={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function f6(e,t){if(t.target==="openApi3")return p6(e,t);let r=e.options instanceof Map?Array.from(e.options.values()):e.options;if(r.every(n=>n._def.typeName in Zf&&(!n._def.checks||!n._def.checks.length))){let n=r.reduce((i,o)=>{let a=Zf[o._def.typeName];return a&&!i.includes(a)?[...i,a]:i},[]);return{type:n.length>1?n:n[0]}}else if(r.every(n=>n._def.typeName==="ZodLiteral"&&!n.description)){let n=r.reduce((i,o)=>{let a=typeof o._def.value;switch(a){case"string":case"number":case"boolean":return[...i,a];case"bigint":return[...i,"integer"];case"object":if(o._def.value===null)return[...i,"null"];case"symbol":case"undefined":case"function":default:return i}},[]);if(n.length===r.length){let i=n.filter((o,a,s)=>s.indexOf(o)===a);return{type:i.length>1?i:i[0],enum:r.reduce((o,a)=>o.includes(a._def.value)?o:[...o,a._def.value],[])}}}else if(r.every(n=>n._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((n,i)=>[...n,...i._def.values.filter(o=>!n.includes(o))],[])};return p6(e,t)}var p6=(e,t)=>{let r=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((n,i)=>he(n._def,{...t,currentPath:[...t.currentPath,"anyOf",`${i}`]})).filter(n=>!!n&&(!t.strictUnions||typeof n=="object"&&Object.keys(n).length>0));return r.length?{anyOf:r}:void 0};function m6(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return t.target==="openApi3"||t.nullableStrategy==="property"?{type:Zf[e.innerType._def.typeName],nullable:!0}:{type:[Zf[e.innerType._def.typeName],"null"]};if(t.target==="openApi3"){let n=he(e.innerType._def,{...t,currentPath:[...t.currentPath]});return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let r=he(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function h6(e,t){let r={type:"number"};if(!e.checks)return r;for(let n of e.checks)switch(n.kind){case"int":r.type="integer",bT(r,"type",n.message,t);break;case"min":t.target==="jsonSchema7"?n.inclusive?Fe(r,"minimum",n.value,n.message,t):Fe(r,"exclusiveMinimum",n.value,n.message,t):(n.inclusive||(r.exclusiveMinimum=!0),Fe(r,"minimum",n.value,n.message,t));break;case"max":t.target==="jsonSchema7"?n.inclusive?Fe(r,"maximum",n.value,n.message,t):Fe(r,"exclusiveMaximum",n.value,n.message,t):(n.inclusive||(r.exclusiveMaximum=!0),Fe(r,"maximum",n.value,n.message,t));break;case"multipleOf":Fe(r,"multipleOf",n.value,n.message,t);break}return r}function J7(e,t){return t.removeAdditionalStrategy==="strict"?e.catchall._def.typeName==="ZodNever"?e.unknownKeys!=="strict":he(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??!0:e.catchall._def.typeName==="ZodNever"?e.unknownKeys==="passthrough":he(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??!0}function g6(e,t){let r={type:"object",...Object.entries(e.shape()).reduce((n,[i,o])=>{if(o===void 0||o._def===void 0)return n;let a=[...t.currentPath,"properties",i],s=he(o._def,{...t,currentPath:a,propertyPath:a});if(s===void 0)return n;if(t.openaiStrictMode&&o.isOptional()&&!o.isNullable()&&typeof o._def?.defaultValue>"u")throw new Error(`Zod field at \`${a.join("/")}\` uses \`.optional()\` without \`.nullable()\` which is not supported by the API. See: https://platform.openai.com/docs/guides/structured-outputs?api-mode=responses#all-fields-must-be-required`);return{properties:{...n.properties,[i]:s},required:o.isOptional()&&!t.openaiStrictMode?n.required:[...n.required,i]}},{properties:{},required:[]}),additionalProperties:J7(e,t)};return r.required.length||delete r.required,r}var _6=(e,t)=>{if(t.propertyPath&&t.currentPath.slice(0,t.propertyPath.length).toString()===t.propertyPath.toString())return he(e.innerType._def,{...t,currentPath:t.currentPath});let r=he(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return r?{anyOf:[{not:{}},r]}:{}};var y6=(e,t)=>{if(t.pipeStrategy==="input")return he(e.in._def,t);if(t.pipeStrategy==="output")return he(e.out._def,t);let r=he(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),n=he(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,n].filter(i=>i!==void 0)}};function v6(e,t){return he(e.type._def,t)}function b6(e,t){let n={type:"array",uniqueItems:!0,items:he(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};return e.minSize&&Fe(n,"minItems",e.minSize.value,e.minSize.message,t),e.maxSize&&Fe(n,"maxItems",e.maxSize.value,e.maxSize.message,t),n}function w6(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((r,n)=>he(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:he(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((r,n)=>he(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}function x6(){return{not:{}}}function I6(){return{}}var S6=(e,t)=>he(e.innerType._def,t);function he(e,t,r=!1){let n=t.seen.get(e);if(t.override){let a=t.override?.(e,t,n,r);if(a!==H2)return a}if(n&&!r){let a=X7(n,t);if(a!==void 0)return"$ref"in a&&t.seenRefs.add(a.$ref),a}let i={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,i);let o=Q7(e,e.typeName,t,r);return o&&eX(e,t,o),i.jsonSchema=o,o}var X7=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"extract-to-root":let r=e.path.slice(t.basePath.length+1).join("_");return r!==t.name&&t.nameStrategy==="duplicate-ref"&&(t.definitions[r]=e.def),{$ref:[...t.basePath,t.definitionPath,r].join("/")};case"relative":return{$ref:Y7(t.currentPath,e.path)};case"none":case"seen":return e.path.length<t.currentPath.length&&e.path.every((n,i)=>t.currentPath[i]===n)?(console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),{}):t.$refStrategy==="seen"?{}:void 0}},Y7=(e,t)=>{let r=0;for(;r<e.length&&r<t.length&&e[r]===t[r];r++);return[(e.length-r).toString(),...t.slice(r)].join("/")},Q7=(e,t,r,n)=>{switch(t){case O.ZodString:return vv(e,r);case O.ZodNumber:return h6(e,r);case O.ZodObject:return g6(e,r);case O.ZodBigInt:return Y2(e,r);case O.ZodBoolean:return Q2();case O.ZodDate:return wT(e,r);case O.ZodUndefined:return x6();case O.ZodNull:return d6(r);case O.ZodArray:return X2(e,r);case O.ZodUnion:case O.ZodDiscriminatedUnion:return f6(e,r);case O.ZodIntersection:return o6(e,r);case O.ZodTuple:return w6(e,r);case O.ZodRecord:return bv(e,r);case O.ZodLiteral:return a6(e,r);case O.ZodEnum:return i6(e);case O.ZodNativeEnum:return u6(e);case O.ZodNullable:return m6(e,r);case O.ZodOptional:return _6(e,r);case O.ZodMap:return c6(e,r);case O.ZodSet:return b6(e,r);case O.ZodLazy:return he(e.getter()._def,r);case O.ZodPromise:return v6(e,r);case O.ZodNaN:case O.ZodNever:return l6();case O.ZodEffects:return n6(e,r,n);case O.ZodAny:return J2();case O.ZodUnknown:return I6();case O.ZodDefault:return r6(e,r);case O.ZodBranded:return e6(e,r);case O.ZodReadonly:return S6(e,r);case O.ZodCatch:return t6(e,r);case O.ZodPipeline:return y6(e,r);case O.ZodFunction:case O.ZodVoid:case O.ZodSymbol:return;default:return(i=>{})(t)}},eX=(e,t,r)=>(e.description&&(r.description=e.description,t.markdownDescription&&(r.markdownDescription=e.description)),r);var IT=(e,t)=>{let r=W2(t),n=typeof t=="string"?t:t?.nameStrategy==="title"?void 0:t?.name,i=he(e._def,n===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,n]},!1)??{},o=typeof t=="object"&&t.name!==void 0&&t.nameStrategy==="title"?t.name:void 0;o!==void 0&&(i.title=o);let a=(()=>{if(K2(r.definitions))return;let c={},u=new Set;for(let l=0;l<500;l++){let d=Object.entries(r.definitions).filter(([f])=>!u.has(f));if(d.length===0)break;for(let[f,p]of d)c[f]=he(Vf(p),{...r,currentPath:[...r.basePath,r.definitionPath,f]},!0)??{},u.add(f)}return c})(),s=n===void 0?a?{...i,[r.definitionPath]:a}:i:r.nameStrategy==="duplicate-ref"?{...i,...a||r.seenRefs.size?{[r.definitionPath]:{...a,...r.seenRefs.size?{[n]:i}:void 0}}:void 0}:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,n].join("/"),[r.definitionPath]:{...a,[n]:i}};return r.target==="jsonSchema7"?s.$schema="http://json-schema.org/draft-07/schema#":r.target==="jsonSchema2019-09"&&(s.$schema="https://json-schema.org/draft/2019-09/schema#"),s};function k6(e){if(e.type!=="object")throw new Error(`Root schema must have type: 'object' but got type: ${e.type?`'${e.type}'`:"undefined"}`);let t=structuredClone(e);return Ho(t,[],t)}function ST(e){if(typeof e=="boolean")return!1;if(e.type==="null")return!0;for(let t of e.oneOf??[])if(ST(t))return!0;for(let t of e.anyOf??[])if(ST(t))return!0;return!1}function Ho(e,t,r){if(typeof e=="boolean")throw new TypeError(`Expected object schema but got boolean; path=${t.join("/")}`);if(!Pc(e))throw new TypeError(`Expected ${JSON.stringify(e)} to be an object; path=${t.join("/")}`);let n=e.$defs;if(Pc(n))for(let[f,p]of Object.entries(n))Ho(p,[...t,"$defs",f],r);let i=e.definitions;if(Pc(i))for(let[f,p]of Object.entries(i))Ho(p,[...t,"definitions",f],r);e.type==="object"&&!("additionalProperties"in e)&&(e.additionalProperties=!1);let a=e.required??[],s=e.properties;if(Pc(s)){for(let[f,p]of Object.entries(s))if(!ST(p)&&!a.includes(f))throw new Error(`Zod field at \`${[...t,"properties",f].join("/")}\` uses \`.optional()\` without \`.nullable()\` which is not supported by the API. See: https://platform.openai.com/docs/guides/structured-outputs?api-mode=responses#all-fields-must-be-required`);e.required=Object.keys(s),e.properties=Object.fromEntries(Object.entries(s).map(([f,p])=>[f,Ho(p,[...t,"properties",f],r)]))}let c=e.items;Pc(c)&&(e.items=Ho(c,[...t,"items"],r));let u=e.anyOf;Array.isArray(u)&&(e.anyOf=u.map((f,p)=>Ho(f,[...t,"anyOf",String(p)],r)));let l=e.allOf;if(Array.isArray(l))if(l.length===1){let f=Ho(l[0],[...t,"allOf","0"],r);Object.assign(e,f),delete e.allOf}else e.allOf=l.map((f,p)=>Ho(f,[...t,"allOf",String(p)],r));e.default===null&&delete e.default;let d=e.$ref;if(d&&rX(e,1)){if(typeof d!="string")throw new TypeError(`Received non-string $ref - ${d}; path=${t.join("/")}`);let f=tX(r,d);if(typeof f=="boolean")throw new Error(`Expected \`$ref: ${d}\` to resolve to an object schema but got boolean`);if(!Pc(f))throw new Error(`Expected \`$ref: ${d}\` to resolve to an object but got ${JSON.stringify(f)}`);return Object.assign(e,{...f,...e}),delete e.$ref,Ho(e,t,r)}return e}function tX(e,t){if(!t.startsWith("#/"))throw new Error(`Unexpected $ref format ${JSON.stringify(t)}; Does not start with #/`);let r=t.slice(2).split("/"),n=e;for(let i of r){if(!Pc(n))throw new Error(`encountered non-object entry while resolving ${t} - ${JSON.stringify(n)}`);let o=n[i];if(o===void 0)throw new Error(`Key ${i} not found while resolving ${t}`);n=o}return n}function Pc(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function rX(e,t){let r=0;for(let n in e)if(r++,r>t)return!0;return!1}function nX(e,t){return IT(e,{openaiStrictMode:!0,name:t.name,nameStrategy:"duplicate-ref",$refStrategy:"extract-to-root",nullableStrategy:"property"})}function iX(e){return k6(fo(e,{target:"draft-7"}))}function oX(e){return"_zod"in e}function E6(e,t,r){return i2({type:"json_schema",json_schema:{...r,name:t,strict:!0,schema:oX(e)?iX(e):nX(e,{name:t})}},n=>e.parse(JSON.parse(n)))}var $6=["jsonSchema","functionCalling","jsonMode"];function T6(e,t){if(typeof t<"u"&&!$6.includes(t))throw new Error(`Invalid method: ${t}. Supported methods are: ${$6.join(", ")}`);let r=!e.startsWith("gpt-3")&&!e.startsWith("gpt-4-")&&e!=="gpt-4";if(r&&!t)return"jsonSchema";if(!r&&t==="jsonSchema")throw new Error(`JSON Schema is not supported for model "${e}". Please use a different method, e.g. "functionCalling" or "jsonMode".`);return t??"functionCalling"}function aX(e,t){let r={...e};return Object.defineProperties(r,{$brand:{value:"auto-parseable-response-format",enumerable:!1},$parseRaw:{value:t,enumerable:!1}}),r}function A6(e,t,r){if(mt(e))return E6(e,t,r);if(We(e))return aX({type:"json_schema",json_schema:{...r,name:t,strict:!0,schema:dt(e,{cycles:"ref",reused:"ref",override(n){n.jsonSchema.title=t}})}},n=>Ei(e,JSON.parse(n)));throw new Error("Unsupported schema response format")}function O6(e,t){if(t&&typeof t=="object"&&"images"in t&&Array.isArray(t.images)){let r=t.images.filter(n=>typeof n?.image_url?.url=="string").map(n=>({type:"image",url:n.image_url.url}));return[{type:"text",text:e},...r]}return e}var C6={"gpt-4o-2024-11-20":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.3-codex":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-codex":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-pro":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:272e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4o-mini":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"text-embedding-ada-002":{maxInputTokens:8192,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1536,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-chat-latest":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"codex-mini-latest":{maxInputTokens:2e5,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.1-codex-max":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4o-2024-05-13":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:4096,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.2-chat-latest":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.2-codex":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o3-deep-research":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},o1:{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.1":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o4-mini-deep-research":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.3-codex-spark":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},o3:{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"text-embedding-3-small":{maxInputTokens:8191,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1536,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4.1-nano":{maxInputTokens:1047576,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32768,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"text-embedding-3-large":{maxInputTokens:8191,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:3072,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-3.5-turbo":{maxInputTokens:16385,imageInputs:!1,audioInputs:!1,pdfInputs:!1,videoInputs:!1,maxOutputTokens:4096,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!1,imageUrlInputs:!1,pdfToolMessage:!1,imageToolMessage:!1,toolChoice:!0},"gpt-5.1-codex-mini":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.2":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4.1":{maxInputTokens:1047576,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32768,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o3-pro":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4-turbo":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:4096,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o4-mini":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4.1-mini":{maxInputTokens:1047576,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32768,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.4":{maxInputTokens:105e4,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o1-preview":{maxInputTokens:128e3,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32768,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.4-pro":{maxInputTokens:105e4,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o1-pro":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.1-codex":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.2-pro":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o3-mini":{maxInputTokens:2e5,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4o-2024-08-06":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-mini":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.1-chat-latest":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4":{maxInputTokens:8192,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:8192,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-nano":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o1-mini":{maxInputTokens:128e3,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:65536,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4o":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0}};function ad(e,t){return typeof e=="string"?{model:e,...t??{}}:e??t}var Rc=class extends zi{temperature;topP;frequencyPenalty;presencePenalty;n;logitBias;model="gpt-3.5-turbo";modelKwargs;stop;stopSequences;user;timeout;streaming=!1;streamUsage=!0;maxTokens;logprobs;topLogprobs;apiKey;organization;__includeRawResponse;client;clientConfig;supportsStrictToolCalling;audio;modalities;reasoning;zdrEnabled;service_tier;promptCacheKey;promptCacheRetention;verbosity;defaultOptions;_llmType(){return"openai"}static lc_name(){return"ChatOpenAI"}get callKeys(){return[...super.callKeys,"options","function_call","functions","tools","tool_choice","promptIndex","response_format","seed","reasoning","reasoning_effort","service_tier"]}lc_serializable=!0;get lc_secrets(){return{apiKey:"OPENAI_API_KEY",organization:"OPENAI_ORGANIZATION"}}get lc_aliases(){return{apiKey:"openai_api_key",modelName:"model"}}get lc_serializable_keys(){return["configuration","logprobs","topLogprobs","prefixMessages","supportsStrictToolCalling","modalities","audio","temperature","maxTokens","topP","frequencyPenalty","presencePenalty","n","logitBias","user","streaming","streamUsage","model","modelName","modelKwargs","stop","stopSequences","timeout","apiKey","cache","maxConcurrency","maxRetries","verbose","callbacks","tags","metadata","disableStreaming","zdrEnabled","reasoning","promptCacheKey","promptCacheRetention","verbosity"]}getLsParams(e){let t=this.invocationParams(e);return{ls_provider:"openai",ls_model_name:this.model,ls_model_type:"chat",ls_temperature:t.temperature??void 0,ls_max_tokens:t.max_tokens??void 0,ls_stop:e.stop}}_identifyingParams(){return{model_name:this.model,...this.invocationParams(),...this.clientConfig}}identifyingParams(){return this._identifyingParams()}constructor(e){super(e??{});let t=typeof e?.configuration?.apiKey=="string"||typeof e?.configuration?.apiKey=="function"?e?.configuration?.apiKey:void 0;this.apiKey=e?.apiKey??t??et("OPENAI_API_KEY"),this.organization=e?.configuration?.organization??et("OPENAI_ORGANIZATION"),this.model=e?.model??e?.modelName??this.model,this.modelKwargs=e?.modelKwargs??{},this.timeout=e?.timeout,this.temperature=e?.temperature??this.temperature,this.topP=e?.topP??this.topP,this.frequencyPenalty=e?.frequencyPenalty??this.frequencyPenalty,this.presencePenalty=e?.presencePenalty??this.presencePenalty,this.logprobs=e?.logprobs,this.topLogprobs=e?.topLogprobs,this.n=e?.n??this.n,this.logitBias=e?.logitBias,this.stop=e?.stopSequences??e?.stop,this.stopSequences=this.stop,this.user=e?.user,this.__includeRawResponse=e?.__includeRawResponse,this.audio=e?.audio,this.modalities=e?.modalities,this.reasoning=e?.reasoning,this.maxTokens=e?.maxCompletionTokens??e?.maxTokens,this.promptCacheKey=e?.promptCacheKey??this.promptCacheKey,this.promptCacheRetention=e?.promptCacheRetention??this.promptCacheRetention,this.verbosity=e?.verbosity??this.verbosity,this.disableStreaming=e?.disableStreaming===!0,this.streaming=e?.streaming===!0,this.disableStreaming&&(this.streaming=!1),e?.streaming===!1&&(this.disableStreaming=!0),this.streamUsage=e?.streamUsage??this.streamUsage,this.disableStreaming&&(this.streamUsage=!1),this.clientConfig={apiKey:this.apiKey,organization:this.organization,dangerouslyAllowBrowser:!0,...e?.configuration},e?.supportsStrictToolCalling!==void 0&&(this.supportsStrictToolCalling=e.supportsStrictToolCalling),e?.service_tier!==void 0&&(this.service_tier=e.service_tier),this.zdrEnabled=e?.zdrEnabled??!1,this._addVersion("@langchain/openai","1.3.0")}_getReasoningParams(e){if(!Bo(this.model))return;let t;return this.reasoning!==void 0&&(t={...t,...this.reasoning}),e?.reasoning!==void 0&&(t={...t,...e.reasoning}),e?.reasoningEffort!==void 0&&t?.effort===void 0&&(t={...t,effort:e.reasoningEffort}),t}_getResponseFormat(e){return e&&e.type==="json_schema"&&e.json_schema.schema&&zt(e.json_schema.schema)?A6(e.json_schema.schema,e.json_schema.name,{description:e.json_schema.description}):e}_combineCallOptions(e){return{...this.defaultOptions,...e??{}}}_getClientOptions(e){if(!this.client){let t=Zo({baseURL:this.clientConfig.baseURL}),r={...this.clientConfig,baseURL:t,timeout:this.timeout,maxRetries:0};r.baseURL||delete r.baseURL,r.defaultHeaders=Go(r.defaultHeaders),this.client=new fe(r)}return{...this.clientConfig,...e}}_convertChatOpenAIToolToCompletionsTool(e,t){return Oc(e)?Z2(e.metadata.customTool):$p(e)?t?.strict!==void 0?{...e,function:{...e.function,strict:t.strict}}:e:N2(e,t)}bindTools(e,t){let r;return t?.strict!==void 0?r=t.strict:this.supportsStrictToolCalling!==void 0&&(r=this.supportsStrictToolCalling),this.withConfig({tools:e.map(n=>{if(od(n)||Oc(n))return n;if(z2(n))return n.extras.providerToolDefinition;let i=this._convertChatOpenAIToolToCompletionsTool(n,{strict:r});return Io(n)&&n.extras?.defer_loading===!0?{...i,defer_loading:!0}:i}),...t})}async stream(e,t){return super.stream(e,this._combineCallOptions(t))}async invoke(e,t){return super.invoke(e,this._combineCallOptions(t))}_combineLLMOutput(...e){return e.reduce((t,r)=>(r&&r.tokenUsage&&(t.tokenUsage.completionTokens+=r.tokenUsage.completionTokens??0,t.tokenUsage.promptTokens+=r.tokenUsage.promptTokens??0,t.tokenUsage.totalTokens+=r.tokenUsage.totalTokens??0),t),{tokenUsage:{completionTokens:0,promptTokens:0,totalTokens:0}})}async getNumTokensFromMessages(e){let t=0,r=0,n=0;this.model==="gpt-3.5-turbo-0301"?(r=4,n=-1):(r=3,n=1);let i=await Promise.all(e.map(async o=>{let[a,s]=await Promise.all([this.getNumTokens(o.content),this.getNumTokens(Vo(o))]),c=o.name!==void 0?n+await this.getNumTokens(o.name):0,u=a+r+s+c,l=o;if(l._getType()==="function"&&(u-=2),l.additional_kwargs?.function_call&&(u+=3),l?.additional_kwargs.function_call?.name&&(u+=await this.getNumTokens(l.additional_kwargs.function_call?.name)),l.additional_kwargs.function_call?.arguments)try{u+=await this.getNumTokens(JSON.stringify(JSON.parse(l.additional_kwargs.function_call?.arguments)))}catch(d){console.error("Error parsing function arguments",d,JSON.stringify(l.additional_kwargs.function_call)),u+=await this.getNumTokens(l.additional_kwargs.function_call?.arguments)}return t+=u,u}));return t+=3,{totalCount:t,countPerMessage:i}}async _getNumTokensFromGenerations(e){return(await Promise.all(e.map(async t=>t.message.additional_kwargs?.function_call?(await this.getNumTokensFromMessages([t.message])).countPerMessage[0]:await this.getNumTokens(t.message.content)))).reduce((t,r)=>t+r,0)}async _getEstimatedTokenCountFromPrompt(e,t,r){let n=(await this.getNumTokensFromMessages(e)).totalCount;if(t&&r!=="auto"){let i=M2(t);n+=await this.getNumTokens(i),n+=9}return t&&e.find(i=>i._getType()==="system")&&(n-=4),r==="none"?n+=1:typeof r=="object"&&(n+=await this.getNumTokens(r.name)+4),n}async moderateContent(e,t){let r=this._getClientOptions(t?.options),n={input:e,model:t?.model??"omni-moderation-latest"};return this.caller.call(async()=>{try{return await this.client.moderations.create(n,r)}catch(i){throw ai(i)}})}get profile(){return C6[this.model]??{}}_getStructuredOutputMethod(e){let t={...e};if(!this.model.startsWith("gpt-3")&&!this.model.startsWith("gpt-4-")&&this.model!=="gpt-4"){if(t?.method===void 0)return"jsonSchema"}else t.method==="jsonSchema"&&console.warn(`[WARNING]: JSON Schema is not supported for model "${this.model}". Falling back to tool calling.`);return t.method}withStructuredOutput(e,t){let r,n,{schema:i,name:o,includeRaw:a}={...t,schema:e};if(t?.strict!==void 0&&t.method==="jsonMode")throw new Error("Argument `strict` is only supported for `method` = 'function_calling'");let s=T6(this.model,t?.method);if(s==="jsonMode"){n=g_(i);let c=dt(i);r=this.withConfig({outputVersion:"v0",response_format:{type:"json_object"},ls_structured_output_format:{kwargs:{method:"json_mode"},schema:{title:o??"extract",...c}}})}else if(s==="jsonSchema"){let c=dt(i),u={name:o??"extract",description:Un(c),schema:zt(i)?i:c,strict:t?.strict};if(r=this.withConfig({outputVersion:"v0",response_format:{type:"json_schema",json_schema:u},ls_structured_output_format:{kwargs:{method:"json_schema"},schema:{title:u.name,description:u.description,...c}}}),zt(i)||ki(i)){let l=g_(i);n=Zt.from(async d=>"parsed"in d.additional_kwargs?d.additional_kwargs.parsed:l.invoke(d.content))}else n=new Gu}else{let c=o??"extract",u=dt(i),l;zt(i)||ki(i)?l={name:c,description:u.description,parameters:u}:typeof i.name=="string"&&typeof i.parameters=="object"&&i.parameters!=null?(l=i,c=i.name):(c=i.title??c,l={name:c,description:i.description??"",parameters:i}),r=this.withConfig({outputVersion:"v0",tools:[{type:"function",function:l}],tool_choice:{type:"function",function:{name:c}},ls_structured_output_format:{kwargs:{method:"function_calling"},schema:{title:c,...u}},...t?.strict!==void 0?{strict:t.strict}:{}}),n=ik(i,c)}return Op(r,n,a)}};var wv={providerName:"ChatOpenAI",fromStandardTextBlock(e){return{type:"text",text:e.text}},fromStandardImageBlock(e){if(e.source_type==="url")return{type:"image_url",image_url:{url:e.url,...e.metadata?.detail?{detail:e.metadata.detail}:{}}};if(e.source_type==="base64")return{type:"image_url",image_url:{url:`data:${e.mime_type??""};base64,${e.data}`,...e.metadata?.detail?{detail:e.metadata.detail}:{}}};throw new Error(`Image content blocks with source_type ${e.source_type} are not supported for ChatOpenAI`)},fromStandardAudioBlock(e){if(e.source_type==="url"){let t=Jo({dataUrl:e.url});if(!t)throw new Error(`URL audio blocks with source_type ${e.source_type} must be formatted as a data URL for ChatOpenAI`);let r=t.mime_type||e.mime_type||"",n;try{n=wd(r)}catch{throw new Error(`Audio blocks with source_type ${e.source_type} must have mime type of audio/wav or audio/mp3`)}if(n.type!=="audio"||n.subtype!=="wav"&&n.subtype!=="mp3")throw new Error(`Audio blocks with source_type ${e.source_type} must have mime type of audio/wav or audio/mp3`);return{type:"input_audio",input_audio:{format:n.subtype,data:t.data}}}if(e.source_type==="base64"){let t;try{t=wd(e.mime_type??"")}catch{throw new Error(`Audio blocks with source_type ${e.source_type} must have mime type of audio/wav or audio/mp3`)}if(t.type!=="audio"||t.subtype!=="wav"&&t.subtype!=="mp3")throw new Error(`Audio blocks with source_type ${e.source_type} must have mime type of audio/wav or audio/mp3`);return{type:"input_audio",input_audio:{format:t.subtype,data:e.data}}}throw new Error(`Audio content blocks with source_type ${e.source_type} are not supported for ChatOpenAI`)},fromStandardFileBlock(e){if(e.source_type==="url"){let t=Jo({dataUrl:e.url}),r=id(e);if(!t)throw new Error(`URL file blocks with source_type ${e.source_type} must be formatted as a data URL for ChatOpenAI`);return{type:"file",file:{file_data:e.url,...e.metadata?.filename||e.metadata?.name?{filename:r}:{}}}}if(e.source_type==="base64"){let t=id(e);return{type:"file",file:{file_data:`data:${e.mime_type??""};base64,${e.data}`,...e.metadata?.filename||e.metadata?.name||e.metadata?.title?{filename:t}:{}}}}if(e.source_type==="id")return{type:"file",file:{file_id:e.id}};throw new Error(`File content blocks with source_type ${e.source_type} are not supported for ChatOpenAI`)}},kT=({message:e,rawResponse:t,includeRawResponse:r})=>{let n=e.tool_calls;switch(e.role){case"assistant":{let i=[],o=[];for(let c of n??[])try{i.push(Ks(c,{returnId:!0}))}catch(u){o.push(ka(c,u.message))}let a={function_call:e.function_call,tool_calls:n};r!==void 0&&(a.__raw_response=t);let s={model_provider:"openai",model_name:t.model,...t.system_fingerprint?{usage:{...t.usage},system_fingerprint:t.system_fingerprint}:{}};return e.audio&&(a.audio=e.audio),new be({content:O6(e.content||"",t.choices?.[0]?.message),tool_calls:i,invalid_tool_calls:o,additional_kwargs:a,response_metadata:s,id:t.id})}default:return new mr(e.content||"",e.role??"unknown")}},ET=({delta:e,rawResponse:t,includeRawResponse:r,defaultRole:n})=>{let i=e.role??n,o=e.content??"",a;e.function_call?a={function_call:e.function_call}:e.tool_calls?a={tool_calls:e.tool_calls}:a={},r&&(a.__raw_response=t),e.audio&&(a.audio={...e.audio,index:t.choices[0].index});let s={model_provider:"openai",usage:{...t.usage}};if(i==="user")return new so({content:o,response_metadata:s});if(i==="assistant"){let c=[];if(Array.isArray(e.tool_calls))for(let u of e.tool_calls)c.push({name:u.function?.name,args:u.function?.arguments,id:u.id,index:u.index,type:"tool_call_chunk"});return new at({content:o,tool_call_chunks:c,additional_kwargs:a,id:t.id,response_metadata:s})}else return i==="system"?new fn({content:o,response_metadata:s}):i==="developer"?new fn({content:o,response_metadata:s,additional_kwargs:{__openai_role__:"developer"}}):i==="function"?new ao({content:o,additional_kwargs:a,name:e.name,response_metadata:s}):i==="tool"?new Yo({content:o,additional_kwargs:a,tool_call_id:e.tool_call_id,response_metadata:s}):new oo({content:o,role:i,response_metadata:s})},P6=e=>{if(e.type==="image"){if(e.url)return{type:"image_url",image_url:{url:e.url}};if(e.data)return{type:"image_url",image_url:{url:`data:${e.mimeType};base64,${e.data}`}}}if(e.type==="audio"&&e.data){let t=$m(()=>{let[,r]=e.mimeType.split("/");return r==="wav"||r==="mp3"?r:"wav"});return{type:"input_audio",input_audio:{data:e.data.toString(),format:t}}}if(e.type==="file"){if(e.data){let t=id(e);return{type:"file",file:{file_data:`data:${e.mimeType};base64,${e.data}`,filename:t}}}if(e.fileId)return{type:"file",file:{file_id:e.fileId}}}},R6=({message:e,model:t})=>{let r=Vo(e);if(r==="system"&&Bo(t)&&(r="developer"),r==="developer")return{role:"developer",content:e.contentBlocks.filter(i=>i.type==="text")};if(r==="system")return{role:"system",content:e.contentBlocks.filter(i=>i.type==="text")};if(r==="assistant")return{role:"assistant",content:e.contentBlocks.filter(i=>i.type==="text")};if(r==="tool"&&jt.isInstance(e))return{role:"tool",tool_call_id:e.tool_call_id,content:e.contentBlocks.filter(i=>i.type==="text")};if(r==="function")return{role:"function",name:e.name??"",content:e.contentBlocks.filter(i=>i.type==="text").join("")};function*n(i){for(let o of i){o.type==="text"&&(yield{type:"text",text:o.text});let a=P6(o);a&&(yield a)}}return{role:"user",content:Array.from(n(e.contentBlocks))}},Gf=({messages:e,model:t})=>e.flatMap(r=>{if("output_version"in r.response_metadata&&r.response_metadata?.output_version==="v1")return R6({message:r});let n=Vo(r);n==="system"&&Bo(t)&&(n="developer");let i=typeof r.content=="string"?r.content:r.content.flatMap(a=>Or(a)?Hc(a,wv):typeof a=="object"&&a!==null&&"type"in a&&a.type==="tool_use"?[]:a),o={role:n,content:i};return r.name!=null&&(o.name=r.name),r.additional_kwargs.function_call!=null&&(o.function_call=r.additional_kwargs.function_call),be.isInstance(r)&&r.tool_calls?.length?o.tool_calls=r.tool_calls.map(m_):(r.additional_kwargs.tool_calls!=null&&(o.tool_calls=r.additional_kwargs.tool_calls),jt.isInstance(r)&&r.tool_call_id!=null&&(o.tool_call_id=r.tool_call_id)),r.additional_kwargs.audio&&typeof r.additional_kwargs.audio=="object"&&"id"in r.additional_kwargs.audio?[o,{role:"assistant",audio:{id:r.additional_kwargs.audio.id}}]:o});var xv=class extends Rc{constructor(e,t){super(ad(e,t))}invocationParams(e,t){let r;e?.strict!==void 0?r=e.strict:this.supportsStrictToolCalling!==void 0&&(r=this.supportsStrictToolCalling);let n={};e?.stream_options!==void 0?n={stream_options:e.stream_options}:this.streamUsage&&(this.streaming||t?.streaming)&&(n={stream_options:{include_usage:!0}});let i={model:this.model,temperature:this.temperature,top_p:this.topP,frequency_penalty:this.frequencyPenalty,presence_penalty:this.presencePenalty,logprobs:this.logprobs,top_logprobs:this.topLogprobs,n:this.n,logit_bias:this.logitBias,stop:e?.stop??this.stopSequences,user:this.user,stream:this.streaming,functions:e?.functions,function_call:e?.function_call,tools:e?.tools?.length?e.tools.map(a=>this._convertChatOpenAIToolToCompletionsTool(a,{strict:r})):void 0,tool_choice:_v(e?.tool_choice),response_format:this._getResponseFormat(e?.response_format),seed:e?.seed,...n,parallel_tool_calls:e?.parallel_tool_calls,...this.audio||e?.audio?{audio:this.audio||e?.audio}:{},...this.modalities||e?.modalities?{modalities:this.modalities||e?.modalities}:{},...this.modelKwargs,prompt_cache_key:e?.promptCacheKey??this.promptCacheKey,prompt_cache_retention:e?.promptCacheRetention??this.promptCacheRetention,verbosity:e?.verbosity??this.verbosity};e?.prediction!==void 0&&(i.prediction=e.prediction),this.service_tier!==void 0&&(i.service_tier=this.service_tier),e?.service_tier!==void 0&&(i.service_tier=e.service_tier);let o=this._getReasoningParams(e);return o!==void 0&&o.effort!==void 0&&(i.reasoning_effort=o.effort),Bo(i.model)?i.max_completion_tokens=this.maxTokens===-1?void 0:this.maxTokens:i.max_tokens=this.maxTokens===-1?void 0:this.maxTokens,i}async _generate(e,t,r){t.signal?.throwIfAborted();let n={},i=this.invocationParams(t),o=Gf({messages:e,model:this.model});if(i.stream){let a=this._streamResponseChunks(e,t,r),s={};for await(let p of a){p.message.response_metadata={...p.generationInfo,...p.message.response_metadata};let m=p.generationInfo?.completion??0;s[m]===void 0?s[m]=p:s[m]=s[m].concat(p)}let c=Object.entries(s).sort(([p],[m])=>parseInt(p,10)-parseInt(m,10)).map(([p,m])=>m),{functions:u,function_call:l}=this.invocationParams(t),d=await this._getEstimatedTokenCountFromPrompt(e,u,l),f=await this._getNumTokensFromGenerations(c);return n.input_tokens=d,n.output_tokens=f,n.total_tokens=d+f,{generations:c,llmOutput:{estimatedTokenUsage:{promptTokens:n.input_tokens,completionTokens:n.output_tokens,totalTokens:n.total_tokens}}}}else{let a=await this.completionWithRetry({...i,stream:!1,messages:o},{signal:t?.signal,...t?.options}),{completion_tokens:s,prompt_tokens:c,total_tokens:u,prompt_tokens_details:l,completion_tokens_details:d}=a?.usage??{};s&&(n.output_tokens=(n.output_tokens??0)+s),c&&(n.input_tokens=(n.input_tokens??0)+c),u&&(n.total_tokens=(n.total_tokens??0)+u),(l?.audio_tokens!==null||l?.cached_tokens!==null)&&(n.input_token_details={...l?.audio_tokens!==null&&{audio:l?.audio_tokens},...l?.cached_tokens!==null&&{cache_read:l?.cached_tokens}}),(d?.audio_tokens!==null||d?.reasoning_tokens!==null)&&(n.output_token_details={...d?.audio_tokens!==null&&{audio:d?.audio_tokens},...d?.reasoning_tokens!==null&&{reasoning:d?.reasoning_tokens}});let f=[];for(let p of a?.choices??[]){let m={text:p.message?.content??"",message:this._convertCompletionsMessageToBaseMessage(p.message??{role:"assistant"},a)};m.generationInfo={...p.finish_reason?{finish_reason:p.finish_reason}:{},...p.logprobs?{logprobs:p.logprobs}:{}},hi(m.message)&&(m.message.usage_metadata=n),m.message=new be(Object.fromEntries(Object.entries(m.message).filter(([h])=>!h.startsWith("lc_")))),f.push(m)}return{generations:f,llmOutput:{tokenUsage:{promptTokens:n.input_tokens,completionTokens:n.output_tokens,totalTokens:n.total_tokens}}}}}async*_streamResponseChunks(e,t,r){let n=Gf({messages:e,model:this.model}),i={...this.invocationParams(t,{streaming:!0}),messages:n,stream:!0},o,a=await this.completionWithRetry(i,t),s;for await(let c of a){if(t.signal?.aborted)return;let u=c?.choices?.[0];if(c.usage&&(s=c.usage),!u)continue;let{delta:l}=u;if(!l)continue;let d=this._convertCompletionsDeltaToBaseMessageChunk(l,c,o);o=l.role??o;let f={prompt:t.promptIndex??0,completion:u.index??0};if(typeof d.content!="string"){console.log("[WARNING]: Received non-string content from OpenAI. This is currently not supported.");continue}let p={...f};u.finish_reason!=null&&(p.finish_reason=u.finish_reason,p.system_fingerprint=c.system_fingerprint,p.model_name=c.model,p.service_tier=c.service_tier),this.logprobs&&(p.logprobs=u.logprobs);let m=new Xr({message:d,text:d.content,generationInfo:p});yield m,await r?.handleLLMNewToken(m.text??"",f,void 0,void 0,void 0,{chunk:m})}if(s){let c={...s.prompt_tokens_details?.audio_tokens!==null&&{audio:s.prompt_tokens_details?.audio_tokens},...s.prompt_tokens_details?.cached_tokens!==null&&{cache_read:s.prompt_tokens_details?.cached_tokens}},u={...s.completion_tokens_details?.audio_tokens!==null&&{audio:s.completion_tokens_details?.audio_tokens},...s.completion_tokens_details?.reasoning_tokens!==null&&{reasoning:s.completion_tokens_details?.reasoning_tokens}},l=new Xr({message:new at({content:"",response_metadata:{usage:{...s}},usage_metadata:{input_tokens:s.prompt_tokens,output_tokens:s.completion_tokens,total_tokens:s.total_tokens,...Object.keys(c).length>0&&{input_token_details:c},...Object.keys(u).length>0&&{output_token_details:u}}}),text:""});yield l,await r?.handleLLMNewToken(l.text??"",{prompt:0,completion:0},void 0,void 0,void 0,{chunk:l})}if(t.signal?.aborted)throw new Error("AbortError")}async completionWithRetry(e,t){let r=this._getClientOptions(t),n=e.response_format&&e.response_format.type==="json_schema";return this.caller.call(async()=>{try{return n&&!e.stream?await this.client.chat.completions.parse(e,r):await this.client.chat.completions.create(e,r)}catch(i){throw ai(i)}})}_convertCompletionsDeltaToBaseMessageChunk(e,t,r){return ET({delta:e,rawResponse:t,includeRawResponse:this.__includeRawResponse,defaultRole:r})}_convertCompletionsMessageToBaseMessage(e,t){return kT({message:e,rawResponse:t,includeRawResponse:this.__includeRawResponse})}};var Iv="__openai_function_call_ids__";function U6(e){return e.type==="url_citation"?{type:"citation",source:"url_citation",url:e.url,title:e.title,startIndex:e.start_index,endIndex:e.end_index}:e.type==="file_citation"?{type:"citation",source:"file_citation",title:e.filename,startIndex:e.index,file_id:e.file_id}:e.type==="container_file_citation"?{type:"citation",source:"container_file_citation",title:e.filename,startIndex:e.start_index,endIndex:e.end_index,file_id:e.file_id,container_id:e.container_id}:e.type==="file_path"?{type:"citation",source:"file_path",startIndex:e.index,file_id:e.file_id}:{type:"non_standard",value:e}}function cX(e){if(e.type==="url_citation"||e.type==="file_citation"||e.type==="container_file_citation"||e.type==="file_path")return e;if(e.type==="citation"){let t=e;if(t.source==="url_citation")return{type:"url_citation",url:t.url??"",title:t.title??"",start_index:t.startIndex??0,end_index:t.endIndex??0};if(t.source==="file_citation")return{type:"file_citation",file_id:t.file_id??"",filename:t.title??"",index:t.startIndex??0};if(t.source==="container_file_citation")return{type:"container_file_citation",file_id:t.file_id??"",filename:t.title??"",container_id:t.container_id??"",start_index:t.startIndex??0,end_index:t.endIndex??0};if(t.source==="file_path")return{type:"file_path",file_id:t.file_id??"",index:t.startIndex??0}}return e.type==="non_standard"?e.value:e}var $T=e=>{let t={...e?.input_tokens_details?.cached_tokens!=null&&{cache_read:e?.input_tokens_details?.cached_tokens}},r={...e?.output_tokens_details?.reasoning_tokens!=null&&{reasoning:e?.output_tokens_details?.reasoning_tokens}};return{input_tokens:e?.input_tokens??0,output_tokens:e?.output_tokens??0,total_tokens:e?.total_tokens??0,input_token_details:t,output_token_details:r}},Sv=e=>{if(e.error){let c=new Error(e.error.message);throw c.name=e.error.code,c}let t,r=[],n=[],i=[],o=e.output.map(c=>{if(c.type==="function_call"&&"parsed_arguments"in c){let u={...c};return delete u.parsed_arguments,u}return c}),a={model_provider:"openai",model:e.model,created_at:e.created_at,id:e.id,incomplete_details:e.incomplete_details,metadata:e.metadata,object:e.object,output:o,status:e.status,user:e.user,service_tier:e.service_tier,model_name:e.model},s={};for(let c of e.output)if(c.type==="message")t=c.id,r.push(...c.content.flatMap(u=>u.type==="output_text"?("parsed"in u&&u.parsed!=null&&(s.parsed=u.parsed),{type:"text",text:u.text,annotations:u.annotations.map(U6)}):u.type==="refusal"?(s.refusal=u.refusal,[]):u));else if(c.type==="function_call"){let u={function:{name:c.name,arguments:c.arguments},id:c.call_id};try{n.push(Ks(u,{returnId:!0}))}catch(l){let d;typeof l=="object"&&l!=null&&"message"in l&&typeof l.message=="string"&&(d=l.message),i.push(ka(u,d))}s[Iv]??={},c.id&&(s[Iv][c.call_id]=c.id)}else if(c.type==="reasoning"){s.reasoning=c;let u=c.summary?.map(l=>l.text).filter(Boolean).join("");u&&r.push({type:"reasoning",reasoning:u})}else if(c.type==="custom_tool_call"){let u=L2(c);u?n.push(u):i.push(ka(c,"Malformed custom tool call"))}else if(c.type==="computer_call"){let u=U2(c);u?n.push(u):i.push(ka(c,"Malformed computer call"))}else c.type==="image_generation_call"?(c.result&&r.push({type:"image",mimeType:"image/png",data:c.result,id:c.id,metadata:{status:c.status}}),s.tool_outputs??=[],s.tool_outputs.push(c)):(s.tool_outputs??=[],s.tool_outputs.push(c));return new be({id:t,content:r,tool_calls:n,invalid_tool_calls:i,usage_metadata:$T(e.usage),additional_kwargs:s,response_metadata:a})},F6=e=>{let t=(e.summary.length>1?e.summary.reduce((r,n)=>{let i=r[r.length-1];return i.index===n.index?i.text+=n.text:r.push(n),r},[{...e.summary[0]}]):e.summary).map(r=>Object.fromEntries(Object.entries(r).filter(([n])=>n!=="index")));return{...e,summary:t}},TT=e=>{let t=[],r={},n,i=[],o={model_provider:"openai"},a={},s;if(e.type==="response.output_text.delta")t.push({type:"text",text:e.delta,index:e.content_index});else if(e.type==="response.output_text.annotation.added")t.push({type:"text",text:"",annotations:[U6(e.annotation)],index:e.content_index});else if(e.type==="response.output_item.added"&&e.item.type==="message")s=e.item.id;else if(e.type==="response.output_item.added"&&e.item.type==="function_call")i.push({type:"tool_call_chunk",name:e.item.name,args:e.item.arguments,id:e.item.call_id,index:e.output_index}),a[Iv]={[e.item.call_id]:e.item.id};else if(e.type==="response.output_item.done"&&e.item.type==="computer_call")i.push({type:"tool_call_chunk",name:"computer_use",args:JSON.stringify({action:e.item.action}),id:e.item.call_id,index:e.output_index}),a.tool_outputs=[e.item];else if(e.type==="response.output_item.done"&&e.item.type==="image_generation_call")e.item.result&&t.push({type:"image",mimeType:"image/png",data:e.item.result,id:e.item.id,metadata:{status:e.item.status}}),a.tool_outputs=[e.item];else if(e.type==="response.output_item.done"&&["web_search_call","file_search_call","code_interpreter_call","shell_call","local_shell_call","mcp_call","mcp_list_tools","mcp_approval_request","custom_tool_call","tool_search_call","tool_search_output"].includes(e.item.type))a.tool_outputs=[e.item];else if(e.type==="response.created")o.id=e.response.id,o.model_name=e.response.model,o.model=e.response.model;else if(e.type==="response.completed"){let c=Sv(e.response);n=$T(e.response.usage),e.response.text?.format?.type==="json_schema"&&(a.parsed??=JSON.parse(c.text));for(let[u,l]of Object.entries(e.response))u!=="id"&&(u==="output"?o[u]=c.response_metadata.output:o[u]=l)}else if(e.type==="response.function_call_arguments.delta"||e.type==="response.custom_tool_call_input.delta")i.push({type:"tool_call_chunk",args:e.delta,index:e.output_index});else if(e.type==="response.web_search_call.completed"||e.type==="response.file_search_call.completed")r={tool_outputs:{id:e.item_id,type:e.type.replace("response.","").replace(".completed",""),status:"completed"}};else if(e.type==="response.refusal.done")a.refusal=e.refusal;else if(e.type==="response.output_item.added"&&"item"in e&&e.item.type==="reasoning"){let c=e.item.summary?e.item.summary.map((l,d)=>({...l,index:d})):void 0;a.reasoning={id:e.item.id,type:e.item.type,...c?{summary:c}:{}};let u=e.item.summary?.map(l=>l.text).filter(Boolean).join("");u&&t.push({type:"reasoning",reasoning:u})}else if(e.type==="response.reasoning_summary_part.added")a.reasoning={type:"reasoning",summary:[{...e.part,index:e.summary_index}]},e.part.text&&t.push({type:"reasoning",reasoning:e.part.text});else if(e.type==="response.reasoning_summary_text.delta")a.reasoning={type:"reasoning",summary:[{text:e.delta,type:"summary_text",index:e.summary_index}]},e.delta&&t.push({type:"reasoning",reasoning:e.delta});else return e.type==="response.image_generation_call.partial_image",null;return new Xr({text:t.map(c=>c.text).join(""),message:new at({id:s,content:t,tool_call_chunks:i,usage_metadata:n,additional_kwargs:a,response_metadata:o}),generationInfo:r})},B6=e=>{let t=be.isInstance(e)&&e.response_metadata?.model_provider==="openai";function*r(){let n=Fo(()=>{try{let _=Vo(e);return _==="system"||_==="developer"||_==="assistant"||_==="user"?_:"assistant"}catch{return"assistant"}}),i,o=new Set,a=new Set,s=new Map,c=new Map;function*u(){if(!i)return;let _=i.content;(typeof _=="string"&&_.length>0||Array.isArray(_)&&_.length>0)&&(yield i),i=void 0}let l=_=>{i||(i={type:"message",role:n,content:[]}),typeof i.content=="string"?i.content=i.content.length>0?[{type:"input_text",text:i.content},..._]:[..._]:i.content.push(..._)},d=_=>{if(typeof _=="string")return _;try{return JSON.stringify(_??{})}catch{return"{}"}},f=_=>{let y=Fo(()=>{let x=_.metadata?.detail;return x==="low"||x==="high"||x==="auto"?x:"auto"});if(_.fileId)return{type:"input_image",detail:y,file_id:_.fileId};if(_.url)return{type:"input_image",detail:y,image_url:_.url};if(_.data){let x=typeof _.data=="string"?_.data:Buffer.from(_.data).toString("base64");return{type:"input_image",detail:y,image_url:`data:${_.mimeType??"image/png"};base64,${x}`}}},p=_=>{if(_.fileId){let y=yT(_);return{type:"input_file",file_id:_.fileId,...y?{filename:y}:{}}}if(_.url){let y=yT(_);return{...y?{filename:y}:{},type:"input_file",file_url:_.url}}if(_.data){let y=id(_),x=typeof _.data=="string"?_.data:Buffer.from(_.data).toString("base64");return{type:"input_file",file_data:`data:${_.mimeType??"application/octet-stream"};base64,${x}`,...y?{filename:y}:{}}}},m=_=>{let y=Fo(()=>{if(Array.isArray(_.summary)){let $=_.summary?.map(j=>j?.text).filter(j=>typeof j=="string")??[];if($.length>0)return $}return _.reasoning?[_.reasoning]:[]}),x=y.length>0?y.map($=>({type:"summary_text",text:$})):[{type:"summary_text",text:""}],S={type:"reasoning",id:_.id??"",summary:x};return _.reasoning&&(S.content=[{type:"reasoning_text",text:_.reasoning}]),S},h=_=>({type:"function_call",name:_.name??"",call_id:_.id??"",arguments:d(_.args)}),w=_=>{let y=d(_.output),x=_.status==="success"?"completed":_.status==="error"?"incomplete":void 0;return{type:"function_call_output",call_id:_.toolCallId??"",output:y,...x?{status:x}:{}}};for(let _ of e.contentBlocks)if(_.type==="text")l([{type:"input_text",text:_.text}]);else if(_.type!=="invalid_tool_call"){if(_.type==="reasoning")yield*u(),yield m(_);else if(_.type==="tool_call"){yield*u();let y=_.id??"";y&&(o.add(y),s.delete(y)),yield h(_)}else if(_.type==="tool_call_chunk"){if(_.id){let y=s.get(_.id)??{name:_.name,args:[]};_.name&&(y.name=_.name),_.args&&y.args.push(_.args),s.set(_.id,y)}}else if(_.type==="server_tool_call"){yield*u();let y=_.id??"";y&&(a.add(y),c.delete(y)),yield h(_)}else if(_.type==="server_tool_call_chunk"){if(_.id){let y=c.get(_.id)??{name:_.name,args:[]};_.name&&(y.name=_.name),_.args&&y.args.push(_.args),c.set(_.id,y)}}else if(_.type==="server_tool_call_result")yield*u(),yield w(_);else if(_.type!=="audio")if(_.type==="file"){let y=p(_);y&&l([y])}else if(_.type==="image"){let y=f(_);y&&l([y])}else if(_.type==="video"){let y=p(_);y&&l([y])}else _.type==="text-plain"?_.text&&l([{type:"input_text",text:_.text}]):_.type==="non_standard"&&t&&(yield*u(),yield _.value)}yield*u();for(let[_,y]of s){if(!_||o.has(_))continue;let x=y.args.join("");!y.name&&!x||(yield{type:"function_call",call_id:_,name:y.name??"",arguments:x})}for(let[_,y]of c){if(!_||a.has(_))continue;let x=y.args.join("");!y.name&&!x||(yield{type:"function_call",call_id:_,name:y.name??"",arguments:x})}}return Array.from(r())},kv=({messages:e,zdrEnabled:t,model:r})=>e.flatMap(n=>{let i=n.response_metadata;if(i?.output_version==="v1")return B6(n);let o=n.additional_kwargs,a=Vo(n);if(a==="system"&&Bo(r)&&(a="developer"),a==="function")throw new Error("Function messages are not supported in Responses API");if(a==="tool"){let s=n;if(o?.type==="computer_call_output")return{type:"computer_call_output",output:(()=>{if(typeof s.content=="string")return{type:"input_image",image_url:s.content};if(Array.isArray(s.content)){let u=s.content.find(f=>f.type==="input_image");if(u)return u;let l=s.content.find(f=>f.type==="computer_screenshot");if(l)return l;let d=s.content.find(f=>f.type==="image_url");if(d)return{type:"input_image",image_url:typeof d.image_url=="string"?d.image_url:d.image_url.url}}throw new Error("Invalid computer call output")})(),call_id:s.tool_call_id};if(s.additional_kwargs?.customTool)return{type:"custom_tool_call_output",call_id:s.tool_call_id,output:s.content};let c=Array.isArray(s.content)&&s.content.every(u=>typeof u=="object"&&u!==null&&"type"in u&&(u.type==="input_file"||u.type==="input_image"||u.type==="input_text"));return{type:"function_call_output",call_id:s.tool_call_id,id:s.id?.startsWith("fc_")?s.id:void 0,output:c?s.content:typeof s.content!="string"?JSON.stringify(s.content):s.content}}if(a==="assistant"){if(!t&&i?.output!=null&&Array.isArray(i?.output)&&i?.output.length>0&&i?.output.every(m=>"type"in m))return i?.output;let s=[],c=o?.reasoning,u=!!c?.encrypted_content;if(c&&(!t||u)){let m=F6(c);s.push(m)}let{content:l}=n;o?.refusal&&(typeof l=="string"&&(l=[{type:"output_text",text:l,annotations:[]}]),l=[...l,{type:"refusal",refusal:o.refusal}]),(typeof l=="string"||l.length>0)&&s.push({type:"message",role:"assistant",...n.id&&!t&&n.id.startsWith("msg_")?{id:n.id}:{},content:Fo(()=>typeof l=="string"?l:l.flatMap(m=>{if(m.type==="text"){let h=m;return{type:"output_text",text:h.text,annotations:(h.annotations??[]).map(cX)}}return m.type==="output_text"||m.type==="refusal"?m:[]}))});let d=o?.[Iv];be.isInstance(n)&&n.tool_calls?.length?s.push(...n.tool_calls.map(m=>B2(m)?{type:"custom_tool_call",id:m.call_id,call_id:m.id??"",input:m.args.input,name:m.name}:F2(m)?{type:"computer_call",id:m.call_id,call_id:m.id??"",action:m.args.action}:{type:"function_call",name:m.name,arguments:JSON.stringify(m.args),call_id:m.id,...t?{}:{id:d?.[m.id]}})):o?.tool_calls&&s.push(...o.tool_calls.map(m=>({type:"function_call",name:m.function.name,call_id:m.id,arguments:m.function.arguments,...t?{}:{id:d?.[m.id]}})));let f=i?.output?.length?i?.output:o.tool_outputs,p=["computer_call","mcp_call","code_interpreter_call","image_generation_call","shell_call","local_shell_call"];if(f!=null){let m=f?.filter(h=>p.includes(h.type));m.length>0&&s.push(...m)}return s}if(a==="user"||a==="system"||a==="developer"){if(typeof n.content=="string")return{type:"message",role:a,content:n.content};let s=[],c=n.content.flatMap(u=>(u.type==="mcp_approval_response"&&s.push({type:"mcp_approval_response",approval_request_id:u.approval_request_id,approve:u.approve}),Or(u)?Hc(u,wv):u.type==="text"?{type:"input_text",text:u.text}:u.type==="image_url"?{type:"input_image",image_url:Fo(()=>{if(typeof u.image_url=="string")return u.image_url;if(typeof u.image_url=="object"&&u.image_url!==null&&"url"in u.image_url)return u.image_url.url}),detail:Fo(()=>{if(typeof u.image_url=="string")return"auto";if(typeof u.image_url=="object"&&u.image_url!==null&&"detail"in u.image_url)return u.image_url.detail})}:u.type==="input_text"||u.type==="input_image"||u.type==="input_file"?u:[]));return c.length>0&&s.push({type:"message",role:a,content:c}),s}return console.warn(`Unsupported role found when converting to OpenAI Responses API: ${a}`),[]});var Ev=class extends Rc{constructor(e,t){super(ad(e,t))}invocationParams(e){let t;e?.strict!==void 0&&(t=e.strict),t===void 0&&this.supportsStrictToolCalling!==void 0&&(t=this.supportsStrictToolCalling);let r={model:this.model,temperature:this.temperature,top_p:this.topP,user:this.user,service_tier:this.service_tier,stream:this.streaming,previous_response_id:e?.previous_response_id,truncation:e?.truncation,include:e?.include,tools:e?.tools?.length?this._reduceChatOpenAITools(e.tools,{stream:this.streaming,strict:t}):void 0,tool_choice:D2(e?.tool_choice)?e?.tool_choice:(()=>{let i=_v(e?.tool_choice);if(typeof i=="object"&&"type"in i){if(i.type==="function")return{type:"function",name:i.function.name};if(i.type==="allowed_tools")return{type:"allowed_tools",mode:i.allowed_tools.mode,tools:i.allowed_tools.tools};if(i.type==="custom")return{type:"custom",name:i.custom.name}}})(),text:(()=>{if(e?.text)return e.text;let i=this._getResponseFormat(e?.response_format);return i?.type==="json_schema"?i.json_schema.schema!=null?{format:{type:"json_schema",schema:i.json_schema.schema,description:i.json_schema.description,name:i.json_schema.name,strict:i.json_schema.strict},verbosity:e?.verbosity}:void 0:{format:i,verbosity:e?.verbosity}})(),parallel_tool_calls:e?.parallel_tool_calls,max_output_tokens:this.maxTokens===-1?void 0:this.maxTokens,prompt_cache_key:e?.promptCacheKey??this.promptCacheKey,prompt_cache_retention:e?.promptCacheRetention??this.promptCacheRetention,...this.zdrEnabled?{store:!1}:{},...this.modelKwargs},n=this._getReasoningParams(e);return n!==void 0&&(r.reasoning=n),r}async _generate(e,t,r){t.signal?.throwIfAborted();let n=this.invocationParams(t);if(n.stream){let i=this._streamResponseChunks(e,t,r),o;for await(let a of i)a.message.response_metadata={...a.generationInfo,...a.message.response_metadata},o=o?.concat(a)??a;return{generations:o?[o]:[],llmOutput:{estimatedTokenUsage:o?.message?.usage_metadata}}}else{let i=await this.completionWithRetry({input:kv({messages:e,zdrEnabled:this.zdrEnabled??!1,model:this.model}),...n,stream:!1},{signal:t?.signal,...t?.options});return{generations:[{text:i.output_text,message:Sv(i)}],llmOutput:{id:i.id,estimatedTokenUsage:i.usage?{promptTokens:i.usage.input_tokens,completionTokens:i.usage.output_tokens,totalTokens:i.usage.total_tokens}:void 0}}}}async*_streamResponseChunks(e,t,r){let n=await this.completionWithRetry({...this.invocationParams(t),input:kv({messages:e,zdrEnabled:this.zdrEnabled??!1,model:this.model}),stream:!0},t);for await(let i of n){if(t.signal?.aborted)return;let o=TT(i);o!=null&&(yield o,await r?.handleLLMNewToken(o.text||"",{prompt:t.promptIndex??0,completion:0},void 0,void 0,void 0,{chunk:o}))}}async completionWithRetry(e,t){return this.caller.call(async()=>{let r=this._getClientOptions(t);try{return e.text?.format?.type==="json_schema"&&!e.stream?await this.client.responses.parse(e,r):await this.client.responses.create(e,r)}catch(n){throw ai(n)}})}_reduceChatOpenAITools(e,t){let r=[];for(let n of e)if(od(n))n.type==="image_generation"&&t?.stream&&(n.partial_images=1),r.push(n);else if(Oc(n)){let i=n.metadata.customTool;r.push({type:"custom",name:i.name,description:i.description,format:i.format})}else if($p(n)){let i={};for(let[o,a]of Object.entries(n))o!=="type"&&o!=="function"&&(i[o]=a);r.push({type:"function",name:n.function.name,parameters:n.function.parameters,description:n.function.description,strict:t?.strict??null,...i})}else yv(n)&&r.push(V2(n));return r}};var $v=class V6 extends Rc{useResponsesApi=!1;responses;completions;get lc_serializable_keys(){return[...super.lc_serializable_keys,"useResponsesApi"]}get callKeys(){return[...super.callKeys,"useResponsesApi"]}fields;constructor(t,r){let n=ad(t,r);super(n),this.fields=n,this.useResponsesApi=n?.useResponsesApi??!1,this.responses=n?.responses??new Ev(n),this.completions=n?.completions??new xv(n)}_useResponsesApi(t){let r=t?.tools?.some(od),n=t?.previous_response_id!=null||t?.text!=null||t?.truncation!=null||t?.include!=null||t?.reasoning?.summary!=null||this.reasoning?.summary!=null,i=t?.tools?.some(yv)||t?.tools?.some(Oc);return this.useResponsesApi||r||n||i||C2(this.model)}getLsParams(t){let r=this._combineCallOptions(t);return this._useResponsesApi(t)?this.responses.getLsParams(r):this.completions.getLsParams(r)}invocationParams(t){let r=this._combineCallOptions(t);return this._useResponsesApi(t)?this.responses.invocationParams(r):this.completions.invocationParams(r)}async _generate(t,r,n){return this._useResponsesApi(r)?this.responses._generate(t,r,n):this.completions._generate(t,r,n)}async*_streamResponseChunks(t,r,n){if(this._useResponsesApi(r)){yield*this.responses._streamResponseChunks(t,this._combineCallOptions(r),n);return}yield*this.completions._streamResponseChunks(t,this._combineCallOptions(r),n)}withConfig(t){let r=new V6(this.fields);return r.defaultOptions={...this.defaultOptions,...t},r}};var Tv=class extends Fu{model="text-embedding-ada-002";modelName;batchSize=512;stripNewLines=!0;dimensions;timeout;organization;encodingFormat;client;clientConfig;apiKey;constructor(e){let t={maxConcurrency:2,...e};super(t);let r=t?.apiKey??t?.openAIApiKey??et("OPENAI_API_KEY");this.organization=t?.configuration?.organization??et("OPENAI_ORGANIZATION"),this.model=t?.model??t?.modelName??this.model,this.modelName=this.model,this.batchSize=t?.batchSize??this.batchSize,this.stripNewLines=t?.stripNewLines??this.stripNewLines,this.timeout=t?.timeout,this.dimensions=t?.dimensions,this.encodingFormat=t?.encodingFormat,this.clientConfig={apiKey:r,organization:this.organization,dangerouslyAllowBrowser:!0,...e?.configuration}}async embedDocuments(e){let t=sy(this.stripNewLines?e.map(o=>o.replace(/\n/g," ")):e,this.batchSize),r=t.map(o=>{let a={model:this.model,input:o};return this.dimensions&&(a.dimensions=this.dimensions),this.encodingFormat&&(a.encoding_format=this.encodingFormat),this.embeddingWithRetry(a)}),n=await Promise.all(r),i=[];for(let o=0;o<n.length;o+=1){let a=t[o],{data:s}=n[o];for(let c=0;c<a.length;c+=1)i.push(s[c].embedding)}return i}async embedQuery(e){let t={model:this.model,input:this.stripNewLines?e.replace(/\n/g," "):e};this.dimensions&&(t.dimensions=this.dimensions),this.encodingFormat&&(t.encoding_format=this.encodingFormat);let{data:r}=await this.embeddingWithRetry(t);return r[0].embedding}async embeddingWithRetry(e){if(!this.client){let r=Zo({baseURL:this.clientConfig.baseURL}),n={...this.clientConfig,baseURL:r,timeout:this.timeout,maxRetries:0};n.baseURL||delete n.baseURL,n.defaultHeaders=Go(n.defaultHeaders),this.client=new fe(n)}let t={};return this.caller.call(async()=>{try{return await this.client.embeddings.create(e,t)}catch(r){throw ai(r)}})}};var pX=M.object({type:M.literal("screenshot")}),fX=M.object({type:M.literal("click"),x:M.number(),y:M.number(),button:M.enum(["left","right","wheel","back","forward"]).default("left")}),mX=M.object({type:M.literal("double_click"),x:M.number(),y:M.number(),button:M.enum(["left","right","wheel","back","forward"]).default("left")}),hX=M.object({type:M.literal("drag"),path:M.array(M.object({x:M.number(),y:M.number()}))}),gX=M.object({type:M.literal("keypress"),keys:M.array(M.string())}),_X=M.object({type:M.literal("move"),x:M.number(),y:M.number()}),yX=M.object({type:M.literal("scroll"),x:M.number(),y:M.number(),scroll_x:M.number(),scroll_y:M.number()}),vX=M.object({type:M.literal("type"),text:M.string()}),bX=M.object({type:M.literal("wait"),duration:M.number().optional()}),wX=M.union([pX,fX,mX,hX,gX,_X,yX,vX,bX]),L6e=M.object({action:wX});var xX=M.object({type:M.literal("exec"),command:M.array(M.string()),env:M.record(M.string(),M.string()).optional(),working_directory:M.string().optional(),timeout_ms:M.number().optional(),user:M.string().optional()}),V6e=M.union([xX]);var q6e=M.object({commands:M.array(M.string()).describe("Array of shell commands to execute"),timeout_ms:M.number().optional().describe("Optional timeout in milliseconds for the commands"),max_output_length:M.number().optional().describe("Optional maximum number of characters to return from each command")});var IX=M.object({type:M.literal("create_file"),path:M.string(),diff:M.string()}),SX=M.object({type:M.literal("update_file"),path:M.string(),diff:M.string()}),kX=M.object({type:M.literal("delete_file"),path:M.string()}),X6e=M.union([IX,SX,kX]);var K6={advanced:"gpt-5.2",default:"gpt-5-mini"},RT={default:"text-embedding-ada-002"},AT=new Map,Av=null,TX=()=>{let e=Ov.getDefault().helperServices;if(!e?.aiModels?.url)throw new Error("AI Models Service URL is not defined in the portal's helper services.");return e.aiModels.url},W6=async e=>{let t=TX();AT.size===0&&(Av||(Av=(async()=>{try{let n=await fetch(`${t}/models`);if(!n.ok)throw new Error("Failed to fetch AI service discovery data.");(await n.json()).models.forEach(i=>AT.set(i.name,i))}catch(n){throw Av=null,n}})()),await Av);let r=AT.get(e);if(!r)throw new Error(`Model '${e}' is not available in the discovery service.`);return r.endpoint},AX=async(e="default")=>await W6(K6[e]),J6=async(e="default")=>await W6(RT[e]),OX=async e=>{let t=await CX(),r=await J6("default"),n=Ov.getDefault(),i=(await PT.getCredential(`${n.url}/sharing`)).token,o={type:"generateEmbeddings",webmapEmbeddings:e,auth:{apiUrl:r,token:i}};return t.postMessage(o),await new Promise((a,s)=>{let c=l=>{l.data==="completed"&&(t.removeEventListener("message",c),a())},u=l=>{t.removeEventListener("message",c),s(l instanceof Error?l:new Error("Embeddings worker error"))};t.addEventListener("message",c),t.addEventListener("error",u,{once:!0})}),t},CX=async()=>{{let e=(await import("./24MYCR6F.js")).default;return new e}},Z6=(e,t)=>t,PX=Xn.Root({userInput:Xn(),messages:Xn({reducer:Oo,default:()=>[]}),pendingIntents:Xn({default:()=>[],reducer:Z6}),currentIntent:Xn({default:()=>"none",reducer:Z6})}),qo=async(e,t)=>{await C$("trace_message",e,t)},gBe=async(e,t)=>{await C$("graph_ux_suggestion",e,t)},RX=e=>{e.currentIntent="none",e.pendingIntents=[]},NX=async(e,t)=>{if(e.userInput){let n=new st(e.userInput.trim());e.messages=[...e.messages,n],RX(e)}let r=t?.configurable?.services.agentRegistry.list().map(n=>n.agent.id)??[];return await qo({text:`Available agents: ${[...r].join(", ")}`},t),await qo({text:"Analyzing user input"},t),e},MX=async(e,t)=>(await qo({text:"Exiting..."},t),e),jX=e=>{if(e.pendingIntents.length===0)return{...e,currentIntent:"none"};let[t,...r]=e.pendingIntents;return{...e,currentIntent:t,pendingIntents:r}},G6=4e3,zX=async(e,t)=>{let r=t?.configurable,{agentRegistry:n}=r.services,i=n?.get(e.currentIntent);if(!i)return console.warn(`No agent found for intent: ${e.currentIntent}`),e;await qo({text:`Executing registered agent: ${i.agent.name}`},t);let o={...t??{},configurable:{...r??{},agentId:i.agent.id,context:i.getContext?await i.getContext():void 0}},a=await i.agent.createGraph().compile().invoke({messages:[...e.messages]},o);await qo({text:`Finished executing registered agent: ${i.agent.name}`},t);let s=typeof a?.outputMessage=="string"?a.outputMessage.trim():"";if(!s)return e;let c=s.length>G6?`${s.slice(0,G6-14)}
|
|
342
|
+
[truncated]`:s;return{...e,messages:[...e.messages,new be(c)]}},DX=(e,t,r)=>{let n=e[t];return n?typeof n=="function"?n():Promise.resolve(n):new Promise((i,o)=>{(typeof queueMicrotask=="function"?queueMicrotask:setTimeout)(o.bind(null,new Error("Unknown variable dynamic import: "+t+(t.split("/").length!==r?". Note that variables only represent file names one level deep.":""))))})},LX=async e=>(await DX(Object.assign({"./field_descriptions_prompt.md":()=>import("./W5CHGOOR.js"),"./intent_prompt.md":()=>import("./BSIB6MUI.js"),"./layer_descriptions_prompt.md":()=>import("./JDL3HFFX.js")}),`./${e}.md`,2)).default,UX=(e,t=3)=>e.filter(r=>r.type==="human").slice(-t),FX=e=>{let t=-1;for(let r=e.length-1;r>=0;r--)if(e[r]instanceof st){t=r;break}return t===-1?"":e.slice(t+1).filter(r=>r instanceof be).map(r=>r.content).join(`
|
|
343
343
|
`)},X6=e=>async(t,r)=>{let n=new Headers(r?.headers);return n.delete("Authorization"),n.delete("api-key"),e&&e.length>0&&(n.set("X-Esri-Authorization",`Bearer ${e}`),n.set("X-Esri-Request-Source","MapsSDK")),await fetch(t,{...r,headers:n})},NT=async(e="default",t=0)=>{let r=Ov.getDefault(),n=await PT.getCredential(`${r.url}/sharing`),i=K6[e],o=await AX(e);return new $v({modelName:i,apiKey:"dummy-key",...e!=="default"&&{temperature:t},configuration:{baseURL:o,fetch:X6(n.token)}})},BX=async(e="default")=>{let t=Ov.getDefault(),r=await PT.getCredential(`${t.url}/sharing`),n=RT[e],i=await J6(e);return new Tv({modelName:n,apiKey:"dummy-key",configuration:{baseURL:i,fetch:X6(r.token)},batchSize:2048,maxConcurrency:10})},VX=e=>{let t=new Set;for(let r of e)if(hi(r)){let n=r;n.tool_calls&&n.tool_calls.length>0&&n.tool_calls.forEach(i=>{i.id&&t.add(i.id)})}return e.filter(r=>{if(ss(r)){let n=r;return t.has(n.tool_call_id)}return!0})},MT=(e,t)=>{let r=Lp.fromTemplate(e);return $a.fromMessages([r,...t])},ZX=async e=>{let{promptText:t,modelTier:r,temperature:n,messages:i}=e,o=MT(t,i??[]),a=await NT(r,n);return o.pipe(a)},_Be=async e=>{let{promptText:t,modelTier:r="default",temperature:n=0,messages:i,inputVariables:o}=e,a=await(await ZX({promptText:t,modelTier:r,temperature:n,messages:i})).invoke(o??{});if(typeof a=="string")return a;let s=a.content;return typeof s=="string"?s:JSON.stringify(s)},GX=async e=>{let{promptText:t,modelTier:r="default",temperature:n=0,messages:i,inputVariables:o,schema:a}=e,s=MT(t,i??[]),c=(await NT(r,n)).withStructuredOutput(a);return await s.pipe(c).invoke(o??{})},yBe=async e=>{let{promptText:t,modelTier:r="default",temperature:n=0,messages:i,inputVariables:o,tools:a}=e,s=a.length>0?VX(i??[]):i??[],c=MT(t,s),u=await NT(r,n);return await c.pipe(u.bindTools(a)).invoke(o??{})},HX=M.object({id:M.string().min(1),name:M.string().min(1),description:M.string().min(1)});M.array(HX);var qX=e=>{let t=e.map(n=>n.id),r=M.enum(t);return M.object({intents:M.array(r)})},KX=async(e,t)=>{try{await qo({text:"Asking LLM to detect intents"},t);let r=await LX("intent_prompt"),n=(t?.configurable?.services.agentRegistry?.list()??[]).map(({agent:p})=>({id:p.id,name:p.name,description:p.description}));if(!n.length)return await qo({text:"No agents registered; skipping intent detection"},t),{...e,currentIntent:"none",pendingIntents:[]};let i=n.map(p=>JSON.stringify(p)).join(`
|
|
344
|
-
`),o=n.length,a=qX(n),s={maxIntents:o,registeredAgents:i},c=await GX({promptText:r,schema:a,messages:UX(e.messages),inputVariables:s}),u=new Set,l=(c.intents??[]).filter(p=>u.has(p)?!1:(u.add(p),!0)).slice(0,o),d=l[0]??"none",f={...e,currentIntent:d,pendingIntents:l};return await qo({text:`Intents came back as: ${l.join(", ")||"none"}`},t),f}catch(r){throw await qo({text:"Error during intent detection"},t),new Error(`Error during intent detection: ${r instanceof Error?r.message:String(r)}`)}},WX=()=>new Vy(PX).addNode("ingestInput",NX).addNode("intentLLM",KX).addNode("intentDispatcher",jX).addNode("executeRegisteredAgent",zX).addNode("exit",MX).addEdge(Ye,"ingestInput").addEdge("ingestInput","intentLLM").addEdge("intentLLM","intentDispatcher").addConditionalEdges("intentDispatcher",e=>e.currentIntent==="none"?"exit":"executeRegisteredAgent").addEdge("executeRegisteredAgent","intentDispatcher").addEdge("exit",
|
|
344
|
+
`),o=n.length,a=qX(n),s={maxIntents:o,registeredAgents:i},c=await GX({promptText:r,schema:a,messages:UX(e.messages),inputVariables:s}),u=new Set,l=(c.intents??[]).filter(p=>u.has(p)?!1:(u.add(p),!0)).slice(0,o),d=l[0]??"none",f={...e,currentIntent:d,pendingIntents:l};return await qo({text:`Intents came back as: ${l.join(", ")||"none"}`},t),f}catch(r){throw await qo({text:"Error during intent detection"},t),new Error(`Error during intent detection: ${r instanceof Error?r.message:String(r)}`)}},WX=()=>new Vy(PX).addNode("ingestInput",NX).addNode("intentLLM",KX).addNode("intentDispatcher",jX).addNode("executeRegisteredAgent",zX).addNode("exit",MX).addEdge(Ye,"ingestInput").addEdge("ingestInput","intentLLM").addEdge("intentLLM","intentDispatcher").addConditionalEdges("intentDispatcher",e=>e.currentIntent==="none"?"exit":"executeRegisteredAgent").addEdge("executeRegisteredAgent","intentDispatcher").addEdge("exit",it),OT=class{constructor(){this.agentRegistry=new Map}register(t){let{agent:r}=t;if(this.agentRegistry.has(r.id))throw new Error(`Duplicate agent id: ${r.id}`);this.agentRegistry.set(r.id,t)}get(t){return this.agentRegistry.get(t)}list(){return[...this.agentRegistry.values()]}},CT=class{constructor(t,r){this.graph=t,this.config={...r}}async waitForUser(){return await new Promise((t,r)=>{this.resolveWait=t,this.rejectWait=r})}handle(t,r){try{let n={agentId:t.agentId,id:t.id,payload:r},i=this.graph.streamEvents(null,{...this.config,configurable:{...this.config.configurable,hitlResponse:n},subgraphs:!0,version:"v2"});this.resolveWait?.(i)}catch(n){this.rejectWait?.(n)}finally{this.resolveWait=void 0,this.rejectWait=void 0}}cancel(){this.rejectWait&&(this.rejectWait(new Error("Request cancelled by user.")),this.resolveWait=void 0,this.rejectWait=void 0)}},JX=async e=>{try{return await(await BX()).embedDocuments(e)}catch(t){throw console.error("Failed to generate embeddings:",t),t}},Y6=async(e,t)=>{let r=t.get(e);if(r)return r;let n=await JX([e]);return t.set(e,n[0]),n[0]};async function XX(e,t,r,n){let i=`req-${Date.now()}`,o={type:"layerSearch",precomputedEmbedding:n?await Y6(e,n):void 0,requestId:i,minScore:r};return await new Promise(a=>{let s=c=>{c.data.requestId===i&&a(c.data.results)};t.addEventListener("message",s,{once:!0}),t.postMessage(o)})}function YX(e){let{worker:t}=e;return{async searchLayers({text:r,minScore:n,embeddingCache:i}){return await XX(r,t,n,i)}}}var QX=async({combinedQuery:e,layerIds:t,embeddingsWorker:r,minScore:n,topResults:i,embeddingCache:o})=>{let a=`req-${Date.now()}`,s=o?await Y6(e,o):void 0,c={type:"fieldSearch",layerIdForFieldsSearch:t,precomputedEmbedding:s,requestId:a,minScore:n,topResults:i};return await new Promise(u=>{let l=d=>{if(d.data.requestId!==a)return;let f=d.data.results.map(({layerId:p,results:m})=>({layerId:p,results:m}));u(f)};r.addEventListener("message",l,{once:!0}),r.postMessage(c)})};function eY(e){let{worker:t}=e;return{async searchFields({text:r,layerIds:n,minScore:i,topResults:o,embeddingCache:a}){return await QX({combinedQuery:r,layerIds:n,embeddingsWorker:t,minScore:i,topResults:o,embeddingCache:a})}}}var tY="0.1",Hf=1536,rY="openai",nY=RT.default,iY=`Name: {name}
|
|
345
345
|
Title: {title}
|
|
346
346
|
Description: {description}`,oY=`Name: {name}
|
|
347
347
|
Alias: {alias}
|
|
348
|
-
Description: {description}`,aY=M.object({schemaVersion:M.literal(tY),modified:M.number().int().nonnegative(),embeddings:M.object({modelProvider:M.literal(rY),model:M.literal(nY),dimensions:M.literal(Hf),templates:M.object({layer:M.string().default(iY),field:M.string().default(oY)})}),layers:M.array(M.object({id:M.string().min(1),name:M.string().min(1),title:M.string().catch(""),description:M.string().catch(""),vector:M.array(M.number()).length(Hf,{message:`Layer vector must be exactly ${Hf} dimensions`}),fields:M.array(M.object({name:M.string().min(1),alias:M.string().catch(""),description:M.string().catch(""),vector:M.array(M.number()).length(Hf,{message:`Field vector must be exactly ${Hf} dimensions`})}))})).default([])}),sY=e=>{let t=aY.safeParse(e);if(!t.success)throw new Error("Embeddings response validation failed. Regenerate embeddings.");return t.data},cY=(e,t)=>{let r=new Map,n=new Map;if(t.allLayers.forEach(i=>{i instanceof EX&&n.set(i.id,i)}),e.length!==n.size)throw new Error("Layer count mismatch during registry restoration. Regenerate embeddings.");for(let i of e){let o=n.get(i.id);if(!o)throw new Error(`Layer with ID ${i.id} not found in the original map during registry restoration. Regenerate embeddings.`);if(i.fields.length!==o.fields.length)throw new Error(`Field count mismatch for layer ID ${i.id} during registry restoration. Regenerate embeddings.`);let a={name:i.name,title:i.title,description:i.description},s=new Map;for(let c of i.fields){let u=o.fieldsIndex.get(c.name);if(!u)throw new Error(`Field with name ${c.name} not found in the original layer ${i.id} during registry restoration. Regenerate embeddings.`);s.set(c.name,{name:c.name,alias:c.alias,description:c.description,type:u.type||"unknown",valueType:u.valueType||"unknown",domain:o.getFieldDomain(c.name)??void 0})}r.set(i.id,{layerItem:a,fieldRegistry:s})}return r},uY=async e=>{try{return(await $X(e,{responseType:"json"})).data}catch(t){throw new Error(`Failed to fetch data from ${e}: ${String(t)}`)}},lY=async e=>{let t=e.map;if(!t?.portalItem)throw new Error("WebMap portal item is missing.");let{resources:r}=await t.portalItem.fetchResources(),n=r.find(o=>o.resource.path==="embeddings-v01.json");if(!n?.resource.url)throw new Error("Embeddings resource 'embeddings-v01.json' not found in the webmap portal item.");let i=await uY(n.resource.url);return sY(i)},H6=class e{constructor(){this.orchestratorReady=!1,this.chatHistory=[],this.threadId="",this.agentRegistry=new OT,this.streamEpoch=0}static async init(t){let r=new e;try{if(t.view?.map){await q6.whenOnce(()=>t.view.ready);let n=await lY(t.view),i=cY(n.layers,t.view.map);r.layersAndFieldsRegistry=i,r.embeddingsWorker=await OX(n)}return t.agents?.forEach(n=>{r.agentRegistry.register(n)}),r.orchestratorReady=!0,r}catch(n){throw console.error("Orchestrator initialization failed:",n),n}}async*ask(t){if(!this.orchestratorReady)throw new Error("Orchestrator is not ready yet.");if(!this.agentRegistry.list().length)throw new Error("Orchestrator has no registered agents.");if(++this.streamEpoch,!t.trim())return;this.threadId=String(Date.now()),this.graph||(this.graph=WX().compile({checkpointer:new yy}));let r=this.embeddingsWorker?YX({worker:this.embeddingsWorker}):void 0,n=this.embeddingsWorker?eY({worker:this.embeddingsWorker}):void 0,i=new Map,o={version:"v2",streamMode:"custom",configurable:{thread_id:this.threadId,hitlResponse:null,services:{layerSearch:r,fieldSearch:n,layersAndFieldsRegistry:this.layersAndFieldsRegistry,agentRegistry:this.agentRegistry,embeddingCache:i}},subgraphs:!0},a=this.graph?.streamEvents({userInput:t,messages:this.chatHistory},o),s=++this.streamEpoch;for(yield*this.pipeStream(a,s);;){let u=(await this.graph.getState(o,{subgraphs:!0})).tasks.find(l=>l.interrupts.length>0)?.interrupts[0]?.value;if(!u)break;this.currentInterrupt=u,this.interruptHandler=new CT(this.graph,o),yield{runId:this.threadId,timestamp:Date.now(),type:"interrupt",interrupt:u};try{let l=await this.interruptHandler.waitForUser(),d=++this.streamEpoch;yield*this.pipeStream(l,d)}catch(l){if(l){yield{runId:this.threadId,timestamp:Date.now(),type:"error",error:{message:l?.message}};return}yield{runId:this.threadId,timestamp:Date.now(),type:"cancelled"};return}}let c=(await this.graph.getState(o,{subgraphs:!0})).values;this.chatHistory=c.messages.length?c.messages:this.chatHistory,yield{runId:this.threadId,timestamp:Date.now(),type:"completed",result:{content:FX(c.messages)}}}newConversation(){this.chatHistory=[]}resumeInterrupt(t){if(!this.currentInterrupt||!this.interruptHandler)throw new Error("No pending interrupt to resume.");this.interruptHandler.handle(this.currentInterrupt,t)}cancelInterrupt(){this.interruptHandler&&this.interruptHandler.cancel()}async*pipeStream(t,r){for await(let n of t){if(r!==this.streamEpoch){console.log("Stale stream detected, aborting.");break}n.event==="on_custom_event"&&n.name==="trace_message"?yield{runId:this.threadId,timestamp:Date.now(),type:"trace",data:n.data}:n.name==="graph_ux_suggestion"&&(yield{runId:this.threadId,timestamp:Date.now(),type:"ux-suggestion",suggestion:n.data})}}dispose(){this.embeddingsWorker&&(this.embeddingsWorker.terminate(),this.embeddingsWorker=void 0),this.orchestratorReady=!1}},dY=$n.object({name:$n.string(),description:$n.string(),valueType:$n.string(),alias:$n.string()}),vBe=$n.object({fields:$n.array(dY)});var bBe=$n.object({title:$n.string(),description:$n.string(),name:$n.string().nullable()});return{a:Ye,b:
|
|
348
|
+
Description: {description}`,aY=M.object({schemaVersion:M.literal(tY),modified:M.number().int().nonnegative(),embeddings:M.object({modelProvider:M.literal(rY),model:M.literal(nY),dimensions:M.literal(Hf),templates:M.object({layer:M.string().default(iY),field:M.string().default(oY)})}),layers:M.array(M.object({id:M.string().min(1),name:M.string().min(1),title:M.string().catch(""),description:M.string().catch(""),vector:M.array(M.number()).length(Hf,{message:`Layer vector must be exactly ${Hf} dimensions`}),fields:M.array(M.object({name:M.string().min(1),alias:M.string().catch(""),description:M.string().catch(""),vector:M.array(M.number()).length(Hf,{message:`Field vector must be exactly ${Hf} dimensions`})}))})).default([])}),sY=e=>{let t=aY.safeParse(e);if(!t.success)throw new Error("Embeddings response validation failed. Regenerate embeddings.");return t.data},cY=(e,t)=>{let r=new Map,n=new Map;if(t.allLayers.forEach(i=>{i instanceof EX&&n.set(i.id,i)}),e.length!==n.size)throw new Error("Layer count mismatch during registry restoration. Regenerate embeddings.");for(let i of e){let o=n.get(i.id);if(!o)throw new Error(`Layer with ID ${i.id} not found in the original map during registry restoration. Regenerate embeddings.`);if(i.fields.length!==o.fields.length)throw new Error(`Field count mismatch for layer ID ${i.id} during registry restoration. Regenerate embeddings.`);let a={name:i.name,title:i.title,description:i.description},s=new Map;for(let c of i.fields){let u=o.fieldsIndex.get(c.name);if(!u)throw new Error(`Field with name ${c.name} not found in the original layer ${i.id} during registry restoration. Regenerate embeddings.`);s.set(c.name,{name:c.name,alias:c.alias,description:c.description,type:u.type||"unknown",valueType:u.valueType||"unknown",domain:o.getFieldDomain(c.name)??void 0})}r.set(i.id,{layerItem:a,fieldRegistry:s})}return r},uY=async e=>{try{return(await $X(e,{responseType:"json"})).data}catch(t){throw new Error(`Failed to fetch data from ${e}: ${String(t)}`)}},lY=async e=>{let t=e.map;if(!t?.portalItem)throw new Error("WebMap portal item is missing.");let{resources:r}=await t.portalItem.fetchResources(),n=r.find(o=>o.resource.path==="embeddings-v01.json");if(!n?.resource.url)throw new Error("Embeddings resource 'embeddings-v01.json' not found in the webmap portal item.");let i=await uY(n.resource.url);return sY(i)},H6=class e{constructor(){this.orchestratorReady=!1,this.chatHistory=[],this.threadId="",this.agentRegistry=new OT,this.streamEpoch=0}static async init(t){let r=new e;try{if(t.view?.map){await q6.whenOnce(()=>t.view.ready);let n=await lY(t.view),i=cY(n.layers,t.view.map);r.layersAndFieldsRegistry=i,r.embeddingsWorker=await OX(n)}return t.agents?.forEach(n=>{r.agentRegistry.register(n)}),r.orchestratorReady=!0,r}catch(n){throw console.error("Orchestrator initialization failed:",n),n}}async*ask(t){if(!this.orchestratorReady)throw new Error("Orchestrator is not ready yet.");if(!this.agentRegistry.list().length)throw new Error("Orchestrator has no registered agents.");if(++this.streamEpoch,!t.trim())return;this.threadId=String(Date.now()),this.graph||(this.graph=WX().compile({checkpointer:new yy}));let r=this.embeddingsWorker?YX({worker:this.embeddingsWorker}):void 0,n=this.embeddingsWorker?eY({worker:this.embeddingsWorker}):void 0,i=new Map,o={version:"v2",streamMode:"custom",configurable:{thread_id:this.threadId,hitlResponse:null,services:{layerSearch:r,fieldSearch:n,layersAndFieldsRegistry:this.layersAndFieldsRegistry,agentRegistry:this.agentRegistry,embeddingCache:i}},subgraphs:!0},a=this.graph?.streamEvents({userInput:t,messages:this.chatHistory},o),s=++this.streamEpoch;for(yield*this.pipeStream(a,s);;){let u=(await this.graph.getState(o,{subgraphs:!0})).tasks.find(l=>l.interrupts.length>0)?.interrupts[0]?.value;if(!u)break;this.currentInterrupt=u,this.interruptHandler=new CT(this.graph,o),yield{runId:this.threadId,timestamp:Date.now(),type:"interrupt",interrupt:u};try{let l=await this.interruptHandler.waitForUser(),d=++this.streamEpoch;yield*this.pipeStream(l,d)}catch(l){if(l){yield{runId:this.threadId,timestamp:Date.now(),type:"error",error:{message:l?.message}};return}yield{runId:this.threadId,timestamp:Date.now(),type:"cancelled"};return}}let c=(await this.graph.getState(o,{subgraphs:!0})).values;this.chatHistory=c.messages.length?c.messages:this.chatHistory,yield{runId:this.threadId,timestamp:Date.now(),type:"completed",result:{content:FX(c.messages)}}}newConversation(){this.chatHistory=[]}resumeInterrupt(t){if(!this.currentInterrupt||!this.interruptHandler)throw new Error("No pending interrupt to resume.");this.interruptHandler.handle(this.currentInterrupt,t)}cancelInterrupt(){this.interruptHandler&&this.interruptHandler.cancel()}async*pipeStream(t,r){for await(let n of t){if(r!==this.streamEpoch){console.log("Stale stream detected, aborting.");break}n.event==="on_custom_event"&&n.name==="trace_message"?yield{runId:this.threadId,timestamp:Date.now(),type:"trace",data:n.data}:n.name==="graph_ux_suggestion"&&(yield{runId:this.threadId,timestamp:Date.now(),type:"ux-suggestion",suggestion:n.data})}}dispose(){this.embeddingsWorker&&(this.embeddingsWorker.terminate(),this.embeddingsWorker=void 0),this.orchestratorReady=!1}},dY=$n.object({name:$n.string(),description:$n.string(),valueType:$n.string(),alias:$n.string()}),vBe=$n.object({fields:$n.array(dY)});var bBe=$n.object({title:$n.string(),description:$n.string(),name:$n.string().nullable()});return{a:Ye,b:it,c:At,d:Ar,e:Nt,f:Qf,g:to,h:ft,i:jt,j:be,k:hi,l:M,m:af,n:Xn,o:ur,p:Oo,q:Vy,r:$n,s:qo,t:gBe,u:_Be,v:GX,w:yBe,x:H6}},"identity/IdentityManager","portal/Portal","core/reactiveUtils","layers/FeatureLayer","request")
|