zen-code 4.9.0 → 4.9.2

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.
Files changed (116) hide show
  1. package/dist/app.js +187 -144
  2. package/dist/{chunk-4nsg4vcd.js → chunk-0pss3s5r.js} +1 -1
  3. package/dist/chunk-0sxrk9sx.js +1 -0
  4. package/dist/{chunk-gcm4jp0d.js → chunk-0zk0m93z.js} +1 -1
  5. package/dist/chunk-178yjjsx.js +1 -0
  6. package/dist/chunk-1p9xzvpt.js +3 -0
  7. package/dist/{chunk-hfve7nf5.js → chunk-2eh0sv3s.js} +2 -2
  8. package/dist/chunk-43xrz4wp.js +2 -0
  9. package/dist/chunk-48ce2wt0.js +1 -0
  10. package/dist/chunk-48vkm1yn.js +5 -0
  11. package/dist/{chunk-va71tsw3.js → chunk-55nx49pj.js} +2 -2
  12. package/dist/chunk-578m1dhj.js +2 -0
  13. package/dist/{chunk-trjpzw1n.js → chunk-5dsevrtz.js} +3 -3
  14. package/dist/{chunk-1y82m5kn.js → chunk-62zh99t6.js} +4 -4
  15. package/dist/chunk-66890qd3.js +2 -0
  16. package/dist/{chunk-9k5d9vf1.js → chunk-6nfpdtn6.js} +1 -1
  17. package/dist/chunk-738m8242.js +53 -0
  18. package/dist/{chunk-98f6hg43.js → chunk-8f2zh5h6.js} +2 -2
  19. package/dist/{chunk-jbf8ve63.js → chunk-8ty2zfve.js} +1 -1
  20. package/dist/{chunk-9dahn9h7.js → chunk-94jawhw7.js} +1 -1
  21. package/dist/chunk-98wjxsna.js +79 -0
  22. package/dist/chunk-9b7nj74j.js +1 -0
  23. package/dist/{chunk-wn43r152.js → chunk-9k64296h.js} +1 -1
  24. package/dist/chunk-9x562s6p.js +1 -0
  25. package/dist/chunk-a90fm6gz.js +278 -0
  26. package/dist/chunk-ac5t2ywn.js +100 -0
  27. package/dist/chunk-ad2hbq42.js +1 -0
  28. package/dist/chunk-afhxxkmv.js +16 -0
  29. package/dist/chunk-b4vvgbav.js +1 -0
  30. package/dist/{chunk-g7pm00z7.js → chunk-b9pcntkv.js} +9 -9
  31. package/dist/chunk-c7y5efa0.js +1 -0
  32. package/dist/chunk-cbjnwrt7.js +2 -0
  33. package/dist/{chunk-g377vrpj.js → chunk-ce53j63y.js} +1 -1
  34. package/dist/{chunk-kba8akjs.js → chunk-dcs1r9as.js} +1 -1
  35. package/dist/chunk-dcwnpdtk.js +9 -0
  36. package/dist/{chunk-b52b0t16.js → chunk-dxec2q4t.js} +1 -1
  37. package/dist/{chunk-13nyfrmm.js → chunk-e3tyc24s.js} +1 -1
  38. package/dist/{chunk-ep2es95e.js → chunk-e8hp8d68.js} +3 -3
  39. package/dist/chunk-fkrydbn4.js +18 -0
  40. package/dist/chunk-frhhpxxy.js +2 -0
  41. package/dist/{chunk-ns6tjjkq.js → chunk-fw3nrwpf.js} +1 -1
  42. package/dist/chunk-gyhxdxb4.js +1 -0
  43. package/dist/chunk-h1enhch1.js +2 -0
  44. package/dist/chunk-hcnx1j2z.js +1 -0
  45. package/dist/chunk-hfegb4pr.js +2 -0
  46. package/dist/{chunk-mmq834zt.js → chunk-hfypkhky.js} +1 -1
  47. package/dist/chunk-hmemx3cw.js +2 -0
  48. package/dist/chunk-hra0748z.js +2 -0
  49. package/dist/chunk-hsev32dg.js +4 -0
  50. package/dist/chunk-hyf24r36.js +2 -0
  51. package/dist/chunk-jb4yt88g.js +6 -0
  52. package/dist/chunk-jjcmm167.js +1 -0
  53. package/dist/chunk-jrepjpft.js +2 -0
  54. package/dist/chunk-k38fjqj7.js +140 -0
  55. package/dist/{chunk-cs73xbzz.js → chunk-kym9tb01.js} +1 -1
  56. package/dist/chunk-mt1g6g89.js +1 -0
  57. package/dist/chunk-p0vzbr7s.js +585 -0
  58. package/dist/{chunk-heasksrr.js → chunk-pndhbee8.js} +2 -2
  59. package/dist/{chunk-cggjws6a.js → chunk-pwrscdkf.js} +1 -1
  60. package/dist/{chunk-j7a40ww9.js → chunk-r019959h.js} +2 -2
  61. package/dist/chunk-r10bn684.js +1 -0
  62. package/dist/{chunk-30sq2w0d.js → chunk-r3pe49q4.js} +3 -3
  63. package/dist/chunk-r4tq44hr.js +1 -0
  64. package/dist/chunk-rjrnaka2.js +1 -0
  65. package/dist/{chunk-8g2zdcy0.js → chunk-rt5mpgbg.js} +2 -2
  66. package/dist/chunk-rztre6k0.js +1 -0
  67. package/dist/chunk-s77qbhtz.js +3 -0
  68. package/dist/chunk-t7rwtc17.js +1 -0
  69. package/dist/chunk-v8g52kan.js +1 -0
  70. package/dist/chunk-vd6c87cm.js +2 -0
  71. package/dist/{chunk-rncpxz1b.js → chunk-vfwbx331.js} +2 -2
  72. package/dist/chunk-vh9zd1v3.js +5 -0
  73. package/dist/chunk-w2hbsa9j.js +86 -0
  74. package/dist/chunk-wabmqprd.js +184 -0
  75. package/dist/chunk-wpy5r9ma.js +40 -0
  76. package/dist/chunk-x552nspp.js +6 -0
  77. package/dist/chunk-x90r4sje.js +1 -0
  78. package/dist/chunk-yndex7hs.js +1 -0
  79. package/dist/{chunk-7kdvr78m.js → chunk-yqwxbcc7.js} +4 -4
  80. package/dist/chunk-z8n7y37k.js +1 -0
  81. package/dist/chunk-zr7sx9hd.js +1 -0
  82. package/dist/chunk-zxqmghzf.js +1 -0
  83. package/dist/cli.js +1 -1
  84. package/dist/nonInteractive.js +2 -2
  85. package/dist/zen-keyboard.js +1 -1
  86. package/package.json +1 -1
  87. package/dist/chunk-02vv5584.js +0 -1
  88. package/dist/chunk-1edvf7b5.js +0 -1
  89. package/dist/chunk-1rmnbdef.js +0 -1
  90. package/dist/chunk-1ttywx0y.js +0 -6
  91. package/dist/chunk-32ase1cw.js +0 -2
  92. package/dist/chunk-3490ntd8.js +0 -1
  93. package/dist/chunk-3pcybja5.js +0 -7
  94. package/dist/chunk-5rr85f28.js +0 -1
  95. package/dist/chunk-5x8nxw0t.js +0 -137
  96. package/dist/chunk-6rfc36jg.js +0 -1
  97. package/dist/chunk-76h8pe7x.js +0 -2
  98. package/dist/chunk-8z38ybz7.js +0 -1
  99. package/dist/chunk-b8dxq9rq.js +0 -1
  100. package/dist/chunk-cjqarwdn.js +0 -1
  101. package/dist/chunk-cyexd09c.js +0 -2
  102. package/dist/chunk-f8ewggk1.js +0 -1
  103. package/dist/chunk-j9aysaeb.js +0 -1
  104. package/dist/chunk-jfhc5c0d.js +0 -1
  105. package/dist/chunk-jxsfzfac.js +0 -2
  106. package/dist/chunk-m76ya904.js +0 -1
  107. package/dist/chunk-mjzeawnq.js +0 -6
  108. package/dist/chunk-nwy6n6b6.js +0 -274
  109. package/dist/chunk-qd305hg1.js +0 -1
  110. package/dist/chunk-qez6ejd4.js +0 -1
  111. package/dist/chunk-r2h3x9zv.js +0 -2
  112. package/dist/chunk-rz3b356n.js +0 -1
  113. package/dist/chunk-xhnvpygg.js +0 -2
  114. package/dist/chunk-xkz5z0zn.js +0 -1
  115. package/dist/chunk-zwxjkwqd.js +0 -26
  116. package/dist/chunk-zz32kgt2.js +0 -1
@@ -0,0 +1,86 @@
1
+ import{Dl as f,El as Z1}from"./chunk-rztre6k0.js";import{Ao as G8,Fn as D0,Ll as u0,Ml as c9,Sm as $8,Tl as S1,Tm as Q8,Vl as i9,cq as L4,in as o9,zo as Y8}from"./chunk-wpy5r9ma.js";import{fq as wJ}from"./chunk-h1enhch1.js";import{gq as f6}from"./chunk-hyf24r36.js";import{pq as F$,qq as d,tq as M1}from"./chunk-dcs1r9as.js";var c4=d((W3,l4)=>{l4.exports=function($,Q){if(typeof $!=="string")throw TypeError("Expected a string");return Q=typeof Q>"u"?"_":Q,$.replace(/([a-z\d])([A-Z])/g,"$1"+Q+"$2").replace(/([A-Z]+)([A-Z][a-z\d]+)/g,"$1"+Q+"$2").toLowerCase()}});var a4=d((Z3,v9)=>{var oW=/[\p{Lu}]/u,tW=/[\p{Ll}]/u,i4=/^[\p{Lu}](?![\p{Lu}])/gu,s4=/([\p{Alpha}\p{N}_]|$)/u,r4=/[_.\- ]+/,sW=new RegExp("^"+r4.source),o4=new RegExp(r4.source+s4.source,"gu"),t4=new RegExp("\\d+"+s4.source,"gu"),rW=($,Q,Y)=>{let G=!1,W=!1,Z=!1;for(let q=0;q<$.length;q++){let z=$[q];if(G&&oW.test(z))$=$.slice(0,q)+"-"+$.slice(q),G=!1,Z=W,W=!0,q++;else if(W&&Z&&tW.test(z))$=$.slice(0,q-1)+"-"+$.slice(q-1),Z=W,W=!1,G=!0;else G=Q(z)===z&&Y(z)!==z,Z=W,W=Y(z)===z&&Q(z)!==z}return $},nW=($,Q)=>{return i4.lastIndex=0,$.replace(i4,(Y)=>Q(Y))},aW=($,Q)=>{return o4.lastIndex=0,t4.lastIndex=0,$.replace(o4,(Y,G)=>Q(G)).replace(t4,(Y)=>Q(Y))},n4=($,Q)=>{if(!(typeof $==="string"||Array.isArray($)))throw TypeError("Expected the input to be `string | string[]`");if(Q={pascalCase:!1,preserveConsecutiveUppercase:!1,...Q},Array.isArray($))$=$.map((Z)=>Z.trim()).filter((Z)=>Z.length).join("-");else $=$.trim();if($.length===0)return"";let Y=Q.locale===!1?(Z)=>Z.toLowerCase():(Z)=>Z.toLocaleLowerCase(Q.locale),G=Q.locale===!1?(Z)=>Z.toUpperCase():(Z)=>Z.toLocaleUpperCase(Q.locale);if($.length===1)return Q.pascalCase?G($):Y($);if($!==Y($))$=rW($,Y,G);if($=$.replace(sW,""),Q.preserveConsecutiveUppercase)$=nW($,Y);else $=Y($);if(Q.pascalCase)$=G($.charAt(0))+$.slice(1);return aW($,G)};v9.exports=n4;v9.exports.default=n4});var N8=d((K8)=>{Object.defineProperty(K8,"__esModule",{value:!0});K8.default=void 0;var iK=K8.default="ffffffff-ffff-ffff-ffff-ffffffffffff"});var w8=d((A8)=>{Object.defineProperty(A8,"__esModule",{value:!0});A8.default=void 0;var tK=A8.default="00000000-0000-0000-0000-000000000000"});var O8=d((V8)=>{Object.defineProperty(V8,"__esModule",{value:!0});V8.default=void 0;var rK=V8.default=/^(?:[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});var d$=d((D8)=>{Object.defineProperty(D8,"__esModule",{value:!0});D8.default=void 0;var hZ=bZ(O8());function bZ($){return $&&$.__esModule?$:{default:$}}function gZ($){return typeof $==="string"&&hZ.default.test($)}var aK=D8.default=gZ});var u$=d((E8)=>{Object.defineProperty(E8,"__esModule",{value:!0});E8.default=void 0;var mZ=dZ(d$());function dZ($){return $&&$.__esModule?$:{default:$}}function uZ($){if(!(0,mZ.default)($))throw TypeError("Invalid UUID");let Q,Y=new Uint8Array(16);return Y[0]=(Q=parseInt($.slice(0,8),16))>>>24,Y[1]=Q>>>16&255,Y[2]=Q>>>8&255,Y[3]=Q&255,Y[4]=(Q=parseInt($.slice(9,13),16))>>>8,Y[5]=Q&255,Y[6]=(Q=parseInt($.slice(14,18),16))>>>8,Y[7]=Q&255,Y[8]=(Q=parseInt($.slice(19,23),16))>>>8,Y[9]=Q&255,Y[10]=(Q=parseInt($.slice(24,36),16))/1099511627776&255,Y[11]=Q/4294967296&255,Y[12]=Q>>>24&255,Y[13]=Q>>>16&255,Y[14]=Q>>>8&255,Y[15]=Q&255,Y}var $5=E8.default=uZ});var e0=d((_8)=>{Object.defineProperty(_8,"__esModule",{value:!0});_8.default=void 0;_8.unsafeStringify=S8;var pZ=lZ(d$());function lZ($){return $&&$.__esModule?$:{default:$}}var q0=[];for(let $=0;$<256;++$)q0.push(($+256).toString(16).slice(1));function S8($,Q=0){return(q0[$[Q+0]]+q0[$[Q+1]]+q0[$[Q+2]]+q0[$[Q+3]]+"-"+q0[$[Q+4]]+q0[$[Q+5]]+"-"+q0[$[Q+6]]+q0[$[Q+7]]+"-"+q0[$[Q+8]]+q0[$[Q+9]]+"-"+q0[$[Q+10]]+q0[$[Q+11]]+q0[$[Q+12]]+q0[$[Q+13]]+q0[$[Q+14]]+q0[$[Q+15]]).toLowerCase()}function cZ($,Q=0){let Y=S8($,Q);if(!(0,pZ.default)(Y))throw TypeError("Stringified UUID is invalid");return Y}var Y5=_8.default=cZ});var R1=d((M8)=>{Object.defineProperty(M8,"__esModule",{value:!0});M8.default=sZ;var oZ=tZ(M1("node:crypto"));function tZ($){return $&&$.__esModule?$:{default:$}}var L1=new Uint8Array(256),_1=L1.length;function sZ(){if(_1>L1.length-16)oZ.default.randomFillSync(L1),_1=0;return L1.slice(_1,_1+=16)}});var a9=d((R8)=>{Object.defineProperty(R8,"__esModule",{value:!0});R8.default=void 0;var nZ=eZ(R1()),aZ=e0();function eZ($){return $&&$.__esModule?$:{default:$}}var s9,T1,r9=0,n9=0;function $q($,Q,Y){let G=Q&&Y||0,W=Q||Array(16);$=$||{};let{node:Z,clockseq:q}=$;if(!$._v6){if(!Z)Z=s9;if(q==null)q=T1}if(Z==null||q==null){let N=$.random||($.rng||nZ.default)();if(Z==null){if(Z=[N[0],N[1],N[2],N[3],N[4],N[5]],!s9&&!$._v6)Z[0]|=1,s9=Z}if(q==null){if(q=(N[6]<<8|N[7])&16383,T1===void 0&&!$._v6)T1=q}}let z=$.msecs!==void 0?$.msecs:Date.now(),J=$.nsecs!==void 0?$.nsecs:n9+1,X=z-r9+(J-n9)/1e4;if(X<0&&$.clockseq===void 0)q=q+1&16383;if((X<0||z>r9)&&$.nsecs===void 0)J=0;if(J>=1e4)throw Error("uuid.v1(): Can't create more than 10M uuids/sec");r9=z,n9=J,T1=q,z+=12219292800000;let K=((z&268435455)*1e4+J)%4294967296;W[G++]=K>>>24&255,W[G++]=K>>>16&255,W[G++]=K>>>8&255,W[G++]=K&255;let H=z/4294967296*1e4&268435455;W[G++]=H>>>8&255,W[G++]=H&255,W[G++]=H>>>24&15|16,W[G++]=H>>>16&255,W[G++]=q>>>8|128,W[G++]=q&255;for(let N=0;N<6;++N)W[G+N]=Z[N];return Q||(0,aZ.unsafeStringify)(W)}var Z5=R8.default=$q});var e9=d((I8)=>{Object.defineProperty(I8,"__esModule",{value:!0});I8.default=Wq;var Qq=Gq(u$()),Yq=e0();function Gq($){return $&&$.__esModule?$:{default:$}}function Wq($){let Q=typeof $==="string"?(0,Qq.default)($):$,Y=Zq(Q);return typeof $==="string"?(0,Yq.unsafeStringify)(Y):Y}function Zq($,Q=!1){return Uint8Array.of(($[6]&15)<<4|$[7]>>4&15,($[7]&15)<<4|($[4]&240)>>4,($[4]&15)<<4|($[5]&240)>>4,($[5]&15)<<4|($[0]&240)>>4,($[0]&15)<<4|($[1]&240)>>4,($[1]&15)<<4|($[2]&240)>>4,96|$[2]&15,$[3],$[8],$[9],$[10],$[11],$[12],$[13],$[14],$[15])}});var $6=d((x8)=>{Object.defineProperty(x8,"__esModule",{value:!0});x8.URL=x8.DNS=void 0;x8.default=Aq;var zq=e0(),Jq=Xq(u$());function Xq($){return $&&$.__esModule?$:{default:$}}function Kq($){$=unescape(encodeURIComponent($));let Q=[];for(let Y=0;Y<$.length;++Y)Q.push($.charCodeAt(Y));return Q}var Hq=x8.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",Nq=x8.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function Aq($,Q,Y){function G(W,Z,q,z){var J;if(typeof W==="string")W=Kq(W);if(typeof Z==="string")Z=(0,Jq.default)(Z);if(((J=Z)===null||J===void 0?void 0:J.length)!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let X=new Uint8Array(16+W.length);if(X.set(Z),X.set(W,Z.length),X=Y(X),X[6]=X[6]&15|Q,X[8]=X[8]&63|128,q){z=z||0;for(let K=0;K<16;++K)q[z+K]=X[K];return q}return(0,zq.unsafeStringify)(X)}try{G.name=$}catch(W){}return G.DNS=Hq,G.URL=Nq,G}});var y8=d((C8)=>{Object.defineProperty(C8,"__esModule",{value:!0});C8.default=void 0;var Vq=Fq(M1("node:crypto"));function Fq($){return $&&$.__esModule?$:{default:$}}function Oq($){if(Array.isArray($))$=Buffer.from($);else if(typeof $==="string")$=Buffer.from($,"utf8");return Vq.default.createHash("md5").update($).digest()}var X5=C8.default=Oq});var b8=d((f8)=>{Object.defineProperty(f8,"__esModule",{value:!0});f8.default=void 0;var Dq=k8($6()),Bq=k8(y8());function k8($){return $&&$.__esModule?$:{default:$}}var Eq=(0,Dq.default)("v3",48,Bq.default),H5=f8.default=Eq});var d8=d((g8)=>{Object.defineProperty(g8,"__esModule",{value:!0});g8.default=void 0;var Pq=Sq(M1("node:crypto"));function Sq($){return $&&$.__esModule?$:{default:$}}var A5=g8.default={randomUUID:Pq.default.randomUUID}});var i8=d((l8)=>{Object.defineProperty(l8,"__esModule",{value:!0});l8.default=void 0;var u8=p8(d8()),_q=p8(R1()),Lq=e0();function p8($){return $&&$.__esModule?$:{default:$}}function Mq($,Q,Y){if(u8.default.randomUUID&&!Q&&!$)return u8.default.randomUUID();$=$||{};let G=$.random||($.rng||_q.default)();if(G[6]=G[6]&15|64,G[8]=G[8]&63|128,Q){Y=Y||0;for(let W=0;W<16;++W)Q[Y+W]=G[W];return Q}return(0,Lq.unsafeStringify)(G)}var w5=l8.default=Mq});var s8=d((o8)=>{Object.defineProperty(o8,"__esModule",{value:!0});o8.default=void 0;var Rq=Tq(M1("node:crypto"));function Tq($){return $&&$.__esModule?$:{default:$}}function Iq($){if(Array.isArray($))$=Buffer.from($);else if(typeof $==="string")$=Buffer.from($,"utf8");return Rq.default.createHash("sha1").update($).digest()}var F5=o8.default=Iq});var e8=d((n8)=>{Object.defineProperty(n8,"__esModule",{value:!0});n8.default=void 0;var xq=r8($6()),jq=r8(s8());function r8($){return $&&$.__esModule?$:{default:$}}var Cq=(0,xq.default)("v5",80,jq.default),D5=n8.default=Cq});var YY=d((QY)=>{Object.defineProperty(QY,"__esModule",{value:!0});QY.default=fq;var vq=e0(),yq=$Y(a9()),kq=$Y(e9());function $Y($){return $&&$.__esModule?$:{default:$}}function fq($={},Q,Y=0){let G=(0,yq.default)({...$,_v6:!0},new Uint8Array(16));if(G=(0,kq.default)(G),Q){for(let W=0;W<16;W++)Q[Y+W]=G[W];return Q}return(0,vq.unsafeStringify)(G)}});var WY=d((GY)=>{Object.defineProperty(GY,"__esModule",{value:!0});GY.default=dq;var bq=mq(u$()),gq=e0();function mq($){return $&&$.__esModule?$:{default:$}}function dq($){let Q=typeof $==="string"?(0,bq.default)($):$,Y=uq(Q);return typeof $==="string"?(0,gq.unsafeStringify)(Y):Y}function uq($){return Uint8Array.of(($[3]&15)<<4|$[4]>>4&15,($[4]&15)<<4|($[5]&240)>>4,($[5]&15)<<4|$[6]&15,$[7],($[1]&15)<<4|($[2]&240)>>4,($[2]&15)<<4|($[3]&240)>>4,16|($[0]&240)>>4,($[0]&15)<<4|($[1]&240)>>4,$[8],$[9],$[10],$[11],$[12],$[13],$[14],$[15])}});var XY=d((zY)=>{Object.defineProperty(zY,"__esModule",{value:!0});zY.default=void 0;var lq=iq(R1()),cq=e0();function iq($){return $&&$.__esModule?$:{default:$}}var ZY=null,qY=null,k0=0;function oq($,Q,Y){$=$||{};let G=Q&&Y||0,W=Q||new Uint8Array(16),Z=$.random||($.rng||lq.default)(),q=$.msecs!==void 0?$.msecs:Date.now(),z=$.seq!==void 0?$.seq:null,J=qY,X=ZY;if(q>k0&&$.msecs===void 0){if(k0=q,z!==null)J=null,X=null}if(z!==null){if(z>2147483647)z=2147483647;J=z>>>19&4095,X=z&524287}if(J===null||X===null)J=Z[6]&127,J=J<<8|Z[7],X=Z[8]&63,X=X<<8|Z[9],X=X<<5|Z[10]>>>3;if(q+1e4>k0&&z===null){if(++X>524287){if(X=0,++J>4095)J=0,k0++}}else k0=q;return qY=J,ZY=X,W[G++]=k0/1099511627776&255,W[G++]=k0/4294967296&255,W[G++]=k0/16777216&255,W[G++]=k0/65536&255,W[G++]=k0/256&255,W[G++]=k0&255,W[G++]=J>>>4&15|112,W[G++]=J&255,W[G++]=X>>>13&63|128,W[G++]=X>>>5&255,W[G++]=X<<3&255|Z[10]&7,W[G++]=Z[11],W[G++]=Z[12],W[G++]=Z[13],W[G++]=Z[14],W[G++]=Z[15],Q||(0,cq.unsafeStringify)(W)}var S5=zY.default=oq});var NY=d((KY)=>{Object.defineProperty(KY,"__esModule",{value:!0});KY.default=void 0;var tq=sq(d$());function sq($){return $&&$.__esModule?$:{default:$}}function rq($){if(!(0,tq.default)($))throw TypeError("Invalid UUID");return parseInt($.slice(14,15),16)}var L5=KY.default=rq});var AY=d((J0)=>{Object.defineProperty(J0,"__esModule",{value:!0});Object.defineProperty(J0,"MAX",{enumerable:!0,get:function(){return nq.default}});Object.defineProperty(J0,"NIL",{enumerable:!0,get:function(){return aq.default}});Object.defineProperty(J0,"parse",{enumerable:!0,get:function(){return eq.default}});Object.defineProperty(J0,"stringify",{enumerable:!0,get:function(){return $z.default}});Object.defineProperty(J0,"v1",{enumerable:!0,get:function(){return Qz.default}});Object.defineProperty(J0,"v1ToV6",{enumerable:!0,get:function(){return Yz.default}});Object.defineProperty(J0,"v3",{enumerable:!0,get:function(){return Gz.default}});Object.defineProperty(J0,"v4",{enumerable:!0,get:function(){return Wz.default}});Object.defineProperty(J0,"v5",{enumerable:!0,get:function(){return Zz.default}});Object.defineProperty(J0,"v6",{enumerable:!0,get:function(){return qz.default}});Object.defineProperty(J0,"v6ToV1",{enumerable:!0,get:function(){return zz.default}});Object.defineProperty(J0,"v7",{enumerable:!0,get:function(){return Jz.default}});Object.defineProperty(J0,"validate",{enumerable:!0,get:function(){return Xz.default}});Object.defineProperty(J0,"version",{enumerable:!0,get:function(){return Kz.default}});var nq=B0(N8()),aq=B0(w8()),eq=B0(u$()),$z=B0(e0()),Qz=B0(a9()),Yz=B0(e9()),Gz=B0(b8()),Wz=B0(i8()),Zz=B0(e8()),qz=B0(YY()),zz=B0(WY()),Jz=B0(XY()),Xz=B0(d$()),Kz=B0(NY());function B0($){return $&&$.__esModule?$:{default:$}}});var LG=d((IH,_6)=>{var GJ=Object.prototype.hasOwnProperty,N0="~";function i$(){}if(Object.create){if(i$.prototype=Object.create(null),!new i$().__proto__)N0=!1}function WJ($,Q,Y){this.fn=$,this.context=Q,this.once=Y||!1}function _G($,Q,Y,G,W){if(typeof Y!=="function")throw TypeError("The listener must be a function");var Z=new WJ(Y,G||$,W),q=N0?N0+Q:Q;if(!$._events[q])$._events[q]=Z,$._eventsCount++;else if(!$._events[q].fn)$._events[q].push(Z);else $._events[q]=[$._events[q],Z];return $}function u1($,Q){if(--$._eventsCount===0)$._events=new i$;else delete $._events[Q]}function X0(){this._events=new i$,this._eventsCount=0}X0.prototype.eventNames=function(){var Q=[],Y,G;if(this._eventsCount===0)return Q;for(G in Y=this._events)if(GJ.call(Y,G))Q.push(N0?G.slice(1):G);if(Object.getOwnPropertySymbols)return Q.concat(Object.getOwnPropertySymbols(Y));return Q};X0.prototype.listeners=function(Q){var Y=N0?N0+Q:Q,G=this._events[Y];if(!G)return[];if(G.fn)return[G.fn];for(var W=0,Z=G.length,q=Array(Z);W<Z;W++)q[W]=G[W].fn;return q};X0.prototype.listenerCount=function(Q){var Y=N0?N0+Q:Q,G=this._events[Y];if(!G)return 0;if(G.fn)return 1;return G.length};X0.prototype.emit=function(Q,Y,G,W,Z,q){var z=N0?N0+Q:Q;if(!this._events[z])return!1;var J=this._events[z],X=arguments.length,K,H;if(J.fn){if(J.once)this.removeListener(Q,J.fn,void 0,!0);switch(X){case 1:return J.fn.call(J.context),!0;case 2:return J.fn.call(J.context,Y),!0;case 3:return J.fn.call(J.context,Y,G),!0;case 4:return J.fn.call(J.context,Y,G,W),!0;case 5:return J.fn.call(J.context,Y,G,W,Z),!0;case 6:return J.fn.call(J.context,Y,G,W,Z,q),!0}for(H=1,K=Array(X-1);H<X;H++)K[H-1]=arguments[H];J.fn.apply(J.context,K)}else{var N=J.length,A;for(H=0;H<N;H++){if(J[H].once)this.removeListener(Q,J[H].fn,void 0,!0);switch(X){case 1:J[H].fn.call(J[H].context);break;case 2:J[H].fn.call(J[H].context,Y);break;case 3:J[H].fn.call(J[H].context,Y,G);break;case 4:J[H].fn.call(J[H].context,Y,G,W);break;default:if(!K)for(A=1,K=Array(X-1);A<X;A++)K[A-1]=arguments[A];J[H].fn.apply(J[H].context,K)}}}return!0};X0.prototype.on=function(Q,Y,G){return _G(this,Q,Y,G,!1)};X0.prototype.once=function(Q,Y,G){return _G(this,Q,Y,G,!0)};X0.prototype.removeListener=function(Q,Y,G,W){var Z=N0?N0+Q:Q;if(!this._events[Z])return this;if(!Y)return u1(this,Z),this;var q=this._events[Z];if(q.fn){if(q.fn===Y&&(!W||q.once)&&(!G||q.context===G))u1(this,Z)}else{for(var z=0,J=[],X=q.length;z<X;z++)if(q[z].fn!==Y||W&&!q[z].once||G&&q[z].context!==G)J.push(q[z]);if(J.length)this._events[Z]=J.length===1?J[0]:J;else u1(this,Z)}return this};X0.prototype.removeAllListeners=function(Q){var Y;if(Q){if(Y=N0?N0+Q:Q,this._events[Y])u1(this,Y)}else this._events=new i$,this._eventsCount=0;return this};X0.prototype.off=X0.prototype.removeListener;X0.prototype.addListener=X0.prototype.on;X0.prefixed=N0;X0.EventEmitter=X0;if(typeof _6<"u")_6.exports=X0});var RG=d((xH,MG)=>{MG.exports=($,Q)=>{return Q=Q||(()=>{}),$.then((Y)=>new Promise((G)=>{G(Q())}).then(()=>Y),(Y)=>new Promise((G)=>{G(Q())}).then(()=>{throw Y}))}});var IG=d((jH,p1)=>{var ZJ=RG();class L6 extends Error{constructor($){super($);this.name="TimeoutError"}}var TG=($,Q,Y)=>new Promise((G,W)=>{if(typeof Q!=="number"||Q<0)throw TypeError("Expected `milliseconds` to be a positive number");if(Q===1/0){G($);return}let Z=setTimeout(()=>{if(typeof Y==="function"){try{G(Y())}catch(J){W(J)}return}let q=typeof Y==="string"?Y:`Promise timed out after ${Q} milliseconds`,z=Y instanceof Error?Y:new L6(q);if(typeof $.cancel==="function")$.cancel();W(z)},Q);ZJ($.then(G,W),()=>{clearTimeout(Z)})});p1.exports=TG;p1.exports.default=TG;p1.exports.TimeoutError=L6});var jG=d((xG)=>{Object.defineProperty(xG,"__esModule",{value:!0});function qJ($,Q,Y){let G=0,W=$.length;while(W>0){let Z=W/2|0,q=G+Z;if(Y($[q],Q)<=0)G=++q,W-=Z+1;else W=Z}return G}xG.default=qJ});var yG=d((vG)=>{Object.defineProperty(vG,"__esModule",{value:!0});var JJ=jG();class CG{constructor(){this._queue=[]}enqueue($,Q){Q=Object.assign({priority:0},Q);let Y={priority:Q.priority,run:$};if(this.size&&this._queue[this.size-1].priority>=Q.priority){this._queue.push(Y);return}let G=JJ.default(this._queue,Y,(W,Z)=>Z.priority-W.priority);this._queue.splice(G,0,Y)}dequeue(){let $=this._queue.shift();return $===null||$===void 0?void 0:$.run}filter($){return this._queue.filter((Q)=>Q.priority===$.priority).map((Q)=>Q.run)}get size(){return this._queue.length}}vG.default=CG});var c1=d((hG)=>{Object.defineProperty(hG,"__esModule",{value:!0});var KJ=LG(),kG=IG(),HJ=yG(),l1=()=>{},NJ=new kG.TimeoutError;class fG extends KJ{constructor($){var Q,Y,G,W;super();if(this._intervalCount=0,this._intervalEnd=0,this._pendingCount=0,this._resolveEmpty=l1,this._resolveIdle=l1,$=Object.assign({carryoverConcurrencyCount:!1,intervalCap:1/0,interval:0,concurrency:1/0,autoStart:!0,queueClass:HJ.default},$),!(typeof $.intervalCap==="number"&&$.intervalCap>=1))throw TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(Y=(Q=$.intervalCap)===null||Q===void 0?void 0:Q.toString())!==null&&Y!==void 0?Y:""}\` (${typeof $.intervalCap})`);if($.interval===void 0||!(Number.isFinite($.interval)&&$.interval>=0))throw TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(W=(G=$.interval)===null||G===void 0?void 0:G.toString())!==null&&W!==void 0?W:""}\` (${typeof $.interval})`);this._carryoverConcurrencyCount=$.carryoverConcurrencyCount,this._isIntervalIgnored=$.intervalCap===1/0||$.interval===0,this._intervalCap=$.intervalCap,this._interval=$.interval,this._queue=new $.queueClass,this._queueClass=$.queueClass,this.concurrency=$.concurrency,this._timeout=$.timeout,this._throwOnTimeout=$.throwOnTimeout===!0,this._isPaused=$.autoStart===!1}get _doesIntervalAllowAnother(){return this._isIntervalIgnored||this._intervalCount<this._intervalCap}get _doesConcurrentAllowAnother(){return this._pendingCount<this._concurrency}_next(){this._pendingCount--,this._tryToStartAnother(),this.emit("next")}_resolvePromises(){if(this._resolveEmpty(),this._resolveEmpty=l1,this._pendingCount===0)this._resolveIdle(),this._resolveIdle=l1,this.emit("idle")}_onResumeInterval(){this._onInterval(),this._initializeIntervalIfNeeded(),this._timeoutId=void 0}_isIntervalPaused(){let $=Date.now();if(this._intervalId===void 0){let Q=this._intervalEnd-$;if(Q<0)this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0;else{if(this._timeoutId===void 0)this._timeoutId=setTimeout(()=>{this._onResumeInterval()},Q);return!0}}return!1}_tryToStartAnother(){if(this._queue.size===0){if(this._intervalId)clearInterval(this._intervalId);return this._intervalId=void 0,this._resolvePromises(),!1}if(!this._isPaused){let $=!this._isIntervalPaused();if(this._doesIntervalAllowAnother&&this._doesConcurrentAllowAnother){let Q=this._queue.dequeue();if(!Q)return!1;if(this.emit("active"),Q(),$)this._initializeIntervalIfNeeded();return!0}}return!1}_initializeIntervalIfNeeded(){if(this._isIntervalIgnored||this._intervalId!==void 0)return;this._intervalId=setInterval(()=>{this._onInterval()},this._interval),this._intervalEnd=Date.now()+this._interval}_onInterval(){if(this._intervalCount===0&&this._pendingCount===0&&this._intervalId)clearInterval(this._intervalId),this._intervalId=void 0;this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0,this._processQueue()}_processQueue(){while(this._tryToStartAnother());}get concurrency(){return this._concurrency}set concurrency($){if(!(typeof $==="number"&&$>=1))throw TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${$}\` (${typeof $})`);this._concurrency=$,this._processQueue()}async add($,Q={}){return new Promise((Y,G)=>{let W=async()=>{this._pendingCount++,this._intervalCount++;try{let Z=this._timeout===void 0&&Q.timeout===void 0?$():kG.default(Promise.resolve($()),Q.timeout===void 0?this._timeout:Q.timeout,()=>{if(Q.throwOnTimeout===void 0?this._throwOnTimeout:Q.throwOnTimeout)G(NJ);return});Y(await Z)}catch(Z){G(Z)}this._next()};this._queue.enqueue(W,Q),this._tryToStartAnother(),this.emit("add")})}async addAll($,Q){return Promise.all($.map(async(Y)=>this.add(Y,Q)))}start(){if(!this._isPaused)return this;return this._isPaused=!1,this._processQueue(),this}pause(){this._isPaused=!0}clear(){this._queue=new this._queueClass}async onEmpty(){if(this._queue.size===0)return;return new Promise(($)=>{let Q=this._resolveEmpty;this._resolveEmpty=()=>{Q(),$()}})}async onIdle(){if(this._pendingCount===0&&this._queue.size===0)return;return new Promise(($)=>{let Q=this._resolveIdle;this._resolveIdle=()=>{Q(),$()}})}get size(){return this._queue.size}sizeBy($){return this._queue.filter($).length}get pending(){return this._pendingCount}get isPaused(){return this._isPaused}get timeout(){return this._timeout}set timeout($){this._timeout=$}}hG.default=fG});var p4=Object.defineProperty,b=($,Q)=>{let Y={};for(var G in $)p4(Y,G,{get:$[G],enumerable:!0});if(!Q)p4(Y,Symbol.toStringTag,{value:"Module"});return Y};var e4=F$(c4(),1),$Q=F$(a4(),1);function QQ($,Q){return Q?.[$]||e4.default($)}function q3($,Q){return Q?.[$]||$Q.default($)}function YQ($,Q,Y){let G={};for(let W in $)if(Object.hasOwn($,W))G[Q(W,Y)]=$[W];return G}function eW($){return"lc"in $||Object.keys($).length===1&&"__lc_escaped__"in $}function $Z($){return{["__lc_escaped__"]:$}}function QZ($){return Object.keys($).length===1&&"__lc_escaped__"in $}function YZ($){return $!==null&&typeof $==="object"&&"lc_serializable"in $&&typeof $.toJSON==="function"}function GZ($){let Q;if($!==null&&typeof $==="object")if("lc_id"in $&&Array.isArray($.lc_id))Q=$.lc_id;else Q=[$.constructor?.name??"Object"];else Q=[typeof $];return{lc:1,type:"not_implemented",id:Q}}function N1($,Q=new WeakSet){if($!==null&&typeof $==="object"&&!Array.isArray($)){if(Q.has($))return GZ($);if(YZ($))return $;Q.add($);let Y=$;if(eW(Y))return Q.delete($),$Z(Y);let G={};for(let[W,Z]of Object.entries(Y))G[W]=N1(Z,Q);return Q.delete($),G}if(Array.isArray($))return $.map((Y)=>N1(Y,Q));return $}function GQ($){if($!==null&&typeof $==="object"&&!Array.isArray($)){let Q=$;if(QZ(Q))return Q.__lc_escaped__;let Y={};for(let[G,W]of Object.entries(Q))Y[G]=GQ(W);return Y}if(Array.isArray($))return $.map((Q)=>GQ(Q));return $}var N3=b({Serializable:()=>Z$,get_lc_unique_name:()=>A1});function WQ($){return Array.isArray($)?[...$]:{...$}}function WZ($,Q){let Y=WQ($);for(let[G,W]of Object.entries(Q)){let[Z,...q]=G.split(".").reverse(),z=Y;for(let J of q.reverse()){if(z[J]===void 0)break;z[J]=WQ(z[J]),z=z[J]}if(z[Z]!==void 0)z[Z]={lc:1,type:"secret",id:[W]}}return Y}function A1($){let Q=Object.getPrototypeOf($);if(typeof $.lc_name==="function"&&(typeof Q.lc_name!=="function"||$.lc_name()!==Q.lc_name()))return $.lc_name();else return $.name}var Z$=class ${lc_serializable=!1;lc_kwargs;static lc_name(){return this.name}get lc_id(){return[...this.lc_namespace,A1(this.constructor)]}get lc_secrets(){}get lc_attributes(){}get lc_aliases(){}get lc_serializable_keys(){}constructor(Q,...Y){if(this.lc_serializable_keys!==void 0)this.lc_kwargs=Object.fromEntries(Object.entries(Q||{}).filter(([G])=>this.lc_serializable_keys?.includes(G)));else this.lc_kwargs=Q??{}}toJSON(){if(!this.lc_serializable)return this.toJSONNotImplemented();if(this.lc_kwargs instanceof $||typeof this.lc_kwargs!=="object"||Array.isArray(this.lc_kwargs))return this.toJSONNotImplemented();let Q={},Y={},G=Object.keys(this.lc_kwargs).reduce((z,J)=>{return z[J]=J in this?this[J]:this.lc_kwargs[J],z},{});for(let z=Object.getPrototypeOf(this);z;z=Object.getPrototypeOf(z))Object.assign(Q,Reflect.get(z,"lc_aliases",this)),Object.assign(Y,Reflect.get(z,"lc_secrets",this)),Object.assign(G,Reflect.get(z,"lc_attributes",this));Object.keys(Y).forEach((z)=>{let J=this,X=G,[K,...H]=z.split(".").reverse();for(let N of H.reverse()){if(!(N in J)||J[N]===void 0)return;if(!(N in X)||X[N]===void 0){if(typeof J[N]==="object"&&J[N]!=null)X[N]={};else if(Array.isArray(J[N]))X[N]=[]}J=J[N],X=X[N]}if(K in J&&J[K]!==void 0)X[K]=X[K]||J[K]});let W={},Z=new WeakSet;Z.add(this);for(let[z,J]of Object.entries(G))W[z]=N1(J,Z);let q=YQ(Object.keys(Y).length?WZ(W,Y):W,QQ,Q);return{lc:1,type:"constructor",id:this.lc_id,kwargs:q}}toJSONNotImplemented(){return{lc:1,type:"not_implemented",id:this.lc_id}}};function q$($){return typeof $==="object"&&$!==null&&"type"in $&&typeof $.type==="string"&&"source_type"in $&&($.source_type==="url"||$.source_type==="base64"||$.source_type==="text"||$.source_type==="id")}function ZQ($){return q$($)&&$.source_type==="url"&&"url"in $&&typeof $.url==="string"}function qQ($){return q$($)&&$.source_type==="base64"&&"data"in $&&typeof $.data==="string"}function U3($){return q$($)&&$.source_type==="text"&&"text"in $&&typeof $.text==="string"}function zQ($){return q$($)&&$.source_type==="id"&&"id"in $&&typeof $.id==="string"}function w3($){if(q$($)){if($.source_type==="url")return{type:"image_url",image_url:{url:$.url}};if($.source_type==="base64"){if(!$.mime_type)throw Error("mime_type key is required for base64 data.");return{type:"image_url",image_url:{url:`data:${$.mime_type};base64,${$.data}`}}}}throw Error("Unsupported source type. Only 'url' and 'base64' are supported.")}function V3($){let Q=$.split(";")[0].split("/");if(Q.length!==2)throw Error(`Invalid mime type: "${$}" - does not match type/subtype format.`);let Y=Q[0].trim(),G=Q[1].trim();if(Y===""||G==="")throw Error(`Invalid mime type: "${$}" - type or subtype is empty.`);let W={};for(let Z of $.split(";").slice(1)){let q=Z.split("=");if(q.length!==2)throw Error(`Invalid parameter syntax in mime type: "${$}".`);let z=q[0].trim(),J=q[1].trim();if(z==="")throw Error(`Invalid parameter syntax in mime type: "${$}".`);W[z]=J}return{type:Y,subtype:G,parameters:W}}function y9({dataUrl:$,asTypedArray:Q=!1}){let Y=$.match(/^data:(\w+\/\w+);base64,([A-Za-z0-9+/]+=*)$/),G;if(Y){G=Y[1].toLowerCase();let W=Q?Uint8Array.from(atob(Y[2]),(Z)=>Z.charCodeAt(0)):Y[2];return{mime_type:G,data:W}}}function F3($,Q){if($.type==="text"){if(!Q.fromStandardTextBlock)throw Error(`Converter for ${Q.providerName} does not implement \`fromStandardTextBlock\` method.`);return Q.fromStandardTextBlock($)}if($.type==="image"){if(!Q.fromStandardImageBlock)throw Error(`Converter for ${Q.providerName} does not implement \`fromStandardImageBlock\` method.`);return Q.fromStandardImageBlock($)}if($.type==="audio"){if(!Q.fromStandardAudioBlock)throw Error(`Converter for ${Q.providerName} does not implement \`fromStandardAudioBlock\` method.`);return Q.fromStandardAudioBlock($)}if($.type==="file"){if(!Q.fromStandardFileBlock)throw Error(`Converter for ${Q.providerName} does not implement \`fromStandardFileBlock\` method.`);return Q.fromStandardFileBlock($)}throw Error(`Unable to convert content block type '${$.type}' to provider-specific format: not recognized.`)}function D($,Q){return M($)&&$.type===Q}function M($){return typeof $==="object"&&$!==null}function G0($){return Array.isArray($)}function w($){return typeof $==="string"}function M0($){return typeof $==="number"}function U1($){return $ instanceof Uint8Array}function k9($){try{return JSON.parse($)}catch{return}}var R0=($)=>$();function ZZ($){if($.type==="char_location"&&w($.document_title)&&M0($.start_char_index)&&M0($.end_char_index)&&w($.cited_text)){let{document_title:Q,start_char_index:Y,end_char_index:G,cited_text:W,...Z}=$;return{...Z,type:"citation",source:"char",title:Q??void 0,startIndex:Y,endIndex:G,citedText:W}}if($.type==="page_location"&&w($.document_title)&&M0($.start_page_number)&&M0($.end_page_number)&&w($.cited_text)){let{document_title:Q,start_page_number:Y,end_page_number:G,cited_text:W,...Z}=$;return{...Z,type:"citation",source:"page",title:Q??void 0,startIndex:Y,endIndex:G,citedText:W}}if($.type==="content_block_location"&&w($.document_title)&&M0($.start_block_index)&&M0($.end_block_index)&&w($.cited_text)){let{document_title:Q,start_block_index:Y,end_block_index:G,cited_text:W,...Z}=$;return{...Z,type:"citation",source:"block",title:Q??void 0,startIndex:Y,endIndex:G,citedText:W}}if($.type==="web_search_result_location"&&w($.url)&&w($.title)&&w($.encrypted_index)&&w($.cited_text)){let{url:Q,title:Y,encrypted_index:G,cited_text:W,...Z}=$;return{...Z,type:"citation",source:"url",url:Q,title:Y,startIndex:Number(G),endIndex:Number(G),citedText:W}}if($.type==="search_result_location"&&w($.source)&&w($.title)&&M0($.start_block_index)&&M0($.end_block_index)&&w($.cited_text)){let{source:Q,title:Y,start_block_index:G,end_block_index:W,cited_text:Z,...q}=$;return{...q,type:"citation",source:"search",url:Q,title:Y??void 0,startIndex:G,endIndex:W,citedText:Z}}}function XQ($){if(D($,"document")&&M($.source)&&"type"in $.source){if($.source.type==="base64"&&w($.source.media_type)&&w($.source.data))return{type:"file",mimeType:$.source.media_type,data:$.source.data};else if($.source.type==="url"&&w($.source.url))return{type:"file",url:$.source.url};else if($.source.type==="file"&&w($.source.file_id))return{type:"file",fileId:$.source.file_id};else if($.source.type==="text"&&w($.source.data))return{type:"file",mimeType:String($.source.media_type??"text/plain"),data:$.source.data}}else if(D($,"image")&&M($.source)&&"type"in $.source){if($.source.type==="base64"&&w($.source.media_type)&&w($.source.data))return{type:"image",mimeType:$.source.media_type,data:$.source.data};else if($.source.type==="url"&&w($.source.url))return{type:"image",url:$.source.url};else if($.source.type==="file"&&w($.source.file_id))return{type:"image",fileId:$.source.file_id}}}function KQ($){function*Q(){for(let Y of $){let G=XQ(Y);if(G)yield G;else yield Y}}return Array.from(Q())}function JQ($){function*Q(){let Y=typeof $.content==="string"?[{type:"text",text:$.content}]:$.content;for(let G of Y){if(D(G,"text")&&w(G.text)){let{text:W,citations:Z,...q}=G;if(G0(Z)&&Z.length){let z=Z.reduce((J,X)=>{let K=ZZ(X);if(K)return[...J,K];return J},[]);yield{...q,type:"text",text:W,annotations:z};continue}else{yield{...q,type:"text",text:W};continue}}else if(D(G,"thinking")&&w(G.thinking)){let{thinking:W,signature:Z,...q}=G;yield{...q,type:"reasoning",reasoning:W,signature:Z};continue}else if(D(G,"redacted_thinking")){yield{type:"non_standard",value:G};continue}else if(D(G,"tool_use")&&w(G.name)&&w(G.id)){yield{type:"tool_call",id:G.id,name:G.name,args:G.input};continue}else if(D(G,"input_json_delta")){if(qZ($)&&$.tool_call_chunks?.length){let W=$.tool_call_chunks[0];yield{type:"tool_call_chunk",id:W.id,name:W.name,args:W.args,index:W.index};continue}}else if(D(G,"server_tool_use")&&w(G.name)&&w(G.id)){let{name:W,id:Z}=G;if(W==="web_search"){yield{id:Z,type:"server_tool_call",name:"web_search",args:{query:R0(()=>{if(typeof G.input==="string")return G.input;else if(M(G.input)&&w(G.input.query))return G.input.query;else if(w(G.partial_json)){let q=k9(G.partial_json);if(q?.query)return q.query}return""})}};continue}else if(G.name==="code_execution"){yield{id:Z,type:"server_tool_call",name:"code_execution",args:{code:R0(()=>{if(typeof G.input==="string")return G.input;else if(M(G.input)&&w(G.input.code))return G.input.code;else if(w(G.partial_json)){let q=k9(G.partial_json);if(q?.code)return q.code}return""})}};continue}}else if(D(G,"web_search_tool_result")&&w(G.tool_use_id)&&G0(G.content)){let{content:W,tool_use_id:Z}=G;yield{type:"server_tool_call_result",name:"web_search",toolCallId:Z,status:"success",output:{urls:W.reduce((q,z)=>{if(D(z,"web_search_result"))return[...q,z.url];return q},[])}};continue}else if(D(G,"code_execution_tool_result")&&w(G.tool_use_id)&&M(G.content)){yield{type:"server_tool_call_result",name:"code_execution",toolCallId:G.tool_use_id,status:"success",output:G.content};continue}else if(D(G,"mcp_tool_use")){yield{id:G.id,type:"server_tool_call",name:"mcp_tool_use",args:G.input};continue}else if(D(G,"mcp_tool_result")&&w(G.tool_use_id)&&M(G.content)){yield{type:"server_tool_call_result",name:"mcp_tool_use",toolCallId:G.tool_use_id,status:"success",output:G.content};continue}else if(D(G,"container_upload")){yield{type:"server_tool_call",name:"container_upload",args:G.input};continue}else if(D(G,"search_result")){yield{id:G.id,type:"non_standard",value:G};continue}else if(D(G,"tool_result")){yield{id:G.id,type:"non_standard",value:G};continue}else{let W=XQ(G);if(W){yield W;continue}}yield{type:"non_standard",value:G}}}return Array.from(Q())}var HQ={translateContent:JQ,translateContentChunk:JQ};function qZ($){return typeof $?._getType==="function"&&typeof $.concat==="function"&&$._getType()==="ai"}function zZ($){if(ZQ($))return{type:$.type,mimeType:$.mime_type,url:$.url,metadata:$.metadata};if(qQ($))return{type:$.type,mimeType:$.mime_type??"application/octet-stream",data:$.data,metadata:$.metadata};if(zQ($))return{type:$.type,mimeType:$.mime_type,fileId:$.id,metadata:$.metadata};return $}function NQ($){return $.map(zZ)}function AQ($){if(D($,"image_url")&&M($.image_url))return!0;if(D($,"input_audio")&&M($.input_audio))return!0;if(D($,"file")&&M($.file))return!0;return!1}function UQ($){if(D($,"image_url")&&M($.image_url)&&w($.image_url.url)){let Q=y9({dataUrl:$.image_url.url});if(Q)return{type:"image",mimeType:Q.mime_type,data:Q.data};else return{type:"image",url:$.image_url.url}}else if(D($,"input_audio")&&M($.input_audio)&&w($.input_audio.data)&&w($.input_audio.format))return{type:"audio",data:$.input_audio.data,mimeType:`audio/${$.input_audio.format}`};else if(D($,"file")&&M($.file)&&w($.file.data)){let Q=y9({dataUrl:$.file.data});if(Q)return{type:"file",data:Q.data,mimeType:Q.mime_type};else if(w($.file.file_id))return{type:"file",fileId:$.file.file_id}}return $}function JZ($){let Q=[];if(typeof $.content==="string"){if($.content.length>0)Q.push({type:"text",text:$.content})}else Q.push(...w1($.content));for(let Y of $.tool_calls??[])Q.push({type:"tool_call",id:Y.id,name:Y.name,args:Y.args});return Q}function XZ($){let Q=[];if(typeof $.content==="string"){if($.content.length>0)Q.push({type:"text",text:$.content})}else Q.push(...w1($.content));for(let Y of $.tool_calls??[])Q.push({type:"tool_call",id:Y.id,name:Y.name,args:Y.args});return Q}function w1($){let Q=[];for(let Y of $)if(AQ(Y))Q.push(UQ(Y));else Q.push(Y);return Q}function KZ($){if($.type==="url_citation"){let{url:Q,title:Y,start_index:G,end_index:W}=$;return{type:"citation",url:Q,title:Y,startIndex:G,endIndex:W}}if($.type==="file_citation"){let{file_id:Q,filename:Y,index:G}=$;return{type:"citation",title:Y,startIndex:G,endIndex:G,fileId:Q}}return $}function wQ($){function*Q(){if(M($.additional_kwargs?.reasoning)&&G0($.additional_kwargs.reasoning.summary))yield{type:"reasoning",reasoning:$.additional_kwargs.reasoning.summary.reduce((G,W)=>{if(M(W)&&w(W.text))return`${G}${W.text}`;return G},"")};let Y=typeof $.content==="string"?[{type:"text",text:$.content}]:$.content;for(let G of Y)if(D(G,"text")){let{text:W,annotations:Z,...q}=G;if(Array.isArray(Z))yield{...q,type:"text",text:String(W),annotations:Z.map(KZ)};else yield{...q,type:"text",text:String(W)}}for(let G of $.tool_calls??[])yield{type:"tool_call",id:G.id,name:G.name,args:G.args};if(M($.additional_kwargs)&&G0($.additional_kwargs.tool_outputs))for(let G of $.additional_kwargs.tool_outputs){if(D(G,"web_search_call")){let W={};if(M(G.action)&&w(G.action.query))W.query=G.action.query;if(yield{id:G.id,type:"server_tool_call",name:"web_search",args:W},G.status==="completed"||G.status==="failed"){let Z={};if(M(G.action))Z.action=G.action;yield{type:"server_tool_call_result",toolCallId:w(G.id)?G.id:"",status:G.status==="completed"?"success":"error",output:Z}}continue}else if(D(G,"file_search_call")){if(yield{id:G.id,type:"server_tool_call",name:"file_search",args:{queries:G0(G.queries)?G.queries:[]}},G.status==="completed"||G.status==="failed")yield{type:"server_tool_call_result",toolCallId:w(G.id)?G.id:"",status:G.status==="completed"?"success":"error",output:G0(G.results)?{results:G.results}:{}};continue}else if(D(G,"computer_call")){yield{type:"non_standard",value:G};continue}else if(D(G,"code_interpreter_call")){if(w(G.code))yield{id:G.id,type:"server_tool_call",name:"code_interpreter",args:{code:G.code}};if(G0(G.outputs)){let W=R0(()=>{if(G.status==="in_progress")return;if(G.status==="completed")return 0;if(G.status==="incomplete")return 127;if(G.status==="interpreting")return;if(G.status==="failed")return 1});for(let Z of G.outputs)if(D(Z,"logs")){yield{type:"server_tool_call_result",toolCallId:G.id??"",status:"success",output:{type:"code_interpreter_output",returnCode:W??0,stderr:[0,void 0].includes(W)?void 0:String(Z.logs),stdout:[0,void 0].includes(W)?String(Z.logs):void 0}};continue}}continue}else if(D(G,"mcp_call")){yield{id:G.id,type:"server_tool_call",name:"mcp_call",args:G.input};continue}else if(D(G,"mcp_list_tools")){yield{id:G.id,type:"server_tool_call",name:"mcp_list_tools",args:G.input};continue}else if(D(G,"mcp_approval_request")){yield{type:"non_standard",value:G};continue}else if(D(G,"image_generation_call")){if(w(G.result))yield{type:"image",mimeType:"image/png",data:G.result,id:w(G.id)?G.id:void 0,metadata:{status:w(G.status)?G.status:void 0}};yield{type:"non_standard",value:G};continue}if(M(G))yield{type:"non_standard",value:G}}}return Array.from(Q())}function HZ($){function*Q(){yield*wQ($);for(let Y of $.tool_call_chunks??[])yield{type:"tool_call_chunk",id:Y.id,name:Y.name,args:Y.args}}return Array.from(Q())}var VQ={translateContent:($)=>{if(typeof $.content==="string")return JZ($);return wQ($)},translateContentChunk:($)=>{if(typeof $.content==="string")return XZ($);return HZ($)}};function FQ($){return typeof $==="object"&&$!==null&&"type"in $&&"content"in $&&(typeof $.content==="string"||Array.isArray($.content))}function OQ($,Q="pretty"){if(Q==="pretty")return NZ($);return JSON.stringify($)}function NZ($){let Q=[],Y=` ${$.type.charAt(0).toUpperCase()+$.type.slice(1)} Message `,G=Math.floor((80-Y.length)/2),W="=".repeat(G),Z=Y.length%2===0?W:`${W}=`;if(Q.push(`${W}${Y}${Z}`),$.type==="ai"){let q=$;if(q.tool_calls&&q.tool_calls.length>0){Q.push("Tool Calls:");for(let z of q.tool_calls){Q.push(` ${z.name} (${z.id})`),Q.push(` Call ID: ${z.id}`),Q.push(" Args:");for(let[J,X]of Object.entries(z.args))Q.push(` ${J}: ${typeof X==="object"?JSON.stringify(X):X}`)}}}if($.type==="tool"){let q=$;if(q.name)Q.push(`Name: ${q.name}`)}if(typeof $.content==="string"&&$.content.trim()){if(Q.length>1)Q.push("");Q.push($.content)}return Q.join(`
2
+ `)}var f9=Symbol.for("langchain.message");function O0($,Q){if(typeof $==="string"){if($==="")return Q;if(typeof Q==="string")return $+Q;else if(Array.isArray(Q)&&Q.length===0)return $;else if(Array.isArray(Q)&&Q.some((Y)=>q$(Y)))return[{type:"text",source_type:"text",text:$},...Q];else return[{type:"text",text:$},...Q]}else if(Array.isArray(Q))return M$($,Q)??[...$,...Q];else if(Q==="")return $;else if(Array.isArray($)&&$.some((Y)=>q$(Y)))return[...$,{type:"file",source_type:"text",text:Q}];else return[...$,{type:"text",text:Q}]}function DQ($,Q){if($==="error"||Q==="error")return"error";return"success"}function AZ($,Q){function Y(G,W){if(typeof G!=="object"||G===null||G===void 0)return G;if(W>=Q){if(Array.isArray(G))return"[Array]";return"[Object]"}if(Array.isArray(G))return G.map((q)=>Y(q,W+1));let Z={};for(let q of Object.keys(G))Z[q]=Y(G[q],W+1);return Z}return JSON.stringify(Y($,0),null,2)}var K0=class extends Z${lc_namespace=["langchain_core","messages"];lc_serializable=!0;get lc_aliases(){return{additional_kwargs:"additional_kwargs",response_metadata:"response_metadata"}}[f9]=!0;id;name;content;additional_kwargs;response_metadata;_getType(){return this.type}getType(){return this._getType()}constructor($){let Q=typeof $==="string"||Array.isArray($)?{content:$}:$;if(!Q.additional_kwargs)Q.additional_kwargs={};if(!Q.response_metadata)Q.response_metadata={};super(Q);if(this.name=Q.name,Q.content===void 0&&Q.contentBlocks!==void 0)this.content=Q.contentBlocks,this.response_metadata={output_version:"v1",...Q.response_metadata};else if(Q.content!==void 0)this.content=Q.content??[],this.response_metadata=Q.response_metadata;else this.content=[],this.response_metadata=Q.response_metadata;this.additional_kwargs=Q.additional_kwargs,this.id=Q.id}get text(){if(typeof this.content==="string")return this.content;if(!Array.isArray(this.content))return"";return this.content.map(($)=>{if(typeof $==="string")return $;if($.type==="text")return $.text;return""}).join("")}get contentBlocks(){let $=typeof this.content==="string"?[{type:"text",text:this.content}]:this.content;return[NQ,w1,KQ].reduce((Q,Y)=>Y(Q),$)}toDict(){return{type:this.getType(),data:this.toJSON().kwargs}}static lc_name(){return"BaseMessage"}get _printableFields(){return{id:this.id,content:this.content,name:this.name,additional_kwargs:this.additional_kwargs,response_metadata:this.response_metadata}}static isInstance($){return typeof $==="object"&&$!==null&&f9 in $&&$[f9]===!0&&FQ($)}_updateId($){this.id=$,this.lc_kwargs.id=$}get[Symbol.toStringTag](){return this.constructor.lc_name()}[Symbol.for("nodejs.util.inspect.custom")]($){if($===null)return this;let Q=AZ(this._printableFields,Math.max(4,$));return`${this.constructor.lc_name()} ${Q}`}toFormattedString($="pretty"){return OQ(this,$)}};function h3($){return Array.isArray($)&&$.every((Q)=>typeof Q.index==="number")}var UZ=["index","created","timestamp"];function r($,Q,Y){let G=Y?.ignoreKeys??UZ;if($==null&&Q==null)return;if($==null||Q==null)return $??Q;let W={...$};for(let[Z,q]of Object.entries(Q))if(W[Z]==null)W[Z]=q;else if(q==null)continue;else if(typeof W[Z]!==typeof q||Array.isArray(W[Z])!==Array.isArray(q))throw Error(`field[${Z}] already exists in the message chunk, but with a different type.`);else if(typeof W[Z]==="string")if(Z==="type")continue;else if(["id","name","output_version","model_provider"].includes(Z)){if(q)W[Z]=q}else if(G.includes(Z))continue;else W[Z]+=q;else if(typeof W[Z]==="number"){if(G.includes(Z))continue;W[Z]=W[Z]+q}else if(typeof W[Z]==="object"&&!Array.isArray(W[Z]))W[Z]=r(W[Z],q,Y);else if(Array.isArray(W[Z]))W[Z]=M$(W[Z],q,Y);else if(W[Z]===q)continue;else console.warn(`field[${Z}] already exists in this message chunk and value has unsupported type.`);return W}function M$($,Q,Y){if($==null&&Q==null)return;else if($==null||Q==null)return $||Q;else{let G=[...$];for(let W of Q)if(typeof W==="object"&&W!==null&&"index"in W&&typeof W.index==="number"){let Z=G.findIndex((q)=>{let z=typeof q==="object",J="index"in q&&q.index===W.index,X="id"in q&&"id"in W&&q?.id===W?.id,K=!("id"in q)||!q?.id||!("id"in W)||!W?.id;return z&&J&&(X||K)});if(Z!==-1&&typeof G[Z]==="object"&&G[Z]!==null)G[Z]=r(G[Z],W,Y);else G.push(W)}else if(typeof W==="object"&&W!==null&&"text"in W&&W.text==="")continue;else G.push(W);return G}}function BQ($,Q,Y){if($==null&&Q==null)return;if($==null||Q==null)return $??Q;else if(typeof $!==typeof Q)throw Error(`Cannot merge objects of different types.
3
+ Left ${typeof $}
4
+ Right ${typeof Q}`);else if(typeof $==="string"&&typeof Q==="string")return $+Q;else if(Array.isArray($)&&Array.isArray(Q))return M$($,Q,Y);else if(typeof $==="object"&&typeof Q==="object")return r($,Q,Y);else if($===Q)return $;else throw Error(`Can not merge objects of different types.
5
+ Left ${$}
6
+ Right ${Q}`)}var T0=class $ extends K0{static isInstance(Q){if(!super.isInstance(Q))return!1;let Y=Object.getPrototypeOf(Q);while(Y!==null){if(Y===$.prototype)return!0;Y=Object.getPrototypeOf(Y)}return!1}};function EQ($){return typeof $.role==="string"}function PQ($){return typeof $?._getType==="function"}function b3($){return T0.isInstance($)}var p3=b({ToolMessage:()=>V1,ToolMessageChunk:()=>VZ,defaultToolCallParser:()=>h9,isDirectToolOutput:()=>wZ,isToolMessage:()=>FZ,isToolMessageChunk:()=>OZ});function wZ($){return $!=null&&typeof $==="object"&&"lc_direct_tool_output"in $&&$.lc_direct_tool_output===!0}var V1=class extends K0{static lc_name(){return"ToolMessage"}get lc_aliases(){return{tool_call_id:"tool_call_id"}}lc_direct_tool_output=!0;type="tool";status;tool_call_id;metadata;artifact;constructor($,Q,Y){let G=typeof $==="string"||Array.isArray($)?{content:$,name:Y,tool_call_id:Q}:$;super(G);this.tool_call_id=G.tool_call_id,this.artifact=G.artifact,this.status=G.status,this.metadata=G.metadata}static isInstance($){return super.isInstance($)&&$.type==="tool"}get _printableFields(){return{...super._printableFields,tool_call_id:this.tool_call_id,artifact:this.artifact}}},VZ=class extends T0{type="tool";tool_call_id;status;artifact;constructor($){super($);this.tool_call_id=$.tool_call_id,this.artifact=$.artifact,this.status=$.status}static lc_name(){return"ToolMessageChunk"}concat($){return new this.constructor({content:O0(this.content,$.content),additional_kwargs:r(this.additional_kwargs,$.additional_kwargs),response_metadata:r(this.response_metadata,$.response_metadata),artifact:BQ(this.artifact,$.artifact),tool_call_id:this.tool_call_id,id:this.id??$.id,status:DQ(this.status,$.status)})}get _printableFields(){return{...super._printableFields,tool_call_id:this.tool_call_id,artifact:this.artifact}}};function h9($){let Q=[],Y=[];for(let G of $)if(!G.function)continue;else{let W=G.function.name;try{let Z=JSON.parse(G.function.arguments);Q.push({name:W||"",args:Z||{},id:G.id})}catch{Y.push({name:W,args:G.function.arguments,id:G.id,error:"Malformed args."})}}return[Q,Y]}function FZ($){return typeof $==="object"&&$!==null&&"getType"in $&&typeof $.getType==="function"&&$.getType()==="tool"}function OZ($){return $._getType()==="tool"}var F1=class extends K0{static lc_name(){return"HumanMessage"}type="human";constructor($){super($)}static isInstance($){return super.isInstance($)&&$.type==="human"}},SQ=class extends T0{static lc_name(){return"HumanMessageChunk"}type="human";constructor($){super($)}concat($){return new this.constructor({content:O0(this.content,$.content),additional_kwargs:r(this.additional_kwargs,$.additional_kwargs),response_metadata:r(this.response_metadata,$.response_metadata),id:this.id??$.id})}static isInstance($){return super.isInstance($)&&$.type==="human"}};function t3($){return $.getType()==="human"}function s3($){return $.getType()==="human"}var O1=class $ extends K0{static lc_name(){return"SystemMessage"}type="system";constructor(Q){super(Q)}concat(Q){if(typeof Q==="string")return new $({...this,content:O0(this.content,Q)});if($.isInstance(Q))return new $({...this,additional_kwargs:{...this.additional_kwargs,...Q.additional_kwargs},response_metadata:{...this.response_metadata,...Q.response_metadata},content:O0(this.content,Q.content)});throw Error("Unexpected chunk type for system message")}static isInstance(Q){return super.isInstance(Q)&&Q.type==="system"}},_Q=class extends T0{static lc_name(){return"SystemMessageChunk"}type="system";constructor($){super($)}concat($){return new this.constructor({content:O0(this.content,$.content),additional_kwargs:r(this.additional_kwargs,$.additional_kwargs),response_metadata:r(this.response_metadata,$.response_metadata),id:this.id??$.id})}static isInstance($){return super.isInstance($)&&$.type==="system"}};function $X($){return $._getType()==="system"}function QX($){return $._getType()==="system"}function b9($){switch($){case"csv":return"text/csv";case"doc":return"application/vnd.openxmlformats-officedocument.wordprocessingml.document";case"docx":return"application/vnd.openxmlformats-officedocument.wordprocessingml.document";case"html":return"text/html";case"md":return"text/markdown";case"pdf":return"application/pdf";case"txt":return"text/plain";case"xls":return"application/vnd.ms-excel";case"xlsx":return"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";case"gif":return"image/gif";case"jpeg":return"image/jpeg";case"jpg":return"image/jpeg";case"png":return"image/png";case"webp":return"image/webp";case"flv":return"video/flv";case"mkv":return"video/mkv";case"mov":return"video/mov";case"mp4":return"video/mp4";case"mpeg":return"video/mpeg";case"mpg":return"video/mpg";case"three_gp":return"video/three_gp";case"webm":return"video/webm";case"wmv":return"video/wmv";default:return"application/octet-stream"}}function DZ($){if(M($.document)&&M($.document.source)){let Q=b9(M($.document)&&w($.document.format)?$.document.format:"");if(M($.document.source)){if(M($.document.source.s3Location)&&w($.document.source.s3Location.uri))return{type:"file",mimeType:Q,fileId:$.document.source.s3Location.uri};if(U1($.document.source.bytes))return{type:"file",mimeType:Q,data:$.document.source.bytes};if(w($.document.source.text))return{type:"file",mimeType:Q,data:Buffer.from($.document.source.text).toString("base64")};if(G0($.document.source.content))return{type:"file",mimeType:Q,data:$.document.source.content.reduce((Y,G)=>{if(M(G)&&w(G.text))return Y+G.text;return Y},"")}}}return{type:"non_standard",value:$}}function BZ($){if(D($,"image")&&M($.image)){let Q=b9(M($.image)&&w($.image.format)?$.image.format:"");if(M($.image.source)){if(M($.image.source.s3Location)&&w($.image.source.s3Location.uri))return{type:"image",mimeType:Q,fileId:$.image.source.s3Location.uri};if(U1($.image.source.bytes))return{type:"image",mimeType:Q,data:$.image.source.bytes}}}return{type:"non_standard",value:$}}function EZ($){if(D($,"video")&&M($.video)){let Q=b9(M($.video)&&w($.video.format)?$.video.format:"");if(M($.video.source)){if(M($.video.source.s3Location)&&w($.video.source.s3Location.uri))return{type:"video",mimeType:Q,fileId:$.video.source.s3Location.uri};if(U1($.video.source.bytes))return{type:"video",mimeType:Q,data:$.video.source.bytes}}}return{type:"non_standard",value:$}}function LQ($){function*Q(){let Y=typeof $.content==="string"?[{type:"text",text:$.content}]:$.content;for(let G of Y){if(D(G,"cache_point")){yield{type:"non_standard",value:G};continue}else if(D(G,"citations_content")&&M(G.citationsContent)){yield{type:"text",text:G0(G.citationsContent.content)?G.citationsContent.content.reduce((W,Z)=>{if(M(Z)&&w(Z.text))return W+Z.text;return W},""):"",annotations:G0(G.citationsContent.citations)?G.citationsContent.citations.reduce((W,Z)=>{if(M(Z)){let q=G0(Z.sourceContent)?Z.sourceContent.reduce((J,X)=>{if(M(X)&&w(X.text))return J+X.text;return J},""):"",z=R0(()=>{if(M(Z.location)){let J=Z.location.documentChar||Z.location.documentPage||Z.location.documentChunk;if(M(J))return{source:M0(J.documentIndex)?J.documentIndex.toString():void 0,startIndex:M0(J.start)?J.start:void 0,endIndex:M0(J.end)?J.end:void 0}}return{}});W.push({type:"citation",citedText:q,...z})}return W},[]):[]};continue}else if(D(G,"document")&&M(G.document)){yield DZ(G);continue}else if(D(G,"guard_content")){yield{type:"non_standard",value:G};continue}else if(D(G,"image")&&M(G.image)){yield BZ(G);continue}else if(D(G,"reasoning_content")&&w(G.reasoningText)){yield{type:"reasoning",reasoning:G.reasoningText};continue}else if(D(G,"text")&&w(G.text)){yield{type:"text",text:G.text};continue}else if(D(G,"tool_result")){yield{type:"non_standard",value:G};continue}else if(D(G,"tool_call"))continue;else if(D(G,"video")&&M(G.video)){yield EZ(G);continue}yield{type:"non_standard",value:G}}}return Array.from(Q())}var MQ={translateContent:LQ,translateContentChunk:LQ};function RQ($){let Q=[],Y=$.additional_kwargs?.reasoning_content;if(w(Y)&&Y.length>0)Q.push({type:"reasoning",reasoning:Y});if(typeof $.content==="string"){if($.content.length>0)Q.push({type:"text",text:$.content})}else for(let G of $.content)if(typeof G==="object"&&"type"in G&&G.type==="text"&&"text"in G&&w(G.text))Q.push({type:"text",text:G.text});for(let G of $.tool_calls??[])Q.push({type:"tool_call",id:G.id,name:G.name,args:G.args});return Q}var TQ={translateContent:RQ,translateContentChunk:RQ};function IQ($){function*Q(){let Y=typeof $.content==="string"?[{type:"text",text:$.content}]:$.content;for(let G of Y){if(D(G,"text")&&w(G.text)){yield{type:"text",text:G.text};continue}else if(D(G,"thinking")&&w(G.thinking)){yield{type:"reasoning",reasoning:G.thinking,...G.signature?{signature:G.signature}:{}};continue}else if(D(G,"inlineData")&&M(G.inlineData)&&w(G.inlineData.mimeType)&&w(G.inlineData.data)){yield{type:"file",mimeType:G.inlineData.mimeType,data:G.inlineData.data};continue}else if(D(G,"functionCall")&&M(G.functionCall)&&w(G.functionCall.name)&&M(G.functionCall.args)){yield{type:"tool_call",id:$.id,name:G.functionCall.name,args:G.functionCall.args};continue}else if(D(G,"functionResponse")){yield{type:"non_standard",value:G};continue}else if(D(G,"fileData")&&M(G.fileData)&&w(G.fileData.mimeType)&&w(G.fileData.fileUri)){yield{type:"file",mimeType:G.fileData.mimeType,fileId:G.fileData.fileUri};continue}else if(D(G,"executableCode")){yield{type:"non_standard",value:G};continue}else if(D(G,"codeExecutionResult")){yield{type:"non_standard",value:G};continue}yield{type:"non_standard",value:G}}}return Array.from(Q())}var xQ={translateContent:IQ,translateContentChunk:IQ};function jQ($){function*Q(){let Y=typeof $.content==="string"?[{type:"text",text:$.content}]:$.content;for(let G of Y){if(D(G,"reasoning")&&w(G.reasoning)){let W=R0(()=>{let Z=Y.indexOf(G);if(G0($.additional_kwargs?.signatures)&&Z>=0)return $.additional_kwargs.signatures.at(Z)});if(w(W))yield{type:"reasoning",reasoning:G.reasoning,signature:W};else yield{type:"reasoning",reasoning:G.reasoning};continue}else if(D(G,"thinking")&&w(G.thinking)){yield{type:"reasoning",reasoning:G.thinking,...G.signature?{signature:G.signature}:{}};continue}else if(D(G,"text")&&w(G.text)){yield{type:"text",text:G.text};continue}else if(D(G,"image_url")){if(w(G.image_url))if(G.image_url.startsWith("data:")){let W=G.image_url.match(/^data:([^;]+);base64,(.+)$/);if(W)yield{type:"image",data:W[2],mimeType:W[1]};else yield{type:"image",url:G.image_url}}else yield{type:"image",url:G.image_url};continue}else if(D(G,"media")&&w(G.mimeType)&&w(G.data)){yield{type:"file",mimeType:G.mimeType,data:G.data};continue}yield{type:"non_standard",value:G}}}return Array.from(Q())}var CQ={translateContent:jQ,translateContentChunk:jQ};function vQ($){let Q=[],Y=$.additional_kwargs?.reasoning;if(w(Y)&&Y.length>0)Q.push({type:"reasoning",reasoning:Y});if(typeof $.content==="string"){let G=$.content,W=G.match(/<think>([\s\S]*?)<\/think>/);if(W){let Z=W[1].trim();if(Z.length>0)Q.push({type:"reasoning",reasoning:Z});G=G.replace(/<think>[\s\S]*?<\/think>/,"").trim()}if(G.length>0)Q.push({type:"text",text:G})}else for(let G of $.content)if(typeof G==="object"&&"type"in G&&G.type==="text"&&"text"in G&&w(G.text)){let W=G.text,Z=W.match(/<think>([\s\S]*?)<\/think>/);if(Z){let q=Z[1].trim();if(q.length>0)Q.push({type:"reasoning",reasoning:q});W=W.replace(/<think>[\s\S]*?<\/think>/,"").trim()}if(W.length>0)Q.push({type:"text",text:W})}for(let G of $.tool_calls??[])Q.push({type:"tool_call",id:G.id,name:G.name,args:G.args});return Q}var yQ={translateContent:vQ,translateContentChunk:vQ};function kQ($){let Q=[],Y=$.additional_kwargs?.reasoning_content;if(w(Y)&&Y.length>0)Q.push({type:"reasoning",reasoning:Y});if(typeof $.content==="string"){if($.content.length>0)Q.push({type:"text",text:$.content})}else for(let G of $.content)if(typeof G==="object"&&"type"in G&&G.type==="text"&&"text"in G&&w(G.text))Q.push({type:"text",text:G.text});for(let G of $.tool_calls??[])Q.push({type:"tool_call",id:G.id,name:G.name,args:G.args});return Q}var fQ={translateContent:kQ,translateContentChunk:kQ};function hQ($){let Q=[];if(M($.additional_kwargs?.reasoning)){let G=$.additional_kwargs.reasoning;if(G0(G.summary)){let W=G.summary.reduce((Z,q)=>{if(M(q)&&w(q.text))return`${Z}${q.text}`;return Z},"");if(W.length>0)Q.push({type:"reasoning",reasoning:W})}}let Y=$.additional_kwargs?.reasoning_content;if(w(Y)&&Y.length>0)Q.push({type:"reasoning",reasoning:Y});if(typeof $.content==="string"){if($.content.length>0)Q.push({type:"text",text:$.content})}else for(let G of $.content)if(typeof G==="object"&&"type"in G&&G.type==="text"&&"text"in G&&w(G.text))Q.push({type:"text",text:G.text});for(let G of $.tool_calls??[])Q.push({type:"tool_call",id:G.id,name:G.name,args:G.args});return Q}var bQ={translateContent:hQ,translateContentChunk:hQ};function gQ($){function*Q(){let Y=R0(()=>{if(typeof $.content==="string")if($.additional_kwargs.originalTextContentBlock)return[{...$.additional_kwargs.originalTextContentBlock,type:"text"}];else return[{type:"text",text:$.content}];else return $.content});for(let G of Y){let W=R0(()=>{if(D(G,"text")&&w(G.text))return{type:"text",text:G.text};else if(D(G,"inlineData")&&M(G.inlineData)&&w(G.inlineData.mimeType)&&w(G.inlineData.data))return{type:"file",mimeType:G.inlineData.mimeType,data:G.inlineData.data};else if(D(G,"functionCall")&&M(G.functionCall)&&w(G.functionCall.name)&&M(G.functionCall.args))return{type:"tool_call",id:$.id,name:G.functionCall.name,args:G.functionCall.args};else if(D(G,"functionResponse"))return{type:"non_standard",value:G};else if(D(G,"fileData")&&M(G.fileData)&&w(G.fileData.mimeType)&&w(G.fileData.fileUri))return{type:"file",mimeType:G.fileData.mimeType,fileId:G.fileData.fileUri};else if(D(G,"executableCode"))return{type:"non_standard",value:G};else if(D(G,"codeExecutionResult"))return{type:"non_standard",value:G};return{type:"non_standard",value:G}}),Z=R0(()=>{if("thought"in G&&G.thought)return{type:"reasoning",reasoning:W.type==="text"?W.text:"",reasoningContentBlock:W};else return W}),q={thought:G.thought,thoughtSignature:G.thoughtSignature,partMetadata:G.partMetadata,...Z};for(let z in q)if(q[z]===void 0)delete q[z];yield q}}return Array.from(Q())}var mQ={translateContent:gQ,translateContentChunk:gQ};globalThis.lc_block_translators_registry??=new Map([["anthropic",HQ],["bedrock-converse",MQ],["deepseek",TQ],["google",mQ],["google-genai",xQ],["google-vertexai",CQ],["groq",yQ],["ollama",fQ],["openai",VQ],["xai",bQ]]);function g9($){return globalThis.lc_block_translators_registry.get($)}function dQ($,Q){return r($,Q)??{}}function uQ($,Q){let Y={};if($?.audio!==void 0||Q?.audio!==void 0)Y.audio=($?.audio??0)+(Q?.audio??0);if($?.image!==void 0||Q?.image!==void 0)Y.image=($?.image??0)+(Q?.image??0);if($?.video!==void 0||Q?.video!==void 0)Y.video=($?.video??0)+(Q?.video??0);if($?.document!==void 0||Q?.document!==void 0)Y.document=($?.document??0)+(Q?.document??0);if($?.text!==void 0||Q?.text!==void 0)Y.text=($?.text??0)+(Q?.text??0);return Y}function PZ($,Q){let Y={...uQ($,Q)};if($?.cache_read!==void 0||Q?.cache_read!==void 0)Y.cache_read=($?.cache_read??0)+(Q?.cache_read??0);if($?.cache_creation!==void 0||Q?.cache_creation!==void 0)Y.cache_creation=($?.cache_creation??0)+(Q?.cache_creation??0);return Y}function SZ($,Q){let Y={...uQ($,Q)};if($?.reasoning!==void 0||Q?.reasoning!==void 0)Y.reasoning=($?.reasoning??0)+(Q?.reasoning??0);return Y}function D1($,Q){return{input_tokens:($?.input_tokens??0)+(Q?.input_tokens??0),output_tokens:($?.output_tokens??0)+(Q?.output_tokens??0),total_tokens:($?.total_tokens??0)+(Q?.total_tokens??0),input_token_details:PZ($?.input_token_details,Q?.input_token_details),output_token_details:SZ($?.output_token_details,Q?.output_token_details)}}function pQ($){let Q=Symbol.for($);return{brand(Y,G){let W=G?Symbol.for(`${$}.${G}`):Q;class Z extends Y{[W]=!0;constructor(...q){super(...q)}static isInstance(q){return typeof q==="object"&&q!==null&&W in q&&q[W]===!0}}return Object.defineProperty(Z,"name",{value:Y.name}),Z},sub(Y){return pQ(`${$}.${Y}`)},isInstance(Y){return typeof Y==="object"&&Y!==null&&Q in Y&&Y[Q]===!0}}}var lQ=pQ("langchain");var fX=b({ContextOverflowError:()=>LZ,LangChainError:()=>d9,ModelAbortError:()=>_Z,addLangChainErrorFields:()=>m9,ns:()=>B1});function m9($,Q){return $.lc_error_code=Q,$.message=`${$.message}
7
+
8
+ Troubleshooting URL: https://docs.langchain.com/oss/javascript/langchain/errors/${Q}/
9
+ `,$}var B1=lQ.sub("error"),d9=class extends B1.brand(Error){name="LangChainError";constructor($){super($);if(Error.captureStackTrace)Error.captureStackTrace(this,this.constructor)}},_Z=class extends B1.brand(d9,"model-abort"){name="ModelAbortError";partialOutput;constructor($,Q){super($);this.partialOutput=Q}},LZ=class $ extends B1.brand(d9,"context-overflow"){name="ContextOverflowError";cause;constructor(Q){super(Q??"Input exceeded the model's context window.")}static fromError(Q){let Y=new $(Q.message);return Y.cause=Q,Y}};function E1($){return!!($&&typeof $==="object"&&("type"in $)&&$.type==="tool_call")}function mX($){return!!($&&typeof $==="object"&&("toolCall"in $)&&$.toolCall!=null&&typeof $.toolCall==="object"&&("id"in $.toolCall)&&typeof $.toolCall.id==="string")}var cQ=class extends Error{output;constructor($,Q){super($);this.output=Q}};function pX($,Q=u9){$=$.trim();let Y=$.indexOf("```");if(Y===-1)return Q($);let G=$.substring(Y+3);if(G.startsWith(`json
10
+ `))G=G.substring(5);else if(G.startsWith("json"))G=G.substring(4);else if(G.startsWith(`
11
+ `))G=G.substring(1);let W=G.indexOf("```"),Z=G;if(W!==-1)Z=G.substring(0,W);return Q(Z.trim())}function MZ($){try{return JSON.parse($)}catch{}let Q=$.trim();if(Q.length===0)throw Error("Unexpected end of JSON input");let Y=0;function G(){while(Y<Q.length&&/\s/.test(Q[Y]))Y+=1}function W(){if(Q[Y]!=='"')throw Error(`Expected '"' at position ${Y}, got '${Q[Y]}'`);Y+=1;let K="",H=!1;while(Y<Q.length){let N=Q[Y];if(H){if(N==="n")K+=`
12
+ `;else if(N==="t")K+="\t";else if(N==="r")K+="\r";else if(N==="\\")K+="\\";else if(N==='"')K+='"';else if(N==="b")K+="\b";else if(N==="f")K+="\f";else if(N==="/")K+="/";else if(N==="u"){let A=Q.substring(Y+1,Y+5);if(/^[0-9A-Fa-f]{0,4}$/.test(A)){if(A.length===4)K+=String.fromCharCode(Number.parseInt(A,16));else K+=`u${A}`;Y+=A.length}else throw Error(`Invalid unicode escape sequence '\\u${A}' at position ${Y}`)}else throw Error(`Invalid escape sequence '\\${N}' at position ${Y}`);H=!1}else if(N==="\\")H=!0;else if(N==='"')return Y+=1,K;else K+=N;Y+=1}if(H)K+="\\";return K}function Z(){let K=Y,H="";if(Q[Y]==="-")H+="-",Y+=1;if(Y<Q.length&&Q[Y]==="0"){if(H+="0",Y+=1,Q[Y]>="0"&&Q[Y]<="9")throw Error(`Invalid number at position ${K}`)}if(Y<Q.length&&Q[Y]>="1"&&Q[Y]<="9")while(Y<Q.length&&Q[Y]>="0"&&Q[Y]<="9")H+=Q[Y],Y+=1;if(Y<Q.length&&Q[Y]==="."){H+=".",Y+=1;while(Y<Q.length&&Q[Y]>="0"&&Q[Y]<="9")H+=Q[Y],Y+=1}if(Y<Q.length&&(Q[Y]==="e"||Q[Y]==="E")){if(H+=Q[Y],Y+=1,Y<Q.length&&(Q[Y]==="+"||Q[Y]==="-"))H+=Q[Y],Y+=1;while(Y<Q.length&&Q[Y]>="0"&&Q[Y]<="9")H+=Q[Y],Y+=1}if(H==="-")return-0;let N=Number.parseFloat(H);if(Number.isNaN(N))throw Y=K,Error(`Invalid number '${H}' at position ${K}`);return N}function q(){if(G(),Y>=Q.length)throw Error(`Unexpected end of input at position ${Y}`);let K=Q[Y];if(K==="{")return J();if(K==="[")return z();if(K==='"')return W();if("null".startsWith(Q.substring(Y,Y+4)))return Y+=Math.min(4,Q.length-Y),null;if("true".startsWith(Q.substring(Y,Y+4)))return Y+=Math.min(4,Q.length-Y),!0;if("false".startsWith(Q.substring(Y,Y+5)))return Y+=Math.min(5,Q.length-Y),!1;if(K==="-"||K>="0"&&K<="9")return Z();throw Error(`Unexpected character '${K}' at position ${Y}`)}function z(){if(Q[Y]!=="[")throw Error(`Expected '[' at position ${Y}, got '${Q[Y]}'`);let K=[];if(Y+=1,G(),Y>=Q.length)return K;if(Q[Y]==="]")return Y+=1,K;while(Y<Q.length){if(G(),Y>=Q.length)return K;if(K.push(q()),G(),Y>=Q.length)return K;if(Q[Y]==="]")return Y+=1,K;else if(Q[Y]===","){Y+=1;continue}throw Error(`Expected ',' or ']' at position ${Y}, got '${Q[Y]}'`)}return K}function J(){if(Q[Y]!=="{")throw Error(`Expected '{' at position ${Y}, got '${Q[Y]}'`);let K={};if(Y+=1,G(),Y>=Q.length)return K;if(Q[Y]==="}")return Y+=1,K;while(Y<Q.length){if(G(),Y>=Q.length)return K;let H=W();if(G(),Y>=Q.length)return K;if(Q[Y]!==":")throw Error(`Expected ':' at position ${Y}, got '${Q[Y]}'`);if(Y+=1,G(),Y>=Q.length)return K;if(K[H]=q(),G(),Y>=Q.length)return K;if(Q[Y]==="}")return Y+=1,K;else if(Q[Y]===","){Y+=1;continue}throw Error(`Expected ',' or '}' at position ${Y}, got '${Q[Y]}'`)}return K}let X=q();if(G(),Y<Q.length)throw Error(`Unexpected character '${Q[Y]}' at position ${Y}`);return X}function u9($){try{if(typeof $>"u")return null;return MZ($)}catch{return null}}var p9=class $ extends K0{static lc_name(){return"ChatMessage"}type="generic";role;static _chatMessageClass(){return $}constructor(Q,Y){if(typeof Q==="string"||Array.isArray(Q))Q={content:Q,role:Y};super(Q);this.role=Q.role}static isInstance(Q){return super.isInstance(Q)&&Q.type==="generic"}get _printableFields(){return{...super._printableFields,role:this.role}}},iQ=class extends T0{static lc_name(){return"ChatMessageChunk"}type="generic";role;constructor($,Q){if(typeof $==="string"||Array.isArray($))$={content:$,role:Q};super($);this.role=$.role}concat($){return new this.constructor({content:O0(this.content,$.content),additional_kwargs:r(this.additional_kwargs,$.additional_kwargs),response_metadata:r(this.response_metadata,$.response_metadata),role:this.role,id:this.id??$.id})}static isInstance($){return super.isInstance($)&&$.type==="generic"}get _printableFields(){return{...super._printableFields,role:this.role}}};function iX($){return $._getType()==="generic"}function oX($){return $._getType()==="generic"}var oQ=class extends K0{static lc_name(){return"FunctionMessage"}type="function";name;constructor($){super($);this.name=$.name}},tQ=class extends T0{static lc_name(){return"FunctionMessageChunk"}type="function";concat($){return new this.constructor({content:O0(this.content,$.content),additional_kwargs:r(this.additional_kwargs,$.additional_kwargs),response_metadata:r(this.response_metadata,$.response_metadata),name:this.name??"",id:this.id??$.id})}};function nX($){return $._getType()==="function"}function aX($){return $._getType()==="function"}var sQ=class extends K0{type="remove";id;constructor($){super({...$,content:[]});this.id=$.id}get _printableFields(){return{...super._printableFields,id:this.id}}static isInstance($){return super.isInstance($)&&$.type==="remove"}};var VK=($)=>$();function RZ($){if(E1($))return $;else if(typeof $.id==="string"&&$.type==="function"&&typeof $.function==="object"&&$.function!==null&&"arguments"in $.function&&typeof $.function.arguments==="string"&&"name"in $.function&&typeof $.function.name==="string")return{id:$.id,args:JSON.parse($.function.arguments),name:$.function.name,type:"tool_call"};else return $}function TZ($){return typeof $==="object"&&$!=null&&$.lc===1&&Array.isArray($.id)&&$.kwargs!=null&&typeof $.kwargs==="object"}function l9($){let Q,Y;if(TZ($)){let G=$.id.at(-1);if(G==="HumanMessage"||G==="HumanMessageChunk")Q="user";else if(G==="AIMessage"||G==="AIMessageChunk")Q="assistant";else if(G==="SystemMessage"||G==="SystemMessageChunk")Q="system";else if(G==="FunctionMessage"||G==="FunctionMessageChunk")Q="function";else if(G==="ToolMessage"||G==="ToolMessageChunk")Q="tool";else Q="unknown";Y=$.kwargs}else{let{type:G,...W}=$;Q=G,Y=W}if(Q==="human"||Q==="user")return new F1(Y);else if(Q==="ai"||Q==="assistant"){let{tool_calls:G,...W}=Y;if(!Array.isArray(G))return new R$(Y);let Z=G.map(RZ);return new R$({...W,tool_calls:Z})}else if(Q==="system")return new O1(Y);else if(Q==="developer")return new O1({...Y,additional_kwargs:{...Y.additional_kwargs,__openai_role__:"developer"}});else if(Q==="tool"&&"tool_call_id"in Y)return new V1({...Y,content:Y.content,tool_call_id:Y.tool_call_id,name:Y.name});else if(Q==="remove"&&"id"in Y&&typeof Y.id==="string")return new sQ({...Y,id:Y.id});else throw m9(Error(`Unable to coerce message from array: only human, AI, system, developer, or tool message coercion is currently supported.
13
+
14
+ Received: ${JSON.stringify($,null,2)}`),"MESSAGE_COERCION_FAILURE")}function FK($){if(typeof $==="string")return new F1($);else if(PQ($))return $;if(Array.isArray($)){let[Q,Y]=$;return l9({type:Q,content:Y})}else if(EQ($)){let{role:Q,...Y}=$;return l9({...Y,type:Q})}else return l9($)}function rQ($,Q="Human",Y="AI"){let G=[];for(let W of $){let Z;if(W.type==="human")Z=Q;else if(W.type==="ai")Z=Y;else if(W.type==="system")Z="System";else if(W.type==="tool")Z="Tool";else if(W.type==="generic")Z=W.role;else throw Error(`Got unsupported message type: ${W.type}`);let q=W.name?`${W.name}, `:"",z=W.text,J=`${Z}: ${q}${z}`;if(W.type==="ai"){let X=W;if(X.tool_calls&&X.tool_calls.length>0)J+=JSON.stringify(X.tool_calls);else if(X.additional_kwargs&&"function_call"in X.additional_kwargs)J+=JSON.stringify(X.additional_kwargs.function_call)}G.push(J)}return G.join(`
15
+ `)}function IZ($){if($.data!==void 0)return $;else{let Q=$;return{type:Q.type,data:{content:Q.text,role:Q.role,name:void 0,tool_call_id:void 0}}}}function xZ($){let Q=IZ($);switch(Q.type){case"human":return new F1(Q.data);case"ai":return new R$(Q.data);case"system":return new O1(Q.data);case"function":if(Q.data.name===void 0)throw Error("Name must be defined for function messages");return new oQ(Q.data);case"tool":if(Q.data.tool_call_id===void 0)throw Error("Tool call ID must be defined for tool messages");return new V1(Q.data);case"generic":if(Q.data.role===void 0)throw Error("Role must be defined for chat messages");return new p9(Q.data);default:throw Error(`Got unexpected type: ${Q.type}`)}}function OK($){return $.map(xZ)}function DK($){return $.map((Q)=>Q.toDict())}function BK($){let Q=$._getType();if(Q==="human")return new SQ({...$});else if(Q==="ai"){let Y={...$};if("tool_calls"in Y)Y={...Y,tool_call_chunks:Y.tool_calls?.map((G)=>({...G,type:"tool_call_chunk",index:void 0,args:JSON.stringify(G.args)}))};return new T$({...Y})}else if(Q==="system")return new _Q({...$});else if(Q==="function")return new tQ({...$});else if(p9.isInstance($))return new iQ({...$});else throw Error("Unknown message type.")}function nQ($){let Q=$.reduce((W,Z)=>{let q=W.findIndex(([z])=>{if("id"in Z&&Z.id&&"index"in Z&&Z.index!==void 0)return Z.id===z.id&&Z.index===z.index;if("id"in Z&&Z.id)return Z.id===z.id;if("index"in Z&&Z.index!==void 0)return Z.index===z.index;return!1});if(q!==-1)W[q].push(Z);else W.push([Z]);return W},[]),Y=[],G=[];for(let W of Q){let Z=null,q=W[0]?.name??"",z=W.map((K)=>K.args||"").join("").trim(),J=z.length?z:"{}",X=W[0]?.id;try{if(Z=u9(J),!X||Z===null||typeof Z!=="object"||Array.isArray(Z))throw Error("Malformed tool call chunk args.");Y.push({name:q,args:Z,id:X,type:"tool_call"})}catch{G.push({name:q,args:J,id:X,error:"Malformed args.",type:"invalid_tool_call"})}}return{tool_call_chunks:$,tool_calls:Y,invalid_tool_calls:G}}var R$=class extends K0{type="ai";tool_calls=[];invalid_tool_calls=[];usage_metadata;get lc_aliases(){return{...super.lc_aliases,tool_calls:"tool_calls",invalid_tool_calls:"invalid_tool_calls"}}constructor($){let Q;if(typeof $==="string"||Array.isArray($))Q={content:$,tool_calls:[],invalid_tool_calls:[],additional_kwargs:{}};else{Q=$;let Y=Q.additional_kwargs?.tool_calls,G=Q.tool_calls;if(Y!=null&&Y.length>0&&(G===void 0||G.length===0))console.warn(["New LangChain packages are available that more efficiently handle",`tool calling.
16
+
17
+ Please upgrade your packages to versions that set`,"message tool calls. e.g., `pnpm install @langchain/anthropic`,","pnpm install @langchain/openai`, etc."].join(" "));try{if(Y!=null&&G===void 0){let[W,Z]=h9(Y);Q.tool_calls=W??[],Q.invalid_tool_calls=Z??[]}else Q.tool_calls=Q.tool_calls??[],Q.invalid_tool_calls=Q.invalid_tool_calls??[]}catch{Q.tool_calls=[],Q.invalid_tool_calls=[]}if(Q.response_metadata!==void 0&&"output_version"in Q.response_metadata&&Q.response_metadata.output_version==="v1")Q.contentBlocks=Q.content,Q.content=void 0;if(Q.contentBlocks!==void 0){if(Q.tool_calls)Q.contentBlocks.push(...Q.tool_calls.map((Z)=>({type:"tool_call",id:Z.id,name:Z.name,args:Z.args})));let W=Q.contentBlocks.filter((Z)=>Z.type==="tool_call").filter((Z)=>!Q.tool_calls?.some((q)=>q.id===Z.id&&q.name===Z.name));if(W.length>0)Q.tool_calls=W.map((Z)=>({type:"tool_call",id:Z.id,name:Z.name,args:Z.args}))}}super(Q);if(typeof Q!=="string")this.tool_calls=Q.tool_calls??this.tool_calls,this.invalid_tool_calls=Q.invalid_tool_calls??this.invalid_tool_calls;this.usage_metadata=Q.usage_metadata}static lc_name(){return"AIMessage"}get contentBlocks(){if(this.response_metadata&&"output_version"in this.response_metadata&&this.response_metadata.output_version==="v1")return this.content;if(this.response_metadata&&"model_provider"in this.response_metadata&&typeof this.response_metadata.model_provider==="string"){let Q=g9(this.response_metadata.model_provider);if(Q)return Q.translateContent(this)}let $=super.contentBlocks;if(this.tool_calls){let Q=this.tool_calls.filter((Y)=>!$.some((G)=>G.id===Y.id&&G.name===Y.name));$.push(...Q.map((Y)=>({type:"tool_call",id:Y.id,name:Y.name,args:Y.args})))}return $}get _printableFields(){return{...super._printableFields,tool_calls:this.tool_calls,invalid_tool_calls:this.invalid_tool_calls,usage_metadata:this.usage_metadata}}static isInstance($){return super.isInstance($)&&$.type==="ai"}};function RK($){return $._getType()==="ai"}function TK($){return $._getType()==="ai"}var T$=class extends T0{type="ai";tool_calls=[];invalid_tool_calls=[];tool_call_chunks=[];usage_metadata;constructor($){let Q;if(typeof $==="string"||Array.isArray($))Q={content:$,tool_calls:[],invalid_tool_calls:[],tool_call_chunks:[]};else if($.tool_call_chunks===void 0||$.tool_call_chunks.length===0)Q={...$,tool_calls:$.tool_calls??[],invalid_tool_calls:[],tool_call_chunks:[],usage_metadata:$.usage_metadata!==void 0?$.usage_metadata:void 0};else{let Y=nQ($.tool_call_chunks??[]);Q={...$,tool_call_chunks:Y.tool_call_chunks,tool_calls:Y.tool_calls,invalid_tool_calls:Y.invalid_tool_calls,usage_metadata:$.usage_metadata!==void 0?$.usage_metadata:void 0}}super(Q);this.tool_call_chunks=Q.tool_call_chunks??this.tool_call_chunks,this.tool_calls=Q.tool_calls??this.tool_calls,this.invalid_tool_calls=Q.invalid_tool_calls??this.invalid_tool_calls,this.usage_metadata=Q.usage_metadata}get lc_aliases(){return{...super.lc_aliases,tool_calls:"tool_calls",invalid_tool_calls:"invalid_tool_calls",tool_call_chunks:"tool_call_chunks"}}static lc_name(){return"AIMessageChunk"}get contentBlocks(){if(this.response_metadata&&"output_version"in this.response_metadata&&this.response_metadata.output_version==="v1")return this.content;if(this.response_metadata&&"model_provider"in this.response_metadata&&typeof this.response_metadata.model_provider==="string"){let Q=g9(this.response_metadata.model_provider);if(Q)return Q.translateContent(this)}let $=super.contentBlocks;if(this.tool_calls){if(typeof this.content!=="string"){let Q=this.content.filter((Y)=>Y.type==="tool_call").map((Y)=>Y.id);for(let Y of this.tool_calls)if(Y.id&&!Q.includes(Y.id))$.push({...Y,type:"tool_call",id:Y.id,name:Y.name,args:Y.args})}}return $}get _printableFields(){return{...super._printableFields,tool_calls:this.tool_calls,tool_call_chunks:this.tool_call_chunks,invalid_tool_calls:this.invalid_tool_calls,usage_metadata:this.usage_metadata}}concat($){let Q={content:O0(this.content,$.content),additional_kwargs:r(this.additional_kwargs,$.additional_kwargs),response_metadata:dQ(this.response_metadata,$.response_metadata),tool_call_chunks:[],tool_calls:[],id:this.id??$.id};if(this.tool_call_chunks!==void 0||$.tool_call_chunks!==void 0){let G=M$(this.tool_call_chunks,$.tool_call_chunks);if(G!==void 0&&G.length>0)Q.tool_call_chunks=G}if(this.tool_calls!==void 0||$.tool_calls!==void 0){let G=M$(this.tool_calls,$.tool_calls);if(G!==void 0&&G.length>0)Q.tool_calls=G}if(this.usage_metadata!==void 0||$.usage_metadata!==void 0)Q.usage_metadata=D1(this.usage_metadata,$.usage_metadata);return new this.constructor(Q)}static isInstance($){return super.isInstance($)&&$.type==="ai"}};function s($){if(typeof $!=="object"||$===null)return!1;let Q=$;if(!("_zod"in Q))return!1;let Y=Q._zod;return typeof Y==="object"&&Y!==null&&"def"in Y}function $0($){if(typeof $!=="object"||$===null)return!1;let Q=$;if(!("_def"in Q)||"_zod"in Q)return!1;let Y=Q._def;return typeof Y==="object"&&Y!=null&&"typeName"in Y}function vK($){if(s($))console.warn("[WARNING] Attempting to use Zod 4 schema in a context where Zod 3 schema is expected. This may cause unexpected behavior.");return $0($)}function W8($){if(!$)return!1;if(typeof $!=="object")return!1;if(Array.isArray($))return!1;if(s($)||$0($))return!0;return!1}function jZ($){if(typeof $==="object"&&$!==null&&"_def"in $&&typeof $._def==="object"&&$._def!==null&&"typeName"in $._def&&$._def.typeName==="ZodLiteral")return!0;return!1}function CZ($){if(!s($))return!1;if(typeof $==="object"&&$!==null&&"_zod"in $&&typeof $._zod==="object"&&$._zod!==null&&"def"in $._zod&&typeof $._zod.def==="object"&&$._zod.def!==null&&"type"in $._zod.def&&$._zod.def.type==="literal")return!0;return!1}function yK($){if(jZ($))return!0;if(CZ($))return!0;return!1}async function kK($,Q){if(s($))try{return{success:!0,data:await i9($,Q)}}catch(Y){return{success:!1,error:Y}}if($0($))return await $.safeParseAsync(Q);throw Error("Schema must be an instance of z3.ZodType or z4.$ZodType")}async function Z8($,Q){if(s($))return await i9($,Q);if($0($))return await $.parseAsync(Q);throw Error("Schema must be an instance of z3.ZodType or z4.$ZodType")}function fK($,Q){if(s($))try{return{success:!0,data:S1($,Q)}}catch(Y){return{success:!1,error:Y}}if($0($))return $.safeParse(Q);throw Error("Schema must be an instance of z3.ZodType or z4.$ZodType")}function hK($,Q){if(s($))return S1($,Q);if($0($))return $.parse(Q);throw Error("Schema must be an instance of z3.ZodType or z4.$ZodType")}function q8($){if(s($))return D0.get($)?.description;if($0($))return $.description;if("description"in $&&typeof $.description==="string")return $.description}function bK($){if(!W8($))return!1;if($0($)){let Q=$._def;if(Q.typeName==="ZodObject"){let Y=$;return!Y.shape||Object.keys(Y.shape).length===0}if(Q.typeName==="ZodRecord")return!0}if(s($)){let Q=$._zod.def;if(Q.type==="object"){let Y=$;return!Y.shape||Object.keys(Y.shape).length===0}if(Q.type==="record")return!0}if(typeof $==="object"&&$!==null&&!("shape"in $))return!0;return!1}function z8($){if(!W8($))return!1;if($0($))return $._def.typeName==="ZodString";if(s($))return $._zod.def.type==="string";return!1}function J8($){if(typeof $==="object"&&$!==null&&"_def"in $&&typeof $._def==="object"&&$._def!==null&&"typeName"in $._def&&$._def.typeName==="ZodObject")return!0;return!1}function p0($){if(!s($))return!1;if(typeof $==="object"&&$!==null&&"_zod"in $&&typeof $._zod==="object"&&$._zod!==null&&"def"in $._zod&&typeof $._zod.def==="object"&&$._zod.def!==null&&"type"in $._zod.def&&$._zod.def.type==="object")return!0;return!1}function t9($){if(!s($))return!1;if(typeof $==="object"&&$!==null&&"_zod"in $&&typeof $._zod==="object"&&$._zod!==null&&"def"in $._zod&&typeof $._zod.def==="object"&&$._zod.def!==null&&"type"in $._zod.def&&$._zod.def.type==="array")return!0;return!1}function vZ($){if(!s($))return!1;if(typeof $==="object"&&$!==null&&"_zod"in $&&typeof $._zod==="object"&&$._zod!==null&&"def"in $._zod&&typeof $._zod.def==="object"&&$._zod.def!==null&&"type"in $._zod.def&&$._zod.def.type==="optional")return!0;return!1}function yZ($){if(!s($))return!1;if(typeof $==="object"&&$!==null&&"_zod"in $&&typeof $._zod==="object"&&$._zod!==null&&"def"in $._zod&&typeof $._zod.def==="object"&&$._zod.def!==null&&"type"in $._zod.def&&$._zod.def.type==="nullable")return!0;return!1}function gK($){if(J8($))return!0;if(p0($))return!0;return!1}function aQ($){if($0($))return $.shape;if(s($))return $._zod.def.shape;throw Error("Schema must be an instance of z3.ZodObject or z4.$ZodObject")}function mK($,Q){if($0($))return $.extend(Q);if(s($))return c9.extend($,Q);throw Error("Schema must be an instance of z3.ZodObject or z4.$ZodObject")}function dK($){if($0($))return $.partial();if(s($))return c9.partial(o9,$,void 0);throw Error("Schema must be an instance of z3.ZodObject or z4.$ZodObject")}function P1($,Q=!1){if($0($))return $.strict();if(p0($)){let Y=$._zod.def.shape;if(Q)for(let[Z,q]of Object.entries($._zod.def.shape)){if(p0(q))Y[Z]=P1(q,Q);else if(t9(q)){let J=q._zod.def.element;if(p0(J))J=P1(J,Q);Y[Z]=u0(q,{...q._zod.def,element:J})}else Y[Z]=q;let z=D0.get(q);if(z)D0.add(Y[Z],z)}let G=u0($,{...$._zod.def,shape:Y,catchall:G8(Q8)}),W=D0.get($);if(W)D0.add(G,W);return G}throw Error("Schema must be an instance of z3.ZodObject or z4.$ZodObject")}function eQ($,Q=!1){if(J8($))return $.passthrough();if(p0($)){let Y=$._zod.def.shape;if(Q)for(let[Z,q]of Object.entries($._zod.def.shape)){if(p0(q))Y[Z]=eQ(q,Q);else if(t9(q)){let J=q._zod.def.element;if(p0(J))J=eQ(J,Q);Y[Z]=u0(q,{...q._zod.def,element:J})}else Y[Z]=q;let z=D0.get(q);if(z)D0.add(Y[Z],z)}let G=u0($,{...$._zod.def,shape:Y,catchall:Y8($8)}),W=D0.get($);if(W)D0.add(G,W);return G}throw Error("Schema must be an instance of z3.ZodObject or z4.$ZodObject")}function uK($){if($0($))try{let Q=$.parse(void 0);return()=>Q}catch{return}if(s($))try{let Q=S1($,void 0);return()=>Q}catch{return}}function kZ($){return $0($)&&"typeName"in $._def&&$._def.typeName==="ZodEffects"}function fZ($){return s($)&&$._zod.def.type==="pipe"}function O$($,Q,Y){let G=Y.get($);if(G!==void 0)return G;if($0($)){if(kZ($))return O$($._def.schema,Q,Y);return $}if(s($)){let W=$;if(fZ($))W=O$($._zod.def.in,Q,Y);if(Q){if(p0(W)){let q={};for(let[z,J]of Object.entries(W._zod.def.shape))q[z]=O$(J,Q,Y);W=u0(W,{...W._zod.def,shape:q})}else if(t9(W)){let q=O$(W._zod.def.element,Q,Y);W=u0(W,{...W._zod.def,element:q})}else if(vZ(W)){let q=O$(W._zod.def.innerType,Q,Y);W=u0(W,{...W._zod.def,innerType:q})}else if(yZ(W)){let q=O$(W._zod.def.innerType,Q,Y);W=u0(W,{...W._zod.def,innerType:q})}}let Z=D0.get($);if(Z)D0.add(W,Z);return Y.set($,W),W}throw Error("Schema must be an instance of z3.ZodType or z4.$ZodType")}function X8($,Q=!1){return O$($,Q,new WeakMap)}function pK($,Q){if($0($)){let Y=aQ($),G={};for(let[W,Z]of Object.entries(Y))if(Q(W,Z))G[W]=Z.optional();else G[W]=Z;return $.extend(G)}if(s($)){let Y=aQ($),G={...$._zod.def.shape};for(let[q,z]of Object.entries(Y))if(Q(q,z))G[q]=new o9({type:"optional",innerType:z});let W=u0($,{...$._zod.def,shape:G}),Z=D0.get($);if(Z)D0.add(W,Z);return W}throw Error("Schema must be an instance of z3.ZodObject or z4.$ZodObject")}function lK($){return $ instanceof Error&&($.constructor.name==="ZodError"||$.constructor.name==="$ZodError")}var H0=F$(AY(),1),T5=H0.default.v1,I5=H0.default.v1ToV6,x5=H0.default.v3,l0=H0.default.v4,UY=H0.default.v5,j5=H0.default.v6,C5=H0.default.v6ToV1,f0=H0.default.v7,v5=H0.default.NIL,y5=H0.default.MAX,k5=H0.default.version,p$=H0.default.validate,f5=H0.default.stringify,h5=H0.default.parse;var g5=b({getEnv:()=>BY,getEnvironmentVariable:()=>h0,getRuntimeEnvironment:()=>Y6,isBrowser:()=>VY,isDeno:()=>I1,isJsDom:()=>OY,isNode:()=>DY,isWebWorker:()=>FY}),VY=()=>typeof window<"u"&&typeof window.document<"u",FY=()=>typeof globalThis==="object"&&globalThis.constructor&&globalThis.constructor.name==="DedicatedWorkerGlobalScope",OY=()=>typeof window<"u"&&window.name==="nodejs"||typeof navigator<"u"&&navigator.userAgent.includes("jsdom"),I1=()=>typeof Deno<"u",DY=()=>typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"&&!I1(),BY=()=>{let $;if(VY())$="browser";else if(DY())$="node";else if(FY())$="webworker";else if(OY())$="jsdom";else if(I1())$="deno";else $="other";return $},Q6;function Y6(){if(Q6===void 0)Q6={library:"langchain-js",runtime:BY()};return Q6}function h0($){try{if(typeof process<"u")return process.env?.[$];else if(I1())return Deno?.env.get($);else return}catch{return}}var l5=b({BaseCallbackHandler:()=>D$,callbackHandlerPrefersStreaming:()=>Nz,isBaseCallbackHandler:()=>G6}),Hz=class{};function Nz($){return"lc_prefer_streaming"in $&&$.lc_prefer_streaming}var D$=class extends Hz{lc_serializable=!1;get lc_namespace(){return["langchain_core","callbacks",this.name]}get lc_secrets(){}get lc_attributes(){}get lc_aliases(){}get lc_serializable_keys(){}static lc_name(){return this.name}get lc_id(){return[...this.lc_namespace,A1(this.constructor)]}lc_kwargs;ignoreLLM=!1;ignoreChain=!1;ignoreAgent=!1;ignoreRetriever=!1;ignoreCustomEvent=!1;raiseError=!1;awaitHandlers=h0("LANGCHAIN_CALLBACKS_BACKGROUND")==="false";constructor($){super();if(this.lc_kwargs=$||{},$)this.ignoreLLM=$.ignoreLLM??this.ignoreLLM,this.ignoreChain=$.ignoreChain??this.ignoreChain,this.ignoreAgent=$.ignoreAgent??this.ignoreAgent,this.ignoreRetriever=$.ignoreRetriever??this.ignoreRetriever,this.ignoreCustomEvent=$.ignoreCustomEvent??this.ignoreCustomEvent,this.raiseError=$.raiseError??this.raiseError,this.awaitHandlers=this.raiseError||($._awaitHandler??this.awaitHandlers)}copy(){return new this.constructor(this)}toJSON(){return Z$.prototype.toJSON.call(this)}toJSONNotImplemented(){return Z$.prototype.toJSONNotImplemented.call(this)}static fromMethods($){class Q extends D${name=f0();constructor(){super();Object.assign(this,$)}}return new Q}},G6=($)=>{let Q=$;return Q!==void 0&&typeof Q.copy==="function"&&typeof Q.name==="string"&&typeof Q.awaitHandlers==="boolean"};var EY="gen_ai.operation.name",PY="gen_ai.system",W6="gen_ai.request.model",SY="gen_ai.response.model",Z6="gen_ai.usage.input_tokens",q6="gen_ai.usage.output_tokens",z6="gen_ai.usage.total_tokens",_Y="gen_ai.request.max_tokens",LY="gen_ai.request.temperature",MY="gen_ai.request.top_p",RY="gen_ai.request.frequency_penalty",TY="gen_ai.request.presence_penalty",IY="gen_ai.response.finish_reasons",xY="gen_ai.prompt",jY="gen_ai.completion",CY="gen_ai.request.extra_query",vY="gen_ai.request.extra_body",yY="gen_ai.serialized.name",kY="gen_ai.serialized.signature",fY="gen_ai.serialized.doc",hY="gen_ai.response.id",bY="gen_ai.response.service_tier",gY="gen_ai.response.system_fingerprint",mY="gen_ai.usage.input_token_details",dY="gen_ai.usage.output_token_details",uY="langsmith.trace.session_id",pY="langsmith.trace.session_name",lY="langsmith.span.kind",cY="langsmith.trace.name",iY="langsmith.metadata",J6="langsmith.span.tags";var oY="langsmith.request.streaming",tY="langsmith.request.headers";var Uz=(...$)=>fetch(...$),wz=void 0,sY=Symbol.for("ls:fetch_implementation");var rY=()=>{if(globalThis[sY]===void 0)return!0;return wz??!1},nY=($)=>{return async(...Q)=>{if($||e("DEBUG")==="true"){let[G,W]=Q;console.log(`→ ${W?.method||"GET"} ${G}`)}let Y=await(globalThis[sY]??Uz)(...Q);if($||e("DEBUG")==="true")console.log(`← ${Y.status} ${Y.statusText} ${Y.url}`);return Y}};var l$=()=>{return e("PROJECT")??I0("LANGCHAIN_SESSION")??"default"};var aY={};function B$($){if(!aY[$])console.warn($),aY[$]=!0}var U=($)=>BigInt($),YG=U("0x9E3779B1"),GG=U("0x85EBCA77"),Vz=U("0xC2B2AE3D"),z$=U("0x9E3779B185EBCA87"),E$=U("0xC2B2AE3D27D4EB4F"),WG=U("0x165667B19E3779F9"),N6=U("0x85EBCA77C2B2AE63"),Fz=U("0x27D4EB2F165667C5"),Oz=U("0x165667919E3779F9"),Dz=U("0x9FB21C651E98DF25");function Bz($){let Q=new Uint8Array($.length/2);for(let Y=0;Y<$.length;Y+=2)Q[Y/2]=parseInt($.substring(Y,Y+2),16);return Q}var c0=Bz("b8fe6c3923a44bbe7c01812cf721ad1cded46de9839097db7240a4a4b7b3671fcb79e64eccc0e578825ad07dccff7221b8084674f743248ee03590e6813a264c3c2852bb91c300cb88d0658b1b532ea371644897a20df94e3819ef46a9deacd8a8fa763fe39c343ff9dcbbc7c70b4f1d8a51e04bcdb45931c89f7ec9d9787364eac5ac8334d3ebc3c581a0fffa1363eb170ddd51b7f0da49d316552629d4689e2b16be587d47a1fc8ff8b8d17ad031ce45cb3a8f95160428afd7fbcabb4b407e"),x$=(U(1)<<U(128))-U(1),h=(U(1)<<U(64))-U(1),v1=(U(1)<<U(32))-U(1),$$=64,ZG=$$/8,Ez=8,x1=4;function c($,Q=0){return new Uint8Array($.buffer,$.byteOffset+Q,$.length-Q)}function i($,Q=0){return new DataView($.buffer,$.byteOffset+Q).getBigUint64(0,!0)}function I$($,Q=0){return new DataView($.buffer,$.byteOffset+Q).getUint32(0,!0)}function X6($,Q=0){return $[Q]}var Pz=($)=>{return($&U(255))<<U(56)|($&U(65280))<<U(40)|($&U(16711680))<<U(24)|($&U(4278190080))<<U(8)|($&U(1095216660480))>>U(8)|($&U(280375465082880))>>U(24)|($&U(71776119061217280))>>U(40)|($&U(18374686479671624000))>>U(56)},Sz=($)=>{return $=($&U(65535))<<U(16)|($&U(4294901760))>>U(16),$=($&U(16711935))<<U(8)|($&U(4278255360))>>U(8),$},_z=($,Q)=>($&v1)*(Q&v1)&h,j$=($)=>{if(!$)throw Error("Assert failed")};function Lz($,Q){return($<<Q|$>>U(32)-Q)&v1}function qG($,Q,Y){for(let G=0;G<ZG;G++){let W=i(Q,G*8),Z=W^i(Y,G*8);$[G^1]+=W,$[G]+=_z(Z,Z>>U(32))}return $}function eY($,Q,Y,G){for(let W=0;W<G;W++)qG($,c(Q,W*$$),c(Y,W*8));return $}function Mz($,Q){for(let Y=0;Y<ZG;Y++){let G=i(Q,Y*8),W=$[Y];W=K6(W,U(47)),W^=G,W*=YG,$[Y]=W&h}return $}function j1($,Q){return zG($[0]^i(Q,0),$[1]^i(Q,Ez))}function $G($,Q,Y){let G=Y;return G+=j1($.slice(0),c(Q,0*x1)),G+=j1($.slice(2),c(Q,4*x1)),G+=j1($.slice(4),c(Q,8*x1)),G+=j1($.slice(6),c(Q,12*x1)),i0(G&h)}function Rz($,Q,Y,G,W){let Z=Math.floor((Y.byteLength-$$)/8),q=$$*Z,z=Math.floor((Q.byteLength-1)/q);for(let J=0;J<z;J++)$=eY($,c(Q,J*q),Y,Z),$=W($,c(Y,Y.byteLength-$$));{let J=Math.floor((Q.byteLength-1-q*z)/$$);$=eY($,c(Q,z*q),Y,J),$=G($,c(Q,Q.byteLength-$$),c(Y,Y.byteLength-$$-7))}return $}function Tz($,Q,Y){let G=new BigUint64Array([Vz,z$,E$,WG,N6,GG,Fz,YG]);j$($.length>128),G=Rz(G,$,Q,qG,Mz),j$(G.length*8==64);{let W=$G(G,c(Q,11),U($.byteLength)*z$&h);return $G(G,c(Q,Q.byteLength-$$-11),~(U($.byteLength)*E$)&h)<<U(64)|W}}function zG($,Q){let Y=$*Q&x$;return Y&h^Y>>U(64)}function QG($,Q,Y){return zG((i($,0)^i(Q,0)+Y)&h,(i($,8)^i(Q,8)-Y)&h)}function C1($,Q,Y,G,W){let Z=$&h,q=$>>U(64)&h;return Z+=QG(Q,G,W),Z^=i(Y,0)+i(Y,8),Z&=h,q+=QG(Y,c(G,16),W),q^=i(Q,0)+i(Q,8),q&=h,q<<U(64)|Z}function i0($){return $^=$>>U(37),$*=Oz,$&=h,$^=$>>U(32),$}function y1($){return $^=$>>U(33),$*=E$,$&=h,$^=$>>U(29),$*=WG,$&=h,$^=$>>U(32),$}function Iz($,Q,Y){let G=$.byteLength;j$(G>0&&G<=3);let W=U(X6($,G-1))|U(G<<8)|U(X6($,0)<<16)|U(X6($,G>>1)<<24),Z=(U(I$(Q,0))^U(I$(Q,4)))+Y,q=(W^Z)&h,z=(U(I$(Q,8))^U(I$(Q,12)))-Y,J=(Lz(Sz(W),U(13))^z)&h;return(y1(J)&h)<<U(64)|y1(q)}function K6($,Q){return $^$>>Q}function xz($,Q,Y){let G=$.byteLength;j$(G>=4&&G<=8);{let W=I$($,0),Z=I$($,G-4),q=U(W)|U(Z)<<U(32),z=(i(Q,16)^i(Q,24))+Y&h,X=(q^z)*(z$+(U(G)<<U(2)))&x$;return X+=(X&h)<<U(65),X&=x$,X^=X>>U(67),K6(K6(X&h,U(35))*Dz&h,U(28))|i0(X>>U(64))<<U(64)}}function jz($,Q,Y){let G=$.byteLength;j$(G>=9&&G<=16);{let W=(i(Q,32)^i(Q,40))+Y&h,Z=(i(Q,48)^i(Q,56))-Y&h,q=i($),z=i($,G-8),J=(q^z^W)*z$,X=(J&h)+(U(G-1)<<U(54));J=J&(x$^h)|X,z^=Z,J+=z+(z&v1)*(GG-U(1))<<U(64),J&=x$,J^=Pz(J>>U(64));let K=(J&h)*E$;return K+=(J>>U(64))*E$<<U(64),K&=x$,i0(K&h)|i0(K>>U(64))<<U(64)}}function Cz($,Q){let Y=$.byteLength;if(j$(Y<=16),Y>8)return jz($,c0,Q);if(Y>=4)return xz($,c0,Q);if(Y>0)return Iz($,c0,Q);return y1(Q^i(c0,64)^i(c0,72))|y1(Q^i(c0,80)^i(c0,88))<<U(64)}function H6($){return~$+U(1)&h}function vz($,Q,Y){let G=U($.byteLength)*z$&h,W=U($.byteLength-1)/U(32);while(W>=0){let z=Number(W);G=C1(G,c($,16*z),c($,$.byteLength-16*(z+1)),c(Q,32*z),Y),W--}let Z=G+(G>>U(64))&h;Z=i0(Z);let q=(G&h)*z$+(G>>U(64))*N6+(U($.byteLength)-Y&h)*E$;return q&=h,q=H6(i0(q)),Z|q<<U(64)}function yz($,Q,Y){let G=U($.byteLength)*z$&h;for(let q=32;q<160;q+=32)G=C1(G,c($,q-32),c($,q-16),c(Q,q-32),Y);G=i0(G&h)|i0(G>>U(64))<<U(64);for(let q=160;q<=$.byteLength;q+=32)G=C1(G,c($,q-32),c($,q-16),c(Q,3+q-160),Y);G=C1(G,c($,$.byteLength-16),c($,$.byteLength-32),c(Q,103),H6(Y));let W=G+(G>>U(64))&h;W=i0(W);let Z=(G&h)*z$+(G>>U(64))*N6+(U($.byteLength)-Y&h)*E$;return Z&=h,Z=H6(i0(Z)),W|Z<<U(64)}function JG($,Q=U(0)){let Y=$.byteLength;if(Y<=16)return Cz($,Q);if(Y<=128)return vz($,c0,Q);if(Y<=240)return yz($,c0,Q);return Tz($,c0,Q)}function XG($){let Q=new Uint8Array(16),Y=new DataView(Q.buffer),G=$&h,W=$>>U(64);return Y.setBigUint64(0,W,!1),Y.setBigUint64(8,G,!1),Q}var KG=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function k($,Q){if(!KG.test($)){let Y=Q!==void 0?`Invalid UUID for ${Q}: ${$}`:`Invalid UUID: ${$}`;throw Error(Y)}return $}function k1($){let Q=typeof $==="string"?Date.parse($):$;return f0({msecs:Q,seq:0})}function kz($){if(!KG.test($))return null;let Q=$[14];return parseInt(Q,16)}function fz($){let Q=$.replace(/-/g,""),Y=new Uint8Array(16);for(let G=0;G<16;G++)Y[G]=parseInt(Q.slice(G*2,G*2+2),16);return Y}function hz($){let Q=Array.from($).map((Y)=>Y.toString(16).padStart(2,"0")).join("");return`${Q.slice(0,8)}-${Q.slice(8,12)}-${Q.slice(12,16)}-${Q.slice(16,20)}-${Q.slice(20)}`}var bz=new TextEncoder;function gz($){let Q=bz.encode($),Y=JG(Q);return XG(Y)}function c$($,Q){let Y=`${$}:${Q}`,G=gz(Y),W=new Uint8Array(16);if(kz($)===7){let q=fz($);W.set(q.slice(0,6),0)}else{let q=Date.now();W[0]=q/1099511627776&255,W[1]=q/4294967296&255,W[2]=q/16777216&255,W[3]=q/65536&255,W[4]=q/256&255,W[5]=q&255}return W[6]=112|G[0]&15,W[7]=G[1],W[8]=128|G[2]&63,W.set(G.slice(3,10),9),hz(W)}import*as E0 from"node:fs";import*as HG from"node:path";function NG($,Q){let Y=HG.dirname($);if(!E0.existsSync(Y))E0.mkdirSync(Y,{recursive:!0});let G={entries:Q},W=`${$}.tmp`;try{E0.writeFileSync(W,JSON.stringify(G,null,2)),E0.renameSync(W,$)}catch(Z){if(E0.existsSync(W))E0.unlinkSync(W);throw Z}}function AG($){if(!E0.existsSync($))return null;try{let Q=E0.readFileSync($,"utf-8");return JSON.parse(Q).entries??null}catch{return null}}function mz($,Q){if(Q===null)return!1;return Date.now()-$.createdAt>Q*1000}class A6{constructor($={}){Object.defineProperty(this,"cache",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"ttlSeconds",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"refreshIntervalSeconds",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"refreshTimer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_metrics",{enumerable:!0,configurable:!0,writable:!0,value:{hits:0,misses:0,refreshes:0,refreshErrors:0}}),this.configure($)}get metrics(){return{...this._metrics}}get totalRequests(){return this._metrics.hits+this._metrics.misses}get hitRate(){let $=this.totalRequests;return $>0?this._metrics.hits/$:0}resetMetrics(){this._metrics={hits:0,misses:0,refreshes:0,refreshErrors:0}}get($,Q){if(this.maxSize===0)return;let Y=this.cache.get($);if(!Y){this._metrics.misses+=1;return}return this.cache.delete($),this.cache.set($,{...Y,refreshFunc:Q}),this._metrics.hits+=1,Y.value}set($,Q,Y){if(this.maxSize===0)return;if(this.refreshTimer===void 0)this.startRefreshLoop();if(!this.cache.has($)&&this.cache.size>=this.maxSize){let W=this.cache.keys().next().value;if(W!==void 0)this.cache.delete(W)}let G={value:Q,createdAt:Date.now(),refreshFunc:Y};this.cache.delete($),this.cache.set($,G)}invalidate($){this.cache.delete($)}clear(){this.cache.clear()}get size(){return this.cache.size}stop(){if(this.refreshTimer)clearInterval(this.refreshTimer),this.refreshTimer=void 0}dump($){let Q={};for(let[Y,G]of this.cache.entries())Q[Y]=G.value;NG($,Q)}load($){let Q=AG($);if(!Q)return 0;let Y=0,G=Date.now();for(let[W,Z]of Object.entries(Q)){if(this.cache.size>=this.maxSize)break;let q={value:Z,createdAt:G};this.cache.set(W,q),Y+=1}return Y}startRefreshLoop(){if(this.stop(),this.ttlSeconds!==null){if(this.refreshTimer=setInterval(()=>{this.refreshStaleEntries().catch(($)=>{console.warn("Unexpected error in cache refresh loop:",$)})},this.refreshIntervalSeconds*1000),this.refreshTimer.unref)this.refreshTimer.unref()}}getStaleEntries(){let $=[];for(let[Q,Y]of this.cache.entries())if(mz(Y,this.ttlSeconds))$.push([Q,Y]);return $}async refreshStaleEntries(){let $=this.getStaleEntries();if($.length===0)return;for(let[Q,Y]of $)if(Y.refreshFunc!==void 0)try{let G=await Y.refreshFunc();this.set(Q,G,Y.refreshFunc),this._metrics.refreshes+=1}catch(G){this._metrics.refreshErrors+=1,console.warn(`Failed to refresh cache entry ${Q}:`,G)}}configure($){this.stop(),this.refreshIntervalSeconds=$.refreshIntervalSeconds??60,this.maxSize=$.maxSize??100,this.ttlSeconds=$.ttlSeconds??300}}var f1=new A6;var h1="0.5.4";var o0,dz=()=>typeof window<"u"&&typeof window.document<"u",uz=()=>typeof globalThis==="object"&&globalThis.constructor&&globalThis.constructor.name==="DedicatedWorkerGlobalScope",pz=()=>typeof window<"u"&&window.name==="nodejs"||typeof navigator<"u"&&navigator.userAgent.includes("jsdom"),UG=()=>typeof Deno<"u",lz=()=>typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"&&!UG(),V6=()=>{if(o0)return o0;if(typeof Bun<"u")o0="bun";else if(dz())o0="browser";else if(lz())o0="node";else if(uz())o0="webworker";else if(pz())o0="jsdom";else if(UG())o0="deno";else o0="other";return o0},U6;function b1(){if(U6===void 0){let $=V6(),Q=iz();U6={library:"langsmith",runtime:$,sdk:"langsmith-js",sdk_version:h1,...Q}}return U6}function F6(){let $=cz(),Q={},Y=["LANGCHAIN_API_KEY","LANGCHAIN_ENDPOINT","LANGCHAIN_TRACING_V2","LANGCHAIN_PROJECT","LANGCHAIN_SESSION","LANGSMITH_API_KEY","LANGSMITH_ENDPOINT","LANGSMITH_TRACING_V2","LANGSMITH_PROJECT","LANGSMITH_SESSION"];for(let[G,W]of Object.entries($))if(typeof W==="string"&&!Y.includes(G)&&!G.toLowerCase().includes("key")&&!G.toLowerCase().includes("secret")&&!G.toLowerCase().includes("token"))if(G==="LANGCHAIN_REVISION_ID")Q.revision_id=W;else Q[G]=W;return Q}function cz(){let $={};try{if(typeof process<"u"&&process.env){for(let[Q,Y]of Object.entries(process.env))if((Q.startsWith("LANGCHAIN_")||Q.startsWith("LANGSMITH_"))&&Y!=null)if((Q.toLowerCase().includes("key")||Q.toLowerCase().includes("secret")||Q.toLowerCase().includes("token"))&&typeof Y==="string")$[Q]=Y.slice(0,2)+"*".repeat(Y.length-4)+Y.slice(-2);else $[Q]=Y}}catch(Q){}return $}function I0($){try{return typeof process<"u"?process.env?.[$]:void 0}catch(Q){return}}function e($){return I0(`LANGSMITH_${$}`)||I0(`LANGCHAIN_${$}`)}var w6;function iz(){if(w6!==void 0)return w6;let $=["VERCEL_GIT_COMMIT_SHA","NEXT_PUBLIC_VERCEL_GIT_COMMIT_SHA","COMMIT_REF","RENDER_GIT_COMMIT","CI_COMMIT_SHA","CIRCLE_SHA1","CF_PAGES_COMMIT_SHA","REACT_APP_GIT_SHA","SOURCE_VERSION","GITHUB_SHA","TRAVIS_COMMIT","GIT_COMMIT","BUILD_VCS_NUMBER","bamboo_planRepository_revision","Build.SourceVersion","BITBUCKET_COMMIT","DRONE_COMMIT_SHA","SEMAPHORE_GIT_SHA","BUILDKITE_COMMIT"],Q={};for(let Y of $){let G=I0(Y);if(G!==void 0)Q[Y]=G}return w6=Q,Q}function g1(){return I0("OTEL_ENABLED")==="true"||e("OTEL_ENABLED")==="true"}class VG{constructor(){Object.defineProperty(this,"hasWarned",{enumerable:!0,configurable:!0,writable:!0,value:!1})}startActiveSpan($,...Q){if(!this.hasWarned&&g1())console.warn('You have enabled OTEL export via the `OTEL_ENABLED` or `LANGSMITH_OTEL_ENABLED` environment variable, but have not initialized the required OTEL instances. Please add:\n```\nimport { initializeOTEL } from "langsmith/experimental/otel/setup";\ninitializeOTEL();\n```\nat the beginning of your code.'),this.hasWarned=!0;let Y;if(Q.length===1&&typeof Q[0]==="function")Y=Q[0];else if(Q.length===2&&typeof Q[1]==="function")Y=Q[1];else if(Q.length===3&&typeof Q[2]==="function")Y=Q[2];if(typeof Y==="function")return Y();return}}class FG{constructor(){Object.defineProperty(this,"mockTracer",{enumerable:!0,configurable:!0,writable:!0,value:new VG})}getTracer($,Q){return this.mockTracer}getActiveSpan(){return}setSpan($,Q){return $}getSpan($){return}setSpanContext($,Q){return $}getTracerProvider(){return}setGlobalTracerProvider($){return!1}}class OG{active(){return{}}with($,Q){return Q()}}var O6=Symbol.for("ls:otel_trace"),D6=Symbol.for("ls:otel_context"),wG=Symbol.for("ls:otel_get_default_otlp_tracer_provider"),oz=new FG,tz=new OG;class DG{getTraceInstance(){return globalThis[O6]??oz}getContextInstance(){return globalThis[D6]??tz}initializeGlobalInstances($){if(globalThis[O6]===void 0)globalThis[O6]=$.trace;if(globalThis[D6]===void 0)globalThis[D6]=$.context}setDefaultOTLPTracerComponents($){globalThis[wG]=$}getDefaultOTLPTracerComponents(){return globalThis[wG]??void 0}}var B6=new DG;function m1(){return B6.getTraceInstance()}function BG(){return B6.getContextInstance()}function EG(){return B6.getDefaultOTLPTracerComponents()}var sz={llm:"chat",tool:"execute_tool",retriever:"embeddings",embedding:"embeddings",prompt:"chat"};function rz($){return sz[$]||$}class E6{constructor(){Object.defineProperty(this,"spans",{enumerable:!0,configurable:!0,writable:!0,value:new Map})}exportBatch($,Q){for(let Y of $)try{if(!Y.run)continue;if(Y.operation==="post"){let G=this.createSpanForRun(Y,Y.run,Q.get(Y.id));if(G&&!Y.run.end_time)this.spans.set(Y.id,G)}else this.updateSpanForRun(Y,Y.run)}catch(G){console.error(`Error processing operation ${Y.id}:`,G)}}createSpanForRun($,Q,Y){let G=Y&&m1().getSpan(Y);if(!G)return;try{return this.finishSpanSetup(G,Q,$)}catch(W){console.error(`Failed to create span for run ${$.id}:`,W);return}}finishSpanSetup($,Q,Y){if(this.setSpanAttributes($,Q,Y),Q.error)$.setStatus({code:2}),$.recordException(Error(Q.error));else $.setStatus({code:1});if(Q.end_time)$.end(new Date(Q.end_time));return $}updateSpanForRun($,Q){try{let Y=this.spans.get($.id);if(!Y){console.debug(`No span found for run ${$.id} during update`);return}if(this.setSpanAttributes(Y,Q,$),Q.error)Y.setStatus({code:2}),Y.recordException(Error(Q.error));else Y.setStatus({code:1});let G=Q.end_time;if(G)Y.end(new Date(G)),this.spans.delete($.id)}catch(Y){console.error(`Failed to update span for run ${$.id}:`,Y)}}extractModelName($){if($.extra?.metadata){let Q=$.extra.metadata;if(Q.ls_model_name)return Q.ls_model_name;if(Q.invocation_params){let Y=Q.invocation_params;if(Y.model)return Y.model;else if(Y.model_name)return Y.model_name}}return}setSpanAttributes($,Q,Y){if("run_type"in Q&&Q.run_type){$.setAttribute(lY,Q.run_type);let q=rz(Q.run_type||"chain");$.setAttribute(EY,q)}if("name"in Q&&Q.name)$.setAttribute(cY,Q.name);if("session_id"in Q&&Q.session_id)$.setAttribute(uY,Q.session_id);if("session_name"in Q&&Q.session_name)$.setAttribute(pY,Q.session_name);this.setGenAiSystem($,Q);let G=this.extractModelName(Q);if(G)$.setAttribute(W6,G);if("prompt_tokens"in Q&&typeof Q.prompt_tokens==="number")$.setAttribute(Z6,Q.prompt_tokens);if("completion_tokens"in Q&&typeof Q.completion_tokens==="number")$.setAttribute(q6,Q.completion_tokens);if("total_tokens"in Q&&typeof Q.total_tokens==="number")$.setAttribute(z6,Q.total_tokens);this.setInvocationParameters($,Q);let W=Q.extra?.metadata||{};for(let[q,z]of Object.entries(W))if(z!==null&&z!==void 0)$.setAttribute(`${iY}.${q}`,String(z));let Z=Q.tags;if(Z&&Array.isArray(Z))$.setAttribute(J6,Z.join(", "));else if(Z)$.setAttribute(J6,String(Z));if("serialized"in Q&&typeof Q.serialized==="object"){let q=Q.serialized;if(q.name)$.setAttribute(yY,String(q.name));if(q.signature)$.setAttribute(kY,String(q.signature));if(q.doc)$.setAttribute(fY,String(q.doc))}this.setIOAttributes($,Y)}setGenAiSystem($,Q){let Y="langchain",G=this.extractModelName(Q);if(G){let W=G.toLowerCase();if(W.includes("anthropic")||W.startsWith("claude"))Y="anthropic";else if(W.includes("bedrock"))Y="aws.bedrock";else if(W.includes("azure")&&W.includes("openai"))Y="az.ai.openai";else if(W.includes("azure")&&W.includes("inference"))Y="az.ai.inference";else if(W.includes("cohere"))Y="cohere";else if(W.includes("deepseek"))Y="deepseek";else if(W.includes("gemini"))Y="gemini";else if(W.includes("groq"))Y="groq";else if(W.includes("watson")||W.includes("ibm"))Y="ibm.watsonx.ai";else if(W.includes("mistral"))Y="mistral_ai";else if(W.includes("gpt")||W.includes("openai"))Y="openai";else if(W.includes("perplexity")||W.includes("sonar"))Y="perplexity";else if(W.includes("vertex"))Y="vertex_ai";else if(W.includes("xai")||W.includes("grok"))Y="xai"}$.setAttribute(PY,Y)}setInvocationParameters($,Q){if(!Q.extra?.metadata?.invocation_params)return;let Y=Q.extra.metadata.invocation_params;if(Y.max_tokens!==void 0)$.setAttribute(_Y,Y.max_tokens);if(Y.temperature!==void 0)$.setAttribute(LY,Y.temperature);if(Y.top_p!==void 0)$.setAttribute(MY,Y.top_p);if(Y.frequency_penalty!==void 0)$.setAttribute(RY,Y.frequency_penalty);if(Y.presence_penalty!==void 0)$.setAttribute(TY,Y.presence_penalty)}setIOAttributes($,Q){if(Q.run.inputs)try{let Y=Q.run.inputs;if(typeof Y==="object"&&Y!==null){if(Y.model&&Array.isArray(Y.messages))$.setAttribute(W6,Y.model);if(Y.stream!==void 0)$.setAttribute(oY,Y.stream);if(Y.extra_headers)$.setAttribute(tY,JSON.stringify(Y.extra_headers));if(Y.extra_query)$.setAttribute(CY,JSON.stringify(Y.extra_query));if(Y.extra_body)$.setAttribute(vY,JSON.stringify(Y.extra_body))}$.setAttribute(xY,JSON.stringify(Y))}catch(Y){console.debug(`Failed to process inputs for run ${Q.id}`,Y)}if(Q.run.outputs)try{let Y=Q.run.outputs,G=this.getUnifiedRunTokens(Y);if(G)$.setAttribute(Z6,G[0]),$.setAttribute(q6,G[1]),$.setAttribute(z6,G[0]+G[1]);if(Y&&typeof Y==="object"){if(Y.model)$.setAttribute(SY,String(Y.model));if(Y.id)$.setAttribute(hY,Y.id);if(Y.choices&&Array.isArray(Y.choices)){let W=Y.choices.map((Z)=>Z.finish_reason).filter((Z)=>Z).map(String);if(W.length>0)$.setAttribute(IY,W.join(", "))}if(Y.service_tier)$.setAttribute(bY,Y.service_tier);if(Y.system_fingerprint)$.setAttribute(gY,Y.system_fingerprint);if(Y.usage_metadata&&typeof Y.usage_metadata==="object"){let W=Y.usage_metadata;if(W.input_token_details)$.setAttribute(mY,JSON.stringify(W.input_token_details));if(W.output_token_details)$.setAttribute(dY,JSON.stringify(W.output_token_details))}}$.setAttribute(jY,JSON.stringify(Y))}catch(Y){console.debug(`Failed to process outputs for run ${Q.id}`,Y)}}getUnifiedRunTokens($){if(!$)return null;let Q=this.extractUnifiedRunTokens($.usage_metadata);if(Q)return Q;let Y=Object.keys($);for(let Z of Y){let q=$[Z];if(!q||typeof q!=="object")continue;if(Q=this.extractUnifiedRunTokens(q.usage_metadata),Q)return Q;if(q.lc===1&&q.kwargs&&typeof q.kwargs==="object"){if(Q=this.extractUnifiedRunTokens(q.kwargs.usage_metadata),Q)return Q}}let G=$.generations||[];if(!Array.isArray(G))return null;let W=Array.isArray(G[0])?G.flat():G;for(let Z of W)if(typeof Z==="object"&&Z.message&&typeof Z.message==="object"&&Z.message.kwargs&&typeof Z.message.kwargs==="object"){if(Q=this.extractUnifiedRunTokens(Z.message.kwargs.usage_metadata),Q)return Q}return null}extractUnifiedRunTokens($){if(!$||typeof $!=="object")return null;if(typeof $.input_tokens!=="number"||typeof $.output_tokens!=="number")return null;return[$.input_tokens,$.output_tokens]}}var nz=Object.prototype.toString,az=($)=>nz.call($)==="[object Error]",ez=new Set(["network error","Failed to fetch","NetworkError when attempting to fetch resource.","The Internet connection appears to be offline.","Network request failed","fetch failed","terminated"," A network error occurred.","Network connection lost"]);function P6($){if(!($&&az($)&&$.name==="TypeError"&&typeof $.message==="string"))return!1;let{message:Y,stack:G}=$;if(Y==="Load failed")return G===void 0||"__sentry_captured__"in $;if(Y.startsWith("error sending request for url"))return!0;return ez.has(Y)}function $J($){if(typeof $==="number"){if($<0)throw TypeError("Expected `retries` to be a non-negative number.");if(Number.isNaN($))throw TypeError("Expected `retries` to be a valid number or Infinity, got NaN.")}else if($!==void 0)throw TypeError("Expected `retries` to be a number or Infinity.")}function d1($,Q,{min:Y=0,allowInfinity:G=!1}={}){if(Q===void 0)return;if(typeof Q!=="number"||Number.isNaN(Q))throw TypeError(`Expected \`${$}\` to be a number${G?" or Infinity":""}.`);if(!G&&!Number.isFinite(Q))throw TypeError(`Expected \`${$}\` to be a finite number.`);if(Q<Y)throw TypeError(`Expected \`${$}\` to be ≥ ${Y}.`)}class SG extends Error{constructor($){super();if($ instanceof Error)this.originalError=$,{message:$}=$;else this.originalError=Error($),this.originalError.stack=this.stack;this.name="AbortError",this.message=$}}function QJ($,Q){let Y=Math.max(1,$+1),G=Q.randomize?Math.random()+1:1,W=Math.round(G*Q.minTimeout*Q.factor**(Y-1));return W=Math.min(W,Q.maxTimeout),W}function PG($,Q){if(!Number.isFinite(Q))return Q;return Q-(performance.now()-$)}async function YJ({error:$,attemptNumber:Q,retriesConsumed:Y,startTime:G,options:W}){let Z=$ instanceof Error?$:TypeError(`Non-error was thrown: "${$}". You should only throw errors.`);if(Z instanceof SG)throw Z.originalError;let q=Number.isFinite(W.retries)?Math.max(0,W.retries-Y):W.retries,z=W.maxRetryTime??Number.POSITIVE_INFINITY,J=Object.freeze({error:Z,attemptNumber:Q,retriesLeft:q,retriesConsumed:Y});if(await W.onFailedAttempt(J),PG(G,z)<=0)throw Z;let X=await W.shouldConsumeRetry(J),K=PG(G,z);if(K<=0||q<=0)throw Z;if(Z instanceof TypeError&&!P6(Z)){if(X)throw Z;return W.signal?.throwIfAborted(),!1}if(!await W.shouldRetry(J))throw Z;if(!X)return W.signal?.throwIfAborted(),!1;let H=QJ(Y,W),N=Math.min(H,K);if(N>0)await new Promise((A,E)=>{let P=()=>{clearTimeout(O),W.signal?.removeEventListener("abort",P),E(W.signal.reason)},O=setTimeout(()=>{W.signal?.removeEventListener("abort",P),A()},N);if(W.unref)O.unref?.();W.signal?.addEventListener("abort",P,{once:!0})});return W.signal?.throwIfAborted(),!0}async function S6($,Q={}){if(Q={...Q},$J(Q.retries),Object.hasOwn(Q,"forever"))throw Error("The `forever` option is no longer supported. For many use-cases, you can set `retries: Infinity` instead.");if(Q.retries??=10,Q.factor??=2,Q.minTimeout??=1000,Q.maxTimeout??=Number.POSITIVE_INFINITY,Q.maxRetryTime??=Number.POSITIVE_INFINITY,Q.randomize??=!1,Q.onFailedAttempt??=()=>{},Q.shouldRetry??=()=>!0,Q.shouldConsumeRetry??=()=>!0,d1("factor",Q.factor,{min:0,allowInfinity:!1}),d1("minTimeout",Q.minTimeout,{min:0,allowInfinity:!1}),d1("maxTimeout",Q.maxTimeout,{min:0,allowInfinity:!0}),d1("maxRetryTime",Q.maxRetryTime,{min:0,allowInfinity:!0}),!(Q.factor>0))Q.factor=1;Q.signal?.throwIfAborted();let Y=0,G=0,W=performance.now();while(Number.isFinite(Q.retries)?G<=Q.retries:!0){Y++;try{Q.signal?.throwIfAborted();let Z=await $(Y);return Q.signal?.throwIfAborted(),Z}catch(Z){if(await YJ({error:Z,attemptNumber:Y,retriesConsumed:G,startTime:W,options:Q}))G++}}throw Error("Retry attempts exhausted without throwing an error.")}var i1=F$(c1(),1),bG="default"in i1.default?i1.default.default:i1.default;var UJ=[408,425,429,500,502,503,504];class o1{constructor($){Object.defineProperty(this,"maxConcurrency",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"maxRetries",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"maxQueueSizeBytes",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"queue",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onFailedResponseHook",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"queueSizeBytes",{enumerable:!0,configurable:!0,writable:!0,value:0}),this.maxConcurrency=$.maxConcurrency??1/0,this.maxRetries=$.maxRetries??6,this.maxQueueSizeBytes=$.maxQueueSizeBytes,this.queue=new bG({concurrency:this.maxConcurrency}),this.onFailedResponseHook=$?.onFailedResponseHook}call($,...Q){return this.callWithOptions({},$,...Q)}callWithOptions($,Q,...Y){let G=$.sizeBytes??0;if(this.maxQueueSizeBytes!==void 0&&G>0&&this.queueSizeBytes+G>this.maxQueueSizeBytes)return Promise.reject(Error(`Queue size limit (${this.maxQueueSizeBytes} bytes) exceeded. Current queue size: ${this.queueSizeBytes} bytes, attempted addition: ${G} bytes.`));if(G>0)this.queueSizeBytes+=G;let W=this.onFailedResponseHook,Z=this.queue.add(()=>S6(()=>Q(...Y).catch((q)=>{if(q instanceof Error)throw q;else throw Error(q)}),{async onFailedAttempt({error:q}){if(typeof q!=="object"||q==null)throw q;let z="message"in q&&typeof q.message==="string"?q.message:void 0;if(z?.startsWith("Cancel")||z?.startsWith("TimeoutError")||z?.startsWith("AbortError"))throw q;if("name"in q&&q.name==="TimeoutError")throw q;if("code"in q&&q.code==="ECONNABORTED")throw q;let J="response"in q?q.response:void 0;if(W){if(await W(J))return}let X=J?.status??("status"in q?q.status:void 0);if(X!=null&&(typeof X==="number"||typeof X==="string")&&!UJ.includes(+X))throw q},retries:this.maxRetries,randomize:!0}),{throwOnTimeout:!0});if(G>0)Z=Z.finally(()=>{this.queueSizeBytes-=G});if($.signal)return Promise.race([Z,new Promise((q,z)=>{$.signal?.addEventListener("abort",()=>{z(Error("AbortError"))})})]);return Z}}function M6($){return typeof $?._getType==="function"}function R6($){let Q={type:$._getType(),data:{content:$.content}};if($?.additional_kwargs&&Object.keys($.additional_kwargs).length>0)Q.data.additional_kwargs={...$.additional_kwargs};return Q}var VJ=F$(wJ(),1);function Q$($){if(!$||$.split("/").length>2||$.startsWith("/")||$.endsWith("/")||$.split(":").length>2)throw Error(`Invalid identifier format: ${$}`);let[Q,Y]=$.split(":"),G=Y||"latest";if(Q.includes("/")){let[W,Z]=Q.split("/",2);if(!W||!Z)throw Error(`Invalid identifier format: ${$}`);return[W,Z,G]}else{if(!Q)throw Error(`Invalid identifier format: ${$}`);return["-",Q,G]}}class gG extends Error{constructor($){super($);Object.defineProperty(this,"status",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name="LangSmithConflictError",this.status=409}}class mG extends Error{constructor($){super($);Object.defineProperty(this,"status",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name="LangSmithNotFoundError",this.status=404}}function T6($){return $!=null&&typeof $==="object"&&"name"in $&&$?.name==="LangSmithNotFoundError"}async function _($,Q,Y){let G;if($.ok){if(Y)G=await $.text();return}if($.status===403)try{if((await $.json())?.error==="org_scoped_key_requires_workspace")G="This API key is org-scoped and requires workspace specification. Please provide 'workspaceId' parameter, or set LANGSMITH_WORKSPACE_ID environment variable."}catch(q){let z=Error(`${$.status} ${$.statusText}`);throw z.status=$?.status,z}if(G===void 0)try{G=await $.text()}catch(q){G=""}let W=`Failed to ${Q}. Received status [${$.status}]: ${$.statusText}. Message: ${G}`;if($.status===404)throw new mG(W);if($.status===409)throw new gG(W);let Z=Error(W);throw Z.status=$.status,Z}var dG="ERR_CONFLICTING_ENDPOINTS";class I6 extends Error{constructor(){super("You cannot provide both LANGSMITH_ENDPOINT / LANGCHAIN_ENDPOINT and LANGSMITH_RUNS_ENDPOINTS.");Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:dG}),this.name="ConflictingEndpointsError"}}function uG($){return typeof $==="object"&&$!==null&&$.code===dG}var pG="[...]",FJ={result:"[Circular]"},s1=[],C$=[],OJ=new TextEncoder;function DJ(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function t1($){return OJ.encode($)}function lG($){if($&&typeof $==="object"&&$!==null){if($ instanceof Map)return Object.fromEntries($);else if($ instanceof Set)return Array.from($);else if($ instanceof Date)return $.toISOString();else if($ instanceof RegExp)return $.toString();else if($ instanceof Error)return{name:$.name,message:$.message}}else if(typeof $==="bigint")return $.toString();return $}function BJ($){return function(Q,Y){if($){let G=$.call(this,Q,Y);if(G!==void 0)return G}return lG(Y)}}function P0($,Q,Y,G,W){try{let Z=JSON.stringify($,BJ(Y),G);return t1(Z)}catch(Z){if(!Z.message?.includes("Converting circular structure to JSON"))return console.warn(`[WARNING]: LangSmith received unserializable value.${Q?`
18
+ Context: ${Q}`:""}`),t1("[Unserializable]");if(e("SUPPRESS_CIRCULAR_JSON_WARNINGS")!=="true"&&console.warn(`[WARNING]: LangSmith received circular JSON. This will decrease tracer performance. ${Q?`
19
+ Context: ${Q}`:""}`),typeof W>"u")W=DJ();j6($,"",0,[],void 0,0,W);let q;try{if(C$.length===0)q=JSON.stringify($,Y,G);else q=JSON.stringify($,EJ(Y),G)}catch(z){return t1("[unable to serialize, circular reference is too complex to analyze]")}finally{while(s1.length!==0){let z=s1.pop();if(z.length===4)Object.defineProperty(z[0],z[1],z[3]);else z[0][z[1]]=z[2]}}return t1(q)}}function x6($,Q,Y,G){var W=Object.getOwnPropertyDescriptor(G,Y);if(W.get!==void 0)if(W.configurable)Object.defineProperty(G,Y,{value:$}),s1.push([G,Y,Q,W]);else C$.push([Q,Y,$]);else G[Y]=$,s1.push([G,Y,Q])}function j6($,Q,Y,G,W,Z,q){Z+=1;var z;if(typeof $==="object"&&$!==null){for(z=0;z<G.length;z++)if(G[z]===$){x6(FJ,$,Q,W);return}if(typeof q.depthLimit<"u"&&Z>q.depthLimit){x6(pG,$,Q,W);return}if(typeof q.edgesLimit<"u"&&Y+1>q.edgesLimit){x6(pG,$,Q,W);return}if(G.push($),Array.isArray($))for(z=0;z<$.length;z++)j6($[z],z,z,G,$,Z,q);else{$=lG($);var J=Object.keys($);for(z=0;z<J.length;z++){var X=J[z];j6($[X],X,z,G,$,Z,q)}}G.pop()}}function EJ($){return $=typeof $<"u"?$:function(Q,Y){return Y},function(Q,Y){if(C$.length>0)for(var G=0;G<C$.length;G++){var W=C$[G];if(W[1]===Q&&W[0]===Y){Y=W[2],C$.splice(G,1);break}}return $.call(this,Q,Y)}}function cG($,Q,Y){if(Y)return $;let G=b1(),W=Q??F6(),Z=$.extra??{},q=Z.metadata;return $.extra={...Z,runtime:{...G,...Z?.runtime},metadata:{...W,...W.revision_id||"revision_id"in $&&$.revision_id?{revision_id:("revision_id"in $?$.revision_id:void 0)??W.revision_id}:{},...q}},$}var PJ=($)=>{let Q=$?.toString()??e("TRACING_SAMPLING_RATE");if(Q===void 0)return;let Y=parseFloat(Q);if(Y<0||Y>1)throw Error(`LANGSMITH_TRACING_SAMPLING_RATE must be between 0 and 1 if set. Got: ${Y}`);return Y},SJ=($)=>{let Y=$.replace("http://","").replace("https://","").split("/")[0].split(":")[0];return Y==="localhost"||Y==="127.0.0.1"||Y==="::1"};async function _J($){let Q=[];for await(let Y of $)Q.push(Y);return Q}function r1($){if($===void 0)return;return $.trim().replace(/^"(.*)"$/,"$1").replace(/^'(.*)'$/,"$1")}var LJ=async($)=>{if($?.status===429){let Q=parseInt($.headers.get("retry-after")??"10",10)*1000;if(Q>0)return await new Promise((Y)=>setTimeout(Y,Q)),!0}return!1};function iG($){if(typeof $==="number")return Number($.toFixed(4));return $}var MJ=25165824,sG=1073741824,RJ=1e4,TJ=100,oG="https://api.smith.langchain.com";class rG{constructor($){Object.defineProperty(this,"items",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"sizeBytes",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"maxSizeBytes",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSizeBytes=$??sG}peek(){return this.items[0]}push($){let Q,Y=new Promise((W)=>{Q=W}),G=P0($.item,`Serializing run with id: ${$.item.id}`).length;if(this.sizeBytes+G>this.maxSizeBytes&&this.items.length>0)return console.warn(`AutoBatchQueue size limit (${this.maxSizeBytes} bytes) exceeded. Dropping run with id: ${$.item.id}. Current queue size: ${this.sizeBytes} bytes, attempted addition: ${G} bytes.`),Q(),Y;return this.items.push({action:$.action,payload:$.item,otelContext:$.otelContext,apiKey:$.apiKey,apiUrl:$.apiUrl,itemPromiseResolve:Q,itemPromise:Y,size:G}),this.sizeBytes+=G,Y}pop({upToSizeBytes:$,upToSize:Q}){if($<1)throw Error("Number of bytes to pop off may not be less than 1.");let Y=[],G=0;while(G+(this.peek()?.size??0)<$&&this.items.length>0&&Y.length<Q){let W=this.items.shift();if(W)Y.push(W),G+=W.size,this.sizeBytes-=W.size}if(Y.length===0&&this.items.length>0){let W=this.items.shift();Y.push(W),G+=W.size,this.sizeBytes-=W.size}return[Y.map((W)=>({action:W.action,item:W.payload,otelContext:W.otelContext,apiKey:W.apiKey,apiUrl:W.apiUrl,size:W.size})),()=>Y.forEach((W)=>W.itemPromiseResolve())]}}class J${get _fetch(){return this.fetchImplementation||nY(this.debug)}constructor($={}){Object.defineProperty(this,"apiKey",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"apiUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"webUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"workspaceId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"caller",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"batchIngestCaller",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"timeout_ms",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_tenantId",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"hideInputs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"hideOutputs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"omitTracedRuntimeInfo",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tracingSampleRate",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"filteredPostUuids",{enumerable:!0,configurable:!0,writable:!0,value:new Set}),Object.defineProperty(this,"autoBatchTracing",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"autoBatchQueue",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"autoBatchTimeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"autoBatchAggregationDelayMs",{enumerable:!0,configurable:!0,writable:!0,value:250}),Object.defineProperty(this,"batchSizeBytesLimit",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"batchSizeLimit",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"fetchOptions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"settings",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"blockOnRootRunFinalization",{enumerable:!0,configurable:!0,writable:!0,value:I0("LANGSMITH_TRACING_BACKGROUND")==="false"}),Object.defineProperty(this,"traceBatchConcurrency",{enumerable:!0,configurable:!0,writable:!0,value:5}),Object.defineProperty(this,"_serverInfo",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_getServerInfoPromise",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"manualFlushMode",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"langSmithToOTELTranslator",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"fetchImplementation",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cachedLSEnvVarsForMetadata",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_promptCache",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"multipartStreamingDisabled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_multipartDisabled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_runCompressionDisabled",{enumerable:!0,configurable:!0,writable:!0,value:e("DISABLE_RUN_COMPRESSION")==="true"}),Object.defineProperty(this,"debug",{enumerable:!0,configurable:!0,writable:!0,value:I0("LANGSMITH_DEBUG")==="true"});let Q=J$.getDefaultClientConfig();if(this.tracingSampleRate=PJ($.tracingSamplingRate),this.apiUrl=r1($.apiUrl??Q.apiUrl)??"",this.apiUrl.endsWith("/"))this.apiUrl=this.apiUrl.slice(0,-1);if(this.apiKey=r1($.apiKey??Q.apiKey),this.webUrl=r1($.webUrl??Q.webUrl),this.webUrl?.endsWith("/"))this.webUrl=this.webUrl.slice(0,-1);if(this.workspaceId=r1($.workspaceId??e("WORKSPACE_ID")),this.timeout_ms=$.timeout_ms??90000,this.caller=new o1({...$.callerOptions??{},maxRetries:4,debug:$.debug??this.debug}),this.traceBatchConcurrency=$.traceBatchConcurrency??this.traceBatchConcurrency,this.traceBatchConcurrency<1)throw Error("Trace batch concurrency must be positive.");this.debug=$.debug??this.debug,this.fetchImplementation=$.fetchImplementation;let Y=$.maxIngestMemoryBytes??sG;if(this.batchIngestCaller=new o1({maxRetries:4,maxConcurrency:this.traceBatchConcurrency,maxQueueSizeBytes:Y,...$.callerOptions??{},onFailedResponseHook:LJ,debug:$.debug??this.debug}),this.hideInputs=$.hideInputs??$.anonymizer??Q.hideInputs,this.hideOutputs=$.hideOutputs??$.anonymizer??Q.hideOutputs,this.omitTracedRuntimeInfo=$.omitTracedRuntimeInfo??!1,this.autoBatchTracing=$.autoBatchTracing??this.autoBatchTracing,this.autoBatchQueue=new rG(Y),this.blockOnRootRunFinalization=$.blockOnRootRunFinalization??this.blockOnRootRunFinalization,this.batchSizeBytesLimit=$.batchSizeBytesLimit,this.batchSizeLimit=$.batchSizeLimit,this.fetchOptions=$.fetchOptions||{},this.manualFlushMode=$.manualFlushMode??this.manualFlushMode,g1())this.langSmithToOTELTranslator=new E6;if(this.cachedLSEnvVarsForMetadata=F6(),$.cache!==void 0&&$.disablePromptCache)B$("Both 'cache' and 'disablePromptCache' were provided. The 'cache' parameter is deprecated and will be removed in a future version. Using 'cache' parameter value.");if($.cache!==void 0)if(B$("The 'cache' parameter is deprecated and will be removed in a future version. Use 'configureGlobalPromptCache()' to configure the global cache, or 'disablePromptCache: true' to disable caching for this client."),$.cache===!1)this._promptCache=void 0;else if($.cache===!0)this._promptCache=f1;else this._promptCache=$.cache;else if(!$.disablePromptCache)this._promptCache=f1}static getDefaultClientConfig(){let $=e("API_KEY"),Q=e("ENDPOINT")??oG,Y=e("HIDE_INPUTS")==="true",G=e("HIDE_OUTPUTS")==="true";return{apiUrl:Q,apiKey:$,webUrl:void 0,hideInputs:Y,hideOutputs:G}}getHostUrl(){if(this.webUrl)return this.webUrl;else if(SJ(this.apiUrl))return this.webUrl="http://localhost:3000",this.webUrl;else if(this.apiUrl.endsWith("/api/v1"))return this.webUrl=this.apiUrl.replace("/api/v1",""),this.webUrl;else if(this.apiUrl.includes("/api")&&!this.apiUrl.split(".",1)[0].endsWith("api"))return this.webUrl=this.apiUrl.replace("/api",""),this.webUrl;else if(this.apiUrl.split(".",1)[0].includes("dev"))return this.webUrl="https://dev.smith.langchain.com",this.webUrl;else if(this.apiUrl.split(".",1)[0].includes("eu"))return this.webUrl="https://eu.smith.langchain.com",this.webUrl;else if(this.apiUrl.split(".",1)[0].includes("beta"))return this.webUrl="https://beta.smith.langchain.com",this.webUrl;else return this.webUrl="https://smith.langchain.com",this.webUrl}get headers(){let $={"User-Agent":`langsmith-js/${h1}`};if(this.apiKey)$["x-api-key"]=`${this.apiKey}`;if(this.workspaceId)$["x-tenant-id"]=this.workspaceId;return $}_getPlatformEndpointPath($){return this.apiUrl.slice(-3)!=="/v1"&&this.apiUrl.slice(-4)!=="/v1/"?`/v1/platform/${$}`:`/platform/${$}`}async processInputs($){if(this.hideInputs===!1)return $;if(this.hideInputs===!0)return{};if(typeof this.hideInputs==="function")return this.hideInputs($);return $}async processOutputs($){if(this.hideOutputs===!1)return $;if(this.hideOutputs===!0)return{};if(typeof this.hideOutputs==="function")return this.hideOutputs($);return $}async prepareRunCreateOrUpdateInputs($){let Q={...$};if(Q.inputs!==void 0)Q.inputs=await this.processInputs(Q.inputs);if(Q.outputs!==void 0)Q.outputs=await this.processOutputs(Q.outputs);return Q}async _getResponse($,Q){let Y=Q?.toString()??"",G=`${this.apiUrl}${$}?${Y}`;return await this.caller.call(async()=>{let Z=await this._fetch(G,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await _(Z,`fetch ${$}`),Z})}async _get($,Q){return(await this._getResponse($,Q)).json()}async*_getPaginated($,Q=new URLSearchParams,Y){let G=Number(Q.get("offset"))||0,W=Number(Q.get("limit"))||100;while(!0){Q.set("offset",String(G)),Q.set("limit",String(W));let Z=`${this.apiUrl}${$}?${Q}`,q=await this.caller.call(async()=>{let J=await this._fetch(Z,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await _(J,`fetch ${$}`),J}),z=Y?Y(await q.json()):await q.json();if(z.length===0)break;if(yield z,z.length<W)break;G+=z.length}}async*_getCursorPaginatedList($,Q=null,Y="POST",G="runs"){let W=Q?{...Q}:{};while(!0){let Z=JSON.stringify(W),z=await(await this.caller.call(async()=>{let X=await this._fetch(`${this.apiUrl}${$}`,{method:Y,headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:Z});return await _(X,`fetch ${$}`),X})).json();if(!z)break;if(!z[G])break;yield z[G];let J=z.cursors;if(!J)break;if(!J.next)break;W.cursor=J.next}}_shouldSample(){if(this.tracingSampleRate===void 0)return!0;return Math.random()<this.tracingSampleRate}_filterForSampling($,Q=!1){if(this.tracingSampleRate===void 0)return $;if(Q){let Y=[];for(let G of $)if(!this.filteredPostUuids.has(G.trace_id))Y.push(G);else if(G.id===G.trace_id)this.filteredPostUuids.delete(G.trace_id);return Y}else{let Y=[];for(let G of $){let W=G.trace_id??G.id;if(this.filteredPostUuids.has(W))continue;if(G.id===W)if(this._shouldSample())Y.push(G);else this.filteredPostUuids.add(W);else Y.push(G)}return Y}}async _getBatchSizeLimitBytes(){let $=await this._ensureServerInfo();return this.batchSizeBytesLimit??$?.batch_ingest_config?.size_limit_bytes??MJ}async _getBatchSizeLimit(){let $=await this._ensureServerInfo();return this.batchSizeLimit??$?.batch_ingest_config?.size_limit??TJ}async _getDatasetExamplesMultiPartSupport(){return(await this._ensureServerInfo()).instance_flags?.dataset_examples_multipart_enabled??!1}drainAutoBatchQueue({batchSizeLimitBytes:$,batchSizeLimit:Q}){let Y=[];while(this.autoBatchQueue.items.length>0){let[G,W]=this.autoBatchQueue.pop({upToSizeBytes:$,upToSize:Q});if(!G.length){W();break}let Z=G.reduce((J,X)=>{let K=X.apiUrl??this.apiUrl,H=X.apiKey??this.apiKey,A=X.apiKey===this.apiKey&&X.apiUrl===this.apiUrl?"default":`${K}|${H}`;if(!J[A])J[A]=[];return J[A].push(X),J},{}),q=[];for(let[J,X]of Object.entries(Z)){let K=this._processBatch(X,{apiUrl:J==="default"?void 0:J.split("|")[0],apiKey:J==="default"?void 0:J.split("|")[1]});q.push(K)}let z=Promise.all(q).finally(W);Y.push(z)}return Promise.all(Y)}async _processBatch($,Q){if(!$.length)return;let Y=$.reduce((G,W)=>G+(W.size??0),0);try{if(this.langSmithToOTELTranslator!==void 0)this._sendBatchToOTELTranslator($);else{let G={runCreates:$.filter((q)=>q.action==="create").map((q)=>q.item),runUpdates:$.filter((q)=>q.action==="update").map((q)=>q.item)},W=await this._ensureServerInfo();if(!this._multipartDisabled&&(W?.batch_ingest_config?.use_multipart_endpoint??!0)){let q=!this._runCompressionDisabled&&W?.instance_flags?.gzip_body_enabled;try{await this.multipartIngestRuns(G,{...Q,useGzip:q,sizeBytes:Y})}catch(z){if(T6(z))this._multipartDisabled=!0,await this.batchIngestRuns(G,{...Q,sizeBytes:Y});else throw z}}else await this.batchIngestRuns(G,{...Q,sizeBytes:Y})}}catch(G){console.error("Error exporting batch:",G)}}_sendBatchToOTELTranslator($){if(this.langSmithToOTELTranslator!==void 0){let Q=new Map,Y=[];for(let G of $)if(G.item.id&&G.otelContext)if(Q.set(G.item.id,G.otelContext),G.action==="create")Y.push({operation:"post",id:G.item.id,trace_id:G.item.trace_id??G.item.id,run:G.item});else Y.push({operation:"patch",id:G.item.id,trace_id:G.item.trace_id??G.item.id,run:G.item});this.langSmithToOTELTranslator.exportBatch(Y,Q)}}async processRunOperation($){clearTimeout(this.autoBatchTimeout),this.autoBatchTimeout=void 0,$.item=cG($.item,this.cachedLSEnvVarsForMetadata,this.omitTracedRuntimeInfo);let Q=this.autoBatchQueue.push($);if(this.manualFlushMode)return Q;let Y=await this._getBatchSizeLimitBytes(),G=await this._getBatchSizeLimit();if(this.autoBatchQueue.sizeBytes>Y||this.autoBatchQueue.items.length>G)this.drainAutoBatchQueue({batchSizeLimitBytes:Y,batchSizeLimit:G});if(this.autoBatchQueue.items.length>0)this.autoBatchTimeout=setTimeout(()=>{this.autoBatchTimeout=void 0,this.drainAutoBatchQueue({batchSizeLimitBytes:Y,batchSizeLimit:G})},this.autoBatchAggregationDelayMs);return Q}async _getServerInfo(){let Q=await(await this.caller.call(async()=>{let Y=await this._fetch(`${this.apiUrl}/info`,{method:"GET",headers:{Accept:"application/json"},signal:AbortSignal.timeout(RJ),...this.fetchOptions});return await _(Y,"get server info"),Y})).json();if(this.debug)console.log(`
20
+ === LangSmith Server Configuration ===
21
+ `+JSON.stringify(Q,null,2)+`
22
+ `);return Q}async _ensureServerInfo(){if(this._getServerInfoPromise===void 0)this._getServerInfoPromise=(async()=>{if(this._serverInfo===void 0)try{this._serverInfo=await this._getServerInfo()}catch($){console.warn(`[LANGSMITH]: Failed to fetch info on supported operations. Falling back to batch operations and default limits. Info: ${$.status??"Unspecified status code"} ${$.message}`)}return this._serverInfo??{}})();return this._getServerInfoPromise.then(($)=>{if(this._serverInfo===void 0)this._getServerInfoPromise=void 0;return $})}async _getSettings(){if(!this.settings)this.settings=this._get("/settings");return await this.settings}async flush(){let $=await this._getBatchSizeLimitBytes(),Q=await this._getBatchSizeLimit();await this.drainAutoBatchQueue({batchSizeLimitBytes:$,batchSizeLimit:Q})}_cloneCurrentOTELContext(){let $=m1(),Q=BG();if(this.langSmithToOTELTranslator!==void 0){let Y=$.getActiveSpan();if(Y)return $.setSpan(Q.active(),Y)}return}async createRun($,Q){if(!this._filterForSampling([$]).length)return;let Y={...this.headers,"Content-Type":"application/json"},G=$.project_name;delete $.project_name;let W=await this.prepareRunCreateOrUpdateInputs({session_name:G,...$,start_time:$.start_time??Date.now()});if(this.autoBatchTracing&&W.trace_id!==void 0&&W.dotted_order!==void 0){let z=this._cloneCurrentOTELContext();this.processRunOperation({action:"create",item:W,otelContext:z,apiKey:Q?.apiKey,apiUrl:Q?.apiUrl}).catch(console.error);return}let Z=cG(W,this.cachedLSEnvVarsForMetadata,this.omitTracedRuntimeInfo);if(Q?.apiKey!==void 0)Y["x-api-key"]=Q.apiKey;if(Q?.workspaceId!==void 0)Y["x-tenant-id"]=Q.workspaceId;let q=P0(Z,`Creating run with id: ${Z.id}`);await this.caller.call(async()=>{let z=await this._fetch(`${Q?.apiUrl??this.apiUrl}/runs`,{method:"POST",headers:Y,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:q});return await _(z,"create run",!0),z})}async batchIngestRuns({runCreates:$,runUpdates:Q},Y){if($===void 0&&Q===void 0)return;let G=await Promise.all($?.map((z)=>this.prepareRunCreateOrUpdateInputs(z))??[]),W=await Promise.all(Q?.map((z)=>this.prepareRunCreateOrUpdateInputs(z))??[]);if(G.length>0&&W.length>0){let z=G.reduce((X,K)=>{if(!K.id)return X;return X[K.id]=K,X},{}),J=[];for(let X of W)if(X.id!==void 0&&z[X.id])z[X.id]={...z[X.id],...X};else J.push(X);G=Object.values(z),W=J}let Z={post:G,patch:W};if(!Z.post.length&&!Z.patch.length)return;let q={post:[],patch:[]};for(let z of["post","patch"]){let J=z,X=Z[J].reverse(),K=X.pop();while(K!==void 0)q[J].push(K),K=X.pop()}if(q.post.length>0||q.patch.length>0){let z=q.post.map((J)=>J.id).concat(q.patch.map((J)=>J.id)).join(",");await this._postBatchIngestRuns(P0(q,`Ingesting runs with ids: ${z}`),Y)}}async _postBatchIngestRuns($,Q){let Y={...this.headers,"Content-Type":"application/json",Accept:"application/json"};if(Q?.apiKey!==void 0)Y["x-api-key"]=Q.apiKey;await this.batchIngestCaller.callWithOptions({sizeBytes:Q?.sizeBytes},async()=>{let G=await this._fetch(`${Q?.apiUrl??this.apiUrl}/runs/batch`,{method:"POST",headers:Y,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:$});return await _(G,"batch create run",!0),G})}async multipartIngestRuns({runCreates:$,runUpdates:Q},Y){if($===void 0&&Q===void 0)return;let G={},W=[];for(let K of $??[]){let H=await this.prepareRunCreateOrUpdateInputs(K);if(H.id!==void 0&&H.attachments!==void 0)G[H.id]=H.attachments;delete H.attachments,W.push(H)}let Z=[];for(let K of Q??[])Z.push(await this.prepareRunCreateOrUpdateInputs(K));if(W.find((K)=>{return K.trace_id===void 0||K.dotted_order===void 0})!==void 0)throw Error('Multipart ingest requires "trace_id" and "dotted_order" to be set when creating a run');if(Z.find((K)=>{return K.trace_id===void 0||K.dotted_order===void 0})!==void 0)throw Error('Multipart ingest requires "trace_id" and "dotted_order" to be set when updating a run');if(W.length>0&&Z.length>0){let K=W.reduce((N,A)=>{if(!A.id)return N;return N[A.id]=A,N},{}),H=[];for(let N of Z)if(N.id!==void 0&&K[N.id])K[N.id]={...K[N.id],...N};else H.push(N);W=Object.values(K),Z=H}if(W.length===0&&Z.length===0)return;let J=[],X=[];for(let[K,H]of[["post",W],["patch",Z]])for(let N of H){let{inputs:A,outputs:E,events:P,extra:O,error:L,serialized:V,attachments:x,...R}=N,m={inputs:A,outputs:E,events:P,extra:O,error:L,serialized:V},u=P0(R,`Serializing for multipart ingestion of run with id: ${R.id}`);X.push({name:`${K}.${R.id}`,payload:new Blob([u],{type:`application/json; length=${u.length}`})});for(let[l,Z0]of Object.entries(m)){if(Z0===void 0)continue;let Y0=P0(Z0,`Serializing ${l} for multipart ingestion of run with id: ${R.id}`);X.push({name:`${K}.${R.id}.${l}`,payload:new Blob([Y0],{type:`application/json; length=${Y0.length}`})})}if(R.id!==void 0){let l=G[R.id];if(l){delete G[R.id];for(let[Z0,Y0]of Object.entries(l)){let d0,y0;if(Array.isArray(Y0))[d0,y0]=Y0;else d0=Y0.mimeType,y0=Y0.data;if(Z0.includes(".")){console.warn(`Skipping attachment '${Z0}' for run ${R.id}: Invalid attachment name. Attachment names must not contain periods ('.'). Please rename the attachment and try again.`);continue}X.push({name:`attachment.${R.id}.${Z0}`,payload:new Blob([y0],{type:`${d0}; length=${y0.byteLength}`})})}}}J.push(`trace=${R.trace_id},id=${R.id}`)}await this._sendMultipartRequest(X,J.join("; "),Y)}async _createNodeFetchBody($,Q){let Y=[];for(let Z of $)Y.push(new Blob([`--${Q}\r
23
+ `])),Y.push(new Blob([`Content-Disposition: form-data; name="${Z.name}"\r
24
+ `,`Content-Type: ${Z.payload.type}\r
25
+ \r
26
+ `])),Y.push(Z.payload),Y.push(new Blob([`\r
27
+ `]));return Y.push(new Blob([`--${Q}--\r
28
+ `])),await new Blob(Y).arrayBuffer()}async _createMultipartStream($,Q){let Y=new TextEncoder;return new ReadableStream({async start(W){let Z=async(q)=>{if(typeof q==="string")W.enqueue(Y.encode(q));else W.enqueue(q)};for(let q of $){await Z(`--${Q}\r
29
+ `),await Z(`Content-Disposition: form-data; name="${q.name}"\r
30
+ `),await Z(`Content-Type: ${q.payload.type}\r
31
+ \r
32
+ `);let J=q.payload.stream().getReader();try{let X;while(!(X=await J.read()).done)W.enqueue(X.value)}finally{J.releaseLock()}await Z(`\r
33
+ `)}await Z(`--${Q}--\r
34
+ `),W.close()}})}async _sendMultipartRequest($,Q,Y){let G="----LangSmithFormBoundary"+Math.random().toString(36).slice(2),W=()=>this._createNodeFetchBody($,G),Z=()=>this._createMultipartStream($,G),q=async(z)=>{return this.batchIngestCaller.callWithOptions({sizeBytes:Y?.sizeBytes},async()=>{let J=await z(),X={...this.headers,"Content-Type":`multipart/form-data; boundary=${G}`};if(Y?.apiKey!==void 0)X["x-api-key"]=Y.apiKey;let K=J;if(Y?.useGzip&&typeof J==="object"&&"pipeThrough"in J)K=J.pipeThrough(new CompressionStream("gzip")),X["Content-Encoding"]="gzip";let H=await this._fetch(`${Y?.apiUrl??this.apiUrl}/runs/multipart`,{method:"POST",headers:X,body:K,duplex:"half",signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await _(H,"Failed to send multipart request",!0),H})};try{let z,J=!1;if(rY()&&!this.multipartStreamingDisabled&&V6()!=="bun")J=!0,z=await q(Z);else z=await q(W);if((!this.multipartStreamingDisabled||J)&&z.status===422&&(Y?.apiUrl??this.apiUrl)!==oG)console.warn(`Streaming multipart upload to ${Y?.apiUrl??this.apiUrl}/runs/multipart failed. This usually means the host does not support chunked uploads. Retrying with a buffered upload for operation "${Q}".`),this.multipartStreamingDisabled=!0,z=await q(W)}catch(z){if(T6(z))throw z;console.warn(`${z.message.trim()}
35
+
36
+ Context: ${Q}`)}}async updateRun($,Q,Y){if(k($),Q.inputs)Q.inputs=await this.processInputs(Q.inputs);if(Q.outputs)Q.outputs=await this.processOutputs(Q.outputs);let G={...Q,id:$};if(!this._filterForSampling([G],!0).length)return;if(this.autoBatchTracing&&G.trace_id!==void 0&&G.dotted_order!==void 0){let q=this._cloneCurrentOTELContext();if(Q.end_time!==void 0&&G.parent_run_id===void 0&&this.blockOnRootRunFinalization&&!this.manualFlushMode){await this.processRunOperation({action:"update",item:G,otelContext:q,apiKey:Y?.apiKey,apiUrl:Y?.apiUrl}).catch(console.error);return}else this.processRunOperation({action:"update",item:G,otelContext:q,apiKey:Y?.apiKey,apiUrl:Y?.apiUrl}).catch(console.error);return}let W={...this.headers,"Content-Type":"application/json"};if(Y?.apiKey!==void 0)W["x-api-key"]=Y.apiKey;if(Y?.workspaceId!==void 0)W["x-tenant-id"]=Y.workspaceId;let Z=P0(Q,`Serializing payload to update run with id: ${$}`);await this.caller.call(async()=>{let q=await this._fetch(`${Y?.apiUrl??this.apiUrl}/runs/${$}`,{method:"PATCH",headers:W,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:Z});return await _(q,"update run",!0),q})}async readRun($,{loadChildRuns:Q}={loadChildRuns:!1}){k($);let Y=await this._get(`/runs/${$}`);if(Q)Y=await this._loadChildRuns(Y);return Y}async getRunUrl({runId:$,run:Q,projectOpts:Y}){if(Q!==void 0){let G;if(Q.session_id)G=Q.session_id;else if(Y?.projectName)G=(await this.readProject({projectName:Y?.projectName})).id;else if(Y?.projectId)G=Y?.projectId;else G=(await this.readProject({projectName:e("PROJECT")||"default"})).id;let W=await this._getTenantId();return`${this.getHostUrl()}/o/${W}/projects/p/${G}/r/${Q.id}?poll=true`}else if($!==void 0){let G=await this.readRun($);if(!G.app_path)throw Error(`Run ${$} has no app_path`);return`${this.getHostUrl()}${G.app_path}`}else throw Error("Must provide either runId or run")}async _loadChildRuns($){let Q=await _J(this.listRuns({isRoot:!1,projectId:$.session_id,traceId:$.trace_id})),Y={},G={};Q.sort((W,Z)=>(W?.dotted_order??"").localeCompare(Z?.dotted_order??""));for(let W of Q){if(W.parent_run_id===null||W.parent_run_id===void 0)throw Error(`Child run ${W.id} has no parent`);if(W.dotted_order?.startsWith($.dotted_order??"")&&W.id!==$.id){if(!(W.parent_run_id in Y))Y[W.parent_run_id]=[];Y[W.parent_run_id].push(W),G[W.id]=W}}$.child_runs=Y[$.id]||[];for(let W in Y)if(W!==$.id)G[W].child_runs=Y[W];return $}async*listRuns($){let{projectId:Q,projectName:Y,parentRunId:G,traceId:W,referenceExampleId:Z,startTime:q,executionOrder:z,isRoot:J,runType:X,error:K,id:H,query:N,filter:A,traceFilter:E,treeFilter:P,limit:O,select:L,order:V}=$,x=[];if(Q)x=Array.isArray(Q)?Q:[Q];if(Y){let l=Array.isArray(Y)?Y:[Y],Z0=await Promise.all(l.map((Y0)=>this.readProject({projectName:Y0}).then((d0)=>d0.id)));x.push(...Z0)}let R=["app_path","completion_cost","completion_tokens","dotted_order","end_time","error","events","extra","feedback_stats","first_token_time","id","inputs","name","outputs","parent_run_id","parent_run_ids","prompt_cost","prompt_tokens","reference_example_id","run_type","session_id","start_time","status","tags","total_cost","total_tokens","trace_id"],m={session:x.length?x:null,run_type:X,reference_example:Z,query:N,filter:A,trace_filter:E,tree_filter:P,execution_order:z,parent_run:G,start_time:q?q.toISOString():null,error:K,id:H,limit:O,trace:W,select:L?L:R,is_root:J,order:V};if(m.select.includes("child_run_ids"))B$("Deprecated: 'child_run_ids' in the listRuns select parameter is deprecated and will be removed in a future version.");let u=0;for await(let l of this._getCursorPaginatedList("/runs/query",m))if(O){if(u>=O)break;if(l.length+u>O){yield*l.slice(0,O-u);break}u+=l.length,yield*l}else yield*l}async*listGroupRuns($){let{projectId:Q,projectName:Y,groupBy:G,filter:W,startTime:Z,endTime:q,limit:z,offset:J}=$,K={session_id:Q||(await this.readProject({projectName:Y})).id,group_by:G,filter:W,start_time:Z?Z.toISOString():null,end_time:q?q.toISOString():null,limit:Number(z)||100},H=Number(J)||0,N="/runs/group",A=`${this.apiUrl}${N}`;while(!0){let E={...K,offset:H},P=Object.fromEntries(Object.entries(E).filter(([m,u])=>u!==void 0)),O=JSON.stringify(P),V=await(await this.caller.call(async()=>{let m=await this._fetch(A,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:O});return await _(m,`Failed to fetch ${N}`),m})).json(),{groups:x,total:R}=V;if(x.length===0)break;for(let m of x)yield m;if(H+=x.length,H>=R)break}}async getRunStats({id:$,trace:Q,parentRun:Y,runType:G,projectNames:W,projectIds:Z,referenceExampleIds:q,startTime:z,endTime:J,error:X,query:K,filter:H,traceFilter:N,treeFilter:A,isRoot:E,dataSourceType:P}){let O=Z||[];if(W)O=[...Z||[],...await Promise.all(W.map((u)=>this.readProject({projectName:u}).then((l)=>l.id)))];let V=Object.fromEntries(Object.entries({id:$,trace:Q,parent_run:Y,run_type:G,session:O,reference_example:q,start_time:z,end_time:J,error:X,query:K,filter:H,trace_filter:N,tree_filter:A,is_root:E,data_source_type:P}).filter(([u,l])=>l!==void 0)),x=JSON.stringify(V);return await(await this.caller.call(async()=>{let u=await this._fetch(`${this.apiUrl}/runs/stats`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:x});return await _(u,"get run stats"),u})).json()}async shareRun($,{shareId:Q}={}){let Y={run_id:$,share_token:Q||l0()};k($);let G=JSON.stringify(Y),Z=await(await this.caller.call(async()=>{let q=await this._fetch(`${this.apiUrl}/runs/${$}/share`,{method:"PUT",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:G});return await _(q,"share run"),q})).json();if(Z===null||!("share_token"in Z))throw Error("Invalid response from server");return`${this.getHostUrl()}/public/${Z.share_token}/r`}async unshareRun($){k($),await this.caller.call(async()=>{let Q=await this._fetch(`${this.apiUrl}/runs/${$}/share`,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await _(Q,"unshare run",!0),Q})}async readRunSharedLink($){k($);let Y=await(await this.caller.call(async()=>{let G=await this._fetch(`${this.apiUrl}/runs/${$}/share`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await _(G,"read run shared link"),G})).json();if(Y===null||!("share_token"in Y))return;return`${this.getHostUrl()}/public/${Y.share_token}/r`}async listSharedRuns($,{runIds:Q}={}){let Y=new URLSearchParams({share_token:$});if(Q!==void 0)for(let Z of Q)Y.append("id",Z);return k($),await(await this.caller.call(async()=>{let Z=await this._fetch(`${this.apiUrl}/public/${$}/runs${Y}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await _(Z,"list shared runs"),Z})).json()}async readDatasetSharedSchema($,Q){if(!$&&!Q)throw Error("Either datasetId or datasetName must be given");if(!$)$=(await this.readDataset({datasetName:Q})).id;k($);let G=await(await this.caller.call(async()=>{let W=await this._fetch(`${this.apiUrl}/datasets/${$}/share`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await _(W,"read dataset shared schema"),W})).json();return G.url=`${this.getHostUrl()}/public/${G.share_token}/d`,G}async shareDataset($,Q){if(!$&&!Q)throw Error("Either datasetId or datasetName must be given");if(!$)$=(await this.readDataset({datasetName:Q})).id;let Y={dataset_id:$};k($);let G=JSON.stringify(Y),Z=await(await this.caller.call(async()=>{let q=await this._fetch(`${this.apiUrl}/datasets/${$}/share`,{method:"PUT",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:G});return await _(q,"share dataset"),q})).json();return Z.url=`${this.getHostUrl()}/public/${Z.share_token}/d`,Z}async unshareDataset($){k($),await this.caller.call(async()=>{let Q=await this._fetch(`${this.apiUrl}/datasets/${$}/share`,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await _(Q,"unshare dataset",!0),Q})}async readSharedDataset($){return k($),await(await this.caller.call(async()=>{let G=await this._fetch(`${this.apiUrl}/public/${$}/datasets`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await _(G,"read shared dataset"),G})).json()}async listSharedExamples($,Q){let Y={};if(Q?.exampleIds)Y.id=Q.exampleIds;let G=new URLSearchParams;Object.entries(Y).forEach(([q,z])=>{if(Array.isArray(z))z.forEach((J)=>G.append(q,J));else G.append(q,z)});let W=await this.caller.call(async()=>{let q=await this._fetch(`${this.apiUrl}/public/${$}/examples?${G.toString()}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await _(q,"list shared examples"),q}),Z=await W.json();if(!W.ok){if("detail"in Z)throw Error(`Failed to list shared examples.
37
+ Status: ${W.status}
38
+ Message: ${Array.isArray(Z.detail)?Z.detail.join(`
39
+ `):"Unspecified error"}`);throw Error(`Failed to list shared examples: ${W.status} ${W.statusText}`)}return Z.map((q)=>({...q,_hostUrl:this.getHostUrl()}))}async createProject({projectName:$,description:Q=null,metadata:Y=null,upsert:G=!1,projectExtra:W=null,referenceDatasetId:Z=null}){let q=G?"?upsert=true":"",z=`${this.apiUrl}/sessions${q}`,J=W||{};if(Y)J.metadata=Y;let X={name:$,extra:J,description:Q};if(Z!==null)X.reference_dataset_id=Z;let K=JSON.stringify(X);return await(await this.caller.call(async()=>{let A=await this._fetch(z,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:K});return await _(A,"create project"),A})).json()}async updateProject($,{name:Q=null,description:Y=null,metadata:G=null,projectExtra:W=null,endTime:Z=null}){let q=`${this.apiUrl}/sessions/${$}`,z=W;if(G)z={...z||{},metadata:G};let J=JSON.stringify({name:Q,extra:z,description:Y,end_time:Z?new Date(Z).toISOString():null});return await(await this.caller.call(async()=>{let H=await this._fetch(q,{method:"PATCH",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:J});return await _(H,"update project"),H})).json()}async hasProject({projectId:$,projectName:Q}){let Y="/sessions",G=new URLSearchParams;if($!==void 0&&Q!==void 0)throw Error("Must provide either projectName or projectId, not both");else if($!==void 0)k($),Y+=`/${$}`;else if(Q!==void 0)G.append("name",Q);else throw Error("Must provide projectName or projectId");let W=await this.caller.call(async()=>{let Z=await this._fetch(`${this.apiUrl}${Y}?${G}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await _(Z,"has project"),Z});try{let Z=await W.json();if(!W.ok)return!1;if(Array.isArray(Z))return Z.length>0;return!0}catch(Z){return!1}}async readProject({projectId:$,projectName:Q,includeStats:Y}){let G="/sessions",W=new URLSearchParams;if($!==void 0&&Q!==void 0)throw Error("Must provide either projectName or projectId, not both");else if($!==void 0)k($),G+=`/${$}`;else if(Q!==void 0)W.append("name",Q);else throw Error("Must provide projectName or projectId");if(Y!==void 0)W.append("include_stats",Y.toString());let Z=await this._get(G,W),q;if(Array.isArray(Z)){if(Z.length===0)throw Error(`Project[id=${$}, name=${Q}] not found`);q=Z[0]}else q=Z;return q}async getProjectUrl({projectId:$,projectName:Q}){if($===void 0&&Q===void 0)throw Error("Must provide either projectName or projectId");let Y=await this.readProject({projectId:$,projectName:Q}),G=await this._getTenantId();return`${this.getHostUrl()}/o/${G}/projects/p/${Y.id}`}async getDatasetUrl({datasetId:$,datasetName:Q}){if($===void 0&&Q===void 0)throw Error("Must provide either datasetName or datasetId");let Y=await this.readDataset({datasetId:$,datasetName:Q}),G=await this._getTenantId();return`${this.getHostUrl()}/o/${G}/datasets/${Y.id}`}async _getTenantId(){if(this._tenantId!==null)return this._tenantId;let $=new URLSearchParams({limit:"1"});for await(let Q of this._getPaginated("/sessions",$))return this._tenantId=Q[0].tenant_id,Q[0].tenant_id;throw Error("No projects found to resolve tenant.")}async*listProjects({projectIds:$,name:Q,nameContains:Y,referenceDatasetId:G,referenceDatasetName:W,includeStats:Z,datasetVersion:q,referenceFree:z,metadata:J}={}){let X=new URLSearchParams;if($!==void 0)for(let K of $)X.append("id",K);if(Q!==void 0)X.append("name",Q);if(Y!==void 0)X.append("name_contains",Y);if(G!==void 0)X.append("reference_dataset",G);else if(W!==void 0){let K=await this.readDataset({datasetName:W});X.append("reference_dataset",K.id)}if(Z!==void 0)X.append("include_stats",Z.toString());if(q!==void 0)X.append("dataset_version",q);if(z!==void 0)X.append("reference_free",z.toString());if(J!==void 0)X.append("metadata",JSON.stringify(J));for await(let K of this._getPaginated("/sessions",X))yield*K}async deleteProject({projectId:$,projectName:Q}){let Y;if($===void 0&&Q===void 0)throw Error("Must provide projectName or projectId");else if($!==void 0&&Q!==void 0)throw Error("Must provide either projectName or projectId, not both");else if($===void 0)Y=(await this.readProject({projectName:Q})).id;else Y=$;k(Y),await this.caller.call(async()=>{let G=await this._fetch(`${this.apiUrl}/sessions/${Y}`,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await _(G,`delete session ${Y} (${Q})`,!0),G})}async uploadCsv({csvFile:$,fileName:Q,inputKeys:Y,outputKeys:G,description:W,dataType:Z,name:q}){let z=`${this.apiUrl}/datasets/upload`,J=new FormData,X=new Blob([$],{type:"text/csv"});if(J.append("file",X,Q),Y.forEach((N)=>{J.append("input_keys",N)}),G.forEach((N)=>{J.append("output_keys",N)}),W)J.append("description",W);if(Z)J.append("data_type",Z);if(q)J.append("name",q);return await(await this.caller.call(async()=>{let N=await this._fetch(z,{method:"POST",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:J});return await _(N,"upload CSV"),N})).json()}async createDataset($,{description:Q,dataType:Y,inputsSchema:G,outputsSchema:W,metadata:Z}={}){let q={name:$,description:Q,extra:Z?{metadata:Z}:void 0};if(Y)q.data_type=Y;if(G)q.inputs_schema_definition=G;if(W)q.outputs_schema_definition=W;let z=JSON.stringify(q);return await(await this.caller.call(async()=>{let K=await this._fetch(`${this.apiUrl}/datasets`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:z});return await _(K,"create dataset"),K})).json()}async readDataset({datasetId:$,datasetName:Q}){let Y="/datasets",G=new URLSearchParams({limit:"1"});if($&&Q)throw Error("Must provide either datasetName or datasetId, not both");else if($)k($),Y+=`/${$}`;else if(Q)G.append("name",Q);else throw Error("Must provide datasetName or datasetId");let W=await this._get(Y,G),Z;if(Array.isArray(W)){if(W.length===0)throw Error(`Dataset[id=${$}, name=${Q}] not found`);Z=W[0]}else Z=W;return Z}async hasDataset({datasetId:$,datasetName:Q}){try{return await this.readDataset({datasetId:$,datasetName:Q}),!0}catch(Y){if(Y instanceof Error&&Y.message.toLocaleLowerCase().includes("not found"))return!1;throw Y}}async diffDatasetVersions({datasetId:$,datasetName:Q,fromVersion:Y,toVersion:G}){let W=$;if(W===void 0&&Q===void 0)throw Error("Must provide either datasetName or datasetId");else if(W!==void 0&&Q!==void 0)throw Error("Must provide either datasetName or datasetId, not both");else if(W===void 0)W=(await this.readDataset({datasetName:Q})).id;let Z=new URLSearchParams({from_version:typeof Y==="string"?Y:Y.toISOString(),to_version:typeof G==="string"?G:G.toISOString()});return await this._get(`/datasets/${W}/versions/diff`,Z)}async readDatasetOpenaiFinetuning({datasetId:$,datasetName:Q}){if($!==void 0);else if(Q!==void 0)$=(await this.readDataset({datasetName:Q})).id;else throw Error("Must provide either datasetName or datasetId");return(await(await this._getResponse(`/datasets/${$}/openai_ft`)).text()).trim().split(`
40
+ `).map((q)=>JSON.parse(q))}async*listDatasets({limit:$=100,offset:Q=0,datasetIds:Y,datasetName:G,datasetNameContains:W,metadata:Z}={}){let z=new URLSearchParams({limit:$.toString(),offset:Q.toString()});if(Y!==void 0)for(let J of Y)z.append("id",J);if(G!==void 0)z.append("name",G);if(W!==void 0)z.append("name_contains",W);if(Z!==void 0)z.append("metadata",JSON.stringify(Z));for await(let J of this._getPaginated("/datasets",z))yield*J}async updateDataset($){let{datasetId:Q,datasetName:Y,...G}=$;if(!Q&&!Y)throw Error("Must provide either datasetName or datasetId");let W=Q??(await this.readDataset({datasetName:Y})).id;k(W);let Z=JSON.stringify(G);return await(await this.caller.call(async()=>{let z=await this._fetch(`${this.apiUrl}/datasets/${W}`,{method:"PATCH",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:Z});return await _(z,"update dataset"),z})).json()}async updateDatasetTag($){let{datasetId:Q,datasetName:Y,asOf:G,tag:W}=$;if(!Q&&!Y)throw Error("Must provide either datasetName or datasetId");let Z=Q??(await this.readDataset({datasetName:Y})).id;k(Z);let q=JSON.stringify({as_of:typeof G==="string"?G:G.toISOString(),tag:W});await this.caller.call(async()=>{let z=await this._fetch(`${this.apiUrl}/datasets/${Z}/tags`,{method:"PUT",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:q});return await _(z,"update dataset tags",!0),z})}async deleteDataset({datasetId:$,datasetName:Q}){let Y="/datasets",G=$;if($!==void 0&&Q!==void 0)throw Error("Must provide either datasetName or datasetId, not both");else if(Q!==void 0)G=(await this.readDataset({datasetName:Q})).id;if(G!==void 0)k(G),Y+=`/${G}`;else throw Error("Must provide datasetName or datasetId");await this.caller.call(async()=>{let W=await this._fetch(this.apiUrl+Y,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await _(W,`delete ${Y}`,!0),W})}async indexDataset({datasetId:$,datasetName:Q,tag:Y}){let G=$;if(!G&&!Q)throw Error("Must provide either datasetName or datasetId");else if(G&&Q)throw Error("Must provide either datasetName or datasetId, not both");else if(!G)G=(await this.readDataset({datasetName:Q})).id;k(G);let Z=JSON.stringify({tag:Y});await(await this.caller.call(async()=>{let z=await this._fetch(`${this.apiUrl}/datasets/${G}/index`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:Z});return await _(z,"index dataset"),z})).json()}async similarExamples($,Q,Y,{filter:G}={}){let W={limit:Y,inputs:$};if(G!==void 0)W.filter=G;k(Q);let Z=JSON.stringify(W);return(await(await this.caller.call(async()=>{let J=await this._fetch(`${this.apiUrl}/datasets/${Q}/search`,{headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,method:"POST",body:Z});return await _(J,"fetch similar examples"),J})).json()).examples}async createExample($,Q,Y){if(tG($)){if(Q!==void 0||Y!==void 0)throw Error("Cannot provide outputs or options when using ExampleCreate object")}let G=Q?Y?.datasetId:$.dataset_id,W=Q?Y?.datasetName:$.dataset_name;if(G===void 0&&W===void 0)throw Error("Must provide either datasetName or datasetId");else if(G!==void 0&&W!==void 0)throw Error("Must provide either datasetName or datasetId, not both");else if(G===void 0)G=(await this.readDataset({datasetName:W})).id;let Z=(Q?Y?.createdAt:$.created_at)||new Date,q;if(!tG($))q={inputs:$,outputs:Q,created_at:Z?.toISOString(),id:Y?.exampleId,metadata:Y?.metadata,split:Y?.split,source_run_id:Y?.sourceRunId,use_source_run_io:Y?.useSourceRunIO,use_source_run_attachments:Y?.useSourceRunAttachments,attachments:Y?.attachments};else q=$;let z=await this._uploadExamplesMultipart(G,[q]);return await this.readExample(z.example_ids?.[0]??l0())}async createExamples($){if(Array.isArray($)){if($.length===0)return[];let L=$,V=L[0].dataset_id,x=L[0].dataset_name;if(V===void 0&&x===void 0)throw Error("Must provide either datasetName or datasetId");else if(V!==void 0&&x!==void 0)throw Error("Must provide either datasetName or datasetId, not both");else if(V===void 0)V=(await this.readDataset({datasetName:x})).id;let R=await this._uploadExamplesMultipart(V,L);return await Promise.all(R.example_ids.map((u)=>this.readExample(u)))}let{inputs:Q,outputs:Y,metadata:G,splits:W,sourceRunIds:Z,useSourceRunIOs:q,useSourceRunAttachments:z,attachments:J,exampleIds:X,datasetId:K,datasetName:H}=$;if(Q===void 0)throw Error("Must provide inputs when using legacy parameters");let N=K,A=H;if(N===void 0&&A===void 0)throw Error("Must provide either datasetName or datasetId");else if(N!==void 0&&A!==void 0)throw Error("Must provide either datasetName or datasetId, not both");else if(N===void 0)N=(await this.readDataset({datasetName:A})).id;let E=Q.map((L,V)=>{return{dataset_id:N,inputs:L,outputs:Y?.[V],metadata:G?.[V],split:W?.[V],id:X?.[V],attachments:J?.[V],source_run_id:Z?.[V],use_source_run_io:q?.[V],use_source_run_attachments:z?.[V]}}),P=await this._uploadExamplesMultipart(N,E);return await Promise.all(P.example_ids.map((L)=>this.readExample(L)))}async createLLMExample($,Q,Y){return this.createExample({input:$},{output:Q},Y)}async createChatExample($,Q,Y){let G=$.map((Z)=>{if(M6(Z))return R6(Z);return Z}),W=M6(Q)?R6(Q):Q;return this.createExample({input:G},{output:W},Y)}async readExample($){k($);let Q=`/examples/${$}`,Y=await this._get(Q),{attachment_urls:G,...W}=Y,Z=W;if(G)Z.attachments=Object.entries(G).reduce((q,[z,J])=>{return q[z.slice(11)]={presigned_url:J.presigned_url,mime_type:J.mime_type},q},{});return Z}async*listExamples({datasetId:$,datasetName:Q,exampleIds:Y,asOf:G,splits:W,inlineS3Urls:Z,metadata:q,limit:z,offset:J,filter:X,includeAttachments:K}={}){let H;if($!==void 0&&Q!==void 0)throw Error("Must provide either datasetName or datasetId, not both");else if($!==void 0)H=$;else if(Q!==void 0)H=(await this.readDataset({datasetName:Q})).id;else throw Error("Must provide a datasetName or datasetId");let N=new URLSearchParams({dataset:H}),A=G?typeof G==="string"?G:G?.toISOString():void 0;if(A)N.append("as_of",A);let E=Z??!0;if(N.append("inline_s3_urls",E.toString()),Y!==void 0)for(let O of Y)N.append("id",O);if(W!==void 0)for(let O of W)N.append("splits",O);if(q!==void 0){let O=JSON.stringify(q);N.append("metadata",O)}if(z!==void 0)N.append("limit",z.toString());if(J!==void 0)N.append("offset",J.toString());if(X!==void 0)N.append("filter",X);if(K===!0)["attachment_urls","outputs","metadata"].forEach((O)=>N.append("select",O));let P=0;for await(let O of this._getPaginated("/examples",N)){for(let L of O){let{attachment_urls:V,...x}=L,R=x;if(V)R.attachments=Object.entries(V).reduce((m,[u,l])=>{return m[u.slice(11)]={presigned_url:l.presigned_url,mime_type:l.mime_type||void 0},m},{});yield R,P++}if(z!==void 0&&P>=z)break}}async deleteExample($){k($);let Q=`/examples/${$}`;await this.caller.call(async()=>{let Y=await this._fetch(this.apiUrl+Q,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await _(Y,`delete ${Q}`,!0),Y})}async deleteExamples($,Q){if($.forEach((Y)=>k(Y)),Q?.hardDelete){let Y=this._getPlatformEndpointPath("datasets/examples/delete");await this.caller.call(async()=>{let G=await this._fetch(`${this.apiUrl}${Y}`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},body:JSON.stringify({example_ids:$,hard_delete:!0}),signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await _(G,"hard delete examples",!0),G})}else{let Y=new URLSearchParams;$.forEach((G)=>Y.append("example_ids",G)),await this.caller.call(async()=>{let G=await this._fetch(`${this.apiUrl}/examples?${Y.toString()}`,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await _(G,"delete examples",!0),G})}}async updateExample($,Q){let Y;if(Q)Y=$;else Y=$.id;k(Y);let G;if(Q)G={id:Y,...Q};else G=$;let W;if(G.dataset_id!==void 0)W=G.dataset_id;else W=(await this.readExample(Y)).dataset_id;return this._updateExamplesMultipart(W,[G])}async updateExamples($){let Q;if($[0].dataset_id===void 0)Q=(await this.readExample($[0].id)).dataset_id;else Q=$[0].dataset_id;return this._updateExamplesMultipart(Q,$)}async readDatasetVersion({datasetId:$,datasetName:Q,asOf:Y,tag:G}){let W;if(!$)W=(await this.readDataset({datasetName:Q})).id;else W=$;if(k(W),Y&&G||!Y&&!G)throw Error("Exactly one of asOf and tag must be specified.");let Z=new URLSearchParams;if(Y!==void 0)Z.append("as_of",typeof Y==="string"?Y:Y.toISOString());if(G!==void 0)Z.append("tag",G);return await(await this.caller.call(async()=>{let z=await this._fetch(`${this.apiUrl}/datasets/${W}/version?${Z.toString()}`,{method:"GET",headers:{...this.headers},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await _(z,"read dataset version"),z})).json()}async listDatasetSplits({datasetId:$,datasetName:Q,asOf:Y}){let G;if($===void 0&&Q===void 0)throw Error("Must provide dataset name or ID");else if($!==void 0&&Q!==void 0)throw Error("Must provide either datasetName or datasetId, not both");else if($===void 0)G=(await this.readDataset({datasetName:Q})).id;else G=$;k(G);let W=new URLSearchParams,Z=Y?typeof Y==="string"?Y:Y?.toISOString():void 0;if(Z)W.append("as_of",Z);return await this._get(`/datasets/${G}/splits`,W)}async updateDatasetSplits({datasetId:$,datasetName:Q,splitName:Y,exampleIds:G,remove:W=!1}){let Z;if($===void 0&&Q===void 0)throw Error("Must provide dataset name or ID");else if($!==void 0&&Q!==void 0)throw Error("Must provide either datasetName or datasetId, not both");else if($===void 0)Z=(await this.readDataset({datasetName:Q})).id;else Z=$;k(Z);let q={split_name:Y,examples:G.map((J)=>{return k(J),J}),remove:W},z=JSON.stringify(q);await this.caller.call(async()=>{let J=await this._fetch(`${this.apiUrl}/datasets/${Z}/splits`,{method:"PUT",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:z});return await _(J,"update dataset splits",!0),J})}async createFeedback($,Q,{score:Y,value:G,correction:W,comment:Z,sourceInfo:q,feedbackSourceType:z="api",sourceRunId:J,feedbackId:X,feedbackConfig:K,projectId:H,comparativeExperimentId:N,sessionId:A,startTime:E}){if(!$&&!H)throw Error("One of runId or projectId must be provided");if($&&H)throw Error("Only one of runId or projectId can be provided");let P={type:z??"api",metadata:q??{}};if(J!==void 0&&P?.metadata!==void 0&&!P.metadata.__run)P.metadata.__run={run_id:J};if(P?.metadata!==void 0&&P.metadata.__run?.run_id!==void 0)k(P.metadata.__run.run_id);let O={id:X??l0(),run_id:$,key:Q,score:iG(Y),value:G,correction:W,comment:Z,feedback_source:P,comparative_experiment_id:N,feedbackConfig:K,session_id:A??H,start_time:E},L=JSON.stringify(O),V=`${this.apiUrl}/feedback`;return await this.caller.call(async()=>{let x=await this._fetch(V,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:L});return await _(x,"create feedback",!0),x}),O}async updateFeedback($,{score:Q,value:Y,correction:G,comment:W}){let Z={};if(Q!==void 0&&Q!==null)Z.score=iG(Q);if(Y!==void 0&&Y!==null)Z.value=Y;if(G!==void 0&&G!==null)Z.correction=G;if(W!==void 0&&W!==null)Z.comment=W;k($);let q=JSON.stringify(Z);await this.caller.call(async()=>{let z=await this._fetch(`${this.apiUrl}/feedback/${$}`,{method:"PATCH",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:q});return await _(z,"update feedback",!0),z})}async readFeedback($){k($);let Q=`/feedback/${$}`;return await this._get(Q)}async deleteFeedback($){k($);let Q=`/feedback/${$}`;await this.caller.call(async()=>{let Y=await this._fetch(this.apiUrl+Q,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await _(Y,`delete ${Q}`,!0),Y})}async*listFeedback({runIds:$,feedbackKeys:Q,feedbackSourceTypes:Y}={}){let G=new URLSearchParams;if($)for(let W of $)k(W),G.append("run",W);if(Q)for(let W of Q)G.append("key",W);if(Y)for(let W of Y)G.append("source",W);for await(let W of this._getPaginated("/feedback",G))yield*W}async createPresignedFeedbackToken($,Q,{expiration:Y,feedbackConfig:G}={}){let W={run_id:$,feedback_key:Q,feedback_config:G};if(Y){if(typeof Y==="string")W.expires_at=Y;else if(Y?.hours||Y?.minutes||Y?.days)W.expires_in=Y}else W.expires_in={hours:3};let Z=JSON.stringify(W);return await(await this.caller.call(async()=>{let z=await this._fetch(`${this.apiUrl}/feedback/tokens`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:Z});return await _(z,"create presigned feedback token"),z})).json()}async createComparativeExperiment({name:$,experimentIds:Q,referenceDatasetId:Y,createdAt:G,description:W,metadata:Z,id:q}){if(Q.length===0)throw Error("At least one experiment is required");if(!Y)Y=(await this.readProject({projectId:Q[0]})).reference_dataset_id;if(!Y==null)throw Error("A reference dataset is required");let z={id:q,name:$,experiment_ids:Q,reference_dataset_id:Y,description:W,created_at:(G??new Date)?.toISOString(),extra:{}};if(Z)z.extra.metadata=Z;let J=JSON.stringify(z);return(await this.caller.call(async()=>{let K=await this._fetch(`${this.apiUrl}/datasets/comparative`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:J});return await _(K,"create comparative experiment"),K})).json()}async*listPresignedFeedbackTokens($){k($);let Q=new URLSearchParams({run_id:$});for await(let Y of this._getPaginated("/feedback/tokens",Q))yield*Y}_selectEvalResults($){let Q;if("results"in $)Q=$.results;else if(Array.isArray($))Q=$;else Q=[$];return Q}async _logEvaluationFeedback($,Q,Y){let G=this._selectEvalResults($),W=[];for(let Z of G){let q=Y||{};if(Z.evaluatorInfo)q={...Z.evaluatorInfo,...q};let z=null;if(Z.targetRunId)z=Z.targetRunId;else if(Q)z=Q.id;W.push(await this.createFeedback(z,Z.key,{score:Z.score,value:Z.value,comment:Z.comment,correction:Z.correction,sourceInfo:q,sourceRunId:Z.sourceRunId,feedbackConfig:Z.feedbackConfig,feedbackSourceType:"model",sessionId:Q?.session_id,startTime:Q?.start_time}))}return[G,W]}async logEvaluationFeedback($,Q,Y){let[G]=await this._logEvaluationFeedback($,Q,Y);return G}async createFeedbackConfig($){let{feedbackKey:Q,feedbackConfig:Y,isLowerScoreBetter:G=!1}=$,W={feedback_key:Q,feedback_config:Y,is_lower_score_better:G};return(await this.caller.call(async()=>{let q=await this._fetch(`${this.apiUrl}/feedback-configs`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:JSON.stringify(W)});return await _(q,"create feedback config"),q})).json()}async*listFeedbackConfigs($={}){let{feedbackKeys:Q,nameContains:Y,limit:G}=$,W=new URLSearchParams;if(Q)Q.forEach((q)=>{W.append("key",q)});if(Y)W.append("name_contains",Y);W.append("limit",(G!==void 0?Math.min(G,100):100).toString());let Z=0;for await(let q of this._getPaginated("/feedback-configs",W))if(yield*q,Z+=q.length,G!==void 0&&Z>=G)break}async updateFeedbackConfig($,Q={}){let{feedbackConfig:Y,isLowerScoreBetter:G}=Q,W={feedback_key:$};if(Y!==void 0)W.feedback_config=Y;if(G!==void 0)W.is_lower_score_better=G;return(await this.caller.call(async()=>{let q=await this._fetch(`${this.apiUrl}/feedback-configs`,{method:"PATCH",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:JSON.stringify(W)});return await _(q,"update feedback config"),q})).json()}async deleteFeedbackConfig($){let Q=new URLSearchParams({feedback_key:$});await this.caller.call(async()=>{let Y=await this._fetch(`${this.apiUrl}/feedback-configs?${Q}`,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await _(Y,"delete feedback config",!0),Y})}async*listAnnotationQueues($={}){let{queueIds:Q,name:Y,nameContains:G,limit:W}=$,Z=new URLSearchParams;if(Q)Q.forEach((z,J)=>{k(z,`queueIds[${J}]`),Z.append("ids",z)});if(Y)Z.append("name",Y);if(G)Z.append("name_contains",G);Z.append("limit",(W!==void 0?Math.min(W,100):100).toString());let q=0;for await(let z of this._getPaginated("/annotation-queues",Z))if(yield*z,q++,W!==void 0&&q>=W)break}async createAnnotationQueue($){let{name:Q,description:Y,queueId:G,rubricInstructions:W,rubricItems:Z}=$,q={name:Q,description:Y,id:G||l0(),rubric_instructions:W,rubric_items:Z},z=JSON.stringify(Object.fromEntries(Object.entries(q).filter(([X,K])=>K!==void 0)));return(await this.caller.call(async()=>{let X=await this._fetch(`${this.apiUrl}/annotation-queues`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:z});return await _(X,"create annotation queue"),X})).json()}async readAnnotationQueue($){return(await this.caller.call(async()=>{let Y=await this._fetch(`${this.apiUrl}/annotation-queues/${k($,"queueId")}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await _(Y,"read annotation queue"),Y})).json()}async updateAnnotationQueue($,Q){let{name:Y,description:G,rubricInstructions:W,rubricItems:Z}=Q,q={};if(Y!==void 0)q.name=Y;if(G!==void 0)q.description=G;if(W!==void 0)q.rubric_instructions=W;if(Z!==void 0)q.rubric_items=Z;let z=JSON.stringify(q);await this.caller.call(async()=>{let J=await this._fetch(`${this.apiUrl}/annotation-queues/${k($,"queueId")}`,{method:"PATCH",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:z});return await _(J,"update annotation queue",!0),J})}async deleteAnnotationQueue($){await this.caller.call(async()=>{let Q=await this._fetch(`${this.apiUrl}/annotation-queues/${k($,"queueId")}`,{method:"DELETE",headers:{...this.headers,Accept:"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await _(Q,"delete annotation queue",!0),Q})}async addRunsToAnnotationQueue($,Q){let Y=JSON.stringify(Q.map((G,W)=>k(G,`runIds[${W}]`).toString()));await this.caller.call(async()=>{let G=await this._fetch(`${this.apiUrl}/annotation-queues/${k($,"queueId")}/runs`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:Y});return await _(G,"add runs to annotation queue",!0),G})}async getRunFromAnnotationQueue($,Q){let Y=`/annotation-queues/${k($,"queueId")}/run`;return(await this.caller.call(async()=>{let W=await this._fetch(`${this.apiUrl}${Y}/${Q}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await _(W,"get run from annotation queue"),W})).json()}async deleteRunFromAnnotationQueue($,Q){await this.caller.call(async()=>{let Y=await this._fetch(`${this.apiUrl}/annotation-queues/${k($,"queueId")}/runs/${k(Q,"queueRunId")}`,{method:"DELETE",headers:{...this.headers,Accept:"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await _(Y,"delete run from annotation queue",!0),Y})}async getSizeFromAnnotationQueue($){return(await this.caller.call(async()=>{let Y=await this._fetch(`${this.apiUrl}/annotation-queues/${k($,"queueId")}/size`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await _(Y,"get size from annotation queue"),Y})).json()}async _currentTenantIsOwner($){let Q=await this._getSettings();return $=="-"||Q.tenant_handle===$}async _ownerConflictError($,Q){let Y=await this._getSettings();return Error(`Cannot ${$} for another tenant.
41
+
42
+ Current tenant: ${Y.tenant_handle}
43
+
44
+ Requested tenant: ${Q}`)}async _getLatestCommitHash($){let Y=await(await this.caller.call(async()=>{let G=await this._fetch(`${this.apiUrl}/commits/${$}/?limit=1&offset=0`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await _(G,"get latest commit hash"),G})).json();if(Y.commits.length===0)return;return Y.commits[0].commit_hash}async _likeOrUnlikePrompt($,Q){let[Y,G,W]=Q$($),Z=JSON.stringify({like:Q});return(await this.caller.call(async()=>{let z=await this._fetch(`${this.apiUrl}/likes/${Y}/${G}`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:Z});return await _(z,`${Q?"like":"unlike"} prompt`),z})).json()}async _getPromptUrl($){let[Q,Y,G]=Q$($);if(!await this._currentTenantIsOwner(Q))if(G!=="latest")return`${this.getHostUrl()}/hub/${Q}/${Y}/${G.substring(0,8)}`;else return`${this.getHostUrl()}/hub/${Q}/${Y}`;else{let W=await this._getSettings();if(G!=="latest")return`${this.getHostUrl()}/prompts/${Y}/${G.substring(0,8)}?organizationId=${W.id}`;else return`${this.getHostUrl()}/prompts/${Y}?organizationId=${W.id}`}}async promptExists($){return!!await this.getPrompt($)}async likePrompt($){return this._likeOrUnlikePrompt($,!0)}async unlikePrompt($){return this._likeOrUnlikePrompt($,!1)}async*listCommits($){for await(let Q of this._getPaginated(`/commits/${$}/`,new URLSearchParams,(Y)=>Y.commits))yield*Q}async*listPrompts($){let Q=new URLSearchParams;if(Q.append("sort_field",$?.sortField??"updated_at"),Q.append("sort_direction","desc"),Q.append("is_archived",(!!$?.isArchived).toString()),$?.isPublic!==void 0)Q.append("is_public",$.isPublic.toString());if($?.query)Q.append("query",$.query);for await(let Y of this._getPaginated("/repos",Q,(G)=>G.repos))yield*Y}async getPrompt($){let[Q,Y,G]=Q$($),Z=await(await this.caller.call(async()=>{let q=await this._fetch(`${this.apiUrl}/repos/${Q}/${Y}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});if(q?.status===404)return null;return await _(q,"get prompt"),q}))?.json();if(Z?.repo)return Z.repo;else return null}async createPrompt($,Q){let Y=await this._getSettings();if(Q?.isPublic&&!Y.tenant_handle)throw Error(`Cannot create a public prompt without first
45
+
46
+ creating a LangChain Hub handle.
47
+ You can add a handle by creating a public prompt at:
48
+
49
+ https://smith.langchain.com/prompts`);let[G,W,Z]=Q$($);if(!await this._currentTenantIsOwner(G))throw await this._ownerConflictError("create a prompt",G);let q={repo_handle:W,...Q?.description&&{description:Q.description},...Q?.readme&&{readme:Q.readme},...Q?.tags&&{tags:Q.tags},is_public:!!Q?.isPublic},z=JSON.stringify(q),J=await this.caller.call(async()=>{let K=await this._fetch(`${this.apiUrl}/repos/`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:z});return await _(K,"create prompt"),K}),{repo:X}=await J.json();return X}async createCommit($,Q,Y){if(!await this.promptExists($))throw Error("Prompt does not exist, you must create it first.");let[G,W,Z]=Q$($),q=Y?.parentCommitHash==="latest"||!Y?.parentCommitHash?await this._getLatestCommitHash(`${G}/${W}`):Y?.parentCommitHash,z={manifest:JSON.parse(JSON.stringify(Q)),parent_commit:q},J=JSON.stringify(z),K=await(await this.caller.call(async()=>{let H=await this._fetch(`${this.apiUrl}/commits/${G}/${W}`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:J});return await _(H,"create commit"),H})).json();return this._getPromptUrl(`${G}/${W}${K.commit_hash?`:${K.commit_hash}`:""}`)}async updateExamplesMultipart($,Q=[]){return this._updateExamplesMultipart($,Q)}async _updateExamplesMultipart($,Q=[]){if(!await this._getDatasetExamplesMultiPartSupport())throw Error("Your LangSmith deployment does not allow using the multipart examples endpoint, please upgrade your deployment to the latest version.");let Y=new FormData;for(let Z of Q){let q=Z.id,z={...Z.metadata&&{metadata:Z.metadata},...Z.split&&{split:Z.split}},J=P0(z,`Serializing body for example with id: ${q}`),X=new Blob([J],{type:"application/json"});if(Y.append(q,X),Z.inputs){let K=P0(Z.inputs,`Serializing inputs for example with id: ${q}`),H=new Blob([K],{type:"application/json"});Y.append(`${q}.inputs`,H)}if(Z.outputs){let K=P0(Z.outputs,`Serializing outputs whle updating example with id: ${q}`),H=new Blob([K],{type:"application/json"});Y.append(`${q}.outputs`,H)}if(Z.attachments)for(let[K,H]of Object.entries(Z.attachments)){let N,A;if(Array.isArray(H))[N,A]=H;else N=H.mimeType,A=H.data;let E=new Blob([A],{type:`${N}; length=${A.byteLength}`});Y.append(`${q}.attachment.${K}`,E)}if(Z.attachments_operations){let K=P0(Z.attachments_operations,`Serializing attachments while updating example with id: ${q}`),H=new Blob([K],{type:"application/json"});Y.append(`${q}.attachments_operations`,H)}}let G=$??Q[0]?.dataset_id;return(await this.caller.call(async()=>{let Z=await this._fetch(`${this.apiUrl}${this._getPlatformEndpointPath(`datasets/${G}/examples`)}`,{method:"PATCH",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:Y});return await _(Z,"update examples"),Z})).json()}async uploadExamplesMultipart($,Q=[]){return this._uploadExamplesMultipart($,Q)}async _uploadExamplesMultipart($,Q=[]){if(!await this._getDatasetExamplesMultiPartSupport())throw Error("Your LangSmith deployment does not allow using the multipart examples endpoint, please upgrade your deployment to the latest version.");let Y=new FormData;for(let W of Q){let Z=(W.id??l0()).toString(),q={created_at:W.created_at,...W.metadata&&{metadata:W.metadata},...W.split&&{split:W.split},...W.source_run_id&&{source_run_id:W.source_run_id},...W.use_source_run_io&&{use_source_run_io:W.use_source_run_io},...W.use_source_run_attachments&&{use_source_run_attachments:W.use_source_run_attachments}},z=P0(q,`Serializing body for uploaded example with id: ${Z}`),J=new Blob([z],{type:"application/json"});if(Y.append(Z,J),W.inputs){let X=P0(W.inputs,`Serializing inputs for uploaded example with id: ${Z}`),K=new Blob([X],{type:"application/json"});Y.append(`${Z}.inputs`,K)}if(W.outputs){let X=P0(W.outputs,`Serializing outputs for uploaded example with id: ${Z}`),K=new Blob([X],{type:"application/json"});Y.append(`${Z}.outputs`,K)}if(W.attachments)for(let[X,K]of Object.entries(W.attachments)){let H,N;if(Array.isArray(K))[H,N]=K;else H=K.mimeType,N=K.data;let A=new Blob([N],{type:`${H}; length=${N.byteLength}`});Y.append(`${Z}.attachment.${X}`,A)}}return(await this.caller.call(async()=>{let W=await this._fetch(`${this.apiUrl}${this._getPlatformEndpointPath(`datasets/${$}/examples`)}`,{method:"POST",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:Y});return await _(W,"upload examples"),W})).json()}async updatePrompt($,Q){if(!await this.promptExists($))throw Error("Prompt does not exist, you must create it first.");let[Y,G]=Q$($);if(!await this._currentTenantIsOwner(Y))throw await this._ownerConflictError("update a prompt",Y);let W={};if(Q?.description!==void 0)W.description=Q.description;if(Q?.readme!==void 0)W.readme=Q.readme;if(Q?.tags!==void 0)W.tags=Q.tags;if(Q?.isPublic!==void 0)W.is_public=Q.isPublic;if(Q?.isArchived!==void 0)W.is_archived=Q.isArchived;if(Object.keys(W).length===0)throw Error("No valid update options provided");let Z=JSON.stringify(W);return(await this.caller.call(async()=>{let z=await this._fetch(`${this.apiUrl}/repos/${Y}/${G}`,{method:"PATCH",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:Z});return await _(z,"update prompt"),z})).json()}async deletePrompt($){if(!await this.promptExists($))throw Error("Prompt does not exist, you must create it first.");let[Q,Y,G]=Q$($);if(!await this._currentTenantIsOwner(Q))throw await this._ownerConflictError("delete a prompt",Q);return(await this.caller.call(async()=>{let Z=await this._fetch(`${this.apiUrl}/repos/${Q}/${Y}`,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await _(Z,"delete prompt"),Z})).json()}_getPromptCacheKey($,Q){return`${$}${Q?":with_model":""}`}async _fetchPromptFromApi($,Q){let[Y,G,W]=Q$($),q=await(await this.caller.call(async()=>{let z=await this._fetch(`${this.apiUrl}/commits/${Y}/${G}/${W}${Q?.includeModel?"?include_model=true":""}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await _(z,"pull prompt commit"),z})).json();return{owner:Y,repo:G,commit_hash:q.commit_hash,manifest:q.manifest,examples:q.examples}}async pullPromptCommit($,Q){let Y=this._fetchPromptFromApi.bind(this,$,Q);if(!Q?.skipCache&&this._promptCache){let G=this._getPromptCacheKey($,Q?.includeModel),W=this._promptCache.get(G,Y);if(W)return W;let Z=await Y();return this._promptCache.set(G,Z,Y),Z}return this._fetchPromptFromApi($,Q)}async _pullPrompt($,Q){let Y=await this.pullPromptCommit($,{includeModel:Q?.includeModel,skipCache:Q?.skipCache});return JSON.stringify(Y.manifest)}async pushPrompt($,Q){if(await this.promptExists($)){if(Q&&Object.keys(Q).some((G)=>G!=="object"))await this.updatePrompt($,{description:Q?.description,readme:Q?.readme,tags:Q?.tags,isPublic:Q?.isPublic})}else await this.createPrompt($,{description:Q?.description,readme:Q?.readme,tags:Q?.tags,isPublic:Q?.isPublic});if(!Q?.object)return await this._getPromptUrl($);return await this.createCommit($,Q?.object,{parentCommitHash:Q?.parentCommitHash})}async clonePublicDataset($,Q={}){let{sourceApiUrl:Y=this.apiUrl,datasetName:G}=Q,[W,Z]=this.parseTokenOrUrl($,Y),q=new J$({apiUrl:W,apiKey:"placeholder"}),z=await q.readSharedDataset(Z),J=G||z.name;try{if(await this.hasDataset({datasetId:J})){console.log(`Dataset ${J} already exists in your tenant. Skipping.`);return}}catch(H){}let X=await q.listSharedExamples(Z),K=await this.createDataset(J,{description:z.description,dataType:z.data_type||"kv",inputsSchema:z.inputs_schema_definition??void 0,outputsSchema:z.outputs_schema_definition??void 0});try{await this.createExamples({inputs:X.map((H)=>H.inputs),outputs:X.flatMap((H)=>H.outputs?[H.outputs]:[]),datasetId:K.id})}catch(H){throw console.error(`An error occurred while creating dataset ${J}. You should delete it manually.`),H}}parseTokenOrUrl($,Q,Y=2,G="dataset"){try{return k($),[Q,$]}catch(W){}try{let Z=new URL($).pathname.split("/").filter((q)=>q!=="");if(Z.length>=Y){let q=Z[Z.length-Y];return[Q,q]}else throw Error(`Invalid public ${G} URL: ${$}`)}catch(W){throw Error(`Invalid public ${G} URL or token: ${$}`)}}cleanup(){if(this._promptCache)this._promptCache.stop()}async awaitPendingTraceBatches(){if(this.manualFlushMode)return console.warn("[WARNING]: When tracing in manual flush mode, you must call `await client.flush()` manually to submit trace batches."),Promise.resolve();if(await new Promise(($)=>setTimeout($,1)),await Promise.all([...this.autoBatchQueue.items.map(({itemPromise:$})=>$),this.batchIngestCaller.queue.onIdle()]),this.langSmithToOTELTranslator!==void 0)await EG()?.DEFAULT_LANGSMITH_SPAN_PROCESSOR?.forceFlush()}}function tG($){return"dataset_id"in $||"dataset_name"in $}var nG=($)=>{if($!==void 0)return $;return!!["TRACING_V2","TRACING"].find((Y)=>e(Y)==="true")};var t0=Symbol.for("lc:context_variables");var n1=Symbol.for("langsmith:replica_trace_roots");function C6($,Q){if(t0 in $)return $[t0][Q];return}function aG($,Q,Y){let G=t0 in $?$[t0]:{};G[Q]=Y,$[t0]=G}var o$=36,IJ="6ba7b810-9dad-11d1-80b4-00c04fd430c8";function eG($){let Y=Object.keys($).sort().map((G)=>`${G}:${$[G]??""}`).join("|");return UY(Y,IJ)}function xJ($){return $.replace(/[-:.]/g,"")}function QW($,Q=1){let Y=Q.toFixed(0).slice(0,3).padStart(3,"0");return`${new Date($).toISOString().slice(0,-1)}${Y}Z`}function v6($,Q,Y=1){let G=QW($,Y);return{dottedOrder:xJ(G)+Q,microsecondPrecisionDatestring:G}}var jJ=new Set(["projectName","updates","reroot"]);function CJ($){let Q={};for(let Y of Object.keys($))if(jJ.has(Y))Q[Y]=$[Y];return Q}class a1{constructor($,Q,Y,G){Object.defineProperty(this,"metadata",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tags",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"project_name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"replicas",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.metadata=$,this.tags=Q,this.project_name=Y,this.replicas=G}static fromHeader($){let Q=$.split(","),Y={},G=[],W,Z;for(let q of Q){let[z,J]=q.split("="),X=decodeURIComponent(J);if(z==="langsmith-metadata")Y=JSON.parse(X);else if(z==="langsmith-tags")G=X.split(",");else if(z==="langsmith-project")W=X;else if(z==="langsmith-replicas")Z=JSON.parse(X).map((H)=>{if(Array.isArray(H))return H;return CJ(H)})}return new a1(Y,G,W,Z)}toHeader(){let $=[];if(this.metadata&&Object.keys(this.metadata).length>0)$.push(`langsmith-metadata=${encodeURIComponent(JSON.stringify(this.metadata))}`);if(this.tags&&this.tags.length>0)$.push(`langsmith-tags=${encodeURIComponent(this.tags.join(","))}`);if(this.project_name)$.push(`langsmith-project=${encodeURIComponent(this.project_name)}`);return $.join(",")}}class Q0{constructor($){if(Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"run_type",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"project_name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"parent_run",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"parent_run_id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"child_runs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"start_time",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"end_time",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"extra",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tags",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"error",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"serialized",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"inputs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"outputs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"reference_example_id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"client",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"events",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"trace_id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"dotted_order",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tracingEnabled",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"execution_order",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"child_execution_order",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"attachments",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"replicas",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"distributedParentId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_serialized_start_time",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_awaitInputsOnPost",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),YW($)){Object.assign(this,{...$});return}let Q=Q0.getDefaultConfig(),{metadata:Y,...G}=$,W=G.client??Q0.getSharedClient(),Z={...Y,...G?.extra?.metadata};if(G.extra={...G.extra,metadata:Z},"id"in G&&G.id==null)delete G.id;if(Object.assign(this,{...Q,...G,client:W}),this.execution_order??=1,this.child_execution_order??=1,!this.dotted_order)this._serialized_start_time=QW(this.start_time,this.execution_order);if(!this.id)this.id=k1(this._serialized_start_time??this.start_time);if(!this.trace_id)if(this.parent_run)this.trace_id=this.parent_run.trace_id??this.id;else this.trace_id=this.id;if(this.replicas=fJ(this.replicas),!this.dotted_order){let{dottedOrder:q}=v6(this.start_time,this.id,this.execution_order);if(this.parent_run)this.dotted_order=this.parent_run.dotted_order+"."+q;else this.dotted_order=q}}set metadata($){this.extra={...this.extra,metadata:{...this.extra?.metadata,...$}}}get metadata(){return this.extra?.metadata}static getDefaultConfig(){let $=Date.now();return{run_type:"chain",project_name:l$(),child_runs:[],api_url:I0("LANGCHAIN_ENDPOINT")??"http://localhost:1984",api_key:I0("LANGCHAIN_API_KEY"),caller_options:{},start_time:$,serialized:{},inputs:{},extra:{}}}static getSharedClient(){if(!Q0.sharedClient)Q0.sharedClient=new J$;return Q0.sharedClient}createChild($){let Q=this.child_execution_order+1,Y=this.replicas?.map((X)=>{let{reroot:K,...H}=X;return H}),G=$.replicas??Y,W=new Q0({...$,parent_run:this,project_name:this.project_name,replicas:G,client:this.client,tracingEnabled:this.tracingEnabled,execution_order:Q,child_execution_order:Q});if(t0 in this)W[t0]=this[t0];let Z=Symbol.for("lc:child_config"),q=$.extra?.[Z]??this.extra[Z];if(yJ(q)){let X={...q},K=vJ(X.callbacks)?X.callbacks.copy?.():void 0;if(K)Object.assign(K,{_parentRunId:W.id}),K.handlers?.find(GW)?.updateFromRunTree?.(W),X.callbacks=K;W.extra[Z]=X}let z=new Set,J=this;while(J!=null&&!z.has(J.id))z.add(J.id),J.child_execution_order=Math.max(J.child_execution_order,Q),J=J.parent_run;return this.child_runs.push(W),W}async end($,Q,Y=Date.now(),G){if(this.outputs=this.outputs??$,this.error=this.error??Q,this.end_time=this.end_time??Y,G&&Object.keys(G).length>0)this.extra=this.extra?{...this.extra,metadata:{...this.extra.metadata,...G}}:{metadata:G}}_convertToCreate($,Q,Y=!0){let G=$.extra??{};if(G?.runtime?.library===void 0){if(!G.runtime)G.runtime={};if(Q){for(let[q,z]of Object.entries(Q))if(!G.runtime[q])G.runtime[q]=z}}let W,Z;if(!Y)W=$.child_runs.map((q)=>this._convertToCreate(q,Q,Y)),Z=void 0;else Z=$.parent_run?.id??$.parent_run_id,W=[];return{id:$.id,name:$.name,start_time:$._serialized_start_time??$.start_time,end_time:$.end_time,run_type:$.run_type,reference_example_id:$.reference_example_id,extra:G,serialized:$.serialized,error:$.error,inputs:$.inputs,outputs:$.outputs,session_name:$.project_name,child_runs:W,parent_run_id:Z,trace_id:$.trace_id,dotted_order:$.dotted_order,tags:$.tags,attachments:$.attachments,events:$.events}}_sliceParentId($,Q){if(Q.dotted_order){let Y=Q.dotted_order.split("."),G=null;for(let W=0;W<Y.length;W++)if(Y[W].slice(-o$)===$){G=W;break}if(G!==null){let W=Y.slice(G+1);if(Q.dotted_order=W.join("."),W.length>0)Q.trace_id=W[0].slice(-o$);else Q.trace_id=Q.id}}if(Q.parent_run_id===$)Q.parent_run_id=void 0}_setReplicaTraceRoot($,Q){let Y=C6(this,n1)??{};Y[$]=Q,aG(this,n1,Y);for(let G of this.child_runs)G._setReplicaTraceRoot($,Q)}_remapForProject($){let{projectName:Q,runtimeEnv:Y,excludeChildRuns:G=!0,reroot:W=!1,distributedParentId:Z,apiUrl:q,apiKey:z,workspaceId:J}=$,X=this._convertToCreate(this,Y,G);if(Q===this.project_name)return{...X,session_name:Q};if(W){if(Z)this._sliceParentId(Z,X);else if(X.parent_run_id=void 0,X.dotted_order){let L=X.dotted_order.split(".");if(L.length>0)X.dotted_order=L[L.length-1],X.trace_id=X.id}let O=eG({projectName:Q,apiUrl:q,apiKey:z,workspaceId:J});this._setReplicaTraceRoot(O,X.id)}let K;if(!W){let O=C6(this,n1)??{},L=eG({projectName:Q,apiUrl:q,apiKey:z,workspaceId:J});if(K=O[L],K){if(X.trace_id=K,X.dotted_order){let V=X.dotted_order.split("."),x=null;for(let R=0;R<V.length;R++)if(V[R].slice(-o$)===K){x=R;break}if(x!==null){let R=V.slice(x);X.dotted_order=R.join(".")}}}}let H=X.id,N=c$(H,Q),A;if(X.trace_id)A=c$(X.trace_id,Q);else A=N;let E;if(X.parent_run_id)E=c$(X.parent_run_id,Q);let P;if(X.dotted_order)P=X.dotted_order.split(".").map((V)=>{let x=V.slice(-o$),R=c$(x,Q);return V.slice(0,-o$)+R}).join(".");return{...X,id:N,trace_id:A,parent_run_id:E,dotted_order:P,session_name:Q}}async postRun($=!0){if(this._awaitInputsOnPost)this.inputs=await this.inputs;try{let Q=b1();if(this.replicas&&this.replicas.length>0)for(let{projectName:Y,apiKey:G,apiUrl:W,workspaceId:Z,reroot:q}of this.replicas){let z=this._remapForProject({projectName:Y??this.project_name,runtimeEnv:Q,excludeChildRuns:!0,reroot:q,distributedParentId:this.distributedParentId,apiUrl:W,apiKey:G,workspaceId:Z});await this.client.createRun(z,{apiKey:G,apiUrl:W,workspaceId:Z})}else{let Y=this._convertToCreate(this,Q,$);await this.client.createRun(Y)}if(!$){B$("Posting with excludeChildRuns=false is deprecated and will be removed in a future version.");for(let Y of this.child_runs)await Y.postRun(!1)}this.child_runs=[]}catch(Q){console.error(`Error in postRun for run ${this.id}:`,Q)}}async patchRun($){if(this.replicas&&this.replicas.length>0)for(let{projectName:Q,apiKey:Y,apiUrl:G,workspaceId:W,updates:Z,reroot:q}of this.replicas){let z=this._remapForProject({projectName:Q??this.project_name,runtimeEnv:void 0,excludeChildRuns:!0,reroot:q,distributedParentId:this.distributedParentId,apiUrl:G,apiKey:Y,workspaceId:W}),J={id:z.id,name:z.name,run_type:z.run_type,start_time:z.start_time,outputs:z.outputs,error:z.error,parent_run_id:z.parent_run_id,session_name:z.session_name,reference_example_id:z.reference_example_id,end_time:z.end_time,dotted_order:z.dotted_order,trace_id:z.trace_id,events:z.events,tags:z.tags,extra:z.extra,attachments:this.attachments,...Z};if(!$?.excludeInputs)J.inputs=z.inputs;await this.client.updateRun(z.id,J,{apiKey:Y,apiUrl:G,workspaceId:W})}else try{let Q={name:this.name,run_type:this.run_type,start_time:this._serialized_start_time??this.start_time,end_time:this.end_time,error:this.error,outputs:this.outputs,parent_run_id:this.parent_run?.id??this.parent_run_id,reference_example_id:this.reference_example_id,extra:this.extra,events:this.events,dotted_order:this.dotted_order,trace_id:this.trace_id,tags:this.tags,attachments:this.attachments,session_name:this.project_name};if(!$?.excludeInputs)Q.inputs=this.inputs;await this.client.updateRun(this.id,Q)}catch(Q){console.error(`Error in patchRun for run ${this.id}`,Q)}this.child_runs=[]}toJSON(){return this._convertToCreate(this,void 0,!1)}addEvent($){if(!this.events)this.events=[];if(typeof $==="string")this.events.push({name:"event",time:new Date().toISOString(),message:$});else this.events.push({...$,time:$.time??new Date().toISOString()})}static fromRunnableConfig($,Q){let Y=$?.callbacks,G,W,Z,q=nG();if(Y){let J=Y?.getParentRunId?.()??"",X=Y?.handlers?.find((K)=>K?.name=="langchain_tracer");G=X?.getRun?.(J),W=X?.projectName,Z=X?.client,q=q||!!X}if(!G)return new Q0({...Q,client:Z,tracingEnabled:q,project_name:W});return new Q0({name:G.name,id:G.id,trace_id:G.trace_id,dotted_order:G.dotted_order,client:Z,tracingEnabled:q,project_name:W,tags:[...new Set((G?.tags??[]).concat($?.tags??[]))],extra:{metadata:{...G?.extra?.metadata,...$?.metadata}}}).createChild(Q)}static fromDottedOrder($){return this.fromHeaders({"langsmith-trace":$})}static fromHeaders($,Q){let Y="get"in $&&typeof $.get==="function"?{"langsmith-trace":$.get("langsmith-trace"),baggage:$.get("baggage")}:$,G=Y["langsmith-trace"];if(!G||typeof G!=="string")return;let W=G.trim(),Z=W.split(".").map((X)=>{let[K,H]=X.split("Z");return{strTime:K,time:Date.parse(K+"Z"),uuid:H}}),q=Z[0].uuid,z={...Q,name:Q?.name??"parent",run_type:Q?.run_type??"chain",start_time:Q?.start_time??Date.now(),id:Z.at(-1)?.uuid,trace_id:q,dotted_order:W};if(Y.baggage&&typeof Y.baggage==="string"){let X=a1.fromHeader(Y.baggage);z.metadata=X.metadata,z.tags=X.tags,z.project_name=X.project_name,z.replicas=X.replicas}let J=new Q0(z);return J.distributedParentId=J.id,J}toHeaders($){let Q={"langsmith-trace":this.dotted_order,baggage:new a1(this.extra?.metadata,this.tags,this.project_name,this.replicas).toHeader()};if($)for(let[Y,G]of Object.entries(Q))$.set(Y,G);return Q}}Object.defineProperty(Q0,"sharedClient",{enumerable:!0,configurable:!0,writable:!0,value:null});function YW($){return $!=null&&typeof $.createChild==="function"&&typeof $.postRun==="function"}function GW($){return typeof $==="object"&&$!=null&&typeof $.name==="string"&&$.name==="langchain_tracer"}function $W($){return Array.isArray($)&&$.some((Q)=>GW(Q))}function vJ($){return typeof $==="object"&&$!=null&&Array.isArray($.handlers)}function yJ($){let Q=$?.callbacks;return $!=null&&typeof Q==="object"&&($W(Q?.handlers)||$W(Q))}function kJ(){let $=I0("LANGSMITH_RUNS_ENDPOINTS");if(!$)return[];try{let Q=JSON.parse($);if(Array.isArray(Q)){let Y=[];for(let G of Q){if(typeof G!=="object"||G===null){console.warn(`Invalid item type in LANGSMITH_RUNS_ENDPOINTS: expected object, got ${typeof G}`);continue}if(typeof G.api_url!=="string"){console.warn(`Invalid api_url type in LANGSMITH_RUNS_ENDPOINTS: expected string, got ${typeof G.api_url}`);continue}if(typeof G.api_key!=="string"){console.warn(`Invalid api_key type in LANGSMITH_RUNS_ENDPOINTS: expected string, got ${typeof G.api_key}`);continue}Y.push({apiUrl:G.api_url.replace(/\/$/,""),apiKey:G.api_key})}return Y}else if(typeof Q==="object"&&Q!==null){hJ(Q);let Y=[];for(let[G,W]of Object.entries(Q)){let Z=G.replace(/\/$/,"");if(typeof W==="string")Y.push({apiUrl:Z,apiKey:W});else{console.warn(`Invalid value type in LANGSMITH_RUNS_ENDPOINTS for URL ${G}: expected string, got ${typeof W}`);continue}}return Y}else return console.warn("Invalid LANGSMITH_RUNS_ENDPOINTS – must be valid JSON array of "+`objects with api_url and api_key properties, or object mapping url->apiKey, got ${typeof Q}`),[]}catch(Q){if(uG(Q))throw Q;return console.warn("Invalid LANGSMITH_RUNS_ENDPOINTS – must be valid JSON array of "+"objects with api_url and api_key properties, or object mapping url->apiKey"),[]}}function fJ($){if($)return $.map((Q)=>{if(Array.isArray(Q))return{projectName:Q[0],updates:Q[1]};return Q});return kJ()}function hJ($){if(Object.keys($).length>0&&e("ENDPOINT"))throw new I6}var RN=b({BaseTracer:()=>b0,isBaseTracer:()=>P$}),bJ=($)=>{if(!$)return;return $.events=$.events??[],$.child_runs=$.child_runs??[],$};function k6($,Q){if(!$)return;return new Q0({...$,start_time:$._serialized_start_time??$.start_time,parent_run:k6(Q),child_runs:$.child_runs.map((Y)=>k6(Y)).filter((Y)=>Y!==void 0),extra:{...$.extra,runtime:Y6()},tracingEnabled:!1})}function y6($,Q){return $&&!Array.isArray($)&&typeof $==="object"?$:{[Q]:$}}function P$($){return typeof $._addRunToRunMap==="function"}var b0=class extends D${runMap=new Map;runTreeMap=new Map;usesRunTreeMap=!1;constructor($){super(...arguments)}copy(){return this}getRunById($){if($===void 0)return;return this.usesRunTreeMap?bJ(this.runTreeMap.get($)):this.runMap.get($)}stringifyError($){if($ instanceof Error)return $.message+($?.stack?`
50
+
51
+ ${$.stack}`:"");if(typeof $==="string")return $;return`${$}`}_addChildRun($,Q){$.child_runs.push(Q)}_addRunToRunMap($){let{dottedOrder:Q,microsecondPrecisionDatestring:Y}=v6(new Date($.start_time).getTime(),$.id,$.execution_order),G={...$},W=this.getRunById(G.parent_run_id);if(G.parent_run_id!==void 0)if(W){if(this._addChildRun(W,G),W.child_execution_order=Math.max(W.child_execution_order,G.child_execution_order),G.trace_id=W.trace_id,W.dotted_order!==void 0)G.dotted_order=[W.dotted_order,Q].join("."),G._serialized_start_time=Y}else G.parent_run_id=void 0;else G.trace_id=G.id,G.dotted_order=Q,G._serialized_start_time=Y;if(this.usesRunTreeMap){let Z=k6(G,W);if(Z!==void 0)this.runTreeMap.set(G.id,Z)}else this.runMap.set(G.id,G);return G}async _endTrace($){let Q=$.parent_run_id!==void 0&&this.getRunById($.parent_run_id);if(Q)Q.child_execution_order=Math.max(Q.child_execution_order,$.child_execution_order);else await this.persistRun($);if(await this.onRunUpdate?.($),this.usesRunTreeMap)this.runTreeMap.delete($.id);else this.runMap.delete($.id)}_getExecutionOrder($){let Q=$!==void 0&&this.getRunById($);if(!Q)return 1;return Q.child_execution_order+1}_createRunForLLMStart($,Q,Y,G,W,Z,q,z){let J=this._getExecutionOrder(G),X=Date.now(),K=q?{...W,metadata:q}:W,H={id:Y,name:z??$.id[$.id.length-1],parent_run_id:G,start_time:X,serialized:$,events:[{name:"start",time:new Date(X).toISOString()}],inputs:{prompts:Q},execution_order:J,child_runs:[],child_execution_order:J,run_type:"llm",extra:K??{},tags:Z||[]};return this._addRunToRunMap(H)}async handleLLMStart($,Q,Y,G,W,Z,q,z){let J=this.getRunById(Y)??this._createRunForLLMStart($,Q,Y,G,W,Z,q,z);return await this.onRunCreate?.(J),await this.onLLMStart?.(J),J}_createRunForChatModelStart($,Q,Y,G,W,Z,q,z){let J=this._getExecutionOrder(G),X=Date.now(),K=q?{...W,metadata:q}:W,H={id:Y,name:z??$.id[$.id.length-1],parent_run_id:G,start_time:X,serialized:$,events:[{name:"start",time:new Date(X).toISOString()}],inputs:{messages:Q},execution_order:J,child_runs:[],child_execution_order:J,run_type:"llm",extra:K??{},tags:Z||[]};return this._addRunToRunMap(H)}async handleChatModelStart($,Q,Y,G,W,Z,q,z){let J=this.getRunById(Y)??this._createRunForChatModelStart($,Q,Y,G,W,Z,q,z);return await this.onRunCreate?.(J),await this.onLLMStart?.(J),J}async handleLLMEnd($,Q,Y,G,W){let Z=this.getRunById(Q);if(!Z||Z?.run_type!=="llm")throw Error("No LLM run to end.");return Z.end_time=Date.now(),Z.outputs=$,Z.events.push({name:"end",time:new Date(Z.end_time).toISOString()}),Z.extra={...Z.extra,...W},await this.onLLMEnd?.(Z),await this._endTrace(Z),Z}async handleLLMError($,Q,Y,G,W){let Z=this.getRunById(Q);if(!Z||Z?.run_type!=="llm")throw Error("No LLM run to end.");return Z.end_time=Date.now(),Z.error=this.stringifyError($),Z.events.push({name:"error",time:new Date(Z.end_time).toISOString()}),Z.extra={...Z.extra,...W},await this.onLLMError?.(Z),await this._endTrace(Z),Z}_createRunForChainStart($,Q,Y,G,W,Z,q,z,J){let X=this._getExecutionOrder(G),K=Date.now(),H={id:Y,name:z??$.id[$.id.length-1],parent_run_id:G,start_time:K,serialized:$,events:[{name:"start",time:new Date(K).toISOString()}],inputs:Q,execution_order:X,child_execution_order:X,run_type:q??"chain",child_runs:[],extra:Z?{...J,metadata:Z}:{...J},tags:W||[]};return this._addRunToRunMap(H)}async handleChainStart($,Q,Y,G,W,Z,q,z){let J=this.getRunById(Y)??this._createRunForChainStart($,Q,Y,G,W,Z,q,z);return await this.onRunCreate?.(J),await this.onChainStart?.(J),J}async handleChainEnd($,Q,Y,G,W){let Z=this.getRunById(Q);if(!Z)throw Error("No chain run to end.");if(Z.end_time=Date.now(),Z.outputs=y6($,"output"),Z.events.push({name:"end",time:new Date(Z.end_time).toISOString()}),W?.inputs!==void 0)Z.inputs=y6(W.inputs,"input");return await this.onChainEnd?.(Z),await this._endTrace(Z),Z}async handleChainError($,Q,Y,G,W){let Z=this.getRunById(Q);if(!Z)throw Error("No chain run to end.");if(Z.end_time=Date.now(),Z.error=this.stringifyError($),Z.events.push({name:"error",time:new Date(Z.end_time).toISOString()}),W?.inputs!==void 0)Z.inputs=y6(W.inputs,"input");return await this.onChainError?.(Z),await this._endTrace(Z),Z}_createRunForToolStart($,Q,Y,G,W,Z,q){let z=this._getExecutionOrder(G),J=Date.now(),X={id:Y,name:q??$.id[$.id.length-1],parent_run_id:G,start_time:J,serialized:$,events:[{name:"start",time:new Date(J).toISOString()}],inputs:{input:Q},execution_order:z,child_execution_order:z,run_type:"tool",child_runs:[],extra:Z?{metadata:Z}:{},tags:W||[]};return this._addRunToRunMap(X)}async handleToolStart($,Q,Y,G,W,Z,q){let z=this.getRunById(Y)??this._createRunForToolStart($,Q,Y,G,W,Z,q);return await this.onRunCreate?.(z),await this.onToolStart?.(z),z}async handleToolEnd($,Q){let Y=this.getRunById(Q);if(!Y||Y?.run_type!=="tool")throw Error("No tool run to end");return Y.end_time=Date.now(),Y.outputs={output:$},Y.events.push({name:"end",time:new Date(Y.end_time).toISOString()}),await this.onToolEnd?.(Y),await this._endTrace(Y),Y}async handleToolError($,Q){let Y=this.getRunById(Q);if(!Y||Y?.run_type!=="tool")throw Error("No tool run to end");return Y.end_time=Date.now(),Y.error=this.stringifyError($),Y.events.push({name:"error",time:new Date(Y.end_time).toISOString()}),await this.onToolError?.(Y),await this._endTrace(Y),Y}async handleAgentAction($,Q){let Y=this.getRunById(Q);if(!Y||Y?.run_type!=="chain")return;let G=Y;G.actions=G.actions||[],G.actions.push($),G.events.push({name:"agent_action",time:new Date().toISOString(),kwargs:{action:$}}),await this.onAgentAction?.(Y)}async handleAgentEnd($,Q){let Y=this.getRunById(Q);if(!Y||Y?.run_type!=="chain")return;Y.events.push({name:"agent_end",time:new Date().toISOString(),kwargs:{action:$}}),await this.onAgentEnd?.(Y)}_createRunForRetrieverStart($,Q,Y,G,W,Z,q){let z=this._getExecutionOrder(G),J=Date.now(),X={id:Y,name:q??$.id[$.id.length-1],parent_run_id:G,start_time:J,serialized:$,events:[{name:"start",time:new Date(J).toISOString()}],inputs:{query:Q},execution_order:z,child_execution_order:z,run_type:"retriever",child_runs:[],extra:Z?{metadata:Z}:{},tags:W||[]};return this._addRunToRunMap(X)}async handleRetrieverStart($,Q,Y,G,W,Z,q){let z=this.getRunById(Y)??this._createRunForRetrieverStart($,Q,Y,G,W,Z,q);return await this.onRunCreate?.(z),await this.onRetrieverStart?.(z),z}async handleRetrieverEnd($,Q){let Y=this.getRunById(Q);if(!Y||Y?.run_type!=="retriever")throw Error("No retriever run to end");return Y.end_time=Date.now(),Y.outputs={documents:$},Y.events.push({name:"end",time:new Date(Y.end_time).toISOString()}),await this.onRetrieverEnd?.(Y),await this._endTrace(Y),Y}async handleRetrieverError($,Q){let Y=this.getRunById(Q);if(!Y||Y?.run_type!=="retriever")throw Error("No retriever run to end");return Y.end_time=Date.now(),Y.error=this.stringifyError($),Y.events.push({name:"error",time:new Date(Y.end_time).toISOString()}),await this.onRetrieverError?.(Y),await this._endTrace(Y),Y}async handleText($,Q){let Y=this.getRunById(Q);if(!Y||Y?.run_type!=="chain")return;Y.events.push({name:"text",time:new Date().toISOString(),kwargs:{text:$}}),await this.onText?.(Y)}async handleLLMNewToken($,Q,Y,G,W,Z){let q=this.getRunById(Y);if(!q||q?.run_type!=="llm")throw Error('Invalid "runId" provided to "handleLLMNewToken" callback.');return q.events.push({name:"new_token",time:new Date().toISOString(),kwargs:{token:$,idx:Q,chunk:Z?.chunk}}),await this.onLLMNewToken?.(q,$,{chunk:Z?.chunk}),q}};var vN=b({ConsoleCallbackHandler:()=>e1});function A0($,Q){return`${$.open}${Q}${$.close}`}function j0($,Q){try{return JSON.stringify($,null,2)}catch{return Q}}function WW($){if(typeof $==="string")return $.trim();if($===null||$===void 0)return $;return j0($,$.toString())}function X$($){if(!$.end_time)return"";let Q=$.end_time-$.start_time;if(Q<1000)return`${Q}ms`;return`${(Q/1000).toFixed(2)}s`}var{color:S0}=f6,e1=class extends b0{name="console_callback_handler";persistRun($){return Promise.resolve()}getParents($){let Q=[],Y=$;while(Y.parent_run_id){let G=this.runMap.get(Y.parent_run_id);if(G)Q.push(G),Y=G;else break}return Q}getBreadcrumbs($){let Q=[...this.getParents($).reverse(),$].map((Y,G,W)=>{let Z=`${Y.execution_order}:${Y.run_type}:${Y.name}`;return G===W.length-1?A0(f6.bold,Z):Z}).join(" > ");return A0(S0.grey,Q)}onChainStart($){let Q=this.getBreadcrumbs($);console.log(`${A0(S0.green,"[chain/start]")} [${Q}] Entering Chain run with input: ${j0($.inputs,"[inputs]")}`)}onChainEnd($){let Q=this.getBreadcrumbs($);console.log(`${A0(S0.cyan,"[chain/end]")} [${Q}] [${X$($)}] Exiting Chain run with output: ${j0($.outputs,"[outputs]")}`)}onChainError($){let Q=this.getBreadcrumbs($);console.log(`${A0(S0.red,"[chain/error]")} [${Q}] [${X$($)}] Chain run errored with error: ${j0($.error,"[error]")}`)}onLLMStart($){let Q=this.getBreadcrumbs($),Y="prompts"in $.inputs?{prompts:$.inputs.prompts.map((G)=>G.trim())}:$.inputs;console.log(`${A0(S0.green,"[llm/start]")} [${Q}] Entering LLM run with input: ${j0(Y,"[inputs]")}`)}onLLMEnd($){let Q=this.getBreadcrumbs($);console.log(`${A0(S0.cyan,"[llm/end]")} [${Q}] [${X$($)}] Exiting LLM run with output: ${j0($.outputs,"[response]")}`)}onLLMError($){let Q=this.getBreadcrumbs($);console.log(`${A0(S0.red,"[llm/error]")} [${Q}] [${X$($)}] LLM run errored with error: ${j0($.error,"[error]")}`)}onToolStart($){let Q=this.getBreadcrumbs($);console.log(`${A0(S0.green,"[tool/start]")} [${Q}] Entering Tool run with input: "${WW($.inputs.input)}"`)}onToolEnd($){let Q=this.getBreadcrumbs($);console.log(`${A0(S0.cyan,"[tool/end]")} [${Q}] [${X$($)}] Exiting Tool run with output: "${WW($.outputs?.output)}"`)}onToolError($){let Q=this.getBreadcrumbs($);console.log(`${A0(S0.red,"[tool/error]")} [${Q}] [${X$($)}] Tool run errored with error: ${j0($.error,"[error]")}`)}onRetrieverStart($){let Q=this.getBreadcrumbs($);console.log(`${A0(S0.green,"[retriever/start]")} [${Q}] Entering Retriever run with input: ${j0($.inputs,"[inputs]")}`)}onRetrieverEnd($){let Q=this.getBreadcrumbs($);console.log(`${A0(S0.cyan,"[retriever/end]")} [${Q}] [${X$($)}] Exiting Retriever run with output: ${j0($.outputs,"[outputs]")}`)}onRetrieverError($){let Q=this.getBreadcrumbs($);console.log(`${A0(S0.red,"[retriever/error]")} [${Q}] [${X$($)}] Retriever run errored with error: ${j0($.error,"[error]")}`)}onAgentAction($){let Q=$,Y=this.getBreadcrumbs($);console.log(`${A0(S0.blue,"[agent/action]")} [${Y}] Agent selected action: ${j0(Q.actions[Q.actions.length-1],"[action]")}`)}};var h6,$9=()=>{if(h6===void 0)h6=new J$(h0("LANGCHAIN_CALLBACKS_BACKGROUND")==="false"?{blockOnRootRunFinalization:!0}:{});return h6};class ZW{getStore(){return}run($,Q){return Q()}}var b6=Symbol.for("ls:tracing_async_local_storage"),gJ=new ZW;class qW{getInstance(){return globalThis[b6]??gJ}initializeGlobalInstance($){if(globalThis[b6]===void 0)globalThis[b6]=$}}var mJ=new qW;function zW($=!1){let Q=mJ.getInstance().getStore();if(!$&&Q===void 0)throw Error(`Could not get the current run tree.
52
+
53
+ Please make sure you are calling this method within a traceable function and that tracing is enabled.`);return Q}function Q9($){return typeof $==="function"&&"langsmith:traceable"in $}var aN=b({LangChainTracer:()=>t$});function dJ($){let Q=void 0;for(let Y of $)for(let G of Y)if(R$.isInstance(G.message)&&G.message.usage_metadata!==void 0)Q=D1(Q,G.message.usage_metadata);return Q}var t$=class $ extends b0{name="langchain_tracer";projectName;exampleId;client;replicas;usesRunTreeMap=!0;constructor(Q={}){super(Q);let{exampleId:Y,projectName:G,client:W,replicas:Z}=Q;this.projectName=G??l$(),this.replicas=Z,this.exampleId=Y,this.client=W??$9();let q=$.getTraceableRunTree();if(q)this.updateFromRunTree(q)}async persistRun(Q){}async onRunCreate(Q){if(!Q.extra?.lc_defers_inputs)await this.getRunTreeWithTracingConfig(Q.id)?.postRun()}async onRunUpdate(Q){let Y=this.getRunTreeWithTracingConfig(Q.id);if(Q.extra?.lc_defers_inputs)await Y?.postRun();else await Y?.patchRun()}onLLMEnd(Q){let Y=Q.outputs;if(Y?.generations){let G=dJ(Y.generations);if(G!==void 0){Q.extra=Q.extra??{};let W=Q.extra.metadata??{};W.usage_metadata=G,Q.extra.metadata=W}}}getRun(Q){return this.runTreeMap.get(Q)}updateFromRunTree(Q){this.runTreeMap.set(Q.id,Q);let Y=Q,G=new Set;while(Y.parent_run){if(G.has(Y.id))break;if(G.add(Y.id),!Y.parent_run)break;Y=Y.parent_run}G.clear();let W=[Y];while(W.length>0){let Z=W.shift();if(!Z||G.has(Z.id))continue;if(G.add(Z.id),this.runTreeMap.set(Z.id,Z),Z.child_runs)W.push(...Z.child_runs)}this.client=Q.client??this.client,this.replicas=Q.replicas??this.replicas,this.projectName=Q.project_name??this.projectName,this.exampleId=Q.reference_example_id??this.exampleId}getRunTreeWithTracingConfig(Q){let Y=this.runTreeMap.get(Q);if(!Y)return;return new Q0({...Y,client:this.client,project_name:this.projectName,replicas:this.replicas,reference_example_id:this.exampleId,tracingEnabled:!0})}static getTraceableRunTree(){try{return zW(!0)}catch{return}}};var JW=Symbol.for("ls:tracing_async_local_storage"),K$=Symbol.for("lc:context_variables"),XW=($)=>{globalThis[JW]=$},H$=()=>{return globalThis[JW]};var Y9=F$(c1(),1),S$;function uJ(){return new("default"in Y9.default?Y9.default.default:Y9.default)({autoStart:!0,concurrency:1})}function pJ(){if(typeof S$>"u")S$=uJ();return S$}async function n($,Q){if(Q===!0){let Y=H$();if(Y!==void 0)await Y.run(void 0,async()=>$());else await $()}else S$=pJ(),S$.add(async()=>{let Y=H$();if(Y!==void 0)await Y.run(void 0,async()=>$());else await $()})}async function KW(){let $=$9();await Promise.allSettled([typeof S$<"u"?S$.onIdle():Promise.resolve(),$.awaitPendingTraceBatches()])}var qA=b({awaitAllCallbacks:()=>KW,consumeCallback:()=>n});var HW=($)=>{if($!==void 0)return $;return!!["LANGSMITH_TRACING_V2","LANGCHAIN_TRACING_V2","LANGSMITH_TRACING","LANGCHAIN_TRACING"].find((Q)=>h0(Q)==="true")};function g6($){let Q=H$();if(Q===void 0)return;return Q.getStore()?.[K$]?.[$]}var lJ=Symbol("lc:configure_hooks"),NW=()=>g6(lJ)||[];var LA=b({BaseCallbackManager:()=>AW,BaseRunManager:()=>s$,CallbackManager:()=>Y$,CallbackManagerForChainRun:()=>wW,CallbackManagerForLLMRun:()=>m6,CallbackManagerForRetrieverRun:()=>UW,CallbackManagerForToolRun:()=>VW,ensureHandler:()=>v$,parseCallbackConfigArg:()=>cJ});function cJ($){if(!$)return{};else if(Array.isArray($)||"name"in $)return{callbacks:$};else return $}var AW=class{setHandler($){return this.setHandlers([$])}},s$=class{constructor($,Q,Y,G,W,Z,q,z){this.runId=$,this.handlers=Q,this.inheritableHandlers=Y,this.tags=G,this.inheritableTags=W,this.metadata=Z,this.inheritableMetadata=q,this._parentRunId=z}get parentRunId(){return this._parentRunId}async handleText($){await Promise.all(this.handlers.map((Q)=>n(async()=>{try{await Q.handleText?.($,this.runId,this._parentRunId,this.tags)}catch(Y){if((Q.raiseError?console.error:console.warn)(`Error in handler ${Q.constructor.name}, handleText: ${Y}`),Q.raiseError)throw Y}},Q.awaitHandlers)))}async handleCustomEvent($,Q,Y,G,W){await Promise.all(this.handlers.map((Z)=>n(async()=>{try{await Z.handleCustomEvent?.($,Q,this.runId,this.tags,this.metadata)}catch(q){if((Z.raiseError?console.error:console.warn)(`Error in handler ${Z.constructor.name}, handleCustomEvent: ${q}`),Z.raiseError)throw q}},Z.awaitHandlers)))}},UW=class extends s${getChild($){let Q=new Y$(this.runId);if(Q.setHandlers(this.inheritableHandlers),Q.addTags(this.inheritableTags),Q.addMetadata(this.inheritableMetadata),$)Q.addTags([$],!1);return Q}async handleRetrieverEnd($){await Promise.all(this.handlers.map((Q)=>n(async()=>{if(!Q.ignoreRetriever)try{await Q.handleRetrieverEnd?.($,this.runId,this._parentRunId,this.tags)}catch(Y){if((Q.raiseError?console.error:console.warn)(`Error in handler ${Q.constructor.name}, handleRetriever`),Q.raiseError)throw Y}},Q.awaitHandlers)))}async handleRetrieverError($){await Promise.all(this.handlers.map((Q)=>n(async()=>{if(!Q.ignoreRetriever)try{await Q.handleRetrieverError?.($,this.runId,this._parentRunId,this.tags)}catch(Y){if((Q.raiseError?console.error:console.warn)(`Error in handler ${Q.constructor.name}, handleRetrieverError: ${Y}`),Q.raiseError)throw $}},Q.awaitHandlers)))}},m6=class extends s${async handleLLMNewToken($,Q,Y,G,W,Z){await Promise.all(this.handlers.map((q)=>n(async()=>{if(!q.ignoreLLM)try{await q.handleLLMNewToken?.($,Q??{prompt:0,completion:0},this.runId,this._parentRunId,this.tags,Z)}catch(z){if((q.raiseError?console.error:console.warn)(`Error in handler ${q.constructor.name}, handleLLMNewToken: ${z}`),q.raiseError)throw z}},q.awaitHandlers)))}async handleLLMError($,Q,Y,G,W){await Promise.all(this.handlers.map((Z)=>n(async()=>{if(!Z.ignoreLLM)try{await Z.handleLLMError?.($,this.runId,this._parentRunId,this.tags,W)}catch(q){if((Z.raiseError?console.error:console.warn)(`Error in handler ${Z.constructor.name}, handleLLMError: ${q}`),Z.raiseError)throw q}},Z.awaitHandlers)))}async handleLLMEnd($,Q,Y,G,W){await Promise.all(this.handlers.map((Z)=>n(async()=>{if(!Z.ignoreLLM)try{await Z.handleLLMEnd?.($,this.runId,this._parentRunId,this.tags,W)}catch(q){if((Z.raiseError?console.error:console.warn)(`Error in handler ${Z.constructor.name}, handleLLMEnd: ${q}`),Z.raiseError)throw q}},Z.awaitHandlers)))}},wW=class extends s${getChild($){let Q=new Y$(this.runId);if(Q.setHandlers(this.inheritableHandlers),Q.addTags(this.inheritableTags),Q.addMetadata(this.inheritableMetadata),$)Q.addTags([$],!1);return Q}async handleChainError($,Q,Y,G,W){await Promise.all(this.handlers.map((Z)=>n(async()=>{if(!Z.ignoreChain)try{await Z.handleChainError?.($,this.runId,this._parentRunId,this.tags,W)}catch(q){if((Z.raiseError?console.error:console.warn)(`Error in handler ${Z.constructor.name}, handleChainError: ${q}`),Z.raiseError)throw q}},Z.awaitHandlers)))}async handleChainEnd($,Q,Y,G,W){await Promise.all(this.handlers.map((Z)=>n(async()=>{if(!Z.ignoreChain)try{await Z.handleChainEnd?.($,this.runId,this._parentRunId,this.tags,W)}catch(q){if((Z.raiseError?console.error:console.warn)(`Error in handler ${Z.constructor.name}, handleChainEnd: ${q}`),Z.raiseError)throw q}},Z.awaitHandlers)))}async handleAgentAction($){await Promise.all(this.handlers.map((Q)=>n(async()=>{if(!Q.ignoreAgent)try{await Q.handleAgentAction?.($,this.runId,this._parentRunId,this.tags)}catch(Y){if((Q.raiseError?console.error:console.warn)(`Error in handler ${Q.constructor.name}, handleAgentAction: ${Y}`),Q.raiseError)throw Y}},Q.awaitHandlers)))}async handleAgentEnd($){await Promise.all(this.handlers.map((Q)=>n(async()=>{if(!Q.ignoreAgent)try{await Q.handleAgentEnd?.($,this.runId,this._parentRunId,this.tags)}catch(Y){if((Q.raiseError?console.error:console.warn)(`Error in handler ${Q.constructor.name}, handleAgentEnd: ${Y}`),Q.raiseError)throw Y}},Q.awaitHandlers)))}},VW=class extends s${getChild($){let Q=new Y$(this.runId);if(Q.setHandlers(this.inheritableHandlers),Q.addTags(this.inheritableTags),Q.addMetadata(this.inheritableMetadata),$)Q.addTags([$],!1);return Q}async handleToolError($){await Promise.all(this.handlers.map((Q)=>n(async()=>{if(!Q.ignoreAgent)try{await Q.handleToolError?.($,this.runId,this._parentRunId,this.tags)}catch(Y){if((Q.raiseError?console.error:console.warn)(`Error in handler ${Q.constructor.name}, handleToolError: ${Y}`),Q.raiseError)throw Y}},Q.awaitHandlers)))}async handleToolEnd($){await Promise.all(this.handlers.map((Q)=>n(async()=>{if(!Q.ignoreAgent)try{await Q.handleToolEnd?.($,this.runId,this._parentRunId,this.tags)}catch(Y){if((Q.raiseError?console.error:console.warn)(`Error in handler ${Q.constructor.name}, handleToolEnd: ${Y}`),Q.raiseError)throw Y}},Q.awaitHandlers)))}},Y$=class $ extends AW{handlers=[];inheritableHandlers=[];tags=[];inheritableTags=[];metadata={};inheritableMetadata={};name="callback_manager";_parentRunId;constructor(Q,Y){super();this.handlers=Y?.handlers??this.handlers,this.inheritableHandlers=Y?.inheritableHandlers??this.inheritableHandlers,this.tags=Y?.tags??this.tags,this.inheritableTags=Y?.inheritableTags??this.inheritableTags,this.metadata=Y?.metadata??this.metadata,this.inheritableMetadata=Y?.inheritableMetadata??this.inheritableMetadata,this._parentRunId=Q}getParentRunId(){return this._parentRunId}async handleLLMStart(Q,Y,G=void 0,W=void 0,Z=void 0,q=void 0,z=void 0,J=void 0){return Promise.all(Y.map(async(X,K)=>{let H=K===0&&G?G:f0();return await Promise.all(this.handlers.map((N)=>{if(N.ignoreLLM)return;if(P$(N))N._createRunForLLMStart(Q,[X],H,this._parentRunId,Z,this.tags,this.metadata,J);return n(async()=>{try{await N.handleLLMStart?.(Q,[X],H,this._parentRunId,Z,this.tags,this.metadata,J)}catch(A){if((N.raiseError?console.error:console.warn)(`Error in handler ${N.constructor.name}, handleLLMStart: ${A}`),N.raiseError)throw A}},N.awaitHandlers)})),new m6(H,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}))}async handleChatModelStart(Q,Y,G=void 0,W=void 0,Z=void 0,q=void 0,z=void 0,J=void 0){return Promise.all(Y.map(async(X,K)=>{let H=K===0&&G?G:f0();return await Promise.all(this.handlers.map((N)=>{if(N.ignoreLLM)return;if(P$(N))N._createRunForChatModelStart(Q,[X],H,this._parentRunId,Z,this.tags,this.metadata,J);return n(async()=>{try{if(N.handleChatModelStart)await N.handleChatModelStart?.(Q,[X],H,this._parentRunId,Z,this.tags,this.metadata,J);else if(N.handleLLMStart){let A=rQ(X);await N.handleLLMStart?.(Q,[A],H,this._parentRunId,Z,this.tags,this.metadata,J)}}catch(A){if((N.raiseError?console.error:console.warn)(`Error in handler ${N.constructor.name}, handleLLMStart: ${A}`),N.raiseError)throw A}},N.awaitHandlers)})),new m6(H,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}))}async handleChainStart(Q,Y,G=f0(),W=void 0,Z=void 0,q=void 0,z=void 0,J=void 0,X=void 0){return await Promise.all(this.handlers.map((K)=>{if(K.ignoreChain)return;if(P$(K))K._createRunForChainStart(Q,Y,G,this._parentRunId,this.tags,this.metadata,W,z,X);return n(async()=>{try{await K.handleChainStart?.(Q,Y,G,this._parentRunId,this.tags,this.metadata,W,z,X)}catch(H){if((K.raiseError?console.error:console.warn)(`Error in handler ${K.constructor.name}, handleChainStart: ${H}`),K.raiseError)throw H}},K.awaitHandlers)})),new wW(G,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}async handleToolStart(Q,Y,G=f0(),W=void 0,Z=void 0,q=void 0,z=void 0){return await Promise.all(this.handlers.map((J)=>{if(J.ignoreAgent)return;if(P$(J))J._createRunForToolStart(Q,Y,G,this._parentRunId,this.tags,this.metadata,z);return n(async()=>{try{await J.handleToolStart?.(Q,Y,G,this._parentRunId,this.tags,this.metadata,z)}catch(X){if((J.raiseError?console.error:console.warn)(`Error in handler ${J.constructor.name}, handleToolStart: ${X}`),J.raiseError)throw X}},J.awaitHandlers)})),new VW(G,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}async handleRetrieverStart(Q,Y,G=f0(),W=void 0,Z=void 0,q=void 0,z=void 0){return await Promise.all(this.handlers.map((J)=>{if(J.ignoreRetriever)return;if(P$(J))J._createRunForRetrieverStart(Q,Y,G,this._parentRunId,this.tags,this.metadata,z);return n(async()=>{try{await J.handleRetrieverStart?.(Q,Y,G,this._parentRunId,this.tags,this.metadata,z)}catch(X){if((J.raiseError?console.error:console.warn)(`Error in handler ${J.constructor.name}, handleRetrieverStart: ${X}`),J.raiseError)throw X}},J.awaitHandlers)})),new UW(G,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}async handleCustomEvent(Q,Y,G,W,Z){await Promise.all(this.handlers.map((q)=>n(async()=>{if(!q.ignoreCustomEvent)try{await q.handleCustomEvent?.(Q,Y,G,this.tags,this.metadata)}catch(z){if((q.raiseError?console.error:console.warn)(`Error in handler ${q.constructor.name}, handleCustomEvent: ${z}`),q.raiseError)throw z}},q.awaitHandlers)))}addHandler(Q,Y=!0){if(this.handlers.push(Q),Y)this.inheritableHandlers.push(Q)}removeHandler(Q){this.handlers=this.handlers.filter((Y)=>Y!==Q),this.inheritableHandlers=this.inheritableHandlers.filter((Y)=>Y!==Q)}setHandlers(Q,Y=!0){this.handlers=[],this.inheritableHandlers=[];for(let G of Q)this.addHandler(G,Y)}addTags(Q,Y=!0){if(this.removeTags(Q),this.tags.push(...Q),Y)this.inheritableTags.push(...Q)}removeTags(Q){this.tags=this.tags.filter((Y)=>!Q.includes(Y)),this.inheritableTags=this.inheritableTags.filter((Y)=>!Q.includes(Y))}addMetadata(Q,Y=!0){if(this.metadata={...this.metadata,...Q},Y)this.inheritableMetadata={...this.inheritableMetadata,...Q}}removeMetadata(Q){for(let Y of Object.keys(Q))delete this.metadata[Y],delete this.inheritableMetadata[Y]}copy(Q=[],Y=!0){let G=new $(this._parentRunId);for(let W of this.handlers){let Z=this.inheritableHandlers.includes(W);G.addHandler(W,Z)}for(let W of this.tags){let Z=this.inheritableTags.includes(W);G.addTags([W],Z)}for(let W of Object.keys(this.metadata)){let Z=Object.keys(this.inheritableMetadata).includes(W);G.addMetadata({[W]:this.metadata[W]},Z)}for(let W of Q){if(G.handlers.filter((Z)=>Z.name==="console_callback_handler").some((Z)=>Z.name===W.name))continue;G.addHandler(W,Y)}return G}static fromHandlers(Q){class Y extends D${name=f0();constructor(){super();Object.assign(this,Q)}}let G=new this;return G.addHandler(new Y),G}static configure(Q,Y,G,W,Z,q,z){return this._configureSync(Q,Y,G,W,Z,q,z)}static _configureSync(Q,Y,G,W,Z,q,z){let J;if(Q||Y){if(Array.isArray(Q)||!Q)J=new $,J.setHandlers(Q?.map(v$)??[],!0);else J=Q;J=J.copy(Array.isArray(Y)?Y.map(v$):Y?.handlers,!1)}let X=h0("LANGCHAIN_VERBOSE")==="true"||z?.verbose,K=t$.getTraceableRunTree()?.tracingEnabled??HW(),H=K||(h0("LANGCHAIN_TRACING")??!1);if(X||H){if(!J)J=new $;if(X&&!J.handlers.some((N)=>N.name===e1.prototype.name)){let N=new e1;J.addHandler(N,!0)}if(H&&!J.handlers.some((N)=>N.name==="langchain_tracer")){if(K){let N=new t$;J.addHandler(N,!0)}}if(K){let N=t$.getTraceableRunTree();if(N&&J._parentRunId===void 0)J._parentRunId=N.id,J.handlers.find((A)=>A.name==="langchain_tracer")?.updateFromRunTree(N)}}for(let{contextVar:N,inheritable:A=!0,handlerClass:E,envVar:P}of NW()){let O=P&&h0(P)==="true"&&E,L,V=N!==void 0?g6(N):void 0;if(V&&G6(V))L=V;else if(O)L=new E({});if(L!==void 0){if(!J)J=new $;if(!J.handlers.some((x)=>x.name===L.name))J.addHandler(L,A)}}if(G||W){if(J)J.addTags(G??[]),J.addTags(W??[],!1)}if(Z||q){if(J)J.addMetadata(Z??{}),J.addMetadata(q??{},!1)}return J}};function v$($){if("name"in $)return $;return D$.fromMethods($)}var d6=class{getStore(){}run($,Q){return Q()}enterWith($){}},iJ=new d6,FW=Symbol.for("lc:child_config"),oJ=class{getInstance(){return H$()??iJ}getRunnableConfig(){return this.getInstance().getStore()?.extra?.[FW]}runWithConfig($,Q,Y){let G=Y$._configureSync($?.callbacks,void 0,$?.tags,void 0,$?.metadata),W=this.getInstance(),Z=W.getStore(),q=G?.getParentRunId(),z=G?.handlers?.find((X)=>X?.name==="langchain_tracer"),J;if(z&&q)J=z.getRunTreeWithTracingConfig(q);else if(!Y)J=new Q0({name:"<runnable_lambda>",tracingEnabled:!1});if(J)J.extra={...J.extra,[FW]:$};if(Z!==void 0&&Z[K$]!==void 0){if(J===void 0)J={};J[K$]=Z[K$]}return W.run(J,Q)}initializeGlobalInstance($){if(H$()===void 0)XW($)}},_0=new oJ;var uA=b({AsyncLocalStorageProviderSingleton:()=>_0,MockAsyncLocalStorage:()=>d6,_CONTEXT_VARIABLES_KEY:()=>K$});var G9=25;async function C0($){return Y$._configureSync($?.callbacks,void 0,$?.tags,void 0,$?.metadata)}function u6(...$){let Q={};for(let Y of $.filter((G)=>!!G))for(let G of Object.keys(Y))if(G==="metadata")Q[G]={...Q[G],...Y[G]};else if(G==="tags"){let W=Q[G]??[];Q[G]=[...new Set(W.concat(Y[G]??[]))]}else if(G==="configurable")Q[G]={...Q[G],...Y[G]};else if(G==="timeout"){if(Q.timeout===void 0)Q.timeout=Y.timeout;else if(Y.timeout!==void 0)Q.timeout=Math.min(Q.timeout,Y.timeout)}else if(G==="signal"){if(Q.signal===void 0)Q.signal=Y.signal;else if(Y.signal!==void 0)if("any"in AbortSignal)Q.signal=AbortSignal.any([Q.signal,Y.signal]);else Q.signal=Y.signal}else if(G==="callbacks"){let W=Q.callbacks,Z=Y.callbacks;if(Array.isArray(Z))if(!W)Q.callbacks=Z;else if(Array.isArray(W))Q.callbacks=W.concat(Z);else{let q=W.copy();for(let z of Z)q.addHandler(v$(z),!0);Q.callbacks=q}else if(Z)if(!W)Q.callbacks=Z;else if(Array.isArray(W)){let q=Z.copy();for(let z of W)q.addHandler(v$(z),!0);Q.callbacks=q}else Q.callbacks=new Y$(Z._parentRunId,{handlers:W.handlers.concat(Z.handlers),inheritableHandlers:W.inheritableHandlers.concat(Z.inheritableHandlers),tags:Array.from(new Set(W.tags.concat(Z.tags))),inheritableTags:Array.from(new Set(W.inheritableTags.concat(Z.inheritableTags))),metadata:{...W.metadata,...Z.metadata}})}else{let W=G;Q[W]=Y[W]??Q[W]}return Q}var tJ=new Set(["string","number","boolean"]);function p($){let Q=_0.getRunnableConfig(),Y={tags:[],metadata:{},recursionLimit:25,runId:void 0};if(Q){let{runId:G,runName:W,...Z}=Q;Y=Object.entries(Z).reduce((q,[z,J])=>{if(J!==void 0)q[z]=J;return q},Y)}if($)Y=Object.entries($).reduce((G,[W,Z])=>{if(Z!==void 0)G[W]=Z;return G},Y);if(Y?.configurable){for(let G of Object.keys(Y.configurable))if(tJ.has(typeof Y.configurable[G])&&!Y.metadata?.[G]){if(!Y.metadata)Y.metadata={};Y.metadata[G]=Y.configurable[G]}}if(Y.timeout!==void 0){if(Y.timeout<=0)throw Error("Timeout must be a positive number");let G=Y.timeout,W=AbortSignal.timeout(G);if(!Y.metadata)Y.metadata={};if(Y.metadata.timeoutMs===void 0)Y.metadata.timeoutMs=G;if(Y.signal!==void 0){if("any"in AbortSignal)Y.signal=AbortSignal.any([Y.signal,W])}else Y.signal=W;delete Y.timeout}return Y}function z0($={},{callbacks:Q,maxConcurrency:Y,recursionLimit:G,runName:W,configurable:Z,runId:q}={}){let z=p($);if(Q!==void 0)delete z.runName,z.callbacks=Q;if(G!==void 0)z.recursionLimit=G;if(Y!==void 0)z.maxConcurrency=Y;if(W!==void 0)z.runName=W;if(Z!==void 0)z.configurable={...z.configurable,...Z};if(q!==void 0)delete z.runId;return z}function G$($){if(!$)return;return{configurable:$.configurable,recursionLimit:$.recursionLimit,callbacks:$.callbacks,tags:$.tags,metadata:$.metadata,maxConcurrency:$.maxConcurrency,timeout:$.timeout,signal:$.signal,store:$.store}}async function s0($,Q){if(Q===void 0)return $;let Y;return Promise.race([$.catch((G)=>{if(!Q?.aborted)throw G;else return}),new Promise((G,W)=>{if(Y=()=>{W(y$(Q))},Q.addEventListener("abort",Y,{once:!0}),Q.aborted)W(y$(Q))})]).finally(()=>Q.removeEventListener("abort",Y))}function y$($){if($?.reason instanceof Error)return $.reason;if(typeof $?.reason==="string")return Error($.reason);return Error("Aborted")}var $U=b({AsyncGeneratorWithSetup:()=>N$,IterableReadableStream:()=>U0,atee:()=>W9,concat:()=>Z9,pipeGeneratorWithSetup:()=>p6}),U0=class $ extends ReadableStream{reader;ensureReader(){if(!this.reader)this.reader=this.getReader()}async next(){this.ensureReader();try{let Q=await this.reader.read();if(Q.done)return this.reader.releaseLock(),{done:!0,value:void 0};else return{done:!1,value:Q.value}}catch(Q){throw this.reader.releaseLock(),Q}}async return(){if(this.ensureReader(),this.locked){let Q=this.reader.cancel();this.reader.releaseLock(),await Q}return{done:!0,value:void 0}}async throw(Q){if(this.ensureReader(),this.locked){let Y=this.reader.cancel();this.reader.releaseLock(),await Y}throw Q}[Symbol.asyncIterator](){return this}async[Symbol.asyncDispose](){await this.return()}static fromReadableStream(Q){let Y=Q.getReader();return new $({start(G){return W();function W(){return Y.read().then(({done:Z,value:q})=>{if(Z){G.close();return}return G.enqueue(q),W()})}},cancel(){Y.releaseLock()}})}static fromAsyncGenerator(Q){return new $({async pull(Y){let{value:G,done:W}=await Q.next();if(W)Y.close();Y.enqueue(G)},async cancel(Y){await Q.return(Y)}})}};function W9($,Q=2){let Y=Array.from({length:Q},()=>[]);return Y.map(async function*(W){while(!0)if(W.length===0){let Z=await $.next();for(let q of Y)q.push(Z)}else if(W[0].done)return;else yield W.shift().value})}function Z9($,Q){if(Array.isArray($)&&Array.isArray(Q))return $.concat(Q);else if(typeof $==="string"&&typeof Q==="string")return $+Q;else if(typeof $==="number"&&typeof Q==="number")return $+Q;else if("concat"in $&&typeof $.concat==="function")return $.concat(Q);else if(typeof $==="object"&&typeof Q==="object"){let Y={...$};for(let[G,W]of Object.entries(Q))if(G in Y&&!Array.isArray(Y[G]))Y[G]=Z9(Y[G],W);else Y[G]=W;return Y}else throw Error(`Cannot concat ${typeof $} and ${typeof Q}`)}var N$=class{generator;setup;config;signal;firstResult;firstResultUsed=!1;constructor($){this.generator=$.generator,this.config=$.config,this.signal=$.signal??this.config?.signal,this.setup=new Promise((Q,Y)=>{_0.runWithConfig(G$($.config),async()=>{if(this.firstResult=$.generator.next(),$.startSetup)this.firstResult.then($.startSetup).then(Q,Y);else this.firstResult.then((G)=>Q(void 0),Y)},!0)})}async next(...$){if(this.signal?.throwIfAborted(),!this.firstResultUsed)return this.firstResultUsed=!0,this.firstResult;return _0.runWithConfig(G$(this.config),this.signal?async()=>{return s0(this.generator.next(...$),this.signal)}:async()=>{return this.generator.next(...$)},!0)}async return($){return this.generator.return($)}async throw($){return this.generator.throw($)}[Symbol.asyncIterator](){return this}async[Symbol.asyncDispose](){await this.return()}};async function p6($,Q,Y,G,...W){let Z=new N$({generator:Q,startSetup:Y,signal:G}),q=await Z.setup;return{output:$(Z,q,...W),setup:q}}function A$($,Q){let Y=typeof $;if(Y!==typeof Q)return!1;if(Array.isArray($)){if(!Array.isArray(Q))return!1;let G=$.length;if(G!==Q.length)return!1;for(let W=0;W<G;W++)if(!A$($[W],Q[W]))return!1;return!0}if(Y==="object"){if(!$||!Q)return $===Q;let G=Object.keys($),W=Object.keys(Q);if(G.length!==W.length)return!1;for(let q of G)if(!A$($[q],Q[q]))return!1;return!0}return $===Q}function x0($){return encodeURI(sJ($))}function sJ($){return $.replace(/~/g,"~0").replace(/\//g,"~1")}var rJ={prefixItems:!0,items:!0,allOf:!0,anyOf:!0,oneOf:!0},nJ={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependentSchemas:!0},aJ={id:!0,$id:!0,$ref:!0,$schema:!0,$anchor:!0,$vocabulary:!0,$comment:!0,default:!0,enum:!0,const:!0,required:!0,type:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0},eJ=typeof self<"u"&&self.location&&self.location.origin!=="null"?new URL(self.location.origin+self.location.pathname+location.search):new URL("https://github.com/cfworker");function g0($,Q=Object.create(null),Y=eJ,G=""){if($&&typeof $==="object"&&!Array.isArray($)){let Z=$.$id||$.id;if(Z){let q=new URL(Z,Y.href);if(q.hash.length>1)Q[q.href]=$;else if(q.hash="",G==="")Y=q;else g0($,Q,Y)}}else if($!==!0&&$!==!1)return Q;let W=Y.href+(G?"#"+G:"");if(Q[W]!==void 0)throw Error(`Duplicate schema URI "${W}".`);if(Q[W]=$,$===!0||$===!1)return Q;if($.__absolute_uri__===void 0)Object.defineProperty($,"__absolute_uri__",{enumerable:!1,value:W});if($.$ref&&$.__absolute_ref__===void 0){let Z=new URL($.$ref,Y.href);Z.hash=Z.hash,Object.defineProperty($,"__absolute_ref__",{enumerable:!1,value:Z.href})}if($.$recursiveRef&&$.__absolute_recursive_ref__===void 0){let Z=new URL($.$recursiveRef,Y.href);Z.hash=Z.hash,Object.defineProperty($,"__absolute_recursive_ref__",{enumerable:!1,value:Z.href})}if($.$anchor){let Z=new URL("#"+$.$anchor,Y.href);Q[Z.href]=$}for(let Z in $){if(aJ[Z])continue;let q=`${G}/${x0(Z)}`,z=$[Z];if(Array.isArray(z)){if(rJ[Z]){let J=z.length;for(let X=0;X<J;X++)g0(z[X],Q,Y,`${q}/${X}`)}}else if(nJ[Z])for(let J in z)g0(z[J],Q,Y,`${q}/${x0(J)}`);else g0(z,Q,Y,q)}return Q}var $2=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,Q2=[0,31,28,31,30,31,30,31,31,30,31,30,31],Y2=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i,G2=/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,W2=/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,Z2=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,q2=/^(?:(?:https?|ftp):\/\/)(?:\S+(?::\S*)?@)?(?:(?!10(?:\.\d{1,3}){3})(?!127(?:\.\d{1,3}){3})(?!169\.254(?:\.\d{1,3}){2})(?!192\.168(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u{00a1}-\u{ffff}0-9]+-?)*[a-z\u{00a1}-\u{ffff}0-9]+)(?:\.(?:[a-z\u{00a1}-\u{ffff}0-9]+-?)*[a-z\u{00a1}-\u{ffff}0-9]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,z2=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,J2=/^(?:\/(?:[^~/]|~0|~1)*)*$/,X2=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,K2=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,H2=($)=>{if($[0]==='"')return!1;let[Q,Y,...G]=$.split("@");if(!Q||!Y||G.length!==0||Q.length>64||Y.length>253)return!1;if(Q[0]==="."||Q.endsWith(".")||Q.includes(".."))return!1;if(!/^[a-z0-9.-]+$/i.test(Y)||!/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+$/i.test(Q))return!1;return Y.split(".").every((W)=>/^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$/i.test(W))},N2=/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,A2=/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,U2=($)=>$.length>1&&$.length<80&&(/^P\d+([.,]\d+)?W$/.test($)||/^P[\dYMDTHS]*(\d[.,]\d+)?[YMDHS]$/.test($)&&/^P([.,\d]+Y)?([.,\d]+M)?([.,\d]+D)?(T([.,\d]+H)?([.,\d]+M)?([.,\d]+S)?)?$/.test($));function r0($){return $.test.bind($)}var l6={date:OW,time:DW.bind(void 0,!1),"date-time":F2,duration:U2,uri:B2,"uri-reference":r0(W2),"uri-template":r0(Z2),url:r0(q2),email:H2,hostname:r0(G2),ipv4:r0(N2),ipv6:r0(A2),regex:P2,uuid:r0(z2),"json-pointer":r0(J2),"json-pointer-uri-fragment":r0(X2),"relative-json-pointer":r0(K2)};function w2($){return $%4===0&&($%100!==0||$%400===0)}function OW($){let Q=$.match($2);if(!Q)return!1;let Y=+Q[1],G=+Q[2],W=+Q[3];return G>=1&&G<=12&&W>=1&&W<=(G==2&&w2(Y)?29:Q2[G])}function DW($,Q){let Y=Q.match(Y2);if(!Y)return!1;let G=+Y[1],W=+Y[2],Z=+Y[3],q=!!Y[5];return(G<=23&&W<=59&&Z<=59||G==23&&W==59&&Z==60)&&(!$||q)}var V2=/t|\s/i;function F2($){let Q=$.split(V2);return Q.length==2&&OW(Q[0])&&DW(!0,Q[1])}var O2=/\/|:/,D2=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function B2($){return O2.test($)&&D2.test($)}var E2=/[^\\]\\Z/;function P2($){if(E2.test($))return!1;try{return new RegExp($,"u"),!0}catch(Q){return!1}}function BW($){let Q=0,Y=$.length,G=0,W;while(G<Y)if(Q++,W=$.charCodeAt(G++),W>=55296&&W<=56319&&G<Y){if(W=$.charCodeAt(G),(W&64512)==56320)G++}return Q}function t($,Q,Y="2019-09",G=g0(Q),W=!0,Z=null,q="#",z="#",J=Object.create(null)){if(Q===!0)return{valid:!0,errors:[]};if(Q===!1)return{valid:!1,errors:[{instanceLocation:q,keyword:"false",keywordLocation:q,error:"False boolean schema."}]};let X=typeof $,K;switch(X){case"boolean":case"number":case"string":K=X;break;case"object":if($===null)K="null";else if(Array.isArray($))K="array";else K="object";break;default:throw Error(`Instances of "${X}" type are not supported.`)}let{$ref:H,$recursiveRef:N,$recursiveAnchor:A,type:E,const:P,enum:O,required:L,not:V,anyOf:x,allOf:R,oneOf:m,if:u,then:l,else:Z0,format:Y0,properties:d0,patternProperties:y0,additionalProperties:y4,unevaluatedProperties:k4,minProperties:L9,maxProperties:M9,propertyNames:f4,dependentRequired:R9,dependentSchemas:T9,dependencies:I9,prefixItems:x9,items:b$,additionalItems:h4,unevaluatedItems:b4,contains:g4,minContains:a0,maxContains:q1,minItems:j9,maxItems:C9,uniqueItems:cW,minimum:w$,maximum:V$,exclusiveMinimum:g$,exclusiveMaximum:m$,multipleOf:z1,minLength:J1,maxLength:X1,pattern:m4,__absolute_ref__:K1,__absolute_recursive_ref__:iW}=Q,B=[];if(A===!0&&Z===null)Z=Q;if(N==="#"){let j=Z===null?G[iW]:Z,T=`${z}/$recursiveRef`,y=t($,Z===null?Q:Z,Y,G,W,j,q,T,J);if(!y.valid)B.push({instanceLocation:q,keyword:"$recursiveRef",keywordLocation:T,error:"A subschema had errors."},...y.errors)}if(H!==void 0){let T=G[K1||H];if(T===void 0){let F=`Unresolved $ref "${H}".`;if(K1&&K1!==H)F+=` Absolute URI "${K1}".`;throw F+=`
54
+ Known schemas:
55
+ - ${Object.keys(G).join(`
56
+ - `)}`,Error(F)}let y=`${z}/$ref`,S=t($,T,Y,G,W,Z,q,y,J);if(!S.valid)B.push({instanceLocation:q,keyword:"$ref",keywordLocation:y,error:"A subschema had errors."},...S.errors);if(Y==="4"||Y==="7")return{valid:B.length===0,errors:B}}if(Array.isArray(E)){let j=E.length,T=!1;for(let y=0;y<j;y++)if(K===E[y]||E[y]==="integer"&&K==="number"&&$%1===0&&$===$){T=!0;break}if(!T)B.push({instanceLocation:q,keyword:"type",keywordLocation:`${z}/type`,error:`Instance type "${K}" is invalid. Expected "${E.join('", "')}".`})}else if(E==="integer"){if(K!=="number"||$%1||$!==$)B.push({instanceLocation:q,keyword:"type",keywordLocation:`${z}/type`,error:`Instance type "${K}" is invalid. Expected "${E}".`})}else if(E!==void 0&&K!==E)B.push({instanceLocation:q,keyword:"type",keywordLocation:`${z}/type`,error:`Instance type "${K}" is invalid. Expected "${E}".`});if(P!==void 0){if(K==="object"||K==="array"){if(!A$($,P))B.push({instanceLocation:q,keyword:"const",keywordLocation:`${z}/const`,error:`Instance does not match ${JSON.stringify(P)}.`})}else if($!==P)B.push({instanceLocation:q,keyword:"const",keywordLocation:`${z}/const`,error:`Instance does not match ${JSON.stringify(P)}.`})}if(O!==void 0){if(K==="object"||K==="array"){if(!O.some((j)=>A$($,j)))B.push({instanceLocation:q,keyword:"enum",keywordLocation:`${z}/enum`,error:`Instance does not match any of ${JSON.stringify(O)}.`})}else if(!O.some((j)=>$===j))B.push({instanceLocation:q,keyword:"enum",keywordLocation:`${z}/enum`,error:`Instance does not match any of ${JSON.stringify(O)}.`})}if(V!==void 0){let j=`${z}/not`;if(t($,V,Y,G,W,Z,q,j).valid)B.push({instanceLocation:q,keyword:"not",keywordLocation:j,error:'Instance matched "not" schema.'})}let H1=[];if(x!==void 0){let j=`${z}/anyOf`,T=B.length,y=!1;for(let S=0;S<x.length;S++){let F=x[S],v=Object.create(J),C=t($,F,Y,G,W,A===!0?Z:null,q,`${j}/${S}`,v);if(B.push(...C.errors),y=y||C.valid,C.valid)H1.push(v)}if(y)B.length=T;else B.splice(T,0,{instanceLocation:q,keyword:"anyOf",keywordLocation:j,error:"Instance does not match any subschemas."})}if(R!==void 0){let j=`${z}/allOf`,T=B.length,y=!0;for(let S=0;S<R.length;S++){let F=R[S],v=Object.create(J),C=t($,F,Y,G,W,A===!0?Z:null,q,`${j}/${S}`,v);if(B.push(...C.errors),y=y&&C.valid,C.valid)H1.push(v)}if(y)B.length=T;else B.splice(T,0,{instanceLocation:q,keyword:"allOf",keywordLocation:j,error:"Instance does not match every subschema."})}if(m!==void 0){let j=`${z}/oneOf`,T=B.length,y=m.filter((S,F)=>{let v=Object.create(J),C=t($,S,Y,G,W,A===!0?Z:null,q,`${j}/${F}`,v);if(B.push(...C.errors),C.valid)H1.push(v);return C.valid}).length;if(y===1)B.length=T;else B.splice(T,0,{instanceLocation:q,keyword:"oneOf",keywordLocation:j,error:`Instance does not match exactly one subschema (${y} matches).`})}if(K==="object"||K==="array")Object.assign(J,...H1);if(u!==void 0){let j=`${z}/if`;if(t($,u,Y,G,W,Z,q,j,J).valid){if(l!==void 0){let y=t($,l,Y,G,W,Z,q,`${z}/then`,J);if(!y.valid)B.push({instanceLocation:q,keyword:"if",keywordLocation:j,error:'Instance does not match "then" schema.'},...y.errors)}}else if(Z0!==void 0){let y=t($,Z0,Y,G,W,Z,q,`${z}/else`,J);if(!y.valid)B.push({instanceLocation:q,keyword:"if",keywordLocation:j,error:'Instance does not match "else" schema.'},...y.errors)}}if(K==="object"){if(L!==void 0){for(let S of L)if(!(S in $))B.push({instanceLocation:q,keyword:"required",keywordLocation:`${z}/required`,error:`Instance does not have required property "${S}".`})}let j=Object.keys($);if(L9!==void 0&&j.length<L9)B.push({instanceLocation:q,keyword:"minProperties",keywordLocation:`${z}/minProperties`,error:`Instance does not have at least ${L9} properties.`});if(M9!==void 0&&j.length>M9)B.push({instanceLocation:q,keyword:"maxProperties",keywordLocation:`${z}/maxProperties`,error:`Instance does not have at least ${M9} properties.`});if(f4!==void 0){let S=`${z}/propertyNames`;for(let F in $){let v=`${q}/${x0(F)}`,C=t(F,f4,Y,G,W,Z,v,S);if(!C.valid)B.push({instanceLocation:q,keyword:"propertyNames",keywordLocation:S,error:`Property name "${F}" does not match schema.`},...C.errors)}}if(R9!==void 0){let S=`${z}/dependantRequired`;for(let F in R9)if(F in $){let v=R9[F];for(let C of v)if(!(C in $))B.push({instanceLocation:q,keyword:"dependentRequired",keywordLocation:S,error:`Instance has "${F}" but does not have "${C}".`})}}if(T9!==void 0)for(let S in T9){let F=`${z}/dependentSchemas`;if(S in $){let v=t($,T9[S],Y,G,W,Z,q,`${F}/${x0(S)}`,J);if(!v.valid)B.push({instanceLocation:q,keyword:"dependentSchemas",keywordLocation:F,error:`Instance has "${S}" but does not match dependant schema.`},...v.errors)}}if(I9!==void 0){let S=`${z}/dependencies`;for(let F in I9)if(F in $){let v=I9[F];if(Array.isArray(v)){for(let C of v)if(!(C in $))B.push({instanceLocation:q,keyword:"dependencies",keywordLocation:S,error:`Instance has "${F}" but does not have "${C}".`})}else{let C=t($,v,Y,G,W,Z,q,`${S}/${x0(F)}`);if(!C.valid)B.push({instanceLocation:q,keyword:"dependencies",keywordLocation:S,error:`Instance has "${F}" but does not match dependant schema.`},...C.errors)}}}let T=Object.create(null),y=!1;if(d0!==void 0){let S=`${z}/properties`;for(let F in d0){if(!(F in $))continue;let v=`${q}/${x0(F)}`,C=t($[F],d0[F],Y,G,W,Z,v,`${S}/${x0(F)}`);if(C.valid)J[F]=T[F]=!0;else if(y=W,B.push({instanceLocation:q,keyword:"properties",keywordLocation:S,error:`Property "${F}" does not match schema.`},...C.errors),y)break}}if(!y&&y0!==void 0){let S=`${z}/patternProperties`;for(let F in y0){let v=new RegExp(F,"u"),C=y0[F];for(let F0 in $){if(!v.test(F0))continue;let d4=`${q}/${x0(F0)}`,u4=t($[F0],C,Y,G,W,Z,d4,`${S}/${x0(F)}`);if(u4.valid)J[F0]=T[F0]=!0;else y=W,B.push({instanceLocation:q,keyword:"patternProperties",keywordLocation:S,error:`Property "${F0}" matches pattern "${F}" but does not match associated schema.`},...u4.errors)}}}if(!y&&y4!==void 0){let S=`${z}/additionalProperties`;for(let F in $){if(T[F])continue;let v=`${q}/${x0(F)}`,C=t($[F],y4,Y,G,W,Z,v,S);if(C.valid)J[F]=!0;else y=W,B.push({instanceLocation:q,keyword:"additionalProperties",keywordLocation:S,error:`Property "${F}" does not match additional properties schema.`},...C.errors)}}else if(!y&&k4!==void 0){let S=`${z}/unevaluatedProperties`;for(let F in $)if(!J[F]){let v=`${q}/${x0(F)}`,C=t($[F],k4,Y,G,W,Z,v,S);if(C.valid)J[F]=!0;else B.push({instanceLocation:q,keyword:"unevaluatedProperties",keywordLocation:S,error:`Property "${F}" does not match unevaluated properties schema.`},...C.errors)}}}else if(K==="array"){if(C9!==void 0&&$.length>C9)B.push({instanceLocation:q,keyword:"maxItems",keywordLocation:`${z}/maxItems`,error:`Array has too many items (${$.length} > ${C9}).`});if(j9!==void 0&&$.length<j9)B.push({instanceLocation:q,keyword:"minItems",keywordLocation:`${z}/minItems`,error:`Array has too few items (${$.length} < ${j9}).`});let j=$.length,T=0,y=!1;if(x9!==void 0){let S=`${z}/prefixItems`,F=Math.min(x9.length,j);for(;T<F;T++){let v=t($[T],x9[T],Y,G,W,Z,`${q}/${T}`,`${S}/${T}`);if(J[T]=!0,!v.valid){if(y=W,B.push({instanceLocation:q,keyword:"prefixItems",keywordLocation:S,error:"Items did not match schema."},...v.errors),y)break}}}if(b$!==void 0){let S=`${z}/items`;if(Array.isArray(b$)){let F=Math.min(b$.length,j);for(;T<F;T++){let v=t($[T],b$[T],Y,G,W,Z,`${q}/${T}`,`${S}/${T}`);if(J[T]=!0,!v.valid){if(y=W,B.push({instanceLocation:q,keyword:"items",keywordLocation:S,error:"Items did not match schema."},...v.errors),y)break}}}else for(;T<j;T++){let F=t($[T],b$,Y,G,W,Z,`${q}/${T}`,S);if(J[T]=!0,!F.valid){if(y=W,B.push({instanceLocation:q,keyword:"items",keywordLocation:S,error:"Items did not match schema."},...F.errors),y)break}}if(!y&&h4!==void 0){let F=`${z}/additionalItems`;for(;T<j;T++){let v=t($[T],h4,Y,G,W,Z,`${q}/${T}`,F);if(J[T]=!0,!v.valid)y=W,B.push({instanceLocation:q,keyword:"additionalItems",keywordLocation:F,error:"Items did not match additional items schema."},...v.errors)}}}if(g4!==void 0)if(j===0&&a0===void 0)B.push({instanceLocation:q,keyword:"contains",keywordLocation:`${z}/contains`,error:"Array is empty. It must contain at least one item matching the schema."});else if(a0!==void 0&&j<a0)B.push({instanceLocation:q,keyword:"minContains",keywordLocation:`${z}/minContains`,error:`Array has less items (${j}) than minContains (${a0}).`});else{let S=`${z}/contains`,F=B.length,v=0;for(let C=0;C<j;C++){let F0=t($[C],g4,Y,G,W,Z,`${q}/${C}`,S);if(F0.valid)J[C]=!0,v++;else B.push(...F0.errors)}if(v>=(a0||0))B.length=F;if(a0===void 0&&q1===void 0&&v===0)B.splice(F,0,{instanceLocation:q,keyword:"contains",keywordLocation:S,error:"Array does not contain item matching schema."});else if(a0!==void 0&&v<a0)B.push({instanceLocation:q,keyword:"minContains",keywordLocation:`${z}/minContains`,error:`Array must contain at least ${a0} items matching schema. Only ${v} items were found.`});else if(q1!==void 0&&v>q1)B.push({instanceLocation:q,keyword:"maxContains",keywordLocation:`${z}/maxContains`,error:`Array may contain at most ${q1} items matching schema. ${v} items were found.`})}if(!y&&b4!==void 0){let S=`${z}/unevaluatedItems`;for(T;T<j;T++){if(J[T])continue;let F=t($[T],b4,Y,G,W,Z,`${q}/${T}`,S);if(J[T]=!0,!F.valid)B.push({instanceLocation:q,keyword:"unevaluatedItems",keywordLocation:S,error:"Items did not match unevaluated items schema."},...F.errors)}}if(cW)for(let S=0;S<j;S++){let F=$[S],v=typeof F==="object"&&F!==null;for(let C=0;C<j;C++){if(S===C)continue;let F0=$[C];if(F===F0||v&&(typeof F0==="object"&&F0!==null)&&A$(F,F0))B.push({instanceLocation:q,keyword:"uniqueItems",keywordLocation:`${z}/uniqueItems`,error:`Duplicate items at indexes ${S} and ${C}.`}),S=Number.MAX_SAFE_INTEGER,C=Number.MAX_SAFE_INTEGER}}}else if(K==="number"){if(Y==="4"){if(w$!==void 0&&(g$===!0&&$<=w$||$<w$))B.push({instanceLocation:q,keyword:"minimum",keywordLocation:`${z}/minimum`,error:`${$} is less than ${g$?"or equal to ":""} ${w$}.`});if(V$!==void 0&&(m$===!0&&$>=V$||$>V$))B.push({instanceLocation:q,keyword:"maximum",keywordLocation:`${z}/maximum`,error:`${$} is greater than ${m$?"or equal to ":""} ${V$}.`})}else{if(w$!==void 0&&$<w$)B.push({instanceLocation:q,keyword:"minimum",keywordLocation:`${z}/minimum`,error:`${$} is less than ${w$}.`});if(V$!==void 0&&$>V$)B.push({instanceLocation:q,keyword:"maximum",keywordLocation:`${z}/maximum`,error:`${$} is greater than ${V$}.`});if(g$!==void 0&&$<=g$)B.push({instanceLocation:q,keyword:"exclusiveMinimum",keywordLocation:`${z}/exclusiveMinimum`,error:`${$} is less than ${g$}.`});if(m$!==void 0&&$>=m$)B.push({instanceLocation:q,keyword:"exclusiveMaximum",keywordLocation:`${z}/exclusiveMaximum`,error:`${$} is greater than or equal to ${m$}.`})}if(z1!==void 0){let j=$%z1;if(Math.abs(0-j)>=0.00000011920929&&Math.abs(z1-j)>=0.00000011920929)B.push({instanceLocation:q,keyword:"multipleOf",keywordLocation:`${z}/multipleOf`,error:`${$} is not a multiple of ${z1}.`})}}else if(K==="string"){let j=J1===void 0&&X1===void 0?0:BW($);if(J1!==void 0&&j<J1)B.push({instanceLocation:q,keyword:"minLength",keywordLocation:`${z}/minLength`,error:`String is too short (${j} < ${J1}).`});if(X1!==void 0&&j>X1)B.push({instanceLocation:q,keyword:"maxLength",keywordLocation:`${z}/maxLength`,error:`String is too long (${j} > ${X1}).`});if(m4!==void 0&&!new RegExp(m4,"u").test($))B.push({instanceLocation:q,keyword:"pattern",keywordLocation:`${z}/pattern`,error:"String does not match pattern."});if(Y0!==void 0&&l6[Y0]&&!l6[Y0]($))B.push({instanceLocation:q,keyword:"format",keywordLocation:`${z}/format`,error:`String does not match format "${Y0}".`})}return{valid:B.length===0,errors:B}}var i6=Symbol("Let zodToJsonSchema decide on which parser to use"),c6={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref",openAiAnyTypeName:"OpenAiAnyType"},o6=($)=>typeof $==="string"?{...c6,name:$}:{...c6,...$};var t6=($)=>{let Q=o6($),Y=Q.name!==void 0?[...Q.basePath,Q.definitionPath,Q.name]:Q.basePath;return{...Q,flags:{hasReferencedOpenAiAnyType:!1},currentPath:Y,propertyPath:void 0,seen:new Map(Object.entries(Q.definitions).map(([G,W])=>[W._def,{def:W._def,path:[...Q.basePath,Q.definitionPath,G],jsonSchema:void 0}]))}};var r$=($,Q)=>{let Y=0;for(;Y<$.length&&Y<Q.length;Y++)if($[Y]!==Q[Y])break;return[($.length-Y).toString(),...Q.slice(Y)].join("/")};function o($){if($.target!=="openAi")return{};let Q=[...$.basePath,$.definitionPath,$.openAiAnyTypeName];return $.flags.hasReferencedOpenAiAnyType=!0,{$ref:$.$refStrategy==="relative"?r$(Q,$.currentPath):Q.join("/")}}function q9($,Q,Y,G){if(!G?.errorMessages)return;if(Y)$.errorMessage={...$.errorMessage,[Q]:Y}}function g($,Q,Y,G,W){$[Q]=Y,q9($,Q,G,W)}function s6($,Q){let Y={type:"array"};if($.type?._def&&$.type?._def?.typeName!==f.ZodAny)Y.items=I($.type._def,{...Q,currentPath:[...Q.currentPath,"items"]});if($.minLength)g(Y,"minItems",$.minLength.value,$.minLength.message,Q);if($.maxLength)g(Y,"maxItems",$.maxLength.value,$.maxLength.message,Q);if($.exactLength)g(Y,"minItems",$.exactLength.value,$.exactLength.message,Q),g(Y,"maxItems",$.exactLength.value,$.exactLength.message,Q);return Y}function r6($,Q){let Y={type:"integer",format:"int64"};if(!$.checks)return Y;for(let G of $.checks)switch(G.kind){case"min":if(Q.target==="jsonSchema7")if(G.inclusive)g(Y,"minimum",G.value,G.message,Q);else g(Y,"exclusiveMinimum",G.value,G.message,Q);else{if(!G.inclusive)Y.exclusiveMinimum=!0;g(Y,"minimum",G.value,G.message,Q)}break;case"max":if(Q.target==="jsonSchema7")if(G.inclusive)g(Y,"maximum",G.value,G.message,Q);else g(Y,"exclusiveMaximum",G.value,G.message,Q);else{if(!G.inclusive)Y.exclusiveMaximum=!0;g(Y,"maximum",G.value,G.message,Q)}break;case"multipleOf":g(Y,"multipleOf",G.value,G.message,Q);break}return Y}function n6(){return{type:"boolean"}}function n$($,Q){return I($.type._def,Q)}var a6=($,Q)=>{return I($.innerType._def,Q)};function z9($,Q,Y){let G=Y??Q.dateStrategy;if(Array.isArray(G))return{anyOf:G.map((W)=>z9($,Q,W))};switch(G){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return S2($,Q)}}var S2=($,Q)=>{let Y={type:"integer",format:"unix-time"};if(Q.target==="openApi3")return Y;for(let G of $.checks)switch(G.kind){case"min":g(Y,"minimum",G.value,G.message,Q);break;case"max":g(Y,"maximum",G.value,G.message,Q);break}return Y};function e6($,Q){return{...I($.innerType._def,Q),default:$.defaultValue()}}function $4($,Q){return Q.effectStrategy==="input"?I($.schema._def,Q):o(Q)}function Q4($){return{type:"string",enum:Array.from($.values)}}var _2=($)=>{if("type"in $&&$.type==="string")return!1;return"allOf"in $};function Y4($,Q){let Y=[I($.left._def,{...Q,currentPath:[...Q.currentPath,"allOf","0"]}),I($.right._def,{...Q,currentPath:[...Q.currentPath,"allOf","1"]})].filter((Z)=>!!Z),G=Q.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,W=[];return Y.forEach((Z)=>{if(_2(Z)){if(W.push(...Z.allOf),Z.unevaluatedProperties===void 0)G=void 0}else{let q=Z;if("additionalProperties"in Z&&Z.additionalProperties===!1){let{additionalProperties:z,...J}=Z;q=J}else G=void 0;W.push(q)}}),W.length?{allOf:W,...G}:void 0}function G4($,Q){let Y=typeof $.value;if(Y!=="bigint"&&Y!=="number"&&Y!=="boolean"&&Y!=="string")return{type:Array.isArray($.value)?"array":"object"};if(Q.target==="openApi3")return{type:Y==="bigint"?"integer":Y,enum:[$.value]};return{type:Y==="bigint"?"integer":Y,const:$.value}}var W4=void 0,v0={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>{if(W4===void 0)W4=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return W4},uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function a$($,Q){let Y={type:"string"};if($.checks)for(let G of $.checks)switch(G.kind){case"min":g(Y,"minLength",typeof Y.minLength==="number"?Math.max(Y.minLength,G.value):G.value,G.message,Q);break;case"max":g(Y,"maxLength",typeof Y.maxLength==="number"?Math.min(Y.maxLength,G.value):G.value,G.message,Q);break;case"email":switch(Q.emailStrategy){case"format:email":m0(Y,"email",G.message,Q);break;case"format:idn-email":m0(Y,"idn-email",G.message,Q);break;case"pattern:zod":w0(Y,v0.email,G.message,Q);break}break;case"url":m0(Y,"uri",G.message,Q);break;case"uuid":m0(Y,"uuid",G.message,Q);break;case"regex":w0(Y,G.regex,G.message,Q);break;case"cuid":w0(Y,v0.cuid,G.message,Q);break;case"cuid2":w0(Y,v0.cuid2,G.message,Q);break;case"startsWith":w0(Y,RegExp(`^${Z4(G.value,Q)}`),G.message,Q);break;case"endsWith":w0(Y,RegExp(`${Z4(G.value,Q)}$`),G.message,Q);break;case"datetime":m0(Y,"date-time",G.message,Q);break;case"date":m0(Y,"date",G.message,Q);break;case"time":m0(Y,"time",G.message,Q);break;case"duration":m0(Y,"duration",G.message,Q);break;case"length":g(Y,"minLength",typeof Y.minLength==="number"?Math.max(Y.minLength,G.value):G.value,G.message,Q),g(Y,"maxLength",typeof Y.maxLength==="number"?Math.min(Y.maxLength,G.value):G.value,G.message,Q);break;case"includes":w0(Y,RegExp(Z4(G.value,Q)),G.message,Q);break;case"ip":if(G.version!=="v6")m0(Y,"ipv4",G.message,Q);if(G.version!=="v4")m0(Y,"ipv6",G.message,Q);break;case"base64url":w0(Y,v0.base64url,G.message,Q);break;case"jwt":w0(Y,v0.jwt,G.message,Q);break;case"cidr":if(G.version!=="v6")w0(Y,v0.ipv4Cidr,G.message,Q);if(G.version!=="v4")w0(Y,v0.ipv6Cidr,G.message,Q);break;case"emoji":w0(Y,v0.emoji(),G.message,Q);break;case"ulid":w0(Y,v0.ulid,G.message,Q);break;case"base64":switch(Q.base64Strategy){case"format:binary":m0(Y,"binary",G.message,Q);break;case"contentEncoding:base64":g(Y,"contentEncoding","base64",G.message,Q);break;case"pattern:zod":w0(Y,v0.base64,G.message,Q);break}break;case"nanoid":w0(Y,v0.nanoid,G.message,Q);break;case"toLowerCase":case"toUpperCase":case"trim":break;default:((W)=>{})(G)}return Y}function Z4($,Q){return Q.patternStrategy==="escape"?M2($):$}var L2=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function M2($){let Q="";for(let Y=0;Y<$.length;Y++){if(!L2.has($[Y]))Q+="\\";Q+=$[Y]}return Q}function m0($,Q,Y,G){if($.format||$.anyOf?.some((W)=>W.format)){if(!$.anyOf)$.anyOf=[];if($.format){if($.anyOf.push({format:$.format,...$.errorMessage&&G.errorMessages&&{errorMessage:{format:$.errorMessage.format}}}),delete $.format,$.errorMessage){if(delete $.errorMessage.format,Object.keys($.errorMessage).length===0)delete $.errorMessage}}$.anyOf.push({format:Q,...Y&&G.errorMessages&&{errorMessage:{format:Y}}})}else g($,"format",Q,Y,G)}function w0($,Q,Y,G){if($.pattern||$.allOf?.some((W)=>W.pattern)){if(!$.allOf)$.allOf=[];if($.pattern){if($.allOf.push({pattern:$.pattern,...$.errorMessage&&G.errorMessages&&{errorMessage:{pattern:$.errorMessage.pattern}}}),delete $.pattern,$.errorMessage){if(delete $.errorMessage.pattern,Object.keys($.errorMessage).length===0)delete $.errorMessage}}$.allOf.push({pattern:EW(Q,G),...Y&&G.errorMessages&&{errorMessage:{pattern:Y}}})}else g($,"pattern",EW(Q,G),Y,G)}function EW($,Q){if(!Q.applyRegexFlags||!$.flags)return $.source;let Y={i:$.flags.includes("i"),m:$.flags.includes("m"),s:$.flags.includes("s")},G=Y.i?$.source.toLowerCase():$.source,W="",Z=!1,q=!1,z=!1;for(let J=0;J<G.length;J++){if(Z){W+=G[J],Z=!1;continue}if(Y.i){if(q){if(G[J].match(/[a-z]/)){if(z)W+=G[J],W+=`${G[J-2]}-${G[J]}`.toUpperCase(),z=!1;else if(G[J+1]==="-"&&G[J+2]?.match(/[a-z]/))W+=G[J],z=!0;else W+=`${G[J]}${G[J].toUpperCase()}`;continue}}else if(G[J].match(/[a-z]/)){W+=`[${G[J]}${G[J].toUpperCase()}]`;continue}}if(Y.m){if(G[J]==="^"){W+=`(^|(?<=[\r
57
+ ]))`;continue}else if(G[J]==="$"){W+=`($|(?=[\r
58
+ ]))`;continue}}if(Y.s&&G[J]==="."){W+=q?`${G[J]}\r
59
+ `:`[${G[J]}\r
60
+ ]`;continue}if(W+=G[J],G[J]==="\\")Z=!0;else if(q&&G[J]==="]")q=!1;else if(!q&&G[J]==="[")q=!0}try{new RegExp(W)}catch{return console.warn(`Could not convert regex pattern at ${Q.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),$.source}return W}function e$($,Q){if(Q.target==="openAi")console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead.");if(Q.target==="openApi3"&&$.keyType?._def.typeName===f.ZodEnum)return{type:"object",required:$.keyType._def.values,properties:$.keyType._def.values.reduce((G,W)=>({...G,[W]:I($.valueType._def,{...Q,currentPath:[...Q.currentPath,"properties",W]})??o(Q)}),{}),additionalProperties:Q.rejectedAdditionalProperties};let Y={type:"object",additionalProperties:I($.valueType._def,{...Q,currentPath:[...Q.currentPath,"additionalProperties"]})??Q.allowedAdditionalProperties};if(Q.target==="openApi3")return Y;if($.keyType?._def.typeName===f.ZodString&&$.keyType._def.checks?.length){let{type:G,...W}=a$($.keyType._def,Q);return{...Y,propertyNames:W}}else if($.keyType?._def.typeName===f.ZodEnum)return{...Y,propertyNames:{enum:$.keyType._def.values}};else if($.keyType?._def.typeName===f.ZodBranded&&$.keyType._def.type._def.typeName===f.ZodString&&$.keyType._def.type._def.checks?.length){let{type:G,...W}=n$($.keyType._def,Q);return{...Y,propertyNames:W}}return Y}function q4($,Q){if(Q.mapStrategy==="record")return e$($,Q);return{type:"array",maxItems:125,items:{type:"array",items:[I($.keyType._def,{...Q,currentPath:[...Q.currentPath,"items","items","0"]})||o(Q),I($.valueType._def,{...Q,currentPath:[...Q.currentPath,"items","items","1"]})||o(Q)],minItems:2,maxItems:2}}}function z4($){let Q=$.values,Y=Object.keys($.values).filter((W)=>{return typeof Q[Q[W]]!=="number"}).map((W)=>Q[W]),G=Array.from(new Set(Y.map((W)=>typeof W)));return{type:G.length===1?G[0]==="string"?"string":"number":["string","number"],enum:Y}}function J4($){return $.target==="openAi"?void 0:{not:o({...$,currentPath:[...$.currentPath,"not"]})}}function X4($){return $.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var k$={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function K4($,Q){if(Q.target==="openApi3")return PW($,Q);let Y=$.options instanceof Map?Array.from($.options.values()):$.options;if(Y.every((G)=>(G._def.typeName in k$)&&(!G._def.checks||!G._def.checks.length))){let G=Y.reduce((W,Z)=>{let q=k$[Z._def.typeName];return q&&!W.includes(q)?[...W,q]:W},[]);return{type:G.length>1?G:G[0]}}else if(Y.every((G)=>G._def.typeName==="ZodLiteral"&&!G.description)){let G=Y.reduce((W,Z)=>{let q=typeof Z._def.value;switch(q){case"string":case"number":case"boolean":return[...W,q];case"bigint":return[...W,"integer"];case"object":if(Z._def.value===null)return[...W,"null"];return W;default:return W}},[]);if(G.length===Y.length){let W=G.filter((Z,q,z)=>z.indexOf(Z)===q);return{type:W.length>1?W:W[0],enum:Y.reduce((Z,q)=>{return Z.includes(q._def.value)?Z:[...Z,q._def.value]},[])}}}else if(Y.every((G)=>G._def.typeName==="ZodEnum"))return{type:"string",enum:Y.reduce((G,W)=>[...G,...W._def.values.filter((Z)=>!G.includes(Z))],[])};return PW($,Q)}var PW=($,Q)=>{let Y=($.options instanceof Map?Array.from($.options.values()):$.options).map((G,W)=>I(G._def,{...Q,currentPath:[...Q.currentPath,"anyOf",`${W}`]})).filter((G)=>!!G&&(!Q.strictUnions||typeof G==="object"&&Object.keys(G).length>0));return Y.length?{anyOf:Y}:void 0};function H4($,Q){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes($.innerType._def.typeName)&&(!$.innerType._def.checks||!$.innerType._def.checks.length)){if(Q.target==="openApi3")return{type:k$[$.innerType._def.typeName],nullable:!0};return{type:[k$[$.innerType._def.typeName],"null"]}}if(Q.target==="openApi3"){let G=I($.innerType._def,{...Q,currentPath:[...Q.currentPath]});if(G&&"$ref"in G)return{allOf:[G],nullable:!0};return G&&{...G,nullable:!0}}let Y=I($.innerType._def,{...Q,currentPath:[...Q.currentPath,"anyOf","0"]});return Y&&{anyOf:[Y,{type:"null"}]}}function N4($,Q){let Y={type:"number"};if(!$.checks)return Y;for(let G of $.checks)switch(G.kind){case"int":Y.type="integer",q9(Y,"type",G.message,Q);break;case"min":if(Q.target==="jsonSchema7")if(G.inclusive)g(Y,"minimum",G.value,G.message,Q);else g(Y,"exclusiveMinimum",G.value,G.message,Q);else{if(!G.inclusive)Y.exclusiveMinimum=!0;g(Y,"minimum",G.value,G.message,Q)}break;case"max":if(Q.target==="jsonSchema7")if(G.inclusive)g(Y,"maximum",G.value,G.message,Q);else g(Y,"exclusiveMaximum",G.value,G.message,Q);else{if(!G.inclusive)Y.exclusiveMaximum=!0;g(Y,"maximum",G.value,G.message,Q)}break;case"multipleOf":g(Y,"multipleOf",G.value,G.message,Q);break}return Y}function A4($,Q){let Y=Q.target==="openAi",G={type:"object",properties:{}},W=[],Z=$.shape();for(let z in Z){let J=Z[z];if(J===void 0||J._def===void 0)continue;let X=T2(J);if(X&&Y){if(J._def.typeName==="ZodOptional")J=J._def.innerType;if(!J.isNullable())J=J.nullable();X=!1}let K=I(J._def,{...Q,currentPath:[...Q.currentPath,"properties",z],propertyPath:[...Q.currentPath,"properties",z]});if(K===void 0)continue;if(G.properties[z]=K,!X)W.push(z)}if(W.length)G.required=W;let q=R2($,Q);if(q!==void 0)G.additionalProperties=q;return G}function R2($,Q){if($.catchall._def.typeName!=="ZodNever")return I($.catchall._def,{...Q,currentPath:[...Q.currentPath,"additionalProperties"]});switch($.unknownKeys){case"passthrough":return Q.allowedAdditionalProperties;case"strict":return Q.rejectedAdditionalProperties;case"strip":return Q.removeAdditionalStrategy==="strict"?Q.allowedAdditionalProperties:Q.rejectedAdditionalProperties}}function T2($){try{return $.isOptional()}catch{return!0}}var U4=($,Q)=>{if(Q.currentPath.toString()===Q.propertyPath?.toString())return I($.innerType._def,Q);let Y=I($.innerType._def,{...Q,currentPath:[...Q.currentPath,"anyOf","1"]});return Y?{anyOf:[{not:o(Q)},Y]}:o(Q)};var w4=($,Q)=>{if(Q.pipeStrategy==="input")return I($.in._def,Q);else if(Q.pipeStrategy==="output")return I($.out._def,Q);let Y=I($.in._def,{...Q,currentPath:[...Q.currentPath,"allOf","0"]});return{allOf:[Y,I($.out._def,{...Q,currentPath:[...Q.currentPath,"allOf",Y?"1":"0"]})].filter((G)=>G!==void 0)}};function V4($,Q){return I($.type._def,Q)}function F4($,Q){let Y={type:"array",uniqueItems:!0,items:I($.valueType._def,{...Q,currentPath:[...Q.currentPath,"items"]})};if($.minSize)g(Y,"minItems",$.minSize.value,$.minSize.message,Q);if($.maxSize)g(Y,"maxItems",$.maxSize.value,$.maxSize.message,Q);return Y}function O4($,Q){if($.rest)return{type:"array",minItems:$.items.length,items:$.items.map((Y,G)=>I(Y._def,{...Q,currentPath:[...Q.currentPath,"items",`${G}`]})).reduce((Y,G)=>G===void 0?Y:[...Y,G],[]),additionalItems:I($.rest._def,{...Q,currentPath:[...Q.currentPath,"additionalItems"]})};else return{type:"array",minItems:$.items.length,maxItems:$.items.length,items:$.items.map((Y,G)=>I(Y._def,{...Q,currentPath:[...Q.currentPath,"items",`${G}`]})).reduce((Y,G)=>G===void 0?Y:[...Y,G],[])}}function D4($){return{not:o($)}}function B4($){return o($)}var E4=($,Q)=>{return I($.innerType._def,Q)};var P4=($,Q,Y)=>{switch(Q){case f.ZodString:return a$($,Y);case f.ZodNumber:return N4($,Y);case f.ZodObject:return A4($,Y);case f.ZodBigInt:return r6($,Y);case f.ZodBoolean:return n6();case f.ZodDate:return z9($,Y);case f.ZodUndefined:return D4(Y);case f.ZodNull:return X4(Y);case f.ZodArray:return s6($,Y);case f.ZodUnion:case f.ZodDiscriminatedUnion:return K4($,Y);case f.ZodIntersection:return Y4($,Y);case f.ZodTuple:return O4($,Y);case f.ZodRecord:return e$($,Y);case f.ZodLiteral:return G4($,Y);case f.ZodEnum:return Q4($);case f.ZodNativeEnum:return z4($);case f.ZodNullable:return H4($,Y);case f.ZodOptional:return U4($,Y);case f.ZodMap:return q4($,Y);case f.ZodSet:return F4($,Y);case f.ZodLazy:return()=>$.getter()._def;case f.ZodPromise:return V4($,Y);case f.ZodNaN:case f.ZodNever:return J4(Y);case f.ZodEffects:return $4($,Y);case f.ZodAny:return o(Y);case f.ZodUnknown:return B4(Y);case f.ZodDefault:return e6($,Y);case f.ZodBranded:return n$($,Y);case f.ZodReadonly:return E4($,Y);case f.ZodCatch:return a6($,Y);case f.ZodPipeline:return w4($,Y);case f.ZodFunction:case f.ZodVoid:case f.ZodSymbol:return;default:return((G)=>{return})(Q)}};function I($,Q,Y=!1){let G=Q.seen.get($);if(Q.override){let z=Q.override?.($,Q,G,Y);if(z!==i6)return z}if(G&&!Y){let z=I2(G,Q);if(z!==void 0)return z}let W={def:$,path:Q.currentPath,jsonSchema:void 0};Q.seen.set($,W);let Z=P4($,$.typeName,Q),q=typeof Z==="function"?I(Z(),Q):Z;if(q)x2($,Q,q);if(Q.postProcess){let z=Q.postProcess(q,$,Q);return W.jsonSchema=q,z}return W.jsonSchema=q,q}var I2=($,Q)=>{switch(Q.$refStrategy){case"root":return{$ref:$.path.join("/")};case"relative":return{$ref:r$(Q.currentPath,$.path)};case"none":case"seen":if($.path.length<Q.currentPath.length&&$.path.every((Y,G)=>Q.currentPath[G]===Y))return console.warn(`Recursive reference detected at ${Q.currentPath.join("/")}! Defaulting to any`),o(Q);return Q.$refStrategy==="seen"?o(Q):void 0}},x2=($,Q,Y)=>{if($.description){if(Y.description=$.description,Q.markdownDescription)Y.markdownDescription=$.description}return Y};var S4=($,Q)=>{let Y=t6(Q),G=typeof Q==="object"&&Q.definitions?Object.entries(Q.definitions).reduce((J,[X,K])=>({...J,[X]:I(K._def,{...Y,currentPath:[...Y.basePath,Y.definitionPath,X]},!0)??o(Y)}),{}):void 0,W=typeof Q==="string"?Q:Q?.nameStrategy==="title"?void 0:Q?.name,Z=I($._def,W===void 0?Y:{...Y,currentPath:[...Y.basePath,Y.definitionPath,W]},!1)??o(Y),q=typeof Q==="object"&&Q.name!==void 0&&Q.nameStrategy==="title"?Q.name:void 0;if(q!==void 0)Z.title=q;if(Y.flags.hasReferencedOpenAiAnyType){if(!G)G={};if(!G[Y.openAiAnyTypeName])G[Y.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:Y.$refStrategy==="relative"?"1":[...Y.basePath,Y.definitionPath,Y.openAiAnyTypeName].join("/")}}}let z=W===void 0?G?{...Z,[Y.definitionPath]:G}:Z:{$ref:[...Y.$refStrategy==="relative"?[]:Y.basePath,Y.definitionPath,W].join("/"),[Y.definitionPath]:{...G,[W]:Z}};if(Y.target==="jsonSchema7")z.$schema="http://json-schema.org/draft-07/schema#";else if(Y.target==="jsonSchema2019-09"||Y.target==="openAi")z.$schema="https://json-schema.org/draft/2019-09/schema#";if(Y.target==="openAi"&&(("anyOf"in z)||("oneOf"in z)||("allOf"in z)||("type"in z)&&Array.isArray(z.type)))console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property.");return z};class _4{schema;draft;shortCircuit;lookup;constructor($,Q="2019-09",Y=!0){this.schema=$,this.draft=Q,this.shortCircuit=Y,this.lookup=g0($)}validate($){return t($,this.schema,this.draft,this.lookup,this.shortCircuit)}addSchema($,Q){if(Q)$={...$,$id:Q};g0($,this.lookup)}}var NV=b({Validator:()=>_4,deepCompareStrict:()=>A$,toJsonSchema:()=>M4,validatesOnlyStrings:()=>J9});function M4($,Q){if(s($)){let Y=X8($,!0);if(p0(Y))return L4(P1(Y,!0),Q);else return L4($,Q)}if($0($))return S4($);return $}function J9($){if(!$||typeof $!=="object"||Object.keys($).length===0||Array.isArray($))return!1;if("type"in $){if(typeof $.type==="string")return $.type==="string";if(Array.isArray($.type))return $.type.every((Q)=>Q==="string");return!1}if("enum"in $)return Array.isArray($.enum)&&$.enum.length>0&&$.enum.every((Q)=>typeof Q==="string");if("const"in $)return typeof $.const==="string";if("allOf"in $&&Array.isArray($.allOf))return $.allOf.some((Q)=>J9(Q));if("anyOf"in $&&Array.isArray($.anyOf)||"oneOf"in $&&Array.isArray($.oneOf)){let Q="anyOf"in $?$.anyOf:$.oneOf;return Q.length>0&&Q.every((Y)=>J9(Y))}if("not"in $)return!1;if("$ref"in $&&typeof $.$ref==="string"){let Q=$.$ref,Y=g0($);if(Y[Q])return J9(Y[Q]);return!1}return!1}var wV=b({ChatGenerationChunk:()=>C2,GenerationChunk:()=>$1,RUN_KEY:()=>j2}),j2="__run",$1=class ${text;generationInfo;constructor(Q){this.text=Q.text,this.generationInfo=Q.generationInfo}concat(Q){return new $({text:this.text+Q.text,generationInfo:{...this.generationInfo,...Q.generationInfo}})}},C2=class $ extends $1{message;constructor(Q){super(Q);this.message=Q.message}concat(Q){return new $({text:this.text+Q.text,generationInfo:{...this.generationInfo,...Q.generationInfo},message:this.message.concat(Q.message)})}};var v2=Object.prototype.toString,y2=($)=>v2.call($)==="[object Error]",k2=new Set(["network error","Failed to fetch","NetworkError when attempting to fetch resource.","The Internet connection appears to be offline.","Network request failed","fetch failed","terminated"," A network error occurred.","Network connection lost"]);function SW($){if(!($&&y2($)&&$.name==="TypeError"&&typeof $.message==="string"))return!1;let{message:Q,stack:Y}=$;if(Q==="Load failed")return Y===void 0||"__sentry_captured__"in $;if(Q.startsWith("error sending request for url"))return!0;return k2.has(Q)}function f2($){if(typeof $==="number"){if($<0)throw TypeError("Expected `retries` to be a non-negative number.");if(Number.isNaN($))throw TypeError("Expected `retries` to be a valid number or Infinity, got NaN.")}else if($!==void 0)throw TypeError("Expected `retries` to be a number or Infinity.")}function X9($,Q,{min:Y=0,allowInfinity:G=!1}={}){if(Q===void 0)return;if(typeof Q!=="number"||Number.isNaN(Q))throw TypeError(`Expected \`${$}\` to be a number${G?" or Infinity":""}.`);if(!G&&!Number.isFinite(Q))throw TypeError(`Expected \`${$}\` to be a finite number.`);if(Q<Y)throw TypeError(`Expected \`${$}\` to be ≥ ${Y}.`)}var h2=class extends Error{constructor($){super();if($ instanceof Error)this.originalError=$,{message:$}=$;else this.originalError=Error($),this.originalError.stack=this.stack;this.name="AbortError",this.message=$}};function b2($,Q){let Y=Math.max(1,$+1),G=Q.randomize?Math.random()+1:1,W=Math.round(G*Q.minTimeout*Q.factor**(Y-1));return W=Math.min(W,Q.maxTimeout),W}function _W($,Q){if(!Number.isFinite(Q))return Q;return Q-(performance.now()-$)}async function g2({error:$,attemptNumber:Q,retriesConsumed:Y,startTime:G,options:W}){let Z=$ instanceof Error?$:TypeError(`Non-error was thrown: "${$}". You should only throw errors.`);if(Z instanceof h2)throw Z.originalError;let q=Number.isFinite(W.retries)?Math.max(0,W.retries-Y):W.retries,z=W.maxRetryTime??Number.POSITIVE_INFINITY,J=Object.freeze({error:Z,attemptNumber:Q,retriesLeft:q,retriesConsumed:Y});if(await W.onFailedAttempt(J),_W(G,z)<=0)throw Z;let X=await W.shouldConsumeRetry(J),K=_W(G,z);if(K<=0||q<=0)throw Z;if(Z instanceof TypeError&&!SW(Z)){if(X)throw Z;return W.signal?.throwIfAborted(),!1}if(!await W.shouldRetry(J))throw Z;if(!X)return W.signal?.throwIfAborted(),!1;let H=b2(Y,W),N=Math.min(H,K);if(N>0)await new Promise((A,E)=>{let P=()=>{clearTimeout(O),W.signal?.removeEventListener("abort",P),E(W.signal.reason)},O=setTimeout(()=>{W.signal?.removeEventListener("abort",P),A()},N);if(W.unref)O.unref?.();W.signal?.addEventListener("abort",P,{once:!0})});return W.signal?.throwIfAborted(),!0}async function Q1($,Q={}){if(Q={...Q},f2(Q.retries),Object.hasOwn(Q,"forever"))throw Error("The `forever` option is no longer supported. For many use-cases, you can set `retries: Infinity` instead.");if(Q.retries??=10,Q.factor??=2,Q.minTimeout??=1000,Q.maxTimeout??=Number.POSITIVE_INFINITY,Q.maxRetryTime??=Number.POSITIVE_INFINITY,Q.randomize??=!1,Q.onFailedAttempt??=()=>{},Q.shouldRetry??=()=>!0,Q.shouldConsumeRetry??=()=>!0,X9("factor",Q.factor,{min:0,allowInfinity:!1}),X9("minTimeout",Q.minTimeout,{min:0,allowInfinity:!1}),X9("maxTimeout",Q.maxTimeout,{min:0,allowInfinity:!0}),X9("maxRetryTime",Q.maxRetryTime,{min:0,allowInfinity:!0}),!(Q.factor>0))Q.factor=1;Q.signal?.throwIfAborted();let Y=0,G=0,W=performance.now();while(Number.isFinite(Q.retries)?G<=Q.retries:!0){Y++;try{Q.signal?.throwIfAborted();let Z=await $(Y);return Q.signal?.throwIfAborted(),Z}catch(Z){if(await g2({error:Z,attemptNumber:Y,retriesConsumed:G,startTime:W,options:Q}))G++}}throw Error("Retry attempts exhausted without throwing an error.")}var K9=F$(c1(),1),_V=b({AsyncCaller:()=>R4}),m2=[400,401,402,403,404,405,406,407,409],d2=($)=>{if(typeof $!=="object"||$===null)return;if("message"in $&&typeof $.message==="string"&&($.message.startsWith("Cancel")||$.message.startsWith("AbortError"))||"name"in $&&typeof $.name==="string"&&$.name==="AbortError")throw $;if("code"in $&&typeof $.code==="string"&&$.code==="ECONNABORTED")throw $;let Q="response"in $&&typeof $.response==="object"&&$.response!==null&&"status"in $.response&&typeof $.response.status==="number"?$.response.status:void 0,Y="status"in $&&typeof $.status==="number"?$.status:void 0,G=Q??Y;if(G&&m2.includes(+G))throw $;if(("error"in $&&typeof $.error==="object"&&$.error!==null&&"code"in $.error&&typeof $.error.code==="string"?$.error.code:void 0)==="insufficient_quota"){let W=Error("message"in $&&typeof $.message==="string"?$.message:"Insufficient quota");throw W.name="InsufficientQuotaError",W}},R4=class{maxConcurrency;maxRetries;onFailedAttempt;queue;constructor($){this.maxConcurrency=$.maxConcurrency??1/0,this.maxRetries=$.maxRetries??6,this.onFailedAttempt=$.onFailedAttempt??d2,this.queue=new("default"in K9.default?K9.default.default:K9.default)({concurrency:this.maxConcurrency})}async call($,...Q){return this.queue.add(()=>Q1(()=>$(...Q).catch((Y)=>{if(Y instanceof Error)throw Y;else throw Error(Y)}),{onFailedAttempt:({error:Y})=>this.onFailedAttempt?.(Y),retries:this.maxRetries,randomize:!0}),{throwOnTimeout:!0})}callWithOptions($,Q,...Y){if($.signal){let G;return Promise.race([this.call(Q,...Y),new Promise((W,Z)=>{G=()=>{Z(y$($.signal))},$.signal?.addEventListener("abort",G,{once:!0})})]).finally(()=>{if($.signal&&G)$.signal.removeEventListener("abort",G)})}return this.call(Q,...Y)}fetch(...$){return this.call(()=>fetch(...$).then((Q)=>Q.ok?Q:Promise.reject(Q)))}};function Y1($){return $?$.lc_runnable:!1}var LW=class{includeNames;includeTypes;includeTags;excludeNames;excludeTypes;excludeTags;constructor($){this.includeNames=$.includeNames,this.includeTypes=$.includeTypes,this.includeTags=$.includeTags,this.excludeNames=$.excludeNames,this.excludeTypes=$.excludeTypes,this.excludeTags=$.excludeTags}includeEvent($,Q){let Y=this.includeNames===void 0&&this.includeTypes===void 0&&this.includeTags===void 0,G=$.tags??[];if(this.includeNames!==void 0)Y=Y||this.includeNames.includes($.name);if(this.includeTypes!==void 0)Y=Y||this.includeTypes.includes(Q);if(this.includeTags!==void 0)Y=Y||G.some((W)=>this.includeTags?.includes(W));if(this.excludeNames!==void 0)Y=Y&&!this.excludeNames.includes($.name);if(this.excludeTypes!==void 0)Y=Y&&!this.excludeTypes.includes(Q);if(this.excludeTags!==void 0)Y=Y&&G.every((W)=>!this.excludeTags?.includes(W));return Y}},MW=($)=>{return btoa($).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")};function T4($){return $.replace(/[^a-zA-Z-_0-9]/g,"_")}var u2=["*","_","`"];function p2($){let Q="";for(let[Y,G]of Object.entries($))Q+=` classDef ${Y} ${G};
61
+ `;return Q}function RW($,Q,Y){let{firstNode:G,lastNode:W,nodeColors:Z,withStyles:q=!0,curveStyle:z="linear",wrapLabelNWords:J=9}=Y??{},X=q?`%%{init: {'flowchart': {'curve': '${z}'}}}%%
62
+ graph TD;
63
+ `:`graph TD;
64
+ `;if(q){let P={["default"]:"{0}({1})"};if(G!==void 0)P[G]="{0}([{1}]):::first";if(W!==void 0)P[W]="{0}([{1}]):::last";for(let[O,L]of Object.entries($)){let V=L.name.split(":").pop()??"",x=u2.some((m)=>V.startsWith(m)&&V.endsWith(m))?`<p>${V}</p>`:V;if(Object.keys(L.metadata??{}).length)x+=`<hr/><small><em>${Object.entries(L.metadata??{}).map(([m,u])=>`${m} = ${u}`).join(`
65
+ `)}</em></small>`;let R=(P[O]??P.default).replace("{0}",T4(O)).replace("{1}",x);X+=` ${R}
66
+ `}}let K={};for(let E of Q){let P=E.source.split(":"),O=E.target.split(":"),L=P.filter((V,x)=>V===O[x]).join(":");if(!K[L])K[L]=[];K[L].push(E)}let H=new Set;function N(E){return[...E].sort((P,O)=>{return P.split(":").length-O.split(":").length})}function A(E,P){let O=E.length===1&&E[0].source===E[0].target;if(P&&!O){let V=P.split(":").pop();if(H.has(P))throw Error(`Found duplicate subgraph '${V}' at '${P} -- this likely means that you're reusing a subgraph node with the same name. Please adjust your graph to have subgraph nodes with unique names.`);H.add(P),X+=` subgraph ${V}
67
+ `}let L=N(Object.keys(K).filter((V)=>V.startsWith(`${P}:`)&&V!==P&&V.split(":").length===P.split(":").length+1));for(let V of L)A(K[V],V);for(let V of E){let{source:x,target:R,data:m,conditional:u}=V,l="";if(m!==void 0){let Z0=m,Y0=Z0.split(" ");if(Y0.length>J)Z0=Array.from({length:Math.ceil(Y0.length/J)},(d0,y0)=>Y0.slice(y0*J,(y0+1)*J).join(" ")).join("&nbsp;<br>&nbsp;");l=u?` -. &nbsp;${Z0}&nbsp; .-> `:` -- &nbsp;${Z0}&nbsp; --> `}else l=u?" -.-> ":" --> ";X+=` ${T4(x)}${l}${T4(R)};
68
+ `}if(P&&!O)X+=` end
69
+ `}A(K[""]??[],"");for(let E in K)if(!E.includes(":")&&E!=="")A(K[E],E);if(q)X+=p2(Z??{});return X}async function TW($,Q){let Y=Q?.backgroundColor??"white",G=Q?.imageType??"png",W=MW($);if(Y!==void 0){if(!/^#(?:[0-9a-fA-F]{3}){1,2}$/.test(Y))Y=`!${Y}`}let Z=`https://mermaid.ink/img/${W}?bgColor=${Y}&type=${G}`,q=await fetch(Z);if(!q.ok)throw Error(["Failed to render the graph using the Mermaid.INK API.",`Status code: ${q.status}`,`Status text: ${q.statusText}`].join(`
70
+ `));return await q.blob()}var fV=b({Graph:()=>H9});function l2($,Q){if($!==void 0&&!p$($))return $;else if(Y1(Q))try{let Y=Q.getName();return Y=Y.startsWith("Runnable")?Y.slice(8):Y,Y}catch{return Q.getName()}else return Q.name??"UnknownSchema"}function c2($){if(Y1($.data))return{type:"runnable",data:{id:$.data.lc_id,name:$.data.getName()}};else return{type:"schema",data:{...M4($.data.schema),title:$.data.name}}}var H9=class ${nodes={};edges=[];constructor(Q){this.nodes=Q?.nodes??this.nodes,this.edges=Q?.edges??this.edges}toJSON(){let Q={};return Object.values(this.nodes).forEach((Y,G)=>{Q[Y.id]=p$(Y.id)?G:Y.id}),{nodes:Object.values(this.nodes).map((Y)=>({id:Q[Y.id],...c2(Y)})),edges:this.edges.map((Y)=>{let G={source:Q[Y.source],target:Q[Y.target]};if(typeof Y.data<"u")G.data=Y.data;if(typeof Y.conditional<"u")G.conditional=Y.conditional;return G})}}addNode(Q,Y,G){if(Y!==void 0&&this.nodes[Y]!==void 0)throw Error(`Node with id ${Y} already exists`);let W=Y??l0(),Z={id:W,data:Q,name:l2(Y,Q),metadata:G};return this.nodes[W]=Z,Z}removeNode(Q){delete this.nodes[Q.id],this.edges=this.edges.filter((Y)=>Y.source!==Q.id&&Y.target!==Q.id)}addEdge(Q,Y,G,W){if(this.nodes[Q.id]===void 0)throw Error(`Source node ${Q.id} not in graph`);if(this.nodes[Y.id]===void 0)throw Error(`Target node ${Y.id} not in graph`);let Z={source:Q.id,target:Y.id,data:G,conditional:W};return this.edges.push(Z),Z}firstNode(){return IW(this)}lastNode(){return xW(this)}extend(Q,Y=""){let G=Y;if(Object.values(Q.nodes).map((J)=>J.id).every(p$))G="";let W=(J)=>{return G?`${G}:${J}`:J};Object.entries(Q.nodes).forEach(([J,X])=>{this.nodes[W(J)]={...X,id:W(J)}});let Z=Q.edges.map((J)=>{return{...J,source:W(J.source),target:W(J.target)}});this.edges=[...this.edges,...Z];let q=Q.firstNode(),z=Q.lastNode();return[q?{id:W(q.id),data:q.data}:void 0,z?{id:W(z.id),data:z.data}:void 0]}trimFirstNode(){let Q=this.firstNode();if(Q&&IW(this,[Q.id]))this.removeNode(Q)}trimLastNode(){let Q=this.lastNode();if(Q&&xW(this,[Q.id]))this.removeNode(Q)}reid(){let Q=Object.fromEntries(Object.values(this.nodes).map((W)=>[W.id,W.name])),Y=new Map;Object.values(Q).forEach((W)=>{Y.set(W,(Y.get(W)||0)+1)});let G=(W)=>{let Z=Q[W];if(p$(W)&&Y.get(Z)===1)return Z;else return W};return new $({nodes:Object.fromEntries(Object.entries(this.nodes).map(([W,Z])=>[G(W),{...Z,id:G(W)}])),edges:this.edges.map((W)=>({...W,source:G(W.source),target:G(W.target)}))})}drawMermaid(Q){let{withStyles:Y,curveStyle:G,nodeColors:W={default:"fill:#f2f0ff,line-height:1.2",first:"fill-opacity:0",last:"fill:#bfb6fc"},wrapLabelNWords:Z}=Q??{},q=this.reid(),z=q.firstNode(),J=q.lastNode();return RW(q.nodes,q.edges,{firstNode:z?.id,lastNode:J?.id,withStyles:Y,curveStyle:G,nodeColors:W,wrapLabelNWords:Z})}async drawMermaidPng(Q){return TW(this.drawMermaid(Q),{backgroundColor:Q?.backgroundColor})}};function IW($,Q=[]){let Y=new Set($.edges.filter((W)=>!Q.includes(W.source)).map((W)=>W.target)),G=[];for(let W of Object.values($.nodes))if(!Q.includes(W.id)&&!Y.has(W.id))G.push(W);return G.length===1?G[0]:void 0}function xW($,Q=[]){let Y=new Set($.edges.filter((W)=>!Q.includes(W.target)).map((W)=>W.source)),G=[];for(let W of Object.values($.nodes))if(!Q.includes(W.id)&&!Y.has(W.id))G.push(W);return G.length===1?G[0]:void 0}/*!
71
+ * https://github.com/Starcounter-Jack/JSON-Patch
72
+ * (c) 2017-2022 Joachim Wester
73
+ * MIT licensed
74
+ */var i2=Object.prototype.hasOwnProperty;function A9($,Q){return i2.call($,Q)}function U9($){if(Array.isArray($)){let Y=Array($.length);for(let G=0;G<Y.length;G++)Y[G]=""+G;return Y}if(Object.keys)return Object.keys($);let Q=[];for(let Y in $)if(A9($,Y))Q.push(Y);return Q}function V0($){switch(typeof $){case"object":return JSON.parse(JSON.stringify($));case"undefined":return null;default:return $}}function w9($){let Q=0,Y=$.length,G;while(Q<Y){if(G=$.charCodeAt(Q),G>=48&&G<=57){Q++;continue}return!1}return!0}function W$($){if($.indexOf("/")===-1&&$.indexOf("~")===-1)return $;return $.replace(/~/g,"~0").replace(/\//g,"~1")}function V9($){return $.replace(/~1/g,"/").replace(/~0/g,"~")}function N9($){if($===void 0)return!0;if($){if(Array.isArray($)){for(let Y=0,G=$.length;Y<G;Y++)if(N9($[Y]))return!0}else if(typeof $==="object"){let Y=U9($),G=Y.length;for(var Q=0;Q<G;Q++)if(N9($[Y[Q]]))return!0}}return!1}function jW($,Q){let Y=[$];for(let G in Q){let W=typeof Q[G]==="object"?JSON.stringify(Q[G],null,2):Q[G];if(typeof W<"u")Y.push(`${G}: ${W}`)}return Y.join(`
75
+ `)}var F9=class extends Error{constructor($,Q,Y,G,W){super(jW($,{name:Q,index:Y,operation:G,tree:W}));this.name=Q,this.index=Y,this.operation=G,this.tree=W,Object.setPrototypeOf(this,new.target.prototype),this.message=jW($,{name:Q,index:Y,operation:G,tree:W})}};var CW=b({JsonPatchError:()=>a,_areEquals:()=>h$,applyOperation:()=>U$,applyPatch:()=>_$,applyReducer:()=>vW,deepClone:()=>o2,getValueByPointer:()=>G1,validate:()=>I4,validator:()=>W1}),a=F9,o2=V0,f$={add:function($,Q,Y){if(Q==="__proto__"||Q==="constructor")throw TypeError("JSON-Patch: modifying `__proto__` or `constructor` prop is banned for security reasons");return $[Q]=this.value,{newDocument:Y}},remove:function($,Q,Y){if(Q==="__proto__"||Q==="constructor")throw TypeError("JSON-Patch: modifying `__proto__` or `constructor` prop is banned for security reasons");var G=$[Q];return delete $[Q],{newDocument:Y,removed:G}},replace:function($,Q,Y){if(Q==="__proto__"||Q==="constructor")throw TypeError("JSON-Patch: modifying `__proto__` or `constructor` prop is banned for security reasons");var G=$[Q];return $[Q]=this.value,{newDocument:Y,removed:G}},move:function($,Q,Y){let G=G1(Y,this.path);if(G)G=V0(G);let W=U$(Y,{op:"remove",path:this.from}).removed;return U$(Y,{op:"add",path:this.path,value:W}),{newDocument:Y,removed:G}},copy:function($,Q,Y){let G=G1(Y,this.from);return U$(Y,{op:"add",path:this.path,value:V0(G)}),{newDocument:Y}},test:function($,Q,Y){return{newDocument:Y,test:h$($[Q],this.value)}},_get:function($,Q,Y){return this.value=$[Q],{newDocument:Y}}},t2={add:function($,Q,Y){if(w9(Q))$.splice(Q,0,this.value);else $[Q]=this.value;return{newDocument:Y,index:Q}},remove:function($,Q,Y){return{newDocument:Y,removed:$.splice(Q,1)[0]}},replace:function($,Q,Y){var G=$[Q];return $[Q]=this.value,{newDocument:Y,removed:G}},move:f$.move,copy:f$.copy,test:f$.test,_get:f$._get};function G1($,Q){if(Q=="")return $;var Y={op:"_get",path:Q};return U$($,Y),Y.value}function U$($,Q,Y=!1,G=!0,W=!0,Z=0){if(Y)if(typeof Y=="function")Y(Q,0,$,Q.path);else W1(Q,0);if(Q.path===""){let q={newDocument:$};if(Q.op==="add")return q.newDocument=Q.value,q;else if(Q.op==="replace")return q.newDocument=Q.value,q.removed=$,q;else if(Q.op==="move"||Q.op==="copy"){if(q.newDocument=G1($,Q.from),Q.op==="move")q.removed=$;return q}else if(Q.op==="test"){if(q.test=h$($,Q.value),q.test===!1)throw new a("Test operation failed","TEST_OPERATION_FAILED",Z,Q,$);return q.newDocument=$,q}else if(Q.op==="remove")return q.removed=$,q.newDocument=null,q;else if(Q.op==="_get")return Q.value=$,q;else if(Y)throw new a("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",Z,Q,$);else return q}else{if(!G)$=V0($);let q=(Q.path||"").split("/"),z=$,J=1,X=q.length,K=void 0,H,N;if(typeof Y=="function")N=Y;else N=W1;while(!0){if(H=q[J],H&&H.indexOf("~")!=-1)H=V9(H);if(W&&(H=="__proto__"||H=="prototype"&&J>0&&q[J-1]=="constructor"))throw TypeError("JSON-Patch: modifying `__proto__` or `constructor/prototype` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function. More info in fast-json-patch README");if(Y){if(K===void 0){if(z[H]===void 0)K=q.slice(0,J).join("/");else if(J==X-1)K=Q.path;if(K!==void 0)N(Q,0,$,K)}}if(J++,Array.isArray(z)){if(H==="-")H=z.length;else if(Y&&!w9(H))throw new a("Expected an unsigned base-10 integer value, making the new referenced value the array element with the zero-based index","OPERATION_PATH_ILLEGAL_ARRAY_INDEX",Z,Q,$);else if(w9(H))H=~~H;if(J>=X){if(Y&&Q.op==="add"&&H>z.length)throw new a("The specified index MUST NOT be greater than the number of elements in the array","OPERATION_VALUE_OUT_OF_BOUNDS",Z,Q,$);let A=t2[Q.op].call(Q,z,H,$);if(A.test===!1)throw new a("Test operation failed","TEST_OPERATION_FAILED",Z,Q,$);return A}}else if(J>=X){let A=f$[Q.op].call(Q,z,H,$);if(A.test===!1)throw new a("Test operation failed","TEST_OPERATION_FAILED",Z,Q,$);return A}if(z=z[H],Y&&J<X&&(!z||typeof z!=="object"))throw new a("Cannot perform operation at the desired path","OPERATION_PATH_UNRESOLVABLE",Z,Q,$)}}}function _$($,Q,Y,G=!0,W=!0){if(Y){if(!Array.isArray(Q))throw new a("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY")}if(!G)$=V0($);let Z=Array(Q.length);for(let q=0,z=Q.length;q<z;q++)Z[q]=U$($,Q[q],Y,!0,W,q),$=Z[q].newDocument;return Z.newDocument=$,Z}function vW($,Q,Y){let G=U$($,Q);if(G.test===!1)throw new a("Test operation failed","TEST_OPERATION_FAILED",Y,Q,$);return G.newDocument}function W1($,Q,Y,G){if(typeof $!=="object"||$===null||Array.isArray($))throw new a("Operation is not an object","OPERATION_NOT_AN_OBJECT",Q,$,Y);else if(!f$[$.op])throw new a("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",Q,$,Y);else if(typeof $.path!=="string")throw new a("Operation `path` property is not a string","OPERATION_PATH_INVALID",Q,$,Y);else if($.path.indexOf("/")!==0&&$.path.length>0)throw new a('Operation `path` property must start with "/"',"OPERATION_PATH_INVALID",Q,$,Y);else if(($.op==="move"||$.op==="copy")&&typeof $.from!=="string")throw new a("Operation `from` property is not present (applicable in `move` and `copy` operations)","OPERATION_FROM_REQUIRED",Q,$,Y);else if(($.op==="add"||$.op==="replace"||$.op==="test")&&$.value===void 0)throw new a("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_REQUIRED",Q,$,Y);else if(($.op==="add"||$.op==="replace"||$.op==="test")&&N9($.value))throw new a("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED",Q,$,Y);else if(Y){if($.op=="add"){var W=$.path.split("/").length,Z=G.split("/").length;if(W!==Z+1&&W!==Z)throw new a("Cannot perform an `add` operation at the desired path","OPERATION_PATH_CANNOT_ADD",Q,$,Y)}else if($.op==="replace"||$.op==="remove"||$.op==="_get"){if($.path!==G)throw new a("Cannot perform the operation at a path that does not exist","OPERATION_PATH_UNRESOLVABLE",Q,$,Y)}else if($.op==="move"||$.op==="copy"){var q=I4([{op:"_get",path:$.from,value:void 0}],Y);if(q&&q.name==="OPERATION_PATH_UNRESOLVABLE")throw new a("Cannot perform the operation from a path that does not exist","OPERATION_FROM_UNRESOLVABLE",Q,$,Y)}}}function I4($,Q,Y){try{if(!Array.isArray($))throw new a("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");if(Q)_$(V0(Q),V0($),Y||!0);else{Y=Y||W1;for(var G=0;G<$.length;G++)Y($[G],G,Q,void 0)}}catch(W){if(W instanceof a)return W;else throw W}}function h$($,Q){if($===Q)return!0;if($&&Q&&typeof $=="object"&&typeof Q=="object"){var Y=Array.isArray($),G=Array.isArray(Q),W,Z,q;if(Y&&G){if(Z=$.length,Z!=Q.length)return!1;for(W=Z;W--!==0;)if(!h$($[W],Q[W]))return!1;return!0}if(Y!=G)return!1;var z=Object.keys($);if(Z=z.length,Z!==Object.keys(Q).length)return!1;for(W=Z;W--!==0;)if(!Q.hasOwnProperty(z[W]))return!1;for(W=Z;W--!==0;)if(q=z[W],!h$($[q],Q[q]))return!1;return!0}return $!==$&&Q!==Q}/*!
76
+ * https://github.com/Starcounter-Jack/JSON-Patch
77
+ * (c) 2013-2021 Joachim Wester
78
+ * MIT license
79
+ */function yW($,Q,Y,G,W){if(Q===$)return;if(typeof Q.toJSON==="function")Q=Q.toJSON();var Z=U9(Q),q=U9($),z=!1;for(var J=q.length-1;J>=0;J--){var X=q[J],K=$[X];if(A9(Q,X)&&!(Q[X]===void 0&&K!==void 0&&Array.isArray(Q)===!1)){var H=Q[X];if(typeof K=="object"&&K!=null&&typeof H=="object"&&H!=null&&Array.isArray(K)===Array.isArray(H))yW(K,H,Y,G+"/"+W$(X),W);else if(K!==H){if(W)Y.push({op:"test",path:G+"/"+W$(X),value:V0(K)});Y.push({op:"replace",path:G+"/"+W$(X),value:V0(H)})}}else if(Array.isArray($)===Array.isArray(Q)){if(W)Y.push({op:"test",path:G+"/"+W$(X),value:V0(K)});Y.push({op:"remove",path:G+"/"+W$(X)}),z=!0}else{if(W)Y.push({op:"test",path:G,value:$});Y.push({op:"replace",path:G,value:Q})}}if(!z&&Z.length==q.length)return;for(var J=0;J<Z.length;J++){var X=Z[J];if(!A9($,X)&&Q[X]!==void 0)Y.push({op:"add",path:G+"/"+W$(X),value:V0(Q[X])})}}function s2($,Q,Y=!1){var G=[];return yW($,Q,G,"",Y),G}var sV={...CW,JsonPatchError:F9,deepClone:V0,escapePathComponent:W$,unescapePathComponent:V9};var YF=b({LogStreamCallbackHandler:()=>D9,RunLog:()=>O9,RunLogPatch:()=>n0,isLogStreamHandler:()=>x4}),n0=class{ops;constructor($){this.ops=$.ops??[]}concat($){let Q=this.ops.concat($.ops),Y=_$({},Q);return new O9({ops:Q,state:Y[Y.length-1].newDocument})}},O9=class $ extends n0{state;constructor(Q){super(Q);this.state=Q.state}concat(Q){let Y=this.ops.concat(Q.ops),G=_$(this.state,Q.ops);return new $({ops:Y,state:G[G.length-1].newDocument})}static fromRunLogPatch(Q){let Y=_$({},Q.ops);return new $({ops:Q.ops,state:Y[Y.length-1].newDocument})}},x4=($)=>$.name==="log_stream_tracer";async function kW($,Q){if(Q==="original")throw Error("Do not assign inputs with original schema drop the key for now. When inputs are added to streamLog they should be added with standardized schema for streaming events.");let{inputs:Y}=$;if(["retriever","llm","prompt"].includes($.run_type))return Y;if(Object.keys(Y).length===1&&Y?.input==="")return;return Y.input}async function fW($,Q){let{outputs:Y}=$;if(Q==="original")return Y;if(["retriever","llm","prompt"].includes($.run_type))return Y;if(Y!==void 0&&Object.keys(Y).length===1&&Y?.output!==void 0)return Y.output;return Y}function r2($){return $!==void 0&&$.message!==void 0}var D9=class extends b0{autoClose=!0;includeNames;includeTypes;includeTags;excludeNames;excludeTypes;excludeTags;_schemaFormat="original";rootId;keyMapByRunId={};counterMapByRunName={};transformStream;writer;receiveStream;name="log_stream_tracer";lc_prefer_streaming=!0;constructor($){super({_awaitHandler:!0,...$});this.autoClose=$?.autoClose??!0,this.includeNames=$?.includeNames,this.includeTypes=$?.includeTypes,this.includeTags=$?.includeTags,this.excludeNames=$?.excludeNames,this.excludeTypes=$?.excludeTypes,this.excludeTags=$?.excludeTags,this._schemaFormat=$?._schemaFormat??this._schemaFormat,this.transformStream=new TransformStream,this.writer=this.transformStream.writable.getWriter(),this.receiveStream=U0.fromReadableStream(this.transformStream.readable)}[Symbol.asyncIterator](){return this.receiveStream}async persistRun($){}_includeRun($){if($.id===this.rootId)return!1;let Q=$.tags??[],Y=this.includeNames===void 0&&this.includeTags===void 0&&this.includeTypes===void 0;if(this.includeNames!==void 0)Y=Y||this.includeNames.includes($.name);if(this.includeTypes!==void 0)Y=Y||this.includeTypes.includes($.run_type);if(this.includeTags!==void 0)Y=Y||Q.find((G)=>this.includeTags?.includes(G))!==void 0;if(this.excludeNames!==void 0)Y=Y&&!this.excludeNames.includes($.name);if(this.excludeTypes!==void 0)Y=Y&&!this.excludeTypes.includes($.run_type);if(this.excludeTags!==void 0)Y=Y&&Q.every((G)=>!this.excludeTags?.includes(G));return Y}async*tapOutputIterable($,Q){for await(let Y of Q){if($!==this.rootId){let G=this.keyMapByRunId[$];if(G)await this.writer.write(new n0({ops:[{op:"add",path:`/logs/${G}/streamed_output/-`,value:Y}]}))}yield Y}}async onRunCreate($){if(this.rootId===void 0)this.rootId=$.id,await this.writer.write(new n0({ops:[{op:"replace",path:"",value:{id:$.id,name:$.name,type:$.run_type,streamed_output:[],final_output:void 0,logs:{}}}]}));if(!this._includeRun($))return;if(this.counterMapByRunName[$.name]===void 0)this.counterMapByRunName[$.name]=0;this.counterMapByRunName[$.name]+=1;let Q=this.counterMapByRunName[$.name];this.keyMapByRunId[$.id]=Q===1?$.name:`${$.name}:${Q}`;let Y={id:$.id,name:$.name,type:$.run_type,tags:$.tags??[],metadata:$.extra?.metadata??{},start_time:new Date($.start_time).toISOString(),streamed_output:[],streamed_output_str:[],final_output:void 0,end_time:void 0};if(this._schemaFormat==="streaming_events")Y.inputs=await kW($,this._schemaFormat);await this.writer.write(new n0({ops:[{op:"add",path:`/logs/${this.keyMapByRunId[$.id]}`,value:Y}]}))}async onRunUpdate($){try{let Q=this.keyMapByRunId[$.id];if(Q===void 0)return;let Y=[];if(this._schemaFormat==="streaming_events")Y.push({op:"replace",path:`/logs/${Q}/inputs`,value:await kW($,this._schemaFormat)});if(Y.push({op:"add",path:`/logs/${Q}/final_output`,value:await fW($,this._schemaFormat)}),$.end_time!==void 0)Y.push({op:"add",path:`/logs/${Q}/end_time`,value:new Date($.end_time).toISOString()});let G=new n0({ops:Y});await this.writer.write(G)}finally{if($.id===this.rootId){let Q=new n0({ops:[{op:"replace",path:"/final_output",value:await fW($,this._schemaFormat)}]});if(await this.writer.write(Q),this.autoClose)await this.writer.close()}}}async onLLMNewToken($,Q,Y){let G=this.keyMapByRunId[$.id];if(G===void 0)return;let W=$.inputs.messages!==void 0,Z;if(W)if(r2(Y?.chunk))Z=Y?.chunk;else Z=new T$({id:`run-${$.id}`,content:Q});else Z=Q;let q=new n0({ops:[{op:"add",path:`/logs/${G}/streamed_output_str/-`,value:Q},{op:"add",path:`/logs/${G}/streamed_output/-`,value:Z}]});await this.writer.write(q)}};function B9({name:$,serialized:Q}){if($!==void 0)return $;if(Q?.name!==void 0)return Q.name;else if(Q?.id!==void 0&&Array.isArray(Q?.id))return Q.id[Q.id.length-1];return"Unnamed"}var hW=($)=>$.name==="event_stream_tracer",bW=class extends b0{autoClose=!0;includeNames;includeTypes;includeTags;excludeNames;excludeTypes;excludeTags;runInfoMap=new Map;tappedPromises=new Map;transformStream;writer;receiveStream;readableStreamClosed=!1;name="event_stream_tracer";lc_prefer_streaming=!0;constructor($){super({_awaitHandler:!0,...$});this.autoClose=$?.autoClose??!0,this.includeNames=$?.includeNames,this.includeTypes=$?.includeTypes,this.includeTags=$?.includeTags,this.excludeNames=$?.excludeNames,this.excludeTypes=$?.excludeTypes,this.excludeTags=$?.excludeTags,this.transformStream=new TransformStream({flush:()=>{this.readableStreamClosed=!0}}),this.writer=this.transformStream.writable.getWriter(),this.receiveStream=U0.fromReadableStream(this.transformStream.readable)}[Symbol.asyncIterator](){return this.receiveStream}async persistRun($){}_includeRun($){let Q=$.tags??[],Y=this.includeNames===void 0&&this.includeTags===void 0&&this.includeTypes===void 0;if(this.includeNames!==void 0)Y=Y||this.includeNames.includes($.name);if(this.includeTypes!==void 0)Y=Y||this.includeTypes.includes($.runType);if(this.includeTags!==void 0)Y=Y||Q.find((G)=>this.includeTags?.includes(G))!==void 0;if(this.excludeNames!==void 0)Y=Y&&!this.excludeNames.includes($.name);if(this.excludeTypes!==void 0)Y=Y&&!this.excludeTypes.includes($.runType);if(this.excludeTags!==void 0)Y=Y&&Q.every((G)=>!this.excludeTags?.includes(G));return Y}async*tapOutputIterable($,Q){let Y=await Q.next();if(Y.done)return;let G=this.runInfoMap.get($);if(G===void 0){yield Y.value;return}function W(q,z){if(q==="llm"&&typeof z==="string")return new $1({text:z});return z}let Z=this.tappedPromises.get($);if(Z===void 0){let q;Z=new Promise((z)=>{q=z}),this.tappedPromises.set($,Z);try{let z={event:`on_${G.runType}_stream`,run_id:$,name:G.name,tags:G.tags,metadata:G.metadata,data:{}};await this.send({...z,data:{chunk:W(G.runType,Y.value)}},G),yield Y.value;for await(let J of Q){if(G.runType!=="tool"&&G.runType!=="retriever")await this.send({...z,data:{chunk:W(G.runType,J)}},G);yield J}}finally{q?.()}}else{yield Y.value;for await(let q of Q)yield q}}async send($,Q){if(this.readableStreamClosed)return;if(this._includeRun(Q))await this.writer.write($)}async sendEndEvent($,Q){let Y=this.tappedPromises.get($.run_id);if(Y!==void 0)Y.then(()=>{this.send($,Q)});else await this.send($,Q)}async onLLMStart($){let Q=B9($),Y=$.inputs.messages!==void 0?"chat_model":"llm",G={tags:$.tags??[],metadata:$.extra?.metadata??{},name:Q,runType:Y,inputs:$.inputs};this.runInfoMap.set($.id,G);let W=`on_${Y}_start`;await this.send({event:W,data:{input:$.inputs},name:Q,tags:$.tags??[],run_id:$.id,metadata:$.extra?.metadata??{}},G)}async onLLMNewToken($,Q,Y){let G=this.runInfoMap.get($.id),W,Z;if(G===void 0)throw Error(`onLLMNewToken: Run ID ${$.id} not found in run map.`);if(this.runInfoMap.size===1)return;if(G.runType==="chat_model")if(Z="on_chat_model_stream",Y?.chunk===void 0)W=new T$({content:Q,id:`run-${$.id}`});else W=Y.chunk.message;else if(G.runType==="llm")if(Z="on_llm_stream",Y?.chunk===void 0)W=new $1({text:Q});else W=Y.chunk;else throw Error(`Unexpected run type ${G.runType}`);await this.send({event:Z,data:{chunk:W},run_id:$.id,name:G.name,tags:G.tags,metadata:G.metadata},G)}async onLLMEnd($){let Q=this.runInfoMap.get($.id);this.runInfoMap.delete($.id);let Y;if(Q===void 0)throw Error(`onLLMEnd: Run ID ${$.id} not found in run map.`);let G=$.outputs?.generations,W;if(Q.runType==="chat_model"){for(let Z of G??[]){if(W!==void 0)break;W=Z[0]?.message}Y="on_chat_model_end"}else if(Q.runType==="llm")W={generations:G?.map((Z)=>{return Z.map((q)=>{return{text:q.text,generationInfo:q.generationInfo}})}),llmOutput:$.outputs?.llmOutput??{}},Y="on_llm_end";else throw Error(`onLLMEnd: Unexpected run type: ${Q.runType}`);await this.sendEndEvent({event:Y,data:{output:W,input:Q.inputs},run_id:$.id,name:Q.name,tags:Q.tags,metadata:Q.metadata},Q)}async onChainStart($){let Q=B9($),Y=$.run_type??"chain",G={tags:$.tags??[],metadata:$.extra?.metadata??{},name:Q,runType:$.run_type},W={};if($.inputs.input===""&&Object.keys($.inputs).length===1)W={},G.inputs={};else if($.inputs.input!==void 0)W.input=$.inputs.input,G.inputs=$.inputs.input;else W.input=$.inputs,G.inputs=$.inputs;this.runInfoMap.set($.id,G),await this.send({event:`on_${Y}_start`,data:W,name:Q,tags:$.tags??[],run_id:$.id,metadata:$.extra?.metadata??{}},G)}async onChainEnd($){let Q=this.runInfoMap.get($.id);if(this.runInfoMap.delete($.id),Q===void 0)throw Error(`onChainEnd: Run ID ${$.id} not found in run map.`);let Y=`on_${$.run_type}_end`,G=$.inputs??Q.inputs??{},W={output:$.outputs?.output??$.outputs,input:G};if(G.input&&Object.keys(G).length===1)W.input=G.input,Q.inputs=G.input;await this.sendEndEvent({event:Y,data:W,run_id:$.id,name:Q.name,tags:Q.tags,metadata:Q.metadata??{}},Q)}async onToolStart($){let Q=B9($),Y={tags:$.tags??[],metadata:$.extra?.metadata??{},name:Q,runType:"tool",inputs:$.inputs??{}};this.runInfoMap.set($.id,Y),await this.send({event:"on_tool_start",data:{input:$.inputs??{}},name:Q,run_id:$.id,tags:$.tags??[],metadata:$.extra?.metadata??{}},Y)}async onToolEnd($){let Q=this.runInfoMap.get($.id);if(this.runInfoMap.delete($.id),Q===void 0)throw Error(`onToolEnd: Run ID ${$.id} not found in run map.`);if(Q.inputs===void 0)throw Error(`onToolEnd: Run ID ${$.id} is a tool call, and is expected to have traced inputs.`);let Y=$.outputs?.output===void 0?$.outputs:$.outputs.output;await this.sendEndEvent({event:"on_tool_end",data:{output:Y,input:Q.inputs},run_id:$.id,name:Q.name,tags:Q.tags,metadata:Q.metadata},Q)}async onToolError($){let Q=this.runInfoMap.get($.id);if(this.runInfoMap.delete($.id),Q===void 0)throw Error(`onToolEnd: Run ID ${$.id} not found in run map.`);if(Q.inputs===void 0)throw Error(`onToolEnd: Run ID ${$.id} is a tool call, and is expected to have traced inputs.`);await this.sendEndEvent({event:"on_tool_error",data:{input:Q.inputs,error:$.error},run_id:$.id,name:Q.name,tags:Q.tags,metadata:Q.metadata},Q)}async onRetrieverStart($){let Q=B9($),Y={tags:$.tags??[],metadata:$.extra?.metadata??{},name:Q,runType:"retriever",inputs:{query:$.inputs.query}};this.runInfoMap.set($.id,Y),await this.send({event:"on_retriever_start",data:{input:{query:$.inputs.query}},name:Q,tags:$.tags??[],run_id:$.id,metadata:$.extra?.metadata??{}},Y)}async onRetrieverEnd($){let Q=this.runInfoMap.get($.id);if(this.runInfoMap.delete($.id),Q===void 0)throw Error(`onRetrieverEnd: Run ID ${$.id} not found in run map.`);await this.sendEndEvent({event:"on_retriever_end",data:{output:$.outputs?.documents??$.outputs,input:Q.inputs},run_id:$.id,name:Q.name,tags:Q.tags,metadata:Q.metadata},Q)}async handleCustomEvent($,Q,Y){let G=this.runInfoMap.get(Y);if(G===void 0)throw Error(`handleCustomEvent: Run ID ${Y} not found in run map.`);await this.send({event:"on_custom_event",run_id:Y,name:$,tags:G.tags,metadata:G.metadata,data:Q},G)}async finish(){let $=[...this.tappedPromises.values()];Promise.all($).finally(()=>{this.writer.close()})}};var j4=class extends b0{name="RootListenersTracer";rootId;config;argOnStart;argOnEnd;argOnError;constructor({config:$,onStart:Q,onEnd:Y,onError:G}){super({_awaitHandler:!0});this.config=$,this.argOnStart=Q,this.argOnEnd=Y,this.argOnError=G}persistRun($){return Promise.resolve()}async onRunCreate($){if(this.rootId)return;if(this.rootId=$.id,this.argOnStart)await this.argOnStart($,this.config)}async onRunUpdate($){if($.id!==this.rootId)return;if(!$.error){if(this.argOnEnd)await this.argOnEnd($,this.config)}else if(this.argOnError)await this.argOnError($,this.config)}};function gW($){let Q=new TextEncoder,Y=new ReadableStream({async start(G){for await(let W of $)G.enqueue(Q.encode(`event: data
80
+ data: ${JSON.stringify(W)}
81
+
82
+ `));G.enqueue(Q.encode(`event: end
83
+
84
+ `)),G.close()}});return U0.fromReadableStream(Y)}function C4($){return typeof $==="object"&&$!==null&&typeof $[Symbol.iterator]==="function"&&typeof $.next==="function"}var mW=($)=>$!=null&&typeof $==="object"&&("next"in $)&&typeof $.next==="function";function E9($){return typeof $==="object"&&$!==null&&typeof $[Symbol.asyncIterator]==="function"}function*v4($,Q){while(!0){let{value:Y,done:G}=_0.runWithConfig(G$($),Q.next.bind(Q),!0);if(G)break;else yield Y}}async function*P9($,Q){let Y=Q[Symbol.asyncIterator]();while(!0){let{value:G,done:W}=await _0.runWithConfig(G$($),Y.next.bind(Q),!0);if(W)break;else yield G}}function W0($,Q){return $&&!Array.isArray($)&&!($ instanceof Date)&&typeof $==="object"?$:{[Q]:$}}var L0=class extends Z${lc_runnable=!0;name;getName($){let Q=this.name??this.constructor.lc_name()??this.constructor.name;return $?`${Q}${$}`:Q}withRetry($){return new uW({bound:this,kwargs:{},config:{},maxAttemptNumber:$?.stopAfterAttempt,...$})}withConfig($){return new S9({bound:this,config:$,kwargs:{}})}withFallbacks($){let Q=Array.isArray($)?$:$.fallbacks;return new e2({runnable:this,fallbacks:Q})}_getOptionsList($,Q=0){if(Array.isArray($)&&$.length!==Q)throw Error(`Passed "options" must be an array with the same length as the inputs, but got ${$.length} options for ${Q} inputs`);if(Array.isArray($))return $.map(p);if(Q>1&&!Array.isArray($)&&$.runId){console.warn("Provided runId will be used only for the first element of the batch.");let Y=Object.fromEntries(Object.entries($).filter(([G])=>G!=="runId"));return Array.from({length:Q},(G,W)=>p(W===0?$:Y))}return Array.from({length:Q},()=>p($))}async batch($,Q,Y){let G=this._getOptionsList(Q??{},$.length),W=new R4({maxConcurrency:G[0]?.maxConcurrency??Y?.maxConcurrency,onFailedAttempt:(q)=>{throw q}}),Z=$.map((q,z)=>W.call(async()=>{try{return await this.invoke(q,G[z])}catch(J){if(Y?.returnExceptions)return J;throw J}}));return Promise.all(Z)}async*_streamIterator($,Q){yield this.invoke($,Q)}async stream($,Q){let Y=p(Q),G=new N$({generator:this._streamIterator($,Y),config:Y});return await G.setup,U0.fromAsyncGenerator(G)}_separateRunnableConfigFromCallOptions($){let Q;if($===void 0)Q=p($);else Q=p({callbacks:$.callbacks,tags:$.tags,metadata:$.metadata,runName:$.runName,configurable:$.configurable,recursionLimit:$.recursionLimit,maxConcurrency:$.maxConcurrency,runId:$.runId,timeout:$.timeout,signal:$.signal});let Y={...$};return delete Y.callbacks,delete Y.tags,delete Y.metadata,delete Y.runName,delete Y.configurable,delete Y.recursionLimit,delete Y.maxConcurrency,delete Y.runId,delete Y.timeout,delete Y.signal,[Q,Y]}async _callWithConfig($,Q,Y){let G=p(Y),W=await(await C0(G))?.handleChainStart(this.toJSON(),W0(Q,"input"),G.runId,G?.runType,void 0,void 0,G?.runName??this.getName());delete G.runId;let Z;try{Z=await s0($.call(this,Q,G,W),Y?.signal)}catch(q){throw await W?.handleChainError(q),q}return await W?.handleChainEnd(W0(Z,"output")),Z}async _batchWithConfig($,Q,Y,G){let W=this._getOptionsList(Y??{},Q.length),Z=await Promise.all(W.map(C0)),q=await Promise.all(Z.map(async(J,X)=>{let K=await J?.handleChainStart(this.toJSON(),W0(Q[X],"input"),W[X].runId,W[X].runType,void 0,void 0,W[X].runName??this.getName());return delete W[X].runId,K})),z;try{z=await s0($.call(this,Q,W,q,G),W?.[0]?.signal)}catch(J){throw await Promise.all(q.map((X)=>X?.handleChainError(J))),J}return await Promise.all(q.map((J)=>J?.handleChainEnd(W0(z,"output")))),z}_concatOutputChunks($,Q){return Z9($,Q)}async*_transformStreamWithConfig($,Q,Y){let G,W=!0,Z,q=!0,z=p(Y),J=await C0(z),X=this;async function*K(){for await(let N of $){if(W)if(G===void 0)G=N;else try{G=X._concatOutputChunks(G,N)}catch{G=void 0,W=!1}yield N}}let H;try{let N=await p6(Q.bind(this),K(),async()=>J?.handleChainStart(this.toJSON(),{input:""},z.runId,z.runType,void 0,void 0,z.runName??this.getName(),void 0,{lc_defers_inputs:!0}),Y?.signal,z);delete z.runId,H=N.setup;let A=H?.handlers.find(hW),E=N.output;if(A!==void 0&&H!==void 0)E=A.tapOutputIterable(H.runId,E);let P=H?.handlers.find(x4);if(P!==void 0&&H!==void 0)E=P.tapOutputIterable(H.runId,E);for await(let O of E)if(yield O,q)if(Z===void 0)Z=O;else try{Z=this._concatOutputChunks(Z,O)}catch{Z=void 0,q=!1}}catch(N){throw await H?.handleChainError(N,void 0,void 0,void 0,{inputs:W0(G,"input")}),N}await H?.handleChainEnd(Z??{},void 0,void 0,void 0,{inputs:W0(G,"input")})}getGraph($){let Q=new H9,Y=Q.addNode({name:`${this.getName()}Input`,schema:Z1.any()}),G=Q.addNode(this),W=Q.addNode({name:`${this.getName()}Output`,schema:Z1.any()});return Q.addEdge(Y,G),Q.addEdge(G,W),Q}pipe($){return new pW({first:this,last:L$($)})}pick($){return this.pipe(new Q3($))}assign($){return this.pipe(new $3(new _9({steps:$})))}async*transform($,Q){let Y;for await(let G of $)if(Y===void 0)Y=G;else Y=this._concatOutputChunks(Y,G);yield*this._streamIterator(Y,p(Q))}async*streamLog($,Q,Y){let G=new D9({...Y,autoClose:!1,_schemaFormat:"original"}),W=p(Q);yield*this._streamLog($,G,W)}async*_streamLog($,Q,Y){let{callbacks:G}=Y;if(G===void 0)Y.callbacks=[Q];else if(Array.isArray(G))Y.callbacks=G.concat([Q]);else{let z=G.copy();z.addHandler(Q,!0),Y.callbacks=z}let W=this.stream($,Y);async function Z(){try{let z=await W;for await(let J of z){let X=new n0({ops:[{op:"add",path:"/streamed_output/-",value:J}]});await Q.writer.write(X)}}finally{await Q.writer.close()}}let q=Z();try{for await(let z of Q)yield z}finally{await q}}streamEvents($,Q,Y){let G;if(Q.version==="v1")G=this._streamEventsV1($,Q,Y);else if(Q.version==="v2")G=this._streamEventsV2($,Q,Y);else throw Error('Only versions "v1" and "v2" of the schema are currently supported.');if(Q.encoding==="text/event-stream")return gW(G);else return U0.fromAsyncGenerator(G)}async*_streamEventsV2($,Q,Y){let G=new bW({...Y,autoClose:!1}),W=p(Q),Z=W.runId??l0();W.runId=Z;let q=W.callbacks;if(q===void 0)W.callbacks=[G];else if(Array.isArray(q))W.callbacks=q.concat(G);else{let A=q.copy();A.addHandler(G,!0),W.callbacks=A}let z=new AbortController,J=this;async function X(){let A,E=null;try{if(Q?.signal)if("any"in AbortSignal)A=AbortSignal.any([z.signal,Q.signal]);else A=Q.signal,E=()=>{z.abort()},Q.signal.addEventListener("abort",E,{once:!0});else A=z.signal;let P=await J.stream($,{...W,signal:A}),O=G.tapOutputIterable(Z,P);for await(let L of O)if(z.signal.aborted)break}finally{if(await G.finish(),A&&E)A.removeEventListener("abort",E)}}let K=X(),H=!1,N;try{for await(let A of G){if(!H){A.data.input=$,H=!0,N=A.run_id,yield A;continue}if(A.run_id===N&&A.event.endsWith("_end")){if(A.data?.input)delete A.data.input}yield A}}finally{z.abort(),await K}}async*_streamEventsV1($,Q,Y){let G,W=!1,Z=p(Q),q=Z.tags??[],z=Z.metadata??{},J=Z.runName??this.getName(),X=new D9({...Y,autoClose:!1,_schemaFormat:"streaming_events"}),K=new LW({...Y}),H=this._streamLog($,X,Z);for await(let A of H){if(!G)G=O9.fromRunLogPatch(A);else G=G.concat(A);if(G.state===void 0)throw Error('Internal error: "streamEvents" state is missing. Please open a bug report.');if(!W){W=!0;let L={...G.state},V={run_id:L.id,event:`on_${L.type}_start`,name:J,tags:q,metadata:z,data:{input:$}};if(K.includeEvent(V,L.type))yield V}let E=A.ops.filter((L)=>L.path.startsWith("/logs/")).map((L)=>L.path.split("/")[2]),P=[...new Set(E)];for(let L of P){let V,x={},R=G.state.logs[L];if(R.end_time===void 0)if(R.streamed_output.length>0)V="stream";else V="start";else V="end";if(V==="start"){if(R.inputs!==void 0)x.input=R.inputs}else if(V==="end"){if(R.inputs!==void 0)x.input=R.inputs;x.output=R.final_output}else if(V==="stream"){let m=R.streamed_output.length;if(m!==1)throw Error(`Expected exactly one chunk of streamed output, got ${m} instead. Encountered in: "${R.name}"`);x={chunk:R.streamed_output[0]},R.streamed_output=[]}yield{event:`on_${R.type}_${V}`,name:R.name,run_id:R.id,tags:R.tags,metadata:R.metadata,data:x}}let{state:O}=G;if(O.streamed_output.length>0){let L=O.streamed_output.length;if(L!==1)throw Error(`Expected exactly one chunk of streamed output, got ${L} instead. Encountered in: "${O.name}"`);let V={chunk:O.streamed_output[0]};O.streamed_output=[];let x={event:`on_${O.type}_stream`,run_id:O.id,tags:q,metadata:z,name:J,data:V};if(K.includeEvent(x,O.type))yield x}}let N=G?.state;if(N!==void 0){let A={event:`on_${N.type}_end`,name:J,run_id:N.id,tags:q,metadata:z,data:{output:N.final_output}};if(K.includeEvent(A,N.type))yield A}}static isRunnable($){return Y1($)}withListeners({onStart:$,onEnd:Q,onError:Y}){return new S9({bound:this,config:{},configFactories:[(G)=>({callbacks:[new j4({config:G,onStart:$,onEnd:Q,onError:Y})]})]})}asTool($){return Y3(this,$)}},S9=class $ extends L0{static lc_name(){return"RunnableBinding"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;bound;config;kwargs;configFactories;constructor(Q){super(Q);this.bound=Q.bound,this.kwargs=Q.kwargs,this.config=Q.config,this.configFactories=Q.configFactories}getName(Q){return this.bound.getName(Q)}async _mergeConfig(...Q){let Y=u6(this.config,...Q);return u6(Y,...this.configFactories?await Promise.all(this.configFactories.map(async(G)=>await G(Y))):[])}withConfig(Q){return new this.constructor({bound:this.bound,kwargs:this.kwargs,config:{...this.config,...Q}})}withRetry(Q){return new uW({bound:this.bound,kwargs:this.kwargs,config:this.config,maxAttemptNumber:Q?.stopAfterAttempt,...Q})}async invoke(Q,Y){return this.bound.invoke(Q,await this._mergeConfig(Y,this.kwargs))}async batch(Q,Y,G){let W=Array.isArray(Y)?await Promise.all(Y.map(async(Z)=>this._mergeConfig(p(Z),this.kwargs))):await this._mergeConfig(p(Y),this.kwargs);return this.bound.batch(Q,W,G)}_concatOutputChunks(Q,Y){return this.bound._concatOutputChunks(Q,Y)}async*_streamIterator(Q,Y){yield*this.bound._streamIterator(Q,await this._mergeConfig(p(Y),this.kwargs))}async stream(Q,Y){return this.bound.stream(Q,await this._mergeConfig(p(Y),this.kwargs))}async*transform(Q,Y){yield*this.bound.transform(Q,await this._mergeConfig(p(Y),this.kwargs))}streamEvents(Q,Y,G){let W=this,Z=async function*(){yield*W.bound.streamEvents(Q,{...await W._mergeConfig(p(Y),W.kwargs),version:Y.version},G)};return U0.fromAsyncGenerator(Z())}static isRunnableBinding(Q){return Q.bound&&L0.isRunnable(Q.bound)}withListeners({onStart:Q,onEnd:Y,onError:G}){return new $({bound:this.bound,kwargs:this.kwargs,config:this.config,configFactories:[(W)=>({callbacks:[new j4({config:W,onStart:Q,onEnd:Y,onError:G})]})]})}},dF=class $ extends L0{static lc_name(){return"RunnableEach"}lc_serializable=!0;lc_namespace=["langchain_core","runnables"];bound;constructor(Q){super(Q);this.bound=Q.bound}async invoke(Q,Y){return this._callWithConfig(this._invoke.bind(this),Q,Y)}async _invoke(Q,Y,G){return this.bound.batch(Q,z0(Y,{callbacks:G?.getChild()}))}withListeners({onStart:Q,onEnd:Y,onError:G}){return new $({bound:this.bound.withListeners({onStart:Q,onEnd:Y,onError:G})})}},uW=class extends S9{static lc_name(){return"RunnableRetry"}lc_namespace=["langchain_core","runnables"];maxAttemptNumber=3;onFailedAttempt=()=>{};constructor($){super($);this.maxAttemptNumber=$.maxAttemptNumber??this.maxAttemptNumber,this.onFailedAttempt=$.onFailedAttempt??this.onFailedAttempt}_patchConfigForRetry($,Q,Y){let G=$>1?`retry:attempt:${$}`:void 0;return z0(Q,{callbacks:Y?.getChild(G)})}async _invoke($,Q,Y){return Q1((G)=>super.invoke($,this._patchConfigForRetry(G,Q,Y)),{onFailedAttempt:({error:G})=>this.onFailedAttempt(G,$),retries:Math.max(this.maxAttemptNumber-1,0),randomize:!0})}async invoke($,Q){return this._callWithConfig(this._invoke.bind(this),$,Q)}async _batch($,Q,Y,G){let W={};try{await Q1(async(Z)=>{let q=$.map((H,N)=>N).filter((H)=>W[H.toString()]===void 0||W[H.toString()]instanceof Error),z=q.map((H)=>$[H]),J=q.map((H)=>this._patchConfigForRetry(Z,Q?.[H],Y?.[H])),X=await super.batch(z,J,{...G,returnExceptions:!0}),K;for(let H=0;H<X.length;H+=1){let N=X[H],A=q[H];if(N instanceof Error){if(K===void 0)K=N,K.input=z[H]}W[A.toString()]=N}if(K)throw K;return X},{onFailedAttempt:({error:Z})=>this.onFailedAttempt(Z,Z.input),retries:Math.max(this.maxAttemptNumber-1,0),randomize:!0})}catch(Z){if(G?.returnExceptions!==!0)throw Z}return Object.keys(W).sort((Z,q)=>parseInt(Z,10)-parseInt(q,10)).map((Z)=>W[parseInt(Z,10)])}async batch($,Q,Y){return this._batchWithConfig(this._batch.bind(this),$,Q,Y)}},pW=class $ extends L0{static lc_name(){return"RunnableSequence"}first;middle=[];last;omitSequenceTags=!1;lc_serializable=!0;lc_namespace=["langchain_core","runnables"];constructor(Q){super(Q);this.first=Q.first,this.middle=Q.middle??this.middle,this.last=Q.last,this.name=Q.name,this.omitSequenceTags=Q.omitSequenceTags??this.omitSequenceTags}get steps(){return[this.first,...this.middle,this.last]}async invoke(Q,Y){let G=p(Y),W=await(await C0(G))?.handleChainStart(this.toJSON(),W0(Q,"input"),G.runId,void 0,void 0,void 0,G?.runName);delete G.runId;let Z=Q,q;try{let z=[this.first,...this.middle];for(let J=0;J<z.length;J+=1)Z=await s0(z[J].invoke(Z,z0(G,{callbacks:W?.getChild(this.omitSequenceTags?void 0:`seq:step:${J+1}`)})),Y?.signal);if(Y?.signal?.aborted)throw y$(Y.signal);q=await this.last.invoke(Z,z0(G,{callbacks:W?.getChild(this.omitSequenceTags?void 0:`seq:step:${this.steps.length}`)}))}catch(z){throw await W?.handleChainError(z),z}return await W?.handleChainEnd(W0(q,"output")),q}async batch(Q,Y,G){let W=this._getOptionsList(Y??{},Q.length),Z=await Promise.all(W.map(C0)),q=await Promise.all(Z.map(async(J,X)=>{let K=await J?.handleChainStart(this.toJSON(),W0(Q[X],"input"),W[X].runId,void 0,void 0,void 0,W[X].runName);return delete W[X].runId,K})),z=Q;try{for(let J=0;J<this.steps.length;J+=1)z=await s0(this.steps[J].batch(z,q.map((X,K)=>{let H=X?.getChild(this.omitSequenceTags?void 0:`seq:step:${J+1}`);return z0(W[K],{callbacks:H})}),G),W[0]?.signal)}catch(J){throw await Promise.all(q.map((X)=>X?.handleChainError(J))),J}return await Promise.all(q.map((J)=>J?.handleChainEnd(W0(z,"output")))),z}_concatOutputChunks(Q,Y){return this.last._concatOutputChunks(Q,Y)}async*_streamIterator(Q,Y){let G=await C0(Y),{runId:W,...Z}=Y??{},q=await G?.handleChainStart(this.toJSON(),W0(Q,"input"),W,void 0,void 0,void 0,Z?.runName),z=[this.first,...this.middle,this.last],J=!0,X;async function*K(){yield Q}try{let H=z[0].transform(K(),z0(Z,{callbacks:q?.getChild(this.omitSequenceTags?void 0:"seq:step:1")}));for(let N=1;N<z.length;N+=1)H=await z[N].transform(H,z0(Z,{callbacks:q?.getChild(this.omitSequenceTags?void 0:`seq:step:${N+1}`)}));for await(let N of H)if(Y?.signal?.throwIfAborted(),yield N,J)if(X===void 0)X=N;else try{X=this._concatOutputChunks(X,N)}catch{X=void 0,J=!1}}catch(H){throw await q?.handleChainError(H),H}await q?.handleChainEnd(W0(X,"output"))}getGraph(Q){let Y=new H9,G=null;return this.steps.forEach((W,Z)=>{let q=W.getGraph(Q);if(Z!==0)q.trimFirstNode();if(Z!==this.steps.length-1)q.trimLastNode();Y.extend(q);let z=q.firstNode();if(!z)throw Error(`Runnable ${W} has no first node`);if(G)Y.addEdge(G,z);G=q.lastNode()}),Y}pipe(Q){if($.isRunnableSequence(Q))return new $({first:this.first,middle:this.middle.concat([this.last,Q.first,...Q.middle]),last:Q.last,name:this.name??Q.name});else return new $({first:this.first,middle:[...this.middle,this.last],last:L$(Q),name:this.name})}static isRunnableSequence(Q){return Array.isArray(Q.middle)&&L0.isRunnable(Q)}static from([Q,...Y],G){let W={};if(typeof G==="string")W.name=G;else if(G!==void 0)W=G;return new $({...W,first:L$(Q),middle:Y.slice(0,-1).map(L$),last:L$(Y[Y.length-1])})}},_9=class $ extends L0{static lc_name(){return"RunnableMap"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;steps;getStepsKeys(){return Object.keys(this.steps)}constructor(Q){super(Q);this.steps={};for(let[Y,G]of Object.entries(Q.steps))this.steps[Y]=L$(G)}static from(Q){return new $({steps:Q})}async invoke(Q,Y){let G=p(Y),W=await(await C0(G))?.handleChainStart(this.toJSON(),{input:Q},G.runId,void 0,void 0,void 0,G?.runName);delete G.runId;let Z={};try{let q=Object.entries(this.steps).map(async([z,J])=>{Z[z]=await J.invoke(Q,z0(G,{callbacks:W?.getChild(`map:key:${z}`)}))});await s0(Promise.all(q),Y?.signal)}catch(q){throw await W?.handleChainError(q),q}return await W?.handleChainEnd(Z),Z}async*_transform(Q,Y,G){let W={...this.steps},Z=W9(Q,Object.keys(W).length),q=new Map(Object.entries(W).map(([z,J],X)=>{let K=J.transform(Z[X],z0(G,{callbacks:Y?.getChild(`map:key:${z}`)}));return[z,K.next().then((H)=>({key:z,gen:K,result:H}))]}));while(q.size){let{key:z,result:J,gen:X}=await s0(Promise.race(q.values()),G?.signal);if(q.delete(z),!J.done)yield{[z]:J.value},q.set(z,X.next().then((K)=>({key:z,gen:X,result:K})))}}transform(Q,Y){return this._transformStreamWithConfig(Q,this._transform.bind(this),Y)}async stream(Q,Y){async function*G(){yield Q}let W=p(Y),Z=new N$({generator:this.transform(G(),W),config:W});return await Z.setup,U0.fromAsyncGenerator(Z)}},n2=class $ extends L0{lc_serializable=!1;lc_namespace=["langchain_core","runnables"];func;constructor(Q){super(Q);if(!Q9(Q.func))throw Error("RunnableTraceable requires a function that is wrapped in traceable higher-order function");this.func=Q.func}async invoke(Q,Y){let[G]=this._getOptionsList(Y??{},1),W=await C0(G);return s0(this.func(z0(G,{callbacks:W}),Q),G?.signal)}async*_streamIterator(Q,Y){let[G]=this._getOptionsList(Y??{},1),W=await this.invoke(Q,Y);if(E9(W)){for await(let Z of W)G?.signal?.throwIfAborted(),yield Z;return}if(mW(W)){while(!0){G?.signal?.throwIfAborted();let Z=W.next();if(Z.done)break;yield Z.value}return}yield W}static from(Q){return new $({func:Q})}};function a2($){if(Q9($))throw Error("RunnableLambda requires a function that is not wrapped in traceable higher-order function. This shouldn't happen.")}var lW=class $ extends L0{static lc_name(){return"RunnableLambda"}lc_namespace=["langchain_core","runnables"];func;constructor(Q){if(Q9(Q.func))return n2.from(Q.func);super(Q);a2(Q.func),this.func=Q.func}static from(Q){return new $({func:Q})}async _invoke(Q,Y,G){return new Promise((W,Z)=>{let q=z0(Y,{callbacks:G?.getChild(),recursionLimit:(Y?.recursionLimit??G9)-1});_0.runWithConfig(G$(q),async()=>{try{let z=await this.func(Q,{...q});if(z&&L0.isRunnable(z)){if(Y?.recursionLimit===0)throw Error("Recursion limit reached.");z=await z.invoke(Q,{...q,recursionLimit:(q.recursionLimit??G9)-1})}else if(E9(z)){let J;for await(let X of P9(q,z))if(Y?.signal?.throwIfAborted(),J===void 0)J=X;else try{J=this._concatOutputChunks(J,X)}catch{J=X}z=J}else if(C4(z)){let J;for(let X of v4(q,z))if(Y?.signal?.throwIfAborted(),J===void 0)J=X;else try{J=this._concatOutputChunks(J,X)}catch{J=X}z=J}W(z)}catch(z){Z(z)}})})}async invoke(Q,Y){return this._callWithConfig(this._invoke.bind(this),Q,Y)}async*_transform(Q,Y,G){let W;for await(let z of Q)if(W===void 0)W=z;else try{W=this._concatOutputChunks(W,z)}catch{W=z}let Z=z0(G,{callbacks:Y?.getChild(),recursionLimit:(G?.recursionLimit??G9)-1}),q=await new Promise((z,J)=>{_0.runWithConfig(G$(Z),async()=>{try{z(await this.func(W,{...Z,config:Z}))}catch(X){J(X)}})});if(q&&L0.isRunnable(q)){if(G?.recursionLimit===0)throw Error("Recursion limit reached.");let z=await q.stream(W,Z);for await(let J of z)yield J}else if(E9(q))for await(let z of P9(Z,q))G?.signal?.throwIfAborted(),yield z;else if(C4(q))for(let z of v4(Z,q))G?.signal?.throwIfAborted(),yield z;else yield q}transform(Q,Y){return this._transformStreamWithConfig(Q,this._transform.bind(this),Y)}async stream(Q,Y){async function*G(){yield Q}let W=p(Y),Z=new N$({generator:this.transform(G(),W),config:W});return await Z.setup,U0.fromAsyncGenerator(Z)}},uF=class extends _9{},e2=class extends L0{static lc_name(){return"RunnableWithFallbacks"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;runnable;fallbacks;constructor($){super($);this.runnable=$.runnable,this.fallbacks=$.fallbacks}*runnables(){yield this.runnable;for(let $ of this.fallbacks)yield $}async invoke($,Q){let Y=p(Q),G=await C0(Y),{runId:W,...Z}=Y,q=await G?.handleChainStart(this.toJSON(),W0($,"input"),W,void 0,void 0,void 0,Z?.runName),z=z0(Z,{callbacks:q?.getChild()});return await _0.runWithConfig(z,async()=>{let J;for(let X of this.runnables()){Y?.signal?.throwIfAborted();try{let K=await X.invoke($,z);return await q?.handleChainEnd(W0(K,"output")),K}catch(K){if(J===void 0)J=K}}if(J===void 0)throw Error("No error stored at end of fallback.");throw await q?.handleChainError(J),J})}async*_streamIterator($,Q){let Y=p(Q),G=await C0(Y),{runId:W,...Z}=Y,q=await G?.handleChainStart(this.toJSON(),W0($,"input"),W,void 0,void 0,void 0,Z?.runName),z,J;for(let K of this.runnables()){Y?.signal?.throwIfAborted();let H=z0(Z,{callbacks:q?.getChild()});try{J=P9(H,await K.stream($,H));break}catch(N){if(z===void 0)z=N}}if(J===void 0){let K=z??Error("No error stored at end of fallback.");throw await q?.handleChainError(K),K}let X;try{for await(let K of J){yield K;try{X=X===void 0?X:this._concatOutputChunks(X,K)}catch{X=void 0}}}catch(K){throw await q?.handleChainError(K),K}await q?.handleChainEnd(W0(X,"output"))}async batch($,Q,Y){if(Y?.returnExceptions)throw Error("Not implemented.");let G=this._getOptionsList(Q??{},$.length),W=await Promise.all(G.map((z)=>C0(z))),Z=await Promise.all(W.map(async(z,J)=>{let X=await z?.handleChainStart(this.toJSON(),W0($[J],"input"),G[J].runId,void 0,void 0,void 0,G[J].runName);return delete G[J].runId,X})),q;for(let z of this.runnables()){G[0].signal?.throwIfAborted();try{let J=await z.batch($,Z.map((X,K)=>z0(G[K],{callbacks:X?.getChild()})),Y);return await Promise.all(Z.map((X,K)=>X?.handleChainEnd(W0(J[K],"output")))),J}catch(J){if(q===void 0)q=J}}if(!q)throw Error("No error stored at end of fallbacks.");throw await Promise.all(Z.map((z)=>z?.handleChainError(q))),q}};function L$($){if(typeof $==="function")return new lW({func:$});else if(L0.isRunnable($))return $;else if(!Array.isArray($)&&typeof $==="object"){let Q={};for(let[Y,G]of Object.entries($))Q[Y]=L$(G);return new _9({steps:Q})}else throw Error(`Expected a Runnable, function or object.
85
+ Instead got an unsupported type.`)}var $3=class extends L0{static lc_name(){return"RunnableAssign"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;mapper;constructor($){if($ instanceof _9)$={mapper:$};super($);this.mapper=$.mapper}async invoke($,Q){let Y=await this.mapper.invoke($,Q);return{...$,...Y}}async*_transform($,Q,Y){let G=this.mapper.getStepsKeys(),[W,Z]=W9($),q=this.mapper.transform(Z,z0(Y,{callbacks:Q?.getChild()})),z=q.next();for await(let J of W){if(typeof J!=="object"||Array.isArray(J))throw Error(`RunnableAssign can only be used with objects as input, got ${typeof J}`);let X=Object.fromEntries(Object.entries(J).filter(([K])=>!G.includes(K)));if(Object.keys(X).length>0)yield X}yield(await z).value;for await(let J of q)yield J}transform($,Q){return this._transformStreamWithConfig($,this._transform.bind(this),Q)}async stream($,Q){async function*Y(){yield $}let G=p(Q),W=new N$({generator:this.transform(Y(),G),config:G});return await W.setup,U0.fromAsyncGenerator(W)}},Q3=class extends L0{static lc_name(){return"RunnablePick"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;keys;constructor($){if(typeof $==="string"||Array.isArray($))$={keys:$};super($);this.keys=$.keys}async _pick($){if(typeof this.keys==="string")return $[this.keys];else{let Q=this.keys.map((Y)=>[Y,$[Y]]).filter((Y)=>Y[1]!==void 0);return Q.length===0?void 0:Object.fromEntries(Q)}}async invoke($,Q){return this._callWithConfig(this._pick.bind(this),$,Q)}async*_transform($){for await(let Q of $){let Y=await this._pick(Q);if(Y!==void 0)yield Y}}transform($,Q){return this._transformStreamWithConfig($,this._transform.bind(this),Q)}async stream($,Q){async function*Y(){yield $}let G=p(Q),W=new N$({generator:this.transform(Y(),G),config:G});return await W.setup,U0.fromAsyncGenerator(W)}},dW=class extends S9{name;description;schema;constructor($){let Q=pW.from([lW.from(async(Y)=>{let G;if(E1(Y))try{G=await Z8(this.schema,Y.args)}catch{throw new cQ("Received tool input did not match expected schema",JSON.stringify(Y.args))}else G=Y;return G}).withConfig({runName:`${$.name}:parse_input`}),$.bound]).withConfig({runName:$.name});super({bound:Q,config:$.config??{}});this.name=$.name,this.description=$.description,this.schema=$.schema}static lc_name(){return"RunnableToolLike"}};function Y3($,Q){let Y=Q.name??$.getName(),G=Q.description??q8(Q.schema);if(z8(Q.schema))return new dW({name:Y,description:G,schema:Z1.object({input:Z1.string()}).transform((W)=>W.input),bound:$});return new dW({name:Y,description:G,schema:Q.schema,bound:$})}
86
+ export{b as vi,fX as wi,m9 as xi,_Z as yi,LZ as zi,q$ as Ai,ZQ as Bi,qQ as Ci,U3 as Di,zQ as Ei,w3 as Fi,V3 as Gi,y9 as Hi,F3 as Ii,q3 as Ji,YQ as Ki,QZ as Li,GQ as Mi,N3 as Ni,A1 as Oi,Z$ as Pi,FQ as Qi,O0 as Ri,DQ as Si,K0 as Ti,h3 as Ui,UZ as Vi,r as Wi,M$ as Xi,BQ as Yi,T0 as Zi,EQ as _i,PQ as $i,b3 as aj,dQ as bj,D1 as cj,p3 as dj,wZ as ej,V1 as fj,VZ as gj,h9 as hj,FZ as ij,OZ as jj,E1 as kj,mX as lj,cQ as mj,pX as nj,u9 as oj,p9 as pj,iQ as qj,iX as rj,oX as sj,oQ as tj,tQ as uj,nX as vj,aX as wj,F1 as xj,SQ as yj,t3 as zj,s3 as Aj,sQ as Bj,O1 as Cj,_Q as Dj,$X as Ej,QX as Fj,VK as Gj,FK as Hj,rQ as Ij,xZ as Jj,OK as Kj,DK as Lj,BK as Mj,nQ as Nj,R$ as Oj,RK as Pj,TK as Qj,T$ as Rj,g5 as Sj,BY as Tj,h0 as Uj,l0 as Vj,UY as Wj,j5 as Xj,p$ as Yj,l5 as Zj,Nz as _j,D$ as $j,J$ as ak,RN as bk,b0 as ck,vN as dk,aN as ek,qA as fk,LA as gk,cJ as hk,Y$ as ik,_0 as jk,uA as kk,C0 as lk,u6 as mk,p as nk,z0 as ok,G$ as pk,s0 as qk,y$ as rk,$U as sk,U0 as tk,Z9 as uk,N$ as vk,wV as wk,j2 as xk,$1 as yk,C2 as zk,s as Ak,$0 as Bk,vK as Ck,W8 as Dk,jZ as Ek,CZ as Fk,yK as Gk,kK as Hk,Z8 as Ik,fK as Jk,hK as Kk,q8 as Lk,bK as Mk,z8 as Nk,J8 as Ok,p0 as Pk,t9 as Qk,vZ as Rk,yZ as Sk,gK as Tk,aQ as Uk,mK as Vk,dK as Wk,P1 as Xk,eQ as Yk,uK as Zk,X8 as _k,pK as $k,lK as al,A$ as bl,t as cl,_4 as dl,NV as el,M4 as fl,J9 as gl,_$ as hl,s2 as il,YF as jl,_V as kl,R4 as ll,fV as ml,H9 as nl,W0 as ol,L0 as pl,S9 as ql,dF as rl,uW as sl,pW as tl,_9 as ul,lW as vl,uF as wl,e2 as xl,L$ as yl,$3 as zl,Q3 as Al,dW as Bl};