@arcgis/ai-components 5.0.0-next.135 → 5.0.0-next.137
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/{45J72RA5.js → 2X4MXAGP.js} +3 -2
- package/dist/cdn/{K4DOBIBC.js → 2YU5J7GR.js} +1 -1
- package/dist/cdn/{GNYKVIRC.js → 3GN2ULHI.js} +3 -3
- package/dist/cdn/{NPQWPRM6.js → 3MC7WUUS.js} +2 -2
- package/dist/cdn/{AENVX2C7.js → 4QKLAOX2.js} +2 -2
- package/dist/cdn/{IBW6D6XX.js → 5R3XBBPI.js} +2 -2
- package/dist/cdn/{H6HTZ2RZ.js → 77UW5IWK.js} +2 -2
- package/dist/cdn/7CZJHD5E.js +4 -0
- package/dist/cdn/{ETNHCA5Y.js → A4WRDZTQ.js} +2 -2
- package/dist/cdn/{NCD5D6JY.js → AAKD5SX2.js} +2 -2
- package/dist/cdn/{2I6RIEM7.js → AWERJEZY.js} +2 -2
- package/dist/cdn/{PZRNLUV2.js → BU42TIIY.js} +2 -2
- package/dist/cdn/{5EXI6IBC.js → C2KQ57RK.js} +33 -33
- package/dist/cdn/{BSFH6ITF.js → D7BNWOJC.js} +2 -2
- package/dist/cdn/{7VXM3PHG.js → EIEL6M2I.js} +2 -2
- package/dist/cdn/{KXZ5YZL6.js → ESFRLW3E.js} +2 -2
- package/dist/cdn/{3YJ4XNZB.js → FXYXZK6L.js} +2 -2
- package/dist/cdn/{LA353F4X.js → G2D5AXYL.js} +2 -2
- package/dist/cdn/HRHXMBOF.js +4 -0
- package/dist/cdn/J4W33PXP.js +134 -0
- package/dist/cdn/{YQVK2H7R.js → JEJTPF54.js} +1 -1
- package/dist/cdn/{VY47US65.js → KL6UK22M.js} +2 -2
- package/dist/cdn/{JRSCOKGO.js → KTVRK3Y4.js} +2 -2
- package/dist/cdn/{LQKHGIXO.js → LV5GG4KG.js} +2 -2
- package/dist/cdn/{6JIAN4EB.js → M4G5BT2E.js} +2 -2
- package/dist/cdn/O5MI43R3.js +6 -0
- package/dist/cdn/{XOXI7KQN.js → P5L22JWW.js} +2 -2
- package/dist/cdn/{QFWBH3U2.js → PI3TDXYV.js} +2 -2
- package/dist/cdn/{FQP72TZH.js → PMGGAZSF.js} +2 -2
- package/dist/cdn/{D5B4XO32.js → Q5GRZVLA.js} +2 -2
- package/dist/cdn/{4BKDN7AJ.js → U3XLNPGW.js} +2 -2
- package/dist/cdn/{ZHEJLKZX.js → UFFBFDYM.js} +2 -2
- package/dist/cdn/{4JWSHGI3.js → VL7UTIRF.js} +1 -1
- package/dist/cdn/{XULCWMYE.js → WD4CZF2P.js} +2 -2
- package/dist/cdn/{IHQXGVXR.js → XNR7IV6X.js} +2 -2
- package/dist/cdn/{4KXPB47L.js → XV373V66.js} +2 -2
- package/dist/cdn/{UROLRFUN.js → YFSPJOU4.js} +2 -2
- package/dist/cdn/{ZZIAB76W.js → ZJXE6HWP.js} +2 -2
- package/dist/cdn/{RTUKNJRX.js → ZYYIAOK3.js} +2 -2
- package/dist/cdn/index.js +2 -2
- package/dist/chunks/runtime.js +1 -1
- package/dist/chunks/useT9n.js +1 -1
- package/dist/chunks/utils.js +1 -1
- package/dist/chunks/utils2.js +1 -1
- package/dist/components/arcgis-assistant/customElement.d.ts +16 -12
- package/dist/components/arcgis-assistant/customElement.js +1 -1
- package/dist/components/arcgis-assistant/index.d.ts +0 -4
- package/dist/components/arcgis-assistant-agent/customElement.d.ts +7 -8
- package/dist/components/arcgis-assistant-agent/customElement.js +1 -1
- package/dist/components/arcgis-assistant-chat/customElement.d.ts +15 -15
- package/dist/components/arcgis-assistant-chat/customElement.js +1 -1
- package/dist/components/arcgis-assistant-chat/index.d.ts +0 -1
- package/dist/components/arcgis-assistant-chat-card/customElement.d.ts +29 -16
- package/dist/components/arcgis-assistant-chat-card/customElement.js +1 -1
- package/dist/components/arcgis-assistant-chat-card/index.d.ts +0 -5
- package/dist/components/arcgis-assistant-chat-card-content/customElement.d.ts +9 -9
- package/dist/components/arcgis-assistant-chat-card-content/customElement.js +1 -1
- package/dist/components/arcgis-assistant-chat-card-content/index.d.ts +0 -1
- package/dist/components/arcgis-assistant-chat-entry/customElement.d.ts +28 -17
- package/dist/components/arcgis-assistant-chat-entry/customElement.js +1 -1
- package/dist/components/arcgis-assistant-chat-entry/index.d.ts +0 -3
- package/dist/components/arcgis-assistant-data-exploration-agent/customElement.d.ts +5 -5
- package/dist/components/arcgis-assistant-data-exploration-agent/customElement.js +1 -1
- package/dist/components/arcgis-assistant-interrupt/customElement.d.ts +25 -12
- package/dist/components/arcgis-assistant-interrupt/customElement.js +1 -1
- package/dist/components/arcgis-assistant-interrupt/index.d.ts +0 -5
- package/dist/components/arcgis-assistant-layer-filter-agent/customElement.d.ts +5 -5
- package/dist/components/arcgis-assistant-layer-filter-agent/customElement.js +1 -1
- package/dist/components/arcgis-assistant-layer-query-agent/customElement.d.ts +5 -5
- package/dist/components/arcgis-assistant-layer-query-agent/customElement.js +1 -1
- package/dist/components/arcgis-assistant-layer-styling-agent/customElement.d.ts +5 -5
- package/dist/components/arcgis-assistant-layer-styling-agent/customElement.js +1 -1
- package/dist/components/arcgis-assistant-navigation-agent/customElement.d.ts +5 -5
- package/dist/components/arcgis-assistant-navigation-agent/customElement.js +1 -1
- package/dist/components/arcgis-assistant-shell/customElement.d.ts +34 -23
- package/dist/components/arcgis-assistant-shell/customElement.js +1 -1
- package/dist/components/arcgis-assistant-shell/index.d.ts +0 -5
- package/dist/docs/api.json +1 -2239
- package/dist/docs/docs.json +1 -2011
- package/dist/docs/vscode.css-custom-data.json +1 -6
- package/dist/docs/vscode.html-custom-data.json +1 -306
- package/dist/docs/web-types.json +1 -693
- package/dist/index.d.ts +28 -19
- package/dist/index.js +1 -1
- package/dist/loader.js +6 -6
- package/dist/types/lumina.d.ts +19 -19
- package/dist/types/preact.d.ts +19 -19
- package/dist/types/react.d.ts +19 -19
- package/dist/types/stencil.d.ts +19 -19
- package/package.json +7 -7
- package/dist/cdn/5GP65UDI.js +0 -4
- package/dist/cdn/I54YR7UU.js +0 -6
- package/dist/cdn/ODYS7BCT.js +0 -134
- package/dist/cdn/SQPT22F4.js +0 -4
- package/dist/components/arcgis-assistant/support/OrchestratorController.d.ts +0 -33
- package/dist/components/arcgis-assistant/support/utils.d.ts +0 -1
- package/dist/components/assistant/assistant-agents/support/utils.d.ts +0 -14
- package/dist/controllers/useT9n.d.ts +0 -1
- package/dist/customAgents/AddAgent/AddAgent.d.ts +0 -2
- package/dist/runtime.d.ts +0 -6
package/dist/cdn/ODYS7BCT.js
DELETED
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
/*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
2
|
-
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
3
|
-
v5.0.0-next.135 */
|
|
4
|
-
import a from"./QFWBH3U2.js";import{$a as zm,Aa as B,Ab as bf,Ba as ie,Bb as yf,Ca as sf,Cb as Qe,Da as on,Db as hi,Ea as ot,Eb as Dt,F as ye,Fa as lr,Fb as _f,G as Xn,Ga as Fe,Gb as wf,H as Bh,Ha as ct,Hb as Ne,I as nc,Ia as fe,Ib as fi,J as zh,Ja as Yn,Jb as vf,K as ai,Ka as oc,Kb as xf,La as Zt,Lb as kf,M as ue,Ma as af,Mb as Af,N as Yt,Na as of,O as sc,Oa as cn,Ob as Sf,P as Rt,Pa as ui,Pb as Ym,Q as ic,Qa as dt,Qb as Zm,R as Wh,Ra as cf,Rb as Qm,Sa as un,Sb as eg,Ta as uf,Tb as tg,Ua as lf,Ub as rg,V as Kh,Va as hf,Vb as ng,Wa as ut,Wb as sg,Xa as ff,Xb as ig,Y as it,Ya as pf,Yb as ag,Z as Vh,Za as cc,Zb as og,_a as Zn,_b as mc,a as Ch,ab as lt,b as Ih,bb as uc,c as Nh,ca as ac,cb as Qn,d as Rh,db as Wm,e as jh,eb as es,f as Xt,fa as jt,fb as Mt,g as Mh,ga as oi,gb as Km,h as $h,ha as Gh,hb as lc,i as ri,ib as Vm,j as Dh,jb as Gm,k as ni,ka as Hh,kb as Hm,l as si,la as qh,lb as $t,m as ii,ma as He,mb as li,n as Qo,na as Jh,nb as hc,o as Lh,oa as ci,ob as ts,p as Uh,pa as Xh,pb as qm,qa as Yh,qb as Jm,ra as Pr,rb as fc,s as Fh,sa as Zh,sb as Xm,t as ec,ta as Qh,tb as Ae,u as tc,ua as ef,ub as df,v as rc,va as tf,vb as mf,wa as rf,wb as pc,xa as an,xb as gf,ya as at,yb as J,za as nf,zb as hr}from"./5EXI6IBC.js";import{a as Fm,b as te,c as Bm}from"./YQVK2H7R.js";export default $arcgis.t(([Md,ih,jy,{a:Of,b:cg,c:ug,d:lg,e:hg,f:fg,g:pg,h:dg,i:mg,j:gg,k:dc,l:Tr,m:bg,n:yg}])=>{var Vf=Fm(Pi=>{"use strict";Pi.byteLength=zg;Pi.toByteArray=Kg;Pi.fromByteArray=Hg;var Lt=[],ht=[],Bg=typeof Uint8Array<"u"?Uint8Array:Array,$c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(Ir=0,Wf=$c.length;Ir<Wf;++Ir)Lt[Ir]=$c[Ir],ht[$c.charCodeAt(Ir)]=Ir;var Ir,Wf;ht[45]=62;ht[95]=63;function Kf(r){var e=r.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var t=r.indexOf("=");t===-1&&(t=e);var n=t===e?0:4-t%4;return[t,n]}function zg(r){var e=Kf(r),t=e[0],n=e[1];return(t+n)*3/4-n}function Wg(r,e,t){return(e+t)*3/4-t}function Kg(r){var e,t=Kf(r),n=t[0],s=t[1],i=new Bg(Wg(r,n,s)),a=0,o=s>0?n-4:n,c;for(c=0;c<o;c+=4)e=ht[r.charCodeAt(c)]<<18|ht[r.charCodeAt(c+1)]<<12|ht[r.charCodeAt(c+2)]<<6|ht[r.charCodeAt(c+3)],i[a++]=e>>16&255,i[a++]=e>>8&255,i[a++]=e&255;return s===2&&(e=ht[r.charCodeAt(c)]<<2|ht[r.charCodeAt(c+1)]>>4,i[a++]=e&255),s===1&&(e=ht[r.charCodeAt(c)]<<10|ht[r.charCodeAt(c+1)]<<4|ht[r.charCodeAt(c+2)]>>2,i[a++]=e>>8&255,i[a++]=e&255),i}function Vg(r){return Lt[r>>18&63]+Lt[r>>12&63]+Lt[r>>6&63]+Lt[r&63]}function Gg(r,e,t){for(var n,s=[],i=e;i<t;i+=3)n=(r[i]<<16&16711680)+(r[i+1]<<8&65280)+(r[i+2]&255),s.push(Vg(n));return s.join("")}function Hg(r){for(var e,t=r.length,n=t%3,s=[],i=16383,a=0,o=t-n;a<o;a+=i)s.push(Gg(r,a,a+i>o?o:a+i));return n===1?(e=r[t-1],s.push(Lt[e>>2]+Lt[e<<4&63]+"==")):n===2&&(e=(r[t-2]<<8)+r[t-1],s.push(Lt[e>>10]+Lt[e>>4&63]+Lt[e<<2&63]+"=")),s.join("")}});var Qt=class extends Error{constructor(e,t){let n=e??"";t?.lc_error_code&&(n=`${n}
|
|
5
|
-
|
|
6
|
-
Troubleshooting URL: https://langchain-ai.github.io/langgraphjs/troubleshooting/errors/${t.lc_error_code}/
|
|
7
|
-
`),super(n),Object.defineProperty(this,"lc_error_code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.lc_error_code=t?.lc_error_code}},pi=class extends Qt{get is_bubble_up(){return!0}},di=class extends Qt{constructor(e,t){super(e,t),this.name="GraphRecursionError"}static get unminifiable_name(){return"GraphRecursionError"}},ln=class extends Qt{constructor(e,t){super(e,t),this.name="GraphValueError"}static get unminifiable_name(){return"GraphValueError"}},fr=class extends pi{constructor(e,t){super(JSON.stringify(e,null,2),t),Object.defineProperty(this,"interrupts",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name="GraphInterrupt",this.interrupts=e??[]}static get unminifiable_name(){return"GraphInterrupt"}},rs=class extends fr{constructor(e,t){super([{value:e}],t),this.name="NodeInterrupt"}static get unminifiable_name(){return"NodeInterrupt"}},ns=class extends pi{constructor(e){super(),Object.defineProperty(this,"command",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name="ParentCommand",this.command=e}static get unminifiable_name(){return"ParentCommand"}};function Ef(r){return r!==void 0&&r.name===ns.unminifiable_name}function hn(r){return r!==void 0&&r.is_bubble_up===!0}function pr(r){return r!==void 0&&[fr.unminifiable_name,rs.unminifiable_name].includes(r.name)}var ss=class extends Qt{constructor(e,t){super(e,t),this.name="EmptyInputError"}static get unminifiable_name(){return"EmptyInputError"}},re=class extends Qt{constructor(e,t){super(e,t),this.name="EmptyChannelError"}static get unminifiable_name(){return"EmptyChannelError"}},q=class extends Qt{constructor(e,t){super(e,t),this.name="InvalidUpdateError"}static get unminifiable_name(){return"InvalidUpdateError"}};var mi=class extends Qt{constructor(e,t){super(e,t),this.name="UnreachableNodeError"}static get unminifiable_name(){return"UnreachableNodeError"}};var Pf=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i;function _g(r){return typeof r=="string"&&Pf.test(r)}var Tf=_g;function wg(r){if(!Tf(r))throw TypeError("Invalid UUID");var e,t=new Uint8Array(16);return t[0]=(e=parseInt(r.slice(0,8),16))>>>24,t[1]=e>>>16&255,t[2]=e>>>8&255,t[3]=e&255,t[4]=(e=parseInt(r.slice(9,13),16))>>>8,t[5]=e&255,t[6]=(e=parseInt(r.slice(14,18),16))>>>8,t[7]=e&255,t[8]=(e=parseInt(r.slice(19,23),16))>>>8,t[9]=e&255,t[10]=(e=parseInt(r.slice(24,36),16))/1099511627776&255,t[11]=e/4294967296&255,t[12]=e>>>24&255,t[13]=e>>>16&255,t[14]=e>>>8&255,t[15]=e&255,t}var gi=wg;var Se=[];for(bi=0;bi<256;++bi)Se.push((bi+256).toString(16).slice(1));var bi;function dr(r,e=0){return(Se[r[e+0]]+Se[r[e+1]]+Se[r[e+2]]+Se[r[e+3]]+"-"+Se[r[e+4]]+Se[r[e+5]]+"-"+Se[r[e+6]]+Se[r[e+7]]+"-"+Se[r[e+8]]+Se[r[e+9]]+"-"+Se[r[e+10]]+Se[r[e+11]]+Se[r[e+12]]+Se[r[e+13]]+Se[r[e+14]]+Se[r[e+15]]).toLowerCase()}var yi,vg=new Uint8Array(16);function gc(){if(!yi&&(yi=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!yi))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return yi(vg)}var bc,_i,yc=0,_c=0;function xg(r,e,t){var n=e&&t||0,s=e||new Array(16);r=r||{};var i=r.node,a=r.clockseq;if(r._v6||(i||(i=bc),a==null&&(a=_i)),i==null||a==null){var o=r.random||(r.rng||gc)();i==null&&(i=[o[0],o[1],o[2],o[3],o[4],o[5]],!bc&&!r._v6&&(i[0]|=1,bc=i)),a==null&&(a=(o[6]<<8|o[7])&16383,_i===void 0&&!r._v6&&(_i=a))}var c=r.msecs!==void 0?r.msecs:Date.now(),u=r.nsecs!==void 0?r.nsecs:_c+1,l=c-yc+(u-_c)/1e4;if(l<0&&r.clockseq===void 0&&(a=a+1&16383),(l<0||c>yc)&&r.nsecs===void 0&&(u=0),u>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");yc=c,_c=u,_i=a,c+=122192928e5;var h=((c&268435455)*1e4+u)%4294967296;s[n++]=h>>>24&255,s[n++]=h>>>16&255,s[n++]=h>>>8&255,s[n++]=h&255;var p=c/4294967296*1e4&268435455;s[n++]=p>>>8&255,s[n++]=p&255,s[n++]=p>>>24&15|16,s[n++]=p>>>16&255,s[n++]=a>>>8|128,s[n++]=a&255;for(var f=0;f<6;++f)s[n+f]=i[f];return e||dr(s)}var Cf=xg;function wc(r){var e=typeof r=="string"?gi(r):r,t=Og(e);return typeof r=="string"?dr(t):t}function Og(r,e=!1){return Uint8Array.of((r[6]&15)<<4|r[7]>>4&15,(r[7]&15)<<4|(r[4]&240)>>4,(r[4]&15)<<4|(r[5]&240)>>4,(r[5]&15)<<4|(r[0]&240)>>4,(r[0]&15)<<4|(r[1]&240)>>4,(r[1]&15)<<4|(r[2]&240)>>4,96|r[2]&15,r[3],r[8],r[9],r[10],r[11],r[12],r[13],r[14],r[15])}function kg(r){r=unescape(encodeURIComponent(r));for(var e=[],t=0;t<r.length;++t)e.push(r.charCodeAt(t));return e}var Ag="6ba7b810-9dad-11d1-80b4-00c04fd430c8",Sg="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function vc(r,e,t){function n(s,i,a,o){var c;if(typeof s=="string"&&(s=kg(s)),typeof i=="string"&&(i=gi(i)),((c=i)===null||c===void 0?void 0:c.length)!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");var u=new Uint8Array(16+s.length);if(u.set(i),u.set(s,i.length),u=t(u),u[6]=u[6]&15|e,u[8]=u[8]&63|128,a){o=o||0;for(var l=0;l<16;++l)a[o+l]=u[l];return a}return dr(u)}try{n.name=r}catch{}return n.DNS=Ag,n.URL=Sg,n}function Eg(r,e,t,n){switch(r){case 0:return e&t^~e&n;case 1:return e^t^n;case 2:return e&t^e&n^t&n;case 3:return e^t^n}}function xc(r,e){return r<<e|r>>>32-e}function Pg(r){var e=[1518500249,1859775393,2400959708,3395469782],t=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof r=="string"){var n=unescape(encodeURIComponent(r));r=[];for(var s=0;s<n.length;++s)r.push(n.charCodeAt(s))}else Array.isArray(r)||(r=Array.prototype.slice.call(r));r.push(128);for(var i=r.length/4+2,a=Math.ceil(i/16),o=new Array(a),c=0;c<a;++c){for(var u=new Uint32Array(16),l=0;l<16;++l)u[l]=r[c*64+l*4]<<24|r[c*64+l*4+1]<<16|r[c*64+l*4+2]<<8|r[c*64+l*4+3];o[c]=u}o[a-1][14]=(r.length-1)*8/Math.pow(2,32),o[a-1][14]=Math.floor(o[a-1][14]),o[a-1][15]=(r.length-1)*8&4294967295;for(var h=0;h<a;++h){for(var p=new Uint32Array(80),f=0;f<16;++f)p[f]=o[h][f];for(var m=16;m<80;++m)p[m]=xc(p[m-3]^p[m-8]^p[m-14]^p[m-16],1);for(var y=t[0],_=t[1],k=t[2],x=t[3],A=t[4],P=0;P<80;++P){var C=Math.floor(P/20),M=xc(y,5)+Eg(C,_,k,x)+A+e[C]+p[P]>>>0;A=x,x=k,k=xc(_,30)>>>0,_=y,y=M}t[0]=t[0]+y>>>0,t[1]=t[1]+_>>>0,t[2]=t[2]+k>>>0,t[3]=t[3]+x>>>0,t[4]=t[4]+A>>>0}return[t[0]>>24&255,t[0]>>16&255,t[0]>>8&255,t[0]&255,t[1]>>24&255,t[1]>>16&255,t[1]>>8&255,t[1]&255,t[2]>>24&255,t[2]>>16&255,t[2]>>8&255,t[2]&255,t[3]>>24&255,t[3]>>16&255,t[3]>>8&255,t[3]&255,t[4]>>24&255,t[4]>>16&255,t[4]>>8&255,t[4]&255]}var If=Pg;var Tg=vc("v5",80,If),Oc=Tg;function Nf(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(s){return Object.getOwnPropertyDescriptor(r,s).enumerable})),t.push.apply(t,n)}return t}function Rf(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Nf(Object(t),!0).forEach(function(n){Cg(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Nf(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function Cg(r,e,t){return(e=Ig(e))in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Ig(r){var e=Ng(r,"string");return typeof e=="symbol"?e:e+""}function Ng(r,e){if(typeof r!="object"||!r)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}function wi(r={},e,t=0){var n=Cf(Rf(Rf({},r),{},{_v6:!0}),new Uint8Array(16));if(n=wc(n),e){for(var s=0;s<16;s++)e[t+s]=n[s];return e}return dr(n)}function vi(r){return wi({clockseq:r})}function mr(r,e){let t=e.replace(/-/g,"").match(/.{2}/g).map(n=>parseInt(n,16));return Oc(r,new Uint8Array(t))}var xi="__pregel_tasks",jf="__error__",fn="__scheduled__",Mf="__interrupt__",$f="__resume__";var Df=[];var Wu={};te(Wu,{agents:()=>Lf,caches:()=>Ac,callbacks__base:()=>Yh,callbacks__manager:()=>nf,callbacks__promises:()=>rf,chat_history:()=>Ec,documents:()=>Tc,embeddings:()=>Cc,example_selectors:()=>Mc,language_models__base:()=>Fc,language_models__chat_models:()=>Wc,language_models__llms:()=>Kc,load__serializable:()=>Mh,memory:()=>Gc,messages:()=>Of,output_parsers:()=>iu,outputs:()=>cf,prompt_values:()=>Sf,prompts:()=>cu,retrievers:()=>uu,runnables:()=>Hc,stores:()=>hu,tools:()=>pu,tracers__base:()=>Zh,tracers__console:()=>Qh,tracers__initialize:()=>mu,tracers__log_stream:()=>of,tracers__run_collector:()=>bu,tracers__tracer_langchain:()=>tf,tracers__tracer_langchain_v1:()=>du,utils__async_caller:()=>uf,utils__chunk_array:()=>yu,utils__env:()=>Jh,utils__function_calling:()=>wu,utils__hash:()=>kc,utils__json_patch:()=>tu,utils__json_schema:()=>mf,utils__math:()=>xu,utils__stream:()=>af,utils__testing:()=>Bu,utils__tiktoken:()=>Uc,utils__types:()=>zu,vectorstores:()=>ku});var Lf={};var Ac={};te(Ac,{BaseCache:()=>Ai,InMemoryCache:()=>is,deserializeStoredGeneration:()=>$g,getCacheKey:()=>Bf,serializeGeneration:()=>Dg});var kc={};te(kc,{insecureHash:()=>Oi,sha256:()=>Ff});var Rg=typeof window=="object"?window:{},z="0123456789abcdef".split(""),jg=[-2147483648,8388608,32768,128],mt=[24,16,8,0];var _e=[];function gt(r){r?(_e[0]=_e[16]=_e[1]=_e[2]=_e[3]=_e[4]=_e[5]=_e[6]=_e[7]=_e[8]=_e[9]=_e[10]=_e[11]=_e[12]=_e[13]=_e[14]=_e[15]=0,this.blocks=_e):this.blocks=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.h0=1732584193,this.h1=4023233417,this.h2=2562383102,this.h3=271733878,this.h4=3285377520,this.block=this.start=this.bytes=this.hBytes=0,this.finalized=this.hashed=!1,this.first=!0}gt.prototype.update=function(r){if(!this.finalized){var e=typeof r!="string";e&&r.constructor===Rg.ArrayBuffer&&(r=new Uint8Array(r));for(var t,n=0,s,i=r.length||0,a=this.blocks;n<i;){if(this.hashed&&(this.hashed=!1,a[0]=this.block,a[16]=a[1]=a[2]=a[3]=a[4]=a[5]=a[6]=a[7]=a[8]=a[9]=a[10]=a[11]=a[12]=a[13]=a[14]=a[15]=0),e)for(s=this.start;n<i&&s<64;++n)a[s>>2]|=r[n]<<mt[s++&3];else for(s=this.start;n<i&&s<64;++n)t=r.charCodeAt(n),t<128?a[s>>2]|=t<<mt[s++&3]:t<2048?(a[s>>2]|=(192|t>>6)<<mt[s++&3],a[s>>2]|=(128|t&63)<<mt[s++&3]):t<55296||t>=57344?(a[s>>2]|=(224|t>>12)<<mt[s++&3],a[s>>2]|=(128|t>>6&63)<<mt[s++&3],a[s>>2]|=(128|t&63)<<mt[s++&3]):(t=65536+((t&1023)<<10|r.charCodeAt(++n)&1023),a[s>>2]|=(240|t>>18)<<mt[s++&3],a[s>>2]|=(128|t>>12&63)<<mt[s++&3],a[s>>2]|=(128|t>>6&63)<<mt[s++&3],a[s>>2]|=(128|t&63)<<mt[s++&3]);this.lastByteIndex=s,this.bytes+=s-this.start,s>=64?(this.block=a[16],this.start=s-64,this.hash(),this.hashed=!0):this.start=s}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this}};gt.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var r=this.blocks,e=this.lastByteIndex;r[16]=this.block,r[e>>2]|=jg[e&3],this.block=r[16],e>=56&&(this.hashed||this.hash(),r[0]=this.block,r[16]=r[1]=r[2]=r[3]=r[4]=r[5]=r[6]=r[7]=r[8]=r[9]=r[10]=r[11]=r[12]=r[13]=r[14]=r[15]=0),r[14]=this.hBytes<<3|this.bytes>>>29,r[15]=this.bytes<<3,this.hash()}};gt.prototype.hash=function(){var r=this.h0,e=this.h1,t=this.h2,n=this.h3,s=this.h4,i,a,o,c=this.blocks;for(a=16;a<80;++a)o=c[a-3]^c[a-8]^c[a-14]^c[a-16],c[a]=o<<1|o>>>31;for(a=0;a<20;a+=5)i=e&t|~e&n,o=r<<5|r>>>27,s=o+i+s+1518500249+c[a]<<0,e=e<<30|e>>>2,i=r&e|~r&t,o=s<<5|s>>>27,n=o+i+n+1518500249+c[a+1]<<0,r=r<<30|r>>>2,i=s&r|~s&e,o=n<<5|n>>>27,t=o+i+t+1518500249+c[a+2]<<0,s=s<<30|s>>>2,i=n&s|~n&r,o=t<<5|t>>>27,e=o+i+e+1518500249+c[a+3]<<0,n=n<<30|n>>>2,i=t&n|~t&s,o=e<<5|e>>>27,r=o+i+r+1518500249+c[a+4]<<0,t=t<<30|t>>>2;for(;a<40;a+=5)i=e^t^n,o=r<<5|r>>>27,s=o+i+s+1859775393+c[a]<<0,e=e<<30|e>>>2,i=r^e^t,o=s<<5|s>>>27,n=o+i+n+1859775393+c[a+1]<<0,r=r<<30|r>>>2,i=s^r^e,o=n<<5|n>>>27,t=o+i+t+1859775393+c[a+2]<<0,s=s<<30|s>>>2,i=n^s^r,o=t<<5|t>>>27,e=o+i+e+1859775393+c[a+3]<<0,n=n<<30|n>>>2,i=t^n^s,o=e<<5|e>>>27,r=o+i+r+1859775393+c[a+4]<<0,t=t<<30|t>>>2;for(;a<60;a+=5)i=e&t|e&n|t&n,o=r<<5|r>>>27,s=o+i+s-1894007588+c[a]<<0,e=e<<30|e>>>2,i=r&e|r&t|e&t,o=s<<5|s>>>27,n=o+i+n-1894007588+c[a+1]<<0,r=r<<30|r>>>2,i=s&r|s&e|r&e,o=n<<5|n>>>27,t=o+i+t-1894007588+c[a+2]<<0,s=s<<30|s>>>2,i=n&s|n&r|s&r,o=t<<5|t>>>27,e=o+i+e-1894007588+c[a+3]<<0,n=n<<30|n>>>2,i=t&n|t&s|n&s,o=e<<5|e>>>27,r=o+i+r-1894007588+c[a+4]<<0,t=t<<30|t>>>2;for(;a<80;a+=5)i=e^t^n,o=r<<5|r>>>27,s=o+i+s-899497514+c[a]<<0,e=e<<30|e>>>2,i=r^e^t,o=s<<5|s>>>27,n=o+i+n-899497514+c[a+1]<<0,r=r<<30|r>>>2,i=s^r^e,o=n<<5|n>>>27,t=o+i+t-899497514+c[a+2]<<0,s=s<<30|s>>>2,i=n^s^r,o=t<<5|t>>>27,e=o+i+e-899497514+c[a+3]<<0,n=n<<30|n>>>2,i=t^n^s,o=e<<5|e>>>27,r=o+i+r-899497514+c[a+4]<<0,t=t<<30|t>>>2;this.h0=this.h0+r<<0,this.h1=this.h1+e<<0,this.h2=this.h2+t<<0,this.h3=this.h3+n<<0,this.h4=this.h4+s<<0};gt.prototype.hex=function(){this.finalize();var r=this.h0,e=this.h1,t=this.h2,n=this.h3,s=this.h4;return z[r>>28&15]+z[r>>24&15]+z[r>>20&15]+z[r>>16&15]+z[r>>12&15]+z[r>>8&15]+z[r>>4&15]+z[r&15]+z[e>>28&15]+z[e>>24&15]+z[e>>20&15]+z[e>>16&15]+z[e>>12&15]+z[e>>8&15]+z[e>>4&15]+z[e&15]+z[t>>28&15]+z[t>>24&15]+z[t>>20&15]+z[t>>16&15]+z[t>>12&15]+z[t>>8&15]+z[t>>4&15]+z[t&15]+z[n>>28&15]+z[n>>24&15]+z[n>>20&15]+z[n>>16&15]+z[n>>12&15]+z[n>>8&15]+z[n>>4&15]+z[n&15]+z[s>>28&15]+z[s>>24&15]+z[s>>20&15]+z[s>>16&15]+z[s>>12&15]+z[s>>8&15]+z[s>>4&15]+z[s&15]};gt.prototype.toString=gt.prototype.hex;gt.prototype.digest=function(){this.finalize();var r=this.h0,e=this.h1,t=this.h2,n=this.h3,s=this.h4;return[r>>24&255,r>>16&255,r>>8&255,r&255,e>>24&255,e>>16&255,e>>8&255,e&255,t>>24&255,t>>16&255,t>>8&255,t&255,n>>24&255,n>>16&255,n>>8&255,n&255,s>>24&255,s>>16&255,s>>8&255,s&255]};gt.prototype.array=gt.prototype.digest;gt.prototype.arrayBuffer=function(){this.finalize();var r=new ArrayBuffer(20),e=new DataView(r);return e.setUint32(0,this.h0),e.setUint32(4,this.h1),e.setUint32(8,this.h2),e.setUint32(12,this.h3),e.setUint32(16,this.h4),r};var Uf=!1,Oi=r=>(Uf||(console.warn(["The default method for hashing keys is insecure and will be replaced in a future version,","but hasn't been replaced yet as to not break existing caches. It's recommended that you use","a more secure hashing algorithm to avoid cache poisoning.","","See this page for more information:","|","\u2514> https://js.langchain.com/docs/troubleshooting/warnings/insecure-cache-algorithm"].join(`
|
|
8
|
-
`)),Uf=!0),new gt(!0).update(r).hex());var R="0123456789abcdef".split(""),Mg=[-2147483648,8388608,32768,128],bt=[24,16,8,0],ki=[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];var we=[];function yt(r,e){e?(we[0]=we[16]=we[1]=we[2]=we[3]=we[4]=we[5]=we[6]=we[7]=we[8]=we[9]=we[10]=we[11]=we[12]=we[13]=we[14]=we[15]=0,this.blocks=we):this.blocks=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],r?(this.h0=3238371032,this.h1=914150663,this.h2=812702999,this.h3=4144912697,this.h4=4290775857,this.h5=1750603025,this.h6=1694076839,this.h7=3204075428):(this.h0=1779033703,this.h1=3144134277,this.h2=1013904242,this.h3=2773480762,this.h4=1359893119,this.h5=2600822924,this.h6=528734635,this.h7=1541459225),this.block=this.start=this.bytes=this.hBytes=0,this.finalized=this.hashed=!1,this.first=!0,this.is224=r}yt.prototype.update=function(r){if(!this.finalized){var e,t=typeof r;if(t!=="string"){if(t==="object"){if(r===null)throw new Error(ERROR);if(ARRAY_BUFFER&&r.constructor===ArrayBuffer)r=new Uint8Array(r);else if(!Array.isArray(r)&&(!ARRAY_BUFFER||!ArrayBuffer.isView(r)))throw new Error(ERROR)}else throw new Error(ERROR);e=!0}for(var n,s=0,i,a=r.length,o=this.blocks;s<a;){if(this.hashed&&(this.hashed=!1,o[0]=this.block,this.block=o[16]=o[1]=o[2]=o[3]=o[4]=o[5]=o[6]=o[7]=o[8]=o[9]=o[10]=o[11]=o[12]=o[13]=o[14]=o[15]=0),e)for(i=this.start;s<a&&i<64;++s)o[i>>>2]|=r[s]<<bt[i++&3];else for(i=this.start;s<a&&i<64;++s)n=r.charCodeAt(s),n<128?o[i>>>2]|=n<<bt[i++&3]:n<2048?(o[i>>>2]|=(192|n>>>6)<<bt[i++&3],o[i>>>2]|=(128|n&63)<<bt[i++&3]):n<55296||n>=57344?(o[i>>>2]|=(224|n>>>12)<<bt[i++&3],o[i>>>2]|=(128|n>>>6&63)<<bt[i++&3],o[i>>>2]|=(128|n&63)<<bt[i++&3]):(n=65536+((n&1023)<<10|r.charCodeAt(++s)&1023),o[i>>>2]|=(240|n>>>18)<<bt[i++&3],o[i>>>2]|=(128|n>>>12&63)<<bt[i++&3],o[i>>>2]|=(128|n>>>6&63)<<bt[i++&3],o[i>>>2]|=(128|n&63)<<bt[i++&3]);this.lastByteIndex=i,this.bytes+=i-this.start,i>=64?(this.block=o[16],this.start=i-64,this.hash(),this.hashed=!0):this.start=i}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this}};yt.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var r=this.blocks,e=this.lastByteIndex;r[16]=this.block,r[e>>>2]|=Mg[e&3],this.block=r[16],e>=56&&(this.hashed||this.hash(),r[0]=this.block,r[16]=r[1]=r[2]=r[3]=r[4]=r[5]=r[6]=r[7]=r[8]=r[9]=r[10]=r[11]=r[12]=r[13]=r[14]=r[15]=0),r[14]=this.hBytes<<3|this.bytes>>>29,r[15]=this.bytes<<3,this.hash()}};yt.prototype.hash=function(){var r=this.h0,e=this.h1,t=this.h2,n=this.h3,s=this.h4,i=this.h5,a=this.h6,o=this.h7,c=this.blocks,u,l,h,p,f,m,y,_,k,x,A;for(u=16;u<64;++u)f=c[u-15],l=(f>>>7|f<<25)^(f>>>18|f<<14)^f>>>3,f=c[u-2],h=(f>>>17|f<<15)^(f>>>19|f<<13)^f>>>10,c[u]=c[u-16]+l+c[u-7]+h<<0;for(A=e&t,u=0;u<64;u+=4)this.first?(this.is224?(_=300032,f=c[0]-1413257819,o=f-150054599<<0,n=f+24177077<<0):(_=704751109,f=c[0]-210244248,o=f-1521486534<<0,n=f+143694565<<0),this.first=!1):(l=(r>>>2|r<<30)^(r>>>13|r<<19)^(r>>>22|r<<10),h=(s>>>6|s<<26)^(s>>>11|s<<21)^(s>>>25|s<<7),_=r&e,p=_^r&t^A,y=s&i^~s&a,f=o+h+y+ki[u]+c[u],m=l+p,o=n+f<<0,n=f+m<<0),l=(n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10),h=(o>>>6|o<<26)^(o>>>11|o<<21)^(o>>>25|o<<7),k=n&r,p=k^n&e^_,y=a&o^~a&s,f=i+h+y+ki[u+1]+c[u+1],m=l+p,a=t+f<<0,t=f+m<<0,l=(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10),h=(a>>>6|a<<26)^(a>>>11|a<<21)^(a>>>25|a<<7),x=t&n,p=x^t&r^k,y=i&a^~i&o,f=s+h+y+ki[u+2]+c[u+2],m=l+p,i=e+f<<0,e=f+m<<0,l=(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10),h=(i>>>6|i<<26)^(i>>>11|i<<21)^(i>>>25|i<<7),A=e&t,p=A^e&n^x,y=i&a^~i&o,f=s+h+y+ki[u+3]+c[u+3],m=l+p,s=r+f<<0,r=f+m<<0,this.chromeBugWorkAround=!0;this.h0=this.h0+r<<0,this.h1=this.h1+e<<0,this.h2=this.h2+t<<0,this.h3=this.h3+n<<0,this.h4=this.h4+s<<0,this.h5=this.h5+i<<0,this.h6=this.h6+a<<0,this.h7=this.h7+o<<0};yt.prototype.hex=function(){this.finalize();var r=this.h0,e=this.h1,t=this.h2,n=this.h3,s=this.h4,i=this.h5,a=this.h6,o=this.h7,c=R[r>>>28&15]+R[r>>>24&15]+R[r>>>20&15]+R[r>>>16&15]+R[r>>>12&15]+R[r>>>8&15]+R[r>>>4&15]+R[r&15]+R[e>>>28&15]+R[e>>>24&15]+R[e>>>20&15]+R[e>>>16&15]+R[e>>>12&15]+R[e>>>8&15]+R[e>>>4&15]+R[e&15]+R[t>>>28&15]+R[t>>>24&15]+R[t>>>20&15]+R[t>>>16&15]+R[t>>>12&15]+R[t>>>8&15]+R[t>>>4&15]+R[t&15]+R[n>>>28&15]+R[n>>>24&15]+R[n>>>20&15]+R[n>>>16&15]+R[n>>>12&15]+R[n>>>8&15]+R[n>>>4&15]+R[n&15]+R[s>>>28&15]+R[s>>>24&15]+R[s>>>20&15]+R[s>>>16&15]+R[s>>>12&15]+R[s>>>8&15]+R[s>>>4&15]+R[s&15]+R[i>>>28&15]+R[i>>>24&15]+R[i>>>20&15]+R[i>>>16&15]+R[i>>>12&15]+R[i>>>8&15]+R[i>>>4&15]+R[i&15]+R[a>>>28&15]+R[a>>>24&15]+R[a>>>20&15]+R[a>>>16&15]+R[a>>>12&15]+R[a>>>8&15]+R[a>>>4&15]+R[a&15];return this.is224||(c+=R[o>>>28&15]+R[o>>>24&15]+R[o>>>20&15]+R[o>>>16&15]+R[o>>>12&15]+R[o>>>8&15]+R[o>>>4&15]+R[o&15]),c};yt.prototype.toString=yt.prototype.hex;yt.prototype.digest=function(){this.finalize();var r=this.h0,e=this.h1,t=this.h2,n=this.h3,s=this.h4,i=this.h5,a=this.h6,o=this.h7,c=[r>>>24&255,r>>>16&255,r>>>8&255,r&255,e>>>24&255,e>>>16&255,e>>>8&255,e&255,t>>>24&255,t>>>16&255,t>>>8&255,t&255,n>>>24&255,n>>>16&255,n>>>8&255,n&255,s>>>24&255,s>>>16&255,s>>>8&255,s&255,i>>>24&255,i>>>16&255,i>>>8&255,i&255,a>>>24&255,a>>>16&255,a>>>8&255,a&255];return this.is224||c.push(o>>>24&255,o>>>16&255,o>>>8&255,o&255),c};yt.prototype.array=yt.prototype.digest;yt.prototype.arrayBuffer=function(){this.finalize();var r=new ArrayBuffer(this.is224?28:32),e=new DataView(r);return e.setUint32(0,this.h0),e.setUint32(4,this.h1),e.setUint32(8,this.h2),e.setUint32(12,this.h3),e.setUint32(16,this.h4),e.setUint32(20,this.h5),e.setUint32(24,this.h6),this.is224||e.setUint32(28,this.h7),r};var Ff=(...r)=>new yt(!1,!0).update(r.join("")).hex();var Bf=(...r)=>Oi(r.join("_"));function $g(r){return r.message!==void 0?{text:r.text,message:Gh(r.message)}:{text:r.text}}function Dg(r){let e={text:r.text};return r.message!==void 0&&(e.message=r.message.toDict()),e}var Ai=class{constructor(){Object.defineProperty(this,"keyEncoder",{enumerable:!0,configurable:!0,writable:!0,value:Bf})}makeDefaultKeyEncoder(e){this.keyEncoder=e}},Lg=new Map,is=class r extends Ai{constructor(e){super(),Object.defineProperty(this,"cache",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cache=e??new Map}lookup(e,t){return Promise.resolve(this.cache.get(this.keyEncoder(e,t))??null)}async update(e,t,n){this.cache.set(this.keyEncoder(e,t),n)}static global(){return new r(Lg)}};var Ec={};te(Ec,{BaseChatMessageHistory:()=>as,BaseListChatMessageHistory:()=>pn,InMemoryChatMessageHistory:()=>Sc});var as=class extends Xt{async addMessages(e){for(let t of e)await this.addMessage(t)}},pn=class extends Xt{addUserMessage(e){return this.addMessage(new it(e))}addAIChatMessage(e){return this.addMessage(new ue(e))}addAIMessage(e){return this.addMessage(new ue(e))}async addMessages(e){for(let t of e)await this.addMessage(t)}clear(){throw new Error("Not implemented.")}},Sc=class extends pn{constructor(e){super(...arguments),Object.defineProperty(this,"lc_namespace",{enumerable:!0,configurable:!0,writable:!0,value:["langchain","stores","message","in_memory"]}),Object.defineProperty(this,"messages",{enumerable:!0,configurable:!0,writable:!0,value:[]}),this.messages=e??[]}async getMessages(){return this.messages}async addMessage(e){this.messages.push(e)}async clear(){this.messages=[]}};var Tc={};te(Tc,{BaseDocumentTransformer:()=>Si,Document:()=>_t,MappingDocumentTransformer:()=>Pc});var _t=class{constructor(e){Object.defineProperty(this,"pageContent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metadata",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.pageContent=e.pageContent!==void 0?e.pageContent.toString():"",this.metadata=e.metadata??{},this.id=e.id}};var Si=class extends J{constructor(){super(...arguments),Object.defineProperty(this,"lc_namespace",{enumerable:!0,configurable:!0,writable:!0,value:["langchain_core","documents","transformers"]})}invoke(e,t){return this.transformDocuments(e)}},Pc=class extends Si{async transformDocuments(e){let t=[];for(let n of e){let s=await this._transformDocument(n);t.push(s)}return t}};var Cc={};te(Cc,{Embeddings:()=>dn});var dn=class{constructor(e){Object.defineProperty(this,"caller",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.caller=new un(e??{})}};var Mc={};te(Mc,{BaseExampleSelector:()=>Cr,BasePromptSelector:()=>Ei,ConditionalPromptSelector:()=>Ic,LengthBasedExampleSelector:()=>Nc,SemanticSimilarityExampleSelector:()=>jc,isChatModel:()=>Fg,isLLM:()=>Ug});var Cr=class extends Xt{constructor(){super(...arguments),Object.defineProperty(this,"lc_namespace",{enumerable:!0,configurable:!0,writable:!0,value:["langchain_core","example_selectors","base"]})}};var Ei=class{async getPromptAsync(e,t){return this.getPrompt(e).partial(t?.partialVariables??{})}},Ic=class extends Ei{constructor(e,t=[]){super(),Object.defineProperty(this,"defaultPrompt",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"conditionals",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.defaultPrompt=e,this.conditionals=t}getPrompt(e){for(let[t,n]of this.conditionals)if(t(e))return n;return this.defaultPrompt}};function Ug(r){return r._modelType()==="base_llm"}function Fg(r){return r._modelType()==="base_chat_model"}function zf(r){return r.split(/\n| /).length}var Nc=class r extends Cr{constructor(e){super(e),Object.defineProperty(this,"examples",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"examplePrompt",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"getTextLength",{enumerable:!0,configurable:!0,writable:!0,value:zf}),Object.defineProperty(this,"maxLength",{enumerable:!0,configurable:!0,writable:!0,value:2048}),Object.defineProperty(this,"exampleTextLengths",{enumerable:!0,configurable:!0,writable:!0,value:[]}),this.examplePrompt=e.examplePrompt,this.maxLength=e.maxLength??2048,this.getTextLength=e.getTextLength??zf}async addExample(e){this.examples.push(e);let t=await this.examplePrompt.format(e);this.exampleTextLengths.push(this.getTextLength(t))}async calculateExampleTextLengths(e,t){if(e.length>0)return e;let{examples:n,examplePrompt:s}=t;return(await Promise.all(n.map(a=>s.format(a)))).map(a=>this.getTextLength(a))}async selectExamples(e){let t=Object.values(e).join(" "),n=this.maxLength-this.getTextLength(t),s=0,i=[];for(;n>0&&s<this.examples.length;){let a=n-this.exampleTextLengths[s];if(a<0)break;i.push(this.examples[s]),n=a,s+=1}return i}static async fromExamples(e,t){let n=new r(t);return await Promise.all(e.map(s=>n.addExample(s))),n}};function Rc(r){return Object.keys(r).sort().map(e=>r[e])}var jc=class r extends Cr{constructor(e){if(super(e),Object.defineProperty(this,"vectorStoreRetriever",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"exampleKeys",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"inputKeys",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.exampleKeys=e.exampleKeys,this.inputKeys=e.inputKeys,e.vectorStore!==void 0)this.vectorStoreRetriever=e.vectorStore.asRetriever({k:e.k??4,filter:e.filter});else if(e.vectorStoreRetriever)this.vectorStoreRetriever=e.vectorStoreRetriever;else throw new Error('You must specify one of "vectorStore" and "vectorStoreRetriever".')}async addExample(e){let t=this.inputKeys??Object.keys(e),n=Rc(t.reduce((s,i)=>({...s,[i]:e[i]}),{})).join(" ");await this.vectorStoreRetriever.addDocuments([new _t({pageContent:n,metadata:e})])}async selectExamples(e){let t=this.inputKeys??Object.keys(e),n=Rc(t.reduce((a,o)=>({...a,[o]:e[o]}),{})).join(" "),i=(await this.vectorStoreRetriever.invoke(n)).map(a=>a.metadata);return this.exampleKeys?i.map(a=>this.exampleKeys.reduce((o,c)=>({...o,[c]:a[c]}),{})):i}static async fromExamples(e,t,n,s={}){let i=s.inputKeys??null,a=e.map(c=>Rc(i?i.reduce((u,l)=>({...u,[l]:c[l]}),{}):c).join(" ")),o=await n.fromTexts(a,e,t,s);return new r({vectorStore:o,k:s.k??4,exampleKeys:s.exampleKeys,inputKeys:s.inputKeys})}};var Fc={};te(Fc,{BaseLangChain:()=>mn,BaseLanguageModel:()=>Nr,calculateMaxTokens:()=>rb,getEmbeddingContextSize:()=>tb,getModelContextSize:()=>qf,getModelNameForTiktoken:()=>Ni,isOpenAITool:()=>Ri});var Uc={};te(Uc,{encodingForModel:()=>Ii,getEncoding:()=>Hf});var Gf=Bm(Vf(),1),qg=Object.defineProperty,Jg=(r,e,t)=>e in r?qg(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Xg=(r,e,t)=>(Jg(r,typeof e!="symbol"?e+"":e,t),t);function Yg(r,e){let t=Array.from({length:r.length},(n,s)=>({start:s,end:s+1}));for(;t.length>1;){let n=null;for(let s=0;s<t.length-1;s++){let i=r.slice(t[s].start,t[s+1].end),a=e.get(i.join(","));a!=null&&(n==null||a<n[0])&&(n=[a,s])}if(n!=null){let s=n[1];t[s]={start:t[s].start,end:t[s+1].end},t.splice(s+1,1)}else break}return t}function Zg(r,e){return r.length===1?[e.get(r.join(","))]:Yg(r,e).map(t=>e.get(r.slice(t.start,t.end).join(","))).filter(t=>t!=null)}function Qg(r){return r.replace(/[\\^$*+?.()|[\]{}]/g,"\\$&")}var Dc=class{specialTokens;inverseSpecialTokens;patStr;textEncoder=new TextEncoder;textDecoder=new TextDecoder("utf-8");rankMap=new Map;textMap=new Map;constructor(r,e){this.patStr=r.pat_str;let t=r.bpe_ranks.split(`
|
|
9
|
-
`).filter(Boolean).reduce((n,s)=>{let[i,a,...o]=s.split(" "),c=Number.parseInt(a,10);return o.forEach((u,l)=>n[u]=c+l),n},{});for(let[n,s]of Object.entries(t)){let i=Gf.default.toByteArray(n);this.rankMap.set(i.join(","),s),this.textMap.set(s,i)}this.specialTokens={...r.special_tokens,...e},this.inverseSpecialTokens=Object.entries(this.specialTokens).reduce((n,[s,i])=>(n[i]=this.textEncoder.encode(s),n),{})}encode(r,e=[],t="all"){let n=new RegExp(this.patStr,"ug"),s=Dc.specialTokenRegex(Object.keys(this.specialTokens)),i=[],a=new Set(e==="all"?Object.keys(this.specialTokens):e),o=new Set(t==="all"?Object.keys(this.specialTokens).filter(u=>!a.has(u)):t);if(o.size>0){let u=Dc.specialTokenRegex([...o]),l=r.match(u);if(l!=null)throw new Error(`The text contains a special token that is not allowed: ${l[0]}`)}let c=0;for(;;){let u=null,l=c;for(;s.lastIndex=l,u=s.exec(r),!(u==null||a.has(u[0]));)l=u.index+1;let h=u?.index??r.length;for(let f of r.substring(c,h).matchAll(n)){let m=this.textEncoder.encode(f[0]),y=this.rankMap.get(m.join(","));if(y!=null){i.push(y);continue}i.push(...Zg(m,this.rankMap))}if(u==null)break;let p=this.specialTokens[u[0]];i.push(p),c=u.index+u[0].length}return i}decode(r){let e=[],t=0;for(let i=0;i<r.length;++i){let a=r[i],o=this.textMap.get(a)??this.inverseSpecialTokens[a];o!=null&&(e.push(o),t+=o.length)}let n=new Uint8Array(t),s=0;for(let i of e)n.set(i,s),s+=i.length;return this.textDecoder.decode(n)}},Ti=Dc;Xg(Ti,"specialTokenRegex",r=>new RegExp(r.map(e=>Qg(e)).join("|"),"g"));function Lc(r){switch(r){case"gpt2":return"gpt2";case"code-cushman-001":case"code-cushman-002":case"code-davinci-001":case"code-davinci-002":case"cushman-codex":case"davinci-codex":case"davinci-002":case"text-davinci-002":case"text-davinci-003":return"p50k_base";case"code-davinci-edit-001":case"text-davinci-edit-001":return"p50k_edit";case"ada":case"babbage":case"babbage-002":case"code-search-ada-code-001":case"code-search-babbage-code-001":case"curie":case"davinci":case"text-ada-001":case"text-babbage-001":case"text-curie-001":case"text-davinci-001":case"text-search-ada-doc-001":case"text-search-babbage-doc-001":case"text-search-curie-doc-001":case"text-search-davinci-doc-001":case"text-similarity-ada-001":case"text-similarity-babbage-001":case"text-similarity-curie-001":case"text-similarity-davinci-001":return"r50k_base";case"gpt-3.5-turbo-instruct-0914":case"gpt-3.5-turbo-instruct":case"gpt-3.5-turbo-16k-0613":case"gpt-3.5-turbo-16k":case"gpt-3.5-turbo-0613":case"gpt-3.5-turbo-0301":case"gpt-3.5-turbo":case"gpt-4-32k-0613":case"gpt-4-32k-0314":case"gpt-4-32k":case"gpt-4-0613":case"gpt-4-0314":case"gpt-4":case"gpt-3.5-turbo-1106":case"gpt-35-turbo":case"gpt-4-1106-preview":case"gpt-4-vision-preview":case"gpt-3.5-turbo-0125":case"gpt-4-turbo":case"gpt-4-turbo-2024-04-09":case"gpt-4-turbo-preview":case"gpt-4-0125-preview":case"text-embedding-ada-002":case"text-embedding-3-small":case"text-embedding-3-large":return"cl100k_base";case"gpt-4o":case"gpt-4o-2024-05-13":case"gpt-4o-2024-08-06":case"gpt-4o-2024-11-20":case"gpt-4o-mini-2024-07-18":case"gpt-4o-mini":case"gpt-4o-search-preview":case"gpt-4o-search-preview-2025-03-11":case"gpt-4o-mini-search-preview":case"gpt-4o-mini-search-preview-2025-03-11":case"gpt-4o-audio-preview":case"gpt-4o-audio-preview-2024-12-17":case"gpt-4o-audio-preview-2024-10-01":case"gpt-4o-mini-audio-preview":case"gpt-4o-mini-audio-preview-2024-12-17":case"o1":case"o1-2024-12-17":case"o1-mini":case"o1-mini-2024-09-12":case"o1-preview":case"o1-preview-2024-09-12":case"o1-pro":case"o1-pro-2025-03-19":case"o3":case"o3-2025-04-16":case"o3-mini":case"o3-mini-2025-01-31":case"o4-mini":case"o4-mini-2025-04-16":case"chatgpt-4o-latest":case"gpt-4o-realtime":case"gpt-4o-realtime-preview-2024-10-01":case"gpt-4o-realtime-preview-2024-12-17":case"gpt-4o-mini-realtime-preview":case"gpt-4o-mini-realtime-preview-2024-12-17":case"gpt-4.1":case"gpt-4.1-2025-04-14":case"gpt-4.1-mini":case"gpt-4.1-mini-2025-04-14":case"gpt-4.1-nano":case"gpt-4.1-nano-2025-04-14":case"gpt-4.5-preview":case"gpt-4.5-preview-2025-02-27":case"gpt-5":case"gpt-5-2025-08-07":case"gpt-5-nano":case"gpt-5-nano-2025-08-07":case"gpt-5-mini":case"gpt-5-mini-2025-08-07":case"gpt-5-chat-latest":return"o200k_base";default:throw new Error("Unknown model")}}var Ci={},eb=new un({});async function Hf(r){return r in Ci||(Ci[r]=eb.fetch(`https://tiktoken.pages.dev/js/${r}.json`).then(e=>e.json()).then(e=>new Ti(e)).catch(e=>{throw delete Ci[r],e})),await Ci[r]}async function Ii(r){return Hf(Lc(r))}var Ni=r=>r.startsWith("gpt-3.5-turbo-16k")?"gpt-3.5-turbo-16k":r.startsWith("gpt-3.5-turbo-")?"gpt-3.5-turbo":r.startsWith("gpt-4-32k")?"gpt-4-32k":r.startsWith("gpt-4-")?"gpt-4":r.startsWith("gpt-4o")?"gpt-4o":r,tb=r=>{switch(r){case"text-embedding-ada-002":return 8191;default:return 2046}},qf=r=>{switch(Ni(r)){case"gpt-3.5-turbo-16k":return 16384;case"gpt-3.5-turbo":return 4096;case"gpt-4-32k":return 32768;case"gpt-4":return 8192;case"text-davinci-003":return 4097;case"text-curie-001":return 2048;case"text-babbage-001":return 2048;case"text-ada-001":return 2048;case"code-davinci-002":return 8e3;case"code-cushman-001":return 2048;default:return 4097}};function Ri(r){return typeof r!="object"||!r?!1:!!("type"in r&&r.type==="function"&&"function"in r&&typeof r.function=="object"&&r.function&&"name"in r.function&&"parameters"in r.function)}var rb=async({prompt:r,modelName:e})=>{let t;try{t=(await Ii(Ni(e))).encode(r).length}catch{console.warn("Failed to calculate number of tokens, falling back to approximate count"),t=Math.ceil(r.length/4)}return qf(e)-t},nb=()=>!1,mn=class extends J{get lc_attributes(){return{callbacks:void 0,verbose:void 0}}constructor(e){super(e),Object.defineProperty(this,"verbose",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"callbacks",{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,"metadata",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.verbose=e.verbose??nb(),this.callbacks=e.callbacks,this.tags=e.tags??[],this.metadata=e.metadata??{}}},Nr=class extends mn{get callKeys(){return["stop","timeout","signal","tags","metadata","callbacks"]}constructor({callbacks:e,callbackManager:t,...n}){let{cache:s,...i}=n;super({callbacks:e??t,...i}),Object.defineProperty(this,"caller",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cache",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_encoding",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),typeof s=="object"?this.cache=s:s?this.cache=is.global():this.cache=void 0,this.caller=new un(n??{})}async getNumTokens(e){let t;typeof e=="string"?t=e:t=e.map(s=>typeof s=="string"?s:s.type==="text"&&"text"in s?s.text:"").join("");let n=Math.ceil(t.length/4);if(!this._encoding)try{this._encoding=await Ii("modelName"in this?Ni(this.modelName):"gpt2")}catch(s){console.warn("Failed to calculate number of tokens, falling back to approximate count",s)}if(this._encoding)try{n=this._encoding.encode(t).length}catch(s){console.warn("Failed to calculate number of tokens, falling back to approximate count",s)}return n}static _convertInputToPromptValue(e){return typeof e=="string"?new kf(e):Array.isArray(e)?new Af(e.map(jt)):e}_identifyingParams(){return{}}_getSerializedCacheKeyParametersForCall({config:e,...t}){let n={...this._identifyingParams(),...t,_type:this._llmType(),_model:this._modelType()};return Object.entries(n).filter(([a,o])=>o!==void 0).map(([a,o])=>`${a}:${JSON.stringify(o)}`).sort().join(",")}serialize(){return{...this._identifyingParams(),_type:this._llmType(),_model:this._modelType()}}static async deserialize(e){throw new Error("Use .toJSON() instead")}};var Wc={};te(Wc,{BaseChatModel:()=>Ut,SimpleChatModel:()=>zc,createChatMessageChunkEncoderStream:()=>sb});var qe=class extends J{static lc_name(){return"RunnablePassthrough"}constructor(e){super(e),Object.defineProperty(this,"lc_namespace",{enumerable:!0,configurable:!0,writable:!0,value:["langchain_core","runnables"]}),Object.defineProperty(this,"lc_serializable",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"func",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),e&&(this.func=e.func)}async invoke(e,t){let n=ct(t);return this.func&&await this.func(e,n),this._callWithConfig(s=>Promise.resolve(s),e,n)}async*transform(e,t){let n=ct(t),s,i=!0;for await(let a of this._transformStreamWithConfig(e,o=>o,n))if(yield a,i)if(s===void 0)s=a;else try{s=Zt(s,a)}catch{s=void 0,i=!1}this.func&&s!==void 0&&await this.func(s,n)}static assign(e){return new fi(new hi({steps:e}))}};function sb(){let r=new TextEncoder;return new TransformStream({transform(e,t){t.enqueue(r.encode(typeof e.content=="string"?e.content:JSON.stringify(e.content)))}})}function Bc(r){let e=[];for(let t of r){let n=t;if(Array.isArray(t.content))for(let s=0;s<t.content.length;s++){let i=t.content[s];(Lh(i)||Uh(i))&&n===t&&(n=new t.constructor({...n,content:[...t.content.slice(0,s),Fh(i),...t.content.slice(s+1)]}))}e.push(n)}return e}var Ut=class r extends Nr{constructor(e){super(e),Object.defineProperty(this,"lc_namespace",{enumerable:!0,configurable:!0,writable:!0,value:["langchain","chat_models",this._llmType()]}),Object.defineProperty(this,"disableStreaming",{enumerable:!0,configurable:!0,writable:!0,value:!1})}_separateRunnableConfigFromCallOptionsCompat(e){let[t,n]=super._separateRunnableConfigFromCallOptions(e);return n.signal=t.signal,[t,n]}async invoke(e,t){let n=r._convertInputToPromptValue(e);return(await this.generatePrompt([n],t,t?.callbacks)).generations[0][0].message}async*_streamResponseChunks(e,t,n){throw new Error("Not implemented.")}async*_streamIterator(e,t){if(this._streamResponseChunks===r.prototype._streamResponseChunks||this.disableStreaming)yield this.invoke(e,t);else{let s=r._convertInputToPromptValue(e).toChatMessages(),[i,a]=this._separateRunnableConfigFromCallOptionsCompat(t),o={...i.metadata,...this.getLsParams(a)},c=await at.configure(i.callbacks,this.callbacks,i.tags,this.tags,o,this.metadata,{verbose:this.verbose}),u={options:a,invocation_params:this?.invocationParams(a),batch_size:1},l=await c?.handleChatModelStart(this.toJSON(),[Bc(s)],i.runId,void 0,u,void 0,void 0,i.runName),h,p;try{for await(let f of this._streamResponseChunks(s,a,l?.[0])){if(f.message.id==null){let m=l?.at(0)?.runId;m!=null&&f.message._updateId(`run-${m}`)}f.message.response_metadata={...f.generationInfo,...f.message.response_metadata},yield f.message,h?h=h.concat(f):h=f,sc(f.message)&&f.message.usage_metadata!==void 0&&(p={tokenUsage:{promptTokens:f.message.usage_metadata.input_tokens,completionTokens:f.message.usage_metadata.output_tokens,totalTokens:f.message.usage_metadata.total_tokens}})}}catch(f){throw await Promise.all((l??[]).map(m=>m?.handleLLMError(f))),f}await Promise.all((l??[]).map(f=>f?.handleLLMEnd({generations:[[h]],llmOutput:p})))}}getLsParams(e){let t=this.getName().startsWith("Chat")?this.getName().replace("Chat",""):this.getName();return{ls_model_type:"chat",ls_stop:e.stop,ls_provider:t}}async _generateUncached(e,t,n,s){let i=e.map(h=>h.map(jt)),a;if(s!==void 0&&s.length===i.length)a=s;else{let h={...n.metadata,...this.getLsParams(t)},p=await at.configure(n.callbacks,this.callbacks,n.tags,this.tags,h,this.metadata,{verbose:this.verbose}),f={options:t,invocation_params:this?.invocationParams(t),batch_size:1};a=await p?.handleChatModelStart(this.toJSON(),i.map(Bc),n.runId,void 0,f,void 0,void 0,n.runName)}let o=[],c=[];if(!!a?.[0].handlers.find(ci)&&!this.disableStreaming&&i.length===1&&this._streamResponseChunks!==r.prototype._streamResponseChunks)try{let h=await this._streamResponseChunks(i[0],t,a?.[0]),p,f;for await(let m of h){if(m.message.id==null){let y=a?.at(0)?.runId;y!=null&&m.message._updateId(`run-${y}`)}p===void 0?p=m:p=Zt(p,m),sc(m.message)&&m.message.usage_metadata!==void 0&&(f={tokenUsage:{promptTokens:m.message.usage_metadata.input_tokens,completionTokens:m.message.usage_metadata.output_tokens,totalTokens:m.message.usage_metadata.total_tokens}})}if(p===void 0)throw new Error("Received empty response from chat model call.");o.push([p]),await a?.[0].handleLLMEnd({generations:o,llmOutput:f})}catch(h){throw await a?.[0].handleLLMError(h),h}else{let h=await Promise.allSettled(i.map((p,f)=>this._generate(p,{...t,promptIndex:f},a?.[f])));await Promise.all(h.map(async(p,f)=>{if(p.status==="fulfilled"){let m=p.value;for(let y of m.generations){if(y.message.id==null){let _=a?.at(0)?.runId;_!=null&&y.message._updateId(`run-${_}`)}y.message.response_metadata={...y.generationInfo,...y.message.response_metadata}}return m.generations.length===1&&(m.generations[0].message.response_metadata={...m.llmOutput,...m.generations[0].message.response_metadata}),o[f]=m.generations,c[f]=m.llmOutput,a?.[f]?.handleLLMEnd({generations:[m.generations],llmOutput:m.llmOutput})}else return await a?.[f]?.handleLLMError(p.reason),Promise.reject(p.reason)}))}let l={generations:o,llmOutput:c.length?this._combineLLMOutput?.(...c):void 0};return Object.defineProperty(l,cn,{value:a?{runIds:a?.map(h=>h.runId)}:void 0,configurable:!0}),l}async _generateCached({messages:e,cache:t,llmStringKey:n,parsedOptions:s,handledOptions:i}){let a=e.map(_=>_.map(jt)),o={...i.metadata,...this.getLsParams(s)},c=await at.configure(i.callbacks,this.callbacks,i.tags,this.tags,o,this.metadata,{verbose:this.verbose}),u={options:s,invocation_params:this?.invocationParams(s),batch_size:1},l=await c?.handleChatModelStart(this.toJSON(),a.map(Bc),i.runId,void 0,u,void 0,void 0,i.runName),h=[],f=(await Promise.allSettled(a.map(async(_,k)=>{let x=r._convertInputToPromptValue(_).toString(),A=await t.lookup(x,n);return A==null&&h.push(k),A}))).map((_,k)=>({result:_,runManager:l?.[k]})).filter(({result:_})=>_.status==="fulfilled"&&_.value!=null||_.status==="rejected"),m=[];await Promise.all(f.map(async({result:_,runManager:k},x)=>{if(_.status==="fulfilled"){let A=_.value;return m[x]=A.map(P=>("message"in P&&ye(P.message)&&Yt(P.message)&&(P.message.usage_metadata={input_tokens:0,output_tokens:0,total_tokens:0}),P.generationInfo={...P.generationInfo,tokenUsage:{}},P)),A.length&&await k?.handleLLMNewToken(A[0].text),k?.handleLLMEnd({generations:[A]},void 0,void 0,void 0,{cached:!0})}else return await k?.handleLLMError(_.reason,void 0,void 0,void 0,{cached:!0}),Promise.reject(_.reason)}));let y={generations:m,missingPromptIndices:h,startedRunManagers:l};return Object.defineProperty(y,cn,{value:l?{runIds:l?.map(_=>_.runId)}:void 0,configurable:!0}),y}async generate(e,t,n){let s;Array.isArray(t)?s={stop:t}:s=t;let i=e.map(m=>m.map(jt)),[a,o]=this._separateRunnableConfigFromCallOptionsCompat(s);if(a.callbacks=a.callbacks??n,!this.cache)return this._generateUncached(i,o,a);let{cache:c}=this,u=this._getSerializedCacheKeyParametersForCall(o),{generations:l,missingPromptIndices:h,startedRunManagers:p}=await this._generateCached({messages:i,cache:c,llmStringKey:u,parsedOptions:o,handledOptions:a}),f={};if(h.length>0){let m=await this._generateUncached(h.map(y=>i[y]),o,a,p!==void 0?h.map(y=>p?.[y]):void 0);await Promise.all(m.generations.map(async(y,_)=>{let k=h[_];l[k]=y;let x=r._convertInputToPromptValue(i[k]).toString();return c.update(x,u,y)})),f=m.llmOutput??{}}return{generations:l,llmOutput:f}}invocationParams(e){return{}}_modelType(){return"base_chat_model"}serialize(){return{...this.invocationParams(),_type:this._llmType(),_model:this._modelType()}}async generatePrompt(e,t,n){let s=e.map(i=>i.toChatMessages());return this.generate(s,t,n)}async call(e,t,n){return(await this.generate([e.map(jt)],t,n)).generations[0][0].message}async callPrompt(e,t,n){let s=e.toChatMessages();return this.call(s,t,n)}async predictMessages(e,t,n){return this.call(e,t,n)}async predict(e,t,n){let s=new it(e),i=await this.call([s],t,n);if(typeof i.content!="string")throw new Error("Cannot use predict when output is not a string.");return i.content}withStructuredOutput(e,t){if(typeof this.bindTools!="function")throw new Error('Chat model must implement ".bindTools()" to use withStructuredOutput.');if(t?.strict)throw new Error('"strict" mode is not supported for this model by default.');let n=e,s=t?.name,i=Mt(n)??"A function available to call.",a=t?.method,o=t?.includeRaw;if(a==="jsonMode")throw new Error('Base withStructuredOutput implementation only supports "functionCalling" as a method.');let c=s??"extract",u;lt(n)?u=[{type:"function",function:{name:c,description:i,parameters:Ae(n)}}]:("name"in n&&(c=n.name),u=[{type:"function",function:{name:c,description:i,parameters:n}}]);let l=this.bindTools(u),h=Dt.from(y=>{if(!y.tool_calls||y.tool_calls.length===0)throw new Error("No tool calls found in the response.");let _=y.tool_calls.find(k=>k.name===c);if(!_)throw new Error(`No tool call found with name ${c}.`);return _.args});if(!o)return l.pipe(h).withConfig({runName:"StructuredOutput"});let p=qe.assign({parsed:(y,_)=>h.invoke(y.raw,_)}),f=qe.assign({parsed:()=>null}),m=p.withFallbacks({fallbacks:[f]});return Qe.from([{raw:l},m]).withConfig({runName:"StructuredOutputRunnable"})}},zc=class extends Ut{async _generate(e,t,n){let s=await this._call(e,t,n),i=new ue(s);if(typeof i.content!="string")throw new Error("Cannot generate with a simple chat model when output is not a string.");return{generations:[{text:i.content,message:i}]}}};var Kc={};te(Kc,{BaseLLM:()=>ji,LLM:()=>gn});var ji=class r extends Nr{constructor({concurrency:e,...t}){super(e?{maxConcurrency:e,...t}:t),Object.defineProperty(this,"lc_namespace",{enumerable:!0,configurable:!0,writable:!0,value:["langchain","llms",this._llmType()]})}async invoke(e,t){let n=r._convertInputToPromptValue(e);return(await this.generatePrompt([n],t,t?.callbacks)).generations[0][0].text}async*_streamResponseChunks(e,t,n){throw new Error("Not implemented.")}_separateRunnableConfigFromCallOptionsCompat(e){let[t,n]=super._separateRunnableConfigFromCallOptions(e);return n.signal=t.signal,[t,n]}async*_streamIterator(e,t){if(this._streamResponseChunks===r.prototype._streamResponseChunks)yield this.invoke(e,t);else{let n=r._convertInputToPromptValue(e),[s,i]=this._separateRunnableConfigFromCallOptionsCompat(t),a=await at.configure(s.callbacks,this.callbacks,s.tags,this.tags,s.metadata,this.metadata,{verbose:this.verbose}),o={options:i,invocation_params:this?.invocationParams(i),batch_size:1},c=await a?.handleLLMStart(this.toJSON(),[n.toString()],s.runId,void 0,o,void 0,void 0,s.runName),u=new ui({text:""});try{for await(let l of this._streamResponseChunks(n.toString(),i,c?.[0]))u?u=u.concat(l):u=l,typeof l.text=="string"&&(yield l.text)}catch(l){throw await Promise.all((c??[]).map(h=>h?.handleLLMError(l))),l}await Promise.all((c??[]).map(l=>l?.handleLLMEnd({generations:[[u]]})))}}async generatePrompt(e,t,n){let s=e.map(i=>i.toString());return this.generate(s,t,n)}invocationParams(e){return{}}_flattenLLMResult(e){let t=[];for(let n=0;n<e.generations.length;n+=1){let s=e.generations[n];if(n===0)t.push({generations:[s],llmOutput:e.llmOutput});else{let i=e.llmOutput?{...e.llmOutput,tokenUsage:{}}:void 0;t.push({generations:[s],llmOutput:i})}}return t}async _generateUncached(e,t,n,s){let i;if(s!==void 0&&s.length===e.length)i=s;else{let u=await at.configure(n.callbacks,this.callbacks,n.tags,this.tags,n.metadata,this.metadata,{verbose:this.verbose}),l={options:t,invocation_params:this?.invocationParams(t),batch_size:e.length};i=await u?.handleLLMStart(this.toJSON(),e,n.runId,void 0,l,void 0,void 0,n?.runName)}let a=!!i?.[0].handlers.find(ci),o;if(a&&e.length===1&&this._streamResponseChunks!==r.prototype._streamResponseChunks)try{let u=await this._streamResponseChunks(e[0],t,i?.[0]),l;for await(let h of u)l===void 0?l=h:l=Zt(l,h);if(l===void 0)throw new Error("Received empty response from chat model call.");o={generations:[[l]],llmOutput:{}},await i?.[0].handleLLMEnd(o)}catch(u){throw await i?.[0].handleLLMError(u),u}else{try{o=await this._generate(e,t,i?.[0])}catch(l){throw await Promise.all((i??[]).map(h=>h?.handleLLMError(l))),l}let u=this._flattenLLMResult(o);await Promise.all((i??[]).map((l,h)=>l?.handleLLMEnd(u[h])))}let c=i?.map(u=>u.runId)||void 0;return Object.defineProperty(o,cn,{value:c?{runIds:c}:void 0,configurable:!0}),o}async _generateCached({prompts:e,cache:t,llmStringKey:n,parsedOptions:s,handledOptions:i,runId:a}){let o=await at.configure(i.callbacks,this.callbacks,i.tags,this.tags,i.metadata,this.metadata,{verbose:this.verbose}),c={options:s,invocation_params:this?.invocationParams(s),batch_size:e.length},u=await o?.handleLLMStart(this.toJSON(),e,a,void 0,c,void 0,void 0,i?.runName),l=[],p=(await Promise.allSettled(e.map(async(y,_)=>{let k=await t.lookup(y,n);return k==null&&l.push(_),k}))).map((y,_)=>({result:y,runManager:u?.[_]})).filter(({result:y})=>y.status==="fulfilled"&&y.value!=null||y.status==="rejected"),f=[];await Promise.all(p.map(async({result:y,runManager:_},k)=>{if(y.status==="fulfilled"){let x=y.value;return f[k]=x.map(A=>(A.generationInfo={...A.generationInfo,tokenUsage:{}},A)),x.length&&await _?.handleLLMNewToken(x[0].text),_?.handleLLMEnd({generations:[x]},void 0,void 0,void 0,{cached:!0})}else return await _?.handleLLMError(y.reason,void 0,void 0,void 0,{cached:!0}),Promise.reject(y.reason)}));let m={generations:f,missingPromptIndices:l,startedRunManagers:u};return Object.defineProperty(m,cn,{value:u?{runIds:u?.map(y=>y.runId)}:void 0,configurable:!0}),m}async generate(e,t,n){if(!Array.isArray(e))throw new Error("Argument 'prompts' is expected to be a string[]");let s;Array.isArray(t)?s={stop:t}:s=t;let[i,a]=this._separateRunnableConfigFromCallOptionsCompat(s);if(i.callbacks=i.callbacks??n,!this.cache)return this._generateUncached(e,a,i);let{cache:o}=this,c=this._getSerializedCacheKeyParametersForCall(a),{generations:u,missingPromptIndices:l,startedRunManagers:h}=await this._generateCached({prompts:e,cache:o,llmStringKey:c,parsedOptions:a,handledOptions:i,runId:i.runId}),p={};if(l.length>0){let f=await this._generateUncached(l.map(m=>e[m]),a,i,h!==void 0?l.map(m=>h?.[m]):void 0);await Promise.all(f.generations.map(async(m,y)=>{let _=l[y];return u[_]=m,o.update(e[_],c,m)})),p=f.llmOutput??{}}return{generations:u,llmOutput:p}}async call(e,t,n){let{generations:s}=await this.generate([e],t,n);return s[0][0].text}async predict(e,t,n){return this.call(e,t,n)}async predictMessages(e,t,n){let s=oi(e),i=await this.call(s,t,n);return new ue(i)}_identifyingParams(){return{}}serialize(){return{...this._identifyingParams(),_type:this._llmType(),_model:this._modelType()}}_modelType(){return"base_llm"}},gn=class extends ji{async _generate(e,t,n){return{generations:await Promise.all(e.map((i,a)=>this._call(i,{...t,promptIndex:a},n).then(o=>[{text:o}])))}}};var Gc={};te(Gc,{BaseMemory:()=>Vc,getInputValue:()=>ib,getOutputValue:()=>ab,getPromptInputKey:()=>ob});var Vc=class{},Jf=(r,e)=>{if(e!==void 0)return r[e];let t=Object.keys(r);if(t.length===1)return r[t[0]]},ib=(r,e)=>{let t=Jf(r,e);if(!t){let n=Object.keys(r);throw new Error(`input values have ${n.length} keys, you must specify an input key or pass only 1 key as input`)}return t},ab=(r,e)=>{let t=Jf(r,e);if(!t&&t!==""){let n=Object.keys(r);throw new Error(`output values have ${n.length} keys, you must specify an output key or pass only 1 key as output`)}return t};function ob(r,e){let t=Object.keys(r).filter(n=>!e.includes(n)&&n!=="stop");if(t.length!==1)throw new Error(`One input key expected, but got ${t.length}`);return t[0]}var iu={};te(iu,{AsymmetricStructuredOutputParser:()=>eu,BaseCumulativeTransformOutputParser:()=>er,BaseLLMOutputParser:()=>Li,BaseOutputParser:()=>Ft,BaseTransformOutputParser:()=>Bt,BytesOutputParser:()=>qc,CommaSeparatedListOutputParser:()=>Jc,CustomListOutputParser:()=>Xc,JsonMarkdownStructuredOutputParser:()=>Ui,JsonOutputParser:()=>bn,ListOutputParser:()=>Rr,MarkdownListOutputParser:()=>Zc,NumberedListOutputParser:()=>Yc,OutputParserException:()=>Je,StringOutputParser:()=>Qc,StructuredOutputParser:()=>jr,XMLOutputParser:()=>nu,XML_FORMAT_INSTRUCTIONS:()=>ru,parseJsonMarkdown:()=>si,parsePartialJson:()=>ii,parseXMLMarkdown:()=>su});var Hc={};te(Hc,{RouterRunnable:()=>Mi,Runnable:()=>J,RunnableAssign:()=>fi,RunnableBinding:()=>hr,RunnableBranch:()=>$i,RunnableEach:()=>bf,RunnableLambda:()=>Dt,RunnableMap:()=>hi,RunnableParallel:()=>_f,RunnablePassthrough:()=>qe,RunnablePick:()=>vf,RunnableRetry:()=>yf,RunnableSequence:()=>Qe,RunnableToolLike:()=>xf,RunnableWithFallbacks:()=>wf,RunnableWithMessageHistory:()=>Di,_coerceToRunnable:()=>Ne,ensureConfig:()=>ct,getCallbackManagerForConfig:()=>lr,mergeConfigs:()=>Fe,patchConfig:()=>fe,pickRunnableConfigKeys:()=>Yn});var Mi=class extends J{static lc_name(){return"RouterRunnable"}constructor(e){super(e),Object.defineProperty(this,"lc_namespace",{enumerable:!0,configurable:!0,writable:!0,value:["langchain_core","runnables"]}),Object.defineProperty(this,"lc_serializable",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"runnables",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.runnables=e.runnables}async invoke(e,t){let{key:n,input:s}=e,i=this.runnables[n];if(i===void 0)throw new Error(`No runnable associated with key "${n}".`);return i.invoke(s,ct(t))}async batch(e,t,n){let s=e.map(p=>p.key),i=e.map(p=>p.input);if(s.find(p=>this.runnables[p]===void 0)!==void 0)throw new Error("One or more keys do not have a corresponding runnable.");let o=s.map(p=>this.runnables[p]),c=this._getOptionsList(t??{},e.length),u=c[0]?.maxConcurrency??n?.maxConcurrency,l=u&&u>0?u:e.length,h=[];for(let p=0;p<i.length;p+=l){let f=i.slice(p,p+l).map((y,_)=>o[_].invoke(y,c[_])),m=await Promise.all(f);h.push(m)}return h.flat()}async stream(e,t){let{key:n,input:s}=e,i=this.runnables[n];if(i===void 0)throw new Error(`No runnable associated with key "${n}".`);return i.stream(s,t)}};var $i=class extends J{static lc_name(){return"RunnableBranch"}constructor(e){super(e),Object.defineProperty(this,"lc_namespace",{enumerable:!0,configurable:!0,writable:!0,value:["langchain_core","runnables"]}),Object.defineProperty(this,"lc_serializable",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"default",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"branches",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.branches=e.branches,this.default=e.default}static from(e){if(e.length<1)throw new Error("RunnableBranch requires at least one branch");let n=e.slice(0,-1).map(([i,a])=>[Ne(i),Ne(a)]),s=Ne(e[e.length-1]);return new this({branches:n,default:s})}async _invoke(e,t,n){let s;for(let i=0;i<this.branches.length;i+=1){let[a,o]=this.branches[i];if(await a.invoke(e,fe(t,{callbacks:n?.getChild(`condition:${i+1}`)}))){s=await o.invoke(e,fe(t,{callbacks:n?.getChild(`branch:${i+1}`)}));break}}return s||(s=await this.default.invoke(e,fe(t,{callbacks:n?.getChild("branch:default")}))),s}async invoke(e,t={}){return this._callWithConfig(this._invoke,e,t)}async*_streamIterator(e,t){let s=await(await lr(t))?.handleChainStart(this.toJSON(),gf(e,"input"),t?.runId,void 0,void 0,void 0,t?.runName),i,a=!0,o;try{for(let c=0;c<this.branches.length;c+=1){let[u,l]=this.branches[c];if(await u.invoke(e,fe(t,{callbacks:s?.getChild(`condition:${c+1}`)}))){o=await l.stream(e,fe(t,{callbacks:s?.getChild(`branch:${c+1}`)}));for await(let p of o)if(yield p,a)if(i===void 0)i=p;else try{i=Zt(i,p)}catch{i=void 0,a=!1}break}}if(o===void 0){o=await this.default.stream(e,fe(t,{callbacks:s?.getChild("branch:default")}));for await(let c of o)if(yield c,a)if(i===void 0)i=c;else try{i=Zt(i,c)}catch{i=void 0,a=!1}}}catch(c){throw await s?.handleChainError(c),c}await s?.handleChainEnd(i??{})}};var Di=class extends hr{constructor(e){let t=Dt.from((a,o)=>this._enterHistory(a,o??{})).withConfig({runName:"loadHistory"}),n=e.historyMessagesKey??e.inputMessagesKey;n&&(t=qe.assign({[n]:t}).withConfig({runName:"insertHistory"}));let s=t.pipe(e.runnable.withListeners({onEnd:(a,o)=>this._exitHistory(a,o??{})})).withConfig({runName:"RunnableWithMessageHistory"}),i=e.config??{};super({...e,config:i,bound:s}),Object.defineProperty(this,"runnable",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"inputMessagesKey",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"outputMessagesKey",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"historyMessagesKey",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"getMessageHistory",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.runnable=e.runnable,this.getMessageHistory=e.getMessageHistory,this.inputMessagesKey=e.inputMessagesKey,this.outputMessagesKey=e.outputMessagesKey,this.historyMessagesKey=e.historyMessagesKey}_getInputMessages(e){let t;if(typeof e=="object"&&!Array.isArray(e)&&!ye(e)){let n;this.inputMessagesKey?n=this.inputMessagesKey:Object.keys(e).length===1?n=Object.keys(e)[0]:n="input",Array.isArray(e[n])&&Array.isArray(e[n][0])?t=e[n][0]:t=e[n]}else t=e;if(typeof t=="string")return[new it(t)];if(Array.isArray(t))return t;if(ye(t))return[t];throw new Error(`Expected a string, BaseMessage, or array of BaseMessages.
|
|
10
|
-
Got ${JSON.stringify(t,null,2)}`)}_getOutputMessages(e){let t;if(!Array.isArray(e)&&!ye(e)&&typeof e!="string"){let n;this.outputMessagesKey!==void 0?n=this.outputMessagesKey:Object.keys(e).length===1?n=Object.keys(e)[0]:n="output",e.generations!==void 0?t=e.generations[0][0].message:t=e[n]}else t=e;if(typeof t=="string")return[new ue(t)];if(Array.isArray(t))return t;if(ye(t))return[t];throw new Error(`Expected a string, BaseMessage, or array of BaseMessages. Received: ${JSON.stringify(t,null,2)}`)}async _enterHistory(e,t){let s=await(t?.configurable?.messageHistory).getMessages();return this.historyMessagesKey===void 0?s.concat(this._getInputMessages(e)):s}async _exitHistory(e,t){let n=t.configurable?.messageHistory,s;Array.isArray(e.inputs)&&Array.isArray(e.inputs[0])?s=e.inputs[0]:s=e.inputs;let i=this._getInputMessages(s);if(this.historyMessagesKey===void 0){let c=await n.getMessages();i=i.slice(c.length)}let a=e.outputs;if(!a)throw new Error(`Output values from 'Run' undefined. Run: ${JSON.stringify(e,null,2)}`);let o=this._getOutputMessages(a);await n.addMessages([...i,...o])}async _mergeConfig(...e){let t=await super._mergeConfig(...e);if(!t.configurable||!t.configurable.sessionId){let s={[this.inputMessagesKey??"input"]:"foo"},i={configurable:{sessionId:"123"}};throw new Error(`sessionId is required. Pass it in as part of the config argument to .invoke() or .stream()
|
|
11
|
-
eg. chain.invoke(${JSON.stringify(s)}, ${JSON.stringify(i)})`)}let{sessionId:n}=t.configurable;return t.configurable.messageHistory=await this.getMessageHistory(n),t}};var Li=class extends J{parseResultWithPrompt(e,t,n){return this.parseResult(e,n)}_baseMessageToString(e){return typeof e.content=="string"?e.content:this._baseMessageContentToString(e.content)}_baseMessageContentToString(e){return JSON.stringify(e)}async invoke(e,t){return typeof e=="string"?this._callWithConfig(async(n,s)=>this.parseResult([{text:n}],s?.callbacks),e,{...t,runType:"parser"}):this._callWithConfig(async(n,s)=>this.parseResult([{message:n,text:this._baseMessageToString(n)}],s?.callbacks),e,{...t,runType:"parser"})}},Ft=class extends Li{parseResult(e,t){return this.parse(e[0].text,t)}async parseWithPrompt(e,t,n){return this.parse(e,n)}_type(){throw new Error("_type not implemented")}},Je=class extends Error{constructor(e,t,n,s=!1){if(super(e),Object.defineProperty(this,"llmOutput",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"observation",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"sendToLLM",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.llmOutput=t,this.observation=n,this.sendToLLM=s,s&&(n===void 0||t===void 0))throw new Error("Arguments 'observation' & 'llmOutput' are required if 'sendToLlm' is true");$h(this,"OUTPUT_PARSING_FAILURE")}};var Bt=class extends Ft{async*_transform(e){for await(let t of e)typeof t=="string"?yield this.parseResult([{text:t}]):yield this.parseResult([{message:t,text:this._baseMessageToString(t)}])}async*transform(e,t){yield*this._transformStreamWithConfig(e,this._transform.bind(this),{...t,runType:"parser"})}},er=class extends Bt{constructor(e){super(e),Object.defineProperty(this,"diff",{enumerable:!0,configurable:!0,writable:!0,value:!1}),this.diff=e?.diff??this.diff}async*_transform(e){let t,n;for await(let s of e){if(typeof s!="string"&&typeof s.content!="string")throw new Error("Cannot handle non-string output.");let i;if(Xn(s)){if(typeof s.content!="string")throw new Error("Cannot handle non-string message output.");i=new dt({message:s,text:s.content})}else if(ye(s)){if(typeof s.content!="string")throw new Error("Cannot handle non-string message output.");i=new dt({message:Hh(s),text:s.content})}else i=new ui({text:s});n===void 0?n=i:n=n.concat(i);let a=await this.parsePartialResult([n]);a!=null&&!ff(a,t)&&(this.diff?yield this._diff(t,a):yield a,t=a)}}getFormatInstructions(){return""}};var qc=class extends Bt{constructor(){super(...arguments),Object.defineProperty(this,"lc_namespace",{enumerable:!0,configurable:!0,writable:!0,value:["langchain_core","output_parsers","bytes"]}),Object.defineProperty(this,"lc_serializable",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"textEncoder",{enumerable:!0,configurable:!0,writable:!0,value:new TextEncoder})}static lc_name(){return"BytesOutputParser"}parse(e){return Promise.resolve(this.textEncoder.encode(e))}getFormatInstructions(){return""}};var Rr=class extends Bt{constructor(){super(...arguments),Object.defineProperty(this,"re",{enumerable:!0,configurable:!0,writable:!0,value:void 0})}async*_transform(e){let t="";for await(let n of e)if(typeof n=="string"?t+=n:t+=n.content,this.re){let s=[...t.matchAll(this.re)];if(s.length>1){let i=0;for(let a of s.slice(0,-1))yield[a[1]],i+=(a.index??0)+a[0].length;t=t.slice(i)}}else{let s=await this.parse(t);if(s.length>1){for(let i of s.slice(0,-1))yield[i];t=s[s.length-1]}}for(let n of await this.parse(t))yield[n]}},Jc=class extends Rr{constructor(){super(...arguments),Object.defineProperty(this,"lc_namespace",{enumerable:!0,configurable:!0,writable:!0,value:["langchain_core","output_parsers","list"]}),Object.defineProperty(this,"lc_serializable",{enumerable:!0,configurable:!0,writable:!0,value:!0})}static lc_name(){return"CommaSeparatedListOutputParser"}async parse(e){try{return e.trim().split(",").map(t=>t.trim())}catch{throw new Je(`Could not parse output: ${e}`,e)}}getFormatInstructions(){return"Your response should be a list of comma separated values, eg: `foo, bar, baz`"}},Xc=class extends Rr{constructor({length:e,separator:t}){super(...arguments),Object.defineProperty(this,"lc_namespace",{enumerable:!0,configurable:!0,writable:!0,value:["langchain_core","output_parsers","list"]}),Object.defineProperty(this,"length",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"separator",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.length=e,this.separator=t||","}async parse(e){try{let t=e.trim().split(this.separator).map(n=>n.trim());if(this.length!==void 0&&t.length!==this.length)throw new Je(`Incorrect number of items. Expected ${this.length}, got ${t.length}.`);return t}catch(t){throw Object.getPrototypeOf(t)===Je.prototype?t:new Je(`Could not parse output: ${e}`)}}getFormatInstructions(){return`Your response should be a list of ${this.length===void 0?"":`${this.length} `}items separated by "${this.separator}" (eg: \`foo${this.separator} bar${this.separator} baz\`)`}},Yc=class extends Rr{constructor(){super(...arguments),Object.defineProperty(this,"lc_namespace",{enumerable:!0,configurable:!0,writable:!0,value:["langchain_core","output_parsers","list"]}),Object.defineProperty(this,"lc_serializable",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"re",{enumerable:!0,configurable:!0,writable:!0,value:/\d+\.\s([^\n]+)/g})}static lc_name(){return"NumberedListOutputParser"}getFormatInstructions(){return`Your response should be a numbered list with each item on a new line. For example:
|
|
12
|
-
|
|
13
|
-
1. foo
|
|
14
|
-
|
|
15
|
-
2. bar
|
|
16
|
-
|
|
17
|
-
3. baz`}async parse(e){return[...e.matchAll(this.re)??[]].map(t=>t[1])}},Zc=class extends Rr{constructor(){super(...arguments),Object.defineProperty(this,"lc_namespace",{enumerable:!0,configurable:!0,writable:!0,value:["langchain_core","output_parsers","list"]}),Object.defineProperty(this,"lc_serializable",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"re",{enumerable:!0,configurable:!0,writable:!0,value:/^\s*[-*]\s([^\n]+)$/gm})}static lc_name(){return"NumberedListOutputParser"}getFormatInstructions(){return`Your response should be a numbered list with each item on a new line. For example:
|
|
18
|
-
|
|
19
|
-
1. foo
|
|
20
|
-
|
|
21
|
-
2. bar
|
|
22
|
-
|
|
23
|
-
3. baz`}async parse(e){return[...e.matchAll(this.re)??[]].map(t=>t[1])}};var Qc=class extends Bt{constructor(){super(...arguments),Object.defineProperty(this,"lc_namespace",{enumerable:!0,configurable:!0,writable:!0,value:["langchain_core","output_parsers","string"]}),Object.defineProperty(this,"lc_serializable",{enumerable:!0,configurable:!0,writable:!0,value:!0})}static lc_name(){return"StrOutputParser"}parse(e){return Promise.resolve(e)}getFormatInstructions(){return""}_textContentToString(e){return e.text}_imageUrlContentToString(e){throw new Error('Cannot coerce a multimodal "image_url" message part into a string.')}_messageContentComplexToString(e){switch(e.type){case"text":case"text_delta":if("text"in e)return this._textContentToString(e);break;case"image_url":if("image_url"in e)return this._imageUrlContentToString(e);break;default:throw new Error(`Cannot coerce "${e.type}" message part into a string.`)}throw new Error(`Invalid content type: ${e.type}`)}_baseMessageContentToString(e){return e.reduce((t,n)=>t+this._messageContentComplexToString(n),"")}};var jr=class extends Ft{static lc_name(){return"StructuredOutputParser"}toJSON(){return this.toJSONNotImplemented()}constructor(e){super(e),Object.defineProperty(this,"schema",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"lc_namespace",{enumerable:!0,configurable:!0,writable:!0,value:["langchain","output_parsers","structured"]})}static fromZodSchema(e){return new this(e)}static fromNamesAndDescriptions(e){let t=ie.object(Object.fromEntries(Object.entries(e).map(([n,s])=>[n,ie.string().describe(s)])));return new this(t)}getFormatInstructions(){return`You must format your output as a JSON value that adheres to a given "JSON Schema" instance.
|
|
24
|
-
|
|
25
|
-
"JSON Schema" is a declarative language that allows you to annotate and validate JSON documents.
|
|
26
|
-
|
|
27
|
-
For example, the example "JSON Schema" instance {{"properties": {{"foo": {{"description": "a list of test words", "type": "array", "items": {{"type": "string"}}}}}}, "required": ["foo"]}}
|
|
28
|
-
would match an object with one required property, "foo". The "type" property specifies "foo" must be an "array", and the "description" property semantically describes it as "a list of test words". The items within "foo" must be strings.
|
|
29
|
-
Thus, the object {{"foo": ["bar", "baz"]}} is a well-formatted instance of this example "JSON Schema". The object {{"properties": {{"foo": ["bar", "baz"]}}}} is not well-formatted.
|
|
30
|
-
|
|
31
|
-
Your output will be parsed and type-checked according to the provided schema instance, so make sure all fields in your output match the schema exactly and there are no trailing commas!
|
|
32
|
-
|
|
33
|
-
Here is the JSON Schema instance your output must adhere to. Include the enclosing markdown codeblock:
|
|
34
|
-
\`\`\`json
|
|
35
|
-
${JSON.stringify(Ae(this.schema))}
|
|
36
|
-
\`\`\`
|
|
37
|
-
`}async parse(e){try{let t=e.trim(),s=(t.match(/^```(?:json)?\s*([\s\S]*?)```/)?.[1]||t.match(/```json\s*([\s\S]*?)```/)?.[1]||t).replace(/"([^"\\]*(\\.[^"\\]*)*)"/g,(i,a)=>`"${a.replace(/\n/g,"\\n")}"`).replace(/\n/g,"");return await Qn(this.schema,JSON.parse(s))}catch(t){throw new Je(`Failed to parse. Text: "${e}". Error: ${t}`,e)}}},Ui=class extends jr{static lc_name(){return"JsonMarkdownStructuredOutputParser"}getFormatInstructions(e){let t=e?.interpolationDepth??1;if(t<1)throw new Error("f string interpolation depth must be at least 1");return`Return a markdown code snippet with a JSON object formatted to look like:
|
|
38
|
-
\`\`\`json
|
|
39
|
-
${this._schemaToInstruction(Ae(this.schema)).replaceAll("{","{".repeat(t)).replaceAll("}","}".repeat(t))}
|
|
40
|
-
\`\`\``}_schemaToInstruction(e,t=2){let n=e;if("type"in n){let s=!1,i;if(Array.isArray(n.type)){let c=n.type.findIndex(u=>u==="null");c!==-1&&(s=!0,n.type.splice(c,1)),i=n.type.join(" | ")}else i=n.type;if(n.type==="object"&&n.properties){let c=n.description?` // ${n.description}`:"";return`{
|
|
41
|
-
${Object.entries(n.properties).map(([l,h])=>{let p=n.required?.includes(l)?"":" (optional)";return`${" ".repeat(t)}"${l}": ${this._schemaToInstruction(h,t+2)}${p}`}).join(`
|
|
42
|
-
`)}
|
|
43
|
-
${" ".repeat(t-2)}}${c}`}if(n.type==="array"&&n.items){let c=n.description?` // ${n.description}`:"";return`array[
|
|
44
|
-
${" ".repeat(t)}${this._schemaToInstruction(n.items,t+2)}
|
|
45
|
-
${" ".repeat(t-2)}] ${c}`}let a=s?" (nullable)":"",o=n.description?` // ${n.description}`:"";return`${i}${o}${a}`}if("anyOf"in n)return n.anyOf.map(s=>this._schemaToInstruction(s,t)).join(`
|
|
46
|
-
${" ".repeat(t-2)}`);throw new Error("unsupported schema type")}static fromZodSchema(e){return new this(e)}static fromNamesAndDescriptions(e){let t=ie.object(Object.fromEntries(Object.entries(e).map(([n,s])=>[n,ie.string().describe(s)])));return new this(t)}},eu=class extends Ft{constructor({inputSchema:e}){super(...arguments),Object.defineProperty(this,"structuredInputParser",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.structuredInputParser=new Ui(e)}async parse(e){let t;try{t=await this.structuredInputParser.parse(e)}catch(n){throw new Je(`Failed to parse. Text: "${e}". Error: ${n}`,e)}return this.outputProcessor(t)}getFormatInstructions(){return this.structuredInputParser.getFormatInstructions()}};var tu={};te(tu,{applyPatch:()=>sf,compare:()=>on});var bn=class extends er{constructor(){super(...arguments),Object.defineProperty(this,"lc_namespace",{enumerable:!0,configurable:!0,writable:!0,value:["langchain_core","output_parsers"]}),Object.defineProperty(this,"lc_serializable",{enumerable:!0,configurable:!0,writable:!0,value:!0})}static lc_name(){return"JsonOutputParser"}_concatOutputChunks(e,t){return this.diff?super._concatOutputChunks(e,t):t}_diff(e,t){if(t)return e?on(e,t):[{op:"replace",path:"",value:t}]}async parsePartialResult(e){return si(e[0].text)}async parse(e){return si(e,JSON.parse)}getFormatInstructions(){return""}};var cb=function(){let r={};r.parser=function(g,d){return new t(g,d)},r.SAXParser=t,r.SAXStream=u,r.createStream=c,r.MAX_BUFFER_LENGTH=65536;let e=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"];r.EVENTS=["text","processinginstruction","sgmldeclaration","doctype","comment","opentagstart","attribute","opentag","closetag","opencdata","cdata","closecdata","error","end","ready","script","opennamespace","closenamespace"];function t(g,d){if(!(this instanceof t))return new t(g,d);var O=this;s(O),O.q=O.c="",O.bufferCheckPosition=r.MAX_BUFFER_LENGTH,O.opt=d||{},O.opt.lowercase=O.opt.lowercase||O.opt.lowercasetags,O.looseCase=O.opt.lowercase?"toLowerCase":"toUpperCase",O.tags=[],O.closed=O.closedRoot=O.sawRoot=!1,O.tag=O.error=null,O.strict=!!g,O.noscript=!!(g||O.opt.noscript),O.state=b.BEGIN,O.strictEntities=O.opt.strictEntities,O.ENTITIES=O.strictEntities?Object.create(r.XML_ENTITIES):Object.create(r.ENTITIES),O.attribList=[],O.opt.xmlns&&(O.ns=Object.create(m)),O.trackPosition=O.opt.position!==!1,O.trackPosition&&(O.position=O.line=O.column=0),I(O,"onready")}Object.create||(Object.create=function(g){function d(){}d.prototype=g;var O=new d;return O}),Object.keys||(Object.keys=function(g){var d=[];for(var O in g)g.hasOwnProperty(O)&&d.push(O);return d});function n(g){for(var d=Math.max(r.MAX_BUFFER_LENGTH,10),O=0,w=0,Q=e.length;w<Q;w++){var de=g[e[w]].length;if(de>d)switch(e[w]){case"textNode":H(g);break;case"cdata":E(g,"oncdata",g.cdata),g.cdata="";break;case"script":E(g,"onscript",g.script),g.script="";break;default:ce(g,"Max buffer length exceeded: "+e[w])}O=Math.max(O,de)}var me=r.MAX_BUFFER_LENGTH-O;g.bufferCheckPosition=me+g.position}function s(g){for(var d=0,O=e.length;d<O;d++)g[e[d]]=""}function i(g){H(g),g.cdata!==""&&(E(g,"oncdata",g.cdata),g.cdata=""),g.script!==""&&(E(g,"onscript",g.script),g.script="")}t.prototype={end:function(){Nt(this)},write:Lm,resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){i(this)}};var a=ReadableStream;a||(a=function(){});var o=r.EVENTS.filter(function(g){return g!=="error"&&g!=="end"});function c(g,d){return new u(g,d)}function u(g,d){if(!(this instanceof u))return new u(g,d);a.apply(this),this._parser=new t(g,d),this.writable=!0,this.readable=!0;var O=this;this._parser.onend=function(){O.emit("end")},this._parser.onerror=function(w){O.emit("error",w),O._parser.error=null},this._decoder=null,o.forEach(function(w){Object.defineProperty(O,"on"+w,{get:function(){return O._parser["on"+w]},set:function(Q){if(!Q)return O.removeAllListeners(w),O._parser["on"+w]=Q,Q;O.on(w,Q)},enumerable:!0,configurable:!1})})}u.prototype=Object.create(a.prototype,{constructor:{value:u}}),u.prototype.write=function(g){return this._parser.write(g.toString()),this.emit("data",g),!0},u.prototype.end=function(g){return g&&g.length&&this.write(g),this._parser.end(),!0},u.prototype.on=function(g,d){var O=this;return!O._parser["on"+g]&&o.indexOf(g)!==-1&&(O._parser["on"+g]=function(){var w=arguments.length===1?[arguments[0]]:Array.apply(null,arguments);w.splice(0,0,g),O.emit.apply(O,w)}),a.prototype.on.call(O,g,d)};var l="[CDATA[",h="DOCTYPE",p="http://www.w3.org/XML/1998/namespace",f="http://www.w3.org/2000/xmlns/",m={xml:p,xmlns:f},y=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,_=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,k=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,x=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function A(g){return g===" "||g===`
|
|
47
|
-
`||g==="\r"||g===" "}function P(g){return g==='"'||g==="'"}function C(g){return g===">"||A(g)}function M(g,d){return g.test(d)}function $(g,d){return!M(g,d)}var b=0;r.STATE={BEGIN:b++,BEGIN_WHITESPACE:b++,TEXT:b++,TEXT_ENTITY:b++,OPEN_WAKA:b++,SGML_DECL:b++,SGML_DECL_QUOTED:b++,DOCTYPE:b++,DOCTYPE_QUOTED:b++,DOCTYPE_DTD:b++,DOCTYPE_DTD_QUOTED:b++,COMMENT_STARTING:b++,COMMENT:b++,COMMENT_ENDING:b++,COMMENT_ENDED:b++,CDATA:b++,CDATA_ENDING:b++,CDATA_ENDING_2:b++,PROC_INST:b++,PROC_INST_BODY:b++,PROC_INST_ENDING:b++,OPEN_TAG:b++,OPEN_TAG_SLASH:b++,ATTRIB:b++,ATTRIB_NAME:b++,ATTRIB_NAME_SAW_WHITE:b++,ATTRIB_VALUE:b++,ATTRIB_VALUE_QUOTED:b++,ATTRIB_VALUE_CLOSED:b++,ATTRIB_VALUE_UNQUOTED:b++,ATTRIB_VALUE_ENTITY_Q:b++,ATTRIB_VALUE_ENTITY_U:b++,CLOSE_TAG:b++,CLOSE_TAG_SAW_WHITE:b++,SCRIPT:b++,SCRIPT_ENDING:b++},r.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},r.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(r.ENTITIES).forEach(function(g){var d=r.ENTITIES[g],O=typeof d=="number"?String.fromCharCode(d):d;r.ENTITIES[g]=O});for(var N in r.STATE)r.STATE[r.STATE[N]]=N;b=r.STATE;function I(g,d,O){g[d]&&g[d](O)}function E(g,d,O){g.textNode&&H(g),I(g,d,O)}function H(g){g.textNode=se(g.opt,g.textNode),g.textNode&&I(g,"ontext",g.textNode),g.textNode=""}function se(g,d){return g.trim&&(d=d.trim()),g.normalize&&(d=d.replace(/\s+/g," ")),d}function ce(g,d){return H(g),g.trackPosition&&(d+=`
|
|
48
|
-
Line: `+g.line+`
|
|
49
|
-
Column: `+g.column+`
|
|
50
|
-
Char: `+g.c),d=new Error(d),g.error=d,I(g,"onerror",d),g}function Nt(g){return g.sawRoot&&!g.closedRoot&&X(g,"Unclosed root tag"),g.state!==b.BEGIN&&g.state!==b.BEGIN_WHITESPACE&&g.state!==b.TEXT&&ce(g,"Unexpected end"),H(g),g.c="",g.closed=!0,I(g,"onend"),t.call(g,g.strict,g.opt),g}function X(g,d){if(typeof g!="object"||!(g instanceof t))throw new Error("bad call to strictFail");g.strict&&ce(g,d)}function Sr(g){g.strict||(g.tagName=g.tagName[g.looseCase]());var d=g.tags[g.tags.length-1]||g,O=g.tag={name:g.tagName,attributes:{}};g.opt.xmlns&&(O.ns=d.ns),g.attribList.length=0,E(g,"onopentagstart",O)}function qn(g,d){var O=g.indexOf(":"),w=O<0?["",g]:g.split(":"),Q=w[0],de=w[1];return d&&g==="xmlns"&&(Q="xmlns",de=""),{prefix:Q,local:de}}function Jn(g){if(g.strict||(g.attribName=g.attribName[g.looseCase]()),g.attribList.indexOf(g.attribName)!==-1||g.tag.attributes.hasOwnProperty(g.attribName)){g.attribName=g.attribValue="";return}if(g.opt.xmlns){var d=qn(g.attribName,!0),O=d.prefix,w=d.local;if(O==="xmlns")if(w==="xml"&&g.attribValue!==p)X(g,"xml: prefix must be bound to "+p+`
|
|
51
|
-
Actual: `+g.attribValue);else if(w==="xmlns"&&g.attribValue!==f)X(g,"xmlns: prefix must be bound to "+f+`
|
|
52
|
-
Actual: `+g.attribValue);else{var Q=g.tag,de=g.tags[g.tags.length-1]||g;Q.ns===de.ns&&(Q.ns=Object.create(de.ns)),Q.ns[w]=g.attribValue}g.attribList.push([g.attribName,g.attribValue])}else g.tag.attributes[g.attribName]=g.attribValue,E(g,"onattribute",{name:g.attribName,value:g.attribValue});g.attribName=g.attribValue=""}function Er(g,d){if(g.opt.xmlns){var O=g.tag,w=qn(g.tagName);O.prefix=w.prefix,O.local=w.local,O.uri=O.ns[w.prefix]||"",O.prefix&&!O.uri&&(X(g,"Unbound namespace prefix: "+JSON.stringify(g.tagName)),O.uri=w.prefix);var Q=g.tags[g.tags.length-1]||g;O.ns&&Q.ns!==O.ns&&Object.keys(O.ns).forEach(function(Th){E(g,"onopennamespace",{prefix:Th,uri:O.ns[Th]})});for(var de=0,me=g.attribList.length;de<me;de++){var Ge=g.attribList[de],st=Ge[0],sn=Ge[1],ke=qn(st,!0),Jt=ke.prefix,Um=ke.local,Ph=Jt===""?"":O.ns[Jt]||"",Zo={name:st,value:sn,prefix:Jt,local:Um,uri:Ph};Jt&&Jt!=="xmlns"&&!Ph&&(X(g,"Unbound namespace prefix: "+JSON.stringify(Jt)),Zo.uri=Jt),g.tag.attributes[st]=Zo,E(g,"onattribute",Zo)}g.attribList.length=0}g.tag.isSelfClosing=!!d,g.sawRoot=!0,g.tags.push(g.tag),E(g,"onopentag",g.tag),d||(!g.noscript&&g.tagName.toLowerCase()==="script"?g.state=b.SCRIPT:g.state=b.TEXT,g.tag=null,g.tagName=""),g.attribName=g.attribValue="",g.attribList.length=0}function Yo(g){if(!g.tagName){X(g,"Weird empty close tag."),g.textNode+="</>",g.state=b.TEXT;return}if(g.script){if(g.tagName!=="script"){g.script+="</"+g.tagName+">",g.tagName="",g.state=b.SCRIPT;return}E(g,"onscript",g.script),g.script=""}var d=g.tags.length,O=g.tagName;g.strict||(O=O[g.looseCase]());for(var w=O;d--;){var Q=g.tags[d];if(Q.name!==w)X(g,"Unexpected close tag");else break}if(d<0){X(g,"Unmatched closing tag: "+g.tagName),g.textNode+="</"+g.tagName+">",g.state=b.TEXT;return}g.tagName=O;for(var de=g.tags.length;de-- >d;){var me=g.tag=g.tags.pop();g.tagName=g.tag.name,E(g,"onclosetag",g.tagName);var Ge={};for(var st in me.ns)Ge[st]=me.ns[st];var sn=g.tags[g.tags.length-1]||g;g.opt.xmlns&&me.ns!==sn.ns&&Object.keys(me.ns).forEach(function(ke){var Jt=me.ns[ke];E(g,"onclosenamespace",{prefix:ke,uri:Jt})})}d===0&&(g.closedRoot=!0),g.tagName=g.attribValue=g.attribName="",g.attribList.length=0,g.state=b.TEXT}function Ah(g){var d=g.entity,O=d.toLowerCase(),w,Q="";return g.ENTITIES[d]?g.ENTITIES[d]:g.ENTITIES[O]?g.ENTITIES[O]:(d=O,d.charAt(0)==="#"&&(d.charAt(1)==="x"?(d=d.slice(2),w=parseInt(d,16),Q=w.toString(16)):(d=d.slice(1),w=parseInt(d,10),Q=w.toString(10))),d=d.replace(/^0+/,""),isNaN(w)||Q.toLowerCase()!==d?(X(g,"Invalid character entity"),"&"+g.entity+";"):String.fromCodePoint(w))}function Sh(g,d){d==="<"?(g.state=b.OPEN_WAKA,g.startTagPosition=g.position):A(d)||(X(g,"Non-whitespace before first tag."),g.textNode=d,g.state=b.TEXT)}function Eh(g,d){var O="";return d<g.length&&(O=g.charAt(d)),O}function Lm(g){var d=this;if(this.error)throw this.error;if(d.closed)return ce(d,"Cannot write after close. Assign an onready handler.");if(g===null)return Nt(d);typeof g=="object"&&(g=g.toString());for(var O=0,w="";w=Eh(g,O++),d.c=w,!!w;)switch(d.trackPosition&&(d.position++,w===`
|
|
53
|
-
`?(d.line++,d.column=0):d.column++),d.state){case b.BEGIN:if(d.state=b.BEGIN_WHITESPACE,w==="\uFEFF")continue;Sh(d,w);continue;case b.BEGIN_WHITESPACE:Sh(d,w);continue;case b.TEXT:if(d.sawRoot&&!d.closedRoot){for(var Q=O-1;w&&w!=="<"&&w!=="&";)w=Eh(g,O++),w&&d.trackPosition&&(d.position++,w===`
|
|
54
|
-
`?(d.line++,d.column=0):d.column++);d.textNode+=g.substring(Q,O-1)}w==="<"&&!(d.sawRoot&&d.closedRoot&&!d.strict)?(d.state=b.OPEN_WAKA,d.startTagPosition=d.position):(!A(w)&&(!d.sawRoot||d.closedRoot)&&X(d,"Text data outside of root node."),w==="&"?d.state=b.TEXT_ENTITY:d.textNode+=w);continue;case b.SCRIPT:w==="<"?d.state=b.SCRIPT_ENDING:d.script+=w;continue;case b.SCRIPT_ENDING:w==="/"?d.state=b.CLOSE_TAG:(d.script+="<"+w,d.state=b.SCRIPT);continue;case b.OPEN_WAKA:if(w==="!")d.state=b.SGML_DECL,d.sgmlDecl="";else if(!A(w))if(M(y,w))d.state=b.OPEN_TAG,d.tagName=w;else if(w==="/")d.state=b.CLOSE_TAG,d.tagName="";else if(w==="?")d.state=b.PROC_INST,d.procInstName=d.procInstBody="";else{if(X(d,"Unencoded <"),d.startTagPosition+1<d.position){var de=d.position-d.startTagPosition;w=new Array(de).join(" ")+w}d.textNode+="<"+w,d.state=b.TEXT}continue;case b.SGML_DECL:(d.sgmlDecl+w).toUpperCase()===l?(E(d,"onopencdata"),d.state=b.CDATA,d.sgmlDecl="",d.cdata=""):d.sgmlDecl+w==="--"?(d.state=b.COMMENT,d.comment="",d.sgmlDecl=""):(d.sgmlDecl+w).toUpperCase()===h?(d.state=b.DOCTYPE,(d.doctype||d.sawRoot)&&X(d,"Inappropriately located doctype declaration"),d.doctype="",d.sgmlDecl=""):w===">"?(E(d,"onsgmldeclaration",d.sgmlDecl),d.sgmlDecl="",d.state=b.TEXT):(P(w)&&(d.state=b.SGML_DECL_QUOTED),d.sgmlDecl+=w);continue;case b.SGML_DECL_QUOTED:w===d.q&&(d.state=b.SGML_DECL,d.q=""),d.sgmlDecl+=w;continue;case b.DOCTYPE:w===">"?(d.state=b.TEXT,E(d,"ondoctype",d.doctype),d.doctype=!0):(d.doctype+=w,w==="["?d.state=b.DOCTYPE_DTD:P(w)&&(d.state=b.DOCTYPE_QUOTED,d.q=w));continue;case b.DOCTYPE_QUOTED:d.doctype+=w,w===d.q&&(d.q="",d.state=b.DOCTYPE);continue;case b.DOCTYPE_DTD:d.doctype+=w,w==="]"?d.state=b.DOCTYPE:P(w)&&(d.state=b.DOCTYPE_DTD_QUOTED,d.q=w);continue;case b.DOCTYPE_DTD_QUOTED:d.doctype+=w,w===d.q&&(d.state=b.DOCTYPE_DTD,d.q="");continue;case b.COMMENT:w==="-"?d.state=b.COMMENT_ENDING:d.comment+=w;continue;case b.COMMENT_ENDING:w==="-"?(d.state=b.COMMENT_ENDED,d.comment=se(d.opt,d.comment),d.comment&&E(d,"oncomment",d.comment),d.comment=""):(d.comment+="-"+w,d.state=b.COMMENT);continue;case b.COMMENT_ENDED:w!==">"?(X(d,"Malformed comment"),d.comment+="--"+w,d.state=b.COMMENT):d.state=b.TEXT;continue;case b.CDATA:w==="]"?d.state=b.CDATA_ENDING:d.cdata+=w;continue;case b.CDATA_ENDING:w==="]"?d.state=b.CDATA_ENDING_2:(d.cdata+="]"+w,d.state=b.CDATA);continue;case b.CDATA_ENDING_2:w===">"?(d.cdata&&E(d,"oncdata",d.cdata),E(d,"onclosecdata"),d.cdata="",d.state=b.TEXT):w==="]"?d.cdata+="]":(d.cdata+="]]"+w,d.state=b.CDATA);continue;case b.PROC_INST:w==="?"?d.state=b.PROC_INST_ENDING:A(w)?d.state=b.PROC_INST_BODY:d.procInstName+=w;continue;case b.PROC_INST_BODY:if(!d.procInstBody&&A(w))continue;w==="?"?d.state=b.PROC_INST_ENDING:d.procInstBody+=w;continue;case b.PROC_INST_ENDING:w===">"?(E(d,"onprocessinginstruction",{name:d.procInstName,body:d.procInstBody}),d.procInstName=d.procInstBody="",d.state=b.TEXT):(d.procInstBody+="?"+w,d.state=b.PROC_INST_BODY);continue;case b.OPEN_TAG:M(_,w)?d.tagName+=w:(Sr(d),w===">"?Er(d):w==="/"?d.state=b.OPEN_TAG_SLASH:(A(w)||X(d,"Invalid character in tag name"),d.state=b.ATTRIB));continue;case b.OPEN_TAG_SLASH:w===">"?(Er(d,!0),Yo(d)):(X(d,"Forward-slash in opening tag not followed by >"),d.state=b.ATTRIB);continue;case b.ATTRIB:if(A(w))continue;w===">"?Er(d):w==="/"?d.state=b.OPEN_TAG_SLASH:M(y,w)?(d.attribName=w,d.attribValue="",d.state=b.ATTRIB_NAME):X(d,"Invalid attribute name");continue;case b.ATTRIB_NAME:w==="="?d.state=b.ATTRIB_VALUE:w===">"?(X(d,"Attribute without value"),d.attribValue=d.attribName,Jn(d),Er(d)):A(w)?d.state=b.ATTRIB_NAME_SAW_WHITE:M(_,w)?d.attribName+=w:X(d,"Invalid attribute name");continue;case b.ATTRIB_NAME_SAW_WHITE:if(w==="=")d.state=b.ATTRIB_VALUE;else{if(A(w))continue;X(d,"Attribute without value"),d.tag.attributes[d.attribName]="",d.attribValue="",E(d,"onattribute",{name:d.attribName,value:""}),d.attribName="",w===">"?Er(d):M(y,w)?(d.attribName=w,d.state=b.ATTRIB_NAME):(X(d,"Invalid attribute name"),d.state=b.ATTRIB)}continue;case b.ATTRIB_VALUE:if(A(w))continue;P(w)?(d.q=w,d.state=b.ATTRIB_VALUE_QUOTED):(X(d,"Unquoted attribute value"),d.state=b.ATTRIB_VALUE_UNQUOTED,d.attribValue=w);continue;case b.ATTRIB_VALUE_QUOTED:if(w!==d.q){w==="&"?d.state=b.ATTRIB_VALUE_ENTITY_Q:d.attribValue+=w;continue}Jn(d),d.q="",d.state=b.ATTRIB_VALUE_CLOSED;continue;case b.ATTRIB_VALUE_CLOSED:A(w)?d.state=b.ATTRIB:w===">"?Er(d):w==="/"?d.state=b.OPEN_TAG_SLASH:M(y,w)?(X(d,"No whitespace between attributes"),d.attribName=w,d.attribValue="",d.state=b.ATTRIB_NAME):X(d,"Invalid attribute name");continue;case b.ATTRIB_VALUE_UNQUOTED:if(!C(w)){w==="&"?d.state=b.ATTRIB_VALUE_ENTITY_U:d.attribValue+=w;continue}Jn(d),w===">"?Er(d):d.state=b.ATTRIB;continue;case b.CLOSE_TAG:if(d.tagName)w===">"?Yo(d):M(_,w)?d.tagName+=w:d.script?(d.script+="</"+d.tagName,d.tagName="",d.state=b.SCRIPT):(A(w)||X(d,"Invalid tagname in closing tag"),d.state=b.CLOSE_TAG_SAW_WHITE);else{if(A(w))continue;$(y,w)?d.script?(d.script+="</"+w,d.state=b.SCRIPT):X(d,"Invalid tagname in closing tag."):d.tagName=w}continue;case b.CLOSE_TAG_SAW_WHITE:if(A(w))continue;w===">"?Yo(d):X(d,"Invalid characters in closing tag");continue;case b.TEXT_ENTITY:case b.ATTRIB_VALUE_ENTITY_Q:case b.ATTRIB_VALUE_ENTITY_U:var me,Ge;switch(d.state){case b.TEXT_ENTITY:me=b.TEXT,Ge="textNode";break;case b.ATTRIB_VALUE_ENTITY_Q:me=b.ATTRIB_VALUE_QUOTED,Ge="attribValue";break;case b.ATTRIB_VALUE_ENTITY_U:me=b.ATTRIB_VALUE_UNQUOTED,Ge="attribValue";break}if(w===";")if(d.opt.unparsedEntities){var st=Ah(d);d.entity="",d.state=me,d.write(st)}else d[Ge]+=Ah(d),d.entity="",d.state=me;else M(d.entity.length?x:k,w)?d.entity+=w:(X(d,"Invalid character in entity name"),d[Ge]+="&"+d.entity+w,d.entity="",d.state=me);continue;default:throw new Error(d,"Unknown state: "+d.state)}return d.position>=d.bufferCheckPosition&&n(d),d}return String.fromCodePoint||(function(){var g=String.fromCharCode,d=Math.floor,O=function(){var w=16384,Q=[],de,me,Ge=-1,st=arguments.length;if(!st)return"";for(var sn="";++Ge<st;){var ke=Number(arguments[Ge]);if(!isFinite(ke)||ke<0||ke>1114111||d(ke)!==ke)throw RangeError("Invalid code point: "+ke);ke<=65535?Q.push(ke):(ke-=65536,de=(ke>>10)+55296,me=ke%1024+56320,Q.push(de,me)),(Ge+1===st||Q.length>w)&&(sn+=g.apply(null,Q),Q.length=0)}return sn};Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:O,configurable:!0,writable:!0}):String.fromCodePoint=O})(),r},Xf=cb();var ru=`The output should be formatted as a XML file.
|
|
55
|
-
1. Output should conform to the tags below.
|
|
56
|
-
2. If tags are not given, make them on your own.
|
|
57
|
-
3. Remember to always open and close all the tags.
|
|
58
|
-
|
|
59
|
-
As an example, for the tags ["foo", "bar", "baz"]:
|
|
60
|
-
1. String "<foo>
|
|
61
|
-
<bar>
|
|
62
|
-
<baz></baz>
|
|
63
|
-
</bar>
|
|
64
|
-
</foo>" is a well-formatted instance of the schema.
|
|
65
|
-
2. String "<foo>
|
|
66
|
-
<bar>
|
|
67
|
-
</foo>" is a badly-formatted instance.
|
|
68
|
-
3. String "<foo>
|
|
69
|
-
<tag>
|
|
70
|
-
</tag>
|
|
71
|
-
</foo>" is a badly-formatted instance.
|
|
72
|
-
|
|
73
|
-
Here are the output tags:
|
|
74
|
-
\`\`\`
|
|
75
|
-
{tags}
|
|
76
|
-
\`\`\``,nu=class extends er{constructor(e){super(e),Object.defineProperty(this,"tags",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"lc_namespace",{enumerable:!0,configurable:!0,writable:!0,value:["langchain_core","output_parsers"]}),Object.defineProperty(this,"lc_serializable",{enumerable:!0,configurable:!0,writable:!0,value:!0}),this.tags=e?.tags}static lc_name(){return"XMLOutputParser"}_diff(e,t){if(t)return e?on(e,t):[{op:"replace",path:"",value:t}]}async parsePartialResult(e){return su(e[0].text)}async parse(e){return su(e)}getFormatInstructions(){return!!(this.tags&&this.tags.length>0)?ru.replace("{tags}",this.tags?.join(", ")??""):ru}},ub=r=>r.split(`
|
|
77
|
-
`).map(e=>e.replace(/^\s+/,"")).join(`
|
|
78
|
-
`).trim(),Yf=r=>{if(Object.keys(r).length===0)return{};let e={};return r.children.length>0?(e[r.name]=r.children.map(Yf),e):(e[r.name]=r.text??void 0,e)};function su(r){let e=ub(r),t=Xf.parser(!0),n={},s=[];t.onopentag=o=>{let c={name:o.name,attributes:o.attributes,children:[],text:"",isSelfClosing:o.isSelfClosing};s.length>0?s[s.length-1].children.push(c):n=c,o.isSelfClosing||s.push(c)},t.onclosetag=()=>{if(s.length>0){let o=s.pop();s.length===0&&o&&(n=o)}},t.ontext=o=>{if(s.length>0){let c=s[s.length-1];c.text+=o}},t.onattribute=o=>{if(s.length>0){let c=s[s.length-1];c.attributes[o.name]=o.value}};let i=/```(xml)?(.*)```/s.exec(e),a=i?i[2]:e;return t.write(a).close(),n&&n.name==="?xml"&&(n=n.children[0]),Yf(n)}var cu={};te(cu,{AIMessagePromptTemplate:()=>gg,BaseChatPromptTemplate:()=>pg,BaseMessagePromptTemplate:()=>lg,BaseMessageStringPromptTemplate:()=>fg,BasePromptTemplate:()=>mc,BaseStringPromptTemplate:()=>Ym,ChatMessagePromptTemplate:()=>dg,ChatPromptTemplate:()=>Tr,DEFAULT_FORMATTER_MAPPING:()=>rg,DEFAULT_PARSER_MAPPING:()=>ng,DictPromptTemplate:()=>ug,FewShotChatMessagePromptTemplate:()=>yg,FewShotPromptTemplate:()=>bg,HumanMessagePromptTemplate:()=>mg,ImagePromptTemplate:()=>cg,MessagesPlaceholder:()=>hg,PipelinePromptTemplate:()=>au,PromptTemplate:()=>og,StructuredPrompt:()=>ou,SystemMessagePromptTemplate:()=>dc,checkValidTemplate:()=>ag,interpolateFString:()=>eg,interpolateMustache:()=>tg,parseFString:()=>Zm,parseMustache:()=>Qm,parseTemplate:()=>ig,renderTemplate:()=>sg});var au=class r extends mc{static lc_name(){return"PipelinePromptTemplate"}constructor(e){super({...e,inputVariables:[]}),Object.defineProperty(this,"pipelinePrompts",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"finalPrompt",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.pipelinePrompts=e.pipelinePrompts,this.finalPrompt=e.finalPrompt,this.inputVariables=this.computeInputValues()}computeInputValues(){let e=this.pipelinePrompts.map(n=>n.name),t=this.pipelinePrompts.map(n=>n.prompt.inputVariables.filter(s=>!e.includes(s))).flat();return[...new Set(t)]}static extractRequiredInputValues(e,t){return t.reduce((n,s)=>(n[s]=e[s],n),{})}async formatPipelinePrompts(e){let t=await this.mergePartialAndUserVariables(e);for(let{name:n,prompt:s}of this.pipelinePrompts){let i=r.extractRequiredInputValues(t,s.inputVariables);s instanceof Tr?t[n]=await s.formatMessages(i):t[n]=await s.format(i)}return r.extractRequiredInputValues(t,this.finalPrompt.inputVariables)}async formatPromptValue(e){return this.finalPrompt.formatPromptValue(await this.formatPipelinePrompts(e))}async format(e){return this.finalPrompt.format(await this.formatPipelinePrompts(e))}async partial(e){let t={...this};return t.inputVariables=this.inputVariables.filter(n=>!(n in e)),t.partialVariables={...this.partialVariables??{},...e},new r(t)}serialize(){throw new Error("Not implemented.")}_getPromptType(){return"pipeline"}};function Zf(r){return typeof r=="object"&&r!=null&&"withStructuredOutput"in r&&typeof r.withStructuredOutput=="function"}function lb(r){return typeof r=="object"&&r!=null&&"lc_id"in r&&Array.isArray(r.lc_id)&&r.lc_id.join("/")==="langchain_core/runnables/RunnableBinding"}var ou=class r extends Tr{get lc_aliases(){return{...super.lc_aliases,schema:"schema_"}}constructor(e){super(e),Object.defineProperty(this,"schema",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"method",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"lc_namespace",{enumerable:!0,configurable:!0,writable:!0,value:["langchain_core","prompts","structured"]}),this.schema=e.schema,this.method=e.method}pipe(e){if(Zf(e))return super.pipe(e.withStructuredOutput(this.schema));if(lb(e)&&Zf(e.bound))return super.pipe(new hr({bound:e.bound.withStructuredOutput(this.schema,...this.method?[{method:this.method}]:[]),kwargs:e.kwargs??{},config:e.config,configFactories:e.configFactories}));throw new Error('Structured prompts need to be piped to a language model that supports the "withStructuredOutput()" method.')}static fromMessagesAndSchema(e,t,n){return r.fromMessages(e,{schema:t,method:n})}};var uu={};te(uu,{BaseRetriever:()=>Mr});var Mr=class extends J{constructor(e){super(e),Object.defineProperty(this,"callbacks",{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,"metadata",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"verbose",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.callbacks=e?.callbacks,this.tags=e?.tags??[],this.metadata=e?.metadata??{},this.verbose=e?.verbose??!1}_getRelevantDocuments(e,t){throw new Error("Not implemented!")}async invoke(e,t){return this.getRelevantDocuments(e,ct(t))}async getRelevantDocuments(e,t){let n=ct(an(t)),i=await(await at.configure(n.callbacks,this.callbacks,n.tags,this.tags,n.metadata,this.metadata,{verbose:this.verbose}))?.handleRetrieverStart(this.toJSON(),e,n.runId,void 0,void 0,void 0,n.runName);try{let a=await this._getRelevantDocuments(e,i);return await i?.handleRetrieverEnd(a),a}catch(a){throw await i?.handleRetrieverError(a),a}}};var hu={};te(hu,{BaseStore:()=>Fi,InMemoryStore:()=>lu});var Fi=class extends Xt{},lu=class extends Fi{constructor(){super(...arguments),Object.defineProperty(this,"lc_namespace",{enumerable:!0,configurable:!0,writable:!0,value:["langchain","storage"]}),Object.defineProperty(this,"store",{enumerable:!0,configurable:!0,writable:!0,value:{}})}async mget(e){return e.map(t=>this.store[t])}async mset(e){for(let[t,n]of e)this.store[t]=n}async mdelete(e){for(let t of e)delete this.store[t]}async*yieldKeys(e){let t=Object.keys(this.store);for(let n of t)(e===void 0||n.startsWith(e))&&(yield n)}};var pu={};te(pu,{BaseToolkit:()=>fu,DynamicStructuredTool:()=>Wi,DynamicTool:()=>zi,StructuredTool:()=>$r,Tool:()=>Bi,ToolInputParsingException:()=>ni,isLangChainTool:()=>gr,isRunnableToolLike:()=>cs,isStructuredTool:()=>os,isStructuredToolParams:()=>us,tool:()=>hb});function os(r){return r!==void 0&&Array.isArray(r.lc_namespace)}function cs(r){return r!==void 0&&J.isRunnable(r)&&"lc_name"in r.constructor&&typeof r.constructor.lc_name=="function"&&r.constructor.lc_name()==="RunnableToolLike"}function us(r){return!!r&&typeof r=="object"&&"name"in r&&"schema"in r&&(lt(r.schema)||r.schema!=null&&typeof r.schema=="object"&&"type"in r.schema&&typeof r.schema.type=="string"&&["null","boolean","object","array","number","string"].includes(r.schema.type))}function gr(r){return us(r)||cs(r)||os(r)}var $r=class extends mn{get lc_namespace(){return["langchain","tools"]}constructor(e){super(e??{}),Object.defineProperty(this,"returnDirect",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"verboseParsingErrors",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"responseFormat",{enumerable:!0,configurable:!0,writable:!0,value:"content"}),Object.defineProperty(this,"defaultConfig",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.verboseParsingErrors=e?.verboseParsingErrors??this.verboseParsingErrors,this.responseFormat=e?.responseFormat??this.responseFormat,this.defaultConfig=e?.defaultConfig??this.defaultConfig,this.metadata=e?.metadata??this.metadata}async invoke(e,t){let n,s=ct(Fe(this.defaultConfig,t));return ri(e)?(n=e.args,s={...s,toolCall:e}):n=e,this.call(n,s)}async call(e,t,n){let s=ri(e)?e.args:e,i;if(lt(this.schema))try{i=await Qn(this.schema,s)}catch(m){let y="Received tool input did not match expected schema";throw this.verboseParsingErrors&&(y=`${y}
|
|
79
|
-
Details: ${m.message}`),new ni(y,JSON.stringify(e))}else{let m=pf(s,this.schema);if(!m.valid){let y="Received tool input did not match expected schema";throw this.verboseParsingErrors&&(y=`${y}
|
|
80
|
-
Details: ${m.errors.map(_=>`${_.keywordLocation}: ${_.error}`).join(`
|
|
81
|
-
`)}`),new ni(y,JSON.stringify(e))}i=s}let a=an(t),c=await at.configure(a.callbacks,this.callbacks,a.tags||n,this.tags,a.metadata,this.metadata,{verbose:this.verbose})?.handleToolStart(this.toJSON(),typeof e=="string"?e:JSON.stringify(e),a.runId,void 0,void 0,void 0,a.runName);delete a.runId;let u;try{u=await this._call(i,c,a)}catch(m){throw await c?.handleToolError(m),m}let l,h;if(this.responseFormat==="content_and_artifact")if(Array.isArray(u)&&u.length===2)[l,h]=u;else throw new Error(`Tool response format is "content_and_artifact" but the output was not a two-tuple.
|
|
82
|
-
Result: ${JSON.stringify(u)}`);else l=u;let p;ri(e)&&(p=e.id),!p&&Dh(a)&&(p=a.toolCall.id);let f=fb({content:l,artifact:h,toolCallId:p,name:this.name,metadata:this.metadata});return await c?.handleToolEnd(f),f}},Bi=class extends $r{constructor(e){super(e),Object.defineProperty(this,"schema",{enumerable:!0,configurable:!0,writable:!0,value:ie.object({input:ie.string().optional()}).transform(t=>t.input)})}call(e,t){let n=typeof e=="string"||e==null?{input:e}:e;return super.call(n,t)}},zi=class extends Bi{static lc_name(){return"DynamicTool"}constructor(e){super(e),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"description",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"func",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=e.name,this.description=e.description,this.func=e.func,this.returnDirect=e.returnDirect??this.returnDirect}async call(e,t){let n=an(t);return n.runName===void 0&&(n.runName=this.name),super.call(e,n)}async _call(e,t,n){return this.func(e,t,n)}},Wi=class extends $r{static lc_name(){return"DynamicStructuredTool"}constructor(e){super(e),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"description",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"func",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"schema",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=e.name,this.description=e.description,this.func=e.func,this.returnDirect=e.returnDirect??this.returnDirect,this.schema=e.schema}async call(e,t,n){let s=an(t);return s.runName===void 0&&(s.runName=this.name),super.call(e,s,n)}_call(e,t,n){return this.func(e,t,n)}},fu=class{getTools(){return this.tools}};function hb(r,e){let t=lc(e.schema),n=df(e.schema);if(!e.schema||t||n)return new zi({...e,description:e.description??(e.schema&&Mt(e.schema))??`${e.name} tool`,func:async(a,o,c)=>new Promise((u,l)=>{let h=fe(c,{callbacks:o?.getChild()});ot.runWithConfig(Yn(h),async()=>{try{u(r(a,h))}catch(p){l(p)}})})});let s=e.schema,i=e.description??e.schema.description??`${e.name} tool`;return new Wi({...e,description:i,schema:s,func:async(a,o,c)=>new Promise((u,l)=>{let h=fe(c,{callbacks:o?.getChild()});ot.runWithConfig(Yn(h),async()=>{try{u(r(a,h))}catch(p){l(p)}})})})}function fb(r){let{content:e,artifact:t,toolCallId:n,metadata:s}=r;return n&&!Bh(e)?typeof e=="string"||Array.isArray(e)&&e.every(i=>typeof i=="object")?new nc({status:"success",content:e,artifact:t,tool_call_id:n,name:r.name,metadata:s}):new nc({status:"success",content:pb(e),artifact:t,tool_call_id:n,name:r.name,metadata:s}):e}function pb(r){try{return JSON.stringify(r,null,2)??""}catch{return`${r}`}}var mu={};te(mu,{getTracingCallbackHandler:()=>db,getTracingV2CallbackHandler:()=>mb});var du={};te(du,{LangChainTracerV1:()=>ls});var ls=class extends Pr{constructor(){super(),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"langchain_tracer"}),Object.defineProperty(this,"endpoint",{enumerable:!0,configurable:!0,writable:!0,value:He("LANGCHAIN_ENDPOINT")||"http://localhost:1984"}),Object.defineProperty(this,"headers",{enumerable:!0,configurable:!0,writable:!0,value:{"Content-Type":"application/json"}}),Object.defineProperty(this,"session",{enumerable:!0,configurable:!0,writable:!0,value:void 0});let e=He("LANGCHAIN_API_KEY");e&&(this.headers["x-api-key"]=e)}async newSession(e){let t={start_time:Date.now(),name:e},n=await this.persistSession(t);return this.session=n,n}async loadSession(e){let t=`${this.endpoint}/sessions?name=${e}`;return this._handleSessionResponse(t)}async loadDefaultSession(){let e=`${this.endpoint}/sessions?name=default`;return this._handleSessionResponse(e)}async convertV2RunToRun(e){let t=this.session??await this.loadDefaultSession(),n=e.serialized,s;if(e.run_type==="llm"){let i=e.inputs.prompts?e.inputs.prompts:e.inputs.messages.map(o=>oi(o));s={uuid:e.id,start_time:e.start_time,end_time:e.end_time,execution_order:e.execution_order,child_execution_order:e.child_execution_order,serialized:n,type:e.run_type,session_id:t.id,prompts:i,response:e.outputs}}else if(e.run_type==="chain"){let i=await Promise.all(e.child_runs.map(o=>this.convertV2RunToRun(o)));s={uuid:e.id,start_time:e.start_time,end_time:e.end_time,execution_order:e.execution_order,child_execution_order:e.child_execution_order,serialized:n,type:e.run_type,session_id:t.id,inputs:e.inputs,outputs:e.outputs,child_llm_runs:i.filter(o=>o.type==="llm"),child_chain_runs:i.filter(o=>o.type==="chain"),child_tool_runs:i.filter(o=>o.type==="tool")}}else if(e.run_type==="tool"){let i=await Promise.all(e.child_runs.map(o=>this.convertV2RunToRun(o)));s={uuid:e.id,start_time:e.start_time,end_time:e.end_time,execution_order:e.execution_order,child_execution_order:e.child_execution_order,serialized:n,type:e.run_type,session_id:t.id,tool_input:e.inputs.input,output:e.outputs?.output,action:JSON.stringify(n),child_llm_runs:i.filter(o=>o.type==="llm"),child_chain_runs:i.filter(o=>o.type==="chain"),child_tool_runs:i.filter(o=>o.type==="tool")}}else throw new Error(`Unknown run type: ${e.run_type}`);return s}async persistRun(e){let t,n;e.run_type!==void 0?n=await this.convertV2RunToRun(e):n=e,n.type==="llm"?t=`${this.endpoint}/llm-runs`:n.type==="chain"?t=`${this.endpoint}/chain-runs`:t=`${this.endpoint}/tool-runs`;let s=await fetch(t,{method:"POST",headers:this.headers,body:JSON.stringify(n)});s.ok||console.error(`Failed to persist run: ${s.status} ${s.statusText}`)}async persistSession(e){let t=`${this.endpoint}/sessions`,n=await fetch(t,{method:"POST",headers:this.headers,body:JSON.stringify(e)});return n.ok?{id:(await n.json()).id,...e}:(console.error(`Failed to persist session: ${n.status} ${n.statusText}, using default session.`),{id:1,...e})}async _handleSessionResponse(e){let t=await fetch(e,{method:"GET",headers:this.headers}),n;if(!t.ok)return console.error(`Failed to load session: ${t.status} ${t.statusText}`),n={id:1,start_time:Date.now()},this.session=n,n;let s=await t.json();return s.length===0?(n={id:1,start_time:Date.now()},this.session=n,n):([n]=s,this.session=n,n)}};async function db(r){let e=new ls;return r?await e.loadSession(r):await e.loadDefaultSession(),e}async function mb(){return new ef}var bu={};te(bu,{RunCollectorCallbackHandler:()=>gu});var gu=class extends Pr{constructor({exampleId:e}={}){super({_awaitHandler:!0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"run_collector"}),Object.defineProperty(this,"exampleId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tracedRuns",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.exampleId=e,this.tracedRuns=[]}async persistRun(e){let t={...e};t.reference_example_id=this.exampleId,this.tracedRuns.push(t)}};var yu={};te(yu,{chunkArray:()=>gb});var gb=(r,e)=>r.reduce((t,n,s)=>{let i=Math.floor(s/e),a=t[i]||[];return t[i]=a.concat([n]),t},[]);var wu={};te(wu,{convertToOpenAIFunction:()=>Qf,convertToOpenAITool:()=>_u,isLangChainTool:()=>gr,isRunnableToolLike:()=>cs,isStructuredTool:()=>os,isStructuredToolParams:()=>us});function Qf(r,e){let t=typeof e=="number"?void 0:e;return{name:r.name,description:r.description,parameters:Ae(r.schema),...t?.strict!==void 0?{strict:t.strict}:{}}}function _u(r,e){let t=typeof e=="number"?void 0:e,n;return gr(r)?n={type:"function",function:Qf(r)}:n=r,t?.strict!==void 0&&(n.function.strict=t.strict),n}var xu={};te(xu,{cosineSimilarity:()=>vu,euclideanDistance:()=>wb,innerProduct:()=>_b,matrixFunc:()=>Vi,maximalMarginalRelevance:()=>vb,normalize:()=>yb});function Ki(r,e){let t=0,n=0,s=0;for(let i=0;i<r.length;i++)t+=r[i]*e[i],n+=r[i]*r[i],s+=e[i]*e[i];return t/(Math.sqrt(n)*Math.sqrt(s))}function ep(r,e){let t=0;for(let n=0;n<r.length;n++)t+=r[n]*e[n];return t}function bb(r,e){let t=0;for(let n=0;n<r.length;n++)t+=(r[n]-e[n])*(r[n]-e[n]);return t}function tp(r,e){return Math.sqrt(bb(r,e))}function Vi(r,e,t){if(r.length===0||r[0].length===0||e.length===0||e[0].length===0)return[[]];if(r[0].length!==e[0].length)throw new Error(`Number of columns in X and Y must be the same. X has shape ${[r.length,r[0].length]} and Y has shape ${[e.length,e[0].length]}.`);return r.map(n=>e.map(s=>t(n,s)).map(s=>Number.isNaN(s)?0:s))}function yb(r,e=!1){let t=xb(r);return r.map(n=>n.map(s=>e?1-s/t:s/t))}function vu(r,e){return Vi(r,e,Ki)}function _b(r,e){return Vi(r,e,ep)}function wb(r,e){return Vi(r,e,tp)}function vb(r,e,t=.5,n=4){if(Math.min(n,e.length)<=0)return[];let s=Array.isArray(r[0])?r:[r],i=vu(s,e)[0],a=rp(i).maxIndex,o=[e[a]],c=[a];for(;c.length<Math.min(n,e.length);){let u=-1/0,l=-1,h=vu(e,o);i.forEach((p,f)=>{if(c.includes(f))return;let m=Math.max(...h[f]),y=t*p-(1-t)*m;y>u&&(u=y,l=f)}),o.push(e[l]),c.push(l)}return c}function rp(r){if(r.length===0)return{maxIndex:-1,maxValue:NaN};let e=r[0],t=0;for(let n=1;n<r.length;n+=1)r[n]>e&&(t=n,e=r[n]);return{maxIndex:t,maxValue:e}}function xb(r){return r.reduce((e,t)=>Math.max(e,rp(t).maxValue),0)}var Bu={};te(Bu,{FakeChatMessageHistory:()=>Ru,FakeChatModel:()=>Tu,FakeEmbeddings:()=>Du,FakeLLM:()=>Eu,FakeListChatMessageHistory:()=>ju,FakeListChatModel:()=>Nu,FakeRetriever:()=>Iu,FakeRunnable:()=>Su,FakeSplitIntoListParser:()=>Au,FakeStreamingChatModel:()=>Cu,FakeStreamingLLM:()=>Pu,FakeTool:()=>$u,FakeTracer:()=>Mu,FakeVectorStore:()=>Fu,SingleRunExtractor:()=>Uu,SyntheticEmbeddings:()=>Lu});var ku={};te(ku,{SaveableVectorStore:()=>Ou,VectorStore:()=>_n,VectorStoreRetriever:()=>yn});var yn=class extends Mr{static lc_name(){return"VectorStoreRetriever"}get lc_namespace(){return["langchain_core","vectorstores"]}_vectorstoreType(){return this.vectorStore._vectorstoreType()}constructor(e){super(e),Object.defineProperty(this,"vectorStore",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"k",{enumerable:!0,configurable:!0,writable:!0,value:4}),Object.defineProperty(this,"searchType",{enumerable:!0,configurable:!0,writable:!0,value:"similarity"}),Object.defineProperty(this,"searchKwargs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"filter",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.vectorStore=e.vectorStore,this.k=e.k??this.k,this.searchType=e.searchType??this.searchType,this.filter=e.filter,e.searchType==="mmr"&&(this.searchKwargs=e.searchKwargs)}async _getRelevantDocuments(e,t){if(this.searchType==="mmr"){if(typeof this.vectorStore.maxMarginalRelevanceSearch!="function")throw new Error(`The vector store backing this retriever, ${this._vectorstoreType()} does not support max marginal relevance search.`);return this.vectorStore.maxMarginalRelevanceSearch(e,{k:this.k,filter:this.filter,...this.searchKwargs},t?.getChild("vectorstore"))}return this.vectorStore.similaritySearch(e,this.k,this.filter,t?.getChild("vectorstore"))}async addDocuments(e,t){return this.vectorStore.addDocuments(e,t)}},_n=class extends Xt{constructor(e,t){super(t),Object.defineProperty(this,"lc_namespace",{enumerable:!0,configurable:!0,writable:!0,value:["langchain","vectorstores",this._vectorstoreType()]}),Object.defineProperty(this,"embeddings",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.embeddings=e}async delete(e){throw new Error("Not implemented.")}async similaritySearch(e,t=4,n=void 0,s=void 0){return(await this.similaritySearchVectorWithScore(await this.embeddings.embedQuery(e),t,n)).map(a=>a[0])}async similaritySearchWithScore(e,t=4,n=void 0,s=void 0){return this.similaritySearchVectorWithScore(await this.embeddings.embedQuery(e),t,n)}static fromTexts(e,t,n,s){throw new Error("the Langchain vectorstore implementation you are using forgot to override this, please report a bug")}static fromDocuments(e,t,n){throw new Error("the Langchain vectorstore implementation you are using forgot to override this, please report a bug")}asRetriever(e,t,n,s,i,a){if(typeof e=="number")return new yn({vectorStore:this,k:e,filter:t,tags:[...s??[],this._vectorstoreType()],metadata:i,verbose:a,callbacks:n});{let o={vectorStore:this,k:e?.k,filter:e?.filter,tags:[...e?.tags??[],this._vectorstoreType()],metadata:e?.metadata,verbose:e?.verbose,callbacks:e?.callbacks,searchType:e?.searchType};return e?.searchType==="mmr"?new yn({...o,searchKwargs:e.searchKwargs}):new yn({...o})}}},Ou=class extends _n{static load(e,t){throw new Error("Not implemented")}};var Au=class extends Ft{constructor(){super(...arguments),Object.defineProperty(this,"lc_namespace",{enumerable:!0,configurable:!0,writable:!0,value:["tests","fake"]})}getFormatInstructions(){return""}async parse(e){return e.split(",").map(t=>t.trim())}},Su=class extends J{constructor(e){super(e),Object.defineProperty(this,"lc_namespace",{enumerable:!0,configurable:!0,writable:!0,value:["tests","fake"]}),Object.defineProperty(this,"returnOptions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.returnOptions=e.returnOptions}async invoke(e,t){return this.returnOptions?t??{}:{input:e}}},Eu=class extends gn{constructor(e){super(e),Object.defineProperty(this,"response",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"thrownErrorString",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.response=e.response,this.thrownErrorString=e.thrownErrorString}_llmType(){return"fake"}async _call(e,t,n){if(this.thrownErrorString)throw new Error(this.thrownErrorString);let s=this.response??e;return await n?.handleLLMNewToken(s),s}},Pu=class extends gn{constructor(e){super(e),Object.defineProperty(this,"sleep",{enumerable:!0,configurable:!0,writable:!0,value:50}),Object.defineProperty(this,"responses",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"thrownErrorString",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.sleep=e.sleep??this.sleep,this.responses=e.responses,this.thrownErrorString=e.thrownErrorString}_llmType(){return"fake"}async _call(e){if(this.thrownErrorString)throw new Error(this.thrownErrorString);let t=this.responses?.[0];return this.responses=this.responses?.slice(1),t??e}async*_streamResponseChunks(e,t,n){if(this.thrownErrorString)throw new Error(this.thrownErrorString);let s=this.responses?.[0];this.responses=this.responses?.slice(1);for(let i of s??e)await new Promise(a=>setTimeout(a,this.sleep)),yield{text:i,generationInfo:{}},await n?.handleLLMNewToken(i)}},Tu=class extends Ut{_combineLLMOutput(){return[]}_llmType(){return"fake"}async _generate(e,t,n){if(t?.stop?.length)return{generations:[{message:new ue(t.stop[0]),text:t.stop[0]}]};let s=e.map(i=>typeof i.content=="string"?i.content:JSON.stringify(i.content,null,2)).join(`
|
|
83
|
-
`);return await n?.handleLLMNewToken(s),{generations:[{message:new ue(s),text:s}],llmOutput:{}}}},Cu=class r extends Ut{constructor({sleep:e=50,responses:t=[],chunks:n=[],toolStyle:s="openai",thrownErrorString:i,...a}){super(a),Object.defineProperty(this,"sleep",{enumerable:!0,configurable:!0,writable:!0,value:50}),Object.defineProperty(this,"responses",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"chunks",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"toolStyle",{enumerable:!0,configurable:!0,writable:!0,value:"openai"}),Object.defineProperty(this,"thrownErrorString",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tools",{enumerable:!0,configurable:!0,writable:!0,value:[]}),this.sleep=e,this.responses=t,this.chunks=n,this.toolStyle=s,this.thrownErrorString=i}_llmType(){return"fake"}bindTools(e){let t=[...this.tools,...e],n=t.map(a=>{switch(this.toolStyle){case"openai":return{type:"function",function:{name:a.name,description:a.description,parameters:Ae(a.schema)}};case"anthropic":return{name:a.name,description:a.description,input_schema:Ae(a.schema)};case"bedrock":return{toolSpec:{name:a.name,description:a.description,inputSchema:Ae(a.schema)}};case"google":return{name:a.name,description:a.description,parameters:Ae(a.schema)};default:throw new Error(`Unsupported tool style: ${this.toolStyle}`)}}),s=this.toolStyle==="google"?[{functionDeclarations:n}]:n,i=new r({sleep:this.sleep,responses:this.responses,chunks:this.chunks,toolStyle:this.toolStyle,thrownErrorString:this.thrownErrorString});return i.tools=t,i.withConfig({tools:s})}async _generate(e,t,n){if(this.thrownErrorString)throw new Error(this.thrownErrorString);let s=this.responses?.[0]?.content??e[0].content??"";return{generations:[{text:"",message:new ue({content:s,tool_calls:this.chunks?.[0]?.tool_calls})}]}}async*_streamResponseChunks(e,t,n){if(this.thrownErrorString)throw new Error(this.thrownErrorString);if(this.chunks?.length){for(let a of this.chunks){let o=new dt({message:new Rt({content:a.content,tool_calls:a.tool_calls,additional_kwargs:a.additional_kwargs??{}}),text:a.content?.toString()??""});yield o,await n?.handleLLMNewToken(a.content,void 0,void 0,void 0,void 0,{chunk:o})}return}let s=this.responses?.[0]??new ue(typeof e[0].content=="string"?e[0].content:""),i=typeof s.content=="string"?s.content:"";for(let a of i){await new Promise(c=>setTimeout(c,this.sleep));let o=new dt({message:new Rt({content:a}),text:a});yield o,await n?.handleLLMNewToken(a,void 0,void 0,void 0,void 0,{chunk:o})}}},Iu=class extends Mr{constructor(e){super(),Object.defineProperty(this,"lc_namespace",{enumerable:!0,configurable:!0,writable:!0,value:["test","fake"]}),Object.defineProperty(this,"output",{enumerable:!0,configurable:!0,writable:!0,value:[new _t({pageContent:"foo"}),new _t({pageContent:"bar"})]}),this.output=e?.output??this.output}async _getRelevantDocuments(e){return this.output}},Nu=class extends Ut{static lc_name(){return"FakeListChatModel"}constructor(e){super(e),Object.defineProperty(this,"lc_serializable",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"responses",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"i",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"sleep",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"emitCustomEvent",{enumerable:!0,configurable:!0,writable:!0,value:!1});let{responses:t,sleep:n,emitCustomEvent:s}=e;this.responses=t,this.sleep=n,this.emitCustomEvent=s??this.emitCustomEvent}_combineLLMOutput(){return[]}_llmType(){return"fake-list"}async _generate(e,t,n){if(await this._sleepIfRequested(),t?.thrownErrorString)throw new Error(t.thrownErrorString);if(this.emitCustomEvent&&await n?.handleCustomEvent("some_test_event",{someval:!0}),t?.stop?.length)return{generations:[this._formatGeneration(t.stop[0])]};{let s=this._currentResponse();return this._incrementResponse(),{generations:[this._formatGeneration(s)],llmOutput:{}}}}_formatGeneration(e){return{message:new ue(e),text:e}}async*_streamResponseChunks(e,t,n){let s=this._currentResponse();this._incrementResponse(),this.emitCustomEvent&&await n?.handleCustomEvent("some_test_event",{someval:!0});for await(let i of s){if(await this._sleepIfRequested(),t?.thrownErrorString)throw new Error(t.thrownErrorString);yield this._createResponseChunk(i),n?.handleLLMNewToken(i)}}async _sleepIfRequested(){this.sleep!==void 0&&await this._sleep()}async _sleep(){return new Promise(e=>{setTimeout(()=>e(),this.sleep)})}_createResponseChunk(e){return new dt({message:new Rt({content:e}),text:e})}_currentResponse(){return this.responses[this.i]}_incrementResponse(){this.i<this.responses.length-1?this.i+=1:this.i=0}withStructuredOutput(e,t){return Dt.from(async n=>{let s=await this.invoke(n);if(s.tool_calls?.[0]?.args)return s.tool_calls[0].args;if(typeof s.content=="string")return JSON.parse(s.content);throw new Error("No structured output found")})}},Ru=class extends as{constructor(){super(),Object.defineProperty(this,"lc_namespace",{enumerable:!0,configurable:!0,writable:!0,value:["langchain_core","message","fake"]}),Object.defineProperty(this,"messages",{enumerable:!0,configurable:!0,writable:!0,value:[]})}async getMessages(){return this.messages}async addMessage(e){this.messages.push(e)}async addUserMessage(e){this.messages.push(new it(e))}async addAIChatMessage(e){this.messages.push(new ue(e))}async clear(){this.messages=[]}},ju=class extends pn{constructor(){super(),Object.defineProperty(this,"lc_namespace",{enumerable:!0,configurable:!0,writable:!0,value:["langchain_core","message","fake"]}),Object.defineProperty(this,"messages",{enumerable:!0,configurable:!0,writable:!0,value:[]})}async addMessage(e){this.messages.push(e)}async getMessages(){return this.messages}},Mu=class extends Pr{constructor(){super(),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"fake_tracer"}),Object.defineProperty(this,"runs",{enumerable:!0,configurable:!0,writable:!0,value:[]})}persistRun(e){return this.runs.push(e),Promise.resolve()}},$u=class extends $r{constructor(e){super(e),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"description",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"schema",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=e.name,this.description=e.description,this.schema=e.schema}async _call(e,t){return JSON.stringify(e)}},Du=class extends dn{constructor(e){super(e??{})}embedDocuments(e){return Promise.resolve(e.map(()=>[.1,.2,.3,.4]))}embedQuery(e){return Promise.resolve([.1,.2,.3,.4])}},Lu=class extends dn{constructor(e){super(e??{}),Object.defineProperty(this,"vectorSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.vectorSize=e?.vectorSize??4}async embedDocuments(e){return Promise.all(e.map(t=>this.embedQuery(t)))}async embedQuery(e){let t=e;t=t.toLowerCase().replaceAll(/[^a-z ]/g,"");let n=t.length%this.vectorSize,s=n===0?0:this.vectorSize-n,i=t.length+s;t=t.padEnd(i," ");let a=t.length/this.vectorSize,o=[];for(let u=0;u<t.length;u+=a)o.push(t.slice(u,u+a));return o.map(u=>{let l=0;for(let p=0;p<u.length;p+=1)l+=u===" "?0:u.charCodeAt(p);return l%26/26})}},Uu=class extends Pr{constructor(){super(),Object.defineProperty(this,"runPromiseResolver",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"runPromise",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"single_run_extractor"}),this.runPromise=new Promise(e=>{this.runPromiseResolver=e})}async persistRun(e){this.runPromiseResolver(e)}async extract(){return this.runPromise}},Fu=class r extends _n{_vectorstoreType(){return"memory"}constructor(e,{similarity:t,...n}={}){super(e,n),Object.defineProperty(this,"memoryVectors",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"similarity",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.similarity=t??Ki}async addDocuments(e){let t=e.map(({pageContent:n})=>n);return this.addVectors(await this.embeddings.embedDocuments(t),e)}async addVectors(e,t){let n=e.map((s,i)=>({content:t[i].pageContent,embedding:s,metadata:t[i].metadata}));this.memoryVectors=this.memoryVectors.concat(n)}async similaritySearchVectorWithScore(e,t,n){let s=c=>{if(!n)return!0;let u=new _t({metadata:c.metadata,pageContent:c.content});return n(u)},i=this.memoryVectors.filter(s);return i.map((c,u)=>({similarity:this.similarity(e,c.embedding),index:u})).sort((c,u)=>c.similarity>u.similarity?-1:0).slice(0,t).map(c=>[new _t({metadata:i[c.index].metadata,pageContent:i[c.index].content}),c.similarity])}static async fromTexts(e,t,n,s){let i=[];for(let a=0;a<e.length;a+=1){let o=Array.isArray(t)?t[a]:t,c=new _t({pageContent:e[a],metadata:o});i.push(c)}return r.fromDocuments(i,n,s)}static async fromDocuments(e,t,n){let s=new this(t,n);return await s.addDocuments(e),s}static async fromExistingIndex(e,t){return new this(e,t)}};var zu={};te(zu,{extendInteropZodObject:()=>hc,getInteropZodDefaultGetter:()=>fc,getInteropZodObjectShape:()=>li,getSchemaDescription:()=>Mt,interopParse:()=>es,interopParseAsync:()=>Qn,interopSafeParse:()=>Wm,interopSafeParseAsync:()=>uc,interopZodObjectPartial:()=>ts,interopZodObjectPassthrough:()=>Jm,interopZodObjectStrict:()=>qm,interopZodTransformInputSchema:()=>Xm,isInteropZodObject:()=>$t,isInteropZodSchema:()=>lt,isShapelessZodSchema:()=>Km,isSimpleStringZodSchema:()=>lc,isZodArrayV4:()=>Hm,isZodObjectV3:()=>Vm,isZodObjectV4:()=>Gm,isZodSchema:()=>zm,isZodSchemaV3:()=>Zn,isZodSchemaV4:()=>cc});var Ob=50;function kb(r){let e={};for(let t=r;t&&t.prototype;t=Object.getPrototypeOf(t))Object.assign(e,Reflect.get(t.prototype,"lc_aliases"));return Object.entries(e).reduce((t,[n,s])=>(t[s]=n,t),{})}async function Gi(r){let{optionalImportsMap:e,optionalImportEntrypoints:t,importMap:n,secretsMap:s,secretsFromEnv:i,path:a,depth:o,maxDepth:c}=this,u=a.join(".");if(o>c)throw new Error(`Maximum recursion depth (${c}) exceeded during deserialization. This may indicate a malicious payload or you may need to increase maxDepth.`);if(typeof r!="object"||r==null)return r;if(Array.isArray(r))return Promise.all(r.map((p,f)=>Gi.call({...this,path:[...a,`${f}`],depth:o+1},p)));let l=r;if(Nh(l))return Rh(l);if("lc"in l&&"type"in l&&"id"in l&&l.lc===1&&l.type==="secret"){let p=l,[f]=p.id;if(f in s)return s[f];if(i){let m=He(f);if(m)return m}throw new Error(`Missing secret "${f}" at ${u}`)}if("lc"in l&&"type"in l&&"id"in l&&l.lc===1&&l.type==="not_implemented"){let f=JSON.stringify(l);throw new Error(`Trying to load an object that doesn't implement serialization: ${u} -> ${f}`)}if("lc"in l&&"type"in l&&"id"in l&&"kwargs"in l&&l.lc===1&&l.type==="constructor"){let p=l,f=JSON.stringify(p),[m,...y]=p.id.slice().reverse(),_=y.reverse(),k={langchain_core:Wu,langchain:n},x=null,A=[_.join("/")];_[0]==="langchain_community"&&A.push(["langchain",..._.slice(1)].join("/"));let P=A.find(b=>b in e);if(Df.concat(t).includes(_.join("/"))||P)if(P!==void 0)x=await e[P];else throw new Error(`Missing key "${_.join("/")}" for ${u} in load(optionalImportsMap={})`);else{let b;if(_[0]==="langchain"||_[0]==="langchain_core")b=k[_[0]],_.shift();else throw new Error(`Invalid namespace: ${u} -> ${f}`);if(_.length===0)throw new Error(`Invalid namespace: ${u} -> ${f}`);let N;do{if(N=_.join("__"),N in b)break;_.pop()}while(_.length>0);N in b&&(x=b[N])}if(typeof x!="object"||x===null)throw new Error(`Invalid namespace: ${u} -> ${f}`);let C=x[m]??Object.values(x).find(b=>typeof b=="function"&&jh(b)===m);if(typeof C!="function")throw new Error(`Invalid identifer: ${u} -> ${f}`);let M=await Gi.call({...this,path:[...a,"kwargs"],depth:o+1},p.kwargs),$=new C(Ih(M,Ch,kb(C)));return Object.defineProperty($.constructor,"name",{value:m}),$}let h={};for(let[p,f]of Object.entries(l))h[p]=await Gi.call({...this,path:[...a,p],depth:o+1},f);return h}async function np(r,e){let t=JSON.parse(r),n={optionalImportsMap:e?.optionalImportsMap??{},optionalImportEntrypoints:e?.optionalImportEntrypoints??[],secretsMap:e?.secretsMap??{},secretsFromEnv:e?.secretsFromEnv??!1,importMap:e?.importMap??{},path:["$"],depth:0,maxDepth:e?.maxDepth??Ob};return Gi.call(n,t)}var sp="[...]",Ab="[Circular]",Hi=[],wn=[];function Sb(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function ip(r,e,t,n){typeof n>"u"&&(n=Sb()),Vu(r,"",0,[],void 0,0,n);var s;try{wn.length===0?s=JSON.stringify(r,e,t):s=JSON.stringify(r,Eb(e),t)}catch{return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;Hi.length!==0;){var i=Hi.pop();i.length===4?Object.defineProperty(i[0],i[1],i[3]):i[0][i[1]]=i[2]}}return s}function Ku(r,e,t,n){var s=Object.getOwnPropertyDescriptor(n,t);s.get!==void 0?s.configurable?(Object.defineProperty(n,t,{value:r}),Hi.push([n,t,e,s])):wn.push([e,t,r]):(n[t]=r,Hi.push([n,t,e]))}function Vu(r,e,t,n,s,i,a){i+=1;var o;if(typeof r=="object"&&r!==null){for(o=0;o<n.length;o++)if(n[o]===r){Ku(Ab,r,e,s);return}if(typeof a.depthLimit<"u"&&i>a.depthLimit){Ku(sp,r,e,s);return}if(typeof a.edgesLimit<"u"&&t+1>a.edgesLimit){Ku(sp,r,e,s);return}if(n.push(r),Array.isArray(r))for(o=0;o<r.length;o++)Vu(r[o],o,o,n,r,i,a);else{var c=Object.keys(r);for(o=0;o<c.length;o++){var u=c[o];Vu(r[u],u,o,n,r,i,a)}}n.pop()}}function Eb(r){return r=typeof r<"u"?r:function(e,t){return t},function(e,t){if(wn.length>0)for(var n=0;n<wn.length;n++){var s=wn[n];if(s[1]===e&&s[0]===t){t=s[2],wn.splice(n,1);break}}return r.call(this,e,t)}}function Pb(r){return r!==null&&r.lc===1&&r.type==="constructor"&&Array.isArray(r.id)}async function Hu(r){if(r&&typeof r=="object"){if(Array.isArray(r))return await Promise.all(r.map(t=>Hu(t)));{let e={};for(let[t,n]of Object.entries(r))e[t]=await Hu(n);if(e.lc===2&&e.type==="undefined")return;if(e.lc===2&&e.type==="constructor"&&Array.isArray(e.id))try{let t=e.id[e.id.length-1],n;switch(t){case"Set":n=Set;break;case"Map":n=Map;break;case"RegExp":n=RegExp;break;case"Error":n=Error;break;default:return e}return e.method?n[e.method](...e.args||[]):new n(...e.args||[])}catch{return e}else if(Pb(e))return np(JSON.stringify(e));return e}}return r}function Gu(r,e,t,n){return{lc:2,type:"constructor",id:[r.name],method:e??null,args:t??[],kwargs:n??{}}}function Tb(r){return r===void 0?{lc:2,type:"undefined"}:r instanceof Set||r instanceof Map?Gu(r.constructor,void 0,[Array.from(r)]):r instanceof RegExp?Gu(RegExp,void 0,[r.source,r.flags]):r instanceof Error?Gu(r.constructor,void 0,[r.message]):r?.lg_name==="Send"?{node:r.node,args:r.args}:r}var vn=class{_dumps(e){return new TextEncoder().encode(ip(e,(n,s)=>Tb(s)))}async dumpsTyped(e){return e instanceof Uint8Array?["bytes",e]:["json",this._dumps(e)]}async _loads(e){let t=JSON.parse(e);return Hu(t)}async loadsTyped(e,t){if(e==="bytes")return typeof t=="string"?new TextEncoder().encode(t):t;if(e==="json")return this._loads(typeof t=="string"?t:new TextDecoder().decode(t));throw new Error(`Unknown serialization type: ${e}`)}};function ap(r){if(typeof r!="object"||r===null)return r;let e=Array.isArray(r)?[]:{};for(let t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=ap(r[t]));return e}function fs(){return{v:4,id:vi(-2),ts:new Date().toISOString(),channel_values:{},channel_versions:{},versions_seen:{}}}function zt(r){return{v:r.v,id:r.id,ts:r.ts,channel_values:{...r.channel_values},channel_versions:{...r.channel_versions},versions_seen:ap(r.versions_seen)}}var hs=class{constructor(e){Object.defineProperty(this,"serde",{enumerable:!0,configurable:!0,writable:!0,value:new vn}),this.serde=e||this.serde}async get(e){let t=await this.getTuple(e);return t?t.checkpoint:void 0}getNextVersion(e){if(typeof e=="string")throw new Error("Please override this method to use string versions.");return e!==void 0&&typeof e=="number"?e+1:1}};function qu(r,e){return typeof r=="number"&&typeof e=="number"?Math.sign(r-e):String(r).localeCompare(String(e))}function qi(...r){return r.reduce((e,t,n)=>n===0?t:qu(e,t)>=0?e:t)}var Ji={[jf]:-1,[fn]:-2,[Mf]:-3,[$f]:-4};function op(r){return r.configurable?.checkpoint_id||r.configurable?.thread_ts||""}function ps(r,e,t){return JSON.stringify([r,e,t])}function Cb(r){let[e,t,n]=JSON.parse(r);return{threadId:e,checkpointNamespace:t,checkpointId:n}}var xn=class extends hs{constructor(e){super(e),Object.defineProperty(this,"storage",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"writes",{enumerable:!0,configurable:!0,writable:!0,value:{}})}async _migratePendingSends(e,t,n,s){let i=e,a=ps(t,n,s),o=await Promise.all(Object.values(this.writes[a]??{}).filter(([c,u])=>u===xi).map(async([c,u,l])=>await this.serde.loadsTyped("json",l)));i.channel_values??={},i.channel_values[xi]=o,i.channel_versions??={},i.channel_versions[xi]=Object.keys(i.channel_versions).length>0?qi(...Object.values(i.channel_versions)):this.getNextVersion(void 0)}async getTuple(e){let t=e.configurable?.thread_id,n=e.configurable?.checkpoint_ns??"",s=op(e);if(s){let i=this.storage[t]?.[n]?.[s];if(i!==void 0){let[a,o,c]=i,u=ps(t,n,s),l=await this.serde.loadsTyped("json",a);l.v<4&&c!==void 0&&await this._migratePendingSends(l,t,n,c);let h=await Promise.all(Object.values(this.writes[u]||{}).map(async([f,m,y])=>[f,m,await this.serde.loadsTyped("json",y)])),p={config:e,checkpoint:l,metadata:await this.serde.loadsTyped("json",o),pendingWrites:h};return c!==void 0&&(p.parentConfig={configurable:{thread_id:t,checkpoint_ns:n,checkpoint_id:c}}),p}}else{let i=this.storage[t]?.[n];if(i!==void 0){s=Object.keys(i).sort((m,y)=>y.localeCompare(m))[0];let a=i[s],[o,c,u]=a,l=ps(t,n,s),h=await this.serde.loadsTyped("json",o);h.v<4&&u!==void 0&&await this._migratePendingSends(h,t,n,u);let p=await Promise.all(Object.values(this.writes[l]||{}).map(async([m,y,_])=>[m,y,await this.serde.loadsTyped("json",_)])),f={config:{configurable:{thread_id:t,checkpoint_id:s,checkpoint_ns:n}},checkpoint:h,metadata:await this.serde.loadsTyped("json",c),pendingWrites:p};return u!==void 0&&(f.parentConfig={configurable:{thread_id:t,checkpoint_ns:n,checkpoint_id:u}}),f}}}async*list(e,t){let{before:n,limit:s,filter:i}=t??{},a=e.configurable?.thread_id?[e.configurable?.thread_id]:Object.keys(this.storage),o=e.configurable?.checkpoint_ns,c=e.configurable?.checkpoint_id;for(let u of a)for(let l of Object.keys(this.storage[u]??{})){if(o!==void 0&&l!==o)continue;let h=this.storage[u]?.[l]??{},p=Object.entries(h).sort((f,m)=>m[0].localeCompare(f[0]));for(let[f,[m,y,_]]of p){if(c&&f!==c||n&&n.configurable?.checkpoint_id&&f>=n.configurable.checkpoint_id)continue;let k=await this.serde.loadsTyped("json",y);if(i&&!Object.entries(i).every(([$,b])=>k[$]===b))continue;if(s!==void 0){if(s<=0)break;s-=1}let x=ps(u,l,f),A=Object.values(this.writes[x]||{}),P=await Promise.all(A.map(async([$,b,N])=>[$,b,await this.serde.loadsTyped("json",N)])),C=await this.serde.loadsTyped("json",m);C.v<4&&_!==void 0&&await this._migratePendingSends(C,u,l,_);let M={config:{configurable:{thread_id:u,checkpoint_ns:l,checkpoint_id:f}},checkpoint:C,metadata:k,pendingWrites:P};_!==void 0&&(M.parentConfig={configurable:{thread_id:u,checkpoint_ns:l,checkpoint_id:_}}),yield M}}}async put(e,t,n){let s=zt(t),i=e.configurable?.thread_id,a=e.configurable?.checkpoint_ns??"";if(i===void 0)throw new Error('Failed to put checkpoint. The passed RunnableConfig is missing a required "thread_id" field in its "configurable" property.');this.storage[i]||(this.storage[i]={}),this.storage[i][a]||(this.storage[i][a]={});let[[,o],[,c]]=await Promise.all([this.serde.dumpsTyped(s),this.serde.dumpsTyped(n)]);return this.storage[i][a][t.id]=[o,c,e.configurable?.checkpoint_id],{configurable:{thread_id:i,checkpoint_ns:a,checkpoint_id:t.id}}}async putWrites(e,t,n){let s=e.configurable?.thread_id,i=e.configurable?.checkpoint_ns,a=e.configurable?.checkpoint_id;if(s===void 0)throw new Error('Failed to put writes. The passed RunnableConfig is missing a required "thread_id" field in its "configurable" property');if(a===void 0)throw new Error('Failed to put writes. The passed RunnableConfig is missing a required "checkpoint_id" field in its "configurable" property.');let o=ps(s,i,a),c=this.writes[o];this.writes[o]===void 0&&(this.writes[o]={}),await Promise.all(t.map(async([u,l],h)=>{let[,p]=await this.serde.dumpsTyped(l),f=[n,Ji[u]||h],m=`${f[0]},${f[1]}`;f[1]>=0&&c&&m in c||(this.writes[o][m]=[n,u,p])}))}async deleteThread(e){delete this.storage[e];for(let t of Object.keys(this.writes))Cb(t).threadId===e&&delete this.writes[t]}};var Dr=class extends Error{constructor(e){super(e),this.name="InvalidNamespaceError"}};function Ib(r){if(r.length===0)throw new Dr("Namespace cannot be empty.");for(let e of r){if(typeof e!="string")throw new Dr(`Invalid namespace label '${e}' found in ${r}. Namespace labels must be strings, but got ${typeof e}.`);if(e.includes("."))throw new Dr(`Invalid namespace label '${e}' found in ${r}. Namespace labels cannot contain periods ('.').`);if(e==="")throw new Dr(`Namespace labels cannot be empty strings. Got ${e} in ${r}`)}if(r[0]==="langgraph")throw new Dr(`Root label for namespace cannot be "langgraph". Got: ${r}`)}var On=class{async get(e,t){return(await this.batch([{namespace:e,key:t}]))[0]}async search(e,t={}){let{filter:n,limit:s=10,offset:i=0,query:a}=t;return(await this.batch([{namespacePrefix:e,filter:n,limit:s,offset:i,query:a}]))[0]}async put(e,t,n,s){Ib(e),await this.batch([{namespace:e,key:t,value:n,index:s}])}async delete(e,t){await this.batch([{namespace:e,key:t,value:null}])}async listNamespaces(e={}){let{prefix:t,suffix:n,maxDepth:s,limit:i=100,offset:a=0}=e,o=[];return t&&o.push({matchType:"prefix",path:t}),n&&o.push({matchType:"suffix",path:n}),(await this.batch([{matchConditions:o.length?o:void 0,maxDepth:s,limit:i,offset:a}]))[0]}start(){}stop(){}};var Nb=r=>"lg_name"in r&&r.lg_name==="AsyncBatchedStore"?r.store:r,ds=class extends On{constructor(e){super(),Object.defineProperty(this,"lg_name",{enumerable:!0,configurable:!0,writable:!0,value:"AsyncBatchedStore"}),Object.defineProperty(this,"store",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"queue",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"nextKey",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"running",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"processingTask",{enumerable:!0,configurable:!0,writable:!0,value:null}),this.store=Nb(e)}get isRunning(){return this.running}async batch(e){throw new Error("The `batch` method is not implemented on `AsyncBatchedStore`.\n Instead, it calls the `batch` method on the wrapped store.\n If you are seeing this error, something is wrong.")}async get(e,t){return this.enqueueOperation({namespace:e,key:t})}async search(e,t){let{filter:n,limit:s=10,offset:i=0,query:a}=t||{};return this.enqueueOperation({namespacePrefix:e,filter:n,limit:s,offset:i,query:a})}async put(e,t,n){return this.enqueueOperation({namespace:e,key:t,value:n})}async delete(e,t){return this.enqueueOperation({namespace:e,key:t,value:null})}start(){this.running||(this.running=!0,this.processingTask=this.processBatchQueue())}async stop(){this.running=!1,this.processingTask&&await this.processingTask}enqueueOperation(e){return new Promise((t,n)=>{let s=this.nextKey;this.nextKey+=1,this.queue.set(s,{operation:e,resolve:t,reject:n})})}async processBatchQueue(){for(;this.running;){if(await new Promise(t=>{setTimeout(t,0)}),this.queue.size===0)continue;let e=new Map(this.queue);this.queue.clear();try{let t=Array.from(e.values()).map(({operation:s})=>s),n=await this.store.batch(t);e.forEach(({resolve:s},i)=>{let a=Array.from(e.keys()).indexOf(i);s(n[a])})}catch(t){e.forEach(({reject:n})=>{n(t)})}}}toJSON(){return{queue:this.queue,nextKey:this.nextKey,running:this.running,store:"[LangGraphStore]"}}};var ms=class{constructor(e){Object.defineProperty(this,"serde",{enumerable:!0,configurable:!0,writable:!0,value:new vn}),this.serde=e||this.serde}};function Xu(r){return r!=null&&r.lg_is_channel===!0}var Re=class{constructor(){Object.defineProperty(this,"ValueType",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"UpdateType",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"lg_is_channel",{enumerable:!0,configurable:!0,writable:!0,value:!0})}consume(){return!1}finish(){return!1}isAvailable(){try{return this.get(),!0}catch(e){if(e.name===re.unminifiable_name)return!1;throw e}}},Ju=Symbol.for("LG_IS_ONLY_BASE_CHANNEL");function gs(r){if(r[Ju]===!0)return r;let e={};for(let t in r){if(!Object.prototype.hasOwnProperty.call(r,t))continue;let n=r[t];Xu(n)&&(e[t]=n)}return Object.assign(e,{[Ju]:!0}),e}function br(r,e){let t=gs(r),n={};for(let s in t){if(!Object.prototype.hasOwnProperty.call(t,s))continue;let i=e.channel_values[s];n[s]=t[s].fromCheckpoint(i)}return Object.assign(n,{[Ju]:!0}),n}function wt(r,e,t,n){let s;if(e===void 0)s=r.channel_values;else{s={};for(let a in e)if(Object.prototype.hasOwnProperty.call(e,a))try{s[a]=e[a].checkpoint()}catch(o){if(o.name!==re.unminifiable_name)throw o}}let i={};for(let a in r.versions_seen)Object.prototype.hasOwnProperty.call(r.versions_seen,a)&&(i[a]={...r.versions_seen[a]});return{v:4,id:n?.id??vi(t),ts:new Date().toISOString(),channel_values:s,channel_versions:{...r.channel_versions},versions_seen:i}}var tr=class r extends Re{constructor(e,t){super(),Object.defineProperty(this,"lc_graph_name",{enumerable:!0,configurable:!0,writable:!0,value:"BinaryOperatorAggregate"}),Object.defineProperty(this,"value",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"operator",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"initialValueFactory",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.operator=e,this.initialValueFactory=t,this.value=t?.()}fromCheckpoint(e){let t=new r(this.operator,this.initialValueFactory);return typeof e<"u"&&(t.value=e),t}update(e){let t=e;if(!t.length)return!1;this.value===void 0&&([this.value]=t,t=t.slice(1));for(let n of t)this.value!==void 0&&(this.value=this.operator(this.value,n));return!0}get(){if(this.value===void 0)throw new re;return this.value}checkpoint(){if(this.value===void 0)throw new re;return this.value}isAvailable(){return this.value!==void 0}};var Wt=class r extends Re{constructor(){super(...arguments),Object.defineProperty(this,"lc_graph_name",{enumerable:!0,configurable:!0,writable:!0,value:"LastValue"}),Object.defineProperty(this,"value",{enumerable:!0,configurable:!0,writable:!0,value:[]})}fromCheckpoint(e){let t=new r;return typeof e<"u"&&(t.value=[e]),t}update(e){if(e.length===0)return!1;if(e.length!==1)throw new q("LastValue can only receive one value per step.",{lc_error_code:"INVALID_CONCURRENT_GRAPH_UPDATE"});return this.value=[e[e.length-1]],!0}get(){if(this.value.length===0)throw new re;return this.value[0]}checkpoint(){if(this.value.length===0)throw new re;return this.value[0]}isAvailable(){return this.value.length!==0}},Xi=class r extends Re{constructor(){super(...arguments),Object.defineProperty(this,"lc_graph_name",{enumerable:!0,configurable:!0,writable:!0,value:"LastValueAfterFinish"}),Object.defineProperty(this,"value",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"finished",{enumerable:!0,configurable:!0,writable:!0,value:!1})}fromCheckpoint(e){let t=new r;if(typeof e<"u"){let[n,s]=e;t.value=[n],t.finished=s}return t}update(e){return e.length===0?!1:(this.finished=!1,this.value=[e[e.length-1]],!0)}get(){if(this.value.length===0||!this.finished)throw new re;return this.value[0]}checkpoint(){if(this.value.length!==0)return[this.value[0],this.finished]}consume(){return this.finished?(this.finished=!1,this.value=[],!0):!1}finish(){return!this.finished&&this.value.length>0?(this.finished=!0,!0):!1}isAvailable(){return this.value.length!==0&&this.finished}};var Yi=class{constructor(e){Object.defineProperty(this,"lc_graph_name",{enumerable:!0,configurable:!0,writable:!0,value:"AnnotationRoot"}),Object.defineProperty(this,"spec",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.spec=e}},ft=function(r){return r?Zi(r):new Wt};ft.Root=r=>new Yi(r);function Zi(r){return typeof r=="object"&&r&&"reducer"in r&&r.reducer?new tr(r.reducer,r.default):typeof r=="object"&&r&&"value"in r&&r.value?new tr(r.value,r.default):new Wt}var cp=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i;function Rb(r){return typeof r=="string"&&cp.test(r)}var Qi=Rb;var Ee=[];for(ea=0;ea<256;++ea)Ee.push((ea+256).toString(16).slice(1));var ea;function up(r,e=0){return(Ee[r[e+0]]+Ee[r[e+1]]+Ee[r[e+2]]+Ee[r[e+3]]+"-"+Ee[r[e+4]]+Ee[r[e+5]]+"-"+Ee[r[e+6]]+Ee[r[e+7]]+"-"+Ee[r[e+8]]+Ee[r[e+9]]+"-"+Ee[r[e+10]]+Ee[r[e+11]]+Ee[r[e+12]]+Ee[r[e+13]]+Ee[r[e+14]]+Ee[r[e+15]]).toLowerCase()}var ta,jb=new Uint8Array(16);function Yu(){if(!ta&&(ta=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!ta))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return ta(jb)}var Mb=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),Zu={randomUUID:Mb};function $b(r,e,t){if(Zu.randomUUID&&!e&&!r)return Zu.randomUUID();r=r||{};var n=r.random||(r.rng||Yu)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,e){t=t||0;for(var s=0;s<16;++s)e[t+s]=n[s];return e}return up(n)}var ra=$b;var lp,G="__start__",F="__end__",vt="__input__",hp="__copy__",pe="__error__",na="__pregel_ns_writes",rr="__pregel_send",ys="__pregel_call",xt="__pregel_read",he="__pregel_checkpointer",Kt="__pregel_resuming",Lr="__pregel_task_id",kn="__pregel_stream",Db="__pregel_resume_value",An="__pregel_resume_map",Ot="__pregel_scratchpad",Sn="__pregel_previous",el="__pregel_durability",sa="checkpoint_id",kt="checkpoint_ns",fp="__pregel_node_finished",Be="checkpoint_map",tl="__pregel_abort_signals",W="__interrupt__",je="__resume__",_s="__no_writes__",At="__return__",Ur="__previous__";var Z="langsmith:hidden",pp="langsmith:nostream",rl="__self__",Me="__pregel_tasks",$e="__pregel_push",ws="__pregel_pull";var De="00000000-0000-0000-0000-000000000000",dp=[Z,vt,W,je,pe,_s,rr,xt,he,el,kn,Kt,Lr,ys,Db,Ot,Sn,Be,kt,sa],oe="|",ze=":",Lb=Symbol.for("langgraph.command"),Qu=class{constructor(){Object.defineProperty(this,lp,{enumerable:!0,configurable:!0,writable:!0,value:void 0})}};lp=Lb;function ia(r){let e=r;return e!=null&&typeof e.node=="string"&&e.args!==void 0}var yr=class{constructor(e,t){Object.defineProperty(this,"lg_name",{enumerable:!0,configurable:!0,writable:!0,value:"Send"}),Object.defineProperty(this,"node",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"args",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.node=e,this.args=bs(t)}toJSON(){return{lg_name:this.lg_name,node:this.node,args:this.args}}};function ve(r){return r instanceof yr}function nl(r){return!r||typeof r!="object"||!(W in r)?!1:Array.isArray(r[W])}var Pe=class extends Qu{constructor(e){super(),Object.defineProperty(this,"lg_name",{enumerable:!0,configurable:!0,writable:!0,value:"Command"}),Object.defineProperty(this,"lc_direct_tool_output",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"graph",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"update",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"resume",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"goto",{enumerable:!0,configurable:!0,writable:!0,value:[]}),this.resume=e.resume,this.graph=e.graph,this.update=e.update,e.goto&&(this.goto=Array.isArray(e.goto)?bs(e.goto):[bs(e.goto)])}_updateAsTuples(){return this.update&&typeof this.update=="object"&&!Array.isArray(this.update)?Object.entries(this.update):Array.isArray(this.update)&&this.update.every(e=>Array.isArray(e)&&e.length===2&&typeof e[0]=="string")?this.update:[["__root__",this.update]]}toJSON(){let e;return typeof this.goto=="string"?e=this.goto:ve(this.goto)?e=this.goto.toJSON():e=this.goto?.map(t=>typeof t=="string"?t:t.toJSON()),{lg_name:this.lg_name,update:this.update,resume:this.resume,goto:e}}};Object.defineProperty(Pe,"PARENT",{enumerable:!0,configurable:!0,writable:!0,value:"__parent__"});function Te(r){return typeof r!="object"||r==null?!1:"lg_name"in r&&r.lg_name==="Command"}function bs(r,e=new Map){if(r!=null&&typeof r=="object"){if(e.has(r))return e.get(r);let t;if(Array.isArray(r))t=[],e.set(r,t),r.forEach((n,s)=>{t[s]=bs(n,e)});else if(Te(r)&&!(r instanceof Pe))t=new Pe(r),e.set(r,t);else if(ia(r)&&!(r instanceof yr))t=new yr(r.node,r.args),e.set(r,t);else if(Te(r)||ve(r))t=r,e.set(r,t);else if("lc_serializable"in r&&r.lc_serializable)t=r,e.set(r,t);else{t={},e.set(r,t);for(let[n,s]of Object.entries(r))t[n]=bs(s,e)}return t}return r}var Ub=["tags","metadata","callbacks","configurable"],Fb=["tags","metadata","callbacks","runName","maxConcurrency","recursionLimit","configurable","runId","outputKeys","streamMode","store","writer","context","interruptBefore","interruptAfter","checkpointDuring","durability","signal"],Bb=25;function aa(...r){let e={tags:[],metadata:{},callbacks:void 0,recursionLimit:Bb,configurable:{}},t=ot.getRunnableConfig();if(t!==void 0){for(let[n,s]of Object.entries(t))if(s!==void 0)if(Ub.includes(n)){let i;Array.isArray(s)?i=[...s]:typeof s=="object"?n==="callbacks"&&"copy"in s&&typeof s.copy=="function"?i=s.copy():i={...s}:i=s,e[n]=i}else e[n]=s}for(let n of r)if(n!==void 0)for(let[s,i]of Object.entries(n))i!==void 0&&Fb.includes(s)&&(e[s]=i);for(let[n,s]of Object.entries(e.configurable))e.metadata=e.metadata??{},!n.startsWith("__")&&(typeof s=="string"||typeof s=="number"||typeof s=="boolean")&&!(n in e.metadata)&&(e.metadata[n]=s);return e}function mp(){return ot.getRunnableConfig()}function oa(r){return r.split(oe).filter(e=>!e.match(/^\d+$/)).map(e=>e.split(ze)[0]).join(oe)}function gp(r){let e=r.split(oe);for(;e.length>1&&e[e.length-1].match(/^\d+$/);)e.pop();return e.slice(0,-1).join(oe)}var xe=class extends J{constructor(e){super(),Object.defineProperty(this,"lc_namespace",{enumerable:!0,configurable:!0,writable:!0,value:["langgraph"]}),Object.defineProperty(this,"func",{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,"config",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"trace",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"recurse",{enumerable:!0,configurable:!0,writable:!0,value:!0}),this.name=e.name??e.func.name,this.func=e.func,this.config=e.tags?{tags:e.tags}:void 0,this.trace=e.trace??this.trace,this.recurse=e.recurse??this.recurse}async _tracedInvoke(e,t,n){return new Promise((s,i)=>{let a=fe(t,{callbacks:n?.getChild()});ot.runWithConfig(a,async()=>{try{let o=await this.func(e,a);s(o)}catch(o){i(o)}})})}async invoke(e,t){let n,s=aa(t),i=Fe(this.config,s);return this.trace?n=await this._callWithConfig(this._tracedInvoke,e,i):n=await ot.runWithConfig(i,async()=>this.func(e,i)),J.isRunnable(n)&&this.recurse?await ot.runWithConfig(i,async()=>n.invoke(e,i)):n}};function*nr(r,e){if(e===void 0)yield*r;else for(let t of r)yield[e,t]}async function St(r){let e=[];for await(let t of await r)e.push(t);return e}function Fr(r){let e=[];for(let t of r)e.push(t);return e}function Br(r,e){return r?"configurable"in r?{...r,configurable:{...r.configurable,...e}}:{...r,configurable:e}:{configurable:e}}function bp(r){return r!=null&&typeof r=="function"&&r instanceof Object.getPrototypeOf(async function*(){}).constructor}function yp(r){return r!=null&&typeof r=="function"&&r instanceof Object.getPrototypeOf(function*(){}).constructor}var cS={[Symbol.for("LG_SKIP_WRITE")]:!0};function zb(r){return typeof r=="object"&&r?.[Symbol.for("LG_SKIP_WRITE")]!==void 0}var Xe={[Symbol.for("LG_PASSTHROUGH")]:!0};function ca(r){return typeof r=="object"&&r?.[Symbol.for("LG_PASSTHROUGH")]!==void 0}var sl=Symbol("IS_WRITER"),ae=class r extends xe{constructor(e,t){let n=`ChannelWrite<${e.map(s=>ve(s)?s.node:"channel"in s?s.channel:"...").join(",")}>`;super({writes:e,name:n,tags:t,func:async(s,i)=>this._write(s,i??{})}),Object.defineProperty(this,"writes",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.writes=e}async _write(e,t){let n=this.writes.map(s=>il(s)&&ca(s.value)?{mapper:s.mapper,value:e}:ua(s)&&ca(s.value)?{channel:s.channel,value:e,skipNone:s.skipNone,mapper:s.mapper}:s);return await r.doWrite(t,n),e}static async doWrite(e,t){for(let i of t){if(ua(i)){if(i.channel===Me)throw new q("Cannot write to the reserved channel TASKS");if(ca(i.value))throw new q("PASSTHROUGH value must be replaced")}if(il(i)&&ca(i.value))throw new q("PASSTHROUGH value must be replaced")}let n=[];for(let i of t)if(ve(i))n.push([Me,i]);else if(il(i)){let a=await i.mapper.invoke(i.value,e);a!=null&&a.length>0&&n.push(...a)}else if(ua(i)){let a=i.mapper!==void 0?await i.mapper.invoke(i.value,e):i.value;if(zb(a)||i.skipNone&&a===void 0)continue;n.push([i.channel,a])}else throw new Error(`Invalid write entry: ${JSON.stringify(i)}`);let s=e.configurable?.[rr];s(n)}static isWriter(e){return e instanceof r||sl in e&&!!e[sl]}static registerWriter(e){return Object.defineProperty(e,sl,{value:!0})}};function ua(r){return r!==void 0&&typeof r.channel=="string"}function il(r){return r!==void 0&&!ua(r)&&J.isRunnable(r.mapper)}var la=class r extends xe{constructor(e,t,n=!1){super({func:(s,i)=>r.doRead(i,this.channel,this.fresh,this.mapper)}),Object.defineProperty(this,"lc_graph_name",{enumerable:!0,configurable:!0,writable:!0,value:"ChannelRead"}),Object.defineProperty(this,"channel",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"fresh",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"mapper",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.fresh=n,this.mapper=t,this.channel=e,this.name=Array.isArray(e)?`ChannelRead<${e.join(",")}>`:`ChannelRead<${e}>`}static doRead(e,t,n,s){let i=e.configurable?.[xt];if(!i)throw new Error("Runnable is not configured with a read function. Make sure to call in the context of a Pregel process");return s?s(i(t,n)):i(t,n)}},En=new qe,et=class r extends hr{constructor(e){let{channels:t,triggers:n,mapper:s,writers:i,bound:a,kwargs:o,metadata:c,retryPolicy:u,cachePolicy:l,tags:h,subgraphs:p,ends:f}=e,m=[...e.config?.tags?e.config.tags:[],...h??[]];super({...e,bound:e.bound??En,config:{...e.config?e.config:{},tags:m}}),Object.defineProperty(this,"lc_graph_name",{enumerable:!0,configurable:!0,writable:!0,value:"PregelNode"}),Object.defineProperty(this,"channels",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"triggers",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"mapper",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"writers",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"bound",{enumerable:!0,configurable:!0,writable:!0,value:En}),Object.defineProperty(this,"kwargs",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"metadata",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"tags",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"retryPolicy",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cachePolicy",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"subgraphs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"ends",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.channels=t,this.triggers=n,this.mapper=s,this.writers=i??this.writers,this.bound=a??this.bound,this.kwargs=o??this.kwargs,this.metadata=c??this.metadata,this.tags=m,this.retryPolicy=u,this.cachePolicy=l,this.subgraphs=p,this.ends=f}getWriters(){let e=[...this.writers];for(;e.length>1&&e[e.length-1]instanceof ae&&e[e.length-2]instanceof ae;){let t=e.slice(-2),n=t[0].writes.concat(t[1].writes);e[e.length-2]=new ae(n,t[0].config?.tags),e.pop()}return e}getNode(){let e=this.getWriters();if(!(this.bound===En&&e.length===0))return this.bound===En&&e.length===1?e[0]:this.bound===En?new Qe({first:e[0],middle:e.slice(1,e.length-1),last:e[e.length-1],omitSequenceTags:!0}):e.length>0?new Qe({first:this.bound,middle:e.slice(0,e.length-1),last:e[e.length-1],omitSequenceTags:!0}):this.bound}join(e){if(!Array.isArray(e))throw new Error("channels must be a list");if(typeof this.channels!="object")throw new Error("all channels must be named when using .join()");return new r({channels:{...this.channels,...Object.fromEntries(e.map(t=>[t,t]))},triggers:this.triggers,mapper:this.mapper,writers:this.writers,bound:this.bound,kwargs:this.kwargs,config:this.config,retryPolicy:this.retryPolicy,cachePolicy:this.cachePolicy})}pipe(e){return ae.isWriter(e)?new r({channels:this.channels,triggers:this.triggers,mapper:this.mapper,writers:[...this.writers,e],bound:this.bound,config:this.config,kwargs:this.kwargs,retryPolicy:this.retryPolicy,cachePolicy:this.cachePolicy}):this.bound===En?new r({channels:this.channels,triggers:this.triggers,mapper:this.mapper,writers:this.writers,bound:Ne(e),config:this.config,kwargs:this.kwargs,retryPolicy:this.retryPolicy,cachePolicy:this.cachePolicy}):new r({channels:this.channels,triggers:this.triggers,mapper:this.mapper,writers:this.writers,bound:this.bound.pipe(e),config:this.config,kwargs:this.kwargs,retryPolicy:this.retryPolicy,cachePolicy:this.cachePolicy})}};var S=r=>BigInt(r),ne=(r,e=0)=>new DataView(r.buffer,r.byteOffset+e,r.byteLength-e),xp=S("0x9E3779B1"),Op=S("0x85EBCA77"),Wb=S("0xC2B2AE3D"),_r=S("0x9E3779B185EBCA87"),zr=S("0xC2B2AE3D27D4EB4F"),kp=S("0x165667B19E3779F9"),cl=S("0x85EBCA77C2B2AE63"),Kb=S("0x27D4EB2F165667C5"),Vb=S("0x165667919E3779F9"),Gb=S("0x9FB21C651E98DF25"),Hb=r=>{let e=r.length;if(e%2!==0)throw new Error("String should have an even number of characters");let t=e/2,n=new Uint8Array(t),s=0,i=0;for(;i<t;){let a=r.slice(s,s+=2);n[i]=Number.parseInt(a,16),i+=1}return ne(n)},Vt=Hb("b8fe6c3923a44bbe7c01812cf721ad1cded46de9839097db7240a4a4b7b3671fcb79e64eccc0e578825ad07dccff7221b8084674f743248ee03590e6813a264c3c2852bb91c300cb88d0658b1b532ea371644897a20df94e3819ef46a9deacd8a8fa763fe39c343ff9dcbbc7c70b4f1d8a51e04bcdb45931c89f7ec9d9787364eac5ac8334d3ebc3c581a0fffa1363eb170ddd51b7f0da49d316552629d4689e2b16be587d47a1fc8ff8b8d17ad031ce45cb3a8f95160428afd7fbcabb4b407e"),Pn=(S(1)<<S(128))-S(1),K=(S(1)<<S(64))-S(1),da=(S(1)<<S(32))-S(1),sr=64,Ap=sr/8,qb=8,ha=4;function Tn(r){if(!r)throw new Error("Assert failed")}function Jb(r){let e=new DataView(new ArrayBuffer(8));return e.setBigUint64(0,r,!0),e.getBigUint64(0,!1)}function Xb(r){let e=r;return e=(e&S(65535))<<S(16)|(e&S(4294901760))>>S(16),e=(e&S(16711935))<<S(8)|(e&S(4278255360))>>S(8),e}function Yb(r,e){return(r&da)*(e&da)&K}function Zb(r,e){return(r<<e|r>>S(32)-e)&da}function Sp(r,e,t){for(let n=0;n<Ap;n+=1){let s=e.getBigUint64(n*8,!0),i=s^t.getBigUint64(n*8,!0);r[n^1]+=s,r[n]+=Yb(i,i>>S(32))}return r}function _p(r,e,t,n){for(let s=0;s<n;s+=1)Sp(r,ne(e,s*sr),ne(t,s*8));return r}function Qb(r,e){for(let t=0;t<Ap;t+=1){let n=e.getBigUint64(t*8,!0),s=r[t];s=al(s,S(47)),s^=n,s*=xp,r[t]=s&K}return r}function fa(r,e){return Ep(r[0]^e.getBigUint64(0,!0),r[1]^e.getBigUint64(qb,!0))}function wp(r,e,t){let n=t;return n+=fa(r.slice(0),ne(e,0*ha)),n+=fa(r.slice(2),ne(e,4*ha)),n+=fa(r.slice(4),ne(e,8*ha)),n+=fa(r.slice(6),ne(e,12*ha)),Gt(n&K)}function ey(r,e,t,n,s){let i=r,a=Math.floor((t.byteLength-sr)/8),o=sr*a,c=Math.floor((e.byteLength-1)/o);for(let u=0;u<c;u+=1)i=_p(i,ne(e,u*o),t,a),i=s(i,ne(t,t.byteLength-sr));{let u=Math.floor((e.byteLength-1-o*c)/sr);i=_p(i,ne(e,c*o),t,u),i=n(i,ne(e,e.byteLength-sr),ne(t,t.byteLength-sr-7))}return i}function ty(r,e){let t=new BigUint64Array([Wb,_r,zr,kp,cl,Op,Kb,xp]);Tn(r.byteLength>128),t=ey(t,r,e,Sp,Qb),Tn(t.length*8===64);{let n=wp(t,ne(e,11),S(r.byteLength)*_r&K);return wp(t,ne(e,e.byteLength-sr-11),~(S(r.byteLength)*zr)&K)<<S(64)|n}}function Ep(r,e){let t=r*e&Pn;return t&K^t>>S(64)}function vp(r,e,t){return Ep((r.getBigUint64(0,!0)^e.getBigUint64(0,!0)+t)&K,(r.getBigUint64(8,!0)^e.getBigUint64(8,!0)-t)&K)}function pa(r,e,t,n,s){let i=r&K,a=r>>S(64)&K;return i+=vp(e,n,s),i^=t.getBigUint64(0,!0)+t.getBigUint64(8,!0),i&=K,a+=vp(t,ne(n,16),s),a^=e.getBigUint64(0,!0)+e.getBigUint64(8,!0),a&=K,a<<S(64)|i}function Gt(r){let e=r;return e^=e>>S(37),e*=Vb,e&=K,e^=e>>S(32),e}function ma(r){let e=r;return e^=e>>S(33),e*=zr,e&=K,e^=e>>S(29),e*=kp,e&=K,e^=e>>S(32),e}function ry(r,e,t){let n=r.byteLength;Tn(n>0&&n<=3);let s=S(r.getUint8(n-1))|S(n<<8)|S(r.getUint8(0)<<16)|S(r.getUint8(n>>1)<<24),i=(S(e.getUint32(0,!0))^S(e.getUint32(4,!0)))+t,a=(s^i)&K,o=(S(e.getUint32(8,!0))^S(e.getUint32(12,!0)))-t,c=(Zb(Xb(s),S(13))^o)&K;return(ma(c)&K)<<S(64)|ma(a)}function al(r,e){return r^r>>e}function ny(r,e,t){let n=r.byteLength;Tn(n>=4&&n<=8);{let s=r.getUint32(0,!0),i=r.getUint32(n-4,!0),a=S(s)|S(i)<<S(32),o=(e.getBigUint64(16,!0)^e.getBigUint64(24,!0))+t&K,u=(a^o)*(_r+(S(n)<<S(2)))&Pn;return u+=(u&K)<<S(65),u&=Pn,u^=u>>S(67),al(al(u&K,S(35))*Gb&K,S(28))|Gt(u>>S(64))<<S(64)}}function sy(r,e,t){let n=r.byteLength;Tn(n>=9&&n<=16);{let s=(e.getBigUint64(32,!0)^e.getBigUint64(40,!0))+t&K,i=(e.getBigUint64(48,!0)^e.getBigUint64(56,!0))-t&K,a=r.getBigUint64(0,!0),o=r.getBigUint64(n-8,!0),c=(a^o^s)*_r,u=(c&K)+(S(n-1)<<S(54));c=c&(Pn^K)|u,o^=i,c+=o+(o&da)*(Op-S(1))<<S(64),c&=Pn,c^=Jb(c>>S(64));let l=(c&K)*zr;return l+=(c>>S(64))*zr<<S(64),l&=Pn,Gt(l&K)|Gt(l>>S(64))<<S(64)}}function iy(r,e){let t=r.byteLength;return Tn(t<=16),t>8?sy(r,Vt,e):t>=4?ny(r,Vt,e):t>0?ry(r,Vt,e):ma(e^Vt.getBigUint64(64,!0)^Vt.getBigUint64(72,!0))|ma(e^Vt.getBigUint64(80,!0)^Vt.getBigUint64(88,!0))<<S(64)}function ol(r){return~r+S(1)&K}function ay(r,e,t){let n=S(r.byteLength)*_r&K,s=S(r.byteLength-1)/S(32);for(;s>=0;){let o=Number(s);n=pa(n,ne(r,16*o),ne(r,r.byteLength-16*(o+1)),ne(e,32*o),t),s-=S(1)}let i=n+(n>>S(64))&K;i=Gt(i);let a=(n&K)*_r+(n>>S(64))*cl+(S(r.byteLength)-t&K)*zr;return a&=K,a=ol(Gt(a)),i|a<<S(64)}function oy(r,e,t){let n=S(r.byteLength)*_r&K;for(let a=32;a<160;a+=32)n=pa(n,ne(r,a-32),ne(r,a-16),ne(e,a-32),t);n=Gt(n&K)|Gt(n>>S(64))<<S(64);for(let a=160;a<=r.byteLength;a+=32)n=pa(n,ne(r,a-32),ne(r,a-16),ne(e,3+a-160),t);n=pa(n,ne(r,r.byteLength-16),ne(r,r.byteLength-32),ne(e,103),ol(t));let s=n+(n>>S(64))&K;s=Gt(s);let i=(n&K)*_r+(n>>S(64))*cl+(S(r.byteLength)-t&K)*zr;return i&=K,i=ol(Gt(i)),s|i<<S(64)}function Wr(r,e=S(0)){let t=new TextEncoder,n=ne(typeof r=="string"?t.encode(r):r),s=n.byteLength,i=a=>a.toString(16).padStart(32,"0");return s<=16?i(iy(n,e)):s<=128?i(ay(n,Vt,e)):s<=240?i(oy(n,Vt,e)):i(ty(n,Vt))}function ga(r){return/^[0-9a-f]{32}$/.test(r)}function Kr(r,e,t=!0,n=!1){try{return r[e].get()}catch(s){if(s.name===re.unminifiable_name){if(n)return s;if(t)return null}throw s}}function Et(r,e,t=!0){if(Array.isArray(e)){let n={};for(let s of e)try{n[s]=Kr(r,s,!t)}catch(i){if(i.name===re.unminifiable_name)continue}return n}else return Kr(r,e)}function*Pp(r,e){if(r.graph===Pe.PARENT)throw new q("There is no parent graph.");if(r.goto){let t;Array.isArray(r.goto)?t=r.goto:t=[r.goto];for(let n of t)if(ve(n))yield[De,Me,n];else if(typeof n=="string")yield[De,`branch:to:${n}`,"__start__"];else throw new Error(`In Command.send, expected Send or string, got ${typeof n}`)}if(r.resume)if(typeof r.resume=="object"&&Object.keys(r.resume).length&&Object.keys(r.resume).every(ga))for(let[t,n]of Object.entries(r.resume)){let s=e.filter(i=>i[0]===t&&i[1]===je).map(i=>i[2]).slice(0,1)??[];s.push(n),yield[t,je,s]}else yield[De,je,r.resume];if(r.update){if(typeof r.update!="object"||!r.update)throw new Error("Expected cmd.update to be a dict mapping channel names to update values");if(Array.isArray(r.update))for(let[t,n]of r.update)yield[De,t,n];else for(let[t,n]of Object.entries(r.update))yield[De,t,n]}}function*ba(r,e){if(e!=null)if(Array.isArray(r)&&typeof e=="object"&&!Array.isArray(e))for(let t in e)r.includes(t)&&(yield[t,e[t]]);else{if(Array.isArray(r))throw new Error('Input chunk must be an object when "inputChannels" is an array');yield[r,e]}}function*ya(r,e,t){Array.isArray(r)?(e===!0||e.find(([n,s])=>r.includes(n)))&&(yield Et(t,r)):(e===!0||e.some(([n,s])=>n===r))&&(yield Kr(t,r))}function*Tp(r,e,t){let n=e.filter(([o,c])=>(o.config===void 0||!o.config.tags?.includes(Z))&&c[0][0]!==pe&&c[0][0]!==W);if(!n.length)return;let s;n.some(([o])=>o.writes.some(([c,u])=>c===At))?s=n.flatMap(([o])=>o.writes.filter(([c,u])=>c===At).map(([c,u])=>[o.name,u])):Array.isArray(r)?s=n.flatMap(([o])=>{let{writes:c}=o,u={};for(let[l]of c)r.includes(l)&&(u[l]=(u[l]||0)+1);return Object.values(u).some(l=>l>1)?c.filter(([l])=>r.includes(l)).map(([l,h])=>[o.name,{[l]:h}]):[[o.name,Object.fromEntries(c.filter(([l])=>r.includes(l)))]]}):s=n.flatMap(([o])=>o.writes.filter(([c,u])=>c===r).map(([c,u])=>[o.name,u]));let i={};for(let[o,c]of s)o in i||(i[o]=[]),i[o].push(c);let a={};for(let o in i)if(i[o].length===1){let[c]=i[o];a[o]=c}else a[o]=i[o];t&&(a.__metadata__={cached:t}),yield a}var _a=class{constructor({func:e,name:t,input:n,retry:s,cache:i,callbacks:a}){Object.defineProperty(this,"func",{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,"input",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"retry",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cache",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"callbacks",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"__lg_type",{enumerable:!0,configurable:!0,writable:!0,value:"call"}),this.func=e,this.name=t,this.input=n,this.retry=s,this.cache=i,this.callbacks=a}};function Cp(r){return typeof r=="object"&&r!==null&&"__lg_type"in r&&r.__lg_type==="call"}function wa(r){let e=typeof r[G];if(e==="number")return 0;if(e==="string")return"";for(let t in r){if(!Object.prototype.hasOwnProperty.call(r,t))continue;let n=typeof r[t];if(n==="number")return 0;if(n==="string")return"";break}}function Cn(r,e){if(Object.keys(r).length>0){let t=wa(e);return Object.fromEntries(Object.entries(e).filter(([n,s])=>s>(r[n]??t)))}else return e}function Ip(r,e){return r&&!Array.isArray(r)&&!(r instanceof Date)&&typeof r=="object"?r:{[e]:r}}function Ye(r,e){return r===null?{configurable:e}:r?.configurable===void 0?{...r,configurable:e}:{...r,configurable:{...r.configurable,...e}}}function wr(r,e){let t=e?.parents??{};return Object.keys(t).length>0?Ye(r,{[Be]:{...t,[r.configurable?.checkpoint_ns??""]:r.configurable?.checkpoint_id}}):r}function In(...r){let e=[...new Set(r.filter(Boolean))];if(e.length===0)return{signal:void 0,dispose:void 0};if(e.length===1)return{signal:e[0],dispose:void 0};let t=new AbortController,n=()=>{let i=e.find(a=>a.aborted)?.reason;t.abort(i),e.forEach(a=>a.removeEventListener("abort",n))};e.forEach(i=>i.addEventListener("abort",n,{once:!0}));let s=e.find(i=>i.aborted);return s&&t.abort(s.reason),{signal:t.signal,dispose:()=>{e.forEach(i=>i.removeEventListener("abort",n))}}}var Np=(r,e)=>{if(!(!r&&!e))return r?e?Array.isArray(r)&&Array.isArray(e)?[...r,...e]:Array.isArray(r)?[...r,e]:Array.isArray(e)?[r,...e]:[r,e]:r:e};function Rp(r,e){let t=new xe({func:n=>e(...n),name:r,trace:!1,recurse:!1});return new Qe({name:r,first:t,last:new ae([{channel:At,value:Xe}],[Z])})}function jp(r,e){return new xe({func:(n,s)=>e(n,s),name:r,trace:!1,recurse:!1})}var $p=r=>r!==void 0?r+1:1;function Mp(r){let e;for(let t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e==null?e=r[t]:e=qi(e,r[t]));return e}function xs(r,e,t){let n=wa(r.channel_versions),s=r.versions_seen[W]??{},i=!1;for(let o in r.channel_versions)if(Object.prototype.hasOwnProperty.call(r.channel_versions,o)&&r.channel_versions[o]>(s[o]??n)){i=!0;break}let a=t.some(o=>e==="*"?!o.config?.tags?.includes(Z):e.includes(o.name));return i&&a}function vs(r,e,t,n,s=!1){let i=new Set;if(Array.isArray(n))i=new Set(n.filter(o=>t.writes.some(([c,u])=>c===o)));else{for(let[o]of t.writes)if(o===n){i=new Set([o]);break}i=i||new Set}let a;if(s&&i.size>0){let o=Object.fromEntries(Object.entries(e).filter(([l,h])=>i.has(l))),c=wt(r,o,-1),u=br(o,c);We(zt(c),u,[t],void 0,void 0),a=Et({...e,...u},n)}else a=Et(e,n);return a}function ul(r,e,t){for(let[n,s]of t)if([$e,Me].includes(n)&&s!=null){if(!ve(s))throw new q(`Invalid packet type, expected SendProtocol, got ${JSON.stringify(s)}`);if(!(s.node in e))throw new q(`Invalid node name "${s.node}" in Send packet`)}r(t)}var cy=new Set([_s,$e,je,W,At,pe]);function We(r,e,t,n,s){t.sort((h,p)=>{let f=h.path?.slice(0,3)||[],m=p.path?.slice(0,3)||[];for(let y=0;y<Math.min(f.length,m.length);y+=1){if(f[y]<m[y])return-1;if(f[y]>m[y])return 1}return f.length-m.length});let i=t.some(h=>h.triggers.length>0),a=gs(e);for(let h of t){r.versions_seen[h.name]??={};for(let p of h.triggers)p in r.channel_versions&&(r.versions_seen[h.name][p]=r.channel_versions[p])}let o=Mp(r.channel_versions),c=new Set(t.flatMap(h=>h.triggers).filter(h=>!dp.includes(h)));for(let h of c)h in a&&a[h].consume()&&n!==void 0&&(r.channel_versions[h]=n(o));let u={};for(let h of t)for(let[p,f]of h.writes)cy.has(p)||p in a&&(u[p]??=[],u[p].push(f));o=Mp(r.channel_versions);let l=new Set;for(let[h,p]of Object.entries(u))if(h in a){let f=a[h],m;try{m=f.update(p)}catch(y){if(y.name===q.unminifiable_name){let _=new q(`Invalid update for channel "${h}" with values ${JSON.stringify(p)}: ${y.message}`);throw _.lc_error_code=y.lc_error_code,_}else throw y}m&&n!==void 0&&(r.channel_versions[h]=n(o),f.isAvailable()&&l.add(h))}if(i)for(let h in a){if(!Object.prototype.hasOwnProperty.call(a,h))continue;let p=a[h];p.isAvailable()&&!l.has(h)&&p.update([])&&n!==void 0&&(r.channel_versions[h]=n(o),p.isAvailable()&&l.add(h))}if(i&&!Object.keys(s??{}).some(h=>l.has(h)))for(let h in a){if(!Object.prototype.hasOwnProperty.call(a,h))continue;let p=a[h];p.finish()&&n!==void 0&&(r.channel_versions[h]=n(o),p.isAvailable()&&l.add(h))}}function vr(r,e,t,n,s,i,a){let o={},c=n[Me];if(c?.isAvailable()){let u=c.get().length;for(let l=0;l<u;l+=1){let h=va([$e,l],r,e,t,n,s,i,a);h!==void 0&&(o[h.id]=h)}}for(let u in t){if(!Object.prototype.hasOwnProperty.call(t,u))continue;let l=va([ws,u],r,e,t,n,s,i,a);l!==void 0&&(o[l.id]=l)}return o}function va(r,e,t,n,s,i,a,o){let{step:c,checkpointer:u,manager:l}=o,h=i.configurable??{},p=h.checkpoint_ns??"";if(r[0]===$e&&Cp(r[r.length-1])){let f=r[r.length-1],m=Rp(f.name,f.func),y=[$e],_=p===""?f.name:`${p}${oe}${f.name}`,k=mr(JSON.stringify([_,c.toString(),f.name,$e,r[1],r[2]]),e.id),x=`${_}${ze}${k}`,A=[...r.slice(0,3),!0],P={langgraph_step:c,langgraph_node:f.name,langgraph_triggers:y,langgraph_path:A,langgraph_checkpoint_ns:x};if(a){let C=[];return{name:f.name,input:f.input,proc:m,writes:C,config:fe(Fe(i,{metadata:P,store:o.store??i.store}),{runName:f.name,callbacks:l?.getChild(`graph:step:${c}`),configurable:{[Lr]:k,[rr]:$=>ul(b=>C.push(...b),n,$),[xt]:($,b=!1)=>vs(e,s,{name:f.name,writes:C,triggers:y,path:A},$,b),[he]:u??h[he],[Be]:{...h[Be],[p]:e.id},[Ot]:ll({pendingWrites:t??[],taskId:k,currentTaskInput:f.input,resumeMap:i.configurable?.[An],namespaceHash:Wr(x)}),[Sn]:e.channel_values[Ur],checkpoint_id:void 0,checkpoint_ns:x}}),triggers:y,retry_policy:f.retry,cache_key:f.cache?{key:Wr((f.cache.keyFunc??JSON.stringify)([f.input])),ns:[na,f.name??"__dynamic__"],ttl:f.cache.ttl}:void 0,id:k,path:A,writers:[]}}else return{id:k,name:f.name,interrupts:[],path:A}}else if(r[0]===$e){let f=typeof r[1]=="number"?r[1]:parseInt(r[1],10);if(!s[Me]?.isAvailable())return;let m=s[Me].get();if(f<0||f>=m.length)return;let y=ia(m[f])&&!ve(m[f])?new yr(m[f].node,m[f].args):m[f];if(!ia(y)){console.warn(`Ignoring invalid packet ${JSON.stringify(y)} in pending sends.`);return}if(!(y.node in n)){console.warn(`Ignoring unknown node name ${y.node} in pending sends.`);return}let _=[$e],k=p===""?y.node:`${p}${oe}${y.node}`,x=mr(JSON.stringify([k,c.toString(),y.node,$e,f.toString()]),e.id),A=`${k}${ze}${x}`,P={langgraph_step:c,langgraph_node:y.node,langgraph_triggers:_,langgraph_path:r.slice(0,3),langgraph_checkpoint_ns:A};if(a){let C=n[y.node],M=C.getNode();if(M!==void 0){C.metadata!==void 0&&(P={...P,...C.metadata});let $=[];return{name:y.node,input:y.args,proc:M,subgraphs:C.subgraphs,writes:$,config:fe(Fe(i,{metadata:P,tags:C.tags,store:o.store??i.store}),{runName:y.node,callbacks:l?.getChild(`graph:step:${c}`),configurable:{[Lr]:x,[rr]:b=>ul(N=>$.push(...N),n,b),[xt]:(b,N=!1)=>vs(e,s,{name:y.node,writes:$,triggers:_,path:r},b,N),[he]:u??h[he],[Be]:{...h[Be],[p]:e.id},[Ot]:ll({pendingWrites:t??[],taskId:x,currentTaskInput:y.args,resumeMap:i.configurable?.[An],namespaceHash:Wr(A)}),[Sn]:e.channel_values[Ur],checkpoint_id:void 0,checkpoint_ns:A}}),triggers:_,retry_policy:C.retryPolicy,cache_key:C.cachePolicy?{key:Wr((C.cachePolicy.keyFunc??JSON.stringify)([y.args])),ns:[na,C.name??"__dynamic__",y.node],ttl:C.cachePolicy.ttl}:void 0,id:x,path:r,writers:C.getWriters()}}}else return{id:x,name:y.node,interrupts:[],path:r}}else if(r[0]===ws){let f=r[1].toString(),m=n[f];if(m===void 0)return;if(t?.length){let x=p===""?f:`${p}${oe}${f}`,A=mr(JSON.stringify([x,c.toString(),f,ws,f]),e.id);if(t.some(C=>C[0]===A&&C[1]!==pe))return}let y=wa(e.channel_versions);if(y===void 0)return;let _=e.versions_seen[f]??{},k=m.triggers.find(x=>s[x].isAvailable()?(e.channel_versions[x]??y)>(_[x]??y):!1);if(k!==void 0){let x=uy(m,s,a);if(x===void 0)return;let A=p===""?f:`${p}${oe}${f}`,P=mr(JSON.stringify([A,c.toString(),f,ws,[k]]),e.id),C=`${A}${ze}${P}`,M={langgraph_step:c,langgraph_node:f,langgraph_triggers:[k],langgraph_path:r,langgraph_checkpoint_ns:C};if(a){let $=m.getNode();if($!==void 0){m.metadata!==void 0&&(M={...M,...m.metadata});let b=[];return{name:f,input:x,proc:$,subgraphs:m.subgraphs,writes:b,config:fe(Fe(i,{metadata:M,tags:m.tags,store:o.store??i.store}),{runName:f,callbacks:l?.getChild(`graph:step:${c}`),configurable:{[Lr]:P,[rr]:N=>ul(I=>{b.push(...I)},n,N),[xt]:(N,I=!1)=>vs(e,s,{name:f,writes:b,triggers:[k],path:r},N,I),[he]:u??h[he],[Be]:{...h[Be],[p]:e.id},[Ot]:ll({pendingWrites:t??[],taskId:P,currentTaskInput:x,resumeMap:i.configurable?.[An],namespaceHash:Wr(C)}),[Sn]:e.channel_values[Ur],checkpoint_id:void 0,checkpoint_ns:C}}),triggers:[k],retry_policy:m.retryPolicy,cache_key:m.cachePolicy?{key:Wr((m.cachePolicy.keyFunc??JSON.stringify)([x])),ns:[na,m.name??"__dynamic__",f],ttl:m.cachePolicy.ttl}:void 0,id:P,path:r,writers:m.getWriters()}}}else return{id:P,name:f,interrupts:[],path:r}}}}function uy(r,e,t){let n;if(typeof r.channels=="object"&&!Array.isArray(r.channels)){n={};for(let[s,i]of Object.entries(r.channels))if(r.triggers.includes(i))try{n[s]=Kr(e,i,!1)}catch(a){if(a.name===re.unminifiable_name)return;throw a}else if(i in e)try{n[s]=Kr(e,i,!1)}catch(a){if(a.name===re.unminifiable_name)continue;throw a}}else if(Array.isArray(r.channels)){let s=!1;for(let i of r.channels)try{n=Kr(e,i,!1),s=!0;break}catch(a){if(a.name===re.unminifiable_name)continue;throw a}if(!s)return}else throw new Error(`Invalid channels type, expected list or dict, got ${r.channels}`);return t&&r.mapper!==void 0&&(n=r.mapper(n)),n}function ll({pendingWrites:r,taskId:e,currentTaskInput:t,resumeMap:n,namespaceHash:s}){let i=r.find(([c,u])=>c===De&&u===je)?.[2],o={callCounter:0,interruptCounter:-1,resume:(()=>{let c=r.filter(([u,l])=>u===e&&l===je).flatMap(([u,l,h])=>h);if(n!=null&&s in n){let u=n[s];c.push(u)}return c})(),nullResume:i,subgraphCounter:0,currentTaskInput:t,consumeNullResume:()=>{if(o.nullResume)return delete o.nullResume,r.splice(r.findIndex(([c,u])=>c===De&&u===je),1),i}};return o}function ly(r){return"steps"in r&&Array.isArray(r.steps)}function Os(r){return"lg_is_pregel"in r&&r.lg_is_pregel===!0}function xa(r){let e=[r];for(let t of e){if(Os(t))return t;ly(t)&&e.push(...t.steps)}}var ks={blue:{start:"\x1B[34m",end:"\x1B[0m"},green:{start:"\x1B[32m",end:"\x1B[0m"},yellow:{start:"\x1B[33;1m",end:"\x1B[0m"}},As=(r,e)=>`${r.start}${e}${r.end}`;function*hl(r){for(let{id:e,name:t,input:n,config:s,triggers:i,writes:a}of r){if(s?.tags?.includes(Z))continue;let o=a.filter(([c,u])=>c===e&&u===W).map(([,c])=>c);yield{id:e,name:t,input:n,triggers:i,interrupts:o}}}function hy(r){return typeof r!="object"||r===null?!1:"$writes"in r&&Array.isArray(r.$writes)}function Dp(r){let e={};for(let[t,n]of r){let s=String(t);if(s in e){let i=hy(e[s])?e[s].$writes:[e[s]];i.push(n),e[s]={$writes:i}}else e[s]=n}return e}function*Lp(r,e){for(let[{id:t,name:n,config:s},i]of r)s?.tags?.includes(Z)||(yield{id:t,name:n,result:Dp(i.filter(([a])=>Array.isArray(e)?e.includes(a):a===e)),interrupts:i.filter(a=>a[0]===W).map(a=>a[1])})}function*Up(r,e,t,n,s,i,a,o){function c(h){let p={};return h.callbacks!=null&&(p.callbacks=h.callbacks),h.configurable!=null&&(p.configurable=h.configurable),h.maxConcurrency!=null&&(p.max_concurrency=h.maxConcurrency),h.metadata!=null&&(p.metadata=h.metadata),h.recursionLimit!=null&&(p.recursion_limit=h.recursionLimit),h.runId!=null&&(p.run_id=h.runId),h.runName!=null&&(p.run_name=h.runName),h.tags!=null&&(p.tags=h.tags),p}let u=r.configurable?.checkpoint_ns,l={};for(let h of s){if(!(h.subgraphs?.length?h.subgraphs:[h.proc]).find(xa))continue;let f=`${h.name}:${h.id}`;u&&(f=`${u}|${f}`),l[h.id]={configurable:{thread_id:r.configurable?.thread_id,checkpoint_ns:f}}}yield{config:c(r),values:Et(e,t),metadata:n,next:s.map(h=>h.name),tasks:fl(s,i,l,o),parentConfig:a?c(a):void 0}}function fl(r,e,t,n){return r.map(s=>{let i=e.find(([u,l])=>u===s.id&&l===pe)?.[2],a=e.filter(([u,l])=>u===s.id&&l===W).map(([,,u])=>u),o=(()=>{if(i||a.length||!e.length)return;let u=e.findIndex(([l,h])=>l===s.id&&h===At);if(u>=0)return e[u][2];if(typeof n=="string")return e.find(([l,h])=>l===s.id&&h===n)?.[2];if(Array.isArray(n)){let l=e.filter(([h,p])=>h===s.id&&n.includes(p)).map(([,h,p])=>[h,p]);return l.length?Dp(l):void 0}})();if(i)return{id:s.id,name:s.name,path:s.path,error:i,interrupts:a,result:o};let c=t?.[s.id];return{id:s.id,name:s.name,path:s.path,interrupts:a,...c!==void 0?{state:c}:{},result:o}})}function Fp(r,e,t){console.log([`${As(ks.blue,`[${r}:checkpoint]`)}`,`\x1B[1m State at the end of step ${r}:\x1B[0m
|
|
84
|
-
`,JSON.stringify(Et(e,t),null,2)].join(""))}function Oa(r,e){let t=e.length;console.log([`${As(ks.blue,`[${r}:tasks]`)}`,`\x1B[1m Starting step ${r} with ${t} task${t===1?"":"s"}:\x1B[0m
|
|
85
|
-
`,e.map(n=>`- ${As(ks.green,String(n.name))} -> ${JSON.stringify(n.input,null,2)}`).join(`
|
|
86
|
-
`)].join(""))}function Bp(r,e,t){let n={};for(let[s,i]of e)t.includes(s)&&(n[s]||(n[s]=[]),n[s].push(i));console.log([`${As(ks.blue,`[${r}:writes]`)}`,`\x1B[1m Finished step ${r} with writes to ${Object.keys(n).length} channel${Object.keys(n).length!==1?"s":""}:\x1B[0m
|
|
87
|
-
`,Object.entries(n).map(([s,i])=>`- ${As(ks.yellow,s)} -> ${i.map(a=>JSON.stringify(a)).join(", ")}`).join(`
|
|
88
|
-
`)].join(""))}var Ss=class extends oc{constructor(e,t){let n=e.getReader(),s=t??new AbortController;super({start(i){return a();function a(){return n.read().then(({done:o,value:c})=>{if(o){i.close();return}return i.enqueue(c),a()})}}}),Object.defineProperty(this,"_abortController",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_innerReader",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._abortController=s,this._innerReader=n}async cancel(e){this._abortController.abort(e),this._innerReader.releaseLock()}get signal(){return this._abortController.signal}},Nn=class extends oc{get closed(){return this._closed}constructor(e){let t,n=new Promise(s=>{t=s});super({start:s=>{t(s)}}),Object.defineProperty(this,"modes",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"controller",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"passthroughFn",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_closed",{enumerable:!0,configurable:!0,writable:!0,value:!1}),n.then(s=>{this.controller=s}),this.passthroughFn=e.passthroughFn,this.modes=e.modes}push(e){this.passthroughFn?.(e),this.controller.enqueue(e)}close(){try{this.controller.close()}catch{}finally{this._closed=!0}}error(e){this.controller.error(e)}};var ka=Symbol.for("INPUT_DONE"),pl=Symbol.for("INPUT_RESUMING"),fy=25;function py(...r){return new Nn({passthroughFn:e=>{for(let t of r)t.modes.has(e[1])&&t.push(e)},modes:new Set(r.flatMap(e=>Array.from(e.modes)))})}var dl=class extends ms{constructor(e){super(),Object.defineProperty(this,"cache",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"queue",{enumerable:!0,configurable:!0,writable:!0,value:Promise.resolve()}),this.cache=e}async get(e){return this.enqueueOperation("get",e)}async set(e){return this.enqueueOperation("set",e)}async clear(e){return this.enqueueOperation("clear",e)}async stop(){await this.queue}enqueueOperation(e,...t){let n=this.queue.then(()=>this.cache[e](...t));return this.queue=n.then(()=>{},()=>{}),n}},Aa=class r{get isResuming(){let e=!1;if(G in this.checkpoint.channel_versions)e=!0;else for(let c in this.checkpoint.channel_versions)if(Object.prototype.hasOwnProperty.call(this.checkpoint.channel_versions,c)){e=!0;break}let n=this.config.configurable?.[Kt]!==void 0&&this.config.configurable?.[Kt],s=this.input===null||this.input===void 0,i=Te(this.input)&&this.input.resume!=null,a=this.input===pl,o=!this.isNested&&this.config.metadata?.run_id!==void 0&&this.checkpointMetadata?.run_id!==void 0&&this.config.metadata.run_id===this.checkpointMetadata?.run_id;return e&&(n||s||i||a||o)}constructor(e){Object.defineProperty(this,"input",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"output",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"config",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"checkpointer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"checkpointerGetNextVersion",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"channels",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"checkpoint",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"checkpointIdSaved",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"checkpointConfig",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"checkpointMetadata",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"checkpointNamespace",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"checkpointPendingWrites",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"checkpointPreviousVersions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"step",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"stop",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"durability",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"outputKeys",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"streamKeys",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"nodes",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"skipDoneTasks",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"prevCheckpointConfig",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"status",{enumerable:!0,configurable:!0,writable:!0,value:"pending"}),Object.defineProperty(this,"tasks",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"stream",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"checkpointerPromises",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"isNested",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_checkpointerChainedPromise",{enumerable:!0,configurable:!0,writable:!0,value:Promise.resolve()}),Object.defineProperty(this,"store",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cache",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"manager",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"interruptAfter",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"interruptBefore",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"toInterrupt",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"debug",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"triggerToNodes",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.input=e.input,this.checkpointer=e.checkpointer,this.checkpointer!==void 0?this.checkpointerGetNextVersion=this.checkpointer.getNextVersion.bind(this.checkpointer):this.checkpointerGetNextVersion=$p,this.checkpoint=e.checkpoint,this.checkpointMetadata=e.checkpointMetadata,this.checkpointPreviousVersions=e.checkpointPreviousVersions,this.channels=e.channels,this.checkpointPendingWrites=e.checkpointPendingWrites,this.step=e.step,this.stop=e.stop,this.config=e.config,this.checkpointConfig=e.checkpointConfig,this.isNested=e.isNested,this.manager=e.manager,this.outputKeys=e.outputKeys,this.streamKeys=e.streamKeys,this.nodes=e.nodes,this.skipDoneTasks=e.skipDoneTasks,this.store=e.store,this.cache=e.cache?new dl(e.cache):void 0,this.stream=e.stream,this.checkpointNamespace=e.checkpointNamespace,this.prevCheckpointConfig=e.prevCheckpointConfig,this.interruptAfter=e.interruptAfter,this.interruptBefore=e.interruptBefore,this.durability=e.durability,this.debug=e.debug,this.triggerToNodes=e.triggerToNodes}static async initialize(e){let{config:t,stream:n}=e;n!==void 0&&t.configurable?.[kn]!==void 0&&(n=py(n,t.configurable[kn]));let s=t.configurable?!("checkpoint_id"in t.configurable):!0,i=t.configurable?.[Ot];t.configurable&&i&&(i.subgraphCounter>0&&(t=Ye(t,{[kt]:[t.configurable[kt],i.subgraphCounter.toString()].join(oe)})),i.subgraphCounter+=1);let a=xt in(t.configurable??{});!a&&t.configurable?.checkpoint_ns!==void 0&&t.configurable?.checkpoint_ns!==""&&(t=Ye(t,{checkpoint_ns:"",checkpoint_id:void 0}));let o=t;t.configurable?.[Be]!==void 0&&t.configurable?.[Be]?.[t.configurable?.checkpoint_ns]&&(o=Ye(t,{checkpoint_id:t.configurable[Be][t.configurable?.checkpoint_ns]}));let c=t.configurable?.checkpoint_ns?.split(oe)??[],u=await e.checkpointer?.getTuple(o)??{config:t,checkpoint:fs(),metadata:{source:"input",step:-2,parents:{}},pendingWrites:[]};o={...t,...u.config,configurable:{checkpoint_ns:"",...t.configurable,...u.config.configurable}};let l=u.parentConfig,h=zt(u.checkpoint),p={...u.metadata},f=u.pendingWrites??[],m=br(e.channelSpecs,h),y=(p.step??0)+1,_=y+(t.recursionLimit??fy)+1,k={...h.channel_versions},x=e.store?new ds(e.store):void 0;return x&&await x.start(),new r({input:e.input,config:t,checkpointer:e.checkpointer,checkpoint:h,checkpointMetadata:p,checkpointConfig:o,prevCheckpointConfig:l,checkpointNamespace:c,channels:m,isNested:a,manager:e.manager,skipDoneTasks:s,step:y,stop:_,checkpointPreviousVersions:k,checkpointPendingWrites:f,outputKeys:e.outputKeys??[],streamKeys:e.streamKeys??[],nodes:e.nodes,stream:n,store:x,cache:e.cache,interruptAfter:e.interruptAfter,interruptBefore:e.interruptBefore,durability:e.durability,debug:e.debug,triggerToNodes:e.triggerToNodes})}_checkpointerPutAfterPrevious(e){this._checkpointerChainedPromise=this._checkpointerChainedPromise.then(()=>this.checkpointer?.put(e.config,e.checkpoint,e.metadata,e.newVersions)),this.checkpointerPromises.push(this._checkpointerChainedPromise)}putWrites(e,t){let n=t;if(n.length===0)return;n.every(([a])=>a in Ji)&&(n=Array.from(new Map(n.map(a=>[a[0],a])).values())),this.checkpointPendingWrites=this.checkpointPendingWrites.filter(a=>a[0]!==e);for(let[a,o]of n)this.checkpointPendingWrites.push([e,a,o]);let s=Ye(this.checkpointConfig,{[kt]:this.config.configurable?.checkpoint_ns??"",[sa]:this.checkpoint.id});if(this.durability!=="exit"&&this.checkpointer!=null&&this.checkpointerPromises.push(this.checkpointer.putWrites(s,n,e)),this.tasks&&this._outputWrites(e,n),!t.length||!this.cache||!this.tasks)return;let i=this.tasks[e];i==null||i.cache_key==null||t[0][0]===pe||t[0][0]===W||this.cache.set([{key:[i.cache_key.ns,i.cache_key.key],value:i.writes,ttl:i.cache_key.ttl}])}_outputWrites(e,t,n=!1){let s=this.tasks[e];if(s!==void 0){if(s.config!==void 0&&(s.config.tags??[]).includes(Z))return;if(t.length>0)if(t[0][0]===W){if(s.path?.[0]===$e&&s.path?.at(-1)===!0)return;let i=t.filter(a=>a[0]===W).flatMap(a=>a[1]);this._emit([["updates",{[W]:i}],["values",{[W]:i}]])}else t[0][0]!==pe&&this._emit(Fr(nr(Tp(this.outputKeys,[[s,t]],n),"updates")));n||this._emit(Fr(nr(Lp([[s,t]],this.streamKeys),"tasks")))}}async _matchCachedWrites(){if(!this.cache)return[];let e=[],t=([a,o])=>`ns:${a.join(",")}|key:${o}`,n=[],s={};for(let a of Object.values(this.tasks))a.cache_key!=null&&!a.writes.length&&(n.push([a.cache_key.ns,a.cache_key.key]),s[t([a.cache_key.ns,a.cache_key.key])]=a);if(n.length===0)return[];let i=await this.cache.get(n);for(let{key:a,value:o}of i){let c=s[t(a)];c!=null&&(c.writes.push(...o),e.push({task:c,result:o}))}return e}async tick(e){this.store&&!this.store.isRunning&&await this.store?.start();let{inputKeys:t=[]}=e;if(this.status!=="pending")throw new Error(`Cannot tick when status is no longer "pending". Current status: "${this.status}"`);if(![ka,pl].includes(this.input))await this._first(t);else{if(this.toInterrupt.length>0)throw this.status="interrupt_before",new fr;if(Object.values(this.tasks).every(i=>i.writes.length>0)){let i=Object.values(this.tasks).flatMap(o=>o.writes);We(this.checkpoint,this.channels,Object.values(this.tasks),this.checkpointerGetNextVersion,this.triggerToNodes);let a=await St(nr(ya(this.outputKeys,i,this.channels),"values"));if(this._emit(a),this.checkpointPendingWrites=[],await this._putCheckpoint({source:"loop"}),xs(this.checkpoint,this.interruptAfter,Object.values(this.tasks)))throw this.status="interrupt_after",new fr;this.config.configurable?.[Kt]!==void 0&&delete this.config.configurable?.[Kt]}else return!1}if(this.step>this.stop)return this.status="out_of_steps",!1;let n=vr(this.checkpoint,this.checkpointPendingWrites,this.nodes,this.channels,this.config,!0,{step:this.step,checkpointer:this.checkpointer,isResuming:this.isResuming,manager:this.manager,store:this.store,stream:this.stream});if(this.tasks=n,this.checkpointer&&this._emit(await St(nr(Up(this.checkpointConfig,this.channels,this.streamKeys,this.checkpointMetadata,Object.values(this.tasks),this.checkpointPendingWrites,this.prevCheckpointConfig,this.outputKeys),"checkpoints"))),Object.values(this.tasks).length===0)return this.status="done",!1;if(this.skipDoneTasks&&this.checkpointPendingWrites.length>0){for(let[i,a,o]of this.checkpointPendingWrites){if(a===pe||a===W||a===je)continue;let c=Object.values(this.tasks).find(u=>u.id===i);c&&c.writes.push([a,o])}for(let i of Object.values(this.tasks))i.writes.length>0&&this._outputWrites(i.id,i.writes,!0)}if(Object.values(this.tasks).every(i=>i.writes.length>0))return this.tick({inputKeys:t});if(xs(this.checkpoint,this.interruptBefore,Object.values(this.tasks)))throw this.status="interrupt_before",new fr;let s=await St(nr(hl(Object.values(this.tasks)),"tasks"));return this._emit(s),!0}async finishAndHandleError(e){this.durability==="exit"&&(!this.isNested||typeof e<"u"||this.checkpointNamespace.every(n=>!n.includes(ze)))&&(this._putCheckpoint(this.checkpointMetadata),this._flushPendingWrites());let t=this._suppressInterrupt(e);return(t||e===void 0)&&(this.output=Et(this.channels,this.outputKeys)),t&&(this.tasks!==void 0&&this.checkpointPendingWrites.length>0&&Object.values(this.tasks).some(n=>n.writes.length>0)&&(We(this.checkpoint,this.channels,Object.values(this.tasks),this.checkpointerGetNextVersion,this.triggerToNodes),this._emit(Fr(nr(ya(this.outputKeys,Object.values(this.tasks).flatMap(n=>n.writes),this.channels),"values")))),pr(e)&&!e.interrupts.length&&this._emit([["updates",{[W]:[]}],["values",{[W]:[]}]])),t}async acceptPush(e,t,n){if(this.interruptAfter?.length>0&&xs(this.checkpoint,this.interruptAfter,[e])){this.toInterrupt.push(e);return}let s=va([$e,e.path??[],t,e.id,n],this.checkpoint,this.checkpointPendingWrites,this.nodes,this.channels,e.config??{},!0,{step:this.step,checkpointer:this.checkpointer,manager:this.manager,store:this.store,stream:this.stream});if(!s)return;if(this.interruptBefore?.length>0&&xs(this.checkpoint,this.interruptBefore,[s])){this.toInterrupt.push(s);return}this._emit(Fr(nr(hl([s]),"tasks"))),this.debug&&Oa(this.step,[s]),this.tasks[s.id]=s,this.skipDoneTasks&&this._matchWrites({[s.id]:s});let i=await this._matchCachedWrites();for(let{task:a}of i)this._outputWrites(a.id,a.writes,!0);return s}_suppressInterrupt(e){return pr(e)&&!this.isNested}async _first(e){let{configurable:t}=this.config,n=t?.[Ot];if(n&&n.nullResume!==void 0&&this.putWrites(De,[[je,n.nullResume]]),Te(this.input)){let a=this.input.resume!=null;if(this.input.resume!=null&&typeof this.input.resume=="object"&&Object.keys(this.input.resume).every(ga)&&(this.config.configurable??={},this.config.configurable[An]=this.input.resume),a&&this.checkpointer==null)throw new Error("Cannot use Command(resume=...) without checkpointer");let o={};for(let[c,u,l]of Pp(this.input,this.checkpointPendingWrites))o[c]??=[],o[c].push([u,l]);if(Object.keys(o).length===0)throw new ss("Received empty Command input");for(let[c,u]of Object.entries(o))this.putWrites(c,u)}let s=(this.checkpointPendingWrites??[]).filter(a=>a[0]===De).map(a=>a.slice(1));s.length>0&&We(this.checkpoint,this.channels,[{name:vt,writes:s,triggers:[]}],this.checkpointerGetNextVersion,this.triggerToNodes);let i=Te(this.input)&&s.length>0;if(this.isResuming||i){for(let o in this.channels)if(Object.prototype.hasOwnProperty.call(this.channels,o)&&this.checkpoint.channel_versions[o]!==void 0){let c=this.checkpoint.channel_versions[o];this.checkpoint.versions_seen[W]={...this.checkpoint.versions_seen[W],[o]:c}}let a=await St(nr(ya(this.outputKeys,!0,this.channels),"values"));this._emit(a)}if(this.isResuming)this.input=pl;else if(i)await this._putCheckpoint({source:"input"}),this.input=ka;else{let a=await St(ba(e,this.input));if(a.length>0){let o=vr(this.checkpoint,this.checkpointPendingWrites,this.nodes,this.channels,this.config,!0,{step:this.step});We(this.checkpoint,this.channels,Object.values(o).concat([{name:vt,writes:a,triggers:[]}]),this.checkpointerGetNextVersion,this.triggerToNodes),await this._putCheckpoint({source:"input"}),this.input=ka}else if(Kt in(this.config.configurable??{}))this.input=ka;else throw new ss(`Received no input writes for ${JSON.stringify(e,null,2)}`)}this.isNested||(this.config=Ye(this.config,{[Kt]:this.isResuming}))}_emit(e){for(let[t,n]of e)if(this.stream.modes.has(t)&&this.stream.push([this.checkpointNamespace,t,n]),(t==="checkpoints"||t==="tasks")&&this.stream.modes.has("debug")){let s=t==="checkpoints"?this.step-1:this.step,i=new Date().toISOString(),a=t==="checkpoints"?"checkpoint":typeof n=="object"&&n!=null&&"result"in n?"task_result":"task";this.stream.push([this.checkpointNamespace,"debug",{step:s,type:a,timestamp:i,payload:n}])}}_putCheckpoint(e){let t=this.checkpointMetadata===e,n=this.checkpointer!=null&&(this.durability!=="exit"||t),s=i=>{this.prevCheckpointConfig=this.checkpointConfig?.configurable?.checkpoint_id?this.checkpointConfig:void 0,this.checkpointConfig=Ye(this.checkpointConfig,{[kt]:this.config.configurable?.checkpoint_ns??""});let a={...this.checkpoint.channel_versions},o=Cn(this.checkpointPreviousVersions,a);this.checkpointPreviousVersions=a,this._checkpointerPutAfterPrevious({config:{...this.checkpointConfig},checkpoint:zt(i),metadata:{...this.checkpointMetadata},newVersions:o}),this.checkpointConfig={...this.checkpointConfig,configurable:{...this.checkpointConfig.configurable,checkpoint_id:this.checkpoint.id}}};t||(this.checkpointMetadata={...e,step:this.step,parents:this.config.configurable?.[Be]??{}}),this.checkpoint=wt(this.checkpoint,n?this.channels:void 0,this.step,t?{id:this.checkpoint.id}:void 0),n&&s(this.checkpoint),t||(this.step+=1)}_flushPendingWrites(){if(this.checkpointer==null||this.checkpointPendingWrites.length===0)return;let e=Ye(this.checkpointConfig,{[kt]:this.config.configurable?.checkpoint_ns??"",[sa]:this.checkpoint.id}),t={};for(let[n,s,i]of this.checkpointPendingWrites)t[n]??=[],t[n].push([s,i]);for(let[n,s]of Object.entries(t))this.checkpointerPromises.push(this.checkpointer.putWrites(e,s,n))}_matchWrites(e){for(let[t,n,s]of this.checkpointPendingWrites){if(n===pe||n===W||n===je)continue;let i=Object.values(e).find(a=>a.id===t);i&&i.writes.push([n,s])}for(let t of Object.values(e))t.writes.length>0&&this._outputWrites(t.id,t.writes,!0)}};function dy(r){return ye(r?.message)}var Sa=class extends Xh{constructor(e){super(),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"StreamMessagesHandler"}),Object.defineProperty(this,"streamFn",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metadatas",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"seen",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"emittedChatModelRunIds",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"stableMessageIdMap",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"lc_prefer_streaming",{enumerable:!0,configurable:!0,writable:!0,value:!0}),this.streamFn=e}_emit(e,t,n,s=!1){if(s&&t.id!==void 0&&this.seen[t.id]!==void 0)return;let i=t.id;n!=null&&(ai(t)?i??=`run-${n}-tool-${t.tool_call_id}`:((i==null||i===`run-${n}`)&&(i=this.stableMessageIdMap[n]??i??`run-${n}`),this.stableMessageIdMap[n]??=i)),i!==t.id&&(t.id=i,t.lc_kwargs.id=i),t.id!=null&&(this.seen[t.id]=t),this.streamFn([e[0],"messages",[t,e[1]]])}handleChatModelStart(e,t,n,s,i,a,o,c){o&&(!a||!a.includes(pp)&&!a.includes("nostream"))&&(this.metadatas[n]=[o.langgraph_checkpoint_ns.split("|"),{tags:a,name:c,...o}])}handleLLMNewToken(e,t,n,s,i,a){let o=a?.chunk;this.emittedChatModelRunIds[n]=!0,this.metadatas[n]!==void 0&&(dy(o)?this._emit(this.metadatas[n],o.message,n):this._emit(this.metadatas[n],new Rt({content:e}),n))}handleLLMEnd(e,t){if(this.metadatas[t]!==void 0){if(!this.emittedChatModelRunIds[t]){let n=e.generations?.[0]?.[0];ye(n?.message)&&this._emit(this.metadatas[t],n?.message,t,!0),delete this.emittedChatModelRunIds[t]}delete this.metadatas[t],delete this.stableMessageIdMap[t]}}handleLLMError(e,t){delete this.metadatas[t]}handleChainStart(e,t,n,s,i,a,o,c){if(a!==void 0&&c===a.langgraph_node&&(i===void 0||!i.includes(Z))&&(this.metadatas[n]=[a.langgraph_checkpoint_ns.split("|"),{tags:i,name:c,...a}],typeof t=="object")){for(let u of Object.values(t))if((ye(u)||Xn(u))&&u.id!==void 0)this.seen[u.id]=u;else if(Array.isArray(u))for(let l of u)(ye(l)||Xn(l))&&l.id!==void 0&&(this.seen[l.id]=l)}}handleChainEnd(e,t){let n=this.metadatas[t];if(delete this.metadatas[t],n!==void 0){if(ye(e))this._emit(n,e,t,!0);else if(Array.isArray(e))for(let s of e)ye(s)&&this._emit(n,s,t,!0);else if(e!=null&&typeof e=="object"){for(let s of Object.values(e))if(ye(s))this._emit(n,s,t,!0);else if(Array.isArray(s))for(let i of s)ye(i)&&this._emit(n,i,t,!0)}}}handleChainError(e,t){delete this.metadatas[t]}};var my=500,gy=2,by=128e3,yy=3,_y=[400,401,402,403,404,405,406,407,409],wy=r=>{if(r.message.startsWith("Cancel")||r.message.startsWith("AbortError")||r.name==="AbortError"||r.name==="GraphValueError"||r?.code==="ECONNABORTED")return!1;let e=r?.response?.status??r?.status;return!(e&&_y.includes(+e)||r?.error?.code==="insufficient_quota")};async function ml(r,e,t,n){let s=r.retry_policy??e,i=s!==void 0?s.initialInterval??my:0,a=0,o,c,{config:u}=r;for(t&&(u=Ye(u,t)),u={...u,signal:n};!n?.aborted;){r.writes.splice(0,r.writes.length),o=void 0;try{c=await r.proc.invoke(r.input,u);break}catch(l){if(o=l,o.pregelTaskId=r.id,Ef(o)){let m=u?.configurable?.checkpoint_ns,y=o.command;if(y.graph===m){for(let _ of r.writers)await _.invoke(y,u);o=void 0;break}else if(y.graph===Pe.PARENT){let _=gp(m);o.command=new Pe({...o.command,graph:_})}}if(hn(o)||s===void 0||(a+=1,a>=(s.maxAttempts??yy))||!(s.retryOn??wy)(o))break;i=Math.min(s.maxInterval??by,i*(s.backoffFactor??gy));let p=s.jitter?Math.floor(i+Math.random()*1e3):i;await new Promise(m=>setTimeout(m,p));let f=o.name??o.constructor.unminifiable_name??o.constructor.name;(s?.logWarning??!0)&&console.log(`Retrying task "${String(r.name)}" after ${i.toFixed(2)}ms (attempt ${a}) after ${f}: ${o}`),u=Ye(u,{[Kt]:!0})}}return{task:r,result:c,error:o,signalAborted:n?.aborted}}var gl=Symbol.for("promiseAdded");function vy(){let r={next:()=>{},wait:Promise.resolve(gl)};function e(t){r.next=()=>{r.wait=new Promise(e),t(gl)}}return r.wait=new Promise(e),r}var Ea=class{constructor({loop:e,nodeFinished:t}){Object.defineProperty(this,"nodeFinished",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"loop",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.loop=e,this.nodeFinished=t}async tick(e={}){let{timeout:t,retryPolicy:n,onStepWrite:s,maxConcurrency:i}=e,a=new Set,o,c=new AbortController,u=c.signal,l=t?AbortSignal.timeout(t):void 0,h=Object.values(this.loop.tasks).filter(y=>y.writes.length===0),{signals:p,disposeCombinedSignal:f}=this._initializeAbortSignals({exceptionSignal:u,stepTimeoutSignal:l,signal:e.signal}),m=this._executeTasksWithRetry(h,{signals:p,retryPolicy:n,maxConcurrency:i});for await(let{task:y,error:_,signalAborted:k}of m)this._commit(y,_),pr(_)||hn(_)&&!pr(o)?o=_:_&&(a.size===0||!k)&&(c.abort(),a.add(_));if(f?.(),s?.(this.loop.step,Object.values(this.loop.tasks).map(y=>y.writes).flat()),a.size===1)throw Array.from(a)[0];if(a.size>1)throw new AggregateError(Array.from(a),`Multiple errors occurred during superstep ${this.loop.step}. See the "errors" field of this exception for more details.`);if(pr(o)||hn(o)&&this.loop.isNested)throw o}_initializeAbortSignals({exceptionSignal:e,stepTimeoutSignal:t,signal:n}){let s=this.loop.config.configurable?.[tl]??{},i=s.externalAbortSignal??n,a=t??s.timeoutAbortSignal,{signal:o,dispose:c}=In(i,a,e),u={externalAbortSignal:i,timeoutAbortSignal:a,composedAbortSignal:o};return this.loop.config=Ye(this.loop.config,{[tl]:u}),{signals:u,disposeCombinedSignal:c}}async*_executeTasksWithRetry(e,t){let{retryPolicy:n,maxConcurrency:s,signals:i}=t??{},a=vy(),o={},c={executingTasksMap:o,barrier:a,retryPolicy:n,scheduleTask:async(f,m,y)=>this.loop.acceptPush(f,m,y)};if(i?.composedAbortSignal?.aborted)throw new Error("Abort");let u=0,l,h=In(i?.externalAbortSignal,i?.timeoutAbortSignal),p=h.signal?new Promise((f,m)=>{l=()=>m(new Error("Abort")),h.signal?.addEventListener("abort",l,{once:!0})}):void 0;for(;(u===0||Object.keys(o).length>0)&&e.length;){for(;Object.values(o).length<(s??e.length)&&u<e.length;u+=1){let m=e[u];o[m.id]=ml(m,n,{[ys]:zp?.bind(c,this,m)},i?.composedAbortSignal).catch(y=>({task:m,error:y,signalAborted:i?.composedAbortSignal?.aborted}))}let f=await Promise.race([...Object.values(o),...p?[p]:[],a.wait]);f!==gl&&(yield f,l!=null&&(h.signal?.removeEventListener("abort",l),h.dispose?.()),delete o[f.task.id])}}_commit(e,t){if(t!==void 0)if(pr(t)){if(t.interrupts.length){let n=t.interrupts.map(i=>[W,i]),s=e.writes.filter(i=>i[0]===je);s.length&&n.push(...s),this.loop.putWrites(e.id,n)}}else hn(t)&&e.writes.length?this.loop.putWrites(e.id,e.writes):this.loop.putWrites(e.id,[[pe,{message:t.message,name:t.name}]]);else this.nodeFinished&&(e.config?.tags==null||!e.config.tags.includes(Z))&&this.nodeFinished(String(e.name)),e.writes.length===0&&e.writes.push([_s,null]),this.loop.putWrites(e.id,e.writes)}};async function zp(r,e,t,n,s,i={}){let a=e.config?.configurable?.[Ot];if(!a)throw new Error(`BUG: No scratchpad found on task ${e.name}__${e.id}`);let o=a.callCounter;a.callCounter+=1;let c=new _a({func:t,name:n,input:s,cache:i.cache,retry:i.retry,callbacks:i.callbacks}),u=await this.scheduleTask(e,o,c);if(!u)return;let l=this.executingTasksMap[u.id];if(l!==void 0)return l;if(u.writes.length>0){let h=u.writes.filter(([f])=>f===At),p=u.writes.filter(([f])=>f===pe);if(h.length>0){if(h.length===1)return Promise.resolve(h[0][1]);throw new Error(`BUG: multiple returns found for task ${u.name}__${u.id}`)}if(p.length>0){if(p.length===1){let f=p[0][1],m=f instanceof Error?f:new Error(String(f));return Promise.reject(m)}throw new Error(`BUG: multiple errors found for task ${u.name}__${u.id}`)}return}else{let h=ml(u,i.retry,{[ys]:zp.bind(this,r,u)});return this.executingTasksMap[u.id]=h,this.barrier.next(),h.then(({result:p,error:f})=>f?Promise.reject(f):p)}}var Pt=class extends Error{constructor(e){super(e),this.name="GraphValidationError"}};function Wp({nodes:r,channels:e,inputChannels:t,outputChannels:n,streamChannels:s,interruptAfterNodes:i,interruptBeforeNodes:a}){if(!e)throw new Pt("Channels not provided");let o=new Set,c=new Set;for(let[u,l]of Object.entries(r)){if(u===W)throw new Pt(`"Node name ${W} is reserved"`);if(l.constructor===et)l.triggers.forEach(h=>o.add(h));else throw new Pt(`Invalid node type ${typeof l}, expected PregelNode`)}for(let u of o)if(!(u in e))throw new Pt(`Subscribed channel '${String(u)}' not in channels`);if(Array.isArray(t)){if(t.every(u=>!o.has(u)))throw new Pt(`None of the input channels ${t} are subscribed to by any node`)}else if(!o.has(t))throw new Pt(`Input channel ${String(t)} is not subscribed to by any node`);Array.isArray(n)?n.forEach(u=>c.add(u)):c.add(n),s&&!Array.isArray(s)?c.add(s):Array.isArray(s)&&s.forEach(u=>c.add(u));for(let u of c)if(!(u in e))throw new Pt(`Output channel '${String(u)}' not in channels`);if(i&&i!=="*"){for(let u of i)if(!(u in r))throw new Pt(`Node ${String(u)} not in nodes`)}if(a&&a!=="*"){for(let u of a)if(!(u in r))throw new Pt(`Node ${String(u)} not in nodes`)}}function bl(r,e){if(Array.isArray(r)){for(let t of r)if(!(t in e))throw new Error(`Key ${String(t)} not found in channels`)}else if(!(r in e))throw new Error(`Key ${String(r)} not found in channels`)}var Pa=class r extends Re{constructor(e){super(),Object.defineProperty(this,"lc_graph_name",{enumerable:!0,configurable:!0,writable:!0,value:"Topic"}),Object.defineProperty(this,"unique",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"accumulate",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"seen",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"values",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.unique=e?.unique??this.unique,this.accumulate=e?.accumulate??this.accumulate,this.seen=new Set,this.values=[]}fromCheckpoint(e){let t=new r({unique:this.unique,accumulate:this.accumulate});return typeof e<"u"&&(t.seen=new Set(e[0]),t.values=e[1]),t}update(e){let t=!1;this.accumulate||(t=this.values.length>0,this.values=[]);let n=e.flat();if(n.length>0)if(this.unique)for(let s of n)this.seen.has(s)||(t=!0,this.seen.add(s),this.values.push(s));else t=!0,this.values.push(...n);return t}get(){if(this.values.length===0)throw new re;return this.values}checkpoint(){return[[...this.seen],this.values]}isAvailable(){return this.values.length!==0}};var Ta=class{static subscribeTo(e,t){let{key:n,tags:s}={key:void 0,tags:void 0,...t??{}};if(Array.isArray(e)&&n!==void 0)throw new Error("Can't specify a key when subscribing to multiple channels");let i;typeof e=="string"?n?i={[n]:e}:i=[e]:i=Object.fromEntries(e.map(o=>[o,o]));let a=Array.isArray(e)?e:[e];return new et({channels:i,triggers:a,tags:s})}static writeTo(e,t){let n=[];for(let s of e)n.push({channel:s,value:Xe,skipNone:!1});for(let[s,i]of Object.entries(t??{}))J.isRunnable(i)||typeof i=="function"?n.push({channel:s,value:Xe,skipNone:!0,mapper:Ne(i)}):n.push({channel:s,value:i,skipNone:!1});return new ae(n)}},yl=class extends J{constructor(){super(...arguments),Object.defineProperty(this,"lc_namespace",{enumerable:!0,configurable:!0,writable:!0,value:["langgraph","pregel"]})}invoke(e,t){throw new Error("Not implemented")}withConfig(e){return super.withConfig(e)}stream(e,t){return super.stream(e,t)}},Rn=class extends yl{static lc_name(){return"LangGraph"}constructor(e){super(e),Object.defineProperty(this,"lc_namespace",{enumerable:!0,configurable:!0,writable:!0,value:["langgraph","pregel"]}),Object.defineProperty(this,"lg_is_pregel",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"nodes",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"channels",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"inputChannels",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"outputChannels",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"autoValidate",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"streamMode",{enumerable:!0,configurable:!0,writable:!0,value:["values"]}),Object.defineProperty(this,"streamChannels",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"interruptAfter",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"interruptBefore",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"stepTimeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"debug",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"checkpointer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"retryPolicy",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"config",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"store",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"triggerToNodes",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"cache",{enumerable:!0,configurable:!0,writable:!0,value:void 0});let{streamMode:t}=e;if(t!=null&&!Array.isArray(t)&&(t=[t]),this.nodes=e.nodes,this.channels=e.channels,Me in this.channels&&"lc_graph_name"in this.channels[Me]&&this.channels[Me].lc_graph_name!=="Topic")throw new Error(`Channel '${Me}' is reserved and cannot be used in the graph.`);this.channels[Me]=new Pa({accumulate:!1}),this.autoValidate=e.autoValidate??this.autoValidate,this.streamMode=t??this.streamMode,this.inputChannels=e.inputChannels,this.outputChannels=e.outputChannels,this.streamChannels=e.streamChannels??this.streamChannels,this.interruptAfter=e.interruptAfter,this.interruptBefore=e.interruptBefore,this.stepTimeout=e.stepTimeout??this.stepTimeout,this.debug=e.debug??this.debug,this.checkpointer=e.checkpointer,this.retryPolicy=e.retryPolicy,this.config=e.config,this.store=e.store,this.cache=e.cache,this.name=e.name,this.autoValidate&&this.validate()}withConfig(e){let t=Fe(this.config,e);return new this.constructor({...this,config:t})}validate(){Wp({nodes:this.nodes,channels:this.channels,outputChannels:this.outputChannels,inputChannels:this.inputChannels,streamChannels:this.streamChannels,interruptAfterNodes:this.interruptAfter,interruptBeforeNodes:this.interruptBefore});for(let[e,t]of Object.entries(this.nodes))for(let n of t.triggers)this.triggerToNodes[n]??=[],this.triggerToNodes[n].push(e);return this}get streamChannelsList(){return Array.isArray(this.streamChannels)?this.streamChannels:this.streamChannels?[this.streamChannels]:Object.keys(this.channels)}get streamChannelsAsIs(){return this.streamChannels?this.streamChannels:Object.keys(this.channels)}async getGraphAsync(e){return this.getGraph(e)}*getSubgraphs(e,t){for(let[n,s]of Object.entries(this.nodes)){if(e!==void 0&&!e.startsWith(n))continue;let i=s.subgraphs?.length?s.subgraphs:[s.bound];for(let a of i){let o=xa(a);if(o!==void 0){if(n===e){yield[n,o];return}if(e===void 0&&(yield[n,o]),t){let c=e;e!==void 0&&(c=e.slice(n.length+1));for(let[u,l]of o.getSubgraphs(c,t))yield[`${n}${oe}${u}`,l]}}}}}async*getSubgraphsAsync(e,t){yield*this.getSubgraphs(e,t)}async _prepareStateSnapshot({config:e,saved:t,subgraphCheckpointer:n,applyPendingWrites:s=!1}){if(t===void 0)return{values:{},next:[],config:e,tasks:[]};let i=br(this.channels,t.checkpoint);if(t.pendingWrites?.length){let p=t.pendingWrites.filter(([f,m])=>f===De).map(([f,m,y])=>[String(m),y]);p.length>0&&We(t.checkpoint,i,[{name:vt,writes:p,triggers:[]}],void 0,this.triggerToNodes)}let a=Object.values(vr(t.checkpoint,t.pendingWrites,this.nodes,i,t.config,!0,{step:(t.metadata?.step??-1)+1,store:this.store})),o=await St(this.getSubgraphsAsync()),c=t.config.configurable?.checkpoint_ns??"",u={};for(let p of a){let f=o.find(([y])=>y===p.name);if(!f)continue;let m=`${String(p.name)}${ze}${p.id}`;if(c&&(m=`${c}${oe}${m}`),n===void 0){let y={configurable:{thread_id:t.config.configurable?.thread_id,checkpoint_ns:m}};u[p.id]=y}else{let y={configurable:{[he]:n,thread_id:t.config.configurable?.thread_id,checkpoint_ns:m}},_=f[1];u[p.id]=await _.getState(y,{subgraphs:!0})}}if(s&&t.pendingWrites?.length){let p=Object.fromEntries(a.map(m=>[m.id,m]));for(let[m,y,_]of t.pendingWrites)[pe,W,fn].includes(y)||m in p&&p[m].writes.push([String(y),_]);let f=a.filter(m=>m.writes.length>0);f.length>0&&We(t.checkpoint,i,f,void 0,this.triggerToNodes)}let l=t?.metadata;l&&t?.config?.configurable?.thread_id&&(l={...l,thread_id:t.config.configurable.thread_id});let h=a.filter(p=>p.writes.length===0).map(p=>p.name);return{values:Et(i,this.streamChannelsAsIs),next:h,tasks:fl(a,t?.pendingWrites??[],u,this.streamChannelsAsIs),metadata:l,config:wr(t.config,t.metadata),createdAt:t.checkpoint.ts,parentConfig:t.parentConfig}}async getState(e,t){let n=e.configurable?.[he]??this.checkpointer;if(!n)throw new ln("No checkpointer set");let s=e.configurable?.checkpoint_ns??"";if(s!==""&&e.configurable?.[he]===void 0){let c=oa(s);for await(let[u,l]of this.getSubgraphsAsync(c,!0))if(u===c)return await l.getState(Br(e,{[he]:n}),{subgraphs:t?.subgraphs});throw new Error(`Subgraph with namespace "${c}" not found.`)}let i=Fe(this.config,e),a=await n.getTuple(e);return await this._prepareStateSnapshot({config:i,saved:a,subgraphCheckpointer:t?.subgraphs?n:void 0,applyPendingWrites:!e.configurable?.checkpoint_id})}async*getStateHistory(e,t){let n=e.configurable?.[he]??this.checkpointer;if(!n)throw new ln("No checkpointer set");let s=e.configurable?.checkpoint_ns??"";if(s!==""&&e.configurable?.[he]===void 0){let a=oa(s);for await(let[o,c]of this.getSubgraphsAsync(a,!0))if(o===a){yield*c.getStateHistory(Br(e,{[he]:n}),t);return}throw new Error(`Subgraph with namespace "${a}" not found.`)}let i=Fe(this.config,e,{configurable:{checkpoint_ns:s}});for await(let a of n.list(i,t))yield this._prepareStateSnapshot({config:a.config,saved:a})}async bulkUpdateState(e,t){let n=e.configurable?.[he]??this.checkpointer;if(!n)throw new ln("No checkpointer set");if(t.length===0)throw new Error("No supersteps provided");if(t.some(o=>o.updates.length===0))throw new Error("No updates provided");let s=e.configurable?.checkpoint_ns??"";if(s!==""&&e.configurable?.[he]===void 0){let o=oa(s);for await(let[,c]of this.getSubgraphsAsync(o,!0))return await c.bulkUpdateState(Br(e,{[he]:n}),t);throw new Error(`Subgraph "${o}" not found`)}let i=async(o,c)=>{let u=this.config?Fe(this.config,o):o,l=await n.getTuple(u),h=l!==void 0?zt(l.checkpoint):fs(),p={...l?.checkpoint.channel_versions},f=l?.metadata?.step??-1,m=Br(u,{checkpoint_ns:u.configurable?.checkpoint_ns??""}),y=u.metadata??{};l?.config.configurable&&(m=Br(u,l.config.configurable),y={...l.metadata,...y});let{values:_,asNode:k}=c[0];if(_==null&&k===void 0){if(c.length>1)throw new q("Cannot create empty checkpoint with multiple updates");let b=await n.put(m,wt(h,void 0,f),{source:"update",step:f+1,parents:l?.metadata?.parents??{}},{});return wr(b,l?l.metadata:void 0)}let x=br(this.channels,h);if(_===null&&k===F){if(c.length>1)throw new q("Cannot apply multiple updates when clearing state");if(l){let N=vr(h,l.pendingWrites||[],this.nodes,x,l.config,!0,{step:(l.metadata?.step??-1)+1,checkpointer:n,store:this.store}),I=(l.pendingWrites||[]).filter(E=>E[0]===De).map(E=>E.slice(1));I.length>0&&We(h,x,[{name:vt,writes:I,triggers:[]}],n.getNextVersion.bind(n),this.triggerToNodes);for(let[E,H,se]of l.pendingWrites||[])[pe,W,fn].includes(H)||E in N&&N[E].writes.push([H,se]);We(h,x,Object.values(N),n.getNextVersion.bind(n),this.triggerToNodes)}let b=await n.put(m,wt(h,x,f),{...y,source:"update",step:f+1,parents:l?.metadata?.parents??{}},Cn(p,h.channel_versions));return wr(b,l?l.metadata:void 0)}if(k===hp){if(c.length>1)throw new q("Cannot copy checkpoint with multiple updates");if(l==null)throw new q("Cannot copy a non-existent checkpoint");let b=E=>!Array.isArray(E)||E.length===0?!1:E.every(H=>Array.isArray(H)&&H.length===2),N=wt(h,void 0,f),I=await n.put(l.parentConfig??Br(l.config,{checkpoint_id:void 0}),N,{source:"fork",step:f+1,parents:l.metadata?.parents??{}},{});if(b(_)){let E=vr(N,l.pendingWrites,this.nodes,x,I,!1,{step:f+2}),H=Object.values(E).reduce((ce,{name:Nt,id:X})=>(ce[Nt]??=[],ce[Nt].push({id:X}),ce),{}),se=_.reduce((ce,Nt)=>{let[X,Sr]=Nt;ce[Sr]??=[];let qn=ce[Sr].length,Jn=H[Sr]?.[qn]?.id;return ce[Sr].push({values:X,asNode:Sr,taskId:Jn}),ce},{});return i(wr(I,l.metadata),Object.values(se).flat())}return wr(I,l.metadata)}if(k===vt){if(c.length>1)throw new q("Cannot apply multiple updates when updating as input");let b=await St(ba(this.inputChannels,_));if(b.length===0)throw new q(`Received no input writes for ${JSON.stringify(this.inputChannels,null,2)}`);We(h,x,[{name:vt,writes:b,triggers:[]}],n.getNextVersion.bind(this.checkpointer),this.triggerToNodes);let N=l?.metadata?.step!=null?l.metadata.step+1:-1,I=await n.put(m,wt(h,x,N),{source:"input",step:N,parents:l?.metadata?.parents??{}},Cn(p,h.channel_versions));return await n.putWrites(I,b,mr(vt,h.id)),wr(I,l?l.metadata:void 0)}if(u.configurable?.checkpoint_id===void 0&&l?.pendingWrites!==void 0&&l.pendingWrites.length>0){let b=vr(h,l.pendingWrites,this.nodes,x,l.config,!0,{store:this.store,checkpointer:this.checkpointer,step:(l.metadata?.step??-1)+1}),N=(l.pendingWrites??[]).filter(E=>E[0]===De).map(E=>E.slice(1));N.length>0&&We(l.checkpoint,x,[{name:vt,writes:N,triggers:[]}],void 0,this.triggerToNodes);for(let[E,H,se]of l.pendingWrites)[pe,W,fn].includes(H)||b[E]===void 0||b[E].writes.push([H,se]);let I=Object.values(b).filter(E=>E.writes.length>0);I.length>0&&We(h,x,I,void 0,this.triggerToNodes)}let A=Object.values(h.versions_seen).map(b=>Object.values(b)).flat().find(b=>!!b),P=[];if(c.length===1){let{values:b,asNode:N,taskId:I}=c[0];if(N===void 0&&Object.keys(this.nodes).length===1)[N]=Object.keys(this.nodes);else if(N===void 0&&A===void 0)typeof this.inputChannels=="string"&&this.nodes[this.inputChannels]!==void 0&&(N=this.inputChannels);else if(N===void 0){let E=Object.entries(h.versions_seen).map(([H,se])=>Object.values(se).map(ce=>[ce,H])).flat().filter(([H,se])=>se!==W).sort(([H],[se])=>qu(H,se));E&&(E.length===1?N=E[0][1]:E[E.length-1][0]!==E[E.length-2][0]&&(N=E[E.length-1][1]))}if(N===void 0)throw new q('Ambiguous update, specify "asNode"');P.push({values:b,asNode:N,taskId:I})}else for(let{asNode:b,values:N,taskId:I}of c){if(b==null)throw new q('"asNode" is required when applying multiple updates');P.push({values:N,asNode:b,taskId:I})}let C=[];for(let{asNode:b,values:N,taskId:I}of P){if(this.nodes[b]===void 0)throw new q(`Node "${b.toString()}" does not exist`);let E=this.nodes[b].getWriters();if(!E.length)throw new q(`No writers found for node "${b.toString()}"`);C.push({name:b,input:N,proc:E.length>1?Qe.from(E,{omitSequenceTags:!0}):E[0],writes:[],triggers:[W],id:I??mr(W,h.id),writers:[]})}for(let b of C)await b.proc.invoke(b.input,fe({...u,store:u?.store??this.store},{runName:u.runName??`${this.getName()}UpdateState`,configurable:{[rr]:N=>b.writes.push(...N),[xt]:(N,I=!1)=>vs(h,x,b,N,I)}}));for(let b of C){let N=b.writes.filter(I=>I[0]!==$e);l!==void 0&&N.length>0&&await n.putWrites(m,N,b.id)}We(h,x,C,n.getNextVersion.bind(this.checkpointer),this.triggerToNodes);let M=Cn(p,h.channel_versions),$=await n.put(m,wt(h,x,f+1),{source:"update",step:f+1,parents:l?.metadata?.parents??{}},M);for(let b of C){let N=b.writes.filter(I=>I[0]===$e);N.length>0&&await n.putWrites($,N,b.id)}return wr($,l?l.metadata:void 0)},a=e;for(let{updates:o}of t)a=await i(a,o);return a}async updateState(e,t,n){return this.bulkUpdateState(e,[{updates:[{values:t,asNode:n}]}])}_defaults(e){let{debug:t,streamMode:n,inputKeys:s,outputKeys:i,interruptAfter:a,interruptBefore:o,...c}=e,u=!0,l=t!==void 0?t:this.debug,h=i;h===void 0?h=this.streamChannelsAsIs:bl(h,this.channels);let p=s;p===void 0?p=this.inputChannels:bl(p,this.channels);let f=o??this.interruptBefore??[],m=a??this.interruptAfter??[],y;n!==void 0?(y=Array.isArray(n)?n:[n],u=typeof n=="string"):(e.configurable?.[Lr]!==void 0?y=["values"]:y=this.streamMode,u=!0);let _;if(this.checkpointer===!1)_=void 0;else if(e!==void 0&&e.configurable?.[he]!==void 0)_=e.configurable[he];else{if(this.checkpointer===!0)throw new Error("checkpointer: true cannot be used for root graphs.");_=this.checkpointer}let k=e.store??this.store,x=e.cache??this.cache;if(e.durability!=null&&e.checkpointDuring!=null)throw new Error("Cannot use both `durability` and `checkpointDuring` at the same time.");let A=(()=>{if(e.checkpointDuring!=null)return e.checkpointDuring===!1?"exit":"async"})(),P=e.durability??A??e?.configurable?.[el]??"async";return[l,y,p,h,c,f,m,_,k,u,x,P]}async stream(e,t){let n=new AbortController,s={recursionLimit:this.config?.recursionLimit,...t,signal:In(t?.signal,n.signal).signal};return new Ss(await super.stream(e,s),n)}streamEvents(e,t,n){let s=new AbortController,i={recursionLimit:this.config?.recursionLimit,...t,callbacks:Np(this.config?.callbacks,t?.callbacks),signal:In(t?.signal,s.signal).signal};return new Ss(super.streamEvents(e,i,n),s)}async _validateInput(e){return e}async _validateContext(e){return e}async*_streamIterator(e,t){let n=t?.subgraphs,s=aa(this.config,t);if(s.recursionLimit===void 0||s.recursionLimit<1)throw new Error('Passed "recursionLimit" must be at least 1.');if(this.checkpointer!==void 0&&this.checkpointer!==!1&&s.configurable===void 0)throw new Error('Checkpointer requires one or more of the following "configurable" keys: "thread_id", "checkpoint_ns", "checkpoint_id"');let i=await this._validateInput(e),{runId:a,...o}=s,[c,u,,l,h,p,f,m,y,_,k,x]=this._defaults(o);typeof h.context<"u"?h.context=await this._validateContext(h.context):h.configurable=await this._validateContext(h.configurable);let A=new Nn({modes:new Set(u)});if(this.checkpointer===!0){h.configurable??={};let E=h.configurable[kt]??"";h.configurable[kt]=E.split(oe).map(H=>H.split(ze)[0]).join(oe)}if(u.includes("messages")){let E=new Sa(se=>A.push(se)),{callbacks:H}=h;if(H===void 0)h.callbacks=[E];else if(Array.isArray(H))h.callbacks=H.concat(E);else{let se=H.copy();se.addHandler(E,!0),h.callbacks=se}}u.includes("custom")&&(h.writer=E=>{let H=mp()?.configurable?.[kt]?.split(oe).slice(0,-1);A.push([H??[],"custom",E])});let C=await(await lr(h))?.handleChainStart(this.toJSON(),Ip(e,"input"),a,void 0,void 0,void 0,h?.runName??this.getName()),M=gs(this.channels),$,b,I=(async()=>{try{$=await Aa.initialize({input:i,config:h,checkpointer:m,nodes:this.nodes,channelSpecs:M,outputKeys:l,streamKeys:this.streamChannelsAsIs,store:y,cache:k,stream:A,interruptAfter:f,interruptBefore:p,manager:C,debug:this.debug,triggerToNodes:this.triggerToNodes,durability:x});let E=new Ea({loop:$,nodeFinished:h.configurable?.[fp]});t?.subgraphs&&($.config.configurable={...$.config.configurable,[kn]:$.stream}),await this._runLoop({loop:$,runner:E,debug:c,config:h}),x==="sync"&&await Promise.all($?.checkpointerPromises??[])}catch(E){b=E}finally{try{$&&(await $.store?.stop(),await $.cache?.stop()),await Promise.all($?.checkpointerPromises??[])}catch(E){b=b??E}b?A.error(b):A.close()}})();try{for await(let E of A){if(E===void 0)throw new Error("Data structure error.");let[H,se,ce]=E;u.includes(se)&&(n&&!_?yield[H,se,ce]:_?n?yield[H,ce]:yield ce:yield[se,ce])}}catch(E){throw await C?.handleChainError(b),E}finally{await I}await C?.handleChainEnd($?.output??{},a,void 0,void 0,void 0)}async invoke(e,t){let n=t?.streamMode??"values",s={...t,outputKeys:t?.outputKeys??this.outputChannels,streamMode:n},i=[],a=await this.stream(e,s),o=[],c;for await(let u of a)n==="values"?nl(u)?o.push(u[W]):c=u:i.push(u);if(n==="values"){if(o.length>0){let u=o.flat(1);if(c==null)return{[W]:u};if(typeof c=="object")return{...c,[W]:u}}return c}return i}async _runLoop(e){let{loop:t,runner:n,debug:s,config:i}=e,a;try{for(;await t.tick({inputKeys:this.inputChannels});){for(let{task:o}of await t._matchCachedWrites())t._outputWrites(o.id,o.writes,!0);s&&Fp(t.checkpointMetadata.step,t.channels,this.streamChannelsList),s&&Oa(t.step,Object.values(t.tasks)),await n.tick({timeout:this.stepTimeout,retryPolicy:this.retryPolicy,onStepWrite:(o,c)=>{s&&Bp(o,c,this.streamChannelsList)},maxConcurrency:i.maxConcurrency,signal:i.signal})}if(t.status==="out_of_steps")throw new di([`Recursion limit of ${i.recursionLimit} reached`,"without hitting a stop condition. You can increase the",'limit by setting the "recursionLimit" config key.'].join(" "),{lc_error_code:"GRAPH_RECURSION_LIMIT"})}catch(o){if(a=o,!await t.finishAndHandleError(a))throw o}finally{a===void 0&&await t.finishAndHandleError()}}async clearCache(){await this.cache?.clear([])}};var pt=class r extends Re{constructor(e=!0){super(),Object.defineProperty(this,"lc_graph_name",{enumerable:!0,configurable:!0,writable:!0,value:"EphemeralValue"}),Object.defineProperty(this,"guard",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"value",{enumerable:!0,configurable:!0,writable:!0,value:[]}),this.guard=e}fromCheckpoint(e){let t=new r(this.guard);return typeof e<"u"&&(t.value=[e]),t}update(e){if(e.length===0){let t=this.value.length>0;return this.value=[],t}if(e.length!==1&&this.guard)throw new q("EphemeralValue can only receive one value per step.");return this.value=[e[e.length-1]],!0}get(){if(this.value.length===0)throw new re;return this.value[0]}checkpoint(){if(this.value.length===0)throw new re;return this.value[0]}isAvailable(){return this.value.length!==0}};var Es=class{constructor(e){Object.defineProperty(this,"path",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"ends",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),J.isRunnable(e.path)?this.path=e.path:this.path=Ne(e.path).withConfig({runName:"Branch"}),this.ends=Array.isArray(e.pathMap)?e.pathMap.reduce((t,n)=>(t[n]=n,t),{}):e.pathMap}run(e,t){return ae.registerWriter(new xe({name:"<branch_run>",trace:!1,func:async(n,s)=>{try{return await this._route(n,s,e,t)}catch(i){throw i.name===rs.unminifiable_name&&console.warn(`[WARN]: 'NodeInterrupt' thrown in conditional edge. This is likely a bug in your graph implementation.
|
|
89
|
-
NodeInterrupt should only be thrown inside a node, not in edge conditions.`),i}}}))}async _route(e,t,n,s){let i=await this.path.invoke(s?s(t):e,t);Array.isArray(i)||(i=[i]);let a;if(this.ends?a=i.map(c=>ve(c)?c:this.ends[c]):a=i,a.some(c=>!c))throw new Error("Branch condition returned unknown or null destination");if(a.filter(ve).some(c=>c.node===F))throw new q("Cannot send a packet to the END node");return await n(a,t)??e}},jn=class{constructor(){Object.defineProperty(this,"nodes",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"edges",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"branches",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"entryPoint",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"compiled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),this.nodes={},this.edges=new Set,this.branches={}}warnIfCompiled(e){this.compiled&&console.warn(e)}get allEdges(){return this.edges}addNode(...e){function t(s){return s.length>=1&&typeof s[0]!="string"}let n=t(e)?Array.isArray(e[0])?e[0]:Object.entries(e[0]):[[e[0],e[1],e[2]]];if(n.length===0)throw new Error("No nodes provided in `addNode`");for(let[s,i,a]of n){for(let c of[oe,ze])if(s.includes(c))throw new Error(`"${c}" is a reserved character and is not allowed in node names.`);if(this.warnIfCompiled("Adding a node to a graph that has already been compiled. This will not be reflected in the compiled graph."),s in this.nodes)throw new Error(`Node \`${s}\` already present.`);if(s===F)throw new Error(`Node \`${s}\` is reserved.`);let o=Ne(i);this.nodes[s]={runnable:o,metadata:a?.metadata,subgraphs:Os(o)?[o]:a?.subgraphs,ends:a?.ends}}return this}addEdge(e,t){if(this.warnIfCompiled("Adding an edge to a graph that has already been compiled. This will not be reflected in the compiled graph."),e===F)throw new Error("END cannot be a start node");if(t===G)throw new Error("START cannot be an end node");if(Array.from(this.edges).some(([n])=>n===e)&&!("channels"in this))throw new Error(`Already found path for ${e}. For multiple edges, use StateGraph.`);return this.edges.add([e,t]),this}addConditionalEdges(e,t,n){let s=typeof e=="object"?e:{source:e,path:t,pathMap:n};if(this.warnIfCompiled("Adding an edge to a graph that has already been compiled. This will not be reflected in the compiled graph."),!J.isRunnable(s.path)){let a=Array.isArray(s.pathMap)?s.pathMap.join(","):Object.keys(s.pathMap??{}).join(",");s.path=Ne(s.path).withConfig({runName:`Branch<${s.source}${a!==""?`,${a}`:""}>`.slice(0,63)})}let i=s.path.getName()==="RunnableLambda"?"condition":s.path.getName();if(this.branches[s.source]&&this.branches[s.source][i])throw new Error(`Condition \`${i}\` already present for node \`${e}\``);return this.branches[s.source]??={},this.branches[s.source][i]=new Es(s),this}setEntryPoint(e){return this.warnIfCompiled("Setting the entry point of a graph that has already been compiled. This will not be reflected in the compiled graph."),this.addEdge(G,e)}setFinishPoint(e){return this.warnIfCompiled("Setting a finish point of a graph that has already been compiled. This will not be reflected in the compiled graph."),this.addEdge(e,F)}compile({checkpointer:e,interruptBefore:t,interruptAfter:n,name:s}={}){this.validate([...Array.isArray(t)?t:[],...Array.isArray(n)?n:[]]);let i=new Ps({builder:this,checkpointer:e,interruptAfter:n,interruptBefore:t,autoValidate:!1,nodes:{},channels:{[G]:new pt,[F]:new pt},inputChannels:G,outputChannels:F,streamChannels:[],streamMode:"values",name:s});for(let[a,o]of Object.entries(this.nodes))i.attachNode(a,o);for(let[a,o]of this.edges)i.attachEdge(a,o);for(let[a,o]of Object.entries(this.branches))for(let[c,u]of Object.entries(o))i.attachBranch(a,c,u);return i.validate()}validate(e){let t=new Set([...this.allEdges].map(([s,i])=>s));for(let[s]of Object.entries(this.branches))t.add(s);for(let s of t)if(s!==G&&!(s in this.nodes))throw new Error(`Found edge starting at unknown node \`${s}\``);let n=new Set([...this.allEdges].map(([s,i])=>i));for(let[s,i]of Object.entries(this.branches))for(let a of Object.values(i))if(a.ends!=null)for(let o of Object.values(a.ends))n.add(o);else{n.add(F);for(let o of Object.keys(this.nodes))o!==s&&n.add(o)}for(let s of Object.values(this.nodes))for(let i of s.ends??[])n.add(i);for(let s of Object.keys(this.nodes))if(!n.has(s))throw new mi([`Node \`${s}\` is not reachable.`,"","If you are returning Command objects from your node,",'make sure you are passing names of potential destination nodes as an "ends" array','into ".addNode(..., { ends: ["node1", "node2"] })".'].join(`
|
|
90
|
-
`),{lc_error_code:"UNREACHABLE_NODE"});for(let s of n)if(s!==F&&!(s in this.nodes))throw new Error(`Found edge ending at unknown node \`${s}\``);if(e){for(let s of e)if(!(s in this.nodes))throw new Error(`Interrupt node \`${s}\` is not present`)}this.compiled=!0}},Ps=class extends Rn{constructor({builder:e,...t}){super(t),Object.defineProperty(this,"builder",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.builder=e}attachNode(e,t){this.channels[e]=new pt,this.nodes[e]=new et({channels:[],triggers:[],metadata:t.metadata,subgraphs:t.subgraphs,ends:t.ends}).pipe(t.runnable).pipe(new ae([{channel:e,value:Xe}],[Z])),this.streamChannels.push(e)}attachEdge(e,t){if(t===F){if(e===G)throw new Error("Cannot have an edge from START to END");this.nodes[e].writers.push(new ae([{channel:F,value:Xe}],[Z]))}else this.nodes[t].triggers.push(e),this.nodes[t].channels.push(e)}attachBranch(e,t,n){e===G&&!this.nodes[G]&&(this.nodes[G]=Ta.subscribeTo(G,{tags:[Z]})),this.nodes[e].pipe(n.run(i=>{let a=i.map(o=>ve(o)?o:{channel:o===F?F:`branch:${e}:${t}:${o}`,value:Xe});return new ae(a,[Z])}));let s=n.ends?Object.values(n.ends):Object.keys(this.nodes);for(let i of s)if(i!==F){let a=`branch:${e}:${t}:${i}`;this.channels[a]=new pt,this.nodes[i].triggers.push(a),this.nodes[i].channels.push(a)}}async getGraphAsync(e){let t=e?.xray,n=new pc,s={[G]:n.addNode({schema:ie.any()},G)},i={},a={};t&&(a=Object.fromEntries((await St(this.getSubgraphsAsync())).filter(u=>Kp(u[1]))));function o(u,l,h,p=!1){if(l===F&&i[F]===void 0&&(i[F]=n.addNode({schema:ie.any()},F)),s[u]!==void 0){if(i[l]===void 0)throw new Error(`End node ${l} not found!`);return n.addEdge(s[u],i[l],h!==l?h:void 0,p)}}for(let[u,l]of Object.entries(this.builder.nodes)){let h=Le(u),p=l.runnable,f=l.metadata??{};if(this.interruptBefore?.includes(u)&&this.interruptAfter?.includes(u)?f.__interrupt="before,after":this.interruptBefore?.includes(u)?f.__interrupt="before":this.interruptAfter?.includes(u)&&(f.__interrupt="after"),t){let m=typeof t=="number"?t-1:t,y=a[u]!==void 0?await a[u].getGraphAsync({...e,xray:m}):p.getGraph(e);if(y.trimFirstNode(),y.trimLastNode(),Object.keys(y.nodes).length>1){let x=function(P){return P?P.lc_runnable:!1},A=function(P,C){if(P!==void 0&&!Qi(P))return P;if(x(C))try{let M=C.getName();return M=M.startsWith("Runnable")?M.slice(8):M,M}catch{return C.getName()}else return C.name??"UnknownSchema"},[_,k]=n.extend(y,h);if(_===void 0)throw new Error(`Could not extend subgraph "${u}" due to missing entrypoint.`);k!==void 0&&(s[h]={name:A(k.id,k.data),...k}),i[h]={name:A(_.id,_.data),..._}}else{let _=n.addNode(p,h,f);s[h]=_,i[h]=_}}else{let m=n.addNode(p,h,f);s[h]=m,i[h]=m}}let c=[...this.builder.allEdges].sort(([u],[l])=>u<l?-1:l>u?1:0);for(let[u,l]of c)o(Le(u),Le(l));for(let[u,l]of Object.entries(this.builder.branches)){let h={...Object.fromEntries(Object.keys(this.builder.nodes).filter(p=>p!==u).map(p=>[Le(p),Le(p)])),[F]:F};for(let p of Object.values(l)){let f;p.ends!==void 0?f=p.ends:f=h;for(let[m,y]of Object.entries(f))o(Le(u),Le(y),m,!0)}}for(let[u,l]of Object.entries(this.builder.nodes))if(l.ends!==void 0)for(let h of l.ends)o(Le(u),Le(h),void 0,!0);return n}getGraph(e){let t=e?.xray,n=new pc,s={[G]:n.addNode({schema:ie.any()},G)},i={},a={};t&&(a=Object.fromEntries(Fr(this.getSubgraphs()).filter(u=>Kp(u[1]))));function o(u,l,h,p=!1){return l===F&&i[F]===void 0&&(i[F]=n.addNode({schema:ie.any()},F)),n.addEdge(s[u],i[l],h!==l?h:void 0,p)}for(let[u,l]of Object.entries(this.builder.nodes)){let h=Le(u),p=l.runnable,f=l.metadata??{};if(this.interruptBefore?.includes(u)&&this.interruptAfter?.includes(u)?f.__interrupt="before,after":this.interruptBefore?.includes(u)?f.__interrupt="before":this.interruptAfter?.includes(u)&&(f.__interrupt="after"),t){let m=typeof t=="number"?t-1:t,y=a[u]!==void 0?a[u].getGraph({...e,xray:m}):p.getGraph(e);if(y.trimFirstNode(),y.trimLastNode(),Object.keys(y.nodes).length>1){let x=function(P){return P?P.lc_runnable:!1},A=function(P,C){if(P!==void 0&&!Qi(P))return P;if(x(C))try{let M=C.getName();return M=M.startsWith("Runnable")?M.slice(8):M,M}catch{return C.getName()}else return C.name??"UnknownSchema"},[_,k]=n.extend(y,h);if(_===void 0)throw new Error(`Could not extend subgraph "${u}" due to missing entrypoint.`);k!==void 0&&(s[h]={name:A(k.id,k.data),...k}),i[h]={name:A(_.id,_.data),..._}}else{let _=n.addNode(p,h,f);s[h]=_,i[h]=_}}else{let m=n.addNode(p,h,f);s[h]=m,i[h]=m}}let c=[...this.builder.allEdges].sort(([u],[l])=>u<l?-1:l>u?1:0);for(let[u,l]of c)o(Le(u),Le(l));for(let[u,l]of Object.entries(this.builder.branches)){let h={...Object.fromEntries(Object.keys(this.builder.nodes).filter(p=>p!==u).map(p=>[Le(p),Le(p)])),[F]:F};for(let p of Object.values(l)){let f;p.ends!==void 0?f=p.ends:f=h;for(let[m,y]of Object.entries(f))o(Le(u),Le(y),m,!0)}}return n}};function Kp(r){return typeof r.attachNode=="function"&&typeof r.attachEdge=="function"}function Le(r){return r==="subgraph"?`"${r}"`:r}var Vr=(r,e)=>r.size===e.size&&[...r].every(t=>e.has(t)),Ca=class r extends Re{constructor(e){super(),Object.defineProperty(this,"lc_graph_name",{enumerable:!0,configurable:!0,writable:!0,value:"NamedBarrierValue"}),Object.defineProperty(this,"names",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"seen",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.names=e,this.seen=new Set}fromCheckpoint(e){let t=new r(this.names);return typeof e<"u"&&(t.seen=new Set(e)),t}update(e){let t=!1;for(let n of e)if(this.names.has(n))this.seen.has(n)||(this.seen.add(n),t=!0);else throw new q(`Value ${JSON.stringify(n)} not in names ${JSON.stringify(this.names)}`);return t}get(){if(!Vr(this.names,this.seen))throw new re}checkpoint(){return[...this.seen]}consume(){return this.seen&&this.names&&Vr(this.seen,this.names)?(this.seen=new Set,!0):!1}isAvailable(){return!!this.names&&Vr(this.names,this.seen)}},Ia=class r extends Re{constructor(e){super(),Object.defineProperty(this,"lc_graph_name",{enumerable:!0,configurable:!0,writable:!0,value:"NamedBarrierValueAfterFinish"}),Object.defineProperty(this,"names",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"seen",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"finished",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.names=e,this.seen=new Set,this.finished=!1}fromCheckpoint(e){let t=new r(this.names);if(typeof e<"u"){let[n,s]=e;t.seen=new Set(n),t.finished=s}return t}update(e){let t=!1;for(let n of e)if(this.names.has(n)&&!this.seen.has(n))this.seen.add(n),t=!0;else if(!this.names.has(n))throw new q(`Value ${JSON.stringify(n)} not in names ${JSON.stringify(this.names)}`);return t}get(){if(!this.finished||!Vr(this.names,this.seen))throw new re}checkpoint(){return[[...this.seen],this.finished]}consume(){return this.finished&&this.seen&&this.names&&Vr(this.seen,this.names)?(this.seen=new Set,this.finished=!1,!0):!1}finish(){return!this.finished&&this.names&&Vr(this.names,this.seen)?(this.finished=!0,!0):!1}isAvailable(){return this.finished&&!!this.names&&Vr(this.names,this.seen)}};var xy="lg:",_l=class{constructor(){Object.defineProperty(this,"_map",{enumerable:!0,configurable:!0,writable:!0,value:new WeakMap}),Object.defineProperty(this,"_extensionCache",{enumerable:!0,configurable:!0,writable:!0,value:new Map})}get(e){return this._map.get(e)}extend(e,t){let n=this.get(e);this._map.set(e,t(n))}remove(e){return this._map.delete(e),this}has(e){return this._map.has(e)}getChannelsForSchema(e){let t={},n=li(e);for(let[s,i]of Object.entries(n)){let a=this.get(i);a?.reducer?t[s]=new tr(a.reducer.fn,a.default):t[s]=new Wt}return t}getExtendedChannelSchemas(e,t){if(Object.keys(t).length===0)return e;let n=Object.entries(t).filter(([,a])=>a===!0).sort(([a],[o])=>a.localeCompare(o)).map(([a,o])=>`${a}:${o}`).join("|"),s=this._extensionCache.get(n)??new WeakMap;if(s.has(e))return s.get(e);let i=e;if(t.withReducerSchema||t.withJsonSchemaExtrasAsDescription){let a=Object.entries(li(e)).map(([o,c])=>{let u=this.get(c),l=t.withReducerSchema?u?.reducer?.schema??c:c;if(t.withJsonSchemaExtrasAsDescription&&u?.jsonSchemaExtra){let h=Mt(l)??Mt(c),p=JSON.stringify({...u.jsonSchemaExtra,description:h});l=l.describe(`${xy}${p}`)}return[o,l]});i=hc(e,Object.fromEntries(a)),Zn(i)&&(i._def.unknownKeys="strip")}return t.asPartial&&(i=ts(i)),s.set(e,i),this._extensionCache.set(n,s),i}},Ts=new _l;function Vp(r,e){if(e.reducer&&!e.default){let t=fc(r);t!=null&&(e.default=t)}if(e.reducer){let t=Object.assign(r,{lg_reducer_schema:e.reducer?.schema??r});return Ts.extend(t,()=>e),t}else return Ts.extend(r,()=>e),r}var ir="__root__",wl=Symbol.for("langgraph.state.partial"),Gr=class extends jn{constructor(e,t){if(super(),Object.defineProperty(this,"channels",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"waitingEdges",{enumerable:!0,configurable:!0,writable:!0,value:new Set}),Object.defineProperty(this,"_schemaDefinition",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_schemaRuntimeDefinition",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_inputDefinition",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_inputRuntimeDefinition",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_outputDefinition",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_outputRuntimeDefinition",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_schemaDefinitions",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"_metaRegistry",{enumerable:!0,configurable:!0,writable:!0,value:Ts}),Object.defineProperty(this,"_configSchema",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_configRuntimeSchema",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Py(e)){let n=this._metaRegistry.getChannelsForSchema(e.state),s=e.input!=null?this._metaRegistry.getChannelsForSchema(e.input):n,i=e.output!=null?this._metaRegistry.getChannelsForSchema(e.output):n;this._schemaDefinition=n,this._schemaRuntimeDefinition=e.state,this._inputDefinition=s,this._inputRuntimeDefinition=e.input??wl,this._outputDefinition=i,this._outputRuntimeDefinition=e.output??e.state}else if($t(e)){let n=this._metaRegistry.getChannelsForSchema(e);this._schemaDefinition=n,this._schemaRuntimeDefinition=e,this._inputDefinition=n,this._inputRuntimeDefinition=wl,this._outputDefinition=n,this._outputRuntimeDefinition=e}else if(Ey(e))this._schemaDefinition=e.input.spec,this._inputDefinition=e.input.spec,this._outputDefinition=e.output.spec;else if(Sy(e))this._schemaDefinition=e.stateSchema.spec,this._inputDefinition=e.input?.spec??this._schemaDefinition,this._outputDefinition=e.output?.spec??this._schemaDefinition;else if(ky(e)||Gp(e)){let n=Gp(e)?e.spec:e;this._schemaDefinition=n}else if(Ay(e)){let n=Oy(e.channels);this._schemaDefinition=n}else throw new Error("Invalid StateGraph input. Make sure to pass a valid Annotation.Root or Zod schema.");this._inputDefinition??=this._schemaDefinition,this._outputDefinition??=this._schemaDefinition,this._addSchema(this._schemaDefinition),this._addSchema(this._inputDefinition),this._addSchema(this._outputDefinition),$t(t)&&(this._configRuntimeSchema=t)}get allEdges(){return new Set([...this.edges,...Array.from(this.waitingEdges).flatMap(([e,t])=>e.map(n=>[n,t]))])}_addSchema(e){if(!this._schemaDefinitions.has(e)){this._schemaDefinitions.set(e,e);for(let[t,n]of Object.entries(e)){let s;if(typeof n=="function"?s=n():s=n,this.channels[t]!==void 0){if(this.channels[t]!==s&&s.lc_graph_name!=="LastValue")throw new Error(`Channel "${t}" already exists with a different type.`)}else this.channels[t]=s}}}addNode(...e){function t(s){return s.length>=1&&typeof s[0]!="string"}let n=t(e)?Array.isArray(e[0])?e[0]:Object.entries(e[0]).map(([s,i])=>[s,i,i[Symbol.for("langgraph.state.node")]??void 0]):[[e[0],e[1],e[2]]];if(n.length===0)throw new Error("No nodes provided in `addNode`");for(let[s,i,a]of n){if(s in this.channels)throw new Error(`${s} is already being used as a state attribute (a.k.a. a channel), cannot also be used as a node name.`);for(let h of[oe,ze])if(s.includes(h))throw new Error(`"${h}" is a reserved character and is not allowed in node names.`);if(this.warnIfCompiled("Adding a node to a graph that has already been compiled. This will not be reflected in the compiled graph."),s in this.nodes)throw new Error(`Node \`${s}\` already present.`);if(s===F||s===G)throw new Error(`Node \`${s}\` is reserved.`);let o=this._schemaDefinition;a?.input!==void 0&&($t(a.input)?o=this._metaRegistry.getChannelsForSchema(a.input):a.input.spec!==void 0&&(o=a.input.spec)),o!==void 0&&this._addSchema(o);let c;J.isRunnable(i)?c=i:typeof i=="function"?c=new xe({func:i,name:s,trace:!1}):c=Ne(i);let u=a?.cachePolicy;typeof u=="boolean"&&(u=u?{}:void 0);let l={runnable:c,retryPolicy:a?.retryPolicy,cachePolicy:u,metadata:a?.metadata,input:o??this._schemaDefinition,subgraphs:Os(c)?[c]:a?.subgraphs,ends:a?.ends,defer:a?.defer};this.nodes[s]=l}return this}addEdge(e,t){if(typeof e=="string")return super.addEdge(e,t);this.compiled&&console.warn("Adding an edge to a graph that has already been compiled. This will not be reflected in the compiled graph.");for(let n of e){if(n===F)throw new Error("END cannot be a start node");if(!Object.keys(this.nodes).some(s=>s===n))throw new Error(`Need to add a node named "${n}" first`)}if(t===F)throw new Error("END cannot be an end node");if(!Object.keys(this.nodes).some(n=>n===t))throw new Error(`Need to add a node named "${t}" first`);return this.waitingEdges.add([e,t]),this}addSequence(e){let t=Array.isArray(e)?e:Object.entries(e).map(([s,i])=>[s,i,i[Symbol.for("langgraph.state.node")]??void 0]);if(t.length===0)throw new Error("Sequence requires at least one node.");let n;for(let[s,i,a]of t){if(s in this.nodes)throw new Error(`Node names must be unique: node with the name "${s}" already exists.`);let o=s;this.addNode(o,i,a),n!=null&&this.addEdge(n,o),n=o}return this}compile({checkpointer:e,store:t,cache:n,interruptBefore:s,interruptAfter:i,name:a,description:o}={}){this.validate([...Array.isArray(s)?s:[],...Array.isArray(i)?i:[]]);let c=Object.keys(this._schemaDefinitions.get(this._outputDefinition)),u=c.length===1&&c[0]===ir?ir:c,l=Object.keys(this.channels),h=l.length===1&&l[0]===ir?ir:l,p=new Cs({builder:this,checkpointer:e,interruptAfter:i,interruptBefore:s,autoValidate:!1,nodes:{},channels:{...this.channels,[G]:new pt},inputChannels:G,outputChannels:u,streamChannels:h,streamMode:"updates",store:t,cache:n,name:a,description:o});p.attachNode(G);for(let[f,m]of Object.entries(this.nodes))p.attachNode(f,m);p.attachBranch(G,rl,Hp(),{withReader:!1});for(let[f]of Object.entries(this.nodes))p.attachBranch(f,rl,Hp(),{withReader:!1});for(let[f,m]of this.edges)p.attachEdge(f,m);for(let[f,m]of this.waitingEdges)p.attachEdge(f,m);for(let[f,m]of Object.entries(this.branches))for(let[y,_]of Object.entries(m))p.attachBranch(f,y,_);return p.validate()}};function Oy(r){let e={};for(let[t,n]of Object.entries(r))if(t===ir)e[t]=Zi(n);else{let s=t;e[t]=Zi(n)}return e}var Cs=class extends Ps{constructor({description:e,...t}){super(t),Object.defineProperty(this,"description",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_metaRegistry",{enumerable:!0,configurable:!0,writable:!0,value:Ts}),this.description=e}attachNode(e,t){let n;e===G?n=Object.entries(this.builder._schemaDefinitions.get(this.builder._inputDefinition)).map(([c])=>c):n=Object.keys(this.builder.channels);function s(c){if(Te(c))return c.graph===Pe.PARENT?null:c._updateAsTuples();if(Array.isArray(c)&&c.length>0&&c.some(u=>Te(u))){let u=[];for(let l of c)if(Te(l)){if(l.graph===Pe.PARENT)continue;u.push(...l._updateAsTuples())}else u.push([ir,l]);return u}else if(c!=null)return[[ir,c]];return null}let i=e;function a(c){if(c){if(Te(c))return c.graph===Pe.PARENT?null:c._updateAsTuples().filter(([u])=>n.includes(u));if(Array.isArray(c)&&c.length>0&&c.some(Te)){let u=[];for(let l of c)if(Te(l)){if(l.graph===Pe.PARENT)continue;u.push(...l._updateAsTuples().filter(([h])=>n.includes(h)))}else{let h=a(l);h&&u.push(...h??[])}return u}else{if(typeof c=="object"&&!Array.isArray(c))return Object.entries(c).filter(([u])=>n.includes(u));{let u=Array.isArray(c)?"array":typeof c;throw new q(`Expected node "${i.toString()}" to return an object or an array containing at least one Command object, received ${u}`,{lc_error_code:"INVALID_GRAPH_NODE_RETURN_VALUE"})}}}else return null}let o=[{value:Xe,mapper:new xe({func:n.length&&n[0]===ir?s:a,trace:!1,recurse:!1})}];if(e===G)this.nodes[e]=new et({tags:[Z],triggers:[G],channels:[G],writers:[new ae(o,[Z])]});else{let c=t?.input??this.builder._schemaDefinition,u=Object.fromEntries(Object.keys(this.builder._schemaDefinitions.get(c)).map(p=>[p,p])),l=Object.keys(u).length===1&&ir in u,h=`branch:to:${e}`;this.channels[h]=t?.defer?new Xi:new pt(!1),this.nodes[e]=new et({triggers:[h],channels:l?Object.keys(u):u,writers:[new ae(o,[Z])],mapper:l?void 0:p=>Object.fromEntries(Object.entries(p).filter(([f])=>f in u)),bound:t?.runnable,metadata:t?.metadata,retryPolicy:t?.retryPolicy,cachePolicy:t?.cachePolicy,subgraphs:t?.subgraphs,ends:t?.ends})}}attachEdge(e,t){if(t!==F){if(typeof e=="string")this.nodes[e].writers.push(new ae([{channel:`branch:to:${t}`,value:null}],[Z]));else if(Array.isArray(e)){let n=`join:${e.join("+")}:${t}`;this.channels[n]=this.builder.nodes[t].defer?new Ia(new Set(e)):new Ca(new Set(e)),this.nodes[t].triggers.push(n);for(let s of e)this.nodes[s].writers.push(new ae([{channel:n,value:s}],[Z]))}}}attachBranch(e,t,n,s={withReader:!0}){let i=async(a,o)=>{let c=a.filter(l=>l!==F);if(!c.length)return;let u=c.map(l=>ve(l)?l:{channel:l===F?l:`branch:to:${l}`,value:e});await ae.doWrite({...o,tags:(o.tags??[]).concat([Z])},u)};this.nodes[e].writers.push(n.run(i,s.withReader?a=>la.doRead(a,this.streamChannels??this.outputChannels,!0):void 0))}async _validateInput(e){if(e==null)return e;let t=(()=>{let n=this.builder._inputRuntimeDefinition,s=this.builder._schemaRuntimeDefinition,i=a=>{if(a!=null)return this._metaRegistry.getExtendedChannelSchemas(a,{withReducerSchema:!0})};if($t(n))return i(n);if(n===wl)return ts(i(s))})();if(Te(e)){let n=e;return e.update&&t!=null&&(n.update=es(t,e.update)),n}return t!=null?es(t,e):e}async _validateContext(e){let t=this.builder._configRuntimeSchema;return $t(t)&&es(t,e),e}};function ky(r){return typeof r=="object"&&r!==null&&!Array.isArray(r)&&Object.keys(r).length>0&&Object.values(r).every(e=>typeof e=="function"||Xu(e))}function Gp(r){return typeof r=="object"&&r!==null&&"lc_graph_name"in r&&r.lc_graph_name==="AnnotationRoot"}function Ay(r){return typeof r=="object"&&r!==null&&r.channels!==void 0}function Sy(r){return typeof r=="object"&&r!==null&&r.stateSchema!==void 0}function Ey(r){return typeof r=="object"&&r!==null&&r.stateSchema===void 0&&r.input!==void 0&&r.output!==void 0}function Py(r){return!(typeof r!="object"||r==null||!("state"in r)||!$t(r.state)||"input"in r&&!$t(r.input)||"output"in r&&!$t(r.output))}function Ty(r){if(ve(r))return[r];let e=[];Te(r)?e.push(r):Array.isArray(r)&&e.push(...r.filter(Te));let t=[];for(let n of e){if(n.graph===Pe.PARENT)throw new ns(n);ve(n.goto)||typeof n.goto=="string"?t.push(n.goto):Array.isArray(n.goto)&&t.push(...n.goto)}return t}function Hp(){let r=new xe({func:Ty,tags:[Z],trace:!1,recurse:!1,name:"<control_branch>"});return new Es({path:r})}var vl="__remove_all__";function xr(r,e){let t=Array.isArray(r)?r:[r],n=Array.isArray(e)?e:[e],s=t.map(jt),i=n.map(jt);for(let l of s)(l.id===null||l.id===void 0)&&(l.id=ra(),l.lc_kwargs.id=l.id);let a;for(let l=0;l<i.length;l+=1){let h=i[l];(h.id===null||h.id===void 0)&&(h.id=ra(),h.lc_kwargs.id=h.id),h.getType()==="remove"&&h.id===vl&&(a=l)}if(a!=null)return i.slice(a+1);let o=[...s],c=new Map(o.map((l,h)=>[l.id,h])),u=new Set;for(let l of i){let h=c.get(l.id);if(h!==void 0)l.getType()==="remove"?u.add(l.id):(u.delete(l.id),o[h]=l);else{if(l.getType()==="remove")throw new Error(`Attempting to delete a message with an ID that doesn't exist ('${l.id}')`);c.set(l.id,o.length),o.push(l)}}return o.filter(l=>!u.has(l.id))}var qp=function(e,t){let{name:n,checkpointer:s,store:i,cache:a}=typeof e=="string"?{name:e,checkpointer:void 0,store:void 0}:e;if(bp(t)||yp(t))throw new Error("Generators are disallowed as entrypoints. For streaming responses, use config.write.");let o="updates",c=jp(n,t);function u(f){return typeof f=="object"&&f!==null&&"__lg_type"in f&&f.__lg_type==="__pregel_final"}let l=new xe({name:"pluckReturnValue",func:f=>u(f)?f.value:f}),h=new xe({name:"pluckSaveValue",func:f=>u(f)?f.save:f}),p=new et({bound:c,triggers:[G],channels:[G],writers:[new ae([{channel:F,value:Xe,mapper:l},{channel:Ur,value:Xe,mapper:h}],[Z])]});return new Rn({name:n,checkpointer:s,nodes:{[n]:p},channels:{[G]:new pt,[F]:new Wt,[Ur]:new Wt},inputChannels:G,outputChannels:F,streamChannels:F,streamMode:o,store:i,cache:a})};qp.final=function({value:e,save:t}){return{value:e,save:t,__lg_type:"__pregel_final"}};var Ny=ft.Root({messages:ft({reducer:xr,default:()=>[]})}),Jp={reducer:{fn:xr},jsonSchemaExtra:{langgraph_type:"messages"},default:()=>[]},Ry=ie.object({messages:Vp(ie.custom(),Jp)});async function xl(r,e,t){if(t===void 0)throw new Error(["Unable to dispatch a custom event without a parent run id.",'"dispatchCustomEvent" can only be called from within an existing run (e.g.,',"inside a tool or a RunnableLambda).",`
|
|
91
|
-
|
|
92
|
-
If you continue to see this error, please import from "@langchain/core/callbacks/dispatch/web"`,"and explicitly pass in a config parameter.",`
|
|
93
|
-
|
|
94
|
-
Or, if you are calling this from a custom tool, ensure you're using the "tool" helper constructor as documented here:`,`
|
|
95
|
-
|`,`
|
|
96
|
-
\u2514-> https://js.langchain.com/docs/how_to/custom_tools#tool-function`,`
|
|
97
|
-
`].join(" "));let n=await lr(t),s=n?.getParentRunId();n!==void 0&&s!==void 0&&await n.handleCustomEvent?.(r,e,s)}function Na(r,e){if(r.function===void 0)return;let t;if(e?.partial)try{t=ii(r.function.arguments??"{}")}catch{return}else try{t=JSON.parse(r.function.arguments)}catch(s){throw new Je([`Function "${r.function.name}" arguments:`,"",r.function.arguments,"","are not valid JSON.",`Error: ${s.message}`].join(`
|
|
98
|
-
`))}let n={name:r.function.name,args:t,type:"tool_call"};return e?.returnId&&(n.id=r.id),n}function Xp(r){if(r.id===void 0)throw new Error('All OpenAI tool calls must have an "id" field.');return{id:r.id,type:"function",function:{name:r.name,arguments:JSON.stringify(r.args)}}}function Ra(r,e){return{name:r.function?.name,args:r.function?.arguments,id:r.id,error:e,type:"invalid_tool_call"}}var Ol=class extends er{static lc_name(){return"JsonOutputToolsParser"}constructor(e){super(e),Object.defineProperty(this,"returnId",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"lc_namespace",{enumerable:!0,configurable:!0,writable:!0,value:["langchain","output_parsers","openai_tools"]}),Object.defineProperty(this,"lc_serializable",{enumerable:!0,configurable:!0,writable:!0,value:!0}),this.returnId=e?.returnId??this.returnId}_diff(){throw new Error("Not supported.")}async parse(){throw new Error("Not implemented.")}async parseResult(e){return await this.parsePartialResult(e,!1)}async parsePartialResult(e,t=!0){let n=e[0].message,s;if(Yt(n)&&n.tool_calls?.length?s=n.tool_calls.map(a=>{let{id:o,...c}=a;return this.returnId?{id:o,...c}:c}):n.additional_kwargs.tool_calls!==void 0&&(s=JSON.parse(JSON.stringify(n.additional_kwargs.tool_calls)).map(o=>Na(o,{returnId:this.returnId,partial:t}))),!s)return[];let i=[];for(let a of s)if(a!==void 0){let o={type:a.name,args:a.args,id:a.id};i.push(o)}return i}},Is=class extends Ol{static lc_name(){return"JsonOutputKeyToolsParser"}constructor(e){super(e),Object.defineProperty(this,"lc_namespace",{enumerable:!0,configurable:!0,writable:!0,value:["langchain","output_parsers","openai_tools"]}),Object.defineProperty(this,"lc_serializable",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"returnId",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"keyName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"returnSingle",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"zodSchema",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.keyName=e.keyName,this.returnSingle=e.returnSingle??this.returnSingle,this.zodSchema=e.zodSchema}async _validateResult(e){if(this.zodSchema===void 0)return e;let t=await uc(this.zodSchema,e);if(t.success)return t.data;throw new Je(`Failed to parse. Text: "${JSON.stringify(e,null,2)}". Error: ${JSON.stringify(t.error?.issues)}`,JSON.stringify(e,null,2))}async parsePartialResult(e){let n=(await super.parsePartialResult(e)).filter(i=>i.type===this.keyName),s=n;if(n.length)return this.returnId||(s=n.map(i=>i.args)),this.returnSingle?s[0]:s}async parseResult(e){let n=(await super.parsePartialResult(e,!1)).filter(a=>a.type===this.keyName),s=n;return n.length?(this.returnId||(s=n.map(a=>a.args)),this.returnSingle?this._validateResult(s[0]):await Promise.all(s.map(a=>this._validateResult(a)))):void 0}};var $d={"gpt-4.1":{deploymentName:"gpt-4.1",apiVersion:"2024-10-21",pathSegment:"models/gpt-4.1/openai/deployments/gpt-4.1/chat/completions"},"gpt-4.1-mini":{deploymentName:"gpt-4.1-mini",apiVersion:"2024-10-21",pathSegment:"models/gpt-4.1-mini/openai/deployments/gpt-4.1-mini/chat/completions"},"text-embedding-ada-002":{deploymentName:"text-embedding-ada-002",apiVersion:"2024-10-21",pathSegment:"models/text-embedding-ada-002/openai/deployments/text-embedding-ada-002/embeddings"}},Dd={default:"gpt-4.1",fast:"gpt-4.1-mini"},My={default:"text-embedding-ada-002"},Ld=(r,e)=>{let t=$d[e];return`${r}/${t.pathSegment}?api-version=${t.apiVersion}`};function Ud(){let r=ih.getDefault().helperServices;if(!r?.aiUtilityServices?.url)throw new Error("AI Utility Service URL is not defined in the portal's helper services.");return r.aiUtilityServices.url}function $y(r="default"){return Ld(Ud(),Dd[r])}function Dy(r="default"){return Ld(Ud(),My[r])}var Ly=async r=>{let e=await Uy(),t=Dy("default"),n=ih.getDefault(),s=(await Md.getCredential(`${n.url}/sharing`)).token,i={type:"generateEmbeddings",layersAndFieldsRegistry:r,auth:{apiUrl:t,token:s}};return e.postMessage(i),await new Promise((a,o)=>{let c=l=>{l.data==="completed"&&(e.removeEventListener("message",c),a())},u=l=>{e.removeEventListener("message",c),o(l instanceof Error?l:new Error("Embeddings worker error"))};e.addEventListener("message",c),e.addEventListener("error",u,{once:!0})}),e},Uy=async()=>{let r=(await import("./5GP65UDI.js")).default;return new r},Yp=(r,e)=>e,Fy=ft.Root({userInput:ft(),messages:ft({reducer:xr,default:()=>[]}),pendingIntents:ft({default:()=>[],reducer:Yp}),currentIntent:ft({default:()=>"none",reducer:Yp})}),ur=async(r,e)=>{await xl("trace_message",r,e)},MT=async(r,e)=>{await xl("graph_ux_suggestion",r,e)},By=r=>{r.currentIntent="none",r.pendingIntents=[]},zy=async(r,e)=>{if(r.userInput){let n=new it(r.userInput.trim());r.messages=[...r.messages,n],By(r)}let t=e?.configurable?.services.agentRegistry.list().map(n=>n.agent.id)??[];return await ur({text:`Available agents: ${[...t].join(", ")}`},e),await ur({text:"Analyzing user input"},e),r},Wy=async(r,e)=>(await ur({text:"Exiting..."},e),r),Ky=r=>{if(r.pendingIntents.length===0)return{...r,currentIntent:"none"};let[e,...t]=r.pendingIntents;return{...r,currentIntent:e,pendingIntents:t}},Zp=4e3,Vy=async(r,e)=>{let t=e?.configurable,{agentRegistry:n}=t.services,s=n?.get(r.currentIntent);if(!s)return console.warn(`No agent found for intent: ${r.currentIntent}`),r;await ur({text:`Executing registered agent: ${s.agent.name}`},e);let i={...e??{},configurable:{...t??{},agentId:s.agent.id,context:s.getContext?await s.getContext():void 0}},a=await s.agent.createGraph().compile().invoke({messages:[...r.messages]},i);await ur({text:`Finished executing registered agent: ${s.agent.name}`},e);let o=typeof a?.outputMessage=="string"?a.outputMessage.trim():"";if(!o)return r;let c=o.length>Zp?`${o.slice(0,Zp-14)}
|
|
99
|
-
[truncated]`:o;return{...r,messages:[...r.messages,new ue(c)]}},Gy=(r,e,t)=>{let n=r[e];return n?typeof n=="function"?n():Promise.resolve(n):new Promise((s,i)=>{(typeof queueMicrotask=="function"?queueMicrotask:setTimeout)(i.bind(null,new Error("Unknown variable dynamic import: "+e+(e.split("/").length!==t?". Note that variables only represent file names one level deep.":""))))})},ah=async r=>(await Gy(Object.assign({"./field_descriptions_prompt.md":()=>import("./PZRNLUV2.js"),"./intent_prompt.md":()=>import("./45J72RA5.js"),"./layer_descriptions_prompt.md":()=>import("./7VXM3PHG.js")}),`./${r}.md`,2)).default,Hy=(r,e=3)=>r.filter(t=>t instanceof it).slice(-e),qy=r=>{let e=-1;for(let t=r.length-1;t>=0;t--)if(r[t]instanceof it){e=t;break}return e===-1?"":r.slice(e+1).filter(t=>t instanceof ue).map(t=>t.content).join(`
|
|
100
|
-
`)};function U(r,e,t,n,s){if(typeof e=="function"?r!==e||!0:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return e.set(r,t),t}function v(r,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(r):n?n.value:e.get(r)}var Fd=function(){let{crypto:r}=globalThis;if(r?.randomUUID)return Fd=r.randomUUID.bind(r),r.randomUUID();let e=new Uint8Array(1),t=r?()=>r.getRandomValues(e)[0]:()=>Math.random()*255&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,n=>(+n^t()&15>>+n/4).toString(16))};function Nl(r){return typeof r=="object"&&r!==null&&("name"in r&&r.name==="AbortError"||"message"in r&&String(r.message).includes("FetchRequestCanceledException"))}var Rl=r=>{if(r instanceof Error)return r;if(typeof r=="object"&&r!==null){try{if(Object.prototype.toString.call(r)==="[object Error]"){let e=new Error(r.message,r.cause?{cause:r.cause}:{});return r.stack&&(e.stack=r.stack),r.cause&&!e.cause&&(e.cause=r.cause),r.name&&(e.name=r.name),e}}catch{}try{return new Error(JSON.stringify(r))}catch{}}return new Error(r)},j=class extends Error{},Ue=class r extends j{constructor(e,t,n,s){super(`${r.makeMessage(e,t,n)}`),this.status=e,this.headers=s,this.requestID=s?.get("x-request-id"),this.error=t;let i=t;this.code=i?.code,this.param=i?.param,this.type=i?.type}static makeMessage(e,t,n){let s=t?.message?typeof t.message=="string"?t.message:JSON.stringify(t.message):t?JSON.stringify(t):n;return e&&s?`${e} ${s}`:e?`${e} status code (no body)`:s||"(no status code or body)"}static generate(e,t,n,s){if(!e||!s)return new Bn({message:n,cause:Rl(t)});let i=t?.error;return e===400?new Qa(e,i,n,s):e===401?new eo(e,i,n,s):e===403?new to(e,i,n,s):e===404?new ro(e,i,n,s):e===409?new no(e,i,n,s):e===422?new so(e,i,n,s):e===429?new io(e,i,n,s):e>=500?new ao(e,i,n,s):new r(e,i,n,s)}},Ve=class extends Ue{constructor({message:e}={}){super(void 0,void 0,e||"Request was aborted.",void 0)}},Bn=class extends Ue{constructor({message:e,cause:t}){super(void 0,void 0,e||"Connection error.",void 0),t&&(this.cause=t)}},zn=class extends Bn{constructor({message:e}={}){super({message:e??"Request timed out."})}},Qa=class extends Ue{},eo=class extends Ue{},to=class extends Ue{},ro=class extends Ue{},no=class extends Ue{},so=class extends Ue{},io=class extends Ue{},ao=class extends Ue{},oo=class extends j{constructor(){super("Could not parse response content as the length limit was reached")}},co=class extends j{constructor(){super("Could not parse response content as the request was rejected by the content filter")}},Xr=class extends Error{constructor(e){super(e)}},Jy=/^[a-z][a-z0-9+.-]*:/i,Xy=r=>Jy.test(r),Ze=r=>(Ze=Array.isArray,Ze(r)),Qp=Ze;function Yy(r){return typeof r!="object"?{}:r??{}}function Zy(r){if(!r)return!0;for(let e in r)return!1;return!0}function Qy(r,e){return Object.prototype.hasOwnProperty.call(r,e)}function Wa(r){return r!=null&&typeof r=="object"&&!Array.isArray(r)}var e_=(r,e)=>{if(typeof e!="number"||!Number.isInteger(e))throw new j(`${r} must be an integer`);if(e<0)throw new j(`${r} must be a positive integer`);return e},t_=r=>{try{return JSON.parse(r)}catch{return}},ei=r=>new Promise(e=>setTimeout(e,r)),Dn="5.12.2",r_=()=>typeof window<"u"&&typeof window.document<"u"&&typeof navigator<"u";function n_(){return typeof Deno<"u"&&Deno.build!=null?"deno":typeof EdgeRuntime<"u"?"edge":Object.prototype.toString.call(typeof globalThis.process<"u"?globalThis.process:0)==="[object process]"?"node":"unknown"}var s_=()=>{let r=n_();if(r==="deno")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Dn,"X-Stainless-OS":td(Deno.build.os),"X-Stainless-Arch":ed(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":typeof Deno.version=="string"?Deno.version:Deno.version?.deno??"unknown"};if(typeof EdgeRuntime<"u")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Dn,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":globalThis.process.version};if(r==="node")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Dn,"X-Stainless-OS":td(globalThis.process.platform??"unknown"),"X-Stainless-Arch":ed(globalThis.process.arch??"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":globalThis.process.version??"unknown"};let e=i_();return e?{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Dn,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${e.browser}`,"X-Stainless-Runtime-Version":e.version}:{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Dn,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}};function i_(){if(typeof navigator>"u"||!navigator)return null;let r=[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}];for(let{key:e,pattern:t}of r){let n=t.exec(navigator.userAgent);if(n){let s=n[1]||0,i=n[2]||0,a=n[3]||0;return{browser:e,version:`${s}.${i}.${a}`}}}return null}var ed=r=>r==="x32"?"x32":r==="x86_64"||r==="x64"?"x64":r==="arm"?"arm":r==="aarch64"||r==="arm64"?"arm64":r?`other:${r}`:"unknown",td=r=>(r=r.toLowerCase(),r.includes("ios")?"iOS":r==="android"?"Android":r==="darwin"?"MacOS":r==="win32"?"Windows":r==="freebsd"?"FreeBSD":r==="openbsd"?"OpenBSD":r==="linux"?"Linux":r?`Other:${r}`:"Unknown"),rd,a_=()=>rd??(rd=s_());function o_(){if(typeof fetch<"u")return fetch;throw new Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new OpenAI({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function Bd(...r){let e=globalThis.ReadableStream;if(typeof e>"u")throw new Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new e(...r)}function zd(r){let e=Symbol.asyncIterator in r?r[Symbol.asyncIterator]():r[Symbol.iterator]();return Bd({start(){},async pull(t){let{done:n,value:s}=await e.next();n?t.close():t.enqueue(s)},async cancel(){await e.return?.()}})}function Wd(r){if(r[Symbol.asyncIterator])return r;let e=r.getReader();return{async next(){try{let t=await e.read();return t?.done&&e.releaseLock(),t}catch(t){throw e.releaseLock(),t}},async return(){let t=e.cancel();return e.releaseLock(),await t,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function c_(r){if(r===null||typeof r!="object")return;if(r[Symbol.asyncIterator]){await r[Symbol.asyncIterator]().return?.();return}let e=r.getReader(),t=e.cancel();e.releaseLock(),await t}var u_=({headers:r,body:e})=>({bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(e)}),Kd="RFC3986",Vd=r=>String(r),nd={RFC1738:r=>String(r).replace(/%20/g,"+"),RFC3986:Vd},l_="RFC1738",jl=(r,e)=>(jl=Object.hasOwn??Function.prototype.call.bind(Object.prototype.hasOwnProperty),jl(r,e)),Ht=(()=>{let r=[];for(let e=0;e<256;++e)r.push("%"+((e<16?"0":"")+e.toString(16)).toUpperCase());return r})(),kl=1024,h_=(r,e,t,n,s)=>{if(r.length===0)return r;let i=r;if(typeof r=="symbol"?i=Symbol.prototype.toString.call(r):typeof r!="string"&&(i=String(r)),t==="iso-8859-1")return escape(i).replace(/%u[0-9a-f]{4}/gi,function(o){return"%26%23"+parseInt(o.slice(2),16)+"%3B"});let a="";for(let o=0;o<i.length;o+=kl){let c=i.length>=kl?i.slice(o,o+kl):i,u=[];for(let l=0;l<c.length;++l){let h=c.charCodeAt(l);if(h===45||h===46||h===95||h===126||h>=48&&h<=57||h>=65&&h<=90||h>=97&&h<=122||s===l_&&(h===40||h===41)){u[u.length]=c.charAt(l);continue}if(h<128){u[u.length]=Ht[h];continue}if(h<2048){u[u.length]=Ht[192|h>>6]+Ht[128|h&63];continue}if(h<55296||h>=57344){u[u.length]=Ht[224|h>>12]+Ht[128|h>>6&63]+Ht[128|h&63];continue}l+=1,h=65536+((h&1023)<<10|c.charCodeAt(l)&1023),u[u.length]=Ht[240|h>>18]+Ht[128|h>>12&63]+Ht[128|h>>6&63]+Ht[128|h&63]}a+=u.join("")}return a};function f_(r){return!r||typeof r!="object"?!1:!!(r.constructor&&r.constructor.isBuffer&&r.constructor.isBuffer(r))}function sd(r,e){if(Ze(r)){let t=[];for(let n=0;n<r.length;n+=1)t.push(e(r[n]));return t}return e(r)}var Gd={brackets(r){return String(r)+"[]"},comma:"comma",indices(r,e){return String(r)+"["+e+"]"},repeat(r){return String(r)}},Hd=function(r,e){Array.prototype.push.apply(r,Ze(e)?e:[e])},id,be={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:h_,encodeValuesOnly:!1,format:Kd,formatter:Vd,indices:!1,serializeDate(r){return(id??(id=Function.prototype.call.bind(Date.prototype.toISOString)))(r)},skipNulls:!1,strictNullHandling:!1};function p_(r){return typeof r=="string"||typeof r=="number"||typeof r=="boolean"||typeof r=="symbol"||typeof r=="bigint"}var Al={};function qd(r,e,t,n,s,i,a,o,c,u,l,h,p,f,m,y,_,k){let x=r,A=k,P=0,C=!1;for(;(A=A.get(Al))!==void 0&&!C;){let I=A.get(r);if(P+=1,typeof I<"u"){if(I===P)throw new RangeError("Cyclic object value");C=!0}typeof A.get(Al)>"u"&&(P=0)}if(typeof u=="function"?x=u(e,x):x instanceof Date?x=p?.(x):t==="comma"&&Ze(x)&&(x=sd(x,function(I){return I instanceof Date?p?.(I):I})),x===null){if(i)return c&&!y?c(e,be.encoder,_,"key",f):e;x=""}if(p_(x)||f_(x)){if(c){let I=y?e:c(e,be.encoder,_,"key",f);return[m?.(I)+"="+m?.(c(x,be.encoder,_,"value",f))]}return[m?.(e)+"="+m?.(String(x))]}let M=[];if(typeof x>"u")return M;let $;if(t==="comma"&&Ze(x))y&&c&&(x=sd(x,c)),$=[{value:x.length>0?x.join(",")||null:void 0}];else if(Ze(u))$=u;else{let I=Object.keys(x);$=l?I.sort(l):I}let b=o?String(e).replace(/\./g,"%2E"):String(e),N=n&&Ze(x)&&x.length===1?b+"[]":b;if(s&&Ze(x)&&x.length===0)return N+"[]";for(let I=0;I<$.length;++I){let E=$[I],H=typeof E=="object"&&typeof E.value<"u"?E.value:x[E];if(a&&H===null)continue;let se=h&&o?E.replace(/\./g,"%2E"):E,ce=Ze(x)?typeof t=="function"?t(N,se):N:N+(h?"."+se:"["+se+"]");k.set(r,P);let Nt=new WeakMap;Nt.set(Al,k),Hd(M,qd(H,ce,t,n,s,i,a,o,t==="comma"&&y&&Ze(x)?null:c,u,l,h,p,f,m,y,_,Nt))}return M}function d_(r=be){if(typeof r.allowEmptyArrays<"u"&&typeof r.allowEmptyArrays!="boolean")throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof r.encodeDotInKeys<"u"&&typeof r.encodeDotInKeys!="boolean")throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(r.encoder!==null&&typeof r.encoder<"u"&&typeof r.encoder!="function")throw new TypeError("Encoder has to be a function.");let e=r.charset||be.charset;if(typeof r.charset<"u"&&r.charset!=="utf-8"&&r.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");let t=Kd;if(typeof r.format<"u"){if(!jl(nd,r.format))throw new TypeError("Unknown format option provided.");t=r.format}let n=nd[t],s=be.filter;(typeof r.filter=="function"||Ze(r.filter))&&(s=r.filter);let i;if(r.arrayFormat&&r.arrayFormat in Gd?i=r.arrayFormat:"indices"in r?i=r.indices?"indices":"repeat":i=be.arrayFormat,"commaRoundTrip"in r&&typeof r.commaRoundTrip!="boolean")throw new TypeError("`commaRoundTrip` must be a boolean, or absent");let a=typeof r.allowDots>"u"?r.encodeDotInKeys?!0:be.allowDots:!!r.allowDots;return{addQueryPrefix:typeof r.addQueryPrefix=="boolean"?r.addQueryPrefix:be.addQueryPrefix,allowDots:a,allowEmptyArrays:typeof r.allowEmptyArrays=="boolean"?!!r.allowEmptyArrays:be.allowEmptyArrays,arrayFormat:i,charset:e,charsetSentinel:typeof r.charsetSentinel=="boolean"?r.charsetSentinel:be.charsetSentinel,commaRoundTrip:!!r.commaRoundTrip,delimiter:typeof r.delimiter>"u"?be.delimiter:r.delimiter,encode:typeof r.encode=="boolean"?r.encode:be.encode,encodeDotInKeys:typeof r.encodeDotInKeys=="boolean"?r.encodeDotInKeys:be.encodeDotInKeys,encoder:typeof r.encoder=="function"?r.encoder:be.encoder,encodeValuesOnly:typeof r.encodeValuesOnly=="boolean"?r.encodeValuesOnly:be.encodeValuesOnly,filter:s,format:t,formatter:n,serializeDate:typeof r.serializeDate=="function"?r.serializeDate:be.serializeDate,skipNulls:typeof r.skipNulls=="boolean"?r.skipNulls:be.skipNulls,sort:typeof r.sort=="function"?r.sort:null,strictNullHandling:typeof r.strictNullHandling=="boolean"?r.strictNullHandling:be.strictNullHandling}}function m_(r,e={}){let t=r,n=d_(e),s,i;typeof n.filter=="function"?(i=n.filter,t=i("",t)):Ze(n.filter)&&(i=n.filter,s=i);let a=[];if(typeof t!="object"||t===null)return"";let o=Gd[n.arrayFormat],c=o==="comma"&&n.commaRoundTrip;s||(s=Object.keys(t)),n.sort&&s.sort(n.sort);let u=new WeakMap;for(let p=0;p<s.length;++p){let f=s[p];n.skipNulls&&t[f]===null||Hd(a,qd(t[f],f,o,c,n.allowEmptyArrays,n.strictNullHandling,n.skipNulls,n.encodeDotInKeys,n.encode?n.encoder:null,n.filter,n.sort,n.allowDots,n.serializeDate,n.format,n.formatter,n.encodeValuesOnly,n.charset,u))}let l=a.join(n.delimiter),h=n.addQueryPrefix===!0?"?":"";return n.charsetSentinel&&(n.charset==="iso-8859-1"?h+="utf8=%26%2310003%3B&":h+="utf8=%E2%9C%93&"),l.length>0?h+l:""}function g_(r){let e=0;for(let s of r)e+=s.length;let t=new Uint8Array(e),n=0;for(let s of r)t.set(s,n),n+=s.length;return t}var ad;function oh(r){let e;return(ad??(e=new globalThis.TextEncoder,ad=e.encode.bind(e)))(r)}var od;function cd(r){let e;return(od??(e=new globalThis.TextDecoder,od=e.decode.bind(e)))(r)}var tt,rt,Wn=class{constructor(){tt.set(this,void 0),rt.set(this,void 0),U(this,tt,new Uint8Array),U(this,rt,null)}decode(e){if(e==null)return[];let t=e instanceof ArrayBuffer?new Uint8Array(e):typeof e=="string"?oh(e):e;U(this,tt,g_([v(this,tt,"f"),t]));let n=[],s;for(;(s=b_(v(this,tt,"f"),v(this,rt,"f")))!=null;){if(s.carriage&&v(this,rt,"f")==null){U(this,rt,s.index);continue}if(v(this,rt,"f")!=null&&(s.index!==v(this,rt,"f")+1||s.carriage)){n.push(cd(v(this,tt,"f").subarray(0,v(this,rt,"f")-1))),U(this,tt,v(this,tt,"f").subarray(v(this,rt,"f"))),U(this,rt,null);continue}let i=v(this,rt,"f")!==null?s.preceding-1:s.preceding,a=cd(v(this,tt,"f").subarray(0,i));n.push(a),U(this,tt,v(this,tt,"f").subarray(s.index)),U(this,rt,null)}return n}flush(){return v(this,tt,"f").length?this.decode(`
|
|
101
|
-
`):[]}};tt=new WeakMap,rt=new WeakMap;Wn.NEWLINE_CHARS=new Set([`
|
|
102
|
-
`,"\r"]);Wn.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function b_(r,e){for(let t=e??0;t<r.length;t++){if(r[t]===10)return{preceding:t,index:t+1,carriage:!1};if(r[t]===13)return{preceding:t,index:t+1,carriage:!0}}return null}function y_(r){for(let e=0;e<r.length-1;e++){if(r[e]===10&&r[e+1]===10||r[e]===13&&r[e+1]===13)return e+2;if(r[e]===13&&r[e+1]===10&&e+3<r.length&&r[e+2]===13&&r[e+3]===10)return e+4}return-1}var uo={off:0,error:200,warn:300,info:400,debug:500},ud=(r,e,t)=>{if(r){if(Qy(uo,r))return r;Ce(t).warn(`${e} was set to ${JSON.stringify(r)}, expected one of ${JSON.stringify(Object.keys(uo))}`)}};function Rs(){}function ja(r,e,t){return!e||uo[r]>uo[t]?Rs:e[r].bind(e)}var __={error:Rs,warn:Rs,info:Rs,debug:Rs},ld=new WeakMap;function Ce(r){let e=r.logger,t=r.logLevel??"off";if(!e)return __;let n=ld.get(e);if(n&&n[0]===t)return n[1];let s={error:ja("error",e,t),warn:ja("warn",e,t),info:ja("info",e,t),debug:ja("debug",e,t)};return ld.set(e,[t,s]),s}var qr=r=>(r.options&&(r.options={...r.options},delete r.options.headers),r.headers&&(r.headers=Object.fromEntries((r.headers instanceof Headers?[...r.headers]:Object.entries(r.headers)).map(([e,t])=>[e,e.toLowerCase()==="authorization"||e.toLowerCase()==="cookie"||e.toLowerCase()==="set-cookie"?"***":t]))),"retryOfRequestLogID"in r&&(r.retryOfRequestLogID&&(r.retryOf=r.retryOfRequestLogID),delete r.retryOfRequestLogID),r),Ns,en=class r{constructor(e,t,n){this.iterator=e,Ns.set(this,void 0),this.controller=t,U(this,Ns,n)}static fromSSEResponse(e,t,n){let s=!1,i=n?Ce(n):console;async function*a(){if(s)throw new j("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");s=!0;let o=!1;try{for await(let c of w_(e,t))if(!o){if(c.data.startsWith("[DONE]")){o=!0;continue}if(c.event===null||!c.event.startsWith("thread.")){let u;try{u=JSON.parse(c.data)}catch(l){throw i.error("Could not parse message into JSON:",c.data),i.error("From chunk:",c.raw),l}if(u&&u.error)throw new Ue(void 0,u.error,void 0,e.headers);yield u}else{let u;try{u=JSON.parse(c.data)}catch(l){throw console.error("Could not parse message into JSON:",c.data),console.error("From chunk:",c.raw),l}if(c.event=="error")throw new Ue(void 0,u.error,u.message,void 0);yield{event:c.event,data:u}}}o=!0}catch(c){if(Nl(c))return;throw c}finally{o||t.abort()}}return new r(a,t,n)}static fromReadableStream(e,t,n){let s=!1;async function*i(){let o=new Wn,c=Wd(e);for await(let u of c)for(let l of o.decode(u))yield l;for(let u of o.flush())yield u}async function*a(){if(s)throw new j("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");s=!0;let o=!1;try{for await(let c of i())o||c&&(yield JSON.parse(c));o=!0}catch(c){if(Nl(c))return;throw c}finally{o||t.abort()}}return new r(a,t,n)}[(Ns=new WeakMap,Symbol.asyncIterator)](){return this.iterator()}tee(){let e=[],t=[],n=this.iterator(),s=i=>({next:()=>{if(i.length===0){let a=n.next();e.push(a),t.push(a)}return i.shift()}});return[new r(()=>s(e),this.controller,v(this,Ns,"f")),new r(()=>s(t),this.controller,v(this,Ns,"f"))]}toReadableStream(){let e=this,t;return Bd({async start(){t=e[Symbol.asyncIterator]()},async pull(n){try{let{value:s,done:i}=await t.next();if(i)return n.close();let a=oh(JSON.stringify(s)+`
|
|
103
|
-
`);n.enqueue(a)}catch(s){n.error(s)}},async cancel(){await t.return?.()}})}};async function*w_(r,e){if(!r.body)throw e.abort(),typeof globalThis.navigator<"u"&&globalThis.navigator.product==="ReactNative"?new j("The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api"):new j("Attempted to iterate over a response with no body");let t=new Ml,n=new Wn,s=Wd(r.body);for await(let i of v_(s))for(let a of n.decode(i)){let o=t.decode(a);o&&(yield o)}for(let i of n.flush()){let a=t.decode(i);a&&(yield a)}}async function*v_(r){let e=new Uint8Array;for await(let t of r){if(t==null)continue;let n=t instanceof ArrayBuffer?new Uint8Array(t):typeof t=="string"?oh(t):t,s=new Uint8Array(e.length+n.length);s.set(e),s.set(n,e.length),e=s;let i;for(;(i=y_(e))!==-1;)yield e.slice(0,i),e=e.slice(i)}e.length>0&&(yield e)}var Ml=class{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(e){if(e.endsWith("\r")&&(e=e.substring(0,e.length-1)),!e){if(!this.event&&!this.data.length)return null;let i={event:this.event,data:this.data.join(`
|
|
104
|
-
`),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],i}if(this.chunks.push(e),e.startsWith(":"))return null;let[t,n,s]=x_(e,":");return s.startsWith(" ")&&(s=s.substring(1)),t==="event"?this.event=s:t==="data"&&this.data.push(s),null}};function x_(r,e){let t=r.indexOf(e);return t!==-1?[r.substring(0,t),e,r.substring(t+e.length)]:[r,"",""]}async function Jd(r,e){let{response:t,requestLogID:n,retryOfRequestLogID:s,startTime:i}=e,a=await(async()=>{if(e.options.stream)return Ce(r).debug("response",t.status,t.url,t.headers,t.body),e.options.__streamClass?e.options.__streamClass.fromSSEResponse(t,e.controller,r):en.fromSSEResponse(t,e.controller,r);if(t.status===204)return null;if(e.options.__binaryResponse)return t;let o=t.headers.get("content-type")?.split(";")[0]?.trim();if(o?.includes("application/json")||o?.endsWith("+json")){let c=await t.json();return Xd(c,t)}return await t.text()})();return Ce(r).debug(`[${n}] response parsed`,qr({retryOfRequestLogID:s,url:t.url,status:t.status,body:a,durationMs:Date.now()-i})),a}function Xd(r,e){return!r||typeof r!="object"||Array.isArray(r)?r:Object.defineProperty(r,"_request_id",{value:e.headers.get("x-request-id"),enumerable:!1})}var js,lo=class r extends Promise{constructor(e,t,n=Jd){super(s=>{s(null)}),this.responsePromise=t,this.parseResponse=n,js.set(this,void 0),U(this,js,e)}_thenUnwrap(e){return new r(v(this,js,"f"),this.responsePromise,async(t,n)=>Xd(e(await this.parseResponse(t,n),n),n.response))}asResponse(){return this.responsePromise.then(e=>e.response)}async withResponse(){let[e,t]=await Promise.all([this.parse(),this.asResponse()]);return{data:e,response:t,request_id:t.headers.get("x-request-id")}}parse(){return this.parsedPromise||(this.parsedPromise=this.responsePromise.then(e=>this.parseResponse(v(this,js,"f"),e))),this.parsedPromise}then(e,t){return this.parse().then(e,t)}catch(e){return this.parse().catch(e)}finally(e){return this.parse().finally(e)}};js=new WeakMap;var Ma,ho=class{constructor(e,t,n,s){Ma.set(this,void 0),U(this,Ma,e),this.options=s,this.response=t,this.body=n}hasNextPage(){return this.getPaginatedItems().length?this.nextPageRequestOptions()!=null:!1}async getNextPage(){let e=this.nextPageRequestOptions();if(!e)throw new j("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");return await v(this,Ma,"f").requestAPIList(this.constructor,e)}async*iterPages(){let e=this;for(yield e;e.hasNextPage();)e=await e.getNextPage(),yield e}async*[(Ma=new WeakMap,Symbol.asyncIterator)](){for await(let e of this.iterPages())for(let t of e.getPaginatedItems())yield t}},$l=class extends lo{constructor(e,t,n){super(e,t,async(s,i)=>new n(s,i.response,await Jd(s,i),i.options))}async*[Symbol.asyncIterator](){let e=await this;for await(let t of e)yield t}},Kn=class extends ho{constructor(e,t,n,s){super(e,t,n,s),this.data=n.data||[],this.object=n.object}getPaginatedItems(){return this.data??[]}nextPageRequestOptions(){return null}},le=class extends ho{constructor(e,t,n,s){super(e,t,n,s),this.data=n.data||[],this.has_more=n.has_more||!1}getPaginatedItems(){return this.data??[]}hasNextPage(){return this.has_more===!1?!1:super.hasNextPage()}nextPageRequestOptions(){let e=this.getPaginatedItems(),t=e[e.length-1]?.id;return t?{...this.options,query:{...Yy(this.options.query),after:t}}:null}},Yd=()=>{if(typeof File>"u"){let{process:r}=globalThis,e=typeof r?.versions?.node=="string"&&parseInt(r.versions.node.split("."))<20;throw new Error("`File` is not defined as a global, which is required for file uploads."+(e?" Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`.":""))}};function Bs(r,e,t){return Yd(),new File(r,e??"unknown_file",t)}function Ka(r){return(typeof r=="object"&&r!==null&&("name"in r&&r.name&&String(r.name)||"url"in r&&r.url&&String(r.url)||"filename"in r&&r.filename&&String(r.filename)||"path"in r&&r.path&&String(r.path))||"").split(/[\\/]/).pop()||void 0}var Zd=r=>r!=null&&typeof r=="object"&&typeof r[Symbol.asyncIterator]=="function",tn=async(r,e)=>({...r,body:await k_(r.body,e)}),hd=new WeakMap;function O_(r){let e=typeof r=="function"?r:r.fetch,t=hd.get(e);if(t)return t;let n=(async()=>{try{let s="Response"in e?e.Response:(await e("data:,")).constructor,i=new FormData;return i.toString()!==await new s(i).text()}catch{return!0}})();return hd.set(e,n),n}var k_=async(r,e)=>{if(!await O_(e))throw new TypeError("The provided fetch function does not support file uploads with the current global FormData class.");let t=new FormData;return await Promise.all(Object.entries(r||{}).map(([n,s])=>Dl(t,n,s))),t},A_=r=>r instanceof Blob&&"name"in r,Dl=async(r,e,t)=>{if(t!==void 0){if(t==null)throw new TypeError(`Received null for "${e}"; to pass null in FormData, you must use the string 'null'`);if(typeof t=="string"||typeof t=="number"||typeof t=="boolean")r.append(e,String(t));else if(t instanceof Response)r.append(e,Bs([await t.blob()],Ka(t)));else if(Zd(t))r.append(e,Bs([await new Response(zd(t)).blob()],Ka(t)));else if(A_(t))r.append(e,t,Ka(t));else if(Array.isArray(t))await Promise.all(t.map(n=>Dl(r,e+"[]",n)));else if(typeof t=="object")await Promise.all(Object.entries(t).map(([n,s])=>Dl(r,`${e}[${n}]`,s)));else throw new TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${t} instead`)}},Qd=r=>r!=null&&typeof r=="object"&&typeof r.size=="number"&&typeof r.type=="string"&&typeof r.text=="function"&&typeof r.slice=="function"&&typeof r.arrayBuffer=="function",S_=r=>r!=null&&typeof r=="object"&&typeof r.name=="string"&&typeof r.lastModified=="number"&&Qd(r),E_=r=>r!=null&&typeof r=="object"&&typeof r.url=="string"&&typeof r.blob=="function";async function P_(r,e,t){if(Yd(),r=await r,S_(r))return r instanceof File?r:Bs([await r.arrayBuffer()],r.name);if(E_(r)){let s=await r.blob();return e||(e=new URL(r.url).pathname.split(/[\\/]/).pop()),Bs(await Ll(s),e,t)}let n=await Ll(r);if(e||(e=Ka(r)),!t?.type){let s=n.find(i=>typeof i=="object"&&"type"in i&&i.type);typeof s=="string"&&(t={...t,type:s})}return Bs(n,e,t)}async function Ll(r){let e=[];if(typeof r=="string"||ArrayBuffer.isView(r)||r instanceof ArrayBuffer)e.push(r);else if(Qd(r))e.push(r instanceof Blob?r:await r.arrayBuffer());else if(Zd(r))for await(let t of r)e.push(...await Ll(t));else{let t=r?.constructor?.name;throw new Error(`Unexpected data type: ${typeof r}${t?`; constructor: ${t}`:""}${T_(r)}`)}return e}function T_(r){return typeof r!="object"||r===null?"":`; props: [${Object.getOwnPropertyNames(r).map(e=>`"${e}"`).join(", ")}]`}var L=class{constructor(e){this._client=e}};function em(r){return r.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}var fd=Object.freeze(Object.create(null)),C_=(r=em)=>function(e,...t){if(e.length===1)return e[0];let n=!1,s=[],i=e.reduce((u,l,h)=>{/[?#]/.test(l)&&(n=!0);let p=t[h],f=(n?encodeURIComponent:r)(""+p);return h!==t.length&&(p==null||typeof p=="object"&&p.toString===Object.getPrototypeOf(Object.getPrototypeOf(p.hasOwnProperty??fd)??fd)?.toString)&&(f=p+"",s.push({start:u.length+l.length,length:f.length,error:`Value of type ${Object.prototype.toString.call(p).slice(8,-1)} is not a valid path parameter`})),u+l+(h===t.length?"":f)},""),a=i.split(/[?#]/,1)[0],o=/(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi,c;for(;(c=o.exec(a))!==null;)s.push({start:c.index,length:c[0].length,error:`Value "${c[0]}" can't be safely passed as a path parameter`});if(s.sort((u,l)=>u.start-l.start),s.length>0){let u=0,l=s.reduce((h,p)=>{let f=" ".repeat(p.start-u),m="^".repeat(p.length);return u=p.start+p.length,h+f+m},"");throw new j(`Path parameters result in path with invalid segments:
|
|
105
|
-
${s.map(h=>h.error).join(`
|
|
106
|
-
`)}
|
|
107
|
-
${i}
|
|
108
|
-
${l}`)}return i},T=C_(em),tm=class extends L{list(r,e={},t){return this._client.getAPIList(T`/chat/completions/${r}/messages`,le,{query:e,...t})}};function fo(r){return r!==void 0&&"function"in r&&r.function!==void 0}function I_(r,e){let t={...r};return Object.defineProperties(t,{$brand:{value:"auto-parseable-response-format",enumerable:!1},$parseRaw:{value:e,enumerable:!1}}),t}function ch(r){return r?.$brand==="auto-parseable-response-format"}function ti(r){return r?.$brand==="auto-parseable-tool"}function N_(r,e){return!e||!rm(e)?{...r,choices:r.choices.map(t=>(nm(t.message.tool_calls),{...t,message:{...t.message,parsed:null,...t.message.tool_calls?{tool_calls:t.message.tool_calls}:void 0}}))}:uh(r,e)}function uh(r,e){let t=r.choices.map(n=>{if(n.finish_reason==="length")throw new oo;if(n.finish_reason==="content_filter")throw new co;return nm(n.message.tool_calls),{...n,message:{...n.message,...n.message.tool_calls?{tool_calls:n.message.tool_calls?.map(s=>j_(e,s))??void 0}:void 0,parsed:n.message.content&&!n.message.refusal?R_(e,n.message.content):null}}});return{...r,choices:t}}function R_(r,e){return r.response_format?.type!=="json_schema"?null:r.response_format?.type==="json_schema"?"$parseRaw"in r.response_format?r.response_format.$parseRaw(e):JSON.parse(e):null}function j_(r,e){let t=r.tools?.find(n=>fo(n)&&n.function?.name===e.function.name);return{...e,function:{...e.function,parsed_arguments:ti(t)?t.$parseRaw(e.function.arguments):t?.function.strict?JSON.parse(e.function.arguments):null}}}function M_(r,e){if(!r||!("tools"in r)||!r.tools)return!1;let t=r.tools?.find(n=>fo(n)&&n.function?.name===e.function.name);return fo(t)&&(ti(t)||t?.function.strict||!1)}function rm(r){return ch(r.response_format)?!0:r.tools?.some(e=>ti(e)||e.type==="function"&&e.function.strict===!0)??!1}function nm(r){for(let e of r||[])if(e.type!=="function")throw new j(`Currently only \`function\` tool calls are supported; Received \`${e.type}\``)}function $_(r){for(let e of r??[]){if(e.type!=="function")throw new j(`Currently only \`function\` tool types support auto-parsing; Received \`${e.type}\``);if(e.function.strict!==!0)throw new j(`The \`${e.function.name}\` tool is not marked with \`strict: true\`. Only strict function tools can be auto-parsed`)}}var po=r=>r?.role==="assistant",sm=r=>r?.role==="tool",Ul,Va,Ga,Ms,$s,Ha,Ds,or,Ls,mo,go,Ln,im,Ws=class{constructor(){Ul.add(this),this.controller=new AbortController,Va.set(this,void 0),Ga.set(this,()=>{}),Ms.set(this,()=>{}),$s.set(this,void 0),Ha.set(this,()=>{}),Ds.set(this,()=>{}),or.set(this,{}),Ls.set(this,!1),mo.set(this,!1),go.set(this,!1),Ln.set(this,!1),U(this,Va,new Promise((e,t)=>{U(this,Ga,e,"f"),U(this,Ms,t,"f")})),U(this,$s,new Promise((e,t)=>{U(this,Ha,e,"f"),U(this,Ds,t,"f")})),v(this,Va,"f").catch(()=>{}),v(this,$s,"f").catch(()=>{})}_run(e){setTimeout(()=>{e().then(()=>{this._emitFinal(),this._emit("end")},v(this,Ul,"m",im).bind(this))},0)}_connected(){this.ended||(v(this,Ga,"f").call(this),this._emit("connect"))}get ended(){return v(this,Ls,"f")}get errored(){return v(this,mo,"f")}get aborted(){return v(this,go,"f")}abort(){this.controller.abort()}on(e,t){return(v(this,or,"f")[e]||(v(this,or,"f")[e]=[])).push({listener:t}),this}off(e,t){let n=v(this,or,"f")[e];if(!n)return this;let s=n.findIndex(i=>i.listener===t);return s>=0&&n.splice(s,1),this}once(e,t){return(v(this,or,"f")[e]||(v(this,or,"f")[e]=[])).push({listener:t,once:!0}),this}emitted(e){return new Promise((t,n)=>{U(this,Ln,!0),e!=="error"&&this.once("error",n),this.once(e,t)})}async done(){U(this,Ln,!0),await v(this,$s,"f")}_emit(e,...t){if(v(this,Ls,"f"))return;e==="end"&&(U(this,Ls,!0),v(this,Ha,"f").call(this));let n=v(this,or,"f")[e];if(n&&(v(this,or,"f")[e]=n.filter(s=>!s.once),n.forEach(({listener:s})=>s(...t))),e==="abort"){let s=t[0];!v(this,Ln,"f")&&!n?.length&&Promise.reject(s),v(this,Ms,"f").call(this,s),v(this,Ds,"f").call(this,s),this._emit("end");return}if(e==="error"){let s=t[0];!v(this,Ln,"f")&&!n?.length&&Promise.reject(s),v(this,Ms,"f").call(this,s),v(this,Ds,"f").call(this,s),this._emit("end")}}_emitFinal(){}};Va=new WeakMap,Ga=new WeakMap,Ms=new WeakMap,$s=new WeakMap,Ha=new WeakMap,Ds=new WeakMap,or=new WeakMap,Ls=new WeakMap,mo=new WeakMap,go=new WeakMap,Ln=new WeakMap,Ul=new WeakSet,im=function(r){if(U(this,mo,!0),r instanceof Error&&r.name==="AbortError"&&(r=new Ve),r instanceof Ve)return U(this,go,!0),this._emit("abort",r);if(r instanceof j)return this._emit("error",r);if(r instanceof Error){let e=new j(r.message);return e.cause=r,this._emit("error",e)}return this._emit("error",new j(String(r)))};function D_(r){return typeof r.parse=="function"}var Ke,Fl,bo,Bl,zl,Wl,am,om,L_=10,yo=class extends Ws{constructor(){super(...arguments),Ke.add(this),this._chatCompletions=[],this.messages=[]}_addChatCompletion(e){this._chatCompletions.push(e),this._emit("chatCompletion",e);let t=e.choices[0]?.message;return t&&this._addMessage(t),e}_addMessage(e,t=!0){if("content"in e||(e.content=null),this.messages.push(e),t){if(this._emit("message",e),sm(e)&&e.content)this._emit("functionToolCallResult",e.content);else if(po(e)&&e.tool_calls)for(let n of e.tool_calls)n.type==="function"&&this._emit("functionToolCall",n.function)}}async finalChatCompletion(){await this.done();let e=this._chatCompletions[this._chatCompletions.length-1];if(!e)throw new j("stream ended without producing a ChatCompletion");return e}async finalContent(){return await this.done(),v(this,Ke,"m",Fl).call(this)}async finalMessage(){return await this.done(),v(this,Ke,"m",bo).call(this)}async finalFunctionToolCall(){return await this.done(),v(this,Ke,"m",Bl).call(this)}async finalFunctionToolCallResult(){return await this.done(),v(this,Ke,"m",zl).call(this)}async totalUsage(){return await this.done(),v(this,Ke,"m",Wl).call(this)}allChatCompletions(){return[...this._chatCompletions]}_emitFinal(){let e=this._chatCompletions[this._chatCompletions.length-1];e&&this._emit("finalChatCompletion",e);let t=v(this,Ke,"m",bo).call(this);t&&this._emit("finalMessage",t);let n=v(this,Ke,"m",Fl).call(this);n&&this._emit("finalContent",n);let s=v(this,Ke,"m",Bl).call(this);s&&this._emit("finalFunctionToolCall",s);let i=v(this,Ke,"m",zl).call(this);i!=null&&this._emit("finalFunctionToolCallResult",i),this._chatCompletions.some(a=>a.usage)&&this._emit("totalUsage",v(this,Ke,"m",Wl).call(this))}async _createChatCompletion(e,t,n){let s=n?.signal;s&&(s.aborted&&this.controller.abort(),s.addEventListener("abort",()=>this.controller.abort())),v(this,Ke,"m",am).call(this,t);let i=await e.chat.completions.create({...t,stream:!1},{...n,signal:this.controller.signal});return this._connected(),this._addChatCompletion(uh(i,t))}async _runChatCompletion(e,t,n){for(let s of t.messages)this._addMessage(s,!1);return await this._createChatCompletion(e,t,n)}async _runTools(e,t,n){let s="tool",{tool_choice:i="auto",stream:a,...o}=t,c=typeof i!="string"&&i.type==="function"&&i?.function?.name,{maxChatCompletions:u=L_}=n||{},l=t.tools.map(f=>{if(ti(f)){if(!f.$callback)throw new j("Tool given to `.runTools()` that does not have an associated function");return{type:"function",function:{function:f.$callback,name:f.function.name,description:f.function.description||"",parameters:f.function.parameters,parse:f.$parseRaw,strict:!0}}}return f}),h={};for(let f of l)f.type==="function"&&(h[f.function.name||f.function.function.name]=f.function);let p="tools"in t?l.map(f=>f.type==="function"?{type:"function",function:{name:f.function.name||f.function.function.name,parameters:f.function.parameters,description:f.function.description,strict:f.function.strict}}:f):void 0;for(let f of t.messages)this._addMessage(f,!1);for(let f=0;f<u;++f){let m=(await this._createChatCompletion(e,{...o,tool_choice:i,tools:p,messages:[...this.messages]},n)).choices[0]?.message;if(!m)throw new j("missing message in ChatCompletion response");if(!m.tool_calls?.length)return;for(let y of m.tool_calls){if(y.type!=="function")continue;let _=y.id,{name:k,arguments:x}=y.function,A=h[k];if(A){if(c&&c!==k){let $=`Invalid tool_call: ${JSON.stringify(k)}. ${JSON.stringify(c)} requested. Please try again`;this._addMessage({role:s,tool_call_id:_,content:$});continue}}else{let $=`Invalid tool_call: ${JSON.stringify(k)}. Available options are: ${Object.keys(h).map(b=>JSON.stringify(b)).join(", ")}. Please try again`;this._addMessage({role:s,tool_call_id:_,content:$});continue}let P;try{P=D_(A)?await A.parse(x):x}catch($){let b=$ instanceof Error?$.message:String($);this._addMessage({role:s,tool_call_id:_,content:b});continue}let C=await A.function(P,this),M=v(this,Ke,"m",om).call(this,C);if(this._addMessage({role:s,tool_call_id:_,content:M}),c)return}}}};Ke=new WeakSet,Fl=function(){return v(this,Ke,"m",bo).call(this).content??null},bo=function(){let r=this.messages.length;for(;r-- >0;){let e=this.messages[r];if(po(e))return{...e,content:e.content??null,refusal:e.refusal??null}}throw new j("stream ended without producing a ChatCompletionMessage with role=assistant")},Bl=function(){for(let r=this.messages.length-1;r>=0;r--){let e=this.messages[r];if(po(e)&&e?.tool_calls?.length)return e.tool_calls.filter(t=>t.type==="function").at(-1)?.function}},zl=function(){for(let r=this.messages.length-1;r>=0;r--){let e=this.messages[r];if(sm(e)&&e.content!=null&&typeof e.content=="string"&&this.messages.some(t=>t.role==="assistant"&&t.tool_calls?.some(n=>n.type==="function"&&n.id===e.tool_call_id)))return e.content}},Wl=function(){let r={completion_tokens:0,prompt_tokens:0,total_tokens:0};for(let{usage:e}of this._chatCompletions)e&&(r.completion_tokens+=e.completion_tokens,r.prompt_tokens+=e.prompt_tokens,r.total_tokens+=e.total_tokens);return r},am=function(r){if(r.n!=null&&r.n>1)throw new j("ChatCompletion convenience helpers only support n=1 at this time. To use n>1, please use chat.completions.create() directly.")},om=function(r){return typeof r=="string"?r:r===void 0?"undefined":JSON.stringify(r)};var Kl=class r extends yo{static runTools(e,t,n){let s=new r,i={...n,headers:{...n?.headers,"X-Stainless-Helper-Method":"runTools"}};return s._run(()=>s._runTools(e,t,i)),s}_addMessage(e,t=!0){super._addMessage(e,t),po(e)&&e.content&&this._emit("content",e.content)}},cm=1,um=2,lm=4,hm=8,fm=16,pm=32,dm=64,mm=128,gm=256,bm=mm|gm,ym=fm|pm|bm|dm,_m=cm|um|ym,wm=lm|hm,U_=_m|wm,Oe={STR:cm,NUM:um,ARR:lm,OBJ:hm,NULL:fm,BOOL:pm,NAN:dm,INFINITY:mm,MINUS_INFINITY:gm,INF:bm,SPECIAL:ym,ATOM:_m,COLLECTION:wm,ALL:U_},Vl=class extends Error{},Gl=class extends Error{};function F_(r,e=Oe.ALL){if(typeof r!="string")throw new TypeError(`expecting str, got ${typeof r}`);if(!r.trim())throw new Error(`${r} is empty`);return B_(r.trim(),e)}var B_=(r,e)=>{let t=r.length,n=0,s=p=>{throw new Vl(`${p} at position ${n}`)},i=p=>{throw new Gl(`${p} at position ${n}`)},a=()=>(h(),n>=t&&s("Unexpected end of input"),r[n]==='"'?o():r[n]==="{"?c():r[n]==="["?u():r.substring(n,n+4)==="null"||Oe.NULL&e&&t-n<4&&"null".startsWith(r.substring(n))?(n+=4,null):r.substring(n,n+4)==="true"||Oe.BOOL&e&&t-n<4&&"true".startsWith(r.substring(n))?(n+=4,!0):r.substring(n,n+5)==="false"||Oe.BOOL&e&&t-n<5&&"false".startsWith(r.substring(n))?(n+=5,!1):r.substring(n,n+8)==="Infinity"||Oe.INFINITY&e&&t-n<8&&"Infinity".startsWith(r.substring(n))?(n+=8,1/0):r.substring(n,n+9)==="-Infinity"||Oe.MINUS_INFINITY&e&&1<t-n&&t-n<9&&"-Infinity".startsWith(r.substring(n))?(n+=9,-1/0):r.substring(n,n+3)==="NaN"||Oe.NAN&e&&t-n<3&&"NaN".startsWith(r.substring(n))?(n+=3,NaN):l()),o=()=>{let p=n,f=!1;for(n++;n<t&&(r[n]!=='"'||f&&r[n-1]==="\\");)f=r[n]==="\\"?!f:!1,n++;if(r.charAt(n)=='"')try{return JSON.parse(r.substring(p,++n-Number(f)))}catch(m){i(String(m))}else if(Oe.STR&e)try{return JSON.parse(r.substring(p,n-Number(f))+'"')}catch{return JSON.parse(r.substring(p,r.lastIndexOf("\\"))+'"')}s("Unterminated string literal")},c=()=>{n++,h();let p={};try{for(;r[n]!=="}";){if(h(),n>=t&&Oe.OBJ&e)return p;let f=o();h(),n++;try{let m=a();Object.defineProperty(p,f,{value:m,writable:!0,enumerable:!0,configurable:!0})}catch(m){if(Oe.OBJ&e)return p;throw m}h(),r[n]===","&&n++}}catch{if(Oe.OBJ&e)return p;s("Expected '}' at end of object")}return n++,p},u=()=>{n++;let p=[];try{for(;r[n]!=="]";)p.push(a()),h(),r[n]===","&&n++}catch{if(Oe.ARR&e)return p;s("Expected ']' at end of array")}return n++,p},l=()=>{if(n===0){r==="-"&&Oe.NUM&e&&s("Not sure what '-' is");try{return JSON.parse(r)}catch(f){if(Oe.NUM&e)try{return r[r.length-1]==="."?JSON.parse(r.substring(0,r.lastIndexOf("."))):JSON.parse(r.substring(0,r.lastIndexOf("e")))}catch{}i(String(f))}}let p=n;for(r[n]==="-"&&n++;r[n]&&!",]}".includes(r[n]);)n++;n==t&&!(Oe.NUM&e)&&s("Unterminated number literal");try{return JSON.parse(r.substring(p,n))}catch{r.substring(p,n)==="-"&&Oe.NUM&e&&s("Not sure what '-' is");try{return JSON.parse(r.substring(p,r.lastIndexOf("e")))}catch(f){i(String(f))}}},h=()=>{for(;n<t&&`
|
|
109
|
-
\r `.includes(r[n]);)n++};return a()},pd=r=>F_(r,Oe.ALL^Oe.NUM),ge,ar,Mn,Or,Sl,$a,El,Pl,Tl,Da,Cl,dd,_o=class r extends yo{constructor(e){super(),ge.add(this),ar.set(this,void 0),Mn.set(this,void 0),Or.set(this,void 0),U(this,ar,e),U(this,Mn,[])}get currentChatCompletionSnapshot(){return v(this,Or,"f")}static fromReadableStream(e){let t=new r(null);return t._run(()=>t._fromReadableStream(e)),t}static createChatCompletion(e,t,n){let s=new r(t);return s._run(()=>s._runChatCompletion(e,{...t,stream:!0},{...n,headers:{...n?.headers,"X-Stainless-Helper-Method":"stream"}})),s}async _createChatCompletion(e,t,n){super._createChatCompletion;let s=n?.signal;s&&(s.aborted&&this.controller.abort(),s.addEventListener("abort",()=>this.controller.abort())),v(this,ge,"m",Sl).call(this);let i=await e.chat.completions.create({...t,stream:!0},{...n,signal:this.controller.signal});this._connected();for await(let a of i)v(this,ge,"m",El).call(this,a);if(i.controller.signal?.aborted)throw new Ve;return this._addChatCompletion(v(this,ge,"m",Da).call(this))}async _fromReadableStream(e,t){let n=t?.signal;n&&(n.aborted&&this.controller.abort(),n.addEventListener("abort",()=>this.controller.abort())),v(this,ge,"m",Sl).call(this),this._connected();let s=en.fromReadableStream(e,this.controller),i;for await(let a of s)i&&i!==a.id&&this._addChatCompletion(v(this,ge,"m",Da).call(this)),v(this,ge,"m",El).call(this,a),i=a.id;if(s.controller.signal?.aborted)throw new Ve;return this._addChatCompletion(v(this,ge,"m",Da).call(this))}[(ar=new WeakMap,Mn=new WeakMap,Or=new WeakMap,ge=new WeakSet,Sl=function(){this.ended||U(this,Or,void 0)},$a=function(e){let t=v(this,Mn,"f")[e.index];return t||(t={content_done:!1,refusal_done:!1,logprobs_content_done:!1,logprobs_refusal_done:!1,done_tool_calls:new Set,current_tool_call_index:null},v(this,Mn,"f")[e.index]=t,t)},El=function(e){if(this.ended)return;let t=v(this,ge,"m",dd).call(this,e);this._emit("chunk",e,t);for(let n of e.choices){let s=t.choices[n.index];n.delta.content!=null&&s.message?.role==="assistant"&&s.message?.content&&(this._emit("content",n.delta.content,s.message.content),this._emit("content.delta",{delta:n.delta.content,snapshot:s.message.content,parsed:s.message.parsed})),n.delta.refusal!=null&&s.message?.role==="assistant"&&s.message?.refusal&&this._emit("refusal.delta",{delta:n.delta.refusal,snapshot:s.message.refusal}),n.logprobs?.content!=null&&s.message?.role==="assistant"&&this._emit("logprobs.content.delta",{content:n.logprobs?.content,snapshot:s.logprobs?.content??[]}),n.logprobs?.refusal!=null&&s.message?.role==="assistant"&&this._emit("logprobs.refusal.delta",{refusal:n.logprobs?.refusal,snapshot:s.logprobs?.refusal??[]});let i=v(this,ge,"m",$a).call(this,s);s.finish_reason&&(v(this,ge,"m",Tl).call(this,s),i.current_tool_call_index!=null&&v(this,ge,"m",Pl).call(this,s,i.current_tool_call_index));for(let a of n.delta.tool_calls??[])i.current_tool_call_index!==a.index&&(v(this,ge,"m",Tl).call(this,s),i.current_tool_call_index!=null&&v(this,ge,"m",Pl).call(this,s,i.current_tool_call_index)),i.current_tool_call_index=a.index;for(let a of n.delta.tool_calls??[]){let o=s.message.tool_calls?.[a.index];o?.type&&(o?.type==="function"?this._emit("tool_calls.function.arguments.delta",{name:o.function?.name,index:a.index,arguments:o.function.arguments,parsed_arguments:o.function.parsed_arguments,arguments_delta:a.function?.arguments??""}):o?.type)}}},Pl=function(e,t){if(v(this,ge,"m",$a).call(this,e).done_tool_calls.has(t))return;let n=e.message.tool_calls?.[t];if(!n)throw new Error("no tool call snapshot");if(!n.type)throw new Error("tool call snapshot missing `type`");if(n.type==="function"){let s=v(this,ar,"f")?.tools?.find(i=>fo(i)&&i.function.name===n.function.name);this._emit("tool_calls.function.arguments.done",{name:n.function.name,index:t,arguments:n.function.arguments,parsed_arguments:ti(s)?s.$parseRaw(n.function.arguments):s?.function.strict?JSON.parse(n.function.arguments):null})}else n.type},Tl=function(e){let t=v(this,ge,"m",$a).call(this,e);if(e.message.content&&!t.content_done){t.content_done=!0;let n=v(this,ge,"m",Cl).call(this);this._emit("content.done",{content:e.message.content,parsed:n?n.$parseRaw(e.message.content):null})}e.message.refusal&&!t.refusal_done&&(t.refusal_done=!0,this._emit("refusal.done",{refusal:e.message.refusal})),e.logprobs?.content&&!t.logprobs_content_done&&(t.logprobs_content_done=!0,this._emit("logprobs.content.done",{content:e.logprobs.content})),e.logprobs?.refusal&&!t.logprobs_refusal_done&&(t.logprobs_refusal_done=!0,this._emit("logprobs.refusal.done",{refusal:e.logprobs.refusal}))},Da=function(){if(this.ended)throw new j("stream has ended, this shouldn't happen");let e=v(this,Or,"f");if(!e)throw new j("request ended without sending any chunks");return U(this,Or,void 0),U(this,Mn,[]),z_(e,v(this,ar,"f"))},Cl=function(){let e=v(this,ar,"f")?.response_format;return ch(e)?e:null},dd=function(e){var t,n,s,i;let a=v(this,Or,"f"),{choices:o,...c}=e;a?Object.assign(a,c):a=U(this,Or,{...c,choices:[]});for(let{delta:u,finish_reason:l,index:h,logprobs:p=null,...f}of e.choices){let m=a.choices[h];if(m||(m=a.choices[h]={finish_reason:l,index:h,message:{},logprobs:p,...f}),p)if(!m.logprobs)m.logprobs=Object.assign({},p);else{let{content:C,refusal:M,...$}=p;Object.assign(m.logprobs,$),C&&((t=m.logprobs).content??(t.content=[]),m.logprobs.content.push(...C)),M&&((n=m.logprobs).refusal??(n.refusal=[]),m.logprobs.refusal.push(...M))}if(l&&(m.finish_reason=l,v(this,ar,"f")&&rm(v(this,ar,"f")))){if(l==="length")throw new oo;if(l==="content_filter")throw new co}if(Object.assign(m,f),!u)continue;let{content:y,refusal:_,function_call:k,role:x,tool_calls:A,...P}=u;if(Object.assign(m.message,P),_&&(m.message.refusal=(m.message.refusal||"")+_),x&&(m.message.role=x),k&&(m.message.function_call?(k.name&&(m.message.function_call.name=k.name),k.arguments&&((s=m.message.function_call).arguments??(s.arguments=""),m.message.function_call.arguments+=k.arguments)):m.message.function_call=k),y&&(m.message.content=(m.message.content||"")+y,!m.message.refusal&&v(this,ge,"m",Cl).call(this)&&(m.message.parsed=pd(m.message.content))),A){m.message.tool_calls||(m.message.tool_calls=[]);for(let{index:C,id:M,type:$,function:b,...N}of A){let I=(i=m.message.tool_calls)[C]??(i[C]={});Object.assign(I,N),M&&(I.id=M),$&&(I.type=$),b&&(I.function??(I.function={name:b.name??"",arguments:""})),b?.name&&(I.function.name=b.name),b?.arguments&&(I.function.arguments+=b.arguments,M_(v(this,ar,"f"),I)&&(I.function.parsed_arguments=pd(I.function.arguments)))}}}return a},Symbol.asyncIterator)](){let e=[],t=[],n=!1;return this.on("chunk",s=>{let i=t.shift();i?i.resolve(s):e.push(s)}),this.on("end",()=>{n=!0;for(let s of t)s.resolve(void 0);t.length=0}),this.on("abort",s=>{n=!0;for(let i of t)i.reject(s);t.length=0}),this.on("error",s=>{n=!0;for(let i of t)i.reject(s);t.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:n?{value:void 0,done:!0}:new Promise((s,i)=>t.push({resolve:s,reject:i})).then(s=>s?{value:s,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}toReadableStream(){return new en(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}};function z_(r,e){let{id:t,choices:n,created:s,model:i,system_fingerprint:a,...o}=r,c={...o,id:t,choices:n.map(({message:u,finish_reason:l,index:h,logprobs:p,...f})=>{if(!l)throw new j(`missing finish_reason for choice ${h}`);let{content:m=null,function_call:y,tool_calls:_,...k}=u,x=u.role;if(!x)throw new j(`missing role for choice ${h}`);if(y){let{arguments:A,name:P}=y;if(A==null)throw new j(`missing function_call.arguments for choice ${h}`);if(!P)throw new j(`missing function_call.name for choice ${h}`);return{...f,message:{content:m,function_call:{arguments:A,name:P},role:x,refusal:u.refusal??null},finish_reason:l,index:h,logprobs:p}}return _?{...f,index:h,finish_reason:l,logprobs:p,message:{...k,role:x,content:m,refusal:u.refusal??null,tool_calls:_.map((A,P)=>{let{function:C,type:M,id:$,...b}=A,{arguments:N,name:I,...E}=C||{};if($==null)throw new j(`missing choices[${h}].tool_calls[${P}].id
|
|
110
|
-
${La(r)}`);if(M==null)throw new j(`missing choices[${h}].tool_calls[${P}].type
|
|
111
|
-
${La(r)}`);if(I==null)throw new j(`missing choices[${h}].tool_calls[${P}].function.name
|
|
112
|
-
${La(r)}`);if(N==null)throw new j(`missing choices[${h}].tool_calls[${P}].function.arguments
|
|
113
|
-
${La(r)}`);return{...b,id:$,type:M,function:{...E,name:I,arguments:N}}})}}:{...f,message:{...k,content:m,role:x,refusal:u.refusal??null},finish_reason:l,index:h,logprobs:p}}),created:s,model:i,object:"chat.completion",...a?{system_fingerprint:a}:{}};return N_(c,e)}function La(r){return JSON.stringify(r)}var Hl=class r extends _o{static fromReadableStream(e){let t=new r(null);return t._run(()=>t._fromReadableStream(e)),t}static runTools(e,t,n){let s=new r(t),i={...n,headers:{...n?.headers,"X-Stainless-Helper-Method":"runTools"}};return s._run(()=>s._runTools(e,t,i)),s}},lh=class extends L{constructor(){super(...arguments),this.messages=new tm(this._client)}create(r,e){return this._client.post("/chat/completions",{body:r,...e,stream:r.stream??!1})}retrieve(r,e){return this._client.get(T`/chat/completions/${r}`,e)}update(r,e,t){return this._client.post(T`/chat/completions/${r}`,{body:e,...t})}list(r={},e){return this._client.getAPIList("/chat/completions",le,{query:r,...e})}delete(r,e){return this._client.delete(T`/chat/completions/${r}`,e)}parse(r,e){return $_(r.tools),this._client.chat.completions.create(r,{...e,headers:{...e?.headers,"X-Stainless-Helper-Method":"chat.completions.parse"}})._thenUnwrap(t=>uh(t,r))}runTools(r,e){return r.stream?Hl.runTools(this._client,r,e):Kl.runTools(this._client,r,e)}stream(r,e){return _o.createChatCompletion(this._client,r,e)}};lh.Messages=tm;var Ks=class extends L{constructor(){super(...arguments),this.completions=new lh(this._client)}};Ks.Completions=lh;var vm=Symbol("brand.privateNullableHeaders");function*W_(r){if(!r)return;if(vm in r){let{values:n,nulls:s}=r;yield*n.entries();for(let i of s)yield[i,null];return}let e=!1,t;r instanceof Headers?t=r.entries():Qp(r)?t=r:(e=!0,t=Object.entries(r??{}));for(let n of t){let s=n[0];if(typeof s!="string")throw new TypeError("expected header name to be a string");let i=Qp(n[1])?n[1]:[n[1]],a=!1;for(let o of i)o!==void 0&&(e&&!a&&(a=!0,yield[s,null]),yield[s,o])}}var D=r=>{let e=new Headers,t=new Set;for(let n of r){let s=new Set;for(let[i,a]of W_(n)){let o=i.toLowerCase();s.has(o)||(e.delete(i),s.add(o)),a===null?(e.delete(i),t.add(o)):(e.append(i,a),t.delete(o))}}return{[vm]:!0,values:e,nulls:t}},wo=class extends L{create(e,t){return this._client.post("/audio/speech",{body:e,...t,headers:D([{Accept:"application/octet-stream"},t?.headers]),__binaryResponse:!0})}},vo=class extends L{create(e,t){return this._client.post("/audio/transcriptions",tn({body:e,...t,stream:e.stream??!1,__metadata:{model:e.model}},this._client))}},xo=class extends L{create(e,t){return this._client.post("/audio/translations",tn({body:e,...t,__metadata:{model:e.model}},this._client))}},rn=class extends L{constructor(){super(...arguments),this.transcriptions=new vo(this._client),this.translations=new xo(this._client),this.speech=new wo(this._client)}};rn.Transcriptions=vo;rn.Translations=xo;rn.Speech=wo;var Oo=class extends L{create(e,t){return this._client.post("/batches",{body:e,...t})}retrieve(e,t){return this._client.get(T`/batches/${e}`,t)}list(e={},t){return this._client.getAPIList("/batches",le,{query:e,...t})}cancel(e,t){return this._client.post(T`/batches/${e}/cancel`,t)}},ko=class extends L{create(e,t){return this._client.post("/assistants",{body:e,...t,headers:D([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}retrieve(e,t){return this._client.get(T`/assistants/${e}`,{...t,headers:D([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}update(e,t,n){return this._client.post(T`/assistants/${e}`,{body:t,...n,headers:D([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}list(e={},t){return this._client.getAPIList("/assistants",le,{query:e,...t,headers:D([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}delete(e,t){return this._client.delete(T`/assistants/${e}`,{...t,headers:D([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}},Ao=class extends L{create(e,t){return this._client.post("/realtime/sessions",{body:e,...t,headers:D([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}},So=class extends L{create(e,t){return this._client.post("/realtime/transcription_sessions",{body:e,...t,headers:D([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}},Vn=class extends L{constructor(){super(...arguments),this.sessions=new Ao(this._client),this.transcriptionSessions=new So(this._client)}};Vn.Sessions=Ao;Vn.TranscriptionSessions=So;var Eo=class extends L{create(e,t,n){return this._client.post(T`/threads/${e}/messages`,{body:t,...n,headers:D([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}retrieve(e,t,n){let{thread_id:s}=t;return this._client.get(T`/threads/${s}/messages/${e}`,{...n,headers:D([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}update(e,t,n){let{thread_id:s,...i}=t;return this._client.post(T`/threads/${s}/messages/${e}`,{body:i,...n,headers:D([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}list(e,t={},n){return this._client.getAPIList(T`/threads/${e}/messages`,le,{query:t,...n,headers:D([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}delete(e,t,n){let{thread_id:s}=t;return this._client.delete(T`/threads/${s}/messages/${e}`,{...n,headers:D([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}},Po=class extends L{retrieve(e,t,n){let{thread_id:s,run_id:i,...a}=t;return this._client.get(T`/threads/${s}/runs/${i}/steps/${e}`,{query:a,...n,headers:D([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}list(e,t,n){let{thread_id:s,...i}=t;return this._client.getAPIList(T`/threads/${s}/runs/${e}/steps`,le,{query:i,...n,headers:D([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}},K_=r=>{if(typeof Buffer<"u"){let e=Buffer.from(r,"base64");return Array.from(new Float32Array(e.buffer,e.byteOffset,e.length/Float32Array.BYTES_PER_ELEMENT))}else{let e=atob(r),t=e.length,n=new Uint8Array(t);for(let s=0;s<t;s++)n[s]=e.charCodeAt(s);return Array.from(new Float32Array(n.buffer))}},cr=r=>{if(typeof globalThis.process<"u")return globalThis.process.env?.[r]?.trim()??void 0;if(typeof globalThis.Deno<"u")return globalThis.Deno.env?.get?.(r)?.trim()},Ie,Yr,ql,qt,qa,It,Zr,Fn,Jr,To,nt,Ja,Xa,zs,Us,Fs,md,gd,bd,yd,_d,wd,vd,Qr=class extends Ws{constructor(){super(...arguments),Ie.add(this),ql.set(this,[]),qt.set(this,{}),qa.set(this,{}),It.set(this,void 0),Zr.set(this,void 0),Fn.set(this,void 0),Jr.set(this,void 0),To.set(this,void 0),nt.set(this,void 0),Ja.set(this,void 0),Xa.set(this,void 0),zs.set(this,void 0)}[(ql=new WeakMap,qt=new WeakMap,qa=new WeakMap,It=new WeakMap,Zr=new WeakMap,Fn=new WeakMap,Jr=new WeakMap,To=new WeakMap,nt=new WeakMap,Ja=new WeakMap,Xa=new WeakMap,zs=new WeakMap,Ie=new WeakSet,Symbol.asyncIterator)](){let e=[],t=[],n=!1;return this.on("event",s=>{let i=t.shift();i?i.resolve(s):e.push(s)}),this.on("end",()=>{n=!0;for(let s of t)s.resolve(void 0);t.length=0}),this.on("abort",s=>{n=!0;for(let i of t)i.reject(s);t.length=0}),this.on("error",s=>{n=!0;for(let i of t)i.reject(s);t.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:n?{value:void 0,done:!0}:new Promise((s,i)=>t.push({resolve:s,reject:i})).then(s=>s?{value:s,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}static fromReadableStream(e){let t=new Yr;return t._run(()=>t._fromReadableStream(e)),t}async _fromReadableStream(e,t){let n=t?.signal;n&&(n.aborted&&this.controller.abort(),n.addEventListener("abort",()=>this.controller.abort())),this._connected();let s=en.fromReadableStream(e,this.controller);for await(let i of s)v(this,Ie,"m",Us).call(this,i);if(s.controller.signal?.aborted)throw new Ve;return this._addRun(v(this,Ie,"m",Fs).call(this))}toReadableStream(){return new en(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}static createToolAssistantStream(e,t,n,s){let i=new Yr;return i._run(()=>i._runToolAssistantStream(e,t,n,{...s,headers:{...s?.headers,"X-Stainless-Helper-Method":"stream"}})),i}async _createToolAssistantStream(e,t,n,s){let i=s?.signal;i&&(i.aborted&&this.controller.abort(),i.addEventListener("abort",()=>this.controller.abort()));let a={...n,stream:!0},o=await e.submitToolOutputs(t,a,{...s,signal:this.controller.signal});this._connected();for await(let c of o)v(this,Ie,"m",Us).call(this,c);if(o.controller.signal?.aborted)throw new Ve;return this._addRun(v(this,Ie,"m",Fs).call(this))}static createThreadAssistantStream(e,t,n){let s=new Yr;return s._run(()=>s._threadAssistantStream(e,t,{...n,headers:{...n?.headers,"X-Stainless-Helper-Method":"stream"}})),s}static createAssistantStream(e,t,n,s){let i=new Yr;return i._run(()=>i._runAssistantStream(e,t,n,{...s,headers:{...s?.headers,"X-Stainless-Helper-Method":"stream"}})),i}currentEvent(){return v(this,Ja,"f")}currentRun(){return v(this,Xa,"f")}currentMessageSnapshot(){return v(this,It,"f")}currentRunStepSnapshot(){return v(this,zs,"f")}async finalRunSteps(){return await this.done(),Object.values(v(this,qt,"f"))}async finalMessages(){return await this.done(),Object.values(v(this,qa,"f"))}async finalRun(){if(await this.done(),!v(this,Zr,"f"))throw Error("Final run was not received.");return v(this,Zr,"f")}async _createThreadAssistantStream(e,t,n){let s=n?.signal;s&&(s.aborted&&this.controller.abort(),s.addEventListener("abort",()=>this.controller.abort()));let i={...t,stream:!0},a=await e.createAndRun(i,{...n,signal:this.controller.signal});this._connected();for await(let o of a)v(this,Ie,"m",Us).call(this,o);if(a.controller.signal?.aborted)throw new Ve;return this._addRun(v(this,Ie,"m",Fs).call(this))}async _createAssistantStream(e,t,n,s){let i=s?.signal;i&&(i.aborted&&this.controller.abort(),i.addEventListener("abort",()=>this.controller.abort()));let a={...n,stream:!0},o=await e.create(t,a,{...s,signal:this.controller.signal});this._connected();for await(let c of o)v(this,Ie,"m",Us).call(this,c);if(o.controller.signal?.aborted)throw new Ve;return this._addRun(v(this,Ie,"m",Fs).call(this))}static accumulateDelta(e,t){for(let[n,s]of Object.entries(t)){if(!e.hasOwnProperty(n)){e[n]=s;continue}let i=e[n];if(i==null){e[n]=s;continue}if(n==="index"||n==="type"){e[n]=s;continue}if(typeof i=="string"&&typeof s=="string")i+=s;else if(typeof i=="number"&&typeof s=="number")i+=s;else if(Wa(i)&&Wa(s))i=this.accumulateDelta(i,s);else if(Array.isArray(i)&&Array.isArray(s)){if(i.every(a=>typeof a=="string"||typeof a=="number")){i.push(...s);continue}for(let a of s){if(!Wa(a))throw new Error(`Expected array delta entry to be an object but got: ${a}`);let o=a.index;if(o==null)throw console.error(a),new Error("Expected array delta entry to have an `index` property");if(typeof o!="number")throw new Error(`Expected array delta entry \`index\` property to be a number but got ${o}`);let c=i[o];c==null?i.push(a):i[o]=this.accumulateDelta(c,a)}continue}else throw Error(`Unhandled record type: ${n}, deltaValue: ${s}, accValue: ${i}`);e[n]=i}return e}_addRun(e){return e}async _threadAssistantStream(e,t,n){return await this._createThreadAssistantStream(t,e,n)}async _runAssistantStream(e,t,n,s){return await this._createAssistantStream(t,e,n,s)}async _runToolAssistantStream(e,t,n,s){return await this._createToolAssistantStream(t,e,n,s)}};Yr=Qr,Us=function(r){if(!this.ended)switch(U(this,Ja,r),v(this,Ie,"m",bd).call(this,r),r.event){case"thread.created":break;case"thread.run.created":case"thread.run.queued":case"thread.run.in_progress":case"thread.run.requires_action":case"thread.run.completed":case"thread.run.incomplete":case"thread.run.failed":case"thread.run.cancelling":case"thread.run.cancelled":case"thread.run.expired":v(this,Ie,"m",vd).call(this,r);break;case"thread.run.step.created":case"thread.run.step.in_progress":case"thread.run.step.delta":case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":v(this,Ie,"m",gd).call(this,r);break;case"thread.message.created":case"thread.message.in_progress":case"thread.message.delta":case"thread.message.completed":case"thread.message.incomplete":v(this,Ie,"m",md).call(this,r);break;case"error":throw new Error("Encountered an error event in event processing - errors should be processed earlier")}},Fs=function(){if(this.ended)throw new j("stream has ended, this shouldn't happen");if(!v(this,Zr,"f"))throw Error("Final run has not been received");return v(this,Zr,"f")},md=function(r){let[e,t]=v(this,Ie,"m",_d).call(this,r,v(this,It,"f"));U(this,It,e),v(this,qa,"f")[e.id]=e;for(let n of t){let s=e.content[n.index];s?.type=="text"&&this._emit("textCreated",s.text)}switch(r.event){case"thread.message.created":this._emit("messageCreated",r.data);break;case"thread.message.in_progress":break;case"thread.message.delta":if(this._emit("messageDelta",r.data.delta,e),r.data.delta.content)for(let n of r.data.delta.content){if(n.type=="text"&&n.text){let s=n.text,i=e.content[n.index];if(i&&i.type=="text")this._emit("textDelta",s,i.text);else throw Error("The snapshot associated with this text delta is not text or missing")}if(n.index!=v(this,Fn,"f")){if(v(this,Jr,"f"))switch(v(this,Jr,"f").type){case"text":this._emit("textDone",v(this,Jr,"f").text,v(this,It,"f"));break;case"image_file":this._emit("imageFileDone",v(this,Jr,"f").image_file,v(this,It,"f"));break}U(this,Fn,n.index)}U(this,Jr,e.content[n.index])}break;case"thread.message.completed":case"thread.message.incomplete":if(v(this,Fn,"f")!==void 0){let n=r.data.content[v(this,Fn,"f")];if(n)switch(n.type){case"image_file":this._emit("imageFileDone",n.image_file,v(this,It,"f"));break;case"text":this._emit("textDone",n.text,v(this,It,"f"));break}}v(this,It,"f")&&this._emit("messageDone",r.data),U(this,It,void 0)}},gd=function(r){let e=v(this,Ie,"m",yd).call(this,r);switch(U(this,zs,e),r.event){case"thread.run.step.created":this._emit("runStepCreated",r.data);break;case"thread.run.step.delta":let t=r.data.delta;if(t.step_details&&t.step_details.type=="tool_calls"&&t.step_details.tool_calls&&e.step_details.type=="tool_calls")for(let n of t.step_details.tool_calls)n.index==v(this,To,"f")?this._emit("toolCallDelta",n,e.step_details.tool_calls[n.index]):(v(this,nt,"f")&&this._emit("toolCallDone",v(this,nt,"f")),U(this,To,n.index),U(this,nt,e.step_details.tool_calls[n.index]),v(this,nt,"f")&&this._emit("toolCallCreated",v(this,nt,"f")));this._emit("runStepDelta",r.data.delta,e);break;case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":U(this,zs,void 0),r.data.step_details.type=="tool_calls"&&v(this,nt,"f")&&(this._emit("toolCallDone",v(this,nt,"f")),U(this,nt,void 0)),this._emit("runStepDone",r.data,e);break}},bd=function(r){v(this,ql,"f").push(r),this._emit("event",r)},yd=function(r){switch(r.event){case"thread.run.step.created":return v(this,qt,"f")[r.data.id]=r.data,r.data;case"thread.run.step.delta":let e=v(this,qt,"f")[r.data.id];if(!e)throw Error("Received a RunStepDelta before creation of a snapshot");let t=r.data;if(t.delta){let n=Yr.accumulateDelta(e,t.delta);v(this,qt,"f")[r.data.id]=n}return v(this,qt,"f")[r.data.id];case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":case"thread.run.step.in_progress":v(this,qt,"f")[r.data.id]=r.data;break}if(v(this,qt,"f")[r.data.id])return v(this,qt,"f")[r.data.id];throw new Error("No snapshot available")},_d=function(r,e){let t=[];switch(r.event){case"thread.message.created":return[r.data,t];case"thread.message.delta":if(!e)throw Error("Received a delta with no existing snapshot (there should be one from message creation)");let n=r.data;if(n.delta.content)for(let s of n.delta.content)if(s.index in e.content){let i=e.content[s.index];e.content[s.index]=v(this,Ie,"m",wd).call(this,s,i)}else e.content[s.index]=s,t.push(s);return[e,t];case"thread.message.in_progress":case"thread.message.completed":case"thread.message.incomplete":if(e)return[e,t];throw Error("Received thread message event with no existing snapshot")}throw Error("Tried to accumulate a non-message event")},wd=function(r,e){return Yr.accumulateDelta(e,r)},vd=function(r){switch(U(this,Xa,r.data),r.event){case"thread.run.created":break;case"thread.run.queued":break;case"thread.run.in_progress":break;case"thread.run.requires_action":case"thread.run.cancelled":case"thread.run.failed":case"thread.run.completed":case"thread.run.expired":case"thread.run.incomplete":U(this,Zr,r.data),v(this,nt,"f")&&(this._emit("toolCallDone",v(this,nt,"f")),U(this,nt,void 0));break}};var hh=class extends L{constructor(){super(...arguments),this.steps=new Po(this._client)}create(r,e,t){let{include:n,...s}=e;return this._client.post(T`/threads/${r}/runs`,{query:{include:n},body:s,...t,headers:D([{"OpenAI-Beta":"assistants=v2"},t?.headers]),stream:e.stream??!1})}retrieve(r,e,t){let{thread_id:n}=e;return this._client.get(T`/threads/${n}/runs/${r}`,{...t,headers:D([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}update(r,e,t){let{thread_id:n,...s}=e;return this._client.post(T`/threads/${n}/runs/${r}`,{body:s,...t,headers:D([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}list(r,e={},t){return this._client.getAPIList(T`/threads/${r}/runs`,le,{query:e,...t,headers:D([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}cancel(r,e,t){let{thread_id:n}=e;return this._client.post(T`/threads/${n}/runs/${r}/cancel`,{...t,headers:D([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}async createAndPoll(r,e,t){let n=await this.create(r,e,t);return await this.poll(n.id,{thread_id:r},t)}createAndStream(r,e,t){return Qr.createAssistantStream(r,this._client.beta.threads.runs,e,t)}async poll(r,e,t){let n=D([t?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":t?.pollIntervalMs?.toString()??void 0}]);for(;;){let{data:s,response:i}=await this.retrieve(r,e,{...t,headers:{...t?.headers,...n}}).withResponse();switch(s.status){case"queued":case"in_progress":case"cancelling":let a=5e3;if(t?.pollIntervalMs)a=t.pollIntervalMs;else{let o=i.headers.get("openai-poll-after-ms");if(o){let c=parseInt(o);isNaN(c)||(a=c)}}await ei(a);break;case"requires_action":case"incomplete":case"cancelled":case"completed":case"failed":case"expired":return s}}}stream(r,e,t){return Qr.createAssistantStream(r,this._client.beta.threads.runs,e,t)}submitToolOutputs(r,e,t){let{thread_id:n,...s}=e;return this._client.post(T`/threads/${n}/runs/${r}/submit_tool_outputs`,{body:s,...t,headers:D([{"OpenAI-Beta":"assistants=v2"},t?.headers]),stream:e.stream??!1})}async submitToolOutputsAndPoll(r,e,t){let n=await this.submitToolOutputs(r,e,t);return await this.poll(n.id,e,t)}submitToolOutputsStream(r,e,t){return Qr.createToolAssistantStream(r,this._client.beta.threads.runs,e,t)}};hh.Steps=Po;var Gn=class extends L{constructor(){super(...arguments),this.runs=new hh(this._client),this.messages=new Eo(this._client)}create(e={},t){return this._client.post("/threads",{body:e,...t,headers:D([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}retrieve(e,t){return this._client.get(T`/threads/${e}`,{...t,headers:D([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}update(e,t,n){return this._client.post(T`/threads/${e}`,{body:t,...n,headers:D([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}delete(e,t){return this._client.delete(T`/threads/${e}`,{...t,headers:D([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}createAndRun(e,t){return this._client.post("/threads/runs",{body:e,...t,headers:D([{"OpenAI-Beta":"assistants=v2"},t?.headers]),stream:e.stream??!1})}async createAndRunPoll(e,t){let n=await this.createAndRun(e,t);return await this.runs.poll(n.id,{thread_id:n.thread_id},t)}createAndRunStream(e,t){return Qr.createThreadAssistantStream(e,this._client.beta.threads,t)}};Gn.Runs=hh;Gn.Messages=Eo;var nn=class extends L{constructor(){super(...arguments),this.realtime=new Vn(this._client),this.assistants=new ko(this._client),this.threads=new Gn(this._client)}};nn.Realtime=Vn;nn.Assistants=ko;nn.Threads=Gn;var Co=class extends L{create(e,t){return this._client.post("/completions",{body:e,...t,stream:e.stream??!1})}},Io=class extends L{retrieve(e,t,n){let{container_id:s}=t;return this._client.get(T`/containers/${s}/files/${e}/content`,{...n,headers:D([{Accept:"application/binary"},n?.headers]),__binaryResponse:!0})}},fh=class extends L{constructor(){super(...arguments),this.content=new Io(this._client)}create(r,e,t){return this._client.post(T`/containers/${r}/files`,tn({body:e,...t},this._client))}retrieve(r,e,t){let{container_id:n}=e;return this._client.get(T`/containers/${n}/files/${r}`,t)}list(r,e={},t){return this._client.getAPIList(T`/containers/${r}/files`,le,{query:e,...t})}delete(r,e,t){let{container_id:n}=e;return this._client.delete(T`/containers/${n}/files/${r}`,{...t,headers:D([{Accept:"*/*"},t?.headers])})}};fh.Content=Io;var Vs=class extends L{constructor(){super(...arguments),this.files=new fh(this._client)}create(e,t){return this._client.post("/containers",{body:e,...t})}retrieve(e,t){return this._client.get(T`/containers/${e}`,t)}list(e={},t){return this._client.getAPIList("/containers",le,{query:e,...t})}delete(e,t){return this._client.delete(T`/containers/${e}`,{...t,headers:D([{Accept:"*/*"},t?.headers])})}};Vs.Files=fh;var No=class extends L{create(e,t){let n=!!e.encoding_format,s=n?e.encoding_format:"base64";n&&Ce(this._client).debug("embeddings/user defined encoding_format:",e.encoding_format);let i=this._client.post("/embeddings",{body:{...e,encoding_format:s},...t});return n?i:(Ce(this._client).debug("embeddings/decoding base64 embeddings from base64"),i._thenUnwrap(a=>(a&&a.data&&a.data.forEach(o=>{let c=o.embedding;o.embedding=K_(c)}),a)))}},Ro=class extends L{retrieve(e,t,n){let{eval_id:s,run_id:i}=t;return this._client.get(T`/evals/${s}/runs/${i}/output_items/${e}`,n)}list(e,t,n){let{eval_id:s,...i}=t;return this._client.getAPIList(T`/evals/${s}/runs/${e}/output_items`,le,{query:i,...n})}},Gs=class extends L{constructor(){super(...arguments),this.outputItems=new Ro(this._client)}create(e,t,n){return this._client.post(T`/evals/${e}/runs`,{body:t,...n})}retrieve(e,t,n){let{eval_id:s}=t;return this._client.get(T`/evals/${s}/runs/${e}`,n)}list(e,t={},n){return this._client.getAPIList(T`/evals/${e}/runs`,le,{query:t,...n})}delete(e,t,n){let{eval_id:s}=t;return this._client.delete(T`/evals/${s}/runs/${e}`,n)}cancel(e,t,n){let{eval_id:s}=t;return this._client.post(T`/evals/${s}/runs/${e}`,n)}};Gs.OutputItems=Ro;var Hs=class extends L{constructor(){super(...arguments),this.runs=new Gs(this._client)}create(e,t){return this._client.post("/evals",{body:e,...t})}retrieve(e,t){return this._client.get(T`/evals/${e}`,t)}update(e,t,n){return this._client.post(T`/evals/${e}`,{body:t,...n})}list(e={},t){return this._client.getAPIList("/evals",le,{query:e,...t})}delete(e,t){return this._client.delete(T`/evals/${e}`,t)}};Hs.Runs=Gs;var xm=class extends L{create(r,e){return this._client.post("/files",tn({body:r,...e},this._client))}retrieve(r,e){return this._client.get(T`/files/${r}`,e)}list(r={},e){return this._client.getAPIList("/files",le,{query:r,...e})}delete(r,e){return this._client.delete(T`/files/${r}`,e)}content(r,e){return this._client.get(T`/files/${r}/content`,{...e,headers:D([{Accept:"application/binary"},e?.headers]),__binaryResponse:!0})}async waitForProcessing(r,{pollInterval:e=5e3,maxWait:t=1800*1e3}={}){let n=new Set(["processed","error","deleted"]),s=Date.now(),i=await this.retrieve(r);for(;!i.status||!n.has(i.status);)if(await ei(e),i=await this.retrieve(r),Date.now()-s>t)throw new zn({message:`Giving up on waiting for file ${r} to finish processing after ${t} milliseconds.`});return i}},jo=class extends L{},Om=class extends L{run(r,e){return this._client.post("/fine_tuning/alpha/graders/run",{body:r,...e})}validate(r,e){return this._client.post("/fine_tuning/alpha/graders/validate",{body:r,...e})}},qs=class extends L{constructor(){super(...arguments),this.graders=new Om(this._client)}};qs.Graders=Om;var Mo=class extends L{create(e,t,n){return this._client.getAPIList(T`/fine_tuning/checkpoints/${e}/permissions`,Kn,{body:t,method:"post",...n})}retrieve(e,t={},n){return this._client.get(T`/fine_tuning/checkpoints/${e}/permissions`,{query:t,...n})}delete(e,t,n){let{fine_tuned_model_checkpoint:s}=t;return this._client.delete(T`/fine_tuning/checkpoints/${s}/permissions/${e}`,n)}},ph=class extends L{constructor(){super(...arguments),this.permissions=new Mo(this._client)}};ph.Permissions=Mo;var $o=class extends L{list(e,t={},n){return this._client.getAPIList(T`/fine_tuning/jobs/${e}/checkpoints`,le,{query:t,...n})}},Js=class extends L{constructor(){super(...arguments),this.checkpoints=new $o(this._client)}create(e,t){return this._client.post("/fine_tuning/jobs",{body:e,...t})}retrieve(e,t){return this._client.get(T`/fine_tuning/jobs/${e}`,t)}list(e={},t){return this._client.getAPIList("/fine_tuning/jobs",le,{query:e,...t})}cancel(e,t){return this._client.post(T`/fine_tuning/jobs/${e}/cancel`,t)}listEvents(e,t={},n){return this._client.getAPIList(T`/fine_tuning/jobs/${e}/events`,le,{query:t,...n})}pause(e,t){return this._client.post(T`/fine_tuning/jobs/${e}/pause`,t)}resume(e,t){return this._client.post(T`/fine_tuning/jobs/${e}/resume`,t)}};Js.Checkpoints=$o;var Ar=class extends L{constructor(){super(...arguments),this.methods=new jo(this._client),this.jobs=new Js(this._client),this.checkpoints=new ph(this._client),this.alpha=new qs(this._client)}};Ar.Methods=jo;Ar.Jobs=Js;Ar.Checkpoints=ph;Ar.Alpha=qs;var Do=class extends L{},Xs=class extends L{constructor(){super(...arguments),this.graderModels=new Do(this._client)}};Xs.GraderModels=Do;var Lo=class extends L{createVariation(e,t){return this._client.post("/images/variations",tn({body:e,...t},this._client))}edit(e,t){return this._client.post("/images/edits",tn({body:e,...t,stream:e.stream??!1},this._client))}generate(e,t){return this._client.post("/images/generations",{body:e,...t,stream:e.stream??!1})}},Uo=class extends L{retrieve(e,t){return this._client.get(T`/models/${e}`,t)}list(e){return this._client.getAPIList("/models",Kn,e)}delete(e,t){return this._client.delete(T`/models/${e}`,t)}},Fo=class extends L{create(e,t){return this._client.post("/moderations",{body:e,...t})}};function V_(r,e){return!e||!H_(e)?{...r,output_parsed:null,output:r.output.map(t=>t.type==="function_call"?{...t,parsed_arguments:null}:t.type==="message"?{...t,content:t.content.map(n=>({...n,parsed:null}))}:t)}:km(r,e)}function km(r,e){let t=r.output.map(s=>{if(s.type==="function_call")return{...s,parsed_arguments:X_(e,s)};if(s.type==="message"){let i=s.content.map(a=>a.type==="output_text"?{...a,parsed:G_(e,a.text)}:a);return{...s,content:i}}return s}),n=Object.assign({},r,{output:t});return Object.getOwnPropertyDescriptor(r,"output_text")||Jl(n),Object.defineProperty(n,"output_parsed",{enumerable:!0,get(){for(let s of n.output)if(s.type==="message"){for(let i of s.content)if(i.type==="output_text"&&i.parsed!==null)return i.parsed}return null}}),n}function G_(r,e){return r.text?.format?.type!=="json_schema"?null:"$parseRaw"in r.text?.format?(r.text?.format).$parseRaw(e):JSON.parse(e)}function H_(r){return!!ch(r.text?.format)}function q_(r){return r?.$brand==="auto-parseable-tool"}function J_(r,e){return r.find(t=>t.type==="function"&&t.name===e)}function X_(r,e){let t=J_(r.tools??[],e.name);return{...e,...e,parsed_arguments:q_(t)?t.$parseRaw(e.arguments):t?.strict?JSON.parse(e.arguments):null}}function Jl(r){let e=[];for(let t of r.output)if(t.type==="message")for(let n of t.content)n.type==="output_text"&&e.push(n.text);r.output_text=e.join("")}var $n,Ua,kr,Fa,xd,Od,kd,Ad,Xl=class r extends Ws{constructor(e){super(),$n.add(this),Ua.set(this,void 0),kr.set(this,void 0),Fa.set(this,void 0),U(this,Ua,e)}static createResponse(e,t,n){let s=new r(t);return s._run(()=>s._createOrRetrieveResponse(e,t,{...n,headers:{...n?.headers,"X-Stainless-Helper-Method":"stream"}})),s}async _createOrRetrieveResponse(e,t,n){let s=n?.signal;s&&(s.aborted&&this.controller.abort(),s.addEventListener("abort",()=>this.controller.abort())),v(this,$n,"m",xd).call(this);let i,a=null;"response_id"in t?(i=await e.responses.retrieve(t.response_id,{stream:!0},{...n,signal:this.controller.signal,stream:!0}),a=t.starting_after??null):i=await e.responses.create({...t,stream:!0},{...n,signal:this.controller.signal}),this._connected();for await(let o of i)v(this,$n,"m",Od).call(this,o,a);if(i.controller.signal?.aborted)throw new Ve;return v(this,$n,"m",kd).call(this)}[(Ua=new WeakMap,kr=new WeakMap,Fa=new WeakMap,$n=new WeakSet,xd=function(){this.ended||U(this,kr,void 0)},Od=function(e,t){if(this.ended)return;let n=(i,a)=>{(t==null||a.sequence_number>t)&&this._emit(i,a)},s=v(this,$n,"m",Ad).call(this,e);switch(n("event",e),e.type){case"response.output_text.delta":{let i=s.output[e.output_index];if(!i)throw new j(`missing output at index ${e.output_index}`);if(i.type==="message"){let a=i.content[e.content_index];if(!a)throw new j(`missing content at index ${e.content_index}`);if(a.type!=="output_text")throw new j(`expected content to be 'output_text', got ${a.type}`);n("response.output_text.delta",{...e,snapshot:a.text})}break}case"response.function_call_arguments.delta":{let i=s.output[e.output_index];if(!i)throw new j(`missing output at index ${e.output_index}`);i.type==="function_call"&&n("response.function_call_arguments.delta",{...e,snapshot:i.arguments});break}default:n(e.type,e);break}},kd=function(){if(this.ended)throw new j("stream has ended, this shouldn't happen");let e=v(this,kr,"f");if(!e)throw new j("request ended without sending any events");U(this,kr,void 0);let t=Y_(e,v(this,Ua,"f"));return U(this,Fa,t),t},Ad=function(e){let t=v(this,kr,"f");if(!t){if(e.type!=="response.created")throw new j(`When snapshot hasn't been set yet, expected 'response.created' event, got ${e.type}`);return t=U(this,kr,e.response),t}switch(e.type){case"response.output_item.added":{t.output.push(e.item);break}case"response.content_part.added":{let n=t.output[e.output_index];if(!n)throw new j(`missing output at index ${e.output_index}`);n.type==="message"&&n.content.push(e.part);break}case"response.output_text.delta":{let n=t.output[e.output_index];if(!n)throw new j(`missing output at index ${e.output_index}`);if(n.type==="message"){let s=n.content[e.content_index];if(!s)throw new j(`missing content at index ${e.content_index}`);if(s.type!=="output_text")throw new j(`expected content to be 'output_text', got ${s.type}`);s.text+=e.delta}break}case"response.function_call_arguments.delta":{let n=t.output[e.output_index];if(!n)throw new j(`missing output at index ${e.output_index}`);n.type==="function_call"&&(n.arguments+=e.delta);break}case"response.completed":{U(this,kr,e.response);break}}return t},Symbol.asyncIterator)](){let e=[],t=[],n=!1;return this.on("event",s=>{let i=t.shift();i?i.resolve(s):e.push(s)}),this.on("end",()=>{n=!0;for(let s of t)s.resolve(void 0);t.length=0}),this.on("abort",s=>{n=!0;for(let i of t)i.reject(s);t.length=0}),this.on("error",s=>{n=!0;for(let i of t)i.reject(s);t.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:n?{value:void 0,done:!0}:new Promise((s,i)=>t.push({resolve:s,reject:i})).then(s=>s?{value:s,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}async finalResponse(){await this.done();let e=v(this,Fa,"f");if(!e)throw new j("stream ended without producing a ChatCompletion");return e}};function Y_(r,e){return V_(r,e)}var Bo=class extends L{list(e,t={},n){return this._client.getAPIList(T`/responses/${e}/input_items`,le,{query:t,...n})}},Ys=class extends L{constructor(){super(...arguments),this.inputItems=new Bo(this._client)}create(e,t){return this._client.post("/responses",{body:e,...t,stream:e.stream??!1})._thenUnwrap(n=>("object"in n&&n.object==="response"&&Jl(n),n))}retrieve(e,t={},n){return this._client.get(T`/responses/${e}`,{query:t,...n,stream:t?.stream??!1})._thenUnwrap(s=>("object"in s&&s.object==="response"&&Jl(s),s))}delete(e,t){return this._client.delete(T`/responses/${e}`,{...t,headers:D([{Accept:"*/*"},t?.headers])})}parse(e,t){return this._client.responses.create(e,t)._thenUnwrap(n=>km(n,e))}stream(e,t){return Xl.createResponse(this._client,e,t)}cancel(e,t){return this._client.post(T`/responses/${e}/cancel`,t)}};Ys.InputItems=Bo;var zo=class extends L{create(e,t,n){return this._client.post(T`/uploads/${e}/parts`,tn({body:t,...n},this._client))}},Zs=class extends L{constructor(){super(...arguments),this.parts=new zo(this._client)}create(e,t){return this._client.post("/uploads",{body:e,...t})}cancel(e,t){return this._client.post(T`/uploads/${e}/cancel`,t)}complete(e,t,n){return this._client.post(T`/uploads/${e}/complete`,{body:t,...n})}};Zs.Parts=zo;var Z_=async r=>{let e=await Promise.allSettled(r),t=e.filter(s=>s.status==="rejected");if(t.length){for(let s of t)console.error(s.reason);throw new Error(`${t.length} promise(s) failed - see the above errors`)}let n=[];for(let s of e)s.status==="fulfilled"&&n.push(s.value);return n},Wo=class extends L{create(e,t,n){return this._client.post(T`/vector_stores/${e}/file_batches`,{body:t,...n,headers:D([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}retrieve(e,t,n){let{vector_store_id:s}=t;return this._client.get(T`/vector_stores/${s}/file_batches/${e}`,{...n,headers:D([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}cancel(e,t,n){let{vector_store_id:s}=t;return this._client.post(T`/vector_stores/${s}/file_batches/${e}/cancel`,{...n,headers:D([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}async createAndPoll(e,t,n){let s=await this.create(e,t);return await this.poll(e,s.id,n)}listFiles(e,t,n){let{vector_store_id:s,...i}=t;return this._client.getAPIList(T`/vector_stores/${s}/file_batches/${e}/files`,le,{query:i,...n,headers:D([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}async poll(e,t,n){let s=D([n?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":n?.pollIntervalMs?.toString()??void 0}]);for(;;){let{data:i,response:a}=await this.retrieve(t,{vector_store_id:e},{...n,headers:s}).withResponse();switch(i.status){case"in_progress":let o=5e3;if(n?.pollIntervalMs)o=n.pollIntervalMs;else{let c=a.headers.get("openai-poll-after-ms");if(c){let u=parseInt(c);isNaN(u)||(o=u)}}await ei(o);break;case"failed":case"cancelled":case"completed":return i}}}async uploadAndPoll(e,{files:t,fileIds:n=[]},s){if(t==null||t.length==0)throw new Error("No `files` provided to process. If you've already uploaded files you should use `.createAndPoll()` instead");let i=s?.maxConcurrency??5,a=Math.min(i,t.length),o=this._client,c=t.values(),u=[...n];async function l(p){for(let f of p){let m=await o.files.create({file:f,purpose:"assistants"},s);u.push(m.id)}}let h=Array(a).fill(c).map(l);return await Z_(h),await this.createAndPoll(e,{file_ids:u})}},Ko=class extends L{create(e,t,n){return this._client.post(T`/vector_stores/${e}/files`,{body:t,...n,headers:D([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}retrieve(e,t,n){let{vector_store_id:s}=t;return this._client.get(T`/vector_stores/${s}/files/${e}`,{...n,headers:D([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}update(e,t,n){let{vector_store_id:s,...i}=t;return this._client.post(T`/vector_stores/${s}/files/${e}`,{body:i,...n,headers:D([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}list(e,t={},n){return this._client.getAPIList(T`/vector_stores/${e}/files`,le,{query:t,...n,headers:D([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}delete(e,t,n){let{vector_store_id:s}=t;return this._client.delete(T`/vector_stores/${s}/files/${e}`,{...n,headers:D([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}async createAndPoll(e,t,n){let s=await this.create(e,t,n);return await this.poll(e,s.id,n)}async poll(e,t,n){let s=D([n?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":n?.pollIntervalMs?.toString()??void 0}]);for(;;){let i=await this.retrieve(t,{vector_store_id:e},{...n,headers:s}).withResponse(),a=i.data;switch(a.status){case"in_progress":let o=5e3;if(n?.pollIntervalMs)o=n.pollIntervalMs;else{let c=i.response.headers.get("openai-poll-after-ms");if(c){let u=parseInt(c);isNaN(u)||(o=u)}}await ei(o);break;case"failed":case"completed":return a}}}async upload(e,t,n){let s=await this._client.files.create({file:t,purpose:"assistants"},n);return this.create(e,{file_id:s.id},n)}async uploadAndPoll(e,t,n){let s=await this.upload(e,t,n);return await this.poll(e,s.id,n)}content(e,t,n){let{vector_store_id:s}=t;return this._client.getAPIList(T`/vector_stores/${s}/files/${e}/content`,Kn,{...n,headers:D([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}},Hn=class extends L{constructor(){super(...arguments),this.files=new Ko(this._client),this.fileBatches=new Wo(this._client)}create(e,t){return this._client.post("/vector_stores",{body:e,...t,headers:D([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}retrieve(e,t){return this._client.get(T`/vector_stores/${e}`,{...t,headers:D([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}update(e,t,n){return this._client.post(T`/vector_stores/${e}`,{body:t,...n,headers:D([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}list(e={},t){return this._client.getAPIList("/vector_stores",le,{query:e,...t,headers:D([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}delete(e,t){return this._client.delete(T`/vector_stores/${e}`,{...t,headers:D([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}search(e,t,n){return this._client.getAPIList(T`/vector_stores/${e}/search`,Kn,{body:t,method:"post",...n,headers:D([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}};Hn.Files=Ko;Hn.FileBatches=Wo;var Un,Am,Ya,Vo=class extends L{constructor(){super(...arguments),Un.add(this)}async unwrap(e,t,n=this._client.webhookSecret,s=300){return await this.verifySignature(e,t,n,s),JSON.parse(e)}async verifySignature(e,t,n=this._client.webhookSecret,s=300){if(typeof crypto>"u"||typeof crypto.subtle.importKey!="function"||typeof crypto.subtle.verify!="function")throw new Error("Webhook signature verification is only supported when the `crypto` global is defined");v(this,Un,"m",Am).call(this,n);let i=D([t]).values,a=v(this,Un,"m",Ya).call(this,i,"webhook-signature"),o=v(this,Un,"m",Ya).call(this,i,"webhook-timestamp"),c=v(this,Un,"m",Ya).call(this,i,"webhook-id"),u=parseInt(o,10);if(isNaN(u))throw new Xr("Invalid webhook timestamp format");let l=Math.floor(Date.now()/1e3);if(l-u>s)throw new Xr("Webhook timestamp is too old");if(u>l+s)throw new Xr("Webhook timestamp is too new");let h=a.split(" ").map(y=>y.startsWith("v1,")?y.substring(3):y),p=n.startsWith("whsec_")?Buffer.from(n.replace("whsec_",""),"base64"):Buffer.from(n,"utf-8"),f=c?`${c}.${o}.${e}`:`${o}.${e}`,m=await crypto.subtle.importKey("raw",p,{name:"HMAC",hash:"SHA-256"},!1,["verify"]);for(let y of h)try{let _=Buffer.from(y,"base64");if(await crypto.subtle.verify("HMAC",m,_,new TextEncoder().encode(f)))return}catch{continue}throw new Xr("The given webhook signature does not match the expected signature")}};Un=new WeakSet,Am=function(r){if(typeof r!="string"||r.length===0)throw new Error("The webhook secret must either be set using the env var, OPENAI_WEBHOOK_SECRET, on the client class, OpenAI({ webhookSecret: '123' }), or passed to this function")},Ya=function(r,e){if(!r)throw new Error("Headers are required");let t=r.get(e);if(t==null)throw new Error(`Missing required header: ${e}`);return t};var Yl,dh,Za,Sm,V=class{constructor({baseURL:r=cr("OPENAI_BASE_URL"),apiKey:e=cr("OPENAI_API_KEY"),organization:t=cr("OPENAI_ORG_ID")??null,project:n=cr("OPENAI_PROJECT_ID")??null,webhookSecret:s=cr("OPENAI_WEBHOOK_SECRET")??null,...i}={}){if(Yl.add(this),Za.set(this,void 0),this.completions=new Co(this),this.chat=new Ks(this),this.embeddings=new No(this),this.files=new xm(this),this.images=new Lo(this),this.audio=new rn(this),this.moderations=new Fo(this),this.models=new Uo(this),this.fineTuning=new Ar(this),this.graders=new Xs(this),this.vectorStores=new Hn(this),this.webhooks=new Vo(this),this.beta=new nn(this),this.batches=new Oo(this),this.uploads=new Zs(this),this.responses=new Ys(this),this.evals=new Hs(this),this.containers=new Vs(this),e===void 0)throw new j("The OPENAI_API_KEY environment variable is missing or empty; either provide it, or instantiate the OpenAI client with an apiKey option, like new OpenAI({ apiKey: 'My API Key' }).");let a={apiKey:e,organization:t,project:n,webhookSecret:s,...i,baseURL:r||"https://api.openai.com/v1"};if(!a.dangerouslyAllowBrowser&&r_())throw new j(`It looks like you're running in a browser-like environment.
|
|
114
|
-
|
|
115
|
-
This is disabled by default, as it risks exposing your secret API credentials to attackers.
|
|
116
|
-
If you understand the risks and have appropriate mitigations in place,
|
|
117
|
-
you can set the \`dangerouslyAllowBrowser\` option to \`true\`, e.g.,
|
|
118
|
-
|
|
119
|
-
new OpenAI({ apiKey, dangerouslyAllowBrowser: true });
|
|
120
|
-
|
|
121
|
-
https://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety
|
|
122
|
-
`);this.baseURL=a.baseURL,this.timeout=a.timeout??dh.DEFAULT_TIMEOUT,this.logger=a.logger??console;let o="warn";this.logLevel=o,this.logLevel=ud(a.logLevel,"ClientOptions.logLevel",this)??ud(cr("OPENAI_LOG"),"process.env['OPENAI_LOG']",this)??o,this.fetchOptions=a.fetchOptions,this.maxRetries=a.maxRetries??2,this.fetch=a.fetch??o_(),U(this,Za,u_),this._options=a,this.apiKey=e,this.organization=t,this.project=n,this.webhookSecret=s}withOptions(r){return new this.constructor({...this._options,baseURL:this.baseURL,maxRetries:this.maxRetries,timeout:this.timeout,logger:this.logger,logLevel:this.logLevel,fetch:this.fetch,fetchOptions:this.fetchOptions,apiKey:this.apiKey,organization:this.organization,project:this.project,webhookSecret:this.webhookSecret,...r})}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:r,nulls:e}){}async authHeaders(r){return D([{Authorization:`Bearer ${this.apiKey}`}])}stringifyQuery(r){return m_(r,{arrayFormat:"brackets"})}getUserAgent(){return`${this.constructor.name}/JS ${Dn}`}defaultIdempotencyKey(){return`stainless-node-retry-${Fd()}`}makeStatusError(r,e,t,n){return Ue.generate(r,e,t,n)}buildURL(r,e,t){let n=!v(this,Yl,"m",Sm).call(this)&&t||this.baseURL,s=Xy(r)?new URL(r):new URL(n+(n.endsWith("/")&&r.startsWith("/")?r.slice(1):r)),i=this.defaultQuery();return Zy(i)||(e={...i,...e}),typeof e=="object"&&e&&!Array.isArray(e)&&(s.search=this.stringifyQuery(e)),s.toString()}async prepareOptions(r){}async prepareRequest(r,{url:e,options:t}){}get(r,e){return this.methodRequest("get",r,e)}post(r,e){return this.methodRequest("post",r,e)}patch(r,e){return this.methodRequest("patch",r,e)}put(r,e){return this.methodRequest("put",r,e)}delete(r,e){return this.methodRequest("delete",r,e)}methodRequest(r,e,t){return this.request(Promise.resolve(t).then(n=>({method:r,path:e,...n})))}request(r,e=null){return new lo(this,this.makeRequest(r,e,void 0))}async makeRequest(r,e,t){let n=await r,s=n.maxRetries??this.maxRetries;e==null&&(e=s),await this.prepareOptions(n);let{req:i,url:a,timeout:o}=await this.buildRequest(n,{retryCount:s-e});await this.prepareRequest(i,{url:a,options:n});let c="log_"+(Math.random()*(1<<24)|0).toString(16).padStart(6,"0"),u=t===void 0?"":`, retryOf: ${t}`,l=Date.now();if(Ce(this).debug(`[${c}] sending request`,qr({retryOfRequestLogID:t,method:n.method,url:a,options:n,headers:i.headers})),n.signal?.aborted)throw new Ve;let h=new AbortController,p=await this.fetchWithTimeout(a,i,o,h).catch(Rl),f=Date.now();if(p instanceof Error){let _=`retrying, ${e} attempts remaining`;if(n.signal?.aborted)throw new Ve;let k=Nl(p)||/timed? ?out/i.test(String(p)+("cause"in p?String(p.cause):""));if(e)return Ce(this).info(`[${c}] connection ${k?"timed out":"failed"} - ${_}`),Ce(this).debug(`[${c}] connection ${k?"timed out":"failed"} (${_})`,qr({retryOfRequestLogID:t,url:a,durationMs:f-l,message:p.message})),this.retryRequest(n,e,t??c);throw Ce(this).info(`[${c}] connection ${k?"timed out":"failed"} - error; no more retries left`),Ce(this).debug(`[${c}] connection ${k?"timed out":"failed"} (error; no more retries left)`,qr({retryOfRequestLogID:t,url:a,durationMs:f-l,message:p.message})),k?new zn:new Bn({cause:p})}let m=[...p.headers.entries()].filter(([_])=>_==="x-request-id").map(([_,k])=>", "+_+": "+JSON.stringify(k)).join(""),y=`[${c}${u}${m}] ${i.method} ${a} ${p.ok?"succeeded":"failed"} with status ${p.status} in ${f-l}ms`;if(!p.ok){let _=await this.shouldRetry(p);if(e&&_){let C=`retrying, ${e} attempts remaining`;return await c_(p.body),Ce(this).info(`${y} - ${C}`),Ce(this).debug(`[${c}] response error (${C})`,qr({retryOfRequestLogID:t,url:p.url,status:p.status,headers:p.headers,durationMs:f-l})),this.retryRequest(n,e,t??c,p.headers)}let k=_?"error; no more retries left":"error; not retryable";Ce(this).info(`${y} - ${k}`);let x=await p.text().catch(C=>Rl(C).message),A=t_(x),P=A?void 0:x;throw Ce(this).debug(`[${c}] response error (${k})`,qr({retryOfRequestLogID:t,url:p.url,status:p.status,headers:p.headers,message:P,durationMs:Date.now()-l})),this.makeStatusError(p.status,A,P,p.headers)}return Ce(this).info(y),Ce(this).debug(`[${c}] response start`,qr({retryOfRequestLogID:t,url:p.url,status:p.status,headers:p.headers,durationMs:f-l})),{response:p,options:n,controller:h,requestLogID:c,retryOfRequestLogID:t,startTime:l}}getAPIList(r,e,t){return this.requestAPIList(e,{method:"get",path:r,...t})}requestAPIList(r,e){let t=this.makeRequest(e,null,void 0);return new $l(this,t,r)}async fetchWithTimeout(r,e,t,n){let{signal:s,method:i,...a}=e||{};s&&s.addEventListener("abort",()=>n.abort());let o=setTimeout(()=>n.abort(),t),c=globalThis.ReadableStream&&a.body instanceof globalThis.ReadableStream||typeof a.body=="object"&&a.body!==null&&Symbol.asyncIterator in a.body,u={signal:n.signal,...c?{duplex:"half"}:{},method:"GET",...a};i&&(u.method=i.toUpperCase());try{return await this.fetch.call(void 0,r,u)}finally{clearTimeout(o)}}async shouldRetry(r){let e=r.headers.get("x-should-retry");return e==="true"?!0:e==="false"?!1:r.status===408||r.status===409||r.status===429||r.status>=500}async retryRequest(r,e,t,n){let s,i=n?.get("retry-after-ms");if(i){let o=parseFloat(i);Number.isNaN(o)||(s=o)}let a=n?.get("retry-after");if(a&&!s){let o=parseFloat(a);Number.isNaN(o)?s=Date.parse(a)-Date.now():s=o*1e3}if(!(s&&0<=s&&s<60*1e3)){let o=r.maxRetries??this.maxRetries;s=this.calculateDefaultRetryTimeoutMillis(e,o)}return await ei(s),this.makeRequest(r,e-1,t)}calculateDefaultRetryTimeoutMillis(r,e){let t=e-r,n=Math.min(.5*Math.pow(2,t),8),s=1-Math.random()*.25;return n*s*1e3}async buildRequest(r,{retryCount:e=0}={}){let t={...r},{method:n,path:s,query:i,defaultBaseURL:a}=t,o=this.buildURL(s,i,a);"timeout"in t&&e_("timeout",t.timeout),t.timeout=t.timeout??this.timeout;let{bodyHeaders:c,body:u}=this.buildBody({options:t}),l=await this.buildHeaders({options:r,method:n,bodyHeaders:c,retryCount:e});return{req:{method:n,headers:l,...t.signal&&{signal:t.signal},...globalThis.ReadableStream&&u instanceof globalThis.ReadableStream&&{duplex:"half"},...u&&{body:u},...this.fetchOptions??{},...t.fetchOptions??{}},url:o,timeout:t.timeout}}async buildHeaders({options:r,method:e,bodyHeaders:t,retryCount:n}){let s={};this.idempotencyHeader&&e!=="get"&&(r.idempotencyKey||(r.idempotencyKey=this.defaultIdempotencyKey()),s[this.idempotencyHeader]=r.idempotencyKey);let i=D([s,{Accept:"application/json","User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(n),...r.timeout?{"X-Stainless-Timeout":String(Math.trunc(r.timeout/1e3))}:{},...a_(),"OpenAI-Organization":this.organization,"OpenAI-Project":this.project},await this.authHeaders(r),this._options.defaultHeaders,t,r.headers]);return this.validateHeaders(i),i.values}buildBody({options:{body:r,headers:e}}){if(!r)return{bodyHeaders:void 0,body:void 0};let t=D([e]);return ArrayBuffer.isView(r)||r instanceof ArrayBuffer||r instanceof DataView||typeof r=="string"&&t.values.has("content-type")||r instanceof Blob||r instanceof FormData||r instanceof URLSearchParams||globalThis.ReadableStream&&r instanceof globalThis.ReadableStream?{bodyHeaders:void 0,body:r}:typeof r=="object"&&(Symbol.asyncIterator in r||Symbol.iterator in r&&"next"in r&&typeof r.next=="function")?{bodyHeaders:void 0,body:zd(r)}:v(this,Za,"f").call(this,{body:r,headers:t})}};dh=V,Za=new WeakMap,Yl=new WeakSet,Sm=function(){return this.baseURL!=="https://api.openai.com/v1"};V.OpenAI=dh;V.DEFAULT_TIMEOUT=6e5;V.OpenAIError=j;V.APIError=Ue;V.APIConnectionError=Bn;V.APIConnectionTimeoutError=zn;V.APIUserAbortError=Ve;V.NotFoundError=ro;V.ConflictError=no;V.RateLimitError=io;V.BadRequestError=Qa;V.AuthenticationError=eo;V.InternalServerError=ao;V.PermissionDeniedError=to;V.UnprocessableEntityError=so;V.InvalidWebhookSignatureError=Xr;V.toFile=P_;V.Completions=Co;V.Chat=Ks;V.Embeddings=No;V.Files=xm;V.Images=Lo;V.Audio=rn;V.Moderations=Fo;V.Models=Uo;V.FineTuning=Ar;V.Graders=Xs;V.VectorStores=Hn;V.Webhooks=Vo;V.Beta=nn;V.Batches=Oo;V.Uploads=Zs;V.Responses=Ys;V.Evals=Hs;V.Containers=Vs;var Q_=class extends V{constructor({baseURL:r=cr("OPENAI_BASE_URL"),apiKey:e=cr("AZURE_OPENAI_API_KEY"),apiVersion:t=cr("OPENAI_API_VERSION"),endpoint:n,deployment:s,azureADTokenProvider:i,dangerouslyAllowBrowser:a,...o}={}){if(!t)throw new j("The OPENAI_API_VERSION environment variable is missing or empty; either provide it, or instantiate the AzureOpenAI client with an apiVersion option, like new AzureOpenAI({ apiVersion: 'My API Version' }).");if(typeof i=="function"&&(a=!0),!i&&!e)throw new j("Missing credentials. Please pass one of `apiKey` and `azureADTokenProvider`, or set the `AZURE_OPENAI_API_KEY` environment variable.");if(i&&e)throw new j("The `apiKey` and `azureADTokenProvider` arguments are mutually exclusive; only one can be passed at a time.");if(e??(e=Sd),o.defaultQuery={...o.defaultQuery,"api-version":t},r){if(n)throw new j("baseURL and endpoint are mutually exclusive")}else{if(n||(n=process.env.AZURE_OPENAI_ENDPOINT),!n)throw new j("Must provide one of the `baseURL` or `endpoint` arguments, or the `AZURE_OPENAI_ENDPOINT` environment variable");r=`${n}/openai`}super({apiKey:e,baseURL:r,...o,...a!==void 0?{dangerouslyAllowBrowser:a}:{}}),this.apiVersion="",this._azureADTokenProvider=i,this.apiVersion=t,this.deploymentName=s}async buildRequest(r,e={}){if(ew.has(r.path)&&r.method==="post"&&r.body!==void 0){if(!Wa(r.body))throw new Error("Expected request body to be an object");let t=this.deploymentName||r.body.model||r.__metadata?.model;t!==void 0&&!this.baseURL.includes("/deployments")&&(r.path=`/deployments/${t}${r.path}`)}return super.buildRequest(r,e)}async _getAzureADToken(){if(typeof this._azureADTokenProvider=="function"){let r=await this._azureADTokenProvider();if(!r||typeof r!="string")throw new j(`Expected 'azureADTokenProvider' argument to return a string but it returned ${r}`);return r}}async authHeaders(r){}async prepareOptions(r){if(r.headers=D([r.headers]),r.headers.values.get("Authorization")||r.headers.values.get("api-key"))return super.prepareOptions(r);let e=await this._getAzureADToken();if(e)r.headers.values.set("Authorization",`Bearer ${e}`);else if(this.apiKey!==Sd)r.headers.values.set("api-key",this.apiKey);else throw new j("Unable to handle auth");return super.prepareOptions(r)}},ew=new Set(["/completions","/chat/completions","/embeddings","/audio/transcriptions","/audio/translations","/audio/speech","/images/generations","/batches","/images/edits"]),Sd="<Missing Key>";function Em(r){let{azureOpenAIApiDeploymentName:e,azureOpenAIApiInstanceName:t,azureOpenAIApiKey:n,azureOpenAIBasePath:s,baseURL:i,azureADTokenProvider:a,azureOpenAIEndpoint:o}=r;if((n||a)&&s&&e)return`${s}/${e}`;if((n||a)&&o&&e)return`${o}/openai/deployments/${e}`;if(n||a){if(!t)throw new Error("azureOpenAIApiInstanceName is required when using azureOpenAIApiKey");if(!e)throw new Error("azureOpenAIApiDeploymentName is a required parameter when using azureOpenAIApiKey");return`https://${t}.openai.azure.com/openai/deployments/${e}`}return i}var tw=Symbol("Let zodToJsonSchema decide on which parser to use"),Ed={name:void 0,$refStrategy:"root",effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",nullableStrategy:"from-target",removeAdditionalStrategy:"passthrough",definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref"},rw=r=>typeof r=="string"?{...Ed,basePath:["#"],definitions:{},name:r}:{...Ed,basePath:["#"],definitions:{},...r},Zl=r=>"_def"in r?r._def:r;function nw(r){if(!r)return!0;for(let e in r)return!1;return!0}var sw=r=>{let e=rw(r),t=e.name!==void 0?[...e.basePath,e.definitionPath,e.name]:e.basePath;return{...e,currentPath:t,propertyPath:void 0,seenRefs:new Set,seen:new Map(Object.entries(e.definitions).map(([n,s])=>[Zl(s),{def:Zl(s),path:[...e.basePath,e.definitionPath,n],jsonSchema:void 0}]))}};function Pm(r,e,t,n){n?.errorMessages&&t&&(r.errorMessage={...r.errorMessage,[e]:t})}function ee(r,e,t,n,s){r[e]=t,Pm(r,e,n,s)}function iw(){return{}}function aw(r,e){let t={type:"array"};return r.type?._def?.typeName!==B.ZodAny&&(t.items=Y(r.type._def,{...e,currentPath:[...e.currentPath,"items"]})),r.minLength&&ee(t,"minItems",r.minLength.value,r.minLength.message,e),r.maxLength&&ee(t,"maxItems",r.maxLength.value,r.maxLength.message,e),r.exactLength&&(ee(t,"minItems",r.exactLength.value,r.exactLength.message,e),ee(t,"maxItems",r.exactLength.value,r.exactLength.message,e)),t}function ow(r,e){let t={type:"integer",format:"int64"};if(!r.checks)return t;for(let n of r.checks)switch(n.kind){case"min":e.target==="jsonSchema7"?n.inclusive?ee(t,"minimum",n.value,n.message,e):ee(t,"exclusiveMinimum",n.value,n.message,e):(n.inclusive||(t.exclusiveMinimum=!0),ee(t,"minimum",n.value,n.message,e));break;case"max":e.target==="jsonSchema7"?n.inclusive?ee(t,"maximum",n.value,n.message,e):ee(t,"exclusiveMaximum",n.value,n.message,e):(n.inclusive||(t.exclusiveMaximum=!0),ee(t,"maximum",n.value,n.message,e));break;case"multipleOf":ee(t,"multipleOf",n.value,n.message,e);break}return t}function cw(){return{type:"boolean"}}function uw(r,e){return Y(r.type._def,e)}var lw=(r,e)=>Y(r.innerType._def,e);function Tm(r,e,t){let n=t??e.dateStrategy;if(Array.isArray(n))return{anyOf:n.map((s,i)=>Tm(r,e,s))};switch(n){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return hw(r,e)}}var hw=(r,e)=>{let t={type:"integer",format:"unix-time"};if(e.target==="openApi3")return t;for(let n of r.checks)switch(n.kind){case"min":ee(t,"minimum",n.value,n.message,e);break;case"max":ee(t,"maximum",n.value,n.message,e);break}return t};function fw(r,e){return{...Y(r.innerType._def,e),default:r.defaultValue()}}function pw(r,e,t){return e.effectStrategy==="input"?Y(r.schema._def,e,t):{}}function dw(r){return{type:"string",enum:[...r.values]}}var mw=r=>"type"in r&&r.type==="string"?!1:"allOf"in r;function gw(r,e){let t=[Y(r.left._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),Y(r.right._def,{...e,currentPath:[...e.currentPath,"allOf","1"]})].filter(i=>!!i),n=e.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,s=[];return t.forEach(i=>{if(mw(i))s.push(...i.allOf),i.unevaluatedProperties===void 0&&(n=void 0);else{let a=i;if("additionalProperties"in i&&i.additionalProperties===!1){let{additionalProperties:o,...c}=i;a=c}else n=void 0;s.push(a)}}),s.length?{allOf:s,...n}:void 0}function bw(r,e){let t=typeof r.value;return t!=="bigint"&&t!=="number"&&t!=="boolean"&&t!=="string"?{type:Array.isArray(r.value)?"array":"object"}:e.target==="openApi3"?{type:t==="bigint"?"integer":t,enum:[r.value]}:{type:t==="bigint"?"integer":t,const:r.value}}var Il,Hr={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:()=>(Il===void 0&&(Il=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),Il),base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/};function Cm(r,e){let t={type:"string"};function n(s){return e.patternStrategy==="escape"?yw(s):s}if(r.checks)for(let s of r.checks)switch(s.kind){case"min":ee(t,"minLength",typeof t.minLength=="number"?Math.max(t.minLength,s.value):s.value,s.message,e);break;case"max":ee(t,"maxLength",typeof t.maxLength=="number"?Math.min(t.maxLength,s.value):s.value,s.message,e);break;case"email":switch(e.emailStrategy){case"format:email":Tt(t,"email",s.message,e);break;case"format:idn-email":Tt(t,"idn-email",s.message,e);break;case"pattern:zod":Ct(t,Hr.email,s.message,e);break}break;case"url":Tt(t,"uri",s.message,e);break;case"uuid":Tt(t,"uuid",s.message,e);break;case"regex":Ct(t,s.regex,s.message,e);break;case"cuid":Ct(t,Hr.cuid,s.message,e);break;case"cuid2":Ct(t,Hr.cuid2,s.message,e);break;case"startsWith":Ct(t,RegExp(`^${n(s.value)}`),s.message,e);break;case"endsWith":Ct(t,RegExp(`${n(s.value)}$`),s.message,e);break;case"datetime":Tt(t,"date-time",s.message,e);break;case"date":Tt(t,"date",s.message,e);break;case"time":Tt(t,"time",s.message,e);break;case"duration":Tt(t,"duration",s.message,e);break;case"length":ee(t,"minLength",typeof t.minLength=="number"?Math.max(t.minLength,s.value):s.value,s.message,e),ee(t,"maxLength",typeof t.maxLength=="number"?Math.min(t.maxLength,s.value):s.value,s.message,e);break;case"includes":{Ct(t,RegExp(n(s.value)),s.message,e);break}case"ip":{s.version!=="v6"&&Tt(t,"ipv4",s.message,e),s.version!=="v4"&&Tt(t,"ipv6",s.message,e);break}case"emoji":Ct(t,Hr.emoji,s.message,e);break;case"ulid":{Ct(t,Hr.ulid,s.message,e);break}case"base64":{switch(e.base64Strategy){case"format:binary":{Tt(t,"binary",s.message,e);break}case"contentEncoding:base64":{ee(t,"contentEncoding","base64",s.message,e);break}case"pattern:zod":{Ct(t,Hr.base64,s.message,e);break}}break}case"nanoid":Ct(t,Hr.nanoid,s.message,e)}return t}var yw=r=>Array.from(r).map(e=>/[a-zA-Z0-9]/.test(e)?e:`\\${e}`).join(""),Tt=(r,e,t,n)=>{r.format||r.anyOf?.some(s=>s.format)?(r.anyOf||(r.anyOf=[]),r.format&&(r.anyOf.push({format:r.format,...r.errorMessage&&n.errorMessages&&{errorMessage:{format:r.errorMessage.format}}}),delete r.format,r.errorMessage&&(delete r.errorMessage.format,Object.keys(r.errorMessage).length===0&&delete r.errorMessage)),r.anyOf.push({format:e,...t&&n.errorMessages&&{errorMessage:{format:t}}})):ee(r,"format",e,t,n)},Ct=(r,e,t,n)=>{r.pattern||r.allOf?.some(s=>s.pattern)?(r.allOf||(r.allOf=[]),r.pattern&&(r.allOf.push({pattern:r.pattern,...r.errorMessage&&n.errorMessages&&{errorMessage:{pattern:r.errorMessage.pattern}}}),delete r.pattern,r.errorMessage&&(delete r.errorMessage.pattern,Object.keys(r.errorMessage).length===0&&delete r.errorMessage)),r.allOf.push({pattern:Pd(e,n),...t&&n.errorMessages&&{errorMessage:{pattern:t}}})):ee(r,"pattern",Pd(e,n),t,n)},Pd=(r,e)=>{let t=typeof r=="function"?r():r;if(!e.applyRegexFlags||!t.flags)return t.source;let n={i:t.flags.includes("i"),m:t.flags.includes("m"),s:t.flags.includes("s")},s=n.i?t.source.toLowerCase():t.source,i="",a=!1,o=!1,c=!1;for(let u=0;u<s.length;u++){if(a){i+=s[u],a=!1;continue}if(n.i){if(o){if(s[u].match(/[a-z]/)){c?(i+=s[u],i+=`${s[u-2]}-${s[u]}`.toUpperCase(),c=!1):s[u+1]==="-"&&s[u+2]?.match(/[a-z]/)?(i+=s[u],c=!0):i+=`${s[u]}${s[u].toUpperCase()}`;continue}}else if(s[u].match(/[a-z]/)){i+=`[${s[u]}${s[u].toUpperCase()}]`;continue}}if(n.m){if(s[u]==="^"){i+=`(^|(?<=[\r
|
|
123
|
-
]))`;continue}else if(s[u]==="$"){i+=`($|(?=[\r
|
|
124
|
-
]))`;continue}}if(n.s&&s[u]==="."){i+=o?`${s[u]}\r
|
|
125
|
-
`:`[${s[u]}\r
|
|
126
|
-
]`;continue}i+=s[u],s[u]==="\\"?a=!0:o&&s[u]==="]"?o=!1:!o&&s[u]==="["&&(o=!0)}try{let u=new RegExp(i)}catch{return console.warn(`Could not convert regex pattern at ${e.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),t.source}return i};function Im(r,e){if(e.target==="openApi3"&&r.keyType?._def.typeName===B.ZodEnum)return{type:"object",required:r.keyType._def.values,properties:r.keyType._def.values.reduce((n,s)=>({...n,[s]:Y(r.valueType._def,{...e,currentPath:[...e.currentPath,"properties",s]})??{}}),{}),additionalProperties:!1};let t={type:"object",additionalProperties:Y(r.valueType._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??{}};if(e.target==="openApi3")return t;if(r.keyType?._def.typeName===B.ZodString&&r.keyType._def.checks?.length){let n=Object.entries(Cm(r.keyType._def,e)).reduce((s,[i,a])=>i==="type"?s:{...s,[i]:a},{});return{...t,propertyNames:n}}else if(r.keyType?._def.typeName===B.ZodEnum)return{...t,propertyNames:{enum:r.keyType._def.values}};return t}function _w(r,e){if(e.mapStrategy==="record")return Im(r,e);let t=Y(r.keyType._def,{...e,currentPath:[...e.currentPath,"items","items","0"]})||{},n=Y(r.valueType._def,{...e,currentPath:[...e.currentPath,"items","items","1"]})||{};return{type:"array",maxItems:125,items:{type:"array",items:[t,n],minItems:2,maxItems:2}}}function ww(r){let e=r.values,t=Object.keys(r.values).filter(s=>typeof e[e[s]]!="number").map(s=>e[s]),n=Array.from(new Set(t.map(s=>typeof s)));return{type:n.length===1?n[0]==="string"?"string":"number":["string","number"],enum:t}}function vw(){return{not:{}}}function xw(r){return r.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var Go={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function Ow(r,e){if(e.target==="openApi3")return Td(r,e);let t=r.options instanceof Map?Array.from(r.options.values()):r.options;if(t.every(n=>n._def.typeName in Go&&(!n._def.checks||!n._def.checks.length))){let n=t.reduce((s,i)=>{let a=Go[i._def.typeName];return a&&!s.includes(a)?[...s,a]:s},[]);return{type:n.length>1?n:n[0]}}else if(t.every(n=>n._def.typeName==="ZodLiteral"&&!n.description)){let n=t.reduce((s,i)=>{let a=typeof i._def.value;switch(a){case"string":case"number":case"boolean":return[...s,a];case"bigint":return[...s,"integer"];case"object":if(i._def.value===null)return[...s,"null"];case"symbol":case"undefined":case"function":default:return s}},[]);if(n.length===t.length){let s=n.filter((i,a,o)=>o.indexOf(i)===a);return{type:s.length>1?s:s[0],enum:t.reduce((i,a)=>i.includes(a._def.value)?i:[...i,a._def.value],[])}}}else if(t.every(n=>n._def.typeName==="ZodEnum"))return{type:"string",enum:t.reduce((n,s)=>[...n,...s._def.values.filter(i=>!n.includes(i))],[])};return Td(r,e)}var Td=(r,e)=>{let t=(r.options instanceof Map?Array.from(r.options.values()):r.options).map((n,s)=>Y(n._def,{...e,currentPath:[...e.currentPath,"anyOf",`${s}`]})).filter(n=>!!n&&(!e.strictUnions||typeof n=="object"&&Object.keys(n).length>0));return t.length?{anyOf:t}:void 0};function kw(r,e){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(r.innerType._def.typeName)&&(!r.innerType._def.checks||!r.innerType._def.checks.length))return e.target==="openApi3"||e.nullableStrategy==="property"?{type:Go[r.innerType._def.typeName],nullable:!0}:{type:[Go[r.innerType._def.typeName],"null"]};if(e.target==="openApi3"){let n=Y(r.innerType._def,{...e,currentPath:[...e.currentPath]});return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let t=Y(r.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","0"]});return t&&{anyOf:[t,{type:"null"}]}}function Aw(r,e){let t={type:"number"};if(!r.checks)return t;for(let n of r.checks)switch(n.kind){case"int":t.type="integer",Pm(t,"type",n.message,e);break;case"min":e.target==="jsonSchema7"?n.inclusive?ee(t,"minimum",n.value,n.message,e):ee(t,"exclusiveMinimum",n.value,n.message,e):(n.inclusive||(t.exclusiveMinimum=!0),ee(t,"minimum",n.value,n.message,e));break;case"max":e.target==="jsonSchema7"?n.inclusive?ee(t,"maximum",n.value,n.message,e):ee(t,"exclusiveMaximum",n.value,n.message,e):(n.inclusive||(t.exclusiveMaximum=!0),ee(t,"maximum",n.value,n.message,e));break;case"multipleOf":ee(t,"multipleOf",n.value,n.message,e);break}return t}function Sw(r,e){return e.removeAdditionalStrategy==="strict"?r.catchall._def.typeName==="ZodNever"?r.unknownKeys!=="strict":Y(r.catchall._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??!0:r.catchall._def.typeName==="ZodNever"?r.unknownKeys==="passthrough":Y(r.catchall._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??!0}function Ew(r,e){let t={type:"object",...Object.entries(r.shape()).reduce((n,[s,i])=>{if(i===void 0||i._def===void 0)return n;let a=[...e.currentPath,"properties",s],o=Y(i._def,{...e,currentPath:a,propertyPath:a});if(o===void 0)return n;if(e.openaiStrictMode&&i.isOptional()&&!i.isNullable()&&typeof i._def?.defaultValue>"u")throw new Error(`Zod field at \`${a.join("/")}\` uses \`.optional()\` without \`.nullable()\` which is not supported by the API. See: https://platform.openai.com/docs/guides/structured-outputs?api-mode=responses#all-fields-must-be-required`);return{properties:{...n.properties,[s]:o},required:i.isOptional()&&!e.openaiStrictMode?n.required:[...n.required,s]}},{properties:{},required:[]}),additionalProperties:Sw(r,e)};return t.required.length||delete t.required,t}var Pw=(r,e)=>{if(e.propertyPath&&e.currentPath.slice(0,e.propertyPath.length).toString()===e.propertyPath.toString())return Y(r.innerType._def,{...e,currentPath:e.currentPath});let t=Y(r.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","1"]});return t?{anyOf:[{not:{}},t]}:{}},Tw=(r,e)=>{if(e.pipeStrategy==="input")return Y(r.in._def,e);if(e.pipeStrategy==="output")return Y(r.out._def,e);let t=Y(r.in._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),n=Y(r.out._def,{...e,currentPath:[...e.currentPath,"allOf",t?"1":"0"]});return{allOf:[t,n].filter(s=>s!==void 0)}};function Cw(r,e){return Y(r.type._def,e)}function Iw(r,e){let t={type:"array",uniqueItems:!0,items:Y(r.valueType._def,{...e,currentPath:[...e.currentPath,"items"]})};return r.minSize&&ee(t,"minItems",r.minSize.value,r.minSize.message,e),r.maxSize&&ee(t,"maxItems",r.maxSize.value,r.maxSize.message,e),t}function Nw(r,e){return r.rest?{type:"array",minItems:r.items.length,items:r.items.map((t,n)=>Y(t._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).reduce((t,n)=>n===void 0?t:[...t,n],[]),additionalItems:Y(r.rest._def,{...e,currentPath:[...e.currentPath,"additionalItems"]})}:{type:"array",minItems:r.items.length,maxItems:r.items.length,items:r.items.map((t,n)=>Y(t._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).reduce((t,n)=>n===void 0?t:[...t,n],[])}}function Rw(){return{not:{}}}function jw(){return{}}var Mw=(r,e)=>Y(r.innerType._def,e);function Y(r,e,t=!1){let n=e.seen.get(r);if(e.override){let a=e.override?.(r,e,n,t);if(a!==tw)return a}if(n&&!t){let a=$w(n,e);if(a!==void 0)return"$ref"in a&&e.seenRefs.add(a.$ref),a}let s={def:r,path:e.currentPath,jsonSchema:void 0};e.seen.set(r,s);let i=Lw(r,r.typeName,e,t);return i&&Uw(r,e,i),s.jsonSchema=i,i}var $w=(r,e)=>{switch(e.$refStrategy){case"root":return{$ref:r.path.join("/")};case"extract-to-root":let t=r.path.slice(e.basePath.length+1).join("_");return t!==e.name&&e.nameStrategy==="duplicate-ref"&&(e.definitions[t]=r.def),{$ref:[...e.basePath,e.definitionPath,t].join("/")};case"relative":return{$ref:Dw(e.currentPath,r.path)};case"none":case"seen":return r.path.length<e.currentPath.length&&r.path.every((n,s)=>e.currentPath[s]===n)?(console.warn(`Recursive reference detected at ${e.currentPath.join("/")}! Defaulting to any`),{}):e.$refStrategy==="seen"?{}:void 0}},Dw=(r,e)=>{let t=0;for(;t<r.length&&t<e.length&&r[t]===e[t];t++);return[(r.length-t).toString(),...e.slice(t)].join("/")},Lw=(r,e,t,n)=>{switch(e){case B.ZodString:return Cm(r,t);case B.ZodNumber:return Aw(r,t);case B.ZodObject:return Ew(r,t);case B.ZodBigInt:return ow(r,t);case B.ZodBoolean:return cw();case B.ZodDate:return Tm(r,t);case B.ZodUndefined:return Rw();case B.ZodNull:return xw(t);case B.ZodArray:return aw(r,t);case B.ZodUnion:case B.ZodDiscriminatedUnion:return Ow(r,t);case B.ZodIntersection:return gw(r,t);case B.ZodTuple:return Nw(r,t);case B.ZodRecord:return Im(r,t);case B.ZodLiteral:return bw(r,t);case B.ZodEnum:return dw(r);case B.ZodNativeEnum:return ww(r);case B.ZodNullable:return kw(r,t);case B.ZodOptional:return Pw(r,t);case B.ZodMap:return _w(r,t);case B.ZodSet:return Iw(r,t);case B.ZodLazy:return Y(r.getter()._def,t);case B.ZodPromise:return Cw(r,t);case B.ZodNaN:case B.ZodNever:return vw();case B.ZodEffects:return pw(r,t,n);case B.ZodAny:return iw();case B.ZodUnknown:return jw();case B.ZodDefault:return fw(r,t);case B.ZodBranded:return uw(r,t);case B.ZodReadonly:return Mw(r,t);case B.ZodCatch:return lw(r,t);case B.ZodPipeline:return Tw(r,t);case B.ZodFunction:case B.ZodVoid:case B.ZodSymbol:return;default:return(s=>{})()}},Uw=(r,e,t)=>(r.description&&(t.description=r.description,e.markdownDescription&&(t.markdownDescription=r.description)),t),Fw=(r,e)=>{let t=sw(e),n=typeof e=="string"?e:e?.nameStrategy==="title"?void 0:e?.name,s=Y(r._def,n===void 0?t:{...t,currentPath:[...t.basePath,t.definitionPath,n]},!1)??{},i=typeof e=="object"&&e.name!==void 0&&e.nameStrategy==="title"?e.name:void 0;i!==void 0&&(s.title=i);let a=(()=>{if(nw(t.definitions))return;let c={},u=new Set;for(let l=0;l<500;l++){let h=Object.entries(t.definitions).filter(([p])=>!u.has(p));if(h.length===0)break;for(let[p,f]of h)c[p]=Y(Zl(f),{...t,currentPath:[...t.basePath,t.definitionPath,p]},!0)??{},u.add(p)}return c})(),o=n===void 0?a?{...s,[t.definitionPath]:a}:s:t.nameStrategy==="duplicate-ref"?{...s,...a||t.seenRefs.size?{[t.definitionPath]:{...a,...t.seenRefs.size?{[n]:s}:void 0}}:void 0}:{$ref:[...t.$refStrategy==="relative"?[]:t.basePath,t.definitionPath,n].join("/"),[t.definitionPath]:{...a,[n]:s}};return t.target==="jsonSchema7"?o.$schema="http://json-schema.org/draft-07/schema#":t.target==="jsonSchema2019-09"&&(o.$schema="https://json-schema.org/draft/2019-09/schema#"),o};function Bw(r,e){return Fw(r,{openaiStrictMode:!0,name:e.name,nameStrategy:"duplicate-ref",$refStrategy:"extract-to-root",nullableStrategy:"property"})}function zw(r,e,t){return I_({type:"json_schema",json_schema:{...t,name:e,strict:!0,schema:Bw(r,{name:e})}},n=>r.parse(JSON.parse(n)))}function Ba(r,e){return r.lc_error_code=e,r.message=`${r.message}
|
|
127
|
-
|
|
128
|
-
Troubleshooting URL: https://js.langchain.com/docs/troubleshooting/errors/${e}/
|
|
129
|
-
`,r}function Nm(r){let e;return r.constructor.name===zn.name?(e=new Error(r.message),e.name="TimeoutError"):r.constructor.name===Ve.name?(e=new Error(r.message),e.name="AbortError"):r.status===400&&r.message.includes("tool_calls")?e=Ba(r,"INVALID_TOOL_RESULTS"):r.status===401?e=Ba(r,"MODEL_AUTHENTICATION"):r.status===429?e=Ba(r,"MODEL_RATE_LIMIT"):r.status===404?e=Ba(r,"MODEL_NOT_FOUND"):e=r,e}function Rm(r){if(r)return r==="any"||r==="required"?"required":r==="auto"?"auto":r==="none"?"none":typeof r=="string"?{type:"function",function:{name:r}}:r}function Ww(r,e){let t={...r};return Object.defineProperties(t,{$brand:{value:"auto-parseable-response-format",enumerable:!1},$parseRaw:{value:e,enumerable:!1}}),t}function Kw(r,e,t){if(Zn(r))return zw(r,e,t);if(cc(r))return Ww({type:"json_schema",json_schema:{...t,name:e,strict:!0,schema:hf(r,{cycles:"ref",reused:"ref",override(n){n.jsonSchema.title=e}})}},n=>lf(r,JSON.parse(n)));throw new Error("Unsupported schema response format")}function Vw(r){return r.anyOf!==void 0&&Array.isArray(r.anyOf)}function Gw(r){let e=["namespace functions {",""];for(let t of r)t.description&&e.push(`// ${t.description}`),Object.keys(t.parameters.properties??{}).length>0?(e.push(`type ${t.name} = (_: {`),e.push(jm(t.parameters,0)),e.push("}) => any;")):e.push(`type ${t.name} = () => any;`),e.push("");return e.push("} // namespace functions"),e.join(`
|
|
130
|
-
`)}function jm(r,e){let t=[];for(let[n,s]of Object.entries(r.properties??{}))s.description&&e<2&&t.push(`// ${s.description}`),r.required?.includes(n)?t.push(`${n}: ${Ho(s,e)},`):t.push(`${n}?: ${Ho(s,e)},`);return t.map(n=>" ".repeat(e)+n).join(`
|
|
131
|
-
`)}function Ho(r,e){if(Vw(r))return r.anyOf.map(t=>Ho(t,e)).join(" | ");switch(r.type){case"string":return r.enum?r.enum.map(t=>`"${t}"`).join(" | "):"string";case"number":return r.enum?r.enum.map(t=>`${t}`).join(" | "):"number";case"integer":return r.enum?r.enum.map(t=>`${t}`).join(" | "):"number";case"boolean":return"boolean";case"null":return"null";case"object":return["{",jm(r,e+2),"}"].join(`
|
|
132
|
-
`);case"array":return r.items?`${Ho(r.items,e)}[]`:"any[]";default:return""}}function Hw(r,e){let t;return gr(r)?t=_u(r):t=r,t.type==="function"&&e?.strict!==void 0&&(t.function.strict=e.strict),t}function mh(r){return"type"in r&&r.type!=="function"&&r.type!=="custom"}function qw(r){return r!=null&&typeof r=="object"&&"type"in r&&r.type!=="function"}function Jw(r){return typeof r=="object"&&r!==null&&"metadata"in r&&typeof r.metadata=="object"&&r.metadata!==null&&"customTool"in r.metadata&&typeof r.metadata.customTool=="object"&&r.metadata.customTool!==null}function Mm(r){return"type"in r&&r.type==="custom"&&"custom"in r&&typeof r.custom=="object"&&r.custom!==null}function Xw(r){if(r.type==="custom_tool_call")return{...r,type:"tool_call",call_id:r.id,id:r.call_id,name:r.name,isCustomTool:!0,args:{input:r.input}}}function Yw(r){return r.type==="tool_call"&&"isCustomTool"in r&&r.isCustomTool===!0}function Zw(r){let e=()=>{if(r.custom.format){if(r.custom.format.type==="grammar")return{type:"grammar",definition:r.custom.format.grammar.definition,syntax:r.custom.format.grammar.syntax};if(r.custom.format.type==="text")return{type:"text"}}};return{type:"custom",name:r.custom.name,description:r.custom.description,format:e()}}function Qw(r){let e=()=>{if(r.format){if(r.format.type==="grammar")return{type:"grammar",grammar:{definition:r.format.definition,syntax:r.format.syntax}};if(r.format.type==="text")return{type:"text"}}};return{type:"custom",custom:{name:r.name,description:r.description,format:e()}}}function e0(r,e){if(e&&typeof e=="object"&&"images"in e&&Array.isArray(e.images)){let t=e.images.filter(n=>typeof n?.image_url?.url=="string").map(n=>({type:"image",url:n.image_url.url,source_type:"url"}));return[{type:"text",text:r,source_type:"text"},...t]}return r}function Cd(r){let e={...r?.input_tokens_details?.cached_tokens!=null&&{cache_read:r?.input_tokens_details?.cached_tokens}},t={...r?.output_tokens_details?.reasoning_tokens!=null&&{reasoning:r?.output_tokens_details?.reasoning_tokens}};return{input_tokens:r?.input_tokens??0,output_tokens:r?.output_tokens??0,total_tokens:r?.total_tokens??0,input_token_details:e,output_token_details:t}}var za="__openai_function_call_ids__";function Xo(r){return r?!!(/^o\d/.test(r??"")||r.startsWith("gpt-5")&&!r.startsWith("gpt-5-chat")):!1}function t0(r){return r!==void 0&&typeof r.schema=="object"}function r0(r){return r.role!=="system"&&r.role!=="developer"&&r.role!=="assistant"&&r.role!=="user"&&r.role!=="function"&&r.role!=="tool"&&console.warn(`Unknown message role: ${r.role}`),r.role}function gh(r){let e=r._getType();switch(e){case"system":return"system";case"ai":return"assistant";case"human":return"user";case"function":return"function";case"tool":return"tool";case"generic":{if(!ic.isInstance(r))throw new Error("Invalid generic chat message");return r0(r)}default:throw new Error(`Unknown message type: ${e}`)}}var $m={providerName:"ChatOpenAI",fromStandardTextBlock(r){return{type:"text",text:r.text}},fromStandardImageBlock(r){if(r.source_type==="url")return{type:"image_url",image_url:{url:r.url,...r.metadata?.detail?{detail:r.metadata.detail}:{}}};if(r.source_type==="base64")return{type:"image_url",image_url:{url:`data:${r.mime_type??""};base64,${r.data}`,...r.metadata?.detail?{detail:r.metadata.detail}:{}}};throw new Error(`Image content blocks with source_type ${r.source_type} are not supported for ChatOpenAI`)},fromStandardAudioBlock(r){if(r.source_type==="url"){let e=tc({dataUrl:r.url});if(!e)throw new Error(`URL audio blocks with source_type ${r.source_type} must be formatted as a data URL for ChatOpenAI`);let t=e.mime_type||r.mime_type||"",n;try{n=ec(t)}catch{throw new Error(`Audio blocks with source_type ${r.source_type} must have mime type of audio/wav or audio/mp3`)}if(n.type!=="audio"||n.subtype!=="wav"&&n.subtype!=="mp3")throw new Error(`Audio blocks with source_type ${r.source_type} must have mime type of audio/wav or audio/mp3`);return{type:"input_audio",input_audio:{format:n.subtype,data:e.data}}}if(r.source_type==="base64"){let e;try{e=ec(r.mime_type??"")}catch{throw new Error(`Audio blocks with source_type ${r.source_type} must have mime type of audio/wav or audio/mp3`)}if(e.type!=="audio"||e.subtype!=="wav"&&e.subtype!=="mp3")throw new Error(`Audio blocks with source_type ${r.source_type} must have mime type of audio/wav or audio/mp3`);return{type:"input_audio",input_audio:{format:e.subtype,data:r.data}}}throw new Error(`Audio content blocks with source_type ${r.source_type} are not supported for ChatOpenAI`)},fromStandardFileBlock(r){if(r.source_type==="url"){if(!tc({dataUrl:r.url}))throw new Error(`URL file blocks with source_type ${r.source_type} must be formatted as a data URL for ChatOpenAI`);return{type:"file",file:{file_data:r.url,...r.metadata?.filename||r.metadata?.name?{filename:r.metadata?.filename||r.metadata?.name}:{}}}}if(r.source_type==="base64")return{type:"file",file:{file_data:`data:${r.mime_type??""};base64,${r.data}`,...r.metadata?.filename||r.metadata?.name||r.metadata?.title?{filename:r.metadata?.filename||r.metadata?.name||r.metadata?.title}:{}}};if(r.source_type==="id")return{type:"file",file:{file_id:r.id}};throw new Error(`File content blocks with source_type ${r.source_type} are not supported for ChatOpenAI`)}};function Id(r,e){return r.flatMap(t=>{let n=gh(t);n==="system"&&Xo(e)&&(n="developer");let s=typeof t.content=="string"?t.content:t.content.map(a=>Qo(a)?rc(a,$m):a),i={role:n,content:s};if(t.name!=null&&(i.name=t.name),t.additional_kwargs.function_call!=null&&(i.function_call=t.additional_kwargs.function_call,i.content=""),Yt(t)&&t.tool_calls?.length?(i.tool_calls=t.tool_calls.map(Xp),i.content=""):(t.additional_kwargs.tool_calls!=null&&(i.tool_calls=t.additional_kwargs.tool_calls),t.tool_call_id!=null&&(i.tool_call_id=t.tool_call_id)),t.additional_kwargs.audio&&typeof t.additional_kwargs.audio=="object"&&"id"in t.additional_kwargs.audio){let a={role:"assistant",audio:{id:t.additional_kwargs.audio.id}};return[i,a]}return i})}var Qs=class extends Ut{_llmType(){return"openai"}static lc_name(){return"ChatOpenAI"}get callKeys(){return[...super.callKeys,"options","function_call","functions","tools","tool_choice","promptIndex","response_format","seed","reasoning","reasoningEffort","service_tier"]}get lc_secrets(){return{apiKey:"OPENAI_API_KEY",organization:"OPENAI_ORGANIZATION"}}get lc_aliases(){return{apiKey:"openai_api_key",modelName:"model",reasoningEffort:"reasoning_effort"}}get lc_serializable_keys(){return["configuration","logprobs","topLogprobs","prefixMessages","supportsStrictToolCalling","modalities","audio","temperature","maxTokens","topP","frequencyPenalty","presencePenalty","n","logitBias","user","streaming","streamUsage","model","modelName","modelKwargs","stop","stopSequences","timeout","apiKey","cache","maxConcurrency","maxRetries","verbose","callbacks","tags","metadata","disableStreaming","zdrEnabled","reasoning","reasoningEffort","promptCacheKey","verbosity"]}getLsParams(e){let t=this.invocationParams(e);return{ls_provider:"openai",ls_model_name:this.model,ls_model_type:"chat",ls_temperature:t.temperature??void 0,ls_max_tokens:t.max_tokens??void 0,ls_stop:e.stop}}_identifyingParams(){return{model_name:this.model,...this.invocationParams(),...this.clientConfig}}identifyingParams(){return this._identifyingParams()}constructor(e){super(e??{}),Object.defineProperty(this,"temperature",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"topP",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"frequencyPenalty",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"presencePenalty",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"n",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"logitBias",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"model",{enumerable:!0,configurable:!0,writable:!0,value:"gpt-3.5-turbo"}),Object.defineProperty(this,"modelKwargs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"stop",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"stopSequences",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"user",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"streaming",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"streamUsage",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"maxTokens",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"logprobs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"topLogprobs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"apiKey",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"organization",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"__includeRawResponse",{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,"clientConfig",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"supportsStrictToolCalling",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"audio",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"modalities",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"reasoning",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"zdrEnabled",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"service_tier",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"promptCacheKey",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"verbosity",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"defaultOptions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"lc_serializable",{enumerable:!0,configurable:!0,writable:!0,value:!0}),this.apiKey=e?.apiKey??e?.configuration?.apiKey??He("OPENAI_API_KEY"),this.organization=e?.configuration?.organization??He("OPENAI_ORGANIZATION"),this.model=e?.model??e?.modelName??this.model,this.modelKwargs=e?.modelKwargs??{},this.timeout=e?.timeout,this.temperature=e?.temperature??this.temperature,this.topP=e?.topP??this.topP,this.frequencyPenalty=e?.frequencyPenalty??this.frequencyPenalty,this.presencePenalty=e?.presencePenalty??this.presencePenalty,this.logprobs=e?.logprobs,this.topLogprobs=e?.topLogprobs,this.n=e?.n??this.n,this.logitBias=e?.logitBias,this.stop=e?.stopSequences??e?.stop,this.stopSequences=this.stop,this.user=e?.user,this.__includeRawResponse=e?.__includeRawResponse,this.audio=e?.audio,this.modalities=e?.modalities,this.reasoning=e?.reasoning??e?.reasoningEffort?{effort:e.reasoningEffort}:void 0,this.maxTokens=e?.maxCompletionTokens??e?.maxTokens,this.disableStreaming=e?.disableStreaming===!0,this.streaming=e?.streaming===!0,this.promptCacheKey=e?.promptCacheKey??this.promptCacheKey,this.verbosity=e?.verbosity??this.verbosity,e?.streaming===!1&&(this.disableStreaming=!0),this.disableStreaming===!0&&(this.streaming=!1),this.streamUsage=e?.streamUsage??this.streamUsage,this.disableStreaming&&(this.streamUsage=!1),this.clientConfig={apiKey:this.apiKey,organization:this.organization,dangerouslyAllowBrowser:!0,...e?.configuration},e?.supportsStrictToolCalling!==void 0&&(this.supportsStrictToolCalling=e.supportsStrictToolCalling),e?.service_tier!==void 0&&(this.service_tier=e.service_tier),this.zdrEnabled=e?.zdrEnabled??!1}_getReasoningParams(e){if(!Xo(this.model))return;let t;return this.reasoning!==void 0&&(t={...t,...this.reasoning}),e?.reasoning!==void 0&&(t={...t,...e.reasoning}),t}_getResponseFormat(e){return e&&e.type==="json_schema"&&e.json_schema.schema&<(e.json_schema.schema)?Kw(e.json_schema.schema,e.json_schema.name,{description:e.json_schema.description}):e}_combineCallOptions(e){return{...this.defaultOptions,...e??{}}}_getClientOptions(e){if(!this.client){let t={baseURL:this.clientConfig.baseURL},n=Em(t),s={...this.clientConfig,baseURL:n,timeout:this.timeout,maxRetries:0};s.baseURL||delete s.baseURL,this.client=new V(s)}return{...this.clientConfig,...e}}_convertChatOpenAIToolToCompletionsTool(e,t){return Jw(e)?Qw(e.metadata.customTool):Ri(e)?t?.strict!==void 0?{...e,function:{...e.function,strict:t.strict}}:e:Hw(e,t)}bindTools(e,t){let n;return t?.strict!==void 0?n=t.strict:this.supportsStrictToolCalling!==void 0&&(n=this.supportsStrictToolCalling),this.withConfig({tools:e.map(s=>mh(s)?s:this._convertChatOpenAIToolToCompletionsTool(s,{strict:n})),...t})}async stream(e,t){return super.stream(e,this._combineCallOptions(t))}async invoke(e,t){return super.invoke(e,this._combineCallOptions(t))}_combineLLMOutput(...e){return e.reduce((t,n)=>(n&&n.tokenUsage&&(t.tokenUsage.completionTokens+=n.tokenUsage.completionTokens??0,t.tokenUsage.promptTokens+=n.tokenUsage.promptTokens??0,t.tokenUsage.totalTokens+=n.tokenUsage.totalTokens??0),t),{tokenUsage:{completionTokens:0,promptTokens:0,totalTokens:0}})}async getNumTokensFromMessages(e){let t=0,n=0,s=0;this.model==="gpt-3.5-turbo-0301"?(n=4,s=-1):(n=3,s=1);let i=await Promise.all(e.map(async a=>{let o=await this.getNumTokens(a.content),c=await this.getNumTokens(gh(a)),u=a.name!==void 0?s+await this.getNumTokens(a.name):0,l=o+n+c+u,h=a;if(h._getType()==="function"&&(l-=2),h.additional_kwargs?.function_call&&(l+=3),h?.additional_kwargs.function_call?.name&&(l+=await this.getNumTokens(h.additional_kwargs.function_call?.name)),h.additional_kwargs.function_call?.arguments)try{l+=await this.getNumTokens(JSON.stringify(JSON.parse(h.additional_kwargs.function_call?.arguments)))}catch(p){console.error("Error parsing function arguments",p,JSON.stringify(h.additional_kwargs.function_call)),l+=await this.getNumTokens(h.additional_kwargs.function_call?.arguments)}return t+=l,l}));return t+=3,{totalCount:t,countPerMessage:i}}async _getNumTokensFromGenerations(e){return(await Promise.all(e.map(async t=>t.message.additional_kwargs?.function_call?(await this.getNumTokensFromMessages([t.message])).countPerMessage[0]:await this.getNumTokens(t.message.content)))).reduce((t,n)=>t+n,0)}async _getEstimatedTokenCountFromPrompt(e,t,n){let s=(await this.getNumTokensFromMessages(e)).totalCount;if(t&&n!=="auto"){let i=Gw(t);s+=await this.getNumTokens(i),s+=9}return t&&e.find(i=>i._getType()==="system")&&(s-=4),n==="none"?s+=1:typeof n=="object"&&(s+=await this.getNumTokens(n.name)+4),s}_getStructuredOutputMethod(e){let t={...e};if(!this.model.startsWith("gpt-3")&&!this.model.startsWith("gpt-4-")&&this.model!=="gpt-4"){if(t?.method===void 0)return"jsonSchema"}else t.method==="jsonSchema"&&console.warn(`[WARNING]: JSON Schema is not supported for model "${this.model}". Falling back to tool calling.`);return t.method}withStructuredOutput(e,t){let n,s,i,a;t0(e)?(n=e.schema,s=e.name,i=e.method,a=e.includeRaw):(n=e,s=t?.name,i=t?.method,a=t?.includeRaw);let o,c;if(t?.strict!==void 0&&i==="jsonMode")throw new Error("Argument `strict` is only supported for `method` = 'function_calling'");if(i=this._getStructuredOutputMethod({...t,method:i}),i==="jsonMode"){lt(n)?c=jr.fromZodSchema(n):c=new bn;let p=Ae(n);o=this.withConfig({response_format:{type:"json_object"},ls_structured_output_format:{kwargs:{method:"json_mode"},schema:{title:s??"extract",...p}}})}else if(i==="jsonSchema"){let p={name:s??"extract",description:Mt(n),schema:n,strict:t?.strict},f=Ae(p.schema);if(o=this.withConfig({response_format:{type:"json_schema",json_schema:p},ls_structured_output_format:{kwargs:{method:"json_schema"},schema:{title:p.name,description:p.description,...f}}}),lt(n)){let m=jr.fromZodSchema(n);c=Dt.from(y=>"parsed"in y.additional_kwargs?y.additional_kwargs.parsed:m)}else c=new bn}else{let p=s??"extract";if(lt(n)){let f=Ae(n);o=this.withConfig({tools:[{type:"function",function:{name:p,description:f.description,parameters:f}}],tool_choice:{type:"function",function:{name:p}},ls_structured_output_format:{kwargs:{method:"function_calling"},schema:{title:p,...f}},...t?.strict!==void 0?{strict:t.strict}:{}}),c=new Is({returnSingle:!0,keyName:p,zodSchema:n})}else{let f;typeof n.name=="string"&&typeof n.parameters=="object"&&n.parameters!=null?(f=n,p=n.name):(p=n.title??p,f={name:p,description:n.description??"",parameters:n});let m=Ae(n);o=this.withConfig({tools:[{type:"function",function:f}],tool_choice:{type:"function",function:{name:p}},ls_structured_output_format:{kwargs:{method:"function_calling"},schema:{title:p,...m}},...t?.strict!==void 0?{strict:t.strict}:{}}),c=new Is({returnSingle:!0,keyName:p})}}if(!a)return o.pipe(c);let u=qe.assign({parsed:(p,f)=>c.invoke(p.raw,f)}),l=qe.assign({parsed:()=>null}),h=u.withFallbacks({fallbacks:[l]});return Qe.from([{raw:o},h])}},qo=class extends Qs{invocationParams(e){let t;e?.strict!==void 0?t=e.strict:this.supportsStrictToolCalling!==void 0&&(t=this.supportsStrictToolCalling);let n={model:this.model,temperature:this.temperature,top_p:this.topP,user:this.user,stream:this.streaming,previous_response_id:e?.previous_response_id,truncation:e?.truncation,include:e?.include,tools:e?.tools?.length?this._reduceChatOpenAITools(e.tools,{stream:this.streaming,strict:t}):void 0,tool_choice:qw(e?.tool_choice)?e?.tool_choice:(()=>{let i=Rm(e?.tool_choice);if(typeof i=="object"&&"type"in i){if(i.type==="function")return{type:"function",name:i.function.name};if(i.type==="allowed_tools")return{type:"allowed_tools",mode:i.allowed_tools.mode,tools:i.allowed_tools.tools};if(i.type==="custom")return{type:"custom",name:i.custom.name}}})(),text:(()=>{if(e?.text)return e.text;let i=this._getResponseFormat(e?.response_format);return i?.type==="json_schema"?i.json_schema.schema!=null?{format:{type:"json_schema",schema:i.json_schema.schema,description:i.json_schema.description,name:i.json_schema.name,strict:i.json_schema.strict},verbosity:e?.verbosity}:void 0:{format:i,verbosity:e?.verbosity}})(),parallel_tool_calls:e?.parallel_tool_calls,max_output_tokens:this.maxTokens===-1?void 0:this.maxTokens,prompt_cache_key:e?.promptCacheKey??this.promptCacheKey,...this.zdrEnabled?{store:!1}:{},...this.modelKwargs},s=this._getReasoningParams(e);return s!==void 0&&(n.reasoning=s),n}async _generate(e,t){let n=this.invocationParams(t);if(n.stream){let s=this._streamResponseChunks(e,t),i;for await(let a of s)a.message.response_metadata={...a.generationInfo,...a.message.response_metadata},i=i?.concat(a)??a;return{generations:i?[i]:[],llmOutput:{estimatedTokenUsage:i?.message?.usage_metadata}}}else{let s=this._convertMessagesToResponsesParams(e),i=await this.completionWithRetry({input:s,...n,stream:!1},{signal:t?.signal,...t?.options});return{generations:[{text:i.output_text,message:this._convertResponsesMessageToBaseMessage(i)}],llmOutput:{id:i.id,estimatedTokenUsage:i.usage?{promptTokens:i.usage.input_tokens,completionTokens:i.usage.output_tokens,totalTokens:i.usage.total_tokens}:void 0}}}}async*_streamResponseChunks(e,t,n){let s=await this.completionWithRetry({...this.invocationParams(t),input:this._convertMessagesToResponsesParams(e),stream:!0},t);for await(let i of s){let a=this._convertResponsesDeltaToBaseMessageChunk(i);a!=null&&(yield a,await n?.handleLLMNewToken(a.text||"",{prompt:t.promptIndex??0,completion:0},void 0,void 0,void 0,{chunk:a}))}}async completionWithRetry(e,t){return this.caller.call(async()=>{let n=this._getClientOptions(t);try{return e.text?.format?.type==="json_schema"&&!e.stream?await this.client.responses.parse(e,n):await this.client.responses.create(e,n)}catch(s){throw Nm(s)}})}_convertResponsesMessageToBaseMessage(e){if(e.error){let c=new Error(e.error.message);throw c.name=e.error.code,c}let t,n=[],s=[],i=[],a={model:e.model,created_at:e.created_at,id:e.id,incomplete_details:e.incomplete_details,metadata:e.metadata,object:e.object,status:e.status,user:e.user,service_tier:e.service_tier,model_name:e.model},o={};for(let c of e.output)if(c.type==="message")t=c.id,n.push(...c.content.flatMap(u=>u.type==="output_text"?("parsed"in u&&u.parsed!=null&&(o.parsed=u.parsed),{type:"text",text:u.text,annotations:u.annotations}):u.type==="refusal"?(o.refusal=u.refusal,[]):u));else if(c.type==="function_call"){let u={function:{name:c.name,arguments:c.arguments},id:c.call_id};try{s.push(Na(u,{returnId:!0}))}catch(l){let h;typeof l=="object"&&l!=null&&"message"in l&&typeof l.message=="string"&&(h=l.message),i.push(Ra(u,h))}o[za]??={},c.id&&(o[za][c.call_id]=c.id)}else if(c.type==="reasoning")o.reasoning=c;else if(c.type==="custom_tool_call"){let u=Xw(c);u?s.push(u):i.push(Ra(c,"Malformed custom tool call"))}else o.tool_outputs??=[],o.tool_outputs.push(c);return new ue({id:t,content:n,tool_calls:s,invalid_tool_calls:i,usage_metadata:Cd(e.usage),additional_kwargs:o,response_metadata:a})}_convertResponsesDeltaToBaseMessageChunk(e){let t=[],n={},s,i=[],a={},o={},c;if(e.type==="response.output_text.delta")t.push({type:"text",text:e.delta,index:e.content_index});else if(e.type==="response.output_text.annotation.added")t.push({type:"text",text:"",annotations:[e.annotation],index:e.content_index});else if(e.type==="response.output_item.added"&&e.item.type==="message")c=e.item.id;else if(e.type==="response.output_item.added"&&e.item.type==="function_call")i.push({type:"tool_call_chunk",name:e.item.name,args:e.item.arguments,id:e.item.call_id,index:e.output_index}),o[za]={[e.item.call_id]:e.item.id};else if(e.type==="response.output_item.done"&&["web_search_call","file_search_call","computer_call","code_interpreter_call","mcp_call","mcp_list_tools","mcp_approval_request","image_generation_call","custom_tool_call"].includes(e.item.type))o.tool_outputs=[e.item];else if(e.type==="response.created")a.id=e.response.id,a.model_name=e.response.model,a.model=e.response.model;else if(e.type==="response.completed"){let u=this._convertResponsesMessageToBaseMessage(e.response);s=Cd(e.response.usage),e.response.text?.format?.type==="json_schema"&&(o.parsed??=JSON.parse(u.text));for(let[l,h]of Object.entries(e.response))l!=="id"&&(a[l]=h)}else if(e.type==="response.function_call_arguments.delta"||e.type==="response.custom_tool_call_input.delta")i.push({type:"tool_call_chunk",args:e.delta,index:e.output_index});else if(e.type==="response.web_search_call.completed"||e.type==="response.file_search_call.completed")n={tool_outputs:{id:e.item_id,type:e.type.replace("response.","").replace(".completed",""),status:"completed"}};else if(e.type==="response.refusal.done")o.refusal=e.refusal;else if(e.type==="response.output_item.added"&&"item"in e&&e.item.type==="reasoning"){let u=e.item.summary?e.item.summary.map((l,h)=>({...l,index:h})):void 0;o.reasoning={id:e.item.id,type:e.item.type,...u?{summary:u}:{}}}else if(e.type==="response.reasoning_summary_part.added")o.reasoning={type:"reasoning",summary:[{...e.part,index:e.summary_index}]};else if(e.type==="response.reasoning_summary_text.delta")o.reasoning={type:"reasoning",summary:[{text:e.delta,type:"summary_text",index:e.summary_index}]};else return e.type,null;return new dt({text:t.map(u=>u.text).join(""),message:new Rt({id:c,content:t,tool_call_chunks:i,usage_metadata:s,additional_kwargs:o,response_metadata:a}),generationInfo:n})}_convertMessagesToResponsesParams(e){return e.flatMap(t=>{let n=t.additional_kwargs,s=gh(t);if(s==="system"&&Xo(this.model)&&(s="developer"),s==="function")throw new Error("Function messages are not supported in Responses API");if(s==="tool"){let i=t;return n?.type==="computer_call_output"?{type:"computer_call_output",output:(()=>{if(typeof i.content=="string")return{type:"computer_screenshot",image_url:i.content};if(Array.isArray(i.content)){let a=i.content.find(c=>c.type==="computer_screenshot");if(a)return a;let o=i.content.find(c=>c.type==="image_url");if(o)return{type:"computer_screenshot",image_url:typeof o.image_url=="string"?o.image_url:o.image_url.url}}throw new Error("Invalid computer call output")})(),call_id:i.tool_call_id}:i.metadata?.customTool?{type:"custom_tool_call_output",call_id:i.tool_call_id,output:i.content}:{type:"function_call_output",call_id:i.tool_call_id,id:i.id?.startsWith("fc_")?i.id:void 0,output:typeof i.content!="string"?JSON.stringify(i.content):i.content}}if(s==="assistant"){if(!this.zdrEnabled&&t.response_metadata.output!=null&&Array.isArray(t.response_metadata.output)&&t.response_metadata.output.length>0&&t.response_metadata.output.every(l=>"type"in l))return t.response_metadata.output;let i=[];if(n?.reasoning&&!this.zdrEnabled){let l=this._convertReasoningSummary(n.reasoning);i.push(l)}let{content:a}=t;n?.refusal&&(typeof a=="string"&&(a=[{type:"output_text",text:a,annotations:[]}]),a=[...a,{type:"refusal",refusal:n.refusal}]),(typeof a=="string"||a.length>0)&&i.push({type:"message",role:"assistant",...t.id&&!this.zdrEnabled&&t.id.startsWith("msg_")?{id:t.id}:{},content:typeof a=="string"?a:a.flatMap(l=>l.type==="text"?{type:"output_text",text:l.text,annotations:l.annotations??[]}:l.type==="output_text"||l.type==="refusal"?l:[])});let o=n?.[za];Yt(t)&&t.tool_calls?.length?i.push(...t.tool_calls.map(l=>Yw(l)?{type:"custom_tool_call",id:l.call_id,call_id:l.id??"",input:l.args.input,name:l.name}:{type:"function_call",name:l.name,arguments:JSON.stringify(l.args),call_id:l.id,...this.zdrEnabled?{id:o?.[l.id]}:{}})):n?.tool_calls&&i.push(...n.tool_calls.map(l=>({type:"function_call",name:l.function.name,call_id:l.id,arguments:l.function.arguments,...this.zdrEnabled?{id:o?.[l.id]}:{}})));let c=t.response_metadata.output?.length?t.response_metadata.output:n.tool_outputs,u=["computer_call","mcp_call","code_interpreter_call","image_generation_call"];if(c!=null){let l=c?.filter(h=>u.includes(h.type));l.length>0&&i.push(...l)}return i}if(s==="user"||s==="system"||s==="developer"){if(typeof t.content=="string")return{type:"message",role:s,content:t.content};let i=[],a=t.content.flatMap(o=>(o.type==="mcp_approval_response"&&i.push({type:"mcp_approval_response",approval_request_id:o.approval_request_id,approve:o.approve}),Qo(o)?rc(o,$m):o.type==="text"?{type:"input_text",text:o.text}:o.type==="image_url"?{type:"input_image",image_url:typeof o.image_url=="string"?o.image_url:o.image_url.url,detail:typeof o.image_url=="string"?"auto":o.image_url.detail}:o.type==="input_text"||o.type==="input_image"||o.type==="input_file"?o:[]));return a.length>0&&i.push({type:"message",role:s,content:a}),i}return console.warn(`Unsupported role found when converting to OpenAI Responses API: ${s}`),[]})}_convertReasoningSummary(e){let t=(e.summary.length>1?e.summary.reduce((n,s)=>{let i=n.at(-1);return i.index===s.index?i.text+=s.text:n.push(s),n},[{...e.summary[0]}]):e.summary).map(n=>Object.fromEntries(Object.entries(n).filter(([s])=>s!=="index")));return{...e,summary:t}}_reduceChatOpenAITools(e,t){let n=[];for(let s of e)mh(s)?(s.type==="image_generation"&&t?.stream&&(s.partial_images=1),n.push(s)):Ri(s)?n.push({type:"function",name:s.function.name,parameters:s.function.parameters,description:s.function.description,strict:t?.strict??null}):Mm(s)&&n.push(Zw(s));return n}},Jo=class extends Qs{invocationParams(e,t){let n;e?.strict!==void 0?n=e.strict:this.supportsStrictToolCalling!==void 0&&(n=this.supportsStrictToolCalling);let s={};e?.stream_options!==void 0?s={stream_options:e.stream_options}:this.streamUsage&&(this.streaming||t?.streaming)&&(s={stream_options:{include_usage:!0}});let i={model:this.model,temperature:this.temperature,top_p:this.topP,frequency_penalty:this.frequencyPenalty,presence_penalty:this.presencePenalty,logprobs:this.logprobs,top_logprobs:this.topLogprobs,n:this.n,logit_bias:this.logitBias,stop:e?.stop??this.stopSequences,user:this.user,stream:this.streaming,functions:e?.functions,function_call:e?.function_call,tools:e?.tools?.length?e.tools.map(o=>this._convertChatOpenAIToolToCompletionsTool(o,{strict:n})):void 0,tool_choice:Rm(e?.tool_choice),response_format:this._getResponseFormat(e?.response_format),seed:e?.seed,...s,parallel_tool_calls:e?.parallel_tool_calls,...this.audio||e?.audio?{audio:this.audio||e?.audio}:{},...this.modalities||e?.modalities?{modalities:this.modalities||e?.modalities}:{},...this.modelKwargs,prompt_cache_key:e?.promptCacheKey??this.promptCacheKey,verbosity:e?.verbosity??this.verbosity};e?.prediction!==void 0&&(i.prediction=e.prediction),this.service_tier!==void 0&&(i.service_tier=this.service_tier),e?.service_tier!==void 0&&(i.service_tier=e.service_tier);let a=this._getReasoningParams(e);return a!==void 0&&a.effort!==void 0&&(i.reasoning_effort=a.effort),Xo(i.model)?i.max_completion_tokens=this.maxTokens===-1?void 0:this.maxTokens:i.max_tokens=this.maxTokens===-1?void 0:this.maxTokens,i}async _generate(e,t,n){let s={},i=this.invocationParams(t),a=Id(e,this.model);if(i.stream){let o=this._streamResponseChunks(e,t,n),c={};for await(let m of o){m.message.response_metadata={...m.generationInfo,...m.message.response_metadata};let y=m.generationInfo?.completion??0;c[y]===void 0?c[y]=m:c[y]=c[y].concat(m)}let u=Object.entries(c).sort(([m],[y])=>parseInt(m,10)-parseInt(y,10)).map(([m,y])=>y),{functions:l,function_call:h}=this.invocationParams(t),p=await this._getEstimatedTokenCountFromPrompt(e,l,h),f=await this._getNumTokensFromGenerations(u);return s.input_tokens=p,s.output_tokens=f,s.total_tokens=p+f,{generations:u,llmOutput:{estimatedTokenUsage:{promptTokens:s.input_tokens,completionTokens:s.output_tokens,totalTokens:s.total_tokens}}}}else{let o=await this.completionWithRetry({...i,stream:!1,messages:a},{signal:t?.signal,...t?.options}),{completion_tokens:c,prompt_tokens:u,total_tokens:l,prompt_tokens_details:h,completion_tokens_details:p}=o?.usage??{};c&&(s.output_tokens=(s.output_tokens??0)+c),u&&(s.input_tokens=(s.input_tokens??0)+u),l&&(s.total_tokens=(s.total_tokens??0)+l),(h?.audio_tokens!==null||h?.cached_tokens!==null)&&(s.input_token_details={...h?.audio_tokens!==null&&{audio:h?.audio_tokens},...h?.cached_tokens!==null&&{cache_read:h?.cached_tokens}}),(p?.audio_tokens!==null||p?.reasoning_tokens!==null)&&(s.output_token_details={...p?.audio_tokens!==null&&{audio:p?.audio_tokens},...p?.reasoning_tokens!==null&&{reasoning:p?.reasoning_tokens}});let f=[];for(let m of o?.choices??[]){let y={text:m.message?.content??"",message:this._convertCompletionsMessageToBaseMessage(m.message??{role:"assistant"},o)};y.generationInfo={...m.finish_reason?{finish_reason:m.finish_reason}:{},...m.logprobs?{logprobs:m.logprobs}:{}},Yt(y.message)&&(y.message.usage_metadata=s),y.message=new ue(Object.fromEntries(Object.entries(y.message).filter(([_])=>!_.startsWith("lc_")))),f.push(y)}return{generations:f,llmOutput:{tokenUsage:{promptTokens:s.input_tokens,completionTokens:s.output_tokens,totalTokens:s.total_tokens}}}}}async*_streamResponseChunks(e,t,n){let s=Id(e,this.model),i={...this.invocationParams(t,{streaming:!0}),messages:s,stream:!0},a,o=await this.completionWithRetry(i,t),c;for await(let u of o){let l=u?.choices?.[0];if(u.usage&&(c=u.usage),!l)continue;let{delta:h}=l;if(!h)continue;let p=this._convertCompletionsDeltaToBaseMessageChunk(h,u,a);a=h.role??a;let f={prompt:t.promptIndex??0,completion:l.index??0};if(typeof p.content!="string"){console.log("[WARNING]: Received non-string content from OpenAI. This is currently not supported.");continue}let m={...f};l.finish_reason!=null&&(m.finish_reason=l.finish_reason,m.system_fingerprint=u.system_fingerprint,m.model_name=u.model,m.service_tier=u.service_tier),this.logprobs&&(m.logprobs=l.logprobs);let y=new dt({message:p,text:p.content,generationInfo:m});yield y,await n?.handleLLMNewToken(y.text??"",f,void 0,void 0,void 0,{chunk:y})}if(c){let u={...c.prompt_tokens_details?.audio_tokens!==null&&{audio:c.prompt_tokens_details?.audio_tokens},...c.prompt_tokens_details?.cached_tokens!==null&&{cache_read:c.prompt_tokens_details?.cached_tokens}},l={...c.completion_tokens_details?.audio_tokens!==null&&{audio:c.completion_tokens_details?.audio_tokens},...c.completion_tokens_details?.reasoning_tokens!==null&&{reasoning:c.completion_tokens_details?.reasoning_tokens}};yield new dt({message:new Rt({content:"",response_metadata:{usage:{...c}},usage_metadata:{input_tokens:c.prompt_tokens,output_tokens:c.completion_tokens,total_tokens:c.total_tokens,...Object.keys(u).length>0&&{input_token_details:u},...Object.keys(l).length>0&&{output_token_details:l}}}),text:""})}if(t.signal?.aborted)throw new Error("AbortError")}async completionWithRetry(e,t){let n=this._getClientOptions(t),s=e.response_format&&e.response_format.type==="json_schema";return this.caller.call(async()=>{try{return s&&!e.stream?await this.client.chat.completions.parse(e,n):await this.client.chat.completions.create(e,n)}catch(i){throw Nm(i)}})}_convertCompletionsMessageToBaseMessage(e,t){let n=e.tool_calls;switch(e.role){case"assistant":{let s=[],i=[];for(let u of n??[])try{s.push(Na(u,{returnId:!0}))}catch(l){i.push(Ra(u,l.message))}let a={function_call:e.function_call,tool_calls:n};this.__includeRawResponse!==void 0&&(a.__raw_response=t);let o={model_name:t.model,...t.system_fingerprint?{usage:{...t.usage},system_fingerprint:t.system_fingerprint}:{}};e.audio&&(a.audio=e.audio);let c=e0(e.content||"",t.choices?.[0]?.message);return new ue({content:c,tool_calls:s,invalid_tool_calls:i,additional_kwargs:a,response_metadata:o,id:t.id})}default:return new ic(e.content||"",e.role??"unknown")}}_convertCompletionsDeltaToBaseMessageChunk(e,t,n){let s=e.role??n,i=e.content??"",a;e.function_call?a={function_call:e.function_call}:e.tool_calls?a={tool_calls:e.tool_calls}:a={},this.__includeRawResponse&&(a.__raw_response=t),e.audio&&(a.audio={...e.audio,index:t.choices[0].index});let o={usage:{...t.usage}};if(s==="user")return new Vh({content:i,response_metadata:o});if(s==="assistant"){let c=[];if(Array.isArray(e.tool_calls))for(let u of e.tool_calls)c.push({name:u.function?.name,args:u.function?.arguments,id:u.id,index:u.index,type:"tool_call_chunk"});return new Rt({content:i,tool_call_chunks:c,additional_kwargs:a,id:t.id,response_metadata:o})}else return s==="system"?new ac({content:i,response_metadata:o}):s==="developer"?new ac({content:i,response_metadata:o,additional_kwargs:{__openai_role__:"developer"}}):s==="function"?new Kh({content:i,additional_kwargs:a,name:e.name,response_metadata:o}):s==="tool"?new zh({content:i,additional_kwargs:a,tool_call_id:e.tool_call_id,response_metadata:o}):new Wh({content:i,role:s,response_metadata:o})}},Ql=class r extends Qs{get lc_serializable_keys(){return[...super.lc_serializable_keys,"useResponsesApi"]}constructor(e){super(e),Object.defineProperty(this,"fields",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"useResponsesApi",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"responses",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"completions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.useResponsesApi=e?.useResponsesApi??!1,this.responses=e?.responses??new qo(e),this.completions=e?.completions??new Jo(e)}_useResponsesApi(e){let t=e?.tools?.some(mh),n=e?.previous_response_id!=null||e?.text!=null||e?.truncation!=null||e?.include!=null||e?.reasoning?.summary!=null||this.reasoning?.summary!=null,s=e?.tools?.some(Mm);return this.useResponsesApi||t||n||s}getLsParams(e){let t=this._combineCallOptions(e);return this._useResponsesApi(e)?this.responses.getLsParams(t):this.completions.getLsParams(t)}invocationParams(e){let t=this._combineCallOptions(e);return this._useResponsesApi(e)?this.responses.invocationParams(t):this.completions.invocationParams(t)}async _generate(e,t,n){return this._useResponsesApi(t)?this.responses._generate(e,t):this.completions._generate(e,t,n)}async*_streamResponseChunks(e,t,n){if(this._useResponsesApi(t)){yield*this.responses._streamResponseChunks(e,this._combineCallOptions(t),n);return}yield*this.completions._streamResponseChunks(e,this._combineCallOptions(t),n)}withConfig(e){let t=new r(this.fields);return t.defaultOptions={...this.defaultOptions,...e},t}},n0=r=>r();function Nd(r){return typeof Headers<"u"&&r!==null&&typeof r=="object"&&Object.prototype.toString.call(r)==="[object Headers]"}function s0(r){let e=n0(()=>{if(Nd(r))return r;if(Array.isArray(r))return new Headers(r);if(typeof r=="object"&&r!==null&&"values"in r&&Nd(r.values))return r.values;if(typeof r=="object"&&r!==null){let t=Object.entries(r).filter(([,n])=>typeof n=="string").map(([n,s])=>[n,s]);return new Headers(t)}return new Headers});return Object.fromEntries(e.entries())}var bh={openAIApiKey:"openai_api_key",openAIApiVersion:"openai_api_version",openAIBasePath:"openai_api_base",deploymentName:"deployment_name",azureOpenAIEndpoint:"azure_endpoint",azureOpenAIApiVersion:"openai_api_version",azureOpenAIBasePath:"openai_api_base",azureOpenAIApiDeploymentName:"deployment_name"},yh={azureOpenAIApiKey:"AZURE_OPENAI_API_KEY"},_h=["azureOpenAIApiKey","azureOpenAIApiVersion","azureOpenAIBasePath","azureOpenAIEndpoint","azureOpenAIApiInstanceName","azureOpenAIApiDeploymentName","deploymentName","openAIApiKey","openAIApiVersion"];function wh(r){if(this.azureOpenAIApiKey=r?.azureOpenAIApiKey??r?.openAIApiKey??r?.apiKey??He("AZURE_OPENAI_API_KEY"),this.azureOpenAIApiInstanceName=r?.azureOpenAIApiInstanceName??He("AZURE_OPENAI_API_INSTANCE_NAME"),this.azureOpenAIApiDeploymentName=r?.azureOpenAIApiDeploymentName??r?.deploymentName??He("AZURE_OPENAI_API_DEPLOYMENT_NAME"),this.azureOpenAIApiVersion=r?.azureOpenAIApiVersion??r?.openAIApiVersion??He("AZURE_OPENAI_API_VERSION"),this.azureOpenAIBasePath=r?.azureOpenAIBasePath??He("AZURE_OPENAI_BASE_PATH"),this.azureOpenAIEndpoint=r?.azureOpenAIEndpoint??He("AZURE_OPENAI_ENDPOINT"),this.azureADTokenProvider=r?.azureADTokenProvider,!this.azureOpenAIApiKey&&!this.apiKey&&!this.azureADTokenProvider)throw new Error("Azure OpenAI API key or Token Provider not found")}function Dm(r){if(!this.client){let t={azureOpenAIApiDeploymentName:this.azureOpenAIApiDeploymentName,azureOpenAIApiInstanceName:this.azureOpenAIApiInstanceName,azureOpenAIApiKey:this.azureOpenAIApiKey,azureOpenAIBasePath:this.azureOpenAIBasePath,azureADTokenProvider:this.azureADTokenProvider,baseURL:this.clientConfig.baseURL,azureOpenAIEndpoint:this.azureOpenAIEndpoint},n=Em(t),s={...this.clientConfig,baseURL:n,timeout:this.timeout,maxRetries:0};this.azureADTokenProvider||(s.apiKey=t.azureOpenAIApiKey),s.baseURL||delete s.baseURL;let i=qh();(i==="node"||i==="deno")&&(i=`(${i}/${process.version}; ${process.platform}; ${process.arch})`);let a=s0(s.defaultHeaders);s.defaultHeaders={...s.defaultHeaders,"User-Agent":a["User-Agent"]?`langchainjs-azure-openai/2.0.0 (${i})${a["User-Agent"]}`:`langchainjs-azure-openai/2.0.0 (${i})`},this.client=new Q_({apiVersion:this.azureOpenAIApiVersion,azureADTokenProvider:this.azureADTokenProvider,deployment:this.azureOpenAIApiDeploymentName,...s})}let e={...this.clientConfig,...r};return this.azureOpenAIApiKey&&(e.headers={"api-key":this.azureOpenAIApiKey,...e.headers},e.query={"api-version":this.azureOpenAIApiVersion,...e.query}),e}function vh(r){let e=r;function t(n){return typeof n=="object"&&n!=null}if(t(e)&&t(e.kwargs)){if(delete e.kwargs.azure_openai_base_path,delete e.kwargs.azure_openai_api_deployment_name,delete e.kwargs.azure_openai_api_key,delete e.kwargs.azure_openai_api_version,delete e.kwargs.azure_open_ai_base_path,!e.kwargs.azure_endpoint&&this.azureOpenAIEndpoint&&(e.kwargs.azure_endpoint=this.azureOpenAIEndpoint),!e.kwargs.azure_endpoint&&this.azureOpenAIBasePath){let n=this.azureOpenAIBasePath.split("/openai/deployments/");if(n.length===2&&n[0].startsWith("http")){let[s]=n;e.kwargs.azure_endpoint=s}}if(!e.kwargs.azure_endpoint&&this.azureOpenAIApiInstanceName&&(e.kwargs.azure_endpoint=`https://${this.azureOpenAIApiInstanceName}.openai.azure.com/`),!e.kwargs.deployment_name&&this.azureOpenAIApiDeploymentName&&(e.kwargs.deployment_name=this.azureOpenAIApiDeploymentName),!e.kwargs.deployment_name&&this.azureOpenAIBasePath){let n=this.azureOpenAIBasePath.split("/openai/deployments/");if(n.length===2){let[,s]=n;e.kwargs.deployment_name=s}}e.kwargs.azure_endpoint&&e.kwargs.deployment_name&&e.kwargs.openai_api_base&&delete e.kwargs.openai_api_base,e.kwargs.azure_openai_api_instance_name&&e.kwargs.azure_endpoint&&delete e.kwargs.azure_openai_api_instance_name}return e}var eh=class extends qo{_llmType(){return"azure_openai"}get lc_aliases(){return{...super.lc_aliases,...bh}}get lc_secrets(){return{...super.lc_secrets,...yh}}get lc_serializable_keys(){return[...super.lc_serializable_keys,..._h]}getLsParams(e){let t=super.getLsParams(e);return t.ls_provider="azure",t}constructor(e){super(e),Object.defineProperty(this,"azureOpenAIApiVersion",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"azureOpenAIApiKey",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"azureADTokenProvider",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"azureOpenAIApiInstanceName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"azureOpenAIApiDeploymentName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"azureOpenAIBasePath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"azureOpenAIEndpoint",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),wh.call(this,e)}_getClientOptions(e){return Dm.call(this,e)}toJSON(){return vh.call(this,super.toJSON())}},th=class extends Jo{_llmType(){return"azure_openai"}get lc_aliases(){return{...super.lc_aliases,...bh}}get lc_secrets(){return{...super.lc_secrets,...yh}}get lc_serializable_keys(){return[...super.lc_serializable_keys,..._h]}getLsParams(e){let t=super.getLsParams(e);return t.ls_provider="azure",t}constructor(e){super(e),Object.defineProperty(this,"azureOpenAIApiVersion",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"azureOpenAIApiKey",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"azureADTokenProvider",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"azureOpenAIApiInstanceName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"azureOpenAIApiDeploymentName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"azureOpenAIBasePath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"azureOpenAIEndpoint",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),wh.call(this,e)}_getClientOptions(e){return Dm.call(this,e)}toJSON(){return vh.call(this,super.toJSON())}},rh=class extends Ql{_llmType(){return"azure_openai"}get lc_aliases(){return{...super.lc_aliases,...bh}}get lc_secrets(){return{...super.lc_secrets,...yh}}get lc_serializable_keys(){return[...super.lc_serializable_keys,..._h]}getLsParams(e){let t=super.getLsParams(e);return t.ls_provider="azure",t}constructor(e){super({...e,completions:new th(e),responses:new eh(e)}),Object.defineProperty(this,"azureOpenAIApiVersion",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"azureOpenAIApiKey",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"azureADTokenProvider",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"azureOpenAIApiInstanceName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"azureOpenAIApiDeploymentName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"azureOpenAIBasePath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"azureOpenAIEndpoint",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),wh.call(this,e)}_getStructuredOutputMethod(e){let t={...e};return this.model.startsWith("gpt-4o")&&t?.method===void 0?"functionCalling":super._getStructuredOutputMethod(t)}toJSON(){return vh.call(this,super.toJSON())}},i0=["x-stainless-package-version","x-stainless-timeout","x-stainless-retry-count","x-stainless-lang","x-stainless-os","x-stainless-arch","x-stainless-runtime","x-stainless-runtime-version","x-stainless-helper-method","api-key"],a0=r=>async(e,t)=>{let n=new Headers(t?.headers);return i0.forEach(s=>n.delete(s)),r&&r.length>0&&n.set("X-Esri-Authorization",`Bearer ${r}`),await fetch(e,{...t,headers:n})},xh=async(r="default",e=0)=>{let t=ih.getDefault(),n=await Md.getCredential(`${t.url}/sharing`),s=Dd[r],i=$y(r),a=$d[s];return new rh({temperature:e,azureOpenAIApiKey:"x",azureOpenAIBasePath:i,azureOpenAIApiDeploymentName:a.deploymentName,azureOpenAIApiVersion:a.apiVersion,model:s,configuration:{fetch:a0(n.token)}})},o0=r=>{let e=new Set;for(let t of r)if(Yt(t)){let n=t;n.tool_calls&&n.tool_calls.length>0&&n.tool_calls.forEach(s=>{s.id&&e.add(s.id)})}return r.filter(t=>{if(ai(t)){let n=t;return e.has(n.tool_call_id)}return!0})},Oh=(r,e)=>{let t=dc.fromTemplate(r);return Tr.fromMessages([t,...e])},c0=async r=>{let{promptText:e,modelTier:t,temperature:n,messages:s}=r,i=Oh(e,s??[]),a=await xh(t,n);return i.pipe(a)},$T=async r=>{let{promptText:e,modelTier:t="default",temperature:n=0,messages:s,inputVariables:i}=r,a=await(await c0({promptText:e,modelTier:t,temperature:n,messages:s})).invoke(i??{});if(typeof a=="string")return a;let o=a.content;return typeof o=="string"?o:JSON.stringify(o)},kh=async r=>{let{promptText:e,modelTier:t="default",temperature:n=0,messages:s,inputVariables:i,schema:a}=r,o=Oh(e,s??[]),c=(await xh(t,n)).withStructuredOutput(a);return await o.pipe(c).invoke(i??{})},DT=async r=>{let{promptText:e,modelTier:t="default",temperature:n=0,messages:s,inputVariables:i,tools:a}=r,o=a.length>0?o0(s??[]):s??[],c=Oh(e,o),u=await xh(t,n);return await c.pipe(u.bindTools(a)).invoke(i??{})},u0=ie.object({id:ie.string().min(1),name:ie.string().min(1),description:ie.string().min(1)});ie.array(u0);var l0=r=>{let e=r.map(n=>n.id),t=ie.enum(e);return ie.object({intents:ie.array(t)})},h0=async(r,e)=>{try{await ur({text:"Asking LLM to detect intents"},e);let t=await ah("intent_prompt"),n=(e?.configurable?.services.agentRegistry?.list()??[]).map(({agent:f})=>({id:f.id,name:f.name,description:f.description}));if(!n.length)return await ur({text:"No agents registered; skipping intent detection"},e),{...r,currentIntent:"none",pendingIntents:[]};let s=n.map(f=>JSON.stringify(f)).join(`
|
|
133
|
-
`),i=n.length,a=l0(n),o={maxIntents:i,registeredAgents:s},c=await kh({promptText:t,modelTier:"fast",schema:a,messages:Hy(r.messages),inputVariables:o}),u=new Set,l=(c.intents??[]).filter(f=>u.has(f)?!1:(u.add(f),!0)).slice(0,i),h=l[0]??"none",p={...r,currentIntent:h,pendingIntents:l};return await ur({text:`Intents came back as: ${l.join(", ")||"none"}`},e),p}catch(t){throw await ur({text:"Error during intent detection"},e),new Error(`Error during intent detection: ${t instanceof Error?t.message:String(t)}`)}},f0=()=>new Gr(Fy).addNode("ingestInput",zy).addNode("intentLLM",h0).addNode("intentDispatcher",Ky).addNode("executeRegisteredAgent",Vy).addNode("exit",Wy).addEdge(G,"ingestInput").addEdge("ingestInput","intentLLM").addEdge("intentLLM","intentDispatcher").addConditionalEdges("intentDispatcher",r=>r.currentIntent==="none"?"exit":"executeRegisteredAgent").addEdge("executeRegisteredAgent","intentDispatcher").addEdge("exit",F),nh=class{constructor(){this.agentRegistry=new Map}register(e){let{agent:t}=e;if(this.agentRegistry.has(t.id))throw new Error(`Duplicate agent id: ${t.id}`);this.agentRegistry.set(t.id,e)}get(e){return this.agentRegistry.get(e)}list(){return[...this.agentRegistry.values()]}},sh=class{constructor(e,t){this.graph=e,this.config={...t}}async waitForUser(){return await new Promise((e,t)=>{this.resolveWait=e,this.rejectWait=t})}handle(e,t){try{let n={agentId:e.agentId,id:e.id,payload:t},s=this.graph.streamEvents(null,{...this.config,configurable:{...this.config.configurable,hitlResponse:n},subgraphs:!0,version:"v2"});this.resolveWait?.(s)}catch(n){this.rejectWait?.(n)}finally{this.resolveWait=void 0,this.rejectWait=void 0}}cancel(){this.rejectWait&&(this.rejectWait(new Error("User cancelled HITL")),this.resolveWait=void 0,this.rejectWait=void 0)}},p0=ut.object({name:ut.string(),description:ut.string(),valueType:ut.string(),alias:ut.string()}),d0=ut.object({fields:ut.array(p0)});function Rd(r,e){let t=new Map;for(let n of r.fields){let s=e.fields.find(a=>a.name===n.name),i={name:n.name,type:n.type,alias:s?.alias??n.alias??"",description:s?.description??n.description??"",valueType:s?.valueType??n.valueType??""};t.set(n.name,i)}return t}var m0=async r=>{let e=await ah("field_descriptions_prompt"),t=r.fields.filter(i=>!(i.alias&&i.description)).map(i=>{let{name:a,type:o,alias:c,description:u}=i;return[`Name: ${a}`,`Type: ${o}`,`Alias: ${c}`,`Description: ${u??"N/A"}`].join(", ")}).join(`
|
|
134
|
-
`);if(t.length===0)return Rd(r,{fields:[]});let n={existingItemTitle:r.portalItem?.title,existingItemDescription:r.portalItem?.description,existingLayerTitle:r.title,existingLayerDescription:r.portalItem?.description,fieldInformation:t},s=await kh({promptText:e,modelTier:"fast",schema:d0,inputVariables:n});return Rd(r,s)},g0=ut.object({title:ut.string(),description:ut.string(),name:ut.string().nullable()}),b0=async(r,e)=>{let t=await ah("layer_descriptions_prompt"),n=Array.from(e.values()),s={fieldInformation:JSON.stringify(n,null,2),existingLayerTitle:r.title,existingLayerDescription:r.portalItem?.description,existingLayerSnippet:r.portalItem?.snippet,layerGeometryType:r.geometryType};return{...await kh({promptText:t,modelTier:"fast",schema:g0,inputVariables:s}),name:r.title??null}},y0=async r=>{let e=r.allLayers.toArray(),t=[],n=new Map;for(let s of e)if(s instanceof jy){let i=(async()=>{let a=await m0(s),o=await b0(s,a);n.set(s.id,{layerItem:o,fieldRegistry:a})})();t.push(i)}return await Promise.all(t),n};async function _0(r,e,t){let n=`req-${Date.now()}`,s={type:"layerSearch",searchQuery:r,requestId:n};return await new Promise(i=>{let a=o=>{if(o.data.requestId!==n)return;let c=o.data.results.filter(([,u])=>u>=t).map(([u,l])=>({id:u.id??"",score:l}));i(c)};e.addEventListener("message",a,{once:!0}),e.postMessage(s)})}function w0(r){let{worker:e}=r;return{async searchLayers({text:t,minScore:n}){return await _0(t,e,n)}}}async function v0(r,e,t,n,s){let i=`req-${Date.now()}`,a={type:"fieldSearch",searchQuery:r,layerIdForFieldsSearch:e,requestId:i};return await new Promise(o=>{let c=u=>{if(u.data.requestId!==i)return;let l=u.data.results.map(({layerId:h,results:p})=>{let f=p.filter(([,m])=>m>=n).map(([m,y])=>({name:m.id??"",score:y})).sort((m,y)=>y.score-m.score).slice(0,s);return{layerId:h,results:f}});o(l)};t.addEventListener("message",c,{once:!0}),t.postMessage(a)})}function x0(r){let{worker:e}=r;return{async searchFields({text:t,layerIds:n,minScore:s,topResults:i}){return await v0(t,n,e,s,i)}}}var jd=class r{constructor(e){this.deps=e,this.orchestratorReady=!1,this.chatHistory=[],this.threadId="",this.agentRegistry=new nh,this.streamEpoch=0}static async init(e){let t=new r(e);if(e.view?.map){let n=await y0(e.view.map);t.layersAndFieldsRegistry=n,t.embeddingsWorker=await Ly(n)}return e.agents?.forEach(n=>{t.agentRegistry.register(n)}),t.orchestratorReady=!0,t}async*ask(e){if(!this.orchestratorReady)throw new Error("Orchestrator is not ready yet.");if(!this.agentRegistry.list().length)throw new Error("Orchestrator has no registered agents.");if(++this.streamEpoch,!e.trim())return;this.threadId=String(Date.now()),this.graph||(this.graph=f0().compile({checkpointer:new xn}));let t=this.embeddingsWorker?w0({worker:this.embeddingsWorker}):void 0,n=this.embeddingsWorker?x0({worker:this.embeddingsWorker}):void 0,s={version:"v2",streamMode:"custom",configurable:{thread_id:this.threadId,hitlResponse:null,services:{layerSearch:t,fieldSearch:n,layersAndFieldsRegistry:this.layersAndFieldsRegistry,agentRegistry:this.agentRegistry,portal:this.deps.portal}},subgraphs:!0},i=this.graph?.streamEvents({userInput:e,messages:this.chatHistory},s),a=++this.streamEpoch;for(yield*this.pipeStream(i,a);;){let c=(await this.graph.getState(s,{subgraphs:!0})).tasks.find(u=>u.interrupts.length>0)?.interrupts[0]?.value;if(!c)break;this.currentInterrupt=c,this.interruptHandler=new sh(this.graph,s),yield{runId:this.threadId,timestamp:Date.now(),type:"interrupt",interrupt:c};try{let u=await this.interruptHandler.waitForUser(),l=++this.streamEpoch;yield*this.pipeStream(u,l)}catch(u){if(u){yield{runId:this.threadId,timestamp:Date.now(),type:"error",error:{message:u?.message}};return}yield{runId:this.threadId,timestamp:Date.now(),type:"cancelled"};return}}let o=(await this.graph.getState(s,{subgraphs:!0})).values;this.chatHistory=o.messages.length?o.messages:this.chatHistory,yield{runId:this.threadId,timestamp:Date.now(),type:"completed",result:{content:qy(o.messages)}}}newConversation(){this.chatHistory=[]}resumeInterrupt(e){if(!this.currentInterrupt||!this.interruptHandler)throw new Error("No pending interrupt to resume.");this.interruptHandler.handle(this.currentInterrupt,e)}cancelInterrupt(){this.interruptHandler&&this.interruptHandler.cancel()}async*pipeStream(e,t){for await(let n of e){if(t!==this.streamEpoch){console.log("Stale stream detected, aborting.");break}n.event==="on_custom_event"&&n.name==="trace_message"?yield{runId:this.threadId,timestamp:Date.now(),type:"trace",data:n.data}:n.name==="graph_ux_suggestion"&&(yield{runId:this.threadId,timestamp:Date.now(),type:"ux-suggestion",suggestion:n.data})}}dispose(){this.embeddingsWorker&&(this.embeddingsWorker.terminate(),this.embeddingsWorker=void 0),this.orchestratorReady=!1}};return{a:rs,b:pr,c:hb,d:ft,e:G,f:F,g:ve,h:Pe,i:Te,j:xe,k:Gr,l:xr,m:ur,n:MT,o:$T,p:kh,q:DT,r:jd}},"identity/IdentityManager","portal/Portal","layers/FeatureLayer",a)
|