zen-code 4.9.2 → 4.10.0
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/app.js +94 -128
- package/dist/chunk-075hks9v.js +1 -0
- package/dist/chunk-0fj768k4.js +112 -0
- package/dist/chunk-19mf2aa7.js +1 -0
- package/dist/chunk-1mq2jmfy.js +2 -0
- package/dist/chunk-1v863afn.js +278 -0
- package/dist/chunk-1vn8d8b8.js +1 -0
- package/dist/{chunk-hfypkhky.js → chunk-1w19w1bm.js} +1 -1
- package/dist/chunk-3dnayvgx.js +224 -0
- package/dist/chunk-4hg13vwj.js +1 -0
- package/dist/chunk-4scrkcqv.js +1 -0
- package/dist/chunk-54cdhhqm.js +1 -0
- package/dist/chunk-5m4yb9av.js +91 -0
- package/dist/chunk-5yd4ntp6.js +8 -0
- package/dist/{chunk-dxec2q4t.js → chunk-6scjjkn3.js} +1 -1
- package/dist/{chunk-hmemx3cw.js → chunk-7jatn15w.js} +2 -2
- package/dist/{chunk-0pss3s5r.js → chunk-7w9y11hj.js} +1 -1
- package/dist/chunk-7yzv6385.js +1 -0
- package/dist/{chunk-ce53j63y.js → chunk-875hayaj.js} +3 -3
- package/dist/chunk-8bs8r50r.js +1 -0
- package/dist/{chunk-x552nspp.js → chunk-8waww0j9.js} +2 -2
- package/dist/chunk-8ysg0rga.js +1 -0
- package/dist/chunk-9czhw5k6.js +4 -0
- package/dist/chunk-9tgp14v7.js +16 -0
- package/dist/{chunk-yndex7hs.js → chunk-a239dn0b.js} +1 -1
- package/dist/chunk-arv4h3h1.js +2 -0
- package/dist/chunk-b2551zfb.js +2 -0
- package/dist/chunk-b9emn03n.js +1 -0
- package/dist/chunk-bm7578sn.js +1 -0
- package/dist/{chunk-62zh99t6.js → chunk-bytq4kd1.js} +3 -125
- package/dist/chunk-c2wfgbj6.js +1 -0
- package/dist/{chunk-0zk0m93z.js → chunk-cef4vbtb.js} +1 -1
- package/dist/{chunk-hsev32dg.js → chunk-cnzhxgn5.js} +2 -2
- package/dist/chunk-d2770b2z.js +1 -0
- package/dist/chunk-d72063sm.js +2 -0
- package/dist/{chunk-6nfpdtn6.js → chunk-d988tv30.js} +1 -1
- package/dist/{chunk-55nx49pj.js → chunk-dx9k6sdd.js} +3 -3
- package/dist/chunk-e6ggkg36.js +2 -0
- package/dist/{chunk-x90r4sje.js → chunk-fjqtrakn.js} +1 -1
- package/dist/chunk-gbfpab0j.js +1 -0
- package/dist/chunk-gkvx829z.js +1 -0
- package/dist/{chunk-94jawhw7.js → chunk-gwf8b14k.js} +1 -1
- package/dist/chunk-gz7fz9fg.js +1 -0
- package/dist/{chunk-48vkm1yn.js → chunk-h0q3dvnv.js} +2 -2
- package/dist/chunk-h0qb9jk1.js +1 -0
- package/dist/chunk-h9y136h8.js +1 -0
- package/dist/chunk-hrcxdj3c.js +54 -0
- package/dist/chunk-hz9yw7cs.js +166 -0
- package/dist/{chunk-98wjxsna.js → chunk-j4y5rjne.js} +1 -1
- package/dist/chunk-k12y05c3.js +3 -0
- package/dist/{chunk-fkrydbn4.js → chunk-k6fxqssr.js} +3 -3
- package/dist/{chunk-vfwbx331.js → chunk-kmxdq21k.js} +2 -2
- package/dist/chunk-mcb8rewr.js +213 -0
- package/dist/{chunk-9k64296h.js → chunk-mm9w91rj.js} +1 -1
- package/dist/chunk-mv0xzmq8.js +2 -0
- package/dist/{chunk-rztre6k0.js → chunk-n849zsd3.js} +1 -1
- package/dist/chunk-nm253hhf.js +81 -0
- package/dist/{chunk-gyhxdxb4.js → chunk-prg6489q.js} +1 -1
- package/dist/{chunk-pwrscdkf.js → chunk-pxdgy0vr.js} +1 -1
- package/dist/{chunk-frhhpxxy.js → chunk-qhzm2qw9.js} +2 -2
- package/dist/{chunk-8f2zh5h6.js → chunk-qmxtys9q.js} +2 -2
- package/dist/chunk-r0cfe5c1.js +294 -0
- package/dist/chunk-rtjytfhh.js +1 -0
- package/dist/chunk-s7ttf0pm.js +2 -0
- package/dist/{chunk-k38fjqj7.js → chunk-t01t72t2.js} +2 -2
- package/dist/{chunk-fw3nrwpf.js → chunk-t0f66x64.js} +1 -1
- package/dist/chunk-tn356gwf.js +93 -0
- package/dist/chunk-vd8kwzra.js +41 -0
- package/dist/chunk-vhn13anh.js +233 -0
- package/dist/chunk-vnewbtjy.js +1 -0
- package/dist/{chunk-hfegb4pr.js → chunk-wbm7rn9w.js} +2 -2
- package/dist/chunk-wd3gkd45.js +3 -0
- package/dist/chunk-whdf0vbb.js +1 -0
- package/dist/{chunk-r019959h.js → chunk-ws232ksq.js} +2 -2
- package/dist/{chunk-rt5mpgbg.js → chunk-yerf10k7.js} +2 -2
- package/dist/{chunk-pndhbee8.js → chunk-yzv3n8mw.js} +2 -2
- package/dist/chunk-z3e4c424.js +2 -0
- package/dist/{chunk-jb4yt88g.js → chunk-znw7fpep.js} +2 -2
- package/dist/chunk-zq2g4rfd.js +1 -0
- package/dist/cli.js +1 -1
- package/dist/nonInteractive.js +314 -4
- package/dist/zen-keyboard.js +1 -1
- package/package.json +37 -37
- package/dist/chunk-0sxrk9sx.js +0 -1
- package/dist/chunk-178yjjsx.js +0 -1
- package/dist/chunk-1p9xzvpt.js +0 -3
- package/dist/chunk-2eh0sv3s.js +0 -2
- package/dist/chunk-43xrz4wp.js +0 -2
- package/dist/chunk-48ce2wt0.js +0 -1
- package/dist/chunk-578m1dhj.js +0 -2
- package/dist/chunk-5dsevrtz.js +0 -91
- package/dist/chunk-66890qd3.js +0 -2
- package/dist/chunk-738m8242.js +0 -53
- package/dist/chunk-8ty2zfve.js +0 -3
- package/dist/chunk-9b7nj74j.js +0 -1
- package/dist/chunk-9x562s6p.js +0 -1
- package/dist/chunk-a90fm6gz.js +0 -278
- package/dist/chunk-ac5t2ywn.js +0 -100
- package/dist/chunk-ad2hbq42.js +0 -1
- package/dist/chunk-afhxxkmv.js +0 -16
- package/dist/chunk-b4vvgbav.js +0 -1
- package/dist/chunk-b9pcntkv.js +0 -253
- package/dist/chunk-c7y5efa0.js +0 -1
- package/dist/chunk-cbjnwrt7.js +0 -2
- package/dist/chunk-dcs1r9as.js +0 -2
- package/dist/chunk-dcwnpdtk.js +0 -9
- package/dist/chunk-e3tyc24s.js +0 -310
- package/dist/chunk-e8hp8d68.js +0 -81
- package/dist/chunk-h1enhch1.js +0 -2
- package/dist/chunk-hcnx1j2z.js +0 -1
- package/dist/chunk-hra0748z.js +0 -2
- package/dist/chunk-hyf24r36.js +0 -2
- package/dist/chunk-jjcmm167.js +0 -1
- package/dist/chunk-jrepjpft.js +0 -2
- package/dist/chunk-kym9tb01.js +0 -1
- package/dist/chunk-mt1g6g89.js +0 -1
- package/dist/chunk-p0vzbr7s.js +0 -585
- package/dist/chunk-r10bn684.js +0 -1
- package/dist/chunk-r3pe49q4.js +0 -8
- package/dist/chunk-r4tq44hr.js +0 -1
- package/dist/chunk-rjrnaka2.js +0 -1
- package/dist/chunk-s77qbhtz.js +0 -3
- package/dist/chunk-t7rwtc17.js +0 -1
- package/dist/chunk-v8g52kan.js +0 -1
- package/dist/chunk-vd6c87cm.js +0 -2
- package/dist/chunk-vh9zd1v3.js +0 -5
- package/dist/chunk-w2hbsa9j.js +0 -86
- package/dist/chunk-wabmqprd.js +0 -184
- package/dist/chunk-wpy5r9ma.js +0 -40
- package/dist/chunk-yqwxbcc7.js +0 -31
- package/dist/chunk-z8n7y37k.js +0 -1
- package/dist/chunk-zr7sx9hd.js +0 -1
- package/dist/chunk-zxqmghzf.js +0 -1
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import{Ik as h,Jk as D$}from"./chunk-n849zsd3.js";import{Nk as l0,Ok as Z4,Pk as x1,Qk as J4,Sk as H6,Tk as O6,Uk as G4,Wk as H0,Xk as P6,Yk as E6,Zk as j2,vl as r2}from"./chunk-vd8kwzra.js";import{Al as Uq,Cl as _0,El as T$,xl as AZ,yl as N1,zl as w$}from"./chunk-arv4h3h1.js";import{Fl as Z$,Hl as u0}from"./chunk-z3e4c424.js";var KQ=u0((gG,zQ)=>{zQ.exports=function($,Q){if(typeof $!=="string")throw TypeError("Expected a string");return Q=typeof Q>"u"?"_":Q,$.replace(/([a-z\d])([A-Z])/g,"$1"+Q+"$2").replace(/([A-Z]+)([A-Z][a-z\d]+)/g,"$1"+Q+"$2").toLowerCase()}});var FQ=u0((mG,l9)=>{var S8=/[\p{Lu}]/u,L8=/[\p{Ll}]/u,wQ=/^[\p{Lu}](?![\p{Lu}])/gu,NQ=/([\p{Alpha}\p{N}_]|$)/u,BQ=/[_.\- ]+/,T8=new RegExp("^"+BQ.source),XQ=new RegExp(BQ.source+NQ.source,"gu"),UQ=new RegExp("\\d+"+NQ.source,"gu"),_8=($,Q,Y)=>{let q=!1,W=!1,Z=!1;for(let J=0;J<$.length;J++){let G=$[J];if(q&&S8.test(G))$=$.slice(0,J)+"-"+$.slice(J),q=!1,Z=W,W=!0,J++;else if(W&&Z&&L8.test(G))$=$.slice(0,J-1)+"-"+$.slice(J-1),Z=W,W=!1,q=!0;else q=Q(G)===G&&Y(G)!==G,Z=W,W=Y(G)===G&&Q(G)!==G}return $},M8=($,Q)=>{return wQ.lastIndex=0,$.replace(wQ,(Y)=>Q(Y))},R8=($,Q)=>{return XQ.lastIndex=0,UQ.lastIndex=0,$.replace(XQ,(Y,q)=>Q(q)).replace(UQ,(Y)=>Q(Y))},VQ=($,Q)=>{if(!(typeof $==="string"||Array.isArray($)))throw TypeError("Expected the input to be `string | string[]`");if(Q={pascalCase:!1,preserveConsecutiveUppercase:!1,...Q},Array.isArray($))$=$.map((Z)=>Z.trim()).filter((Z)=>Z.length).join("-");else $=$.trim();if($.length===0)return"";let Y=Q.locale===!1?(Z)=>Z.toLowerCase():(Z)=>Z.toLocaleLowerCase(Q.locale),q=Q.locale===!1?(Z)=>Z.toUpperCase():(Z)=>Z.toLocaleUpperCase(Q.locale);if($.length===1)return Q.pascalCase?q($):Y($);if($!==Y($))$=_8($,Y,q);if($=$.replace(T8,""),Q.preserveConsecutiveUppercase)$=M8($,Y);else $=Y($);if(Q.pascalCase)$=q($.charAt(0))+$.slice(1);return R8($,q)};l9.exports=VQ;l9.exports.default=VQ});var fY=u0((V5,v4)=>{var ZZ=Object.prototype.hasOwnProperty,U0="~";function e$(){}if(Object.create){if(e$.prototype=Object.create(null),!new e$().__proto__)U0=!1}function JZ($,Q,Y){this.fn=$,this.context=Q,this.once=Y||!1}function kY($,Q,Y,q,W){if(typeof Y!=="function")throw TypeError("The listener must be a function");var Z=new JZ(Y,q||$,W),J=U0?U0+Q:Q;if(!$._events[J])$._events[J]=Z,$._eventsCount++;else if(!$._events[J].fn)$._events[J].push(Z);else $._events[J]=[$._events[J],Z];return $}function l1($,Q){if(--$._eventsCount===0)$._events=new e$;else delete $._events[Q]}function w0(){this._events=new e$,this._eventsCount=0}w0.prototype.eventNames=function(){var Q=[],Y,q;if(this._eventsCount===0)return Q;for(q in Y=this._events)if(ZZ.call(Y,q))Q.push(U0?q.slice(1):q);if(Object.getOwnPropertySymbols)return Q.concat(Object.getOwnPropertySymbols(Y));return Q};w0.prototype.listeners=function(Q){var Y=U0?U0+Q:Q,q=this._events[Y];if(!q)return[];if(q.fn)return[q.fn];for(var W=0,Z=q.length,J=Array(Z);W<Z;W++)J[W]=q[W].fn;return J};w0.prototype.listenerCount=function(Q){var Y=U0?U0+Q:Q,q=this._events[Y];if(!q)return 0;if(q.fn)return 1;return q.length};w0.prototype.emit=function(Q,Y,q,W,Z,J){var G=U0?U0+Q:Q;if(!this._events[G])return!1;var z=this._events[G],K=arguments.length,w,X;if(z.fn){if(z.once)this.removeListener(Q,z.fn,void 0,!0);switch(K){case 1:return z.fn.call(z.context),!0;case 2:return z.fn.call(z.context,Y),!0;case 3:return z.fn.call(z.context,Y,q),!0;case 4:return z.fn.call(z.context,Y,q,W),!0;case 5:return z.fn.call(z.context,Y,q,W,Z),!0;case 6:return z.fn.call(z.context,Y,q,W,Z,J),!0}for(X=1,w=Array(K-1);X<K;X++)w[X-1]=arguments[X];z.fn.apply(z.context,w)}else{var U=z.length,N;for(X=0;X<U;X++){if(z[X].once)this.removeListener(Q,z[X].fn,void 0,!0);switch(K){case 1:z[X].fn.call(z[X].context);break;case 2:z[X].fn.call(z[X].context,Y);break;case 3:z[X].fn.call(z[X].context,Y,q);break;case 4:z[X].fn.call(z[X].context,Y,q,W);break;default:if(!w)for(N=1,w=Array(K-1);N<K;N++)w[N-1]=arguments[N];z[X].fn.apply(z[X].context,w)}}}return!0};w0.prototype.on=function(Q,Y,q){return kY(this,Q,Y,q,!1)};w0.prototype.once=function(Q,Y,q){return kY(this,Q,Y,q,!0)};w0.prototype.removeListener=function(Q,Y,q,W){var Z=U0?U0+Q:Q;if(!this._events[Z])return this;if(!Y)return l1(this,Z),this;var J=this._events[Z];if(J.fn){if(J.fn===Y&&(!W||J.once)&&(!q||J.context===q))l1(this,Z)}else{for(var G=0,z=[],K=J.length;G<K;G++)if(J[G].fn!==Y||W&&!J[G].once||q&&J[G].context!==q)z.push(J[G]);if(z.length)this._events[Z]=z.length===1?z[0]:z;else l1(this,Z)}return this};w0.prototype.removeAllListeners=function(Q){var Y;if(Q){if(Y=U0?U0+Q:Q,this._events[Y])l1(this,Y)}else this._events=new e$,this._eventsCount=0;return this};w0.prototype.off=w0.prototype.removeListener;w0.prototype.addListener=w0.prototype.on;w0.prefixed=U0;w0.EventEmitter=w0;if(typeof v4<"u")v4.exports=w0});var hY=u0((F5,bY)=>{bY.exports=($,Q)=>{return Q=Q||(()=>{}),$.then((Y)=>new Promise((q)=>{q(Q())}).then(()=>Y),(Y)=>new Promise((q)=>{q(Q())}).then(()=>{throw Y}))}});var mY=u0((A5,i1)=>{var GZ=hY();class y4 extends Error{constructor($){super($);this.name="TimeoutError"}}var gY=($,Q,Y)=>new Promise((q,W)=>{if(typeof Q!=="number"||Q<0)throw TypeError("Expected `milliseconds` to be a positive number");if(Q===1/0){q($);return}let Z=setTimeout(()=>{if(typeof Y==="function"){try{q(Y())}catch(z){W(z)}return}let J=typeof Y==="string"?Y:`Promise timed out after ${Q} milliseconds`,G=Y instanceof Error?Y:new y4(J);if(typeof $.cancel==="function")$.cancel();W(G)},Q);GZ($.then(q,W),()=>{clearTimeout(Z)})});i1.exports=gY;i1.exports.default=gY;i1.exports.TimeoutError=y4});var pY=u0((dY)=>{Object.defineProperty(dY,"__esModule",{value:!0});function zZ($,Q,Y){let q=0,W=$.length;while(W>0){let Z=W/2|0,J=q+Z;if(Y($[J],Q)<=0)q=++J,W-=Z+1;else W=Z}return q}dY.default=zZ});var lY=u0((cY)=>{Object.defineProperty(cY,"__esModule",{value:!0});var wZ=pY();class uY{constructor(){this._queue=[]}enqueue($,Q){Q=Object.assign({priority:0},Q);let Y={priority:Q.priority,run:$};if(this.size&&this._queue[this.size-1].priority>=Q.priority){this._queue.push(Y);return}let q=wZ.default(this._queue,Y,(W,Z)=>Z.priority-W.priority);this._queue.splice(q,0,Y)}dequeue(){let $=this._queue.shift();return $===null||$===void 0?void 0:$.run}filter($){return this._queue.filter((Q)=>Q.priority===$.priority).map((Q)=>Q.run)}get size(){return this._queue.length}}cY.default=uY});var t1=u0((tY)=>{Object.defineProperty(tY,"__esModule",{value:!0});var UZ=fY(),iY=mY(),NZ=lY(),s1=()=>{},BZ=new iY.TimeoutError;class sY extends UZ{constructor($){var Q,Y,q,W;super();if(this._intervalCount=0,this._intervalEnd=0,this._pendingCount=0,this._resolveEmpty=s1,this._resolveIdle=s1,$=Object.assign({carryoverConcurrencyCount:!1,intervalCap:1/0,interval:0,concurrency:1/0,autoStart:!0,queueClass:NZ.default},$),!(typeof $.intervalCap==="number"&&$.intervalCap>=1))throw TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(Y=(Q=$.intervalCap)===null||Q===void 0?void 0:Q.toString())!==null&&Y!==void 0?Y:""}\` (${typeof $.intervalCap})`);if($.interval===void 0||!(Number.isFinite($.interval)&&$.interval>=0))throw TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(W=(q=$.interval)===null||q===void 0?void 0:q.toString())!==null&&W!==void 0?W:""}\` (${typeof $.interval})`);this._carryoverConcurrencyCount=$.carryoverConcurrencyCount,this._isIntervalIgnored=$.intervalCap===1/0||$.interval===0,this._intervalCap=$.intervalCap,this._interval=$.interval,this._queue=new $.queueClass,this._queueClass=$.queueClass,this.concurrency=$.concurrency,this._timeout=$.timeout,this._throwOnTimeout=$.throwOnTimeout===!0,this._isPaused=$.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(){if(this._resolveEmpty(),this._resolveEmpty=s1,this._pendingCount===0)this._resolveIdle(),this._resolveIdle=s1,this.emit("idle")}_onResumeInterval(){this._onInterval(),this._initializeIntervalIfNeeded(),this._timeoutId=void 0}_isIntervalPaused(){let $=Date.now();if(this._intervalId===void 0){let Q=this._intervalEnd-$;if(Q<0)this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0;else{if(this._timeoutId===void 0)this._timeoutId=setTimeout(()=>{this._onResumeInterval()},Q);return!0}}return!1}_tryToStartAnother(){if(this._queue.size===0){if(this._intervalId)clearInterval(this._intervalId);return this._intervalId=void 0,this._resolvePromises(),!1}if(!this._isPaused){let $=!this._isIntervalPaused();if(this._doesIntervalAllowAnother&&this._doesConcurrentAllowAnother){let Q=this._queue.dequeue();if(!Q)return!1;if(this.emit("active"),Q(),$)this._initializeIntervalIfNeeded();return!0}}return!1}_initializeIntervalIfNeeded(){if(this._isIntervalIgnored||this._intervalId!==void 0)return;this._intervalId=setInterval(()=>{this._onInterval()},this._interval),this._intervalEnd=Date.now()+this._interval}_onInterval(){if(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(){while(this._tryToStartAnother());}get concurrency(){return this._concurrency}set concurrency($){if(!(typeof $==="number"&&$>=1))throw TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${$}\` (${typeof $})`);this._concurrency=$,this._processQueue()}async add($,Q={}){return new Promise((Y,q)=>{let W=async()=>{this._pendingCount++,this._intervalCount++;try{let Z=this._timeout===void 0&&Q.timeout===void 0?$():iY.default(Promise.resolve($()),Q.timeout===void 0?this._timeout:Q.timeout,()=>{if(Q.throwOnTimeout===void 0?this._throwOnTimeout:Q.throwOnTimeout)q(BZ);return});Y(await Z)}catch(Z){q(Z)}this._next()};this._queue.enqueue(W,Q),this._tryToStartAnother(),this.emit("add")})}async addAll($,Q){return Promise.all($.map(async(Y)=>this.add(Y,Q)))}start(){if(!this._isPaused)return this;return this._isPaused=!1,this._processQueue(),this}pause(){this._isPaused=!0}clear(){this._queue=new this._queueClass}async onEmpty(){if(this._queue.size===0)return;return new Promise(($)=>{let Q=this._resolveEmpty;this._resolveEmpty=()=>{Q(),$()}})}async onIdle(){if(this._pendingCount===0&&this._queue.size===0)return;return new Promise(($)=>{let Q=this._resolveIdle;this._resolveIdle=()=>{Q(),$()}})}get size(){return this._queue.size}sizeBy($){return this._queue.filter($).length}get pending(){return this._pendingCount}get isPaused(){return this._isPaused}get timeout(){return this._timeout}set timeout($){this._timeout=$}}tY.default=sY});var Hq=u0((Fw,Dq)=>{var Fq=($=0)=>(Q)=>`\x1B[${38+$};5;${Q}m`,Aq=($=0)=>(Q,Y,q)=>`\x1B[${38+$};2;${Q};${Y};${q}m`;function dZ(){let $=new Map,Q={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]}};Q.color.gray=Q.color.blackBright,Q.bgColor.bgGray=Q.bgColor.bgBlackBright,Q.color.grey=Q.color.blackBright,Q.bgColor.bgGrey=Q.bgColor.bgBlackBright;for(let[Y,q]of Object.entries(Q)){for(let[W,Z]of Object.entries(q))Q[W]={open:`\x1B[${Z[0]}m`,close:`\x1B[${Z[1]}m`},q[W]=Q[W],$.set(Z[0],Z[1]);Object.defineProperty(Q,Y,{value:q,enumerable:!1})}return Object.defineProperty(Q,"codes",{value:$,enumerable:!1}),Q.color.close="\x1B[39m",Q.bgColor.close="\x1B[49m",Q.color.ansi256=Fq(),Q.color.ansi16m=Aq(),Q.bgColor.ansi256=Fq(10),Q.bgColor.ansi16m=Aq(10),Object.defineProperties(Q,{rgbToAnsi256:{value:(Y,q,W)=>{if(Y===q&&q===W){if(Y<8)return 16;if(Y>248)return 231;return Math.round((Y-8)/247*24)+232}return 16+36*Math.round(Y/255*5)+6*Math.round(q/255*5)+Math.round(W/255*5)},enumerable:!1},hexToRgb:{value:(Y)=>{let q=/(?<colorString>[a-f\d]{6}|[a-f\d]{3})/i.exec(Y.toString(16));if(!q)return[0,0,0];let{colorString:W}=q.groups;if(W.length===3)W=W.split("").map((J)=>J+J).join("");let Z=Number.parseInt(W,16);return[Z>>16&255,Z>>8&255,Z&255]},enumerable:!1},hexToAnsi256:{value:(Y)=>Q.rgbToAnsi256(...Q.hexToRgb(Y)),enumerable:!1}}),Q}Object.defineProperty(Dq,"exports",{enumerable:!0,get:dZ})});var N8=u0((DG)=>{DG.byteLength=UG;DG.toByteArray=BG;DG.fromByteArray=AG;var $$=[],y0=[],XG=typeof Uint8Array<"u"?Uint8Array:Array,u2="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(H$=0,c2=u2.length;H$<c2;++H$)$$[H$]=u2[H$],y0[u2.charCodeAt(H$)]=H$;var H$,c2;y0[45]=62;y0[95]=63;function U8($){var Q=$.length;if(Q%4>0)throw Error("Invalid string. Length must be a multiple of 4");var Y=$.indexOf("=");if(Y===-1)Y=Q;var q=Y===Q?0:4-Y%4;return[Y,q]}function UG($){var Q=U8($),Y=Q[0],q=Q[1];return(Y+q)*3/4-q}function NG($,Q,Y){return(Q+Y)*3/4-Y}function BG($){var Q,Y=U8($),q=Y[0],W=Y[1],Z=new XG(NG($,q,W)),J=0,G=W>0?q-4:q,z;for(z=0;z<G;z+=4)Q=y0[$.charCodeAt(z)]<<18|y0[$.charCodeAt(z+1)]<<12|y0[$.charCodeAt(z+2)]<<6|y0[$.charCodeAt(z+3)],Z[J++]=Q>>16&255,Z[J++]=Q>>8&255,Z[J++]=Q&255;if(W===2)Q=y0[$.charCodeAt(z)]<<2|y0[$.charCodeAt(z+1)]>>4,Z[J++]=Q&255;if(W===1)Q=y0[$.charCodeAt(z)]<<10|y0[$.charCodeAt(z+1)]<<4|y0[$.charCodeAt(z+2)]>>2,Z[J++]=Q>>8&255,Z[J++]=Q&255;return Z}function VG($){return $$[$>>18&63]+$$[$>>12&63]+$$[$>>6&63]+$$[$&63]}function FG($,Q,Y){var q,W=[];for(var Z=Q;Z<Y;Z+=3)q=($[Z]<<16&16711680)+($[Z+1]<<8&65280)+($[Z+2]&255),W.push(VG(q));return W.join("")}function AG($){var Q,Y=$.length,q=Y%3,W=[],Z=16383;for(var J=0,G=Y-q;J<G;J+=Z)W.push(FG($,J,J+Z>G?G:J+Z));if(q===1)Q=$[Y-1],W.push($$[Q>>2]+$$[Q<<4&63]+"==");else if(q===2)Q=($[Y-2]<<8)+$[Y-1],W.push($$[Q>>10]+$$[Q>>4&63]+$$[Q<<2&63]+"=");return W.join("")}});var GQ=Object.defineProperty,j=($,Q)=>{let Y={};for(var q in $)GQ(Y,q,{get:$[q],enumerable:!0});if(!Q)GQ(Y,Symbol.toStringTag,{value:"Module"});return Y};var AQ=Z$(KQ(),1),DQ=Z$(FQ(),1);function HQ($,Q){return Q?.[$]||AQ.default($)}function dG($,Q){return Q?.[$]||DQ.default($)}function OQ($,Q,Y){let q={};for(let W in $)if(Object.hasOwn($,W))q[Q(W,Y)]=$[W];return q}function x8($){return"lc"in $||Object.keys($).length===1&&"__lc_escaped__"in $}function I8($){return{["__lc_escaped__"]:$}}function j8($){return Object.keys($).length===1&&"__lc_escaped__"in $}function v8($){return $!==null&&typeof $==="object"&&"lc_serializable"in $&&typeof $.toJSON==="function"}function y8($){let Q;if($!==null&&typeof $==="object")if("lc_id"in $&&Array.isArray($.lc_id))Q=$.lc_id;else Q=[$.constructor?.name??"Object"];else Q=[typeof $];return{lc:1,type:"not_implemented",id:Q}}function O1($,Q=new WeakSet){if($!==null&&typeof $==="object"&&!Array.isArray($)){if(Q.has($))return y8($);if(v8($))return $;Q.add($);let Y=$;if(x8(Y))return Q.delete($),I8(Y);let q={};for(let[W,Z]of Object.entries(Y))q[W]=O1(Z,Q);return Q.delete($),q}if(Array.isArray($))return $.map((Y)=>O1(Y,Q));return $}function PQ($){if($!==null&&typeof $==="object"&&!Array.isArray($)){let Q=$;if(j8(Q))return Q.__lc_escaped__;let Y={};for(let[q,W]of Object.entries(Q))Y[q]=PQ(W);return Y}if(Array.isArray($))return $.map((Q)=>PQ(Q));return $}var sG=j({Serializable:()=>c0,get_lc_unique_name:()=>P1});function EQ($){return Array.isArray($)?[...$]:{...$}}function C8($,Q){let Y=EQ($);for(let[q,W]of Object.entries(Q)){let[Z,...J]=q.split(".").reverse(),G=Y;for(let z of J.reverse()){if(G[z]===void 0)break;G[z]=EQ(G[z]),G=G[z]}if(G[Z]!==void 0)G[Z]={lc:1,type:"secret",id:[W]}}return Y}function P1($){let Q=Object.getPrototypeOf($);if(typeof $.lc_name==="function"&&(typeof Q.lc_name!=="function"||$.lc_name()!==Q.lc_name()))return $.lc_name();else return $.name}var c0=class ${lc_serializable=!1;lc_kwargs;static lc_name(){return this.name}get lc_id(){return[...this.lc_namespace,P1(this.constructor)]}get lc_secrets(){}get lc_attributes(){}get lc_aliases(){}get lc_serializable_keys(){}constructor(Q,...Y){if(this.lc_serializable_keys!==void 0)this.lc_kwargs=Object.fromEntries(Object.entries(Q||{}).filter(([q])=>this.lc_serializable_keys?.includes(q)));else this.lc_kwargs=Q??{}}toJSON(){if(!this.lc_serializable)return this.toJSONNotImplemented();if(this.lc_kwargs instanceof $||typeof this.lc_kwargs!=="object"||Array.isArray(this.lc_kwargs))return this.toJSONNotImplemented();let Q={},Y={},q=Object.keys(this.lc_kwargs).reduce((G,z)=>{return G[z]=z in this?this[z]:this.lc_kwargs[z],G},{});for(let G=Object.getPrototypeOf(this);G;G=Object.getPrototypeOf(G))Object.assign(Q,Reflect.get(G,"lc_aliases",this)),Object.assign(Y,Reflect.get(G,"lc_secrets",this)),Object.assign(q,Reflect.get(G,"lc_attributes",this));Object.keys(Y).forEach((G)=>{let z=this,K=q,[w,...X]=G.split(".").reverse();for(let U of X.reverse()){if(!(U in z)||z[U]===void 0)return;if(!(U in K)||K[U]===void 0){if(typeof z[U]==="object"&&z[U]!=null)K[U]={};else if(Array.isArray(z[U]))K[U]=[]}z=z[U],K=K[U]}if(w in z&&z[w]!==void 0)K[w]=K[w]||z[w]});let W={},Z=new WeakSet;Z.add(this);for(let[G,z]of Object.entries(q))W[G]=O1(z,Z);let J=OQ(Object.keys(Y).length?C8(W,Y):W,HQ,Q);return{lc:1,type:"constructor",id:this.lc_id,kwargs:J}}toJSONNotImplemented(){return{lc:1,type:"not_implemented",id:this.lc_id}}};function J$($){return typeof $==="object"&&$!==null&&"type"in $&&typeof $.type==="string"&&"source_type"in $&&($.source_type==="url"||$.source_type==="base64"||$.source_type==="text"||$.source_type==="id")}function SQ($){return J$($)&&$.source_type==="url"&&"url"in $&&typeof $.url==="string"}function LQ($){return J$($)&&$.source_type==="base64"&&"data"in $&&typeof $.data==="string"}function oG($){return J$($)&&$.source_type==="text"&&"text"in $&&typeof $.text==="string"}function TQ($){return J$($)&&$.source_type==="id"&&"id"in $&&typeof $.id==="string"}function rG($){if(J$($)){if($.source_type==="url")return{type:"image_url",image_url:{url:$.url}};if($.source_type==="base64"){if(!$.mime_type)throw Error("mime_type key is required for base64 data.");return{type:"image_url",image_url:{url:`data:${$.mime_type};base64,${$.data}`}}}}throw Error("Unsupported source type. Only 'url' and 'base64' are supported.")}function nG($){let Q=$.split(";")[0].split("/");if(Q.length!==2)throw Error(`Invalid mime type: "${$}" - does not match type/subtype format.`);let Y=Q[0].trim(),q=Q[1].trim();if(Y===""||q==="")throw Error(`Invalid mime type: "${$}" - type or subtype is empty.`);let W={};for(let Z of $.split(";").slice(1)){let J=Z.split("=");if(J.length!==2)throw Error(`Invalid parameter syntax in mime type: "${$}".`);let G=J[0].trim(),z=J[1].trim();if(G==="")throw Error(`Invalid parameter syntax in mime type: "${$}".`);W[G]=z}return{type:Y,subtype:q,parameters:W}}function i9({dataUrl:$,asTypedArray:Q=!1}){let Y=$.match(/^data:(\w+\/\w+);base64,([A-Za-z0-9+/]+=*)$/),q;if(Y){q=Y[1].toLowerCase();let W=Q?Uint8Array.from(atob(Y[2]),(Z)=>Z.charCodeAt(0)):Y[2];return{mime_type:q,data:W}}}function aG($,Q){if($.type==="text"){if(!Q.fromStandardTextBlock)throw Error(`Converter for ${Q.providerName} does not implement \`fromStandardTextBlock\` method.`);return Q.fromStandardTextBlock($)}if($.type==="image"){if(!Q.fromStandardImageBlock)throw Error(`Converter for ${Q.providerName} does not implement \`fromStandardImageBlock\` method.`);return Q.fromStandardImageBlock($)}if($.type==="audio"){if(!Q.fromStandardAudioBlock)throw Error(`Converter for ${Q.providerName} does not implement \`fromStandardAudioBlock\` method.`);return Q.fromStandardAudioBlock($)}if($.type==="file"){if(!Q.fromStandardFileBlock)throw Error(`Converter for ${Q.providerName} does not implement \`fromStandardFileBlock\` method.`);return Q.fromStandardFileBlock($)}throw Error(`Unable to convert content block type '${$.type}' to provider-specific format: not recognized.`)}function P($,Q){return M($)&&$.type===Q}function M($){return typeof $==="object"&&$!==null}function W0($){return Array.isArray($)}function V($){return typeof $==="string"}function S0($){return typeof $==="number"}function E1($){return $ instanceof Uint8Array}function s9($){try{return JSON.parse($)}catch{return}}var L0=($)=>$();function k8($){if($.type==="char_location"&&V($.document_title)&&S0($.start_char_index)&&S0($.end_char_index)&&V($.cited_text)){let{document_title:Q,start_char_index:Y,end_char_index:q,cited_text:W,...Z}=$;return{...Z,type:"citation",source:"char",title:Q??void 0,startIndex:Y,endIndex:q,citedText:W}}if($.type==="page_location"&&V($.document_title)&&S0($.start_page_number)&&S0($.end_page_number)&&V($.cited_text)){let{document_title:Q,start_page_number:Y,end_page_number:q,cited_text:W,...Z}=$;return{...Z,type:"citation",source:"page",title:Q??void 0,startIndex:Y,endIndex:q,citedText:W}}if($.type==="content_block_location"&&V($.document_title)&&S0($.start_block_index)&&S0($.end_block_index)&&V($.cited_text)){let{document_title:Q,start_block_index:Y,end_block_index:q,cited_text:W,...Z}=$;return{...Z,type:"citation",source:"block",title:Q??void 0,startIndex:Y,endIndex:q,citedText:W}}if($.type==="web_search_result_location"&&V($.url)&&V($.title)&&V($.encrypted_index)&&V($.cited_text)){let{url:Q,title:Y,encrypted_index:q,cited_text:W,...Z}=$;return{...Z,type:"citation",source:"url",url:Q,title:Y,startIndex:Number(q),endIndex:Number(q),citedText:W}}if($.type==="search_result_location"&&V($.source)&&V($.title)&&S0($.start_block_index)&&S0($.end_block_index)&&V($.cited_text)){let{source:Q,title:Y,start_block_index:q,end_block_index:W,cited_text:Z,...J}=$;return{...J,type:"citation",source:"search",url:Q,title:Y??void 0,startIndex:q,endIndex:W,citedText:Z}}}function MQ($){if(P($,"document")&&M($.source)&&"type"in $.source){if($.source.type==="base64"&&V($.source.media_type)&&V($.source.data))return{type:"file",mimeType:$.source.media_type,data:$.source.data};else if($.source.type==="url"&&V($.source.url))return{type:"file",url:$.source.url};else if($.source.type==="file"&&V($.source.file_id))return{type:"file",fileId:$.source.file_id};else if($.source.type==="text"&&V($.source.data))return{type:"file",mimeType:String($.source.media_type??"text/plain"),data:$.source.data}}else if(P($,"image")&&M($.source)&&"type"in $.source){if($.source.type==="base64"&&V($.source.media_type)&&V($.source.data))return{type:"image",mimeType:$.source.media_type,data:$.source.data};else if($.source.type==="url"&&V($.source.url))return{type:"image",url:$.source.url};else if($.source.type==="file"&&V($.source.file_id))return{type:"image",fileId:$.source.file_id}}}function RQ($){function*Q(){for(let Y of $){let q=MQ(Y);if(q)yield q;else yield Y}}return Array.from(Q())}function _Q($){function*Q(){let Y=typeof $.content==="string"?[{type:"text",text:$.content}]:$.content;for(let q of Y){if(P(q,"text")&&V(q.text)){let{text:W,citations:Z,...J}=q;if(W0(Z)&&Z.length){let G=Z.reduce((z,K)=>{let w=k8(K);if(w)return[...z,w];return z},[]);yield{...J,type:"text",text:W,annotations:G};continue}else{yield{...J,type:"text",text:W};continue}}else if(P(q,"thinking")&&V(q.thinking)){let{thinking:W,signature:Z,...J}=q;yield{...J,type:"reasoning",reasoning:W,signature:Z};continue}else if(P(q,"redacted_thinking")){yield{type:"non_standard",value:q};continue}else if(P(q,"tool_use")&&V(q.name)&&V(q.id)){yield{type:"tool_call",id:q.id,name:q.name,args:q.input};continue}else if(P(q,"input_json_delta")){if(f8($)&&$.tool_call_chunks?.length){let W=$.tool_call_chunks[0];yield{type:"tool_call_chunk",id:W.id,name:W.name,args:W.args,index:W.index};continue}}else if(P(q,"server_tool_use")&&V(q.name)&&V(q.id)){let{name:W,id:Z}=q;if(W==="web_search"){yield{id:Z,type:"server_tool_call",name:"web_search",args:{query:L0(()=>{if(typeof q.input==="string")return q.input;else if(M(q.input)&&V(q.input.query))return q.input.query;else if(V(q.partial_json)){let J=s9(q.partial_json);if(J?.query)return J.query}return""})}};continue}else if(q.name==="code_execution"){yield{id:Z,type:"server_tool_call",name:"code_execution",args:{code:L0(()=>{if(typeof q.input==="string")return q.input;else if(M(q.input)&&V(q.input.code))return q.input.code;else if(V(q.partial_json)){let J=s9(q.partial_json);if(J?.code)return J.code}return""})}};continue}}else if(P(q,"web_search_tool_result")&&V(q.tool_use_id)&&W0(q.content)){let{content:W,tool_use_id:Z}=q;yield{type:"server_tool_call_result",name:"web_search",toolCallId:Z,status:"success",output:{urls:W.reduce((J,G)=>{if(P(G,"web_search_result"))return[...J,G.url];return J},[])}};continue}else if(P(q,"code_execution_tool_result")&&V(q.tool_use_id)&&M(q.content)){yield{type:"server_tool_call_result",name:"code_execution",toolCallId:q.tool_use_id,status:"success",output:q.content};continue}else if(P(q,"mcp_tool_use")){yield{id:q.id,type:"server_tool_call",name:"mcp_tool_use",args:q.input};continue}else if(P(q,"mcp_tool_result")&&V(q.tool_use_id)&&M(q.content)){yield{type:"server_tool_call_result",name:"mcp_tool_use",toolCallId:q.tool_use_id,status:"success",output:q.content};continue}else if(P(q,"container_upload")){yield{type:"server_tool_call",name:"container_upload",args:q.input};continue}else if(P(q,"search_result")){yield{id:q.id,type:"non_standard",value:q};continue}else if(P(q,"tool_result")){yield{id:q.id,type:"non_standard",value:q};continue}else{let W=MQ(q);if(W){yield W;continue}}yield{type:"non_standard",value:q}}}return Array.from(Q())}var xQ={translateContent:_Q,translateContentChunk:_Q};function f8($){return typeof $?._getType==="function"&&typeof $.concat==="function"&&$._getType()==="ai"}function b8($){if(SQ($))return{type:$.type,mimeType:$.mime_type,url:$.url,metadata:$.metadata};if(LQ($))return{type:$.type,mimeType:$.mime_type??"application/octet-stream",data:$.data,metadata:$.metadata};if(TQ($))return{type:$.type,mimeType:$.mime_type,fileId:$.id,metadata:$.metadata};return $}function IQ($){return $.map(b8)}function jQ($){if(P($,"image_url")&&M($.image_url))return!0;if(P($,"input_audio")&&M($.input_audio))return!0;if(P($,"file")&&M($.file))return!0;return!1}function vQ($){if(P($,"image_url")&&M($.image_url)&&V($.image_url.url)){let Q=i9({dataUrl:$.image_url.url});if(Q)return{type:"image",mimeType:Q.mime_type,data:Q.data};else return{type:"image",url:$.image_url.url}}else if(P($,"input_audio")&&M($.input_audio)&&V($.input_audio.data)&&V($.input_audio.format))return{type:"audio",data:$.input_audio.data,mimeType:`audio/${$.input_audio.format}`};else if(P($,"file")&&M($.file)&&V($.file.data)){let Q=i9({dataUrl:$.file.data});if(Q)return{type:"file",data:Q.data,mimeType:Q.mime_type};else if(V($.file.file_id))return{type:"file",fileId:$.file.file_id}}return $}function h8($){let Q=[];if(typeof $.content==="string"){if($.content.length>0)Q.push({type:"text",text:$.content})}else Q.push(...S1($.content));for(let Y of $.tool_calls??[])Q.push({type:"tool_call",id:Y.id,name:Y.name,args:Y.args});return Q}function g8($){let Q=[];if(typeof $.content==="string"){if($.content.length>0)Q.push({type:"text",text:$.content})}else Q.push(...S1($.content));for(let Y of $.tool_calls??[])Q.push({type:"tool_call",id:Y.id,name:Y.name,args:Y.args});return Q}function S1($){let Q=[];for(let Y of $)if(jQ(Y))Q.push(vQ(Y));else Q.push(Y);return Q}function m8($){if($.type==="url_citation"){let{url:Q,title:Y,start_index:q,end_index:W}=$;return{type:"citation",url:Q,title:Y,startIndex:q,endIndex:W}}if($.type==="file_citation"){let{file_id:Q,filename:Y,index:q}=$;return{type:"citation",title:Y,startIndex:q,endIndex:q,fileId:Q}}return $}function yQ($){function*Q(){if(M($.additional_kwargs?.reasoning)&&W0($.additional_kwargs.reasoning.summary))yield{type:"reasoning",reasoning:$.additional_kwargs.reasoning.summary.reduce((q,W)=>{if(M(W)&&V(W.text))return`${q}${W.text}`;return q},"")};let Y=typeof $.content==="string"?[{type:"text",text:$.content}]:$.content;for(let q of Y)if(P(q,"text")){let{text:W,annotations:Z,...J}=q;if(Array.isArray(Z))yield{...J,type:"text",text:String(W),annotations:Z.map(m8)};else yield{...J,type:"text",text:String(W)}}for(let q of $.tool_calls??[])yield{type:"tool_call",id:q.id,name:q.name,args:q.args};if(M($.additional_kwargs)&&W0($.additional_kwargs.tool_outputs))for(let q of $.additional_kwargs.tool_outputs){if(P(q,"web_search_call")){let W={};if(M(q.action)&&V(q.action.query))W.query=q.action.query;if(yield{id:q.id,type:"server_tool_call",name:"web_search",args:W},q.status==="completed"||q.status==="failed"){let Z={};if(M(q.action))Z.action=q.action;yield{type:"server_tool_call_result",toolCallId:V(q.id)?q.id:"",status:q.status==="completed"?"success":"error",output:Z}}continue}else if(P(q,"file_search_call")){if(yield{id:q.id,type:"server_tool_call",name:"file_search",args:{queries:W0(q.queries)?q.queries:[]}},q.status==="completed"||q.status==="failed")yield{type:"server_tool_call_result",toolCallId:V(q.id)?q.id:"",status:q.status==="completed"?"success":"error",output:W0(q.results)?{results:q.results}:{}};continue}else if(P(q,"computer_call")){yield{type:"non_standard",value:q};continue}else if(P(q,"code_interpreter_call")){if(V(q.code))yield{id:q.id,type:"server_tool_call",name:"code_interpreter",args:{code:q.code}};if(W0(q.outputs)){let W=L0(()=>{if(q.status==="in_progress")return;if(q.status==="completed")return 0;if(q.status==="incomplete")return 127;if(q.status==="interpreting")return;if(q.status==="failed")return 1});for(let Z of q.outputs)if(P(Z,"logs")){yield{type:"server_tool_call_result",toolCallId:q.id??"",status:"success",output:{type:"code_interpreter_output",returnCode:W??0,stderr:[0,void 0].includes(W)?void 0:String(Z.logs),stdout:[0,void 0].includes(W)?String(Z.logs):void 0}};continue}}continue}else if(P(q,"mcp_call")){yield{id:q.id,type:"server_tool_call",name:"mcp_call",args:q.input};continue}else if(P(q,"mcp_list_tools")){yield{id:q.id,type:"server_tool_call",name:"mcp_list_tools",args:q.input};continue}else if(P(q,"mcp_approval_request")){yield{type:"non_standard",value:q};continue}else if(P(q,"image_generation_call")){if(V(q.result))yield{type:"image",mimeType:"image/png",data:q.result,id:V(q.id)?q.id:void 0,metadata:{status:V(q.status)?q.status:void 0}};yield{type:"non_standard",value:q};continue}if(M(q))yield{type:"non_standard",value:q}}}return Array.from(Q())}function d8($){function*Q(){yield*yQ($);for(let Y of $.tool_call_chunks??[])yield{type:"tool_call_chunk",id:Y.id,name:Y.name,args:Y.args}}return Array.from(Q())}var CQ={translateContent:($)=>{if(typeof $.content==="string")return h8($);return yQ($)},translateContentChunk:($)=>{if(typeof $.content==="string")return g8($);return d8($)}};function kQ($){return typeof $==="object"&&$!==null&&"type"in $&&"content"in $&&(typeof $.content==="string"||Array.isArray($.content))}function fQ($,Q="pretty"){if(Q==="pretty")return p8($);return JSON.stringify($)}function p8($){let Q=[],Y=` ${$.type.charAt(0).toUpperCase()+$.type.slice(1)} Message `,q=Math.floor((80-Y.length)/2),W="=".repeat(q),Z=Y.length%2===0?W:`${W}=`;if(Q.push(`${W}${Y}${Z}`),$.type==="ai"){let J=$;if(J.tool_calls&&J.tool_calls.length>0){Q.push("Tool Calls:");for(let G of J.tool_calls){Q.push(` ${G.name} (${G.id})`),Q.push(` Call ID: ${G.id}`),Q.push(" Args:");for(let[z,K]of Object.entries(G.args))Q.push(` ${z}: ${typeof K==="object"?JSON.stringify(K):K}`)}}}if($.type==="tool"){let J=$;if(J.name)Q.push(`Name: ${J.name}`)}if(typeof $.content==="string"&&$.content.trim()){if(Q.length>1)Q.push("");Q.push($.content)}return Q.join(`
|
|
2
|
+
`)}var t9=Symbol.for("langchain.message");function D0($,Q){if(typeof $==="string"){if($==="")return Q;if(typeof Q==="string")return $+Q;else if(Array.isArray(Q)&&Q.length===0)return $;else if(Array.isArray(Q)&&Q.some((Y)=>J$(Y)))return[{type:"text",source_type:"text",text:$},...Q];else return[{type:"text",text:$},...Q]}else if(Array.isArray(Q))return C$($,Q)??[...$,...Q];else if(Q==="")return $;else if(Array.isArray($)&&$.some((Y)=>J$(Y)))return[...$,{type:"file",source_type:"text",text:Q}];else return[...$,{type:"text",text:Q}]}function hQ($,Q){if($==="error"||Q==="error")return"error";return"success"}function u8($,Q){function Y(q,W){if(typeof q!=="object"||q===null||q===void 0)return q;if(W>=Q){if(Array.isArray(q))return"[Array]";return"[Object]"}if(Array.isArray(q))return q.map((J)=>Y(J,W+1));let Z={};for(let J of Object.keys(q))Z[J]=Y(q[J],W+1);return Z}return JSON.stringify(Y($,0),null,2)}var X0=class extends c0{lc_namespace=["langchain_core","messages"];lc_serializable=!0;get lc_aliases(){return{additional_kwargs:"additional_kwargs",response_metadata:"response_metadata"}}[t9]=!0;id;name;content;additional_kwargs;response_metadata;_getType(){return this.type}getType(){return this._getType()}constructor($){let Q=typeof $==="string"||Array.isArray($)?{content:$}:$;if(!Q.additional_kwargs)Q.additional_kwargs={};if(!Q.response_metadata)Q.response_metadata={};super(Q);if(this.name=Q.name,Q.content===void 0&&Q.contentBlocks!==void 0)this.content=Q.contentBlocks,this.response_metadata={output_version:"v1",...Q.response_metadata};else if(Q.content!==void 0)this.content=Q.content??[],this.response_metadata=Q.response_metadata;else this.content=[],this.response_metadata=Q.response_metadata;this.additional_kwargs=Q.additional_kwargs,this.id=Q.id}get text(){if(typeof this.content==="string")return this.content;if(!Array.isArray(this.content))return"";return this.content.map(($)=>{if(typeof $==="string")return $;if($.type==="text")return $.text;return""}).join("")}get contentBlocks(){let $=typeof this.content==="string"?[{type:"text",text:this.content}]:this.content;return[IQ,S1,RQ].reduce((Q,Y)=>Y(Q),$)}toDict(){return{type:this.getType(),data:this.toJSON().kwargs}}static lc_name(){return"BaseMessage"}get _printableFields(){return{id:this.id,content:this.content,name:this.name,additional_kwargs:this.additional_kwargs,response_metadata:this.response_metadata}}static isInstance($){return typeof $==="object"&&$!==null&&t9 in $&&$[t9]===!0&&kQ($)}_updateId($){this.id=$,this.lc_kwargs.id=$}get[Symbol.toStringTag](){return this.constructor.lc_name()}[Symbol.for("nodejs.util.inspect.custom")]($){if($===null)return this;let Q=u8(this._printableFields,Math.max(4,$));return`${this.constructor.lc_name()} ${Q}`}toFormattedString($="pretty"){return fQ(this,$)}};function Dz($){return Array.isArray($)&&$.every((Q)=>typeof Q.index==="number")}var c8=["index","created","timestamp"];function n($,Q,Y){let q=Y?.ignoreKeys??c8;if($==null&&Q==null)return;if($==null||Q==null)return $??Q;let W={...$};for(let[Z,J]of Object.entries(Q))if(W[Z]==null)W[Z]=J;else if(J==null)continue;else if(typeof W[Z]!==typeof J||Array.isArray(W[Z])!==Array.isArray(J))throw Error(`field[${Z}] already exists in the message chunk, but with a different type.`);else if(typeof W[Z]==="string")if(Z==="type")continue;else if(["id","name","output_version","model_provider"].includes(Z)){if(J)W[Z]=J}else if(q.includes(Z))continue;else W[Z]+=J;else if(typeof W[Z]==="number"){if(q.includes(Z))continue;W[Z]=W[Z]+J}else if(typeof W[Z]==="object"&&!Array.isArray(W[Z]))W[Z]=n(W[Z],J,Y);else if(Array.isArray(W[Z]))W[Z]=C$(W[Z],J,Y);else if(W[Z]===J)continue;else console.warn(`field[${Z}] already exists in this message chunk and value has unsupported type.`);return W}function l8($){return typeof $==="number"||typeof $==="string"}function bQ($){if(typeof $!=="object"||$===null)return!1;if(!("index"in $))return!1;return l8($.index)}function C$($,Q,Y){if($==null&&Q==null)return;else if($==null||Q==null)return $||Q;else{let q=[...$];for(let W of Q)if(bQ(W)){let Z=q.findIndex((J)=>{if(!bQ(J))return!1;let G=J.index===W.index,z=J.id!=null&&W.id!=null&&J.id===W.id,K=J.id==null||W.id==null;return G&&(z||K)});if(Z!==-1&&typeof q[Z]==="object"&&q[Z]!==null)q[Z]=n(q[Z],W,Y);else q.push(W)}else if(typeof W==="object"&&W!==null&&"text"in W&&W.text==="")continue;else q.push(W);return q}}function gQ($,Q,Y){if($==null&&Q==null)return;if($==null||Q==null)return $??Q;else if(typeof $!==typeof Q)throw Error(`Cannot merge objects of different types.
|
|
3
|
+
Left ${typeof $}
|
|
4
|
+
Right ${typeof Q}`);else if(typeof $==="string"&&typeof Q==="string")return $+Q;else if(Array.isArray($)&&Array.isArray(Q))return C$($,Q,Y);else if(typeof $==="object"&&typeof Q==="object")return n($,Q,Y);else if($===Q)return $;else throw Error(`Can not merge objects of different types.
|
|
5
|
+
Left ${$}
|
|
6
|
+
Right ${Q}`)}var T0=class $ extends X0{static isInstance(Q){if(!super.isInstance(Q))return!1;let Y=Object.getPrototypeOf(Q);while(Y!==null){if(Y===$.prototype)return!0;Y=Object.getPrototypeOf(Y)}return!1}};function mQ($){return typeof $.role==="string"}function dQ($){return typeof $?._getType==="function"}function Hz($){return T0.isInstance($)}var Lz=j({ToolMessage:()=>E$,ToolMessageChunk:()=>i8,defaultToolCallParser:()=>r9,isDirectToolOutput:()=>o9,isToolMessage:()=>s8,isToolMessageChunk:()=>t8});function o9($){return $!=null&&typeof $==="object"&&"lc_direct_tool_output"in $&&$.lc_direct_tool_output===!0}var E$=class extends X0{static lc_name(){return"ToolMessage"}get lc_aliases(){return{tool_call_id:"tool_call_id"}}lc_direct_tool_output=!0;type="tool";status;tool_call_id;metadata;artifact;constructor($,Q,Y){let q=typeof $==="string"||Array.isArray($)?{content:$,name:Y,tool_call_id:Q}:$;super(q);this.tool_call_id=q.tool_call_id,this.artifact=q.artifact,this.status=q.status,this.metadata=q.metadata}static isInstance($){return super.isInstance($)&&$.type==="tool"}get _printableFields(){return{...super._printableFields,tool_call_id:this.tool_call_id,artifact:this.artifact}}},i8=class extends T0{type="tool";tool_call_id;status;artifact;constructor($){super($);this.tool_call_id=$.tool_call_id,this.artifact=$.artifact,this.status=$.status}static lc_name(){return"ToolMessageChunk"}concat($){return new this.constructor({content:D0(this.content,$.content),additional_kwargs:n(this.additional_kwargs,$.additional_kwargs),response_metadata:n(this.response_metadata,$.response_metadata),artifact:gQ(this.artifact,$.artifact),tool_call_id:this.tool_call_id,id:this.id??$.id,status:hQ(this.status,$.status)})}get _printableFields(){return{...super._printableFields,tool_call_id:this.tool_call_id,artifact:this.artifact}}};function r9($){let Q=[],Y=[];for(let q of $)if(!q.function)continue;else{let W=q.function.name;try{let Z=JSON.parse(q.function.arguments);Q.push({name:W||"",args:Z||{},id:q.id})}catch{Y.push({name:W,args:q.function.arguments,id:q.id,error:"Malformed args."})}}return[Q,Y]}function s8($){return typeof $==="object"&&$!==null&&"getType"in $&&typeof $.getType==="function"&&$.getType()==="tool"}function t8($){return $._getType()==="tool"}function n9($){switch($){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 o8($){if(M($.document)&&M($.document.source)){let Q=n9(M($.document)&&V($.document.format)?$.document.format:"");if(M($.document.source)){if(M($.document.source.s3Location)&&V($.document.source.s3Location.uri))return{type:"file",mimeType:Q,fileId:$.document.source.s3Location.uri};if(E1($.document.source.bytes))return{type:"file",mimeType:Q,data:$.document.source.bytes};if(V($.document.source.text))return{type:"file",mimeType:Q,data:Buffer.from($.document.source.text).toString("base64")};if(W0($.document.source.content))return{type:"file",mimeType:Q,data:$.document.source.content.reduce((Y,q)=>{if(M(q)&&V(q.text))return Y+q.text;return Y},"")}}}return{type:"non_standard",value:$}}function r8($){if(P($,"image")&&M($.image)){let Q=n9(M($.image)&&V($.image.format)?$.image.format:"");if(M($.image.source)){if(M($.image.source.s3Location)&&V($.image.source.s3Location.uri))return{type:"image",mimeType:Q,fileId:$.image.source.s3Location.uri};if(E1($.image.source.bytes))return{type:"image",mimeType:Q,data:$.image.source.bytes}}}return{type:"non_standard",value:$}}function n8($){if(P($,"video")&&M($.video)){let Q=n9(M($.video)&&V($.video.format)?$.video.format:"");if(M($.video.source)){if(M($.video.source.s3Location)&&V($.video.source.s3Location.uri))return{type:"video",mimeType:Q,fileId:$.video.source.s3Location.uri};if(E1($.video.source.bytes))return{type:"video",mimeType:Q,data:$.video.source.bytes}}}return{type:"non_standard",value:$}}function pQ($){function*Q(){let Y=typeof $.content==="string"?[{type:"text",text:$.content}]:$.content;for(let q of Y){if(P(q,"cache_point")){yield{type:"non_standard",value:q};continue}else if(P(q,"citations_content")&&M(q.citationsContent)){yield{type:"text",text:W0(q.citationsContent.content)?q.citationsContent.content.reduce((W,Z)=>{if(M(Z)&&V(Z.text))return W+Z.text;return W},""):"",annotations:W0(q.citationsContent.citations)?q.citationsContent.citations.reduce((W,Z)=>{if(M(Z)){let J=W0(Z.sourceContent)?Z.sourceContent.reduce((z,K)=>{if(M(K)&&V(K.text))return z+K.text;return z},""):"",G=L0(()=>{if(M(Z.location)){let z=Z.location.documentChar||Z.location.documentPage||Z.location.documentChunk;if(M(z))return{source:S0(z.documentIndex)?z.documentIndex.toString():void 0,startIndex:S0(z.start)?z.start:void 0,endIndex:S0(z.end)?z.end:void 0}}return{}});W.push({type:"citation",citedText:J,...G})}return W},[]):[]};continue}else if(P(q,"document")&&M(q.document)){yield o8(q);continue}else if(P(q,"guard_content")){yield{type:"non_standard",value:q};continue}else if(P(q,"image")&&M(q.image)){yield r8(q);continue}else if(P(q,"reasoning_content")&&V(q.reasoningText)){yield{type:"reasoning",reasoning:q.reasoningText};continue}else if(P(q,"text")&&V(q.text)){yield{type:"text",text:q.text};continue}else if(P(q,"tool_result")){yield{type:"non_standard",value:q};continue}else if(P(q,"tool_call"))continue;else if(P(q,"video")&&M(q.video)){yield n8(q);continue}yield{type:"non_standard",value:q}}}return Array.from(Q())}var uQ={translateContent:pQ,translateContentChunk:pQ};function cQ($){let Q=[],Y=$.additional_kwargs?.reasoning_content;if(V(Y)&&Y.length>0)Q.push({type:"reasoning",reasoning:Y});if(typeof $.content==="string"){if($.content.length>0)Q.push({type:"text",text:$.content})}else for(let q of $.content)if(typeof q==="object"&&"type"in q&&q.type==="text"&&"text"in q&&V(q.text))Q.push({type:"text",text:q.text});for(let q of $.tool_calls??[])Q.push({type:"tool_call",id:q.id,name:q.name,args:q.args});return Q}var lQ={translateContent:cQ,translateContentChunk:cQ};function iQ($){function*Q(){let Y=typeof $.content==="string"?[{type:"text",text:$.content}]:$.content;for(let q of Y){if(P(q,"text")&&V(q.text)){yield{type:"text",text:q.text};continue}else if(P(q,"thinking")&&V(q.thinking)){yield{type:"reasoning",reasoning:q.thinking,...q.signature?{signature:q.signature}:{}};continue}else if(P(q,"inlineData")&&M(q.inlineData)&&V(q.inlineData.mimeType)&&V(q.inlineData.data)){yield{type:"file",mimeType:q.inlineData.mimeType,data:q.inlineData.data};continue}else if(P(q,"functionCall")&&M(q.functionCall)&&V(q.functionCall.name)&&M(q.functionCall.args)){yield{type:"tool_call",id:$.id,name:q.functionCall.name,args:q.functionCall.args};continue}else if(P(q,"functionResponse")){yield{type:"non_standard",value:q};continue}else if(P(q,"fileData")&&M(q.fileData)&&V(q.fileData.mimeType)&&V(q.fileData.fileUri)){yield{type:"file",mimeType:q.fileData.mimeType,fileId:q.fileData.fileUri};continue}else if(P(q,"executableCode")){yield{type:"non_standard",value:q};continue}else if(P(q,"codeExecutionResult")){yield{type:"non_standard",value:q};continue}yield{type:"non_standard",value:q}}}return Array.from(Q())}var sQ={translateContent:iQ,translateContentChunk:iQ};function tQ($){function*Q(){let Y=typeof $.content==="string"?[{type:"text",text:$.content}]:$.content;for(let q of Y){if(P(q,"reasoning")&&V(q.reasoning)){let W=L0(()=>{let Z=Y.indexOf(q);if(W0($.additional_kwargs?.signatures)&&Z>=0)return $.additional_kwargs.signatures.at(Z)});if(V(W))yield{type:"reasoning",reasoning:q.reasoning,signature:W};else yield{type:"reasoning",reasoning:q.reasoning};continue}else if(P(q,"thinking")&&V(q.thinking)){yield{type:"reasoning",reasoning:q.thinking,...q.signature?{signature:q.signature}:{}};continue}else if(P(q,"text")&&V(q.text)){yield{type:"text",text:q.text};continue}else if(P(q,"image_url")){if(V(q.image_url))if(q.image_url.startsWith("data:")){let W=q.image_url.match(/^data:([^;]+);base64,(.+)$/);if(W)yield{type:"image",data:W[2],mimeType:W[1]};else yield{type:"image",url:q.image_url}}else yield{type:"image",url:q.image_url};continue}else if(P(q,"media")&&V(q.mimeType)&&V(q.data)){yield{type:"file",mimeType:q.mimeType,data:q.data};continue}yield{type:"non_standard",value:q}}}return Array.from(Q())}var oQ={translateContent:tQ,translateContentChunk:tQ};function rQ($){let Q=[],Y=$.additional_kwargs?.reasoning;if(V(Y)&&Y.length>0)Q.push({type:"reasoning",reasoning:Y});if(typeof $.content==="string"){let q=$.content,W=q.match(/<think>([\s\S]*?)<\/think>/);if(W){let Z=W[1].trim();if(Z.length>0)Q.push({type:"reasoning",reasoning:Z});q=q.replace(/<think>[\s\S]*?<\/think>/,"").trim()}if(q.length>0)Q.push({type:"text",text:q})}else for(let q of $.content)if(typeof q==="object"&&"type"in q&&q.type==="text"&&"text"in q&&V(q.text)){let W=q.text,Z=W.match(/<think>([\s\S]*?)<\/think>/);if(Z){let J=Z[1].trim();if(J.length>0)Q.push({type:"reasoning",reasoning:J});W=W.replace(/<think>[\s\S]*?<\/think>/,"").trim()}if(W.length>0)Q.push({type:"text",text:W})}for(let q of $.tool_calls??[])Q.push({type:"tool_call",id:q.id,name:q.name,args:q.args});return Q}var nQ={translateContent:rQ,translateContentChunk:rQ};function aQ($){let Q=[],Y=$.additional_kwargs?.reasoning_content;if(V(Y)&&Y.length>0)Q.push({type:"reasoning",reasoning:Y});if(typeof $.content==="string"){if($.content.length>0)Q.push({type:"text",text:$.content})}else for(let q of $.content)if(typeof q==="object"&&"type"in q&&q.type==="text"&&"text"in q&&V(q.text))Q.push({type:"text",text:q.text});for(let q of $.tool_calls??[])Q.push({type:"tool_call",id:q.id,name:q.name,args:q.args});return Q}var eQ={translateContent:aQ,translateContentChunk:aQ};function $6($){let Q=[];if(M($.additional_kwargs?.reasoning)){let q=$.additional_kwargs.reasoning;if(W0(q.summary)){let W=q.summary.reduce((Z,J)=>{if(M(J)&&V(J.text))return`${Z}${J.text}`;return Z},"");if(W.length>0)Q.push({type:"reasoning",reasoning:W})}}let Y=$.additional_kwargs?.reasoning_content;if(V(Y)&&Y.length>0)Q.push({type:"reasoning",reasoning:Y});if(typeof $.content==="string"){if($.content.length>0)Q.push({type:"text",text:$.content})}else for(let q of $.content)if(typeof q==="object"&&"type"in q&&q.type==="text"&&"text"in q&&V(q.text))Q.push({type:"text",text:q.text});for(let q of $.tool_calls??[])Q.push({type:"tool_call",id:q.id,name:q.name,args:q.args});return Q}var Q6={translateContent:$6,translateContentChunk:$6};function Y6($){function*Q(){let Y=L0(()=>{if(typeof $.content==="string")if($.additional_kwargs.originalTextContentBlock)return[{...$.additional_kwargs.originalTextContentBlock,type:"text"}];else return[{type:"text",text:$.content}];else return $.content});for(let q of Y){let W=L0(()=>{if(P(q,"text")&&V(q.text))return{type:"text",text:q.text};else if(P(q,"inlineData")&&M(q.inlineData)&&V(q.inlineData.mimeType)&&V(q.inlineData.data))return{type:"file",mimeType:q.inlineData.mimeType,data:q.inlineData.data};else if(P(q,"functionCall")&&M(q.functionCall)&&V(q.functionCall.name)&&M(q.functionCall.args))return{type:"tool_call",id:$.id,name:q.functionCall.name,args:q.functionCall.args};else if(P(q,"functionResponse"))return{type:"non_standard",value:q};else if(P(q,"fileData")&&M(q.fileData)&&V(q.fileData.mimeType)&&V(q.fileData.fileUri))return{type:"file",mimeType:q.fileData.mimeType,fileId:q.fileData.fileUri};else if(P(q,"executableCode"))return{type:"non_standard",value:q};else if(P(q,"codeExecutionResult"))return{type:"non_standard",value:q};return{type:"non_standard",value:q}}),Z=L0(()=>{if("thought"in q&&q.thought)return{type:"reasoning",reasoning:W.type==="text"?W.text:"",reasoningContentBlock:W};else return W}),J={thought:q.thought,thoughtSignature:q.thoughtSignature,partMetadata:q.partMetadata,...Z};for(let G in J)if(J[G]===void 0)delete J[G];yield J}}return Array.from(Q())}var q6={translateContent:Y6,translateContentChunk:Y6};globalThis.lc_block_translators_registry??=new Map([["anthropic",xQ],["bedrock-converse",uQ],["deepseek",lQ],["google",q6],["google-genai",sQ],["google-vertexai",oQ],["groq",nQ],["ollama",eQ],["openai",CQ],["xai",Q6]]);function a9($){return globalThis.lc_block_translators_registry.get($)}function W6($,Q){return n($,Q)??{}}function Z6($,Q){let Y={};if($?.audio!==void 0||Q?.audio!==void 0)Y.audio=($?.audio??0)+(Q?.audio??0);if($?.image!==void 0||Q?.image!==void 0)Y.image=($?.image??0)+(Q?.image??0);if($?.video!==void 0||Q?.video!==void 0)Y.video=($?.video??0)+(Q?.video??0);if($?.document!==void 0||Q?.document!==void 0)Y.document=($?.document??0)+(Q?.document??0);if($?.text!==void 0||Q?.text!==void 0)Y.text=($?.text??0)+(Q?.text??0);return Y}function a8($,Q){let Y={...Z6($,Q)};if($?.cache_read!==void 0||Q?.cache_read!==void 0)Y.cache_read=($?.cache_read??0)+(Q?.cache_read??0);if($?.cache_creation!==void 0||Q?.cache_creation!==void 0)Y.cache_creation=($?.cache_creation??0)+(Q?.cache_creation??0);return Y}function e8($,Q){let Y={...Z6($,Q)};if($?.reasoning!==void 0||Q?.reasoning!==void 0)Y.reasoning=($?.reasoning??0)+(Q?.reasoning??0);return Y}function L1($,Q){return{input_tokens:($?.input_tokens??0)+(Q?.input_tokens??0),output_tokens:($?.output_tokens??0)+(Q?.output_tokens??0),total_tokens:($?.total_tokens??0)+(Q?.total_tokens??0),input_token_details:a8($?.input_token_details,Q?.input_token_details),output_token_details:e8($?.output_token_details,Q?.output_token_details)}}function J6($){let Q=Symbol.for($);return{brand(Y,q){let W=q?Symbol.for(`${$}.${q}`):Q;class Z extends Y{[W]=!0;constructor(...J){super(...J)}static isInstance(J){return typeof J==="object"&&J!==null&&W in J&&J[W]===!0}}return Object.defineProperty(Z,"name",{value:Y.name}),Z},sub(Y){return J6(`${$}.${Y}`)},isInstance(Y){return typeof Y==="object"&&Y!==null&&Q in Y&&Y[Q]===!0}}}var G6=J6("langchain");var JK=j({ContextOverflowError:()=>QW,LangChainError:()=>$4,ModelAbortError:()=>$W,addLangChainErrorFields:()=>e9,ns:()=>T1});function e9($,Q){return $.lc_error_code=Q,$.message=`${$.message}
|
|
7
|
+
|
|
8
|
+
Troubleshooting URL: https://docs.langchain.com/oss/javascript/langchain/errors/${Q}/
|
|
9
|
+
`,$}var T1=G6.sub("error"),$4=class extends T1.brand(Error){name="LangChainError";constructor($){super($);if(Error.captureStackTrace)Error.captureStackTrace(this,this.constructor)}},$W=class extends T1.brand($4,"model-abort"){name="ModelAbortError";partialOutput;constructor($,Q){super($);this.partialOutput=Q}},QW=class $ extends T1.brand($4,"context-overflow"){name="ContextOverflowError";cause;constructor(Q){super(Q??"Input exceeded the model's context window.")}static fromError(Q){let Y=new $(Q.message);return Y.cause=Q,Y}};function G$($){return!!($&&typeof $==="object"&&("type"in $)&&$.type==="tool_call")}function z6($){return!!($&&typeof $==="object"&&("toolCall"in $)&&$.toolCall!=null&&typeof $.toolCall==="object"&&("id"in $.toolCall)&&typeof $.toolCall.id==="string")}var k$=class extends Error{output;constructor($,Q){super($);this.output=Q}};function UK($,Q=Q4){$=$.trim();let Y=$.indexOf("```");if(Y===-1)return Q($);let q=$.substring(Y+3);if(q.startsWith(`json
|
|
10
|
+
`))q=q.substring(5);else if(q.startsWith("json"))q=q.substring(4);else if(q.startsWith(`
|
|
11
|
+
`))q=q.substring(1);let W=q.indexOf("```"),Z=q;if(W!==-1)Z=q.substring(0,W);return Q(Z.trim())}function YW($){try{return JSON.parse($)}catch{}let Q=$.trim();if(Q.length===0)throw Error("Unexpected end of JSON input");let Y=0;function q(){while(Y<Q.length&&/\s/.test(Q[Y]))Y+=1}function W(){if(Q[Y]!=='"')throw Error(`Expected '"' at position ${Y}, got '${Q[Y]}'`);Y+=1;let w="",X=!1;while(Y<Q.length){let U=Q[Y];if(X){if(U==="n")w+=`
|
|
12
|
+
`;else if(U==="t")w+="\t";else if(U==="r")w+="\r";else if(U==="\\")w+="\\";else if(U==='"')w+='"';else if(U==="b")w+="\b";else if(U==="f")w+="\f";else if(U==="/")w+="/";else if(U==="u"){let N=Q.substring(Y+1,Y+5);if(/^[0-9A-Fa-f]{0,4}$/.test(N)){if(N.length===4)w+=String.fromCharCode(Number.parseInt(N,16));else w+=`u${N}`;Y+=N.length}else throw Error(`Invalid unicode escape sequence '\\u${N}' at position ${Y}`)}else throw Error(`Invalid escape sequence '\\${U}' at position ${Y}`);X=!1}else if(U==="\\")X=!0;else if(U==='"')return Y+=1,w;else w+=U;Y+=1}if(X)w+="\\";return w}function Z(){let w=Y,X="";if(Q[Y]==="-")X+="-",Y+=1;if(Y<Q.length&&Q[Y]==="0"){if(X+="0",Y+=1,Q[Y]>="0"&&Q[Y]<="9")throw Error(`Invalid number at position ${w}`)}if(Y<Q.length&&Q[Y]>="1"&&Q[Y]<="9")while(Y<Q.length&&Q[Y]>="0"&&Q[Y]<="9")X+=Q[Y],Y+=1;if(Y<Q.length&&Q[Y]==="."){X+=".",Y+=1;while(Y<Q.length&&Q[Y]>="0"&&Q[Y]<="9")X+=Q[Y],Y+=1}if(Y<Q.length&&(Q[Y]==="e"||Q[Y]==="E")){if(X+=Q[Y],Y+=1,Y<Q.length&&(Q[Y]==="+"||Q[Y]==="-"))X+=Q[Y],Y+=1;while(Y<Q.length&&Q[Y]>="0"&&Q[Y]<="9")X+=Q[Y],Y+=1}if(X==="-")return-0;let U=Number.parseFloat(X);if(Number.isNaN(U))throw Y=w,Error(`Invalid number '${X}' at position ${w}`);return U}function J(){if(q(),Y>=Q.length)throw Error(`Unexpected end of input at position ${Y}`);let w=Q[Y];if(w==="{")return z();if(w==="[")return G();if(w==='"')return W();if("null".startsWith(Q.substring(Y,Y+4)))return Y+=Math.min(4,Q.length-Y),null;if("true".startsWith(Q.substring(Y,Y+4)))return Y+=Math.min(4,Q.length-Y),!0;if("false".startsWith(Q.substring(Y,Y+5)))return Y+=Math.min(5,Q.length-Y),!1;if(w==="-"||w>="0"&&w<="9")return Z();throw Error(`Unexpected character '${w}' at position ${Y}`)}function G(){if(Q[Y]!=="[")throw Error(`Expected '[' at position ${Y}, got '${Q[Y]}'`);let w=[];if(Y+=1,q(),Y>=Q.length)return w;if(Q[Y]==="]")return Y+=1,w;while(Y<Q.length){if(q(),Y>=Q.length)return w;if(w.push(J()),q(),Y>=Q.length)return w;if(Q[Y]==="]")return Y+=1,w;else if(Q[Y]===","){Y+=1;continue}throw Error(`Expected ',' or ']' at position ${Y}, got '${Q[Y]}'`)}return w}function z(){if(Q[Y]!=="{")throw Error(`Expected '{' at position ${Y}, got '${Q[Y]}'`);let w={};if(Y+=1,q(),Y>=Q.length)return w;if(Q[Y]==="}")return Y+=1,w;while(Y<Q.length){if(q(),Y>=Q.length)return w;let X=W();if(q(),Y>=Q.length)return w;if(Q[Y]!==":")throw Error(`Expected ':' at position ${Y}, got '${Q[Y]}'`);if(Y+=1,q(),Y>=Q.length)return w;if(w[X]=J(),q(),Y>=Q.length)return w;if(Q[Y]==="}")return Y+=1,w;else if(Q[Y]===","){Y+=1;continue}throw Error(`Expected ',' or '}' at position ${Y}, got '${Q[Y]}'`)}return w}let K=J();if(q(),Y<Q.length)throw Error(`Unexpected character '${Q[Y]}' at position ${Y}`);return K}function Q4($){try{if(typeof $>"u")return null;return YW($)}catch{return null}}var Y4=class $ extends X0{static lc_name(){return"ChatMessage"}type="generic";role;static _chatMessageClass(){return $}constructor(Q,Y){if(typeof Q==="string"||Array.isArray(Q))Q={content:Q,role:Y};super(Q);this.role=Q.role}static isInstance(Q){return super.isInstance(Q)&&Q.type==="generic"}get _printableFields(){return{...super._printableFields,role:this.role}}},K6=class extends T0{static lc_name(){return"ChatMessageChunk"}type="generic";role;constructor($,Q){if(typeof $==="string"||Array.isArray($))$={content:$,role:Q};super($);this.role=$.role}concat($){return new this.constructor({content:D0(this.content,$.content),additional_kwargs:n(this.additional_kwargs,$.additional_kwargs),response_metadata:n(this.response_metadata,$.response_metadata),role:this.role,id:this.id??$.id})}static isInstance($){return super.isInstance($)&&$.type==="generic"}get _printableFields(){return{...super._printableFields,role:this.role}}};function VK($){return $._getType()==="generic"}function FK($){return $._getType()==="generic"}var w6=class extends X0{static lc_name(){return"FunctionMessage"}type="function";name;constructor($){super($);this.name=$.name}},X6=class extends T0{static lc_name(){return"FunctionMessageChunk"}type="function";concat($){return new this.constructor({content:D0(this.content,$.content),additional_kwargs:n(this.additional_kwargs,$.additional_kwargs),response_metadata:n(this.response_metadata,$.response_metadata),name:this.name??"",id:this.id??$.id})}};function OK($){return $._getType()==="function"}function PK($){return $._getType()==="function"}var S$=class extends X0{static lc_name(){return"HumanMessage"}type="human";constructor($){super($)}static isInstance($){return super.isInstance($)&&$.type==="human"}},U6=class extends T0{static lc_name(){return"HumanMessageChunk"}type="human";constructor($){super($)}concat($){return new this.constructor({content:D0(this.content,$.content),additional_kwargs:n(this.additional_kwargs,$.additional_kwargs),response_metadata:n(this.response_metadata,$.response_metadata),id:this.id??$.id})}static isInstance($){return super.isInstance($)&&$.type==="human"}};function _K($){return $.getType()==="human"}function MK($){return $.getType()==="human"}var N6=class extends X0{type="remove";id;constructor($){super({...$,content:[]});this.id=$.id}get _printableFields(){return{...super._printableFields,id:this.id}}static isInstance($){return super.isInstance($)&&$.type==="remove"}};var _1=class $ extends X0{static lc_name(){return"SystemMessage"}type="system";constructor(Q){super(Q)}concat(Q){if(typeof Q==="string")return new $({...this,content:D0(this.content,Q)});if($.isInstance(Q))return new $({...this,additional_kwargs:{...this.additional_kwargs,...Q.additional_kwargs},response_metadata:{...this.response_metadata,...Q.response_metadata},content:D0(this.content,Q.content)});throw Error("Unexpected chunk type for system message")}static isInstance(Q){return super.isInstance(Q)&&Q.type==="system"}},B6=class extends T0{static lc_name(){return"SystemMessageChunk"}type="system";constructor($){super($)}concat($){return new this.constructor({content:D0(this.content,$.content),additional_kwargs:n(this.additional_kwargs,$.additional_kwargs),response_metadata:n(this.response_metadata,$.response_metadata),id:this.id??$.id})}static isInstance($){return super.isInstance($)&&$.type==="system"}};function kK($){return $._getType()==="system"}function fK($){return $._getType()==="system"}var rK=($)=>$();function qW($){if(G$($))return $;else if(typeof $.id==="string"&&$.type==="function"&&typeof $.function==="object"&&$.function!==null&&"arguments"in $.function&&typeof $.function.arguments==="string"&&"name"in $.function&&typeof $.function.name==="string")return{id:$.id,args:JSON.parse($.function.arguments),name:$.function.name,type:"tool_call"};else return $}function WW($){return typeof $==="object"&&$!=null&&$.lc===1&&Array.isArray($.id)&&$.kwargs!=null&&typeof $.kwargs==="object"}function q4($){let Q,Y;if(WW($)){let q=$.id.at(-1);if(q==="HumanMessage"||q==="HumanMessageChunk")Q="user";else if(q==="AIMessage"||q==="AIMessageChunk")Q="assistant";else if(q==="SystemMessage"||q==="SystemMessageChunk")Q="system";else if(q==="FunctionMessage"||q==="FunctionMessageChunk")Q="function";else if(q==="ToolMessage"||q==="ToolMessageChunk")Q="tool";else Q="unknown";Y=$.kwargs}else{let{type:q,...W}=$;Q=q,Y=W}if(Q==="human"||Q==="user")return new S$(Y);else if(Q==="ai"||Q==="assistant"){let{tool_calls:q,...W}=Y;if(!Array.isArray(q))return new f$(Y);let Z=q.map(qW);return new f$({...W,tool_calls:Z})}else if(Q==="system")return new _1(Y);else if(Q==="developer")return new _1({...Y,additional_kwargs:{...Y.additional_kwargs,__openai_role__:"developer"}});else if(Q==="tool"&&"tool_call_id"in Y)return new E$({...Y,content:Y.content,tool_call_id:Y.tool_call_id,name:Y.name});else if(Q==="remove"&&"id"in Y&&typeof Y.id==="string")return new N6({...Y,id:Y.id});else throw e9(Error(`Unable to coerce message from array: only human, AI, system, developer, or tool message coercion is currently supported.
|
|
13
|
+
|
|
14
|
+
Received: ${JSON.stringify($,null,2)}`),"MESSAGE_COERCION_FAILURE")}function V6($){if(typeof $==="string")return new S$($);else if(dQ($))return $;if(Array.isArray($)){let[Q,Y]=$;return q4({type:Q,content:Y})}else if(mQ($)){let{role:Q,...Y}=$;return q4({...Y,type:Q})}else return q4($)}function M1($,Q="Human",Y="AI"){let q=[];for(let W of $){let Z;if(W.type==="human")Z=Q;else if(W.type==="ai")Z=Y;else if(W.type==="system")Z="System";else if(W.type==="tool")Z="Tool";else if(W.type==="generic")Z=W.role;else throw Error(`Got unsupported message type: ${W.type}`);let J=W.name?`${W.name}, `:"",G=W.text,z=`${Z}: ${J}${G}`;if(W.type==="ai"){let K=W;if(K.tool_calls&&K.tool_calls.length>0)z+=JSON.stringify(K.tool_calls);else if(K.additional_kwargs&&"function_call"in K.additional_kwargs)z+=JSON.stringify(K.additional_kwargs.function_call)}q.push(z)}return q.join(`
|
|
15
|
+
`)}function ZW($){if($.data!==void 0)return $;else{let Q=$;return{type:Q.type,data:{content:Q.text,role:Q.role,name:void 0,tool_call_id:void 0}}}}function W4($){let Q=ZW($);switch(Q.type){case"human":return new S$(Q.data);case"ai":return new f$(Q.data);case"system":return new _1(Q.data);case"function":if(Q.data.name===void 0)throw Error("Name must be defined for function messages");return new w6(Q.data);case"tool":if(Q.data.tool_call_id===void 0)throw Error("Tool call ID must be defined for tool messages");return new E$(Q.data);case"generic":if(Q.data.role===void 0)throw Error("Role must be defined for chat messages");return new Y4(Q.data);default:throw Error(`Got unexpected type: ${Q.type}`)}}function nK($){return $.map(W4)}function aK($){return $.map((Q)=>Q.toDict())}function eK($){let Q=$._getType();if(Q==="human")return new U6({...$});else if(Q==="ai"){let Y={...$};if("tool_calls"in Y)Y={...Y,tool_call_chunks:Y.tool_calls?.map((q)=>({...q,type:"tool_call_chunk",index:void 0,args:JSON.stringify(q.args)}))};return new b$({...Y})}else if(Q==="system")return new B6({...$});else if(Q==="function")return new X6({...$});else if(Y4.isInstance($))return new K6({...$});else throw Error("Unknown message type.")}function F6($){let Q=$.reduce((W,Z)=>{let J=W.findIndex(([G])=>{if("id"in Z&&Z.id&&"index"in Z&&Z.index!==void 0)return Z.id===G.id&&Z.index===G.index;if("id"in Z&&Z.id)return Z.id===G.id;if("index"in Z&&Z.index!==void 0)return Z.index===G.index;return!1});if(J!==-1)W[J].push(Z);else W.push([Z]);return W},[]),Y=[],q=[];for(let W of Q){let Z=null,J=W[0]?.name??"",G=W.map((w)=>w.args||"").join("").trim(),z=G.length?G:"{}",K=W[0]?.id;try{if(Z=Q4(z),!K||Z===null||typeof Z!=="object"||Array.isArray(Z))throw Error("Malformed tool call chunk args.");Y.push({name:J,args:Z,id:K,type:"tool_call"})}catch{q.push({name:J,args:z,id:K,error:"Malformed args.",type:"invalid_tool_call"})}}return{tool_call_chunks:$,tool_calls:Y,invalid_tool_calls:q}}var f$=class extends X0{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($){let Q;if(typeof $==="string"||Array.isArray($))Q={content:$,tool_calls:[],invalid_tool_calls:[],additional_kwargs:{}};else{Q=$;let Y=Q.additional_kwargs?.tool_calls,q=Q.tool_calls;if(Y!=null&&Y.length>0&&(q===void 0||q.length===0))console.warn(["New LangChain packages are available that more efficiently handle",`tool calling.
|
|
16
|
+
|
|
17
|
+
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(Y!=null&&q===void 0){let[W,Z]=r9(Y);Q.tool_calls=W??[],Q.invalid_tool_calls=Z??[]}else Q.tool_calls=Q.tool_calls??[],Q.invalid_tool_calls=Q.invalid_tool_calls??[]}catch{Q.tool_calls=[],Q.invalid_tool_calls=[]}if(Q.response_metadata!==void 0&&"output_version"in Q.response_metadata&&Q.response_metadata.output_version==="v1")Q.contentBlocks=Q.content,Q.content=void 0;if(Q.contentBlocks!==void 0){if(Q.tool_calls)Q.contentBlocks.push(...Q.tool_calls.map((Z)=>({type:"tool_call",id:Z.id,name:Z.name,args:Z.args})));let W=Q.contentBlocks.filter((Z)=>Z.type==="tool_call").filter((Z)=>!Q.tool_calls?.some((J)=>J.id===Z.id&&J.name===Z.name));if(W.length>0)Q.tool_calls=W.map((Z)=>({type:"tool_call",id:Z.id,name:Z.name,args:Z.args}))}}super(Q);if(typeof Q!=="string")this.tool_calls=Q.tool_calls??this.tool_calls,this.invalid_tool_calls=Q.invalid_tool_calls??this.invalid_tool_calls;this.usage_metadata=Q.usage_metadata}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 Q=a9(this.response_metadata.model_provider);if(Q)return Q.translateContent(this)}let $=super.contentBlocks;if(this.tool_calls){let Q=this.tool_calls.filter((Y)=>!$.some((q)=>q.id===Y.id&&q.name===Y.name));$.push(...Q.map((Y)=>({type:"tool_call",id:Y.id,name:Y.name,args:Y.args})))}return $}get _printableFields(){return{...super._printableFields,tool_calls:this.tool_calls,invalid_tool_calls:this.invalid_tool_calls,usage_metadata:this.usage_metadata}}static isInstance($){return super.isInstance($)&&$.type==="ai"}};function J3($){return $._getType()==="ai"}function G3($){return $._getType()==="ai"}var b$=class extends T0{type="ai";tool_calls=[];invalid_tool_calls=[];tool_call_chunks=[];usage_metadata;constructor($){let Q;if(typeof $==="string"||Array.isArray($))Q={content:$,tool_calls:[],invalid_tool_calls:[],tool_call_chunks:[]};else if($.tool_call_chunks===void 0||$.tool_call_chunks.length===0)Q={...$,tool_calls:$.tool_calls??[],invalid_tool_calls:[],tool_call_chunks:[],usage_metadata:$.usage_metadata!==void 0?$.usage_metadata:void 0};else{let Y=F6($.tool_call_chunks??[]);Q={...$,tool_call_chunks:Y.tool_call_chunks,tool_calls:Y.tool_calls,invalid_tool_calls:Y.invalid_tool_calls,usage_metadata:$.usage_metadata!==void 0?$.usage_metadata:void 0}}super(Q);this.tool_call_chunks=Q.tool_call_chunks??this.tool_call_chunks,this.tool_calls=Q.tool_calls??this.tool_calls,this.invalid_tool_calls=Q.invalid_tool_calls??this.invalid_tool_calls,this.usage_metadata=Q.usage_metadata}get lc_aliases(){return{...super.lc_aliases,tool_calls:"tool_calls",invalid_tool_calls:"invalid_tool_calls",tool_call_chunks:"tool_call_chunks",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 Q=a9(this.response_metadata.model_provider);if(Q)return Q.translateContent(this)}let $=super.contentBlocks;if(this.tool_calls){if(typeof this.content!=="string"){let Q=this.content.filter((Y)=>Y.type==="tool_call").map((Y)=>Y.id);for(let Y of this.tool_calls)if(Y.id&&!Q.includes(Y.id))$.push({...Y,type:"tool_call",id:Y.id,name:Y.name,args:Y.args})}}return $}get _printableFields(){return{...super._printableFields,tool_calls:this.tool_calls,tool_call_chunks:this.tool_call_chunks,invalid_tool_calls:this.invalid_tool_calls,usage_metadata:this.usage_metadata}}concat($){let Q={content:D0(this.content,$.content),additional_kwargs:n(this.additional_kwargs,$.additional_kwargs),response_metadata:W6(this.response_metadata,$.response_metadata),tool_call_chunks:[],tool_calls:[],id:this.id??$.id};if(this.tool_call_chunks!==void 0||$.tool_call_chunks!==void 0){let q=C$(this.tool_call_chunks,$.tool_call_chunks);if(q!==void 0&&q.length>0)Q.tool_call_chunks=q}if(this.tool_calls!==void 0||$.tool_calls!==void 0){let q=C$(this.tool_calls,$.tool_calls);if(q!==void 0&&q.length>0)Q.tool_calls=q}if(this.usage_metadata!==void 0||$.usage_metadata!==void 0)Q.usage_metadata=L1(this.usage_metadata,$.usage_metadata);return new this.constructor(Q)}static isInstance($){return super.isInstance($)&&$.type==="ai"}};function o($){if(typeof $!=="object"||$===null)return!1;let Q=$;if(!("_zod"in Q))return!1;let Y=Q._zod;return typeof Y==="object"&&Y!==null&&"def"in Y}function Q0($){if(typeof $!=="object"||$===null)return!1;let Q=$;if(!("_def"in Q)||"_zod"in Q)return!1;let Y=Q._def;return typeof Y==="object"&&Y!=null&&"typeName"in Y}function U3($){if(o($))console.warn("[WARNING] Attempting to use Zod 4 schema in a context where Zod 3 schema is expected. This may cause unexpected behavior.");return Q0($)}function h$($){if(!$)return!1;if(typeof $!=="object")return!1;if(Array.isArray($))return!1;if(o($)||Q0($))return!0;return!1}function JW($){if(typeof $==="object"&&$!==null&&"_def"in $&&typeof $._def==="object"&&$._def!==null&&"typeName"in $._def&&$._def.typeName==="ZodLiteral")return!0;return!1}function GW($){if(!o($))return!1;if(typeof $==="object"&&$!==null&&"_zod"in $&&typeof $._zod==="object"&&$._zod!==null&&"def"in $._zod&&typeof $._zod.def==="object"&&$._zod.def!==null&&"type"in $._zod.def&&$._zod.def.type==="literal")return!0;return!1}function N3($){if(JW($))return!0;if(GW($))return!0;return!1}async function B3($,Q){if(o($))try{return{success:!0,data:await J4($,Q)}}catch(Y){return{success:!1,error:Y}}if(Q0($))return await $.safeParseAsync(Q);throw Error("Schema must be an instance of z3.ZodType or z4.$ZodType")}async function I1($,Q){if(o($))return await J4($,Q);if(Q0($))return await $.parseAsync(Q);throw Error("Schema must be an instance of z3.ZodType or z4.$ZodType")}function V3($,Q){if(o($))try{return{success:!0,data:x1($,Q)}}catch(Y){return{success:!1,error:Y}}if(Q0($))return $.safeParse(Q);throw Error("Schema must be an instance of z3.ZodType or z4.$ZodType")}function F3($,Q){if(o($))return x1($,Q);if(Q0($))return $.parse(Q);throw Error("Schema must be an instance of z3.ZodType or z4.$ZodType")}function S6($){if(o($))return H0.get($)?.description;if(Q0($))return $.description;if("description"in $&&typeof $.description==="string")return $.description}function A3($){if(!h$($))return!1;if(Q0($)){let Q=$._def;if(Q.typeName==="ZodObject"){let Y=$;return!Y.shape||Object.keys(Y.shape).length===0}if(Q.typeName==="ZodRecord")return!0}if(o($)){let Q=$._zod.def;if(Q.type==="object"){let Y=$;return!Y.shape||Object.keys(Y.shape).length===0}if(Q.type==="record")return!0}if(typeof $==="object"&&$!==null&&!("shape"in $))return!0;return!1}function j1($){if(!h$($))return!1;if(Q0($))return $._def.typeName==="ZodString";if(o($))return $._zod.def.type==="string";return!1}function L6($){if(typeof $==="object"&&$!==null&&"_def"in $&&typeof $._def==="object"&&$._def!==null&&"typeName"in $._def&&$._def.typeName==="ZodObject")return!0;return!1}function i0($){if(!o($))return!1;if(typeof $==="object"&&$!==null&&"_zod"in $&&typeof $._zod==="object"&&$._zod!==null&&"def"in $._zod&&typeof $._zod.def==="object"&&$._zod.def!==null&&"type"in $._zod.def&&$._zod.def.type==="object")return!0;return!1}function z4($){if(!o($))return!1;if(typeof $==="object"&&$!==null&&"_zod"in $&&typeof $._zod==="object"&&$._zod!==null&&"def"in $._zod&&typeof $._zod.def==="object"&&$._zod.def!==null&&"type"in $._zod.def&&$._zod.def.type==="array")return!0;return!1}function zW($){if(!o($))return!1;if(typeof $==="object"&&$!==null&&"_zod"in $&&typeof $._zod==="object"&&$._zod!==null&&"def"in $._zod&&typeof $._zod.def==="object"&&$._zod.def!==null&&"type"in $._zod.def&&$._zod.def.type==="optional")return!0;return!1}function KW($){if(!o($))return!1;if(typeof $==="object"&&$!==null&&"_zod"in $&&typeof $._zod==="object"&&$._zod!==null&&"def"in $._zod&&typeof $._zod.def==="object"&&$._zod.def!==null&&"type"in $._zod.def&&$._zod.def.type==="nullable")return!0;return!1}function D3($){if(L6($))return!0;if(i0($))return!0;return!1}function A6($){if(Q0($))return $.shape;if(o($))return $._zod.def.shape;throw Error("Schema must be an instance of z3.ZodObject or z4.$ZodObject")}function H3($,Q){if(Q0($))return $.extend(Q);if(o($))return Z4.extend($,Q);throw Error("Schema must be an instance of z3.ZodObject or z4.$ZodObject")}function O3($){if(Q0($))return $.partial();if(o($))return Z4.partial(G4,$,void 0);throw Error("Schema must be an instance of z3.ZodObject or z4.$ZodObject")}function R1($,Q=!1){if(Q0($))return $.strict();if(i0($)){let Y=$._zod.def.shape;if(Q)for(let[Z,J]of Object.entries($._zod.def.shape)){if(i0(J))Y[Z]=R1(J,Q);else if(z4(J)){let z=J._zod.def.element;if(i0(z))z=R1(z,Q);Y[Z]=l0(J,{...J._zod.def,element:z})}else Y[Z]=J;let G=H0.get(J);if(G)H0.add(Y[Z],G)}let q=l0($,{...$._zod.def,shape:Y,catchall:E6(O6)}),W=H0.get($);if(W)H0.add(q,W);return q}throw Error("Schema must be an instance of z3.ZodObject or z4.$ZodObject")}function D6($,Q=!1){if(L6($))return $.passthrough();if(i0($)){let Y=$._zod.def.shape;if(Q)for(let[Z,J]of Object.entries($._zod.def.shape)){if(i0(J))Y[Z]=D6(J,Q);else if(z4(J)){let z=J._zod.def.element;if(i0(z))z=D6(z,Q);Y[Z]=l0(J,{...J._zod.def,element:z})}else Y[Z]=J;let G=H0.get(J);if(G)H0.add(Y[Z],G)}let q=l0($,{...$._zod.def,shape:Y,catchall:P6(H6)}),W=H0.get($);if(W)H0.add(q,W);return q}throw Error("Schema must be an instance of z3.ZodObject or z4.$ZodObject")}function P3($){if(Q0($))try{let Q=$.parse(void 0);return()=>Q}catch{return}if(o($))try{let Q=x1($,void 0);return()=>Q}catch{return}}function wW($){return Q0($)&&"typeName"in $._def&&$._def.typeName==="ZodEffects"}function XW($){return o($)&&$._zod.def.type==="pipe"}function L$($,Q,Y){let q=Y.get($);if(q!==void 0)return q;if(Q0($)){if(wW($))return L$($._def.schema,Q,Y);return $}if(o($)){let W=$;if(XW($))W=L$($._zod.def.in,Q,Y);if(Q){if(i0(W)){let J={};for(let[G,z]of Object.entries(W._zod.def.shape))J[G]=L$(z,Q,Y);W=l0(W,{...W._zod.def,shape:J})}else if(z4(W)){let J=L$(W._zod.def.element,Q,Y);W=l0(W,{...W._zod.def,element:J})}else if(zW(W)){let J=L$(W._zod.def.innerType,Q,Y);W=l0(W,{...W._zod.def,innerType:J})}else if(KW(W)){let J=L$(W._zod.def.innerType,Q,Y);W=l0(W,{...W._zod.def,innerType:J})}}let Z=H0.get($);if(Z)H0.add(W,Z);return Y.set($,W),W}throw Error("Schema must be an instance of z3.ZodType or z4.$ZodType")}function T6($,Q=!1){return L$($,Q,new WeakMap)}function E3($,Q){if(Q0($)){let Y=A6($),q={};for(let[W,Z]of Object.entries(Y))if(Q(W,Z))q[W]=Z.optional();else q[W]=Z;return $.extend(q)}if(o($)){let Y=A6($),q={...$._zod.def.shape};for(let[J,G]of Object.entries(Y))if(Q(J,G))q[J]=new G4({type:"optional",innerType:G});let W=l0($,{...$._zod.def,shape:q}),Z=H0.get($);if(Z)H0.add(W,Z);return W}throw Error("Schema must be an instance of z3.ZodObject or z4.$ZodObject")}function _6($){return $ instanceof Error&&($.constructor.name==="ZodError"||$.constructor.name==="$ZodError")}var T3=j({getEnv:()=>j6,getEnvironmentVariable:()=>k0,getRuntimeEnvironment:()=>w4,isBrowser:()=>M6,isDeno:()=>v1,isJsDom:()=>x6,isNode:()=>I6,isWebWorker:()=>R6}),M6=()=>typeof window<"u"&&typeof window.document<"u",R6=()=>typeof globalThis==="object"&&globalThis.constructor&&globalThis.constructor.name==="DedicatedWorkerGlobalScope",x6=()=>typeof window<"u"&&window.name==="nodejs"||typeof navigator<"u"&&navigator.userAgent.includes("jsdom"),v1=()=>typeof Deno<"u",I6=()=>typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"&&!v1(),j6=()=>{let $;if(M6())$="browser";else if(I6())$="node";else if(R6())$="webworker";else if(x6())$="jsdom";else if(v1())$="deno";else $="other";return $},K4;function w4(){if(K4===void 0)K4={library:"langchain-js",runtime:j6()};return K4}function k0($){try{if(typeof process<"u")return process.env?.[$];else if(v1())return Deno?.env.get($);else return}catch{return}}T$();var I3=j({BaseCallbackHandler:()=>_$,callbackHandlerPrefersStreaming:()=>BW,isBaseCallbackHandler:()=>X4}),NW=class{};function BW($){return"lc_prefer_streaming"in $&&$.lc_prefer_streaming}var _$=class extends NW{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,P1(this.constructor)]}lc_kwargs;ignoreLLM=!1;ignoreChain=!1;ignoreAgent=!1;ignoreRetriever=!1;ignoreCustomEvent=!1;raiseError=!1;awaitHandlers=k0("LANGCHAIN_CALLBACKS_BACKGROUND")==="false";constructor($){super();if(this.lc_kwargs=$||{},$)this.ignoreLLM=$.ignoreLLM??this.ignoreLLM,this.ignoreChain=$.ignoreChain??this.ignoreChain,this.ignoreAgent=$.ignoreAgent??this.ignoreAgent,this.ignoreRetriever=$.ignoreRetriever??this.ignoreRetriever,this.ignoreCustomEvent=$.ignoreCustomEvent??this.ignoreCustomEvent,this.raiseError=$.raiseError??this.raiseError,this.awaitHandlers=this.raiseError||($._awaitHandler??this.awaitHandlers)}copy(){return new this.constructor(this)}toJSON(){return c0.prototype.toJSON.call(this)}toJSONNotImplemented(){return c0.prototype.toJSONNotImplemented.call(this)}static fromMethods($){class Q extends _${name=_0();constructor(){super();Object.assign(this,$)}}return new Q}},X4=($)=>{let Q=$;return Q!==void 0&&typeof Q.copy==="function"&&typeof Q.name==="string"&&typeof Q.awaitHandlers==="boolean"};T$();var v6="gen_ai.operation.name",y6="gen_ai.system",U4="gen_ai.request.model",C6="gen_ai.response.model",N4="gen_ai.usage.input_tokens",B4="gen_ai.usage.output_tokens",V4="gen_ai.usage.total_tokens",k6="gen_ai.request.max_tokens",f6="gen_ai.request.temperature",b6="gen_ai.request.top_p",h6="gen_ai.request.frequency_penalty",g6="gen_ai.request.presence_penalty",m6="gen_ai.response.finish_reasons",d6="gen_ai.prompt",p6="gen_ai.completion",u6="gen_ai.request.extra_query",c6="gen_ai.request.extra_body",l6="gen_ai.serialized.name",i6="gen_ai.serialized.signature",s6="gen_ai.serialized.doc",t6="gen_ai.response.id",o6="gen_ai.response.service_tier",r6="gen_ai.response.system_fingerprint",n6="gen_ai.usage.input_token_details",a6="gen_ai.usage.output_token_details",e6="langsmith.trace.session_id",$Y="langsmith.trace.session_name",QY="langsmith.span.kind",YY="langsmith.trace.name",qY="langsmith.metadata",F4="langsmith.span.tags";var WY="langsmith.request.streaming",ZY="langsmith.request.headers";var FW=(...$)=>fetch(...$),AW=void 0,JY=Symbol.for("ls:fetch_implementation");var GY=()=>{if(globalThis[JY]===void 0)return!0;return AW??!1},zY=($)=>{return async(...Q)=>{if($||e("DEBUG")==="true"){let[q,W]=Q;console.log(`→ ${W?.method||"GET"} ${q}`)}let Y=await(globalThis[JY]??FW)(...Q);if($||e("DEBUG")==="true")console.log(`← ${Y.status} ${Y.statusText} ${Y.url}`);return Y}};var n$=()=>{return e("PROJECT")??M0("LANGCHAIN_SESSION")??"default"};T$();var KY={};function M$($){if(!KY[$])console.warn($),KY[$]=!0}var B=($)=>BigInt($),NY=B("0x9E3779B1"),BY=B("0x85EBCA77"),DW=B("0xC2B2AE3D"),z$=B("0x9E3779B185EBCA87"),R$=B("0xC2B2AE3D27D4EB4F"),VY=B("0x165667B19E3779F9"),O4=B("0x85EBCA77C2B2AE63"),HW=B("0x27D4EB2F165667C5"),OW=B("0x165667919E3779F9"),PW=B("0x9FB21C651E98DF25");function EW($){let Q=new Uint8Array($.length/2);for(let Y=0;Y<$.length;Y+=2)Q[Y/2]=parseInt($.substring(Y,Y+2),16);return Q}var s0=EW("b8fe6c3923a44bbe7c01812cf721ad1cded46de9839097db7240a4a4b7b3671fcb79e64eccc0e578825ad07dccff7221b8084674f743248ee03590e6813a264c3c2852bb91c300cb88d0658b1b532ea371644897a20df94e3819ef46a9deacd8a8fa763fe39c343ff9dcbbc7c70b4f1d8a51e04bcdb45931c89f7ec9d9787364eac5ac8334d3ebc3c581a0fffa1363eb170ddd51b7f0da49d316552629d4689e2b16be587d47a1fc8ff8b8d17ad031ce45cb3a8f95160428afd7fbcabb4b407e"),m$=(B(1)<<B(128))-B(1),g=(B(1)<<B(64))-B(1),f1=(B(1)<<B(32))-B(1),Y$=64,FY=Y$/8,SW=8,y1=4;function l($,Q=0){return new Uint8Array($.buffer,$.byteOffset+Q,$.length-Q)}function s($,Q=0){return new DataView($.buffer,$.byteOffset+Q).getBigUint64(0,!0)}function g$($,Q=0){return new DataView($.buffer,$.byteOffset+Q).getUint32(0,!0)}function A4($,Q=0){return $[Q]}var LW=($)=>{return($&B(255))<<B(56)|($&B(65280))<<B(40)|($&B(16711680))<<B(24)|($&B(4278190080))<<B(8)|($&B(1095216660480))>>B(8)|($&B(280375465082880))>>B(24)|($&B(71776119061217280))>>B(40)|($&B(18374686479671624000))>>B(56)},TW=($)=>{return $=($&B(65535))<<B(16)|($&B(4294901760))>>B(16),$=($&B(16711935))<<B(8)|($&B(4278255360))>>B(8),$},_W=($,Q)=>($&f1)*(Q&f1)&g,d$=($)=>{if(!$)throw Error("Assert failed")};function MW($,Q){return($<<Q|$>>B(32)-Q)&f1}function AY($,Q,Y){for(let q=0;q<FY;q++){let W=s(Q,q*8),Z=W^s(Y,q*8);$[q^1]+=W,$[q]+=_W(Z,Z>>B(32))}return $}function wY($,Q,Y,q){for(let W=0;W<q;W++)AY($,l(Q,W*Y$),l(Y,W*8));return $}function RW($,Q){for(let Y=0;Y<FY;Y++){let q=s(Q,Y*8),W=$[Y];W=D4(W,B(47)),W^=q,W*=NY,$[Y]=W&g}return $}function C1($,Q){return DY($[0]^s(Q,0),$[1]^s(Q,SW))}function XY($,Q,Y){let q=Y;return q+=C1($.slice(0),l(Q,0*y1)),q+=C1($.slice(2),l(Q,4*y1)),q+=C1($.slice(4),l(Q,8*y1)),q+=C1($.slice(6),l(Q,12*y1)),t0(q&g)}function xW($,Q,Y,q,W){let Z=Math.floor((Y.byteLength-Y$)/8),J=Y$*Z,G=Math.floor((Q.byteLength-1)/J);for(let z=0;z<G;z++)$=wY($,l(Q,z*J),Y,Z),$=W($,l(Y,Y.byteLength-Y$));{let z=Math.floor((Q.byteLength-1-J*G)/Y$);$=wY($,l(Q,G*J),Y,z),$=q($,l(Q,Q.byteLength-Y$),l(Y,Y.byteLength-Y$-7))}return $}function IW($,Q,Y){let q=new BigUint64Array([DW,z$,R$,VY,O4,BY,HW,NY]);d$($.length>128),q=xW(q,$,Q,AY,RW),d$(q.length*8==64);{let W=XY(q,l(Q,11),B($.byteLength)*z$&g);return XY(q,l(Q,Q.byteLength-Y$-11),~(B($.byteLength)*R$)&g)<<B(64)|W}}function DY($,Q){let Y=$*Q&m$;return Y&g^Y>>B(64)}function UY($,Q,Y){return DY((s($,0)^s(Q,0)+Y)&g,(s($,8)^s(Q,8)-Y)&g)}function k1($,Q,Y,q,W){let Z=$&g,J=$>>B(64)&g;return Z+=UY(Q,q,W),Z^=s(Y,0)+s(Y,8),Z&=g,J+=UY(Y,l(q,16),W),J^=s(Q,0)+s(Q,8),J&=g,J<<B(64)|Z}function t0($){return $^=$>>B(37),$*=OW,$&=g,$^=$>>B(32),$}function b1($){return $^=$>>B(33),$*=R$,$&=g,$^=$>>B(29),$*=VY,$&=g,$^=$>>B(32),$}function jW($,Q,Y){let q=$.byteLength;d$(q>0&&q<=3);let W=B(A4($,q-1))|B(q<<8)|B(A4($,0)<<16)|B(A4($,q>>1)<<24),Z=(B(g$(Q,0))^B(g$(Q,4)))+Y,J=(W^Z)&g,G=(B(g$(Q,8))^B(g$(Q,12)))-Y,z=(MW(TW(W),B(13))^G)&g;return(b1(z)&g)<<B(64)|b1(J)}function D4($,Q){return $^$>>Q}function vW($,Q,Y){let q=$.byteLength;d$(q>=4&&q<=8);{let W=g$($,0),Z=g$($,q-4),J=B(W)|B(Z)<<B(32),G=(s(Q,16)^s(Q,24))+Y&g,K=(J^G)*(z$+(B(q)<<B(2)))&m$;return K+=(K&g)<<B(65),K&=m$,K^=K>>B(67),D4(D4(K&g,B(35))*PW&g,B(28))|t0(K>>B(64))<<B(64)}}function yW($,Q,Y){let q=$.byteLength;d$(q>=9&&q<=16);{let W=(s(Q,32)^s(Q,40))+Y&g,Z=(s(Q,48)^s(Q,56))-Y&g,J=s($),G=s($,q-8),z=(J^G^W)*z$,K=(z&g)+(B(q-1)<<B(54));z=z&(m$^g)|K,G^=Z,z+=G+(G&f1)*(BY-B(1))<<B(64),z&=m$,z^=LW(z>>B(64));let w=(z&g)*R$;return w+=(z>>B(64))*R$<<B(64),w&=m$,t0(w&g)|t0(w>>B(64))<<B(64)}}function CW($,Q){let Y=$.byteLength;if(d$(Y<=16),Y>8)return yW($,s0,Q);if(Y>=4)return vW($,s0,Q);if(Y>0)return jW($,s0,Q);return b1(Q^s(s0,64)^s(s0,72))|b1(Q^s(s0,80)^s(s0,88))<<B(64)}function H4($){return~$+B(1)&g}function kW($,Q,Y){let q=B($.byteLength)*z$&g,W=B($.byteLength-1)/B(32);while(W>=0){let G=Number(W);q=k1(q,l($,16*G),l($,$.byteLength-16*(G+1)),l(Q,32*G),Y),W--}let Z=q+(q>>B(64))&g;Z=t0(Z);let J=(q&g)*z$+(q>>B(64))*O4+(B($.byteLength)-Y&g)*R$;return J&=g,J=H4(t0(J)),Z|J<<B(64)}function fW($,Q,Y){let q=B($.byteLength)*z$&g;for(let J=32;J<160;J+=32)q=k1(q,l($,J-32),l($,J-16),l(Q,J-32),Y);q=t0(q&g)|t0(q>>B(64))<<B(64);for(let J=160;J<=$.byteLength;J+=32)q=k1(q,l($,J-32),l($,J-16),l(Q,3+J-160),Y);q=k1(q,l($,$.byteLength-16),l($,$.byteLength-32),l(Q,103),H4(Y));let W=q+(q>>B(64))&g;W=t0(W);let Z=(q&g)*z$+(q>>B(64))*O4+(B($.byteLength)-Y&g)*R$;return Z&=g,Z=H4(t0(Z)),W|Z<<B(64)}function HY($,Q=B(0)){let Y=$.byteLength;if(Y<=16)return CW($,Q);if(Y<=128)return kW($,s0,Q);if(Y<=240)return fW($,s0,Q);return IW($,s0,Q)}function OY($){let Q=new Uint8Array(16),Y=new DataView(Q.buffer),q=$&g,W=$>>B(64);return Y.setBigUint64(0,W,!1),Y.setBigUint64(8,q,!1),Q}var PY=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function b($,Q){if(!PY.test($)){let Y=Q!==void 0?`Invalid UUID for ${Q}: ${$}`:`Invalid UUID: ${$}`;throw Error(Y)}return $}function h1($){let Q=typeof $==="string"?Date.parse($):$;return _0({msecs:Q,seq:0})}function bW($){if(!PY.test($))return null;let Q=$[14];return parseInt(Q,16)}function hW($){let Q=$.replace(/-/g,""),Y=new Uint8Array(16);for(let q=0;q<16;q++)Y[q]=parseInt(Q.slice(q*2,q*2+2),16);return Y}function gW($){let Q=Array.from($).map((Y)=>Y.toString(16).padStart(2,"0")).join("");return`${Q.slice(0,8)}-${Q.slice(8,12)}-${Q.slice(12,16)}-${Q.slice(16,20)}-${Q.slice(20)}`}var mW=new TextEncoder;function dW($){let Q=mW.encode($),Y=HY(Q);return OY(Y)}function a$($,Q){let Y=`${$}:${Q}`,q=dW(Y),W=new Uint8Array(16);if(bW($)===7){let J=hW($);W.set(J.slice(0,6),0)}else{let J=Date.now();W[0]=J/1099511627776&255,W[1]=J/4294967296&255,W[2]=J/16777216&255,W[3]=J/65536&255,W[4]=J/256&255,W[5]=J&255}return W[6]=112|q[0]&15,W[7]=q[1],W[8]=128|q[2]&63,W.set(q.slice(3,10),9),gW(W)}import*as O0 from"node:fs";import*as EY from"node:path";function SY($,Q){let Y=EY.dirname($);if(!O0.existsSync(Y))O0.mkdirSync(Y,{recursive:!0});let q={entries:Q},W=`${$}.tmp`;try{O0.writeFileSync(W,JSON.stringify(q,null,2)),O0.renameSync(W,$)}catch(Z){if(O0.existsSync(W))O0.unlinkSync(W);throw Z}}function LY($){if(!O0.existsSync($))return null;try{let Q=O0.readFileSync($,"utf-8");return JSON.parse(Q).entries??null}catch{return null}}function pW($,Q){if(Q===null)return!1;return Date.now()-$.createdAt>Q*1000}class P4{constructor($={}){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($)}get metrics(){return{...this._metrics}}get totalRequests(){return this._metrics.hits+this._metrics.misses}get hitRate(){let $=this.totalRequests;return $>0?this._metrics.hits/$:0}resetMetrics(){this._metrics={hits:0,misses:0,refreshes:0,refreshErrors:0}}get($,Q){if(this.maxSize===0)return;let Y=this.cache.get($);if(!Y){this._metrics.misses+=1;return}return this.cache.delete($),this.cache.set($,{...Y,refreshFunc:Q}),this._metrics.hits+=1,Y.value}set($,Q,Y){if(this.maxSize===0)return;if(this.refreshTimer===void 0)this.startRefreshLoop();if(!this.cache.has($)&&this.cache.size>=this.maxSize){let W=this.cache.keys().next().value;if(W!==void 0)this.cache.delete(W)}let q={value:Q,createdAt:Date.now(),refreshFunc:Y};this.cache.delete($),this.cache.set($,q)}invalidate($){this.cache.delete($)}clear(){this.cache.clear()}get size(){return this.cache.size}stop(){if(this.refreshTimer)clearInterval(this.refreshTimer),this.refreshTimer=void 0}dump($){let Q={};for(let[Y,q]of this.cache.entries())Q[Y]=q.value;SY($,Q)}load($){let Q=LY($);if(!Q)return 0;let Y=0,q=Date.now();for(let[W,Z]of Object.entries(Q)){if(this.cache.size>=this.maxSize)break;let J={value:Z,createdAt:q};this.cache.set(W,J),Y+=1}return Y}startRefreshLoop(){if(this.stop(),this.ttlSeconds!==null){if(this.refreshTimer=setInterval(()=>{this.refreshStaleEntries().catch(($)=>{console.warn("Unexpected error in cache refresh loop:",$)})},this.refreshIntervalSeconds*1000),this.refreshTimer.unref)this.refreshTimer.unref()}}getStaleEntries(){let $=[];for(let[Q,Y]of this.cache.entries())if(pW(Y,this.ttlSeconds))$.push([Q,Y]);return $}async refreshStaleEntries(){let $=this.getStaleEntries();if($.length===0)return;for(let[Q,Y]of $)if(Y.refreshFunc!==void 0)try{let q=await Y.refreshFunc();this.set(Q,q,Y.refreshFunc),this._metrics.refreshes+=1}catch(q){this._metrics.refreshErrors+=1,console.warn(`Failed to refresh cache entry ${Q}:`,q)}}configure($){this.stop(),this.refreshIntervalSeconds=$.refreshIntervalSeconds??60,this.maxSize=$.maxSize??100,this.ttlSeconds=$.ttlSeconds??300}}var g1=new P4;var m1="0.5.4";var o0,uW=()=>typeof window<"u"&&typeof window.document<"u",cW=()=>typeof globalThis==="object"&&globalThis.constructor&&globalThis.constructor.name==="DedicatedWorkerGlobalScope",lW=()=>typeof window<"u"&&window.name==="nodejs"||typeof navigator<"u"&&navigator.userAgent.includes("jsdom"),TY=()=>typeof Deno<"u",iW=()=>typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"&&!TY(),L4=()=>{if(o0)return o0;if(typeof Bun<"u")o0="bun";else if(uW())o0="browser";else if(iW())o0="node";else if(cW())o0="webworker";else if(lW())o0="jsdom";else if(TY())o0="deno";else o0="other";return o0},E4;function d1(){if(E4===void 0){let $=L4(),Q=tW();E4={library:"langsmith",runtime:$,sdk:"langsmith-js",sdk_version:m1,...Q}}return E4}function T4(){let $=sW(),Q={},Y=["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[q,W]of Object.entries($))if(typeof W==="string"&&!Y.includes(q)&&!q.toLowerCase().includes("key")&&!q.toLowerCase().includes("secret")&&!q.toLowerCase().includes("token"))if(q==="LANGCHAIN_REVISION_ID")Q.revision_id=W;else Q[q]=W;return Q}function sW(){let $={};try{if(typeof process<"u"&&process.env){for(let[Q,Y]of Object.entries(process.env))if((Q.startsWith("LANGCHAIN_")||Q.startsWith("LANGSMITH_"))&&Y!=null)if((Q.toLowerCase().includes("key")||Q.toLowerCase().includes("secret")||Q.toLowerCase().includes("token"))&&typeof Y==="string")$[Q]=Y.slice(0,2)+"*".repeat(Y.length-4)+Y.slice(-2);else $[Q]=Y}}catch(Q){}return $}function M0($){try{return typeof process<"u"?process.env?.[$]:void 0}catch(Q){return}}function e($){return M0(`LANGSMITH_${$}`)||M0(`LANGCHAIN_${$}`)}var S4;function tW(){if(S4!==void 0)return S4;let $=["VERCEL_GIT_COMMIT_SHA","NEXT_PUBLIC_VERCEL_GIT_COMMIT_SHA","COMMIT_REF","RENDER_GIT_COMMIT","CI_COMMIT_SHA","CIRCLE_SHA1","CF_PAGES_COMMIT_SHA","REACT_APP_GIT_SHA","SOURCE_VERSION","GITHUB_SHA","TRAVIS_COMMIT","GIT_COMMIT","BUILD_VCS_NUMBER","bamboo_planRepository_revision","Build.SourceVersion","BITBUCKET_COMMIT","DRONE_COMMIT_SHA","SEMAPHORE_GIT_SHA","BUILDKITE_COMMIT"],Q={};for(let Y of $){let q=M0(Y);if(q!==void 0)Q[Y]=q}return S4=Q,Q}function p1(){return M0("OTEL_ENABLED")==="true"||e("OTEL_ENABLED")==="true"}class MY{constructor(){Object.defineProperty(this,"hasWarned",{enumerable:!0,configurable:!0,writable:!0,value:!1})}startActiveSpan($,...Q){if(!this.hasWarned&&p1())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 Y;if(Q.length===1&&typeof Q[0]==="function")Y=Q[0];else if(Q.length===2&&typeof Q[1]==="function")Y=Q[1];else if(Q.length===3&&typeof Q[2]==="function")Y=Q[2];if(typeof Y==="function")return Y();return}}class RY{constructor(){Object.defineProperty(this,"mockTracer",{enumerable:!0,configurable:!0,writable:!0,value:new MY})}getTracer($,Q){return this.mockTracer}getActiveSpan(){return}setSpan($,Q){return $}getSpan($){return}setSpanContext($,Q){return $}getTracerProvider(){return}setGlobalTracerProvider($){return!1}}class xY{active(){return{}}with($,Q){return Q()}}var _4=Symbol.for("ls:otel_trace"),M4=Symbol.for("ls:otel_context"),_Y=Symbol.for("ls:otel_get_default_otlp_tracer_provider"),oW=new RY,rW=new xY;class IY{getTraceInstance(){return globalThis[_4]??oW}getContextInstance(){return globalThis[M4]??rW}initializeGlobalInstances($){if(globalThis[_4]===void 0)globalThis[_4]=$.trace;if(globalThis[M4]===void 0)globalThis[M4]=$.context}setDefaultOTLPTracerComponents($){globalThis[_Y]=$}getDefaultOTLPTracerComponents(){return globalThis[_Y]??void 0}}var R4=new IY;function u1(){return R4.getTraceInstance()}function jY(){return R4.getContextInstance()}function vY(){return R4.getDefaultOTLPTracerComponents()}var nW={llm:"chat",tool:"execute_tool",retriever:"embeddings",embedding:"embeddings",prompt:"chat"};function aW($){return nW[$]||$}class x4{constructor(){Object.defineProperty(this,"spans",{enumerable:!0,configurable:!0,writable:!0,value:new Map})}exportBatch($,Q){for(let Y of $)try{if(!Y.run)continue;if(Y.operation==="post"){let q=this.createSpanForRun(Y,Y.run,Q.get(Y.id));if(q&&!Y.run.end_time)this.spans.set(Y.id,q)}else this.updateSpanForRun(Y,Y.run)}catch(q){console.error(`Error processing operation ${Y.id}:`,q)}}createSpanForRun($,Q,Y){let q=Y&&u1().getSpan(Y);if(!q)return;try{return this.finishSpanSetup(q,Q,$)}catch(W){console.error(`Failed to create span for run ${$.id}:`,W);return}}finishSpanSetup($,Q,Y){if(this.setSpanAttributes($,Q,Y),Q.error)$.setStatus({code:2}),$.recordException(Error(Q.error));else $.setStatus({code:1});if(Q.end_time)$.end(new Date(Q.end_time));return $}updateSpanForRun($,Q){try{let Y=this.spans.get($.id);if(!Y){console.debug(`No span found for run ${$.id} during update`);return}if(this.setSpanAttributes(Y,Q,$),Q.error)Y.setStatus({code:2}),Y.recordException(Error(Q.error));else Y.setStatus({code:1});let q=Q.end_time;if(q)Y.end(new Date(q)),this.spans.delete($.id)}catch(Y){console.error(`Failed to update span for run ${$.id}:`,Y)}}extractModelName($){if($.extra?.metadata){let Q=$.extra.metadata;if(Q.ls_model_name)return Q.ls_model_name;if(Q.invocation_params){let Y=Q.invocation_params;if(Y.model)return Y.model;else if(Y.model_name)return Y.model_name}}return}setSpanAttributes($,Q,Y){if("run_type"in Q&&Q.run_type){$.setAttribute(QY,Q.run_type);let J=aW(Q.run_type||"chain");$.setAttribute(v6,J)}if("name"in Q&&Q.name)$.setAttribute(YY,Q.name);if("session_id"in Q&&Q.session_id)$.setAttribute(e6,Q.session_id);if("session_name"in Q&&Q.session_name)$.setAttribute($Y,Q.session_name);this.setGenAiSystem($,Q);let q=this.extractModelName(Q);if(q)$.setAttribute(U4,q);if("prompt_tokens"in Q&&typeof Q.prompt_tokens==="number")$.setAttribute(N4,Q.prompt_tokens);if("completion_tokens"in Q&&typeof Q.completion_tokens==="number")$.setAttribute(B4,Q.completion_tokens);if("total_tokens"in Q&&typeof Q.total_tokens==="number")$.setAttribute(V4,Q.total_tokens);this.setInvocationParameters($,Q);let W=Q.extra?.metadata||{};for(let[J,G]of Object.entries(W))if(G!==null&&G!==void 0)$.setAttribute(`${qY}.${J}`,String(G));let Z=Q.tags;if(Z&&Array.isArray(Z))$.setAttribute(F4,Z.join(", "));else if(Z)$.setAttribute(F4,String(Z));if("serialized"in Q&&typeof Q.serialized==="object"){let J=Q.serialized;if(J.name)$.setAttribute(l6,String(J.name));if(J.signature)$.setAttribute(i6,String(J.signature));if(J.doc)$.setAttribute(s6,String(J.doc))}this.setIOAttributes($,Y)}setGenAiSystem($,Q){let Y="langchain",q=this.extractModelName(Q);if(q){let W=q.toLowerCase();if(W.includes("anthropic")||W.startsWith("claude"))Y="anthropic";else if(W.includes("bedrock"))Y="aws.bedrock";else if(W.includes("azure")&&W.includes("openai"))Y="az.ai.openai";else if(W.includes("azure")&&W.includes("inference"))Y="az.ai.inference";else if(W.includes("cohere"))Y="cohere";else if(W.includes("deepseek"))Y="deepseek";else if(W.includes("gemini"))Y="gemini";else if(W.includes("groq"))Y="groq";else if(W.includes("watson")||W.includes("ibm"))Y="ibm.watsonx.ai";else if(W.includes("mistral"))Y="mistral_ai";else if(W.includes("gpt")||W.includes("openai"))Y="openai";else if(W.includes("perplexity")||W.includes("sonar"))Y="perplexity";else if(W.includes("vertex"))Y="vertex_ai";else if(W.includes("xai")||W.includes("grok"))Y="xai"}$.setAttribute(y6,Y)}setInvocationParameters($,Q){if(!Q.extra?.metadata?.invocation_params)return;let Y=Q.extra.metadata.invocation_params;if(Y.max_tokens!==void 0)$.setAttribute(k6,Y.max_tokens);if(Y.temperature!==void 0)$.setAttribute(f6,Y.temperature);if(Y.top_p!==void 0)$.setAttribute(b6,Y.top_p);if(Y.frequency_penalty!==void 0)$.setAttribute(h6,Y.frequency_penalty);if(Y.presence_penalty!==void 0)$.setAttribute(g6,Y.presence_penalty)}setIOAttributes($,Q){if(Q.run.inputs)try{let Y=Q.run.inputs;if(typeof Y==="object"&&Y!==null){if(Y.model&&Array.isArray(Y.messages))$.setAttribute(U4,Y.model);if(Y.stream!==void 0)$.setAttribute(WY,Y.stream);if(Y.extra_headers)$.setAttribute(ZY,JSON.stringify(Y.extra_headers));if(Y.extra_query)$.setAttribute(u6,JSON.stringify(Y.extra_query));if(Y.extra_body)$.setAttribute(c6,JSON.stringify(Y.extra_body))}$.setAttribute(d6,JSON.stringify(Y))}catch(Y){console.debug(`Failed to process inputs for run ${Q.id}`,Y)}if(Q.run.outputs)try{let Y=Q.run.outputs,q=this.getUnifiedRunTokens(Y);if(q)$.setAttribute(N4,q[0]),$.setAttribute(B4,q[1]),$.setAttribute(V4,q[0]+q[1]);if(Y&&typeof Y==="object"){if(Y.model)$.setAttribute(C6,String(Y.model));if(Y.id)$.setAttribute(t6,Y.id);if(Y.choices&&Array.isArray(Y.choices)){let W=Y.choices.map((Z)=>Z.finish_reason).filter((Z)=>Z).map(String);if(W.length>0)$.setAttribute(m6,W.join(", "))}if(Y.service_tier)$.setAttribute(o6,Y.service_tier);if(Y.system_fingerprint)$.setAttribute(r6,Y.system_fingerprint);if(Y.usage_metadata&&typeof Y.usage_metadata==="object"){let W=Y.usage_metadata;if(W.input_token_details)$.setAttribute(n6,JSON.stringify(W.input_token_details));if(W.output_token_details)$.setAttribute(a6,JSON.stringify(W.output_token_details))}}$.setAttribute(p6,JSON.stringify(Y))}catch(Y){console.debug(`Failed to process outputs for run ${Q.id}`,Y)}}getUnifiedRunTokens($){if(!$)return null;let Q=this.extractUnifiedRunTokens($.usage_metadata);if(Q)return Q;let Y=Object.keys($);for(let Z of Y){let J=$[Z];if(!J||typeof J!=="object")continue;if(Q=this.extractUnifiedRunTokens(J.usage_metadata),Q)return Q;if(J.lc===1&&J.kwargs&&typeof J.kwargs==="object"){if(Q=this.extractUnifiedRunTokens(J.kwargs.usage_metadata),Q)return Q}}let q=$.generations||[];if(!Array.isArray(q))return null;let W=Array.isArray(q[0])?q.flat():q;for(let Z of W)if(typeof Z==="object"&&Z.message&&typeof Z.message==="object"&&Z.message.kwargs&&typeof Z.message.kwargs==="object"){if(Q=this.extractUnifiedRunTokens(Z.message.kwargs.usage_metadata),Q)return Q}return null}extractUnifiedRunTokens($){if(!$||typeof $!=="object")return null;if(typeof $.input_tokens!=="number"||typeof $.output_tokens!=="number")return null;return[$.input_tokens,$.output_tokens]}}var eW=Object.prototype.toString,$Z=($)=>eW.call($)==="[object Error]",QZ=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 I4($){if(!($&&$Z($)&&$.name==="TypeError"&&typeof $.message==="string"))return!1;let{message:Y,stack:q}=$;if(Y==="Load failed")return q===void 0||"__sentry_captured__"in $;if(Y.startsWith("error sending request for url"))return!0;return QZ.has(Y)}function YZ($){if(typeof $==="number"){if($<0)throw TypeError("Expected `retries` to be a non-negative number.");if(Number.isNaN($))throw TypeError("Expected `retries` to be a valid number or Infinity, got NaN.")}else if($!==void 0)throw TypeError("Expected `retries` to be a number or Infinity.")}function c1($,Q,{min:Y=0,allowInfinity:q=!1}={}){if(Q===void 0)return;if(typeof Q!=="number"||Number.isNaN(Q))throw TypeError(`Expected \`${$}\` to be a number${q?" or Infinity":""}.`);if(!q&&!Number.isFinite(Q))throw TypeError(`Expected \`${$}\` to be a finite number.`);if(Q<Y)throw TypeError(`Expected \`${$}\` to be ≥ ${Y}.`)}class CY extends Error{constructor($){super();if($ instanceof Error)this.originalError=$,{message:$}=$;else this.originalError=Error($),this.originalError.stack=this.stack;this.name="AbortError",this.message=$}}function qZ($,Q){let Y=Math.max(1,$+1),q=Q.randomize?Math.random()+1:1,W=Math.round(q*Q.minTimeout*Q.factor**(Y-1));return W=Math.min(W,Q.maxTimeout),W}function yY($,Q){if(!Number.isFinite(Q))return Q;return Q-(performance.now()-$)}async function WZ({error:$,attemptNumber:Q,retriesConsumed:Y,startTime:q,options:W}){let Z=$ instanceof Error?$:TypeError(`Non-error was thrown: "${$}". You should only throw errors.`);if(Z instanceof CY)throw Z.originalError;let J=Number.isFinite(W.retries)?Math.max(0,W.retries-Y):W.retries,G=W.maxRetryTime??Number.POSITIVE_INFINITY,z=Object.freeze({error:Z,attemptNumber:Q,retriesLeft:J,retriesConsumed:Y});if(await W.onFailedAttempt(z),yY(q,G)<=0)throw Z;let K=await W.shouldConsumeRetry(z),w=yY(q,G);if(w<=0||J<=0)throw Z;if(Z instanceof TypeError&&!I4(Z)){if(K)throw Z;return W.signal?.throwIfAborted(),!1}if(!await W.shouldRetry(z))throw Z;if(!K)return W.signal?.throwIfAborted(),!1;let X=qZ(Y,W),U=Math.min(X,w);if(U>0)await new Promise((N,F)=>{let A=()=>{clearTimeout(H),W.signal?.removeEventListener("abort",A),F(W.signal.reason)},H=setTimeout(()=>{W.signal?.removeEventListener("abort",A),N()},U);if(W.unref)H.unref?.();W.signal?.addEventListener("abort",A,{once:!0})});return W.signal?.throwIfAborted(),!0}async function j4($,Q={}){if(Q={...Q},YZ(Q.retries),Object.hasOwn(Q,"forever"))throw Error("The `forever` option is no longer supported. For many use-cases, you can set `retries: Infinity` instead.");if(Q.retries??=10,Q.factor??=2,Q.minTimeout??=1000,Q.maxTimeout??=Number.POSITIVE_INFINITY,Q.maxRetryTime??=Number.POSITIVE_INFINITY,Q.randomize??=!1,Q.onFailedAttempt??=()=>{},Q.shouldRetry??=()=>!0,Q.shouldConsumeRetry??=()=>!0,c1("factor",Q.factor,{min:0,allowInfinity:!1}),c1("minTimeout",Q.minTimeout,{min:0,allowInfinity:!1}),c1("maxTimeout",Q.maxTimeout,{min:0,allowInfinity:!0}),c1("maxRetryTime",Q.maxRetryTime,{min:0,allowInfinity:!0}),!(Q.factor>0))Q.factor=1;Q.signal?.throwIfAborted();let Y=0,q=0,W=performance.now();while(Number.isFinite(Q.retries)?q<=Q.retries:!0){Y++;try{Q.signal?.throwIfAborted();let Z=await $(Y);return Q.signal?.throwIfAborted(),Z}catch(Z){if(await WZ({error:Z,attemptNumber:Y,retriesConsumed:q,startTime:W,options:Q}))q++}}throw Error("Retry attempts exhausted without throwing an error.")}var o1=Z$(t1(),1),oY="default"in o1.default?o1.default.default:o1.default;var FZ=[408,425,429,500,502,503,504];class r1{constructor($){Object.defineProperty(this,"maxConcurrency",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"maxRetries",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"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=$.maxConcurrency??1/0,this.maxRetries=$.maxRetries??6,this.maxQueueSizeBytes=$.maxQueueSizeBytes,this.queue=new oY({concurrency:this.maxConcurrency}),this.onFailedResponseHook=$?.onFailedResponseHook}call($,...Q){return this.callWithOptions({},$,...Q)}callWithOptions($,Q,...Y){let q=$.sizeBytes??0;if(this.maxQueueSizeBytes!==void 0&&q>0&&this.queueSizeBytes+q>this.maxQueueSizeBytes)return Promise.reject(Error(`Queue size limit (${this.maxQueueSizeBytes} bytes) exceeded. Current queue size: ${this.queueSizeBytes} bytes, attempted addition: ${q} bytes.`));if(q>0)this.queueSizeBytes+=q;let W=this.onFailedResponseHook,Z=this.queue.add(()=>j4(()=>Q(...Y).catch((J)=>{if(J instanceof Error)throw J;else throw Error(J)}),{async onFailedAttempt({error:J}){if(typeof J!=="object"||J==null)throw J;let G="message"in J&&typeof J.message==="string"?J.message:void 0;if(G?.startsWith("Cancel")||G?.startsWith("TimeoutError")||G?.startsWith("AbortError"))throw J;if("name"in J&&J.name==="TimeoutError")throw J;if("code"in J&&J.code==="ECONNABORTED")throw J;let z="response"in J?J.response:void 0;if(W){if(await W(z))return}let K=z?.status??("status"in J?J.status:void 0);if(K!=null&&(typeof K==="number"||typeof K==="string")&&!FZ.includes(+K))throw J},retries:this.maxRetries,randomize:!0}),{throwOnTimeout:!0});if(q>0)Z=Z.finally(()=>{this.queueSizeBytes-=q});if($.signal)return Promise.race([Z,new Promise((J,G)=>{$.signal?.addEventListener("abort",()=>{G(Error("AbortError"))})})]);return Z}}function C4($){return typeof $?._getType==="function"}function k4($){let Q={type:$._getType(),data:{content:$.content}};if($?.additional_kwargs&&Object.keys($.additional_kwargs).length>0)Q.data.additional_kwargs={...$.additional_kwargs};return Q}var DZ=Z$(AZ(),1);function q$($){if(!$||$.split("/").length>2||$.startsWith("/")||$.endsWith("/")||$.split(":").length>2)throw Error(`Invalid identifier format: ${$}`);let[Q,Y]=$.split(":"),q=Y||"latest";if(Q.includes("/")){let[W,Z]=Q.split("/",2);if(!W||!Z)throw Error(`Invalid identifier format: ${$}`);return[W,Z,q]}else{if(!Q)throw Error(`Invalid identifier format: ${$}`);return["-",Q,q]}}class rY extends Error{constructor($){super($);Object.defineProperty(this,"status",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name="LangSmithConflictError",this.status=409}}class nY extends Error{constructor($){super($);Object.defineProperty(this,"status",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name="LangSmithNotFoundError",this.status=404}}function f4($){return $!=null&&typeof $==="object"&&"name"in $&&$?.name==="LangSmithNotFoundError"}async function T($,Q,Y){let q;if($.ok){if(Y)q=await $.text();return}if($.status===403)try{if((await $.json())?.error==="org_scoped_key_requires_workspace")q="This API key is org-scoped and requires workspace specification. Please provide 'workspaceId' parameter, or set LANGSMITH_WORKSPACE_ID environment variable."}catch(J){let G=Error(`${$.status} ${$.statusText}`);throw G.status=$?.status,G}if(q===void 0)try{q=await $.text()}catch(J){q=""}let W=`Failed to ${Q}. Received status [${$.status}]: ${$.statusText}. Message: ${q}`;if($.status===404)throw new nY(W);if($.status===409)throw new rY(W);let Z=Error(W);throw Z.status=$.status,Z}var aY="ERR_CONFLICTING_ENDPOINTS";class b4 extends Error{constructor(){super("You cannot provide both LANGSMITH_ENDPOINT / LANGCHAIN_ENDPOINT and LANGSMITH_RUNS_ENDPOINTS.");Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:aY}),this.name="ConflictingEndpointsError"}}function eY($){return typeof $==="object"&&$!==null&&$.code===aY}var $q="[...]",HZ={result:"[Circular]"},a1=[],p$=[],OZ=new TextEncoder;function PZ(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function n1($){return OZ.encode($)}function Qq($){if($&&typeof $==="object"&&$!==null){if($ instanceof Map)return Object.fromEntries($);else if($ instanceof Set)return Array.from($);else if($ instanceof Date)return $.toISOString();else if($ instanceof RegExp)return $.toString();else if($ instanceof Error)return{name:$.name,message:$.message}}else if(typeof $==="bigint")return $.toString();return $}function EZ($){return function(Q,Y){if($){let q=$.call(this,Q,Y);if(q!==void 0)return q}return Qq(Y)}}function P0($,Q,Y,q,W){try{let Z=JSON.stringify($,EZ(Y),q);return n1(Z)}catch(Z){if(!Z.message?.includes("Converting circular structure to JSON"))return console.warn(`[WARNING]: LangSmith received unserializable value.${Q?`
|
|
18
|
+
Context: ${Q}`:""}`),n1("[Unserializable]");if(e("SUPPRESS_CIRCULAR_JSON_WARNINGS")!=="true"&&console.warn(`[WARNING]: LangSmith received circular JSON. This will decrease tracer performance. ${Q?`
|
|
19
|
+
Context: ${Q}`:""}`),typeof W>"u")W=PZ();g4($,"",0,[],void 0,0,W);let J;try{if(p$.length===0)J=JSON.stringify($,Y,q);else J=JSON.stringify($,SZ(Y),q)}catch(G){return n1("[unable to serialize, circular reference is too complex to analyze]")}finally{while(a1.length!==0){let G=a1.pop();if(G.length===4)Object.defineProperty(G[0],G[1],G[3]);else G[0][G[1]]=G[2]}}return n1(J)}}function h4($,Q,Y,q){var W=Object.getOwnPropertyDescriptor(q,Y);if(W.get!==void 0)if(W.configurable)Object.defineProperty(q,Y,{value:$}),a1.push([q,Y,Q,W]);else p$.push([Q,Y,$]);else q[Y]=$,a1.push([q,Y,Q])}function g4($,Q,Y,q,W,Z,J){Z+=1;var G;if(typeof $==="object"&&$!==null){for(G=0;G<q.length;G++)if(q[G]===$){h4(HZ,$,Q,W);return}if(typeof J.depthLimit<"u"&&Z>J.depthLimit){h4($q,$,Q,W);return}if(typeof J.edgesLimit<"u"&&Y+1>J.edgesLimit){h4($q,$,Q,W);return}if(q.push($),Array.isArray($))for(G=0;G<$.length;G++)g4($[G],G,G,q,$,Z,J);else{$=Qq($);var z=Object.keys($);for(G=0;G<z.length;G++){var K=z[G];g4($[K],K,G,q,$,Z,J)}}q.pop()}}function SZ($){return $=typeof $<"u"?$:function(Q,Y){return Y},function(Q,Y){if(p$.length>0)for(var q=0;q<p$.length;q++){var W=p$[q];if(W[1]===Q&&W[0]===Y){Y=W[2],p$.splice(q,1);break}}return $.call(this,Q,Y)}}function Yq($,Q,Y){if(Y)return $;let q=d1(),W=Q??T4(),Z=$.extra??{},J=Z.metadata;return $.extra={...Z,runtime:{...q,...Z?.runtime},metadata:{...W,...W.revision_id||"revision_id"in $&&$.revision_id?{revision_id:("revision_id"in $?$.revision_id:void 0)??W.revision_id}:{},...J}},$}var LZ=($)=>{let Q=$?.toString()??e("TRACING_SAMPLING_RATE");if(Q===void 0)return;let Y=parseFloat(Q);if(Y<0||Y>1)throw Error(`LANGSMITH_TRACING_SAMPLING_RATE must be between 0 and 1 if set. Got: ${Y}`);return Y},TZ=($)=>{let Y=$.replace("http://","").replace("https://","").split("/")[0].split(":")[0];return Y==="localhost"||Y==="127.0.0.1"||Y==="::1"};async function _Z($){let Q=[];for await(let Y of $)Q.push(Y);return Q}function e1($){if($===void 0)return;return $.trim().replace(/^"(.*)"$/,"$1").replace(/^'(.*)'$/,"$1")}var MZ=async($)=>{if($?.status===429){let Q=parseInt($.headers.get("retry-after")??"10",10)*1000;if(Q>0)return await new Promise((Y)=>setTimeout(Y,Q)),!0}return!1};function qq($){if(typeof $==="number")return Number($.toFixed(4));return $}var RZ=25165824,Jq=1073741824,xZ=1e4,IZ=100,Wq="https://api.smith.langchain.com";class Gq{constructor($){Object.defineProperty(this,"items",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"sizeBytes",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"maxSizeBytes",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSizeBytes=$??Jq}peek(){return this.items[0]}push($){let Q,Y=new Promise((W)=>{Q=W}),q=P0($.item,`Serializing run with id: ${$.item.id}`).length;if(this.sizeBytes+q>this.maxSizeBytes&&this.items.length>0)return console.warn(`AutoBatchQueue size limit (${this.maxSizeBytes} bytes) exceeded. Dropping run with id: ${$.item.id}. Current queue size: ${this.sizeBytes} bytes, attempted addition: ${q} bytes.`),Q(),Y;return this.items.push({action:$.action,payload:$.item,otelContext:$.otelContext,apiKey:$.apiKey,apiUrl:$.apiUrl,itemPromiseResolve:Q,itemPromise:Y,size:q}),this.sizeBytes+=q,Y}pop({upToSizeBytes:$,upToSize:Q}){if($<1)throw Error("Number of bytes to pop off may not be less than 1.");let Y=[],q=0;while(q+(this.peek()?.size??0)<$&&this.items.length>0&&Y.length<Q){let W=this.items.shift();if(W)Y.push(W),q+=W.size,this.sizeBytes-=W.size}if(Y.length===0&&this.items.length>0){let W=this.items.shift();Y.push(W),q+=W.size,this.sizeBytes-=W.size}return[Y.map((W)=>({action:W.action,item:W.payload,otelContext:W.otelContext,apiKey:W.apiKey,apiUrl:W.apiUrl,size:W.size})),()=>Y.forEach((W)=>W.itemPromiseResolve())]}}class K${get _fetch(){return this.fetchImplementation||zY(this.debug)}constructor($={}){Object.defineProperty(this,"apiKey",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"apiUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"webUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"workspaceId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"caller",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"batchIngestCaller",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"timeout_ms",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_tenantId",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"hideInputs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"hideOutputs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"omitTracedRuntimeInfo",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tracingSampleRate",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"filteredPostUuids",{enumerable:!0,configurable:!0,writable:!0,value:new Set}),Object.defineProperty(this,"autoBatchTracing",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"autoBatchQueue",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"autoBatchTimeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"autoBatchAggregationDelayMs",{enumerable:!0,configurable:!0,writable:!0,value:250}),Object.defineProperty(this,"batchSizeBytesLimit",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"batchSizeLimit",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"fetchOptions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"settings",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"blockOnRootRunFinalization",{enumerable:!0,configurable:!0,writable:!0,value:M0("LANGSMITH_TRACING_BACKGROUND")==="false"}),Object.defineProperty(this,"traceBatchConcurrency",{enumerable:!0,configurable:!0,writable:!0,value:5}),Object.defineProperty(this,"_serverInfo",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_getServerInfoPromise",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"manualFlushMode",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"langSmithToOTELTranslator",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"fetchImplementation",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cachedLSEnvVarsForMetadata",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_promptCache",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"multipartStreamingDisabled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_multipartDisabled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_runCompressionDisabled",{enumerable:!0,configurable:!0,writable:!0,value:e("DISABLE_RUN_COMPRESSION")==="true"}),Object.defineProperty(this,"debug",{enumerable:!0,configurable:!0,writable:!0,value:M0("LANGSMITH_DEBUG")==="true"});let Q=K$.getDefaultClientConfig();if(this.tracingSampleRate=LZ($.tracingSamplingRate),this.apiUrl=e1($.apiUrl??Q.apiUrl)??"",this.apiUrl.endsWith("/"))this.apiUrl=this.apiUrl.slice(0,-1);if(this.apiKey=e1($.apiKey??Q.apiKey),this.webUrl=e1($.webUrl??Q.webUrl),this.webUrl?.endsWith("/"))this.webUrl=this.webUrl.slice(0,-1);if(this.workspaceId=e1($.workspaceId??e("WORKSPACE_ID")),this.timeout_ms=$.timeout_ms??90000,this.caller=new r1({...$.callerOptions??{},maxRetries:4,debug:$.debug??this.debug}),this.traceBatchConcurrency=$.traceBatchConcurrency??this.traceBatchConcurrency,this.traceBatchConcurrency<1)throw Error("Trace batch concurrency must be positive.");this.debug=$.debug??this.debug,this.fetchImplementation=$.fetchImplementation;let Y=$.maxIngestMemoryBytes??Jq;if(this.batchIngestCaller=new r1({maxRetries:4,maxConcurrency:this.traceBatchConcurrency,maxQueueSizeBytes:Y,...$.callerOptions??{},onFailedResponseHook:MZ,debug:$.debug??this.debug}),this.hideInputs=$.hideInputs??$.anonymizer??Q.hideInputs,this.hideOutputs=$.hideOutputs??$.anonymizer??Q.hideOutputs,this.omitTracedRuntimeInfo=$.omitTracedRuntimeInfo??!1,this.autoBatchTracing=$.autoBatchTracing??this.autoBatchTracing,this.autoBatchQueue=new Gq(Y),this.blockOnRootRunFinalization=$.blockOnRootRunFinalization??this.blockOnRootRunFinalization,this.batchSizeBytesLimit=$.batchSizeBytesLimit,this.batchSizeLimit=$.batchSizeLimit,this.fetchOptions=$.fetchOptions||{},this.manualFlushMode=$.manualFlushMode??this.manualFlushMode,p1())this.langSmithToOTELTranslator=new x4;if(this.cachedLSEnvVarsForMetadata=T4(),$.cache!==void 0&&$.disablePromptCache)M$("Both 'cache' and 'disablePromptCache' were provided. The 'cache' parameter is deprecated and will be removed in a future version. Using 'cache' parameter value.");if($.cache!==void 0)if(M$("The 'cache' parameter is deprecated and will be removed in a future version. Use 'configureGlobalPromptCache()' to configure the global cache, or 'disablePromptCache: true' to disable caching for this client."),$.cache===!1)this._promptCache=void 0;else if($.cache===!0)this._promptCache=g1;else this._promptCache=$.cache;else if(!$.disablePromptCache)this._promptCache=g1}static getDefaultClientConfig(){let $=e("API_KEY"),Q=e("ENDPOINT")??Wq,Y=e("HIDE_INPUTS")==="true",q=e("HIDE_OUTPUTS")==="true";return{apiUrl:Q,apiKey:$,webUrl:void 0,hideInputs:Y,hideOutputs:q}}getHostUrl(){if(this.webUrl)return this.webUrl;else if(TZ(this.apiUrl))return this.webUrl="http://localhost:3000",this.webUrl;else if(this.apiUrl.endsWith("/api/v1"))return this.webUrl=this.apiUrl.replace("/api/v1",""),this.webUrl;else if(this.apiUrl.includes("/api")&&!this.apiUrl.split(".",1)[0].endsWith("api"))return this.webUrl=this.apiUrl.replace("/api",""),this.webUrl;else if(this.apiUrl.split(".",1)[0].includes("dev"))return this.webUrl="https://dev.smith.langchain.com",this.webUrl;else if(this.apiUrl.split(".",1)[0].includes("eu"))return this.webUrl="https://eu.smith.langchain.com",this.webUrl;else if(this.apiUrl.split(".",1)[0].includes("beta"))return this.webUrl="https://beta.smith.langchain.com",this.webUrl;else return this.webUrl="https://smith.langchain.com",this.webUrl}get headers(){let $={"User-Agent":`langsmith-js/${m1}`};if(this.apiKey)$["x-api-key"]=`${this.apiKey}`;if(this.workspaceId)$["x-tenant-id"]=this.workspaceId;return $}_getPlatformEndpointPath($){return this.apiUrl.slice(-3)!=="/v1"&&this.apiUrl.slice(-4)!=="/v1/"?`/v1/platform/${$}`:`/platform/${$}`}async processInputs($){if(this.hideInputs===!1)return $;if(this.hideInputs===!0)return{};if(typeof this.hideInputs==="function")return this.hideInputs($);return $}async processOutputs($){if(this.hideOutputs===!1)return $;if(this.hideOutputs===!0)return{};if(typeof this.hideOutputs==="function")return this.hideOutputs($);return $}async prepareRunCreateOrUpdateInputs($){let Q={...$};if(Q.inputs!==void 0)Q.inputs=await this.processInputs(Q.inputs);if(Q.outputs!==void 0)Q.outputs=await this.processOutputs(Q.outputs);return Q}async _getResponse($,Q){let Y=Q?.toString()??"",q=`${this.apiUrl}${$}?${Y}`;return await this.caller.call(async()=>{let Z=await this._fetch(q,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await T(Z,`fetch ${$}`),Z})}async _get($,Q){return(await this._getResponse($,Q)).json()}async*_getPaginated($,Q=new URLSearchParams,Y){let q=Number(Q.get("offset"))||0,W=Number(Q.get("limit"))||100;while(!0){Q.set("offset",String(q)),Q.set("limit",String(W));let Z=`${this.apiUrl}${$}?${Q}`,J=await this.caller.call(async()=>{let z=await this._fetch(Z,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await T(z,`fetch ${$}`),z}),G=Y?Y(await J.json()):await J.json();if(G.length===0)break;if(yield G,G.length<W)break;q+=G.length}}async*_getCursorPaginatedList($,Q=null,Y="POST",q="runs"){let W=Q?{...Q}:{};while(!0){let Z=JSON.stringify(W),G=await(await this.caller.call(async()=>{let K=await this._fetch(`${this.apiUrl}${$}`,{method:Y,headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:Z});return await T(K,`fetch ${$}`),K})).json();if(!G)break;if(!G[q])break;yield G[q];let z=G.cursors;if(!z)break;if(!z.next)break;W.cursor=z.next}}_shouldSample(){if(this.tracingSampleRate===void 0)return!0;return Math.random()<this.tracingSampleRate}_filterForSampling($,Q=!1){if(this.tracingSampleRate===void 0)return $;if(Q){let Y=[];for(let q of $)if(!this.filteredPostUuids.has(q.trace_id))Y.push(q);else if(q.id===q.trace_id)this.filteredPostUuids.delete(q.trace_id);return Y}else{let Y=[];for(let q of $){let W=q.trace_id??q.id;if(this.filteredPostUuids.has(W))continue;if(q.id===W)if(this._shouldSample())Y.push(q);else this.filteredPostUuids.add(W);else Y.push(q)}return Y}}async _getBatchSizeLimitBytes(){let $=await this._ensureServerInfo();return this.batchSizeBytesLimit??$?.batch_ingest_config?.size_limit_bytes??RZ}async _getBatchSizeLimit(){let $=await this._ensureServerInfo();return this.batchSizeLimit??$?.batch_ingest_config?.size_limit??IZ}async _getDatasetExamplesMultiPartSupport(){return(await this._ensureServerInfo()).instance_flags?.dataset_examples_multipart_enabled??!1}drainAutoBatchQueue({batchSizeLimitBytes:$,batchSizeLimit:Q}){let Y=[];while(this.autoBatchQueue.items.length>0){let[q,W]=this.autoBatchQueue.pop({upToSizeBytes:$,upToSize:Q});if(!q.length){W();break}let Z=q.reduce((z,K)=>{let w=K.apiUrl??this.apiUrl,X=K.apiKey??this.apiKey,N=K.apiKey===this.apiKey&&K.apiUrl===this.apiUrl?"default":`${w}|${X}`;if(!z[N])z[N]=[];return z[N].push(K),z},{}),J=[];for(let[z,K]of Object.entries(Z)){let w=this._processBatch(K,{apiUrl:z==="default"?void 0:z.split("|")[0],apiKey:z==="default"?void 0:z.split("|")[1]});J.push(w)}let G=Promise.all(J).finally(W);Y.push(G)}return Promise.all(Y)}async _processBatch($,Q){if(!$.length)return;let Y=$.reduce((q,W)=>q+(W.size??0),0);try{if(this.langSmithToOTELTranslator!==void 0)this._sendBatchToOTELTranslator($);else{let q={runCreates:$.filter((J)=>J.action==="create").map((J)=>J.item),runUpdates:$.filter((J)=>J.action==="update").map((J)=>J.item)},W=await this._ensureServerInfo();if(!this._multipartDisabled&&(W?.batch_ingest_config?.use_multipart_endpoint??!0)){let J=!this._runCompressionDisabled&&W?.instance_flags?.gzip_body_enabled;try{await this.multipartIngestRuns(q,{...Q,useGzip:J,sizeBytes:Y})}catch(G){if(f4(G))this._multipartDisabled=!0,await this.batchIngestRuns(q,{...Q,sizeBytes:Y});else throw G}}else await this.batchIngestRuns(q,{...Q,sizeBytes:Y})}}catch(q){console.error("Error exporting batch:",q)}}_sendBatchToOTELTranslator($){if(this.langSmithToOTELTranslator!==void 0){let Q=new Map,Y=[];for(let q of $)if(q.item.id&&q.otelContext)if(Q.set(q.item.id,q.otelContext),q.action==="create")Y.push({operation:"post",id:q.item.id,trace_id:q.item.trace_id??q.item.id,run:q.item});else Y.push({operation:"patch",id:q.item.id,trace_id:q.item.trace_id??q.item.id,run:q.item});this.langSmithToOTELTranslator.exportBatch(Y,Q)}}async processRunOperation($){clearTimeout(this.autoBatchTimeout),this.autoBatchTimeout=void 0,$.item=Yq($.item,this.cachedLSEnvVarsForMetadata,this.omitTracedRuntimeInfo);let Q=this.autoBatchQueue.push($);if(this.manualFlushMode)return Q;let Y=await this._getBatchSizeLimitBytes(),q=await this._getBatchSizeLimit();if(this.autoBatchQueue.sizeBytes>Y||this.autoBatchQueue.items.length>q)this.drainAutoBatchQueue({batchSizeLimitBytes:Y,batchSizeLimit:q});if(this.autoBatchQueue.items.length>0)this.autoBatchTimeout=setTimeout(()=>{this.autoBatchTimeout=void 0,this.drainAutoBatchQueue({batchSizeLimitBytes:Y,batchSizeLimit:q})},this.autoBatchAggregationDelayMs);return Q}async _getServerInfo(){let Q=await(await this.caller.call(async()=>{let Y=await this._fetch(`${this.apiUrl}/info`,{method:"GET",headers:{Accept:"application/json"},signal:AbortSignal.timeout(xZ),...this.fetchOptions});return await T(Y,"get server info"),Y})).json();if(this.debug)console.log(`
|
|
20
|
+
=== LangSmith Server Configuration ===
|
|
21
|
+
`+JSON.stringify(Q,null,2)+`
|
|
22
|
+
`);return Q}async _ensureServerInfo(){if(this._getServerInfoPromise===void 0)this._getServerInfoPromise=(async()=>{if(this._serverInfo===void 0)try{this._serverInfo=await this._getServerInfo()}catch($){console.warn(`[LANGSMITH]: Failed to fetch info on supported operations. Falling back to batch operations and default limits. Info: ${$.status??"Unspecified status code"} ${$.message}`)}return this._serverInfo??{}})();return this._getServerInfoPromise.then(($)=>{if(this._serverInfo===void 0)this._getServerInfoPromise=void 0;return $})}async _getSettings(){if(!this.settings)this.settings=this._get("/settings");return await this.settings}async flush(){let $=await this._getBatchSizeLimitBytes(),Q=await this._getBatchSizeLimit();await this.drainAutoBatchQueue({batchSizeLimitBytes:$,batchSizeLimit:Q})}_cloneCurrentOTELContext(){let $=u1(),Q=jY();if(this.langSmithToOTELTranslator!==void 0){let Y=$.getActiveSpan();if(Y)return $.setSpan(Q.active(),Y)}return}async createRun($,Q){if(!this._filterForSampling([$]).length)return;let Y={...this.headers,"Content-Type":"application/json"},q=$.project_name;delete $.project_name;let W=await this.prepareRunCreateOrUpdateInputs({session_name:q,...$,start_time:$.start_time??Date.now()});if(this.autoBatchTracing&&W.trace_id!==void 0&&W.dotted_order!==void 0){let G=this._cloneCurrentOTELContext();this.processRunOperation({action:"create",item:W,otelContext:G,apiKey:Q?.apiKey,apiUrl:Q?.apiUrl}).catch(console.error);return}let Z=Yq(W,this.cachedLSEnvVarsForMetadata,this.omitTracedRuntimeInfo);if(Q?.apiKey!==void 0)Y["x-api-key"]=Q.apiKey;if(Q?.workspaceId!==void 0)Y["x-tenant-id"]=Q.workspaceId;let J=P0(Z,`Creating run with id: ${Z.id}`);await this.caller.call(async()=>{let G=await this._fetch(`${Q?.apiUrl??this.apiUrl}/runs`,{method:"POST",headers:Y,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:J});return await T(G,"create run",!0),G})}async batchIngestRuns({runCreates:$,runUpdates:Q},Y){if($===void 0&&Q===void 0)return;let q=await Promise.all($?.map((G)=>this.prepareRunCreateOrUpdateInputs(G))??[]),W=await Promise.all(Q?.map((G)=>this.prepareRunCreateOrUpdateInputs(G))??[]);if(q.length>0&&W.length>0){let G=q.reduce((K,w)=>{if(!w.id)return K;return K[w.id]=w,K},{}),z=[];for(let K of W)if(K.id!==void 0&&G[K.id])G[K.id]={...G[K.id],...K};else z.push(K);q=Object.values(G),W=z}let Z={post:q,patch:W};if(!Z.post.length&&!Z.patch.length)return;let J={post:[],patch:[]};for(let G of["post","patch"]){let z=G,K=Z[z].reverse(),w=K.pop();while(w!==void 0)J[z].push(w),w=K.pop()}if(J.post.length>0||J.patch.length>0){let G=J.post.map((z)=>z.id).concat(J.patch.map((z)=>z.id)).join(",");await this._postBatchIngestRuns(P0(J,`Ingesting runs with ids: ${G}`),Y)}}async _postBatchIngestRuns($,Q){let Y={...this.headers,"Content-Type":"application/json",Accept:"application/json"};if(Q?.apiKey!==void 0)Y["x-api-key"]=Q.apiKey;await this.batchIngestCaller.callWithOptions({sizeBytes:Q?.sizeBytes},async()=>{let q=await this._fetch(`${Q?.apiUrl??this.apiUrl}/runs/batch`,{method:"POST",headers:Y,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:$});return await T(q,"batch create run",!0),q})}async multipartIngestRuns({runCreates:$,runUpdates:Q},Y){if($===void 0&&Q===void 0)return;let q={},W=[];for(let w of $??[]){let X=await this.prepareRunCreateOrUpdateInputs(w);if(X.id!==void 0&&X.attachments!==void 0)q[X.id]=X.attachments;delete X.attachments,W.push(X)}let Z=[];for(let w of Q??[])Z.push(await this.prepareRunCreateOrUpdateInputs(w));if(W.find((w)=>{return w.trace_id===void 0||w.dotted_order===void 0})!==void 0)throw Error('Multipart ingest requires "trace_id" and "dotted_order" to be set when creating a run');if(Z.find((w)=>{return w.trace_id===void 0||w.dotted_order===void 0})!==void 0)throw Error('Multipart ingest requires "trace_id" and "dotted_order" to be set when updating a run');if(W.length>0&&Z.length>0){let w=W.reduce((U,N)=>{if(!N.id)return U;return U[N.id]=N,U},{}),X=[];for(let U of Z)if(U.id!==void 0&&w[U.id])w[U.id]={...w[U.id],...U};else X.push(U);W=Object.values(w),Z=X}if(W.length===0&&Z.length===0)return;let z=[],K=[];for(let[w,X]of[["post",W],["patch",Z]])for(let U of X){let{inputs:N,outputs:F,events:A,extra:H,error:_,serialized:D,attachments:x,...R}=U,d={inputs:N,outputs:F,events:A,extra:H,error:_,serialized:D},u=P0(R,`Serializing for multipart ingestion of run with id: ${R.id}`);K.push({name:`${w}.${R.id}`,payload:new Blob([u],{type:`application/json; length=${u.length}`})});for(let[c,z0]of Object.entries(d)){if(z0===void 0)continue;let q0=P0(z0,`Serializing ${c} for multipart ingestion of run with id: ${R.id}`);K.push({name:`${w}.${R.id}.${c}`,payload:new Blob([q0],{type:`application/json; length=${q0.length}`})})}if(R.id!==void 0){let c=q[R.id];if(c){delete q[R.id];for(let[z0,q0]of Object.entries(c)){let p0,C0;if(Array.isArray(q0))[p0,C0]=q0;else p0=q0.mimeType,C0=q0.data;if(z0.includes(".")){console.warn(`Skipping attachment '${z0}' for run ${R.id}: Invalid attachment name. Attachment names must not contain periods ('.'). Please rename the attachment and try again.`);continue}K.push({name:`attachment.${R.id}.${z0}`,payload:new Blob([C0],{type:`${p0}; length=${C0.byteLength}`})})}}}z.push(`trace=${R.trace_id},id=${R.id}`)}await this._sendMultipartRequest(K,z.join("; "),Y)}async _createNodeFetchBody($,Q){let Y=[];for(let Z of $)Y.push(new Blob([`--${Q}\r
|
|
23
|
+
`])),Y.push(new Blob([`Content-Disposition: form-data; name="${Z.name}"\r
|
|
24
|
+
`,`Content-Type: ${Z.payload.type}\r
|
|
25
|
+
\r
|
|
26
|
+
`])),Y.push(Z.payload),Y.push(new Blob([`\r
|
|
27
|
+
`]));return Y.push(new Blob([`--${Q}--\r
|
|
28
|
+
`])),await new Blob(Y).arrayBuffer()}async _createMultipartStream($,Q){let Y=new TextEncoder;return new ReadableStream({async start(W){let Z=async(J)=>{if(typeof J==="string")W.enqueue(Y.encode(J));else W.enqueue(J)};for(let J of $){await Z(`--${Q}\r
|
|
29
|
+
`),await Z(`Content-Disposition: form-data; name="${J.name}"\r
|
|
30
|
+
`),await Z(`Content-Type: ${J.payload.type}\r
|
|
31
|
+
\r
|
|
32
|
+
`);let z=J.payload.stream().getReader();try{let K;while(!(K=await z.read()).done)W.enqueue(K.value)}finally{z.releaseLock()}await Z(`\r
|
|
33
|
+
`)}await Z(`--${Q}--\r
|
|
34
|
+
`),W.close()}})}async _sendMultipartRequest($,Q,Y){let q="----LangSmithFormBoundary"+Math.random().toString(36).slice(2),W=()=>this._createNodeFetchBody($,q),Z=()=>this._createMultipartStream($,q),J=async(G)=>{return this.batchIngestCaller.callWithOptions({sizeBytes:Y?.sizeBytes},async()=>{let z=await G(),K={...this.headers,"Content-Type":`multipart/form-data; boundary=${q}`};if(Y?.apiKey!==void 0)K["x-api-key"]=Y.apiKey;let w=z;if(Y?.useGzip&&typeof z==="object"&&"pipeThrough"in z)w=z.pipeThrough(new CompressionStream("gzip")),K["Content-Encoding"]="gzip";let X=await this._fetch(`${Y?.apiUrl??this.apiUrl}/runs/multipart`,{method:"POST",headers:K,body:w,duplex:"half",signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await T(X,"Failed to send multipart request",!0),X})};try{let G,z=!1;if(GY()&&!this.multipartStreamingDisabled&&L4()!=="bun")z=!0,G=await J(Z);else G=await J(W);if((!this.multipartStreamingDisabled||z)&&G.status===422&&(Y?.apiUrl??this.apiUrl)!==Wq)console.warn(`Streaming multipart upload to ${Y?.apiUrl??this.apiUrl}/runs/multipart failed. This usually means the host does not support chunked uploads. Retrying with a buffered upload for operation "${Q}".`),this.multipartStreamingDisabled=!0,G=await J(W)}catch(G){if(f4(G))throw G;console.warn(`${G.message.trim()}
|
|
35
|
+
|
|
36
|
+
Context: ${Q}`)}}async updateRun($,Q,Y){if(b($),Q.inputs)Q.inputs=await this.processInputs(Q.inputs);if(Q.outputs)Q.outputs=await this.processOutputs(Q.outputs);let q={...Q,id:$};if(!this._filterForSampling([q],!0).length)return;if(this.autoBatchTracing&&q.trace_id!==void 0&&q.dotted_order!==void 0){let J=this._cloneCurrentOTELContext();if(Q.end_time!==void 0&&q.parent_run_id===void 0&&this.blockOnRootRunFinalization&&!this.manualFlushMode){await this.processRunOperation({action:"update",item:q,otelContext:J,apiKey:Y?.apiKey,apiUrl:Y?.apiUrl}).catch(console.error);return}else this.processRunOperation({action:"update",item:q,otelContext:J,apiKey:Y?.apiKey,apiUrl:Y?.apiUrl}).catch(console.error);return}let W={...this.headers,"Content-Type":"application/json"};if(Y?.apiKey!==void 0)W["x-api-key"]=Y.apiKey;if(Y?.workspaceId!==void 0)W["x-tenant-id"]=Y.workspaceId;let Z=P0(Q,`Serializing payload to update run with id: ${$}`);await this.caller.call(async()=>{let J=await this._fetch(`${Y?.apiUrl??this.apiUrl}/runs/${$}`,{method:"PATCH",headers:W,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:Z});return await T(J,"update run",!0),J})}async readRun($,{loadChildRuns:Q}={loadChildRuns:!1}){b($);let Y=await this._get(`/runs/${$}`);if(Q)Y=await this._loadChildRuns(Y);return Y}async getRunUrl({runId:$,run:Q,projectOpts:Y}){if(Q!==void 0){let q;if(Q.session_id)q=Q.session_id;else if(Y?.projectName)q=(await this.readProject({projectName:Y?.projectName})).id;else if(Y?.projectId)q=Y?.projectId;else q=(await this.readProject({projectName:e("PROJECT")||"default"})).id;let W=await this._getTenantId();return`${this.getHostUrl()}/o/${W}/projects/p/${q}/r/${Q.id}?poll=true`}else if($!==void 0){let q=await this.readRun($);if(!q.app_path)throw Error(`Run ${$} has no app_path`);return`${this.getHostUrl()}${q.app_path}`}else throw Error("Must provide either runId or run")}async _loadChildRuns($){let Q=await _Z(this.listRuns({isRoot:!1,projectId:$.session_id,traceId:$.trace_id})),Y={},q={};Q.sort((W,Z)=>(W?.dotted_order??"").localeCompare(Z?.dotted_order??""));for(let W of Q){if(W.parent_run_id===null||W.parent_run_id===void 0)throw Error(`Child run ${W.id} has no parent`);if(W.dotted_order?.startsWith($.dotted_order??"")&&W.id!==$.id){if(!(W.parent_run_id in Y))Y[W.parent_run_id]=[];Y[W.parent_run_id].push(W),q[W.id]=W}}$.child_runs=Y[$.id]||[];for(let W in Y)if(W!==$.id)q[W].child_runs=Y[W];return $}async*listRuns($){let{projectId:Q,projectName:Y,parentRunId:q,traceId:W,referenceExampleId:Z,startTime:J,executionOrder:G,isRoot:z,runType:K,error:w,id:X,query:U,filter:N,traceFilter:F,treeFilter:A,limit:H,select:_,order:D}=$,x=[];if(Q)x=Array.isArray(Q)?Q:[Q];if(Y){let c=Array.isArray(Y)?Y:[Y],z0=await Promise.all(c.map((q0)=>this.readProject({projectName:q0}).then((p0)=>p0.id)));x.push(...z0)}let R=["app_path","completion_cost","completion_tokens","dotted_order","end_time","error","events","extra","feedback_stats","first_token_time","id","inputs","name","outputs","parent_run_id","parent_run_ids","prompt_cost","prompt_tokens","reference_example_id","run_type","session_id","start_time","status","tags","total_cost","total_tokens","trace_id"],d={session:x.length?x:null,run_type:K,reference_example:Z,query:U,filter:N,trace_filter:F,tree_filter:A,execution_order:G,parent_run:q,start_time:J?J.toISOString():null,error:w,id:X,limit:H,trace:W,select:_?_:R,is_root:z,order:D};if(d.select.includes("child_run_ids"))M$("Deprecated: 'child_run_ids' in the listRuns select parameter is deprecated and will be removed in a future version.");let u=0;for await(let c of this._getCursorPaginatedList("/runs/query",d))if(H){if(u>=H)break;if(c.length+u>H){yield*c.slice(0,H-u);break}u+=c.length,yield*c}else yield*c}async*listGroupRuns($){let{projectId:Q,projectName:Y,groupBy:q,filter:W,startTime:Z,endTime:J,limit:G,offset:z}=$,w={session_id:Q||(await this.readProject({projectName:Y})).id,group_by:q,filter:W,start_time:Z?Z.toISOString():null,end_time:J?J.toISOString():null,limit:Number(G)||100},X=Number(z)||0,U="/runs/group",N=`${this.apiUrl}${U}`;while(!0){let F={...w,offset:X},A=Object.fromEntries(Object.entries(F).filter(([d,u])=>u!==void 0)),H=JSON.stringify(A),D=await(await this.caller.call(async()=>{let d=await this._fetch(N,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:H});return await T(d,`Failed to fetch ${U}`),d})).json(),{groups:x,total:R}=D;if(x.length===0)break;for(let d of x)yield d;if(X+=x.length,X>=R)break}}async getRunStats({id:$,trace:Q,parentRun:Y,runType:q,projectNames:W,projectIds:Z,referenceExampleIds:J,startTime:G,endTime:z,error:K,query:w,filter:X,traceFilter:U,treeFilter:N,isRoot:F,dataSourceType:A}){let H=Z||[];if(W)H=[...Z||[],...await Promise.all(W.map((u)=>this.readProject({projectName:u}).then((c)=>c.id)))];let D=Object.fromEntries(Object.entries({id:$,trace:Q,parent_run:Y,run_type:q,session:H,reference_example:J,start_time:G,end_time:z,error:K,query:w,filter:X,trace_filter:U,tree_filter:N,is_root:F,data_source_type:A}).filter(([u,c])=>c!==void 0)),x=JSON.stringify(D);return await(await this.caller.call(async()=>{let u=await this._fetch(`${this.apiUrl}/runs/stats`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:x});return await T(u,"get run stats"),u})).json()}async shareRun($,{shareId:Q}={}){let Y={run_id:$,share_token:Q||w$()};b($);let q=JSON.stringify(Y),Z=await(await this.caller.call(async()=>{let J=await this._fetch(`${this.apiUrl}/runs/${$}/share`,{method:"PUT",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:q});return await T(J,"share run"),J})).json();if(Z===null||!("share_token"in Z))throw Error("Invalid response from server");return`${this.getHostUrl()}/public/${Z.share_token}/r`}async unshareRun($){b($),await this.caller.call(async()=>{let Q=await this._fetch(`${this.apiUrl}/runs/${$}/share`,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await T(Q,"unshare run",!0),Q})}async readRunSharedLink($){b($);let Y=await(await this.caller.call(async()=>{let q=await this._fetch(`${this.apiUrl}/runs/${$}/share`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await T(q,"read run shared link"),q})).json();if(Y===null||!("share_token"in Y))return;return`${this.getHostUrl()}/public/${Y.share_token}/r`}async listSharedRuns($,{runIds:Q}={}){let Y=new URLSearchParams({share_token:$});if(Q!==void 0)for(let Z of Q)Y.append("id",Z);return b($),await(await this.caller.call(async()=>{let Z=await this._fetch(`${this.apiUrl}/public/${$}/runs${Y}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await T(Z,"list shared runs"),Z})).json()}async readDatasetSharedSchema($,Q){if(!$&&!Q)throw Error("Either datasetId or datasetName must be given");if(!$)$=(await this.readDataset({datasetName:Q})).id;b($);let q=await(await this.caller.call(async()=>{let W=await this._fetch(`${this.apiUrl}/datasets/${$}/share`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await T(W,"read dataset shared schema"),W})).json();return q.url=`${this.getHostUrl()}/public/${q.share_token}/d`,q}async shareDataset($,Q){if(!$&&!Q)throw Error("Either datasetId or datasetName must be given");if(!$)$=(await this.readDataset({datasetName:Q})).id;let Y={dataset_id:$};b($);let q=JSON.stringify(Y),Z=await(await this.caller.call(async()=>{let J=await this._fetch(`${this.apiUrl}/datasets/${$}/share`,{method:"PUT",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:q});return await T(J,"share dataset"),J})).json();return Z.url=`${this.getHostUrl()}/public/${Z.share_token}/d`,Z}async unshareDataset($){b($),await this.caller.call(async()=>{let Q=await this._fetch(`${this.apiUrl}/datasets/${$}/share`,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await T(Q,"unshare dataset",!0),Q})}async readSharedDataset($){return b($),await(await this.caller.call(async()=>{let q=await this._fetch(`${this.apiUrl}/public/${$}/datasets`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await T(q,"read shared dataset"),q})).json()}async listSharedExamples($,Q){let Y={};if(Q?.exampleIds)Y.id=Q.exampleIds;let q=new URLSearchParams;Object.entries(Y).forEach(([J,G])=>{if(Array.isArray(G))G.forEach((z)=>q.append(J,z));else q.append(J,G)});let W=await this.caller.call(async()=>{let J=await this._fetch(`${this.apiUrl}/public/${$}/examples?${q.toString()}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await T(J,"list shared examples"),J}),Z=await W.json();if(!W.ok){if("detail"in Z)throw Error(`Failed to list shared examples.
|
|
37
|
+
Status: ${W.status}
|
|
38
|
+
Message: ${Array.isArray(Z.detail)?Z.detail.join(`
|
|
39
|
+
`):"Unspecified error"}`);throw Error(`Failed to list shared examples: ${W.status} ${W.statusText}`)}return Z.map((J)=>({...J,_hostUrl:this.getHostUrl()}))}async createProject({projectName:$,description:Q=null,metadata:Y=null,upsert:q=!1,projectExtra:W=null,referenceDatasetId:Z=null}){let J=q?"?upsert=true":"",G=`${this.apiUrl}/sessions${J}`,z=W||{};if(Y)z.metadata=Y;let K={name:$,extra:z,description:Q};if(Z!==null)K.reference_dataset_id=Z;let w=JSON.stringify(K);return await(await this.caller.call(async()=>{let N=await this._fetch(G,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:w});return await T(N,"create project"),N})).json()}async updateProject($,{name:Q=null,description:Y=null,metadata:q=null,projectExtra:W=null,endTime:Z=null}){let J=`${this.apiUrl}/sessions/${$}`,G=W;if(q)G={...G||{},metadata:q};let z=JSON.stringify({name:Q,extra:G,description:Y,end_time:Z?new Date(Z).toISOString():null});return await(await this.caller.call(async()=>{let X=await this._fetch(J,{method:"PATCH",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:z});return await T(X,"update project"),X})).json()}async hasProject({projectId:$,projectName:Q}){let Y="/sessions",q=new URLSearchParams;if($!==void 0&&Q!==void 0)throw Error("Must provide either projectName or projectId, not both");else if($!==void 0)b($),Y+=`/${$}`;else if(Q!==void 0)q.append("name",Q);else throw Error("Must provide projectName or projectId");let W=await this.caller.call(async()=>{let Z=await this._fetch(`${this.apiUrl}${Y}?${q}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await T(Z,"has project"),Z});try{let Z=await W.json();if(!W.ok)return!1;if(Array.isArray(Z))return Z.length>0;return!0}catch(Z){return!1}}async readProject({projectId:$,projectName:Q,includeStats:Y}){let q="/sessions",W=new URLSearchParams;if($!==void 0&&Q!==void 0)throw Error("Must provide either projectName or projectId, not both");else if($!==void 0)b($),q+=`/${$}`;else if(Q!==void 0)W.append("name",Q);else throw Error("Must provide projectName or projectId");if(Y!==void 0)W.append("include_stats",Y.toString());let Z=await this._get(q,W),J;if(Array.isArray(Z)){if(Z.length===0)throw Error(`Project[id=${$}, name=${Q}] not found`);J=Z[0]}else J=Z;return J}async getProjectUrl({projectId:$,projectName:Q}){if($===void 0&&Q===void 0)throw Error("Must provide either projectName or projectId");let Y=await this.readProject({projectId:$,projectName:Q}),q=await this._getTenantId();return`${this.getHostUrl()}/o/${q}/projects/p/${Y.id}`}async getDatasetUrl({datasetId:$,datasetName:Q}){if($===void 0&&Q===void 0)throw Error("Must provide either datasetName or datasetId");let Y=await this.readDataset({datasetId:$,datasetName:Q}),q=await this._getTenantId();return`${this.getHostUrl()}/o/${q}/datasets/${Y.id}`}async _getTenantId(){if(this._tenantId!==null)return this._tenantId;let $=new URLSearchParams({limit:"1"});for await(let Q of this._getPaginated("/sessions",$))return this._tenantId=Q[0].tenant_id,Q[0].tenant_id;throw Error("No projects found to resolve tenant.")}async*listProjects({projectIds:$,name:Q,nameContains:Y,referenceDatasetId:q,referenceDatasetName:W,includeStats:Z,datasetVersion:J,referenceFree:G,metadata:z}={}){let K=new URLSearchParams;if($!==void 0)for(let w of $)K.append("id",w);if(Q!==void 0)K.append("name",Q);if(Y!==void 0)K.append("name_contains",Y);if(q!==void 0)K.append("reference_dataset",q);else if(W!==void 0){let w=await this.readDataset({datasetName:W});K.append("reference_dataset",w.id)}if(Z!==void 0)K.append("include_stats",Z.toString());if(J!==void 0)K.append("dataset_version",J);if(G!==void 0)K.append("reference_free",G.toString());if(z!==void 0)K.append("metadata",JSON.stringify(z));for await(let w of this._getPaginated("/sessions",K))yield*w}async deleteProject({projectId:$,projectName:Q}){let Y;if($===void 0&&Q===void 0)throw Error("Must provide projectName or projectId");else if($!==void 0&&Q!==void 0)throw Error("Must provide either projectName or projectId, not both");else if($===void 0)Y=(await this.readProject({projectName:Q})).id;else Y=$;b(Y),await this.caller.call(async()=>{let q=await this._fetch(`${this.apiUrl}/sessions/${Y}`,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await T(q,`delete session ${Y} (${Q})`,!0),q})}async uploadCsv({csvFile:$,fileName:Q,inputKeys:Y,outputKeys:q,description:W,dataType:Z,name:J}){let G=`${this.apiUrl}/datasets/upload`,z=new FormData,K=new Blob([$],{type:"text/csv"});if(z.append("file",K,Q),Y.forEach((U)=>{z.append("input_keys",U)}),q.forEach((U)=>{z.append("output_keys",U)}),W)z.append("description",W);if(Z)z.append("data_type",Z);if(J)z.append("name",J);return await(await this.caller.call(async()=>{let U=await this._fetch(G,{method:"POST",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:z});return await T(U,"upload CSV"),U})).json()}async createDataset($,{description:Q,dataType:Y,inputsSchema:q,outputsSchema:W,metadata:Z}={}){let J={name:$,description:Q,extra:Z?{metadata:Z}:void 0};if(Y)J.data_type=Y;if(q)J.inputs_schema_definition=q;if(W)J.outputs_schema_definition=W;let G=JSON.stringify(J);return await(await this.caller.call(async()=>{let w=await this._fetch(`${this.apiUrl}/datasets`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:G});return await T(w,"create dataset"),w})).json()}async readDataset({datasetId:$,datasetName:Q}){let Y="/datasets",q=new URLSearchParams({limit:"1"});if($&&Q)throw Error("Must provide either datasetName or datasetId, not both");else if($)b($),Y+=`/${$}`;else if(Q)q.append("name",Q);else throw Error("Must provide datasetName or datasetId");let W=await this._get(Y,q),Z;if(Array.isArray(W)){if(W.length===0)throw Error(`Dataset[id=${$}, name=${Q}] not found`);Z=W[0]}else Z=W;return Z}async hasDataset({datasetId:$,datasetName:Q}){try{return await this.readDataset({datasetId:$,datasetName:Q}),!0}catch(Y){if(Y instanceof Error&&Y.message.toLocaleLowerCase().includes("not found"))return!1;throw Y}}async diffDatasetVersions({datasetId:$,datasetName:Q,fromVersion:Y,toVersion:q}){let W=$;if(W===void 0&&Q===void 0)throw Error("Must provide either datasetName or datasetId");else if(W!==void 0&&Q!==void 0)throw Error("Must provide either datasetName or datasetId, not both");else if(W===void 0)W=(await this.readDataset({datasetName:Q})).id;let Z=new URLSearchParams({from_version:typeof Y==="string"?Y:Y.toISOString(),to_version:typeof q==="string"?q:q.toISOString()});return await this._get(`/datasets/${W}/versions/diff`,Z)}async readDatasetOpenaiFinetuning({datasetId:$,datasetName:Q}){if($!==void 0);else if(Q!==void 0)$=(await this.readDataset({datasetName:Q})).id;else throw Error("Must provide either datasetName or datasetId");return(await(await this._getResponse(`/datasets/${$}/openai_ft`)).text()).trim().split(`
|
|
40
|
+
`).map((J)=>JSON.parse(J))}async*listDatasets({limit:$=100,offset:Q=0,datasetIds:Y,datasetName:q,datasetNameContains:W,metadata:Z}={}){let G=new URLSearchParams({limit:$.toString(),offset:Q.toString()});if(Y!==void 0)for(let z of Y)G.append("id",z);if(q!==void 0)G.append("name",q);if(W!==void 0)G.append("name_contains",W);if(Z!==void 0)G.append("metadata",JSON.stringify(Z));for await(let z of this._getPaginated("/datasets",G))yield*z}async updateDataset($){let{datasetId:Q,datasetName:Y,...q}=$;if(!Q&&!Y)throw Error("Must provide either datasetName or datasetId");let W=Q??(await this.readDataset({datasetName:Y})).id;b(W);let Z=JSON.stringify(q);return await(await this.caller.call(async()=>{let G=await this._fetch(`${this.apiUrl}/datasets/${W}`,{method:"PATCH",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:Z});return await T(G,"update dataset"),G})).json()}async updateDatasetTag($){let{datasetId:Q,datasetName:Y,asOf:q,tag:W}=$;if(!Q&&!Y)throw Error("Must provide either datasetName or datasetId");let Z=Q??(await this.readDataset({datasetName:Y})).id;b(Z);let J=JSON.stringify({as_of:typeof q==="string"?q:q.toISOString(),tag:W});await this.caller.call(async()=>{let G=await this._fetch(`${this.apiUrl}/datasets/${Z}/tags`,{method:"PUT",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:J});return await T(G,"update dataset tags",!0),G})}async deleteDataset({datasetId:$,datasetName:Q}){let Y="/datasets",q=$;if($!==void 0&&Q!==void 0)throw Error("Must provide either datasetName or datasetId, not both");else if(Q!==void 0)q=(await this.readDataset({datasetName:Q})).id;if(q!==void 0)b(q),Y+=`/${q}`;else throw Error("Must provide datasetName or datasetId");await this.caller.call(async()=>{let W=await this._fetch(this.apiUrl+Y,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await T(W,`delete ${Y}`,!0),W})}async indexDataset({datasetId:$,datasetName:Q,tag:Y}){let q=$;if(!q&&!Q)throw Error("Must provide either datasetName or datasetId");else if(q&&Q)throw Error("Must provide either datasetName or datasetId, not both");else if(!q)q=(await this.readDataset({datasetName:Q})).id;b(q);let Z=JSON.stringify({tag:Y});await(await this.caller.call(async()=>{let G=await this._fetch(`${this.apiUrl}/datasets/${q}/index`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:Z});return await T(G,"index dataset"),G})).json()}async similarExamples($,Q,Y,{filter:q}={}){let W={limit:Y,inputs:$};if(q!==void 0)W.filter=q;b(Q);let Z=JSON.stringify(W);return(await(await this.caller.call(async()=>{let z=await this._fetch(`${this.apiUrl}/datasets/${Q}/search`,{headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,method:"POST",body:Z});return await T(z,"fetch similar examples"),z})).json()).examples}async createExample($,Q,Y){if(Zq($)){if(Q!==void 0||Y!==void 0)throw Error("Cannot provide outputs or options when using ExampleCreate object")}let q=Q?Y?.datasetId:$.dataset_id,W=Q?Y?.datasetName:$.dataset_name;if(q===void 0&&W===void 0)throw Error("Must provide either datasetName or datasetId");else if(q!==void 0&&W!==void 0)throw Error("Must provide either datasetName or datasetId, not both");else if(q===void 0)q=(await this.readDataset({datasetName:W})).id;let Z=(Q?Y?.createdAt:$.created_at)||new Date,J;if(!Zq($))J={inputs:$,outputs:Q,created_at:Z?.toISOString(),id:Y?.exampleId,metadata:Y?.metadata,split:Y?.split,source_run_id:Y?.sourceRunId,use_source_run_io:Y?.useSourceRunIO,use_source_run_attachments:Y?.useSourceRunAttachments,attachments:Y?.attachments};else J=$;let G=await this._uploadExamplesMultipart(q,[J]);return await this.readExample(G.example_ids?.[0]??w$())}async createExamples($){if(Array.isArray($)){if($.length===0)return[];let _=$,D=_[0].dataset_id,x=_[0].dataset_name;if(D===void 0&&x===void 0)throw Error("Must provide either datasetName or datasetId");else if(D!==void 0&&x!==void 0)throw Error("Must provide either datasetName or datasetId, not both");else if(D===void 0)D=(await this.readDataset({datasetName:x})).id;let R=await this._uploadExamplesMultipart(D,_);return await Promise.all(R.example_ids.map((u)=>this.readExample(u)))}let{inputs:Q,outputs:Y,metadata:q,splits:W,sourceRunIds:Z,useSourceRunIOs:J,useSourceRunAttachments:G,attachments:z,exampleIds:K,datasetId:w,datasetName:X}=$;if(Q===void 0)throw Error("Must provide inputs when using legacy parameters");let U=w,N=X;if(U===void 0&&N===void 0)throw Error("Must provide either datasetName or datasetId");else if(U!==void 0&&N!==void 0)throw Error("Must provide either datasetName or datasetId, not both");else if(U===void 0)U=(await this.readDataset({datasetName:N})).id;let F=Q.map((_,D)=>{return{dataset_id:U,inputs:_,outputs:Y?.[D],metadata:q?.[D],split:W?.[D],id:K?.[D],attachments:z?.[D],source_run_id:Z?.[D],use_source_run_io:J?.[D],use_source_run_attachments:G?.[D]}}),A=await this._uploadExamplesMultipart(U,F);return await Promise.all(A.example_ids.map((_)=>this.readExample(_)))}async createLLMExample($,Q,Y){return this.createExample({input:$},{output:Q},Y)}async createChatExample($,Q,Y){let q=$.map((Z)=>{if(C4(Z))return k4(Z);return Z}),W=C4(Q)?k4(Q):Q;return this.createExample({input:q},{output:W},Y)}async readExample($){b($);let Q=`/examples/${$}`,Y=await this._get(Q),{attachment_urls:q,...W}=Y,Z=W;if(q)Z.attachments=Object.entries(q).reduce((J,[G,z])=>{return J[G.slice(11)]={presigned_url:z.presigned_url,mime_type:z.mime_type},J},{});return Z}async*listExamples({datasetId:$,datasetName:Q,exampleIds:Y,asOf:q,splits:W,inlineS3Urls:Z,metadata:J,limit:G,offset:z,filter:K,includeAttachments:w}={}){let X;if($!==void 0&&Q!==void 0)throw Error("Must provide either datasetName or datasetId, not both");else if($!==void 0)X=$;else if(Q!==void 0)X=(await this.readDataset({datasetName:Q})).id;else throw Error("Must provide a datasetName or datasetId");let U=new URLSearchParams({dataset:X}),N=q?typeof q==="string"?q:q?.toISOString():void 0;if(N)U.append("as_of",N);let F=Z??!0;if(U.append("inline_s3_urls",F.toString()),Y!==void 0)for(let H of Y)U.append("id",H);if(W!==void 0)for(let H of W)U.append("splits",H);if(J!==void 0){let H=JSON.stringify(J);U.append("metadata",H)}if(G!==void 0)U.append("limit",G.toString());if(z!==void 0)U.append("offset",z.toString());if(K!==void 0)U.append("filter",K);if(w===!0)["attachment_urls","outputs","metadata"].forEach((H)=>U.append("select",H));let A=0;for await(let H of this._getPaginated("/examples",U)){for(let _ of H){let{attachment_urls:D,...x}=_,R=x;if(D)R.attachments=Object.entries(D).reduce((d,[u,c])=>{return d[u.slice(11)]={presigned_url:c.presigned_url,mime_type:c.mime_type||void 0},d},{});yield R,A++}if(G!==void 0&&A>=G)break}}async deleteExample($){b($);let Q=`/examples/${$}`;await this.caller.call(async()=>{let Y=await this._fetch(this.apiUrl+Q,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await T(Y,`delete ${Q}`,!0),Y})}async deleteExamples($,Q){if($.forEach((Y)=>b(Y)),Q?.hardDelete){let Y=this._getPlatformEndpointPath("datasets/examples/delete");await this.caller.call(async()=>{let q=await this._fetch(`${this.apiUrl}${Y}`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},body:JSON.stringify({example_ids:$,hard_delete:!0}),signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await T(q,"hard delete examples",!0),q})}else{let Y=new URLSearchParams;$.forEach((q)=>Y.append("example_ids",q)),await this.caller.call(async()=>{let q=await this._fetch(`${this.apiUrl}/examples?${Y.toString()}`,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await T(q,"delete examples",!0),q})}}async updateExample($,Q){let Y;if(Q)Y=$;else Y=$.id;b(Y);let q;if(Q)q={id:Y,...Q};else q=$;let W;if(q.dataset_id!==void 0)W=q.dataset_id;else W=(await this.readExample(Y)).dataset_id;return this._updateExamplesMultipart(W,[q])}async updateExamples($){let Q;if($[0].dataset_id===void 0)Q=(await this.readExample($[0].id)).dataset_id;else Q=$[0].dataset_id;return this._updateExamplesMultipart(Q,$)}async readDatasetVersion({datasetId:$,datasetName:Q,asOf:Y,tag:q}){let W;if(!$)W=(await this.readDataset({datasetName:Q})).id;else W=$;if(b(W),Y&&q||!Y&&!q)throw Error("Exactly one of asOf and tag must be specified.");let Z=new URLSearchParams;if(Y!==void 0)Z.append("as_of",typeof Y==="string"?Y:Y.toISOString());if(q!==void 0)Z.append("tag",q);return await(await this.caller.call(async()=>{let G=await this._fetch(`${this.apiUrl}/datasets/${W}/version?${Z.toString()}`,{method:"GET",headers:{...this.headers},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await T(G,"read dataset version"),G})).json()}async listDatasetSplits({datasetId:$,datasetName:Q,asOf:Y}){let q;if($===void 0&&Q===void 0)throw Error("Must provide dataset name or ID");else if($!==void 0&&Q!==void 0)throw Error("Must provide either datasetName or datasetId, not both");else if($===void 0)q=(await this.readDataset({datasetName:Q})).id;else q=$;b(q);let W=new URLSearchParams,Z=Y?typeof Y==="string"?Y:Y?.toISOString():void 0;if(Z)W.append("as_of",Z);return await this._get(`/datasets/${q}/splits`,W)}async updateDatasetSplits({datasetId:$,datasetName:Q,splitName:Y,exampleIds:q,remove:W=!1}){let Z;if($===void 0&&Q===void 0)throw Error("Must provide dataset name or ID");else if($!==void 0&&Q!==void 0)throw Error("Must provide either datasetName or datasetId, not both");else if($===void 0)Z=(await this.readDataset({datasetName:Q})).id;else Z=$;b(Z);let J={split_name:Y,examples:q.map((z)=>{return b(z),z}),remove:W},G=JSON.stringify(J);await this.caller.call(async()=>{let z=await this._fetch(`${this.apiUrl}/datasets/${Z}/splits`,{method:"PUT",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:G});return await T(z,"update dataset splits",!0),z})}async createFeedback($,Q,{score:Y,value:q,correction:W,comment:Z,sourceInfo:J,feedbackSourceType:G="api",sourceRunId:z,feedbackId:K,feedbackConfig:w,projectId:X,comparativeExperimentId:U,sessionId:N,startTime:F}){if(!$&&!X)throw Error("One of runId or projectId must be provided");if($&&X)throw Error("Only one of runId or projectId can be provided");let A={type:G??"api",metadata:J??{}};if(z!==void 0&&A?.metadata!==void 0&&!A.metadata.__run)A.metadata.__run={run_id:z};if(A?.metadata!==void 0&&A.metadata.__run?.run_id!==void 0)b(A.metadata.__run.run_id);let H={id:K??w$(),run_id:$,key:Q,score:qq(Y),value:q,correction:W,comment:Z,feedback_source:A,comparative_experiment_id:U,feedbackConfig:w,session_id:N??X,start_time:F},_=JSON.stringify(H),D=`${this.apiUrl}/feedback`;return await this.caller.call(async()=>{let x=await this._fetch(D,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:_});return await T(x,"create feedback",!0),x}),H}async updateFeedback($,{score:Q,value:Y,correction:q,comment:W}){let Z={};if(Q!==void 0&&Q!==null)Z.score=qq(Q);if(Y!==void 0&&Y!==null)Z.value=Y;if(q!==void 0&&q!==null)Z.correction=q;if(W!==void 0&&W!==null)Z.comment=W;b($);let J=JSON.stringify(Z);await this.caller.call(async()=>{let G=await this._fetch(`${this.apiUrl}/feedback/${$}`,{method:"PATCH",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:J});return await T(G,"update feedback",!0),G})}async readFeedback($){b($);let Q=`/feedback/${$}`;return await this._get(Q)}async deleteFeedback($){b($);let Q=`/feedback/${$}`;await this.caller.call(async()=>{let Y=await this._fetch(this.apiUrl+Q,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await T(Y,`delete ${Q}`,!0),Y})}async*listFeedback({runIds:$,feedbackKeys:Q,feedbackSourceTypes:Y}={}){let q=new URLSearchParams;if($)for(let W of $)b(W),q.append("run",W);if(Q)for(let W of Q)q.append("key",W);if(Y)for(let W of Y)q.append("source",W);for await(let W of this._getPaginated("/feedback",q))yield*W}async createPresignedFeedbackToken($,Q,{expiration:Y,feedbackConfig:q}={}){let W={run_id:$,feedback_key:Q,feedback_config:q};if(Y){if(typeof Y==="string")W.expires_at=Y;else if(Y?.hours||Y?.minutes||Y?.days)W.expires_in=Y}else W.expires_in={hours:3};let Z=JSON.stringify(W);return await(await this.caller.call(async()=>{let G=await this._fetch(`${this.apiUrl}/feedback/tokens`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:Z});return await T(G,"create presigned feedback token"),G})).json()}async createComparativeExperiment({name:$,experimentIds:Q,referenceDatasetId:Y,createdAt:q,description:W,metadata:Z,id:J}){if(Q.length===0)throw Error("At least one experiment is required");if(!Y)Y=(await this.readProject({projectId:Q[0]})).reference_dataset_id;if(!Y==null)throw Error("A reference dataset is required");let G={id:J,name:$,experiment_ids:Q,reference_dataset_id:Y,description:W,created_at:(q??new Date)?.toISOString(),extra:{}};if(Z)G.extra.metadata=Z;let z=JSON.stringify(G);return(await this.caller.call(async()=>{let w=await this._fetch(`${this.apiUrl}/datasets/comparative`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:z});return await T(w,"create comparative experiment"),w})).json()}async*listPresignedFeedbackTokens($){b($);let Q=new URLSearchParams({run_id:$});for await(let Y of this._getPaginated("/feedback/tokens",Q))yield*Y}_selectEvalResults($){let Q;if("results"in $)Q=$.results;else if(Array.isArray($))Q=$;else Q=[$];return Q}async _logEvaluationFeedback($,Q,Y){let q=this._selectEvalResults($),W=[];for(let Z of q){let J=Y||{};if(Z.evaluatorInfo)J={...Z.evaluatorInfo,...J};let G=null;if(Z.targetRunId)G=Z.targetRunId;else if(Q)G=Q.id;W.push(await this.createFeedback(G,Z.key,{score:Z.score,value:Z.value,comment:Z.comment,correction:Z.correction,sourceInfo:J,sourceRunId:Z.sourceRunId,feedbackConfig:Z.feedbackConfig,feedbackSourceType:"model",sessionId:Q?.session_id,startTime:Q?.start_time}))}return[q,W]}async logEvaluationFeedback($,Q,Y){let[q]=await this._logEvaluationFeedback($,Q,Y);return q}async createFeedbackConfig($){let{feedbackKey:Q,feedbackConfig:Y,isLowerScoreBetter:q=!1}=$,W={feedback_key:Q,feedback_config:Y,is_lower_score_better:q};return(await this.caller.call(async()=>{let J=await this._fetch(`${this.apiUrl}/feedback-configs`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:JSON.stringify(W)});return await T(J,"create feedback config"),J})).json()}async*listFeedbackConfigs($={}){let{feedbackKeys:Q,nameContains:Y,limit:q}=$,W=new URLSearchParams;if(Q)Q.forEach((J)=>{W.append("key",J)});if(Y)W.append("name_contains",Y);W.append("limit",(q!==void 0?Math.min(q,100):100).toString());let Z=0;for await(let J of this._getPaginated("/feedback-configs",W))if(yield*J,Z+=J.length,q!==void 0&&Z>=q)break}async updateFeedbackConfig($,Q={}){let{feedbackConfig:Y,isLowerScoreBetter:q}=Q,W={feedback_key:$};if(Y!==void 0)W.feedback_config=Y;if(q!==void 0)W.is_lower_score_better=q;return(await this.caller.call(async()=>{let J=await this._fetch(`${this.apiUrl}/feedback-configs`,{method:"PATCH",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:JSON.stringify(W)});return await T(J,"update feedback config"),J})).json()}async deleteFeedbackConfig($){let Q=new URLSearchParams({feedback_key:$});await this.caller.call(async()=>{let Y=await this._fetch(`${this.apiUrl}/feedback-configs?${Q}`,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await T(Y,"delete feedback config",!0),Y})}async*listAnnotationQueues($={}){let{queueIds:Q,name:Y,nameContains:q,limit:W}=$,Z=new URLSearchParams;if(Q)Q.forEach((G,z)=>{b(G,`queueIds[${z}]`),Z.append("ids",G)});if(Y)Z.append("name",Y);if(q)Z.append("name_contains",q);Z.append("limit",(W!==void 0?Math.min(W,100):100).toString());let J=0;for await(let G of this._getPaginated("/annotation-queues",Z))if(yield*G,J++,W!==void 0&&J>=W)break}async createAnnotationQueue($){let{name:Q,description:Y,queueId:q,rubricInstructions:W,rubricItems:Z}=$,J={name:Q,description:Y,id:q||w$(),rubric_instructions:W,rubric_items:Z},G=JSON.stringify(Object.fromEntries(Object.entries(J).filter(([K,w])=>w!==void 0)));return(await this.caller.call(async()=>{let K=await this._fetch(`${this.apiUrl}/annotation-queues`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:G});return await T(K,"create annotation queue"),K})).json()}async readAnnotationQueue($){return(await this.caller.call(async()=>{let Y=await this._fetch(`${this.apiUrl}/annotation-queues/${b($,"queueId")}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await T(Y,"read annotation queue"),Y})).json()}async updateAnnotationQueue($,Q){let{name:Y,description:q,rubricInstructions:W,rubricItems:Z}=Q,J={};if(Y!==void 0)J.name=Y;if(q!==void 0)J.description=q;if(W!==void 0)J.rubric_instructions=W;if(Z!==void 0)J.rubric_items=Z;let G=JSON.stringify(J);await this.caller.call(async()=>{let z=await this._fetch(`${this.apiUrl}/annotation-queues/${b($,"queueId")}`,{method:"PATCH",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:G});return await T(z,"update annotation queue",!0),z})}async deleteAnnotationQueue($){await this.caller.call(async()=>{let Q=await this._fetch(`${this.apiUrl}/annotation-queues/${b($,"queueId")}`,{method:"DELETE",headers:{...this.headers,Accept:"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await T(Q,"delete annotation queue",!0),Q})}async addRunsToAnnotationQueue($,Q){let Y=JSON.stringify(Q.map((q,W)=>b(q,`runIds[${W}]`).toString()));await this.caller.call(async()=>{let q=await this._fetch(`${this.apiUrl}/annotation-queues/${b($,"queueId")}/runs`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:Y});return await T(q,"add runs to annotation queue",!0),q})}async getRunFromAnnotationQueue($,Q){let Y=`/annotation-queues/${b($,"queueId")}/run`;return(await this.caller.call(async()=>{let W=await this._fetch(`${this.apiUrl}${Y}/${Q}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await T(W,"get run from annotation queue"),W})).json()}async deleteRunFromAnnotationQueue($,Q){await this.caller.call(async()=>{let Y=await this._fetch(`${this.apiUrl}/annotation-queues/${b($,"queueId")}/runs/${b(Q,"queueRunId")}`,{method:"DELETE",headers:{...this.headers,Accept:"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await T(Y,"delete run from annotation queue",!0),Y})}async getSizeFromAnnotationQueue($){return(await this.caller.call(async()=>{let Y=await this._fetch(`${this.apiUrl}/annotation-queues/${b($,"queueId")}/size`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await T(Y,"get size from annotation queue"),Y})).json()}async _currentTenantIsOwner($){let Q=await this._getSettings();return $=="-"||Q.tenant_handle===$}async _ownerConflictError($,Q){let Y=await this._getSettings();return Error(`Cannot ${$} for another tenant.
|
|
41
|
+
|
|
42
|
+
Current tenant: ${Y.tenant_handle}
|
|
43
|
+
|
|
44
|
+
Requested tenant: ${Q}`)}async _getLatestCommitHash($){let Y=await(await this.caller.call(async()=>{let q=await this._fetch(`${this.apiUrl}/commits/${$}/?limit=1&offset=0`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await T(q,"get latest commit hash"),q})).json();if(Y.commits.length===0)return;return Y.commits[0].commit_hash}async _likeOrUnlikePrompt($,Q){let[Y,q,W]=q$($),Z=JSON.stringify({like:Q});return(await this.caller.call(async()=>{let G=await this._fetch(`${this.apiUrl}/likes/${Y}/${q}`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:Z});return await T(G,`${Q?"like":"unlike"} prompt`),G})).json()}async _getPromptUrl($){let[Q,Y,q]=q$($);if(!await this._currentTenantIsOwner(Q))if(q!=="latest")return`${this.getHostUrl()}/hub/${Q}/${Y}/${q.substring(0,8)}`;else return`${this.getHostUrl()}/hub/${Q}/${Y}`;else{let W=await this._getSettings();if(q!=="latest")return`${this.getHostUrl()}/prompts/${Y}/${q.substring(0,8)}?organizationId=${W.id}`;else return`${this.getHostUrl()}/prompts/${Y}?organizationId=${W.id}`}}async promptExists($){return!!await this.getPrompt($)}async likePrompt($){return this._likeOrUnlikePrompt($,!0)}async unlikePrompt($){return this._likeOrUnlikePrompt($,!1)}async*listCommits($){for await(let Q of this._getPaginated(`/commits/${$}/`,new URLSearchParams,(Y)=>Y.commits))yield*Q}async*listPrompts($){let Q=new URLSearchParams;if(Q.append("sort_field",$?.sortField??"updated_at"),Q.append("sort_direction","desc"),Q.append("is_archived",(!!$?.isArchived).toString()),$?.isPublic!==void 0)Q.append("is_public",$.isPublic.toString());if($?.query)Q.append("query",$.query);for await(let Y of this._getPaginated("/repos",Q,(q)=>q.repos))yield*Y}async getPrompt($){let[Q,Y,q]=q$($),Z=await(await this.caller.call(async()=>{let J=await this._fetch(`${this.apiUrl}/repos/${Q}/${Y}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});if(J?.status===404)return null;return await T(J,"get prompt"),J}))?.json();if(Z?.repo)return Z.repo;else return null}async createPrompt($,Q){let Y=await this._getSettings();if(Q?.isPublic&&!Y.tenant_handle)throw Error(`Cannot create a public prompt without first
|
|
45
|
+
|
|
46
|
+
creating a LangChain Hub handle.
|
|
47
|
+
You can add a handle by creating a public prompt at:
|
|
48
|
+
|
|
49
|
+
https://smith.langchain.com/prompts`);let[q,W,Z]=q$($);if(!await this._currentTenantIsOwner(q))throw await this._ownerConflictError("create a prompt",q);let J={repo_handle:W,...Q?.description&&{description:Q.description},...Q?.readme&&{readme:Q.readme},...Q?.tags&&{tags:Q.tags},is_public:!!Q?.isPublic},G=JSON.stringify(J),z=await this.caller.call(async()=>{let w=await this._fetch(`${this.apiUrl}/repos/`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:G});return await T(w,"create prompt"),w}),{repo:K}=await z.json();return K}async createCommit($,Q,Y){if(!await this.promptExists($))throw Error("Prompt does not exist, you must create it first.");let[q,W,Z]=q$($),J=Y?.parentCommitHash==="latest"||!Y?.parentCommitHash?await this._getLatestCommitHash(`${q}/${W}`):Y?.parentCommitHash,G={manifest:JSON.parse(JSON.stringify(Q)),parent_commit:J},z=JSON.stringify(G),w=await(await this.caller.call(async()=>{let X=await this._fetch(`${this.apiUrl}/commits/${q}/${W}`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:z});return await T(X,"create commit"),X})).json();return this._getPromptUrl(`${q}/${W}${w.commit_hash?`:${w.commit_hash}`:""}`)}async updateExamplesMultipart($,Q=[]){return this._updateExamplesMultipart($,Q)}async _updateExamplesMultipart($,Q=[]){if(!await this._getDatasetExamplesMultiPartSupport())throw Error("Your LangSmith deployment does not allow using the multipart examples endpoint, please upgrade your deployment to the latest version.");let Y=new FormData;for(let Z of Q){let J=Z.id,G={...Z.metadata&&{metadata:Z.metadata},...Z.split&&{split:Z.split}},z=P0(G,`Serializing body for example with id: ${J}`),K=new Blob([z],{type:"application/json"});if(Y.append(J,K),Z.inputs){let w=P0(Z.inputs,`Serializing inputs for example with id: ${J}`),X=new Blob([w],{type:"application/json"});Y.append(`${J}.inputs`,X)}if(Z.outputs){let w=P0(Z.outputs,`Serializing outputs whle updating example with id: ${J}`),X=new Blob([w],{type:"application/json"});Y.append(`${J}.outputs`,X)}if(Z.attachments)for(let[w,X]of Object.entries(Z.attachments)){let U,N;if(Array.isArray(X))[U,N]=X;else U=X.mimeType,N=X.data;let F=new Blob([N],{type:`${U}; length=${N.byteLength}`});Y.append(`${J}.attachment.${w}`,F)}if(Z.attachments_operations){let w=P0(Z.attachments_operations,`Serializing attachments while updating example with id: ${J}`),X=new Blob([w],{type:"application/json"});Y.append(`${J}.attachments_operations`,X)}}let q=$??Q[0]?.dataset_id;return(await this.caller.call(async()=>{let Z=await this._fetch(`${this.apiUrl}${this._getPlatformEndpointPath(`datasets/${q}/examples`)}`,{method:"PATCH",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:Y});return await T(Z,"update examples"),Z})).json()}async uploadExamplesMultipart($,Q=[]){return this._uploadExamplesMultipart($,Q)}async _uploadExamplesMultipart($,Q=[]){if(!await this._getDatasetExamplesMultiPartSupport())throw Error("Your LangSmith deployment does not allow using the multipart examples endpoint, please upgrade your deployment to the latest version.");let Y=new FormData;for(let W of Q){let Z=(W.id??w$()).toString(),J={created_at:W.created_at,...W.metadata&&{metadata:W.metadata},...W.split&&{split:W.split},...W.source_run_id&&{source_run_id:W.source_run_id},...W.use_source_run_io&&{use_source_run_io:W.use_source_run_io},...W.use_source_run_attachments&&{use_source_run_attachments:W.use_source_run_attachments}},G=P0(J,`Serializing body for uploaded example with id: ${Z}`),z=new Blob([G],{type:"application/json"});if(Y.append(Z,z),W.inputs){let K=P0(W.inputs,`Serializing inputs for uploaded example with id: ${Z}`),w=new Blob([K],{type:"application/json"});Y.append(`${Z}.inputs`,w)}if(W.outputs){let K=P0(W.outputs,`Serializing outputs for uploaded example with id: ${Z}`),w=new Blob([K],{type:"application/json"});Y.append(`${Z}.outputs`,w)}if(W.attachments)for(let[K,w]of Object.entries(W.attachments)){let X,U;if(Array.isArray(w))[X,U]=w;else X=w.mimeType,U=w.data;let N=new Blob([U],{type:`${X}; length=${U.byteLength}`});Y.append(`${Z}.attachment.${K}`,N)}}return(await this.caller.call(async()=>{let W=await this._fetch(`${this.apiUrl}${this._getPlatformEndpointPath(`datasets/${$}/examples`)}`,{method:"POST",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:Y});return await T(W,"upload examples"),W})).json()}async updatePrompt($,Q){if(!await this.promptExists($))throw Error("Prompt does not exist, you must create it first.");let[Y,q]=q$($);if(!await this._currentTenantIsOwner(Y))throw await this._ownerConflictError("update a prompt",Y);let W={};if(Q?.description!==void 0)W.description=Q.description;if(Q?.readme!==void 0)W.readme=Q.readme;if(Q?.tags!==void 0)W.tags=Q.tags;if(Q?.isPublic!==void 0)W.is_public=Q.isPublic;if(Q?.isArchived!==void 0)W.is_archived=Q.isArchived;if(Object.keys(W).length===0)throw Error("No valid update options provided");let Z=JSON.stringify(W);return(await this.caller.call(async()=>{let G=await this._fetch(`${this.apiUrl}/repos/${Y}/${q}`,{method:"PATCH",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:Z});return await T(G,"update prompt"),G})).json()}async deletePrompt($){if(!await this.promptExists($))throw Error("Prompt does not exist, you must create it first.");let[Q,Y,q]=q$($);if(!await this._currentTenantIsOwner(Q))throw await this._ownerConflictError("delete a prompt",Q);return(await this.caller.call(async()=>{let Z=await this._fetch(`${this.apiUrl}/repos/${Q}/${Y}`,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await T(Z,"delete prompt"),Z})).json()}_getPromptCacheKey($,Q){return`${$}${Q?":with_model":""}`}async _fetchPromptFromApi($,Q){let[Y,q,W]=q$($),J=await(await this.caller.call(async()=>{let G=await this._fetch(`${this.apiUrl}/commits/${Y}/${q}/${W}${Q?.includeModel?"?include_model=true":""}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await T(G,"pull prompt commit"),G})).json();return{owner:Y,repo:q,commit_hash:J.commit_hash,manifest:J.manifest,examples:J.examples}}async pullPromptCommit($,Q){let Y=this._fetchPromptFromApi.bind(this,$,Q);if(!Q?.skipCache&&this._promptCache){let q=this._getPromptCacheKey($,Q?.includeModel),W=this._promptCache.get(q,Y);if(W)return W;let Z=await Y();return this._promptCache.set(q,Z,Y),Z}return this._fetchPromptFromApi($,Q)}async _pullPrompt($,Q){let Y=await this.pullPromptCommit($,{includeModel:Q?.includeModel,skipCache:Q?.skipCache});return JSON.stringify(Y.manifest)}async pushPrompt($,Q){if(await this.promptExists($)){if(Q&&Object.keys(Q).some((q)=>q!=="object"))await this.updatePrompt($,{description:Q?.description,readme:Q?.readme,tags:Q?.tags,isPublic:Q?.isPublic})}else await this.createPrompt($,{description:Q?.description,readme:Q?.readme,tags:Q?.tags,isPublic:Q?.isPublic});if(!Q?.object)return await this._getPromptUrl($);return await this.createCommit($,Q?.object,{parentCommitHash:Q?.parentCommitHash})}async clonePublicDataset($,Q={}){let{sourceApiUrl:Y=this.apiUrl,datasetName:q}=Q,[W,Z]=this.parseTokenOrUrl($,Y),J=new K$({apiUrl:W,apiKey:"placeholder"}),G=await J.readSharedDataset(Z),z=q||G.name;try{if(await this.hasDataset({datasetId:z})){console.log(`Dataset ${z} already exists in your tenant. Skipping.`);return}}catch(X){}let K=await J.listSharedExamples(Z),w=await this.createDataset(z,{description:G.description,dataType:G.data_type||"kv",inputsSchema:G.inputs_schema_definition??void 0,outputsSchema:G.outputs_schema_definition??void 0});try{await this.createExamples({inputs:K.map((X)=>X.inputs),outputs:K.flatMap((X)=>X.outputs?[X.outputs]:[]),datasetId:w.id})}catch(X){throw console.error(`An error occurred while creating dataset ${z}. You should delete it manually.`),X}}parseTokenOrUrl($,Q,Y=2,q="dataset"){try{return b($),[Q,$]}catch(W){}try{let Z=new URL($).pathname.split("/").filter((J)=>J!=="");if(Z.length>=Y){let J=Z[Z.length-Y];return[Q,J]}else throw Error(`Invalid public ${q} URL: ${$}`)}catch(W){throw Error(`Invalid public ${q} URL or token: ${$}`)}}cleanup(){if(this._promptCache)this._promptCache.stop()}async awaitPendingTraceBatches(){if(this.manualFlushMode)return console.warn("[WARNING]: When tracing in manual flush mode, you must call `await client.flush()` manually to submit trace batches."),Promise.resolve();if(await new Promise(($)=>setTimeout($,1)),await Promise.all([...this.autoBatchQueue.items.map(({itemPromise:$})=>$),this.batchIngestCaller.queue.onIdle()]),this.langSmithToOTELTranslator!==void 0)await vY()?.DEFAULT_LANGSMITH_SPAN_PROCESSOR?.forceFlush()}}function Zq($){return"dataset_id"in $||"dataset_name"in $}var zq=($)=>{if($!==void 0)return $;return!!["TRACING_V2","TRACING"].find((Y)=>e(Y)==="true")};var r0=Symbol.for("lc:context_variables");var $9=Symbol.for("langsmith:replica_trace_roots");function m4($,Q){if(r0 in $)return $[r0][Q];return}function Kq($,Q,Y){let q=r0 in $?$[r0]:{};q[Q]=Y,$[r0]=q}T$();var $1=36,jZ="6ba7b810-9dad-11d1-80b4-00c04fd430c8";function wq($){let Y=Object.keys($).sort().map((q)=>`${q}:${$[q]??""}`).join("|");return Uq(Y,jZ)}function vZ($){return $.replace(/[-:.]/g,"")}function Nq($,Q=1){let Y=Q.toFixed(0).slice(0,3).padStart(3,"0");return`${new Date($).toISOString().slice(0,-1)}${Y}Z`}function d4($,Q,Y=1){let q=Nq($,Y);return{dottedOrder:vZ(q)+Q,microsecondPrecisionDatestring:q}}var yZ=new Set(["projectName","updates","reroot"]);function CZ($){let Q={};for(let Y of Object.keys($))if(yZ.has(Y))Q[Y]=$[Y];return Q}class Q9{constructor($,Q,Y,q){Object.defineProperty(this,"metadata",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tags",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"project_name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"replicas",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.metadata=$,this.tags=Q,this.project_name=Y,this.replicas=q}static fromHeader($){let Q=$.split(","),Y={},q=[],W,Z;for(let J of Q){let[G,z]=J.split("="),K=decodeURIComponent(z);if(G==="langsmith-metadata")Y=JSON.parse(K);else if(G==="langsmith-tags")q=K.split(",");else if(G==="langsmith-project")W=K;else if(G==="langsmith-replicas")Z=JSON.parse(K).map((X)=>{if(Array.isArray(X))return X;return CZ(X)})}return new Q9(Y,q,W,Z)}toHeader(){let $=[];if(this.metadata&&Object.keys(this.metadata).length>0)$.push(`langsmith-metadata=${encodeURIComponent(JSON.stringify(this.metadata))}`);if(this.tags&&this.tags.length>0)$.push(`langsmith-tags=${encodeURIComponent(this.tags.join(","))}`);if(this.project_name)$.push(`langsmith-project=${encodeURIComponent(this.project_name)}`);return $.join(",")}}class Y0{constructor($){if(Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"run_type",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"project_name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"parent_run",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"parent_run_id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"child_runs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"start_time",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"end_time",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"extra",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tags",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"error",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"serialized",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"inputs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"outputs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"reference_example_id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"client",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"events",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"trace_id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"dotted_order",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tracingEnabled",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"execution_order",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"child_execution_order",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"attachments",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"replicas",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"distributedParentId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_serialized_start_time",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_awaitInputsOnPost",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Bq($)){Object.assign(this,{...$});return}let Q=Y0.getDefaultConfig(),{metadata:Y,...q}=$,W=q.client??Y0.getSharedClient(),Z={...Y,...q?.extra?.metadata};if(q.extra={...q.extra,metadata:Z},"id"in q&&q.id==null)delete q.id;if(Object.assign(this,{...Q,...q,client:W}),this.execution_order??=1,this.child_execution_order??=1,!this.dotted_order)this._serialized_start_time=Nq(this.start_time,this.execution_order);if(!this.id)this.id=h1(this._serialized_start_time??this.start_time);if(!this.trace_id)if(this.parent_run)this.trace_id=this.parent_run.trace_id??this.id;else this.trace_id=this.id;if(this.replicas=hZ(this.replicas),!this.dotted_order){let{dottedOrder:J}=d4(this.start_time,this.id,this.execution_order);if(this.parent_run)this.dotted_order=this.parent_run.dotted_order+"."+J;else this.dotted_order=J}}set metadata($){this.extra={...this.extra,metadata:{...this.extra?.metadata,...$}}}get metadata(){return this.extra?.metadata}static getDefaultConfig(){let $=Date.now();return{run_type:"chain",project_name:n$(),child_runs:[],api_url:M0("LANGCHAIN_ENDPOINT")??"http://localhost:1984",api_key:M0("LANGCHAIN_API_KEY"),caller_options:{},start_time:$,serialized:{},inputs:{},extra:{}}}static getSharedClient(){if(!Y0.sharedClient)Y0.sharedClient=new K$;return Y0.sharedClient}createChild($){let Q=this.child_execution_order+1,Y=this.replicas?.map((K)=>{let{reroot:w,...X}=K;return X}),q=$.replicas??Y,W=new Y0({...$,parent_run:this,project_name:this.project_name,replicas:q,client:this.client,tracingEnabled:this.tracingEnabled,execution_order:Q,child_execution_order:Q});if(r0 in this)W[r0]=this[r0];let Z=Symbol.for("lc:child_config"),J=$.extra?.[Z]??this.extra[Z];if(fZ(J)){let K={...J},w=kZ(K.callbacks)?K.callbacks.copy?.():void 0;if(w)Object.assign(w,{_parentRunId:W.id}),w.handlers?.find(Vq)?.updateFromRunTree?.(W),K.callbacks=w;W.extra[Z]=K}let G=new Set,z=this;while(z!=null&&!G.has(z.id))G.add(z.id),z.child_execution_order=Math.max(z.child_execution_order,Q),z=z.parent_run;return this.child_runs.push(W),W}async end($,Q,Y=Date.now(),q){if(this.outputs=this.outputs??$,this.error=this.error??Q,this.end_time=this.end_time??Y,q&&Object.keys(q).length>0)this.extra=this.extra?{...this.extra,metadata:{...this.extra.metadata,...q}}:{metadata:q}}_convertToCreate($,Q,Y=!0){let q=$.extra??{};if(q?.runtime?.library===void 0){if(!q.runtime)q.runtime={};if(Q){for(let[J,G]of Object.entries(Q))if(!q.runtime[J])q.runtime[J]=G}}let W,Z;if(!Y)W=$.child_runs.map((J)=>this._convertToCreate(J,Q,Y)),Z=void 0;else Z=$.parent_run?.id??$.parent_run_id,W=[];return{id:$.id,name:$.name,start_time:$._serialized_start_time??$.start_time,end_time:$.end_time,run_type:$.run_type,reference_example_id:$.reference_example_id,extra:q,serialized:$.serialized,error:$.error,inputs:$.inputs,outputs:$.outputs,session_name:$.project_name,child_runs:W,parent_run_id:Z,trace_id:$.trace_id,dotted_order:$.dotted_order,tags:$.tags,attachments:$.attachments,events:$.events}}_sliceParentId($,Q){if(Q.dotted_order){let Y=Q.dotted_order.split("."),q=null;for(let W=0;W<Y.length;W++)if(Y[W].slice(-$1)===$){q=W;break}if(q!==null){let W=Y.slice(q+1);if(Q.dotted_order=W.join("."),W.length>0)Q.trace_id=W[0].slice(-$1);else Q.trace_id=Q.id}}if(Q.parent_run_id===$)Q.parent_run_id=void 0}_setReplicaTraceRoot($,Q){let Y=m4(this,$9)??{};Y[$]=Q,Kq(this,$9,Y);for(let q of this.child_runs)q._setReplicaTraceRoot($,Q)}_remapForProject($){let{projectName:Q,runtimeEnv:Y,excludeChildRuns:q=!0,reroot:W=!1,distributedParentId:Z,apiUrl:J,apiKey:G,workspaceId:z}=$,K=this._convertToCreate(this,Y,q);if(Q===this.project_name)return{...K,session_name:Q};if(W){if(Z)this._sliceParentId(Z,K);else if(K.parent_run_id=void 0,K.dotted_order){let _=K.dotted_order.split(".");if(_.length>0)K.dotted_order=_[_.length-1],K.trace_id=K.id}let H=wq({projectName:Q,apiUrl:J,apiKey:G,workspaceId:z});this._setReplicaTraceRoot(H,K.id)}let w;if(!W){let H=m4(this,$9)??{},_=wq({projectName:Q,apiUrl:J,apiKey:G,workspaceId:z});if(w=H[_],w){if(K.trace_id=w,K.dotted_order){let D=K.dotted_order.split("."),x=null;for(let R=0;R<D.length;R++)if(D[R].slice(-$1)===w){x=R;break}if(x!==null){let R=D.slice(x);K.dotted_order=R.join(".")}}}}let X=K.id,U=a$(X,Q),N;if(K.trace_id)N=a$(K.trace_id,Q);else N=U;let F;if(K.parent_run_id)F=a$(K.parent_run_id,Q);let A;if(K.dotted_order)A=K.dotted_order.split(".").map((D)=>{let x=D.slice(-$1),R=a$(x,Q);return D.slice(0,-$1)+R}).join(".");return{...K,id:U,trace_id:N,parent_run_id:F,dotted_order:A,session_name:Q}}async postRun($=!0){if(this._awaitInputsOnPost)this.inputs=await this.inputs;try{let Q=d1();if(this.replicas&&this.replicas.length>0)for(let{projectName:Y,apiKey:q,apiUrl:W,workspaceId:Z,reroot:J}of this.replicas){let G=this._remapForProject({projectName:Y??this.project_name,runtimeEnv:Q,excludeChildRuns:!0,reroot:J,distributedParentId:this.distributedParentId,apiUrl:W,apiKey:q,workspaceId:Z});await this.client.createRun(G,{apiKey:q,apiUrl:W,workspaceId:Z})}else{let Y=this._convertToCreate(this,Q,$);await this.client.createRun(Y)}if(!$){M$("Posting with excludeChildRuns=false is deprecated and will be removed in a future version.");for(let Y of this.child_runs)await Y.postRun(!1)}this.child_runs=[]}catch(Q){console.error(`Error in postRun for run ${this.id}:`,Q)}}async patchRun($){if(this.replicas&&this.replicas.length>0)for(let{projectName:Q,apiKey:Y,apiUrl:q,workspaceId:W,updates:Z,reroot:J}of this.replicas){let G=this._remapForProject({projectName:Q??this.project_name,runtimeEnv:void 0,excludeChildRuns:!0,reroot:J,distributedParentId:this.distributedParentId,apiUrl:q,apiKey:Y,workspaceId:W}),z={id:G.id,name:G.name,run_type:G.run_type,start_time:G.start_time,outputs:G.outputs,error:G.error,parent_run_id:G.parent_run_id,session_name:G.session_name,reference_example_id:G.reference_example_id,end_time:G.end_time,dotted_order:G.dotted_order,trace_id:G.trace_id,events:G.events,tags:G.tags,extra:G.extra,attachments:this.attachments,...Z};if(!$?.excludeInputs)z.inputs=G.inputs;await this.client.updateRun(G.id,z,{apiKey:Y,apiUrl:q,workspaceId:W})}else try{let Q={name:this.name,run_type:this.run_type,start_time:this._serialized_start_time??this.start_time,end_time:this.end_time,error:this.error,outputs:this.outputs,parent_run_id:this.parent_run?.id??this.parent_run_id,reference_example_id:this.reference_example_id,extra:this.extra,events:this.events,dotted_order:this.dotted_order,trace_id:this.trace_id,tags:this.tags,attachments:this.attachments,session_name:this.project_name};if(!$?.excludeInputs)Q.inputs=this.inputs;await this.client.updateRun(this.id,Q)}catch(Q){console.error(`Error in patchRun for run ${this.id}`,Q)}this.child_runs=[]}toJSON(){return this._convertToCreate(this,void 0,!1)}addEvent($){if(!this.events)this.events=[];if(typeof $==="string")this.events.push({name:"event",time:new Date().toISOString(),message:$});else this.events.push({...$,time:$.time??new Date().toISOString()})}static fromRunnableConfig($,Q){let Y=$?.callbacks,q,W,Z,J=zq();if(Y){let z=Y?.getParentRunId?.()??"",K=Y?.handlers?.find((w)=>w?.name=="langchain_tracer");q=K?.getRun?.(z),W=K?.projectName,Z=K?.client,J=J||!!K}if(!q)return new Y0({...Q,client:Z,tracingEnabled:J,project_name:W});return new Y0({name:q.name,id:q.id,trace_id:q.trace_id,dotted_order:q.dotted_order,client:Z,tracingEnabled:J,project_name:W,tags:[...new Set((q?.tags??[]).concat($?.tags??[]))],extra:{metadata:{...q?.extra?.metadata,...$?.metadata}}}).createChild(Q)}static fromDottedOrder($){return this.fromHeaders({"langsmith-trace":$})}static fromHeaders($,Q){let Y="get"in $&&typeof $.get==="function"?{"langsmith-trace":$.get("langsmith-trace"),baggage:$.get("baggage")}:$,q=Y["langsmith-trace"];if(!q||typeof q!=="string")return;let W=q.trim(),Z=W.split(".").map((K)=>{let[w,X]=K.split("Z");return{strTime:w,time:Date.parse(w+"Z"),uuid:X}}),J=Z[0].uuid,G={...Q,name:Q?.name??"parent",run_type:Q?.run_type??"chain",start_time:Q?.start_time??Date.now(),id:Z.at(-1)?.uuid,trace_id:J,dotted_order:W};if(Y.baggage&&typeof Y.baggage==="string"){let K=Q9.fromHeader(Y.baggage);G.metadata=K.metadata,G.tags=K.tags,G.project_name=K.project_name,G.replicas=K.replicas}let z=new Y0(G);return z.distributedParentId=z.id,z}toHeaders($){let Q={"langsmith-trace":this.dotted_order,baggage:new Q9(this.extra?.metadata,this.tags,this.project_name,this.replicas).toHeader()};if($)for(let[Y,q]of Object.entries(Q))$.set(Y,q);return Q}}Object.defineProperty(Y0,"sharedClient",{enumerable:!0,configurable:!0,writable:!0,value:null});function Bq($){return $!=null&&typeof $.createChild==="function"&&typeof $.postRun==="function"}function Vq($){return typeof $==="object"&&$!=null&&typeof $.name==="string"&&$.name==="langchain_tracer"}function Xq($){return Array.isArray($)&&$.some((Q)=>Vq(Q))}function kZ($){return typeof $==="object"&&$!=null&&Array.isArray($.handlers)}function fZ($){let Q=$?.callbacks;return $!=null&&typeof Q==="object"&&(Xq(Q?.handlers)||Xq(Q))}function bZ(){let $=M0("LANGSMITH_RUNS_ENDPOINTS");if(!$)return[];try{let Q=JSON.parse($);if(Array.isArray(Q)){let Y=[];for(let q of Q){if(typeof q!=="object"||q===null){console.warn(`Invalid item type in LANGSMITH_RUNS_ENDPOINTS: expected object, got ${typeof q}`);continue}if(typeof q.api_url!=="string"){console.warn(`Invalid api_url type in LANGSMITH_RUNS_ENDPOINTS: expected string, got ${typeof q.api_url}`);continue}if(typeof q.api_key!=="string"){console.warn(`Invalid api_key type in LANGSMITH_RUNS_ENDPOINTS: expected string, got ${typeof q.api_key}`);continue}Y.push({apiUrl:q.api_url.replace(/\/$/,""),apiKey:q.api_key})}return Y}else if(typeof Q==="object"&&Q!==null){gZ(Q);let Y=[];for(let[q,W]of Object.entries(Q)){let Z=q.replace(/\/$/,"");if(typeof W==="string")Y.push({apiUrl:Z,apiKey:W});else{console.warn(`Invalid value type in LANGSMITH_RUNS_ENDPOINTS for URL ${q}: expected string, got ${typeof W}`);continue}}return Y}else return console.warn("Invalid LANGSMITH_RUNS_ENDPOINTS – must be valid JSON array of "+`objects with api_url and api_key properties, or object mapping url->apiKey, got ${typeof Q}`),[]}catch(Q){if(eY(Q))throw Q;return console.warn("Invalid LANGSMITH_RUNS_ENDPOINTS – must be valid JSON array of "+"objects with api_url and api_key properties, or object mapping url->apiKey"),[]}}function hZ($){if($)return $.map((Q)=>{if(Array.isArray(Q))return{projectName:Q[0],updates:Q[1]};return Q});return bZ()}function gZ($){if(Object.keys($).length>0&&e("ENDPOINT"))throw new b4}var Nw=j({BaseTracer:()=>f0,isBaseTracer:()=>x$}),mZ=($)=>{if(!$)return;return $.events=$.events??[],$.child_runs=$.child_runs??[],$};function u4($,Q){if(!$)return;return new Y0({...$,start_time:$._serialized_start_time??$.start_time,parent_run:u4(Q),child_runs:$.child_runs.map((Y)=>u4(Y)).filter((Y)=>Y!==void 0),extra:{...$.extra,runtime:w4()},tracingEnabled:!1})}function p4($,Q){return $&&!Array.isArray($)&&typeof $==="object"?$:{[Q]:$}}function x$($){return typeof $._addRunToRunMap==="function"}var f0=class extends _${runMap=new Map;runTreeMap=new Map;usesRunTreeMap=!1;constructor($){super(...arguments)}copy(){return this}getRunById($){if($===void 0)return;return this.usesRunTreeMap?mZ(this.runTreeMap.get($)):this.runMap.get($)}stringifyError($){if($ instanceof Error)return $.message+($?.stack?`
|
|
50
|
+
|
|
51
|
+
${$.stack}`:"");if(typeof $==="string")return $;return`${$}`}_addChildRun($,Q){$.child_runs.push(Q)}_addRunToRunMap($){let{dottedOrder:Q,microsecondPrecisionDatestring:Y}=d4(new Date($.start_time).getTime(),$.id,$.execution_order),q={...$},W=this.getRunById(q.parent_run_id);if(q.parent_run_id!==void 0)if(W){if(this._addChildRun(W,q),W.child_execution_order=Math.max(W.child_execution_order,q.child_execution_order),q.trace_id=W.trace_id,W.dotted_order!==void 0)q.dotted_order=[W.dotted_order,Q].join("."),q._serialized_start_time=Y}else q.parent_run_id=void 0;else q.trace_id=q.id,q.dotted_order=Q,q._serialized_start_time=Y;if(this.usesRunTreeMap){let Z=u4(q,W);if(Z!==void 0)this.runTreeMap.set(q.id,Z)}else this.runMap.set(q.id,q);return q}async _endTrace($){let Q=$.parent_run_id!==void 0&&this.getRunById($.parent_run_id);if(Q)Q.child_execution_order=Math.max(Q.child_execution_order,$.child_execution_order);else await this.persistRun($);if(await this.onRunUpdate?.($),this.usesRunTreeMap)this.runTreeMap.delete($.id);else this.runMap.delete($.id)}_getExecutionOrder($){let Q=$!==void 0&&this.getRunById($);if(!Q)return 1;return Q.child_execution_order+1}_createRunForLLMStart($,Q,Y,q,W,Z,J,G){let z=this._getExecutionOrder(q),K=Date.now(),w=J?{...W,metadata:J}:W,X={id:Y,name:G??$.id[$.id.length-1],parent_run_id:q,start_time:K,serialized:$,events:[{name:"start",time:new Date(K).toISOString()}],inputs:{prompts:Q},execution_order:z,child_runs:[],child_execution_order:z,run_type:"llm",extra:w??{},tags:Z||[]};return this._addRunToRunMap(X)}async handleLLMStart($,Q,Y,q,W,Z,J,G){let z=this.getRunById(Y)??this._createRunForLLMStart($,Q,Y,q,W,Z,J,G);return await this.onRunCreate?.(z),await this.onLLMStart?.(z),z}_createRunForChatModelStart($,Q,Y,q,W,Z,J,G){let z=this._getExecutionOrder(q),K=Date.now(),w=J?{...W,metadata:J}:W,X={id:Y,name:G??$.id[$.id.length-1],parent_run_id:q,start_time:K,serialized:$,events:[{name:"start",time:new Date(K).toISOString()}],inputs:{messages:Q},execution_order:z,child_runs:[],child_execution_order:z,run_type:"llm",extra:w??{},tags:Z||[]};return this._addRunToRunMap(X)}async handleChatModelStart($,Q,Y,q,W,Z,J,G){let z=this.getRunById(Y)??this._createRunForChatModelStart($,Q,Y,q,W,Z,J,G);return await this.onRunCreate?.(z),await this.onLLMStart?.(z),z}async handleLLMEnd($,Q,Y,q,W){let Z=this.getRunById(Q);if(!Z||Z?.run_type!=="llm")throw Error("No LLM run to end.");return Z.end_time=Date.now(),Z.outputs=$,Z.events.push({name:"end",time:new Date(Z.end_time).toISOString()}),Z.extra={...Z.extra,...W},await this.onLLMEnd?.(Z),await this._endTrace(Z),Z}async handleLLMError($,Q,Y,q,W){let Z=this.getRunById(Q);if(!Z||Z?.run_type!=="llm")throw Error("No LLM run to end.");return Z.end_time=Date.now(),Z.error=this.stringifyError($),Z.events.push({name:"error",time:new Date(Z.end_time).toISOString()}),Z.extra={...Z.extra,...W},await this.onLLMError?.(Z),await this._endTrace(Z),Z}_createRunForChainStart($,Q,Y,q,W,Z,J,G,z){let K=this._getExecutionOrder(q),w=Date.now(),X={id:Y,name:G??$.id[$.id.length-1],parent_run_id:q,start_time:w,serialized:$,events:[{name:"start",time:new Date(w).toISOString()}],inputs:Q,execution_order:K,child_execution_order:K,run_type:J??"chain",child_runs:[],extra:Z?{...z,metadata:Z}:{...z},tags:W||[]};return this._addRunToRunMap(X)}async handleChainStart($,Q,Y,q,W,Z,J,G){let z=this.getRunById(Y)??this._createRunForChainStart($,Q,Y,q,W,Z,J,G);return await this.onRunCreate?.(z),await this.onChainStart?.(z),z}async handleChainEnd($,Q,Y,q,W){let Z=this.getRunById(Q);if(!Z)throw Error("No chain run to end.");if(Z.end_time=Date.now(),Z.outputs=p4($,"output"),Z.events.push({name:"end",time:new Date(Z.end_time).toISOString()}),W?.inputs!==void 0)Z.inputs=p4(W.inputs,"input");return await this.onChainEnd?.(Z),await this._endTrace(Z),Z}async handleChainError($,Q,Y,q,W){let Z=this.getRunById(Q);if(!Z)throw Error("No chain run to end.");if(Z.end_time=Date.now(),Z.error=this.stringifyError($),Z.events.push({name:"error",time:new Date(Z.end_time).toISOString()}),W?.inputs!==void 0)Z.inputs=p4(W.inputs,"input");return await this.onChainError?.(Z),await this._endTrace(Z),Z}_createRunForToolStart($,Q,Y,q,W,Z,J){let G=this._getExecutionOrder(q),z=Date.now(),K={id:Y,name:J??$.id[$.id.length-1],parent_run_id:q,start_time:z,serialized:$,events:[{name:"start",time:new Date(z).toISOString()}],inputs:{input:Q},execution_order:G,child_execution_order:G,run_type:"tool",child_runs:[],extra:Z?{metadata:Z}:{},tags:W||[]};return this._addRunToRunMap(K)}async handleToolStart($,Q,Y,q,W,Z,J){let G=this.getRunById(Y)??this._createRunForToolStart($,Q,Y,q,W,Z,J);return await this.onRunCreate?.(G),await this.onToolStart?.(G),G}async handleToolEnd($,Q){let Y=this.getRunById(Q);if(!Y||Y?.run_type!=="tool")throw Error("No tool run to end");return Y.end_time=Date.now(),Y.outputs={output:$},Y.events.push({name:"end",time:new Date(Y.end_time).toISOString()}),await this.onToolEnd?.(Y),await this._endTrace(Y),Y}async handleToolError($,Q){let Y=this.getRunById(Q);if(!Y||Y?.run_type!=="tool")throw Error("No tool run to end");return Y.end_time=Date.now(),Y.error=this.stringifyError($),Y.events.push({name:"error",time:new Date(Y.end_time).toISOString()}),await this.onToolError?.(Y),await this._endTrace(Y),Y}async handleAgentAction($,Q){let Y=this.getRunById(Q);if(!Y||Y?.run_type!=="chain")return;let q=Y;q.actions=q.actions||[],q.actions.push($),q.events.push({name:"agent_action",time:new Date().toISOString(),kwargs:{action:$}}),await this.onAgentAction?.(Y)}async handleAgentEnd($,Q){let Y=this.getRunById(Q);if(!Y||Y?.run_type!=="chain")return;Y.events.push({name:"agent_end",time:new Date().toISOString(),kwargs:{action:$}}),await this.onAgentEnd?.(Y)}_createRunForRetrieverStart($,Q,Y,q,W,Z,J){let G=this._getExecutionOrder(q),z=Date.now(),K={id:Y,name:J??$.id[$.id.length-1],parent_run_id:q,start_time:z,serialized:$,events:[{name:"start",time:new Date(z).toISOString()}],inputs:{query:Q},execution_order:G,child_execution_order:G,run_type:"retriever",child_runs:[],extra:Z?{metadata:Z}:{},tags:W||[]};return this._addRunToRunMap(K)}async handleRetrieverStart($,Q,Y,q,W,Z,J){let G=this.getRunById(Y)??this._createRunForRetrieverStart($,Q,Y,q,W,Z,J);return await this.onRunCreate?.(G),await this.onRetrieverStart?.(G),G}async handleRetrieverEnd($,Q){let Y=this.getRunById(Q);if(!Y||Y?.run_type!=="retriever")throw Error("No retriever run to end");return Y.end_time=Date.now(),Y.outputs={documents:$},Y.events.push({name:"end",time:new Date(Y.end_time).toISOString()}),await this.onRetrieverEnd?.(Y),await this._endTrace(Y),Y}async handleRetrieverError($,Q){let Y=this.getRunById(Q);if(!Y||Y?.run_type!=="retriever")throw Error("No retriever run to end");return Y.end_time=Date.now(),Y.error=this.stringifyError($),Y.events.push({name:"error",time:new Date(Y.end_time).toISOString()}),await this.onRetrieverError?.(Y),await this._endTrace(Y),Y}async handleText($,Q){let Y=this.getRunById(Q);if(!Y||Y?.run_type!=="chain")return;Y.events.push({name:"text",time:new Date().toISOString(),kwargs:{text:$}}),await this.onText?.(Y)}async handleLLMNewToken($,Q,Y,q,W,Z){let J=this.getRunById(Y);if(!J||J?.run_type!=="llm")throw Error('Invalid "runId" provided to "handleLLMNewToken" callback.');return J.events.push({name:"new_token",time:new Date().toISOString(),kwargs:{token:$,idx:Q,chunk:Z?.chunk}}),await this.onLLMNewToken?.(J,$,{chunk:Z?.chunk}),J}};var c4=Z$(Hq(),1),Hw=j({ConsoleCallbackHandler:()=>Y9});function N0($,Q){return`${$.open}${Q}${$.close}`}function x0($,Q){try{return JSON.stringify($,null,2)}catch{return Q}}function Oq($){if(typeof $==="string")return $.trim();if($===null||$===void 0)return $;return x0($,$.toString())}function X$($){if(!$.end_time)return"";let Q=$.end_time-$.start_time;if(Q<1000)return`${Q}ms`;return`${(Q/1000).toFixed(2)}s`}var{color:E0}=c4.default,Y9=class extends f0{name="console_callback_handler";persistRun($){return Promise.resolve()}getParents($){let Q=[],Y=$;while(Y.parent_run_id){let q=this.runMap.get(Y.parent_run_id);if(q)Q.push(q),Y=q;else break}return Q}getBreadcrumbs($){let Q=[...this.getParents($).reverse(),$].map((Y,q,W)=>{let Z=`${Y.execution_order}:${Y.run_type}:${Y.name}`;return q===W.length-1?N0(c4.default.bold,Z):Z}).join(" > ");return N0(E0.grey,Q)}onChainStart($){let Q=this.getBreadcrumbs($);console.log(`${N0(E0.green,"[chain/start]")} [${Q}] Entering Chain run with input: ${x0($.inputs,"[inputs]")}`)}onChainEnd($){let Q=this.getBreadcrumbs($);console.log(`${N0(E0.cyan,"[chain/end]")} [${Q}] [${X$($)}] Exiting Chain run with output: ${x0($.outputs,"[outputs]")}`)}onChainError($){let Q=this.getBreadcrumbs($);console.log(`${N0(E0.red,"[chain/error]")} [${Q}] [${X$($)}] Chain run errored with error: ${x0($.error,"[error]")}`)}onLLMStart($){let Q=this.getBreadcrumbs($),Y="prompts"in $.inputs?{prompts:$.inputs.prompts.map((q)=>q.trim())}:$.inputs;console.log(`${N0(E0.green,"[llm/start]")} [${Q}] Entering LLM run with input: ${x0(Y,"[inputs]")}`)}onLLMEnd($){let Q=this.getBreadcrumbs($);console.log(`${N0(E0.cyan,"[llm/end]")} [${Q}] [${X$($)}] Exiting LLM run with output: ${x0($.outputs,"[response]")}`)}onLLMError($){let Q=this.getBreadcrumbs($);console.log(`${N0(E0.red,"[llm/error]")} [${Q}] [${X$($)}] LLM run errored with error: ${x0($.error,"[error]")}`)}onToolStart($){let Q=this.getBreadcrumbs($);console.log(`${N0(E0.green,"[tool/start]")} [${Q}] Entering Tool run with input: "${Oq($.inputs.input)}"`)}onToolEnd($){let Q=this.getBreadcrumbs($);console.log(`${N0(E0.cyan,"[tool/end]")} [${Q}] [${X$($)}] Exiting Tool run with output: "${Oq($.outputs?.output)}"`)}onToolError($){let Q=this.getBreadcrumbs($);console.log(`${N0(E0.red,"[tool/error]")} [${Q}] [${X$($)}] Tool run errored with error: ${x0($.error,"[error]")}`)}onRetrieverStart($){let Q=this.getBreadcrumbs($);console.log(`${N0(E0.green,"[retriever/start]")} [${Q}] Entering Retriever run with input: ${x0($.inputs,"[inputs]")}`)}onRetrieverEnd($){let Q=this.getBreadcrumbs($);console.log(`${N0(E0.cyan,"[retriever/end]")} [${Q}] [${X$($)}] Exiting Retriever run with output: ${x0($.outputs,"[outputs]")}`)}onRetrieverError($){let Q=this.getBreadcrumbs($);console.log(`${N0(E0.red,"[retriever/error]")} [${Q}] [${X$($)}] Retriever run errored with error: ${x0($.error,"[error]")}`)}onAgentAction($){let Q=$,Y=this.getBreadcrumbs($);console.log(`${N0(E0.blue,"[agent/action]")} [${Y}] Agent selected action: ${x0(Q.actions[Q.actions.length-1],"[action]")}`)}};var l4,q9=()=>{if(l4===void 0)l4=new K$(k0("LANGCHAIN_CALLBACKS_BACKGROUND")==="false"?{blockOnRootRunFinalization:!0}:{});return l4};class Pq{getStore(){return}run($,Q){return Q()}}var i4=Symbol.for("ls:tracing_async_local_storage"),pZ=new Pq;class Eq{getInstance(){return globalThis[i4]??pZ}initializeGlobalInstance($){if(globalThis[i4]===void 0)globalThis[i4]=$}}var uZ=new Eq;function Sq($=!1){let Q=uZ.getInstance().getStore();if(!$&&Q===void 0)throw Error(`Could not get the current run tree.
|
|
52
|
+
|
|
53
|
+
Please make sure you are calling this method within a traceable function and that tracing is enabled.`);return Q}function W9($){return typeof $==="function"&&"langsmith:traceable"in $}var hw=j({LangChainTracer:()=>Z9});function cZ($){let Q=void 0;for(let Y of $)for(let q of Y)if(f$.isInstance(q.message)&&q.message.usage_metadata!==void 0)Q=L1(Q,q.message.usage_metadata);return Q}var Z9=class $ extends f0{name="langchain_tracer";projectName;exampleId;client;replicas;usesRunTreeMap=!0;constructor(Q={}){super(Q);let{exampleId:Y,projectName:q,client:W,replicas:Z}=Q;this.projectName=q??n$(),this.replicas=Z,this.exampleId=Y,this.client=W??q9();let J=$.getTraceableRunTree();if(J)this.updateFromRunTree(J)}async persistRun(Q){}async onRunCreate(Q){if(!Q.extra?.lc_defers_inputs)await this.getRunTreeWithTracingConfig(Q.id)?.postRun()}async onRunUpdate(Q){let Y=this.getRunTreeWithTracingConfig(Q.id);if(Q.extra?.lc_defers_inputs)await Y?.postRun();else await Y?.patchRun()}onLLMEnd(Q){let Y=Q.outputs;if(Y?.generations){let q=cZ(Y.generations);if(q!==void 0){Q.extra=Q.extra??{};let W=Q.extra.metadata??{};W.usage_metadata=q,Q.extra.metadata=W}}}getRun(Q){return this.runTreeMap.get(Q)}updateFromRunTree(Q){this.runTreeMap.set(Q.id,Q);let Y=Q,q=new Set;while(Y.parent_run){if(q.has(Y.id))break;if(q.add(Y.id),!Y.parent_run)break;Y=Y.parent_run}q.clear();let W=[Y];while(W.length>0){let Z=W.shift();if(!Z||q.has(Z.id))continue;if(q.add(Z.id),this.runTreeMap.set(Z.id,Z),Z.child_runs)W.push(...Z.child_runs)}this.client=Q.client??this.client,this.replicas=Q.replicas??this.replicas,this.projectName=Q.project_name??this.projectName,this.exampleId=Q.reference_example_id??this.exampleId}getRunTreeWithTracingConfig(Q){let Y=this.runTreeMap.get(Q);if(!Y)return;return new Y0({...Y,client:this.client,project_name:this.projectName,replicas:this.replicas,reference_example_id:this.exampleId,tracingEnabled:!0})}static getTraceableRunTree(){try{return Sq(!0)}catch{return}}};var Lq=Symbol.for("ls:tracing_async_local_storage"),U$=Symbol.for("lc:context_variables"),Tq=($)=>{globalThis[Lq]=$},N$=()=>{return globalThis[Lq]};var J9=Z$(t1(),1),I$;function lZ(){return new("default"in J9.default?J9.default.default:J9.default)({autoStart:!0,concurrency:1})}function iZ(){if(typeof I$>"u")I$=lZ();return I$}async function r($,Q){if(Q===!0){let Y=N$();if(Y!==void 0)await Y.run(void 0,async()=>$());else await $()}else I$=iZ(),I$.add(async()=>{let Y=N$();if(Y!==void 0)await Y.run(void 0,async()=>$());else await $()})}async function _q(){let $=q9();await Promise.allSettled([typeof I$<"u"?I$.onIdle():Promise.resolve(),$.awaitPendingTraceBatches()])}var iw=j({awaitAllCallbacks:()=>_q,consumeCallback:()=>r});var Mq=($)=>{if($!==void 0)return $;return!!["LANGSMITH_TRACING_V2","LANGCHAIN_TRACING_V2","LANGSMITH_TRACING","LANGCHAIN_TRACING"].find((Q)=>k0(Q)==="true")};function s4($){let Q=N$();if(Q===void 0)return;return Q.getStore()?.[U$]?.[$]}var sZ=Symbol("lc:configure_hooks"),Rq=()=>s4(sZ)||[];T$();var XX=j({BaseCallbackManager:()=>xq,BaseRunManager:()=>Y1,CallbackManager:()=>b0,CallbackManagerForChainRun:()=>jq,CallbackManagerForLLMRun:()=>t4,CallbackManagerForRetrieverRun:()=>Iq,CallbackManagerForToolRun:()=>vq,ensureHandler:()=>u$,parseCallbackConfigArg:()=>Q1});function Q1($){if(!$)return{};else if(Array.isArray($)||"name"in $)return{callbacks:$};else return $}var xq=class{setHandler($){return this.setHandlers([$])}},Y1=class{constructor($,Q,Y,q,W,Z,J,G){this.runId=$,this.handlers=Q,this.inheritableHandlers=Y,this.tags=q,this.inheritableTags=W,this.metadata=Z,this.inheritableMetadata=J,this._parentRunId=G}get parentRunId(){return this._parentRunId}async handleText($){await Promise.all(this.handlers.map((Q)=>r(async()=>{try{await Q.handleText?.($,this.runId,this._parentRunId,this.tags)}catch(Y){if((Q.raiseError?console.error:console.warn)(`Error in handler ${Q.constructor.name}, handleText: ${Y}`),Q.raiseError)throw Y}},Q.awaitHandlers)))}async handleCustomEvent($,Q,Y,q,W){await Promise.all(this.handlers.map((Z)=>r(async()=>{try{await Z.handleCustomEvent?.($,Q,this.runId,this.tags,this.metadata)}catch(J){if((Z.raiseError?console.error:console.warn)(`Error in handler ${Z.constructor.name}, handleCustomEvent: ${J}`),Z.raiseError)throw J}},Z.awaitHandlers)))}},Iq=class extends Y1{getChild($){let Q=new b0(this.runId);if(Q.setHandlers(this.inheritableHandlers),Q.addTags(this.inheritableTags),Q.addMetadata(this.inheritableMetadata),$)Q.addTags([$],!1);return Q}async handleRetrieverEnd($){await Promise.all(this.handlers.map((Q)=>r(async()=>{if(!Q.ignoreRetriever)try{await Q.handleRetrieverEnd?.($,this.runId,this._parentRunId,this.tags)}catch(Y){if((Q.raiseError?console.error:console.warn)(`Error in handler ${Q.constructor.name}, handleRetriever`),Q.raiseError)throw Y}},Q.awaitHandlers)))}async handleRetrieverError($){await Promise.all(this.handlers.map((Q)=>r(async()=>{if(!Q.ignoreRetriever)try{await Q.handleRetrieverError?.($,this.runId,this._parentRunId,this.tags)}catch(Y){if((Q.raiseError?console.error:console.warn)(`Error in handler ${Q.constructor.name}, handleRetrieverError: ${Y}`),Q.raiseError)throw $}},Q.awaitHandlers)))}},t4=class extends Y1{async handleLLMNewToken($,Q,Y,q,W,Z){await Promise.all(this.handlers.map((J)=>r(async()=>{if(!J.ignoreLLM)try{await J.handleLLMNewToken?.($,Q??{prompt:0,completion:0},this.runId,this._parentRunId,this.tags,Z)}catch(G){if((J.raiseError?console.error:console.warn)(`Error in handler ${J.constructor.name}, handleLLMNewToken: ${G}`),J.raiseError)throw G}},J.awaitHandlers)))}async handleLLMError($,Q,Y,q,W){await Promise.all(this.handlers.map((Z)=>r(async()=>{if(!Z.ignoreLLM)try{await Z.handleLLMError?.($,this.runId,this._parentRunId,this.tags,W)}catch(J){if((Z.raiseError?console.error:console.warn)(`Error in handler ${Z.constructor.name}, handleLLMError: ${J}`),Z.raiseError)throw J}},Z.awaitHandlers)))}async handleLLMEnd($,Q,Y,q,W){await Promise.all(this.handlers.map((Z)=>r(async()=>{if(!Z.ignoreLLM)try{await Z.handleLLMEnd?.($,this.runId,this._parentRunId,this.tags,W)}catch(J){if((Z.raiseError?console.error:console.warn)(`Error in handler ${Z.constructor.name}, handleLLMEnd: ${J}`),Z.raiseError)throw J}},Z.awaitHandlers)))}},jq=class extends Y1{getChild($){let Q=new b0(this.runId);if(Q.setHandlers(this.inheritableHandlers),Q.addTags(this.inheritableTags),Q.addMetadata(this.inheritableMetadata),$)Q.addTags([$],!1);return Q}async handleChainError($,Q,Y,q,W){await Promise.all(this.handlers.map((Z)=>r(async()=>{if(!Z.ignoreChain)try{await Z.handleChainError?.($,this.runId,this._parentRunId,this.tags,W)}catch(J){if((Z.raiseError?console.error:console.warn)(`Error in handler ${Z.constructor.name}, handleChainError: ${J}`),Z.raiseError)throw J}},Z.awaitHandlers)))}async handleChainEnd($,Q,Y,q,W){await Promise.all(this.handlers.map((Z)=>r(async()=>{if(!Z.ignoreChain)try{await Z.handleChainEnd?.($,this.runId,this._parentRunId,this.tags,W)}catch(J){if((Z.raiseError?console.error:console.warn)(`Error in handler ${Z.constructor.name}, handleChainEnd: ${J}`),Z.raiseError)throw J}},Z.awaitHandlers)))}async handleAgentAction($){await Promise.all(this.handlers.map((Q)=>r(async()=>{if(!Q.ignoreAgent)try{await Q.handleAgentAction?.($,this.runId,this._parentRunId,this.tags)}catch(Y){if((Q.raiseError?console.error:console.warn)(`Error in handler ${Q.constructor.name}, handleAgentAction: ${Y}`),Q.raiseError)throw Y}},Q.awaitHandlers)))}async handleAgentEnd($){await Promise.all(this.handlers.map((Q)=>r(async()=>{if(!Q.ignoreAgent)try{await Q.handleAgentEnd?.($,this.runId,this._parentRunId,this.tags)}catch(Y){if((Q.raiseError?console.error:console.warn)(`Error in handler ${Q.constructor.name}, handleAgentEnd: ${Y}`),Q.raiseError)throw Y}},Q.awaitHandlers)))}},vq=class extends Y1{getChild($){let Q=new b0(this.runId);if(Q.setHandlers(this.inheritableHandlers),Q.addTags(this.inheritableTags),Q.addMetadata(this.inheritableMetadata),$)Q.addTags([$],!1);return Q}async handleToolError($){await Promise.all(this.handlers.map((Q)=>r(async()=>{if(!Q.ignoreAgent)try{await Q.handleToolError?.($,this.runId,this._parentRunId,this.tags)}catch(Y){if((Q.raiseError?console.error:console.warn)(`Error in handler ${Q.constructor.name}, handleToolError: ${Y}`),Q.raiseError)throw Y}},Q.awaitHandlers)))}async handleToolEvent($){await Promise.all(this.handlers.map((Q)=>r(async()=>{if(!Q.ignoreAgent)try{await Q.handleToolEvent?.($,this.runId,this._parentRunId,this.tags)}catch(Y){if(Q.raiseError)throw Y}},Q.awaitHandlers)))}async handleToolEnd($){await Promise.all(this.handlers.map((Q)=>r(async()=>{if(!Q.ignoreAgent)try{await Q.handleToolEnd?.($,this.runId,this._parentRunId,this.tags)}catch(Y){if((Q.raiseError?console.error:console.warn)(`Error in handler ${Q.constructor.name}, handleToolEnd: ${Y}`),Q.raiseError)throw Y}},Q.awaitHandlers)))}},b0=class $ extends xq{handlers=[];inheritableHandlers=[];tags=[];inheritableTags=[];metadata={};inheritableMetadata={};name="callback_manager";_parentRunId;constructor(Q,Y){super();this.handlers=Y?.handlers??this.handlers,this.inheritableHandlers=Y?.inheritableHandlers??this.inheritableHandlers,this.tags=Y?.tags??this.tags,this.inheritableTags=Y?.inheritableTags??this.inheritableTags,this.metadata=Y?.metadata??this.metadata,this.inheritableMetadata=Y?.inheritableMetadata??this.inheritableMetadata,this._parentRunId=Q}getParentRunId(){return this._parentRunId}async handleLLMStart(Q,Y,q=void 0,W=void 0,Z=void 0,J=void 0,G=void 0,z=void 0){return Promise.all(Y.map(async(K,w)=>{let X=w===0&&q?q:_0();return await Promise.all(this.handlers.map((U)=>{if(U.ignoreLLM)return;if(x$(U))U._createRunForLLMStart(Q,[K],X,this._parentRunId,Z,this.tags,this.metadata,z);return r(async()=>{try{await U.handleLLMStart?.(Q,[K],X,this._parentRunId,Z,this.tags,this.metadata,z)}catch(N){if((U.raiseError?console.error:console.warn)(`Error in handler ${U.constructor.name}, handleLLMStart: ${N}`),U.raiseError)throw N}},U.awaitHandlers)})),new t4(X,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}))}async handleChatModelStart(Q,Y,q=void 0,W=void 0,Z=void 0,J=void 0,G=void 0,z=void 0){return Promise.all(Y.map(async(K,w)=>{let X=w===0&&q?q:_0();return await Promise.all(this.handlers.map((U)=>{if(U.ignoreLLM)return;if(x$(U))U._createRunForChatModelStart(Q,[K],X,this._parentRunId,Z,this.tags,this.metadata,z);return r(async()=>{try{if(U.handleChatModelStart)await U.handleChatModelStart?.(Q,[K],X,this._parentRunId,Z,this.tags,this.metadata,z);else if(U.handleLLMStart){let N=M1(K);await U.handleLLMStart?.(Q,[N],X,this._parentRunId,Z,this.tags,this.metadata,z)}}catch(N){if((U.raiseError?console.error:console.warn)(`Error in handler ${U.constructor.name}, handleLLMStart: ${N}`),U.raiseError)throw N}},U.awaitHandlers)})),new t4(X,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}))}async handleChainStart(Q,Y,q=_0(),W=void 0,Z=void 0,J=void 0,G=void 0,z=void 0,K=void 0){return await Promise.all(this.handlers.map((w)=>{if(w.ignoreChain)return;if(x$(w))w._createRunForChainStart(Q,Y,q,this._parentRunId,this.tags,this.metadata,W,G,K);return r(async()=>{try{await w.handleChainStart?.(Q,Y,q,this._parentRunId,this.tags,this.metadata,W,G,K)}catch(X){if((w.raiseError?console.error:console.warn)(`Error in handler ${w.constructor.name}, handleChainStart: ${X}`),w.raiseError)throw X}},w.awaitHandlers)})),new jq(q,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}async handleToolStart(Q,Y,q=_0(),W=void 0,Z=void 0,J=void 0,G=void 0,z=void 0){return await Promise.all(this.handlers.map((K)=>{if(K.ignoreAgent)return;if(x$(K))K._createRunForToolStart(Q,Y,q,this._parentRunId,this.tags,this.metadata,G);return r(async()=>{try{await K.handleToolStart?.(Q,Y,q,this._parentRunId,this.tags,this.metadata,G,z)}catch(w){if((K.raiseError?console.error:console.warn)(`Error in handler ${K.constructor.name}, handleToolStart: ${w}`),K.raiseError)throw w}},K.awaitHandlers)})),new vq(q,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}async handleRetrieverStart(Q,Y,q=_0(),W=void 0,Z=void 0,J=void 0,G=void 0){return await Promise.all(this.handlers.map((z)=>{if(z.ignoreRetriever)return;if(x$(z))z._createRunForRetrieverStart(Q,Y,q,this._parentRunId,this.tags,this.metadata,G);return r(async()=>{try{await z.handleRetrieverStart?.(Q,Y,q,this._parentRunId,this.tags,this.metadata,G)}catch(K){if((z.raiseError?console.error:console.warn)(`Error in handler ${z.constructor.name}, handleRetrieverStart: ${K}`),z.raiseError)throw K}},z.awaitHandlers)})),new Iq(q,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}async handleCustomEvent(Q,Y,q,W,Z){await Promise.all(this.handlers.map((J)=>r(async()=>{if(!J.ignoreCustomEvent)try{await J.handleCustomEvent?.(Q,Y,q,this.tags,this.metadata)}catch(G){if((J.raiseError?console.error:console.warn)(`Error in handler ${J.constructor.name}, handleCustomEvent: ${G}`),J.raiseError)throw G}},J.awaitHandlers)))}addHandler(Q,Y=!0){if(this.handlers.push(Q),Y)this.inheritableHandlers.push(Q)}removeHandler(Q){this.handlers=this.handlers.filter((Y)=>Y!==Q),this.inheritableHandlers=this.inheritableHandlers.filter((Y)=>Y!==Q)}setHandlers(Q,Y=!0){this.handlers=[],this.inheritableHandlers=[];for(let q of Q)this.addHandler(q,Y)}addTags(Q,Y=!0){if(this.removeTags(Q),this.tags.push(...Q),Y)this.inheritableTags.push(...Q)}removeTags(Q){this.tags=this.tags.filter((Y)=>!Q.includes(Y)),this.inheritableTags=this.inheritableTags.filter((Y)=>!Q.includes(Y))}addMetadata(Q,Y=!0){if(this.metadata={...this.metadata,...Q},Y)this.inheritableMetadata={...this.inheritableMetadata,...Q}}removeMetadata(Q){for(let Y of Object.keys(Q))delete this.metadata[Y],delete this.inheritableMetadata[Y]}copy(Q=[],Y=!0){let q=new $(this._parentRunId);for(let W of this.handlers){let Z=this.inheritableHandlers.includes(W);q.addHandler(W,Z)}for(let W of this.tags){let Z=this.inheritableTags.includes(W);q.addTags([W],Z)}for(let W of Object.keys(this.metadata)){let Z=Object.keys(this.inheritableMetadata).includes(W);q.addMetadata({[W]:this.metadata[W]},Z)}for(let W of Q){if(q.handlers.filter((Z)=>Z.name==="console_callback_handler").some((Z)=>Z.name===W.name))continue;q.addHandler(W,Y)}return q}static fromHandlers(Q){class Y extends _${name=_0();constructor(){super();Object.assign(this,Q)}}let q=new this;return q.addHandler(new Y),q}static configure(Q,Y,q,W,Z,J,G){return this._configureSync(Q,Y,q,W,Z,J,G)}static _configureSync(Q,Y,q,W,Z,J,G){let z;if(Q||Y){if(Array.isArray(Q)||!Q)z=new $,z.setHandlers(Q?.map(u$)??[],!0);else z=Q;z=z.copy(Array.isArray(Y)?Y.map(u$):Y?.handlers,!1)}let K=k0("LANGCHAIN_VERBOSE")==="true"||G?.verbose,w=Z9.getTraceableRunTree(),X=w?.tracingEnabled??Mq();if(w?.tracingEnabled===!1&&z){let N=z.handlers.filter((F)=>F.name==="langchain_tracer");for(let F of N)z.removeHandler(F)}let U=X||(k0("LANGCHAIN_TRACING")??!1);if(K||U){if(!z)z=new $;if(K&&!z.handlers.some((N)=>N.name===Y9.prototype.name)){let N=new Y9;z.addHandler(N,!0)}if(U&&!z.handlers.some((N)=>N.name==="langchain_tracer")){if(X){let N=new Z9;z.addHandler(N,!0)}}if(X){if(w&&z._parentRunId===void 0)z._parentRunId=w.id,z.handlers.find((N)=>N.name==="langchain_tracer")?.updateFromRunTree(w)}}for(let{contextVar:N,inheritable:F=!0,handlerClass:A,envVar:H}of Rq()){let _=H&&k0(H)==="true"&&A,D,x=N!==void 0?s4(N):void 0;if(x&&X4(x))D=x;else if(_)D=new A({});if(D!==void 0){if(!z)z=new $;if(!z.handlers.some((R)=>R.name===D.name))z.addHandler(D,F)}}if(q||W){if(z)z.addTags(q??[]),z.addTags(W??[],!1)}if(Z||J){if(z)z.addMetadata(Z??{}),z.addMetadata(J??{},!1)}return z}};function u$($){if("name"in $)return $;return _$.fromMethods($)}var o4=class{getStore(){}run($,Q){return Q()}enterWith($){}},tZ=new o4,yq=Symbol.for("lc:child_config"),oZ=class{getInstance(){return N$()??tZ}getRunnableConfig(){return this.getInstance().getStore()?.extra?.[yq]}runWithConfig($,Q,Y){let q=b0._configureSync($?.callbacks,void 0,$?.tags,void 0,$?.metadata),W=this.getInstance(),Z=W.getStore(),J=q?.getParentRunId(),G=q?.handlers?.find((K)=>K?.name==="langchain_tracer"),z;if(G&&J)z=G.getRunTreeWithTracingConfig(J);else if(!Y)z=new Y0({name:"<runnable_lambda>",tracingEnabled:!1});if(z)z.extra={...z.extra,[yq]:$};if(Z!==void 0&&Z[U$]!==void 0){if(z===void 0)z={};z[U$]=Z[U$]}return W.run(z,Q)}initializeGlobalInstance($){if(N$()===void 0)Tq($)}},K0=new oZ;var RX=j({AsyncLocalStorageProviderSingleton:()=>K0,MockAsyncLocalStorage:()=>o4,_CONTEXT_VARIABLES_KEY:()=>U$});var G9=25;async function I0($){return b0._configureSync($?.callbacks,void 0,$?.tags,void 0,$?.metadata)}function q1(...$){let Q={};for(let Y of $.filter((q)=>!!q))for(let q of Object.keys(Y))if(q==="metadata")Q[q]={...Q[q],...Y[q]};else if(q==="tags"){let W=Q[q]??[];Q[q]=[...new Set(W.concat(Y[q]??[]))]}else if(q==="configurable")Q[q]={...Q[q],...Y[q]};else if(q==="timeout"){if(Q.timeout===void 0)Q.timeout=Y.timeout;else if(Y.timeout!==void 0)Q.timeout=Math.min(Q.timeout,Y.timeout)}else if(q==="signal"){if(Q.signal===void 0)Q.signal=Y.signal;else if(Y.signal!==void 0)if("any"in AbortSignal)Q.signal=AbortSignal.any([Q.signal,Y.signal]);else Q.signal=Y.signal}else if(q==="callbacks"){let W=Q.callbacks,Z=Y.callbacks;if(Array.isArray(Z))if(!W)Q.callbacks=Z;else if(Array.isArray(W))Q.callbacks=W.concat(Z);else{let J=W.copy();for(let G of Z)J.addHandler(u$(G),!0);Q.callbacks=J}else if(Z)if(!W)Q.callbacks=Z;else if(Array.isArray(W)){let J=Z.copy();for(let G of W)J.addHandler(u$(G),!0);Q.callbacks=J}else Q.callbacks=new b0(Z._parentRunId,{handlers:W.handlers.concat(Z.handlers),inheritableHandlers:W.inheritableHandlers.concat(Z.inheritableHandlers),tags:Array.from(new Set(W.tags.concat(Z.tags))),inheritableTags:Array.from(new Set(W.inheritableTags.concat(Z.inheritableTags))),metadata:{...W.metadata,...Z.metadata}})}else{let W=q;Q[W]=Y[W]??Q[W]}return Q}var rZ=new Set(["string","number","boolean"]);function p($){let Q=K0.getRunnableConfig(),Y={tags:[],metadata:{},recursionLimit:25,runId:void 0};if(Q){let{runId:q,runName:W,...Z}=Q;Y=Object.entries(Z).reduce((J,[G,z])=>{if(z!==void 0)J[G]=z;return J},Y)}if($)Y=Object.entries($).reduce((q,[W,Z])=>{if(Z!==void 0)q[W]=Z;return q},Y);if(Y?.configurable){for(let q of Object.keys(Y.configurable))if(rZ.has(typeof Y.configurable[q])&&!Y.metadata?.[q]){if(!Y.metadata)Y.metadata={};Y.metadata[q]=Y.configurable[q]}}if(Y.timeout!==void 0){if(Y.timeout<=0)throw Error("Timeout must be a positive number");let q=Y.timeout,W=AbortSignal.timeout(q);if(!Y.metadata)Y.metadata={};if(Y.metadata.timeoutMs===void 0)Y.metadata.timeoutMs=q;if(Y.signal!==void 0){if("any"in AbortSignal)Y.signal=AbortSignal.any([Y.signal,W])}else Y.signal=W;delete Y.timeout}return Y}function $0($={},{callbacks:Q,maxConcurrency:Y,recursionLimit:q,runName:W,configurable:Z,runId:J}={}){let G=p($);if(Q!==void 0)delete G.runName,G.callbacks=Q;if(q!==void 0)G.recursionLimit=q;if(Y!==void 0)G.maxConcurrency=Y;if(W!==void 0)G.runName=W;if(Z!==void 0)G.configurable={...G.configurable,...Z};if(J!==void 0)delete G.runId;return G}function j0($){if(!$)return;return{configurable:$.configurable,recursionLimit:$.recursionLimit,callbacks:$.callbacks,tags:$.tags,metadata:$.metadata,maxConcurrency:$.maxConcurrency,timeout:$.timeout,signal:$.signal,store:$.store}}async function n0($,Q){if(Q===void 0)return $;let Y;return Promise.race([$.catch((q)=>{if(!Q?.aborted)throw q;else return}),new Promise((q,W)=>{if(Y=()=>{W(B$(Q))},Q.addEventListener("abort",Y,{once:!0}),Q.aborted)W(B$(Q))})]).finally(()=>Q.removeEventListener("abort",Y))}function B$($){if($?.reason instanceof Error)return $.reason;if(typeof $?.reason==="string")return Error($.reason);return Error("Aborted")}var n4=Symbol("Let zodToJsonSchema decide on which parser to use"),r4={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref",openAiAnyTypeName:"OpenAiAnyType"},a4=($)=>typeof $==="string"?{...r4,name:$}:{...r4,...$};var e4=($)=>{let Q=a4($),Y=Q.name!==void 0?[...Q.basePath,Q.definitionPath,Q.name]:Q.basePath;return{...Q,flags:{hasReferencedOpenAiAnyType:!1},currentPath:Y,propertyPath:void 0,seen:new Map(Object.entries(Q.definitions).map(([q,W])=>[W._def,{def:W._def,path:[...Q.basePath,Q.definitionPath,q],jsonSchema:void 0}]))}};var W1=($,Q)=>{let Y=0;for(;Y<$.length&&Y<Q.length;Y++)if($[Y]!==Q[Y])break;return[($.length-Y).toString(),...Q.slice(Y)].join("/")};function t($){if($.target!=="openAi")return{};let Q=[...$.basePath,$.definitionPath,$.openAiAnyTypeName];return $.flags.hasReferencedOpenAiAnyType=!0,{$ref:$.$refStrategy==="relative"?W1(Q,$.currentPath):Q.join("/")}}function z9($,Q,Y,q){if(!q?.errorMessages)return;if(Y)$.errorMessage={...$.errorMessage,[Q]:Y}}function m($,Q,Y,q,W){$[Q]=Y,z9($,Q,q,W)}function $2($,Q){let Y={type:"array"};if($.type?._def&&$.type?._def?.typeName!==h.ZodAny)Y.items=v($.type._def,{...Q,currentPath:[...Q.currentPath,"items"]});if($.minLength)m(Y,"minItems",$.minLength.value,$.minLength.message,Q);if($.maxLength)m(Y,"maxItems",$.maxLength.value,$.maxLength.message,Q);if($.exactLength)m(Y,"minItems",$.exactLength.value,$.exactLength.message,Q),m(Y,"maxItems",$.exactLength.value,$.exactLength.message,Q);return Y}function Q2($,Q){let Y={type:"integer",format:"int64"};if(!$.checks)return Y;for(let q of $.checks)switch(q.kind){case"min":if(Q.target==="jsonSchema7")if(q.inclusive)m(Y,"minimum",q.value,q.message,Q);else m(Y,"exclusiveMinimum",q.value,q.message,Q);else{if(!q.inclusive)Y.exclusiveMinimum=!0;m(Y,"minimum",q.value,q.message,Q)}break;case"max":if(Q.target==="jsonSchema7")if(q.inclusive)m(Y,"maximum",q.value,q.message,Q);else m(Y,"exclusiveMaximum",q.value,q.message,Q);else{if(!q.inclusive)Y.exclusiveMaximum=!0;m(Y,"maximum",q.value,q.message,Q)}break;case"multipleOf":m(Y,"multipleOf",q.value,q.message,Q);break}return Y}function Y2(){return{type:"boolean"}}function Z1($,Q){return v($.type._def,Q)}var q2=($,Q)=>{return v($.innerType._def,Q)};function K9($,Q,Y){let q=Y??Q.dateStrategy;if(Array.isArray(q))return{anyOf:q.map((W)=>K9($,Q,W))};switch(q){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return nZ($,Q)}}var nZ=($,Q)=>{let Y={type:"integer",format:"unix-time"};if(Q.target==="openApi3")return Y;for(let q of $.checks)switch(q.kind){case"min":m(Y,"minimum",q.value,q.message,Q);break;case"max":m(Y,"maximum",q.value,q.message,Q);break}return Y};function W2($,Q){return{...v($.innerType._def,Q),default:$.defaultValue()}}function Z2($,Q){return Q.effectStrategy==="input"?v($.schema._def,Q):t(Q)}function J2($){return{type:"string",enum:Array.from($.values)}}var aZ=($)=>{if("type"in $&&$.type==="string")return!1;return"allOf"in $};function G2($,Q){let Y=[v($.left._def,{...Q,currentPath:[...Q.currentPath,"allOf","0"]}),v($.right._def,{...Q,currentPath:[...Q.currentPath,"allOf","1"]})].filter((Z)=>!!Z),q=Q.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,W=[];return Y.forEach((Z)=>{if(aZ(Z)){if(W.push(...Z.allOf),Z.unevaluatedProperties===void 0)q=void 0}else{let J=Z;if("additionalProperties"in Z&&Z.additionalProperties===!1){let{additionalProperties:G,...z}=Z;J=z}else q=void 0;W.push(J)}}),W.length?{allOf:W,...q}:void 0}function z2($,Q){let Y=typeof $.value;if(Y!=="bigint"&&Y!=="number"&&Y!=="boolean"&&Y!=="string")return{type:Array.isArray($.value)?"array":"object"};if(Q.target==="openApi3")return{type:Y==="bigint"?"integer":Y,enum:[$.value]};return{type:Y==="bigint"?"integer":Y,const:$.value}}var K2=void 0,v0={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>{if(K2===void 0)K2=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return K2},uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function J1($,Q){let Y={type:"string"};if($.checks)for(let q of $.checks)switch(q.kind){case"min":m(Y,"minLength",typeof Y.minLength==="number"?Math.max(Y.minLength,q.value):q.value,q.message,Q);break;case"max":m(Y,"maxLength",typeof Y.maxLength==="number"?Math.min(Y.maxLength,q.value):q.value,q.message,Q);break;case"email":switch(Q.emailStrategy){case"format:email":h0(Y,"email",q.message,Q);break;case"format:idn-email":h0(Y,"idn-email",q.message,Q);break;case"pattern:zod":B0(Y,v0.email,q.message,Q);break}break;case"url":h0(Y,"uri",q.message,Q);break;case"uuid":h0(Y,"uuid",q.message,Q);break;case"regex":B0(Y,q.regex,q.message,Q);break;case"cuid":B0(Y,v0.cuid,q.message,Q);break;case"cuid2":B0(Y,v0.cuid2,q.message,Q);break;case"startsWith":B0(Y,RegExp(`^${w2(q.value,Q)}`),q.message,Q);break;case"endsWith":B0(Y,RegExp(`${w2(q.value,Q)}$`),q.message,Q);break;case"datetime":h0(Y,"date-time",q.message,Q);break;case"date":h0(Y,"date",q.message,Q);break;case"time":h0(Y,"time",q.message,Q);break;case"duration":h0(Y,"duration",q.message,Q);break;case"length":m(Y,"minLength",typeof Y.minLength==="number"?Math.max(Y.minLength,q.value):q.value,q.message,Q),m(Y,"maxLength",typeof Y.maxLength==="number"?Math.min(Y.maxLength,q.value):q.value,q.message,Q);break;case"includes":B0(Y,RegExp(w2(q.value,Q)),q.message,Q);break;case"ip":if(q.version!=="v6")h0(Y,"ipv4",q.message,Q);if(q.version!=="v4")h0(Y,"ipv6",q.message,Q);break;case"base64url":B0(Y,v0.base64url,q.message,Q);break;case"jwt":B0(Y,v0.jwt,q.message,Q);break;case"cidr":if(q.version!=="v6")B0(Y,v0.ipv4Cidr,q.message,Q);if(q.version!=="v4")B0(Y,v0.ipv6Cidr,q.message,Q);break;case"emoji":B0(Y,v0.emoji(),q.message,Q);break;case"ulid":B0(Y,v0.ulid,q.message,Q);break;case"base64":switch(Q.base64Strategy){case"format:binary":h0(Y,"binary",q.message,Q);break;case"contentEncoding:base64":m(Y,"contentEncoding","base64",q.message,Q);break;case"pattern:zod":B0(Y,v0.base64,q.message,Q);break}break;case"nanoid":B0(Y,v0.nanoid,q.message,Q);break;case"toLowerCase":case"toUpperCase":case"trim":break;default:((W)=>{})(q)}return Y}function w2($,Q){return Q.patternStrategy==="escape"?$J($):$}var eZ=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function $J($){let Q="";for(let Y=0;Y<$.length;Y++){if(!eZ.has($[Y]))Q+="\\";Q+=$[Y]}return Q}function h0($,Q,Y,q){if($.format||$.anyOf?.some((W)=>W.format)){if(!$.anyOf)$.anyOf=[];if($.format){if($.anyOf.push({format:$.format,...$.errorMessage&&q.errorMessages&&{errorMessage:{format:$.errorMessage.format}}}),delete $.format,$.errorMessage){if(delete $.errorMessage.format,Object.keys($.errorMessage).length===0)delete $.errorMessage}}$.anyOf.push({format:Q,...Y&&q.errorMessages&&{errorMessage:{format:Y}}})}else m($,"format",Q,Y,q)}function B0($,Q,Y,q){if($.pattern||$.allOf?.some((W)=>W.pattern)){if(!$.allOf)$.allOf=[];if($.pattern){if($.allOf.push({pattern:$.pattern,...$.errorMessage&&q.errorMessages&&{errorMessage:{pattern:$.errorMessage.pattern}}}),delete $.pattern,$.errorMessage){if(delete $.errorMessage.pattern,Object.keys($.errorMessage).length===0)delete $.errorMessage}}$.allOf.push({pattern:Cq(Q,q),...Y&&q.errorMessages&&{errorMessage:{pattern:Y}}})}else m($,"pattern",Cq(Q,q),Y,q)}function Cq($,Q){if(!Q.applyRegexFlags||!$.flags)return $.source;let Y={i:$.flags.includes("i"),m:$.flags.includes("m"),s:$.flags.includes("s")},q=Y.i?$.source.toLowerCase():$.source,W="",Z=!1,J=!1,G=!1;for(let z=0;z<q.length;z++){if(Z){W+=q[z],Z=!1;continue}if(Y.i){if(J){if(q[z].match(/[a-z]/)){if(G)W+=q[z],W+=`${q[z-2]}-${q[z]}`.toUpperCase(),G=!1;else if(q[z+1]==="-"&&q[z+2]?.match(/[a-z]/))W+=q[z],G=!0;else W+=`${q[z]}${q[z].toUpperCase()}`;continue}}else if(q[z].match(/[a-z]/)){W+=`[${q[z]}${q[z].toUpperCase()}]`;continue}}if(Y.m){if(q[z]==="^"){W+=`(^|(?<=[\r
|
|
54
|
+
]))`;continue}else if(q[z]==="$"){W+=`($|(?=[\r
|
|
55
|
+
]))`;continue}}if(Y.s&&q[z]==="."){W+=J?`${q[z]}\r
|
|
56
|
+
`:`[${q[z]}\r
|
|
57
|
+
]`;continue}if(W+=q[z],q[z]==="\\")Z=!0;else if(J&&q[z]==="]")J=!1;else if(!J&&q[z]==="[")J=!0}try{new RegExp(W)}catch{return console.warn(`Could not convert regex pattern at ${Q.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),$.source}return W}function G1($,Q){if(Q.target==="openAi")console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead.");if(Q.target==="openApi3"&&$.keyType?._def.typeName===h.ZodEnum)return{type:"object",required:$.keyType._def.values,properties:$.keyType._def.values.reduce((q,W)=>({...q,[W]:v($.valueType._def,{...Q,currentPath:[...Q.currentPath,"properties",W]})??t(Q)}),{}),additionalProperties:Q.rejectedAdditionalProperties};let Y={type:"object",additionalProperties:v($.valueType._def,{...Q,currentPath:[...Q.currentPath,"additionalProperties"]})??Q.allowedAdditionalProperties};if(Q.target==="openApi3")return Y;if($.keyType?._def.typeName===h.ZodString&&$.keyType._def.checks?.length){let{type:q,...W}=J1($.keyType._def,Q);return{...Y,propertyNames:W}}else if($.keyType?._def.typeName===h.ZodEnum)return{...Y,propertyNames:{enum:$.keyType._def.values}};else if($.keyType?._def.typeName===h.ZodBranded&&$.keyType._def.type._def.typeName===h.ZodString&&$.keyType._def.type._def.checks?.length){let{type:q,...W}=Z1($.keyType._def,Q);return{...Y,propertyNames:W}}return Y}function X2($,Q){if(Q.mapStrategy==="record")return G1($,Q);return{type:"array",maxItems:125,items:{type:"array",items:[v($.keyType._def,{...Q,currentPath:[...Q.currentPath,"items","items","0"]})||t(Q),v($.valueType._def,{...Q,currentPath:[...Q.currentPath,"items","items","1"]})||t(Q)],minItems:2,maxItems:2}}}function U2($){let Q=$.values,Y=Object.keys($.values).filter((W)=>{return typeof Q[Q[W]]!=="number"}).map((W)=>Q[W]),q=Array.from(new Set(Y.map((W)=>typeof W)));return{type:q.length===1?q[0]==="string"?"string":"number":["string","number"],enum:Y}}function N2($){return $.target==="openAi"?void 0:{not:t({...$,currentPath:[...$.currentPath,"not"]})}}function B2($){return $.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var c$={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function V2($,Q){if(Q.target==="openApi3")return kq($,Q);let Y=$.options instanceof Map?Array.from($.options.values()):$.options;if(Y.every((q)=>(q._def.typeName in c$)&&(!q._def.checks||!q._def.checks.length))){let q=Y.reduce((W,Z)=>{let J=c$[Z._def.typeName];return J&&!W.includes(J)?[...W,J]:W},[]);return{type:q.length>1?q:q[0]}}else if(Y.every((q)=>q._def.typeName==="ZodLiteral"&&!q.description)){let q=Y.reduce((W,Z)=>{let J=typeof Z._def.value;switch(J){case"string":case"number":case"boolean":return[...W,J];case"bigint":return[...W,"integer"];case"object":if(Z._def.value===null)return[...W,"null"];return W;default:return W}},[]);if(q.length===Y.length){let W=q.filter((Z,J,G)=>G.indexOf(Z)===J);return{type:W.length>1?W:W[0],enum:Y.reduce((Z,J)=>{return Z.includes(J._def.value)?Z:[...Z,J._def.value]},[])}}}else if(Y.every((q)=>q._def.typeName==="ZodEnum"))return{type:"string",enum:Y.reduce((q,W)=>[...q,...W._def.values.filter((Z)=>!q.includes(Z))],[])};return kq($,Q)}var kq=($,Q)=>{let Y=($.options instanceof Map?Array.from($.options.values()):$.options).map((q,W)=>v(q._def,{...Q,currentPath:[...Q.currentPath,"anyOf",`${W}`]})).filter((q)=>!!q&&(!Q.strictUnions||typeof q==="object"&&Object.keys(q).length>0));return Y.length?{anyOf:Y}:void 0};function F2($,Q){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes($.innerType._def.typeName)&&(!$.innerType._def.checks||!$.innerType._def.checks.length)){if(Q.target==="openApi3")return{type:c$[$.innerType._def.typeName],nullable:!0};return{type:[c$[$.innerType._def.typeName],"null"]}}if(Q.target==="openApi3"){let q=v($.innerType._def,{...Q,currentPath:[...Q.currentPath]});if(q&&"$ref"in q)return{allOf:[q],nullable:!0};return q&&{...q,nullable:!0}}let Y=v($.innerType._def,{...Q,currentPath:[...Q.currentPath,"anyOf","0"]});return Y&&{anyOf:[Y,{type:"null"}]}}function A2($,Q){let Y={type:"number"};if(!$.checks)return Y;for(let q of $.checks)switch(q.kind){case"int":Y.type="integer",z9(Y,"type",q.message,Q);break;case"min":if(Q.target==="jsonSchema7")if(q.inclusive)m(Y,"minimum",q.value,q.message,Q);else m(Y,"exclusiveMinimum",q.value,q.message,Q);else{if(!q.inclusive)Y.exclusiveMinimum=!0;m(Y,"minimum",q.value,q.message,Q)}break;case"max":if(Q.target==="jsonSchema7")if(q.inclusive)m(Y,"maximum",q.value,q.message,Q);else m(Y,"exclusiveMaximum",q.value,q.message,Q);else{if(!q.inclusive)Y.exclusiveMaximum=!0;m(Y,"maximum",q.value,q.message,Q)}break;case"multipleOf":m(Y,"multipleOf",q.value,q.message,Q);break}return Y}function D2($,Q){let Y=Q.target==="openAi",q={type:"object",properties:{}},W=[],Z=$.shape();for(let G in Z){let z=Z[G];if(z===void 0||z._def===void 0)continue;let K=YJ(z);if(K&&Y){if(z._def.typeName==="ZodOptional")z=z._def.innerType;if(!z.isNullable())z=z.nullable();K=!1}let w=v(z._def,{...Q,currentPath:[...Q.currentPath,"properties",G],propertyPath:[...Q.currentPath,"properties",G]});if(w===void 0)continue;if(q.properties[G]=w,!K)W.push(G)}if(W.length)q.required=W;let J=QJ($,Q);if(J!==void 0)q.additionalProperties=J;return q}function QJ($,Q){if($.catchall._def.typeName!=="ZodNever")return v($.catchall._def,{...Q,currentPath:[...Q.currentPath,"additionalProperties"]});switch($.unknownKeys){case"passthrough":return Q.allowedAdditionalProperties;case"strict":return Q.rejectedAdditionalProperties;case"strip":return Q.removeAdditionalStrategy==="strict"?Q.allowedAdditionalProperties:Q.rejectedAdditionalProperties}}function YJ($){try{return $.isOptional()}catch{return!0}}var H2=($,Q)=>{if(Q.currentPath.toString()===Q.propertyPath?.toString())return v($.innerType._def,Q);let Y=v($.innerType._def,{...Q,currentPath:[...Q.currentPath,"anyOf","1"]});return Y?{anyOf:[{not:t(Q)},Y]}:t(Q)};var O2=($,Q)=>{if(Q.pipeStrategy==="input")return v($.in._def,Q);else if(Q.pipeStrategy==="output")return v($.out._def,Q);let Y=v($.in._def,{...Q,currentPath:[...Q.currentPath,"allOf","0"]});return{allOf:[Y,v($.out._def,{...Q,currentPath:[...Q.currentPath,"allOf",Y?"1":"0"]})].filter((q)=>q!==void 0)}};function P2($,Q){return v($.type._def,Q)}function E2($,Q){let Y={type:"array",uniqueItems:!0,items:v($.valueType._def,{...Q,currentPath:[...Q.currentPath,"items"]})};if($.minSize)m(Y,"minItems",$.minSize.value,$.minSize.message,Q);if($.maxSize)m(Y,"maxItems",$.maxSize.value,$.maxSize.message,Q);return Y}function S2($,Q){if($.rest)return{type:"array",minItems:$.items.length,items:$.items.map((Y,q)=>v(Y._def,{...Q,currentPath:[...Q.currentPath,"items",`${q}`]})).reduce((Y,q)=>q===void 0?Y:[...Y,q],[]),additionalItems:v($.rest._def,{...Q,currentPath:[...Q.currentPath,"additionalItems"]})};else return{type:"array",minItems:$.items.length,maxItems:$.items.length,items:$.items.map((Y,q)=>v(Y._def,{...Q,currentPath:[...Q.currentPath,"items",`${q}`]})).reduce((Y,q)=>q===void 0?Y:[...Y,q],[])}}function L2($){return{not:t($)}}function T2($){return t($)}var _2=($,Q)=>{return v($.innerType._def,Q)};var M2=($,Q,Y)=>{switch(Q){case h.ZodString:return J1($,Y);case h.ZodNumber:return A2($,Y);case h.ZodObject:return D2($,Y);case h.ZodBigInt:return Q2($,Y);case h.ZodBoolean:return Y2();case h.ZodDate:return K9($,Y);case h.ZodUndefined:return L2(Y);case h.ZodNull:return B2(Y);case h.ZodArray:return $2($,Y);case h.ZodUnion:case h.ZodDiscriminatedUnion:return V2($,Y);case h.ZodIntersection:return G2($,Y);case h.ZodTuple:return S2($,Y);case h.ZodRecord:return G1($,Y);case h.ZodLiteral:return z2($,Y);case h.ZodEnum:return J2($);case h.ZodNativeEnum:return U2($);case h.ZodNullable:return F2($,Y);case h.ZodOptional:return H2($,Y);case h.ZodMap:return X2($,Y);case h.ZodSet:return E2($,Y);case h.ZodLazy:return()=>$.getter()._def;case h.ZodPromise:return P2($,Y);case h.ZodNaN:case h.ZodNever:return N2(Y);case h.ZodEffects:return Z2($,Y);case h.ZodAny:return t(Y);case h.ZodUnknown:return T2(Y);case h.ZodDefault:return W2($,Y);case h.ZodBranded:return Z1($,Y);case h.ZodReadonly:return _2($,Y);case h.ZodCatch:return q2($,Y);case h.ZodPipeline:return O2($,Y);case h.ZodFunction:case h.ZodVoid:case h.ZodSymbol:return;default:return((q)=>{return})(Q)}};function v($,Q,Y=!1){let q=Q.seen.get($);if(Q.override){let G=Q.override?.($,Q,q,Y);if(G!==n4)return G}if(q&&!Y){let G=qJ(q,Q);if(G!==void 0)return G}let W={def:$,path:Q.currentPath,jsonSchema:void 0};Q.seen.set($,W);let Z=M2($,$.typeName,Q),J=typeof Z==="function"?v(Z(),Q):Z;if(J)WJ($,Q,J);if(Q.postProcess){let G=Q.postProcess(J,$,Q);return W.jsonSchema=J,G}return W.jsonSchema=J,J}var qJ=($,Q)=>{switch(Q.$refStrategy){case"root":return{$ref:$.path.join("/")};case"relative":return{$ref:W1(Q.currentPath,$.path)};case"none":case"seen":if($.path.length<Q.currentPath.length&&$.path.every((Y,q)=>Q.currentPath[q]===Y))return console.warn(`Recursive reference detected at ${Q.currentPath.join("/")}! Defaulting to any`),t(Q);return Q.$refStrategy==="seen"?t(Q):void 0}},WJ=($,Q,Y)=>{if($.description){if(Y.description=$.description,Q.markdownDescription)Y.markdownDescription=$.description}return Y};var R2=($,Q)=>{let Y=e4(Q),q=typeof Q==="object"&&Q.definitions?Object.entries(Q.definitions).reduce((z,[K,w])=>({...z,[K]:v(w._def,{...Y,currentPath:[...Y.basePath,Y.definitionPath,K]},!0)??t(Y)}),{}):void 0,W=typeof Q==="string"?Q:Q?.nameStrategy==="title"?void 0:Q?.name,Z=v($._def,W===void 0?Y:{...Y,currentPath:[...Y.basePath,Y.definitionPath,W]},!1)??t(Y),J=typeof Q==="object"&&Q.name!==void 0&&Q.nameStrategy==="title"?Q.name:void 0;if(J!==void 0)Z.title=J;if(Y.flags.hasReferencedOpenAiAnyType){if(!q)q={};if(!q[Y.openAiAnyTypeName])q[Y.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:Y.$refStrategy==="relative"?"1":[...Y.basePath,Y.definitionPath,Y.openAiAnyTypeName].join("/")}}}let G=W===void 0?q?{...Z,[Y.definitionPath]:q}:Z:{$ref:[...Y.$refStrategy==="relative"?[]:Y.basePath,Y.definitionPath,W].join("/"),[Y.definitionPath]:{...q,[W]:Z}};if(Y.target==="jsonSchema7")G.$schema="http://json-schema.org/draft-07/schema#";else if(Y.target==="jsonSchema2019-09"||Y.target==="openAi")G.$schema="https://json-schema.org/draft/2019-09/schema#";if(Y.target==="openAi"&&(("anyOf"in G)||("oneOf"in G)||("allOf"in G)||("type"in G)&&Array.isArray(G.type)))console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property.");return G};var L7=j({isSerializableSchema:()=>ZJ,isStandardJsonSchema:()=>w9,isStandardSchema:()=>fq});function fq($){return(typeof $==="object"||typeof $==="function")&&$!==null&&"~standard"in $&&typeof $["~standard"]==="object"&&$["~standard"]!==null&&"validate"in $["~standard"]}function w9($){return(typeof $==="object"||typeof $==="function")&&$!==null&&"~standard"in $&&typeof $["~standard"]==="object"&&$["~standard"]!==null&&"jsonSchema"in $["~standard"]}function ZJ($){return fq($)&&w9($)}function V$($,Q){let Y=typeof $;if(Y!==typeof Q)return!1;if(Array.isArray($)){if(!Array.isArray(Q))return!1;let q=$.length;if(q!==Q.length)return!1;for(let W=0;W<q;W++)if(!V$($[W],Q[W]))return!1;return!0}if(Y==="object"){if(!$||!Q)return $===Q;let q=Object.keys($),W=Object.keys(Q);if(q.length!==W.length)return!1;for(let J of q)if(!V$($[J],Q[J]))return!1;return!0}return $===Q}function R0($){return encodeURI(JJ($))}function JJ($){return $.replace(/~/g,"~0").replace(/\//g,"~1")}var GJ={prefixItems:!0,items:!0,allOf:!0,anyOf:!0,oneOf:!0},zJ={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependentSchemas:!0},KJ={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},wJ=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 g0($,Q=Object.create(null),Y=wJ,q=""){if($&&typeof $==="object"&&!Array.isArray($)){let Z=$.$id||$.id;if(Z){let J=new URL(Z,Y.href);if(J.hash.length>1)Q[J.href]=$;else if(J.hash="",q==="")Y=J;else g0($,Q,Y)}}else if($!==!0&&$!==!1)return Q;let W=Y.href+(q?"#"+q:"");if(Q[W]!==void 0)throw Error(`Duplicate schema URI "${W}".`);if(Q[W]=$,$===!0||$===!1)return Q;if($.__absolute_uri__===void 0)Object.defineProperty($,"__absolute_uri__",{enumerable:!1,value:W});if($.$ref&&$.__absolute_ref__===void 0){let Z=new URL($.$ref,Y.href);Z.hash=Z.hash,Object.defineProperty($,"__absolute_ref__",{enumerable:!1,value:Z.href})}if($.$recursiveRef&&$.__absolute_recursive_ref__===void 0){let Z=new URL($.$recursiveRef,Y.href);Z.hash=Z.hash,Object.defineProperty($,"__absolute_recursive_ref__",{enumerable:!1,value:Z.href})}if($.$anchor){let Z=new URL("#"+$.$anchor,Y.href);Q[Z.href]=$}for(let Z in $){if(KJ[Z])continue;let J=`${q}/${R0(Z)}`,G=$[Z];if(Array.isArray(G)){if(GJ[Z]){let z=G.length;for(let K=0;K<z;K++)g0(G[K],Q,Y,`${J}/${K}`)}}else if(zJ[Z])for(let z in G)g0(G[z],Q,Y,`${J}/${R0(z)}`);else g0(G,Q,Y,J)}return Q}var XJ=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,UJ=[0,31,28,31,30,31,30,31,31,30,31,30,31],NJ=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i,BJ=/^(?=.{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,VJ=/^(?:[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,FJ=/^(?:(?:[^\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,AJ=/^(?:(?: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,DJ=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,HJ=/^(?:\/(?:[^~/]|~0|~1)*)*$/,OJ=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,PJ=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,EJ=($)=>{if($[0]==='"')return!1;let[Q,Y,...q]=$.split("@");if(!Q||!Y||q.length!==0||Q.length>64||Y.length>253)return!1;if(Q[0]==="."||Q.endsWith(".")||Q.includes(".."))return!1;if(!/^[a-z0-9.-]+$/i.test(Y)||!/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+$/i.test(Q))return!1;return Y.split(".").every((W)=>/^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$/i.test(W))},SJ=/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,LJ=/^((([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,TJ=($)=>$.length>1&&$.length<80&&(/^P\d+([.,]\d+)?W$/.test($)||/^P[\dYMDTHS]*(\d[.,]\d+)?[YMDHS]$/.test($)&&/^P([.,\d]+Y)?([.,\d]+M)?([.,\d]+D)?(T([.,\d]+H)?([.,\d]+M)?([.,\d]+S)?)?$/.test($));function a0($){return $.test.bind($)}var x2={date:bq,time:hq.bind(void 0,!1),"date-time":RJ,duration:TJ,uri:jJ,"uri-reference":a0(VJ),"uri-template":a0(FJ),url:a0(AJ),email:EJ,hostname:a0(BJ),ipv4:a0(SJ),ipv6:a0(LJ),regex:yJ,uuid:a0(DJ),"json-pointer":a0(HJ),"json-pointer-uri-fragment":a0(OJ),"relative-json-pointer":a0(PJ)};function _J($){return $%4===0&&($%100!==0||$%400===0)}function bq($){let Q=$.match(XJ);if(!Q)return!1;let Y=+Q[1],q=+Q[2],W=+Q[3];return q>=1&&q<=12&&W>=1&&W<=(q==2&&_J(Y)?29:UJ[q])}function hq($,Q){let Y=Q.match(NJ);if(!Y)return!1;let q=+Y[1],W=+Y[2],Z=+Y[3],J=!!Y[5];return(q<=23&&W<=59&&Z<=59||q==23&&W==59&&Z==60)&&(!$||J)}var MJ=/t|\s/i;function RJ($){let Q=$.split(MJ);return Q.length==2&&bq(Q[0])&&hq(!0,Q[1])}var xJ=/\/|:/,IJ=/^(?:[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 jJ($){return xJ.test($)&&IJ.test($)}var vJ=/[^\\]\\Z/;function yJ($){if(vJ.test($))return!1;try{return new RegExp($,"u"),!0}catch(Q){return!1}}function gq($){let Q=0,Y=$.length,q=0,W;while(q<Y)if(Q++,W=$.charCodeAt(q++),W>=55296&&W<=56319&&q<Y){if(W=$.charCodeAt(q),(W&64512)==56320)q++}return Q}function i($,Q,Y="2019-09",q=g0(Q),W=!0,Z=null,J="#",G="#",z=Object.create(null)){if(Q===!0)return{valid:!0,errors:[]};if(Q===!1)return{valid:!1,errors:[{instanceLocation:J,keyword:"false",keywordLocation:J,error:"False boolean schema."}]};let K=typeof $,w;switch(K){case"boolean":case"number":case"string":w=K;break;case"object":if($===null)w="null";else if(Array.isArray($))w="array";else w="object";break;default:throw Error(`Instances of "${K}" type are not supported.`)}let{$ref:X,$recursiveRef:U,$recursiveAnchor:N,type:F,const:A,enum:H,required:_,not:D,anyOf:x,allOf:R,oneOf:d,if:u,then:c,else:z0,format:q0,properties:p0,patternProperties:C0,additionalProperties:a2,unevaluatedProperties:e2,minProperties:b9,maxProperties:h9,propertyNames:$Q,dependentRequired:g9,dependentSchemas:m9,dependencies:d9,prefixItems:p9,items:t$,additionalItems:QQ,unevaluatedItems:YQ,contains:qQ,minContains:Q$,maxContains:B1,minItems:u9,maxItems:c9,uniqueItems:P8,minimum:O$,maximum:P$,exclusiveMinimum:o$,exclusiveMaximum:r$,multipleOf:V1,minLength:F1,maxLength:A1,pattern:WQ,__absolute_ref__:D1,__absolute_recursive_ref__:E8}=Q,E=[];if(N===!0&&Z===null)Z=Q;if(U==="#"){let y=Z===null?q[E8]:Z,I=`${G}/$recursiveRef`,f=i($,Z===null?Q:Z,Y,q,W,y,J,I,z);if(!f.valid)E.push({instanceLocation:J,keyword:"$recursiveRef",keywordLocation:I,error:"A subschema had errors."},...f.errors)}if(X!==void 0){let I=q[D1||X];if(I===void 0){let O=`Unresolved $ref "${X}".`;if(D1&&D1!==X)O+=` Absolute URI "${D1}".`;throw O+=`
|
|
58
|
+
Known schemas:
|
|
59
|
+
- ${Object.keys(q).join(`
|
|
60
|
+
- `)}`,Error(O)}let f=`${G}/$ref`,S=i($,I,Y,q,W,Z,J,f,z);if(!S.valid)E.push({instanceLocation:J,keyword:"$ref",keywordLocation:f,error:"A subschema had errors."},...S.errors);if(Y==="4"||Y==="7")return{valid:E.length===0,errors:E}}if(Array.isArray(F)){let y=F.length,I=!1;for(let f=0;f<y;f++)if(w===F[f]||F[f]==="integer"&&w==="number"&&$%1===0&&$===$){I=!0;break}if(!I)E.push({instanceLocation:J,keyword:"type",keywordLocation:`${G}/type`,error:`Instance type "${w}" is invalid. Expected "${F.join('", "')}".`})}else if(F==="integer"){if(w!=="number"||$%1||$!==$)E.push({instanceLocation:J,keyword:"type",keywordLocation:`${G}/type`,error:`Instance type "${w}" is invalid. Expected "${F}".`})}else if(F!==void 0&&w!==F)E.push({instanceLocation:J,keyword:"type",keywordLocation:`${G}/type`,error:`Instance type "${w}" is invalid. Expected "${F}".`});if(A!==void 0){if(w==="object"||w==="array"){if(!V$($,A))E.push({instanceLocation:J,keyword:"const",keywordLocation:`${G}/const`,error:`Instance does not match ${JSON.stringify(A)}.`})}else if($!==A)E.push({instanceLocation:J,keyword:"const",keywordLocation:`${G}/const`,error:`Instance does not match ${JSON.stringify(A)}.`})}if(H!==void 0){if(w==="object"||w==="array"){if(!H.some((y)=>V$($,y)))E.push({instanceLocation:J,keyword:"enum",keywordLocation:`${G}/enum`,error:`Instance does not match any of ${JSON.stringify(H)}.`})}else if(!H.some((y)=>$===y))E.push({instanceLocation:J,keyword:"enum",keywordLocation:`${G}/enum`,error:`Instance does not match any of ${JSON.stringify(H)}.`})}if(D!==void 0){let y=`${G}/not`;if(i($,D,Y,q,W,Z,J,y).valid)E.push({instanceLocation:J,keyword:"not",keywordLocation:y,error:'Instance matched "not" schema.'})}let H1=[];if(x!==void 0){let y=`${G}/anyOf`,I=E.length,f=!1;for(let S=0;S<x.length;S++){let O=x[S],k=Object.create(z),C=i($,O,Y,q,W,N===!0?Z:null,J,`${y}/${S}`,k);if(E.push(...C.errors),f=f||C.valid,C.valid)H1.push(k)}if(f)E.length=I;else E.splice(I,0,{instanceLocation:J,keyword:"anyOf",keywordLocation:y,error:"Instance does not match any subschemas."})}if(R!==void 0){let y=`${G}/allOf`,I=E.length,f=!0;for(let S=0;S<R.length;S++){let O=R[S],k=Object.create(z),C=i($,O,Y,q,W,N===!0?Z:null,J,`${y}/${S}`,k);if(E.push(...C.errors),f=f&&C.valid,C.valid)H1.push(k)}if(f)E.length=I;else E.splice(I,0,{instanceLocation:J,keyword:"allOf",keywordLocation:y,error:"Instance does not match every subschema."})}if(d!==void 0){let y=`${G}/oneOf`,I=E.length,f=d.filter((S,O)=>{let k=Object.create(z),C=i($,S,Y,q,W,N===!0?Z:null,J,`${y}/${O}`,k);if(E.push(...C.errors),C.valid)H1.push(k);return C.valid}).length;if(f===1)E.length=I;else E.splice(I,0,{instanceLocation:J,keyword:"oneOf",keywordLocation:y,error:`Instance does not match exactly one subschema (${f} matches).`})}if(w==="object"||w==="array")Object.assign(z,...H1);if(u!==void 0){let y=`${G}/if`;if(i($,u,Y,q,W,Z,J,y,z).valid){if(c!==void 0){let f=i($,c,Y,q,W,Z,J,`${G}/then`,z);if(!f.valid)E.push({instanceLocation:J,keyword:"if",keywordLocation:y,error:'Instance does not match "then" schema.'},...f.errors)}}else if(z0!==void 0){let f=i($,z0,Y,q,W,Z,J,`${G}/else`,z);if(!f.valid)E.push({instanceLocation:J,keyword:"if",keywordLocation:y,error:'Instance does not match "else" schema.'},...f.errors)}}if(w==="object"){if(_!==void 0){for(let S of _)if(!(S in $))E.push({instanceLocation:J,keyword:"required",keywordLocation:`${G}/required`,error:`Instance does not have required property "${S}".`})}let y=Object.keys($);if(b9!==void 0&&y.length<b9)E.push({instanceLocation:J,keyword:"minProperties",keywordLocation:`${G}/minProperties`,error:`Instance does not have at least ${b9} properties.`});if(h9!==void 0&&y.length>h9)E.push({instanceLocation:J,keyword:"maxProperties",keywordLocation:`${G}/maxProperties`,error:`Instance does not have at least ${h9} properties.`});if($Q!==void 0){let S=`${G}/propertyNames`;for(let O in $){let k=`${J}/${R0(O)}`,C=i(O,$Q,Y,q,W,Z,k,S);if(!C.valid)E.push({instanceLocation:J,keyword:"propertyNames",keywordLocation:S,error:`Property name "${O}" does not match schema.`},...C.errors)}}if(g9!==void 0){let S=`${G}/dependantRequired`;for(let O in g9)if(O in $){let k=g9[O];for(let C of k)if(!(C in $))E.push({instanceLocation:J,keyword:"dependentRequired",keywordLocation:S,error:`Instance has "${O}" but does not have "${C}".`})}}if(m9!==void 0)for(let S in m9){let O=`${G}/dependentSchemas`;if(S in $){let k=i($,m9[S],Y,q,W,Z,J,`${O}/${R0(S)}`,z);if(!k.valid)E.push({instanceLocation:J,keyword:"dependentSchemas",keywordLocation:O,error:`Instance has "${S}" but does not match dependant schema.`},...k.errors)}}if(d9!==void 0){let S=`${G}/dependencies`;for(let O in d9)if(O in $){let k=d9[O];if(Array.isArray(k)){for(let C of k)if(!(C in $))E.push({instanceLocation:J,keyword:"dependencies",keywordLocation:S,error:`Instance has "${O}" but does not have "${C}".`})}else{let C=i($,k,Y,q,W,Z,J,`${S}/${R0(O)}`);if(!C.valid)E.push({instanceLocation:J,keyword:"dependencies",keywordLocation:S,error:`Instance has "${O}" but does not match dependant schema.`},...C.errors)}}}let I=Object.create(null),f=!1;if(p0!==void 0){let S=`${G}/properties`;for(let O in p0){if(!(O in $))continue;let k=`${J}/${R0(O)}`,C=i($[O],p0[O],Y,q,W,Z,k,`${S}/${R0(O)}`);if(C.valid)z[O]=I[O]=!0;else if(f=W,E.push({instanceLocation:J,keyword:"properties",keywordLocation:S,error:`Property "${O}" does not match schema.`},...C.errors),f)break}}if(!f&&C0!==void 0){let S=`${G}/patternProperties`;for(let O in C0){let k=new RegExp(O,"u"),C=C0[O];for(let A0 in $){if(!k.test(A0))continue;let ZQ=`${J}/${R0(A0)}`,JQ=i($[A0],C,Y,q,W,Z,ZQ,`${S}/${R0(O)}`);if(JQ.valid)z[A0]=I[A0]=!0;else f=W,E.push({instanceLocation:J,keyword:"patternProperties",keywordLocation:S,error:`Property "${A0}" matches pattern "${O}" but does not match associated schema.`},...JQ.errors)}}}if(!f&&a2!==void 0){let S=`${G}/additionalProperties`;for(let O in $){if(I[O])continue;let k=`${J}/${R0(O)}`,C=i($[O],a2,Y,q,W,Z,k,S);if(C.valid)z[O]=!0;else f=W,E.push({instanceLocation:J,keyword:"additionalProperties",keywordLocation:S,error:`Property "${O}" does not match additional properties schema.`},...C.errors)}}else if(!f&&e2!==void 0){let S=`${G}/unevaluatedProperties`;for(let O in $)if(!z[O]){let k=`${J}/${R0(O)}`,C=i($[O],e2,Y,q,W,Z,k,S);if(C.valid)z[O]=!0;else E.push({instanceLocation:J,keyword:"unevaluatedProperties",keywordLocation:S,error:`Property "${O}" does not match unevaluated properties schema.`},...C.errors)}}}else if(w==="array"){if(c9!==void 0&&$.length>c9)E.push({instanceLocation:J,keyword:"maxItems",keywordLocation:`${G}/maxItems`,error:`Array has too many items (${$.length} > ${c9}).`});if(u9!==void 0&&$.length<u9)E.push({instanceLocation:J,keyword:"minItems",keywordLocation:`${G}/minItems`,error:`Array has too few items (${$.length} < ${u9}).`});let y=$.length,I=0,f=!1;if(p9!==void 0){let S=`${G}/prefixItems`,O=Math.min(p9.length,y);for(;I<O;I++){let k=i($[I],p9[I],Y,q,W,Z,`${J}/${I}`,`${S}/${I}`);if(z[I]=!0,!k.valid){if(f=W,E.push({instanceLocation:J,keyword:"prefixItems",keywordLocation:S,error:"Items did not match schema."},...k.errors),f)break}}}if(t$!==void 0){let S=`${G}/items`;if(Array.isArray(t$)){let O=Math.min(t$.length,y);for(;I<O;I++){let k=i($[I],t$[I],Y,q,W,Z,`${J}/${I}`,`${S}/${I}`);if(z[I]=!0,!k.valid){if(f=W,E.push({instanceLocation:J,keyword:"items",keywordLocation:S,error:"Items did not match schema."},...k.errors),f)break}}}else for(;I<y;I++){let O=i($[I],t$,Y,q,W,Z,`${J}/${I}`,S);if(z[I]=!0,!O.valid){if(f=W,E.push({instanceLocation:J,keyword:"items",keywordLocation:S,error:"Items did not match schema."},...O.errors),f)break}}if(!f&&QQ!==void 0){let O=`${G}/additionalItems`;for(;I<y;I++){let k=i($[I],QQ,Y,q,W,Z,`${J}/${I}`,O);if(z[I]=!0,!k.valid)f=W,E.push({instanceLocation:J,keyword:"additionalItems",keywordLocation:O,error:"Items did not match additional items schema."},...k.errors)}}}if(qQ!==void 0)if(y===0&&Q$===void 0)E.push({instanceLocation:J,keyword:"contains",keywordLocation:`${G}/contains`,error:"Array is empty. It must contain at least one item matching the schema."});else if(Q$!==void 0&&y<Q$)E.push({instanceLocation:J,keyword:"minContains",keywordLocation:`${G}/minContains`,error:`Array has less items (${y}) than minContains (${Q$}).`});else{let S=`${G}/contains`,O=E.length,k=0;for(let C=0;C<y;C++){let A0=i($[C],qQ,Y,q,W,Z,`${J}/${C}`,S);if(A0.valid)z[C]=!0,k++;else E.push(...A0.errors)}if(k>=(Q$||0))E.length=O;if(Q$===void 0&&B1===void 0&&k===0)E.splice(O,0,{instanceLocation:J,keyword:"contains",keywordLocation:S,error:"Array does not contain item matching schema."});else if(Q$!==void 0&&k<Q$)E.push({instanceLocation:J,keyword:"minContains",keywordLocation:`${G}/minContains`,error:`Array must contain at least ${Q$} items matching schema. Only ${k} items were found.`});else if(B1!==void 0&&k>B1)E.push({instanceLocation:J,keyword:"maxContains",keywordLocation:`${G}/maxContains`,error:`Array may contain at most ${B1} items matching schema. ${k} items were found.`})}if(!f&&YQ!==void 0){let S=`${G}/unevaluatedItems`;for(I;I<y;I++){if(z[I])continue;let O=i($[I],YQ,Y,q,W,Z,`${J}/${I}`,S);if(z[I]=!0,!O.valid)E.push({instanceLocation:J,keyword:"unevaluatedItems",keywordLocation:S,error:"Items did not match unevaluated items schema."},...O.errors)}}if(P8)for(let S=0;S<y;S++){let O=$[S],k=typeof O==="object"&&O!==null;for(let C=0;C<y;C++){if(S===C)continue;let A0=$[C];if(O===A0||k&&(typeof A0==="object"&&A0!==null)&&V$(O,A0))E.push({instanceLocation:J,keyword:"uniqueItems",keywordLocation:`${G}/uniqueItems`,error:`Duplicate items at indexes ${S} and ${C}.`}),S=Number.MAX_SAFE_INTEGER,C=Number.MAX_SAFE_INTEGER}}}else if(w==="number"){if(Y==="4"){if(O$!==void 0&&(o$===!0&&$<=O$||$<O$))E.push({instanceLocation:J,keyword:"minimum",keywordLocation:`${G}/minimum`,error:`${$} is less than ${o$?"or equal to ":""} ${O$}.`});if(P$!==void 0&&(r$===!0&&$>=P$||$>P$))E.push({instanceLocation:J,keyword:"maximum",keywordLocation:`${G}/maximum`,error:`${$} is greater than ${r$?"or equal to ":""} ${P$}.`})}else{if(O$!==void 0&&$<O$)E.push({instanceLocation:J,keyword:"minimum",keywordLocation:`${G}/minimum`,error:`${$} is less than ${O$}.`});if(P$!==void 0&&$>P$)E.push({instanceLocation:J,keyword:"maximum",keywordLocation:`${G}/maximum`,error:`${$} is greater than ${P$}.`});if(o$!==void 0&&$<=o$)E.push({instanceLocation:J,keyword:"exclusiveMinimum",keywordLocation:`${G}/exclusiveMinimum`,error:`${$} is less than ${o$}.`});if(r$!==void 0&&$>=r$)E.push({instanceLocation:J,keyword:"exclusiveMaximum",keywordLocation:`${G}/exclusiveMaximum`,error:`${$} is greater than or equal to ${r$}.`})}if(V1!==void 0){let y=$%V1;if(Math.abs(0-y)>=0.00000011920929&&Math.abs(V1-y)>=0.00000011920929)E.push({instanceLocation:J,keyword:"multipleOf",keywordLocation:`${G}/multipleOf`,error:`${$} is not a multiple of ${V1}.`})}}else if(w==="string"){let y=F1===void 0&&A1===void 0?0:gq($);if(F1!==void 0&&y<F1)E.push({instanceLocation:J,keyword:"minLength",keywordLocation:`${G}/minLength`,error:`String is too short (${y} < ${F1}).`});if(A1!==void 0&&y>A1)E.push({instanceLocation:J,keyword:"maxLength",keywordLocation:`${G}/maxLength`,error:`String is too long (${y} > ${A1}).`});if(WQ!==void 0&&!new RegExp(WQ,"u").test($))E.push({instanceLocation:J,keyword:"pattern",keywordLocation:`${G}/pattern`,error:"String does not match pattern."});if(q0!==void 0&&x2[q0]&&!x2[q0]($))E.push({instanceLocation:J,keyword:"format",keywordLocation:`${G}/format`,error:`String does not match format "${q0}".`})}return{valid:E.length===0,errors:E}}class I2{schema;draft;shortCircuit;lookup;constructor($,Q="2019-09",Y=!0){this.schema=$,this.draft=Q,this.shortCircuit=Y,this.lookup=g0($)}validate($){return i($,this.schema,this.draft,this.lookup,this.shortCircuit)}addSchema($,Q){if(Q)$={...$,$id:Q};g0($,this.lookup)}}var t7=j({Validator:()=>I2,deepCompareStrict:()=>V$,toJsonSchema:()=>v2,validatesOnlyStrings:()=>l$});function v2($,Q){if(w9($)&&!o($))return $["~standard"].jsonSchema.input({target:"draft-07"});if(o($)){let Y=T6($,!0);if(i0(Y))return j2(R1(Y,!0),Q);else return j2($,Q)}if(Q0($))return R2($);return $}function l$($){if(!$||typeof $!=="object"||Object.keys($).length===0||Array.isArray($))return!1;if("type"in $){if(typeof $.type==="string")return $.type==="string";if(Array.isArray($.type))return $.type.every((Q)=>Q==="string");return!1}if("enum"in $)return Array.isArray($.enum)&&$.enum.length>0&&$.enum.every((Q)=>typeof Q==="string");if("const"in $)return typeof $.const==="string";if("allOf"in $&&Array.isArray($.allOf))return $.allOf.some((Q)=>l$(Q));if("anyOf"in $&&Array.isArray($.anyOf)||"oneOf"in $&&Array.isArray($.oneOf)){let Q="anyOf"in $?$.anyOf:$.oneOf;return Q.length>0&&Q.every((Y)=>l$(Y))}if("not"in $)return!1;if("$ref"in $&&typeof $.$ref==="string"){let Q=$.$ref,Y=g0($);if(Y[Q])return l$(Y[Q]);return!1}return!1}function y2($){return typeof $==="object"&&$!==null&&typeof $[Symbol.iterator]==="function"&&typeof $.next==="function"}var mq=($)=>$!=null&&typeof $==="object"&&("next"in $)&&typeof $.next==="function";function X9($){return typeof $==="object"&&$!==null&&typeof $[Symbol.asyncIterator]==="function"}function dq($){return $!=null&&typeof $==="object"&&typeof $.next==="function"}async function pq($,Q){try{let Y=await $.next();while(!Y.done)await Q?.(Y.value),Y=await $.next();return Y.value}finally{await $.return?.(void 0)}}function*C2($,Q){while(!0){let{value:Y,done:q}=K0.runWithConfig(j0($),Q.next.bind(Q),!0);if(q)break;else yield Y}}async function*U9($,Q){let Y=Q[Symbol.asyncIterator]();while(!0){let{value:q,done:W}=await K0.runWithConfig(j0($),Y.next.bind(Q),!0);if(W)break;else yield q}}var L="0123456789abcdef".split(""),CJ=[-2147483648,8388608,32768,128],m0=[24,16,8,0],N9=[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],Z0=[];function d0($,Q){if(Q)Z0[0]=Z0[16]=Z0[1]=Z0[2]=Z0[3]=Z0[4]=Z0[5]=Z0[6]=Z0[7]=Z0[8]=Z0[9]=Z0[10]=Z0[11]=Z0[12]=Z0[13]=Z0[14]=Z0[15]=0,this.blocks=Z0;else this.blocks=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];if($)this.h0=3238371032,this.h1=914150663,this.h2=812702999,this.h3=4144912697,this.h4=4290775857,this.h5=1750603025,this.h6=1694076839,this.h7=3204075428;else 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=$}d0.prototype.update=function($){if(this.finalized)return;var Q,Y=typeof $;if(Y!=="string"){if(Y==="object"){if($===null)throw Error(ERROR);else if(ARRAY_BUFFER&&$.constructor===ArrayBuffer)$=new Uint8Array($);else if(!Array.isArray($)){if(!ARRAY_BUFFER||!ArrayBuffer.isView($))throw Error(ERROR)}}else throw Error(ERROR);Q=!0}var q,W=0,Z,J=$.length,G=this.blocks;while(W<J){if(this.hashed)this.hashed=!1,G[0]=this.block,this.block=G[16]=G[1]=G[2]=G[3]=G[4]=G[5]=G[6]=G[7]=G[8]=G[9]=G[10]=G[11]=G[12]=G[13]=G[14]=G[15]=0;if(Q)for(Z=this.start;W<J&&Z<64;++W)G[Z>>>2]|=$[W]<<m0[Z++&3];else for(Z=this.start;W<J&&Z<64;++W)if(q=$.charCodeAt(W),q<128)G[Z>>>2]|=q<<m0[Z++&3];else if(q<2048)G[Z>>>2]|=(192|q>>>6)<<m0[Z++&3],G[Z>>>2]|=(128|q&63)<<m0[Z++&3];else if(q<55296||q>=57344)G[Z>>>2]|=(224|q>>>12)<<m0[Z++&3],G[Z>>>2]|=(128|q>>>6&63)<<m0[Z++&3],G[Z>>>2]|=(128|q&63)<<m0[Z++&3];else q=65536+((q&1023)<<10|$.charCodeAt(++W)&1023),G[Z>>>2]|=(240|q>>>18)<<m0[Z++&3],G[Z>>>2]|=(128|q>>>12&63)<<m0[Z++&3],G[Z>>>2]|=(128|q>>>6&63)<<m0[Z++&3],G[Z>>>2]|=(128|q&63)<<m0[Z++&3];if(this.lastByteIndex=Z,this.bytes+=Z-this.start,Z>=64)this.block=G[16],this.start=Z-64,this.hash(),this.hashed=!0;else this.start=Z}if(this.bytes>4294967295)this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296;return this};d0.prototype.finalize=function(){if(this.finalized)return;this.finalized=!0;var $=this.blocks,Q=this.lastByteIndex;if($[16]=this.block,$[Q>>>2]|=CJ[Q&3],this.block=$[16],Q>=56){if(!this.hashed)this.hash();$[0]=this.block,$[16]=$[1]=$[2]=$[3]=$[4]=$[5]=$[6]=$[7]=$[8]=$[9]=$[10]=$[11]=$[12]=$[13]=$[14]=$[15]=0}$[14]=this.hBytes<<3|this.bytes>>>29,$[15]=this.bytes<<3,this.hash()};d0.prototype.hash=function(){var $=this.h0,Q=this.h1,Y=this.h2,q=this.h3,W=this.h4,Z=this.h5,J=this.h6,G=this.h7,z=this.blocks,K,w,X,U,N,F,A,H,_,D,x;for(K=16;K<64;++K)N=z[K-15],w=(N>>>7|N<<25)^(N>>>18|N<<14)^N>>>3,N=z[K-2],X=(N>>>17|N<<15)^(N>>>19|N<<13)^N>>>10,z[K]=z[K-16]+w+z[K-7]+X<<0;x=Q&Y;for(K=0;K<64;K+=4){if(this.first){if(this.is224)H=300032,N=z[0]-1413257819,G=N-150054599<<0,q=N+24177077<<0;else H=704751109,N=z[0]-210244248,G=N-1521486534<<0,q=N+143694565<<0;this.first=!1}else w=($>>>2|$<<30)^($>>>13|$<<19)^($>>>22|$<<10),X=(W>>>6|W<<26)^(W>>>11|W<<21)^(W>>>25|W<<7),H=$&Q,U=H^$&Y^x,A=W&Z^~W&J,N=G+X+A+N9[K]+z[K],F=w+U,G=q+N<<0,q=N+F<<0;w=(q>>>2|q<<30)^(q>>>13|q<<19)^(q>>>22|q<<10),X=(G>>>6|G<<26)^(G>>>11|G<<21)^(G>>>25|G<<7),_=q&$,U=_^q&Q^H,A=J&G^~J&W,N=Z+X+A+N9[K+1]+z[K+1],F=w+U,J=Y+N<<0,Y=N+F<<0,w=(Y>>>2|Y<<30)^(Y>>>13|Y<<19)^(Y>>>22|Y<<10),X=(J>>>6|J<<26)^(J>>>11|J<<21)^(J>>>25|J<<7),D=Y&q,U=D^Y&$^_,A=Z&J^~Z&G,N=W+X+A+N9[K+2]+z[K+2],F=w+U,Z=Q+N<<0,Q=N+F<<0,w=(Q>>>2|Q<<30)^(Q>>>13|Q<<19)^(Q>>>22|Q<<10),X=(Z>>>6|Z<<26)^(Z>>>11|Z<<21)^(Z>>>25|Z<<7),x=Q&Y,U=x^Q&q^D,A=Z&J^~Z&G,N=W+X+A+N9[K+3]+z[K+3],F=w+U,W=$+N<<0,$=N+F<<0,this.chromeBugWorkAround=!0}this.h0=this.h0+$<<0,this.h1=this.h1+Q<<0,this.h2=this.h2+Y<<0,this.h3=this.h3+q<<0,this.h4=this.h4+W<<0,this.h5=this.h5+Z<<0,this.h6=this.h6+J<<0,this.h7=this.h7+G<<0};d0.prototype.hex=function(){this.finalize();var $=this.h0,Q=this.h1,Y=this.h2,q=this.h3,W=this.h4,Z=this.h5,J=this.h6,G=this.h7,z=L[$>>>28&15]+L[$>>>24&15]+L[$>>>20&15]+L[$>>>16&15]+L[$>>>12&15]+L[$>>>8&15]+L[$>>>4&15]+L[$&15]+L[Q>>>28&15]+L[Q>>>24&15]+L[Q>>>20&15]+L[Q>>>16&15]+L[Q>>>12&15]+L[Q>>>8&15]+L[Q>>>4&15]+L[Q&15]+L[Y>>>28&15]+L[Y>>>24&15]+L[Y>>>20&15]+L[Y>>>16&15]+L[Y>>>12&15]+L[Y>>>8&15]+L[Y>>>4&15]+L[Y&15]+L[q>>>28&15]+L[q>>>24&15]+L[q>>>20&15]+L[q>>>16&15]+L[q>>>12&15]+L[q>>>8&15]+L[q>>>4&15]+L[q&15]+L[W>>>28&15]+L[W>>>24&15]+L[W>>>20&15]+L[W>>>16&15]+L[W>>>12&15]+L[W>>>8&15]+L[W>>>4&15]+L[W&15]+L[Z>>>28&15]+L[Z>>>24&15]+L[Z>>>20&15]+L[Z>>>16&15]+L[Z>>>12&15]+L[Z>>>8&15]+L[Z>>>4&15]+L[Z&15]+L[J>>>28&15]+L[J>>>24&15]+L[J>>>20&15]+L[J>>>16&15]+L[J>>>12&15]+L[J>>>8&15]+L[J>>>4&15]+L[J&15];if(!this.is224)z+=L[G>>>28&15]+L[G>>>24&15]+L[G>>>20&15]+L[G>>>16&15]+L[G>>>12&15]+L[G>>>8&15]+L[G>>>4&15]+L[G&15];return z};d0.prototype.toString=d0.prototype.hex;d0.prototype.digest=function(){this.finalize();var $=this.h0,Q=this.h1,Y=this.h2,q=this.h3,W=this.h4,Z=this.h5,J=this.h6,G=this.h7,z=[$>>>24&255,$>>>16&255,$>>>8&255,$&255,Q>>>24&255,Q>>>16&255,Q>>>8&255,Q&255,Y>>>24&255,Y>>>16&255,Y>>>8&255,Y&255,q>>>24&255,q>>>16&255,q>>>8&255,q&255,W>>>24&255,W>>>16&255,W>>>8&255,W&255,Z>>>24&255,Z>>>16&255,Z>>>8&255,Z&255,J>>>24&255,J>>>16&255,J>>>8&255,J&255];if(!this.is224)z.push(G>>>24&255,G>>>16&255,G>>>8&255,G&255);return z};d0.prototype.array=d0.prototype.digest;d0.prototype.arrayBuffer=function(){this.finalize();var $=new ArrayBuffer(this.is224?28:32),Q=new DataView($);if(Q.setUint32(0,this.h0),Q.setUint32(4,this.h1),Q.setUint32(8,this.h2),Q.setUint32(12,this.h3),Q.setUint32(16,this.h4),Q.setUint32(20,this.h5),Q.setUint32(24,this.h6),!this.is224)Q.setUint32(28,this.h7);return $};var B9=(...$)=>{return new d0(!1,!0).update($.join("")).hex()};var qB=j({sha256:()=>B9});var KB=j({BaseCache:()=>cq,InMemoryCache:()=>k2,defaultHashKeyEncoder:()=>uq,deserializeStoredGeneration:()=>kJ,serializeGeneration:()=>fJ}),uq=(...$)=>B9($.join("_"));function kJ($){if($.message!==void 0)return{text:$.text,message:W4($.message)};else return{text:$.text}}function fJ($){let Q={text:$.text};if($.message!==void 0)Q.message=$.message.toDict();return Q}var cq=class{keyEncoder=uq;makeDefaultKeyEncoder($){this.keyEncoder=$}},bJ=new Map,k2=class $ extends cq{cache;constructor(Q){super();this.cache=Q??new Map}lookup(Q,Y){return Promise.resolve(this.cache.get(this.keyEncoder(Q,Y))??null)}async update(Q,Y,q){this.cache.set(this.keyEncoder(Q,Y),q)}static global(){return new $(bJ)}};var hJ=Object.prototype.toString,gJ=($)=>hJ.call($)==="[object Error]",mJ=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 lq($){if(!($&&gJ($)&&$.name==="TypeError"&&typeof $.message==="string"))return!1;let{message:Q,stack:Y}=$;if(Q==="Load failed")return Y===void 0||"__sentry_captured__"in $;if(Q.startsWith("error sending request for url"))return!0;return mJ.has(Q)}function dJ($){if(typeof $==="number"){if($<0)throw TypeError("Expected `retries` to be a non-negative number.");if(Number.isNaN($))throw TypeError("Expected `retries` to be a valid number or Infinity, got NaN.")}else if($!==void 0)throw TypeError("Expected `retries` to be a number or Infinity.")}function V9($,Q,{min:Y=0,allowInfinity:q=!1}={}){if(Q===void 0)return;if(typeof Q!=="number"||Number.isNaN(Q))throw TypeError(`Expected \`${$}\` to be a number${q?" or Infinity":""}.`);if(!q&&!Number.isFinite(Q))throw TypeError(`Expected \`${$}\` to be a finite number.`);if(Q<Y)throw TypeError(`Expected \`${$}\` to be ≥ ${Y}.`)}var pJ=class extends Error{constructor($){super();if($ instanceof Error)this.originalError=$,{message:$}=$;else this.originalError=Error($),this.originalError.stack=this.stack;this.name="AbortError",this.message=$}};function uJ($,Q){let Y=Math.max(1,$+1),q=Q.randomize?Math.random()+1:1,W=Math.round(q*Q.minTimeout*Q.factor**(Y-1));return W=Math.min(W,Q.maxTimeout),W}function iq($,Q){if(!Number.isFinite(Q))return Q;return Q-(performance.now()-$)}async function cJ({error:$,attemptNumber:Q,retriesConsumed:Y,startTime:q,options:W}){let Z=$ instanceof Error?$:TypeError(`Non-error was thrown: "${$}". You should only throw errors.`);if(Z instanceof pJ)throw Z.originalError;let J=Number.isFinite(W.retries)?Math.max(0,W.retries-Y):W.retries,G=W.maxRetryTime??Number.POSITIVE_INFINITY,z=Object.freeze({error:Z,attemptNumber:Q,retriesLeft:J,retriesConsumed:Y});if(await W.onFailedAttempt(z),iq(q,G)<=0)throw Z;let K=await W.shouldConsumeRetry(z),w=iq(q,G);if(w<=0||J<=0)throw Z;if(Z instanceof TypeError&&!lq(Z)){if(K)throw Z;return W.signal?.throwIfAborted(),!1}if(!await W.shouldRetry(z))throw Z;if(!K)return W.signal?.throwIfAborted(),!1;let X=uJ(Y,W),U=Math.min(X,w);if(U>0)await new Promise((N,F)=>{let A=()=>{clearTimeout(H),W.signal?.removeEventListener("abort",A),F(W.signal.reason)},H=setTimeout(()=>{W.signal?.removeEventListener("abort",A),N()},U);if(W.unref)H.unref?.();W.signal?.addEventListener("abort",A,{once:!0})});return W.signal?.throwIfAborted(),!0}async function z1($,Q={}){if(Q={...Q},dJ(Q.retries),Object.hasOwn(Q,"forever"))throw Error("The `forever` option is no longer supported. For many use-cases, you can set `retries: Infinity` instead.");if(Q.retries??=10,Q.factor??=2,Q.minTimeout??=1000,Q.maxTimeout??=Number.POSITIVE_INFINITY,Q.maxRetryTime??=Number.POSITIVE_INFINITY,Q.randomize??=!1,Q.onFailedAttempt??=()=>{},Q.shouldRetry??=()=>!0,Q.shouldConsumeRetry??=()=>!0,V9("factor",Q.factor,{min:0,allowInfinity:!1}),V9("minTimeout",Q.minTimeout,{min:0,allowInfinity:!1}),V9("maxTimeout",Q.maxTimeout,{min:0,allowInfinity:!0}),V9("maxRetryTime",Q.maxRetryTime,{min:0,allowInfinity:!0}),!(Q.factor>0))Q.factor=1;Q.signal?.throwIfAborted();let Y=0,q=0,W=performance.now();while(Number.isFinite(Q.retries)?q<=Q.retries:!0){Y++;try{Q.signal?.throwIfAborted();let Z=await $(Y);return Q.signal?.throwIfAborted(),Z}catch(Z){if(await cJ({error:Z,attemptNumber:Y,retriesConsumed:q,startTime:W,options:Q}))q++}}throw Error("Retry attempts exhausted without throwing an error.")}var F9=Z$(t1(),1),HB=j({AsyncCaller:()=>j$}),lJ=[400,401,402,403,404,405,406,407,409],iJ=($)=>{if(typeof $!=="object"||$===null)return;if("message"in $&&typeof $.message==="string"&&($.message.startsWith("Cancel")||$.message.startsWith("AbortError"))||"name"in $&&typeof $.name==="string"&&$.name==="AbortError")throw $;if("code"in $&&typeof $.code==="string"&&$.code==="ECONNABORTED")throw $;let Q="response"in $&&typeof $.response==="object"&&$.response!==null&&"status"in $.response&&typeof $.response.status==="number"?$.response.status:void 0,Y="status"in $&&typeof $.status==="number"?$.status:void 0,q=Q??Y;if(q&&lJ.includes(+q))throw $;if(("error"in $&&typeof $.error==="object"&&$.error!==null&&"code"in $.error&&typeof $.error.code==="string"?$.error.code:void 0)==="insufficient_quota"){let W=Error("message"in $&&typeof $.message==="string"?$.message:"Insufficient quota");throw W.name="InsufficientQuotaError",W}},j$=class{maxConcurrency;maxRetries;onFailedAttempt;queue;constructor($){this.maxConcurrency=$.maxConcurrency??1/0,this.maxRetries=$.maxRetries??6,this.onFailedAttempt=$.onFailedAttempt??iJ,this.queue=new("default"in F9.default?F9.default.default:F9.default)({concurrency:this.maxConcurrency})}async call($,...Q){return this.queue.add(()=>z1(()=>$(...Q).catch((Y)=>{if(Y instanceof Error)throw Y;else throw Error(Y)}),{onFailedAttempt:({error:Y})=>this.onFailedAttempt?.(Y),retries:this.maxRetries,randomize:!0}),{throwOnTimeout:!0})}callWithOptions($,Q,...Y){if($.signal){let q;return Promise.race([this.call(Q,...Y),new Promise((W,Z)=>{q=()=>{Z(B$($.signal))},$.signal?.addEventListener("abort",q,{once:!0})})]).finally(()=>{if($.signal&&q)$.signal.removeEventListener("abort",q)})}return this.call(Q,...Y)}fetch(...$){return this.call(()=>fetch(...$).then((Q)=>Q.ok?Q:Promise.reject(Q)))}};var MB=j({AsyncGeneratorWithSetup:()=>F$,IterableReadableStream:()=>V0,atee:()=>A9,concat:()=>D9,pipeGeneratorWithSetup:()=>f2}),V0=class $ extends ReadableStream{reader;ensureReader(){if(!this.reader)this.reader=this.getReader()}async next(){this.ensureReader();try{let Q=await this.reader.read();if(Q.done)return this.reader.releaseLock(),{done:!0,value:void 0};else return{done:!1,value:Q.value}}catch(Q){throw this.reader.releaseLock(),Q}}async return(){if(this.ensureReader(),this.locked){let Q=this.reader.cancel();this.reader.releaseLock(),await Q}return{done:!0,value:void 0}}async throw(Q){if(this.ensureReader(),this.locked){let Y=this.reader.cancel();this.reader.releaseLock(),await Y}throw Q}[Symbol.asyncIterator](){return this}async[Symbol.asyncDispose](){await this.return()}static fromReadableStream(Q){let Y=Q.getReader();return new $({start(q){return W();function W(){return Y.read().then(({done:Z,value:J})=>{if(Z){q.close();return}return q.enqueue(J),W()})}},cancel(){Y.releaseLock()}})}static fromAsyncGenerator(Q){return new $({async pull(Y){let{value:q,done:W}=await Q.next();if(W)Y.close();Y.enqueue(q)},async cancel(Y){await Q.return(Y)}})}};function A9($,Q=2){let Y=Array.from({length:Q},()=>[]);return Y.map(async function*(W){while(!0)if(W.length===0){let Z=await $.next();for(let J of Y)J.push(Z)}else if(W[0].done)return;else yield W.shift().value})}function D9($,Q){if(Array.isArray($)&&Array.isArray(Q))return $.concat(Q);else if(typeof $==="string"&&typeof Q==="string")return $+Q;else if(typeof $==="number"&&typeof Q==="number")return $+Q;else if("concat"in $&&typeof $.concat==="function")return $.concat(Q);else if(typeof $==="object"&&typeof Q==="object"){let Y={...$};for(let[q,W]of Object.entries(Q))if(q in Y&&!Array.isArray(Y[q]))Y[q]=D9(Y[q],W);else Y[q]=W;return Y}else throw Error(`Cannot concat ${typeof $} and ${typeof Q}`)}var F$=class{generator;setup;config;signal;firstResult;firstResultUsed=!1;constructor($){this.generator=$.generator,this.config=$.config,this.signal=$.signal??this.config?.signal,this.setup=new Promise((Q,Y)=>{K0.runWithConfig(j0($.config),async()=>{if(this.firstResult=$.generator.next(),$.startSetup)this.firstResult.then($.startSetup).then(Q,Y);else this.firstResult.then((q)=>Q(void 0),Y)},!0)})}async next(...$){if(this.signal?.throwIfAborted(),!this.firstResultUsed)return this.firstResultUsed=!0,this.firstResult;return K0.runWithConfig(j0(this.config),this.signal?async()=>{return n0(this.generator.next(...$),this.signal)}:async()=>{return this.generator.next(...$)},!0)}async return($){return this.generator.return($)}async throw($){return this.generator.throw($)}[Symbol.asyncIterator](){return this}async[Symbol.asyncDispose](){await this.return()}};async function f2($,Q,Y,q,...W){let Z=new F$({generator:Q,startSetup:Y,signal:q}),J=await Z.setup;return{output:$(Z,J,...W),setup:J}}/*!
|
|
61
|
+
* https://github.com/Starcounter-Jack/JSON-Patch
|
|
62
|
+
* (c) 2017-2022 Joachim Wester
|
|
63
|
+
* MIT licensed
|
|
64
|
+
*/var sJ=Object.prototype.hasOwnProperty;function O9($,Q){return sJ.call($,Q)}function P9($){if(Array.isArray($)){let Y=Array($.length);for(let q=0;q<Y.length;q++)Y[q]=""+q;return Y}if(Object.keys)return Object.keys($);let Q=[];for(let Y in $)if(O9($,Y))Q.push(Y);return Q}function F0($){switch(typeof $){case"object":return JSON.parse(JSON.stringify($));case"undefined":return null;default:return $}}function E9($){let Q=0,Y=$.length,q;while(Q<Y){if(q=$.charCodeAt(Q),q>=48&&q<=57){Q++;continue}return!1}return!0}function W$($){if($.indexOf("/")===-1&&$.indexOf("~")===-1)return $;return $.replace(/~/g,"~0").replace(/\//g,"~1")}function S9($){return $.replace(/~1/g,"/").replace(/~0/g,"~")}function H9($){if($===void 0)return!0;if($){if(Array.isArray($)){for(let Y=0,q=$.length;Y<q;Y++)if(H9($[Y]))return!0}else if(typeof $==="object"){let Y=P9($),q=Y.length;for(var Q=0;Q<q;Q++)if(H9($[Y[Q]]))return!0}}return!1}function sq($,Q){let Y=[$];for(let q in Q){let W=typeof Q[q]==="object"?JSON.stringify(Q[q],null,2):Q[q];if(typeof W<"u")Y.push(`${q}: ${W}`)}return Y.join(`
|
|
65
|
+
`)}var L9=class extends Error{constructor($,Q,Y,q,W){super(sq($,{name:Q,index:Y,operation:q,tree:W}));this.name=Q,this.index=Y,this.operation=q,this.tree=W,Object.setPrototypeOf(this,new.target.prototype),this.message=sq($,{name:Q,index:Y,operation:q,tree:W})}};var tq=j({JsonPatchError:()=>a,_areEquals:()=>s$,applyOperation:()=>A$,applyPatch:()=>v$,applyReducer:()=>oq,deepClone:()=>tJ,getValueByPointer:()=>K1,validate:()=>b2,validator:()=>w1}),a=L9,tJ=F0,i$={add:function($,Q,Y){if(Q==="__proto__"||Q==="constructor")throw TypeError("JSON-Patch: modifying `__proto__` or `constructor` prop is banned for security reasons");return $[Q]=this.value,{newDocument:Y}},remove:function($,Q,Y){if(Q==="__proto__"||Q==="constructor")throw TypeError("JSON-Patch: modifying `__proto__` or `constructor` prop is banned for security reasons");var q=$[Q];return delete $[Q],{newDocument:Y,removed:q}},replace:function($,Q,Y){if(Q==="__proto__"||Q==="constructor")throw TypeError("JSON-Patch: modifying `__proto__` or `constructor` prop is banned for security reasons");var q=$[Q];return $[Q]=this.value,{newDocument:Y,removed:q}},move:function($,Q,Y){let q=K1(Y,this.path);if(q)q=F0(q);let W=A$(Y,{op:"remove",path:this.from}).removed;return A$(Y,{op:"add",path:this.path,value:W}),{newDocument:Y,removed:q}},copy:function($,Q,Y){let q=K1(Y,this.from);return A$(Y,{op:"add",path:this.path,value:F0(q)}),{newDocument:Y}},test:function($,Q,Y){return{newDocument:Y,test:s$($[Q],this.value)}},_get:function($,Q,Y){return this.value=$[Q],{newDocument:Y}}},oJ={add:function($,Q,Y){if(E9(Q))$.splice(Q,0,this.value);else $[Q]=this.value;return{newDocument:Y,index:Q}},remove:function($,Q,Y){return{newDocument:Y,removed:$.splice(Q,1)[0]}},replace:function($,Q,Y){var q=$[Q];return $[Q]=this.value,{newDocument:Y,removed:q}},move:i$.move,copy:i$.copy,test:i$.test,_get:i$._get};function K1($,Q){if(Q=="")return $;var Y={op:"_get",path:Q};return A$($,Y),Y.value}function A$($,Q,Y=!1,q=!0,W=!0,Z=0){if(Y)if(typeof Y=="function")Y(Q,0,$,Q.path);else w1(Q,0);if(Q.path===""){let J={newDocument:$};if(Q.op==="add")return J.newDocument=Q.value,J;else if(Q.op==="replace")return J.newDocument=Q.value,J.removed=$,J;else if(Q.op==="move"||Q.op==="copy"){if(J.newDocument=K1($,Q.from),Q.op==="move")J.removed=$;return J}else if(Q.op==="test"){if(J.test=s$($,Q.value),J.test===!1)throw new a("Test operation failed","TEST_OPERATION_FAILED",Z,Q,$);return J.newDocument=$,J}else if(Q.op==="remove")return J.removed=$,J.newDocument=null,J;else if(Q.op==="_get")return Q.value=$,J;else if(Y)throw new a("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",Z,Q,$);else return J}else{if(!q)$=F0($);let J=(Q.path||"").split("/"),G=$,z=1,K=J.length,w=void 0,X,U;if(typeof Y=="function")U=Y;else U=w1;while(!0){if(X=J[z],X&&X.indexOf("~")!=-1)X=S9(X);if(W&&(X=="__proto__"||X=="prototype"&&z>0&&J[z-1]=="constructor"))throw 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(Y){if(w===void 0){if(G[X]===void 0)w=J.slice(0,z).join("/");else if(z==K-1)w=Q.path;if(w!==void 0)U(Q,0,$,w)}}if(z++,Array.isArray(G)){if(X==="-")X=G.length;else if(Y&&!E9(X))throw new a("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",Z,Q,$);else if(E9(X))X=~~X;if(z>=K){if(Y&&Q.op==="add"&&X>G.length)throw new a("The specified index MUST NOT be greater than the number of elements in the array","OPERATION_VALUE_OUT_OF_BOUNDS",Z,Q,$);let N=oJ[Q.op].call(Q,G,X,$);if(N.test===!1)throw new a("Test operation failed","TEST_OPERATION_FAILED",Z,Q,$);return N}}else if(z>=K){let N=i$[Q.op].call(Q,G,X,$);if(N.test===!1)throw new a("Test operation failed","TEST_OPERATION_FAILED",Z,Q,$);return N}if(G=G[X],Y&&z<K&&(!G||typeof G!=="object"))throw new a("Cannot perform operation at the desired path","OPERATION_PATH_UNRESOLVABLE",Z,Q,$)}}}function v$($,Q,Y,q=!0,W=!0){if(Y){if(!Array.isArray(Q))throw new a("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY")}if(!q)$=F0($);let Z=Array(Q.length);for(let J=0,G=Q.length;J<G;J++)Z[J]=A$($,Q[J],Y,!0,W,J),$=Z[J].newDocument;return Z.newDocument=$,Z}function oq($,Q,Y){let q=A$($,Q);if(q.test===!1)throw new a("Test operation failed","TEST_OPERATION_FAILED",Y,Q,$);return q.newDocument}function w1($,Q,Y,q){if(typeof $!=="object"||$===null||Array.isArray($))throw new a("Operation is not an object","OPERATION_NOT_AN_OBJECT",Q,$,Y);else if(!i$[$.op])throw new a("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",Q,$,Y);else if(typeof $.path!=="string")throw new a("Operation `path` property is not a string","OPERATION_PATH_INVALID",Q,$,Y);else if($.path.indexOf("/")!==0&&$.path.length>0)throw new a('Operation `path` property must start with "/"',"OPERATION_PATH_INVALID",Q,$,Y);else if(($.op==="move"||$.op==="copy")&&typeof $.from!=="string")throw new a("Operation `from` property is not present (applicable in `move` and `copy` operations)","OPERATION_FROM_REQUIRED",Q,$,Y);else if(($.op==="add"||$.op==="replace"||$.op==="test")&&$.value===void 0)throw new a("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_REQUIRED",Q,$,Y);else if(($.op==="add"||$.op==="replace"||$.op==="test")&&H9($.value))throw new a("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED",Q,$,Y);else if(Y){if($.op=="add"){var W=$.path.split("/").length,Z=q.split("/").length;if(W!==Z+1&&W!==Z)throw new a("Cannot perform an `add` operation at the desired path","OPERATION_PATH_CANNOT_ADD",Q,$,Y)}else if($.op==="replace"||$.op==="remove"||$.op==="_get"){if($.path!==q)throw new a("Cannot perform the operation at a path that does not exist","OPERATION_PATH_UNRESOLVABLE",Q,$,Y)}else if($.op==="move"||$.op==="copy"){var J=b2([{op:"_get",path:$.from,value:void 0}],Y);if(J&&J.name==="OPERATION_PATH_UNRESOLVABLE")throw new a("Cannot perform the operation from a path that does not exist","OPERATION_FROM_UNRESOLVABLE",Q,$,Y)}}}function b2($,Q,Y){try{if(!Array.isArray($))throw new a("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");if(Q)v$(F0(Q),F0($),Y||!0);else{Y=Y||w1;for(var q=0;q<$.length;q++)Y($[q],q,Q,void 0)}}catch(W){if(W instanceof a)return W;else throw W}}function s$($,Q){if($===Q)return!0;if($&&Q&&typeof $=="object"&&typeof Q=="object"){var Y=Array.isArray($),q=Array.isArray(Q),W,Z,J;if(Y&&q){if(Z=$.length,Z!=Q.length)return!1;for(W=Z;W--!==0;)if(!s$($[W],Q[W]))return!1;return!0}if(Y!=q)return!1;var G=Object.keys($);if(Z=G.length,Z!==Object.keys(Q).length)return!1;for(W=Z;W--!==0;)if(!Q.hasOwnProperty(G[W]))return!1;for(W=Z;W--!==0;)if(J=G[W],!s$($[J],Q[J]))return!1;return!0}return $!==$&&Q!==Q}/*!
|
|
66
|
+
* https://github.com/Starcounter-Jack/JSON-Patch
|
|
67
|
+
* (c) 2013-2021 Joachim Wester
|
|
68
|
+
* MIT license
|
|
69
|
+
*/function rq($,Q,Y,q,W){if(Q===$)return;if(typeof Q.toJSON==="function")Q=Q.toJSON();var Z=P9(Q),J=P9($),G=!1;for(var z=J.length-1;z>=0;z--){var K=J[z],w=$[K];if(O9(Q,K)&&!(Q[K]===void 0&&w!==void 0&&Array.isArray(Q)===!1)){var X=Q[K];if(typeof w=="object"&&w!=null&&typeof X=="object"&&X!=null&&Array.isArray(w)===Array.isArray(X))rq(w,X,Y,q+"/"+W$(K),W);else if(w!==X){if(W)Y.push({op:"test",path:q+"/"+W$(K),value:F0(w)});Y.push({op:"replace",path:q+"/"+W$(K),value:F0(X)})}}else if(Array.isArray($)===Array.isArray(Q)){if(W)Y.push({op:"test",path:q+"/"+W$(K),value:F0(w)});Y.push({op:"remove",path:q+"/"+W$(K)}),G=!0}else{if(W)Y.push({op:"test",path:q,value:$});Y.push({op:"replace",path:q,value:Q})}}if(!G&&Z.length==J.length)return;for(var z=0;z<Z.length;z++){var K=Z[z];if(!O9($,K)&&Q[K]!==void 0)Y.push({op:"add",path:q+"/"+W$(K),value:F0(Q[K])})}}function rJ($,Q,Y=!1){var q=[];return rq($,Q,q,"",Y),q}var dB={...tq,JsonPatchError:L9,deepClone:F0,escapePathComponent:W$,unescapePathComponent:S9};var tB=j({LogStreamCallbackHandler:()=>_9,RunLog:()=>T9,RunLogPatch:()=>e0,isLogStreamHandler:()=>h2}),e0=class{ops;constructor($){this.ops=$.ops??[]}concat($){let Q=this.ops.concat($.ops),Y=v$({},Q);return new T9({ops:Q,state:Y[Y.length-1].newDocument})}},T9=class $ extends e0{state;constructor(Q){super(Q);this.state=Q.state}concat(Q){let Y=this.ops.concat(Q.ops),q=v$(this.state,Q.ops);return new $({ops:Y,state:q[q.length-1].newDocument})}static fromRunLogPatch(Q){let Y=v$({},Q.ops);return new $({ops:Q.ops,state:Y[Y.length-1].newDocument})}},h2=($)=>$.name==="log_stream_tracer";async function nq($,Q){if(Q==="original")throw Error("Do not assign inputs with original schema drop the key for now. When inputs are added to streamLog they should be added with standardized schema for streaming events.");let{inputs:Y}=$;if(["retriever","llm","prompt"].includes($.run_type))return Y;if(Object.keys(Y).length===1&&Y?.input==="")return;return Y.input}async function aq($,Q){let{outputs:Y}=$;if(Q==="original")return Y;if(["retriever","llm","prompt"].includes($.run_type))return Y;if(Y!==void 0&&Object.keys(Y).length===1&&Y?.output!==void 0)return Y.output;return Y}function nJ($){return $!==void 0&&$.message!==void 0}var _9=class extends f0{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($){super({_awaitHandler:!0,...$});this.autoClose=$?.autoClose??!0,this.includeNames=$?.includeNames,this.includeTypes=$?.includeTypes,this.includeTags=$?.includeTags,this.excludeNames=$?.excludeNames,this.excludeTypes=$?.excludeTypes,this.excludeTags=$?.excludeTags,this._schemaFormat=$?._schemaFormat??this._schemaFormat,this.transformStream=new TransformStream,this.writer=this.transformStream.writable.getWriter(),this.receiveStream=V0.fromReadableStream(this.transformStream.readable)}[Symbol.asyncIterator](){return this.receiveStream}async persistRun($){}_includeRun($){if($.id===this.rootId)return!1;let Q=$.tags??[],Y=this.includeNames===void 0&&this.includeTags===void 0&&this.includeTypes===void 0;if(this.includeNames!==void 0)Y=Y||this.includeNames.includes($.name);if(this.includeTypes!==void 0)Y=Y||this.includeTypes.includes($.run_type);if(this.includeTags!==void 0)Y=Y||Q.find((q)=>this.includeTags?.includes(q))!==void 0;if(this.excludeNames!==void 0)Y=Y&&!this.excludeNames.includes($.name);if(this.excludeTypes!==void 0)Y=Y&&!this.excludeTypes.includes($.run_type);if(this.excludeTags!==void 0)Y=Y&&Q.every((q)=>!this.excludeTags?.includes(q));return Y}async*tapOutputIterable($,Q){for await(let Y of Q){if($!==this.rootId){let q=this.keyMapByRunId[$];if(q)await this.writer.write(new e0({ops:[{op:"add",path:`/logs/${q}/streamed_output/-`,value:Y}]}))}yield Y}}async onRunCreate($){if(this.rootId===void 0)this.rootId=$.id,await this.writer.write(new e0({ops:[{op:"replace",path:"",value:{id:$.id,name:$.name,type:$.run_type,streamed_output:[],final_output:void 0,logs:{}}}]}));if(!this._includeRun($))return;if(this.counterMapByRunName[$.name]===void 0)this.counterMapByRunName[$.name]=0;this.counterMapByRunName[$.name]+=1;let Q=this.counterMapByRunName[$.name];this.keyMapByRunId[$.id]=Q===1?$.name:`${$.name}:${Q}`;let Y={id:$.id,name:$.name,type:$.run_type,tags:$.tags??[],metadata:$.extra?.metadata??{},start_time:new Date($.start_time).toISOString(),streamed_output:[],streamed_output_str:[],final_output:void 0,end_time:void 0};if(this._schemaFormat==="streaming_events")Y.inputs=await nq($,this._schemaFormat);await this.writer.write(new e0({ops:[{op:"add",path:`/logs/${this.keyMapByRunId[$.id]}`,value:Y}]}))}async onRunUpdate($){try{let Q=this.keyMapByRunId[$.id];if(Q===void 0)return;let Y=[];if(this._schemaFormat==="streaming_events")Y.push({op:"replace",path:`/logs/${Q}/inputs`,value:await nq($,this._schemaFormat)});if(Y.push({op:"add",path:`/logs/${Q}/final_output`,value:await aq($,this._schemaFormat)}),$.end_time!==void 0)Y.push({op:"add",path:`/logs/${Q}/end_time`,value:new Date($.end_time).toISOString()});let q=new e0({ops:Y});await this.writer.write(q)}finally{if($.id===this.rootId){let Q=new e0({ops:[{op:"replace",path:"/final_output",value:await aq($,this._schemaFormat)}]});if(await this.writer.write(Q),this.autoClose)await this.writer.close()}}}async onLLMNewToken($,Q,Y){let q=this.keyMapByRunId[$.id];if(q===void 0)return;let W=$.inputs.messages!==void 0,Z;if(W)if(nJ(Y?.chunk))Z=Y?.chunk;else Z=new b$({id:`run-${$.id}`,content:Q});else Z=Q;let J=new e0({ops:[{op:"add",path:`/logs/${q}/streamed_output_str/-`,value:Q},{op:"add",path:`/logs/${q}/streamed_output/-`,value:Z}]});await this.writer.write(J)}};var eB=j({ChatGenerationChunk:()=>eJ,GenerationChunk:()=>X1,RUN_KEY:()=>aJ}),aJ="__run",X1=class ${text;generationInfo;constructor(Q){this.text=Q.text,this.generationInfo=Q.generationInfo}concat(Q){return new $({text:this.text+Q.text,generationInfo:{...this.generationInfo,...Q.generationInfo}})}},eJ=class $ extends X1{message;constructor(Q){super(Q);this.message=Q.message}concat(Q){return new $({text:this.text+Q.text,generationInfo:{...this.generationInfo,...Q.generationInfo},message:this.message.concat(Q.message)})}};function M9({name:$,serialized:Q}){if($!==void 0)return $;if(Q?.name!==void 0)return Q.name;else if(Q?.id!==void 0&&Array.isArray(Q?.id))return Q.id[Q.id.length-1];return"Unnamed"}var eq=($)=>$.name==="event_stream_tracer",$8=class extends f0{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($){super({_awaitHandler:!0,...$});this.autoClose=$?.autoClose??!0,this.includeNames=$?.includeNames,this.includeTypes=$?.includeTypes,this.includeTags=$?.includeTags,this.excludeNames=$?.excludeNames,this.excludeTypes=$?.excludeTypes,this.excludeTags=$?.excludeTags,this.transformStream=new TransformStream({flush:()=>{this.readableStreamClosed=!0}}),this.writer=this.transformStream.writable.getWriter(),this.receiveStream=V0.fromReadableStream(this.transformStream.readable)}[Symbol.asyncIterator](){return this.receiveStream}async persistRun($){}_includeRun($){let Q=$.tags??[],Y=this.includeNames===void 0&&this.includeTags===void 0&&this.includeTypes===void 0;if(this.includeNames!==void 0)Y=Y||this.includeNames.includes($.name);if(this.includeTypes!==void 0)Y=Y||this.includeTypes.includes($.runType);if(this.includeTags!==void 0)Y=Y||Q.find((q)=>this.includeTags?.includes(q))!==void 0;if(this.excludeNames!==void 0)Y=Y&&!this.excludeNames.includes($.name);if(this.excludeTypes!==void 0)Y=Y&&!this.excludeTypes.includes($.runType);if(this.excludeTags!==void 0)Y=Y&&Q.every((q)=>!this.excludeTags?.includes(q));return Y}async*tapOutputIterable($,Q){let Y=await Q.next();if(Y.done)return;let q=this.runInfoMap.get($);if(q===void 0){yield Y.value;return}function W(J,G){if(J==="llm"&&typeof G==="string")return new X1({text:G});return G}let Z=this.tappedPromises.get($);if(Z===void 0){let J;Z=new Promise((G)=>{J=G}),this.tappedPromises.set($,Z);try{let G={event:`on_${q.runType}_stream`,run_id:$,name:q.name,tags:q.tags,metadata:q.metadata,data:{}};await this.send({...G,data:{chunk:W(q.runType,Y.value)}},q),yield Y.value;for await(let z of Q){if(q.runType!=="tool"&&q.runType!=="retriever")await this.send({...G,data:{chunk:W(q.runType,z)}},q);yield z}}finally{J?.()}}else{yield Y.value;for await(let J of Q)yield J}}async send($,Q){if(this.readableStreamClosed)return;if(this._includeRun(Q))await this.writer.write($)}async sendEndEvent($,Q){let Y=this.tappedPromises.get($.run_id);if(Y!==void 0)Y.then(()=>{this.send($,Q)});else await this.send($,Q)}async onLLMStart($){let Q=M9($),Y=$.inputs.messages!==void 0?"chat_model":"llm",q={tags:$.tags??[],metadata:$.extra?.metadata??{},name:Q,runType:Y,inputs:$.inputs};this.runInfoMap.set($.id,q);let W=`on_${Y}_start`;await this.send({event:W,data:{input:$.inputs},name:Q,tags:$.tags??[],run_id:$.id,metadata:$.extra?.metadata??{}},q)}async onLLMNewToken($,Q,Y){let q=this.runInfoMap.get($.id),W,Z;if(q===void 0)throw Error(`onLLMNewToken: Run ID ${$.id} not found in run map.`);if(this.runInfoMap.size===1)return;if(q.runType==="chat_model")if(Z="on_chat_model_stream",Y?.chunk===void 0)W=new b$({content:Q,id:`run-${$.id}`});else W=Y.chunk.message;else if(q.runType==="llm")if(Z="on_llm_stream",Y?.chunk===void 0)W=new X1({text:Q});else W=Y.chunk;else throw Error(`Unexpected run type ${q.runType}`);await this.send({event:Z,data:{chunk:W},run_id:$.id,name:q.name,tags:q.tags,metadata:q.metadata},q)}async onLLMEnd($){let Q=this.runInfoMap.get($.id);this.runInfoMap.delete($.id);let Y;if(Q===void 0)throw Error(`onLLMEnd: Run ID ${$.id} not found in run map.`);let q=$.outputs?.generations,W;if(Q.runType==="chat_model"){for(let Z of q??[]){if(W!==void 0)break;W=Z[0]?.message}Y="on_chat_model_end"}else if(Q.runType==="llm")W={generations:q?.map((Z)=>{return Z.map((J)=>{return{text:J.text,generationInfo:J.generationInfo}})}),llmOutput:$.outputs?.llmOutput??{}},Y="on_llm_end";else throw Error(`onLLMEnd: Unexpected run type: ${Q.runType}`);await this.sendEndEvent({event:Y,data:{output:W,input:Q.inputs},run_id:$.id,name:Q.name,tags:Q.tags,metadata:Q.metadata},Q)}async onChainStart($){let Q=M9($),Y=$.run_type??"chain",q={tags:$.tags??[],metadata:$.extra?.metadata??{},name:Q,runType:$.run_type},W={};if($.inputs.input===""&&Object.keys($.inputs).length===1)W={},q.inputs={};else if($.inputs.input!==void 0)W.input=$.inputs.input,q.inputs=$.inputs.input;else W.input=$.inputs,q.inputs=$.inputs;this.runInfoMap.set($.id,q),await this.send({event:`on_${Y}_start`,data:W,name:Q,tags:$.tags??[],run_id:$.id,metadata:$.extra?.metadata??{}},q)}async onChainEnd($){let Q=this.runInfoMap.get($.id);if(this.runInfoMap.delete($.id),Q===void 0)throw Error(`onChainEnd: Run ID ${$.id} not found in run map.`);let Y=`on_${$.run_type}_end`,q=$.inputs??Q.inputs??{},W={output:$.outputs?.output??$.outputs,input:q};if(q.input&&Object.keys(q).length===1)W.input=q.input,Q.inputs=q.input;await this.sendEndEvent({event:Y,data:W,run_id:$.id,name:Q.name,tags:Q.tags,metadata:Q.metadata??{}},Q)}async onToolStart($){let Q=M9($),Y={tags:$.tags??[],metadata:$.extra?.metadata??{},name:Q,runType:"tool",inputs:$.inputs??{}};this.runInfoMap.set($.id,Y),await this.send({event:"on_tool_start",data:{input:$.inputs??{}},name:Q,run_id:$.id,tags:$.tags??[],metadata:$.extra?.metadata??{}},Y)}async onToolEnd($){let Q=this.runInfoMap.get($.id);if(this.runInfoMap.delete($.id),Q===void 0)throw Error(`onToolEnd: Run ID ${$.id} not found in run map.`);if(Q.inputs===void 0)throw Error(`onToolEnd: Run ID ${$.id} is a tool call, and is expected to have traced inputs.`);let Y=$.outputs?.output===void 0?$.outputs:$.outputs.output;await this.sendEndEvent({event:"on_tool_end",data:{output:Y,input:Q.inputs},run_id:$.id,name:Q.name,tags:Q.tags,metadata:Q.metadata},Q)}async onToolError($){let Q=this.runInfoMap.get($.id);if(this.runInfoMap.delete($.id),Q===void 0)throw Error(`onToolEnd: Run ID ${$.id} not found in run map.`);if(Q.inputs===void 0)throw Error(`onToolEnd: Run ID ${$.id} is a tool call, and is expected to have traced inputs.`);await this.sendEndEvent({event:"on_tool_error",data:{input:Q.inputs,error:$.error},run_id:$.id,name:Q.name,tags:Q.tags,metadata:Q.metadata},Q)}async onRetrieverStart($){let Q=M9($),Y={tags:$.tags??[],metadata:$.extra?.metadata??{},name:Q,runType:"retriever",inputs:{query:$.inputs.query}};this.runInfoMap.set($.id,Y),await this.send({event:"on_retriever_start",data:{input:{query:$.inputs.query}},name:Q,tags:$.tags??[],run_id:$.id,metadata:$.extra?.metadata??{}},Y)}async onRetrieverEnd($){let Q=this.runInfoMap.get($.id);if(this.runInfoMap.delete($.id),Q===void 0)throw Error(`onRetrieverEnd: Run ID ${$.id} not found in run map.`);await this.sendEndEvent({event:"on_retriever_end",data:{output:$.outputs?.documents??$.outputs,input:Q.inputs},run_id:$.id,name:Q.name,tags:Q.tags,metadata:Q.metadata},Q)}async handleCustomEvent($,Q,Y){let q=this.runInfoMap.get(Y);if(q===void 0)throw Error(`handleCustomEvent: Run ID ${Y} not found in run map.`);await this.send({event:"on_custom_event",run_id:Y,name:$,tags:q.tags,metadata:q.metadata,data:Q},q)}async finish(){let $=[...this.tappedPromises.values()];Promise.all($).finally(()=>{this.writer.close()})}};var g2=class extends f0{name="RootListenersTracer";rootId;config;argOnStart;argOnEnd;argOnError;constructor({config:$,onStart:Q,onEnd:Y,onError:q}){super({_awaitHandler:!0});this.config=$,this.argOnStart=Q,this.argOnEnd=Y,this.argOnError=q}persistRun($){return Promise.resolve()}async onRunCreate($){if(this.rootId)return;if(this.rootId=$.id,this.argOnStart)await this.argOnStart($,this.config)}async onRunUpdate($){if($.id!==this.rootId)return;if(!$.error){if(this.argOnEnd)await this.argOnEnd($,this.config)}else if(this.argOnError)await this.argOnError($,this.config)}};function U1($){return $?$.lc_runnable:!1}var Q8=class{includeNames;includeTypes;includeTags;excludeNames;excludeTypes;excludeTags;constructor($){this.includeNames=$.includeNames,this.includeTypes=$.includeTypes,this.includeTags=$.includeTags,this.excludeNames=$.excludeNames,this.excludeTypes=$.excludeTypes,this.excludeTags=$.excludeTags}includeEvent($,Q){let Y=this.includeNames===void 0&&this.includeTypes===void 0&&this.includeTags===void 0,q=$.tags??[];if(this.includeNames!==void 0)Y=Y||this.includeNames.includes($.name);if(this.includeTypes!==void 0)Y=Y||this.includeTypes.includes(Q);if(this.includeTags!==void 0)Y=Y||q.some((W)=>this.includeTags?.includes(W));if(this.excludeNames!==void 0)Y=Y&&!this.excludeNames.includes($.name);if(this.excludeTypes!==void 0)Y=Y&&!this.excludeTypes.includes(Q);if(this.excludeTags!==void 0)Y=Y&&q.every((W)=>!this.excludeTags?.includes(W));return Y}},Y8=($)=>{return btoa($).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")};function m2($){return $.replace(/[^a-zA-Z-_0-9]/g,"_")}var $G=["*","_","`"];function QG($){let Q="";for(let[Y,q]of Object.entries($))Q+=` classDef ${Y} ${q};
|
|
70
|
+
`;return Q}function q8($,Q,Y){let{firstNode:q,lastNode:W,nodeColors:Z,withStyles:J=!0,curveStyle:G="linear",wrapLabelNWords:z=9}=Y??{},K=J?`%%{init: {'flowchart': {'curve': '${G}'}}}%%
|
|
71
|
+
graph TD;
|
|
72
|
+
`:`graph TD;
|
|
73
|
+
`;if(J){let A={["default"]:"{0}({1})"};if(q!==void 0)A[q]="{0}([{1}]):::first";if(W!==void 0)A[W]="{0}([{1}]):::last";for(let[H,_]of Object.entries($)){let D=_.name.split(":").pop()??"",x=$G.some((d)=>D.startsWith(d)&&D.endsWith(d))?`<p>${D}</p>`:D;if(Object.keys(_.metadata??{}).length)x+=`<hr/><small><em>${Object.entries(_.metadata??{}).map(([d,u])=>`${d} = ${u}`).join(`
|
|
74
|
+
`)}</em></small>`;let R=(A[H]??A.default).replace("{0}",m2(H)).replace("{1}",x);K+=` ${R}
|
|
75
|
+
`}}let w={};for(let F of Q){let A=F.source.split(":"),H=F.target.split(":"),_=A.filter((D,x)=>D===H[x]).join(":");if(!w[_])w[_]=[];w[_].push(F)}let X=new Set;function U(F){return[...F].sort((A,H)=>{return A.split(":").length-H.split(":").length})}function N(F,A){let H=F.length===1&&F[0].source===F[0].target;if(A&&!H){let D=A.split(":").pop();if(X.has(A))throw Error(`Found duplicate subgraph '${D}' at '${A} -- this likely means that you're reusing a subgraph node with the same name. Please adjust your graph to have subgraph nodes with unique names.`);X.add(A),K+=` subgraph ${D}
|
|
76
|
+
`}let _=U(Object.keys(w).filter((D)=>D.startsWith(`${A}:`)&&D!==A&&D.split(":").length===A.split(":").length+1));for(let D of _)N(w[D],D);for(let D of F){let{source:x,target:R,data:d,conditional:u}=D,c="";if(d!==void 0){let z0=d,q0=z0.split(" ");if(q0.length>z)z0=Array.from({length:Math.ceil(q0.length/z)},(p0,C0)=>q0.slice(C0*z,(C0+1)*z).join(" ")).join(" <br> ");c=u?` -. ${z0} .-> `:` -- ${z0} --> `}else c=u?" -.-> ":" --> ";K+=` ${m2(x)}${c}${m2(R)};
|
|
77
|
+
`}if(A&&!H)K+=` end
|
|
78
|
+
`}N(w[""]??[],"");for(let F in w)if(!F.includes(":")&&F!=="")N(w[F],F);if(J)K+=QG(Z??{});return K}async function W8($,Q){let Y=Q?.backgroundColor??"white",q=Q?.imageType??"png",W=Y8($);if(Y!==void 0){if(!/^#(?:[0-9a-fA-F]{3}){1,2}$/.test(Y))Y=`!${Y}`}let Z=`https://mermaid.ink/img/${W}?bgColor=${Y}&type=${q}`,J=await fetch(Z);if(!J.ok)throw Error(["Failed to render the graph using the Mermaid.INK API.",`Status code: ${J.status}`,`Status text: ${J.statusText}`].join(`
|
|
79
|
+
`));return await J.blob()}T$();var HV=j({Graph:()=>R9});function YG($,Q){if($!==void 0&&!N1($))return $;else if(U1(Q))try{let Y=Q.getName();return Y=Y.startsWith("Runnable")?Y.slice(8):Y,Y}catch{return Q.getName()}else return Q.name??"UnknownSchema"}function qG($){if(U1($.data))return{type:"runnable",data:{id:$.data.lc_id,name:$.data.getName()}};else return{type:"schema",data:{...v2($.data.schema),title:$.data.name}}}var R9=class ${nodes={};edges=[];constructor(Q){this.nodes=Q?.nodes??this.nodes,this.edges=Q?.edges??this.edges}toJSON(){let Q={};return Object.values(this.nodes).forEach((Y,q)=>{Q[Y.id]=N1(Y.id)?q:Y.id}),{nodes:Object.values(this.nodes).map((Y)=>({id:Q[Y.id],...qG(Y)})),edges:this.edges.map((Y)=>{let q={source:Q[Y.source],target:Q[Y.target]};if(typeof Y.data<"u")q.data=Y.data;if(typeof Y.conditional<"u")q.conditional=Y.conditional;return q})}}addNode(Q,Y,q){if(Y!==void 0&&this.nodes[Y]!==void 0)throw Error(`Node with id ${Y} already exists`);let W=Y??w$(),Z={id:W,data:Q,name:YG(Y,Q),metadata:q};return this.nodes[W]=Z,Z}removeNode(Q){delete this.nodes[Q.id],this.edges=this.edges.filter((Y)=>Y.source!==Q.id&&Y.target!==Q.id)}addEdge(Q,Y,q,W){if(this.nodes[Q.id]===void 0)throw Error(`Source node ${Q.id} not in graph`);if(this.nodes[Y.id]===void 0)throw Error(`Target node ${Y.id} not in graph`);let Z={source:Q.id,target:Y.id,data:q,conditional:W};return this.edges.push(Z),Z}firstNode(){return Z8(this)}lastNode(){return J8(this)}extend(Q,Y=""){let q=Y;if(Object.values(Q.nodes).map((z)=>z.id).every(N1))q="";let W=(z)=>{return q?`${q}:${z}`:z};Object.entries(Q.nodes).forEach(([z,K])=>{this.nodes[W(z)]={...K,id:W(z)}});let Z=Q.edges.map((z)=>{return{...z,source:W(z.source),target:W(z.target)}});this.edges=[...this.edges,...Z];let J=Q.firstNode(),G=Q.lastNode();return[J?{id:W(J.id),data:J.data}:void 0,G?{id:W(G.id),data:G.data}:void 0]}trimFirstNode(){let Q=this.firstNode();if(Q&&Z8(this,[Q.id]))this.removeNode(Q)}trimLastNode(){let Q=this.lastNode();if(Q&&J8(this,[Q.id]))this.removeNode(Q)}reid(){let Q=Object.fromEntries(Object.values(this.nodes).map((W)=>[W.id,W.name])),Y=new Map;Object.values(Q).forEach((W)=>{Y.set(W,(Y.get(W)||0)+1)});let q=(W)=>{let Z=Q[W];if(N1(W)&&Y.get(Z)===1)return Z;else return W};return new $({nodes:Object.fromEntries(Object.entries(this.nodes).map(([W,Z])=>[q(W),{...Z,id:q(W)}])),edges:this.edges.map((W)=>({...W,source:q(W.source),target:q(W.target)}))})}drawMermaid(Q){let{withStyles:Y,curveStyle:q,nodeColors:W={default:"fill:#f2f0ff,line-height:1.2",first:"fill-opacity:0",last:"fill:#bfb6fc"},wrapLabelNWords:Z}=Q??{},J=this.reid(),G=J.firstNode(),z=J.lastNode();return q8(J.nodes,J.edges,{firstNode:G?.id,lastNode:z?.id,withStyles:Y,curveStyle:q,nodeColors:W,wrapLabelNWords:Z})}async drawMermaidPng(Q){return W8(this.drawMermaid(Q),{backgroundColor:Q?.backgroundColor})}};function Z8($,Q=[]){let Y=new Set($.edges.filter((W)=>!Q.includes(W.source)).map((W)=>W.target)),q=[];for(let W of Object.values($.nodes))if(!Q.includes(W.id)&&!Y.has(W.id))q.push(W);return q.length===1?q[0]:void 0}function J8($,Q=[]){let Y=new Set($.edges.filter((W)=>!Q.includes(W.target)).map((W)=>W.source)),q=[];for(let W of Object.values($.nodes))if(!Q.includes(W.id)&&!Y.has(W.id))q.push(W);return q.length===1?q[0]:void 0}function G8($){let Q=new TextEncoder,Y=new ReadableStream({async start(q){for await(let W of $)q.enqueue(Q.encode(`event: data
|
|
80
|
+
data: ${JSON.stringify(W)}
|
|
81
|
+
|
|
82
|
+
`));q.enqueue(Q.encode(`event: end
|
|
83
|
+
|
|
84
|
+
`)),q.close()}});return V0.fromReadableStream(Y)}T$();function J0($,Q){return $&&!Array.isArray($)&&!($ instanceof Date)&&typeof $==="object"?$:{[Q]:$}}var G0=class extends c0{lc_runnable=!0;name;getName($){let Q=this.name??this.constructor.lc_name()??this.constructor.name;return $?`${Q}${$}`:Q}withRetry($){return new K8({bound:this,kwargs:{},config:{},maxAttemptNumber:$?.stopAfterAttempt,...$})}withConfig($){return new x9({bound:this,config:$,kwargs:{}})}withFallbacks($){let Q=Array.isArray($)?$:$.fallbacks;return new JG({runnable:this,fallbacks:Q})}_getOptionsList($,Q=0){if(Array.isArray($)&&$.length!==Q)throw Error(`Passed "options" must be an array with the same length as the inputs, but got ${$.length} options for ${Q} inputs`);if(Array.isArray($))return $.map(p);if(Q>1&&!Array.isArray($)&&$.runId){console.warn("Provided runId will be used only for the first element of the batch.");let Y=Object.fromEntries(Object.entries($).filter(([q])=>q!=="runId"));return Array.from({length:Q},(q,W)=>p(W===0?$:Y))}return Array.from({length:Q},()=>p($))}async batch($,Q,Y){let q=this._getOptionsList(Q??{},$.length),W=new j$({maxConcurrency:q[0]?.maxConcurrency??Y?.maxConcurrency,onFailedAttempt:(J)=>{throw J}}),Z=$.map((J,G)=>W.call(async()=>{try{return await this.invoke(J,q[G])}catch(z){if(Y?.returnExceptions)return z;throw z}}));return Promise.all(Z)}async*_streamIterator($,Q){yield this.invoke($,Q)}async stream($,Q){let Y=p(Q),q=new F$({generator:this._streamIterator($,Y),config:Y});return await q.setup,V0.fromAsyncGenerator(q)}_separateRunnableConfigFromCallOptions($){let Q;if($===void 0)Q=p($);else Q=p({callbacks:$.callbacks,tags:$.tags,metadata:$.metadata,runName:$.runName,configurable:$.configurable,recursionLimit:$.recursionLimit,maxConcurrency:$.maxConcurrency,runId:$.runId,timeout:$.timeout,signal:$.signal});let Y={...$};return delete Y.callbacks,delete Y.tags,delete Y.metadata,delete Y.runName,delete Y.configurable,delete Y.recursionLimit,delete Y.maxConcurrency,delete Y.runId,delete Y.timeout,delete Y.signal,[Q,Y]}async _callWithConfig($,Q,Y){let q=p(Y),W=await(await I0(q))?.handleChainStart(this.toJSON(),J0(Q,"input"),q.runId,q?.runType,void 0,void 0,q?.runName??this.getName());delete q.runId;let Z;try{Z=await n0($.call(this,Q,q,W),Y?.signal)}catch(J){throw await W?.handleChainError(J),J}return await W?.handleChainEnd(J0(Z,"output")),Z}async _batchWithConfig($,Q,Y,q){let W=this._getOptionsList(Y??{},Q.length),Z=await Promise.all(W.map(I0)),J=await Promise.all(Z.map(async(z,K)=>{let w=await z?.handleChainStart(this.toJSON(),J0(Q[K],"input"),W[K].runId,W[K].runType,void 0,void 0,W[K].runName??this.getName());return delete W[K].runId,w})),G;try{G=await n0($.call(this,Q,W,J,q),W?.[0]?.signal)}catch(z){throw await Promise.all(J.map((K)=>K?.handleChainError(z))),z}return await Promise.all(J.map((z)=>z?.handleChainEnd(J0(G,"output")))),G}_concatOutputChunks($,Q){return D9($,Q)}async*_transformStreamWithConfig($,Q,Y){let q,W=!0,Z,J=!0,G=p(Y),z=await I0(G),K=this;async function*w(){for await(let U of $){if(W)if(q===void 0)q=U;else try{q=K._concatOutputChunks(q,U)}catch{q=void 0,W=!1}yield U}}let X;try{let U=await f2(Q.bind(this),w(),async()=>z?.handleChainStart(this.toJSON(),{input:""},G.runId,G.runType,void 0,void 0,G.runName??this.getName(),void 0,{lc_defers_inputs:!0}),Y?.signal,G);delete G.runId,X=U.setup;let N=X?.handlers.find(eq),F=U.output;if(N!==void 0&&X!==void 0)F=N.tapOutputIterable(X.runId,F);let A=X?.handlers.find(h2);if(A!==void 0&&X!==void 0)F=A.tapOutputIterable(X.runId,F);for await(let H of F)if(yield H,J)if(Z===void 0)Z=H;else try{Z=this._concatOutputChunks(Z,H)}catch{Z=void 0,J=!1}}catch(U){throw await X?.handleChainError(U,void 0,void 0,void 0,{inputs:J0(q,"input")}),U}await X?.handleChainEnd(Z??{},void 0,void 0,void 0,{inputs:J0(q,"input")})}getGraph($){let Q=new R9,Y=Q.addNode({name:`${this.getName()}Input`,schema:D$.any()}),q=Q.addNode(this),W=Q.addNode({name:`${this.getName()}Output`,schema:D$.any()});return Q.addEdge(Y,q),Q.addEdge(q,W),Q}pipe($){return new w8({first:this,last:y$($)})}pick($){return this.pipe(new zG($))}assign($){return this.pipe(new GG(new I9({steps:$})))}async*transform($,Q){let Y;for await(let q of $)if(Y===void 0)Y=q;else Y=this._concatOutputChunks(Y,q);yield*this._streamIterator(Y,p(Q))}async*streamLog($,Q,Y){let q=new _9({...Y,autoClose:!1,_schemaFormat:"original"}),W=p(Q);yield*this._streamLog($,q,W)}async*_streamLog($,Q,Y){let{callbacks:q}=Y;if(q===void 0)Y.callbacks=[Q];else if(Array.isArray(q))Y.callbacks=q.concat([Q]);else{let G=q.copy();G.addHandler(Q,!0),Y.callbacks=G}let W=this.stream($,Y);async function Z(){try{let G=await W;for await(let z of G){let K=new e0({ops:[{op:"add",path:"/streamed_output/-",value:z}]});await Q.writer.write(K)}}finally{await Q.writer.close()}}let J=Z();try{for await(let G of Q)yield G}finally{await J}}streamEvents($,Q,Y){let q;if(Q.version==="v1")q=this._streamEventsV1($,Q,Y);else if(Q.version==="v2")q=this._streamEventsV2($,Q,Y);else throw Error('Only versions "v1" and "v2" of the schema are currently supported.');if(Q.encoding==="text/event-stream")return G8(q);else return V0.fromAsyncGenerator(q)}async*_streamEventsV2($,Q,Y){let q=new $8({...Y,autoClose:!1}),W=p(Q),Z=W.runId??_0();W.runId=Z;let J=W.callbacks;if(J===void 0)W.callbacks=[q];else if(Array.isArray(J))W.callbacks=J.concat(q);else{let N=J.copy();N.addHandler(q,!0),W.callbacks=N}let G=new AbortController,z=this;async function K(){let N,F=null;try{if(Q?.signal)if("any"in AbortSignal)N=AbortSignal.any([G.signal,Q.signal]);else N=Q.signal,F=()=>{G.abort()},Q.signal.addEventListener("abort",F,{once:!0});else N=G.signal;let A=await z.stream($,{...W,signal:N}),H=q.tapOutputIterable(Z,A);for await(let _ of H)if(G.signal.aborted)break}finally{if(await q.finish(),N&&F)N.removeEventListener("abort",F)}}let w=K(),X=!1,U;try{for await(let N of q){if(!X){N.data.input=$,X=!0,U=N.run_id,yield N;continue}if(N.run_id===U&&N.event.endsWith("_end")){if(N.data?.input)delete N.data.input}yield N}}finally{G.abort(),await w}}async*_streamEventsV1($,Q,Y){let q,W=!1,Z=p(Q),J=Z.tags??[],G=Z.metadata??{},z=Z.runName??this.getName(),K=new _9({...Y,autoClose:!1,_schemaFormat:"streaming_events"}),w=new Q8({...Y}),X=this._streamLog($,K,Z);for await(let N of X){if(!q)q=T9.fromRunLogPatch(N);else q=q.concat(N);if(q.state===void 0)throw Error('Internal error: "streamEvents" state is missing. Please open a bug report.');if(!W){W=!0;let _={...q.state},D={run_id:_.id,event:`on_${_.type}_start`,name:z,tags:J,metadata:G,data:{input:$}};if(w.includeEvent(D,_.type))yield D}let F=N.ops.filter((_)=>_.path.startsWith("/logs/")).map((_)=>_.path.split("/")[2]),A=[...new Set(F)];for(let _ of A){let D,x={},R=q.state.logs[_];if(R.end_time===void 0)if(R.streamed_output.length>0)D="stream";else D="start";else D="end";if(D==="start"){if(R.inputs!==void 0)x.input=R.inputs}else if(D==="end"){if(R.inputs!==void 0)x.input=R.inputs;x.output=R.final_output}else if(D==="stream"){let d=R.streamed_output.length;if(d!==1)throw Error(`Expected exactly one chunk of streamed output, got ${d} instead. Encountered in: "${R.name}"`);x={chunk:R.streamed_output[0]},R.streamed_output=[]}yield{event:`on_${R.type}_${D}`,name:R.name,run_id:R.id,tags:R.tags,metadata:R.metadata,data:x}}let{state:H}=q;if(H.streamed_output.length>0){let _=H.streamed_output.length;if(_!==1)throw Error(`Expected exactly one chunk of streamed output, got ${_} instead. Encountered in: "${H.name}"`);let D={chunk:H.streamed_output[0]};H.streamed_output=[];let x={event:`on_${H.type}_stream`,run_id:H.id,tags:J,metadata:G,name:z,data:D};if(w.includeEvent(x,H.type))yield x}}let U=q?.state;if(U!==void 0){let N={event:`on_${U.type}_end`,name:z,run_id:U.id,tags:J,metadata:G,data:{output:U.final_output}};if(w.includeEvent(N,U.type))yield N}}static isRunnable($){return U1($)}withListeners({onStart:$,onEnd:Q,onError:Y}){return new x9({bound:this,config:{},configFactories:[(q)=>({callbacks:[new g2({config:q,onStart:$,onEnd:Q,onError:Y})]})]})}asTool($){return KG(this,$)}},x9=class $ extends G0{static lc_name(){return"RunnableBinding"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;bound;config;kwargs;configFactories;constructor(Q){super(Q);this.bound=Q.bound,this.kwargs=Q.kwargs,this.config=Q.config,this.configFactories=Q.configFactories}getName(Q){return this.bound.getName(Q)}async _mergeConfig(...Q){let Y=q1(this.config,...Q);return q1(Y,...this.configFactories?await Promise.all(this.configFactories.map(async(q)=>await q(Y))):[])}withConfig(Q){return new this.constructor({bound:this.bound,kwargs:this.kwargs,config:{...this.config,...Q}})}withRetry(Q){return new K8({bound:this.bound,kwargs:this.kwargs,config:this.config,maxAttemptNumber:Q?.stopAfterAttempt,...Q})}async invoke(Q,Y){return this.bound.invoke(Q,await this._mergeConfig(Y,this.kwargs))}async batch(Q,Y,q){let W=Array.isArray(Y)?await Promise.all(Y.map(async(Z)=>this._mergeConfig(p(Z),this.kwargs))):await this._mergeConfig(p(Y),this.kwargs);return this.bound.batch(Q,W,q)}_concatOutputChunks(Q,Y){return this.bound._concatOutputChunks(Q,Y)}async*_streamIterator(Q,Y){yield*this.bound._streamIterator(Q,await this._mergeConfig(p(Y),this.kwargs))}async stream(Q,Y){return this.bound.stream(Q,await this._mergeConfig(p(Y),this.kwargs))}async*transform(Q,Y){yield*this.bound.transform(Q,await this._mergeConfig(p(Y),this.kwargs))}streamEvents(Q,Y,q){let W=this,Z=async function*(){yield*W.bound.streamEvents(Q,{...await W._mergeConfig(p(Y),W.kwargs),version:Y.version},q)};return V0.fromAsyncGenerator(Z())}static isRunnableBinding(Q){return Q.bound&&G0.isRunnable(Q.bound)}withListeners({onStart:Q,onEnd:Y,onError:q}){return new $({bound:this.bound,kwargs:this.kwargs,config:this.config,configFactories:[(W)=>({callbacks:[new g2({config:W,onStart:Q,onEnd:Y,onError:q})]})]})}},uV=class $ extends G0{static lc_name(){return"RunnableEach"}lc_serializable=!0;lc_namespace=["langchain_core","runnables"];bound;constructor(Q){super(Q);this.bound=Q.bound}async invoke(Q,Y){return this._callWithConfig(this._invoke.bind(this),Q,Y)}async _invoke(Q,Y,q){return this.bound.batch(Q,$0(Y,{callbacks:q?.getChild()}))}withListeners({onStart:Q,onEnd:Y,onError:q}){return new $({bound:this.bound.withListeners({onStart:Q,onEnd:Y,onError:q})})}},K8=class extends x9{static lc_name(){return"RunnableRetry"}lc_namespace=["langchain_core","runnables"];maxAttemptNumber=3;onFailedAttempt=()=>{};constructor($){super($);this.maxAttemptNumber=$.maxAttemptNumber??this.maxAttemptNumber,this.onFailedAttempt=$.onFailedAttempt??this.onFailedAttempt}_patchConfigForRetry($,Q,Y){let q=$>1?`retry:attempt:${$}`:void 0;return $0(Q,{callbacks:Y?.getChild(q)})}async _invoke($,Q,Y){return z1((q)=>super.invoke($,this._patchConfigForRetry(q,Q,Y)),{onFailedAttempt:({error:q})=>this.onFailedAttempt(q,$),retries:Math.max(this.maxAttemptNumber-1,0),randomize:!0})}async invoke($,Q){return this._callWithConfig(this._invoke.bind(this),$,Q)}async _batch($,Q,Y,q){let W={};try{await z1(async(Z)=>{let J=$.map((X,U)=>U).filter((X)=>W[X.toString()]===void 0||W[X.toString()]instanceof Error),G=J.map((X)=>$[X]),z=J.map((X)=>this._patchConfigForRetry(Z,Q?.[X],Y?.[X])),K=await super.batch(G,z,{...q,returnExceptions:!0}),w;for(let X=0;X<K.length;X+=1){let U=K[X],N=J[X];if(U instanceof Error){if(w===void 0)w=U,w.input=G[X]}W[N.toString()]=U}if(w)throw w;return K},{onFailedAttempt:({error:Z})=>this.onFailedAttempt(Z,Z.input),retries:Math.max(this.maxAttemptNumber-1,0),randomize:!0})}catch(Z){if(q?.returnExceptions!==!0)throw Z}return Object.keys(W).sort((Z,J)=>parseInt(Z,10)-parseInt(J,10)).map((Z)=>W[parseInt(Z,10)])}async batch($,Q,Y){return this._batchWithConfig(this._batch.bind(this),$,Q,Y)}},w8=class $ extends G0{static lc_name(){return"RunnableSequence"}first;middle=[];last;omitSequenceTags=!1;lc_serializable=!0;lc_namespace=["langchain_core","runnables"];constructor(Q){super(Q);this.first=Q.first,this.middle=Q.middle??this.middle,this.last=Q.last,this.name=Q.name,this.omitSequenceTags=Q.omitSequenceTags??this.omitSequenceTags}get steps(){return[this.first,...this.middle,this.last]}async invoke(Q,Y){let q=p(Y),W=await(await I0(q))?.handleChainStart(this.toJSON(),J0(Q,"input"),q.runId,void 0,void 0,void 0,q?.runName);delete q.runId;let Z=Q,J;try{let G=[this.first,...this.middle];for(let z=0;z<G.length;z+=1)Z=await n0(G[z].invoke(Z,$0(q,{callbacks:W?.getChild(this.omitSequenceTags?void 0:`seq:step:${z+1}`)})),Y?.signal);if(Y?.signal?.aborted)throw B$(Y.signal);J=await this.last.invoke(Z,$0(q,{callbacks:W?.getChild(this.omitSequenceTags?void 0:`seq:step:${this.steps.length}`)}))}catch(G){throw await W?.handleChainError(G),G}return await W?.handleChainEnd(J0(J,"output")),J}async batch(Q,Y,q){let W=this._getOptionsList(Y??{},Q.length),Z=await Promise.all(W.map(I0)),J=await Promise.all(Z.map(async(z,K)=>{let w=await z?.handleChainStart(this.toJSON(),J0(Q[K],"input"),W[K].runId,void 0,void 0,void 0,W[K].runName);return delete W[K].runId,w})),G=Q;try{for(let z=0;z<this.steps.length;z+=1)G=await n0(this.steps[z].batch(G,J.map((K,w)=>{let X=K?.getChild(this.omitSequenceTags?void 0:`seq:step:${z+1}`);return $0(W[w],{callbacks:X})}),q),W[0]?.signal)}catch(z){throw await Promise.all(J.map((K)=>K?.handleChainError(z))),z}return await Promise.all(J.map((z)=>z?.handleChainEnd(J0(G,"output")))),G}_concatOutputChunks(Q,Y){return this.last._concatOutputChunks(Q,Y)}async*_streamIterator(Q,Y){let q=await I0(Y),{runId:W,...Z}=Y??{},J=await q?.handleChainStart(this.toJSON(),J0(Q,"input"),W,void 0,void 0,void 0,Z?.runName),G=[this.first,...this.middle,this.last],z=!0,K;async function*w(){yield Q}try{let X=G[0].transform(w(),$0(Z,{callbacks:J?.getChild(this.omitSequenceTags?void 0:"seq:step:1")}));for(let U=1;U<G.length;U+=1)X=await G[U].transform(X,$0(Z,{callbacks:J?.getChild(this.omitSequenceTags?void 0:`seq:step:${U+1}`)}));for await(let U of X)if(Y?.signal?.throwIfAborted(),yield U,z)if(K===void 0)K=U;else try{K=this._concatOutputChunks(K,U)}catch{K=void 0,z=!1}}catch(X){throw await J?.handleChainError(X),X}await J?.handleChainEnd(J0(K,"output"))}getGraph(Q){let Y=new R9,q=null;return this.steps.forEach((W,Z)=>{let J=W.getGraph(Q);if(Z!==0)J.trimFirstNode();if(Z!==this.steps.length-1)J.trimLastNode();Y.extend(J);let G=J.firstNode();if(!G)throw Error(`Runnable ${W} has no first node`);if(q)Y.addEdge(q,G);q=J.lastNode()}),Y}pipe(Q){if($.isRunnableSequence(Q))return new $({first:this.first,middle:this.middle.concat([this.last,Q.first,...Q.middle]),last:Q.last,name:this.name??Q.name});else return new $({first:this.first,middle:[...this.middle,this.last],last:y$(Q),name:this.name})}static isRunnableSequence(Q){return Array.isArray(Q.middle)&&G0.isRunnable(Q)}static from([Q,...Y],q){let W={};if(typeof q==="string")W.name=q;else if(q!==void 0)W=q;return new $({...W,first:y$(Q),middle:Y.slice(0,-1).map(y$),last:y$(Y[Y.length-1])})}},I9=class $ extends G0{static lc_name(){return"RunnableMap"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;steps;getStepsKeys(){return Object.keys(this.steps)}constructor(Q){super(Q);this.steps={};for(let[Y,q]of Object.entries(Q.steps))this.steps[Y]=y$(q)}static from(Q){return new $({steps:Q})}async invoke(Q,Y){let q=p(Y),W=await(await I0(q))?.handleChainStart(this.toJSON(),{input:Q},q.runId,void 0,void 0,void 0,q?.runName);delete q.runId;let Z={};try{let J=Object.entries(this.steps).map(async([G,z])=>{Z[G]=await z.invoke(Q,$0(q,{callbacks:W?.getChild(`map:key:${G}`)}))});await n0(Promise.all(J),Y?.signal)}catch(J){throw await W?.handleChainError(J),J}return await W?.handleChainEnd(Z),Z}async*_transform(Q,Y,q){let W={...this.steps},Z=A9(Q,Object.keys(W).length),J=new Map(Object.entries(W).map(([G,z],K)=>{let w=z.transform(Z[K],$0(q,{callbacks:Y?.getChild(`map:key:${G}`)}));return[G,w.next().then((X)=>({key:G,gen:w,result:X}))]}));while(J.size){let{key:G,result:z,gen:K}=await n0(Promise.race(J.values()),q?.signal);if(J.delete(G),!z.done)yield{[G]:z.value},J.set(G,K.next().then((w)=>({key:G,gen:K,result:w})))}}transform(Q,Y){return this._transformStreamWithConfig(Q,this._transform.bind(this),Y)}async stream(Q,Y){async function*q(){yield Q}let W=p(Y),Z=new F$({generator:this.transform(q(),W),config:W});return await Z.setup,V0.fromAsyncGenerator(Z)}},WG=class $ extends G0{lc_serializable=!1;lc_namespace=["langchain_core","runnables"];func;constructor(Q){super(Q);if(!W9(Q.func))throw Error("RunnableTraceable requires a function that is wrapped in traceable higher-order function");this.func=Q.func}async invoke(Q,Y){let[q]=this._getOptionsList(Y??{},1),W=await I0(q);return n0(this.func($0(q,{callbacks:W}),Q),q?.signal)}async*_streamIterator(Q,Y){let[q]=this._getOptionsList(Y??{},1),W=await this.invoke(Q,Y);if(X9(W)){for await(let Z of W)q?.signal?.throwIfAborted(),yield Z;return}if(mq(W)){while(!0){q?.signal?.throwIfAborted();let Z=W.next();if(Z.done)break;yield Z.value}return}yield W}static from(Q){return new $({func:Q})}};function ZG($){if(W9($))throw Error("RunnableLambda requires a function that is not wrapped in traceable higher-order function. This shouldn't happen.")}var X8=class $ extends G0{static lc_name(){return"RunnableLambda"}lc_namespace=["langchain_core","runnables"];func;constructor(Q){if(W9(Q.func))return WG.from(Q.func);super(Q);ZG(Q.func),this.func=Q.func}static from(Q){return new $({func:Q})}async _invoke(Q,Y,q){return new Promise((W,Z)=>{let J=$0(Y,{callbacks:q?.getChild(),recursionLimit:(Y?.recursionLimit??G9)-1});K0.runWithConfig(j0(J),async()=>{try{let G=await this.func(Q,{...J});if(G&&G0.isRunnable(G)){if(Y?.recursionLimit===0)throw Error("Recursion limit reached.");G=await G.invoke(Q,{...J,recursionLimit:(J.recursionLimit??G9)-1})}else if(X9(G)){let z;for await(let K of U9(J,G))if(Y?.signal?.throwIfAborted(),z===void 0)z=K;else try{z=this._concatOutputChunks(z,K)}catch{z=K}G=z}else if(y2(G)){let z;for(let K of C2(J,G))if(Y?.signal?.throwIfAborted(),z===void 0)z=K;else try{z=this._concatOutputChunks(z,K)}catch{z=K}G=z}W(G)}catch(G){Z(G)}})})}async invoke(Q,Y){return this._callWithConfig(this._invoke.bind(this),Q,Y)}async*_transform(Q,Y,q){let W;for await(let G of Q)if(W===void 0)W=G;else try{W=this._concatOutputChunks(W,G)}catch{W=G}let Z=$0(q,{callbacks:Y?.getChild(),recursionLimit:(q?.recursionLimit??G9)-1}),J=await new Promise((G,z)=>{K0.runWithConfig(j0(Z),async()=>{try{G(await this.func(W,{...Z,config:Z}))}catch(K){z(K)}})});if(J&&G0.isRunnable(J)){if(q?.recursionLimit===0)throw Error("Recursion limit reached.");let G=await J.stream(W,Z);for await(let z of G)yield z}else if(X9(J))for await(let G of U9(Z,J))q?.signal?.throwIfAborted(),yield G;else if(y2(J))for(let G of C2(Z,J))q?.signal?.throwIfAborted(),yield G;else yield J}transform(Q,Y){return this._transformStreamWithConfig(Q,this._transform.bind(this),Y)}async stream(Q,Y){async function*q(){yield Q}let W=p(Y),Z=new F$({generator:this.transform(q(),W),config:W});return await Z.setup,V0.fromAsyncGenerator(Z)}},cV=class extends I9{},JG=class extends G0{static lc_name(){return"RunnableWithFallbacks"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;runnable;fallbacks;constructor($){super($);this.runnable=$.runnable,this.fallbacks=$.fallbacks}*runnables(){yield this.runnable;for(let $ of this.fallbacks)yield $}async invoke($,Q){let Y=p(Q),q=await I0(Y),{runId:W,...Z}=Y,J=await q?.handleChainStart(this.toJSON(),J0($,"input"),W,void 0,void 0,void 0,Z?.runName),G=$0(Z,{callbacks:J?.getChild()});return await K0.runWithConfig(G,async()=>{let z;for(let K of this.runnables()){Y?.signal?.throwIfAborted();try{let w=await K.invoke($,G);return await J?.handleChainEnd(J0(w,"output")),w}catch(w){if(z===void 0)z=w}}if(z===void 0)throw Error("No error stored at end of fallback.");throw await J?.handleChainError(z),z})}async*_streamIterator($,Q){let Y=p(Q),q=await I0(Y),{runId:W,...Z}=Y,J=await q?.handleChainStart(this.toJSON(),J0($,"input"),W,void 0,void 0,void 0,Z?.runName),G,z;for(let w of this.runnables()){Y?.signal?.throwIfAborted();let X=$0(Z,{callbacks:J?.getChild()});try{z=U9(X,await w.stream($,X));break}catch(U){if(G===void 0)G=U}}if(z===void 0){let w=G??Error("No error stored at end of fallback.");throw await J?.handleChainError(w),w}let K;try{for await(let w of z){yield w;try{K=K===void 0?K:this._concatOutputChunks(K,w)}catch{K=void 0}}}catch(w){throw await J?.handleChainError(w),w}await J?.handleChainEnd(J0(K,"output"))}async batch($,Q,Y){if(Y?.returnExceptions)throw Error("Not implemented.");let q=this._getOptionsList(Q??{},$.length),W=await Promise.all(q.map((G)=>I0(G))),Z=await Promise.all(W.map(async(G,z)=>{let K=await G?.handleChainStart(this.toJSON(),J0($[z],"input"),q[z].runId,void 0,void 0,void 0,q[z].runName);return delete q[z].runId,K})),J;for(let G of this.runnables()){q[0].signal?.throwIfAborted();try{let z=await G.batch($,Z.map((K,w)=>$0(q[w],{callbacks:K?.getChild()})),Y);return await Promise.all(Z.map((K,w)=>K?.handleChainEnd(J0(z[w],"output")))),z}catch(z){if(J===void 0)J=z}}if(!J)throw Error("No error stored at end of fallbacks.");throw await Promise.all(Z.map((G)=>G?.handleChainError(J))),J}};function y$($){if(typeof $==="function")return new X8({func:$});else if(G0.isRunnable($))return $;else if(!Array.isArray($)&&typeof $==="object"){let Q={};for(let[Y,q]of Object.entries($))Q[Y]=y$(q);return new I9({steps:Q})}else throw Error(`Expected a Runnable, function or object.
|
|
85
|
+
Instead got an unsupported type.`)}var GG=class extends G0{static lc_name(){return"RunnableAssign"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;mapper;constructor($){if($ instanceof I9)$={mapper:$};super($);this.mapper=$.mapper}async invoke($,Q){let Y=await this.mapper.invoke($,Q);return{...$,...Y}}async*_transform($,Q,Y){let q=this.mapper.getStepsKeys(),[W,Z]=A9($),J=this.mapper.transform(Z,$0(Y,{callbacks:Q?.getChild()})),G=J.next();for await(let z of W){if(typeof z!=="object"||Array.isArray(z))throw Error(`RunnableAssign can only be used with objects as input, got ${typeof z}`);let K=Object.fromEntries(Object.entries(z).filter(([w])=>!q.includes(w)));if(Object.keys(K).length>0)yield K}yield(await G).value;for await(let z of J)yield z}transform($,Q){return this._transformStreamWithConfig($,this._transform.bind(this),Q)}async stream($,Q){async function*Y(){yield $}let q=p(Q),W=new F$({generator:this.transform(Y(),q),config:q});return await W.setup,V0.fromAsyncGenerator(W)}},zG=class extends G0{static lc_name(){return"RunnablePick"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;keys;constructor($){if(typeof $==="string"||Array.isArray($))$={keys:$};super($);this.keys=$.keys}async _pick($){if(typeof this.keys==="string")return $[this.keys];else{let Q=this.keys.map((Y)=>[Y,$[Y]]).filter((Y)=>Y[1]!==void 0);return Q.length===0?void 0:Object.fromEntries(Q)}}async invoke($,Q){return this._callWithConfig(this._pick.bind(this),$,Q)}async*_transform($){for await(let Q of $){let Y=await this._pick(Q);if(Y!==void 0)yield Y}}transform($,Q){return this._transformStreamWithConfig($,this._transform.bind(this),Q)}async stream($,Q){async function*Y(){yield $}let q=p(Q),W=new F$({generator:this.transform(Y(),q),config:q});return await W.setup,V0.fromAsyncGenerator(W)}},z8=class extends x9{name;description;schema;constructor($){let Q=w8.from([X8.from(async(Y)=>{let q;if(G$(Y))try{q=await I1(this.schema,Y.args)}catch{throw new k$("Received tool input did not match expected schema",JSON.stringify(Y.args))}else q=Y;return q}).withConfig({runName:`${$.name}:parse_input`}),$.bound]).withConfig({runName:$.name});super({bound:Q,config:$.config??{}});this.name=$.name,this.description=$.description,this.schema=$.schema}static lc_name(){return"RunnableToolLike"}};function KG($,Q){let Y=Q.name??$.getName(),q=Q.description??S6(Q.schema);if(j1(Q.schema))return new z8({name:Y,description:q,schema:D$.object({input:D$.string()}).transform((W)=>W.input),bound:$});return new z8({name:Y,description:q,schema:Q.schema,bound:$})}var qF=j({BasePromptValue:()=>j9,ChatPromptValue:()=>p2,ImagePromptValue:()=>wG,StringPromptValue:()=>d2}),j9=class extends c0{},d2=class extends j9{static lc_name(){return"StringPromptValue"}lc_namespace=["langchain_core","prompt_values"];lc_serializable=!0;value;constructor($){super({value:$});this.value=$}toString(){return this.value}toChatMessages(){return[new S$(this.value)]}},p2=class extends j9{lc_namespace=["langchain_core","prompt_values"];lc_serializable=!0;static lc_name(){return"ChatPromptValue"}messages;constructor($){if(Array.isArray($))$={messages:$};super($);this.messages=$.messages}toString(){return M1(this.messages)}toChatMessages(){return this.messages}},wG=class extends j9{lc_namespace=["langchain_core","prompt_values"];lc_serializable=!0;static lc_name(){return"ImagePromptValue"}imageUrl;value;constructor($){if(!("imageUrl"in $))$={imageUrl:$};super($);this.imageUrl=$.imageUrl}toString(){return this.imageUrl.url}toChatMessages(){return[new S$({content:[{type:"image_url",image_url:{detail:this.imageUrl.detail,url:this.imageUrl.url}}]})]}};var B8=Z$(N8(),1),EG=Object.defineProperty,SG=($,Q,Y)=>(Q in $)?EG($,Q,{enumerable:!0,configurable:!0,writable:!0,value:Y}):$[Q]=Y,LG=($,Q,Y)=>{return SG($,typeof Q!=="symbol"?Q+"":Q,Y),Y};function TG($,Q){let Y=Array.from({length:$.length},(q,W)=>({start:W,end:W+1}));while(Y.length>1){let q=null;for(let W=0;W<Y.length-1;W++){let Z=$.slice(Y[W].start,Y[W+1].end),J=Q.get(Z.join(","));if(J==null)continue;if(q==null||J<q[0])q=[J,W]}if(q!=null){let W=q[1];Y[W]={start:Y[W].start,end:Y[W+1].end},Y.splice(W+1,1)}else break}return Y}function _G($,Q){if($.length===1)return[Q.get($.join(","))];return TG($,Q).map((Y)=>Q.get($.slice(Y.start,Y.end).join(","))).filter((Y)=>Y!=null)}function MG($){return $.replace(/[\\^$*+?.()|[\]{}]/g,"\\$&")}var l2=class{specialTokens;inverseSpecialTokens;patStr;textEncoder=new TextEncoder;textDecoder=new TextDecoder("utf-8");rankMap=new Map;textMap=new Map;constructor($,Q){this.patStr=$.pat_str;let Y=$.bpe_ranks.split(`
|
|
86
|
+
`).filter(Boolean).reduce((q,W)=>{let[Z,J,...G]=W.split(" "),z=Number.parseInt(J,10);return G.forEach((K,w)=>q[K]=z+w),q},{});for(let[q,W]of Object.entries(Y)){let Z=B8.default.toByteArray(q);this.rankMap.set(Z.join(","),W),this.textMap.set(W,Z)}this.specialTokens={...$.special_tokens,...Q},this.inverseSpecialTokens=Object.entries(this.specialTokens).reduce((q,[W,Z])=>{return q[Z]=this.textEncoder.encode(W),q},{})}encode($,Q=[],Y="all"){let q=new RegExp(this.patStr,"ug"),W=l2.specialTokenRegex(Object.keys(this.specialTokens)),Z=[],J=new Set(Q==="all"?Object.keys(this.specialTokens):Q),G=new Set(Y==="all"?Object.keys(this.specialTokens).filter((K)=>!J.has(K)):Y);if(G.size>0){let K=l2.specialTokenRegex([...G]),w=$.match(K);if(w!=null)throw Error(`The text contains a special token that is not allowed: ${w[0]}`)}let z=0;while(!0){let K=null,w=z;while(!0){if(W.lastIndex=w,K=W.exec($),K==null||J.has(K[0]))break;w=K.index+1}let X=K?.index??$.length;for(let N of $.substring(z,X).matchAll(q)){let F=this.textEncoder.encode(N[0]),A=this.rankMap.get(F.join(","));if(A!=null){Z.push(A);continue}Z.push(..._G(F,this.rankMap))}if(K==null)break;let U=this.specialTokens[K[0]];Z.push(U),z=K.index+K[0].length}return Z}decode($){let Q=[],Y=0;for(let Z=0;Z<$.length;++Z){let J=$[Z],G=this.textMap.get(J)??this.inverseSpecialTokens[J];if(G!=null)Q.push(G),Y+=G.length}let q=new Uint8Array(Y),W=0;for(let Z of Q)q.set(Z,W),W+=Z.length;return this.textDecoder.decode(q)}},v9=l2;LG(v9,"specialTokenRegex",($)=>{return new RegExp($.map((Q)=>MG(Q)).join("|"),"g")});function i2($){switch($){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 Error("Unknown model")}}var AF=j({encodingForModel:()=>C9,getEncoding:()=>V8}),y9={},RG=new j$({});async function V8($){if(!($ in y9))y9[$]=RG.fetch(`https://tiktoken.pages.dev/js/${$}.json`).then((Q)=>Q.json()).then((Q)=>new v9(Q)).catch((Q)=>{throw delete y9[$],Q});return await y9[$]}async function C9($){return V8(i2($))}var _F=j({BaseLangChain:()=>f9,BaseLanguageModel:()=>yG,calculateMaxTokens:()=>jG,getEmbeddingContextSize:()=>xG,getModelContextSize:()=>F8,getModelNameForTiktoken:()=>k9,isOpenAITool:()=>IG}),k9=($)=>{if($.startsWith("gpt-5"))return"gpt-5";if($.startsWith("gpt-3.5-turbo-16k"))return"gpt-3.5-turbo-16k";if($.startsWith("gpt-3.5-turbo-"))return"gpt-3.5-turbo";if($.startsWith("gpt-4-32k"))return"gpt-4-32k";if($.startsWith("gpt-4-"))return"gpt-4";if($.startsWith("gpt-4o"))return"gpt-4o";return $},xG=($)=>{switch($){case"text-embedding-ada-002":return 8191;default:return 2046}},F8=($)=>{switch(k9($)){case"gpt-5":case"gpt-5-turbo":case"gpt-5-turbo-preview":return 400000;case"gpt-4o":case"gpt-4o-mini":case"gpt-4o-2024-05-13":case"gpt-4o-2024-08-06":return 128000;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 128000;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 8000;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 200000;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 IG($){if(typeof $!=="object"||!$)return!1;if("type"in $&&$.type==="function"&&"function"in $&&typeof $.function==="object"&&$.function&&"name"in $.function&&"parameters"in $.function)return!0;return!1}var jG=async({prompt:$,modelName:Q})=>{let Y;try{Y=(await C9(k9(Q))).encode($).length}catch{console.warn("Failed to calculate number of tokens, falling back to approximate count"),Y=Math.ceil($.length/4)}return F8(Q)-Y},vG=()=>!1,f9=class extends G0{verbose;callbacks;tags;metadata;get lc_attributes(){return{callbacks:void 0,verbose:void 0}}constructor($){super($);this.verbose=$.verbose??vG(),this.callbacks=$.callbacks,this.tags=$.tags??[],this.metadata=$.metadata??{},this._addVersion("@langchain/core","1.1.31")}_addVersion($,Q){let Y=this.metadata?.versions;this.metadata={...this.metadata,versions:{...typeof Y==="object"&&Y!==null?Y:{},[$]:Q}}}},yG=class extends f9{get callKeys(){return["stop","timeout","signal","tags","metadata","callbacks"]}caller;cache;constructor({callbacks:$,callbackManager:Q,...Y}){let{cache:q,...W}=Y;super({callbacks:$??Q,...W});if(typeof q==="object")this.cache=q;else if(q)this.cache=k2.global();else this.cache=void 0;this.caller=new j$(Y??{})}_encoding;async getNumTokens($){let Q;if(typeof $==="string")Q=$;else Q=$.map((q)=>{if(typeof q==="string")return q;if(q.type==="text"&&"text"in q)return q.text;return""}).join("");let Y=Math.ceil(Q.length/4);if(!this._encoding)try{this._encoding=await C9("modelName"in this?k9(this.modelName):"gpt2")}catch(q){console.warn("Failed to calculate number of tokens, falling back to approximate count",q)}if(this._encoding)try{Y=this._encoding.encode(Q).length}catch(q){console.warn("Failed to calculate number of tokens, falling back to approximate count",q)}return Y}static _convertInputToPromptValue($){if(typeof $==="string")return new d2($);else if(Array.isArray($))return new p2($.map(V6));else return $}_identifyingParams(){return{}}_getSerializedCacheKeyParametersForCall({config:$,...Q}){let Y={...this._identifyingParams(),...Q,_type:this._llmType(),_model:this._modelType()};return Object.entries(Y).filter(([q,W])=>W!==void 0).map(([q,W])=>`${q}:${JSON.stringify(W)}`).sort().join(",")}serialize(){return{...this._identifyingParams(),_type:this._llmType(),_model:this._modelType()}}static async deserialize($){throw Error("Use .toJSON() instead")}get profile(){return{}}};function s2($){return $!==void 0&&Array.isArray($.lc_namespace)}function t2($){return $!==void 0&&G0.isRunnable($)&&"lc_name"in $.constructor&&typeof $.constructor.lc_name==="function"&&$.constructor.lc_name()==="RunnableToolLike"}function o2($){return!!$&&typeof $==="object"&&"name"in $&&"schema"in $&&(h$($.schema)||$.schema!=null&&typeof $.schema==="object"&&("type"in $.schema)&&typeof $.schema.type==="string"&&["null","boolean","object","array","number","string"].includes($.schema.type))}function A8($){return o2($)||t2($)||s2($)}var nF=j({BaseToolkit:()=>CG,DynamicStructuredTool:()=>O8,DynamicTool:()=>H8,StructuredTool:()=>n2,Tool:()=>D8,ToolInputParsingException:()=>k$,isLangChainTool:()=>A8,isRunnableToolLike:()=>t2,isStructuredTool:()=>s2,isStructuredToolParams:()=>o2,tool:()=>kG}),n2=class extends f9{extras;returnDirect=!1;verboseParsingErrors=!1;get lc_namespace(){return["langchain","tools"]}responseFormat="content";defaultConfig;constructor($){super($??{});this.verboseParsingErrors=$?.verboseParsingErrors??this.verboseParsingErrors,this.responseFormat=$?.responseFormat??this.responseFormat,this.defaultConfig=$?.defaultConfig??this.defaultConfig,this.metadata=$?.metadata??this.metadata,this.extras=$?.extras??this.extras}async invoke($,Q){let Y,q=p(q1(this.defaultConfig,Q));if(G$($))Y=$.args,q={...q,toolCall:$};else Y=$;return this.call(Y,q)}async call($,Q,Y){let q=G$($)?$.args:$,W;if(h$(this.schema))try{W=await I1(this.schema,q)}catch(N){let F="Received tool input did not match expected schema";if(this.verboseParsingErrors)F=`${F}
|
|
87
|
+
Details: ${N.message}`;if(_6(N))F=`${F}
|
|
88
|
+
|
|
89
|
+
${r2.prettifyError(N)}`;throw new k$(F,JSON.stringify($))}else{let N=i(q,this.schema);if(!N.valid){let F="Received tool input did not match expected schema";if(this.verboseParsingErrors)F=`${F}
|
|
90
|
+
Details: ${N.errors.map((A)=>`${A.keywordLocation}: ${A.error}`).join(`
|
|
91
|
+
`)}`;throw new k$(F,JSON.stringify($))}W=q}let Z=Q1(Q),J=b0.configure(Z.callbacks,this.callbacks,Z.tags||Y,this.tags,Z.metadata,this.metadata,{verbose:this.verbose}),G;if(G$($))G=$.id;if(!G&&z6(Z))G=Z.toolCall.id;let z=await J?.handleToolStart(this.toJSON(),typeof $==="string"?$:JSON.stringify($),Z.runId,void 0,void 0,void 0,Z.runName,G);delete Z.runId;let K;try{let N=await this._call(W,z,Z);K=dq(N)?await pq(N,async(F)=>{try{await z?.handleToolEvent(F)}catch(A){await z?.handleToolError(A)}}):N}catch(N){throw await z?.handleToolError(N),N}let w,X;if(this.responseFormat==="content_and_artifact")if(Array.isArray(K)&&K.length===2)[w,X]=K;else throw Error(`Tool response format is "content_and_artifact" but the output was not a two-tuple.
|
|
92
|
+
Result: ${JSON.stringify(K)}`);else w=K;let U=fG({content:w,artifact:X,toolCallId:G,name:this.name,metadata:this.metadata});return await z?.handleToolEnd(U),U}},D8=class extends n2{schema=D$.object({input:D$.string().optional()}).transform(($)=>$.input);constructor($){super($)}call($,Q){let Y=typeof $==="string"||$==null?{input:$}:$;return super.call(Y,Q)}},H8=class extends D8{static lc_name(){return"DynamicTool"}name;description;func;constructor($){super($);this.name=$.name,this.description=$.description,this.func=$.func,this.returnDirect=$.returnDirect??this.returnDirect}async call($,Q){let Y=Q1(Q);if(Y.runName===void 0)Y.runName=this.name;return super.call($,Y)}_call($,Q,Y){return this.func($,Q,Y)}},O8=class extends n2{static lc_name(){return"DynamicStructuredTool"}description;func;schema;constructor($){super($);this.name=$.name,this.description=$.description,this.func=$.func,this.returnDirect=$.returnDirect??this.returnDirect,this.schema=$.schema}async call($,Q,Y){let q=Q1(Q);if(q.runName===void 0)q.runName=this.name;return super.call($,q,Y)}_call($,Q,Y){return this.func($,Q,Y)}},CG=class{getTools(){return this.tools}};function kG($,Q){let Y=j1(Q.schema),q=l$(Q.schema);if(!Q.schema||Y||q)return new H8({...Q,description:Q.description??Q.schema?.description??`${Q.name} tool`,func:async(J,G,z)=>{return new Promise((K,w)=>{let X=$0(z,{callbacks:G?.getChild()});K0.runWithConfig(j0(X),async()=>{try{K($(J,X))}catch(U){w(U)}})})}});let W=Q.schema,Z=Q.description??Q.schema.description??`${Q.name} tool`;return new O8({...Q,description:Z,schema:W,func:async(J,G,z)=>{return new Promise((K,w)=>{let X,U=()=>{if(z?.signal&&X)z.signal.removeEventListener("abort",X)};if(z?.signal)X=()=>{U(),w(B$(z.signal))},z.signal.addEventListener("abort",X,{once:!0});let N=$0(z,{callbacks:G?.getChild()});K0.runWithConfig(j0(N),async()=>{try{let F=await $(J,N);if(z?.signal?.aborted){U();return}U(),K(F)}catch(F){U(),w(F)}})})}})}function fG($){let{content:Q,artifact:Y,toolCallId:q,metadata:W}=$;if(q&&!o9(Q))if(typeof Q==="string"||Array.isArray(Q)&&Q.every((Z)=>typeof Z==="object"))return new E$({status:"success",content:Q,artifact:Y,tool_call_id:q,name:$.name,metadata:W});else return new E$({status:"success",content:bG(Q),artifact:Y,tool_call_id:q,name:$.name,metadata:W});else return Q}function bG($){try{return JSON.stringify($)??""}catch(Q){return`${$}`}}
|
|
93
|
+
export{KQ as fh,FQ as gh,t1 as hh,Hq as ih,V$ as jh,g0 as kh,i as lh,I2 as mh,v9 as nh,i2 as oh,j as ph,JK as qh,e9 as rh,$W as sh,QW as th,k$ as uh,UK as vh,Q4 as wh,dG as xh,OQ as yh,j8 as zh,PQ as Ah,sG as Bh,P1 as Ch,c0 as Dh,J$ as Eh,SQ as Fh,LQ as Gh,oG as Hh,TQ as Ih,rG as Jh,nG as Kh,i9 as Lh,aG as Mh,kQ as Nh,D0 as Oh,hQ as Ph,X0 as Qh,Dz as Rh,c8 as Sh,n as Th,C$ as Uh,gQ as Vh,T0 as Wh,mQ as Xh,dQ as Yh,Hz as Zh,Lz as _h,o9 as $h,E$ as ai,i8 as bi,r9 as ci,s8 as di,t8 as ei,W6 as fi,L1 as gi,f$ as hi,J3 as ii,G3 as ji,b$ as ki,Y4 as li,K6 as mi,VK as ni,FK as oi,w6 as pi,X6 as qi,OK as ri,PK as si,S$ as ti,U6 as ui,_K as vi,MK as wi,N6 as xi,_1 as yi,B6 as zi,kK as Ai,fK as Bi,rK as Ci,V6 as Di,M1 as Ei,W4 as Fi,nK as Gi,aK as Hi,eK as Ii,F6 as Ji,T3 as Ki,j6 as Li,k0 as Mi,I3 as Ni,BW as Oi,_$ as Pi,K$ as Qi,Nw as Ri,f0 as Si,Hw as Ti,hw as Ui,iw as Vi,XX as Wi,Q1 as Xi,b0 as Yi,K0 as Zi,RX as _i,B9 as $i,qB as aj,KB as bj,I0 as cj,q1 as dj,p as ej,$0 as fj,j0 as gj,n0 as hj,MB as ij,V0 as jj,D9 as kj,F$ as lj,v$ as mj,rJ as nj,tB as oj,eB as pj,aJ as qj,X1 as rj,eJ as sj,HB as tj,j$ as uj,L7 as vj,ZJ as wj,o as xj,Q0 as yj,U3 as zj,h$ as Aj,JW as Bj,GW as Cj,N3 as Dj,B3 as Ej,I1 as Fj,V3 as Gj,F3 as Hj,S6 as Ij,A3 as Jj,j1 as Kj,L6 as Lj,i0 as Mj,z4 as Nj,zW as Oj,KW as Pj,D3 as Qj,A6 as Rj,H3 as Sj,O3 as Tj,R1 as Uj,D6 as Vj,P3 as Wj,T6 as Xj,E3 as Yj,_6 as Zj,t7 as _j,v2 as $j,HV as ak,R9 as bk,J0 as ck,G0 as dk,x9 as ek,uV as fk,K8 as gk,w8 as hk,I9 as ik,X8 as jk,cV as kk,JG as lk,y$ as mk,GG as nk,zG as ok,z8 as pk,qF as qk,d2 as rk,p2 as sk,wG as tk,AF as uk,_F as vk,F8 as wk,IG as xk,yG as yk,s2 as zk,t2 as Ak,o2 as Bk,A8 as Ck,nF as Dk,n2 as Ek,O8 as Fk,kG as Gk};
|