@evoscientist/webui 0.1.7 → 0.1.9

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 (89) hide show
  1. package/dist/.next/BUILD_ID +1 -1
  2. package/dist/.next/build-manifest.json +3 -3
  3. package/dist/.next/prerender-manifest.json +3 -3
  4. package/dist/.next/server/app/_global-error.html +1 -1
  5. package/dist/.next/server/app/_global-error.rsc +1 -1
  6. package/dist/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  7. package/dist/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  8. package/dist/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  9. package/dist/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  10. package/dist/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  11. package/dist/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  12. package/dist/.next/server/app/_not-found.html +1 -1
  13. package/dist/.next/server/app/_not-found.rsc +2 -2
  14. package/dist/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  15. package/dist/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  16. package/dist/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  17. package/dist/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  18. package/dist/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  19. package/dist/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  20. package/dist/.next/server/app/api/memory/executions/route.js.nft.json +1 -1
  21. package/dist/.next/server/app/api/memory/observations/route.js.nft.json +1 -1
  22. package/dist/.next/server/app/api/memory/route.js.nft.json +1 -1
  23. package/dist/.next/server/app/api/skills/catalog/route.js.nft.json +1 -1
  24. package/dist/.next/server/app/api/skills/detail/route.js.nft.json +1 -1
  25. package/dist/.next/server/app/api/skills/install/route.js.nft.json +1 -1
  26. package/dist/.next/server/app/api/skills/route.js.nft.json +1 -1
  27. package/dist/.next/server/app/index.html +1 -1
  28. package/dist/.next/server/app/index.rsc +3 -3
  29. package/dist/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  30. package/dist/.next/server/app/index.segments/_full.segment.rsc +3 -3
  31. package/dist/.next/server/app/index.segments/_head.segment.rsc +1 -1
  32. package/dist/.next/server/app/index.segments/_index.segment.rsc +2 -2
  33. package/dist/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  34. package/dist/.next/server/app/page.js.nft.json +1 -1
  35. package/dist/.next/server/app/page_client-reference-manifest.js +1 -1
  36. package/dist/.next/server/chunks/ssr/[root-of-the-server]__031lpnq._.js +153 -0
  37. package/dist/.next/server/chunks/ssr/[root-of-the-server]__098zro9._.js +1 -1
  38. package/dist/.next/server/chunks/ssr/[root-of-the-server]__0cylknl._.js +12 -0
  39. package/dist/.next/server/chunks/ssr/[root-of-the-server]__0lb9jwe._.js +1 -1
  40. package/dist/.next/server/chunks/ssr/[root-of-the-server]__0o15ly3._.js +3 -0
  41. package/dist/.next/server/chunks/ssr/[root-of-the-server]__0tcyn68._.js +1 -1
  42. package/dist/.next/server/chunks/ssr/[root-of-the-server]__0zi~h76._.js +1 -1
  43. package/dist/.next/server/chunks/ssr/{node_modules_0i22fqx._.js → node_modules_0-4cpr6._.js} +1 -1
  44. package/dist/.next/server/chunks/ssr/{node_modules_0pt7a~k._.js → node_modules_0-jp53t._.js} +1 -1
  45. package/dist/.next/server/chunks/ssr/{node_modules_11cs9c3._.js → node_modules_0-lj-hc._.js} +1 -1
  46. package/dist/.next/server/chunks/ssr/{node_modules_0o4i8s-._.js → node_modules_000i~jh._.js} +1 -1
  47. package/dist/.next/server/chunks/ssr/{node_modules_0u~7kdd._.js → node_modules_0360s-l._.js} +2 -2
  48. package/dist/.next/server/chunks/ssr/{node_modules_0jc5-~t._.js → node_modules_03gefr~._.js} +2 -2
  49. package/dist/.next/server/chunks/ssr/{node_modules_0exvyiz._.js → node_modules_05pc.px._.js} +1 -1
  50. package/dist/.next/server/chunks/ssr/{node_modules_0oq~17h._.js → node_modules_069--3d._.js} +1 -1
  51. package/dist/.next/server/chunks/ssr/{node_modules_0vtm3ig._.js → node_modules_09wle.b._.js} +1 -1
  52. package/dist/.next/server/chunks/ssr/{node_modules_07q94an._.js → node_modules_0a7t5w~._.js} +1 -1
  53. package/dist/.next/server/chunks/ssr/{node_modules_00z1bkq._.js → node_modules_0b3oavq._.js} +1 -1
  54. package/dist/.next/server/chunks/ssr/{node_modules_0e9xuzn._.js → node_modules_0e6_mc0._.js} +2 -2
  55. package/dist/.next/server/chunks/ssr/{node_modules_0_fokgy._.js → node_modules_0erdo7.._.js} +1 -1
  56. package/dist/.next/server/chunks/ssr/{node_modules_0szj0.q._.js → node_modules_0h13g9.._.js} +1 -1
  57. package/dist/.next/server/chunks/ssr/{node_modules_133ydhm._.js → node_modules_0i.79qy._.js} +1 -1
  58. package/dist/.next/server/chunks/ssr/{node_modules_0g5.3l_._.js → node_modules_0j4g6~g._.js} +1 -1
  59. package/dist/.next/server/chunks/ssr/{node_modules_0xbau2o._.js → node_modules_0l8jzzn._.js} +2 -2
  60. package/dist/.next/server/chunks/ssr/{node_modules_0bvuy26._.js → node_modules_0o3d.~l._.js} +2 -2
  61. package/dist/.next/server/chunks/ssr/{node_modules_0belz4_._.js → node_modules_0rir0z-._.js} +1 -1
  62. package/dist/.next/server/chunks/ssr/{node_modules_02.eqsj._.js → node_modules_0u-ji7t._.js} +1 -1
  63. package/dist/.next/server/chunks/ssr/{node_modules_0mf8p9i._.js → node_modules_0v.d328._.js} +1 -1
  64. package/dist/.next/server/chunks/ssr/{node_modules_0e16x_u._.js → node_modules_0wkir~d._.js} +2 -2
  65. package/dist/.next/server/chunks/ssr/{node_modules_0bhtirw._.js → node_modules_0x.p8yf._.js} +1 -1
  66. package/dist/.next/server/chunks/ssr/{node_modules_0dxj6bs._.js → node_modules_0zyf5mu._.js} +1 -1
  67. package/dist/.next/server/chunks/ssr/{node_modules_06xpw3f._.js → node_modules_0~.1dgw._.js} +1 -1
  68. package/dist/.next/server/chunks/ssr/{node_modules_0~u4d.2._.js → node_modules_112urwm._.js} +2 -2
  69. package/dist/.next/server/chunks/ssr/{node_modules_0fa12~p._.js → node_modules_11v3942._.js} +1 -1
  70. package/dist/.next/server/chunks/ssr/{node_modules_katex_dist_katex_mjs_0_nouxw._.js → node_modules_katex_dist_katex_mjs_0dvkszy._.js} +1 -1
  71. package/dist/.next/server/middleware-build-manifest.js +3 -3
  72. package/dist/.next/server/pages/404.html +1 -1
  73. package/dist/.next/server/pages/500.html +1 -1
  74. package/dist/.next/server/server-reference-manifest.js +1 -1
  75. package/dist/.next/server/server-reference-manifest.json +1 -1
  76. package/dist/.next/static/chunks/0akn6cfuwun5d.css +3 -0
  77. package/dist/.next/static/chunks/0fztj908zx93v.js +10 -0
  78. package/dist/.next/static/chunks/0n46g0ilh8wj..js +60 -0
  79. package/dist/.next/static/chunks/16k05wezoz4u0.js +1 -0
  80. package/dist/package.json +3 -3
  81. package/package.json +3 -3
  82. package/dist/.next/server/chunks/ssr/[root-of-the-server]__0.g_o4e._.js +0 -3
  83. package/dist/.next/server/chunks/ssr/[root-of-the-server]__0wd7vkh._.js +0 -166
  84. package/dist/.next/static/chunks/01y.jx.nxbr-q.js +0 -1
  85. package/dist/.next/static/chunks/0a5ash4p2xekw.css +0 -3
  86. package/dist/.next/static/chunks/0ar5yonogu4-6.js +0 -73
  87. /package/dist/.next/static/{d4eNysB7a29EpIBBuqJwV → y085vXnazd8RhLMChaZe5}/_buildManifest.js +0 -0
  88. /package/dist/.next/static/{d4eNysB7a29EpIBBuqJwV → y085vXnazd8RhLMChaZe5}/_clientMiddlewareManifest.js +0 -0
  89. /package/dist/.next/static/{d4eNysB7a29EpIBBuqJwV → y085vXnazd8RhLMChaZe5}/_ssgManifest.js +0 -0
@@ -0,0 +1,153 @@
1
+ module.exports=[953807,a=>{"use strict";var b=class{#a=[];#b=new Set;#c=!1;push(a){for(let b of(this.#a.push(a),this.#b))b();this.#b.clear()}close(){for(let a of(this.#c=!0,this.#b))a();this.#b.clear()}get length(){return this.#a.length}[Symbol.asyncIterator](){let a=0;return{next:async()=>{for(;;){if(a<this.#a.length)return{done:!1,value:this.#a[a++]};if(this.#c)return{done:!0,value:void 0};await new Promise(a=>{this.#b.add(a)})}},return:async()=>({done:!0,value:void 0})}}};a.s(["MultiCursorBuffer",0,b])},902157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},912714,(a,b,c)=>{b.exports=a.x("node:fs/promises",()=>require("node:fs/promises"))},750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},953686,(a,b,c)=>{"use strict";var d=Object.prototype.hasOwnProperty,e="~";function f(){}function g(a,b,c){this.fn=a,this.context=b,this.once=c||!1}function h(a,b,c,d,f){if("function"!=typeof c)throw TypeError("The listener must be a function");var h=new g(c,d||a,f),i=e?e+b:b;return a._events[i]?a._events[i].fn?a._events[i]=[a._events[i],h]:a._events[i].push(h):(a._events[i]=h,a._eventsCount++),a}function i(a,b){0==--a._eventsCount?a._events=new f:delete a._events[b]}function j(){this._events=new f,this._eventsCount=0}Object.create&&(f.prototype=Object.create(null),new f().__proto__||(e=!1)),j.prototype.eventNames=function(){var a,b,c=[];if(0===this._eventsCount)return c;for(b in a=this._events)d.call(a,b)&&c.push(e?b.slice(1):b);return Object.getOwnPropertySymbols?c.concat(Object.getOwnPropertySymbols(a)):c},j.prototype.listeners=function(a){var b=e?e+a:a,c=this._events[b];if(!c)return[];if(c.fn)return[c.fn];for(var d=0,f=c.length,g=Array(f);d<f;d++)g[d]=c[d].fn;return g},j.prototype.listenerCount=function(a){var b=e?e+a:a,c=this._events[b];return c?c.fn?1:c.length:0},j.prototype.emit=function(a,b,c,d,f,g){var h=e?e+a:a;if(!this._events[h])return!1;var i,j,k=this._events[h],l=arguments.length;if(k.fn){switch(k.once&&this.removeListener(a,k.fn,void 0,!0),l){case 1:return k.fn.call(k.context),!0;case 2:return k.fn.call(k.context,b),!0;case 3:return k.fn.call(k.context,b,c),!0;case 4:return k.fn.call(k.context,b,c,d),!0;case 5:return k.fn.call(k.context,b,c,d,f),!0;case 6:return k.fn.call(k.context,b,c,d,f,g),!0}for(j=1,i=Array(l-1);j<l;j++)i[j-1]=arguments[j];k.fn.apply(k.context,i)}else{var m,n=k.length;for(j=0;j<n;j++)switch(k[j].once&&this.removeListener(a,k[j].fn,void 0,!0),l){case 1:k[j].fn.call(k[j].context);break;case 2:k[j].fn.call(k[j].context,b);break;case 3:k[j].fn.call(k[j].context,b,c);break;case 4:k[j].fn.call(k[j].context,b,c,d);break;default:if(!i)for(m=1,i=Array(l-1);m<l;m++)i[m-1]=arguments[m];k[j].fn.apply(k[j].context,i)}}return!0},j.prototype.on=function(a,b,c){return h(this,a,b,c,!1)},j.prototype.once=function(a,b,c){return h(this,a,b,c,!0)},j.prototype.removeListener=function(a,b,c,d){var f=e?e+a:a;if(!this._events[f])return this;if(!b)return i(this,f),this;var g=this._events[f];if(g.fn)g.fn!==b||d&&!g.once||c&&g.context!==c||i(this,f);else{for(var h=0,j=[],k=g.length;h<k;h++)(g[h].fn!==b||d&&!g[h].once||c&&g[h].context!==c)&&j.push(g[h]);j.length?this._events[f]=1===j.length?j[0]:j:i(this,f)}return this},j.prototype.removeAllListeners=function(a){var b;return a?(b=e?e+a:a,this._events[b]&&i(this,b)):(this._events=new f,this._eventsCount=0),this},j.prototype.off=j.prototype.removeListener,j.prototype.addListener=j.prototype.on,j.prefixed=e,j.EventEmitter=j,b.exports=j},143464,(a,b,c)=>{"use strict";b.exports=(a,b)=>(b=b||(()=>{}),a.then(a=>new Promise(a=>{a(b())}).then(()=>a),a=>new Promise(a=>{a(b())}).then(()=>{throw a})))},450813,(a,b,c)=>{"use strict";let d=a.r(143464);class e extends Error{constructor(a){super(a),this.name="TimeoutError"}}let f=(a,b,c)=>new Promise((f,g)=>{if("number"!=typeof b||b<0)throw TypeError("Expected `milliseconds` to be a positive number");if(b===1/0)return void f(a);let h=setTimeout(()=>{if("function"==typeof c){try{f(c())}catch(a){g(a)}return}let d="string"==typeof c?c:`Promise timed out after ${b} milliseconds`,h=c instanceof Error?c:new e(d);"function"==typeof a.cancel&&a.cancel(),g(h)},b);d(a.then(f,g),()=>{clearTimeout(h)})});b.exports=f,b.exports.default=f,b.exports.TimeoutError=e},786398,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),c.default=function(a,b,c){let d=0,e=a.length;for(;e>0;){let f=e/2|0,g=d+f;0>=c(a[g],b)?(d=++g,e-=f+1):e=f}return d}},583861,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});let d=a.r(786398);c.default=class{constructor(){this._queue=[]}enqueue(a,b){let c={priority:(b=Object.assign({priority:0},b)).priority,run:a};if(this.size&&this._queue[this.size-1].priority>=b.priority)return void this._queue.push(c);let e=d.default(this._queue,c,(a,b)=>b.priority-a.priority);this._queue.splice(e,0,c)}dequeue(){let a=this._queue.shift();return null==a?void 0:a.run}filter(a){return this._queue.filter(b=>b.priority===a.priority).map(a=>a.run)}get size(){return this._queue.length}}},166976,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});let d=a.r(953686),e=a.r(450813),f=a.r(583861),g=()=>{},h=new e.TimeoutError;c.default=class extends d{constructor(a){var b,c,d,e;if(super(),this._intervalCount=0,this._intervalEnd=0,this._pendingCount=0,this._resolveEmpty=g,this._resolveIdle=g,!("number"==typeof(a=Object.assign({carryoverConcurrencyCount:!1,intervalCap:1/0,interval:0,concurrency:1/0,autoStart:!0,queueClass:f.default},a)).intervalCap&&a.intervalCap>=1))throw TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${null!=(c=null==(b=a.intervalCap)?void 0:b.toString())?c:""}\` (${typeof a.intervalCap})`);if(void 0===a.interval||!(Number.isFinite(a.interval)&&a.interval>=0))throw TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${null!=(e=null==(d=a.interval)?void 0:d.toString())?e:""}\` (${typeof a.interval})`);this._carryoverConcurrencyCount=a.carryoverConcurrencyCount,this._isIntervalIgnored=a.intervalCap===1/0||0===a.interval,this._intervalCap=a.intervalCap,this._interval=a.interval,this._queue=new a.queueClass,this._queueClass=a.queueClass,this.concurrency=a.concurrency,this._timeout=a.timeout,this._throwOnTimeout=!0===a.throwOnTimeout,this._isPaused=!1===a.autoStart}get _doesIntervalAllowAnother(){return this._isIntervalIgnored||this._intervalCount<this._intervalCap}get _doesConcurrentAllowAnother(){return this._pendingCount<this._concurrency}_next(){this._pendingCount--,this._tryToStartAnother(),this.emit("next")}_resolvePromises(){this._resolveEmpty(),this._resolveEmpty=g,0===this._pendingCount&&(this._resolveIdle(),this._resolveIdle=g,this.emit("idle"))}_onResumeInterval(){this._onInterval(),this._initializeIntervalIfNeeded(),this._timeoutId=void 0}_isIntervalPaused(){let a=Date.now();if(void 0===this._intervalId){let b=this._intervalEnd-a;if(!(b<0))return void 0===this._timeoutId&&(this._timeoutId=setTimeout(()=>{this._onResumeInterval()},b)),!0;this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0}return!1}_tryToStartAnother(){if(0===this._queue.size)return this._intervalId&&clearInterval(this._intervalId),this._intervalId=void 0,this._resolvePromises(),!1;if(!this._isPaused){let a=!this._isIntervalPaused();if(this._doesIntervalAllowAnother&&this._doesConcurrentAllowAnother){let b=this._queue.dequeue();return!!b&&(this.emit("active"),b(),a&&this._initializeIntervalIfNeeded(),!0)}}return!1}_initializeIntervalIfNeeded(){this._isIntervalIgnored||void 0!==this._intervalId||(this._intervalId=setInterval(()=>{this._onInterval()},this._interval),this._intervalEnd=Date.now()+this._interval)}_onInterval(){0===this._intervalCount&&0===this._pendingCount&&this._intervalId&&(clearInterval(this._intervalId),this._intervalId=void 0),this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0,this._processQueue()}_processQueue(){for(;this._tryToStartAnother(););}get concurrency(){return this._concurrency}set concurrency(a){if(!("number"==typeof a&&a>=1))throw TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${a}\` (${typeof a})`);this._concurrency=a,this._processQueue()}async add(a,b={}){return new Promise((c,d)=>{let f=async()=>{this._pendingCount++,this._intervalCount++;try{let f=void 0===this._timeout&&void 0===b.timeout?a():e.default(Promise.resolve(a()),void 0===b.timeout?this._timeout:b.timeout,()=>{(void 0===b.throwOnTimeout?this._throwOnTimeout:b.throwOnTimeout)&&d(h)});c(await f)}catch(a){d(a)}this._next()};this._queue.enqueue(f,b),this._tryToStartAnother(),this.emit("add")})}async addAll(a,b){return Promise.all(a.map(async a=>this.add(a,b)))}start(){return this._isPaused&&(this._isPaused=!1,this._processQueue()),this}pause(){this._isPaused=!0}clear(){this._queue=new this._queueClass}async onEmpty(){if(0!==this._queue.size)return new Promise(a=>{let b=this._resolveEmpty;this._resolveEmpty=()=>{b(),a()}})}async onIdle(){if(0!==this._pendingCount||0!==this._queue.size)return new Promise(a=>{let b=this._resolveIdle;this._resolveIdle=()=>{b(),a()}})}get size(){return this._queue.size}sizeBy(a){return this._queue.filter(a).length}get pending(){return this._pendingCount}get isPaused(){return this._isPaused}get timeout(){return this._timeout}set timeout(a){this._timeout=a}}},925127,(a,b,c)=>{b.exports=a.x("node:worker_threads",()=>require("node:worker_threads"))},750800,319047,404100,613912,83144,868331,264916,946954,743637,824018,615472,a=>{"use strict";let b,c,d,e,f,g,h,i,j,k,l,m,n;var o,p,q,r,s,t,u,v,w,x,y,z=a.i(953807);function A(a){return"object"==typeof a&&null!==a&&"type"in a&&"string"==typeof a.type&&"source_type"in a&&("url"===a.source_type||"base64"===a.source_type||"text"===a.source_type||"id"===a.source_type)}function B({dataUrl:a,asTypedArray:b=!1}){let c=a.match(/^data:(\w+\/\w+);base64,([A-Za-z0-9+/]+=*)$/);if(c)return{mime_type:c[1].toLowerCase(),data:b?Uint8Array.from(atob(c[2]),a=>a.charCodeAt(0)):c[2]}}let C=/([A-Z]+)([A-Z][a-z0-9]+)/g,D=/([a-z0-9])([A-Z])/g,E=/[-_\s]+/g;function F(a,b){return b?.[a]||a.replace(C,"$1_$2").replace(D,"$1_$2").replace(E,"_").toLowerCase()}function G(a){return Array.isArray(a)?[...a]:{...a}}function H(a){let b=Object.getPrototypeOf(a);return"function"==typeof a.lc_name&&("function"!=typeof b.lc_name||a.lc_name()!==b.lc_name())?a.lc_name():a.name}var I=class a{lc_serializable=!1;lc_kwargs;static lc_name(){return this.name}get lc_id(){return[...this.lc_namespace,H(this.constructor)]}get lc_secrets(){}get lc_attributes(){}get lc_aliases(){}get lc_serializable_keys(){}constructor(a,...b){void 0!==this.lc_serializable_keys?this.lc_kwargs=Object.fromEntries(Object.entries(a||{}).filter(([a])=>this.lc_serializable_keys?.includes(a))):this.lc_kwargs=a??{}}toJSON(){if(!this.lc_serializable||this.lc_kwargs instanceof a||"object"!=typeof this.lc_kwargs||Array.isArray(this.lc_kwargs))return this.toJSONNotImplemented();let b={},c={},d=Object.keys(this.lc_kwargs).reduce((a,b)=>(a[b]=b in this?this[b]:this.lc_kwargs[b],a),{});for(let a=Object.getPrototypeOf(this);a;a=Object.getPrototypeOf(a))Object.assign(b,Reflect.get(a,"lc_aliases",this)),Object.assign(c,Reflect.get(a,"lc_secrets",this)),Object.assign(d,Reflect.get(a,"lc_attributes",this));Object.keys(c).forEach(a=>{let b=this,c=d,[e,...f]=a.split(".").reverse();for(let a of f.reverse()){if(!(a in b)||void 0===b[a])return;a in c&&void 0!==c[a]||("object"==typeof b[a]&&null!=b[a]?c[a]={}:Array.isArray(b[a])&&(c[a]=[])),b=b[a],c=c[a]}e in b&&void 0!==b[e]&&(c[e]=c[e]||b[e])});let e={},f=new WeakSet;for(let[a,b]of(f.add(this),Object.entries(d)))e[a]=function a(b,c=new WeakSet){if(null!==b&&"object"==typeof b&&!Array.isArray(b)){if(c.has(b))return{lc:1,type:"not_implemented",id:null!==b&&"object"==typeof b?"lc_id"in b&&Array.isArray(b.lc_id)?b.lc_id:[b.constructor?.name??"Object"]:[typeof b]};if(null!==b&&"object"==typeof b&&"lc_serializable"in b&&"function"==typeof b.toJSON)return b;if(c.add(b),"lc"in b||1===Object.keys(b).length&&"__lc_escaped__"in b)return c.delete(b),{__lc_escaped__:b};let d={};for(let[e,f]of Object.entries(b))d[e]=a(f,c);return c.delete(b),d}return Array.isArray(b)?b.map(b=>a(b,c)):b}(b,f);let g=function(a,b,c){let d={};for(let e in a)Object.hasOwn(a,e)&&(d[b(e,c)]=a[e]);return d}(Object.keys(c).length?function(a,b){let c=G(a);for(let[a,d]of Object.entries(b)){let[b,...e]=a.split(".").reverse(),f=c;for(let a of e.reverse()){if(void 0===f[a])break;f[a]=G(f[a]),f=f[a]}void 0!==f[b]&&(f[b]={lc:1,type:"secret",id:[d]})}return c}(e,c):e,F,b);return{lc:1,type:"constructor",id:this.lc_id,kwargs:g}}toJSONNotImplemented(){return{lc:1,type:"not_implemented",id:this.lc_id}}};function J(a,b){return K(a)&&a.type===b}function K(a){return"object"==typeof a&&null!==a}function L(a){return Array.isArray(a)}function M(a){return"string"==typeof a}function N(a){return"number"==typeof a}function O(a){return a instanceof Uint8Array}function P(a){try{return JSON.parse(a)}catch{return}}let Q=a=>a();function R(a){if(J(a,"document")&&K(a.source)&&"type"in a.source){if("base64"===a.source.type&&M(a.source.media_type)&&M(a.source.data))return{type:"file",mimeType:a.source.media_type,data:a.source.data};else if("url"===a.source.type&&M(a.source.url))return{type:"file",url:a.source.url};else if("file"===a.source.type&&M(a.source.file_id))return{type:"file",fileId:a.source.file_id};else if("text"===a.source.type&&M(a.source.data))return{type:"file",mimeType:String(a.source.media_type??"text/plain"),data:a.source.data}}else if(J(a,"image")&&K(a.source)&&"type"in a.source){if("base64"===a.source.type&&M(a.source.media_type)&&M(a.source.data))return{type:"image",mimeType:a.source.media_type,data:a.source.data};else if("url"===a.source.type&&M(a.source.url))return{type:"image",url:a.source.url};else if("file"===a.source.type&&M(a.source.file_id))return{type:"image",fileId:a.source.file_id}}}function S(a){return Array.from(function*(){for(let b of a){let a=R(b);a?yield a:yield b}}())}function T(a){return Array.from(function*(){for(let c of"string"==typeof a.content?[{type:"text",text:a.content}]:a.content){if(J(c,"text")&&M(c.text)){let{text:a,citations:b,...d}=c;if(L(b)&&b.length){let c=b.reduce((a,b)=>{let c=function(a){if("char_location"===a.type&&M(a.document_title)&&N(a.start_char_index)&&N(a.end_char_index)&&M(a.cited_text)){let{document_title:b,start_char_index:c,end_char_index:d,cited_text:e,...f}=a;return{...f,type:"citation",source:"char",title:b??void 0,startIndex:c,endIndex:d,citedText:e}}if("page_location"===a.type&&M(a.document_title)&&N(a.start_page_number)&&N(a.end_page_number)&&M(a.cited_text)){let{document_title:b,start_page_number:c,end_page_number:d,cited_text:e,...f}=a;return{...f,type:"citation",source:"page",title:b??void 0,startIndex:c,endIndex:d,citedText:e}}if("content_block_location"===a.type&&M(a.document_title)&&N(a.start_block_index)&&N(a.end_block_index)&&M(a.cited_text)){let{document_title:b,start_block_index:c,end_block_index:d,cited_text:e,...f}=a;return{...f,type:"citation",source:"block",title:b??void 0,startIndex:c,endIndex:d,citedText:e}}if("web_search_result_location"===a.type&&M(a.url)&&M(a.title)&&M(a.encrypted_index)&&M(a.cited_text)){let{url:b,title:c,encrypted_index:d,cited_text:e,...f}=a;return{...f,type:"citation",source:"url",url:b,title:c,startIndex:Number(d),endIndex:Number(d),citedText:e}}if("search_result_location"===a.type&&M(a.source)&&M(a.title)&&N(a.start_block_index)&&N(a.end_block_index)&&M(a.cited_text)){let{source:b,title:c,start_block_index:d,end_block_index:e,cited_text:f,...g}=a;return{...g,type:"citation",source:"search",url:b,title:c??void 0,startIndex:d,endIndex:e,citedText:f}}}(b);return c?[...a,c]:a},[]);yield{...d,type:"text",text:a,annotations:c};continue}yield{...d,type:"text",text:a};continue}if(J(c,"thinking")&&M(c.thinking)){let{thinking:a,signature:b,...d}=c;yield{...d,type:"reasoning",reasoning:a,signature:b};continue}if(J(c,"redacted_thinking")){yield{type:"non_standard",value:c};continue}else if(J(c,"tool_use")&&M(c.name)&&M(c.id)){yield{type:"tool_call",id:c.id,name:c.name,args:c.input};continue}else if(J(c,"input_json_delta")){var b;if(b=a,"function"==typeof b?._getType&&"function"==typeof b.concat&&"ai"===b._getType()&&a.tool_call_chunks?.length){let b=a.tool_call_chunks[0];yield{type:"tool_call_chunk",id:b.id,name:b.name,args:b.args,index:b.index};continue}}else if(J(c,"server_tool_use")&&M(c.name)&&M(c.id)){let{name:a,id:b}=c;if("web_search"===a){yield{id:b,type:"server_tool_call",name:"web_search",args:{query:Q(()=>{if("string"==typeof c.input)return c.input;if(K(c.input)&&M(c.input.query))return c.input.query;if(M(c.partial_json)){let a=P(c.partial_json);if(a?.query)return a.query}return""})}};continue}if("code_execution"===c.name){yield{id:b,type:"server_tool_call",name:"code_execution",args:{code:Q(()=>{if("string"==typeof c.input)return c.input;if(K(c.input)&&M(c.input.code))return c.input.code;if(M(c.partial_json)){let a=P(c.partial_json);if(a?.code)return a.code}return""})}};continue}}else if(J(c,"web_search_tool_result")&&M(c.tool_use_id)&&L(c.content)){let{content:a,tool_use_id:b}=c;yield{type:"server_tool_call_result",name:"web_search",toolCallId:b,status:"success",output:{urls:a.reduce((a,b)=>J(b,"web_search_result")?[...a,b.url]:a,[])}};continue}else if(J(c,"code_execution_tool_result")&&M(c.tool_use_id)&&K(c.content)){yield{type:"server_tool_call_result",name:"code_execution",toolCallId:c.tool_use_id,status:"success",output:c.content};continue}else if(J(c,"mcp_tool_use")){yield{id:c.id,type:"server_tool_call",name:"mcp_tool_use",args:c.input};continue}else if(J(c,"mcp_tool_result")&&M(c.tool_use_id)&&K(c.content)){yield{type:"server_tool_call_result",name:"mcp_tool_use",toolCallId:c.tool_use_id,status:"success",output:c.content};continue}else if(J(c,"container_upload")){yield{type:"server_tool_call",name:"container_upload",args:c.input};continue}else if(J(c,"search_result")){yield{id:c.id,type:"non_standard",value:c};continue}else if(J(c,"tool_result")){yield{id:c.id,type:"non_standard",value:c};continue}else{let a=R(c);if(a){yield a;continue}}yield{type:"non_standard",value:c}}}())}function U(a){return A(a)&&"url"===a.source_type&&"url"in a&&"string"==typeof a.url?{type:a.type,mimeType:a.mime_type,url:a.url,metadata:a.metadata}:A(a)&&"base64"===a.source_type&&"data"in a&&"string"==typeof a.data?{type:a.type,mimeType:a.mime_type??"application/octet-stream",data:a.data,metadata:a.metadata}:A(a)&&"id"===a.source_type&&"id"in a&&"string"==typeof a.id?{type:a.type,mimeType:a.mime_type,fileId:a.id,metadata:a.metadata}:a}function V(a){return a.map(U)}function W(a){let b=[];for(let c of a)(J(c,"image_url")&&K(c.image_url)||J(c,"input_audio")&&K(c.input_audio)||J(c,"file")&&K(c.file)?0:1)?b.push(c):b.push(function(a){if(J(a,"image_url")&&K(a.image_url)&&M(a.image_url.url)){let b=B({dataUrl:a.image_url.url});return b?{type:"image",mimeType:b.mime_type,data:b.data}:{type:"image",url:a.image_url.url}}if(J(a,"input_audio")&&K(a.input_audio)&&M(a.input_audio.data)&&M(a.input_audio.format))return{type:"audio",data:a.input_audio.data,mimeType:`audio/${a.input_audio.format}`};if(J(a,"file")&&K(a.file)&&M(a.file.data)){let b=B({dataUrl:a.file.data});if(b)return{type:"file",data:b.data,mimeType:b.mime_type};if(M(a.file.file_id))return{type:"file",fileId:a.file.file_id}}return a}(c));return b}function X(a){if("url_citation"===a.type){let{url:b,title:c,start_index:d,end_index:e}=a;return{type:"citation",url:b,title:c,startIndex:d,endIndex:e}}if("file_citation"===a.type){let{file_id:b,filename:c,index:d}=a;return{type:"citation",title:c,startIndex:d,endIndex:d,fileId:b}}return a}function Y(a){return Array.from(function*(){for(let b of(K(a.additional_kwargs?.reasoning)&&L(a.additional_kwargs.reasoning.summary)&&(yield{type:"reasoning",reasoning:a.additional_kwargs.reasoning.summary.reduce((a,b)=>K(b)&&M(b.text)?`${a}${b.text}`:a,"")}),"string"==typeof a.content?[{type:"text",text:a.content}]:a.content))if(J(b,"text")){let{text:a,annotations:c,phase:d,extras:e,...f}=b,g=K(e)?{...e}:{};M(d)&&(g.phase=d);let h=Object.keys(g).length>0?{extras:g}:{};Array.isArray(c)?yield{...f,...h,type:"text",text:String(a),annotations:c.map(X)}:yield{...f,...h,type:"text",text:String(a)}}for(let b of a.tool_calls??[])yield{type:"tool_call",id:b.id,name:b.name,args:b.args};if(K(a.additional_kwargs)&&L(a.additional_kwargs.tool_outputs))for(let b of a.additional_kwargs.tool_outputs){if(J(b,"web_search_call")){let a={};if(K(b.action)&&M(b.action.query)&&(a.query=b.action.query),yield{id:b.id,type:"server_tool_call",name:"web_search",args:a},"completed"===b.status||"failed"===b.status){let a={};K(b.action)&&(a.action=b.action),yield{type:"server_tool_call_result",toolCallId:M(b.id)?b.id:"",status:"completed"===b.status?"success":"error",output:a}}continue}if(J(b,"file_search_call")){yield{id:b.id,type:"server_tool_call",name:"file_search",args:{queries:L(b.queries)?b.queries:[]}},("completed"===b.status||"failed"===b.status)&&(yield{type:"server_tool_call_result",toolCallId:M(b.id)?b.id:"",status:"completed"===b.status?"success":"error",output:L(b.results)?{results:b.results}:{}});continue}if(J(b,"computer_call")){yield{type:"non_standard",value:b};continue}else if(J(b,"code_interpreter_call")){if(M(b.code)&&(yield{id:b.id,type:"server_tool_call",name:"code_interpreter",args:{code:b.code}}),L(b.outputs)){let a=Q(()=>{if("in_progress"!==b.status){if("completed"===b.status)return 0;if("incomplete"===b.status)return 127;if("interpreting"!==b.status&&"failed"===b.status)return 1}});for(let c of b.outputs)if(J(c,"logs")){yield{type:"server_tool_call_result",toolCallId:b.id??"",status:"success",output:{type:"code_interpreter_output",returnCode:a??0,stderr:[0,void 0].includes(a)?void 0:String(c.logs),stdout:[0,void 0].includes(a)?String(c.logs):void 0}};continue}}continue}else if(J(b,"mcp_call")){yield{id:b.id,type:"server_tool_call",name:"mcp_call",args:b.input};continue}else if(J(b,"mcp_list_tools")){yield{id:b.id,type:"server_tool_call",name:"mcp_list_tools",args:b.input};continue}else if(J(b,"mcp_approval_request")){yield{type:"non_standard",value:b};continue}else if(J(b,"tool_search_call")){let a={};K(b.arguments)&&Object.assign(a,b.arguments);let c={};M(b.execution)&&(c.execution=b.execution),M(b.status)&&(c.status=b.status),M(b.call_id)&&(c.call_id=b.call_id),yield{id:M(b.id)?b.id:"",type:"server_tool_call",name:"tool_search",args:a,...Object.keys(c).length>0?{extras:c}:{}};continue}else if(J(b,"tool_search_output")){let a={name:"tool_search"};M(b.execution)&&(a.execution=b.execution),yield{type:"server_tool_call_result",toolCallId:M(b.id)?b.id:"",status:"completed"===b.status?"success":"failed"===b.status?"error":"success",output:{tools:L(b.tools)?b.tools:[]},extras:a};continue}else if(J(b,"image_generation_call")){M(b.result)&&(yield{type:"image",mimeType:"image/png",data:b.result,id:M(b.id)?b.id:void 0,metadata:{status:M(b.status)?b.status:void 0}}),yield{type:"non_standard",value:b};continue}K(b)&&(yield{type:"non_standard",value:b})}}())}let Z=Symbol.for("langchain.message");function $(a){return Array.isArray(a)?a:"string"==typeof a?""===a?[]:[{type:"text",text:a}]:null==a?[]:[a]}function _(a,b){if("string"==typeof a)return""===a?b:"string"==typeof b?a+b:Array.isArray(b)&&0===b.length?a:Array.isArray(b)&&b.some(a=>A(a))?[{type:"text",source_type:"text",text:a},...b]:[{type:"text",text:a},...b];if(Array.isArray(b)){let c=$(a);return ah(c,b)??[...c,...b]}return""===b?a:Array.isArray(a)&&a.some(a=>A(a))?[...a,{type:"file",source_type:"text",text:b}]:[...$(a),{type:"text",text:b}]}function aa(a,b){return"error"===a||"error"===b?"error":"success"}var ab=class extends I{lc_namespace=["langchain_core","messages"];lc_serializable=!0;get lc_aliases(){return{additional_kwargs:"additional_kwargs",response_metadata:"response_metadata"}}[Z]=!0;id;name;content;additional_kwargs;response_metadata;_getType(){return this.type}getType(){return this._getType()}constructor(a){const b="string"==typeof a||Array.isArray(a)?{content:a}:a;b.additional_kwargs||(b.additional_kwargs={}),b.response_metadata||(b.response_metadata={}),super(b),this.name=b.name,void 0===b.content&&void 0!==b.contentBlocks?(this.content=b.contentBlocks,this.response_metadata={output_version:"v1",...b.response_metadata}):(void 0!==b.content?this.content=b.content??[]:this.content=[],this.response_metadata=b.response_metadata),this.additional_kwargs=b.additional_kwargs,this.id=b.id}get text(){return"string"==typeof this.content?this.content:Array.isArray(this.content)?this.content.map(a=>"string"==typeof a?a:"text"===a.type?a.text:"").join(""):""}get contentBlocks(){return[V,W,S].reduce((a,b)=>b(a),"string"==typeof this.content?[{type:"text",text:this.content}]:this.content)}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(a){var b;return"object"==typeof a&&null!==a&&Z in a&&!0===a[Z]&&"object"==typeof(b=a)&&null!==b&&"type"in b&&"content"in b&&("string"==typeof b.content||Array.isArray(b.content))}_updateId(a){this.id=a,this.lc_kwargs.id=a}get[Symbol.toStringTag](){return this.constructor.lc_name()}[Symbol.for("nodejs.util.inspect.custom")](a){var b,c;if(null===a)return this;let d=(b=this._printableFields,c=Math.max(4,a),JSON.stringify(function a(b,d){if("object"!=typeof b||null==b)return b;if(d>=c)return Array.isArray(b)?"[Array]":"[Object]";if(Array.isArray(b))return b.map(b=>a(b,d+1));let e={};for(let c of Object.keys(b))e[c]=a(b[c],d+1);return e}(b,0),null,2));return`${this.constructor.lc_name()} ${d}`}toFormattedString(a="pretty"){return function(a,b="pretty"){return"pretty"===b?function(a){let b=[],c=` ${a.type.charAt(0).toUpperCase()+a.type.slice(1)} Message `,d=Math.floor((80-c.length)/2),e="=".repeat(d),f=c.length%2==0?e:`${e}=`;if(b.push(`${e}${c}${f}`),"ai"===a.type&&a.tool_calls&&a.tool_calls.length>0)for(let c of(b.push("Tool Calls:"),a.tool_calls))for(let[a,d]of(b.push(` ${c.name} (${c.id})`),b.push(` Call ID: ${c.id}`),b.push(" Args:"),Object.entries(c.args)))b.push(` ${a}: ${"object"==typeof d?JSON.stringify(d):d}`);return"tool"===a.type&&a.name&&b.push(`Name: ${a.name}`),"string"==typeof a.content&&a.content.trim()&&(b.length>1&&b.push(""),b.push(a.content)),b.join("\n")}(a):JSON.stringify(a)}(this,a)}};let ac=["index","created","timestamp"];function ad(a,b,c){let d=c?.ignoreKeys??ac;if(null==a&&null==b)return;if(null==a||null==b)return a??b;let e={...a};for(let[a,f]of Object.entries(b))if(null==e[a])e[a]=f;else if(null==f)continue;else if(typeof e[a]!=typeof f||Array.isArray(e[a])!==Array.isArray(f))throw Error(`field[${a}] already exists in the message chunk, but with a different type.`);else if("string"==typeof e[a])if("type"===a)continue;else if(["id","name","output_version","model_provider"].includes(a))f&&(e[a]=f);else{if(d.includes(a))continue;e[a]+=f}else if("number"==typeof e[a]){if(d.includes(a))continue;e[a]=e[a]+f}else if("object"!=typeof e[a]||Array.isArray(e[a]))if(Array.isArray(e[a]))e[a]=ah(e[a],f,c);else{if(e[a]===f)continue;console.warn(`field[${a}] already exists in this message chunk and value has unsupported type.`)}else e[a]=ad(e[a],f,c);return e}function ae(a){var b;return"object"==typeof a&&null!==a&&"index"in a&&("number"==typeof(b=a.index)||"string"==typeof b)}function af(a){if("object"!=typeof a||null===a||!("id"in a))return!1;let b=a.id;return null!=b&&""!==b}function ag(a){return a.endsWith("_delta")?a.slice(0,-6):a}function ah(a,b,c){if(null!=a||null!=b){if(null==a||null==b)return a||b;let d=[...a];for(let a of b){let b=function(a,b){let c=ae(b),d=af(b);return c||d?a.findIndex(a=>{let e=ae(a),f=af(a);if(c&&e)return a.index===b.index&&("object"!=typeof a||null===a||"object"!=typeof b||null===b||!("type"in a)||!("type"in b)||"string"!=typeof a.type||"string"!=typeof b.type||ag(a.type)===ag(b.type))&&(!f||!d||a.id===b.id);return!c&&!e&&!!d&&!!f&&a.id===b.id}):-1}(d,a);if(-1!==b)d[b]=ad(d[b],a,c);else{if("object"==typeof a&&null!==a&&"text"in a&&""===a.text)continue;d.push(a)}}return d}}function ai(a,b,c){if(null!=a||null!=b)if(null==a||null==b)return a??b;else if(typeof a!=typeof b)throw Error(`Cannot merge objects of different types.
2
+ Left ${typeof a}
3
+ Right ${typeof b}`);else if("string"==typeof a&&"string"==typeof b)return a+b;else if(Array.isArray(a)&&Array.isArray(b))return ah(a,b,c);else if("object"==typeof a&&"object"==typeof b)return ad(a,b,c);else if(a===b)return a;else throw Error(`Can not merge objects of different types.
4
+ Left ${a}
5
+ Right ${b}`)}var aj=class a extends ab{static isInstance(b){if(!super.isInstance(b))return!1;let c=Object.getPrototypeOf(b);for(;null!==c;){if(c===a.prototype)return!0;c=Object.getPrototypeOf(c)}return!1}};function ak(a){return"string"==typeof a.role}function al(a){return"function"==typeof a?._getType}function am(a){return aj.isInstance(a)}function an(a,b){let c={};return(a?.audio!==void 0||b?.audio!==void 0)&&(c.audio=(a?.audio??0)+(b?.audio??0)),(a?.image!==void 0||b?.image!==void 0)&&(c.image=(a?.image??0)+(b?.image??0)),(a?.video!==void 0||b?.video!==void 0)&&(c.video=(a?.video??0)+(b?.video??0)),(a?.document!==void 0||b?.document!==void 0)&&(c.document=(a?.document??0)+(b?.document??0)),(a?.text!==void 0||b?.text!==void 0)&&(c.text=(a?.text??0)+(b?.text??0)),c}function ao(a,b){var c,d,e,f;let g,h;return{input_tokens:(a?.input_tokens??0)+(b?.input_tokens??0),output_tokens:(a?.output_tokens??0)+(b?.output_tokens??0),total_tokens:(a?.total_tokens??0)+(b?.total_tokens??0),input_token_details:(g={...an(c=a?.input_token_details,d=b?.input_token_details)},(c?.cache_read!==void 0||d?.cache_read!==void 0)&&(g.cache_read=(c?.cache_read??0)+(d?.cache_read??0)),(c?.cache_creation!==void 0||d?.cache_creation!==void 0)&&(g.cache_creation=(c?.cache_creation??0)+(d?.cache_creation??0)),g),output_token_details:(h={...an(e=a?.output_token_details,f=b?.output_token_details)},(e?.reasoning!==void 0||f?.reasoning!==void 0)&&(h.reasoning=(e?.reasoning??0)+(f?.reasoning??0)),h)}}a.s(["BaseMessage",0,ab,"BaseMessageChunk",0,aj,"DEFAULT_MERGE_IGNORE_KEYS",0,ac,"_isMessageFieldWithRole",0,ak,"_mergeDicts",0,ad,"_mergeLists",0,ah,"_mergeObj",0,ai,"_mergeStatus",0,aa,"isBaseMessage",0,al,"isBaseMessageChunk",0,am,"isOpenAIToolCallArray",0,function(a){return Array.isArray(a)&&a.every(a=>"number"==typeof a.index)},"mergeContent",0,_],319047);var ap=class extends ab{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(a,b,c){const d="string"==typeof a||Array.isArray(a)?{content:a,name:c,tool_call_id:b}:a;super(d),this.tool_call_id=d.tool_call_id,this.artifact=d.artifact,this.status=d.status,this.metadata=d.metadata}static isInstance(a){return super.isInstance(a)&&"tool"===a.type}get _printableFields(){return{...super._printableFields,tool_call_id:this.tool_call_id,artifact:this.artifact}}},aq=class extends aj{type="tool";tool_call_id;status;artifact;constructor(a){super(a),this.tool_call_id=a.tool_call_id,this.artifact=a.artifact,this.status=a.status}static lc_name(){return"ToolMessageChunk"}concat(a){return new this.constructor({content:_(this.content,a.content),additional_kwargs:ad(this.additional_kwargs,a.additional_kwargs),response_metadata:ad(this.response_metadata,a.response_metadata),artifact:ai(this.artifact,a.artifact),tool_call_id:this.tool_call_id,id:this.id??a.id,status:aa(this.status,a.status)})}get _printableFields(){return{...super._printableFields,tool_call_id:this.tool_call_id,artifact:this.artifact}}};function ar(a){let b=[],c=[];for(let d of a)if(!d.function)continue;else{let a=d.function.name;try{let c=JSON.parse(d.function.arguments);b.push({name:a||"",args:c||{},id:d.id})}catch{c.push({name:a,args:d.function.arguments,id:d.id,error:"Malformed args."})}}return[b,c]}function as(a){switch(a){case"csv":return"text/csv";case"doc":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":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 at(a){return Array.from(function*(){for(let b of"string"==typeof a.content?[{type:"text",text:a.content}]:a.content){if(J(b,"cache_point")){yield{type:"non_standard",value:b};continue}if(J(b,"citations_content")&&K(b.citationsContent)){yield{type:"text",text:L(b.citationsContent.content)?b.citationsContent.content.reduce((a,b)=>K(b)&&M(b.text)?a+b.text:a,""):"",annotations:L(b.citationsContent.citations)?b.citationsContent.citations.reduce((a,b)=>{if(K(b)){let c=L(b.sourceContent)?b.sourceContent.reduce((a,b)=>K(b)&&M(b.text)?a+b.text:a,""):"",d=Q(()=>{if(K(b.location)){let a=b.location.documentChar||b.location.documentPage||b.location.documentChunk;if(K(a))return{source:N(a.documentIndex)?a.documentIndex.toString():void 0,startIndex:N(a.start)?a.start:void 0,endIndex:N(a.end)?a.end:void 0}}return{}});a.push({type:"citation",citedText:c,...d})}return a},[]):[]};continue}if(J(b,"document")&&K(b.document)){yield function(a){if(K(a.document)&&K(a.document.source)){let b=as(K(a.document)&&M(a.document.format)?a.document.format:"");if(K(a.document.source)){if(K(a.document.source.s3Location)&&M(a.document.source.s3Location.uri))return{type:"file",mimeType:b,fileId:a.document.source.s3Location.uri};if(O(a.document.source.bytes))return{type:"file",mimeType:b,data:a.document.source.bytes};if(M(a.document.source.text))return{type:"file",mimeType:b,data:Buffer.from(a.document.source.text).toString("base64")};if(L(a.document.source.content))return{type:"file",mimeType:b,data:a.document.source.content.reduce((a,b)=>K(b)&&M(b.text)?a+b.text:a,"")}}}return{type:"non_standard",value:a}}(b);continue}else if(J(b,"guard_content")){yield{type:"non_standard",value:b};continue}else if(J(b,"image")&&K(b.image)){yield function(a){if(J(a,"image")&&K(a.image)){let b=as(K(a.image)&&M(a.image.format)?a.image.format:"");if(K(a.image.source)){if(K(a.image.source.s3Location)&&M(a.image.source.s3Location.uri))return{type:"image",mimeType:b,fileId:a.image.source.s3Location.uri};if(O(a.image.source.bytes))return{type:"image",mimeType:b,data:a.image.source.bytes}}}return{type:"non_standard",value:a}}(b);continue}else if(J(b,"reasoning_content")&&M(b.reasoningText)){yield{type:"reasoning",reasoning:b.reasoningText};continue}else if(J(b,"text")&&M(b.text)){yield{type:"text",text:b.text};continue}else if(J(b,"tool_result")){yield{type:"non_standard",value:b};continue}else if(J(b,"tool_call"))continue;else if(J(b,"video")&&K(b.video)){yield function(a){if(J(a,"video")&&K(a.video)){let b=as(K(a.video)&&M(a.video.format)?a.video.format:"");if(K(a.video.source)){if(K(a.video.source.s3Location)&&M(a.video.source.s3Location.uri))return{type:"video",mimeType:b,fileId:a.video.source.s3Location.uri};if(O(a.video.source.bytes))return{type:"video",mimeType:b,data:a.video.source.bytes}}}return{type:"non_standard",value:a}}(b);continue}yield{type:"non_standard",value:b}}}())}function au(a){let b=[],c=a.additional_kwargs?.reasoning_content;if(M(c)&&c.length>0&&b.push({type:"reasoning",reasoning:c}),"string"==typeof a.content)a.content.length>0&&b.push({type:"text",text:a.content});else for(let c of a.content)"object"==typeof c&&"type"in c&&"text"===c.type&&"text"in c&&M(c.text)&&b.push({type:"text",text:c.text});for(let c of a.tool_calls??[])b.push({type:"tool_call",id:c.id,name:c.name,args:c.args});return b}function av(a){return Array.from(function*(){for(let b of"string"==typeof a.content?[{type:"text",text:a.content}]:a.content){if(J(b,"text")&&M(b.text)){yield{type:"text",text:b.text};continue}if(J(b,"thinking")&&M(b.thinking)){yield{type:"reasoning",reasoning:b.thinking,...b.signature?{signature:b.signature}:{}};continue}if(J(b,"inlineData")&&K(b.inlineData)&&M(b.inlineData.mimeType)&&M(b.inlineData.data)){yield{type:"file",mimeType:b.inlineData.mimeType,data:b.inlineData.data};continue}else if(J(b,"functionCall")&&K(b.functionCall)&&M(b.functionCall.name)&&K(b.functionCall.args)){yield{type:"tool_call",id:a.id,name:b.functionCall.name,args:b.functionCall.args};continue}else if(J(b,"functionResponse")){yield{type:"non_standard",value:b};continue}else if(J(b,"fileData")&&K(b.fileData)&&M(b.fileData.mimeType)&&M(b.fileData.fileUri)){yield{type:"file",mimeType:b.fileData.mimeType,fileId:b.fileData.fileUri};continue}else if(J(b,"executableCode")){yield{type:"non_standard",value:b};continue}else if(J(b,"codeExecutionResult")){yield{type:"non_standard",value:b};continue}yield{type:"non_standard",value:b}}}())}function aw(a){return Array.from(function*(){let b="string"==typeof a.content?[{type:"text",text:a.content}]:a.content;for(let c of b){if(J(c,"reasoning")&&M(c.reasoning)){let d=Q(()=>{let d=b.indexOf(c);if(L(a.additional_kwargs?.signatures)&&d>=0)return a.additional_kwargs.signatures.at(d)});M(d)?yield{type:"reasoning",reasoning:c.reasoning,signature:d}:yield{type:"reasoning",reasoning:c.reasoning};continue}if(J(c,"thinking")&&M(c.thinking)){yield{type:"reasoning",reasoning:c.thinking,...c.signature?{signature:c.signature}:{}};continue}if(J(c,"text")&&M(c.text)){yield{type:"text",text:c.text};continue}else if(J(c,"image_url")){if(M(c.image_url))if(c.image_url.startsWith("data:")){let a=c.image_url.match(/^data:([^;]+);base64,(.+)$/);a?yield{type:"image",data:a[2],mimeType:a[1]}:yield{type:"image",url:c.image_url}}else yield{type:"image",url:c.image_url};continue}else if(J(c,"media")&&M(c.mimeType)&&M(c.data)){yield{type:"file",mimeType:c.mimeType,data:c.data};continue}yield{type:"non_standard",value:c}}}())}function ax(a){let b=[],c=a.additional_kwargs?.reasoning;if(M(c)&&c.length>0&&b.push({type:"reasoning",reasoning:c}),"string"==typeof a.content){let c=a.content,d=c.match(/<think>([\s\S]*?)<\/think>/);if(d){let a=d[1].trim();a.length>0&&b.push({type:"reasoning",reasoning:a}),c=c.replace(/<think>[\s\S]*?<\/think>/,"").trim()}c.length>0&&b.push({type:"text",text:c})}else for(let c of a.content)if("object"==typeof c&&"type"in c&&"text"===c.type&&"text"in c&&M(c.text)){let a=c.text,d=a.match(/<think>([\s\S]*?)<\/think>/);if(d){let c=d[1].trim();c.length>0&&b.push({type:"reasoning",reasoning:c}),a=a.replace(/<think>[\s\S]*?<\/think>/,"").trim()}a.length>0&&b.push({type:"text",text:a})}for(let c of a.tool_calls??[])b.push({type:"tool_call",id:c.id,name:c.name,args:c.args});return b}function ay(a){let b=[],c=a.additional_kwargs?.reasoning_content;if(M(c)&&c.length>0&&b.push({type:"reasoning",reasoning:c}),"string"==typeof a.content)a.content.length>0&&b.push({type:"text",text:a.content});else for(let c of a.content)"object"==typeof c&&"type"in c&&"text"===c.type&&"text"in c&&M(c.text)&&b.push({type:"text",text:c.text});for(let c of a.tool_calls??[])b.push({type:"tool_call",id:c.id,name:c.name,args:c.args});return b}function az(a){let b=[],c=a.additional_kwargs?.reasoning_details,d=!1;if(Array.isArray(c)&&c.length>0)for(let a of c){if(null==a||"object"!=typeof a)continue;let c=a.type;if("reasoning.summary"===c){let c=a.summary;M(c)&&c.length>0&&(b.push({type:"reasoning",reasoning:c}),d=!0)}else if("reasoning.text"===c){let c=a.text;M(c)&&c.length>0&&(b.push({type:"reasoning",reasoning:c}),d=!0)}}if(!d){let c=a.additional_kwargs?.reasoning_content;M(c)&&c.length>0&&b.push({type:"reasoning",reasoning:c})}if("string"==typeof a.content)a.content.length>0&&b.push({type:"text",text:a.content});else for(let c of a.content)"object"==typeof c&&"type"in c&&"text"===c.type&&"text"in c&&M(c.text)&&b.push({type:"text",text:c.text});for(let c of a.tool_calls??[])b.push({type:"tool_call",id:c.id,name:c.name,args:c.args});return b}function aA(a){let b=[];if(K(a.additional_kwargs?.reasoning)){let c=a.additional_kwargs.reasoning;if(L(c.summary)){let a=c.summary.reduce((a,b)=>K(b)&&M(b.text)?`${a}${b.text}`:a,"");a.length>0&&b.push({type:"reasoning",reasoning:a})}}let c=a.additional_kwargs?.reasoning_content;if(M(c)&&c.length>0&&b.push({type:"reasoning",reasoning:c}),"string"==typeof a.content)a.content.length>0&&b.push({type:"text",text:a.content});else for(let c of a.content)"object"==typeof c&&"type"in c&&"text"===c.type&&"text"in c&&M(c.text)&&b.push({type:"text",text:c.text});for(let c of a.tool_calls??[])b.push({type:"tool_call",id:c.id,name:c.name,args:c.args});return b}function aB(a){return Array.from(function*(){for(let b of Q(()=>{if("string"==typeof a.content)if(a.additional_kwargs.originalTextContentBlock)return[{...a.additional_kwargs.originalTextContentBlock,type:"text"}];else return[{type:"text",text:a.content}];{let b=a.additional_kwargs?.originalTextContentBlock;if(b?.thoughtSignature&&!a.content.some(a=>"thoughtSignature"in a)){let c=[...a.content];for(let a=c.length-1;a>=0;a--){let d=c[a];if("text"===d.type&&!d.thought)return d.thoughtSignature=b.thoughtSignature,c}}return a.content}})){let c=Q(()=>{if(J(b,"text")&&M(b.text))return{type:"text",text:b.text};if(J(b,"inlineData")&&K(b.inlineData)&&M(b.inlineData.mimeType)&&M(b.inlineData.data))return{type:"file",mimeType:b.inlineData.mimeType,data:b.inlineData.data};if(J(b,"functionCall")&&K(b.functionCall)&&M(b.functionCall.name)&&K(b.functionCall.args))return{type:"tool_call",id:a.id,name:b.functionCall.name,args:b.functionCall.args};if(J(b,"functionResponse"));else{if(J(b,"fileData")&&K(b.fileData)&&M(b.fileData.mimeType)&&M(b.fileData.fileUri))return{type:"file",mimeType:b.fileData.mimeType,fileId:b.fileData.fileUri};J(b,"executableCode")||J(b,"codeExecutionResult")}return{type:"non_standard",value:b}}),d=Q(()=>"thought"in b&&b.thought?{type:"reasoning",reasoning:"text"===c.type?c.text:"",reasoningContentBlock:c}:c),e={thought:b.thought,thoughtSignature:b.thoughtSignature,partMetadata:b.partMetadata,...d};for(let a in e)void 0===e[a]&&delete e[a];yield e}}())}function aC(a){return globalThis.lc_block_translators_registry.get(a)}a.s(["ToolMessage",0,ap,"ToolMessageChunk",0,aq,"defaultToolCallParser",0,ar,"isDirectToolOutput",0,function(a){return null!=a&&"object"==typeof a&&"lc_direct_tool_output"in a&&!0===a.lc_direct_tool_output},"isToolMessage",0,function(a){return"object"==typeof a&&null!==a&&"getType"in a&&"function"==typeof a.getType&&"tool"===a.getType()},"isToolMessageChunk",0,function(a){return"tool"===a._getType()}],404100),a.s(["AIMessage",()=>a0,"AIMessageChunk",()=>a3,"isAIMessage",()=>a1,"isAIMessageChunk",()=>a2],946954),globalThis.lc_block_translators_registry??=new Map([["anthropic",{translateContent:T,translateContentChunk:T}],["bedrock-converse",{translateContent:at,translateContentChunk:at}],["deepseek",{translateContent:au,translateContentChunk:au}],["google",{translateContent:aB,translateContentChunk:aB}],["google-genai",{translateContent:av,translateContentChunk:av}],["google-vertexai",{translateContent:aw,translateContentChunk:aw}],["groq",{translateContent:ax,translateContentChunk:ax}],["ollama",{translateContent:ay,translateContentChunk:ay}],["openai",{translateContent:a=>{if("string"==typeof a.content){let b=[];for(let c of("string"==typeof a.content?a.content.length>0&&b.push({type:"text",text:a.content}):b.push(...W(a.content)),a.tool_calls??[]))b.push({type:"tool_call",id:c.id,name:c.name,args:c.args});return b}return Y(a)},translateContentChunk:a=>{if("string"==typeof a.content){let b=[];for(let c of("string"==typeof a.content?a.content.length>0&&b.push({type:"text",text:a.content}):b.push(...W(a.content)),a.tool_calls??[]))b.push({type:"tool_call",id:c.id,name:c.name,args:c.args});return b}return Array.from(function*(){for(let b of(yield*Y(a),a.tool_call_chunks??[]))yield{type:"tool_call_chunk",id:b.id,name:b.name,args:b.args}}())}}],["openrouter",{translateContent:az,translateContentChunk:az}],["xai",{translateContent:aA,translateContentChunk:aA}]]),a.s(["coerceMessageLikeToMessage",()=>aU,"collapseToolCallChunks",()=>a_,"convertToChunk",()=>a$,"getBufferString",()=>aW,"iife",()=>aR,"mapChatMessagesToStoredMessages",()=>aZ,"mapStoredMessageToChatMessage",()=>aX,"mapStoredMessagesToChatMessages",()=>aY],264916);let aD=(function a(b){let c=Symbol.for(b);return{brand(a,d){let e=d?Symbol.for(`${b}.${d}`):c;class f extends a{[e]=!0;constructor(...a){super(...a)}static isInstance(a){return"object"==typeof a&&null!==a&&e in a&&!0===a[e]}}return Object.defineProperty(f,"name",{value:a.name}),f},sub:c=>a(`${b}.${c}`),isInstance:a=>"object"==typeof a&&null!==a&&c in a&&!0===a[c]}})("langchain").sub("error");var aE=class extends aD.brand(Error){name="LangChainError";constructor(a){super(a),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}};function aF(a){return!!(a&&"object"==typeof a&&"type"in a&&"tool_call"===a.type)}aD.brand(aE,"model-abort"),class a extends aD.brand(aE,"context-overflow"){name="ContextOverflowError";cause;constructor(a){super(a??"Input exceeded the model's context window.")}static fromError(b){let c=new a(b.message);return c.cause=b,c}};var aG=class extends Error{output;constructor(a,b){super(a),this.output=b}},aH=class a extends ab{static lc_name(){return"ChatMessage"}type="generic";role;static _chatMessageClass(){return a}constructor(a,b){("string"==typeof a||Array.isArray(a))&&(a={content:a,role:b}),super(a),this.role=a.role}static isInstance(a){return super.isInstance(a)&&"generic"===a.type}get _printableFields(){return{...super._printableFields,role:this.role}}},aI=class extends aj{static lc_name(){return"ChatMessageChunk"}type="generic";role;constructor(a,b){("string"==typeof a||Array.isArray(a))&&(a={content:a,role:b}),super(a),this.role=a.role}concat(a){return new this.constructor({content:_(this.content,a.content),additional_kwargs:ad(this.additional_kwargs,a.additional_kwargs),response_metadata:ad(this.response_metadata,a.response_metadata),role:this.role,id:this.id??a.id})}static isInstance(a){return super.isInstance(a)&&"generic"===a.type}get _printableFields(){return{...super._printableFields,role:this.role}}},aJ=class extends ab{static lc_name(){return"FunctionMessage"}type="function";name;constructor(a){super(a),this.name=a.name}},aK=class extends aj{static lc_name(){return"FunctionMessageChunk"}type="function";concat(a){return new this.constructor({content:_(this.content,a.content),additional_kwargs:ad(this.additional_kwargs,a.additional_kwargs),response_metadata:ad(this.response_metadata,a.response_metadata),name:this.name??"",id:this.id??a.id})}},aL=class extends ab{static lc_name(){return"HumanMessage"}type="human";constructor(a){super(a)}static isInstance(a){return super.isInstance(a)&&"human"===a.type}},aM=class extends aj{static lc_name(){return"HumanMessageChunk"}type="human";constructor(a){super(a)}concat(a){return new this.constructor({content:_(this.content,a.content),additional_kwargs:ad(this.additional_kwargs,a.additional_kwargs),response_metadata:ad(this.response_metadata,a.response_metadata),id:this.id??a.id})}static isInstance(a){return super.isInstance(a)&&"human"===a.type}};a.s(["HumanMessage",0,aL,"HumanMessageChunk",0,aM,"isHumanMessage",0,function(a){return"human"===a.getType()},"isHumanMessageChunk",0,function(a){return"human"===a.getType()}],613912);var aN=class extends ab{type="remove";id;constructor(a){super({...a,content:[]}),this.id=a.id}get _printableFields(){return{...super._printableFields,id:this.id}}static isInstance(a){return super.isInstance(a)&&"remove"===a.type}};a.s(["RemoveMessage",0,aN],83144);var aO=class a extends ab{static lc_name(){return"SystemMessage"}type="system";constructor(a){super(a)}concat(b){if("string"==typeof b)return new a({content:_(this.content,b),additional_kwargs:this.additional_kwargs,response_metadata:this.response_metadata,id:this.id,name:this.name});if(a.isInstance(b))return new a({content:_(this.content,b.content),additional_kwargs:{...this.additional_kwargs,...b.additional_kwargs},response_metadata:{...this.response_metadata,...b.response_metadata},id:this.id??b.id,name:this.name??b.name});throw Error("Unexpected chunk type for system message")}static isInstance(a){return super.isInstance(a)&&"system"===a.type}},aP=class extends aj{static lc_name(){return"SystemMessageChunk"}type="system";constructor(a){super(a)}concat(a){return new this.constructor({content:_(this.content,a.content),additional_kwargs:ad(this.additional_kwargs,a.additional_kwargs),response_metadata:ad(this.response_metadata,a.response_metadata),id:this.id??a.id})}static isInstance(a){return super.isInstance(a)&&"system"===a.type}};function aQ(a){return!0===a.isCustomTool}a.s(["SystemMessage",0,aO,"SystemMessageChunk",0,aP,"isSystemMessage",0,function(a){return"system"===a._getType()},"isSystemMessageChunk",0,function(a){return"system"===a._getType()}],868331);let aR=a=>a();function aS(a){return aF(a)?a:"string"==typeof a.id&&"function"===a.type&&"object"==typeof a.function&&null!==a.function&&"arguments"in a.function&&"string"==typeof a.function.arguments&&"name"in a.function&&"string"==typeof a.function.name?{id:a.id,args:JSON.parse(a.function.arguments),name:a.function.name,type:"tool_call"}:a}function aT(a){var b;let c,d;if("object"==typeof a&&null!=a&&1===a.lc&&Array.isArray(a.id)&&null!=a.kwargs&&"object"==typeof a.kwargs){let b=a.id.at(-1);c="HumanMessage"===b||"HumanMessageChunk"===b?"user":"AIMessage"===b||"AIMessageChunk"===b?"assistant":"SystemMessage"===b||"SystemMessageChunk"===b?"system":"FunctionMessage"===b||"FunctionMessageChunk"===b?"function":"ToolMessage"===b||"ToolMessageChunk"===b?"tool":"unknown",d=a.kwargs}else{let{type:b,...e}=a;c=b,d=e}if("human"===c||"user"===c)return new aL(d);if("ai"===c||"assistant"===c){let{tool_calls:a,...b}=d;if(!Array.isArray(a))return new a0(d);let c=a.map(aS);return new a0({...b,tool_calls:c})}if("system"===c)return new aO(d);if("developer"===c)return new aO({...d,additional_kwargs:{...d.additional_kwargs,__openai_role__:"developer"}});if("tool"===c&&"tool_call_id"in d)return new ap({...d,content:d.content,tool_call_id:d.tool_call_id,name:d.name});if("remove"===c&&"id"in d&&"string"==typeof d.id)return new aN({...d,id:d.id});throw(b=Error(`Unable to coerce message from array: only human, AI, system, developer, or tool message coercion is currently supported.
6
+
7
+ Received: ${JSON.stringify(a,null,2)}`)).lc_error_code="MESSAGE_COERCION_FAILURE",b.message=`${b.message}
8
+
9
+ Troubleshooting URL: https://docs.langchain.com/oss/javascript/langchain/errors/MESSAGE_COERCION_FAILURE/
10
+ `,b}function aU(a){if("string"==typeof a)return new aL(a);if(al(a))return a;if(Array.isArray(a)){let[b,c]=a;return aT({type:b,content:c})}if(!ak(a))return aT(a);{let{role:b,...c}=a;return aT({...c,type:b})}}function aV(a){if("string"==typeof a)return a;switch(a.type){case"text":return a.text??"";case"text-plain":return a.text??"[text-plain file]";case"image":case"image_url":return"[image]";case"audio":case"input_audio":return"[audio]";case"video":return"[video]";case"file":return"[file]";case"reasoning":case"tool_call":case"tool_call_chunk":case"invalid_tool_call":case"server_tool_call":case"server_tool_call_chunk":case"server_tool_call_result":case"non_standard":return"";default:return a.type?`[${a.type}]`:""}}function aW(a,b="Human",c="AI"){let d=[];for(let e of a){let a;if("human"===e.type)a=b;else if("ai"===e.type)a=c;else if("system"===e.type)a="System";else if("tool"===e.type)a="Tool";else if("generic"===e.type)a=e.role;else throw Error(`Got unsupported message type: ${e.type}`);let f=e.name?`${e.name}, `:"",g="string"==typeof e.content?e.content:Array.isArray(e.content)?e.content.map(aV).filter(Boolean).join(""):"",h=`${a}: ${f}${g}`;"ai"===e.type&&(e.tool_calls&&e.tool_calls.length>0?h+=JSON.stringify(e.tool_calls):e.additional_kwargs&&"function_call"in e.additional_kwargs&&(h+=JSON.stringify(e.additional_kwargs.function_call))),d.push(h)}return d.join("\n")}function aX(a){let b=void 0!==a.data?a:{type:a.type,data:{content:a.text,role:a.role,name:void 0,tool_call_id:void 0}};switch(b.type){case"human":return new aL(b.data);case"ai":return new a0(b.data);case"system":return new aO(b.data);case"function":if(void 0===b.data.name)throw Error("Name must be defined for function messages");return new aJ(b.data);case"tool":if(void 0===b.data.tool_call_id)throw Error("Tool call ID must be defined for tool messages");return new ap(b.data);case"generic":if(void 0===b.data.role)throw Error("Role must be defined for chat messages");return new aH(b.data);default:throw Error(`Got unexpected type: ${b.type}`)}}function aY(a){return a.map(aX)}function aZ(a){return a.map(a=>a.toDict())}function a$(a){let b=a._getType();if("human"===b)return new aM({...a});if("ai"===b){let b={...a};return"tool_calls"in b&&(b={...b,tool_call_chunks:b.tool_calls?.map(a=>({...a,type:"tool_call_chunk",index:void 0,args:JSON.stringify(a.args)}))}),new a3({...b})}if("system"===b)return new aP({...a});if("function"===b)return new aK({...a});if(aH.isInstance(a))return new aI({...a});else throw Error("Unknown message type.")}function a_(a){let b=a.reduce((a,b)=>{let c=a.findIndex(([a])=>"id"in b&&b.id&&"index"in b&&void 0!==b.index?b.id===a.id&&b.index===a.index:"id"in b&&b.id?b.id===a.id:"index"in b&&void 0!==b.index&&b.index===a.index);return -1!==c?a[c].push(b):a.push([b]),a},[]),c=[],d=[];for(let a of b){let b=null,e=a.some(aQ),f=a[0]?.name??"",g=a.map(a=>a.args||"").join(""),h=e?g:g.trim(),i=h.length?h:"{}",j=a.find(a=>a.id)?.id??a[0]?.id;if(e&&j){c.push({name:f,args:{input:h},id:j,type:"tool_call"});continue}try{if(b=function(a){try{if(void 0===a)return null;return function(a){try{return JSON.parse(a)}catch{}let b=a.trim();if(0===b.length)throw Error("Unexpected end of JSON input");let c=0;function d(){for(;c<b.length&&/\s/.test(b[c]);)c+=1}function e(){if('"'!==b[c])throw Error(`Expected '"' at position ${c}, got '${b[c]}'`);c+=1;let a="",d=!1;for(;c<b.length;){let e=b[c];if(d){if("n"===e)a+="\n";else if("t"===e)a+=" ";else if("r"===e)a+="\r";else if("\\"===e)a+="\\";else if('"'===e)a+='"';else if("b"===e)a+="\b";else if("f"===e)a+="\f";else if("/"===e)a+="/";else if("u"===e){let d=b.substring(c+1,c+5);if(/^[0-9A-Fa-f]{0,4}$/.test(d))4===d.length?a+=String.fromCharCode(Number.parseInt(d,16)):a+=`u${d}`,c+=d.length;else throw Error(`Invalid unicode escape sequence '\\u${d}' at position ${c}`)}else throw Error(`Invalid escape sequence '\\${e}' at position ${c}`);d=!1}else if("\\"===e)d=!0;else{if('"'===e)return c+=1,a;a+=e}c+=1}return d&&(a+="\\"),a}let f=function a(){if(d(),c>=b.length)throw Error(`Unexpected end of input at position ${c}`);let f=b[c];if("{"===f)return function(){if("{"!==b[c])throw Error(`Expected '{' at position ${c}, got '${b[c]}'`);let f={};if(c+=1,d(),c>=b.length)return f;if("}"===b[c])return c+=1,f;for(;c<b.length&&(d(),!(c>=b.length));){let g=e();if(d(),c>=b.length)break;if(":"!==b[c])throw Error(`Expected ':' at position ${c}, got '${b[c]}'`);if(c+=1,d(),c>=b.length||(f[g]=a(),d(),c>=b.length))break;if("}"===b[c]){c+=1;break}if(","===b[c]){c+=1;continue}throw Error(`Expected ',' or '}' at position ${c}, got '${b[c]}'`)}return f}();if("["===f)return function(){if("["!==b[c])throw Error(`Expected '[' at position ${c}, got '${b[c]}'`);let e=[];if(c+=1,d(),c>=b.length)return e;if("]"===b[c])return c+=1,e;for(;c<b.length&&(d(),!(c>=b.length))&&(e.push(a()),d(),!(c>=b.length));){;if("]"===b[c]){c+=1;break}if(","===b[c]){c+=1;continue}throw Error(`Expected ',' or ']' at position ${c}, got '${b[c]}'`)}return e}();if('"'===f)return e();if("null".startsWith(b.substring(c,c+4)))return c+=Math.min(4,b.length-c),null;if("true".startsWith(b.substring(c,c+4)))return c+=Math.min(4,b.length-c),!0;if("false".startsWith(b.substring(c,c+5)))return c+=Math.min(5,b.length-c),!1;if("-"===f||f>="0"&&f<="9"){let a=c,d="";if("-"===b[c]&&(d+="-",c+=1),c<b.length&&"0"===b[c]&&(d+="0",b[c+=1]>="0"&&b[c]<="9"))throw Error(`Invalid number at position ${a}`);if(c<b.length&&b[c]>="1"&&b[c]<="9")for(;c<b.length&&b[c]>="0"&&b[c]<="9";)d+=b[c],c+=1;if(c<b.length&&"."===b[c])for(d+=".",c+=1;c<b.length&&b[c]>="0"&&b[c]<="9";)d+=b[c],c+=1;if(c<b.length&&("e"===b[c]||"E"===b[c]))for(d+=b[c],(c+=1)<b.length&&("+"===b[c]||"-"===b[c])&&(d+=b[c],c+=1);c<b.length&&b[c]>="0"&&b[c]<="9";)d+=b[c],c+=1;if("-"===d)return -0;let e=Number.parseFloat(d);if(Number.isNaN(e))throw c=a,Error(`Invalid number '${d}' at position ${a}`);return e}throw Error(`Unexpected character '${f}' at position ${c}`)}();if(d(),c<b.length)throw Error(`Unexpected character '${b[c]}' at position ${c}`);return f}(a)}catch{return null}}(i),!j||null===b||"object"!=typeof b||Array.isArray(b))throw Error("Malformed tool call chunk args.");c.push({name:f,args:b,id:j,type:"tool_call"})}catch{d.push({name:f,args:i,id:j,error:"Malformed args.",type:"invalid_tool_call"})}}return{tool_call_chunks:a,tool_calls:c,invalid_tool_calls:d}}var a0=class extends ab{type="ai";tool_calls=[];invalid_tool_calls=[];usage_metadata;get lc_aliases(){return{...super.lc_aliases,tool_calls:"tool_calls",invalid_tool_calls:"invalid_tool_calls",usage_metadata:"usage_metadata"}}constructor(a){let b;if("string"==typeof a||Array.isArray(a))b={content:a,tool_calls:[],invalid_tool_calls:[],additional_kwargs:{}};else{b=a;const c=b.additional_kwargs?.tool_calls,d=b.tool_calls;null!=c&&c.length>0&&(void 0===d||0===d.length)&&console.warn("New LangChain packages are available that more efficiently handle tool calling.\n\nPlease upgrade your packages to versions that set message tool calls. e.g., `pnpm install @langchain/anthropic`, pnpm install @langchain/openai`, etc.");try{if(null!=c&&void 0===d){const[a,d]=ar(c);b.tool_calls=a??[],b.invalid_tool_calls=d??[]}else b.tool_calls=b.tool_calls??[],b.invalid_tool_calls=b.invalid_tool_calls??[]}catch{b.tool_calls=[],b.invalid_tool_calls=[]}if(void 0!==b.response_metadata&&"output_version"in b.response_metadata&&"v1"===b.response_metadata.output_version&&(b.contentBlocks=b.content,b.content=void 0),void 0!==b.contentBlocks){if(b.tool_calls){const a=b.tool_calls.filter(a=>!b.contentBlocks?.some(b=>"tool_call"===b.type&&b.id===a.id&&b.name===a.name));b.contentBlocks.push(...a.map(a=>({type:"tool_call",id:a.id,name:a.name,args:a.args})))}const a=b.contentBlocks.filter(a=>"tool_call"===a.type).filter(a=>!b.tool_calls?.some(b=>b.id===a.id&&b.name===a.name));a.length>0&&(b.tool_calls=[...b.tool_calls??[],...a.map(a=>({type:"tool_call",id:a.id,name:a.name,args:a.args}))])}}super(b),"string"!=typeof b&&(this.tool_calls=b.tool_calls??this.tool_calls,this.invalid_tool_calls=b.invalid_tool_calls??this.invalid_tool_calls),this.usage_metadata=b.usage_metadata}static lc_name(){return"AIMessage"}get contentBlocks(){if(this.response_metadata&&"output_version"in this.response_metadata&&"v1"===this.response_metadata.output_version)return this.content;if(this.response_metadata&&"model_provider"in this.response_metadata&&"string"==typeof this.response_metadata.model_provider){let a=aC(this.response_metadata.model_provider);if(a)return a.translateContent(this)}let a=super.contentBlocks;if(this.tool_calls){let b=this.tool_calls.filter(b=>!a.some(a=>a.id===b.id&&a.name===b.name));a.push(...b.map(a=>({type:"tool_call",id:a.id,name:a.name,args:a.args})))}return a}get _printableFields(){return{...super._printableFields,tool_calls:this.tool_calls,invalid_tool_calls:this.invalid_tool_calls,usage_metadata:this.usage_metadata}}static isInstance(a){return super.isInstance(a)&&"ai"===a.type}};function a1(a){return"ai"===a._getType()}function a2(a){return"ai"===a._getType()}var a3=class extends aj{type="ai";tool_calls=[];invalid_tool_calls=[];tool_call_chunks=[];usage_metadata;constructor(a){let b;if("string"==typeof a||Array.isArray(a))b={content:a,tool_calls:[],invalid_tool_calls:[],tool_call_chunks:[]};else if(void 0===a.tool_call_chunks||0===a.tool_call_chunks.length)b={...a,tool_calls:a.tool_calls??[],invalid_tool_calls:[],tool_call_chunks:[],usage_metadata:void 0!==a.usage_metadata?a.usage_metadata:void 0};else{const c=a_(a.tool_call_chunks??[]);b={...a,tool_call_chunks:c.tool_call_chunks,tool_calls:c.tool_calls,invalid_tool_calls:c.invalid_tool_calls,usage_metadata:void 0!==a.usage_metadata?a.usage_metadata:void 0}}super(b),this.tool_call_chunks=b.tool_call_chunks??this.tool_call_chunks,this.tool_calls=b.tool_calls??this.tool_calls,this.invalid_tool_calls=b.invalid_tool_calls??this.invalid_tool_calls,this.usage_metadata=b.usage_metadata}get lc_aliases(){return{...super.lc_aliases,tool_calls:"tool_calls",invalid_tool_calls:"invalid_tool_calls",tool_call_chunks:"tool_call_chunks",usage_metadata:"usage_metadata"}}static lc_name(){return"AIMessageChunk"}get contentBlocks(){if(this.response_metadata&&"output_version"in this.response_metadata&&"v1"===this.response_metadata.output_version)return this.content;if(this.response_metadata&&"model_provider"in this.response_metadata&&"string"==typeof this.response_metadata.model_provider){let a=aC(this.response_metadata.model_provider);if(a)return a.translateContent(this)}let a=super.contentBlocks;if(this.tool_calls&&"string"!=typeof this.content){let b=this.content.filter(a=>"tool_call"===a.type).map(a=>a.id);for(let c of this.tool_calls)c.id&&!b.includes(c.id)&&a.push({...c,type:"tool_call",id:c.id,name:c.name,args:c.args})}return a}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(a){let b={content:_(this.content,a.content),additional_kwargs:ad(this.additional_kwargs,a.additional_kwargs),response_metadata:ad(this.response_metadata,a.response_metadata)??{},tool_call_chunks:[],tool_calls:[],id:this.id??a.id};if(void 0!==this.tool_call_chunks||void 0!==a.tool_call_chunks){let c=ah(this.tool_call_chunks,a.tool_call_chunks);void 0!==c&&c.length>0&&(b.tool_call_chunks=c)}if(void 0!==this.tool_calls||void 0!==a.tool_calls){let c=ah(this.tool_calls,a.tool_calls);void 0!==c&&c.length>0&&(b.tool_calls=c)}return(void 0!==this.usage_metadata||void 0!==a.usage_metadata)&&(b.usage_metadata=ao(this.usage_metadata,a.usage_metadata)),new this.constructor(b)}static isInstance(a){return super.isInstance(a)&&"ai"===a.type}},a4=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i;function a5(a){return"string"==typeof a&&a4.test(a)}function a6(a){let b;if(!a5(a))throw TypeError("Invalid UUID");return Uint8Array.of((b=parseInt(a.slice(0,8),16))>>>24,b>>>16&255,b>>>8&255,255&b,(b=parseInt(a.slice(9,13),16))>>>8,255&b,(b=parseInt(a.slice(14,18),16))>>>8,255&b,(b=parseInt(a.slice(19,23),16))>>>8,255&b,(b=parseInt(a.slice(24,36),16))/0x10000000000&255,b/0x100000000&255,b>>>24&255,b>>>16&255,b>>>8&255,255&b)}let a7=[];for(let a=0;a<256;++a)a7.push((a+256).toString(16).slice(1));function a8(a,b=0){return(a7[a[b+0]]+a7[a[b+1]]+a7[a[b+2]]+a7[a[b+3]]+"-"+a7[a[b+4]]+a7[a[b+5]]+"-"+a7[a[b+6]]+a7[a[b+7]]+"-"+a7[a[b+8]]+a7[a[b+9]]+"-"+a7[a[b+10]]+a7[a[b+11]]+a7[a[b+12]]+a7[a[b+13]]+a7[a[b+14]]+a7[a[b+15]]).toLowerCase()}let a9=new Uint8Array(16);function ba(){return crypto.getRandomValues(a9)}function bb(a,b){return a<<b|a>>>32-b}function bc(a){let b=[0x5a827999,0x6ed9eba1,0x8f1bbcdc,0xca62c1d6],c=[0x67452301,0xefcdab89,0x98badcfe,0x10325476,0xc3d2e1f0],d=new Uint8Array(a.length+1);d.set(a),d[a.length]=128;let e=Math.ceil(((a=d).length/4+2)/16),f=Array(e);for(let b=0;b<e;++b){let c=new Uint32Array(16);for(let d=0;d<16;++d)c[d]=a[64*b+4*d]<<24|a[64*b+4*d+1]<<16|a[64*b+4*d+2]<<8|a[64*b+4*d+3];f[b]=c}f[e-1][14]=(a.length-1)*8/0x100000000,f[e-1][14]=Math.floor(f[e-1][14]),f[e-1][15]=(a.length-1)*8|0;for(let a=0;a<e;++a){let d=new Uint32Array(80);for(let b=0;b<16;++b)d[b]=f[a][b];for(let a=16;a<80;++a)d[a]=bb(d[a-3]^d[a-8]^d[a-14]^d[a-16],1);let e=c[0],g=c[1],h=c[2],i=c[3],j=c[4];for(let a=0;a<80;++a){let c=Math.floor(a/20),f=bb(e,5)+function(a,b,c,d){switch(a){case 0:return b&c^~b&d;case 1:case 3:return b^c^d;case 2:return b&c^b&d^c&d}}(c,g,h,i)+j+b[c]+d[a]>>>0;j=i,i=h,h=bb(g,30)>>>0,g=e,e=f}c[0]=c[0]+e>>>0,c[1]=c[1]+g>>>0,c[2]=c[2]+h>>>0,c[3]=c[3]+i>>>0,c[4]=c[4]+j>>>0}return Uint8Array.of(c[0]>>24,c[0]>>16,c[0]>>8,c[0],c[1]>>24,c[1]>>16,c[1]>>8,c[1],c[2]>>24,c[2]>>16,c[2]>>8,c[2],c[3]>>24,c[3]>>16,c[3]>>8,c[3],c[4]>>24,c[4]>>16,c[4]>>8,c[4])}function bd(a,b,c,d){var e=b,f=d;let g="string"==typeof a?function(a){let b=new Uint8Array((a=unescape(encodeURIComponent(a))).length);for(let c=0;c<a.length;++c)b[c]=a.charCodeAt(c);return b}(a):a,h="string"==typeof e?a6(e):e;if("string"==typeof e&&(e=a6(e)),e?.length!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let i=new Uint8Array(16+g.length);if(i.set(h),i.set(g,h.length),(i=bc(i))[6]=15&i[6]|80,i[8]=63&i[8]|128,c){if((f??=0)<0||f+16>c.length)throw RangeError(`UUID byte range ${f}:${f+15} is out of buffer bounds`);for(let a=0;a<16;++a)c[f+a]=i[a];return c}return a8(i)}bd.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",bd.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8";let be={};function bf(a,b,c,d,e=0){if(a.length<16)throw Error("Random bytes length must be >= 16");if(d){if(e<0||e+16>d.length)throw RangeError(`UUID byte range ${e}:${e+15} is out of buffer bounds`)}else d=new Uint8Array(16),e=0;return b??=Date.now(),c??=127*a[6]<<24|a[7]<<16|a[8]<<8|a[9],d[e++]=b/0x10000000000&255,d[e++]=b/0x100000000&255,d[e++]=b/0x1000000&255,d[e++]=b/65536&255,d[e++]=b/256&255,d[e++]=255&b,d[e++]=112|c>>>28&15,d[e++]=c>>>20&255,d[e++]=128|c>>>14&63,d[e++]=c>>>6&255,d[e++]=c<<2&255|3&a[10],d[e++]=a[11],d[e++]=a[12],d[e++]=a[13],d[e++]=a[14],d[e++]=a[15],d}let bg=function(a,b,c){return b||a||!crypto.randomUUID?function(a,b,c){let d=(a=a||{}).random??a.rng?.()??ba();if(d.length<16)throw Error("Random bytes length must be >= 16");if(d[6]=15&d[6]|64,d[8]=63&d[8]|128,b){if((c=c||0)<0||c+16>b.length)throw RangeError(`UUID byte range ${c}:${c+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[c+a]=d[a];return b}return a8(d)}(a,b,c):crypto.randomUUID()},bh=function(a,b,c){let d;if(a)d=bf(a.random??a.rng?.()??ba(),a.msecs,a.seq,b,c);else{var e,f,g;let a=Date.now(),h=ba();e=be,f=a,g=h,e.msecs??=-1/0,e.seq??=0,f>e.msecs?(e.seq=g[6]<<23|g[7]<<16|g[8]<<8|g[9],e.msecs=f):(e.seq=e.seq+1|0,0===e.seq&&e.msecs++),d=bf(h,be.msecs,be.seq,b,c)}return b??a8(d)};a.s(["v4",0,bg,"v7",0,bh,"validate",0,a5],743637);let bi=Symbol.for("ls:tracing_async_local_storage"),bj=Symbol.for("lc:context_variables"),bk=()=>globalThis[bi];function bl(a){try{if("u">typeof process)return process.env?.[a];if("u">typeof Deno)return Deno?.env.get(a);return}catch{return}}var bm=class{},bn=class extends bm{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,H(this.constructor)]}lc_kwargs;ignoreLLM=!1;ignoreChain=!1;ignoreAgent=!1;ignoreRetriever=!1;ignoreCustomEvent=!1;raiseError=!1;awaitHandlers="false"===bl("LANGCHAIN_CALLBACKS_BACKGROUND");constructor(a){super(),this.lc_kwargs=a||{},a&&(this.ignoreLLM=a.ignoreLLM??this.ignoreLLM,this.ignoreChain=a.ignoreChain??this.ignoreChain,this.ignoreAgent=a.ignoreAgent??this.ignoreAgent,this.ignoreRetriever=a.ignoreRetriever??this.ignoreRetriever,this.ignoreCustomEvent=a.ignoreCustomEvent??this.ignoreCustomEvent,this.raiseError=a.raiseError??this.raiseError,this.awaitHandlers=this.raiseError||(a._awaitHandler??this.awaitHandlers))}copy(){return new this.constructor(this)}toJSON(){return I.prototype.toJSON.call(this)}toJSONNotImplemented(){return I.prototype.toJSONNotImplemented.call(this)}static fromMethods(a){class b extends bn{name=bh();constructor(){super(),Object.assign(this,a)}}return new b}};let bo=a=>void 0!==a&&"function"==typeof a.copy&&"string"==typeof a.name&&"boolean"==typeof a.awaitHandlers,bp=/^(?:[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,bq=[];for(let a=0;a<256;++a)bq.push((a+256).toString(16).slice(1));function br(a,b=0){return(bq[a[b+0]]+bq[a[b+1]]+bq[a[b+2]]+bq[a[b+3]]+"-"+bq[a[b+4]]+bq[a[b+5]]+"-"+bq[a[b+6]]+bq[a[b+7]]+"-"+bq[a[b+8]]+bq[a[b+9]]+"-"+bq[a[b+10]]+bq[a[b+11]]+bq[a[b+12]]+bq[a[b+13]]+bq[a[b+14]]+bq[a[b+15]]).toLowerCase()}let bs=new Uint8Array(16);function bt(){return crypto.getRandomValues(bs)}let bu=function(a,b,c){return b||a||!crypto.randomUUID?function(a,b,c){let d=(a=a||{}).random??a.rng?.()??bt();if(d.length<16)throw Error("Random bytes length must be >= 16");if(d[6]=15&d[6]|64,d[8]=63&d[8]|128,b){if((c=c||0)<0||c+16>b.length)throw RangeError(`UUID byte range ${c}:${c+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[c+a]=d[a];return b}return br(d)}(a,b,c):crypto.randomUUID()};function bv(a,b){return a<<b|a>>>32-b}let bw=function(a){let b=[0x5a827999,0x6ed9eba1,0x8f1bbcdc,0xca62c1d6],c=[0x67452301,0xefcdab89,0x98badcfe,0x10325476,0xc3d2e1f0],d=new Uint8Array(a.length+1);d.set(a),d[a.length]=128;let e=Math.ceil(((a=d).length/4+2)/16),f=Array(e);for(let b=0;b<e;++b){let c=new Uint32Array(16);for(let d=0;d<16;++d)c[d]=a[64*b+4*d]<<24|a[64*b+4*d+1]<<16|a[64*b+4*d+2]<<8|a[64*b+4*d+3];f[b]=c}f[e-1][14]=(a.length-1)*8/0x100000000,f[e-1][14]=Math.floor(f[e-1][14]),f[e-1][15]=(a.length-1)*8|0;for(let a=0;a<e;++a){let d=new Uint32Array(80);for(let b=0;b<16;++b)d[b]=f[a][b];for(let a=16;a<80;++a)d[a]=bv(d[a-3]^d[a-8]^d[a-14]^d[a-16],1);let e=c[0],g=c[1],h=c[2],i=c[3],j=c[4];for(let a=0;a<80;++a){let c=Math.floor(a/20),f=bv(e,5)+function(a,b,c,d){switch(a){case 0:return b&c^~b&d;case 1:case 3:return b^c^d;case 2:return b&c^b&d^c&d}}(c,g,h,i)+j+b[c]+d[a]>>>0;j=i,i=h,h=bv(g,30)>>>0,g=e,e=f}c[0]=c[0]+e>>>0,c[1]=c[1]+g>>>0,c[2]=c[2]+h>>>0,c[3]=c[3]+i>>>0,c[4]=c[4]+j>>>0}return Uint8Array.of(c[0]>>24,c[0]>>16,c[0]>>8,c[0],c[1]>>24,c[1]>>16,c[1]>>8,c[1],c[2]>>24,c[2]>>16,c[2]>>8,c[2],c[3]>>24,c[3]>>16,c[3]>>8,c[3],c[4]>>24,c[4]>>16,c[4]>>8,c[4])},bx=function(a){let b;if(!("string"==typeof a&&bp.test(a)))throw TypeError("Invalid UUID");return Uint8Array.of((b=parseInt(a.slice(0,8),16))>>>24,b>>>16&255,b>>>8&255,255&b,(b=parseInt(a.slice(9,13),16))>>>8,255&b,(b=parseInt(a.slice(14,18),16))>>>8,255&b,(b=parseInt(a.slice(19,23),16))>>>8,255&b,(b=parseInt(a.slice(24,36),16))/0x10000000000&255,b/0x100000000&255,b>>>24&255,b>>>16&255,b>>>8&255,255&b)};function by(a,b,c,d){var e=b,f=d;let g="string"==typeof a?function(a){let b=new Uint8Array((a=unescape(encodeURIComponent(a))).length);for(let c=0;c<a.length;++c)b[c]=a.charCodeAt(c);return b}(a):a,h="string"==typeof e?bx(e):e;if("string"==typeof e&&(e=bx(e)),e?.length!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let i=new Uint8Array(16+g.length);if(i.set(h),i.set(g,h.length),(i=bw(i))[6]=15&i[6]|80,i[8]=63&i[8]|128,c){if((f??=0)<0||f+16>c.length)throw RangeError(`UUID byte range ${f}:${f+15} is out of buffer bounds`);for(let a=0;a<16;++a)c[f+a]=i[a];return c}return br(i)}by.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",by.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8";let bz={};function bA(a,b,c,d,e=0){if(a.length<16)throw Error("Random bytes length must be >= 16");if(d){if(e<0||e+16>d.length)throw RangeError(`UUID byte range ${e}:${e+15} is out of buffer bounds`)}else d=new Uint8Array(16),e=0;return b??=Date.now(),c??=127*a[6]<<24|a[7]<<16|a[8]<<8|a[9],d[e++]=b/0x10000000000&255,d[e++]=b/0x100000000&255,d[e++]=b/0x1000000&255,d[e++]=b/65536&255,d[e++]=b/256&255,d[e++]=255&b,d[e++]=112|c>>>28&15,d[e++]=c>>>20&255,d[e++]=128|c>>>14&63,d[e++]=c>>>6&255,d[e++]=c<<2&255|3&a[10],d[e++]=a[11],d[e++]=a[12],d[e++]=a[13],d[e++]=a[14],d[e++]=a[15],d}let bB=function(a,b,c){let d;if(a)d=bA(a.random??a.rng?.()??bt(),a.msecs,a.seq,b,c);else{var e,f,g;let a=Date.now(),h=bt();e=bz,f=a,g=h,e.msecs??=-1/0,e.seq??=0,f>e.msecs?(e.seq=g[6]<<23|g[7]<<16|g[8]<<8|g[9],e.msecs=f):(e.seq=e.seq+1|0,0===e.seq&&e.msecs++),d=bA(h,bz.msecs,bz.seq,b,c)}return b??br(d)},bC="gen_ai.request.model",bD="gen_ai.usage.input_tokens",bE="gen_ai.usage.output_tokens",bF="gen_ai.usage.total_tokens",bG="langsmith.span.tags",bH="langsmith.usage_metadata",bI=Symbol.for("ls:fetch_implementation"),bJ=()=>cx("PROJECT")??cw("LANGCHAIN_SESSION")??"default",bK=a=>BigInt(a),bL=bK("0x9E3779B1"),bM=bK("0x85EBCA77"),bN=bK("0xC2B2AE3D"),bO=bK("0x9E3779B185EBCA87"),bP=bK("0xC2B2AE3D27D4EB4F"),bQ=bK("0x165667B19E3779F9"),bR=bK("0x85EBCA77C2B2AE63"),bS=bK("0x27D4EB2F165667C5"),bT=bK("0x165667919E3779F9"),bU=bK("0x9FB21C651E98DF25"),bV=function(a){let b=new Uint8Array(a.length/2);for(let c=0;c<a.length;c+=2)b[c/2]=parseInt(a.substring(c,c+2),16);return b}("b8fe6c3923a44bbe7c01812cf721ad1cded46de9839097db7240a4a4b7b3671fcb79e64eccc0e578825ad07dccff7221b8084674f743248ee03590e6813a264c3c2852bb91c300cb88d0658b1b532ea371644897a20df94e3819ef46a9deacd8a8fa763fe39c343ff9dcbbc7c70b4f1d8a51e04bcdb45931c89f7ec9d9787364eac5ac8334d3ebc3c581a0fffa1363eb170ddd51b7f0da49d316552629d4689e2b16be587d47a1fc8ff8b8d17ad031ce45cb3a8f95160428afd7fbcabb4b407e"),bW=(bK(1)<<bK(128))-bK(1),bX=(bK(1)<<bK(64))-bK(1),bY=(bK(1)<<bK(32))-bK(1);function bZ(a,b=0){return new Uint8Array(a.buffer,a.byteOffset+b,a.length-b)}function b$(a,b=0){return new DataView(a.buffer,a.byteOffset+b).getBigUint64(0,!0)}function b_(a,b=0){return new DataView(a.buffer,a.byteOffset+b).getUint32(0,!0)}function b0(a,b=0){return a[b]}let b1=(a,b)=>(a&bY)*(b&bY)&bX,b2=a=>{if(!a)throw Error("Assert failed")};function b3(a,b,c){for(let d=0;d<8;d++){let e=b$(b,8*d),f=e^b$(c,8*d);a[1^d]+=e,a[d]+=b1(f,f>>bK(32))}return a}function b4(a,b,c,d){for(let e=0;e<d;e++)b3(a,bZ(b,64*e),bZ(c,8*e));return a}function b5(a,b){for(let d=0;d<8;d++){var c;let e=b$(b,8*d),f=a[d];f=((c=f)^c>>bK(47)^e)*bL,a[d]=f&bX}return a}function b6(a,b){return b8(a[0]^b$(b,0),a[1]^b$(b,8))}function b7(a,b,c){let d=c;return d+=b6(a.slice(0),bZ(b,0)),d+=b6(a.slice(2),bZ(b,16)),d+=b6(a.slice(4),bZ(b,32)),cb((d+=b6(a.slice(6),bZ(b,48)))&bX)}function b8(a,b){let c=a*b&bW;return c&bX^c>>bK(64)}function b9(a,b,c){return b8((b$(a,0)^b$(b,0)+c)&bX,(b$(a,8)^b$(b,8)-c)&bX)}function ca(a,b,c,d,e){let f=a&bX,g=a>>bK(64)&bX;return f+=b9(b,d,e),f^=b$(c,0)+b$(c,8),f&=bX,g+=b9(c,bZ(d,16),e),g^=b$(b,0)+b$(b,8),(g&=bX)<<bK(64)|f}function cb(a){return a^=a>>bK(37),a*=bT,a&=bX,a^=a>>bK(32)}function cc(a){return a^=a>>bK(33),a*=bP,a&=bX,a^=a>>bK(29),a*=bQ,a&=bX,a^=a>>bK(32)}function cd(a){return~a+bK(1)&bX}let ce=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function cf(a,b){if(!ce.test(a))throw Error(void 0!==b?`Invalid UUID for ${b}: ${a}`:`Invalid UUID: ${a}`);return a}let cg=new TextEncoder;function ch(a,b){var c,d;let e,f,g,h,i=(c=`${a}:${b}`,d=function(a,b=bK(0)){let c,d,e=a.byteLength;return e<=16?function(a,b){var c,d,e,f,g;let h=a.byteLength;if(b2(h<=16),h>8){let c,d,e,f,g,h,i,j;return b2((c=a.byteLength)>=9&&c<=16),d=(b$(bV,32)^b$(bV,40))+b&bX,e=(b$(bV,48)^b$(bV,56))-b&bX,h=((g=(b$(a)^(f=b$(a,c-8))^d)*bO)&bX)+(bK(c-1)<<bK(54)),g=g&(bW^bX)|h,f^=e,g+=f+(f&bY)*(bM-bK(1))<<bK(64),g&=bW,g^=((i=g>>bK(64))&bK(255))<<bK(56)|(i&bK(65280))<<bK(40)|(i&bK(0xff0000))<<bK(24)|(i&bK(0xff000000))<<bK(8)|(i&bK(0xff00000000))>>bK(8)|(i&bK(0xff0000000000))>>bK(24)|(i&bK(0xff000000000000))>>bK(40)|(i&bK(0xff00000000000000))>>bK(56),cb((j=(g&bX)*bP+((g>>bK(64))*bP<<bK(64))&bW)&bX)|cb(j>>bK(64))<<bK(64)}if(h>=4){let e,f,g,h,i;return b2((e=a.byteLength)>=4&&e<=8),f=b_(a,0),g=b_(a,e-4),h=bK(f)|bK(g)<<bK(32),i=(h^(b$(bV,16)^b$(bV,24))+b&bX)*(bO+(bK(e)<<bK(2)))&bW,i+=(i&bX)<<bK(65),i&=bW,i^=i>>bK(67),(d=((c=i&bX)^c>>bK(35))*bU&bX)^d>>bK(28)|cb(i>>bK(64))<<bK(64)}if(h>0){let c,d,h,i;return b2((c=a.byteLength)>0&&c<=3),h=((d=bK(b0(a,c-1))|bK(c<<8)|bK(b0(a,0)<<16)|bK(b0(a,c>>1)<<24))^(bK(b_(bV,0))^bK(b_(bV,4)))+b)&bX,i=(bK(b_(bV,8))^bK(b_(bV,12)))-b,(cc((((f=e=((e=((e=d)&bK(65535))<<bK(16)|(e&bK(0xffff0000))>>bK(16))&bK(0xff00ff))<<bK(8)|(e&bK(0xff00ff00))>>bK(8))<<(g=bK(13))|f>>bK(32)-g)&bY^i)&bX)&bX)<<bK(64)|cc(h)}return cc(b^b$(bV,64)^b$(bV,72))|cc(b^b$(bV,80)^b$(bV,88))<<bK(64)}(a,b):e<=128?function(a,b,c){let d=bK(a.byteLength)*bO&bX,e=bK(a.byteLength-1)/bK(32);for(;e>=0;){let f=Number(e);d=ca(d,bZ(a,16*f),bZ(a,a.byteLength-16*(f+1)),bZ(b,32*f),c),e--}let f=d+(d>>bK(64))&bX;f=cb(f);let g=(d&bX)*bO+(d>>bK(64))*bR+(bK(a.byteLength)-c&bX)*bP;return g&=bX,f|(g=cd(cb(g)))<<bK(64)}(a,bV,b):e<=240?function(a,b,c){let d=bK(a.byteLength)*bO&bX;for(let e=32;e<160;e+=32)d=ca(d,bZ(a,e-32),bZ(a,e-16),bZ(b,e-32),c);d=cb(d&bX)|cb(d>>bK(64))<<bK(64);for(let e=160;e<=a.byteLength;e+=32)d=ca(d,bZ(a,e-32),bZ(a,e-16),bZ(b,3+e-160),c);let e=(d=ca(d,bZ(a,a.byteLength-16),bZ(a,a.byteLength-32),bZ(b,103),cd(c)))+(d>>bK(64))&bX;e=cb(e);let f=(d&bX)*bO+(d>>bK(64))*bR+(bK(a.byteLength)-c&bX)*bP;return f&=bX,e|(f=cd(cb(f)))<<bK(64)}(a,bV,b):(c=new BigUint64Array([bN,bO,bP,bQ,bR,bM,bS,bL]),b2(a.length>128),b2(8*(c=function(a,b,c,d,e){let f=Math.floor((c.byteLength-64)/8),g=64*f,h=Math.floor((b.byteLength-1)/g);for(let d=0;d<h;d++)a=e(a=b4(a,bZ(b,d*g),c,f),bZ(c,c.byteLength-64));{let e=Math.floor((b.byteLength-1-g*h)/64);a=d(a=b4(a,bZ(b,h*g),c,e),bZ(b,b.byteLength-64),bZ(c,c.byteLength-64-7))}return a}(c,a,bV,b3,b5)).length==64),d=b7(c,bZ(bV,11),bK(a.byteLength)*bO&bX),b7(c,bZ(bV,bV.byteLength-64-11),~(bK(a.byteLength)*bP)&bX)<<bK(64)|d)}(cg.encode(c)),f=new DataView((e=new Uint8Array(16)).buffer),g=d>>bK(64),f.setBigUint64(0,g,!1),f.setBigUint64(8,d&bX,!1),e),j=new Uint8Array(16);if(7===(ce.test(a)?parseInt(a[14],16):null)){let b=function(a){let b=a.replace(/-/g,""),c=new Uint8Array(16);for(let a=0;a<16;a++)c[a]=parseInt(b.slice(2*a,2*a+2),16);return c}(a);j.set(b.slice(0,6),0)}else{let a=Date.now();j[0]=a/0x10000000000&255,j[1]=a/0x100000000&255,j[2]=a/0x1000000&255,j[3]=a/65536&255,j[4]=a/256&255,j[5]=255&a}return j[6]=112|15&i[0],j[7]=i[1],j[8]=128|63&i[2],j.set(i.slice(3,10),9),h=Array.from(j).map(a=>a.toString(16).padStart(2,"0")).join(""),`${h.slice(0,8)}-${h.slice(8,12)}-${h.slice(12,16)}-${h.slice(16,20)}-${h.slice(20)}`}var ci=a.i(902157),cj=a.i(912714),ck=a.i(750227);async function cl(a){await cj.mkdir(a,{recursive:!0})}async function cm(a,b){let c=`${a}.tmp`;await cj.writeFile(c,b,{encoding:"utf8",mode:384}),await cj.rename(c,a)}async function cn(a){return cj.readdir(a)}async function co(a){return cj.stat(a)}function cp(a){return ci.existsSync(a)}function cq(a){return ci.readFileSync(a,"utf-8")}let cr=new class{constructor(a={}){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(a)}get metrics(){return{...this._metrics}}get totalRequests(){return this._metrics.hits+this._metrics.misses}get hitRate(){let a=this.totalRequests;return a>0?this._metrics.hits/a:0}resetMetrics(){this._metrics={hits:0,misses:0,refreshes:0,refreshErrors:0}}get(a,b){if(0===this.maxSize)return;let c=this.cache.get(a);if(!c){this._metrics.misses+=1;return}return this.cache.delete(a),this.cache.set(a,{...c,refreshFunc:b}),this._metrics.hits+=1,c.value}set(a,b,c){if(0===this.maxSize)return;if(void 0===this.refreshTimer&&this.startRefreshLoop(),!this.cache.has(a)&&this.cache.size>=this.maxSize){let a=this.cache.keys().next().value;void 0!==a&&this.cache.delete(a)}let d={value:b,createdAt:Date.now(),refreshFunc:c};this.cache.delete(a),this.cache.set(a,d)}invalidate(a){this.cache.delete(a)}clear(){this.cache.clear()}get size(){return this.cache.size}stop(){this.refreshTimer&&(clearInterval(this.refreshTimer),this.refreshTimer=void 0)}dump(a){var b;let c={};for(let[a,b]of this.cache.entries())c[a]=b.value;let d=ck.dirname(a);cp(d)||ci.mkdirSync(d,{recursive:!0});let e=`${a}.tmp`;try{b=JSON.stringify({entries:c},null,2),ci.writeFileSync(e,b),ci.renameSync(e,a)}catch(a){throw cp(e)&&ci.unlinkSync(e),a}}load(a){let b;if(!cp(a))return 0;try{let c=cq(a);b=JSON.parse(c).entries??null}catch{return 0}if(!b)return 0;let c=0,d=Date.now();for(let[a,e]of Object.entries(b)){if(this.cache.size>=this.maxSize)break;let b={value:e,createdAt:d};this.cache.set(a,b),c+=1}return c}startRefreshLoop(){this.stop(),null!==this.ttlSeconds&&(this.refreshTimer=setInterval(()=>{this.refreshStaleEntries().catch(a=>{console.warn("Unexpected error in cache refresh loop:",a)})},1e3*this.refreshIntervalSeconds),this.refreshTimer.unref&&this.refreshTimer.unref())}getStaleEntries(){let a=[];for(let[c,d]of this.cache.entries()){var b;null!==(b=this.ttlSeconds)&&Date.now()-d.createdAt>1e3*b&&a.push([c,d])}return a}async refreshStaleEntries(){let a=this.getStaleEntries();if(0!==a.length){for(let[b,c]of a)if(void 0!==c.refreshFunc)try{let a=await c.refreshFunc();this.set(b,a,c.refreshFunc),this._metrics.refreshes+=1}catch(a){this._metrics.refreshErrors+=1,console.warn(`Failed to refresh cache entry ${b}:`,a)}}}configure(a){this.stop(),this.refreshIntervalSeconds=a.refreshIntervalSeconds??60,this.maxSize=a.maxSize??100,this.ttlSeconds=a.ttlSeconds??300}},cs="0.7.3",ct=()=>c||(c="u">typeof Bun?"bun":"u">typeof process&&void 0!==process.versions&&void 0!==process.versions.node&&!("u">typeof Deno)?"node":"object"==typeof globalThis&&globalThis.constructor&&"DedicatedWorkerGlobalScope"===globalThis.constructor.name?"webworker":"u">typeof navigator&&navigator.userAgent.includes("jsdom")?"jsdom":"u">typeof Deno?"deno":"other");function cu(){return void 0===d&&(d={library:"langsmith",runtime:ct(),sdk:"langsmith-js",sdk_version:cs,...function(){if(void 0!==e)return e;let a={};for(let b of["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"]){let c=cw(b);void 0!==c&&(a[b]=c)}return e=a,a}()}),d}function cv(){let a=function(){let a={};try{if("u">typeof process&&process.env)for(let[b,c]of Object.entries(process.env))(b.startsWith("LANGCHAIN_")||b.startsWith("LANGSMITH_"))&&null!=c&&((b.toLowerCase().includes("key")||b.toLowerCase().includes("secret")||b.toLowerCase().includes("token"))&&"string"==typeof c?a[b]=c.slice(0,2)+"*".repeat(c.length-4)+c.slice(-2):a[b]=c)}catch(a){}return a}(),b={},c=["LANGCHAIN_API_KEY","LANGCHAIN_ENDPOINT","LANGCHAIN_TRACING_V2","LANGCHAIN_PROJECT","LANGCHAIN_SESSION","LANGSMITH_API_KEY","LANGSMITH_ENDPOINT","LANGSMITH_TRACING_V2","LANGSMITH_CONFIG_FILE","LANGSMITH_PROJECT","LANGSMITH_SESSION"];for(let[d,e]of Object.entries(a))"string"!=typeof e||c.includes(d)||d.toLowerCase().includes("key")||d.toLowerCase().includes("secret")||d.toLowerCase().includes("token")||("LANGCHAIN_REVISION_ID"===d?b.revision_id=e:b[d]=e);return b}function cw(a){try{return"u">typeof process?process.env?.[a]:void 0}catch(a){return}}function cx(a){return cw(`LANGSMITH_${a}`)||cw(`LANGCHAIN_${a}`)}function cy(){return"true"===cw("OTEL_ENABLED")||"true"===cx("OTEL_ENABLED")}let cz=new Set(["langsmith","otel"]);function cA(a){if(void 0!==a)return a;let b=cx("TRACING_MODE");if(void 0!==b&&""!==b){let a=b.toLowerCase();if(!cz.has(a))throw Error(`Invalid LANGSMITH_TRACING_MODE=${JSON.stringify(b)}. Must be one of: ${[...cz].sort().join(", ")}`);return cy()&&console.warn("Both LANGSMITH_TRACING_MODE and the legacy OTEL_ENABLED / LANGSMITH_OTEL_ENABLED env vars are set. LANGSMITH_TRACING_MODE takes precedence."),a}return cy()?"otel":"langsmith"}class cB{constructor(){Object.defineProperty(this,"hasWarned",{enumerable:!0,configurable:!0,writable:!0,value:!1})}startActiveSpan(a,...b){let c;if(this.hasWarned||"otel"!==cA()||(console.warn('OTel tracing mode is active (via LANGSMITH_TRACING_MODE, OTEL_ENABLED, or LANGSMITH_OTEL_ENABLED), but the required OTEL instances have not been initialized. Please add:\n```\nimport { initializeOTEL } from "langsmith/experimental/otel/setup";\ninitializeOTEL();\n```\nat the beginning of your code.'),this.hasWarned=!0),1===b.length&&"function"==typeof b[0]?c=b[0]:2===b.length&&"function"==typeof b[1]?c=b[1]:3===b.length&&"function"==typeof b[2]&&(c=b[2]),"function"==typeof c)return c()}}let cC=Symbol.for("ls:otel_trace"),cD=Symbol.for("ls:otel_context"),cE=Symbol.for("ls:otel_get_default_otlp_tracer_provider"),cF=new class{constructor(){Object.defineProperty(this,"mockTracer",{enumerable:!0,configurable:!0,writable:!0,value:new cB})}getTracer(a,b){return this.mockTracer}getActiveSpan(){}setSpan(a,b){return a}getSpan(a){}setSpanContext(a,b){return a}getTracerProvider(){}setGlobalTracerProvider(a){return!1}},cG=new class{active(){return{}}with(a,b){return b()}},cH=new class{getTraceInstance(){return globalThis[cC]??cF}getContextInstance(){return globalThis[cD]??cG}initializeGlobalInstances(a){void 0===globalThis[cC]&&(globalThis[cC]=a.trace),void 0===globalThis[cD]&&(globalThis[cD]=a.context)}setDefaultOTLPTracerComponents(a){globalThis[cE]=a}getDefaultOTLPTracerComponents(){return globalThis[cE]??void 0}};function cI(){return cH.getTraceInstance()}let cJ={llm:"chat",tool:"execute_tool",retriever:"embeddings",embedding:"embeddings",prompt:"chat"};class cK{constructor(){Object.defineProperty(this,"spans",{enumerable:!0,configurable:!0,writable:!0,value:new Map})}exportBatch(a,b){for(let c of a)try{if(!c.run)continue;if("post"===c.operation){let a=this.createSpanForRun(c,c.run,b.get(c.id));a&&!c.run.end_time&&this.spans.set(c.id,a)}else this.updateSpanForRun(c,c.run)}catch(a){console.error(`Error processing operation ${c.id}:`,a)}}createSpanForRun(a,b,c){let d=c&&cI().getSpan(c);if(d)try{return this.finishSpanSetup(d,b,a)}catch(b){console.error(`Failed to create span for run ${a.id}:`,b);return}}finishSpanSetup(a,b,c){return this.setSpanAttributes(a,b,c),b.error?(a.setStatus({code:2}),a.recordException(Error(b.error))):a.setStatus({code:1}),b.end_time&&a.end(new Date(b.end_time)),a}updateSpanForRun(a,b){try{let c=this.spans.get(a.id);if(!c)return void console.debug(`No span found for run ${a.id} during update`);this.setSpanAttributes(c,b,a),b.error?(c.setStatus({code:2}),c.recordException(Error(b.error))):c.setStatus({code:1});let d=b.end_time;d&&(c.end(new Date(d)),this.spans.delete(a.id))}catch(b){console.error(`Failed to update span for run ${a.id}:`,b)}}extractModelName(a){if(a.extra?.metadata){let b=a.extra.metadata;if(b.ls_model_name)return b.ls_model_name;if(b.invocation_params){let a=b.invocation_params;if(a.model)return a.model;if(a.model_name)return a.model_name}}}setSpanAttributes(a,b,c){var d;if("run_type"in b&&b.run_type){a.setAttribute("langsmith.span.kind",b.run_type);let c=cJ[d=b.run_type||"chain"]||d;a.setAttribute("gen_ai.operation.name",c)}"name"in b&&b.name&&a.setAttribute("langsmith.trace.name",b.name),"session_id"in b&&b.session_id&&a.setAttribute("langsmith.trace.session_id",b.session_id),"session_name"in b&&b.session_name&&a.setAttribute("langsmith.trace.session_name",b.session_name),this.setGenAiSystem(a,b);let e=this.extractModelName(b);for(let[c,d]of(e&&a.setAttribute(bC,e),b.extra?.metadata?.usage_metadata&&"object"==typeof b.extra.metadata.usage_metadata&&a.setAttribute(bH,JSON.stringify(b.extra.metadata.usage_metadata)),"prompt_tokens"in b&&"number"==typeof b.prompt_tokens&&a.setAttribute(bD,b.prompt_tokens),"completion_tokens"in b&&"number"==typeof b.completion_tokens&&a.setAttribute(bE,b.completion_tokens),"total_tokens"in b&&"number"==typeof b.total_tokens&&a.setAttribute(bF,b.total_tokens),this.setInvocationParameters(a,b),Object.entries(b.extra?.metadata||{})))null!=d&&a.setAttribute(`langsmith.metadata.${c}`,"string"==typeof d||"number"==typeof d||"boolean"==typeof d?String(d):JSON.stringify(d));let f=b.tags;if(f&&Array.isArray(f)?a.setAttribute(bG,f.join(", ")):f&&a.setAttribute(bG,String(f)),"serialized"in b&&"object"==typeof b.serialized){let c=b.serialized;c.name&&a.setAttribute("gen_ai.serialized.name",String(c.name)),c.signature&&a.setAttribute("gen_ai.serialized.signature",String(c.signature)),c.doc&&a.setAttribute("gen_ai.serialized.doc",String(c.doc))}this.setIOAttributes(a,c)}setGenAiSystem(a,b){let c="langchain",d=this.extractModelName(b);if(d){let a=d.toLowerCase();a.includes("anthropic")||a.startsWith("claude")?c="anthropic":a.includes("bedrock")?c="aws.bedrock":a.includes("azure")&&a.includes("openai")?c="az.ai.openai":a.includes("azure")&&a.includes("inference")?c="az.ai.inference":a.includes("cohere")?c="cohere":a.includes("deepseek")?c="deepseek":a.includes("gemini")?c="gemini":a.includes("groq")?c="groq":a.includes("watson")||a.includes("ibm")?c="ibm.watsonx.ai":a.includes("mistral")?c="mistral_ai":a.includes("gpt")||a.includes("openai")?c="openai":a.includes("perplexity")||a.includes("sonar")?c="perplexity":a.includes("vertex")?c="vertex_ai":(a.includes("xai")||a.includes("grok"))&&(c="xai")}a.setAttribute("gen_ai.system",c)}setInvocationParameters(a,b){if(!b.extra?.metadata?.invocation_params)return;let c=b.extra.metadata.invocation_params;void 0!==c.max_tokens&&a.setAttribute("gen_ai.request.max_tokens",c.max_tokens),void 0!==c.temperature&&a.setAttribute("gen_ai.request.temperature",c.temperature),void 0!==c.top_p&&a.setAttribute("gen_ai.request.top_p",c.top_p),void 0!==c.frequency_penalty&&a.setAttribute("gen_ai.request.frequency_penalty",c.frequency_penalty),void 0!==c.presence_penalty&&a.setAttribute("gen_ai.request.presence_penalty",c.presence_penalty)}setIOAttributes(a,b){if(b.run.inputs)try{let c=b.run.inputs;"object"==typeof c&&null!==c&&(c.model&&Array.isArray(c.messages)&&a.setAttribute(bC,c.model),void 0!==c.stream&&a.setAttribute("langsmith.request.streaming",c.stream),c.extra_headers&&a.setAttribute("langsmith.request.headers",JSON.stringify(c.extra_headers)),c.extra_query&&a.setAttribute("gen_ai.request.extra_query",JSON.stringify(c.extra_query)),c.extra_body&&a.setAttribute("gen_ai.request.extra_body",JSON.stringify(c.extra_body))),a.setAttribute("gen_ai.prompt",JSON.stringify(c))}catch(a){console.debug(`Failed to process inputs for run ${b.id}`,a)}if(b.run.outputs)try{let c=b.run.outputs,d=this.getUnifiedRunTokens(c);if(d&&(a.setAttribute(bD,d[0]),a.setAttribute(bE,d[1]),a.setAttribute(bF,d[0]+d[1])),c&&"object"==typeof c){if(c.model&&a.setAttribute("gen_ai.response.model",String(c.model)),c.id&&a.setAttribute("gen_ai.response.id",c.id),c.choices&&Array.isArray(c.choices)){let b=c.choices.map(a=>a.finish_reason).filter(a=>a).map(String);b.length>0&&a.setAttribute("gen_ai.response.finish_reasons",b.join(", "))}if(c.service_tier&&a.setAttribute("gen_ai.response.service_tier",c.service_tier),c.system_fingerprint&&a.setAttribute("gen_ai.response.system_fingerprint",c.system_fingerprint),c.usage_metadata&&"object"==typeof c.usage_metadata){let b=c.usage_metadata;a.setAttribute(bH,JSON.stringify(b)),b.input_token_details&&a.setAttribute("gen_ai.usage.input_token_details",JSON.stringify(b.input_token_details)),b.output_token_details&&a.setAttribute("gen_ai.usage.output_token_details",JSON.stringify(b.output_token_details))}}a.setAttribute("gen_ai.completion",JSON.stringify(c))}catch(a){console.debug(`Failed to process outputs for run ${b.id}`,a)}}getUnifiedRunTokens(a){if(!a)return null;let b=this.extractUnifiedRunTokens(a.usage_metadata);if(b)return b;for(let c of Object.keys(a)){let d=a[c];if(d&&"object"==typeof d&&((b=this.extractUnifiedRunTokens(d.usage_metadata))||1===d.lc&&d.kwargs&&"object"==typeof d.kwargs&&(b=this.extractUnifiedRunTokens(d.kwargs.usage_metadata))))return b}let c=a.generations||[];if(!Array.isArray(c))return null;for(let a of Array.isArray(c[0])?c.flat():c)if("object"==typeof a&&a.message&&"object"==typeof a.message&&a.message.kwargs&&"object"==typeof a.message.kwargs&&(b=this.extractUnifiedRunTokens(a.message.kwargs.usage_metadata)))return b;return null}extractUnifiedRunTokens(a){return a&&"object"==typeof a&&"number"==typeof a.input_tokens&&"number"==typeof a.output_tokens?[a.input_tokens,a.output_tokens]:null}}let cL=Object.prototype.toString,cM=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 cN(a,b,{min:c=0,allowInfinity:d=!1}={}){if(void 0!==b){if("number"!=typeof b||Number.isNaN(b))throw TypeError(`Expected \`${a}\` to be a number${d?" or Infinity":""}.`);if(!d&&!Number.isFinite(b))throw TypeError(`Expected \`${a}\` to be a finite number.`);if(b<c)throw TypeError(`Expected \`${a}\` to be \u2265 ${c}.`)}}class cO extends Error{constructor(a){super(),a instanceof Error?(this.originalError=a,{message:a}=a):(this.originalError=Error(a),this.originalError.stack=this.stack),this.name="AbortError",this.message=a}}function cP(a,b){return Number.isFinite(b)?b-(performance.now()-a):b}async function cQ({error:a,attemptNumber:b,retriesConsumed:c,startTime:d,options:e}){let f,g=a instanceof Error?a:TypeError(`Non-error was thrown: "${a}". You should only throw errors.`);if(g instanceof cO)throw g.originalError;let h=Number.isFinite(e.retries)?Math.max(0,e.retries-c):e.retries,i=e.maxRetryTime??1/0,j=Object.freeze({error:g,attemptNumber:b,retriesLeft:h,retriesConsumed:c});if(await e.onFailedAttempt(j),0>=cP(d,i))throw g;let k=await e.shouldConsumeRetry(j),l=cP(d,i);if(l<=0||h<=0)throw g;if(g instanceof TypeError&&!function(a){if(!(a&&"[object Error]"===cL.call(a)&&"TypeError"===a.name&&"string"==typeof a.message))return!1;let{message:b,stack:c}=a;return"Load failed"===b?void 0===c||"__sentry_captured__"in a:!!b.startsWith("error sending request for url")||cM.has(b)}(g)){if(k)throw g;return e.signal?.throwIfAborted(),!1}if(!await e.shouldRetry(j))throw g;if(!k)return e.signal?.throwIfAborted(),!1;let m=Math.min((f=Math.max(1,c+1),Math.min(Math.round((e.randomize?Math.random()+1:1)*e.minTimeout*e.factor**(f-1)),e.maxTimeout)),l);return m>0&&await new Promise((a,b)=>{let c=()=>{clearTimeout(d),e.signal?.removeEventListener("abort",c),b(e.signal.reason)},d=setTimeout(()=>{e.signal?.removeEventListener("abort",c),a()},m);e.unref&&d.unref?.(),e.signal?.addEventListener("abort",c,{once:!0})}),e.signal?.throwIfAborted(),!0}async function cR(a,b={}){var c=(b={...b}).retries;if("number"==typeof c){if(c<0)throw TypeError("Expected `retries` to be a non-negative number.");if(Number.isNaN(c))throw TypeError("Expected `retries` to be a valid number or Infinity, got NaN.")}else if(void 0!==c)throw TypeError("Expected `retries` to be a number or Infinity.");if(Object.hasOwn(b,"forever"))throw Error("The `forever` option is no longer supported. For many use-cases, you can set `retries: Infinity` instead.");b.retries??=10,b.factor??=2,b.minTimeout??=1e3,b.maxTimeout??=1/0,b.maxRetryTime??=1/0,b.randomize??=!1,b.onFailedAttempt??=()=>{},b.shouldRetry??=()=>!0,b.shouldConsumeRetry??=()=>!0,cN("factor",b.factor,{min:0,allowInfinity:!1}),cN("minTimeout",b.minTimeout,{min:0,allowInfinity:!1}),cN("maxTimeout",b.maxTimeout,{min:0,allowInfinity:!0}),cN("maxRetryTime",b.maxRetryTime,{min:0,allowInfinity:!0}),b.factor>0||(b.factor=1),b.signal?.throwIfAborted();let d=0,e=0,f=performance.now();for(;!Number.isFinite(b.retries)||e<=b.retries;){d++;try{b.signal?.throwIfAborted();let c=await a(d);return b.signal?.throwIfAborted(),c}catch(a){await cQ({error:a,attemptNumber:d,retriesConsumed:e,startTime:f,options:b})&&e++}}throw Error("Retry attempts exhausted without throwing an error.")}var cS=a.i(166976);let cT="default"in cS.default?cS.default.default:cS.default,cU=[408,425,429,500,502,503,504];class cV{constructor(a){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=a.maxConcurrency??1/0,this.maxRetries=a.maxRetries??6,this.maxQueueSizeBytes=a.maxQueueSizeBytes,this.queue=new cT({concurrency:this.maxConcurrency}),this.onFailedResponseHook=a?.onFailedResponseHook}call(a,...b){return this.callWithOptions({},a,...b)}callWithOptions(a,b,...c){let d=a.sizeBytes??0;if(void 0!==this.maxQueueSizeBytes&&d>0&&this.queueSizeBytes+d>this.maxQueueSizeBytes)return Promise.reject(Error(`Queue size limit (${this.maxQueueSizeBytes} bytes) exceeded. Current queue size: ${this.queueSizeBytes} bytes, attempted addition: ${d} bytes.`));d>0&&(this.queueSizeBytes+=d);let e=this.onFailedResponseHook,f=this.queue.add(()=>cR(()=>b(...c).catch(a=>{if(a instanceof Error)throw a;throw Error(a)}),{async onFailedAttempt({error:a}){if("object"!=typeof a||null==a)throw a;let b="message"in a&&"string"==typeof a.message?a.message:void 0;if(b?.startsWith("Cancel")||b?.startsWith("TimeoutError")||b?.startsWith("AbortError")||"name"in a&&"TimeoutError"===a.name||"code"in a&&"ECONNABORTED"===a.code)throw a;let c="response"in a?a.response:void 0;if(e&&await e(c))return;let d=c?.status??("status"in a?a.status:void 0);if(null!=d&&("number"==typeof d||"string"==typeof d)&&!cU.includes(+d))throw a},retries:this.maxRetries,randomize:!0}),{throwOnTimeout:!0});return(d>0&&(f=f.finally(()=>{this.queueSizeBytes-=d})),a.signal)?Promise.race([f,new Promise((b,c)=>{a.signal?.addEventListener("abort",()=>{c(Error("AbortError"))})})]):f}}function cW(a){return"function"==typeof a?._getType}function cX(a){let b={type:a._getType(),data:{content:a.content}};return a?.additional_kwargs&&Object.keys(a.additional_kwargs).length>0&&(b.data.additional_kwargs={...a.additional_kwargs}),b}let cY={};function cZ(a){cY[a]||(console.warn(a),cY[a]=!0)}function c$(a){return`Invalid prompt identifier format: "${a}". Expected one of:
11
+ - "prompt-name" (for private prompts)
12
+ - "owner/prompt-name" (for prompts with explicit owner)
13
+ - "prompt-name:commit-hash" (with commit reference)
14
+ - "owner/prompt-name:commit-hash" (with owner and commit)`}class c_ extends Error{constructor(a){super(a),Object.defineProperty(this,"status",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name="LangSmithConflictError",this.status=409}}class c0 extends Error{constructor(a){super(a),Object.defineProperty(this,"status",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name="LangSmithNotFoundError",this.status=404}}function c1(a){return null!=a&&"object"==typeof a&&"name"in a&&a?.name==="LangSmithNotFoundError"}async function c2(a,b,c){let d;if(a.ok){c&&(d=await a.text());return}if(403===a.status)try{let b=await a.json(),c=b?.error;"org_scoped_key_requires_workspace"===c&&(d="This API key is org-scoped and requires workspace specification. Please provide 'workspaceId' parameter, or set LANGSMITH_WORKSPACE_ID environment variable.")}catch(c){let b=Error(`${a.status} ${a.statusText}`);throw b.status=a?.status,b}if(void 0===d)try{d=await a.text()}catch(a){d=""}let e=`Failed to ${b}. Received status [${a.status}]: ${a.statusText}. Message: ${d}`;if(404===a.status)throw new c0(e);if(409===a.status)throw new c_(e);let f=Error(e);throw f.status=a.status,f}let c3="ERR_CONFLICTING_ENDPOINTS";class c4 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:c3}),this.name="ConflictingEndpointsError"}}function c5(a){if(!a||a.split("/").length>2||a.startsWith("/")||a.endsWith("/")||a.split(":").length>2)throw Error(c$(a));let[b,c]=a.split(":"),d=c||"latest";if(b.includes("/")){let[c,e]=b.split("/",2);if(!c||!e)throw Error(c$(a));return[c,e,d]}if(!b)throw Error(c$(a));return["-",b,d]}let c6="https://api.smith.langchain.com";function c7(a){return null!=a&&""!==a.trim()}function c8(a){return a?.trim().replace(/^["']|["']$/g,"")}function c9(a){return a.reason??Error("The operation was aborted.")}async function da(a,b){let c;if(!b)return a;if(b.aborted)throw c9(b);let d=new Promise((a,d)=>{let e=()=>{d(c9(b))};b.addEventListener("abort",e,{once:!0}),c=()=>{b.removeEventListener("abort",e)}});try{return await Promise.race([a,d])}finally{c?.()}}class db{constructor(a){Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:a}),Object.defineProperty(this,"refreshPromise",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"managedAuthorizationValue",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.rememberProfileAuthHeader(this.currentAuthHeader())}currentAuthHeader(){var a;let b,c=(a=this.state.profile,(b=c8(a.oauth?.access_token))?{name:"Authorization",value:`Bearer ${b}`}:c8(a.oauth?.refresh_token)?void 0:dc(a));return this.rememberProfileAuthHeader(c),c}async getAuthHeader(a,b){(function(a){let b=a.oauth;if(!b?.refresh_token)return!1;if(!b.access_token)return!0;if(!b.expires_at)return!1;let c=Date.parse(b.expires_at);return!Number.isNaN(c)&&c<=Date.now()+6e4})(this.state.profile)&&(this.refreshPromise||(this.refreshPromise=this.refreshOAuthToken(a).finally(()=>{this.refreshPromise=void 0})),await da(this.refreshPromise,b));let c=dc(this.state.profile);return this.rememberProfileAuthHeader(c),c}isProfileAuthorizationHeader(a){return a===this.managedAuthorizationValue}async refreshOAuthToken(a){let b=this.state.profile.oauth?.refresh_token;if(!b)return;let c=c8(this.state.profile.api_url)??c6;try{var d;let e=new URLSearchParams({grant_type:"refresh_token",client_id:"langsmith-cli",refresh_token:b}),f=await a(`${function(a){let b=a;for(;b.endsWith("/");)b=b.slice(0,-1);let c="/api/v1";return b.endsWith(c)?b.slice(0,-c.length):b}(c)}/oauth/token`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:e.toString(),signal:AbortSignal.timeout(1e4)});if(!f.ok)return;let g=await f.json();if(!g.access_token)return;d=this.state.profile,d.oauth??={},g.access_token&&(d.oauth.access_token=g.access_token),g.refresh_token&&(d.oauth.refresh_token=g.refresh_token),"number"==typeof g.expires_in&&g.expires_in>0&&(d.oauth.expires_at=new Date(Date.now()+1e3*g.expires_in).toISOString()),this.state.config.profiles??={},this.state.config.profiles[this.state.profileName]=this.state.profile,await cm(this.state.configPath,`${JSON.stringify(this.state.config,null,2)}
15
+ `)}catch{return}}rememberProfileAuthHeader(a){this.managedAuthorizationValue=a?.name==="Authorization"?a.value:void 0}}function dc(a){let b=c8(a.oauth?.access_token);if(b)return{name:"Authorization",value:`Bearer ${b}`};let c=c8(a.api_key);if(c)return{name:"x-api-key",value:c}}var dd={result:"[Circular]"},de=[],df=[];let dg=new TextEncoder;function dh(a){return dg.encode(a)}function di(a){if(a&&"object"==typeof a&&null!==a){if(a instanceof Map)return Object.fromEntries(a);else if(a instanceof Set)return Array.from(a);else if(a instanceof Date)return a.toISOString();else if(a instanceof RegExp)return a.toString();else if(a instanceof Error)return{name:a.name,message:a.message}}else if("bigint"==typeof a)return a.toString();return a}function dj(a,b,c,d,e){try{let b=JSON.stringify(a,function(a,b){if(c){let d=c.call(this,a,b);if(void 0!==d)return d}return di(b)},d);return dh(b)}catch(h){let g;if(!h.message?.includes("Converting circular structure to JSON"))return console.warn(`[WARNING]: LangSmith received unserializable value.${b?`
16
+ Context: ${b}`:""}`),dh("[Unserializable]");"true"!==cx("SUPPRESS_CIRCULAR_JSON_WARNINGS")&&console.warn(`[WARNING]: LangSmith received circular JSON. This will decrease tracer performance. ${b?`
17
+ Context: ${b}`:""}`),void 0===e&&(e={depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}),function a(b,c,d,e,f,g,h){if(g+=1,"object"==typeof b&&null!==b){for(i=0;i<e.length;i++)if(e[i]===b)return void dk(dd,b,c,f);if(void 0!==h.depthLimit&&g>h.depthLimit||void 0!==h.edgesLimit&&d+1>h.edgesLimit)return void dk("[...]",b,c,f);if(e.push(b),Array.isArray(b))for(i=0;i<b.length;i++)a(b[i],i,i,e,b,g,h);else{var i,j=Object.keys(b=di(b));for(i=0;i<j.length;i++){var k=j[i];a(b[k],k,i,e,b,g,h)}}e.pop()}}(a,"",0,[],void 0,0,e);try{var f;g=0===df.length?JSON.stringify(a,c,d):JSON.stringify(a,(f=c,f=void 0!==f?f:function(a,b){return b},function(a,b){if(df.length>0)for(var c=0;c<df.length;c++){var d=df[c];if(d[1]===a&&d[0]===b){b=d[2],df.splice(c,1);break}}return f.call(this,a,b)}),d)}catch(a){return dh("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==de.length;){let a=de.pop();4===a.length?Object.defineProperty(a[0],a[1],a[3]):a[0][a[1]]=a[2]}}return dh(g)}}function dk(a,b,c,d){var e=Object.getOwnPropertyDescriptor(d,c);void 0!==e.get?e.configurable?(Object.defineProperty(d,c,{value:a}),de.push([d,c,b,e])):df.push([b,c,a]):(d[c]=a,de.push([d,c,b]))}let dl=a.i(925127).Worker,dm=`
18
+ const { parentPort } = require("worker_threads");
19
+
20
+ const CIRCULAR_REPLACE_NODE = { result: "[Circular]" };
21
+
22
+ function serializeWellKnownTypes(val) {
23
+ if (val && typeof val === "object") {
24
+ if (val instanceof Map) return Object.fromEntries(val);
25
+ if (val instanceof Set) return Array.from(val);
26
+ if (val instanceof Date) return val.toISOString();
27
+ if (val instanceof RegExp) return val.toString();
28
+ if (val instanceof Error) return { name: val.name, message: val.message };
29
+ } else if (typeof val === "bigint") {
30
+ return val.toString();
31
+ }
32
+ return val;
33
+ }
34
+
35
+ function defaultReplacer(_key, val) {
36
+ return serializeWellKnownTypes(val);
37
+ }
38
+
39
+ // Decirculate in-place: replace circular refs with { result: "[Circular]" }
40
+ // then restore after stringify. Mirrors fast-safe-stringify's decirc().
41
+ const restoreStack = [];
42
+ function decirc(val, k, stack, parent) {
43
+ if (typeof val === "object" && val !== null) {
44
+ for (let i = 0; i < stack.length; i++) {
45
+ if (stack[i] === val) {
46
+ const orig = parent[k];
47
+ parent[k] = CIRCULAR_REPLACE_NODE;
48
+ restoreStack.push([parent, k, orig]);
49
+ return;
50
+ }
51
+ }
52
+ stack.push(val);
53
+ if (Array.isArray(val)) {
54
+ for (let i = 0; i < val.length; i++) decirc(val[i], i, stack, val);
55
+ } else {
56
+ const normalized = serializeWellKnownTypes(val);
57
+ // Only recurse into normalized if it's still an object (arrays/objects),
58
+ // else it was replaced with a primitive (e.g. Date -> string).
59
+ if (normalized === val) {
60
+ const keys = Object.keys(val);
61
+ for (let i = 0; i < keys.length; i++) decirc(val[keys[i]], keys[i], stack, val);
62
+ }
63
+ }
64
+ stack.pop();
65
+ }
66
+ }
67
+
68
+ function serialize(obj) {
69
+ try {
70
+ return JSON.stringify(obj, defaultReplacer);
71
+ } catch (e) {
72
+ if (!String(e && e.message).includes("Converting circular structure to JSON")) {
73
+ return "[Unserializable]";
74
+ }
75
+ decirc(obj, "", [], { "": obj });
76
+ try {
77
+ return JSON.stringify(obj, defaultReplacer);
78
+ } catch (_) {
79
+ return "[unable to serialize, circular reference is too complex to analyze]";
80
+ } finally {
81
+ while (restoreStack.length) {
82
+ const [p, k, v] = restoreStack.pop();
83
+ p[k] = v;
84
+ }
85
+ }
86
+ }
87
+ }
88
+
89
+ parentPort.on("message", (msg) => {
90
+ const { id, op, payload } = msg;
91
+ try {
92
+ if (op === "serialize") {
93
+ const str = serialize(payload);
94
+ const buf = Buffer.from(str, "utf8");
95
+ // Slice into its own ArrayBuffer so we can transfer without dragging
96
+ // unrelated bytes from any shared pool buffer.
97
+ const ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);
98
+ parentPort.postMessage({ id, bytes: ab, length: buf.byteLength }, [ab]);
99
+ } else if (op === "ping") {
100
+ parentPort.postMessage({ id });
101
+ } else {
102
+ parentPort.postMessage({ id, error: "unknown op: " + op });
103
+ }
104
+ } catch (e) {
105
+ parentPort.postMessage({ id, error: String((e && e.message) || e) });
106
+ }
107
+ });
108
+ `;class dn{constructor(){Object.defineProperty(this,"worker",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"nextId",{enumerable:!0,configurable:!0,writable:!0,value:1}),Object.defineProperty(this,"pending",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"disabled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"startPromise",{enumerable:!0,configurable:!0,writable:!0,value:null})}async ensureStarted(){if(this.disabled)return!1;if(null!==this.worker)return!0;if(null!==this.startPromise)return this.startPromise;this.startPromise=this._start();try{return await this.startPromise}finally{this.startPromise=null}}async _start(){if(null===dl)return this.disabled=!0,!1;try{let a=new dl(dm,{eval:!0});return a.on("message",a=>{let b=this.pending.get(a.id);b&&(this.pending.delete(a.id),a.error?b.reject(Error(a.error)):a.bytes&&"number"==typeof a.length?b.resolve(new Uint8Array(a.bytes,0,a.length)):b.reject(Error("worker returned malformed message")))}),a.on("error",a=>{for(let[,b]of this.pending)b.reject(a);this.pending.clear(),this.disabled=!0,this.worker=null}),a.on("exit",a=>{for(let[,b]of this.pending)b.reject(Error(`worker exited with code ${a}`));this.pending.clear(),this.worker=null}),a.unref(),this.worker=a,!0}catch{return this.disabled=!0,!1}}async serialize(a){if(!await this.ensureStarted())return null;let b=this.nextId++;return new Promise((c,d)=>{this.pending.set(b,{resolve:c,reject:d});try{this.worker.postMessage({id:b,op:"serialize",payload:a})}catch(a){this.pending.delete(b),d(a)}})}async terminate(){for(let[,a]of(this.worker&&(await this.worker.terminate(),this.worker=null),this.pending))a.reject(Error("worker terminated"));this.pending.clear()}}let dp=null;function dq(a){return"string"!=typeof a||!(a.length>0)||a.includes("Z")||a.includes("+")||a.includes("-",10)?a:a+"Z"}function dr(a){return{...a,start_time:dq(a.start_time),end_time:dq(a.end_time)}}function ds(a,b,c){if(c)return a;let d=cu(),e=b??cv(),f=a.extra??{},g=f.metadata;return a.extra={...f,runtime:{...d,...f?.runtime},metadata:{...e,...e.revision_id||"revision_id"in a&&a.revision_id?{revision_id:("revision_id"in a?a.revision_id:void 0)??e.revision_id}:{},...g}},a}async function dt(a){let b=[];for await(let c of a)b.push(c);return b}function du(a){if(void 0!==a)return a.trim().replace(/^"(.*)"$/,"$1").replace(/^'(.*)'$/,"$1")}let dv=async a=>{if(a?.status===429){let b=1e3*parseInt(a.headers.get("retry-after")??"10",10);if(b>0)return await new Promise(a=>setTimeout(a,b)),!0}return!1};function dw(a){return"number"==typeof a?Number(a.toFixed(4)):a}class dx{constructor(a){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=a??0x40000000}peek(){return this.items[0]}push(a){let b,c=new Promise(a=>{b=a}),d=function(a){try{let e=new Set,f=0,g="u">typeof Buffer&&"function"==typeof Buffer.byteLength?a=>Buffer.byteLength(a,"utf8"):a=>a.length;function b(a){return void 0===a||"function"==typeof a||"symbol"==typeof a}function c(a){return void 0===a||"function"==typeof a||"symbol"==typeof a?4:d(a)}function d(a){var h;let i;if(null===a)return 4;if(void 0===a)return 0;let j=typeof a;if("boolean"===j)return 5;if("number"===j)return Number.isFinite(a)?a.toString().length:4;if("bigint"===j)return a.toString().length+2;if("string"===j){let b;return(b=g(a))>f&&(f=b),b+2}if("function"===j||"symbol"===j)return 0;if(a instanceof Date)return 26;if(a instanceof RegExp)return g(a.toString())+2;if(a instanceof Error){let b=a.name??"",c=a.message??"";return 22+g(b)+g(c)}if("u">typeof Buffer&&a instanceof Buffer)return 28+(h=a.byteLength,0===h?2:2+4*h);if(ArrayBuffer.isView(a)){if(a instanceof DataView)return 2;let b=a.length??0,c=a instanceof Float32Array||a instanceof Float64Array;return 2+b*(c?30:12)}if(a instanceof ArrayBuffer)return 2;if(e.has(a))return 24;if("function"==typeof a.toJSON){let b;try{b=a.toJSON("")}catch{return 16}e.add(a);let c=d(b);return e.delete(a),c}if(e.add(a),Array.isArray(a)){i=2;let b=a.length;for(let d=0;d<b;d++)i+=c(a[d]),d<b-1&&(i+=1)}else if(a instanceof Map){i=2;let c=0;for(let[e,f]of a){if(b(f))continue;c>0&&(i+=1);let a="string"==typeof e?e:String(e);i+=g(a)+3,i+=d(f),c++}}else if(a instanceof Set){i=2;let b=0;for(let d of a)b>0&&(i+=1),i+=c(d),b++}else{i=2;let c=0,e=Object.keys(a);for(let f=0;f<e.length;f++){let h=e[f],j=a[h];!b(j)&&(c>0&&(i+=1),i+=g(h)+3,i+=d(j),c++)}}return e.delete(a),i}return{size:d(a),maxStringLen:f}}catch{return{size:dj(a).length,maxStringLen:0}}}(a.item).size;return this.sizeBytes+d>this.maxSizeBytes&&this.items.length>0?(console.warn(`AutoBatchQueue size limit (${this.maxSizeBytes} bytes) exceeded. Dropping run with id: ${a.item.id}. Current queue size: ${this.sizeBytes} bytes, attempted addition: ${d} bytes.`),b()):(this.items.push({action:a.action,payload:a.item,otelContext:a.otelContext,apiKey:a.apiKey,apiUrl:a.apiUrl,itemPromiseResolve:b,itemPromise:c,size:d}),this.sizeBytes+=d),c}pop({upToSizeBytes:a,upToSize:b}){if(a<1)throw Error("Number of bytes to pop off may not be less than 1.");let c=[],d=0;for(;d+(this.peek()?.size??0)<a&&this.items.length>0&&c.length<b;){let a=this.items.shift();a&&(c.push(a),d+=a.size,this.sizeBytes-=a.size)}if(0===c.length&&this.items.length>0){let a=this.items.shift();c.push(a),d+=a.size,this.sizeBytes-=a.size}return[c.map(a=>({action:a.action,item:a.payload,otelContext:a.otelContext,apiKey:a.apiKey,apiUrl:a.apiUrl,size:a.size})),()=>c.forEach(a=>a.itemPromiseResolve())]}}class dy{get tracingMode(){return this._tracingMode}get _fetch(){let a,b=this.fetchImplementation||(a=this.debug,async(...b)=>{if(a||"true"===cx("DEBUG")){let[a,c]=b;console.log(`→ ${c?.method||"GET"} ${a}`)}let c=await (globalThis[bI]??((...a)=>fetch(...a)))(...b);return(a||"true"===cx("DEBUG"))&&console.log(`← ${c.status} ${c.statusText} ${c.url}`),c});return async(a,c)=>{let d,e=this.getProfileManagedAuthorizationHeader(c);return void 0!==this.apiKey?d={name:"x-api-key",value:`${this.apiKey}`}:this.hasExplicitAuthHeader(c,e)||(d=await this.profileAuth?.getAuthHeader(b,c?.signal)),b(a,this.applyCurrentAuthHeaders(c,d,e))}}getProfileManagedAuthorizationHeader(a){if(!a?.headers||!this.profileAuth)return;let b=new Headers(a.headers).get("Authorization");if(c7(b))return this.profileAuth.isProfileAuthorizationHeader(b??"")?b??void 0:void 0}isProfileManagedAuthorizationHeader(a,b){return a===b||this.profileAuth?.isProfileAuthorizationHeader(a)===!0}hasExplicitAuthHeader(a,b){if(!a?.headers)return!1;let c=new Headers(a.headers);if(c7(c.get("x-api-key")))return!0;let d=c.get("Authorization");return!!c7(d)&&!this.isProfileManagedAuthorizationHeader(d??"",b)}applyCurrentAuthHeaders(a,b,c){if(!b)return a;let d=a=>{if(void 0!==this.apiKey&&"x-api-key"===b.name)return a.delete("Authorization"),a.has("x-api-key")||a.set("x-api-key",b.value),a;if("Authorization"===b.name){if(c7(a.get("x-api-key")))return a;let d=a.get("Authorization");return c7(d)&&!this.isProfileManagedAuthorizationHeader(d??"",c)||a.set("Authorization",b.value),a}let d=a.get("Authorization");return c7(d)&&!this.isProfileManagedAuthorizationHeader(d??"",c)||(c7(d)&&a.delete("Authorization"),a.has("x-api-key")||a.set("x-api-key",b.value)),a};if(!a)return{headers:{[b.name]:b.value}};if(a.headers instanceof Headers||Array.isArray(a.headers))return{...a,headers:d(new Headers(a.headers))};let e={...a.headers??{}},f=a=>Object.keys(e).find(b=>b.toLowerCase()===a),g=a=>{let b=f(a);return b?e[b]:void 0},h=c7(g("x-api-key")),i=g("authorization"),j=c7(i)&&!this.isProfileManagedAuthorizationHeader(i??"",c);if(void 0!==this.apiKey&&"x-api-key"===b.name){let c=f("authorization");return c&&delete e[c],h||(e["x-api-key"]=b.value),{...a,headers:e}}if("Authorization"===b.name){if(!h&&!j){let a=f("authorization");a&&"Authorization"!==a&&delete e[a],e.Authorization=b.value}return{...a,headers:e}}if(!j){let a=f("authorization");a&&delete e[a],h||(e["x-api-key"]=b.value)}return{...a,headers:e}}_trackDrain(a){this._pendingDrains.add(a),a.finally(()=>{this._pendingDrains.delete(a)})}async _serializeBody(a,b){if(this.manualFlushMode||!function(a,b=65536,c=2048){if(null===a||"object"!=typeof a)return"string"==typeof a&&a.length>=b;let d=[a],e=new Set,f=0;for(;d.length>0&&!(f++>=c);){let a=d.pop();if(null==a)continue;let c=typeof a;if("string"===c){if(a.length>=b)return!0;continue}if("object"!==c||e.has(a)||(e.add(a),a instanceof Date||a instanceof RegExp||a instanceof Error||a instanceof ArrayBuffer||ArrayBuffer.isView(a)))continue;if(Array.isArray(a)){for(let b=a.length-1;b>=0;b--)d.push(a[b]);continue}if(a instanceof Map){for(let[,b]of a)d.push(b);continue}if(a instanceof Set){for(let b of a)d.push(b);continue}let f=Object.keys(a);for(let b=f.length-1;b>=0;b--)d.push(a[f[b]])}return!1}(a)||(void 0===this._serializeWorker&&(this._serializeWorker=(null===dp&&(dp=new dn),dp)),null===this._serializeWorker))return dj(a,b);try{let c=await this._serializeWorker.serialize(a);if(null===c)return this._serializeWorker=null,dj(a,b);return c}catch{return dj(a,b)}}constructor(a={}){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,"hideMetadata",{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:"false"===cw("LANGSMITH_TRACING_BACKGROUND")}),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,"_serializeWorker",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_pendingDrains",{enumerable:!0,configurable:!0,writable:!0,value:new Set}),Object.defineProperty(this,"langSmithToOTELTranslator",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_tracingMode",{enumerable:!0,configurable:!0,writable:!0,value:"langsmith"}),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,"profileAuth",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"multipartStreamingDisabled",{enumerable:!0,configurable:!0,writable:!0,value:"true"===cx("DISABLE_MULTIPART_STREAMING")}),Object.defineProperty(this,"_multipartDisabled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_runCompressionDisabled",{enumerable:!0,configurable:!0,writable:!0,value:"true"===cx("DISABLE_RUN_COMPRESSION")}),Object.defineProperty(this,"failedTracesDir",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"failedTracesMaxBytes",{enumerable:!0,configurable:!0,writable:!0,value:0x6400000}),Object.defineProperty(this,"_customHeaders",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"debug",{enumerable:!0,configurable:!0,writable:!0,value:"true"===cw("LANGSMITH_DEBUG")});const b=dy.getDefaultClientConfig();this.tracingSampleRate=(a=>{let b=a?.toString()??cx("TRACING_SAMPLING_RATE");if(void 0===b)return;let c=parseFloat(b);if(c<0||c>1)throw Error(`LANGSMITH_TRACING_SAMPLING_RATE must be between 0 and 1 if set. Got: ${c}`);return c})(a.tracingSamplingRate),this.apiUrl=du(a.apiUrl??b.apiUrl)??"",this.apiUrl.endsWith("/")&&(this.apiUrl=this.apiUrl.slice(0,-1));const c=du(a.apiKey??b.apiKey);if(this.apiKey=c7(c)?c:void 0,this.profileAuth=void 0!==this.apiKey?void 0:b.profileAuth,this.webUrl=du(a.webUrl??b.webUrl),this.webUrl?.endsWith("/")&&(this.webUrl=this.webUrl.slice(0,-1)),this.workspaceId=du(a.workspaceId??b.workspaceId),this.timeout_ms=a.timeout_ms??9e4,this.caller=new cV({...a.callerOptions??{},maxRetries:4,debug:a.debug??this.debug}),this.traceBatchConcurrency=a.traceBatchConcurrency??this.traceBatchConcurrency,this.traceBatchConcurrency<1)throw Error("Trace batch concurrency must be positive.");this.debug=a.debug??this.debug,this.fetchImplementation=a.fetchImplementation,this.failedTracesDir=cx("FAILED_TRACES_DIR")||void 0;const d=cx("FAILED_TRACES_MAX_MB");if(d){const a=parseInt(d,10);Number.isFinite(a)&&a>0&&(this.failedTracesMaxBytes=1024*a*1024)}const e=a.maxIngestMemoryBytes??0x40000000;this.batchIngestCaller=new cV({maxRetries:4,maxConcurrency:this.traceBatchConcurrency,maxQueueSizeBytes:e,...a.callerOptions??{},onFailedResponseHook:dv,debug:a.debug??this.debug}),this.hideInputs=a.hideInputs??a.anonymizer??b.hideInputs,this.hideOutputs=a.hideOutputs??a.anonymizer??b.hideOutputs,this.hideMetadata=a.hideMetadata??b.hideMetadata,this.omitTracedRuntimeInfo=a.omitTracedRuntimeInfo??!1,this.autoBatchTracing=a.autoBatchTracing??this.autoBatchTracing,this.autoBatchQueue=new dx(e),this.blockOnRootRunFinalization=a.blockOnRootRunFinalization??this.blockOnRootRunFinalization,this.batchSizeBytesLimit=a.batchSizeBytesLimit,this.batchSizeLimit=a.batchSizeLimit,this.fetchOptions=a.fetchOptions||{},this.manualFlushMode=a.manualFlushMode??this.manualFlushMode,this._tracingMode=cA(a.tracingMode),"otel"===this._tracingMode&&(this.langSmithToOTELTranslator=new cK),this.cachedLSEnvVarsForMetadata=cv(),void 0!==a.cache&&a.disablePromptCache&&cZ("Both 'cache' and 'disablePromptCache' were provided. The 'cache' parameter is deprecated and will be removed in a future version. Using 'cache' parameter value."),void 0!==a.cache?(cZ("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."),!1===a.cache?this._promptCache=void 0:!0===a.cache?this._promptCache=cr:this._promptCache=a.cache):a.disablePromptCache||(this._promptCache=cr),this._customHeaders=a.headers??{}}static getDefaultClientConfig(){let a=function(){let a=function(){let a;if("browser"===(a=ct())||"webworker"===a)return;let b=function(){let a=cw("LANGSMITH_CONFIG_FILE");if(a)return a;let b=cw("HOME")??cw("USERPROFILE");if(b)return ck.join(b,".langsmith","config.json")}();if(b&&cp(b))try{let a,c=JSON.parse(cq(b)),d=(a=cw("LANGSMITH_PROFILE"))||(c.current_profile?c.current_profile:c.profiles?.default?"default":void 0),e=d?c.profiles?.[d]:void 0;if(!d||!e)return;return{configPath:b,config:c,profileName:d,profile:e}}catch{return}}(),b=a?.profile;if(!a||!b)return{};let c=c8(b.api_key),d=c8(b.oauth?.access_token),e=c8(b.oauth?.refresh_token);return{apiUrl:b.api_url,apiKey:c,workspaceId:b.workspace_id,oauthAccessToken:d,oauthRefreshToken:e,profileAuth:c||d||e?new db(a):void 0}}(),b=cx("API_KEY"),c=cx("ENDPOINT"),d=cx("WORKSPACE_ID"),e=c7(b),f=c??a.apiUrl??c6,g=d??a.workspaceId;return{apiUrl:f,apiKey:b,webUrl:void 0,hideInputs:"true"===cx("HIDE_INPUTS"),hideOutputs:"true"===cx("HIDE_OUTPUTS"),hideMetadata:"true"===cx("HIDE_METADATA"),workspaceId:g,oauthAccessToken:e?void 0:a.oauthAccessToken,oauthRefreshToken:e?void 0:a.oauthRefreshToken,profileAuth:e?void 0:a.profileAuth}}getHostUrl(){let a;if(this.webUrl)return this.webUrl;if("localhost"===(a=this.apiUrl.replace("http://","").replace("https://","").split("/")[0].split(":")[0])||"127.0.0.1"===a||"::1"===a)return this.webUrl="http://localhost:3000",this.webUrl;if(this.apiUrl.endsWith("/api/v1"))return this.webUrl=this.apiUrl.replace("/api/v1",""),this.webUrl;if(this.apiUrl.includes("/api")&&!this.apiUrl.split(".",1)[0].endsWith("api"))return this.webUrl=this.apiUrl.replace("/api",""),this.webUrl;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("aws"))return this.webUrl="https://aws.smith.langchain.com",this.webUrl;else if(this.apiUrl.split(".",1)[0].includes("apac"))return this.webUrl="https://apac.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 _mergedHeaders(){let a={"User-Agent":`langsmith-js/${cs}`,...this._customHeaders};if(void 0!==this.apiKey)a["x-api-key"]=`${this.apiKey}`;else{let b=this.profileAuth?.currentAuthHeader();b&&(a[b.name]=b.value)}return this.workspaceId&&(a["x-tenant-id"]=this.workspaceId),a}get headers(){return this._customHeaders}set headers(a){this._customHeaders=a??{}}_getPlatformEndpointPath(a){return"/v1"!==this.apiUrl.slice(-3)&&"/v1/"!==this.apiUrl.slice(-4)?`/v1/platform/${a}`:`/platform/${a}`}async processInputs(a){return!1===this.hideInputs?a:!0===this.hideInputs?{}:"function"==typeof this.hideInputs?this.hideInputs(a):a}async processOutputs(a){return!1===this.hideOutputs?a:!0===this.hideOutputs?{}:"function"==typeof this.hideOutputs?this.hideOutputs(a):a}async processMetadata(a){return!1===this.hideMetadata?a:!0===this.hideMetadata?{}:"function"==typeof this.hideMetadata?this.hideMetadata(a):a}_filterNewTokenEvents(a){return a&&0!==a.length?a.map(a=>{if("new_token"===a.name){let{kwargs:b,...c}=a;return c}return a}):a}async prepareRunCreateOrUpdateInputs(a){let b={...a};return void 0!==b.inputs&&(b.inputs=await this.processInputs(b.inputs)),void 0!==b.outputs&&(b.outputs=await this.processOutputs(b.outputs)),null!=b.extra&&"metadata"in b.extra&&(b.extra={...b.extra,metadata:await this.processMetadata(b.extra.metadata)}),void 0!==b.events&&(b.events=this._filterNewTokenEvents(b.events)),b}async _getResponse(a,b){let c=b?.toString()??"",d=`${this.apiUrl}${a}?${c}`;return await this.caller.call(async()=>{let b=await this._fetch(d,{method:"GET",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await c2(b,`fetch ${a}`),b})}async _get(a,b){return(await this._getResponse(a,b)).json()}async *_getPaginated(a,b=new URLSearchParams,c){let d=Number(b.get("offset"))||0,e=Number(b.get("limit"))||100;for(;;){b.set("offset",String(d)),b.set("limit",String(e));let f=`${this.apiUrl}${a}?${b}`,g=await this.caller.call(async()=>{let b=await this._fetch(f,{method:"GET",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await c2(b,`fetch ${a}`),b}),h=c?c(await g.json()):await g.json();if(0===h.length||(yield h,h.length<e))break;d+=h.length}}async *_getCursorPaginatedList(a,b=null,c="POST",d="runs"){let e=b?{...b}:{};for(;;){let b=JSON.stringify(e),f=await this.caller.call(async()=>{let d=await this._fetch(`${this.apiUrl}${a}`,{method:c,headers:{...this._mergedHeaders,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:b});return await c2(d,`fetch ${a}`),d}),g=await f.json();if(!g||!g[d])break;yield g[d];let h=g.cursors;if(!h||!h.next)break;e.cursor=h.next}}_shouldSample(){return void 0===this.tracingSampleRate||Math.random()<this.tracingSampleRate}_filterForSampling(a,b=!1){if(void 0===this.tracingSampleRate)return a;if(b){let b=[];for(let c of a)this.filteredPostUuids.has(c.trace_id)?c.id===c.trace_id&&this.filteredPostUuids.delete(c.trace_id):b.push(c);return b}{let b=[];for(let c of a){let a=c.trace_id??c.id;this.filteredPostUuids.has(a)||(c.id===a?this._shouldSample()?b.push(c):this.filteredPostUuids.add(a):b.push(c))}return b}}async _getBatchSizeLimitBytes(){let a=await this._ensureServerInfo();return this.batchSizeBytesLimit??a?.batch_ingest_config?.size_limit_bytes??0x1800000}async _getBatchSizeLimit(){let a=await this._ensureServerInfo();return this.batchSizeLimit??a?.batch_ingest_config?.size_limit??100}async _getDatasetExamplesMultiPartSupport(){let a=await this._ensureServerInfo();return a.instance_flags?.dataset_examples_multipart_enabled??!1}drainAutoBatchQueue({batchSizeLimitBytes:a,batchSizeLimit:b}){let c=[];for(;this.autoBatchQueue.items.length>0;){let[d,e]=this.autoBatchQueue.pop({upToSizeBytes:a,upToSize:b});if(!d.length){e();break}let f=d.reduce((a,b)=>{let c=b.apiUrl??this.apiUrl,d=b.apiKey??this.apiKey,e=b.apiKey===this.apiKey&&b.apiUrl===this.apiUrl?"default":`${c}|${d}`;return a[e]||(a[e]=[]),a[e].push(b),a},{}),g=[];for(let[a,b]of Object.entries(f)){let c=this._processBatch(b,{apiUrl:"default"===a?void 0:a.split("|")[0],apiKey:"default"===a?void 0:a.split("|")[1]});g.push(c)}let h=Promise.all(g).finally(e);c.push(h)}return Promise.all(c)}static async _writeTraceToFallbackDir(a,b,c,d,e){try{let f="string"==typeof b?Buffer.from(b,"utf8"):Buffer.from(b),g=JSON.stringify({version:1,endpoint:d,headers:c,body_base64:f.toString("base64")}),h=`trace_${Date.now()}_${bu().slice(0,8)}.json`,i=ck.join(a,h);if(dy._fallbackDirsCreated.has(a)||(await cl(a),dy._fallbackDirsCreated.add(a)),void 0!==e&&e>0)try{let b=(await cn(a)).filter(a=>a.startsWith("trace_")&&a.endsWith(".json")),c=0;for(let d of b){let{size:b}=await co(ck.join(a,d));c+=b}if(c>=e)return void console.warn(`Could not write trace to fallback dir ${a} as it's already over size limit (${c} bytes >= ${e} bytes). Increase LANGSMITH_FAILED_TRACES_MAX_MB if possible.`)}catch{}await cm(i,g),console.warn(`LangSmith trace upload failed; data saved to ${i} for later replay.`)}catch(b){console.error(`LangSmith tracing error: could not write trace to fallback dir ${a}:`,b)}}async _processBatch(a,b){if(!a.length)return;let c=a.reduce((a,b)=>a+(b.size??0),0);try{if(void 0!==this.langSmithToOTELTranslator)this._sendBatchToOTELTranslator(a);else{let d={runCreates:a.filter(a=>"create"===a.action).map(a=>a.item),runUpdates:a.filter(a=>"update"===a.action).map(a=>a.item)},e=await this._ensureServerInfo();if(!this._multipartDisabled&&(e?.batch_ingest_config?.use_multipart_endpoint??!0)){let a=!this._runCompressionDisabled&&e?.instance_flags?.gzip_body_enabled;try{await this.multipartIngestRuns(d,{...b,useGzip:a,sizeBytes:c})}catch(a){if(c1(a))this._multipartDisabled=!0,await this.batchIngestRuns(d,{...b,sizeBytes:c});else throw a}}else await this.batchIngestRuns(d,{...b,sizeBytes:c})}}catch(a){console.error("Error exporting batch:",a)}}_sendBatchToOTELTranslator(a){if(void 0!==this.langSmithToOTELTranslator){let b=new Map,c=[];for(let d of a)d.item.id&&d.otelContext&&(b.set(d.item.id,d.otelContext),"create"===d.action?c.push({operation:"post",id:d.item.id,trace_id:d.item.trace_id??d.item.id,run:d.item}):c.push({operation:"patch",id:d.item.id,trace_id:d.item.trace_id??d.item.id,run:d.item}));this.langSmithToOTELTranslator.exportBatch(c,b)}}async processRunOperation(a){clearTimeout(this.autoBatchTimeout),this.autoBatchTimeout=void 0,a.item=ds(a.item,this.cachedLSEnvVarsForMetadata,this.omitTracedRuntimeInfo);let b=this.autoBatchQueue.push(a);if(this.manualFlushMode)return b;let c=await this._getBatchSizeLimitBytes(),d=await this._getBatchSizeLimit();return(this.autoBatchQueue.sizeBytes>c||this.autoBatchQueue.items.length>d)&&this._trackDrain(this.drainAutoBatchQueue({batchSizeLimitBytes:c,batchSizeLimit:d})),this.autoBatchQueue.items.length>0&&(this.autoBatchTimeout=setTimeout(()=>{this.autoBatchTimeout=void 0,this._trackDrain(this.drainAutoBatchQueue({batchSizeLimitBytes:c,batchSizeLimit:d}))},this.autoBatchAggregationDelayMs)),b}async _getServerInfo(){let a=await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}/info`,{method:"GET",headers:{...this._mergedHeaders,Accept:"application/json"},signal:AbortSignal.timeout(1e4),...this.fetchOptions});return await c2(a,"get server info"),a}),b=await a.json();return this.debug&&console.log("\n=== LangSmith Server Configuration ===\n"+JSON.stringify(b,null,2)+"\n"),b}async _ensureServerInfo(){return void 0===this._getServerInfoPromise&&(this._getServerInfoPromise=(async()=>{if(void 0===this._serverInfo)try{this._serverInfo=await this._getServerInfo()}catch(a){console.warn(`[LANGSMITH]: Failed to fetch info on supported operations. Falling back to batch operations and default limits. Info: ${a.status??"Unspecified status code"} ${a.message}`)}return this._serverInfo??{}})()),this._getServerInfoPromise.then(a=>(void 0===this._serverInfo&&(this._getServerInfoPromise=void 0),a))}async _getSettings(){return this.settings||(this.settings=this._get("/settings")),await this.settings}async flush(){let a=await this._getBatchSizeLimitBytes(),b=await this._getBatchSizeLimit();await this.drainAutoBatchQueue({batchSizeLimitBytes:a,batchSizeLimit:b})}_cloneCurrentOTELContext(){let a=cI(),b=cH.getContextInstance();if(void 0!==this.langSmithToOTELTranslator){let c=a.getActiveSpan();if(c)return a.setSpan(b.active(),c)}}async createRun(a,b){if(!this._filterForSampling([a]).length)return;let c={...this._mergedHeaders,"Content-Type":"application/json"},d=a.project_name;delete a.project_name;let e=await this.prepareRunCreateOrUpdateInputs({session_name:d,...a,start_time:a.start_time??Date.now()});if(this.autoBatchTracing&&void 0!==e.trace_id&&void 0!==e.dotted_order){let a=this._cloneCurrentOTELContext();this.processRunOperation({action:"create",item:e,otelContext:a,apiKey:b?.apiKey,apiUrl:b?.apiUrl}).catch(console.error);return}let f=ds(e,this.cachedLSEnvVarsForMetadata,this.omitTracedRuntimeInfo);b?.apiKey!==void 0&&(c["x-api-key"]=b.apiKey),b?.workspaceId!==void 0&&(c["x-tenant-id"]=b.workspaceId);let g=dj(f,`Creating run with id: ${f.id}`);await this.caller.call(async()=>{let a=await this._fetch(`${b?.apiUrl??this.apiUrl}/runs`,{method:"POST",headers:c,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:g});return await c2(a,"create run",!0),a})}async batchIngestRuns({runCreates:a,runUpdates:b},c){if(void 0===a&&void 0===b)return;let d=await Promise.all(a?.map(a=>this.prepareRunCreateOrUpdateInputs(a))??[]),e=await Promise.all(b?.map(a=>this.prepareRunCreateOrUpdateInputs(a))??[]);if(d.length>0&&e.length>0){let a=d.reduce((a,b)=>(b.id&&(a[b.id]=b),a),{}),b=[];for(let c of e)void 0!==c.id&&a[c.id]?a[c.id]={...a[c.id],...c}:b.push(c);d=Object.values(a),e=b}let f={post:d,patch:e};if(!f.post.length&&!f.patch.length)return;let g={post:[],patch:[]};for(let a of["post","patch"]){let b=f[a].reverse(),c=b.pop();for(;void 0!==c;)g[a].push(c),c=b.pop()}if(g.post.length>0||g.patch.length>0){let a=g.post.map(a=>a.id).concat(g.patch.map(a=>a.id)).join(",");await this._postBatchIngestRuns(await this._serializeBody(g,`Ingesting runs with ids: ${a}`),c)}}async _postBatchIngestRuns(a,b){let c={...this._mergedHeaders,"Content-Type":"application/json",Accept:"application/json"};b?.apiKey!==void 0&&(c["x-api-key"]=b.apiKey),await this.batchIngestCaller.callWithOptions({sizeBytes:b?.sizeBytes},async()=>{let d=await this._fetch(`${b?.apiUrl??this.apiUrl}/runs/batch`,{method:"POST",headers:c,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:a});return await c2(d,"batch create run",!0),d})}async multipartIngestRuns({runCreates:a,runUpdates:b},c){if(void 0===a&&void 0===b)return;let d={},e=[];for(let b of a??[]){let a=await this.prepareRunCreateOrUpdateInputs(b);void 0!==a.id&&void 0!==a.attachments&&(d[a.id]=a.attachments),delete a.attachments,e.push(a)}let f=[];for(let a of b??[])f.push(await this.prepareRunCreateOrUpdateInputs(a));if(void 0!==e.find(a=>void 0===a.trace_id||void 0===a.dotted_order))throw Error('Multipart ingest requires "trace_id" and "dotted_order" to be set when creating a run');if(void 0!==f.find(a=>void 0===a.trace_id||void 0===a.dotted_order))throw Error('Multipart ingest requires "trace_id" and "dotted_order" to be set when updating a run');if(e.length>0&&f.length>0){let a=e.reduce((a,b)=>(b.id&&(a[b.id]=b),a),{}),b=[];for(let c of f)void 0!==c.id&&a[c.id]?a[c.id]={...a[c.id],...c}:b.push(c);e=Object.values(a),f=b}if(0===e.length&&0===f.length)return;let g=[],h=[];for(let[a,b]of[["post",e],["patch",f]])for(let c of b){let{inputs:b,outputs:e,events:f,extra:i,error:j,serialized:k,attachments:l,...m}=c,n={inputs:b,outputs:e,events:f,extra:i,error:j,serialized:k},o=await this._serializeBody(m,`Serializing for multipart ingestion of run with id: ${m.id}`);for(let[b,c]of(h.push({name:`${a}.${m.id}`,payload:new Blob([o],{type:`application/json; length=${o.length}`})}),Object.entries(n))){if(void 0===c)continue;let d=await this._serializeBody(c,`Serializing ${b} for multipart ingestion of run with id: ${m.id}`);h.push({name:`${a}.${m.id}.${b}`,payload:new Blob([d],{type:`application/json; length=${d.length}`})})}if(void 0!==m.id){let a=d[m.id];if(a)for(let[b,c]of(delete d[m.id],Object.entries(a))){let a,d;if(Array.isArray(c)?[a,d]=c:(a=c.mimeType,d=c.data),b.includes(".")){console.warn(`Skipping attachment '${b}' for run ${m.id}: Invalid attachment name. Attachment names must not contain periods ('.'). Please rename the attachment and try again.`);continue}h.push({name:`attachment.${m.id}.${b}`,payload:new Blob([d],{type:`${a}; length=${d.byteLength}`})})}}g.push(`trace=${m.trace_id},id=${m.id}`)}await this._sendMultipartRequest(h,g.join("; "),c)}async _createNodeFetchBody(a,b){let c=[];for(let d of a)c.push(new Blob([`--${b}\r
109
+ `])),c.push(new Blob([`Content-Disposition: form-data; name="${d.name}"\r
110
+ `,`Content-Type: ${d.payload.type}\r
111
+ \r
112
+ `])),c.push(d.payload),c.push(new Blob(["\r\n"]));c.push(new Blob([`--${b}--\r
113
+ `]));let d=new Blob(c);return await d.arrayBuffer()}async _createMultipartStream(a,b){let c=new TextEncoder;return new ReadableStream({async start(d){let e=async a=>{"string"==typeof a?d.enqueue(c.encode(a)):d.enqueue(a)};for(let c of a){await e(`--${b}\r
114
+ `),await e(`Content-Disposition: form-data; name="${c.name}"\r
115
+ `),await e(`Content-Type: ${c.payload.type}\r
116
+ \r
117
+ `);let a=c.payload.stream().getReader();try{let b;for(;!(b=await a.read()).done;)d.enqueue(b.value)}finally{a.releaseLock()}await e("\r\n")}await e(`--${b}--\r
118
+ `),d.close()}})}async _sendMultipartRequest(a,b,c){let d="----LangSmithFormBoundary"+Math.random().toString(36).slice(2),e=()=>this._createNodeFetchBody(a,d),f=()=>this._createMultipartStream(a,d),g=async a=>this.batchIngestCaller.callWithOptions({sizeBytes:c?.sizeBytes},async()=>{let b=await a(),e={...this._mergedHeaders,"Content-Type":`multipart/form-data; boundary=${d}`};c?.apiKey!==void 0&&(e["x-api-key"]=c.apiKey);let f=b;c?.useGzip&&"object"==typeof b&&"pipeThrough"in b&&(f=b.pipeThrough(new CompressionStream("gzip")),e["Content-Encoding"]="gzip");let g=await this._fetch(`${c?.apiUrl??this.apiUrl}/runs/multipart`,{method:"POST",headers:e,body:f,duplex:"half",signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await c2(g,"Failed to send multipart request",!0),g});try{let a,d=!1;(void 0===globalThis[bI]||i)&&!this.multipartStreamingDisabled&&"bun"!==ct()?(d=!0,a=await g(f)):a=await g(e),(!this.multipartStreamingDisabled||d)&&422===a.status&&(c?.apiUrl??this.apiUrl)!==c6&&(console.warn(`Streaming multipart upload to ${c?.apiUrl??this.apiUrl}/runs/multipart failed. This usually means the host does not support chunked uploads. Retrying with a buffered upload for operation "${b}".`),this.multipartStreamingDisabled=!0,a=await g(e))}catch(c){if(c1(c))throw c;if(console.warn(`${c.message.trim()}
119
+
120
+ Context: ${b}`),this.failedTracesDir){let b=await this._createNodeFetchBody(a,d).catch(()=>null);b&&await dy._writeTraceToFallbackDir(this.failedTracesDir,b,{"Content-Type":`multipart/form-data; boundary=${d}`},"runs/multipart",this.failedTracesMaxBytes)}}}async updateRun(a,b,c){cf(a),b.inputs&&(b.inputs=await this.processInputs(b.inputs)),b.outputs&&(b.outputs=await this.processOutputs(b.outputs)),null!=b.extra&&"metadata"in b.extra&&(b.extra={...b.extra,metadata:await this.processMetadata(b.extra.metadata)}),b.events&&(b.events=this._filterNewTokenEvents(b.events));let d={...b,id:a};if(!this._filterForSampling([d],!0).length)return;if(this.autoBatchTracing&&void 0!==d.trace_id&&void 0!==d.dotted_order){let a=this._cloneCurrentOTELContext();return void 0!==b.end_time&&void 0===d.parent_run_id&&this.blockOnRootRunFinalization&&!this.manualFlushMode?void await this.processRunOperation({action:"update",item:d,otelContext:a,apiKey:c?.apiKey,apiUrl:c?.apiUrl}).catch(console.error):void this.processRunOperation({action:"update",item:d,otelContext:a,apiKey:c?.apiKey,apiUrl:c?.apiUrl}).catch(console.error)}let e={...this._mergedHeaders,"Content-Type":"application/json"};c?.apiKey!==void 0&&(e["x-api-key"]=c.apiKey),c?.workspaceId!==void 0&&(e["x-tenant-id"]=c.workspaceId);let f=dj(b,`Serializing payload to update run with id: ${a}`);await this.caller.call(async()=>{let b=await this._fetch(`${c?.apiUrl??this.apiUrl}/runs/${a}`,{method:"PATCH",headers:e,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:f});return await c2(b,"update run",!0),b})}async readRun(a,{loadChildRuns:b}={loadChildRuns:!1}){cf(a);let c=dr(await this._get(`/runs/${a}`));return b&&(c=await this._loadChildRuns(c)),c}async getRunUrl({runId:a,run:b,projectOpts:c}){if(void 0!==b){let a;a=b.session_id?b.session_id:c?.projectName?(await this.readProject({projectName:c?.projectName})).id:c?.projectId?c?.projectId:(await this.readProject({projectName:cx("PROJECT")||"default"})).id;let d=await this._getTenantId();return`${this.getHostUrl()}/o/${d}/projects/p/${a}/r/${b.id}?poll=true`}if(void 0!==a){let b=await this.readRun(a);if(!b.app_path)throw Error(`Run ${a} has no app_path`);let c=this.getHostUrl();return`${c}${b.app_path}`}throw Error("Must provide either runId or run")}async _loadChildRuns(a){let b=await dt(this.listRuns({isRoot:!1,projectId:a.session_id,traceId:a.trace_id})),c={},d={};for(let e of(b.sort((a,b)=>(a?.dotted_order??"").localeCompare(b?.dotted_order??"")),b)){if(null===e.parent_run_id||void 0===e.parent_run_id)throw Error(`Child run ${e.id} has no parent`);e.dotted_order?.startsWith(a.dotted_order??"")&&e.id!==a.id&&(e.parent_run_id in c||(c[e.parent_run_id]=[]),c[e.parent_run_id].push(e),d[e.id]=e)}for(let b in a.child_runs=c[a.id]||[],c)b!==a.id&&(d[b].child_runs=c[b]);return a}async *listRuns(a){let{projectId:b,projectName:c,parentRunId:d,traceId:e,referenceExampleId:f,startTime:g,executionOrder:h,isRoot:i,runType:j,error:k,id:l,query:m,filter:n,traceFilter:o,treeFilter:p,limit:q,select:r,order:s}=a,t=[];if(b&&(t=Array.isArray(b)?b:[b]),c){let a=Array.isArray(c)?c:[c],b=await Promise.all(a.map(a=>this.readProject({projectName:a}).then(a=>a.id)));t.push(...b)}let u={session:t.length?t:null,run_type:j,reference_example:f,query:m,filter:n,trace_filter:o,tree_filter:p,execution_order:h,parent_run:d,start_time:g?g.toISOString():null,error:k,id:l,limit:q,trace:e,select: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"],is_root:i,order:s};u.select.includes("child_run_ids")&&cZ("Deprecated: 'child_run_ids' in the listRuns select parameter is deprecated and will be removed in a future version.");let v=0;for await(let a of this._getCursorPaginatedList("/runs/query",u)){let b=a.map(dr);if(q){if(v>=q)break;if(b.length+v>q){let a=b.slice(0,q-v);yield*a;break}v+=b.length,yield*b}else yield*b}}async *listGroupRuns(a){let{projectId:b,projectName:c,groupBy:d,filter:e,startTime:f,endTime:g,limit:h,offset:i}=a,j={session_id:b||(await this.readProject({projectName:c})).id,group_by:d,filter:e,start_time:f?f.toISOString():null,end_time:g?g.toISOString():null,limit:Number(h)||100},k=Number(i)||0,l="/runs/group",m=`${this.apiUrl}${l}`;for(;;){let a=JSON.stringify(Object.fromEntries(Object.entries({...j,offset:k}).filter(([a,b])=>void 0!==b))),b=await this.caller.call(async()=>{let b=await this._fetch(m,{method:"POST",headers:{...this._mergedHeaders,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:a});return await c2(b,`Failed to fetch ${l}`),b}),{groups:c,total:d}=await b.json();if(0===c.length)break;for(let a of c)yield a;if((k+=c.length)>=d)break}}async *readThread(a){let{threadId:b,projectId:c,projectName:d,isRoot:e=!0,limit:f,filter:g,order:h="asc"}=a;if(!c&&!d)throw Error("threadId requires projectId or projectName");let i=`eq(thread_id, ${JSON.stringify(b)})`,j=g?`and(${i}, ${g})`:i;yield*this.listRuns({projectId:c??void 0,projectName:d??void 0,isRoot:e,limit:f,filter:j,order:h})}async listThreads(a){let{projectId:b,projectName:c,limit:d,offset:e=0,filter:f,startTime:g,isRoot:h=!0}=a;if(!b&&!c)throw Error("Either projectId or projectName must be provided");if(b&&c)throw Error("Provide exactly one of projectId or projectName");let i={session:[b??(await this.readProject({projectName:c})).id],is_root:h,limit:100,order:"desc",select:["id","name","status","start_time","end_time","thread_id","trace_id","run_type","error","tags","session_id","parent_run_id","total_tokens","total_cost","dotted_order","reference_example_id","feedback_stats","app_path","completion_cost","completion_tokens","prompt_cost","prompt_tokens","first_token_time"],start_time:(g??new Date(Date.now()-864e5)).toISOString()};null!=f&&(i.filter=f);let j=new Map;for await(let a of this._getCursorPaginatedList("/runs/query",i))for(let b of a){let a=dr(b),c=a.thread_id;if(c){let b=j.get(c)??[];b.push(a),j.set(c,b)}}let k=[];for(let[a,b]of j.entries()){b.sort((a,b)=>{let c=a.start_time??"",d=b.start_time??"";if(c!==d)return c.localeCompare(d);let e=a.dotted_order??"",f=b.dotted_order??"";return e.localeCompare(f)});let c=[...b.map(a=>a.start_time).filter(Boolean)].sort(),d=c.length?c[0]:"",e=c.length?c[c.length-1]:"";k.push({thread_id:a,runs:b,count:b.length,filter:"",total_tokens:0,total_cost:null,min_start_time:d,max_start_time:e,latency_p50:0,latency_p99:0,feedback_stats:null,first_inputs:"",last_outputs:"",last_error:null})}k.sort((a,b)=>{let c=a.max_start_time??"";return(b.max_start_time??"").localeCompare(c)});let l=e>0?k.slice(e):k;return void 0!==d?l.slice(0,d):l}async getRunStats({id:a,trace:b,parentRun:c,runType:d,projectNames:e,projectIds:f,referenceExampleIds:g,startTime:h,endTime:i,error:j,query:k,filter:l,traceFilter:m,treeFilter:n,isRoot:o,dataSourceType:p}){let q=f||[];e&&(q=[...f||[],...await Promise.all(e.map(a=>this.readProject({projectName:a}).then(a=>a.id)))]);let r=JSON.stringify(Object.fromEntries(Object.entries({id:a,trace:b,parent_run:c,run_type:d,session:q,reference_example:g,start_time:h,end_time:i,error:j,query:k,filter:l,trace_filter:m,tree_filter:n,is_root:o,data_source_type:p}).filter(([a,b])=>void 0!==b))),s=await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}/runs/stats`,{method:"POST",headers:{...this._mergedHeaders,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:r});return await c2(a,"get run stats"),a});return await s.json()}async shareRun(a,{shareId:b}={}){let c={run_id:a,share_token:b||bu()};cf(a);let d=JSON.stringify(c),e=await this.caller.call(async()=>{let b=await this._fetch(`${this.apiUrl}/runs/${a}/share`,{method:"PUT",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:d});return await c2(b,"share run"),b}),f=await e.json();if(null===f||!("share_token"in f))throw Error("Invalid response from server");return`${this.getHostUrl()}/public/${f.share_token}/r`}async unshareRun(a){cf(a),await this.caller.call(async()=>{let b=await this._fetch(`${this.apiUrl}/runs/${a}/share`,{method:"DELETE",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await c2(b,"unshare run",!0),b})}async readRunSharedLink(a){cf(a);let b=await this.caller.call(async()=>{let b=await this._fetch(`${this.apiUrl}/runs/${a}/share`,{method:"GET",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await c2(b,"read run shared link"),b}),c=await b.json();if(null!==c&&"share_token"in c)return`${this.getHostUrl()}/public/${c.share_token}/r`}async listSharedRuns(a,{runIds:b}={}){let c=new URLSearchParams({share_token:a});if(void 0!==b)for(let a of b)c.append("id",a);cf(a);let d=await this.caller.call(async()=>{let b=await this._fetch(`${this.apiUrl}/public/${a}/runs${c}`,{method:"GET",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await c2(b,"list shared runs"),b});return(await d.json()).map(dr)}async readDatasetSharedSchema(a,b){if(!a&&!b)throw Error("Either datasetId or datasetName must be given");a||(a=(await this.readDataset({datasetName:b})).id),cf(a);let c=await this.caller.call(async()=>{let b=await this._fetch(`${this.apiUrl}/datasets/${a}/share`,{method:"GET",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await c2(b,"read dataset shared schema"),b}),d=await c.json();return d.url=`${this.getHostUrl()}/public/${d.share_token}/d`,d}async shareDataset(a,b){if(!a&&!b)throw Error("Either datasetId or datasetName must be given");a||(a=(await this.readDataset({datasetName:b})).id);let c={dataset_id:a};cf(a);let d=JSON.stringify(c),e=await this.caller.call(async()=>{let b=await this._fetch(`${this.apiUrl}/datasets/${a}/share`,{method:"PUT",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:d});return await c2(b,"share dataset"),b}),f=await e.json();return f.url=`${this.getHostUrl()}/public/${f.share_token}/d`,f}async unshareDataset(a){cf(a),await this.caller.call(async()=>{let b=await this._fetch(`${this.apiUrl}/datasets/${a}/share`,{method:"DELETE",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await c2(b,"unshare dataset",!0),b})}async readSharedDataset(a){cf(a);let b=await this.caller.call(async()=>{let b=await this._fetch(`${this.apiUrl}/public/${a}/datasets`,{method:"GET",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await c2(b,"read shared dataset"),b});return await b.json()}async listSharedExamples(a,b){let c={};b?.exampleIds&&(c.id=b.exampleIds);let d=new URLSearchParams;Object.entries(c).forEach(([a,b])=>{Array.isArray(b)?b.forEach(b=>d.append(a,b)):d.append(a,b)});let e=await this.caller.call(async()=>{let b=await this._fetch(`${this.apiUrl}/public/${a}/examples?${d.toString()}`,{method:"GET",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await c2(b,"list shared examples"),b}),f=await e.json();if(!e.ok){if("detail"in f)throw Error(`Failed to list shared examples.
121
+ Status: ${e.status}
122
+ Message: ${Array.isArray(f.detail)?f.detail.join("\n"):"Unspecified error"}`);throw Error(`Failed to list shared examples: ${e.status} ${e.statusText}`)}return f.map(a=>({...a,_hostUrl:this.getHostUrl()}))}async createProject({projectName:a,description:b=null,metadata:c=null,upsert:d=!1,projectExtra:e=null,referenceDatasetId:f=null}){let g=`${this.apiUrl}/sessions${d?"?upsert=true":""}`,h=e||{};c&&(h.metadata=c);let i={name:a,extra:h,description:b};null!==f&&(i.reference_dataset_id=f);let j=JSON.stringify(i),k=await this.caller.call(async()=>{let a=await this._fetch(g,{method:"POST",headers:{...this._mergedHeaders,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:j});return await c2(a,"create project"),a});return await k.json()}async updateProject(a,{name:b=null,description:c=null,metadata:d=null,projectExtra:e=null,endTime:f=null}){let g=`${this.apiUrl}/sessions/${a}`,h=e;d&&(h={...h||{},metadata:d});let i=JSON.stringify({name:b,extra:h,description:c,end_time:f?new Date(f).toISOString():null}),j=await this.caller.call(async()=>{let a=await this._fetch(g,{method:"PATCH",headers:{...this._mergedHeaders,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:i});return await c2(a,"update project"),a});return await j.json()}async hasProject({projectId:a,projectName:b}){let c="/sessions",d=new URLSearchParams;if(void 0!==a&&void 0!==b)throw Error("Must provide either projectName or projectId, not both");if(void 0!==a)cf(a),c+=`/${a}`;else if(void 0!==b)d.append("name",b);else throw Error("Must provide projectName or projectId");let e=await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}${c}?${d}`,{method:"GET",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await c2(a,"has project"),a});try{let a=await e.json();if(!e.ok)return!1;if(Array.isArray(a))return a.length>0;return!0}catch(a){return!1}}async readProject({projectId:a,projectName:b,includeStats:c}){let d,e="/sessions",f=new URLSearchParams;if(void 0!==a&&void 0!==b)throw Error("Must provide either projectName or projectId, not both");if(void 0!==a)cf(a),e+=`/${a}`;else if(void 0!==b)f.append("name",b);else throw Error("Must provide projectName or projectId");void 0!==c&&f.append("include_stats",c.toString());let g=await this._get(e,f);if(Array.isArray(g)){if(0===g.length)throw Error(`Project[id=${a}, name=${b}] not found`);d=g[0]}else d=g;return d}async getProjectUrl({projectId:a,projectName:b}){if(void 0===a&&void 0===b)throw Error("Must provide either projectName or projectId");let c=await this.readProject({projectId:a,projectName:b}),d=await this._getTenantId();return`${this.getHostUrl()}/o/${d}/projects/p/${c.id}`}async getDatasetUrl({datasetId:a,datasetName:b}){if(void 0===a&&void 0===b)throw Error("Must provide either datasetName or datasetId");let c=await this.readDataset({datasetId:a,datasetName:b}),d=await this._getTenantId();return`${this.getHostUrl()}/o/${d}/datasets/${c.id}`}async _getTenantId(){if(null!==this._tenantId)return this._tenantId;let a=new URLSearchParams({limit:"1"});for await(let b of this._getPaginated("/sessions",a))return this._tenantId=b[0].tenant_id,b[0].tenant_id;throw Error("No projects found to resolve tenant.")}async *listProjects({projectIds:a,name:b,nameContains:c,referenceDatasetId:d,referenceDatasetName:e,includeStats:f,datasetVersion:g,referenceFree:h,metadata:i}={}){let j=new URLSearchParams;if(void 0!==a)for(let b of a)j.append("id",b);if(void 0!==b&&j.append("name",b),void 0!==c&&j.append("name_contains",c),void 0!==d)j.append("reference_dataset",d);else if(void 0!==e){let a=await this.readDataset({datasetName:e});j.append("reference_dataset",a.id)}for await(let a of(void 0!==f&&j.append("include_stats",f.toString()),void 0!==g&&j.append("dataset_version",g),void 0!==h&&j.append("reference_free",h.toString()),void 0!==i&&j.append("metadata",JSON.stringify(i)),this._getPaginated("/sessions",j)))yield*a}async deleteProject({projectId:a,projectName:b}){let c;if(void 0===a&&void 0===b)throw Error("Must provide projectName or projectId");if(void 0!==a&&void 0!==b)throw Error("Must provide either projectName or projectId, not both");cf(c=void 0===a?(await this.readProject({projectName:b})).id:a),await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}/sessions/${c}`,{method:"DELETE",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await c2(a,`delete session ${c} (${b})`,!0),a})}async uploadCsv({csvFile:a,fileName:b,inputKeys:c,outputKeys:d,description:e,dataType:f,name:g}){let h=`${this.apiUrl}/datasets/upload`,i=new FormData,j=new Blob([a],{type:"text/csv"});i.append("file",j,b),c.forEach(a=>{i.append("input_keys",a)}),d.forEach(a=>{i.append("output_keys",a)}),e&&i.append("description",e),f&&i.append("data_type",f),g&&i.append("name",g);let k=await this.caller.call(async()=>{let a=await this._fetch(h,{method:"POST",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:i});return await c2(a,"upload CSV"),a});return await k.json()}async createDataset(a,{description:b,dataType:c,inputsSchema:d,outputsSchema:e,metadata:f}={}){let g={name:a,description:b,extra:{source:"sdk",...f?{metadata:f}:{}}};c&&(g.data_type=c),d&&(g.inputs_schema_definition=d),e&&(g.outputs_schema_definition=e);let h=JSON.stringify(g),i=await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}/datasets`,{method:"POST",headers:{...this._mergedHeaders,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:h});return await c2(a,"create dataset"),a});return await i.json()}async readDataset({datasetId:a,datasetName:b}){let c,d="/datasets",e=new URLSearchParams({limit:"1"});if(a&&b)throw Error("Must provide either datasetName or datasetId, not both");if(a)cf(a),d+=`/${a}`;else if(b)e.append("name",b);else throw Error("Must provide datasetName or datasetId");let f=await this._get(d,e);if(Array.isArray(f)){if(0===f.length)throw Error(`Dataset[id=${a}, name=${b}] not found`);c=f[0]}else c=f;return c}async hasDataset({datasetId:a,datasetName:b}){try{return await this.readDataset({datasetId:a,datasetName:b}),!0}catch(a){if(a instanceof Error&&a.message.toLocaleLowerCase().includes("not found"))return!1;throw a}}async diffDatasetVersions({datasetId:a,datasetName:b,fromVersion:c,toVersion:d}){let e=a;if(void 0===e&&void 0===b)throw Error("Must provide either datasetName or datasetId");if(void 0!==e&&void 0!==b)throw Error("Must provide either datasetName or datasetId, not both");void 0===e&&(e=(await this.readDataset({datasetName:b})).id);let f=new URLSearchParams({from_version:"string"==typeof c?c:c.toISOString(),to_version:"string"==typeof d?d:d.toISOString()});return await this._get(`/datasets/${e}/versions/diff`,f)}async readDatasetOpenaiFinetuning({datasetId:a,datasetName:b}){if(void 0!==a);else if(void 0!==b)a=(await this.readDataset({datasetName:b})).id;else throw Error("Must provide either datasetName or datasetId");let c=await this._getResponse(`/datasets/${a}/openai_ft`);return(await c.text()).trim().split("\n").map(a=>JSON.parse(a))}async *listDatasets({limit:a=100,offset:b=0,datasetIds:c,datasetName:d,datasetNameContains:e,metadata:f}={}){let g=new URLSearchParams({limit:a.toString(),offset:b.toString()});if(void 0!==c)for(let a of c)g.append("id",a);for await(let a of(void 0!==d&&g.append("name",d),void 0!==e&&g.append("name_contains",e),void 0!==f&&g.append("metadata",JSON.stringify(f)),this._getPaginated("/datasets",g)))yield*a}async updateDataset(a){let{datasetId:b,datasetName:c,...d}=a;if(!b&&!c)throw Error("Must provide either datasetName or datasetId");let e=b??(await this.readDataset({datasetName:c})).id;cf(e);let f=JSON.stringify(d),g=await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}/datasets/${e}`,{method:"PATCH",headers:{...this._mergedHeaders,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:f});return await c2(a,"update dataset"),a});return await g.json()}async updateDatasetTag(a){let{datasetId:b,datasetName:c,asOf:d,tag:e}=a;if(!b&&!c)throw Error("Must provide either datasetName or datasetId");let f=b??(await this.readDataset({datasetName:c})).id;cf(f);let g=JSON.stringify({as_of:"string"==typeof d?d:d.toISOString(),tag:e});await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}/datasets/${f}/tags`,{method:"PUT",headers:{...this._mergedHeaders,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:g});return await c2(a,"update dataset tags",!0),a})}async deleteDataset({datasetId:a,datasetName:b}){let c="/datasets",d=a;if(void 0!==a&&void 0!==b)throw Error("Must provide either datasetName or datasetId, not both");if(void 0!==b&&(d=(await this.readDataset({datasetName:b})).id),void 0!==d)cf(d),c+=`/${d}`;else throw Error("Must provide datasetName or datasetId");await this.caller.call(async()=>{let a=await this._fetch(this.apiUrl+c,{method:"DELETE",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await c2(a,`delete ${c}`,!0),a})}async createExample(a,b,c){let d;if(dz(a)&&(void 0!==b||void 0!==c))throw Error("Cannot provide outputs or options when using ExampleCreate object");let e=b?c?.datasetId:a.dataset_id,f=b?c?.datasetName:a.dataset_name;if(void 0===e&&void 0===f)throw Error("Must provide either datasetName or datasetId");if(void 0!==e&&void 0!==f)throw Error("Must provide either datasetName or datasetId, not both");void 0===e&&(e=(await this.readDataset({datasetName:f})).id);let g=(b?c?.createdAt:a.created_at)||new Date;d=dz(a)?a:{inputs:a,outputs:b,created_at:g?.toISOString(),id:c?.exampleId,metadata:c?.metadata,split:c?.split,source_run_id:c?.sourceRunId,use_source_run_io:c?.useSourceRunIO,use_source_run_attachments:c?.useSourceRunAttachments,attachments:c?.attachments};let h=await this._uploadExamplesMultipart(e,[d]);return await this.readExample(h.example_ids?.[0]??bu())}async createExamples(a){if(Array.isArray(a)){if(0===a.length)return[];let b=a[0].dataset_id,c=a[0].dataset_name;if(void 0===b&&void 0===c)throw Error("Must provide either datasetName or datasetId");if(void 0!==b&&void 0!==c)throw Error("Must provide either datasetName or datasetId, not both");void 0===b&&(b=(await this.readDataset({datasetName:c})).id);let d=await this._uploadExamplesMultipart(b,a);return await Promise.all(d.example_ids.map(a=>this.readExample(a)))}let{inputs:b,outputs:c,metadata:d,splits:e,sourceRunIds:f,useSourceRunIOs:g,useSourceRunAttachments:h,attachments:i,exampleIds:j,datasetId:k,datasetName:l}=a;if(void 0===b)throw Error("Must provide inputs when using legacy parameters");let m=k;if(void 0===m&&void 0===l)throw Error("Must provide either datasetName or datasetId");if(void 0!==m&&void 0!==l)throw Error("Must provide either datasetName or datasetId, not both");void 0===m&&(m=(await this.readDataset({datasetName:l})).id);let n=b.map((a,b)=>({dataset_id:m,inputs:a,outputs:c?.[b],metadata:d?.[b],split:e?.[b],id:j?.[b],attachments:i?.[b],source_run_id:f?.[b],use_source_run_io:g?.[b],use_source_run_attachments:h?.[b]})),o=await this._uploadExamplesMultipart(m,n);return await Promise.all(o.example_ids.map(a=>this.readExample(a)))}async createLLMExample(a,b,c){return this.createExample({input:a},{output:b},c)}async createChatExample(a,b,c){let d=a.map(a=>cW(a)?cX(a):a),e=cW(b)?cX(b):b;return this.createExample({input:d},{output:e},c)}async readExample(a){cf(a);let b=`/examples/${a}`,{attachment_urls:c,...d}=await this._get(b);return c&&(d.attachments=Object.entries(c).reduce((a,[b,c])=>(a[b.slice(11)]={presigned_url:c.presigned_url,mime_type:c.mime_type},a),{})),d}async *listExamples({datasetId:a,datasetName:b,exampleIds:c,asOf:d,splits:e,inlineS3Urls:f,metadata:g,limit:h,offset:i,filter:j,includeAttachments:k}={}){let l;if(void 0!==a&&void 0!==b)throw Error("Must provide either datasetName or datasetId, not both");if(void 0!==a)l=a;else if(void 0!==b)l=(await this.readDataset({datasetName:b})).id;else throw Error("Must provide a datasetName or datasetId");let m=new URLSearchParams({dataset:l}),n=d?"string"==typeof d?d:d?.toISOString():void 0;if(n&&m.append("as_of",n),m.append("inline_s3_urls",(f??!0).toString()),void 0!==c)for(let a of c)m.append("id",a);if(void 0!==e)for(let a of e)m.append("splits",a);if(void 0!==g){let a=JSON.stringify(g);m.append("metadata",a)}void 0!==h&&m.append("limit",h.toString()),void 0!==i&&m.append("offset",i.toString()),void 0!==j&&m.append("filter",j),!0===k&&["attachment_urls","outputs","metadata"].forEach(a=>m.append("select",a));let o=0;for await(let a of this._getPaginated("/examples",m)){for(let b of a){let{attachment_urls:a,...c}=b;a&&(c.attachments=Object.entries(a).reduce((a,[b,c])=>(a[b.slice(11)]={presigned_url:c.presigned_url,mime_type:c.mime_type||void 0},a),{})),yield c,o++}if(void 0!==h&&o>=h)break}}async deleteExample(a){cf(a);let b=`/examples/${a}`;await this.caller.call(async()=>{let a=await this._fetch(this.apiUrl+b,{method:"DELETE",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await c2(a,`delete ${b}`,!0),a})}async deleteExamples(a,b){if(a.forEach(a=>cf(a)),b?.hardDelete){let b=this._getPlatformEndpointPath("datasets/examples/delete");await this.caller.call(async()=>{let c=await this._fetch(`${this.apiUrl}${b}`,{method:"POST",headers:{...this._mergedHeaders,"Content-Type":"application/json"},body:JSON.stringify({example_ids:a,hard_delete:!0}),signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await c2(c,"hard delete examples",!0),c})}else{let b=new URLSearchParams;a.forEach(a=>b.append("example_ids",a)),await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}/examples?${b.toString()}`,{method:"DELETE",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await c2(a,"delete examples",!0),a})}}async updateExample(a,b){let c,d,e;return cf(c=b?a:a.id),e=void 0!==(d=b?{id:c,...b}:a).dataset_id?d.dataset_id:(await this.readExample(c)).dataset_id,this._updateExamplesMultipart(e,[d])}async updateExamples(a){let b;return b=void 0===a[0].dataset_id?(await this.readExample(a[0].id)).dataset_id:a[0].dataset_id,this._updateExamplesMultipart(b,a)}async readDatasetVersion({datasetId:a,datasetName:b,asOf:c,tag:d}){let e;if(cf(e=a||(await this.readDataset({datasetName:b})).id),c&&d||!c&&!d)throw Error("Exactly one of asOf and tag must be specified.");let f=new URLSearchParams;void 0!==c&&f.append("as_of","string"==typeof c?c:c.toISOString()),void 0!==d&&f.append("tag",d);let g=await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}/datasets/${e}/version?${f.toString()}`,{method:"GET",headers:{...this._mergedHeaders},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await c2(a,"read dataset version"),a});return await g.json()}async listDatasetSplits({datasetId:a,datasetName:b,asOf:c}){let d;if(void 0===a&&void 0===b)throw Error("Must provide dataset name or ID");if(void 0!==a&&void 0!==b)throw Error("Must provide either datasetName or datasetId, not both");cf(d=void 0===a?(await this.readDataset({datasetName:b})).id:a);let e=new URLSearchParams,f=c?"string"==typeof c?c:c?.toISOString():void 0;return f&&e.append("as_of",f),await this._get(`/datasets/${d}/splits`,e)}async updateDatasetSplits({datasetId:a,datasetName:b,splitName:c,exampleIds:d,remove:e=!1}){let f;if(void 0===a&&void 0===b)throw Error("Must provide dataset name or ID");if(void 0!==a&&void 0!==b)throw Error("Must provide either datasetName or datasetId, not both");cf(f=void 0===a?(await this.readDataset({datasetName:b})).id:a);let g=JSON.stringify({split_name:c,examples:d.map(a=>(cf(a),a)),remove:e});await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}/datasets/${f}/splits`,{method:"PUT",headers:{...this._mergedHeaders,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:g});return await c2(a,"update dataset splits",!0),a})}async createFeedback(a,b,{score:c,value:d,correction:e,comment:f,sourceInfo:g,feedbackSourceType:h="api",sourceRunId:i,feedbackId:j,feedbackConfig:k,projectId:l,comparativeExperimentId:m,sessionId:n,startTime:o}){if(!a&&!l)throw Error("One of runId or projectId must be provided");if(a&&l)throw Error("Only one of runId or projectId can be provided");let p={type:h??"api",metadata:g??{}};void 0===i||p?.metadata===void 0||p.metadata.__run||(p.metadata.__run={run_id:i}),p?.metadata!==void 0&&p.metadata.__run?.run_id!==void 0&&cf(p.metadata.__run.run_id);let q={id:j??bB(),run_id:a,key:b,score:dw(c),value:d,correction:e,comment:f,feedback_source:p,comparative_experiment_id:m,feedbackConfig:k,session_id:n??l,start_time:o},r=JSON.stringify(q),s=`${this.apiUrl}/feedback`;return await this.caller.call(async()=>{let a=await this._fetch(s,{method:"POST",headers:{...this._mergedHeaders,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:r});return await c2(a,"create feedback",!0),a}),q}async updateFeedback(a,{score:b,value:c,correction:d,comment:e}){let f={};null!=b&&(f.score=dw(b)),null!=c&&(f.value=c),null!=d&&(f.correction=d),null!=e&&(f.comment=e),cf(a);let g=JSON.stringify(f);await this.caller.call(async()=>{let b=await this._fetch(`${this.apiUrl}/feedback/${a}`,{method:"PATCH",headers:{...this._mergedHeaders,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:g});return await c2(b,"update feedback",!0),b})}async readFeedback(a){cf(a);let b=`/feedback/${a}`;return await this._get(b)}async deleteFeedback(a){cf(a);let b=`/feedback/${a}`;await this.caller.call(async()=>{let a=await this._fetch(this.apiUrl+b,{method:"DELETE",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await c2(a,`delete ${b}`,!0),a})}async *listFeedback({runIds:a,feedbackKeys:b,feedbackSourceTypes:c}={}){let d=new URLSearchParams;if(a)for(let b of a)cf(b),d.append("run",b);if(b)for(let a of b)d.append("key",a);if(c)for(let a of c)d.append("source",a);for await(let a of this._getPaginated("/feedback",d))yield*a}async createPresignedFeedbackToken(a,b,{expiration:c,feedbackConfig:d}={}){let e={run_id:a,feedback_key:b,feedback_config:d};c?"string"==typeof c?e.expires_at=c:(c?.hours||c?.minutes||c?.days)&&(e.expires_in=c):e.expires_in={hours:3};let f=JSON.stringify(e),g=await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}/feedback/tokens`,{method:"POST",headers:{...this._mergedHeaders,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:f});return await c2(a,"create presigned feedback token"),a});return await g.json()}async createComparativeExperiment({name:a,experimentIds:b,referenceDatasetId:c,createdAt:d,description:e,metadata:f,id:g}){if(0===b.length)throw Error("At least one experiment is required");if(c||(c=(await this.readProject({projectId:b[0]})).reference_dataset_id),null==!c)throw Error("A reference dataset is required");let h={id:g,name:a,experiment_ids:b,reference_dataset_id:c,description:e,created_at:(d??new Date)?.toISOString(),extra:{}};f&&(h.extra.metadata=f);let i=JSON.stringify(h);return(await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}/datasets/comparative`,{method:"POST",headers:{...this._mergedHeaders,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:i});return await c2(a,"create comparative experiment"),a})).json()}async *listPresignedFeedbackTokens(a){cf(a);let b=new URLSearchParams({run_id:a});for await(let a of this._getPaginated("/feedback/tokens",b))yield*a}_selectEvalResults(a){return"results"in a?a.results:Array.isArray(a)?a:[a]}async _logEvaluationFeedback(a,b,c){let d=this._selectEvalResults(a),e=[];for(let a of d){let d=c||{};a.evaluatorInfo&&(d={...a.evaluatorInfo,...d});let f=null;a.targetRunId?f=a.targetRunId:b&&(f=b.id),e.push(await this.createFeedback(f,a.key,{score:a.score,value:a.value,comment:a.comment,correction:a.correction,sourceInfo:d,sourceRunId:a.sourceRunId,feedbackConfig:a.feedbackConfig,feedbackSourceType:"model",sessionId:b?.session_id,startTime:b?.start_time}))}return[d,e]}async logEvaluationFeedback(a,b,c){let[d]=await this._logEvaluationFeedback(a,b,c);return d}async createFeedbackConfig(a){let{feedbackKey:b,feedbackConfig:c,isLowerScoreBetter:d=!1}=a,e={feedback_key:b,feedback_config:c,is_lower_score_better:d};return(await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}/feedback-configs`,{method:"POST",headers:{...this._mergedHeaders,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:JSON.stringify(e)});return await c2(a,"create feedback config"),a})).json()}async *listFeedbackConfigs(a={}){let{feedbackKeys:b,nameContains:c,limit:d}=a,e=new URLSearchParams;b&&b.forEach(a=>{e.append("key",a)}),c&&e.append("name_contains",c),e.append("limit",(void 0!==d?Math.min(d,100):100).toString());let f=0;for await(let a of this._getPaginated("/feedback-configs",e))if(yield*a,f+=a.length,void 0!==d&&f>=d)break}async updateFeedbackConfig(a,b={}){let{feedbackConfig:c,isLowerScoreBetter:d}=b,e={feedback_key:a};return void 0!==c&&(e.feedback_config=c),void 0!==d&&(e.is_lower_score_better=d),(await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}/feedback-configs`,{method:"PATCH",headers:{...this._mergedHeaders,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:JSON.stringify(e)});return await c2(a,"update feedback config"),a})).json()}async deleteFeedbackConfig(a){let b=new URLSearchParams({feedback_key:a});await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}/feedback-configs?${b}`,{method:"DELETE",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await c2(a,"delete feedback config",!0),a})}async *listAnnotationQueues(a={}){let{queueIds:b,name:c,nameContains:d,limit:e}=a,f=new URLSearchParams;b&&b.forEach((a,b)=>{cf(a,`queueIds[${b}]`),f.append("ids",a)}),c&&f.append("name",c),d&&f.append("name_contains",d),f.append("limit",(void 0!==e?Math.min(e,100):100).toString());let g=0;for await(let a of this._getPaginated("/annotation-queues",f))if(yield*a,g++,void 0!==e&&g>=e)break}async createAnnotationQueue(a){let{name:b,description:c,queueId:d,rubricInstructions:e,rubricItems:f}=a,g=JSON.stringify(Object.fromEntries(Object.entries({name:b,description:c,id:d||bu(),rubric_instructions:e,rubric_items:f}).filter(([a,b])=>void 0!==b)));return(await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}/annotation-queues`,{method:"POST",headers:{...this._mergedHeaders,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:g});return await c2(a,"create annotation queue"),a})).json()}async readAnnotationQueue(a){return(await this.caller.call(async()=>{let b=await this._fetch(`${this.apiUrl}/annotation-queues/${cf(a,"queueId")}`,{method:"GET",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await c2(b,"read annotation queue"),b})).json()}async updateAnnotationQueue(a,b){let{name:c,description:d,rubricInstructions:e,rubricItems:f}=b,g={};void 0!==c&&(g.name=c),void 0!==d&&(g.description=d),void 0!==e&&(g.rubric_instructions=e),void 0!==f&&(g.rubric_items=f);let h=JSON.stringify(g);await this.caller.call(async()=>{let b=await this._fetch(`${this.apiUrl}/annotation-queues/${cf(a,"queueId")}`,{method:"PATCH",headers:{...this._mergedHeaders,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:h});return await c2(b,"update annotation queue",!0),b})}async deleteAnnotationQueue(a){await this.caller.call(async()=>{let b=await this._fetch(`${this.apiUrl}/annotation-queues/${cf(a,"queueId")}`,{method:"DELETE",headers:{...this._mergedHeaders,Accept:"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await c2(b,"delete annotation queue",!0),b})}async addRunsToAnnotationQueue(a,b){let c=JSON.stringify(b.map((a,b)=>cf(a,`runIds[${b}]`).toString()));await this.caller.call(async()=>{let b=await this._fetch(`${this.apiUrl}/annotation-queues/${cf(a,"queueId")}/runs`,{method:"POST",headers:{...this._mergedHeaders,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:c});return await c2(b,"add runs to annotation queue",!0),b})}async getRunFromAnnotationQueue(a,b){let c=`/annotation-queues/${cf(a,"queueId")}/run`,d=await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}${c}/${b}`,{method:"GET",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await c2(a,"get run from annotation queue"),a});return dr(await d.json())}async *listRunsFromAnnotationQueue(a,b={}){let{status:c,limit:d}=b,e=new URLSearchParams,f=void 0!==d&&Number.isFinite(d)?Math.min(d,100):100;c&&e.append("status",c),e.append("limit",f.toString());let g=0,h=`/annotation-queues/${cf(a,"queueId")}/runs`;for await(let a of this._getPaginated(h,e))for(let b of a)if(yield dr(b),++g>=f)return}async deleteRunFromAnnotationQueue(a,b){await this.caller.call(async()=>{let c=await this._fetch(`${this.apiUrl}/annotation-queues/${cf(a,"queueId")}/runs/${cf(b,"queueRunId")}`,{method:"DELETE",headers:{...this._mergedHeaders,Accept:"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await c2(c,"delete run from annotation queue",!0),c})}async getSizeFromAnnotationQueue(a){return(await this.caller.call(async()=>{let b=await this._fetch(`${this.apiUrl}/annotation-queues/${cf(a,"queueId")}/size`,{method:"GET",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await c2(b,"get size from annotation queue"),b})).json()}async _currentTenantIsOwner(a){let b=await this._getSettings();return"-"==a||b.tenant_handle===a}async _ownerConflictError(a,b){let c=await this._getSettings();return Error(`Cannot ${a} for another tenant.
123
+
124
+ Current tenant: ${c.tenant_handle}
125
+
126
+ Requested tenant: ${b}`)}async _getLatestCommitHash(a){let b=await this.caller.call(async()=>{let b=await this._fetch(`${this.apiUrl}/commits/${a}/?limit=1&offset=0`,{method:"GET",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await c2(b,"get latest commit hash"),b}),c=await b.json();if(0!==c.commits.length)return c.commits[0].commit_hash}async _likeOrUnlikePrompt(a,b){let[c,d,e]=c5(a),f=JSON.stringify({like:b});return(await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}/likes/${c}/${d}`,{method:"POST",headers:{...this._mergedHeaders,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:f});return await c2(a,`${b?"like":"unlike"} prompt`),a})).json()}async _getPromptUrl(a){let[b,c,d]=c5(a);if(await this._currentTenantIsOwner(b)){let a=await this._getSettings();return"latest"!==d?`${this.getHostUrl()}/prompts/${c}/${d.substring(0,8)}?organizationId=${a.id}`:`${this.getHostUrl()}/prompts/${c}?organizationId=${a.id}`}return"latest"!==d?`${this.getHostUrl()}/hub/${b}/${c}/${d.substring(0,8)}`:`${this.getHostUrl()}/hub/${b}/${c}`}async promptExists(a){return!!await this.getPrompt(a)}async likePrompt(a){return this._likeOrUnlikePrompt(a,!0)}async unlikePrompt(a){return this._likeOrUnlikePrompt(a,!1)}async *listCommits(a){let[b,c,d]=c5(a);for await(let a of this._getPaginated(`/commits/${b}/${c}/`,new URLSearchParams,a=>a.commits))yield*a}async *listPrompts(a){let b=new URLSearchParams;for await(let c of(b.append("sort_field",a?.sortField??"updated_at"),b.append("sort_direction","desc"),b.append("is_archived",(!!a?.isArchived).toString()),a?.isPublic!==void 0&&b.append("is_public",a.isPublic.toString()),a?.query&&b.append("query",a.query),this._getPaginated("/repos",b,a=>a.repos)))yield*c}async getPrompt(a){let[b,c,d]=c5(a),e=await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}/repos/${b}/${c}`,{method:"GET",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return a?.status===404?null:(await c2(a,"get prompt"),a)}),f=await e?.json();return f?.repo?f.repo:null}async createPrompt(a,b){let c=await this._getSettings();if(b?.isPublic&&!c.tenant_handle)throw Error(`Cannot create a public prompt without first
127
+
128
+ creating a LangChain Hub handle.
129
+ You can add a handle by creating a public prompt at:
130
+
131
+ https://smith.langchain.com/prompts`);let[d,e,f]=c5(a);if(!await this._currentTenantIsOwner(d))throw await this._ownerConflictError("create a prompt",d);let g=JSON.stringify({repo_handle:e,...b?.description&&{description:b.description},...b?.readme&&{readme:b.readme},...b?.tags&&{tags:b.tags},is_public:!!b?.isPublic}),h=await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}/repos/`,{method:"POST",headers:{...this._mergedHeaders,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:g});return await c2(a,"create prompt"),a}),{repo:i}=await h.json();return i}async createCommit(a,b,c){if(!await this.promptExists(a))throw Error("Prompt does not exist, you must create it first.");let[d,e,f]=c5(a),g=c?.parentCommitHash!=="latest"&&c?.parentCommitHash?c?.parentCommitHash:await this._getLatestCommitHash(`${d}/${e}`),h=JSON.stringify({manifest:JSON.parse(JSON.stringify(b)),parent_commit:g,...c?.description!==void 0&&{description:c.description}}),i=await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}/commits/${d}/${e}`,{method:"POST",headers:{...this._mergedHeaders,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:h});return await c2(a,"create commit"),a}),j=await i.json();return this._getPromptUrl(`${d}/${e}${j.commit_hash?`:${j.commit_hash}`:""}`)}async updateExamplesMultipart(a,b=[]){return this._updateExamplesMultipart(a,b)}async _updateExamplesMultipart(a,b=[]){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 c=new FormData;for(let a of b){let b=a.id,d=new Blob([dj({...a.metadata&&{metadata:a.metadata},...a.split&&{split:a.split}},`Serializing body for example with id: ${b}`)],{type:"application/json"});if(c.append(b,d),a.inputs){let d=new Blob([dj(a.inputs,`Serializing inputs for example with id: ${b}`)],{type:"application/json"});c.append(`${b}.inputs`,d)}if(a.outputs){let d=new Blob([dj(a.outputs,`Serializing outputs whle updating example with id: ${b}`)],{type:"application/json"});c.append(`${b}.outputs`,d)}if(a.attachments)for(let[d,e]of Object.entries(a.attachments)){let a,f;Array.isArray(e)?[a,f]=e:(a=e.mimeType,f=e.data);let g=new Blob([f],{type:`${a}; length=${f.byteLength}`});c.append(`${b}.attachment.${d}`,g)}if(a.attachments_operations){let d=new Blob([dj(a.attachments_operations,`Serializing attachments while updating example with id: ${b}`)],{type:"application/json"});c.append(`${b}.attachments_operations`,d)}}let d=a??b[0]?.dataset_id;return(await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}${this._getPlatformEndpointPath(`datasets/${d}/examples`)}`,{method:"PATCH",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:c});return await c2(a,"update examples"),a})).json()}async uploadExamplesMultipart(a,b=[]){return this._uploadExamplesMultipart(a,b)}async _uploadExamplesMultipart(a,b=[]){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 c=new FormData;for(let a of b){let b=(a.id??bu()).toString(),d=new Blob([dj({created_at:a.created_at,...a.metadata&&{metadata:a.metadata},...a.split&&{split:a.split},...a.source_run_id&&{source_run_id:a.source_run_id},...a.use_source_run_io&&{use_source_run_io:a.use_source_run_io},...a.use_source_run_attachments&&{use_source_run_attachments:a.use_source_run_attachments}},`Serializing body for uploaded example with id: ${b}`)],{type:"application/json"});if(c.append(b,d),a.inputs){let d=new Blob([dj(a.inputs,`Serializing inputs for uploaded example with id: ${b}`)],{type:"application/json"});c.append(`${b}.inputs`,d)}if(a.outputs){let d=new Blob([dj(a.outputs,`Serializing outputs for uploaded example with id: ${b}`)],{type:"application/json"});c.append(`${b}.outputs`,d)}if(a.attachments)for(let[d,e]of Object.entries(a.attachments)){let a,f;Array.isArray(e)?[a,f]=e:(a=e.mimeType,f=e.data);let g=new Blob([f],{type:`${a}; length=${f.byteLength}`});c.append(`${b}.attachment.${d}`,g)}}return(await this.caller.call(async()=>{let b=await this._fetch(`${this.apiUrl}${this._getPlatformEndpointPath(`datasets/${a}/examples`)}`,{method:"POST",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:c});return await c2(b,"upload examples"),b})).json()}async updatePrompt(a,b){if(!await this.promptExists(a))throw Error("Prompt does not exist, you must create it first.");let[c,d]=c5(a);if(!await this._currentTenantIsOwner(c))throw await this._ownerConflictError("update a prompt",c);let e={};if(b?.description!==void 0&&(e.description=b.description),b?.readme!==void 0&&(e.readme=b.readme),b?.tags!==void 0&&(e.tags=b.tags),b?.isPublic!==void 0&&(e.is_public=b.isPublic),b?.isArchived!==void 0&&(e.is_archived=b.isArchived),0===Object.keys(e).length)throw Error("No valid update options provided");let f=JSON.stringify(e);return(await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}/repos/${c}/${d}`,{method:"PATCH",headers:{...this._mergedHeaders,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:f});return await c2(a,"update prompt"),a})).json()}async deletePrompt(a){if(!await this.promptExists(a))throw Error("Prompt does not exist, you must create it first.");let[b,c,d]=c5(a);if(!await this._currentTenantIsOwner(b))throw await this._ownerConflictError("delete a prompt",b);return(await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}/repos/${b}/${c}`,{method:"DELETE",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await c2(a,"delete prompt"),a})).json()}_getPromptCacheKey(a,b){return`${a}${b?":with_model":""}`}async _fetchPromptFromApi(a,b){let[c,d,e]=c5(a),f=await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}/commits/${c}/${d}/${e}${b?.includeModel?"?include_model=true":""}`,{method:"GET",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await c2(a,"pull prompt commit"),a}),g=await f.json();return{owner:c,repo:d,commit_hash:g.commit_hash,manifest:g.manifest,examples:g.examples,hub_model_config:g.model_config,hub_model_provider:g.model_provider}}async pullPromptCommit(a,b){!function(a,b){let[c]=c5(a);if("-"!==c&&!b)throw Error("Pulling a public prompt by owner/name is disabled by default because prompts may contain untrusted serialized LangChain objects. If you trust this prompt, set `dangerouslyPullPublicPrompt: true` to acknowledge the risk.")}(a,b?.dangerouslyPullPublicPrompt);let c=this._fetchPromptFromApi.bind(this,a,b);if(!b?.skipCache&&this._promptCache){let d=this._getPromptCacheKey(a,b?.includeModel),e=this._promptCache.get(d,c);if(e)return e;let f=await c();return this._promptCache.set(d,f,c),f}return this._fetchPromptFromApi(a,b)}async _pullPrompt(a,b){return JSON.stringify((await this.pullPromptCommit(a,{includeModel:b?.includeModel,skipCache:b?.skipCache,dangerouslyPullPublicPrompt:b?.dangerouslyPullPublicPrompt})).manifest)}async pushPrompt(a,b){return(await this.promptExists(a)?b&&Object.keys(b).some(a=>"object"!==a)&&await this.updatePrompt(a,{description:b?.description,readme:b?.readme,tags:b?.tags,isPublic:b?.isPublic}):await this.createPrompt(a,{description:b?.description,readme:b?.readme,tags:b?.tags,isPublic:b?.isPublic}),b?.object)?await this.createCommit(a,b?.object,{parentCommitHash:b?.parentCommitHash,description:b?.commitDescription}):await this._getPromptUrl(a)}async agentExists(a){let[b,c]=c5(a);return this._repoExists(b,c)}async skillExists(a){let[b,c]=c5(a);return this._repoExists(b,c)}async pullAgent(a,b){return await this._pullDirectory(a,"agent",b?.version)}async pullSkill(a,b){return await this._pullDirectory(a,"skill",b?.version)}async pushAgent(a,b){return this._pushDirectory(a,"agent",b)}async pushSkill(a,b){return this._pushDirectory(a,"skill",b)}async deleteAgent(a){return this._deleteDirectory(a)}async deleteSkill(a){return this._deleteDirectory(a)}async *listAgents(a){yield*this._listReposByType("agent",a)}async *listSkills(a){yield*this._listReposByType("skill",a)}async *_listReposByType(a,b){let c=new URLSearchParams;for await(let d of(c.append("repo_type",a),c.append("is_archived",(!!b?.isArchived).toString()),b?.isPublic!==void 0&&c.append("is_public",b.isPublic.toString()),b?.query&&c.append("query",b.query),this._getPaginated("/repos",c,a=>a.repos)))yield*d}async _pullDirectory(a,b,c){let[d,e,f]=c5(a),g=c??("latest"!==f?f:void 0),h=new URL(`${this.apiUrl}/v1/platform/hub/repos/${d}/${e}/directories`);h.searchParams.set("repo_type",b),g&&h.searchParams.set("commit",g);let i=await this.caller.call(async()=>{let a=await this._fetch(h.toString(),{method:"GET",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await c2(a,"pull directory"),a});return await i.json()}async _pushDirectory(a,b,c){if(void 0!==c.parentCommit&&(c.parentCommit.length<8||c.parentCommit.length>64))throw Error("parent_commit must be 8-64 characters");let[d,e]=c5(a);if(!await this._currentTenantIsOwner(d))throw await this._ownerConflictError(`push ${b}`,d);if(await this._repoExists(d,e))(void 0!==c.description||void 0!==c.readme||void 0!==c.tags||void 0!==c.isPublic)&&await this._updateRepoMetadata(d,e,c);else{let a=/^[a-z][a-z0-9-_]*$/;if(!a.test(e))throw Error(`Invalid repo_handle ${JSON.stringify(e)}: must match ${a}`);await this._createRepo(e,b,c)}let f={files:c.files};c.parentCommit&&(f.parent_commit=c.parentCommit);let g=await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}/v1/platform/hub/repos/${d}/${e}/directories/commits`,{method:"POST",headers:{...this._mergedHeaders,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:JSON.stringify(f)});return await c2(a,`push ${b}`),a}),h=(await g.json()).commit.commit_hash;return`${this.getHostUrl()}/context/${e}/${h.slice(0,8)}`}async _deleteDirectory(a){let[b,c]=c5(a);if(!await this._currentTenantIsOwner(b))throw await this._ownerConflictError("delete",b);await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}/v1/platform/hub/repos/${b}/${c}/directories`,{method:"DELETE",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await c2(a,"delete directory"),a})}async _repoExists(a,b){try{return await this.caller.call(async()=>{let c=await this._fetch(`${this.apiUrl}/repos/${a}/${b}`,{method:"GET",headers:this._mergedHeaders,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await c2(c,"check repo exists"),c}),!0}catch(a){if(c1(a))return!1;throw a}}async _createRepo(a,b,c){let d={repo_handle:a,repo_type:b,is_public:!!c.isPublic};void 0!==c.description&&(d.description=c.description),void 0!==c.readme&&(d.readme=c.readme),void 0!==c.tags&&(d.tags=c.tags);try{await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}/repos/`,{method:"POST",headers:{...this._mergedHeaders,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:JSON.stringify(d)});return await c2(a,`create ${b}`),a})}catch(a){if(null!=a&&"object"==typeof a&&"name"in a&&a?.name==="LangSmithConflictError")return;throw a}}async _updateRepoMetadata(a,b,c){let d={};void 0!==c.description&&(d.description=c.description),void 0!==c.readme&&(d.readme=c.readme),void 0!==c.tags&&(d.tags=c.tags),void 0!==c.isPublic&&(d.is_public=c.isPublic),0!==Object.keys(d).length&&await this.caller.call(async()=>{let c=await this._fetch(`${this.apiUrl}/repos/${a}/${b}`,{method:"PATCH",headers:{...this._mergedHeaders,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:JSON.stringify(d)});return await c2(c,"update repo metadata"),c})}async clonePublicDataset(a,b={}){let{sourceApiUrl:c=this.apiUrl,datasetName:d}=b,[e,f]=this.parseTokenOrUrl(a,c),g=new dy({apiUrl:e,apiKey:"placeholder"}),h=await g.readSharedDataset(f),i=d||h.name;try{if(await this.hasDataset({datasetId:i}))return void console.log(`Dataset ${i} already exists in your tenant. Skipping.`)}catch(a){}let j=await g.listSharedExamples(f),k=await this.createDataset(i,{description:h.description,dataType:h.data_type||"kv",inputsSchema:h.inputs_schema_definition??void 0,outputsSchema:h.outputs_schema_definition??void 0});try{await this.createExamples({inputs:j.map(a=>a.inputs),outputs:j.flatMap(a=>a.outputs?[a.outputs]:[]),datasetId:k.id})}catch(a){throw console.error(`An error occurred while creating dataset ${i}. You should delete it manually.`),a}}parseTokenOrUrl(a,b,c=2,d="dataset"){try{return cf(a),[b,a]}catch(a){}try{let e=new URL(a).pathname.split("/").filter(a=>""!==a);if(e.length>=c){let a=e[e.length-c];return[b,a]}throw Error(`Invalid public ${d} URL: ${a}`)}catch(b){throw Error(`Invalid public ${d} URL or token: ${a}`)}}cleanup(){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();for(await new Promise(a=>setTimeout(a,1));this._pendingDrains.size>0;)await Promise.all([...this._pendingDrains]);await Promise.all([...this.autoBatchQueue.items.map(({itemPromise:a})=>a),this.batchIngestCaller.queue.onIdle()]),void 0!==this.langSmithToOTELTranslator&&await cH.getDefaultOTLPTracerComponents()?.DEFAULT_LANGSMITH_SPAN_PROCESSOR?.forceFlush()}toString(){let a=[`apiUrl=${JSON.stringify(this.apiUrl)}`];return void 0!==this.webUrl&&a.push(`webUrl=${JSON.stringify(this.webUrl)}`),void 0!==this.workspaceId&&a.push(`workspaceId=${JSON.stringify(this.workspaceId)}`),`[LangSmithClient ${a.join(" ")}]`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}}function dz(a){return"dataset_id"in a||"dataset_name"in a}Object.defineProperty(dy,"_fallbackDirsCreated",{enumerable:!0,configurable:!0,writable:!0,value:new Set});let dA=Symbol.for("lc:context_variables");Symbol.for("lc:child_run_end_promises");let dB=Symbol.for("langsmith:replica_trace_roots");function dC(a,b){if(dA in a)return a[dA][b]}function dD(a){return by(Object.keys(a).sort().map(b=>`${b}:${a[b]??""}`).join("|"),"6ba7b810-9dad-11d1-80b4-00c04fd430c8")}function dE(a,b=1){let c=b.toFixed(0).slice(0,3).padStart(3,"0");return`${new Date(a).toISOString().slice(0,-1)}${c}Z`}function dF(a,b,c=1){let d=dE(a,c);return{dottedOrder:d.replace(/[-:.]/g,"")+b,microsecondPrecisionDatestring:d}}let dG=new Set(["projectName","updates","reroot"]);class dH{constructor(a,b,c,d){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=a,this.tags=b,this.project_name=c,this.replicas=d}static fromHeader(a){let b,c,d=a.split(","),e={},f=[];for(let a of d){let[d,g]=a.split("="),h=decodeURIComponent(g);"langsmith-metadata"===d?e=JSON.parse(h):"langsmith-tags"===d?f=h.split(","):"langsmith-project"===d?b=h:"langsmith-replicas"===d&&(c=JSON.parse(h).map(a=>Array.isArray(a)?a:function(a){let b={};for(let c of Object.keys(a))dG.has(c)&&(b[c]=a[c]);return b}(a)))}return new dH(e,f,b,c)}toHeader(){let a=[];return this.metadata&&Object.keys(this.metadata).length>0&&a.push(`langsmith-metadata=${encodeURIComponent(JSON.stringify(this.metadata))}`),this.tags&&this.tags.length>0&&a.push(`langsmith-tags=${encodeURIComponent(this.tags.join(","))}`),this.project_name&&a.push(`langsmith-project=${encodeURIComponent(this.project_name)}`),a.join(",")}}class dI{constructor(a){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}),function(a){return null!=a&&"function"==typeof a.createChild&&"function"==typeof a.postRun}(a))return void Object.assign(this,{...a});const b=dI.getDefaultConfig(),{metadata:c,...d}=a,e=d.client??dI.getSharedClient(),f={...c,...d?.extra?.metadata};if(d.extra={...d.extra,metadata:f},"id"in d&&null==d.id&&delete d.id,Object.assign(this,{...b,...d,client:e}),this.execution_order??=1,this.child_execution_order??=1,this.dotted_order||(this._serialized_start_time=dE(this.start_time,this.execution_order)),this.id||(this.id=function(a){return bB({msecs:"string"==typeof a?Date.parse(a):a,seq:0})}(this._serialized_start_time??this.start_time)),this.trace_id||(this.parent_run?this.trace_id=this.parent_run.trace_id??this.id:this.trace_id=this.id),this.replicas=function(a){return a?a.map(a=>Array.isArray(a)?{projectName:a[0],updates:a[1]}:a):function(){let a=cw("LANGSMITH_RUNS_ENDPOINTS");if(!a)return[];try{let c=JSON.parse(a);if(Array.isArray(c)){let a=[];for(let b of c){if("object"!=typeof b||null===b){console.warn(`Invalid item type in LANGSMITH_RUNS_ENDPOINTS: expected object, got ${typeof b}`);continue}if("string"!=typeof b.api_url){console.warn(`Invalid api_url type in LANGSMITH_RUNS_ENDPOINTS: expected string, got ${typeof b.api_url}`);continue}if("string"!=typeof b.api_key){console.warn(`Invalid api_key type in LANGSMITH_RUNS_ENDPOINTS: expected string, got ${typeof b.api_key}`);continue}a.push({apiUrl:b.api_url.replace(/\/$/,""),apiKey:b.api_key})}return a}if("object"!=typeof c||null===c)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 c}`),[];{var b=c;if(Object.keys(b).length>0&&cx("ENDPOINT"))throw new c4;let a=[];for(let[b,d]of Object.entries(c)){let c=b.replace(/\/$/,"");if("string"==typeof d)a.push({apiUrl:c,apiKey:d});else{console.warn(`Invalid value type in LANGSMITH_RUNS_ENDPOINTS for URL ${b}: expected string, got ${typeof d}`);continue}}return a}}catch(a){if("object"==typeof a&&null!==a&&a.code===c3)throw a;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"),[]}}()}(this.replicas),!this.dotted_order){const{dottedOrder:a}=dF(this.start_time,this.id,this.execution_order);this.parent_run?this.dotted_order=this.parent_run.dotted_order+"."+a:this.dotted_order=a}}set metadata(a){this.extra={...this.extra,metadata:{...this.extra?.metadata,...a}}}get metadata(){return this.extra?.metadata}static getDefaultConfig(){let a=Date.now();return{run_type:"chain",project_name:bJ(),child_runs:[],api_url:cw("LANGCHAIN_ENDPOINT")??"http://localhost:1984",api_key:cw("LANGCHAIN_API_KEY"),caller_options:{},start_time:a,serialized:{},inputs:{},extra:{}}}static getSharedClient(){return dI.sharedClient||(dI.sharedClient=new dy),dI.sharedClient}createChild(a){var b,c;let d,e=this.child_execution_order+1,f=this.replicas?.map(a=>{let{reroot:b,...c}=a;return c}),g=a.replicas??f,h=new dI({...a,parent_run:this,project_name:this.project_name,replicas:g,client:this.client,tracingEnabled:this.tracingEnabled,execution_order:e,child_execution_order:e}),i=this.extra?.metadata??{},j=h.extra?.metadata??{};Object.keys(i).length>0&&(h.extra={...h.extra,metadata:{...i,...j}}),dA in this&&(h[dA]=this[dA]);let k=Symbol.for("lc:child_config"),l=a.extra?.[k]??this.extra[k];if(b=l,d=b?.callbacks,null!=b&&"object"==typeof d&&(dK(d?.handlers)||dK(d))){let a={...l},b="object"==typeof(c=a.callbacks)&&null!=c&&Array.isArray(c.handlers)?a.callbacks.copy?.():void 0;b&&(Object.assign(b,{_parentRunId:h.id}),b.handlers?.find(dJ)?.updateFromRunTree?.(h),a.callbacks=b),h.extra[k]=a}let m=new Set,n=this;for(;null!=n&&!m.has(n.id);)m.add(n.id),n.child_execution_order=Math.max(n.child_execution_order,e),n=n.parent_run;return this.child_runs.push(h),h}async end(a,b,c=Date.now(),d){this.outputs=this.outputs??a,this.error=this.error??b,this.end_time=this.end_time??c,d&&Object.keys(d).length>0&&(this.extra=this.extra?{...this.extra,metadata:{...this.extra.metadata,...d}}:{metadata:d})}_convertToCreate(a,b,c=!0){let d,e=a.extra??{};if(e?.runtime?.library===void 0&&(e.runtime||(e.runtime={}),b))for(let[a,c]of Object.entries(b))e.runtime[a]||(e.runtime[a]=c);let f=a.parent_run?.id??a.parent_run_id;return d=c?[]:a.child_runs.map(a=>this._convertToCreate(a,b,c)),{id:a.id,name:a.name,start_time:a._serialized_start_time??a.start_time,end_time:a.end_time,run_type:a.run_type,reference_example_id:a.reference_example_id,extra:e,serialized:a.serialized,error:a.error,inputs:a.inputs,outputs:a.outputs,session_name:a.project_name,child_runs:d,parent_run_id:f,trace_id:a.trace_id,dotted_order:a.dotted_order,tags:a.tags,attachments:a.attachments,events:a.events}}_sliceParentId(a,b){if(b.dotted_order){let c=b.dotted_order.split("."),d=null;for(let b=0;b<c.length;b++)if(c[b].slice(-36)===a){d=b;break}if(null!==d){let a=c.slice(d+1);b.dotted_order=a.join("."),a.length>0?b.trace_id=a[0].slice(-36):b.trace_id=b.id}}b.parent_run_id===a&&(b.parent_run_id=void 0)}_setReplicaTraceRoot(a,b){let c,d=dC(this,dB)??{};for(let e of(d[a]=b,(c=dA in this?this[dA]:{})[dB]=d,this[dA]=c,this.child_runs))e._setReplicaTraceRoot(a,b)}_remapForProject(a){let b,c,d,e,{projectName:f,runtimeEnv:g,excludeChildRuns:h=!0,reroot:i=!1,distributedParentId:j,apiUrl:k,apiKey:l,workspaceId:m}=a,n=this._convertToCreate(this,g,h);if(f===this.project_name)return{...n,session_name:f};if(i){if(j)this._sliceParentId(j,n);else if(n.parent_run_id=void 0,n.dotted_order){let a=n.dotted_order.split(".");a.length>0&&(n.dotted_order=a[a.length-1],n.trace_id=n.id)}let a=dD({projectName:f,apiUrl:k,apiKey:l,workspaceId:m});this._setReplicaTraceRoot(a,n.id)}if(!i&&(b=(dC(this,dB)??{})[dD({projectName:f,apiUrl:k,apiKey:l,workspaceId:m})])&&(n.trace_id=b,n.dotted_order)){let a=n.dotted_order.split("."),c=null;for(let d=0;d<a.length;d++)if(a[d].slice(-36)===b){c=d;break}null!==c&&(n.dotted_order=a.slice(c).join("."))}let o=ch(n.id,f);return c=n.trace_id?ch(n.trace_id,f):o,n.parent_run_id&&(d=ch(n.parent_run_id,f)),n.dotted_order&&(e=n.dotted_order.split(".").map(a=>{let b=ch(a.slice(-36),f);return a.slice(0,-36)+b}).join(".")),{...n,id:o,trace_id:c,parent_run_id:d,dotted_order:e,session_name:f}}async postRun(a=!0){this._awaitInputsOnPost&&(this.inputs=await this.inputs);try{let b=cu();if(this.replicas&&this.replicas.length>0)for(let{projectName:a,apiKey:c,apiUrl:d,workspaceId:e,reroot:f,client:g}of this.replicas){let h=this._remapForProject({projectName:a??this.project_name,runtimeEnv:b,excludeChildRuns:!0,reroot:f,distributedParentId:this.distributedParentId,apiUrl:d,apiKey:c,workspaceId:e}),i=g??this.client;await i.createRun(h,{apiKey:c,apiUrl:d,workspaceId:e})}else{let c=this._convertToCreate(this,b,a);await this.client.createRun(c)}if(!a)for(let a of(cZ("Posting with excludeChildRuns=false is deprecated and will be removed in a future version."),this.child_runs))await a.postRun(!1);this.child_runs=[]}catch(a){console.error(`Error in postRun for run ${this.id}:`,a)}}async patchRun(a){if(this.replicas&&this.replicas.length>0)for(let{projectName:b,apiKey:c,apiUrl:d,workspaceId:e,updates:f,reroot:g,client:h}of this.replicas){let i=this._remapForProject({projectName:b??this.project_name,runtimeEnv:void 0,excludeChildRuns:!0,reroot:g,distributedParentId:this.distributedParentId,apiUrl:d,apiKey:c,workspaceId:e}),j={id:i.id,name:i.name,run_type:i.run_type,start_time:i.start_time,outputs:i.outputs,error:i.error,parent_run_id:i.parent_run_id,session_name:i.session_name,reference_example_id:i.reference_example_id,end_time:i.end_time,dotted_order:i.dotted_order,trace_id:i.trace_id,events:i.events,tags:i.tags,extra:i.extra,attachments:this.attachments,...f};a?.excludeInputs||(j.inputs=i.inputs);let k=h??this.client;await k.updateRun(i.id,j,{apiKey:c,apiUrl:d,workspaceId:e})}else try{let b={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};a?.excludeInputs||(b.inputs=this.inputs),await this.client.updateRun(this.id,b)}catch(a){console.error(`Error in patchRun for run ${this.id}`,a)}this.child_runs=[]}toJSON(){return this._convertToCreate(this,void 0,!1)}addEvent(a){this.events||(this.events=[]),"string"==typeof a?this.events.push({name:"event",time:new Date().toISOString(),message:a}):this.events.push({...a,time:a.time??new Date().toISOString()})}static fromRunnableConfig(a,b){var c;let d,e,f,g=a?.callbacks,h=void 0!==c?c:!!["TRACING_V2","TRACING"].find(a=>"true"===cx(a));if(g){let a=g?.getParentRunId?.()??"",b=g?.handlers?.find(a=>a?.name=="langchain_tracer");d=b?.getRun?.(a),e=b?.projectName,f=b?.client,h=h||!!b}return d?new dI({name:d.name,id:d.id,trace_id:d.trace_id,dotted_order:d.dotted_order,client:f,tracingEnabled:h,project_name:e,tags:[...new Set((d?.tags??[]).concat(a?.tags??[]))],extra:{metadata:{...d?.extra?.metadata,...a?.metadata}}}).createChild(b):new dI({...b,client:f,tracingEnabled:h,project_name:e})}static fromDottedOrder(a){return this.fromHeaders({"langsmith-trace":a})}static fromHeaders(a,b){let c="get"in a&&"function"==typeof a.get?{"langsmith-trace":a.get("langsmith-trace"),baggage:a.get("baggage")}:a,d=c["langsmith-trace"];if(!d||"string"!=typeof d)return;let e=d.trim(),f=e.split(".").map(a=>{let[b,c]=a.split("Z");return{strTime:b,time:Date.parse(b+"Z"),uuid:c}}),g=f[0].uuid,h={...b,name:b?.name??"parent",run_type:b?.run_type??"chain",start_time:b?.start_time??Date.now(),id:f.at(-1)?.uuid,trace_id:g,dotted_order:e};if(c.baggage&&"string"==typeof c.baggage){let a=dH.fromHeader(c.baggage);h.metadata=a.metadata,h.tags=a.tags,h.project_name=a.project_name,h.replicas=a.replicas}let i=new dI(h);return i.distributedParentId=i.id,i}toHeaders(a){let b={"langsmith-trace":this.dotted_order,baggage:new dH(this.extra?.metadata,this.tags,this.project_name,this.replicas).toHeader()};if(a)for(let[c,d]of Object.entries(b))a.set(c,d);return b}}function dJ(a){return"object"==typeof a&&null!=a&&"string"==typeof a.name&&"langchain_tracer"===a.name}function dK(a){return Array.isArray(a)&&a.some(a=>dJ(a))}function dL(a,b){return a&&!Array.isArray(a)&&"object"==typeof a?a:{[b]:a}}function dM(a){return"function"==typeof a._addRunToRunMap}Object.defineProperty(dI,"sharedClient",{enumerable:!0,configurable:!0,writable:!0,value:null});var dN=class extends bn{runMap=new Map;runTreeMap=new Map;usesRunTreeMap=!1;constructor(a){super(...arguments)}copy(){return this}getRunById(a){if(void 0!==a)return this.usesRunTreeMap?(a=>{if(a)return a.events=a.events??[],a.child_runs=a.child_runs??[],a})(this.runTreeMap.get(a)):this.runMap.get(a)}stringifyError(a){return a instanceof Error?a.message+(a?.stack?`
132
+
133
+ ${a.stack}`:""):"string"==typeof a?a:`${a}`}_addChildRun(a,b){a.child_runs.push(b)}_addRunToRunMap(a){let{dottedOrder:c,microsecondPrecisionDatestring:d}=dF(new Date(a.start_time).getTime(),a.id,a.execution_order),e={...a},f=this.getRunById(e.parent_run_id);if(void 0!==e.parent_run_id?f?(this._addChildRun(f,e),f.child_execution_order=Math.max(f.child_execution_order,e.child_execution_order),e.trace_id=f.trace_id,void 0!==f.dotted_order&&(e.dotted_order=[f.dotted_order,c].join("."),e._serialized_start_time=d)):e.parent_run_id=void 0:(e.trace_id=e.id,e.dotted_order=c,e._serialized_start_time=d),this.usesRunTreeMap){let a=function a(c,d){if(c)return new dI({...c,start_time:c._serialized_start_time??c.start_time,parent_run:a(d),child_runs:c.child_runs.map(b=>a(b)).filter(a=>void 0!==a),extra:{...c.extra,runtime:(void 0===b&&(b={library:"langchain-js",runtime:"u">typeof process&&void 0!==process.versions&&void 0!==process.versions.node&&!("u">typeof Deno)?"node":"object"==typeof globalThis&&globalThis.constructor&&"DedicatedWorkerGlobalScope"===globalThis.constructor.name?"webworker":"u">typeof navigator&&navigator.userAgent.includes("jsdom")?"jsdom":"u">typeof Deno?"deno":"other"}),b)},tracingEnabled:!1})}(e,f);void 0!==a&&this.runTreeMap.set(e.id,a)}else this.runMap.set(e.id,e);return e}async _endTrace(a){let b=void 0!==a.parent_run_id&&this.getRunById(a.parent_run_id);b?b.child_execution_order=Math.max(b.child_execution_order,a.child_execution_order):await this.persistRun(a),await this.onRunUpdate?.(a),this.usesRunTreeMap?this.runTreeMap.delete(a.id):this.runMap.delete(a.id)}_getExecutionOrder(a){let b=void 0!==a&&this.getRunById(a);return b?b.child_execution_order+1:1}_createRunForLLMStart(a,b,c,d,e,f,g,h){let i=this._getExecutionOrder(d),j=Date.now(),k=g?{...e,metadata:g}:e,l={id:c,name:h??a.id[a.id.length-1],parent_run_id:d,start_time:j,serialized:a,events:[{name:"start",time:new Date(j).toISOString()}],inputs:{prompts:b},execution_order:i,child_runs:[],child_execution_order:i,run_type:"llm",extra:k??{},tags:f||[]};return this._addRunToRunMap(l)}async handleLLMStart(a,b,c,d,e,f,g,h){let i=this.getRunById(c)??this._createRunForLLMStart(a,b,c,d,e,f,g,h);return await this.onRunCreate?.(i),await this.onLLMStart?.(i),i}_createRunForChatModelStart(a,b,c,d,e,f,g,h){let i=this._getExecutionOrder(d),j=Date.now(),k=g?{...e,metadata:g}:e,l={id:c,name:h??a.id[a.id.length-1],parent_run_id:d,start_time:j,serialized:a,events:[{name:"start",time:new Date(j).toISOString()}],inputs:{messages:b},execution_order:i,child_runs:[],child_execution_order:i,run_type:"llm",extra:k??{},tags:f||[]};return this._addRunToRunMap(l)}async handleChatModelStart(a,b,c,d,e,f,g,h){let i=this.getRunById(c)??this._createRunForChatModelStart(a,b,c,d,e,f,g,h);return await this.onRunCreate?.(i),await this.onLLMStart?.(i),i}async handleLLMEnd(a,b,c,d,e){let f=this.getRunById(b);if(!f||f?.run_type!=="llm")throw Error("No LLM run to end.");return f.end_time=Date.now(),f.outputs=a,f.events.push({name:"end",time:new Date(f.end_time).toISOString()}),f.extra={...f.extra,...e},await this.onLLMEnd?.(f),await this._endTrace(f),f}async handleLLMError(a,b,c,d,e){let f=this.getRunById(b);if(!f||f?.run_type!=="llm")throw Error("No LLM run to end.");return f.end_time=Date.now(),f.error=this.stringifyError(a),f.events.push({name:"error",time:new Date(f.end_time).toISOString()}),f.extra={...f.extra,...e},await this.onLLMError?.(f),await this._endTrace(f),f}_createRunForChainStart(a,b,c,d,e,f,g,h,i){let j=this._getExecutionOrder(d),k=Date.now(),l={id:c,name:h??a.id[a.id.length-1],parent_run_id:d,start_time:k,serialized:a,events:[{name:"start",time:new Date(k).toISOString()}],inputs:b,execution_order:j,child_execution_order:j,run_type:g??"chain",child_runs:[],extra:f?{...i,metadata:f}:{...i},tags:e||[]};return this._addRunToRunMap(l)}async handleChainStart(a,b,c,d,e,f,g,h){let i=this.getRunById(c)??this._createRunForChainStart(a,b,c,d,e,f,g,h);return await this.onRunCreate?.(i),await this.onChainStart?.(i),i}async handleChainEnd(a,b,c,d,e){let f=this.getRunById(b);if(!f)throw Error("No chain run to end.");return f.end_time=Date.now(),f.outputs=dL(a,"output"),f.events.push({name:"end",time:new Date(f.end_time).toISOString()}),e?.inputs!==void 0&&(f.inputs=dL(e.inputs,"input")),await this.onChainEnd?.(f),await this._endTrace(f),f}async handleChainError(a,b,c,d,e){let f=this.getRunById(b);if(!f)throw Error("No chain run to end.");return f.end_time=Date.now(),f.error=this.stringifyError(a),f.events.push({name:"error",time:new Date(f.end_time).toISOString()}),e?.inputs!==void 0&&(f.inputs=dL(e.inputs,"input")),await this.onChainError?.(f),await this._endTrace(f),f}_createRunForToolStart(a,b,c,d,e,f,g){let h=this._getExecutionOrder(d),i=Date.now(),j={id:c,name:g??a.id[a.id.length-1],parent_run_id:d,start_time:i,serialized:a,events:[{name:"start",time:new Date(i).toISOString()}],inputs:{input:b},execution_order:h,child_execution_order:h,run_type:"tool",child_runs:[],extra:f?{metadata:f}:{},tags:e||[]};return this._addRunToRunMap(j)}async handleToolStart(a,b,c,d,e,f,g){let h=this.getRunById(c)??this._createRunForToolStart(a,b,c,d,e,f,g);return await this.onRunCreate?.(h),await this.onToolStart?.(h),h}async handleToolEnd(a,b){let c=this.getRunById(b);if(!c||c?.run_type!=="tool")throw Error("No tool run to end");return c.end_time=Date.now(),c.outputs={output:a},c.events.push({name:"end",time:new Date(c.end_time).toISOString()}),await this.onToolEnd?.(c),await this._endTrace(c),c}async handleToolError(a,b){let c=this.getRunById(b);if(!c||c?.run_type!=="tool")throw Error("No tool run to end");return c.end_time=Date.now(),c.error=this.stringifyError(a),c.events.push({name:"error",time:new Date(c.end_time).toISOString()}),await this.onToolError?.(c),await this._endTrace(c),c}async handleAgentAction(a,b){let c=this.getRunById(b);c&&c?.run_type==="chain"&&(c.actions=c.actions||[],c.actions.push(a),c.events.push({name:"agent_action",time:new Date().toISOString(),kwargs:{action:a}}),await this.onAgentAction?.(c))}async handleAgentEnd(a,b){let c=this.getRunById(b);c&&c?.run_type==="chain"&&(c.events.push({name:"agent_end",time:new Date().toISOString(),kwargs:{action:a}}),await this.onAgentEnd?.(c))}_createRunForRetrieverStart(a,b,c,d,e,f,g){let h=this._getExecutionOrder(d),i=Date.now(),j={id:c,name:g??a.id[a.id.length-1],parent_run_id:d,start_time:i,serialized:a,events:[{name:"start",time:new Date(i).toISOString()}],inputs:{query:b},execution_order:h,child_execution_order:h,run_type:"retriever",child_runs:[],extra:f?{metadata:f}:{},tags:e||[]};return this._addRunToRunMap(j)}async handleRetrieverStart(a,b,c,d,e,f,g){let h=this.getRunById(c)??this._createRunForRetrieverStart(a,b,c,d,e,f,g);return await this.onRunCreate?.(h),await this.onRetrieverStart?.(h),h}async handleRetrieverEnd(a,b){let c=this.getRunById(b);if(!c||c?.run_type!=="retriever")throw Error("No retriever run to end");return c.end_time=Date.now(),c.outputs={documents:a},c.events.push({name:"end",time:new Date(c.end_time).toISOString()}),await this.onRetrieverEnd?.(c),await this._endTrace(c),c}async handleRetrieverError(a,b){let c=this.getRunById(b);if(!c||c?.run_type!=="retriever")throw Error("No retriever run to end");return c.end_time=Date.now(),c.error=this.stringifyError(a),c.events.push({name:"error",time:new Date(c.end_time).toISOString()}),await this.onRetrieverError?.(c),await this._endTrace(c),c}async handleText(a,b){let c=this.getRunById(b);c&&c?.run_type==="chain"&&(c.events.push({name:"text",time:new Date().toISOString(),kwargs:{text:a}}),await this.onText?.(c))}async handleLLMNewToken(a,b,c,d,e,f){let g=this.getRunById(c);if(!g||g?.run_type!=="llm")throw Error('Invalid "runId" provided to "handleLLMNewToken" callback.');return g.events.push({name:"new_token",time:new Date().toISOString(),kwargs:{token:a,idx:b,chunk:f?.chunk}}),await this.onLLMNewToken?.(g,a,{chunk:f?.chunk}),g}};let dO={bold:{open:"\x1b[1m",close:"\x1b[22m"},color:{grey:{open:"\x1b[90m",close:"\x1b[39m"},green:{open:"\x1b[32m",close:"\x1b[39m"},cyan:{open:"\x1b[36m",close:"\x1b[39m"},red:{open:"\x1b[31m",close:"\x1b[39m"},blue:{open:"\x1b[34m",close:"\x1b[39m"}}};function dP(a,b){return`${a.open}${b}${a.close}`}function dQ(a,b){try{return JSON.stringify(a,null,2)}catch{return b}}function dR(a){return"string"==typeof a?a.trim():null==a?a:dQ(a,a.toString())}function dS(a){if(!a.end_time)return"";let b=a.end_time-a.start_time;return b<1e3?`${b}ms`:`${(b/1e3).toFixed(2)}s`}let{color:dT}=dO;var dU=class extends dN{name="console_callback_handler";persistRun(a){return Promise.resolve()}getParents(a){let b=[],c=a;for(;c.parent_run_id;){let a=this.runMap.get(c.parent_run_id);if(a)b.push(a),c=a;else break}return b}getBreadcrumbs(a){let b=[...this.getParents(a).reverse(),a].map((a,b,c)=>{let d=`${a.execution_order}:${a.run_type}:${a.name}`;return b===c.length-1?dP(dO.bold,d):d}).join(" > ");return dP(dT.grey,b)}onChainStart(a){let b=this.getBreadcrumbs(a);console.log(`${dP(dT.green,"[chain/start]")} [${b}] Entering Chain run with input: ${dQ(a.inputs,"[inputs]")}`)}onChainEnd(a){let b=this.getBreadcrumbs(a);console.log(`${dP(dT.cyan,"[chain/end]")} [${b}] [${dS(a)}] Exiting Chain run with output: ${dQ(a.outputs,"[outputs]")}`)}onChainError(a){let b=this.getBreadcrumbs(a);console.log(`${dP(dT.red,"[chain/error]")} [${b}] [${dS(a)}] Chain run errored with error: ${dQ(a.error,"[error]")}`)}onLLMStart(a){let b=this.getBreadcrumbs(a),c="prompts"in a.inputs?{prompts:a.inputs.prompts.map(a=>a.trim())}:a.inputs;console.log(`${dP(dT.green,"[llm/start]")} [${b}] Entering LLM run with input: ${dQ(c,"[inputs]")}`)}onLLMEnd(a){let b=this.getBreadcrumbs(a);console.log(`${dP(dT.cyan,"[llm/end]")} [${b}] [${dS(a)}] Exiting LLM run with output: ${dQ(a.outputs,"[response]")}`)}onLLMError(a){let b=this.getBreadcrumbs(a);console.log(`${dP(dT.red,"[llm/error]")} [${b}] [${dS(a)}] LLM run errored with error: ${dQ(a.error,"[error]")}`)}onToolStart(a){let b=this.getBreadcrumbs(a);console.log(`${dP(dT.green,"[tool/start]")} [${b}] Entering Tool run with input: "${dR(a.inputs.input)}"`)}onToolEnd(a){let b=this.getBreadcrumbs(a);console.log(`${dP(dT.cyan,"[tool/end]")} [${b}] [${dS(a)}] Exiting Tool run with output: "${dR(a.outputs?.output)}"`)}onToolError(a){let b=this.getBreadcrumbs(a);console.log(`${dP(dT.red,"[tool/error]")} [${b}] [${dS(a)}] Tool run errored with error: ${dQ(a.error,"[error]")}`)}onRetrieverStart(a){let b=this.getBreadcrumbs(a);console.log(`${dP(dT.green,"[retriever/start]")} [${b}] Entering Retriever run with input: ${dQ(a.inputs,"[inputs]")}`)}onRetrieverEnd(a){let b=this.getBreadcrumbs(a);console.log(`${dP(dT.cyan,"[retriever/end]")} [${b}] [${dS(a)}] Exiting Retriever run with output: ${dQ(a.outputs,"[outputs]")}`)}onRetrieverError(a){let b=this.getBreadcrumbs(a);console.log(`${dP(dT.red,"[retriever/error]")} [${b}] [${dS(a)}] Retriever run errored with error: ${dQ(a.error,"[error]")}`)}onAgentAction(a){let b=this.getBreadcrumbs(a);console.log(`${dP(dT.blue,"[agent/action]")} [${b}] Agent selected action: ${dQ(a.actions[a.actions.length-1],"[action]")}`)}};let dV=Symbol.for("ls:tracing_async_local_storage"),dW=new class{getStore(){}run(a,b){return b()}},dX=new class{getInstance(){return globalThis[dV]??dW}initializeGlobalInstance(a){void 0===globalThis[dV]&&(globalThis[dV]=a)}};function dY(a){return"function"==typeof a&&"langsmith:traceable"in a}Symbol.for("langsmith:traceable:root");let dZ=new Set(["ls_agent_type"]);var d$=class a extends dN{name="langchain_tracer";projectName;exampleId;client;replicas;usesRunTreeMap=!0;tracingMetadata;tracingTags=[];constructor(b={}){super(b),this.fields=b;const{exampleId:c,projectName:d,client:e,replicas:g,metadata:h,tags:i}=b;this.projectName=d??bJ(),this.replicas=g,this.exampleId=c,this.client=e??(void 0===f&&(f=new dy("false"===bl("LANGCHAIN_CALLBACKS_BACKGROUND")?{blockOnRootRunFinalization:!0}:{})),f),this.tracingMetadata=h?{...h}:void 0,this.tracingTags=i??[];const j=a.getTraceableRunTree();j&&this.updateFromRunTree(j)}async persistRun(a){}async onRunCreate(a){d_(this,a),a.extra?.lc_defers_inputs||await this.getRunTreeWithTracingConfig(a.id)?.postRun()}async onRunUpdate(a){d_(this,a);let b=this.getRunTreeWithTracingConfig(a.id);a.extra?.lc_defers_inputs?await b?.postRun():await b?.patchRun()}onLLMEnd(a){let b=a.outputs;if(b?.generations){let c=function(a){let b;for(let c of a)for(let a of c)a0.isInstance(a.message)&&void 0!==a.message.usage_metadata&&(b=ao(b,a.message.usage_metadata));return b}(b.generations);if(void 0!==c){a.extra=a.extra??{};let b=a.extra.metadata??{};b.usage_metadata=c,a.extra.metadata=b}}}copyWithTracingConfig({metadata:b,tags:c}){let d;if(void 0===b)d=this.tracingMetadata?{...this.tracingMetadata}:void 0;else if(void 0===this.tracingMetadata)d={...b};else for(let[a,c]of(d={...this.tracingMetadata},Object.entries(b)))(!Object.prototype.hasOwnProperty.call(d,a)||dZ.has(a))&&(d[a]=c);let e=c?Array.from(new Set([...this.tracingTags,...c])):[...this.tracingTags],f=new a({...this.fields,metadata:d,tags:e});return f.runMap=this.runMap,f.runTreeMap=this.runTreeMap,f}getRun(a){return this.runTreeMap.get(a)}updateFromRunTree(a){this.runTreeMap.set(a.id,a);let b=a,c=new Set;for(;b.parent_run&&!c.has(b.id)&&(c.add(b.id),b.parent_run);){;b=b.parent_run}c.clear();let d=[b];for(;d.length>0;){let a=d.shift();!(!a||c.has(a.id))&&(c.add(a.id),this.runTreeMap.set(a.id,a),a.child_runs&&d.push(...a.child_runs))}this.client=a.client??this.client,this.replicas=a.replicas??this.replicas,this.projectName=a.project_name??this.projectName,this.exampleId=a.reference_example_id??this.exampleId,this.fields={...this.fields,client:this.client,replicas:this.replicas,projectName:this.projectName,exampleId:this.exampleId}}getRunTreeWithTracingConfig(a){let b=this.runTreeMap.get(a);if(b)return new dI({...b,client:this.client,project_name:this.projectName,replicas:this.replicas,reference_example_id:this.exampleId,tracingEnabled:!0})}static getTraceableRunTree(){try{return function(a=!1){let b=dX.getInstance().getStore();if(!a&&void 0===b)throw Error("Could not get the current run tree.\n\nPlease make sure you are calling this method within a traceable function and that tracing is enabled.");return b}(!0)}catch{return}}static[Symbol.hasInstance](a){return"object"==typeof a&&null!==a&&"name"in a&&"langchain_tracer"===a.name&&"copyWithTracingConfig"in a&&"function"==typeof a.copyWithTracingConfig&&"getRunTreeWithTracingConfig"in a&&"function"==typeof a.getRunTreeWithTracingConfig}};function d_(a,b){if(a.tracingMetadata){b.extra??={};let c=b.extra.metadata??{},d=!1;for(let[b,e]of Object.entries(a.tracingMetadata))(!Object.prototype.hasOwnProperty.call(c,b)||dZ.has(b))&&c[b]!==e&&(c[b]=e,d=!0);d&&(b.extra.metadata=c)}a.tracingTags.length>0&&(b.tags=Array.from(new Set([...b.tags??[],...a.tracingTags])))}async function d0(a,b){if(!0===b){let b=bk();void 0!==b?await b.run(void 0,async()=>a()):await a()}else void 0===g&&(g=new("default"in cS.default?cS.default.default:cS.default)({autoStart:!0,concurrency:1})),g.add(async()=>{let b=bk();void 0!==b?await b.run(void 0,async()=>a()):await a()})}function d1(a){let b=bk();if(void 0!==b)return b.getStore()?.[bj]?.[a]}let d2=Symbol("lc:configure_hooks");var d3=class{setHandler(a){return this.setHandlers([a])}},d4=class{constructor(a,b,c,d,e,f,g,h){this.runId=a,this.handlers=b,this.inheritableHandlers=c,this.tags=d,this.inheritableTags=e,this.metadata=f,this.inheritableMetadata=g,this._parentRunId=h}get parentRunId(){return this._parentRunId}async handleText(a){await Promise.all(this.handlers.map(b=>d0(async()=>{try{await b.handleText?.(a,this.runId,this._parentRunId,this.tags)}catch(a){if((b.raiseError?console.error:console.warn)(`Error in handler ${b.constructor.name}, handleText: ${a}`),b.raiseError)throw a}},b.awaitHandlers)))}async handleCustomEvent(a,b,c,d,e){await Promise.all(this.handlers.map(c=>d0(async()=>{try{await c.handleCustomEvent?.(a,b,this.runId,this.tags,this.metadata)}catch(a){if((c.raiseError?console.error:console.warn)(`Error in handler ${c.constructor.name}, handleCustomEvent: ${a}`),c.raiseError)throw a}},c.awaitHandlers)))}},d5=class extends d4{getChild(a){let b=new d9(this.runId);return b.setHandlers(this.inheritableHandlers),b.addTags(this.inheritableTags),b.addMetadata(this.inheritableMetadata),a&&b.addTags([a],!1),b}async handleRetrieverEnd(a){await Promise.all(this.handlers.map(b=>d0(async()=>{if(!b.ignoreRetriever)try{await b.handleRetrieverEnd?.(a,this.runId,this._parentRunId,this.tags)}catch(a){if((b.raiseError?console.error:console.warn)(`Error in handler ${b.constructor.name}, handleRetriever`),b.raiseError)throw a}},b.awaitHandlers)))}async handleRetrieverError(a){await Promise.all(this.handlers.map(b=>d0(async()=>{if(!b.ignoreRetriever)try{await b.handleRetrieverError?.(a,this.runId,this._parentRunId,this.tags)}catch(c){if((b.raiseError?console.error:console.warn)(`Error in handler ${b.constructor.name}, handleRetrieverError: ${c}`),b.raiseError)throw a}},b.awaitHandlers)))}},d6=class extends d4{async handleLLMNewToken(a,b,c,d,e,f){await Promise.all(this.handlers.map(c=>d0(async()=>{if(!c.ignoreLLM)try{await c.handleLLMNewToken?.(a,b??{prompt:0,completion:0},this.runId,this._parentRunId,this.tags,f)}catch(a){if((c.raiseError?console.error:console.warn)(`Error in handler ${c.constructor.name}, handleLLMNewToken: ${a}`),c.raiseError)throw a}},c.awaitHandlers)))}async handleChatModelStreamEvent(a){await Promise.all(this.handlers.map(b=>d0(async()=>{if(!b.ignoreLLM)try{await b.handleChatModelStreamEvent?.(a,this.runId,this._parentRunId,this.tags)}catch(a){if((b.raiseError?console.error:console.warn)(`Error in handler ${b.constructor.name}, handleChatModelStreamEvent: ${a}`),b.raiseError)throw a}},b.awaitHandlers)))}async handleLLMError(a,b,c,d,e){await Promise.all(this.handlers.map(b=>d0(async()=>{if(!b.ignoreLLM)try{await b.handleLLMError?.(a,this.runId,this._parentRunId,this.tags,e)}catch(a){if((b.raiseError?console.error:console.warn)(`Error in handler ${b.constructor.name}, handleLLMError: ${a}`),b.raiseError)throw a}},b.awaitHandlers)))}async handleLLMEnd(a,b,c,d,e){await Promise.all(this.handlers.map(b=>d0(async()=>{if(!b.ignoreLLM)try{await b.handleLLMEnd?.(a,this.runId,this._parentRunId,this.tags,e)}catch(a){if((b.raiseError?console.error:console.warn)(`Error in handler ${b.constructor.name}, handleLLMEnd: ${a}`),b.raiseError)throw a}},b.awaitHandlers)))}},d7=class extends d4{getChild(a){let b=new d9(this.runId);return b.setHandlers(this.inheritableHandlers),b.addTags(this.inheritableTags),b.addMetadata(this.inheritableMetadata),a&&b.addTags([a],!1),b}async handleChainError(a,b,c,d,e){await Promise.all(this.handlers.map(b=>d0(async()=>{if(!b.ignoreChain)try{await b.handleChainError?.(a,this.runId,this._parentRunId,this.tags,e)}catch(a){if((b.raiseError?console.error:console.warn)(`Error in handler ${b.constructor.name}, handleChainError: ${a}`),b.raiseError)throw a}},b.awaitHandlers)))}async handleChainEnd(a,b,c,d,e){await Promise.all(this.handlers.map(b=>d0(async()=>{if(!b.ignoreChain)try{await b.handleChainEnd?.(a,this.runId,this._parentRunId,this.tags,e)}catch(a){if((b.raiseError?console.error:console.warn)(`Error in handler ${b.constructor.name}, handleChainEnd: ${a}`),b.raiseError)throw a}},b.awaitHandlers)))}async handleAgentAction(a){await Promise.all(this.handlers.map(b=>d0(async()=>{if(!b.ignoreAgent)try{await b.handleAgentAction?.(a,this.runId,this._parentRunId,this.tags)}catch(a){if((b.raiseError?console.error:console.warn)(`Error in handler ${b.constructor.name}, handleAgentAction: ${a}`),b.raiseError)throw a}},b.awaitHandlers)))}async handleAgentEnd(a){await Promise.all(this.handlers.map(b=>d0(async()=>{if(!b.ignoreAgent)try{await b.handleAgentEnd?.(a,this.runId,this._parentRunId,this.tags)}catch(a){if((b.raiseError?console.error:console.warn)(`Error in handler ${b.constructor.name}, handleAgentEnd: ${a}`),b.raiseError)throw a}},b.awaitHandlers)))}},d8=class extends d4{getChild(a){let b=new d9(this.runId);return b.setHandlers(this.inheritableHandlers),b.addTags(this.inheritableTags),b.addMetadata(this.inheritableMetadata),a&&b.addTags([a],!1),b}async handleToolError(a){await Promise.all(this.handlers.map(b=>d0(async()=>{if(!b.ignoreAgent)try{await b.handleToolError?.(a,this.runId,this._parentRunId,this.tags)}catch(a){if((b.raiseError?console.error:console.warn)(`Error in handler ${b.constructor.name}, handleToolError: ${a}`),b.raiseError)throw a}},b.awaitHandlers)))}async handleToolEvent(a){await Promise.all(this.handlers.map(b=>d0(async()=>{if(!b.ignoreAgent)try{await b.handleToolEvent?.(a,this.runId,this._parentRunId,this.tags)}catch(a){if(b.raiseError)throw a}},b.awaitHandlers)))}async handleToolEnd(a){await Promise.all(this.handlers.map(b=>d0(async()=>{if(!b.ignoreAgent)try{await b.handleToolEnd?.(a,this.runId,this._parentRunId,this.tags)}catch(a){if((b.raiseError?console.error:console.warn)(`Error in handler ${b.constructor.name}, handleToolEnd: ${a}`),b.raiseError)throw a}},b.awaitHandlers)))}},d9=class a extends d3{handlers=[];inheritableHandlers=[];tags=[];inheritableTags=[];metadata={};inheritableMetadata={};name="callback_manager";_parentRunId;constructor(a,b){super(),this.handlers=b?.handlers??this.handlers,this.inheritableHandlers=b?.inheritableHandlers??this.inheritableHandlers,this.tags=b?.tags??this.tags,this.inheritableTags=b?.inheritableTags??this.inheritableTags,this.metadata=b?.metadata??this.metadata,this.inheritableMetadata=b?.inheritableMetadata??this.inheritableMetadata,this._parentRunId=a}getParentRunId(){return this._parentRunId}async handleLLMStart(a,b,c,d,e,f,g,h){return Promise.all(b.map(async(b,d)=>{let f=0===d&&c?c:bh();return await Promise.all(this.handlers.map(c=>{if(!c.ignoreLLM)return dM(c)&&c._createRunForLLMStart(a,[b],f,this._parentRunId,e,this.tags,this.metadata,h),d0(async()=>{try{await c.handleLLMStart?.(a,[b],f,this._parentRunId,e,this.tags,this.metadata,h)}catch(a){if((c.raiseError?console.error:console.warn)(`Error in handler ${c.constructor.name}, handleLLMStart: ${a}`),c.raiseError)throw a}},c.awaitHandlers)})),new d6(f,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}))}async handleChatModelStart(a,b,c,d,e,f,g,h){return Promise.all(b.map(async(b,d)=>{let f=0===d&&c?c:bh();return await Promise.all(this.handlers.map(c=>{if(!c.ignoreLLM)return dM(c)&&c._createRunForChatModelStart(a,[b],f,this._parentRunId,e,this.tags,this.metadata,h),d0(async()=>{try{if(c.handleChatModelStart)await c.handleChatModelStart?.(a,[b],f,this._parentRunId,e,this.tags,this.metadata,h);else if(c.handleLLMStart){let d=aW(b);await c.handleLLMStart?.(a,[d],f,this._parentRunId,e,this.tags,this.metadata,h)}}catch(a){if((c.raiseError?console.error:console.warn)(`Error in handler ${c.constructor.name}, handleLLMStart: ${a}`),c.raiseError)throw a}},c.awaitHandlers)})),new d6(f,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}))}async handleChainStart(a,b,c=bh(),d,e,f,g,h,i){return await Promise.all(this.handlers.map(e=>{if(!e.ignoreChain)return dM(e)&&e._createRunForChainStart(a,b,c,this._parentRunId,this.tags,this.metadata,d,g,i),d0(async()=>{try{await e.handleChainStart?.(a,b,c,this._parentRunId,this.tags,this.metadata,d,g,i)}catch(a){if((e.raiseError?console.error:console.warn)(`Error in handler ${e.constructor.name}, handleChainStart: ${a}`),e.raiseError)throw a}},e.awaitHandlers)})),new d7(c,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}async handleToolStart(a,b,c=bh(),d,e,f,g,h){return await Promise.all(this.handlers.map(d=>{if(!d.ignoreAgent)return dM(d)&&d._createRunForToolStart(a,b,c,this._parentRunId,this.tags,this.metadata,g),d0(async()=>{try{await d.handleToolStart?.(a,b,c,this._parentRunId,this.tags,this.metadata,g,h)}catch(a){if((d.raiseError?console.error:console.warn)(`Error in handler ${d.constructor.name}, handleToolStart: ${a}`),d.raiseError)throw a}},d.awaitHandlers)})),new d8(c,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}async handleRetrieverStart(a,b,c=bh(),d,e,f,g){return await Promise.all(this.handlers.map(d=>{if(!d.ignoreRetriever)return dM(d)&&d._createRunForRetrieverStart(a,b,c,this._parentRunId,this.tags,this.metadata,g),d0(async()=>{try{await d.handleRetrieverStart?.(a,b,c,this._parentRunId,this.tags,this.metadata,g)}catch(a){if((d.raiseError?console.error:console.warn)(`Error in handler ${d.constructor.name}, handleRetrieverStart: ${a}`),d.raiseError)throw a}},d.awaitHandlers)})),new d5(c,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}async handleCustomEvent(a,b,c,d,e){await Promise.all(this.handlers.map(d=>d0(async()=>{if(!d.ignoreCustomEvent)try{await d.handleCustomEvent?.(a,b,c,this.tags,this.metadata)}catch(a){if((d.raiseError?console.error:console.warn)(`Error in handler ${d.constructor.name}, handleCustomEvent: ${a}`),d.raiseError)throw a}},d.awaitHandlers)))}addHandler(a,b=!0){this.handlers.push(a),b&&this.inheritableHandlers.push(a)}removeHandler(a){this.handlers=this.handlers.filter(b=>b!==a),this.inheritableHandlers=this.inheritableHandlers.filter(b=>b!==a)}setHandlers(a,b=!0){for(let c of(this.handlers=[],this.inheritableHandlers=[],a))this.addHandler(c,b)}addTags(a,b=!0){this.removeTags(a),this.tags.push(...a),b&&this.inheritableTags.push(...a)}removeTags(a){this.tags=this.tags.filter(b=>!a.includes(b)),this.inheritableTags=this.inheritableTags.filter(b=>!a.includes(b))}addMetadata(a,b=!0){this.metadata={...this.metadata,...a},b&&(this.inheritableMetadata={...this.inheritableMetadata,...a})}removeMetadata(a){for(let b of Object.keys(a))delete this.metadata[b],delete this.inheritableMetadata[b]}copy(b=[],c=!0){let d=new a(this._parentRunId);for(let a of this.handlers){let b=this.inheritableHandlers.includes(a);d.addHandler(a,b)}for(let a of this.tags){let b=this.inheritableTags.includes(a);d.addTags([a],b)}for(let a of Object.keys(this.metadata)){let b=Object.keys(this.inheritableMetadata).includes(a);d.addMetadata({[a]:this.metadata[a]},b)}for(let a of b)d.handlers.filter(a=>"console_callback_handler"===a.name).some(b=>b.name===a.name)||d.addHandler(a,c);return d}static fromHandlers(a){class b extends bn{name=bh();constructor(){super(),Object.assign(this,a)}}let c=new this;return c.addHandler(new b),c}static configure(a,b,c,d,e,f,g){return this._configureSync(a,b,c,d,e,f,g)}static _configureSync(b,c,d,e,f,g,h){var i;let j;(b||c)&&(Array.isArray(b)||!b?(j=new a).setHandlers(b?.map(ea)??[],!0):j=b,j=j.copy(Array.isArray(c)?c.map(ea):c?.handlers,!1));let k="true"===bl("LANGCHAIN_VERBOSE")||h?.verbose,l=d$.getTraceableRunTree(),m=l?.tracingEnabled??(void 0!==i?i:!!["LANGSMITH_TRACING_V2","LANGCHAIN_TRACING_V2","LANGSMITH_TRACING","LANGCHAIN_TRACING"].find(a=>"true"===bl(a)));if(l?.tracingEnabled===!1&&j)for(let a of j.handlers.filter(a=>"langchain_tracer"===a.name))j.removeHandler(a);let n=m||(bl("LANGCHAIN_TRACING")??!1);if(k||n){if(j||(j=new a),k&&!j.handlers.some(a=>a.name===dU.prototype.name)){let a=new dU;j.addHandler(a,!0)}if(n&&!j.handlers.some(a=>"langchain_tracer"===a.name)&&m){let a=new d$;j.addHandler(a,!0)}m&&l&&void 0===j._parentRunId&&(j._parentRunId=l.id,j.handlers.find(a=>"langchain_tracer"===a.name)?.updateFromRunTree(l))}for(let{contextVar:b,inheritable:c=!0,handlerClass:d,envVar:e}of d1(d2)||[]){let f,g=e&&"true"===bl(e)&&d,h=void 0!==b?d1(b):void 0;h&&bo(h)?f=h:g&&(f=new d({})),void 0!==f&&(j||(j=new a),j.handlers.some(a=>a.name===f.name)||j.addHandler(f,c))}(d||e)&&j&&(j.addTags(d??[]),j.addTags(e??[],!1)),(f||g)&&j&&(j.addMetadata(f??{}),j.addMetadata(g??{},!1));let o=h?.tracerInheritableMetadata,p=h?.tracerInheritableTags;return j&&(o||p)&&(j.handlers=j.handlers.map(a=>a instanceof d$?a.copyWithTracingConfig({metadata:o,tags:p}):a),j.inheritableHandlers=j.inheritableHandlers.map(a=>a instanceof d$?a.copyWithTracingConfig({metadata:o,tags:p}):a)),j}};function ea(a){return"name"in a?a:bn.fromMethods(a)}let eb=new class{getStore(){}run(a,b){return b()}enterWith(a){}},ec=Symbol.for("lc:child_config"),ed=new class{getInstance(){return bk()??eb}getRunnableConfig(){return this.getInstance().getStore()?.extra?.[ec]}runWithConfig(a,b,c){let d,e=d9._configureSync(a?.callbacks,void 0,a?.tags,void 0,a?.metadata),f=this.getInstance(),g=f.getStore(),h=e?.getParentRunId(),i=e?.handlers?.find(a=>a?.name==="langchain_tracer");return i&&h?d=i.getRunTreeWithTracingConfig(h):c||(d=new dI({name:"<runnable_lambda>",tracingEnabled:!1})),d&&(d.extra={...d.extra,[ec]:a}),void 0!==g&&void 0!==g[bj]&&(void 0===d&&(d={}),d[bj]=g[bj]),f.run(d,b)}initializeGlobalInstance(a){void 0===bk()&&(globalThis[bi]=a)}},ee=new Set(["api_key"]),ef=new Set(["string","number","boolean"]);async function eg(a){return d9._configureSync(a?.callbacks,void 0,a?.tags,void 0,a?.metadata,void 0,{tracerInheritableMetadata:a?function(a){let b=a.configurable??{},c=a.metadata??{},d={};for(let[a,e]of Object.entries(b))!a.startsWith("__")&&!Object.prototype.hasOwnProperty.call(c,a)&&!ee.has(a)&&ef.has(typeof e)&&(d[a]=e);return Object.keys(d).length>0?d:void 0}(a):void 0})}function eh(...a){let b={};for(let c of a.filter(a=>!!a))for(let a of Object.keys(c))if("metadata"===a)b[a]={...b[a],...c[a]};else if("tags"===a){let d=b[a]??[];b[a]=[...new Set(d.concat(c[a]??[]))]}else if("configurable"===a)b[a]={...b[a],...c[a]};else if("timeout"===a)void 0===b.timeout?b.timeout=c.timeout:void 0!==c.timeout&&(b.timeout=Math.min(b.timeout,c.timeout));else if("signal"===a)void 0===b.signal?b.signal=c.signal:void 0!==c.signal&&("any"in AbortSignal?b.signal=AbortSignal.any([b.signal,c.signal]):b.signal=c.signal);else if("callbacks"===a){let a=b.callbacks,d=c.callbacks;if(Array.isArray(d))if(a)if(Array.isArray(a))b.callbacks=a.concat(d);else{let c=a.copy();for(let a of d)c.addHandler(ea(a),!0);b.callbacks=c}else b.callbacks=d;else if(d)if(a)if(Array.isArray(a)){let c=d.copy();for(let b of a)c.addHandler(ea(b),!0);b.callbacks=c}else b.callbacks=new d9(d._parentRunId,{handlers:a.handlers.concat(d.handlers),inheritableHandlers:a.inheritableHandlers.concat(d.inheritableHandlers),tags:Array.from(new Set(a.tags.concat(d.tags))),inheritableTags:Array.from(new Set(a.inheritableTags.concat(d.inheritableTags))),metadata:{...a.metadata,...d.metadata}});else b.callbacks=d}else b[a]=c[a]??b[a];return b}function ei(a){let b=ed.getRunnableConfig(),c={tags:[],metadata:{},recursionLimit:25,runId:void 0};if(b){let{runId:a,runName:d,...e}=b;c=Object.entries(e).reduce((a,[b,c])=>(void 0!==c&&(a[b]=c),a),c)}if(a&&(c=Object.entries(a).reduce((a,[b,c])=>(void 0!==c&&(a[b]=c),a),c)),c?.configurable&&"string"==typeof c.configurable.model&&c.metadata?.model===void 0&&(c.metadata||(c.metadata={}),c.metadata.model=c.configurable.model),void 0!==c.timeout){if(c.timeout<=0)throw Error("Timeout must be a positive number");let a=c.timeout,b=AbortSignal.timeout(a);c.metadata||(c.metadata={}),void 0===c.metadata.timeoutMs&&(c.metadata.timeoutMs=a),void 0!==c.signal?"any"in AbortSignal&&(c.signal=AbortSignal.any([c.signal,b])):c.signal=b,delete c.timeout}return c}function ej(a={},{callbacks:b,maxConcurrency:c,recursionLimit:d,runName:e,configurable:f,runId:g}={}){let h=ei(a);return void 0!==b&&(delete h.runName,h.callbacks=b),void 0!==d&&(h.recursionLimit=d),void 0!==c&&(h.maxConcurrency=c),void 0!==e&&(h.runName=e),void 0!==f&&(h.configurable={...h.configurable,...f}),void 0!==g&&delete h.runId,h}function ek(a){if(a)return{configurable:a.configurable,recursionLimit:a.recursionLimit,callbacks:a.callbacks,tags:a.tags,metadata:a.metadata,maxConcurrency:a.maxConcurrency,timeout:a.timeout,signal:a.signal,store:a.store}}async function el(a,b){let c;return void 0===b?a:Promise.race([a.catch(a=>{if(!b?.aborted)throw a}),new Promise((a,d)=>{c=()=>{d(em(b))},b.addEventListener("abort",c,{once:!0}),b.aborted&&d(em(b))})]).finally(()=>b.removeEventListener("abort",c))}function em(a){return a?.reason instanceof Error?a.reason:"string"==typeof a?.reason?Error(a.reason):Error("Aborted")}var en=class a extends ReadableStream{reader;ensureReader(){this.reader||(this.reader=this.getReader())}async next(){this.ensureReader();try{let a=await this.reader.read();if(a.done)return this.reader.releaseLock(),{done:!0,value:void 0};return{done:!1,value:a.value}}catch(a){throw this.reader.releaseLock(),a}}async return(){if(this.ensureReader(),this.locked){let a=this.reader.cancel();this.reader.releaseLock(),await a}return{done:!0,value:void 0}}async throw(a){if(this.ensureReader(),this.locked){let a=this.reader.cancel();this.reader.releaseLock(),await a}throw a}[Symbol.asyncIterator](){return this}async [Symbol.asyncDispose](){await this.return()}static fromReadableStream(b){let c=b.getReader();return new a({start:a=>(function b(){return c.read().then(({done:c,value:d})=>c?void a.close():(a.enqueue(d),b()))})(),cancel(){c.releaseLock()}})}static fromAsyncGenerator(b){return new a({async pull(a){let{value:c,done:d}=await b.next();d&&a.close(),a.enqueue(c)},async cancel(a){await b.return(a)}})}};function eo(a,b=2){let c=Array.from({length:b},()=>[]);return c.map(async function*(b){for(;;)if(0===b.length){let b=await a.next();for(let a of c)a.push(b)}else{if(b[0].done)return;yield b.shift().value}})}var ep=class{generator;setup;config;signal;firstResult;firstResultUsed=!1;constructor(a){this.generator=a.generator,this.config=a.config,this.signal=a.signal??this.config?.signal,this.setup=new Promise((b,c)=>{ed.runWithConfig(ek(a.config),async()=>{this.firstResult=this.signal?el(a.generator.next(),this.signal):a.generator.next(),a.startSetup?this.firstResult.then(a.startSetup).then(b,c):this.firstResult.then(a=>b(void 0),c)},!0)})}async next(...a){return(this.signal?.throwIfAborted(),this.firstResultUsed)?ed.runWithConfig(ek(this.config),this.signal?async()=>el(this.generator.next(...a),this.signal):async()=>this.generator.next(...a),!0):(this.firstResultUsed=!0,this.firstResult)}async return(a){return this.generator.return(a)}async throw(a){return this.generator.throw(a)}[Symbol.asyncIterator](){return this}async [Symbol.asyncDispose](){await this.return()}};async function eq(a,b,c,d,...e){let f=new ep({generator:b,startSetup:c,signal:d}),g=await f.setup;return{output:a(f,g,...e),setup:g}}let er=Object.prototype.hasOwnProperty;function es(a){switch(typeof a){case"object":return JSON.parse(JSON.stringify(a));case"undefined":return null;default:return a}}function et(a){let b,c=0,d=a.length;for(;c<d;){if((b=a.charCodeAt(c))>=48&&b<=57){c++;continue}return!1}return!0}function eu(a,b){let c=[a];for(let a in b){let d="object"==typeof b[a]?JSON.stringify(b[a],null,2):b[a];void 0!==d&&c.push(`${a}: ${d}`)}return c.join("\n")}var ev=class extends Error{constructor(a,b,c,d,e){super(eu(a,{name:b,index:c,operation:d,tree:e})),this.name=b,this.index=c,this.operation=d,this.tree=e,Object.setPrototypeOf(this,new.target.prototype),this.message=eu(a,{name:b,index:c,operation:d,tree:e})}};let ew={add:function(a,b,c){if("__proto__"===b||"constructor"===b)throw TypeError("JSON-Patch: modifying `__proto__` or `constructor` prop is banned for security reasons");return a[b]=this.value,{newDocument:c}},remove:function(a,b,c){if("__proto__"===b||"constructor"===b)throw TypeError("JSON-Patch: modifying `__proto__` or `constructor` prop is banned for security reasons");var d=a[b];return delete a[b],{newDocument:c,removed:d}},replace:function(a,b,c){if("__proto__"===b||"constructor"===b)throw TypeError("JSON-Patch: modifying `__proto__` or `constructor` prop is banned for security reasons");var d=a[b];return a[b]=this.value,{newDocument:c,removed:d}},move:function(a,b,c){let d=ey(c,this.path);d&&(d=es(d));let e=ez(c,{op:"remove",path:this.from}).removed;return ez(c,{op:"add",path:this.path,value:e}),{newDocument:c,removed:d}},copy:function(a,b,c){let d=ey(c,this.from);return ez(c,{op:"add",path:this.path,value:es(d)}),{newDocument:c}},test:function(a,b,c){return{newDocument:c,test:eC(a[b],this.value)}},_get:function(a,b,c){return this.value=a[b],{newDocument:c}}};var ex={add:function(a,b,c){return et(b)?a.splice(b,0,this.value):a[b]=this.value,{newDocument:c,index:b}},remove:function(a,b,c){return{newDocument:c,removed:a.splice(b,1)[0]}},replace:function(a,b,c){var d=a[b];return a[b]=this.value,{newDocument:c,removed:d}},move:ew.move,copy:ew.copy,test:ew.test,_get:ew._get};function ey(a,b){if(""==b)return a;var c={op:"_get",path:b};return ez(a,c),c.value}function ez(a,b,c=!1,d=!0,e=!0,f=0){if(c&&("function"==typeof c?c(b,0,a,b.path):eB(b,0)),""===b.path){let d={newDocument:a};if("add"===b.op)return d.newDocument=b.value,d;if("replace"===b.op)return d.newDocument=b.value,d.removed=a,d;if("move"===b.op||"copy"===b.op)return d.newDocument=ey(a,b.from),"move"===b.op&&(d.removed=a),d;else if("test"===b.op){if(d.test=eC(a,b.value),!1===d.test)throw new ev("Test operation failed","TEST_OPERATION_FAILED",f,b,a);return d.newDocument=a,d}else if("remove"===b.op)return d.removed=a,d.newDocument=null,d;else if("_get"===b.op)return b.value=a,d;else if(!c)return d;else throw new ev("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",f,b,a)}{let g,h,i;d||(a=es(a));let j=(b.path||"").split("/"),k=a,l=1,m=j.length;for(h="function"==typeof c?c:eB;;){if((g=j[l])&&-1!=g.indexOf("~")&&(g=g.replace(/~1/g,"/").replace(/~0/g,"~")),e&&("__proto__"==g||"prototype"==g&&l>0&&"constructor"==j[l-1]))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(c&&void 0===i&&(void 0===k[g]?i=j.slice(0,l).join("/"):l==m-1&&(i=b.path),void 0!==i&&h(b,0,a,i)),l++,Array.isArray(k)){if("-"===g)g=k.length;else if(c&&!et(g))throw new ev("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",f,b,a);else et(g)&&(g=~~g);if(l>=m){if(c&&"add"===b.op&&g>k.length)throw new ev("The specified index MUST NOT be greater than the number of elements in the array","OPERATION_VALUE_OUT_OF_BOUNDS",f,b,a);let d=ex[b.op].call(b,k,g,a);if(!1===d.test)throw new ev("Test operation failed","TEST_OPERATION_FAILED",f,b,a);return d}}else if(l>=m){let c=ew[b.op].call(b,k,g,a);if(!1===c.test)throw new ev("Test operation failed","TEST_OPERATION_FAILED",f,b,a);return c}if(k=k[g],c&&l<m&&(!k||"object"!=typeof k))throw new ev("Cannot perform operation at the desired path","OPERATION_PATH_UNRESOLVABLE",f,b,a)}}}function eA(a,b,c,d=!0,e=!0){if(c&&!Array.isArray(b))throw new ev("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");d||(a=es(a));let f=Array(b.length);for(let d=0,g=b.length;d<g;d++)f[d]=ez(a,b[d],c,!0,e,d),a=f[d].newDocument;return f.newDocument=a,f}function eB(a,b,c,d){if("object"!=typeof a||null===a||Array.isArray(a))throw new ev("Operation is not an object","OPERATION_NOT_AN_OBJECT",b,a,c);if(ew[a.op]){if("string"!=typeof a.path)throw new ev("Operation `path` property is not a string","OPERATION_PATH_INVALID",b,a,c);else if(0!==a.path.indexOf("/")&&a.path.length>0)throw new ev('Operation `path` property must start with "/"',"OPERATION_PATH_INVALID",b,a,c);else if(("move"===a.op||"copy"===a.op)&&"string"!=typeof a.from)throw new ev("Operation `from` property is not present (applicable in `move` and `copy` operations)","OPERATION_FROM_REQUIRED",b,a,c);else if(("add"===a.op||"replace"===a.op||"test"===a.op)&&void 0===a.value)throw new ev("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_REQUIRED",b,a,c);else if(("add"===a.op||"replace"===a.op||"test"===a.op)&&function a(b){if(void 0===b)return!0;if(b){if(Array.isArray(b)){for(let c=0,d=b.length;c<d;c++)if(a(b[c]))return!0}else if("object"==typeof b){let d=function(a){if(Array.isArray(a)){let b=Array(a.length);for(let a=0;a<b.length;a++)b[a]=""+a;return b}if(Object.keys)return Object.keys(a);let b=[];for(let c in a)er.call(a,c)&&b.push(c);return b}(b),e=d.length;for(var c=0;c<e;c++)if(a(b[d[c]]))return!0}}return!1}(a.value))throw new ev("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED",b,a,c);else if(c){if("add"==a.op){var e=a.path.split("/").length,f=d.split("/").length;if(e!==f+1&&e!==f)throw new ev("Cannot perform an `add` operation at the desired path","OPERATION_PATH_CANNOT_ADD",b,a,c)}else if("replace"===a.op||"remove"===a.op||"_get"===a.op){if(a.path!==d)throw new ev("Cannot perform the operation at a path that does not exist","OPERATION_PATH_UNRESOLVABLE",b,a,c)}else if("move"===a.op||"copy"===a.op){var g=function(a,b,c){try{if(!Array.isArray(a))throw new ev("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");if(b)eA(es(b),es(a),c||!0);else{c=c||eB;for(var d=0;d<a.length;d++)c(a[d],d,b,void 0)}}catch(a){if(a instanceof ev)return a;throw a}}([{op:"_get",path:a.from,value:void 0}],c);if(g&&"OPERATION_PATH_UNRESOLVABLE"===g.name)throw new ev("Cannot perform the operation from a path that does not exist","OPERATION_FROM_UNRESOLVABLE",b,a,c)}}}else throw new ev("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",b,a,c)}function eC(a,b){if(a===b)return!0;if(a&&b&&"object"==typeof a&&"object"==typeof b){var c,d,e,f=Array.isArray(a),g=Array.isArray(b);if(f&&g){if((d=a.length)!=b.length)return!1;for(c=d;0!=c--;)if(!eC(a[c],b[c]))return!1;return!0}if(f!=g)return!1;var h=Object.keys(a);if((d=h.length)!==Object.keys(b).length)return!1;for(c=d;0!=c--;)if(!b.hasOwnProperty(h[c]))return!1;for(c=d;0!=c--;)if(!eC(a[e=h[c]],b[e]))return!1;return!0}return a!=a&&b!=b}var eD=class{ops;constructor(a){this.ops=a.ops??[]}concat(a){let b=this.ops.concat(a.ops),c=eA({},b);return new eE({ops:b,state:c[c.length-1].newDocument})}},eE=class a extends eD{state;constructor(a){super(a),this.state=a.state}concat(b){let c=this.ops.concat(b.ops),d=eA(this.state,b.ops);return new a({ops:c,state:d[d.length-1].newDocument})}static fromRunLogPatch(b){let c=eA({},b.ops);return new a({ops:b.ops,state:c[c.length-1].newDocument})}};let eF=a=>"log_stream_tracer"===a.name;async function eG(a,b){if("original"===b)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:c}=a;return["retriever","llm","prompt"].includes(a.run_type)?c:1!==Object.keys(c).length||c?.input!==""?c.input:void 0}async function eH(a,b){let{outputs:c}=a;return"original"===b||["retriever","llm","prompt"].includes(a.run_type)?c:void 0!==c&&1===Object.keys(c).length&&c?.output!==void 0?c.output:c}var eI=class extends dN{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(a){super({_awaitHandler:!0,...a}),this.autoClose=a?.autoClose??!0,this.includeNames=a?.includeNames,this.includeTypes=a?.includeTypes,this.includeTags=a?.includeTags,this.excludeNames=a?.excludeNames,this.excludeTypes=a?.excludeTypes,this.excludeTags=a?.excludeTags,this._schemaFormat=a?._schemaFormat??this._schemaFormat,this.transformStream=new TransformStream,this.writer=this.transformStream.writable.getWriter(),this.receiveStream=en.fromReadableStream(this.transformStream.readable)}[Symbol.asyncIterator](){return this.receiveStream}async persistRun(a){}_includeRun(a){if(a.id===this.rootId)return!1;let b=a.tags??[],c=void 0===this.includeNames&&void 0===this.includeTags&&void 0===this.includeTypes;return void 0!==this.includeNames&&(c=c||this.includeNames.includes(a.name)),void 0!==this.includeTypes&&(c=c||this.includeTypes.includes(a.run_type)),void 0!==this.includeTags&&(c=c||void 0!==b.find(a=>this.includeTags?.includes(a))),void 0!==this.excludeNames&&(c=c&&!this.excludeNames.includes(a.name)),void 0!==this.excludeTypes&&(c=c&&!this.excludeTypes.includes(a.run_type)),void 0!==this.excludeTags&&(c=c&&b.every(a=>!this.excludeTags?.includes(a))),c}async *tapOutputIterable(a,b){for await(let c of b){if(a!==this.rootId){let b=this.keyMapByRunId[a];b&&await this.writer.write(new eD({ops:[{op:"add",path:`/logs/${b}/streamed_output/-`,value:c}]}))}yield c}}async onRunCreate(a){if(void 0===this.rootId&&(this.rootId=a.id,await this.writer.write(new eD({ops:[{op:"replace",path:"",value:{id:a.id,name:a.name,type:a.run_type,streamed_output:[],final_output:void 0,logs:{}}}]}))),!this._includeRun(a))return;void 0===this.counterMapByRunName[a.name]&&(this.counterMapByRunName[a.name]=0),this.counterMapByRunName[a.name]+=1;let b=this.counterMapByRunName[a.name];this.keyMapByRunId[a.id]=1===b?a.name:`${a.name}:${b}`;let c={id:a.id,name:a.name,type:a.run_type,tags:a.tags??[],metadata:a.extra?.metadata??{},start_time:new Date(a.start_time).toISOString(),streamed_output:[],streamed_output_str:[],final_output:void 0,end_time:void 0};"streaming_events"===this._schemaFormat&&(c.inputs=await eG(a,this._schemaFormat)),await this.writer.write(new eD({ops:[{op:"add",path:`/logs/${this.keyMapByRunId[a.id]}`,value:c}]}))}async onRunUpdate(a){try{let b=this.keyMapByRunId[a.id];if(void 0===b)return;let c=[];"streaming_events"===this._schemaFormat&&c.push({op:"replace",path:`/logs/${b}/inputs`,value:await eG(a,this._schemaFormat)}),c.push({op:"add",path:`/logs/${b}/final_output`,value:await eH(a,this._schemaFormat)}),void 0!==a.end_time&&c.push({op:"add",path:`/logs/${b}/end_time`,value:new Date(a.end_time).toISOString()});let d=new eD({ops:c});await this.writer.write(d)}finally{if(a.id===this.rootId){let b=new eD({ops:[{op:"replace",path:"/final_output",value:await eH(a,this._schemaFormat)}]});await this.writer.write(b),this.autoClose&&await this.writer.close()}}}async onLLMNewToken(a,b,c){let d,e=this.keyMapByRunId[a.id];if(void 0===e)return;if(void 0!==a.inputs.messages){var f;d=void 0!==(f=c?.chunk)&&void 0!==f.message?c?.chunk:new a3({id:`run-${a.id}`,content:b})}else d=b;let g=new eD({ops:[{op:"add",path:`/logs/${e}/streamed_output_str/-`,value:b},{op:"add",path:`/logs/${e}/streamed_output/-`,value:d}]});await this.writer.write(g)}},eJ=class a{text;generationInfo;constructor(a){this.text=a.text,this.generationInfo=a.generationInfo}concat(b){return new a({text:this.text+b.text,generationInfo:{...this.generationInfo,...b.generationInfo}})}};function eK({name:a,serialized:b}){return void 0!==a?a:b?.name!==void 0?b.name:b?.id!==void 0&&Array.isArray(b?.id)?b.id[b.id.length-1]:"Unnamed"}let eL=a=>"event_stream_tracer"===a.name;var eM=class extends dN{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(a){super({_awaitHandler:!0,...a}),this.autoClose=a?.autoClose??!0,this.includeNames=a?.includeNames,this.includeTypes=a?.includeTypes,this.includeTags=a?.includeTags,this.excludeNames=a?.excludeNames,this.excludeTypes=a?.excludeTypes,this.excludeTags=a?.excludeTags,this.transformStream=new TransformStream({flush:()=>{this.readableStreamClosed=!0}}),this.writer=this.transformStream.writable.getWriter(),this.receiveStream=en.fromReadableStream(this.transformStream.readable)}[Symbol.asyncIterator](){return this.receiveStream}async persistRun(a){}_includeRun(a){let b=a.tags??[],c=void 0===this.includeNames&&void 0===this.includeTags&&void 0===this.includeTypes;return void 0!==this.includeNames&&(c=c||this.includeNames.includes(a.name)),void 0!==this.includeTypes&&(c=c||this.includeTypes.includes(a.runType)),void 0!==this.includeTags&&(c=c||void 0!==b.find(a=>this.includeTags?.includes(a))),void 0!==this.excludeNames&&(c=c&&!this.excludeNames.includes(a.name)),void 0!==this.excludeTypes&&(c=c&&!this.excludeTypes.includes(a.runType)),void 0!==this.excludeTags&&(c=c&&b.every(a=>!this.excludeTags?.includes(a))),c}async *tapOutputIterable(a,b){let c=await b.next();if(c.done)return;let d=this.runInfoMap.get(a);if(void 0===d)return void(yield c.value);function e(a,b){return"llm"===a&&"string"==typeof b?new eJ({text:b}):b}let f=this.tappedPromises.get(a);if(void 0===f){let g;f=new Promise(a=>{g=a}),this.tappedPromises.set(a,f);try{let f={event:`on_${d.runType}_stream`,run_id:a,name:d.name,tags:d.tags,metadata:d.metadata,data:{}};for await(let a of(await this.send({...f,data:{chunk:e(d.runType,c.value)}},d),yield c.value,b))"tool"!==d.runType&&"retriever"!==d.runType&&await this.send({...f,data:{chunk:e(d.runType,a)}},d),yield a}finally{g?.()}}else for await(let a of(yield c.value,b))yield a}async send(a,b){!this.readableStreamClosed&&this._includeRun(b)&&await this.writer.write(a)}async sendEndEvent(a,b){let c=this.tappedPromises.get(a.run_id);void 0!==c?c.then(()=>{this.send(a,b)}):await this.send(a,b)}async onLLMStart(a){let b=eK(a),c=void 0!==a.inputs.messages?"chat_model":"llm",d={tags:a.tags??[],metadata:a.extra?.metadata??{},name:b,runType:c,inputs:a.inputs};this.runInfoMap.set(a.id,d);let e=`on_${c}_start`;await this.send({event:e,data:{input:a.inputs},name:b,tags:a.tags??[],run_id:a.id,metadata:a.extra?.metadata??{}},d)}async onLLMNewToken(a,b,c){let d,e,f=this.runInfoMap.get(a.id);if(void 0===f)throw Error(`onLLMNewToken: Run ID ${a.id} not found in run map.`);if(1!==this.runInfoMap.size){if("chat_model"===f.runType)e="on_chat_model_stream",d=c?.chunk===void 0?new a3({content:b,id:`run-${a.id}`}):c.chunk.message;else if("llm"===f.runType)e="on_llm_stream",d=c?.chunk===void 0?new eJ({text:b}):c.chunk;else throw Error(`Unexpected run type ${f.runType}`);await this.send({event:e,data:{chunk:d},run_id:a.id,name:f.name,tags:f.tags,metadata:f.metadata},f)}}async onLLMEnd(a){let b,c,d=this.runInfoMap.get(a.id);if(this.runInfoMap.delete(a.id),void 0===d)throw Error(`onLLMEnd: Run ID ${a.id} not found in run map.`);let e=a.outputs?.generations;if("chat_model"===d.runType){for(let a of e??[]){if(void 0!==c)break;c=a[0]?.message}b="on_chat_model_end"}else if("llm"===d.runType)c={generations:e?.map(a=>a.map(a=>({text:a.text,generationInfo:a.generationInfo}))),llmOutput:a.outputs?.llmOutput??{}},b="on_llm_end";else throw Error(`onLLMEnd: Unexpected run type: ${d.runType}`);await this.sendEndEvent({event:b,data:{output:c,input:d.inputs},run_id:a.id,name:d.name,tags:d.tags,metadata:d.metadata},d)}async onChainStart(a){let b=eK(a),c=a.run_type??"chain",d={tags:a.tags??[],metadata:a.extra?.metadata??{},name:b,runType:a.run_type},e={};""===a.inputs.input&&1===Object.keys(a.inputs).length?(e={},d.inputs={}):void 0!==a.inputs.input?(e.input=a.inputs.input,d.inputs=a.inputs.input):(e.input=a.inputs,d.inputs=a.inputs),this.runInfoMap.set(a.id,d),await this.send({event:`on_${c}_start`,data:e,name:b,tags:a.tags??[],run_id:a.id,metadata:a.extra?.metadata??{}},d)}async onChainEnd(a){let b=this.runInfoMap.get(a.id);if(this.runInfoMap.delete(a.id),void 0===b)throw Error(`onChainEnd: Run ID ${a.id} not found in run map.`);let c=`on_${a.run_type}_end`,d=a.inputs??b.inputs??{},e={output:a.outputs?.output??a.outputs,input:d};d.input&&1===Object.keys(d).length&&(e.input=d.input,b.inputs=d.input),await this.sendEndEvent({event:c,data:e,run_id:a.id,name:b.name,tags:b.tags,metadata:b.metadata??{}},b)}async onToolStart(a){let b=eK(a),c={tags:a.tags??[],metadata:a.extra?.metadata??{},name:b,runType:"tool",inputs:a.inputs??{}};this.runInfoMap.set(a.id,c),await this.send({event:"on_tool_start",data:{input:a.inputs??{}},name:b,run_id:a.id,tags:a.tags??[],metadata:a.extra?.metadata??{}},c)}async onToolEnd(a){let b=this.runInfoMap.get(a.id);if(this.runInfoMap.delete(a.id),void 0===b)throw Error(`onToolEnd: Run ID ${a.id} not found in run map.`);if(void 0===b.inputs)throw Error(`onToolEnd: Run ID ${a.id} is a tool call, and is expected to have traced inputs.`);let c=a.outputs?.output===void 0?a.outputs:a.outputs.output;await this.sendEndEvent({event:"on_tool_end",data:{output:c,input:b.inputs},run_id:a.id,name:b.name,tags:b.tags,metadata:b.metadata},b)}async onToolError(a){let b=this.runInfoMap.get(a.id);if(this.runInfoMap.delete(a.id),void 0===b)throw Error(`onToolEnd: Run ID ${a.id} not found in run map.`);if(void 0===b.inputs)throw Error(`onToolEnd: Run ID ${a.id} is a tool call, and is expected to have traced inputs.`);await this.sendEndEvent({event:"on_tool_error",data:{input:b.inputs,error:a.error},run_id:a.id,name:b.name,tags:b.tags,metadata:b.metadata},b)}async onRetrieverStart(a){let b=eK(a),c={tags:a.tags??[],metadata:a.extra?.metadata??{},name:b,runType:"retriever",inputs:{query:a.inputs.query}};this.runInfoMap.set(a.id,c),await this.send({event:"on_retriever_start",data:{input:{query:a.inputs.query}},name:b,tags:a.tags??[],run_id:a.id,metadata:a.extra?.metadata??{}},c)}async onRetrieverEnd(a){let b=this.runInfoMap.get(a.id);if(this.runInfoMap.delete(a.id),void 0===b)throw Error(`onRetrieverEnd: Run ID ${a.id} not found in run map.`);await this.sendEndEvent({event:"on_retriever_end",data:{output:a.outputs?.documents??a.outputs,input:b.inputs},run_id:a.id,name:b.name,tags:b.tags,metadata:b.metadata},b)}async handleCustomEvent(a,b,c){let d=this.runInfoMap.get(c);if(void 0===d)throw Error(`handleCustomEvent: Run ID ${c} not found in run map.`);await this.send({event:"on_custom_event",run_id:c,name:a,tags:d.tags,metadata:d.metadata,data:b},d)}async finish(){Promise.all([...this.tappedPromises.values()]).finally(()=>{this.writer.close()})}};let eN=Object.prototype.toString,eO=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 eP(a,b,{min:c=0,allowInfinity:d=!1}={}){if(void 0!==b){if("number"!=typeof b||Number.isNaN(b))throw TypeError(`Expected \`${a}\` to be a number${d?" or Infinity":""}.`);if(!d&&!Number.isFinite(b))throw TypeError(`Expected \`${a}\` to be a finite number.`);if(b<c)throw TypeError(`Expected \`${a}\` to be \u2265 ${c}.`)}}var eQ=class extends Error{constructor(a){super(),a instanceof Error?(this.originalError=a,{message:a}=a):(this.originalError=Error(a),this.originalError.stack=this.stack),this.name="AbortError",this.message=a}};function eR(a,b){return Number.isFinite(b)?b-(performance.now()-a):b}async function eS({error:a,attemptNumber:b,retriesConsumed:c,startTime:d,options:e}){let f,g=a instanceof Error?a:TypeError(`Non-error was thrown: "${a}". You should only throw errors.`);if(g instanceof eQ)throw g.originalError;let h=Number.isFinite(e.retries)?Math.max(0,e.retries-c):e.retries,i=e.maxRetryTime??1/0,j=Object.freeze({error:g,attemptNumber:b,retriesLeft:h,retriesConsumed:c});if(await e.onFailedAttempt(j),0>=eR(d,i))throw g;let k=await e.shouldConsumeRetry(j),l=eR(d,i);if(l<=0||h<=0)throw g;if(g instanceof TypeError&&!function(a){if(!(a&&"[object Error]"===eN.call(a)&&"TypeError"===a.name&&"string"==typeof a.message))return!1;let{message:b,stack:c}=a;return"Load failed"===b?void 0===c||"__sentry_captured__"in a:!!b.startsWith("error sending request for url")||eO.has(b)}(g)){if(k)throw g;return e.signal?.throwIfAborted(),!1}if(!await e.shouldRetry(j))throw g;if(!k)return e.signal?.throwIfAborted(),!1;let m=Math.min((f=Math.max(1,c+1),Math.min(Math.round((e.randomize?Math.random()+1:1)*e.minTimeout*e.factor**(f-1)),e.maxTimeout)),l);return m>0&&await new Promise((a,b)=>{let c=()=>{clearTimeout(d),e.signal?.removeEventListener("abort",c),b(e.signal.reason)},d=setTimeout(()=>{e.signal?.removeEventListener("abort",c),a()},m);e.unref&&d.unref?.(),e.signal?.addEventListener("abort",c,{once:!0})}),e.signal?.throwIfAborted(),!0}async function eT(a,b={}){var c=(b={...b}).retries;if("number"==typeof c){if(c<0)throw TypeError("Expected `retries` to be a non-negative number.");if(Number.isNaN(c))throw TypeError("Expected `retries` to be a valid number or Infinity, got NaN.")}else if(void 0!==c)throw TypeError("Expected `retries` to be a number or Infinity.");if(Object.hasOwn(b,"forever"))throw Error("The `forever` option is no longer supported. For many use-cases, you can set `retries: Infinity` instead.");b.retries??=10,b.factor??=2,b.minTimeout??=1e3,b.maxTimeout??=1/0,b.maxRetryTime??=1/0,b.randomize??=!1,b.onFailedAttempt??=()=>{},b.shouldRetry??=()=>!0,b.shouldConsumeRetry??=()=>!0,eP("factor",b.factor,{min:0,allowInfinity:!1}),eP("minTimeout",b.minTimeout,{min:0,allowInfinity:!1}),eP("maxTimeout",b.maxTimeout,{min:0,allowInfinity:!0}),eP("maxRetryTime",b.maxRetryTime,{min:0,allowInfinity:!0}),b.factor>0||(b.factor=1),b.signal?.throwIfAborted();let d=0,e=0,f=performance.now();for(;!Number.isFinite(b.retries)||e<=b.retries;){d++;try{b.signal?.throwIfAborted();let c=await a(d);return b.signal?.throwIfAborted(),c}catch(a){await eS({error:a,attemptNumber:d,retriesConsumed:e,startTime:f,options:b})&&e++}}throw Error("Retry attempts exhausted without throwing an error.")}let eU=[400,401,402,403,404,405,406,407,409],eV=a=>{if("object"!=typeof a||null===a)return;if("message"in a&&"string"==typeof a.message&&(a.message.startsWith("Cancel")||a.message.startsWith("AbortError"))||"name"in a&&"string"==typeof a.name&&"AbortError"===a.name||"code"in a&&"string"==typeof a.code&&"ECONNABORTED"===a.code)throw a;let b="response"in a&&"object"==typeof a.response&&null!==a.response&&"status"in a.response&&"number"==typeof a.response.status?a.response.status:void 0,c="status"in a&&"number"==typeof a.status?a.status:void 0,d=b??c;if(d&&eU.includes(+d))throw a;if(("error"in a&&"object"==typeof a.error&&null!==a.error&&"code"in a.error&&"string"==typeof a.error.code?a.error.code:void 0)==="insufficient_quota"){let b=Error("message"in a&&"string"==typeof a.message?a.message:"Insufficient quota");throw b.name="InsufficientQuotaError",b}};var eW=class{maxConcurrency;maxRetries;onFailedAttempt;queue;constructor(a){this.maxConcurrency=a.maxConcurrency??1/0,this.maxRetries=a.maxRetries??6,this.onFailedAttempt=a.onFailedAttempt??eV;const b="default"in cS.default?cS.default.default:cS.default;this.queue=new b({concurrency:this.maxConcurrency})}async call(a,...b){return this.queue.add(()=>eT(()=>a(...b).catch(a=>{if(a instanceof Error)throw a;throw Error(a)}),{onFailedAttempt:({error:a})=>this.onFailedAttempt?.(a),retries:this.maxRetries,randomize:!0}),{throwOnTimeout:!0})}callWithOptions(a,b,...c){if(a.signal){let d;return Promise.race([this.call(b,...c),new Promise((b,c)=>{d=()=>{c(em(a.signal))},a.signal?.addEventListener("abort",d,{once:!0})})]).finally(()=>{a.signal&&d&&a.signal.removeEventListener("abort",d)})}return this.call(b,...c)}fetch(...a){return this.call(()=>fetch(...a).then(a=>a.ok?a:Promise.reject(a)))}},eX=class extends dN{name="RootListenersTracer";rootId;config;argOnStart;argOnEnd;argOnError;constructor({config:a,onStart:b,onEnd:c,onError:d}){super({_awaitHandler:!0}),this.config=a,this.argOnStart=b,this.argOnEnd=c,this.argOnError=d}persistRun(a){return Promise.resolve()}async onRunCreate(a){!this.rootId&&(this.rootId=a.id,this.argOnStart&&await this.argOnStart(a,this.config))}async onRunUpdate(a){a.id===this.rootId&&(a.error?this.argOnError&&await this.argOnError(a,this.config):this.argOnEnd&&await this.argOnEnd(a,this.config))}};function eY(a){return!!a&&a.lc_runnable}var eZ=class{includeNames;includeTypes;includeTags;excludeNames;excludeTypes;excludeTags;constructor(a){this.includeNames=a.includeNames,this.includeTypes=a.includeTypes,this.includeTags=a.includeTags,this.excludeNames=a.excludeNames,this.excludeTypes=a.excludeTypes,this.excludeTags=a.excludeTags}includeEvent(a,b){let c=void 0===this.includeNames&&void 0===this.includeTypes&&void 0===this.includeTags,d=a.tags??[];return void 0!==this.includeNames&&(c=c||this.includeNames.includes(a.name)),void 0!==this.includeTypes&&(c=c||this.includeTypes.includes(b)),void 0!==this.includeTags&&(c=c||d.some(a=>this.includeTags?.includes(a))),void 0!==this.excludeNames&&(c=c&&!this.excludeNames.includes(a.name)),void 0!==this.excludeTypes&&(c=c&&!this.excludeTypes.includes(b)),void 0!==this.excludeTags&&(c=c&&d.every(a=>!this.excludeTags?.includes(a))),c}};function e$(a,b,c){function d(c,d){if(c._zod||Object.defineProperty(c,"_zod",{value:{def:d,constr:g,traits:new Set},enumerable:!1}),c._zod.traits.has(a))return;c._zod.traits.add(a),b(c,d);let e=g.prototype,f=Object.keys(e);for(let a=0;a<f.length;a++){let b=f[a];b in c||(c[b]=e[b].bind(c))}}let e=c?.Parent??Object;class f extends e{}function g(a){var b;let e=c?.Parent?new f:this;for(let c of(d(e,a),(b=e._zod).deferred??(b.deferred=[]),e._zod.deferred))c();return e}return Object.defineProperty(f,"name",{value:a}),Object.defineProperty(g,"init",{value:d}),Object.defineProperty(g,Symbol.hasInstance,{value:b=>!!c?.Parent&&b instanceof c.Parent||b?._zod?.traits?.has(a)}),Object.defineProperty(g,"name",{value:a}),g}Symbol("zod_brand");class e_ extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}(s=globalThis).__zod_globalConfig??(s.__zod_globalConfig={});let e0=globalThis.__zod_globalConfig;function e1(a){return a&&Object.assign(e0,a),e0}function e2(a){let b=Object.values(a).filter(a=>"number"==typeof a);return Object.entries(a).filter(([a,c])=>-1===b.indexOf(+a)).map(([a,b])=>b)}function e3(a,b){return"bigint"==typeof b?b.toString():b}function e4(a){return{get value(){{let b=a();return Object.defineProperty(this,"value",{value:b}),b}}}}function e5(a){let b=+!!a.startsWith("^"),c=a.endsWith("$")?a.length-1:a.length;return a.slice(b,c)}let e6=Symbol("evaluating");function e7(a,b,c){let d;Object.defineProperty(a,b,{get(){if(d!==e6)return void 0===d&&(d=e6,d=c()),d},set(c){Object.defineProperty(a,b,{value:c})},configurable:!0})}function e8(a,b,c){Object.defineProperty(a,b,{value:c,writable:!0,enumerable:!0,configurable:!0})}function e9(...a){let b={};for(let c of a)Object.assign(b,Object.getOwnPropertyDescriptors(c));return Object.defineProperties({},b)}let fa="captureStackTrace"in Error?Error.captureStackTrace:(...a)=>{};function fb(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}let fc=e4(()=>{if(e0.jitless||"u">typeof navigator&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return Function(""),!0}catch(a){return!1}});function fd(a){if(!1===fb(a))return!1;let b=a.constructor;if(void 0===b||"function"!=typeof b)return!0;let c=b.prototype;return!1!==fb(c)&&!1!==Object.prototype.hasOwnProperty.call(c,"isPrototypeOf")}let fe=new Set(["string","number","symbol"]),ff=new Set(["string","number","bigint","boolean","symbol","undefined"]);function fg(a,b,c){let d=new a._zod.constr(b??a._zod.def);return(!b||c?.parent)&&(d._zod.parent=a),d}function fh(a){if(!a)return{};if("string"==typeof a)return{error:()=>a};if(a?.message!==void 0){if(a?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");a.error=a.message}return(delete a.message,"string"==typeof a.error)?{...a,error:()=>a.error}:a}function fi(a){return"bigint"==typeof a?a.toString()+"n":"string"==typeof a?`"${a}"`:`${a}`}function fj(a){return Object.keys(a).filter(b=>"optional"===a[b]._zod.optin&&"optional"===a[b]._zod.optout)}let fk={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-0x80000000,0x7fffffff],uint32:[0,0xffffffff],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},fl={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function fm(a,b=0){if(!0===a.aborted)return!0;for(let c=b;c<a.issues.length;c++)if(a.issues[c]?.continue!==!0)return!0;return!1}function fn(a,b=0){if(!0===a.aborted)return!0;for(let c=b;c<a.issues.length;c++)if(a.issues[c]?.continue===!1)return!0;return!1}function fo(a,b){return b.map(b=>(b.path??(b.path=[]),b.path.unshift(a),b))}function fp(a){return"string"==typeof a?a:a?.message}function fq(a,b,c){let d=a.message?a.message:fp(a.inst?._zod.def?.error?.(a))??fp(b?.error?.(a))??fp(c.customError?.(a))??fp(c.localeError?.(a))??"Invalid input",{inst:e,continue:f,input:g,...h}=a;return h.path??(h.path=[]),h.message=d,b?.reportInput&&(h.input=g),h}function fr(...a){let[b,c,d]=a;return"string"==typeof b?{message:b,code:"custom",input:c,inst:d}:{...b}}function fs(a){let b=atob(a),c=new Uint8Array(b.length);for(let a=0;a<b.length;a++)c[a]=b.charCodeAt(a);return c}function ft(a){let b="";for(let c=0;c<a.length;c++)b+=String.fromCharCode(a[c]);return btoa(b)}a.s(["BIGINT_FORMAT_RANGES",0,fl,"Class",0,class{constructor(...a){}},"NUMBER_FORMAT_RANGES",0,fk,"aborted",0,fm,"allowsEval",0,fc,"assert",0,function(a){},"assertEqual",0,function(a){return a},"assertIs",0,function(a){},"assertNever",0,function(a){throw Error("Unexpected value in exhaustive check")},"assertNotEqual",0,function(a){return a},"assignProp",0,e8,"base64ToUint8Array",0,fs,"base64urlToUint8Array",0,function(a){let b=a.replace(/-/g,"+").replace(/_/g,"/"),c="=".repeat((4-b.length%4)%4);return fs(b+c)},"cached",0,e4,"captureStackTrace",0,fa,"cleanEnum",0,function(a){return Object.entries(a).filter(([a,b])=>Number.isNaN(Number.parseInt(a,10))).map(a=>a[1])},"cleanRegex",0,e5,"clone",0,fg,"cloneDef",0,function(a){return e9(a._zod.def)},"createTransparentProxy",0,function(a){let b;return new Proxy({},{get:(c,d,e)=>(b??(b=a()),Reflect.get(b,d,e)),set:(c,d,e,f)=>(b??(b=a()),Reflect.set(b,d,e,f)),has:(c,d)=>(b??(b=a()),Reflect.has(b,d)),deleteProperty:(c,d)=>(b??(b=a()),Reflect.deleteProperty(b,d)),ownKeys:c=>(b??(b=a()),Reflect.ownKeys(b)),getOwnPropertyDescriptor:(c,d)=>(b??(b=a()),Reflect.getOwnPropertyDescriptor(b,d)),defineProperty:(c,d,e)=>(b??(b=a()),Reflect.defineProperty(b,d,e))})},"defineLazy",0,e7,"esc",0,function(a){return JSON.stringify(a)},"escapeRegex",0,function(a){return a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")},"explicitlyAborted",0,fn,"extend",0,function(a,b){if(!fd(b))throw Error("Invalid input to extend: expected a plain object");let c=a._zod.def.checks;if(c&&c.length>0){let c=a._zod.def.shape;for(let a in b)if(void 0!==Object.getOwnPropertyDescriptor(c,a))throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let d=e9(a._zod.def,{get shape(){let c={...a._zod.def.shape,...b};return e8(this,"shape",c),c}});return fg(a,d)},"finalizeIssue",0,fq,"floatSafeRemainder",0,function(a,b){let c=a/b,d=Math.round(c),e=Number.EPSILON*Math.max(Math.abs(c),1);return Math.abs(c-d)<e?0:c-d},"getElementAtPath",0,function(a,b){return b?b.reduce((a,b)=>a?.[b],a):a},"getEnumValues",0,e2,"getLengthableOrigin",0,function(a){return Array.isArray(a)?"array":"string"==typeof a?"string":"unknown"},"getParsedType",0,a=>{let b=typeof a;switch(b){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(a)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray(a))return"array";if(null===a)return"null";if(a.then&&"function"==typeof a.then&&a.catch&&"function"==typeof a.catch)return"promise";if("u">typeof Map&&a instanceof Map)return"map";if("u">typeof Set&&a instanceof Set)return"set";if("u">typeof Date&&a instanceof Date)return"date";if("u">typeof File&&a instanceof File)return"file";return"object";default:throw Error(`Unknown data type: ${b}`)}},"getSizableOrigin",0,function(a){return a instanceof Set?"set":a instanceof Map?"map":a instanceof File?"file":"unknown"},"hexToUint8Array",0,function(a){let b=a.replace(/^0x/,"");if(b.length%2!=0)throw Error("Invalid hex string length");let c=new Uint8Array(b.length/2);for(let a=0;a<b.length;a+=2)c[a/2]=Number.parseInt(b.slice(a,a+2),16);return c},"isObject",0,fb,"isPlainObject",0,fd,"issue",0,fr,"joinValues",0,function(a,b="|"){return a.map(a=>fi(a)).join(b)},"jsonStringifyReplacer",0,e3,"merge",0,function(a,b){if(a._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let c=e9(a._zod.def,{get shape(){let c={...a._zod.def.shape,...b._zod.def.shape};return e8(this,"shape",c),c},get catchall(){return b._zod.def.catchall},checks:b._zod.def.checks??[]});return fg(a,c)},"mergeDefs",0,e9,"normalizeParams",0,fh,"nullish",0,function(a){return null==a},"numKeys",0,function(a){let b=0;for(let c in a)Object.prototype.hasOwnProperty.call(a,c)&&b++;return b},"objectClone",0,function(a){return Object.create(Object.getPrototypeOf(a),Object.getOwnPropertyDescriptors(a))},"omit",0,function(a,b){let c=a._zod.def,d=c.checks;if(d&&d.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let e=e9(a._zod.def,{get shape(){let d={...a._zod.def.shape};for(let a in b){if(!(a in c.shape))throw Error(`Unrecognized key: "${a}"`);b[a]&&delete d[a]}return e8(this,"shape",d),d},checks:[]});return fg(a,e)},"optionalKeys",0,fj,"parsedType",0,function(a){let b=typeof a;switch(b){case"number":return Number.isNaN(a)?"nan":"number";case"object":if(null===a)return"null";if(Array.isArray(a))return"array";if(a&&Object.getPrototypeOf(a)!==Object.prototype&&"constructor"in a&&a.constructor)return a.constructor.name}return b},"partial",0,function(a,b,c){let d=b._zod.def.checks;if(d&&d.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let e=e9(b._zod.def,{get shape(){let d=b._zod.def.shape,e={...d};if(c)for(let b in c){if(!(b in d))throw Error(`Unrecognized key: "${b}"`);c[b]&&(e[b]=a?new a({type:"optional",innerType:d[b]}):d[b])}else for(let b in d)e[b]=a?new a({type:"optional",innerType:d[b]}):d[b];return e8(this,"shape",e),e},checks:[]});return fg(b,e)},"pick",0,function(a,b){let c=a._zod.def,d=c.checks;if(d&&d.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let e=e9(a._zod.def,{get shape(){let a={};for(let d in b){if(!(d in c.shape))throw Error(`Unrecognized key: "${d}"`);b[d]&&(a[d]=c.shape[d])}return e8(this,"shape",a),a},checks:[]});return fg(a,e)},"prefixIssues",0,fo,"primitiveTypes",0,ff,"promiseAllObject",0,function(a){let b=Object.keys(a);return Promise.all(b.map(b=>a[b])).then(a=>{let c={};for(let d=0;d<b.length;d++)c[b[d]]=a[d];return c})},"propertyKeyTypes",0,fe,"randomString",0,function(a=10){let b="abcdefghijklmnopqrstuvwxyz",c="";for(let d=0;d<a;d++)c+=b[Math.floor(Math.random()*b.length)];return c},"required",0,function(a,b,c){let d=e9(b._zod.def,{get shape(){let d=b._zod.def.shape,e={...d};if(c)for(let b in c){if(!(b in e))throw Error(`Unrecognized key: "${b}"`);c[b]&&(e[b]=new a({type:"nonoptional",innerType:d[b]}))}else for(let b in d)e[b]=new a({type:"nonoptional",innerType:d[b]});return e8(this,"shape",e),e}});return fg(b,d)},"safeExtend",0,function(a,b){if(!fd(b))throw Error("Invalid input to safeExtend: expected a plain object");let c=e9(a._zod.def,{get shape(){let c={...a._zod.def.shape,...b};return e8(this,"shape",c),c}});return fg(a,c)},"shallowClone",0,function(a){return fd(a)?{...a}:Array.isArray(a)?[...a]:a instanceof Map?new Map(a):a instanceof Set?new Set(a):a},"slugify",0,function(a){return a.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")},"stringifyPrimitive",0,fi,"uint8ArrayToBase64",0,ft,"uint8ArrayToBase64url",0,function(a){return ft(a).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")},"uint8ArrayToHex",0,function(a){return Array.from(a).map(a=>a.toString(16).padStart(2,"0")).join("")},"unwrapMessage",0,fp],366446);let fu=/^-?\d+n?$/,fv=/^-?\d+$/,fw=/^-?\d+(?:\.\d+)?$/,fx=e$("$ZodCheck",(a,b)=>{var c;a._zod??(a._zod={}),a._zod.def=b,(c=a._zod).onattach??(c.onattach=[])}),fy=((a,b)=>{fx.init(a,b),b.format=b.format||"float64";let c=b.format?.includes("int"),d=c?"int":"number",[e,f]=fk[b.format];a._zod.onattach.push(a=>{let d=a._zod.bag;d.format=b.format,d.minimum=e,d.maximum=f,c&&(d.pattern=fv)}),a._zod.check=g=>{let h=g.value;if(c){if(!Number.isInteger(h))return void g.issues.push({expected:d,format:b.format,code:"invalid_type",continue:!1,input:h,inst:a});if(!Number.isSafeInteger(h))return void(h>0?g.issues.push({input:h,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:a,origin:d,inclusive:!0,continue:!b.abort}):g.issues.push({input:h,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:a,origin:d,inclusive:!0,continue:!b.abort}))}h<e&&g.issues.push({origin:"number",input:h,code:"too_small",minimum:e,inclusive:!0,inst:a,continue:!b.abort}),h>f&&g.issues.push({origin:"number",input:h,code:"too_big",maximum:f,inclusive:!0,inst:a,continue:!b.abort})}},e$("$ZodCheckStringFormat",(a,b)=>{var c,d;fx.init(a,b),a._zod.onattach.push(a=>{let c=a._zod.bag;c.format=b.format,b.pattern&&(c.patterns??(c.patterns=new Set),c.patterns.add(b.pattern))}),b.pattern?(c=a._zod).check??(c.check=c=>{b.pattern.lastIndex=0,b.pattern.test(c.value)||c.issues.push({origin:"string",code:"invalid_format",format:b.format,input:c.value,...b.pattern?{pattern:b.pattern.toString()}:{},inst:a,continue:!b.abort})}):(d=a._zod).check??(d.check=()=>{})})),fz=(a,b)=>{a.name="$ZodError",Object.defineProperty(a,"_zod",{value:a._zod,enumerable:!1}),Object.defineProperty(a,"issues",{value:b,enumerable:!1}),a.message=JSON.stringify(b,e3,2),Object.defineProperty(a,"toString",{value:()=>a.message,enumerable:!1})},fA=e$("$ZodError",fz),fB=e$("$ZodError",fz,{Parent:Error}),fC=(k=fB,l=fB,async(a,b,c,d)=>{let e=c?{...c,async:!0}:{async:!0},f=a._zod.run({value:b,issues:[]},e);if(f instanceof Promise&&(f=await f),f.issues.length){let a=new(d?.Err??l)(f.issues.map(a=>fq(a,e,e1())));throw fa(a,d?.callee),a}return f.value}),fD=(m=fB,(a,b,c)=>{let d=c?{...c,async:!1}:{async:!1},e=a._zod.run({value:b,issues:[]},d);if(e instanceof Promise)throw new e_;return e.issues.length?{success:!1,error:new(m??fA)(e.issues.map(a=>fq(a,d,e1())))}:{success:!0,data:e.value}}),fE=(n=fB,async(a,b,c)=>{let d=c?{...c,async:!0}:{async:!0},e=a._zod.run({value:b,issues:[]},d);return e instanceof Promise&&(e=await e),e.issues.length?{success:!1,error:new n(e.issues.map(a=>fq(a,d,e1())))}:{success:!0,data:e.value}}),fF={major:4,minor:4,patch:3},fG=e$("$ZodType",(a,b)=>{var c;a??(a={}),a._zod.def=b,a._zod.bag=a._zod.bag||{},a._zod.version=fF;let d=[...a._zod.def.checks??[]];for(let b of(a._zod.traits.has("$ZodCheck")&&d.unshift(a),d))for(let c of b._zod.onattach)c(a);if(0===d.length)(c=a._zod).deferred??(c.deferred=[]),a._zod.deferred?.push(()=>{a._zod.run=a._zod.parse});else{let b=(a,b,c)=>{let d,e=fm(a);for(let f of b){if(f._zod.def.when){if(fn(a)||!f._zod.def.when(a))continue}else if(e)continue;let b=a.issues.length,g=f._zod.check(a);if(g instanceof Promise&&c?.async===!1)throw new e_;if(d||g instanceof Promise)d=(d??Promise.resolve()).then(async()=>{await g,a.issues.length!==b&&(e||(e=fm(a,b)))});else{if(a.issues.length===b)continue;e||(e=fm(a,b))}}return d?d.then(()=>a):a},c=(c,e,f)=>{if(fm(c))return c.aborted=!0,c;let g=b(e,d,f);if(g instanceof Promise){if(!1===f.async)throw new e_;return g.then(b=>a._zod.parse(b,f))}return a._zod.parse(g,f)};a._zod.run=(e,f)=>{if(f.skipChecks)return a._zod.parse(e,f);if("backward"===f.direction){let b=a._zod.parse({value:e.value,issues:[]},{...f,skipChecks:!0});return b instanceof Promise?b.then(a=>c(a,e,f)):c(b,e,f)}let g=a._zod.parse(e,f);if(g instanceof Promise){if(!1===f.async)throw new e_;return g.then(a=>b(a,d,f))}return b(g,d,f)}}e7(a,"~standard",()=>({validate:b=>{try{let c=fD(a,b);return c.success?{value:c.data}:{issues:c.error?.issues}}catch(c){return fE(a,b).then(a=>a.success?{value:a.data}:{issues:a.error?.issues})}},vendor:"zod",version:1}))}),fH=e$("$ZodString",(a,b)=>{var c;let d;fG.init(a,b),a._zod.pattern=[...a?._zod.bag?.patterns??[]].pop()??(d=(c=a._zod.bag)?`[\\s\\S]{${c?.minimum??0},${c?.maximum??""}}`:"[\\s\\S]*",RegExp(`^${d}$`)),a._zod.parse=(c,d)=>{if(b.coerce)try{c.value=String(c.value)}catch(a){}return"string"==typeof c.value||c.issues.push({expected:"string",code:"invalid_type",input:c.value,inst:a}),c}});(a,b)=>{fy.init(a,b),fH.init(a,b)};(a,b)=>{fG.init(a,b),a._zod.pattern=a._zod.bag.pattern??fw,a._zod.parse=(c,d)=>{if(b.coerce)try{c.value=Number(c.value)}catch(a){}let e=c.value;if("number"==typeof e&&!Number.isNaN(e)&&Number.isFinite(e))return c;let f="number"==typeof e?Number.isNaN(e)?"NaN":Number.isFinite(e)?void 0:"Infinity":void 0;return c.issues.push({expected:"number",code:"invalid_type",input:e,inst:a,...f?{received:f}:{}}),c}},(a,b)=>{fG.init(a,b),a._zod.pattern=fu,a._zod.parse=(c,d)=>{if(b.coerce)try{c.value=BigInt(c.value)}catch(a){}return"bigint"==typeof c.value||c.issues.push({expected:"bigint",code:"invalid_type",input:c.value,inst:a}),c}};let fI=e$("$ZodNever",(a,b)=>{fG.init(a,b),a._zod.parse=(b,c)=>(b.issues.push({expected:"never",code:"invalid_type",input:b.value,inst:a}),b)});function fJ(a,b,c,d,e,f){let g=c in d;if(a.issues.length){if(e&&f&&!g)return;b.issues.push(...fo(c,a.issues))}if(!g&&!e){a.issues.length||b.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[c]});return}void 0===a.value?g&&(b.value[c]=void 0):b.value[c]=a.value}function fK(a,b,c,d){for(let c of a)if(0===c.issues.length)return b.value=c.value,b;let e=a.filter(a=>!fm(a));return 1===e.length?(b.value=e[0].value,e[0]):(b.issues.push({code:"invalid_union",input:b.value,inst:c,errors:a.map(a=>a.issues.map(a=>fq(a,d,e1())))}),b)}(a,b)=>{let c;fG.init(a,b);let d=Object.getOwnPropertyDescriptor(b,"shape");if(!d?.get){let a=b.shape;Object.defineProperty(b,"shape",{get:()=>{let c={...a};return Object.defineProperty(b,"shape",{value:c}),c}})}let e=e4(()=>(function(a){let b=Object.keys(a.shape);for(let c of b)if(!a.shape?.[c]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${c}": expected a Zod schema`);let c=fj(a.shape);return{...a,keys:b,keySet:new Set(b),numKeys:b.length,optionalKeys:new Set(c)}})(b));e7(a._zod,"propValues",()=>{let a=b.shape,c={};for(let b in a){let d=a[b]._zod;if(d.values)for(let a of(c[b]??(c[b]=new Set),d.values))c[b].add(a)}return c});let f=b.catchall;a._zod.parse=(b,d)=>{c??(c=e.value);let g=b.value;if(!fb(g))return b.issues.push({expected:"object",code:"invalid_type",input:g,inst:a}),b;b.value={};let h=[],i=c.shape;for(let a of c.keys){let c=i[a],e="optional"===c._zod.optin,f="optional"===c._zod.optout,j=c._zod.run({value:g[a],issues:[]},d);j instanceof Promise?h.push(j.then(c=>fJ(c,b,a,g,e,f))):fJ(j,b,a,g,e,f)}return f?function(a,b,c,d,e,f){let g=[],h=e.keySet,i=e.catchall._zod,j=i.def.type,k="optional"===i.optin,l="optional"===i.optout;for(let e in b){if("__proto__"===e||h.has(e))continue;if("never"===j){g.push(e);continue}let f=i.run({value:b[e],issues:[]},d);f instanceof Promise?a.push(f.then(a=>fJ(a,c,e,b,k,l))):fJ(f,c,e,b,k,l)}return(g.length&&c.issues.push({code:"unrecognized_keys",keys:g,input:b,inst:f}),a.length)?Promise.all(a).then(()=>c):c}(h,g,b,d,e.value,a):h.length?Promise.all(h).then(()=>b):b}},(a,b)=>{fG.init(a,b),e7(a._zod,"optin",()=>b.options.some(a=>"optional"===a._zod.optin)?"optional":void 0),e7(a._zod,"optout",()=>b.options.some(a=>"optional"===a._zod.optout)?"optional":void 0),e7(a._zod,"values",()=>{if(b.options.every(a=>a._zod.values))return new Set(b.options.flatMap(a=>Array.from(a._zod.values)))}),e7(a._zod,"pattern",()=>{if(b.options.every(a=>a._zod.pattern)){let a=b.options.map(a=>a._zod.pattern);return RegExp(`^(${a.map(a=>e5(a.source)).join("|")})$`)}});let c=1===b.options.length?b.options[0]._zod.run:null;a._zod.parse=(d,e)=>{if(c)return c(d,e);let f=!1,g=[];for(let a of b.options){let b=a._zod.run({value:d.value,issues:[]},e);if(b instanceof Promise)g.push(b),f=!0;else{if(0===b.issues.length)return b;g.push(b)}}return f?Promise.all(g).then(b=>fK(b,d,a,e)):fK(g,d,a,e)}};function fL(a,b){for(let c=a.length-1;c>=0;c--)if("optional"!==a[c]._zod[b])return c+1;return 0}function fM(a,b,c){a.issues.length&&b.issues.push(...fo(c,a.issues)),b.value[c]=a.value}function fN(a,b,c,d,e){for(let f=0;f<c.length;f++){let c=a[f],g=f<d.length;if(c.issues.length){if(!g&&f>=e){b.value.length=f;break}b.issues.push(...fo(f,c.issues))}b.value[f]=c.value}for(let a=b.value.length-1;a>=d.length;a--)if("optional"===c[a]._zod.optout&&void 0===b.value[a])b.value.length=a;else break;return b}(a,b)=>{fG.init(a,b);let c=b.items;a._zod.parse=(d,e)=>{let f=d.value;if(!Array.isArray(f))return d.issues.push({input:f,inst:a,expected:"tuple",code:"invalid_type"}),d;d.value=[];let g=[],h=fL(c,"optin"),i=fL(c,"optout");if(!b.rest){if(f.length<h)return d.issues.push({code:"too_small",minimum:h,inclusive:!0,input:f,inst:a,origin:"array"}),d;f.length>c.length&&d.issues.push({code:"too_big",maximum:c.length,inclusive:!0,input:f,inst:a,origin:"array"})}let j=Array(c.length);for(let a=0;a<c.length;a++){let b=c[a]._zod.run({value:f[a],issues:[]},e);b instanceof Promise?g.push(b.then(b=>{j[a]=b})):j[a]=b}if(b.rest){let a=c.length-1;for(let h of f.slice(c.length)){a++;let c=b.rest._zod.run({value:h,issues:[]},e);c instanceof Promise?g.push(c.then(b=>fM(b,d,a))):fM(c,d,a)}}return g.length?Promise.all(g).then(()=>fN(j,d,c,f,i)):fN(j,d,c,f,i)}};function fO(a,b){return void 0===b&&(a.issues.length||a.fallback)?{issues:[],value:void 0}:a}(a,b)=>{fG.init(a,b),a._zod.optin="optional",a._zod.optout="optional",e7(a._zod,"values",()=>b.innerType._zod.values?new Set([...b.innerType._zod.values,void 0]):void 0),e7(a._zod,"pattern",()=>{let a=b.innerType._zod.pattern;return a?RegExp(`^(${e5(a.source)})?$`):void 0}),a._zod.parse=(a,c)=>{if("optional"===b.innerType._zod.optin){let d=a.value,e=b.innerType._zod.run(a,c);return e instanceof Promise?e.then(a=>fO(a,d)):fO(e,d)}return void 0===a.value?a:b.innerType._zod.run(a,c)}};function fP(a,b,c){return a.issues.length?(a.aborted=!0,a):b._zod.run({value:a.value,issues:a.issues,fallback:a.fallback},c)}(a,b)=>{fG.init(a,b),e7(a._zod,"values",()=>b.in._zod.values),e7(a._zod,"optin",()=>b.in._zod.optin),e7(a._zod,"optout",()=>b.out._zod.optout),e7(a._zod,"propValues",()=>b.in._zod.propValues),a._zod.parse=(a,c)=>{if("backward"===c.direction){let d=b.out._zod.run(a,c);return d instanceof Promise?d.then(a=>fP(a,b.in,c)):fP(d,b.in,c)}let d=b.in._zod.run(a,c);return d instanceof Promise?d.then(a=>fP(a,b.out,c)):fP(d,b.out,c)}};Symbol("ZodOutput"),Symbol("ZodInput");(t=globalThis).__zod_globalRegistry??(t.__zod_globalRegistry=new class a{constructor(){this._map=new WeakMap,this._idmap=new Map}add(a,...b){let c=b[0];return this._map.set(a,c),c&&"object"==typeof c&&"id"in c&&this._idmap.set(c.id,a),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(a){let b=this._map.get(a);return b&&"object"==typeof b&&"id"in b&&this._idmap.delete(b.id),this._map.delete(a),this}get(a){let b=a._zod.parent;if(b){let c={...this.get(b)??{}};delete c.id;let d={...c,...this._map.get(a)};return Object.keys(d).length?d:void 0}return this._map.get(a)}has(a){return this._map.has(a)}});let fQ=globalThis.__zod_globalRegistry;function fR(a){if("object"!=typeof a||null===a||!("_zod"in a))return!1;let b=a._zod;return"object"==typeof b&&null!==b&&"def"in b}function fS(a){if("object"!=typeof a||null===a||!("_def"in a)||"_zod"in a)return!1;let b=a._def;return"object"==typeof b&&null!=b&&"typeName"in b}async function fT(a,b){if(fR(a))return await fC(a,b);if(fS(a))return await a.parseAsync(b);throw Error("Schema must be an instance of z3.ZodType or z4.$ZodType")}function fU(a){return!!fR(a)&&("object"==typeof a&&null!==a&&"_zod"in a&&"object"==typeof a._zod&&null!==a._zod&&"def"in a._zod&&"object"==typeof a._zod.def&&null!==a._zod.def&&"type"in a._zod.def&&"object"===a._zod.def.type||!1)}function fV(a){return!!fR(a)&&("object"==typeof a&&null!==a&&"_zod"in a&&"object"==typeof a._zod&&null!==a._zod&&"def"in a._zod&&"object"==typeof a._zod.def&&null!==a._zod.def&&"type"in a._zod.def&&"array"===a._zod.def.type||!1)}function fW(a){return a.replace(/[^a-zA-Z-_0-9]/g,"_")}a.i(366446);let fX=["*","_","`"];async function fY(a,b){let c=b?.backgroundColor??"white",d=b?.imageType??"png",e=btoa(a).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"");void 0===c||/^#(?:[0-9a-fA-F]{3}){1,2}$/.test(c)||(c=`!${c}`);let f=`https://mermaid.ink/img/${e}?bgColor=${c}&type=${d}`,g=await fetch(f);if(!g.ok)throw Error(`Failed to render the graph using the Mermaid.INK API.
134
+ Status code: ${g.status}
135
+ Status text: ${g.statusText}`);return await g.blob()}let fZ=Symbol("Let zodToJsonSchema decide on which parser to use"),f$={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"},f_=(a,b)=>{let c=0;for(;c<a.length&&c<b.length&&a[c]===b[c];c++);return[(a.length-c).toString(),...b.slice(c)].join("/")};function f0(a){if("openAi"!==a.target)return{};let b=[...a.basePath,a.definitionPath,a.openAiAnyTypeName];return a.flags.hasReferencedOpenAiAnyType=!0,{$ref:"relative"===a.$refStrategy?f_(b,a.currentPath):b.join("/")}}function f1(a,b,c,d){d?.errorMessages&&c&&(a.errorMessage={...a.errorMessage,[b]:c})}function f2(a,b,c,d,e){a[b]=c,f1(a,b,d,e)}(o=u||(u={})).assertEqual=a=>{},o.assertIs=function(a){},o.assertNever=function(a){throw Error()},o.arrayToEnum=a=>{let b={};for(let c of a)b[c]=c;return b},o.getValidEnumValues=a=>{let b=o.objectKeys(a).filter(b=>"number"!=typeof a[a[b]]),c={};for(let d of b)c[d]=a[d];return o.objectValues(c)},o.objectValues=a=>o.objectKeys(a).map(function(b){return a[b]}),o.objectKeys="function"==typeof Object.keys?a=>Object.keys(a):a=>{let b=[];for(let c in a)Object.prototype.hasOwnProperty.call(a,c)&&b.push(c);return b},o.find=(a,b)=>{for(let c of a)if(b(c))return c},o.isInteger="function"==typeof Number.isInteger?a=>Number.isInteger(a):a=>"number"==typeof a&&Number.isFinite(a)&&Math.floor(a)===a,o.joinValues=function(a,b=" | "){return a.map(a=>"string"==typeof a?`'${a}'`:a).join(b)},o.jsonStringifyReplacer=(a,b)=>"bigint"==typeof b?b.toString():b,(v||(v={})).mergeShapes=(a,b)=>({...a,...b});let f3=u.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),f4=a=>{switch(typeof a){case"undefined":return f3.undefined;case"string":return f3.string;case"number":return Number.isNaN(a)?f3.nan:f3.number;case"boolean":return f3.boolean;case"function":return f3.function;case"bigint":return f3.bigint;case"symbol":return f3.symbol;case"object":if(Array.isArray(a))return f3.array;if(null===a)return f3.null;if(a.then&&"function"==typeof a.then&&a.catch&&"function"==typeof a.catch)return f3.promise;if("u">typeof Map&&a instanceof Map)return f3.map;if("u">typeof Set&&a instanceof Set)return f3.set;if("u">typeof Date&&a instanceof Date)return f3.date;return f3.object;default:return f3.unknown}};a.s(["ZodParsedType",0,f3,"getParsedType",0,f4,"objectUtil",0,v,"util",0,u],609197);let f5=u.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),f6=a=>JSON.stringify(a,null,2).replace(/"([^"]+)":/g,"$1:");class f7 extends Error{get errors(){return this.issues}constructor(a){super(),this.issues=[],this.addIssue=a=>{this.issues=[...this.issues,a]},this.addIssues=(a=[])=>{this.issues=[...this.issues,...a]};const b=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,b):this.__proto__=b,this.name="ZodError",this.issues=a}format(a){let b=a||function(a){return a.message},c={_errors:[]},d=a=>{for(let e of a.issues)if("invalid_union"===e.code)e.unionErrors.map(d);else if("invalid_return_type"===e.code)d(e.returnTypeError);else if("invalid_arguments"===e.code)d(e.argumentsError);else if(0===e.path.length)c._errors.push(b(e));else{let a=c,d=0;for(;d<e.path.length;){let c=e.path[d];d===e.path.length-1?(a[c]=a[c]||{_errors:[]},a[c]._errors.push(b(e))):a[c]=a[c]||{_errors:[]},a=a[c],d++}}};return d(this),c}static assert(a){if(!(a instanceof f7))throw Error(`Not a ZodError: ${a}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,u.jsonStringifyReplacer,2)}get isEmpty(){return 0===this.issues.length}flatten(a=a=>a.message){let b=Object.create(null),c=[];for(let d of this.issues)if(d.path.length>0){let c=d.path[0];b[c]=b[c]||[],b[c].push(a(d))}else c.push(a(d));return{formErrors:c,fieldErrors:b}}get formErrors(){return this.flatten()}}f7.create=a=>new f7(a),a.s(["ZodError",0,f7,"ZodIssueCode",0,f5,"quotelessJson",0,f6],481440);let f8=(a,b)=>{let c;switch(a.code){case f5.invalid_type:c=a.received===f3.undefined?"Required":`Expected ${a.expected}, received ${a.received}`;break;case f5.invalid_literal:c=`Invalid literal value, expected ${JSON.stringify(a.expected,u.jsonStringifyReplacer)}`;break;case f5.unrecognized_keys:c=`Unrecognized key(s) in object: ${u.joinValues(a.keys,", ")}`;break;case f5.invalid_union:c="Invalid input";break;case f5.invalid_union_discriminator:c=`Invalid discriminator value. Expected ${u.joinValues(a.options)}`;break;case f5.invalid_enum_value:c=`Invalid enum value. Expected ${u.joinValues(a.options)}, received '${a.received}'`;break;case f5.invalid_arguments:c="Invalid function arguments";break;case f5.invalid_return_type:c="Invalid function return type";break;case f5.invalid_date:c="Invalid date";break;case f5.invalid_string:"object"==typeof a.validation?"includes"in a.validation?(c=`Invalid input: must include "${a.validation.includes}"`,"number"==typeof a.validation.position&&(c=`${c} at one or more positions greater than or equal to ${a.validation.position}`)):"startsWith"in a.validation?c=`Invalid input: must start with "${a.validation.startsWith}"`:"endsWith"in a.validation?c=`Invalid input: must end with "${a.validation.endsWith}"`:u.assertNever(a.validation):c="regex"!==a.validation?`Invalid ${a.validation}`:"Invalid";break;case f5.too_small:c="array"===a.type?`Array must contain ${a.exact?"exactly":a.inclusive?"at least":"more than"} ${a.minimum} element(s)`:"string"===a.type?`String must contain ${a.exact?"exactly":a.inclusive?"at least":"over"} ${a.minimum} character(s)`:"number"===a.type||"bigint"===a.type?`Number must be ${a.exact?"exactly equal to ":a.inclusive?"greater than or equal to ":"greater than "}${a.minimum}`:"date"===a.type?`Date must be ${a.exact?"exactly equal to ":a.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(a.minimum))}`:"Invalid input";break;case f5.too_big:c="array"===a.type?`Array must contain ${a.exact?"exactly":a.inclusive?"at most":"less than"} ${a.maximum} element(s)`:"string"===a.type?`String must contain ${a.exact?"exactly":a.inclusive?"at most":"under"} ${a.maximum} character(s)`:"number"===a.type?`Number must be ${a.exact?"exactly":a.inclusive?"less than or equal to":"less than"} ${a.maximum}`:"bigint"===a.type?`BigInt must be ${a.exact?"exactly":a.inclusive?"less than or equal to":"less than"} ${a.maximum}`:"date"===a.type?`Date must be ${a.exact?"exactly":a.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(a.maximum))}`:"Invalid input";break;case f5.custom:c="Invalid input";break;case f5.invalid_intersection_types:c="Intersection results could not be merged";break;case f5.not_multiple_of:c=`Number must be a multiple of ${a.multipleOf}`;break;case f5.not_finite:c="Number must be finite";break;default:c=b.defaultError,u.assertNever(a)}return{message:c}},f9=f8;function ga(a){f9=a}function gb(){return f9}a.s(["getErrorMap",0,gb,"setErrorMap",0,ga],929415),(p=w||(w={})).errToObj=a=>"string"==typeof a?{message:a}:a||{},p.toString=a=>"string"==typeof a?a:a?.message;let gc=a=>{let{data:b,path:c,errorMaps:d,issueData:e}=a,f=[...c,...e.path||[]],g={...e,path:f};if(void 0!==e.message)return{...e,path:f,message:e.message};let h="";for(let a of d.filter(a=>!!a).slice().reverse())h=a(g,{data:b,defaultError:h}).message;return{...e,path:f,message:h}},gd=[];function ge(a,b){let c=gb(),d=gc({issueData:b,data:a.data,path:a.path,errorMaps:[a.common.contextualErrorMap,a.schemaErrorMap,c,c===f8?void 0:f8].filter(a=>!!a)});a.common.issues.push(d)}class gf{constructor(){this.value="valid"}dirty(){"valid"===this.value&&(this.value="dirty")}abort(){"aborted"!==this.value&&(this.value="aborted")}static mergeArray(a,b){let c=[];for(let d of b){if("aborted"===d.status)return gg;"dirty"===d.status&&a.dirty(),c.push(d.value)}return{status:a.value,value:c}}static async mergeObjectAsync(a,b){let c=[];for(let a of b){let b=await a.key,d=await a.value;c.push({key:b,value:d})}return gf.mergeObjectSync(a,c)}static mergeObjectSync(a,b){let c={};for(let d of b){let{key:b,value:e}=d;if("aborted"===b.status||"aborted"===e.status)return gg;"dirty"===b.status&&a.dirty(),"dirty"===e.status&&a.dirty(),"__proto__"!==b.value&&(void 0!==e.value||d.alwaysSet)&&(c[b.value]=e.value)}return{status:a.value,value:c}}}let gg=Object.freeze({status:"aborted"}),gh=a=>({status:"dirty",value:a}),gi=a=>({status:"valid",value:a}),gj=a=>"aborted"===a.status,gk=a=>"dirty"===a.status,gl=a=>"valid"===a.status,gm=a=>"u">typeof Promise&&a instanceof Promise;a.s(["DIRTY",0,gh,"EMPTY_PATH",0,gd,"INVALID",0,gg,"OK",0,gi,"ParseStatus",0,gf,"addIssueToContext",0,ge,"isAborted",0,gj,"isAsync",0,gm,"isDirty",0,gk,"isValid",0,gl,"makeIssue",0,gc],285244);class gn{constructor(a,b,c,d){this._cachedPath=[],this.parent=a,this.data=b,this._path=c,this._key=d}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}let go=(a,b)=>{if(gl(b))return{success:!0,data:b.value};if(!a.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let b=new f7(a.common.issues);return this._error=b,this._error}}};function gp(a){if(!a)return{};let{errorMap:b,invalid_type_error:c,required_error:d,description:e}=a;if(b&&(c||d))throw Error('Can\'t use "invalid_type_error" or "required_error" in conjunction with custom error map.');return b?{errorMap:b,description:e}:{errorMap:(b,e)=>{let{message:f}=a;return"invalid_enum_value"===b.code?{message:f??e.defaultError}:void 0===e.data?{message:f??d??e.defaultError}:"invalid_type"!==b.code?{message:e.defaultError}:{message:f??c??e.defaultError}},description:e}}class gq{get description(){return this._def.description}_getType(a){return f4(a.data)}_getOrReturnCtx(a,b){return b||{common:a.parent.common,data:a.data,parsedType:f4(a.data),schemaErrorMap:this._def.errorMap,path:a.path,parent:a.parent}}_processInputParams(a){return{status:new gf,ctx:{common:a.parent.common,data:a.data,parsedType:f4(a.data),schemaErrorMap:this._def.errorMap,path:a.path,parent:a.parent}}}_parseSync(a){let b=this._parse(a);if(gm(b))throw Error("Synchronous parse encountered promise.");return b}_parseAsync(a){return Promise.resolve(this._parse(a))}parse(a,b){let c=this.safeParse(a,b);if(c.success)return c.data;throw c.error}safeParse(a,b){let c={common:{issues:[],async:b?.async??!1,contextualErrorMap:b?.errorMap},path:b?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:a,parsedType:f4(a)},d=this._parseSync({data:a,path:c.path,parent:c});return go(c,d)}"~validate"(a){let b={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:a,parsedType:f4(a)};if(!this["~standard"].async)try{let c=this._parseSync({data:a,path:[],parent:b});return gl(c)?{value:c.value}:{issues:b.common.issues}}catch(a){a?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),b.common={issues:[],async:!0}}return this._parseAsync({data:a,path:[],parent:b}).then(a=>gl(a)?{value:a.value}:{issues:b.common.issues})}async parseAsync(a,b){let c=await this.safeParseAsync(a,b);if(c.success)return c.data;throw c.error}async safeParseAsync(a,b){let c={common:{issues:[],contextualErrorMap:b?.errorMap,async:!0},path:b?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:a,parsedType:f4(a)},d=this._parse({data:a,path:c.path,parent:c});return go(c,await (gm(d)?d:Promise.resolve(d)))}refine(a,b){return this._refinement((c,d)=>{let e=a(c),f=()=>d.addIssue({code:f5.custom,..."string"==typeof b||void 0===b?{message:b}:"function"==typeof b?b(c):b});return"u">typeof Promise&&e instanceof Promise?e.then(a=>!!a||(f(),!1)):!!e||(f(),!1)})}refinement(a,b){return this._refinement((c,d)=>!!a(c)||(d.addIssue("function"==typeof b?b(c,d):b),!1))}_refinement(a){return new ha({schema:this,typeName:x.ZodEffects,effect:{type:"refinement",refinement:a}})}superRefine(a){return this._refinement(a)}constructor(a){this.spa=this.safeParseAsync,this._def=a,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:a=>this["~validate"](a)}}optional(){return hb.create(this,this._def)}nullable(){return hc.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return gV.create(this)}promise(){return g9.create(this,this._def)}or(a){return gX.create([this,a],this._def)}and(a){return g$.create(this,a,this._def)}transform(a){return new ha({...gp(this._def),schema:this,typeName:x.ZodEffects,effect:{type:"transform",transform:a}})}default(a){return new hd({...gp(this._def),innerType:this,defaultValue:"function"==typeof a?a:()=>a,typeName:x.ZodDefault})}brand(){return new hh({typeName:x.ZodBranded,type:this,...gp(this._def)})}catch(a){return new he({...gp(this._def),innerType:this,catchValue:"function"==typeof a?a:()=>a,typeName:x.ZodCatch})}describe(a){return new this.constructor({...this._def,description:a})}pipe(a){return hi.create(this,a)}readonly(){return hj.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}let gr=/^c[^\s-]{8,}$/i,gs=/^[0-9a-z]+$/,gt=/^[0-9A-HJKMNP-TV-Z]{26}$/i,gu=/^[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}$/i,gv=/^[a-z0-9_-]{21}$/i,gw=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,gx=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,gy=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,gz=/^(?:(?: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])$/,gA=/^(?:(?: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])$/,gB=/^(([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]))$/,gC=/^(([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])$/,gD=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,gE=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,gF="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",gG=RegExp(`^${gF}$`);function gH(a){let b="[0-5]\\d";a.precision?b=`${b}\\.\\d{${a.precision}}`:null==a.precision&&(b=`${b}(\\.\\d+)?`);let c=a.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${b})${c}`}function gI(a){let b=`${gF}T${gH(a)}`,c=[];return c.push(a.local?"Z?":"Z"),a.offset&&c.push("([+-]\\d{2}:?\\d{2})"),b=`${b}(${c.join("|")})`,RegExp(`^${b}$`)}class gJ extends gq{_parse(a){var b,c,d,e;let f;if(this._def.coerce&&(a.data=String(a.data)),this._getType(a)!==f3.string){let b=this._getOrReturnCtx(a);return ge(b,{code:f5.invalid_type,expected:f3.string,received:b.parsedType}),gg}let g=new gf;for(let i of this._def.checks)if("min"===i.kind)a.data.length<i.value&&(ge(f=this._getOrReturnCtx(a,f),{code:f5.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),g.dirty());else if("max"===i.kind)a.data.length>i.value&&(ge(f=this._getOrReturnCtx(a,f),{code:f5.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),g.dirty());else if("length"===i.kind){let b=a.data.length>i.value,c=a.data.length<i.value;(b||c)&&(f=this._getOrReturnCtx(a,f),b?ge(f,{code:f5.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}):c&&ge(f,{code:f5.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}),g.dirty())}else if("email"===i.kind)gy.test(a.data)||(ge(f=this._getOrReturnCtx(a,f),{validation:"email",code:f5.invalid_string,message:i.message}),g.dirty());else if("emoji"===i.kind)h||(h=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),h.test(a.data)||(ge(f=this._getOrReturnCtx(a,f),{validation:"emoji",code:f5.invalid_string,message:i.message}),g.dirty());else if("uuid"===i.kind)gu.test(a.data)||(ge(f=this._getOrReturnCtx(a,f),{validation:"uuid",code:f5.invalid_string,message:i.message}),g.dirty());else if("nanoid"===i.kind)gv.test(a.data)||(ge(f=this._getOrReturnCtx(a,f),{validation:"nanoid",code:f5.invalid_string,message:i.message}),g.dirty());else if("cuid"===i.kind)gr.test(a.data)||(ge(f=this._getOrReturnCtx(a,f),{validation:"cuid",code:f5.invalid_string,message:i.message}),g.dirty());else if("cuid2"===i.kind)gs.test(a.data)||(ge(f=this._getOrReturnCtx(a,f),{validation:"cuid2",code:f5.invalid_string,message:i.message}),g.dirty());else if("ulid"===i.kind)gt.test(a.data)||(ge(f=this._getOrReturnCtx(a,f),{validation:"ulid",code:f5.invalid_string,message:i.message}),g.dirty());else if("url"===i.kind)try{new URL(a.data)}catch{ge(f=this._getOrReturnCtx(a,f),{validation:"url",code:f5.invalid_string,message:i.message}),g.dirty()}else"regex"===i.kind?(i.regex.lastIndex=0,i.regex.test(a.data)||(ge(f=this._getOrReturnCtx(a,f),{validation:"regex",code:f5.invalid_string,message:i.message}),g.dirty())):"trim"===i.kind?a.data=a.data.trim():"includes"===i.kind?a.data.includes(i.value,i.position)||(ge(f=this._getOrReturnCtx(a,f),{code:f5.invalid_string,validation:{includes:i.value,position:i.position},message:i.message}),g.dirty()):"toLowerCase"===i.kind?a.data=a.data.toLowerCase():"toUpperCase"===i.kind?a.data=a.data.toUpperCase():"startsWith"===i.kind?a.data.startsWith(i.value)||(ge(f=this._getOrReturnCtx(a,f),{code:f5.invalid_string,validation:{startsWith:i.value},message:i.message}),g.dirty()):"endsWith"===i.kind?a.data.endsWith(i.value)||(ge(f=this._getOrReturnCtx(a,f),{code:f5.invalid_string,validation:{endsWith:i.value},message:i.message}),g.dirty()):"datetime"===i.kind?gI(i).test(a.data)||(ge(f=this._getOrReturnCtx(a,f),{code:f5.invalid_string,validation:"datetime",message:i.message}),g.dirty()):"date"===i.kind?gG.test(a.data)||(ge(f=this._getOrReturnCtx(a,f),{code:f5.invalid_string,validation:"date",message:i.message}),g.dirty()):"time"===i.kind?RegExp(`^${gH(i)}$`).test(a.data)||(ge(f=this._getOrReturnCtx(a,f),{code:f5.invalid_string,validation:"time",message:i.message}),g.dirty()):"duration"===i.kind?gx.test(a.data)||(ge(f=this._getOrReturnCtx(a,f),{validation:"duration",code:f5.invalid_string,message:i.message}),g.dirty()):"ip"===i.kind?(b=a.data,!(("v4"===(c=i.version)||!c)&&gz.test(b)||("v6"===c||!c)&&gB.test(b))&&1&&(ge(f=this._getOrReturnCtx(a,f),{validation:"ip",code:f5.invalid_string,message:i.message}),g.dirty())):"jwt"===i.kind?!function(a,b){if(!gw.test(a))return!1;try{let[c]=a.split(".");if(!c)return!1;let d=c.replace(/-/g,"+").replace(/_/g,"/").padEnd(c.length+(4-c.length%4)%4,"="),e=JSON.parse(atob(d));if("object"!=typeof e||null===e||"typ"in e&&e?.typ!=="JWT"||!e.alg||b&&e.alg!==b)return!1;return!0}catch{return!1}}(a.data,i.alg)&&(ge(f=this._getOrReturnCtx(a,f),{validation:"jwt",code:f5.invalid_string,message:i.message}),g.dirty()):"cidr"===i.kind?(d=a.data,!(("v4"===(e=i.version)||!e)&&gA.test(d)||("v6"===e||!e)&&gC.test(d))&&1&&(ge(f=this._getOrReturnCtx(a,f),{validation:"cidr",code:f5.invalid_string,message:i.message}),g.dirty())):"base64"===i.kind?gD.test(a.data)||(ge(f=this._getOrReturnCtx(a,f),{validation:"base64",code:f5.invalid_string,message:i.message}),g.dirty()):"base64url"===i.kind?gE.test(a.data)||(ge(f=this._getOrReturnCtx(a,f),{validation:"base64url",code:f5.invalid_string,message:i.message}),g.dirty()):u.assertNever(i);return{status:g.value,value:a.data}}_regex(a,b,c){return this.refinement(b=>a.test(b),{validation:b,code:f5.invalid_string,...w.errToObj(c)})}_addCheck(a){return new gJ({...this._def,checks:[...this._def.checks,a]})}email(a){return this._addCheck({kind:"email",...w.errToObj(a)})}url(a){return this._addCheck({kind:"url",...w.errToObj(a)})}emoji(a){return this._addCheck({kind:"emoji",...w.errToObj(a)})}uuid(a){return this._addCheck({kind:"uuid",...w.errToObj(a)})}nanoid(a){return this._addCheck({kind:"nanoid",...w.errToObj(a)})}cuid(a){return this._addCheck({kind:"cuid",...w.errToObj(a)})}cuid2(a){return this._addCheck({kind:"cuid2",...w.errToObj(a)})}ulid(a){return this._addCheck({kind:"ulid",...w.errToObj(a)})}base64(a){return this._addCheck({kind:"base64",...w.errToObj(a)})}base64url(a){return this._addCheck({kind:"base64url",...w.errToObj(a)})}jwt(a){return this._addCheck({kind:"jwt",...w.errToObj(a)})}ip(a){return this._addCheck({kind:"ip",...w.errToObj(a)})}cidr(a){return this._addCheck({kind:"cidr",...w.errToObj(a)})}datetime(a){return"string"==typeof a?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:a}):this._addCheck({kind:"datetime",precision:void 0===a?.precision?null:a?.precision,offset:a?.offset??!1,local:a?.local??!1,...w.errToObj(a?.message)})}date(a){return this._addCheck({kind:"date",message:a})}time(a){return"string"==typeof a?this._addCheck({kind:"time",precision:null,message:a}):this._addCheck({kind:"time",precision:void 0===a?.precision?null:a?.precision,...w.errToObj(a?.message)})}duration(a){return this._addCheck({kind:"duration",...w.errToObj(a)})}regex(a,b){return this._addCheck({kind:"regex",regex:a,...w.errToObj(b)})}includes(a,b){return this._addCheck({kind:"includes",value:a,position:b?.position,...w.errToObj(b?.message)})}startsWith(a,b){return this._addCheck({kind:"startsWith",value:a,...w.errToObj(b)})}endsWith(a,b){return this._addCheck({kind:"endsWith",value:a,...w.errToObj(b)})}min(a,b){return this._addCheck({kind:"min",value:a,...w.errToObj(b)})}max(a,b){return this._addCheck({kind:"max",value:a,...w.errToObj(b)})}length(a,b){return this._addCheck({kind:"length",value:a,...w.errToObj(b)})}nonempty(a){return this.min(1,w.errToObj(a))}trim(){return new gJ({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new gJ({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new gJ({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(a=>"datetime"===a.kind)}get isDate(){return!!this._def.checks.find(a=>"date"===a.kind)}get isTime(){return!!this._def.checks.find(a=>"time"===a.kind)}get isDuration(){return!!this._def.checks.find(a=>"duration"===a.kind)}get isEmail(){return!!this._def.checks.find(a=>"email"===a.kind)}get isURL(){return!!this._def.checks.find(a=>"url"===a.kind)}get isEmoji(){return!!this._def.checks.find(a=>"emoji"===a.kind)}get isUUID(){return!!this._def.checks.find(a=>"uuid"===a.kind)}get isNANOID(){return!!this._def.checks.find(a=>"nanoid"===a.kind)}get isCUID(){return!!this._def.checks.find(a=>"cuid"===a.kind)}get isCUID2(){return!!this._def.checks.find(a=>"cuid2"===a.kind)}get isULID(){return!!this._def.checks.find(a=>"ulid"===a.kind)}get isIP(){return!!this._def.checks.find(a=>"ip"===a.kind)}get isCIDR(){return!!this._def.checks.find(a=>"cidr"===a.kind)}get isBase64(){return!!this._def.checks.find(a=>"base64"===a.kind)}get isBase64url(){return!!this._def.checks.find(a=>"base64url"===a.kind)}get minLength(){let a=null;for(let b of this._def.checks)"min"===b.kind&&(null===a||b.value>a)&&(a=b.value);return a}get maxLength(){let a=null;for(let b of this._def.checks)"max"===b.kind&&(null===a||b.value<a)&&(a=b.value);return a}}gJ.create=a=>new gJ({checks:[],typeName:x.ZodString,coerce:a?.coerce??!1,...gp(a)});class gK extends gq{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(a){let b;if(this._def.coerce&&(a.data=Number(a.data)),this._getType(a)!==f3.number){let b=this._getOrReturnCtx(a);return ge(b,{code:f5.invalid_type,expected:f3.number,received:b.parsedType}),gg}let c=new gf;for(let d of this._def.checks)"int"===d.kind?u.isInteger(a.data)||(ge(b=this._getOrReturnCtx(a,b),{code:f5.invalid_type,expected:"integer",received:"float",message:d.message}),c.dirty()):"min"===d.kind?(d.inclusive?a.data<d.value:a.data<=d.value)&&(ge(b=this._getOrReturnCtx(a,b),{code:f5.too_small,minimum:d.value,type:"number",inclusive:d.inclusive,exact:!1,message:d.message}),c.dirty()):"max"===d.kind?(d.inclusive?a.data>d.value:a.data>=d.value)&&(ge(b=this._getOrReturnCtx(a,b),{code:f5.too_big,maximum:d.value,type:"number",inclusive:d.inclusive,exact:!1,message:d.message}),c.dirty()):"multipleOf"===d.kind?0!==function(a,b){let c=(a.toString().split(".")[1]||"").length,d=(b.toString().split(".")[1]||"").length,e=c>d?c:d;return Number.parseInt(a.toFixed(e).replace(".",""))%Number.parseInt(b.toFixed(e).replace(".",""))/10**e}(a.data,d.value)&&(ge(b=this._getOrReturnCtx(a,b),{code:f5.not_multiple_of,multipleOf:d.value,message:d.message}),c.dirty()):"finite"===d.kind?Number.isFinite(a.data)||(ge(b=this._getOrReturnCtx(a,b),{code:f5.not_finite,message:d.message}),c.dirty()):u.assertNever(d);return{status:c.value,value:a.data}}gte(a,b){return this.setLimit("min",a,!0,w.toString(b))}gt(a,b){return this.setLimit("min",a,!1,w.toString(b))}lte(a,b){return this.setLimit("max",a,!0,w.toString(b))}lt(a,b){return this.setLimit("max",a,!1,w.toString(b))}setLimit(a,b,c,d){return new gK({...this._def,checks:[...this._def.checks,{kind:a,value:b,inclusive:c,message:w.toString(d)}]})}_addCheck(a){return new gK({...this._def,checks:[...this._def.checks,a]})}int(a){return this._addCheck({kind:"int",message:w.toString(a)})}positive(a){return this._addCheck({kind:"min",value:0,inclusive:!1,message:w.toString(a)})}negative(a){return this._addCheck({kind:"max",value:0,inclusive:!1,message:w.toString(a)})}nonpositive(a){return this._addCheck({kind:"max",value:0,inclusive:!0,message:w.toString(a)})}nonnegative(a){return this._addCheck({kind:"min",value:0,inclusive:!0,message:w.toString(a)})}multipleOf(a,b){return this._addCheck({kind:"multipleOf",value:a,message:w.toString(b)})}finite(a){return this._addCheck({kind:"finite",message:w.toString(a)})}safe(a){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:w.toString(a)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:w.toString(a)})}get minValue(){let a=null;for(let b of this._def.checks)"min"===b.kind&&(null===a||b.value>a)&&(a=b.value);return a}get maxValue(){let a=null;for(let b of this._def.checks)"max"===b.kind&&(null===a||b.value<a)&&(a=b.value);return a}get isInt(){return!!this._def.checks.find(a=>"int"===a.kind||"multipleOf"===a.kind&&u.isInteger(a.value))}get isFinite(){let a=null,b=null;for(let c of this._def.checks)if("finite"===c.kind||"int"===c.kind||"multipleOf"===c.kind)return!0;else"min"===c.kind?(null===b||c.value>b)&&(b=c.value):"max"===c.kind&&(null===a||c.value<a)&&(a=c.value);return Number.isFinite(b)&&Number.isFinite(a)}}gK.create=a=>new gK({checks:[],typeName:x.ZodNumber,coerce:a?.coerce||!1,...gp(a)});class gL extends gq{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(a){let b;if(this._def.coerce)try{a.data=BigInt(a.data)}catch{return this._getInvalidInput(a)}if(this._getType(a)!==f3.bigint)return this._getInvalidInput(a);let c=new gf;for(let d of this._def.checks)"min"===d.kind?(d.inclusive?a.data<d.value:a.data<=d.value)&&(ge(b=this._getOrReturnCtx(a,b),{code:f5.too_small,type:"bigint",minimum:d.value,inclusive:d.inclusive,message:d.message}),c.dirty()):"max"===d.kind?(d.inclusive?a.data>d.value:a.data>=d.value)&&(ge(b=this._getOrReturnCtx(a,b),{code:f5.too_big,type:"bigint",maximum:d.value,inclusive:d.inclusive,message:d.message}),c.dirty()):"multipleOf"===d.kind?a.data%d.value!==BigInt(0)&&(ge(b=this._getOrReturnCtx(a,b),{code:f5.not_multiple_of,multipleOf:d.value,message:d.message}),c.dirty()):u.assertNever(d);return{status:c.value,value:a.data}}_getInvalidInput(a){let b=this._getOrReturnCtx(a);return ge(b,{code:f5.invalid_type,expected:f3.bigint,received:b.parsedType}),gg}gte(a,b){return this.setLimit("min",a,!0,w.toString(b))}gt(a,b){return this.setLimit("min",a,!1,w.toString(b))}lte(a,b){return this.setLimit("max",a,!0,w.toString(b))}lt(a,b){return this.setLimit("max",a,!1,w.toString(b))}setLimit(a,b,c,d){return new gL({...this._def,checks:[...this._def.checks,{kind:a,value:b,inclusive:c,message:w.toString(d)}]})}_addCheck(a){return new gL({...this._def,checks:[...this._def.checks,a]})}positive(a){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:w.toString(a)})}negative(a){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:w.toString(a)})}nonpositive(a){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:w.toString(a)})}nonnegative(a){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:w.toString(a)})}multipleOf(a,b){return this._addCheck({kind:"multipleOf",value:a,message:w.toString(b)})}get minValue(){let a=null;for(let b of this._def.checks)"min"===b.kind&&(null===a||b.value>a)&&(a=b.value);return a}get maxValue(){let a=null;for(let b of this._def.checks)"max"===b.kind&&(null===a||b.value<a)&&(a=b.value);return a}}gL.create=a=>new gL({checks:[],typeName:x.ZodBigInt,coerce:a?.coerce??!1,...gp(a)});class gM extends gq{_parse(a){if(this._def.coerce&&(a.data=!!a.data),this._getType(a)!==f3.boolean){let b=this._getOrReturnCtx(a);return ge(b,{code:f5.invalid_type,expected:f3.boolean,received:b.parsedType}),gg}return gi(a.data)}}gM.create=a=>new gM({typeName:x.ZodBoolean,coerce:a?.coerce||!1,...gp(a)});class gN extends gq{_parse(a){let b;if(this._def.coerce&&(a.data=new Date(a.data)),this._getType(a)!==f3.date){let b=this._getOrReturnCtx(a);return ge(b,{code:f5.invalid_type,expected:f3.date,received:b.parsedType}),gg}if(Number.isNaN(a.data.getTime()))return ge(this._getOrReturnCtx(a),{code:f5.invalid_date}),gg;let c=new gf;for(let d of this._def.checks)"min"===d.kind?a.data.getTime()<d.value&&(ge(b=this._getOrReturnCtx(a,b),{code:f5.too_small,message:d.message,inclusive:!0,exact:!1,minimum:d.value,type:"date"}),c.dirty()):"max"===d.kind?a.data.getTime()>d.value&&(ge(b=this._getOrReturnCtx(a,b),{code:f5.too_big,message:d.message,inclusive:!0,exact:!1,maximum:d.value,type:"date"}),c.dirty()):u.assertNever(d);return{status:c.value,value:new Date(a.data.getTime())}}_addCheck(a){return new gN({...this._def,checks:[...this._def.checks,a]})}min(a,b){return this._addCheck({kind:"min",value:a.getTime(),message:w.toString(b)})}max(a,b){return this._addCheck({kind:"max",value:a.getTime(),message:w.toString(b)})}get minDate(){let a=null;for(let b of this._def.checks)"min"===b.kind&&(null===a||b.value>a)&&(a=b.value);return null!=a?new Date(a):null}get maxDate(){let a=null;for(let b of this._def.checks)"max"===b.kind&&(null===a||b.value<a)&&(a=b.value);return null!=a?new Date(a):null}}gN.create=a=>new gN({checks:[],coerce:a?.coerce||!1,typeName:x.ZodDate,...gp(a)});class gO extends gq{_parse(a){if(this._getType(a)!==f3.symbol){let b=this._getOrReturnCtx(a);return ge(b,{code:f5.invalid_type,expected:f3.symbol,received:b.parsedType}),gg}return gi(a.data)}}gO.create=a=>new gO({typeName:x.ZodSymbol,...gp(a)});class gP extends gq{_parse(a){if(this._getType(a)!==f3.undefined){let b=this._getOrReturnCtx(a);return ge(b,{code:f5.invalid_type,expected:f3.undefined,received:b.parsedType}),gg}return gi(a.data)}}gP.create=a=>new gP({typeName:x.ZodUndefined,...gp(a)});class gQ extends gq{_parse(a){if(this._getType(a)!==f3.null){let b=this._getOrReturnCtx(a);return ge(b,{code:f5.invalid_type,expected:f3.null,received:b.parsedType}),gg}return gi(a.data)}}gQ.create=a=>new gQ({typeName:x.ZodNull,...gp(a)});class gR extends gq{constructor(){super(...arguments),this._any=!0}_parse(a){return gi(a.data)}}gR.create=a=>new gR({typeName:x.ZodAny,...gp(a)});class gS extends gq{constructor(){super(...arguments),this._unknown=!0}_parse(a){return gi(a.data)}}gS.create=a=>new gS({typeName:x.ZodUnknown,...gp(a)});class gT extends gq{_parse(a){let b=this._getOrReturnCtx(a);return ge(b,{code:f5.invalid_type,expected:f3.never,received:b.parsedType}),gg}}gT.create=a=>new gT({typeName:x.ZodNever,...gp(a)});class gU extends gq{_parse(a){if(this._getType(a)!==f3.undefined){let b=this._getOrReturnCtx(a);return ge(b,{code:f5.invalid_type,expected:f3.void,received:b.parsedType}),gg}return gi(a.data)}}gU.create=a=>new gU({typeName:x.ZodVoid,...gp(a)});class gV extends gq{_parse(a){let{ctx:b,status:c}=this._processInputParams(a),d=this._def;if(b.parsedType!==f3.array)return ge(b,{code:f5.invalid_type,expected:f3.array,received:b.parsedType}),gg;if(null!==d.exactLength){let a=b.data.length>d.exactLength.value,e=b.data.length<d.exactLength.value;(a||e)&&(ge(b,{code:a?f5.too_big:f5.too_small,minimum:e?d.exactLength.value:void 0,maximum:a?d.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:d.exactLength.message}),c.dirty())}if(null!==d.minLength&&b.data.length<d.minLength.value&&(ge(b,{code:f5.too_small,minimum:d.minLength.value,type:"array",inclusive:!0,exact:!1,message:d.minLength.message}),c.dirty()),null!==d.maxLength&&b.data.length>d.maxLength.value&&(ge(b,{code:f5.too_big,maximum:d.maxLength.value,type:"array",inclusive:!0,exact:!1,message:d.maxLength.message}),c.dirty()),b.common.async)return Promise.all([...b.data].map((a,c)=>d.type._parseAsync(new gn(b,a,b.path,c)))).then(a=>gf.mergeArray(c,a));let e=[...b.data].map((a,c)=>d.type._parseSync(new gn(b,a,b.path,c)));return gf.mergeArray(c,e)}get element(){return this._def.type}min(a,b){return new gV({...this._def,minLength:{value:a,message:w.toString(b)}})}max(a,b){return new gV({...this._def,maxLength:{value:a,message:w.toString(b)}})}length(a,b){return new gV({...this._def,exactLength:{value:a,message:w.toString(b)}})}nonempty(a){return this.min(1,a)}}gV.create=(a,b)=>new gV({type:a,minLength:null,maxLength:null,exactLength:null,typeName:x.ZodArray,...gp(b)});class gW extends gq{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(null!==this._cached)return this._cached;let a=this._def.shape(),b=u.objectKeys(a);return this._cached={shape:a,keys:b},this._cached}_parse(a){if(this._getType(a)!==f3.object){let b=this._getOrReturnCtx(a);return ge(b,{code:f5.invalid_type,expected:f3.object,received:b.parsedType}),gg}let{status:b,ctx:c}=this._processInputParams(a),{shape:d,keys:e}=this._getCached(),f=[];if(!(this._def.catchall instanceof gT&&"strip"===this._def.unknownKeys))for(let a in c.data)e.includes(a)||f.push(a);let g=[];for(let a of e){let b=d[a],e=c.data[a];g.push({key:{status:"valid",value:a},value:b._parse(new gn(c,e,c.path,a)),alwaysSet:a in c.data})}if(this._def.catchall instanceof gT){let a=this._def.unknownKeys;if("passthrough"===a)for(let a of f)g.push({key:{status:"valid",value:a},value:{status:"valid",value:c.data[a]}});else if("strict"===a)f.length>0&&(ge(c,{code:f5.unrecognized_keys,keys:f}),b.dirty());else if("strip"===a);else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let a=this._def.catchall;for(let b of f){let d=c.data[b];g.push({key:{status:"valid",value:b},value:a._parse(new gn(c,d,c.path,b)),alwaysSet:b in c.data})}}return c.common.async?Promise.resolve().then(async()=>{let a=[];for(let b of g){let c=await b.key,d=await b.value;a.push({key:c,value:d,alwaysSet:b.alwaysSet})}return a}).then(a=>gf.mergeObjectSync(b,a)):gf.mergeObjectSync(b,g)}get shape(){return this._def.shape()}strict(a){return w.errToObj,new gW({...this._def,unknownKeys:"strict",...void 0!==a?{errorMap:(b,c)=>{let d=this._def.errorMap?.(b,c).message??c.defaultError;return"unrecognized_keys"===b.code?{message:w.errToObj(a).message??d}:{message:d}}}:{}})}strip(){return new gW({...this._def,unknownKeys:"strip"})}passthrough(){return new gW({...this._def,unknownKeys:"passthrough"})}extend(a){return new gW({...this._def,shape:()=>({...this._def.shape(),...a})})}merge(a){return new gW({unknownKeys:a._def.unknownKeys,catchall:a._def.catchall,shape:()=>({...this._def.shape(),...a._def.shape()}),typeName:x.ZodObject})}setKey(a,b){return this.augment({[a]:b})}catchall(a){return new gW({...this._def,catchall:a})}pick(a){let b={};for(let c of u.objectKeys(a))a[c]&&this.shape[c]&&(b[c]=this.shape[c]);return new gW({...this._def,shape:()=>b})}omit(a){let b={};for(let c of u.objectKeys(this.shape))a[c]||(b[c]=this.shape[c]);return new gW({...this._def,shape:()=>b})}deepPartial(){return function a(b){if(b instanceof gW){let c={};for(let d in b.shape){let e=b.shape[d];c[d]=hb.create(a(e))}return new gW({...b._def,shape:()=>c})}if(b instanceof gV)return new gV({...b._def,type:a(b.element)});if(b instanceof hb)return hb.create(a(b.unwrap()));if(b instanceof hc)return hc.create(a(b.unwrap()));if(b instanceof g_)return g_.create(b.items.map(b=>a(b)));else return b}(this)}partial(a){let b={};for(let c of u.objectKeys(this.shape)){let d=this.shape[c];a&&!a[c]?b[c]=d:b[c]=d.optional()}return new gW({...this._def,shape:()=>b})}required(a){let b={};for(let c of u.objectKeys(this.shape))if(a&&!a[c])b[c]=this.shape[c];else{let a=this.shape[c];for(;a instanceof hb;)a=a._def.innerType;b[c]=a}return new gW({...this._def,shape:()=>b})}keyof(){return g6(u.objectKeys(this.shape))}}gW.create=(a,b)=>new gW({shape:()=>a,unknownKeys:"strip",catchall:gT.create(),typeName:x.ZodObject,...gp(b)}),gW.strictCreate=(a,b)=>new gW({shape:()=>a,unknownKeys:"strict",catchall:gT.create(),typeName:x.ZodObject,...gp(b)}),gW.lazycreate=(a,b)=>new gW({shape:a,unknownKeys:"strip",catchall:gT.create(),typeName:x.ZodObject,...gp(b)});class gX extends gq{_parse(a){let{ctx:b}=this._processInputParams(a),c=this._def.options;if(b.common.async)return Promise.all(c.map(async a=>{let c={...b,common:{...b.common,issues:[]},parent:null};return{result:await a._parseAsync({data:b.data,path:b.path,parent:c}),ctx:c}})).then(function(a){for(let b of a)if("valid"===b.result.status)return b.result;for(let c of a)if("dirty"===c.result.status)return b.common.issues.push(...c.ctx.common.issues),c.result;let c=a.map(a=>new f7(a.ctx.common.issues));return ge(b,{code:f5.invalid_union,unionErrors:c}),gg});{let a,d=[];for(let e of c){let c={...b,common:{...b.common,issues:[]},parent:null},f=e._parseSync({data:b.data,path:b.path,parent:c});if("valid"===f.status)return f;"dirty"!==f.status||a||(a={result:f,ctx:c}),c.common.issues.length&&d.push(c.common.issues)}if(a)return b.common.issues.push(...a.ctx.common.issues),a.result;let e=d.map(a=>new f7(a));return ge(b,{code:f5.invalid_union,unionErrors:e}),gg}}get options(){return this._def.options}}gX.create=(a,b)=>new gX({options:a,typeName:x.ZodUnion,...gp(b)});let gY=a=>{if(a instanceof g4)return gY(a.schema);if(a instanceof ha)return gY(a.innerType());if(a instanceof g5)return[a.value];if(a instanceof g7)return a.options;if(a instanceof g8)return u.objectValues(a.enum);else if(a instanceof hd)return gY(a._def.innerType);else if(a instanceof gP)return[void 0];else if(a instanceof gQ)return[null];else if(a instanceof hb)return[void 0,...gY(a.unwrap())];else if(a instanceof hc)return[null,...gY(a.unwrap())];else if(a instanceof hh)return gY(a.unwrap());else if(a instanceof hj)return gY(a.unwrap());else if(a instanceof he)return gY(a._def.innerType);else return[]};class gZ extends gq{_parse(a){let{ctx:b}=this._processInputParams(a);if(b.parsedType!==f3.object)return ge(b,{code:f5.invalid_type,expected:f3.object,received:b.parsedType}),gg;let c=this.discriminator,d=b.data[c],e=this.optionsMap.get(d);return e?b.common.async?e._parseAsync({data:b.data,path:b.path,parent:b}):e._parseSync({data:b.data,path:b.path,parent:b}):(ge(b,{code:f5.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[c]}),gg)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(a,b,c){let d=new Map;for(let c of b){let b=gY(c.shape[a]);if(!b.length)throw Error(`A discriminator value for key \`${a}\` could not be extracted from all schema options`);for(let e of b){if(d.has(e))throw Error(`Discriminator property ${String(a)} has duplicate value ${String(e)}`);d.set(e,c)}}return new gZ({typeName:x.ZodDiscriminatedUnion,discriminator:a,options:b,optionsMap:d,...gp(c)})}}class g$ extends gq{_parse(a){let{status:b,ctx:c}=this._processInputParams(a),d=(a,d)=>{if(gj(a)||gj(d))return gg;let e=function a(b,c){let d=f4(b),e=f4(c);if(b===c)return{valid:!0,data:b};if(d===f3.object&&e===f3.object){let d=u.objectKeys(c),e=u.objectKeys(b).filter(a=>-1!==d.indexOf(a)),f={...b,...c};for(let d of e){let e=a(b[d],c[d]);if(!e.valid)return{valid:!1};f[d]=e.data}return{valid:!0,data:f}}if(d===f3.array&&e===f3.array){if(b.length!==c.length)return{valid:!1};let d=[];for(let e=0;e<b.length;e++){let f=a(b[e],c[e]);if(!f.valid)return{valid:!1};d.push(f.data)}return{valid:!0,data:d}}if(d===f3.date&&e===f3.date&&+b==+c)return{valid:!0,data:b};return{valid:!1}}(a.value,d.value);return e.valid?((gk(a)||gk(d))&&b.dirty(),{status:b.value,value:e.data}):(ge(c,{code:f5.invalid_intersection_types}),gg)};return c.common.async?Promise.all([this._def.left._parseAsync({data:c.data,path:c.path,parent:c}),this._def.right._parseAsync({data:c.data,path:c.path,parent:c})]).then(([a,b])=>d(a,b)):d(this._def.left._parseSync({data:c.data,path:c.path,parent:c}),this._def.right._parseSync({data:c.data,path:c.path,parent:c}))}}g$.create=(a,b,c)=>new g$({left:a,right:b,typeName:x.ZodIntersection,...gp(c)});class g_ extends gq{_parse(a){let{status:b,ctx:c}=this._processInputParams(a);if(c.parsedType!==f3.array)return ge(c,{code:f5.invalid_type,expected:f3.array,received:c.parsedType}),gg;if(c.data.length<this._def.items.length)return ge(c,{code:f5.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),gg;!this._def.rest&&c.data.length>this._def.items.length&&(ge(c,{code:f5.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),b.dirty());let d=[...c.data].map((a,b)=>{let d=this._def.items[b]||this._def.rest;return d?d._parse(new gn(c,a,c.path,b)):null}).filter(a=>!!a);return c.common.async?Promise.all(d).then(a=>gf.mergeArray(b,a)):gf.mergeArray(b,d)}get items(){return this._def.items}rest(a){return new g_({...this._def,rest:a})}}g_.create=(a,b)=>{if(!Array.isArray(a))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new g_({items:a,typeName:x.ZodTuple,rest:null,...gp(b)})};class g0 extends gq{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(a){let{status:b,ctx:c}=this._processInputParams(a);if(c.parsedType!==f3.object)return ge(c,{code:f5.invalid_type,expected:f3.object,received:c.parsedType}),gg;let d=[],e=this._def.keyType,f=this._def.valueType;for(let a in c.data)d.push({key:e._parse(new gn(c,a,c.path,a)),value:f._parse(new gn(c,c.data[a],c.path,a)),alwaysSet:a in c.data});return c.common.async?gf.mergeObjectAsync(b,d):gf.mergeObjectSync(b,d)}get element(){return this._def.valueType}static create(a,b,c){return new g0(b instanceof gq?{keyType:a,valueType:b,typeName:x.ZodRecord,...gp(c)}:{keyType:gJ.create(),valueType:a,typeName:x.ZodRecord,...gp(b)})}}class g1 extends gq{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(a){let{status:b,ctx:c}=this._processInputParams(a);if(c.parsedType!==f3.map)return ge(c,{code:f5.invalid_type,expected:f3.map,received:c.parsedType}),gg;let d=this._def.keyType,e=this._def.valueType,f=[...c.data.entries()].map(([a,b],f)=>({key:d._parse(new gn(c,a,c.path,[f,"key"])),value:e._parse(new gn(c,b,c.path,[f,"value"]))}));if(c.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let c of f){let d=await c.key,e=await c.value;if("aborted"===d.status||"aborted"===e.status)return gg;("dirty"===d.status||"dirty"===e.status)&&b.dirty(),a.set(d.value,e.value)}return{status:b.value,value:a}})}{let a=new Map;for(let c of f){let d=c.key,e=c.value;if("aborted"===d.status||"aborted"===e.status)return gg;("dirty"===d.status||"dirty"===e.status)&&b.dirty(),a.set(d.value,e.value)}return{status:b.value,value:a}}}}g1.create=(a,b,c)=>new g1({valueType:b,keyType:a,typeName:x.ZodMap,...gp(c)});class g2 extends gq{_parse(a){let{status:b,ctx:c}=this._processInputParams(a);if(c.parsedType!==f3.set)return ge(c,{code:f5.invalid_type,expected:f3.set,received:c.parsedType}),gg;let d=this._def;null!==d.minSize&&c.data.size<d.minSize.value&&(ge(c,{code:f5.too_small,minimum:d.minSize.value,type:"set",inclusive:!0,exact:!1,message:d.minSize.message}),b.dirty()),null!==d.maxSize&&c.data.size>d.maxSize.value&&(ge(c,{code:f5.too_big,maximum:d.maxSize.value,type:"set",inclusive:!0,exact:!1,message:d.maxSize.message}),b.dirty());let e=this._def.valueType;function f(a){let c=new Set;for(let d of a){if("aborted"===d.status)return gg;"dirty"===d.status&&b.dirty(),c.add(d.value)}return{status:b.value,value:c}}let g=[...c.data.values()].map((a,b)=>e._parse(new gn(c,a,c.path,b)));return c.common.async?Promise.all(g).then(a=>f(a)):f(g)}min(a,b){return new g2({...this._def,minSize:{value:a,message:w.toString(b)}})}max(a,b){return new g2({...this._def,maxSize:{value:a,message:w.toString(b)}})}size(a,b){return this.min(a,b).max(a,b)}nonempty(a){return this.min(1,a)}}g2.create=(a,b)=>new g2({valueType:a,minSize:null,maxSize:null,typeName:x.ZodSet,...gp(b)});class g3 extends gq{constructor(){super(...arguments),this.validate=this.implement}_parse(a){let{ctx:b}=this._processInputParams(a);if(b.parsedType!==f3.function)return ge(b,{code:f5.invalid_type,expected:f3.function,received:b.parsedType}),gg;function c(a,c){return gc({data:a,path:b.path,errorMaps:[b.common.contextualErrorMap,b.schemaErrorMap,gb(),f8].filter(a=>!!a),issueData:{code:f5.invalid_arguments,argumentsError:c}})}function d(a,c){return gc({data:a,path:b.path,errorMaps:[b.common.contextualErrorMap,b.schemaErrorMap,gb(),f8].filter(a=>!!a),issueData:{code:f5.invalid_return_type,returnTypeError:c}})}let e={errorMap:b.common.contextualErrorMap},f=b.data;if(this._def.returns instanceof g9){let a=this;return gi(async function(...b){let g=new f7([]),h=await a._def.args.parseAsync(b,e).catch(a=>{throw g.addIssue(c(b,a)),g}),i=await Reflect.apply(f,this,h);return await a._def.returns._def.type.parseAsync(i,e).catch(a=>{throw g.addIssue(d(i,a)),g})})}{let a=this;return gi(function(...b){let g=a._def.args.safeParse(b,e);if(!g.success)throw new f7([c(b,g.error)]);let h=Reflect.apply(f,this,g.data),i=a._def.returns.safeParse(h,e);if(!i.success)throw new f7([d(h,i.error)]);return i.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...a){return new g3({...this._def,args:g_.create(a).rest(gS.create())})}returns(a){return new g3({...this._def,returns:a})}implement(a){return this.parse(a)}strictImplement(a){return this.parse(a)}static create(a,b,c){return new g3({args:a||g_.create([]).rest(gS.create()),returns:b||gS.create(),typeName:x.ZodFunction,...gp(c)})}}class g4 extends gq{get schema(){return this._def.getter()}_parse(a){let{ctx:b}=this._processInputParams(a);return this._def.getter()._parse({data:b.data,path:b.path,parent:b})}}g4.create=(a,b)=>new g4({getter:a,typeName:x.ZodLazy,...gp(b)});class g5 extends gq{_parse(a){if(a.data!==this._def.value){let b=this._getOrReturnCtx(a);return ge(b,{received:b.data,code:f5.invalid_literal,expected:this._def.value}),gg}return{status:"valid",value:a.data}}get value(){return this._def.value}}function g6(a,b){return new g7({values:a,typeName:x.ZodEnum,...gp(b)})}g5.create=(a,b)=>new g5({value:a,typeName:x.ZodLiteral,...gp(b)});class g7 extends gq{_parse(a){if("string"!=typeof a.data){let b=this._getOrReturnCtx(a),c=this._def.values;return ge(b,{expected:u.joinValues(c),received:b.parsedType,code:f5.invalid_type}),gg}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(a.data)){let b=this._getOrReturnCtx(a),c=this._def.values;return ge(b,{received:b.data,code:f5.invalid_enum_value,options:c}),gg}return gi(a.data)}get options(){return this._def.values}get enum(){let a={};for(let b of this._def.values)a[b]=b;return a}get Values(){let a={};for(let b of this._def.values)a[b]=b;return a}get Enum(){let a={};for(let b of this._def.values)a[b]=b;return a}extract(a,b=this._def){return g7.create(a,{...this._def,...b})}exclude(a,b=this._def){return g7.create(this.options.filter(b=>!a.includes(b)),{...this._def,...b})}}g7.create=g6;class g8 extends gq{_parse(a){let b=u.getValidEnumValues(this._def.values),c=this._getOrReturnCtx(a);if(c.parsedType!==f3.string&&c.parsedType!==f3.number){let a=u.objectValues(b);return ge(c,{expected:u.joinValues(a),received:c.parsedType,code:f5.invalid_type}),gg}if(this._cache||(this._cache=new Set(u.getValidEnumValues(this._def.values))),!this._cache.has(a.data)){let a=u.objectValues(b);return ge(c,{received:c.data,code:f5.invalid_enum_value,options:a}),gg}return gi(a.data)}get enum(){return this._def.values}}g8.create=(a,b)=>new g8({values:a,typeName:x.ZodNativeEnum,...gp(b)});class g9 extends gq{unwrap(){return this._def.type}_parse(a){let{ctx:b}=this._processInputParams(a);return b.parsedType!==f3.promise&&!1===b.common.async?(ge(b,{code:f5.invalid_type,expected:f3.promise,received:b.parsedType}),gg):gi((b.parsedType===f3.promise?b.data:Promise.resolve(b.data)).then(a=>this._def.type.parseAsync(a,{path:b.path,errorMap:b.common.contextualErrorMap})))}}g9.create=(a,b)=>new g9({type:a,typeName:x.ZodPromise,...gp(b)});class ha extends gq{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===x.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(a){let{status:b,ctx:c}=this._processInputParams(a),d=this._def.effect||null,e={addIssue:a=>{ge(c,a),a.fatal?b.abort():b.dirty()},get path(){return c.path}};if(e.addIssue=e.addIssue.bind(e),"preprocess"===d.type){let a=d.transform(c.data,e);if(c.common.async)return Promise.resolve(a).then(async a=>{if("aborted"===b.value)return gg;let d=await this._def.schema._parseAsync({data:a,path:c.path,parent:c});return"aborted"===d.status?gg:"dirty"===d.status||"dirty"===b.value?gh(d.value):d});{if("aborted"===b.value)return gg;let d=this._def.schema._parseSync({data:a,path:c.path,parent:c});return"aborted"===d.status?gg:"dirty"===d.status||"dirty"===b.value?gh(d.value):d}}if("refinement"===d.type){let a=a=>{let b=d.refinement(a,e);if(c.common.async)return Promise.resolve(b);if(b instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(!1!==c.common.async)return this._def.schema._parseAsync({data:c.data,path:c.path,parent:c}).then(c=>"aborted"===c.status?gg:("dirty"===c.status&&b.dirty(),a(c.value).then(()=>({status:b.value,value:c.value}))));{let d=this._def.schema._parseSync({data:c.data,path:c.path,parent:c});return"aborted"===d.status?gg:("dirty"===d.status&&b.dirty(),a(d.value),{status:b.value,value:d.value})}}if("transform"===d.type)if(!1!==c.common.async)return this._def.schema._parseAsync({data:c.data,path:c.path,parent:c}).then(a=>gl(a)?Promise.resolve(d.transform(a.value,e)).then(a=>({status:b.value,value:a})):gg);else{let a=this._def.schema._parseSync({data:c.data,path:c.path,parent:c});if(!gl(a))return gg;let f=d.transform(a.value,e);if(f instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:b.value,value:f}}u.assertNever(d)}}ha.create=(a,b,c)=>new ha({schema:a,typeName:x.ZodEffects,effect:b,...gp(c)}),ha.createWithPreprocess=(a,b,c)=>new ha({schema:b,effect:{type:"preprocess",transform:a},typeName:x.ZodEffects,...gp(c)});class hb extends gq{_parse(a){return this._getType(a)===f3.undefined?gi(void 0):this._def.innerType._parse(a)}unwrap(){return this._def.innerType}}hb.create=(a,b)=>new hb({innerType:a,typeName:x.ZodOptional,...gp(b)});class hc extends gq{_parse(a){return this._getType(a)===f3.null?gi(null):this._def.innerType._parse(a)}unwrap(){return this._def.innerType}}hc.create=(a,b)=>new hc({innerType:a,typeName:x.ZodNullable,...gp(b)});class hd extends gq{_parse(a){let{ctx:b}=this._processInputParams(a),c=b.data;return b.parsedType===f3.undefined&&(c=this._def.defaultValue()),this._def.innerType._parse({data:c,path:b.path,parent:b})}removeDefault(){return this._def.innerType}}hd.create=(a,b)=>new hd({innerType:a,typeName:x.ZodDefault,defaultValue:"function"==typeof b.default?b.default:()=>b.default,...gp(b)});class he extends gq{_parse(a){let{ctx:b}=this._processInputParams(a),c={...b,common:{...b.common,issues:[]}},d=this._def.innerType._parse({data:c.data,path:c.path,parent:{...c}});return gm(d)?d.then(a=>({status:"valid",value:"valid"===a.status?a.value:this._def.catchValue({get error(){return new f7(c.common.issues)},input:c.data})})):{status:"valid",value:"valid"===d.status?d.value:this._def.catchValue({get error(){return new f7(c.common.issues)},input:c.data})}}removeCatch(){return this._def.innerType}}he.create=(a,b)=>new he({innerType:a,typeName:x.ZodCatch,catchValue:"function"==typeof b.catch?b.catch:()=>b.catch,...gp(b)});class hf extends gq{_parse(a){if(this._getType(a)!==f3.nan){let b=this._getOrReturnCtx(a);return ge(b,{code:f5.invalid_type,expected:f3.nan,received:b.parsedType}),gg}return{status:"valid",value:a.data}}}hf.create=a=>new hf({typeName:x.ZodNaN,...gp(a)});let hg=Symbol("zod_brand");class hh extends gq{_parse(a){let{ctx:b}=this._processInputParams(a),c=b.data;return this._def.type._parse({data:c,path:b.path,parent:b})}unwrap(){return this._def.type}}class hi extends gq{_parse(a){let{status:b,ctx:c}=this._processInputParams(a);if(c.common.async)return(async()=>{let a=await this._def.in._parseAsync({data:c.data,path:c.path,parent:c});return"aborted"===a.status?gg:"dirty"===a.status?(b.dirty(),gh(a.value)):this._def.out._parseAsync({data:a.value,path:c.path,parent:c})})();{let a=this._def.in._parseSync({data:c.data,path:c.path,parent:c});return"aborted"===a.status?gg:"dirty"===a.status?(b.dirty(),{status:"dirty",value:a.value}):this._def.out._parseSync({data:a.value,path:c.path,parent:c})}}static create(a,b){return new hi({in:a,out:b,typeName:x.ZodPipeline})}}class hj extends gq{_parse(a){let b=this._def.innerType._parse(a),c=a=>(gl(a)&&(a.value=Object.freeze(a.value)),a);return gm(b)?b.then(a=>c(a)):c(b)}unwrap(){return this._def.innerType}}function hk(a,b){let c="function"==typeof a?a(b):"string"==typeof a?{message:a}:a;return"string"==typeof c?{message:c}:c}function hl(a,b={},c){return a?gR.create().superRefine((d,e)=>{let f=a(d);if(f instanceof Promise)return f.then(a=>{if(!a){let a=hk(b,d),f=a.fatal??c??!0;e.addIssue({code:"custom",...a,fatal:f})}});if(!f){let a=hk(b,d),f=a.fatal??c??!0;e.addIssue({code:"custom",...a,fatal:f})}}):gR.create()}hj.create=(a,b)=>new hj({innerType:a,typeName:x.ZodReadonly,...gp(b)});let hm={object:gW.lazycreate};(q=x||(x={})).ZodString="ZodString",q.ZodNumber="ZodNumber",q.ZodNaN="ZodNaN",q.ZodBigInt="ZodBigInt",q.ZodBoolean="ZodBoolean",q.ZodDate="ZodDate",q.ZodSymbol="ZodSymbol",q.ZodUndefined="ZodUndefined",q.ZodNull="ZodNull",q.ZodAny="ZodAny",q.ZodUnknown="ZodUnknown",q.ZodNever="ZodNever",q.ZodVoid="ZodVoid",q.ZodArray="ZodArray",q.ZodObject="ZodObject",q.ZodUnion="ZodUnion",q.ZodDiscriminatedUnion="ZodDiscriminatedUnion",q.ZodIntersection="ZodIntersection",q.ZodTuple="ZodTuple",q.ZodRecord="ZodRecord",q.ZodMap="ZodMap",q.ZodSet="ZodSet",q.ZodFunction="ZodFunction",q.ZodLazy="ZodLazy",q.ZodLiteral="ZodLiteral",q.ZodEnum="ZodEnum",q.ZodEffects="ZodEffects",q.ZodNativeEnum="ZodNativeEnum",q.ZodOptional="ZodOptional",q.ZodNullable="ZodNullable",q.ZodDefault="ZodDefault",q.ZodCatch="ZodCatch",q.ZodPromise="ZodPromise",q.ZodBranded="ZodBranded",q.ZodPipeline="ZodPipeline",q.ZodReadonly="ZodReadonly";let hn=(a,b={message:`Input not instance of ${a.name}`})=>hl(b=>b instanceof a,b),ho=gJ.create,hp=gK.create,hq=hf.create,hr=gL.create,hs=gM.create,ht=gN.create,hu=gO.create,hv=gP.create,hw=gQ.create,hx=gR.create,hy=gS.create,hz=gT.create,hA=gU.create,hB=gV.create,hC=gW.create,hD=gW.strictCreate,hE=gX.create,hF=gZ.create,hG=g$.create,hH=g_.create,hI=g0.create,hJ=g1.create,hK=g2.create,hL=g3.create,hM=g4.create,hN=g5.create,hO=g7.create,hP=g8.create,hQ=g9.create,hR=ha.create,hS=hb.create,hT=hc.create,hU=ha.createWithPreprocess,hV=hi.create,hW=()=>ho().optional(),hX=()=>hp().optional(),hY=()=>hs().optional(),hZ={string:a=>gJ.create({...a,coerce:!0}),number:a=>gK.create({...a,coerce:!0}),boolean:a=>gM.create({...a,coerce:!0}),bigint:a=>gL.create({...a,coerce:!0}),date:a=>gN.create({...a,coerce:!0})};function h$(a,b){return ik(a.type._def,b)}a.s(["BRAND",0,hg,"NEVER",0,gg,"Schema",0,gq,"ZodAny",0,gR,"ZodArray",0,gV,"ZodBigInt",0,gL,"ZodBoolean",0,gM,"ZodBranded",0,hh,"ZodCatch",0,he,"ZodDate",0,gN,"ZodDefault",0,hd,"ZodDiscriminatedUnion",0,gZ,"ZodEffects",0,ha,"ZodEnum",0,g7,"ZodFirstPartyTypeKind",0,x,"ZodFunction",0,g3,"ZodIntersection",0,g$,"ZodLazy",0,g4,"ZodLiteral",0,g5,"ZodMap",0,g1,"ZodNaN",0,hf,"ZodNativeEnum",0,g8,"ZodNever",0,gT,"ZodNull",0,gQ,"ZodNullable",0,hc,"ZodNumber",0,gK,"ZodObject",0,gW,"ZodOptional",0,hb,"ZodPipeline",0,hi,"ZodPromise",0,g9,"ZodReadonly",0,hj,"ZodRecord",0,g0,"ZodSchema",0,gq,"ZodSet",0,g2,"ZodString",0,gJ,"ZodSymbol",0,gO,"ZodTransformer",0,ha,"ZodTuple",0,g_,"ZodType",0,gq,"ZodUndefined",0,gP,"ZodUnion",0,gX,"ZodUnknown",0,gS,"ZodVoid",0,gU,"any",0,hx,"array",0,hB,"bigint",0,hr,"boolean",0,hs,"coerce",0,hZ,"custom",0,hl,"date",0,ht,"datetimeRegex",0,gI,"discriminatedUnion",0,hF,"effect",0,hR,"enum",0,hO,"function",0,hL,"instanceof",0,hn,"intersection",0,hG,"late",0,hm,"lazy",0,hM,"literal",0,hN,"map",0,hJ,"nan",0,hq,"nativeEnum",0,hP,"never",0,hz,"null",0,hw,"nullable",0,hT,"number",0,hp,"object",0,hC,"oboolean",0,hY,"onumber",0,hX,"optional",0,hS,"ostring",0,hW,"pipeline",0,hV,"preprocess",0,hU,"promise",0,hQ,"record",0,hI,"set",0,hK,"strictObject",0,hD,"string",0,ho,"symbol",0,hu,"transformer",0,hR,"tuple",0,hH,"undefined",0,hv,"union",0,hE,"unknown",0,hy,"void",0,hA],263563);let h_=/^[cC][^\s-]{8,}$/,h0=/^[0-9a-z]+$/,h1=/^[0-9A-HJKMNP-TV-Z]{26}$/,h2=/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,h3=()=>(void 0===j&&(j=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),j),h4=/^(?:(?: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])$/,h5=/^(([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])$/,h6=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,h7=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,h8=/^[a-zA-Z0-9_-]{21}$/,h9=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/;function ia(a,b){let c={type:"string"};if(a.checks)for(let d of a.checks)switch(d.kind){case"min":f2(c,"minLength","number"==typeof c.minLength?Math.max(c.minLength,d.value):d.value,d.message,b);break;case"max":f2(c,"maxLength","number"==typeof c.maxLength?Math.min(c.maxLength,d.value):d.value,d.message,b);break;case"email":switch(b.emailStrategy){case"format:email":id(c,"email",d.message,b);break;case"format:idn-email":id(c,"idn-email",d.message,b);break;case"pattern:zod":ie(c,h2,d.message,b)}break;case"url":id(c,"uri",d.message,b);break;case"uuid":id(c,"uuid",d.message,b);break;case"regex":ie(c,d.regex,d.message,b);break;case"cuid":ie(c,h_,d.message,b);break;case"cuid2":ie(c,h0,d.message,b);break;case"startsWith":ie(c,RegExp(`^${ib(d.value,b)}`),d.message,b);break;case"endsWith":ie(c,RegExp(`${ib(d.value,b)}$`),d.message,b);break;case"datetime":id(c,"date-time",d.message,b);break;case"date":id(c,"date",d.message,b);break;case"time":id(c,"time",d.message,b);break;case"duration":id(c,"duration",d.message,b);break;case"length":f2(c,"minLength","number"==typeof c.minLength?Math.max(c.minLength,d.value):d.value,d.message,b),f2(c,"maxLength","number"==typeof c.maxLength?Math.min(c.maxLength,d.value):d.value,d.message,b);break;case"includes":ie(c,RegExp(ib(d.value,b)),d.message,b);break;case"ip":"v6"!==d.version&&id(c,"ipv4",d.message,b),"v4"!==d.version&&id(c,"ipv6",d.message,b);break;case"base64url":ie(c,h7,d.message,b);break;case"jwt":ie(c,h9,d.message,b);break;case"cidr":"v6"!==d.version&&ie(c,h4,d.message,b),"v4"!==d.version&&ie(c,h5,d.message,b);break;case"emoji":ie(c,h3(),d.message,b);break;case"ulid":ie(c,h1,d.message,b);break;case"base64":switch(b.base64Strategy){case"format:binary":id(c,"binary",d.message,b);break;case"contentEncoding:base64":f2(c,"contentEncoding","base64",d.message,b);break;case"pattern:zod":ie(c,h6,d.message,b)}break;case"nanoid":ie(c,h8,d.message,b)}return c}function ib(a,b){return"escape"===b.patternStrategy?function(a){let b="";for(let c=0;c<a.length;c++)ic.has(a[c])||(b+="\\"),b+=a[c];return b}(a):a}let ic=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function id(a,b,c,d){a.format||a.anyOf?.some(a=>a.format)?(a.anyOf||(a.anyOf=[]),a.format&&(a.anyOf.push({format:a.format,...a.errorMessage&&d.errorMessages&&{errorMessage:{format:a.errorMessage.format}}}),delete a.format,a.errorMessage&&(delete a.errorMessage.format,0===Object.keys(a.errorMessage).length&&delete a.errorMessage)),a.anyOf.push({format:b,...c&&d.errorMessages&&{errorMessage:{format:c}}})):f2(a,"format",b,c,d)}function ie(a,b,c,d){a.pattern||a.allOf?.some(a=>a.pattern)?(a.allOf||(a.allOf=[]),a.pattern&&(a.allOf.push({pattern:a.pattern,...a.errorMessage&&d.errorMessages&&{errorMessage:{pattern:a.errorMessage.pattern}}}),delete a.pattern,a.errorMessage&&(delete a.errorMessage.pattern,0===Object.keys(a.errorMessage).length&&delete a.errorMessage)),a.allOf.push({pattern:ig(b,d),...c&&d.errorMessages&&{errorMessage:{pattern:c}}})):f2(a,"pattern",ig(b,d),c,d)}function ig(a,b){if(!b.applyRegexFlags||!a.flags)return a.source;let c={i:a.flags.includes("i"),m:a.flags.includes("m"),s:a.flags.includes("s")},d=c.i?a.source.toLowerCase():a.source,e="",f=!1,g=!1,h=!1;for(let a=0;a<d.length;a++){if(f){e+=d[a],f=!1;continue}if(c.i){if(g){if(d[a].match(/[a-z]/)){h?(e+=d[a],e+=`${d[a-2]}-${d[a]}`.toUpperCase(),h=!1):"-"===d[a+1]&&d[a+2]?.match(/[a-z]/)?(e+=d[a],h=!0):e+=`${d[a]}${d[a].toUpperCase()}`;continue}}else if(d[a].match(/[a-z]/)){e+=`[${d[a]}${d[a].toUpperCase()}]`;continue}}if(c.m){if("^"===d[a]){e+=`(^|(?<=[\r
136
+ ]))`;continue}else if("$"===d[a]){e+=`($|(?=[\r
137
+ ]))`;continue}}if(c.s&&"."===d[a]){e+=g?`${d[a]}\r
138
+ `:`[${d[a]}\r
139
+ ]`;continue}e+=d[a],"\\"===d[a]?f=!0:g&&"]"===d[a]?g=!1:g||"["!==d[a]||(g=!0)}try{new RegExp(e)}catch{return console.warn(`Could not convert regex pattern at ${b.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),a.source}return e}function ih(a,b){if("openAi"===b.target&&console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead."),"openApi3"===b.target&&a.keyType?._def.typeName===x.ZodEnum)return{type:"object",required:a.keyType._def.values,properties:a.keyType._def.values.reduce((c,d)=>({...c,[d]:ik(a.valueType._def,{...b,currentPath:[...b.currentPath,"properties",d]})??f0(b)}),{}),additionalProperties:b.rejectedAdditionalProperties};let c={type:"object",additionalProperties:ik(a.valueType._def,{...b,currentPath:[...b.currentPath,"additionalProperties"]})??b.allowedAdditionalProperties};if("openApi3"===b.target)return c;if(a.keyType?._def.typeName===x.ZodString&&a.keyType._def.checks?.length){let{type:d,...e}=ia(a.keyType._def,b);return{...c,propertyNames:e}}if(a.keyType?._def.typeName===x.ZodEnum)return{...c,propertyNames:{enum:a.keyType._def.values}};if(a.keyType?._def.typeName===x.ZodBranded&&a.keyType._def.type._def.typeName===x.ZodString&&a.keyType._def.type._def.checks?.length){let{type:d,...e}=h$(a.keyType._def,b);return{...c,propertyNames:e}}return c}let ii={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"},ij=(a,b)=>{let c=(a.options instanceof Map?Array.from(a.options.values()):a.options).map((a,c)=>ik(a._def,{...b,currentPath:[...b.currentPath,"anyOf",`${c}`]})).filter(a=>!!a&&(!b.strictUnions||"object"==typeof a&&Object.keys(a).length>0));return c.length?{anyOf:c}:void 0};function ik(a,b,c=!1){let d=b.seen.get(a);if(b.override){let e=b.override?.(a,b,d,c);if(e!==fZ)return e}if(d&&!c){let a=il(d,b);if(void 0!==a)return a}let e={def:a,path:b.currentPath,jsonSchema:void 0};b.seen.set(a,e);let f=((a,b,c)=>{switch(b){case x.ZodString:return ia(a,c);case x.ZodNumber:let d={type:"number"};if(!a.checks)return d;for(let b of a.checks)switch(b.kind){case"int":d.type="integer",f1(d,"type",b.message,c);break;case"min":"jsonSchema7"===c.target?b.inclusive?f2(d,"minimum",b.value,b.message,c):f2(d,"exclusiveMinimum",b.value,b.message,c):(b.inclusive||(d.exclusiveMinimum=!0),f2(d,"minimum",b.value,b.message,c));break;case"max":"jsonSchema7"===c.target?b.inclusive?f2(d,"maximum",b.value,b.message,c):f2(d,"exclusiveMaximum",b.value,b.message,c):(b.inclusive||(d.exclusiveMaximum=!0),f2(d,"maximum",b.value,b.message,c));break;case"multipleOf":f2(d,"multipleOf",b.value,b.message,c)}return d;case x.ZodObject:return function(a,b){let c="openAi"===b.target,d={type:"object",properties:{}},e=[],f=a.shape();for(let a in f){let g=f[a];if(void 0===g||void 0===g._def)continue;let h=function(a){try{return a.isOptional()}catch{return!0}}(g);h&&c&&("ZodOptional"===g._def.typeName&&(g=g._def.innerType),g.isNullable()||(g=g.nullable()),h=!1);let i=ik(g._def,{...b,currentPath:[...b.currentPath,"properties",a],propertyPath:[...b.currentPath,"properties",a]});void 0!==i&&(d.properties[a]=i,h||e.push(a))}e.length&&(d.required=e);let g=function(a,b){if("ZodNever"!==a.catchall._def.typeName)return ik(a.catchall._def,{...b,currentPath:[...b.currentPath,"additionalProperties"]});switch(a.unknownKeys){case"passthrough":return b.allowedAdditionalProperties;case"strict":return b.rejectedAdditionalProperties;case"strip":return"strict"===b.removeAdditionalStrategy?b.allowedAdditionalProperties:b.rejectedAdditionalProperties}}(a,b);return void 0!==g&&(d.additionalProperties=g),d}(a,c);case x.ZodBigInt:let e={type:"integer",format:"int64"};if(!a.checks)return e;for(let b of a.checks)switch(b.kind){case"min":"jsonSchema7"===c.target?b.inclusive?f2(e,"minimum",b.value,b.message,c):f2(e,"exclusiveMinimum",b.value,b.message,c):(b.inclusive||(e.exclusiveMinimum=!0),f2(e,"minimum",b.value,b.message,c));break;case"max":"jsonSchema7"===c.target?b.inclusive?f2(e,"maximum",b.value,b.message,c):f2(e,"exclusiveMaximum",b.value,b.message,c):(b.inclusive||(e.exclusiveMaximum=!0),f2(e,"maximum",b.value,b.message,c));break;case"multipleOf":f2(e,"multipleOf",b.value,b.message,c)}return e;case x.ZodBoolean:return{type:"boolean"};case x.ZodDate:return function a(b,c,d){let e=d??c.dateStrategy;if(Array.isArray(e))return{anyOf:e.map(d=>a(b,c,d))};switch(e){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":var f=b,g=c;let h={type:"integer",format:"unix-time"};if("openApi3"===g.target)return h;for(let a of f.checks)switch(a.kind){case"min":f2(h,"minimum",a.value,a.message,g);break;case"max":f2(h,"maximum",a.value,a.message,g)}return h}}(a,c);case x.ZodUndefined:return{not:f0(c)};case x.ZodNull:return"openApi3"===c.target?{enum:["null"],nullable:!0}:{type:"null"};case x.ZodArray:let f;return f={type:"array"},a.type?._def&&a.type?._def?.typeName!==x.ZodAny&&(f.items=ik(a.type._def,{...c,currentPath:[...c.currentPath,"items"]})),a.minLength&&f2(f,"minItems",a.minLength.value,a.minLength.message,c),a.maxLength&&f2(f,"maxItems",a.maxLength.value,a.maxLength.message,c),a.exactLength&&(f2(f,"minItems",a.exactLength.value,a.exactLength.message,c),f2(f,"maxItems",a.exactLength.value,a.exactLength.message,c)),f;case x.ZodUnion:case x.ZodDiscriminatedUnion:if("openApi3"===c.target)return ij(a,c);let g=a.options instanceof Map?Array.from(a.options.values()):a.options;if(g.every(a=>a._def.typeName in ii&&(!a._def.checks||!a._def.checks.length))){let a=g.reduce((a,b)=>{let c=ii[b._def.typeName];return c&&!a.includes(c)?[...a,c]:a},[]);return{type:a.length>1?a:a[0]}}if(g.every(a=>"ZodLiteral"===a._def.typeName&&!a.description)){let a=g.reduce((a,b)=>{let c=typeof b._def.value;switch(c){case"string":case"number":case"boolean":return[...a,c];case"bigint":return[...a,"integer"];case"object":if(null===b._def.value)return[...a,"null"];return a;default:return a}},[]);if(a.length===g.length){let b=a.filter((a,b,c)=>c.indexOf(a)===b);return{type:b.length>1?b:b[0],enum:g.reduce((a,b)=>a.includes(b._def.value)?a:[...a,b._def.value],[])}}}else if(g.every(a=>"ZodEnum"===a._def.typeName))return{type:"string",enum:g.reduce((a,b)=>[...a,...b._def.values.filter(b=>!a.includes(b))],[])};return ij(a,c);case x.ZodIntersection:let h,i,j;return h=[ik(a.left._def,{...c,currentPath:[...c.currentPath,"allOf","0"]}),ik(a.right._def,{...c,currentPath:[...c.currentPath,"allOf","1"]})].filter(a=>!!a),i="jsonSchema2019-09"===c.target?{unevaluatedProperties:!1}:void 0,j=[],h.forEach(a=>{if((!("type"in a)||"string"!==a.type)&&"allOf"in a)j.push(...a.allOf),void 0===a.unevaluatedProperties&&(i=void 0);else{let b=a;if("additionalProperties"in a&&!1===a.additionalProperties){let{additionalProperties:c,...d}=a;b=d}else i=void 0;j.push(b)}}),j.length?{allOf:j,...i}:void 0;case x.ZodTuple:return a.rest?{type:"array",minItems:a.items.length,items:a.items.map((a,b)=>ik(a._def,{...c,currentPath:[...c.currentPath,"items",`${b}`]})).reduce((a,b)=>void 0===b?a:[...a,b],[]),additionalItems:ik(a.rest._def,{...c,currentPath:[...c.currentPath,"additionalItems"]})}:{type:"array",minItems:a.items.length,maxItems:a.items.length,items:a.items.map((a,b)=>ik(a._def,{...c,currentPath:[...c.currentPath,"items",`${b}`]})).reduce((a,b)=>void 0===b?a:[...a,b],[])};case x.ZodRecord:return ih(a,c);case x.ZodLiteral:let k;return"bigint"!=(k=typeof a.value)&&"number"!==k&&"boolean"!==k&&"string"!==k?{type:Array.isArray(a.value)?"array":"object"}:"openApi3"===c.target?{type:"bigint"===k?"integer":k,enum:[a.value]}:{type:"bigint"===k?"integer":k,const:a.value};case x.ZodEnum:return{type:"string",enum:Array.from(a.values)};case x.ZodNativeEnum:let l,m,n;return l=a.values,{type:1===(n=Array.from(new Set((m=Object.keys(a.values).filter(a=>"number"!=typeof l[l[a]]).map(a=>l[a])).map(a=>typeof a)))).length?"string"===n[0]?"string":"number":["string","number"],enum:m};case x.ZodNullable:if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(a.innerType._def.typeName)&&(!a.innerType._def.checks||!a.innerType._def.checks.length))return"openApi3"===c.target?{type:ii[a.innerType._def.typeName],nullable:!0}:{type:[ii[a.innerType._def.typeName],"null"]};if("openApi3"===c.target){let b=ik(a.innerType._def,{...c,currentPath:[...c.currentPath]});return b&&"$ref"in b?{allOf:[b],nullable:!0}:b&&{...b,nullable:!0}}let o=ik(a.innerType._def,{...c,currentPath:[...c.currentPath,"anyOf","0"]});return o&&{anyOf:[o,{type:"null"}]};case x.ZodOptional:if(c.currentPath.toString()===c.propertyPath?.toString())return ik(a.innerType._def,c);let p=ik(a.innerType._def,{...c,currentPath:[...c.currentPath,"anyOf","1"]});return p?{anyOf:[{not:f0(c)},p]}:f0(c);case x.ZodMap:return"record"===c.mapStrategy?ih(a,c):{type:"array",maxItems:125,items:{type:"array",items:[ik(a.keyType._def,{...c,currentPath:[...c.currentPath,"items","items","0"]})||f0(c),ik(a.valueType._def,{...c,currentPath:[...c.currentPath,"items","items","1"]})||f0(c)],minItems:2,maxItems:2}};case x.ZodSet:let q;return q={type:"array",uniqueItems:!0,items:ik(a.valueType._def,{...c,currentPath:[...c.currentPath,"items"]})},a.minSize&&f2(q,"minItems",a.minSize.value,a.minSize.message,c),a.maxSize&&f2(q,"maxItems",a.maxSize.value,a.maxSize.message,c),q;case x.ZodLazy:return()=>a.getter()._def;case x.ZodPromise:return ik(a.type._def,c);case x.ZodNaN:case x.ZodNever:return"openAi"===c.target?void 0:{not:f0({...c,currentPath:[...c.currentPath,"not"]})};case x.ZodEffects:return"input"===c.effectStrategy?ik(a.schema._def,c):f0(c);case x.ZodAny:case x.ZodUnknown:return f0(c);case x.ZodDefault:return{...ik(a.innerType._def,c),default:a.defaultValue()};case x.ZodBranded:return h$(a,c);case x.ZodReadonly:case x.ZodCatch:return ik(a.innerType._def,c);case x.ZodPipeline:if("input"===c.pipeStrategy)return ik(a.in._def,c);if("output"===c.pipeStrategy)return ik(a.out._def,c);let r=ik(a.in._def,{...c,currentPath:[...c.currentPath,"allOf","0"]});return{allOf:[r,ik(a.out._def,{...c,currentPath:[...c.currentPath,"allOf",r?"1":"0"]})].filter(a=>void 0!==a)};case x.ZodFunction:case x.ZodVoid:case x.ZodSymbol:default:return}})(a,a.typeName,b),g="function"==typeof f?ik(f(),b):f;if(g&&im(a,b,g),b.postProcess){let c=b.postProcess(g,a,b);return e.jsonSchema=g,c}return e.jsonSchema=g,g}let il=(a,b)=>{switch(b.$refStrategy){case"root":return{$ref:a.path.join("/")};case"relative":return{$ref:f_(b.currentPath,a.path)};case"none":case"seen":if(a.path.length<b.currentPath.length&&a.path.every((a,c)=>b.currentPath[c]===a))return console.warn(`Recursive reference detected at ${b.currentPath.join("/")}! Defaulting to any`),f0(b);return"seen"===b.$refStrategy?f0(b):void 0}},im=(a,b,c)=>(a.description&&(c.description=a.description,b.markdownDescription&&(c.markdownDescription=a.description)),c);function io(a){let b=a?.target??"draft-2020-12";return"draft-4"===b&&(b="draft-04"),"draft-7"===b&&(b="draft-07"),{processors:a.processors??{},metadataRegistry:a?.metadata??fQ,target:b,unrepresentable:a?.unrepresentable??"throw",override:a?.override??(()=>{}),io:a?.io??"output",counter:0,seen:new Map,cycles:a?.cycles??"ref",reused:a?.reused??"inline",external:a?.external??void 0}}function ip(a,b,c={path:[],schemaPath:[]}){var d;let e=a._zod.def,f=b.seen.get(a);if(f)return f.count++,c.schemaPath.includes(a)&&(f.cycle=c.path),f.schema;let g={schema:{},count:1,cycle:void 0,path:c.path};b.seen.set(a,g);let h=a._zod.toJSONSchema?.();if(h)g.schema=h;else{let d={...c,schemaPath:[...c.schemaPath,a],path:c.path};if(a._zod.processJSONSchema)a._zod.processJSONSchema(b,g.schema,d);else{let c=g.schema,f=b.processors[e.type];if(!f)throw Error(`[toJSONSchema]: Non-representable type encountered: ${e.type}`);f(a,b,c,d)}let f=a._zod.parent;f&&(g.ref||(g.ref=f),ip(f,b,d),b.seen.get(f).isParent=!0)}let i=b.metadataRegistry.get(a);return i&&Object.assign(g.schema,i),"input"===b.io&&function a(b,c){let d=c??{seen:new Set};if(d.seen.has(b))return!1;d.seen.add(b);let e=b._zod.def;if("transform"===e.type)return!0;if("array"===e.type)return a(e.element,d);if("set"===e.type)return a(e.valueType,d);if("lazy"===e.type)return a(e.getter(),d);if("promise"===e.type||"optional"===e.type||"nonoptional"===e.type||"nullable"===e.type||"readonly"===e.type||"default"===e.type||"prefault"===e.type)return a(e.innerType,d);if("intersection"===e.type)return a(e.left,d)||a(e.right,d);if("record"===e.type||"map"===e.type)return a(e.keyType,d)||a(e.valueType,d);if("pipe"===e.type)return!!b._zod.traits.has("$ZodCodec")||a(e.in,d)||a(e.out,d);if("object"===e.type){for(let b in e.shape)if(a(e.shape[b],d))return!0;return!1}if("union"===e.type){for(let b of e.options)if(a(b,d))return!0;return!1}if("tuple"===e.type){for(let b of e.items)if(a(b,d))return!0;if(e.rest&&a(e.rest,d))return!0}return!1}(a)&&(delete g.schema.examples,delete g.schema.default),"input"===b.io&&"_prefault"in g.schema&&((d=g.schema).default??(d.default=g.schema._prefault)),delete g.schema._prefault,b.seen.get(a).schema}function iq(a,b){let c=a.seen.get(b);if(!c)throw Error("Unprocessed schema. This is a bug in Zod.");let d=new Map;for(let b of a.seen.entries()){let c=a.metadataRegistry.get(b[0])?.id;if(c){let a=d.get(c);if(a&&a!==b[0])throw Error(`Duplicate schema id "${c}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);d.set(c,b[0])}}let e=b=>{if(b[1].schema.$ref)return;let d=b[1],{ref:e,defId:f}=(b=>{let d="draft-2020-12"===a.target?"$defs":"definitions";if(a.external){let c=a.external.registry.get(b[0])?.id,e=a.external.uri??(a=>a);if(c)return{ref:e(c)};let f=b[1].defId??b[1].schema.id??`schema${a.counter++}`;return b[1].defId=f,{defId:f,ref:`${e("__shared")}#/${d}/${f}`}}if(b[1]===c)return{ref:"#"};let e=`#/${d}/`,f=b[1].schema.id??`__schema${a.counter++}`;return{defId:f,ref:e+f}})(b);d.def={...d.schema},f&&(d.defId=f);let g=d.schema;for(let a in g)delete g[a];g.$ref=e};if("throw"===a.cycles)for(let b of a.seen.entries()){let a=b[1];if(a.cycle)throw Error(`Cycle detected: #/${a.cycle?.join("/")}/<root>
140
+
141
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let c of a.seen.entries()){let d=c[1];if(b===c[0]){e(c);continue}if(a.external){let d=a.external.registry.get(c[0])?.id;if(b!==c[0]&&d){e(c);continue}}if(a.metadataRegistry.get(c[0])?.id||d.cycle||d.count>1&&"ref"===a.reused){e(c);continue}}}function ir(a,b){let c=a.seen.get(b);if(!c)throw Error("Unprocessed schema. This is a bug in Zod.");let d=b=>{let c=a.seen.get(b);if(null===c.ref)return;let e=c.def??c.schema,f={...e},g=c.ref;if(c.ref=null,g){d(g);let c=a.seen.get(g),h=c.schema;if(h.$ref&&("draft-07"===a.target||"draft-04"===a.target||"openapi-3.0"===a.target)?(e.allOf=e.allOf??[],e.allOf.push(h)):Object.assign(e,h),Object.assign(e,f),b._zod.parent===g)for(let a in e)"$ref"!==a&&"allOf"!==a&&(a in f||delete e[a]);if(h.$ref&&c.def)for(let a in e)"$ref"!==a&&"allOf"!==a&&a in c.def&&JSON.stringify(e[a])===JSON.stringify(c.def[a])&&delete e[a]}let h=b._zod.parent;if(h&&h!==g){d(h);let b=a.seen.get(h);if(b?.schema.$ref&&(e.$ref=b.schema.$ref,b.def))for(let a in e)"$ref"!==a&&"allOf"!==a&&a in b.def&&JSON.stringify(e[a])===JSON.stringify(b.def[a])&&delete e[a]}a.override({zodSchema:b,jsonSchema:e,path:c.path??[]})};for(let b of[...a.seen.entries()].reverse())d(b[0]);let e={};if("draft-2020-12"===a.target?e.$schema="https://json-schema.org/draft/2020-12/schema":"draft-07"===a.target?e.$schema="http://json-schema.org/draft-07/schema#":"draft-04"===a.target?e.$schema="http://json-schema.org/draft-04/schema#":a.target,a.external?.uri){let c=a.external.registry.get(b)?.id;if(!c)throw Error("Schema is missing an `id` property");e.$id=a.external.uri(c)}Object.assign(e,c.def??c.schema);let f=a.metadataRegistry.get(b)?.id;void 0!==f&&e.id===f&&delete e.id;let g=a.external?.defs??{};for(let b of a.seen.entries()){let a=b[1];a.def&&a.defId&&(a.def.id===a.defId&&delete a.def.id,g[a.defId]=a.def)}a.external||Object.keys(g).length>0&&("draft-2020-12"===a.target?e.$defs=g:e.definitions=g);try{let c=JSON.parse(JSON.stringify(e));return Object.defineProperty(c,"~standard",{value:{...b["~standard"],jsonSchema:{input:is(b,"input",a.processors),output:is(b,"output",a.processors)}},enumerable:!1,writable:!1}),c}catch(a){throw Error("Error converting schema to JSON.")}}let is=(a,b,c={})=>d=>{let{libraryOptions:e,target:f}=d??{},g=io({...e??{},target:f,io:b,processors:c});return ip(a,g),iq(g,a),ir(g,a)},it={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},iu={string:(a,b,c,d)=>{c.type="string";let{minimum:e,maximum:f,format:g,patterns:h,contentEncoding:i}=a._zod.bag;if("number"==typeof e&&(c.minLength=e),"number"==typeof f&&(c.maxLength=f),g&&(c.format=it[g]??g,""===c.format&&delete c.format,"time"===g&&delete c.format),i&&(c.contentEncoding=i),h&&h.size>0){let a=[...h];1===a.length?c.pattern=a[0].source:a.length>1&&(c.allOf=[...a.map(a=>({..."draft-07"===b.target||"draft-04"===b.target||"openapi-3.0"===b.target?{type:"string"}:{},pattern:a.source}))])}},number:(a,b,c,d)=>{let{minimum:e,maximum:f,format:g,multipleOf:h,exclusiveMaximum:i,exclusiveMinimum:j}=a._zod.bag;"string"==typeof g&&g.includes("int")?c.type="integer":c.type="number";let k="number"==typeof j&&j>=(e??-1/0),l="number"==typeof i&&i<=(f??1/0),m="draft-04"===b.target||"openapi-3.0"===b.target;k?m?(c.minimum=j,c.exclusiveMinimum=!0):c.exclusiveMinimum=j:"number"==typeof e&&(c.minimum=e),l?m?(c.maximum=i,c.exclusiveMaximum=!0):c.exclusiveMaximum=i:"number"==typeof f&&(c.maximum=f),"number"==typeof h&&(c.multipleOf=h)},boolean:(a,b,c,d)=>{c.type="boolean"},bigint:(a,b,c,d)=>{if("throw"===b.unrepresentable)throw Error("BigInt cannot be represented in JSON Schema")},symbol:(a,b,c,d)=>{if("throw"===b.unrepresentable)throw Error("Symbols cannot be represented in JSON Schema")},null:(a,b,c,d)=>{"openapi-3.0"===b.target?(c.type="string",c.nullable=!0,c.enum=[null]):c.type="null"},undefined:(a,b,c,d)=>{if("throw"===b.unrepresentable)throw Error("Undefined cannot be represented in JSON Schema")},void:(a,b,c,d)=>{if("throw"===b.unrepresentable)throw Error("Void cannot be represented in JSON Schema")},never:(a,b,c,d)=>{c.not={}},any:(a,b,c,d)=>{},unknown:(a,b,c,d)=>{},date:(a,b,c,d)=>{if("throw"===b.unrepresentable)throw Error("Date cannot be represented in JSON Schema")},enum:(a,b,c,d)=>{let e=e2(a._zod.def.entries);e.every(a=>"number"==typeof a)&&(c.type="number"),e.every(a=>"string"==typeof a)&&(c.type="string"),c.enum=e},literal:(a,b,c,d)=>{let e=a._zod.def,f=[];for(let a of e.values)if(void 0===a){if("throw"===b.unrepresentable)throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if("bigint"==typeof a)if("throw"===b.unrepresentable)throw Error("BigInt literals cannot be represented in JSON Schema");else f.push(Number(a));else f.push(a);if(0===f.length);else if(1===f.length){let a=f[0];c.type=null===a?"null":typeof a,"draft-04"===b.target||"openapi-3.0"===b.target?c.enum=[a]:c.const=a}else f.every(a=>"number"==typeof a)&&(c.type="number"),f.every(a=>"string"==typeof a)&&(c.type="string"),f.every(a=>"boolean"==typeof a)&&(c.type="boolean"),f.every(a=>null===a)&&(c.type="null"),c.enum=f},nan:(a,b,c,d)=>{if("throw"===b.unrepresentable)throw Error("NaN cannot be represented in JSON Schema")},template_literal:(a,b,c,d)=>{let e=a._zod.pattern;if(!e)throw Error("Pattern not found in template literal");c.type="string",c.pattern=e.source},file:(a,b,c,d)=>{let e={type:"string",format:"binary",contentEncoding:"binary"},{minimum:f,maximum:g,mime:h}=a._zod.bag;void 0!==f&&(e.minLength=f),void 0!==g&&(e.maxLength=g),h?1===h.length?(e.contentMediaType=h[0],Object.assign(c,e)):(Object.assign(c,e),c.anyOf=h.map(a=>({contentMediaType:a}))):Object.assign(c,e)},success:(a,b,c,d)=>{c.type="boolean"},custom:(a,b,c,d)=>{if("throw"===b.unrepresentable)throw Error("Custom types cannot be represented in JSON Schema")},function:(a,b,c,d)=>{if("throw"===b.unrepresentable)throw Error("Function types cannot be represented in JSON Schema")},transform:(a,b,c,d)=>{if("throw"===b.unrepresentable)throw Error("Transforms cannot be represented in JSON Schema")},map:(a,b,c,d)=>{if("throw"===b.unrepresentable)throw Error("Map cannot be represented in JSON Schema")},set:(a,b,c,d)=>{if("throw"===b.unrepresentable)throw Error("Set cannot be represented in JSON Schema")},array:(a,b,c,d)=>{let e=a._zod.def,{minimum:f,maximum:g}=a._zod.bag;"number"==typeof f&&(c.minItems=f),"number"==typeof g&&(c.maxItems=g),c.type="array",c.items=ip(e.element,b,{...d,path:[...d.path,"items"]})},object:(a,b,c,d)=>{let e=a._zod.def;c.type="object",c.properties={};let f=e.shape;for(let a in f)c.properties[a]=ip(f[a],b,{...d,path:[...d.path,"properties",a]});let g=new Set([...new Set(Object.keys(f))].filter(a=>{let c=e.shape[a]._zod;return"input"===b.io?void 0===c.optin:void 0===c.optout}));g.size>0&&(c.required=Array.from(g)),e.catchall?._zod.def.type==="never"?c.additionalProperties=!1:e.catchall?e.catchall&&(c.additionalProperties=ip(e.catchall,b,{...d,path:[...d.path,"additionalProperties"]})):"output"===b.io&&(c.additionalProperties=!1)},union:(a,b,c,d)=>{let e=a._zod.def,f=!1===e.inclusive,g=e.options.map((a,c)=>ip(a,b,{...d,path:[...d.path,f?"oneOf":"anyOf",c]}));f?c.oneOf=g:c.anyOf=g},intersection:(a,b,c,d)=>{let e=a._zod.def,f=ip(e.left,b,{...d,path:[...d.path,"allOf",0]}),g=ip(e.right,b,{...d,path:[...d.path,"allOf",1]}),h=a=>"allOf"in a&&1===Object.keys(a).length;c.allOf=[...h(f)?f.allOf:[f],...h(g)?g.allOf:[g]]},tuple:(a,b,c,d)=>{let e=a._zod.def;c.type="array";let f="draft-2020-12"===b.target?"prefixItems":"items",g="draft-2020-12"===b.target||"openapi-3.0"===b.target?"items":"additionalItems",h=e.items.map((a,c)=>ip(a,b,{...d,path:[...d.path,f,c]})),i=e.rest?ip(e.rest,b,{...d,path:[...d.path,g,..."openapi-3.0"===b.target?[e.items.length]:[]]}):null;"draft-2020-12"===b.target?(c.prefixItems=h,i&&(c.items=i)):"openapi-3.0"===b.target?(c.items={anyOf:h},i&&c.items.anyOf.push(i),c.minItems=h.length,i||(c.maxItems=h.length)):(c.items=h,i&&(c.additionalItems=i));let{minimum:j,maximum:k}=a._zod.bag;"number"==typeof j&&(c.minItems=j),"number"==typeof k&&(c.maxItems=k)},record:(a,b,c,d)=>{let e=a._zod.def;c.type="object";let f=e.keyType,g=f._zod.bag,h=g?.patterns;if("loose"===e.mode&&h&&h.size>0){let a=ip(e.valueType,b,{...d,path:[...d.path,"patternProperties","*"]});for(let b of(c.patternProperties={},h))c.patternProperties[b.source]=a}else("draft-07"===b.target||"draft-2020-12"===b.target)&&(c.propertyNames=ip(e.keyType,b,{...d,path:[...d.path,"propertyNames"]})),c.additionalProperties=ip(e.valueType,b,{...d,path:[...d.path,"additionalProperties"]});let i=f._zod.values;if(i){let a=[...i].filter(a=>"string"==typeof a||"number"==typeof a);a.length>0&&(c.required=a)}},nullable:(a,b,c,d)=>{let e=a._zod.def,f=ip(e.innerType,b,d),g=b.seen.get(a);"openapi-3.0"===b.target?(g.ref=e.innerType,c.nullable=!0):c.anyOf=[f,{type:"null"}]},nonoptional:(a,b,c,d)=>{let e=a._zod.def;ip(e.innerType,b,d),b.seen.get(a).ref=e.innerType},default:(a,b,c,d)=>{let e=a._zod.def;ip(e.innerType,b,d),b.seen.get(a).ref=e.innerType,c.default=JSON.parse(JSON.stringify(e.defaultValue))},prefault:(a,b,c,d)=>{let e=a._zod.def;ip(e.innerType,b,d),b.seen.get(a).ref=e.innerType,"input"===b.io&&(c._prefault=JSON.parse(JSON.stringify(e.defaultValue)))},catch:(a,b,c,d)=>{let e,f=a._zod.def;ip(f.innerType,b,d),b.seen.get(a).ref=f.innerType;try{e=f.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}c.default=e},pipe:(a,b,c,d)=>{let e=a._zod.def,f=e.in._zod.traits.has("$ZodTransform"),g="input"===b.io?f?e.out:e.in:e.out;ip(g,b,d),b.seen.get(a).ref=g},readonly:(a,b,c,d)=>{let e=a._zod.def;ip(e.innerType,b,d),b.seen.get(a).ref=e.innerType,c.readOnly=!0},promise:(a,b,c,d)=>{let e=a._zod.def;ip(e.innerType,b,d),b.seen.get(a).ref=e.innerType},optional:(a,b,c,d)=>{let e=a._zod.def;ip(e.innerType,b,d),b.seen.get(a).ref=e.innerType},lazy:(a,b,c,d)=>{let e=a._zod.innerType;ip(e,b,d),b.seen.get(a).ref=e}};function iv(a,b){if("_idmap"in a){let c=io({...b,processors:iu}),d={};for(let b of a._idmap.entries()){let[a,d]=b;ip(d,c)}let e={};for(let f of(c.external={registry:a,uri:b?.uri,defs:d},a._idmap.entries())){let[a,b]=f;iq(c,b),e[a]=ir(c,b)}return Object.keys(d).length>0&&(e.__shared={["draft-2020-12"===c.target?"$defs":"definitions"]:d}),{schemas:e}}let c=io({...b,processors:iu});return ip(a,c),iq(c,a),ir(c,a)}let iw=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i;function ix(a){return a.test.bind(a)}function iy(a,b){let c=b.match(iw);if(!c)return!1;let d=+c[1],e=+c[2],f=+c[3],g=!!c[5];return(d<=23&&e<=59&&f<=59||23==d&&59==e&&60==f)&&(!a||g)}iy.bind(void 0,!1),ix(/^(?:[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),ix(/^(?:(?:[^\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),ix(/^(?:(?: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),ix(/^(?=.{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),ix(/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/),ix(/^((([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),ix(/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i),ix(/^(?:\/(?:[^~/]|~0|~1)*)*$/),ix(/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i),ix(/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/);(r=y||(y={}))[r.Flag=1]="Flag",r[r.Basic=2]="Basic",r[r.Detailed=4]="Detailed";"u">typeof self&&self.location&&"null"!==self.location.origin?new URL(self.location.origin+self.location.pathname+location.search):new URL("https://github.com/cfworker");let iz=new WeakMap;var iA=class a{nodes={};edges=[];constructor(a){this.nodes=a?.nodes??this.nodes,this.edges=a?.edges??this.edges}toJSON(){let a={};return Object.values(this.nodes).forEach((b,c)=>{a[b.id]=a5(b.id)?c:b.id}),{nodes:Object.values(this.nodes).map(b=>({id:a[b.id],...eY(b.data)?{type:"runnable",data:{id:b.data.lc_id,name:b.data.getName()}}:{type:"schema",data:{...function(a){var b;let c,d=null!=a&&"object"==typeof a;if(d){let b=iz.get(a);if(b)return b}if(("object"==typeof(b=a)||"function"==typeof b)&&null!==b&&"~standard"in b&&"object"==typeof b["~standard"]&&null!==b["~standard"]&&"jsonSchema"in b["~standard"]&&!fR(a))c=a["~standard"].jsonSchema.input({target:"draft-07"});else if(fR(a)){let b=function(a,b=!1){return function a(b,c,d){var e,f;let g=d.get(b);if(void 0!==g)return g;if(fS(b))return fS(b)&&"typeName"in b._def&&"ZodEffects"===b._def.typeName?a(b._def.schema,c,d):b;if(fR(b)){let g=b;if(fR(b)&&"pipe"===b._zod.def.type&&(g=a(b._zod.def.in,c,d)),c)if(fU(g)){let b={};for(let[e,f]of Object.entries(g._zod.def.shape))b[e]=a(f,c,d);g=fg(g,{...g._zod.def,shape:b})}else if(fV(g)){let b=a(g._zod.def.element,c,d);g=fg(g,{...g._zod.def,element:b})}else if(fR(e=g)&&"object"==typeof e&&null!==e&&"_zod"in e&&"object"==typeof e._zod&&null!==e._zod&&"def"in e._zod&&"object"==typeof e._zod.def&&null!==e._zod.def&&"type"in e._zod.def&&"optional"===e._zod.def.type?0:1){if(fR(f=g)&&"object"==typeof f&&null!==f&&"_zod"in f&&"object"==typeof f._zod&&null!==f._zod&&"def"in f._zod&&"object"==typeof f._zod.def&&null!==f._zod.def&&"type"in f._zod.def&&"nullable"===f._zod.def.type){let b=a(g._zod.def.innerType,c,d);g=fg(g,{...g._zod.def,innerType:b})}}else{let b=a(g._zod.def.innerType,c,d);g=fg(g,{...g._zod.def,innerType:b})}let h=fQ.get(b);return h&&fQ.add(g,h),d.set(b,g),g}throw Error("Schema must be an instance of z3.ZodType or z4.$ZodType")}(a,b,new WeakMap)}(a,!0);c=fU(b)?iv(function a(b,c=!1){if("object"==typeof b&&null!==b&&"_def"in b&&"object"==typeof b._def&&null!==b._def&&"typeName"in b._def&&"ZodObject"===b._def.typeName)return b.strict();if(fU(b)){let d=b._zod.def.shape;if(c)for(let[e,f]of Object.entries(b._zod.def.shape)){if(fU(f))d[e]=a(f,c);else if(fV(f)){let b=f._zod.def.element;fU(b)&&(b=a(b,c)),d[e]=fg(f,{...f._zod.def,element:b})}else d[e]=f;let b=fQ.get(f);b&&fQ.add(d[e],b)}let e=fg(b,{...b._zod.def,shape:d,catchall:new fI({type:"never",...fh(void 0)})}),f=fQ.get(b);return f&&fQ.add(e,f),e}throw Error("Schema must be an instance of z3.ZodObject or z4.$ZodObject")}(b,!0),void 0):iv(a,void 0)}else c=fS(a)?((a,b)=>{let c,d,e=(d=void 0!==(c="string"==typeof b?{...f$,name:b}:{...f$,...b}).name?[...c.basePath,c.definitionPath,c.name]:c.basePath,{...c,flags:{hasReferencedOpenAiAnyType:!1},currentPath:d,propertyPath:void 0,seen:new Map(Object.entries(c.definitions).map(([a,b])=>[b._def,{def:b._def,path:[...c.basePath,c.definitionPath,a],jsonSchema:void 0}]))}),f="object"==typeof b&&b.definitions?Object.entries(b.definitions).reduce((a,[b,c])=>({...a,[b]:ik(c._def,{...e,currentPath:[...e.basePath,e.definitionPath,b]},!0)??f0(e)}),{}):void 0,g="string"==typeof b?b:b?.nameStrategy==="title"?void 0:b?.name,h=ik(a._def,void 0===g?e:{...e,currentPath:[...e.basePath,e.definitionPath,g]},!1)??f0(e),i="object"==typeof b&&void 0!==b.name&&"title"===b.nameStrategy?b.name:void 0;void 0!==i&&(h.title=i),e.flags.hasReferencedOpenAiAnyType&&(f||(f={}),f[e.openAiAnyTypeName]||(f[e.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:"relative"===e.$refStrategy?"1":[...e.basePath,e.definitionPath,e.openAiAnyTypeName].join("/")}}));let j=void 0===g?f?{...h,[e.definitionPath]:f}:h:{$ref:[..."relative"===e.$refStrategy?[]:e.basePath,e.definitionPath,g].join("/"),[e.definitionPath]:{...f,[g]:h}};return"jsonSchema7"===e.target?j.$schema="http://json-schema.org/draft-07/schema#":("jsonSchema2019-09"===e.target||"openAi"===e.target)&&(j.$schema="https://json-schema.org/draft/2019-09/schema#"),"openAi"===e.target&&("anyOf"in j||"oneOf"in j||"allOf"in j||"type"in j&&Array.isArray(j.type))&&console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."),j})(a):a;return d&&null!=c&&"object"==typeof c&&iz.set(a,c),c}(b.data.schema),title:b.data.name}}})),edges:this.edges.map(b=>{let c={source:a[b.source],target:a[b.target]};return void 0!==b.data&&(c.data=b.data),void 0!==b.conditional&&(c.conditional=b.conditional),c})}}addNode(a,b,c){if(void 0!==b&&void 0!==this.nodes[b])throw Error(`Node with id ${b} already exists`);let d=b??bg(),e={id:d,data:a,name:function(a,b){if(void 0!==a&&!a5(a))return a;if(!eY(b))return b.name??"UnknownSchema";try{let a=b.getName();return a=a.startsWith("Runnable")?a.slice(8):a}catch{return b.getName()}}(b,a),metadata:c};return this.nodes[d]=e,e}removeNode(a){delete this.nodes[a.id],this.edges=this.edges.filter(b=>b.source!==a.id&&b.target!==a.id)}addEdge(a,b,c,d){if(void 0===this.nodes[a.id])throw Error(`Source node ${a.id} not in graph`);if(void 0===this.nodes[b.id])throw Error(`Target node ${b.id} not in graph`);let e={source:a.id,target:b.id,data:c,conditional:d};return this.edges.push(e),e}firstNode(){return iB(this)}lastNode(){return iC(this)}extend(a,b=""){let c=b;Object.values(a.nodes).map(a=>a.id).every(a5)&&(c="");let d=a=>c?`${c}:${a}`:a;Object.entries(a.nodes).forEach(([a,b])=>{this.nodes[d(a)]={...b,id:d(a)}});let e=a.edges.map(a=>({...a,source:d(a.source),target:d(a.target)}));this.edges=[...this.edges,...e];let f=a.firstNode(),g=a.lastNode();return[f?{id:d(f.id),data:f.data}:void 0,g?{id:d(g.id),data:g.data}:void 0]}trimFirstNode(){let a=this.firstNode();a&&iB(this,[a.id])&&this.removeNode(a)}trimLastNode(){let a=this.lastNode();a&&iC(this,[a.id])&&this.removeNode(a)}reid(){let b=Object.fromEntries(Object.values(this.nodes).map(a=>[a.id,a.name])),c=new Map;Object.values(b).forEach(a=>{c.set(a,(c.get(a)||0)+1)});let d=a=>{let d=b[a];return a5(a)&&1===c.get(d)?d:a};return new a({nodes:Object.fromEntries(Object.entries(this.nodes).map(([a,b])=>[d(a),{...b,id:d(a)}])),edges:this.edges.map(a=>({...a,source:d(a.source),target:d(a.target)}))})}drawMermaid(a){let{withStyles:b,curveStyle:c,nodeColors:d={default:"fill:#f2f0ff,line-height:1.2",first:"fill-opacity:0",last:"fill:#bfb6fc"},wrapLabelNWords:e}=a??{},f=this.reid(),g=f.firstNode(),h=f.lastNode();return function(a,b,c){let{firstNode:d,lastNode:e,nodeColors:f,withStyles:g=!0,curveStyle:h="linear",wrapLabelNWords:i=9}=c??{},j=g?`%%{init: {'flowchart': {'curve': '${h}'}}}%%
142
+ graph TD;
143
+ `:"graph TD;\n";if(g){let b="default",c={[b]:"{0}({1})"};for(let[f,g]of(void 0!==d&&(c[d]="{0}([{1}]):::first"),void 0!==e&&(c[e]="{0}([{1}]):::last"),Object.entries(a))){let a=g.name.split(":").pop()??"",d=fX.some(b=>a.startsWith(b)&&a.endsWith(b))?`<p>${a}</p>`:a;Object.keys(g.metadata??{}).length&&(d+=`<hr/><small><em>${Object.entries(g.metadata??{}).map(([a,b])=>`${a} = ${b}`).join("\n")}</em></small>`);let e=(c[f]??c[b]).replace("{0}",fW(f)).replace("{1}",d);j+=` ${e}
144
+ `}}let k={};for(let a of b){let b=a.source.split(":"),c=a.target.split(":"),d=b.filter((a,b)=>a===c[b]).join(":");k[d]||(k[d]=[]),k[d].push(a)}let l=new Set;function m(a,b){let c=1===a.length&&a[0].source===a[0].target;if(b&&!c){let a=b.split(":").pop();if(l.has(b))throw Error(`Found duplicate subgraph '${a}' at '${b} -- 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.`);l.add(b),j+=` subgraph ${a}
145
+ `}for(let a of[...Object.keys(k).filter(a=>a.startsWith(`${b}:`)&&a!==b&&a.split(":").length===b.split(":").length+1)].sort((a,b)=>a.split(":").length-b.split(":").length))m(k[a],a);for(let b of a){let{source:a,target:c,data:d,conditional:e}=b,f="";if(void 0!==d){let a=d,b=a.split(" ");b.length>i&&(a=Array.from({length:Math.ceil(b.length/i)},(a,c)=>b.slice(c*i,(c+1)*i).join(" ")).join("&nbsp;<br>&nbsp;")),f=e?` -. &nbsp;${a}&nbsp; .-> `:` -- &nbsp;${a}&nbsp; --> `}else f=e?" -.-> ":" --> ";j+=` ${fW(a)}${f}${fW(c)};
146
+ `}b&&!c&&(j+=" end\n")}for(let a in m(k[""]??[],""),k)a.includes(":")||""===a||m(k[a],a);return g&&(j+=function(a){let b="";for(let[c,d]of Object.entries(a))b+=` classDef ${c} ${d};
147
+ `;return b}(f??{})),j}(f.nodes,f.edges,{firstNode:g?.id,lastNode:h?.id,withStyles:b,curveStyle:c,nodeColors:d,wrapLabelNWords:e})}async drawMermaidPng(a){return fY(this.drawMermaid(a),{backgroundColor:a?.backgroundColor})}};function iB(a,b=[]){let c=new Set(a.edges.filter(a=>!b.includes(a.source)).map(a=>a.target)),d=[];for(let e of Object.values(a.nodes))b.includes(e.id)||c.has(e.id)||d.push(e);return 1===d.length?d[0]:void 0}function iC(a,b=[]){let c=new Set(a.edges.filter(a=>!b.includes(a.target)).map(a=>a.source)),d=[];for(let e of Object.values(a.nodes))b.includes(e.id)||c.has(e.id)||d.push(e);return 1===d.length?d[0]:void 0}function iD(a){return"object"==typeof a&&null!==a&&"function"==typeof a[Symbol.iterator]&&"function"==typeof a.next}function iE(a){return"object"==typeof a&&null!==a&&"function"==typeof a[Symbol.asyncIterator]}function*iF(a,b){for(;;){let{value:c,done:d}=ed.runWithConfig(ek(a),b.next.bind(b),!0);if(d)break;yield c}}async function*iG(a,b){let c=b[Symbol.asyncIterator]();for(;;){let{value:d,done:e}=await ed.runWithConfig(ek(a),c.next.bind(b),!0);if(e)break;yield d}}a.s([],958425),a.i(958425),a.i(929415),a.s(["defaultErrorMap",0,f8,"getErrorMap",0,gb,"setErrorMap",0,ga],177662),a.i(177662),a.i(285244),a.s([],65416),a.i(65416),a.i(609197),a.i(263563),a.i(481440),a.s(["BRAND",0,hg,"DIRTY",0,gh,"EMPTY_PATH",0,gd,"INVALID",0,gg,"NEVER",0,gg,"OK",0,gi,"ParseStatus",0,gf,"Schema",0,gq,"ZodAny",0,gR,"ZodArray",0,gV,"ZodBigInt",0,gL,"ZodBoolean",0,gM,"ZodBranded",0,hh,"ZodCatch",0,he,"ZodDate",0,gN,"ZodDefault",0,hd,"ZodDiscriminatedUnion",0,gZ,"ZodEffects",0,ha,"ZodEnum",0,g7,"ZodError",0,f7,"ZodFirstPartyTypeKind",0,x,"ZodFunction",0,g3,"ZodIntersection",0,g$,"ZodIssueCode",0,f5,"ZodLazy",0,g4,"ZodLiteral",0,g5,"ZodMap",0,g1,"ZodNaN",0,hf,"ZodNativeEnum",0,g8,"ZodNever",0,gT,"ZodNull",0,gQ,"ZodNullable",0,hc,"ZodNumber",0,gK,"ZodObject",0,gW,"ZodOptional",0,hb,"ZodParsedType",0,f3,"ZodPipeline",0,hi,"ZodPromise",0,g9,"ZodReadonly",0,hj,"ZodRecord",0,g0,"ZodSchema",0,gq,"ZodSet",0,g2,"ZodString",0,gJ,"ZodSymbol",0,gO,"ZodTransformer",0,ha,"ZodTuple",0,g_,"ZodType",0,gq,"ZodUndefined",0,gP,"ZodUnion",0,gX,"ZodUnknown",0,gS,"ZodVoid",0,gU,"addIssueToContext",0,ge,"any",0,hx,"array",0,hB,"bigint",0,hr,"boolean",0,hs,"coerce",0,hZ,"custom",0,hl,"date",0,ht,"datetimeRegex",0,gI,"defaultErrorMap",0,f8,"discriminatedUnion",0,hF,"effect",0,hR,"enum",0,hO,"function",0,hL,"getErrorMap",0,gb,"getParsedType",0,f4,"instanceof",0,hn,"intersection",0,hG,"isAborted",0,gj,"isAsync",0,gm,"isDirty",0,gk,"isValid",0,gl,"late",0,hm,"lazy",0,hM,"literal",0,hN,"makeIssue",0,gc,"map",0,hJ,"nan",0,hq,"nativeEnum",0,hP,"never",0,hz,"null",0,hw,"nullable",0,hT,"number",0,hp,"object",0,hC,"objectUtil",0,v,"oboolean",0,hY,"onumber",0,hX,"optional",0,hS,"ostring",0,hW,"pipeline",0,hV,"preprocess",0,hU,"promise",0,hQ,"quotelessJson",0,f6,"record",0,hI,"set",0,hK,"setErrorMap",0,ga,"strictObject",0,hD,"string",0,ho,"symbol",0,hu,"transformer",0,hR,"tuple",0,hH,"undefined",0,hv,"union",0,hE,"unknown",0,hy,"util",0,u,"void",0,hA],673950);var iH=a.i(673950),iH=iH;function iI(a,b){return!a||Array.isArray(a)||a instanceof Date||"object"!=typeof a?{[b]:a}:a}var iJ=class extends I{lc_runnable=!0;name;getName(a){let b=this.name??this.constructor.lc_name()??this.constructor.name;return a?`${b}${a}`:b}withRetry(a){return new iL({bound:this,kwargs:{},config:{},maxAttemptNumber:a?.stopAfterAttempt,...a})}withConfig(a){return new iK({bound:this,config:a,kwargs:{}})}withFallbacks(a){return new iQ({runnable:this,fallbacks:Array.isArray(a)?a:a.fallbacks})}_getOptionsList(a,b=0){if(Array.isArray(a)&&a.length!==b)throw Error(`Passed "options" must be an array with the same length as the inputs, but got ${a.length} options for ${b} inputs`);if(Array.isArray(a))return a.map(ei);if(b>1&&!Array.isArray(a)&&a.runId){console.warn("Provided runId will be used only for the first element of the batch.");let c=Object.fromEntries(Object.entries(a).filter(([a])=>"runId"!==a));return Array.from({length:b},(b,d)=>ei(0===d?a:c))}return Array.from({length:b},()=>ei(a))}async batch(a,b,c){let d=this._getOptionsList(b??{},a.length),e=new eW({maxConcurrency:d[0]?.maxConcurrency??c?.maxConcurrency,onFailedAttempt:a=>{throw a}});return Promise.all(a.map((a,b)=>e.call(async()=>{try{return await this.invoke(a,d[b])}catch(a){if(c?.returnExceptions)return a;throw a}})))}async *_streamIterator(a,b){yield this.invoke(a,b)}async stream(a,b){let c=ei(b),d=new ep({generator:this._streamIterator(a,c),config:c});return await d.setup,en.fromAsyncGenerator(d)}_separateRunnableConfigFromCallOptions(a){let b;b=void 0===a?ei(a):ei({callbacks:a.callbacks,tags:a.tags,metadata:a.metadata,runName:a.runName,configurable:a.configurable,recursionLimit:a.recursionLimit,maxConcurrency:a.maxConcurrency,runId:a.runId,timeout:a.timeout,signal:a.signal});let c={...a};return delete c.callbacks,delete c.tags,delete c.metadata,delete c.runName,delete c.configurable,delete c.recursionLimit,delete c.maxConcurrency,delete c.runId,delete c.timeout,delete c.signal,[b,c]}async _callWithConfig(a,b,c){let d,e=ei(c),f=await (await eg(e))?.handleChainStart(this.toJSON(),iI(b,"input"),e.runId,e?.runType,void 0,void 0,e?.runName??this.getName());delete e.runId;try{d=await el(a.call(this,b,e,f),e.signal)}catch(a){throw await f?.handleChainError(a),a}return await f?.handleChainEnd(iI(d,"output")),d}async _batchWithConfig(a,b,c,d){let e,f=this._getOptionsList(c??{},b.length),g=await Promise.all(f.map(eg)),h=await Promise.all(g.map(async(a,c)=>{let d=await a?.handleChainStart(this.toJSON(),iI(b[c],"input"),f[c].runId,f[c].runType,void 0,void 0,f[c].runName??this.getName());return delete f[c].runId,d}));try{e=await el(a.call(this,b,f,h,d),f?.[0]?.signal)}catch(a){throw await Promise.all(h.map(b=>b?.handleChainError(a))),a}return await Promise.all(h.map(a=>a?.handleChainEnd(iI(e,"output")))),e}_concatOutputChunks(a,b){return function a(b,c){if(Array.isArray(b)&&Array.isArray(c))return b.concat(c);if("string"==typeof b&&"string"==typeof c)return b+c;if("number"==typeof b&&"number"==typeof c)return b+c;if("concat"in b&&"function"==typeof b.concat)return b.concat(c);if("object"==typeof b&&"object"==typeof c){let d={...b};for(let[b,e]of Object.entries(c))b in d&&!Array.isArray(d[b])?d[b]=a(d[b],e):d[b]=e;return d}else throw Error(`Cannot concat ${typeof b} and ${typeof c}`)}(a,b)}async *_transformStreamWithConfig(a,b,c){let d,e,f,g=!0,h=!0,i=ei(c),j=await eg(i),k=this;async function*l(){for await(let b of a){if(g)if(void 0===d)d=b;else try{d=k._concatOutputChunks(d,b)}catch{d=void 0,g=!1}yield b}}try{let a=await eq(b.bind(this),l(),async()=>j?.handleChainStart(this.toJSON(),{input:""},i.runId,i.runType,void 0,void 0,i.runName??this.getName(),void 0,{lc_defers_inputs:!0}),i.signal,i);delete i.runId,f=a.setup;let c=f?.handlers.find(eL),d=a.output;void 0!==c&&void 0!==f&&(d=c.tapOutputIterable(f.runId,d));let g=f?.handlers.find(eF);for await(let a of(void 0!==g&&void 0!==f&&(d=g.tapOutputIterable(f.runId,d)),d))if(yield a,h)if(void 0===e)e=a;else try{e=this._concatOutputChunks(e,a)}catch{e=void 0,h=!1}}catch(a){throw await f?.handleChainError(a,void 0,void 0,void 0,{inputs:iI(d,"input")}),a}await f?.handleChainEnd(e??{},void 0,void 0,void 0,{inputs:iI(d,"input")})}getGraph(a){let b=new iA,c=b.addNode({name:`${this.getName()}Input`,schema:iH.any()}),d=b.addNode(this),e=b.addNode({name:`${this.getName()}Output`,schema:iH.any()});return b.addEdge(c,d),b.addEdge(d,e),b}pipe(a){return new iM({first:this,last:iR(a)})}pick(a){return this.pipe(new iT(a))}assign(a){return this.pipe(new iS(new iN({steps:a})))}async *transform(a,b){let c;for await(let b of a)c=void 0===c?b:this._concatOutputChunks(c,b);yield*this._streamIterator(c,ei(b))}async *streamLog(a,b,c){let d=new eI({...c,autoClose:!1,_schemaFormat:"original"}),e=ei(b);yield*this._streamLog(a,d,e)}async *_streamLog(a,b,c){let{callbacks:d}=c;if(void 0===d)c.callbacks=[b];else if(Array.isArray(d))c.callbacks=d.concat([b]);else{let a=d.copy();a.addHandler(b,!0),c.callbacks=a}let e=this.stream(a,c),f=async function(){try{for await(let a of(await e)){let c=new eD({ops:[{op:"add",path:"/streamed_output/-",value:a}]});await b.writer.write(c)}}finally{await b.writer.close()}}();try{for await(let a of b)yield a}finally{await f}}streamEvents(a,b,c){var d;let e,f,g;if("v1"===b.version)e=this._streamEventsV1(a,b,c);else if("v2"===b.version)e=this._streamEventsV2(a,b,c);else throw Error('Only versions "v1" and "v2" of the schema are currently supported.');if("text/event-stream"!==b.encoding)return en.fromAsyncGenerator(e);return d=e,f=new TextEncoder,g=new ReadableStream({async start(a){for await(let b of d)a.enqueue(f.encode(`event: data
148
+ data: ${JSON.stringify(b)}
149
+
150
+ `));a.enqueue(f.encode("event: end\n\n")),a.close()}}),en.fromReadableStream(g)}async *_streamEventsV2(a,b,c){let d,e=new eM({...c,autoClose:!1}),f=ei(b),g=f.runId??bh();f.runId=g;let h=f.callbacks;if(void 0===h)f.callbacks=[e];else if(Array.isArray(h))f.callbacks=h.concat(e);else{let a=h.copy();a.addHandler(e,!0),f.callbacks=a}let i=new AbortController,j=this,k=async function(){let b;try{if(f.signal)if("any"in AbortSignal)b=AbortSignal.any([i.signal,f.signal]);else{let a=new AbortController;f.signal.addEventListener("abort",()=>a.abort(),{once:!0}),i.signal.addEventListener("abort",()=>a.abort(),{once:!0}),b=a.signal}else b=i.signal;let c=await j.stream(a,{...f,signal:b});for await(let a of e.tapOutputIterable(g,c))if(i.signal.aborted)break}finally{await e.finish()}}(),l=!1;try{for await(let b of e){if(!l){b.data.input=a,l=!0,d=b.run_id,yield b;continue}b.run_id===d&&b.event.endsWith("_end")&&b.data?.input&&delete b.data.input,yield b}}finally{i.abort(),await k}}async *_streamEventsV1(a,b,c){let d,e=!1,f=ei(b),g=f.tags??[],h=f.metadata??{},i=f.runName??this.getName(),j=new eI({...c,autoClose:!1,_schemaFormat:"streaming_events"}),k=new eZ({...c});for await(let b of this._streamLog(a,j,f)){if(void 0===(d=d?d.concat(b):eE.fromRunLogPatch(b)).state)throw Error('Internal error: "streamEvents" state is missing. Please open a bug report.');if(!e){e=!0;let b={...d.state},c={run_id:b.id,event:`on_${b.type}_start`,name:i,tags:g,metadata:h,data:{input:a}};k.includeEvent(c,b.type)&&(yield c)}for(let a of[...new Set(b.ops.filter(a=>a.path.startsWith("/logs/")).map(a=>a.path.split("/")[2]))]){let b,c={},e=d.state.logs[a];if("start"==(b=void 0===e.end_time?e.streamed_output.length>0?"stream":"start":"end"))void 0!==e.inputs&&(c.input=e.inputs);else if("end"===b)void 0!==e.inputs&&(c.input=e.inputs),c.output=e.final_output;else if("stream"===b){let a=e.streamed_output.length;if(1!==a)throw Error(`Expected exactly one chunk of streamed output, got ${a} instead. Encountered in: "${e.name}"`);c={chunk:e.streamed_output[0]},e.streamed_output=[]}yield{event:`on_${e.type}_${b}`,name:e.name,run_id:e.id,tags:e.tags,metadata:e.metadata,data:c}}let{state:c}=d;if(c.streamed_output.length>0){let a=c.streamed_output.length;if(1!==a)throw Error(`Expected exactly one chunk of streamed output, got ${a} instead. Encountered in: "${c.name}"`);let b={chunk:c.streamed_output[0]};c.streamed_output=[];let d={event:`on_${c.type}_stream`,run_id:c.id,tags:g,metadata:h,name:i,data:b};k.includeEvent(d,c.type)&&(yield d)}}let l=d?.state;if(void 0!==l){let a={event:`on_${l.type}_end`,name:i,run_id:l.id,tags:g,metadata:h,data:{output:l.final_output}};k.includeEvent(a,l.type)&&(yield a)}}static isRunnable(a){return eY(a)}withListeners({onStart:a,onEnd:b,onError:c}){return new iK({bound:this,config:{},configFactories:[d=>({callbacks:[new eX({config:d,onStart:a,onEnd:b,onError:c})]})]})}asTool(a){var b,c,d,e,f;let g,h;return b=this,g=(c=a).name??b.getName(),h=c.description??(fR(d=c.schema)?fQ.get(d)?.description:fS(d)||"description"in d&&"string"==typeof d.description?d.description:void 0),new iU(!(!(f=e=c.schema)||"object"!=typeof f||Array.isArray(f))&&(fR(f)||fS(f))&&(fS(e)?"ZodString"===e._def.typeName:!!fR(e)&&"string"===e._zod.def.type)?{name:g,description:h,schema:iH.object({input:iH.string()}).transform(a=>a.input),bound:b}:{name:g,description:h,schema:c.schema,bound:b})}},iK=class a extends iJ{static lc_name(){return"RunnableBinding"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;bound;config;kwargs;configFactories;constructor(a){super(a),this.bound=a.bound,this.kwargs=a.kwargs,this.config=a.config,this.configFactories=a.configFactories}getName(a){return this.bound.getName(a)}async _mergeConfig(...a){let b=eh(this.config,...a);return eh(b,...this.configFactories?await Promise.all(this.configFactories.map(async a=>await a(b))):[])}withConfig(a){return new this.constructor({bound:this.bound,kwargs:this.kwargs,config:{...this.config,...a}})}withRetry(a){return new iL({bound:this.bound,kwargs:this.kwargs,config:this.config,maxAttemptNumber:a?.stopAfterAttempt,...a})}async invoke(a,b){return this.bound.invoke(a,await this._mergeConfig(b,this.kwargs))}async batch(a,b,c){let d=Array.isArray(b)?await Promise.all(b.map(async a=>this._mergeConfig(ei(a),this.kwargs))):await this._mergeConfig(ei(b),this.kwargs);return this.bound.batch(a,d,c)}_concatOutputChunks(a,b){return this.bound._concatOutputChunks(a,b)}async *_streamIterator(a,b){yield*this.bound._streamIterator(a,await this._mergeConfig(ei(b),this.kwargs))}async stream(a,b){return this.bound.stream(a,await this._mergeConfig(ei(b),this.kwargs))}async *transform(a,b){yield*this.bound.transform(a,await this._mergeConfig(ei(b),this.kwargs))}streamEvents(a,b,c){let d=this,e=async function*(){yield*d.bound.streamEvents(a,{...await d._mergeConfig(ei(b),d.kwargs),version:b.version},c)};return en.fromAsyncGenerator(e())}static isRunnableBinding(a){return a.bound&&iJ.isRunnable(a.bound)}withListeners({onStart:b,onEnd:c,onError:d}){return new a({bound:this.bound,kwargs:this.kwargs,config:this.config,configFactories:[a=>({callbacks:[new eX({config:a,onStart:b,onEnd:c,onError:d})]})]})}},iL=class extends iK{static lc_name(){return"RunnableRetry"}lc_namespace=["langchain_core","runnables"];maxAttemptNumber=3;onFailedAttempt=()=>{};constructor(a){super(a),this.maxAttemptNumber=a.maxAttemptNumber??this.maxAttemptNumber,this.onFailedAttempt=a.onFailedAttempt??this.onFailedAttempt}_patchConfigForRetry(a,b,c){let d=a>1?`retry:attempt:${a}`:void 0;return ej(b,{callbacks:c?.getChild(d)})}async _invoke(a,b,c){return eT(d=>super.invoke(a,this._patchConfigForRetry(d,b,c)),{onFailedAttempt:({error:b})=>this.onFailedAttempt(b,a),retries:Math.max(this.maxAttemptNumber-1,0),randomize:!0})}async invoke(a,b){return this._callWithConfig(this._invoke.bind(this),a,b)}async _batch(a,b,c,d){let e={};try{await eT(async f=>{let g,h=a.map((a,b)=>b).filter(a=>void 0===e[a.toString()]||e[a.toString()]instanceof Error),i=h.map(b=>a[b]),j=h.map(a=>this._patchConfigForRetry(f,b?.[a],c?.[a])),k=await super.batch(i,j,{...d,returnExceptions:!0});for(let a=0;a<k.length;a+=1){let b=k[a],c=h[a];b instanceof Error&&void 0===g&&((g=b).input=i[a]),e[c.toString()]=b}if(g)throw g;return k},{onFailedAttempt:({error:a})=>this.onFailedAttempt(a,a.input),retries:Math.max(this.maxAttemptNumber-1,0),randomize:!0})}catch(a){if(d?.returnExceptions!==!0)throw a}return Object.keys(e).sort((a,b)=>parseInt(a,10)-parseInt(b,10)).map(a=>e[parseInt(a,10)])}async batch(a,b,c){return this._batchWithConfig(this._batch.bind(this),a,b,c)}},iM=class a extends iJ{static lc_name(){return"RunnableSequence"}first;middle=[];last;omitSequenceTags=!1;lc_serializable=!0;lc_namespace=["langchain_core","runnables"];constructor(a){super(a),this.first=a.first,this.middle=a.middle??this.middle,this.last=a.last,this.name=a.name,this.omitSequenceTags=a.omitSequenceTags??this.omitSequenceTags}get steps(){return[this.first,...this.middle,this.last]}async invoke(a,b){let c,d=ei(b),e=await (await eg(d))?.handleChainStart(this.toJSON(),iI(a,"input"),d.runId,void 0,void 0,void 0,d?.runName);delete d.runId;let f=a;try{let a=[this.first,...this.middle];for(let b=0;b<a.length;b+=1)f=await el(a[b].invoke(f,ej(d,{callbacks:e?.getChild(this.omitSequenceTags?void 0:`seq:step:${b+1}`)})),d.signal);if(d.signal?.aborted)throw em(d.signal);c=await this.last.invoke(f,ej(d,{callbacks:e?.getChild(this.omitSequenceTags?void 0:`seq:step:${this.steps.length}`)}))}catch(a){throw await e?.handleChainError(a),a}return await e?.handleChainEnd(iI(c,"output")),c}async batch(a,b,c){let d=this._getOptionsList(b??{},a.length),e=await Promise.all(d.map(eg)),f=await Promise.all(e.map(async(b,c)=>{let e=await b?.handleChainStart(this.toJSON(),iI(a[c],"input"),d[c].runId,void 0,void 0,void 0,d[c].runName);return delete d[c].runId,e})),g=a;try{for(let a=0;a<this.steps.length;a+=1)g=await el(this.steps[a].batch(g,f.map((b,c)=>{let e=b?.getChild(this.omitSequenceTags?void 0:`seq:step:${a+1}`);return ej(d[c],{callbacks:e})}),c),d[0]?.signal)}catch(a){throw await Promise.all(f.map(b=>b?.handleChainError(a))),a}return await Promise.all(f.map(a=>a?.handleChainEnd(iI(g,"output")))),g}_concatOutputChunks(a,b){return this.last._concatOutputChunks(a,b)}async *_streamIterator(a,b){let c,d=await eg(b),{runId:e,...f}=b??{},g=await d?.handleChainStart(this.toJSON(),iI(a,"input"),e,void 0,void 0,void 0,f?.runName),h=[this.first,...this.middle,this.last],i=!0;async function*j(){yield a}try{let a=h[0].transform(j(),ej(f,{callbacks:g?.getChild(this.omitSequenceTags?void 0:"seq:step:1")}));for(let b=1;b<h.length;b+=1)a=await h[b].transform(a,ej(f,{callbacks:g?.getChild(this.omitSequenceTags?void 0:`seq:step:${b+1}`)}));for await(let d of a)if(b?.signal?.throwIfAborted(),yield d,i)if(void 0===c)c=d;else try{c=this._concatOutputChunks(c,d)}catch{c=void 0,i=!1}}catch(a){throw await g?.handleChainError(a),a}await g?.handleChainEnd(iI(c,"output"))}getGraph(a){let b=new iA,c=null;return this.steps.forEach((d,e)=>{let f=d.getGraph(a);0!==e&&f.trimFirstNode(),e!==this.steps.length-1&&f.trimLastNode(),b.extend(f);let g=f.firstNode();if(!g)throw Error(`Runnable ${d} has no first node`);c&&b.addEdge(c,g),c=f.lastNode()}),b}pipe(b){return new a(a.isRunnableSequence(b)?{first:this.first,middle:this.middle.concat([this.last,b.first,...b.middle]),last:b.last,name:this.name??b.name}:{first:this.first,middle:[...this.middle,this.last],last:iR(b),name:this.name})}static isRunnableSequence(a){return Array.isArray(a.middle)&&iJ.isRunnable(a)}static from([b,...c],d){let e={};return"string"==typeof d?e.name=d:void 0!==d&&(e=d),new a({...e,first:iR(b),middle:c.slice(0,-1).map(iR),last:iR(c[c.length-1])})}},iN=class a extends iJ{static lc_name(){return"RunnableMap"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;steps;getStepsKeys(){return Object.keys(this.steps)}constructor(a){for(const[b,c]of(super(a),this.steps={},Object.entries(a.steps)))this.steps[b]=iR(c)}static from(b){return new a({steps:b})}async invoke(a,b){let c=ei(b),d=await (await eg(c))?.handleChainStart(this.toJSON(),{input:a},c.runId,void 0,void 0,void 0,c?.runName);delete c.runId;let e={};try{let b=Object.entries(this.steps).map(async([b,f])=>{e[b]=await f.invoke(a,ej(c,{callbacks:d?.getChild(`map:key:${b}`)}))});await el(Promise.all(b),c.signal)}catch(a){throw await d?.handleChainError(a),a}return await d?.handleChainEnd(e),e}async *_transform(a,b,c){let d={...this.steps},e=eo(a,Object.keys(d).length),f=new Map(Object.entries(d).map(([a,d],f)=>{let g=d.transform(e[f],ej(c,{callbacks:b?.getChild(`map:key:${a}`)}));return[a,g.next().then(b=>({key:a,gen:g,result:b}))]}));for(;f.size;){let{key:a,result:b,gen:d}=await el(Promise.race(f.values()),c?.signal);f.delete(a),b.done||(yield{[a]:b.value},f.set(a,d.next().then(b=>({key:a,gen:d,result:b}))))}}transform(a,b){return this._transformStreamWithConfig(a,this._transform.bind(this),b)}async stream(a,b){async function*c(){yield a}let d=ei(b),e=new ep({generator:this.transform(c(),d),config:d});return await e.setup,en.fromAsyncGenerator(e)}},iO=class a extends iJ{lc_serializable=!1;lc_namespace=["langchain_core","runnables"];func;constructor(a){if(super(a),!dY(a.func))throw Error("RunnableTraceable requires a function that is wrapped in traceable higher-order function");this.func=a.func}async invoke(a,b){let[c]=this._getOptionsList(b??{},1),d=await eg(c);return el(this.func(ej(c,{callbacks:d}),a),c?.signal)}async *_streamIterator(a,b){let[c]=this._getOptionsList(b??{},1),d=await this.invoke(a,b);if(iE(d)){for await(let a of d)c?.signal?.throwIfAborted(),yield a;return}if(null!=d&&"object"==typeof d&&"next"in d&&"function"==typeof d.next){for(;;){c?.signal?.throwIfAborted();let a=d.next();if(a.done)break;yield a.value}return}yield d}static from(b){return new a({func:b})}},iP=class a extends iJ{static lc_name(){return"RunnableLambda"}lc_namespace=["langchain_core","runnables"];func;constructor(a){if(dY(a.func))return iO.from(a.func);super(a),function(a){if(dY(a))throw Error("RunnableLambda requires a function that is not wrapped in traceable higher-order function. This shouldn't happen.")}(a.func),this.func=a.func}static from(b){return new a({func:b})}async _invoke(a,b,c){return new Promise((d,e)=>{let f=ej(b,{callbacks:c?.getChild(),recursionLimit:(b?.recursionLimit??25)-1});ed.runWithConfig(ek(f),async()=>{try{let c=await this.func(a,{...f});if(c&&iJ.isRunnable(c)){if(b?.recursionLimit===0)throw Error("Recursion limit reached.");c=await c.invoke(a,{...f,recursionLimit:(f.recursionLimit??25)-1})}else if(iE(c)){let a;for await(let d of iG(f,c))if(b?.signal?.throwIfAborted(),void 0===a)a=d;else try{a=this._concatOutputChunks(a,d)}catch{a=d}c=a}else if(iD(c)){let a;for(let d of iF(f,c))if(b?.signal?.throwIfAborted(),void 0===a)a=d;else try{a=this._concatOutputChunks(a,d)}catch{a=d}c=a}d(c)}catch(a){e(a)}})})}async invoke(a,b){return this._callWithConfig(this._invoke.bind(this),a,b)}async *_transform(a,b,c){let d;for await(let b of a)if(void 0===d)d=b;else try{d=this._concatOutputChunks(d,b)}catch{d=b}let e=ej(c,{callbacks:b?.getChild(),recursionLimit:(c?.recursionLimit??25)-1}),f=await new Promise((a,b)=>{ed.runWithConfig(ek(e),async()=>{try{a(await this.func(d,{...e,config:e}))}catch(a){b(a)}})});if(f&&iJ.isRunnable(f)){if(c?.recursionLimit===0)throw Error("Recursion limit reached.");for await(let a of(await f.stream(d,e)))yield a}else if(iE(f))for await(let a of iG(e,f))c?.signal?.throwIfAborted(),yield a;else if(iD(f))for(let a of iF(e,f))c?.signal?.throwIfAborted(),yield a;else yield f}transform(a,b){return this._transformStreamWithConfig(a,this._transform.bind(this),b)}async stream(a,b){async function*c(){yield a}let d=ei(b),e=new ep({generator:this.transform(c(),d),config:d});return await e.setup,en.fromAsyncGenerator(e)}},iQ=class extends iJ{static lc_name(){return"RunnableWithFallbacks"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;runnable;fallbacks;constructor(a){super(a),this.runnable=a.runnable,this.fallbacks=a.fallbacks}*runnables(){for(let a of(yield this.runnable,this.fallbacks))yield a}async invoke(a,b){let c=ei(b),d=await eg(c),{runId:e,...f}=c,g=await d?.handleChainStart(this.toJSON(),iI(a,"input"),e,void 0,void 0,void 0,f?.runName),h=ej(f,{callbacks:g?.getChild()});return await ed.runWithConfig(h,async()=>{let b;for(let d of this.runnables()){c?.signal?.throwIfAborted();try{let b=await d.invoke(a,h);return await g?.handleChainEnd(iI(b,"output")),b}catch(a){void 0===b&&(b=a)}}if(void 0===b)throw Error("No error stored at end of fallback.");throw await g?.handleChainError(b),b})}async *_streamIterator(a,b){let c,d,e,f=ei(b),g=await eg(f),{runId:h,...i}=f,j=await g?.handleChainStart(this.toJSON(),iI(a,"input"),h,void 0,void 0,void 0,i?.runName);for(let b of this.runnables()){f?.signal?.throwIfAborted();let e=ej(i,{callbacks:j?.getChild()});try{d=iG(e,await b.stream(a,e));break}catch(a){void 0===c&&(c=a)}}if(void 0===d){let a=c??Error("No error stored at end of fallback.");throw await j?.handleChainError(a),a}try{for await(let a of d){yield a;try{e=void 0===e?e:this._concatOutputChunks(e,a)}catch{e=void 0}}}catch(a){throw await j?.handleChainError(a),a}await j?.handleChainEnd(iI(e,"output"))}async batch(a,b,c){let d;if(c?.returnExceptions)throw Error("Not implemented.");let e=this._getOptionsList(b??{},a.length),f=await Promise.all(e.map(a=>eg(a))),g=await Promise.all(f.map(async(b,c)=>{let d=await b?.handleChainStart(this.toJSON(),iI(a[c],"input"),e[c].runId,void 0,void 0,void 0,e[c].runName);return delete e[c].runId,d}));for(let b of this.runnables()){e[0].signal?.throwIfAborted();try{let d=await b.batch(a,g.map((a,b)=>ej(e[b],{callbacks:a?.getChild()})),c);return await Promise.all(g.map((a,b)=>a?.handleChainEnd(iI(d[b],"output")))),d}catch(a){void 0===d&&(d=a)}}if(!d)throw Error("No error stored at end of fallbacks.");throw await Promise.all(g.map(a=>a?.handleChainError(d))),d}};function iR(a){if("function"==typeof a)return new iP({func:a});if(iJ.isRunnable(a))return a;if(Array.isArray(a)||"object"!=typeof a)throw Error(`Expected a Runnable, function or object.
151
+ Instead got an unsupported type.`);{let b={};for(let[c,d]of Object.entries(a))b[c]=iR(d);return new iN({steps:b})}}var iS=class extends iJ{static lc_name(){return"RunnableAssign"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;mapper;constructor(a){a instanceof iN&&(a={mapper:a}),super(a),this.mapper=a.mapper}async invoke(a,b){let c=await this.mapper.invoke(a,b);return{...a,...c}}async *_transform(a,b,c){let d=this.mapper.getStepsKeys(),[e,f]=eo(a),g=this.mapper.transform(f,ej(c,{callbacks:b?.getChild()})),h=g.next();for await(let a of e){if("object"!=typeof a||Array.isArray(a))throw Error(`RunnableAssign can only be used with objects as input, got ${typeof a}`);let b=Object.fromEntries(Object.entries(a).filter(([a])=>!d.includes(a)));Object.keys(b).length>0&&(yield b)}for await(let a of(yield(await h).value,g))yield a}transform(a,b){return this._transformStreamWithConfig(a,this._transform.bind(this),b)}async stream(a,b){async function*c(){yield a}let d=ei(b),e=new ep({generator:this.transform(c(),d),config:d});return await e.setup,en.fromAsyncGenerator(e)}},iT=class extends iJ{static lc_name(){return"RunnablePick"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;keys;constructor(a){("string"==typeof a||Array.isArray(a))&&(a={keys:a}),super(a),this.keys=a.keys}async _pick(a){if("string"==typeof this.keys)return a[this.keys];{let b=this.keys.map(b=>[b,a[b]]).filter(a=>void 0!==a[1]);return 0===b.length?void 0:Object.fromEntries(b)}}async invoke(a,b){return this._callWithConfig(this._pick.bind(this),a,b)}async *_transform(a){for await(let b of a){let a=await this._pick(b);void 0!==a&&(yield a)}}transform(a,b){return this._transformStreamWithConfig(a,this._transform.bind(this),b)}async stream(a,b){async function*c(){yield a}let d=ei(b),e=new ep({generator:this.transform(c(),d),config:d});return await e.setup,en.fromAsyncGenerator(e)}},iU=class extends iK{name;description;schema;constructor(a){super({bound:iM.from([iP.from(async a=>{let b;if(aF(a))try{b=await fT(this.schema,a.args)}catch{throw new aG("Received tool input did not match expected schema",JSON.stringify(a.args))}else b=a;return b}).withConfig({runName:`${a.name}:parse_input`}),a.bound]).withConfig({runName:a.name}),config:a.config??{}}),this.name=a.name,this.description=a.description,this.schema=a.schema}static lc_name(){return"RunnableToolLike"}};function iV(a,b){switch(a.type){case"text-delta":return{type:"text",text:a.text};case"reasoning-delta":return{type:"reasoning",reasoning:a.reasoning};case"data-delta":{let c={...b??{},data:a.data};return a.encoding&&(c.encoding=a.encoding),c}case"block-delta":return a.fields}}function iW(a,b){if(b.content)return a?function(a,b){if(a.type!==b.type)return structuredClone(b);switch(b.type){case"text":return{...a,...b,text:`${"text"in a?a.text:""}${b.text}`};case"reasoning":return{...a,...b,reasoning:`${"reasoning"in a?a.reasoning:""}${b.reasoning}`};case"tool_call_chunk":case"server_tool_call_chunk":{let c={...a,...b};return null==b.id&&"id"in a&&null!=a.id&&(c.id=a.id),null==b.name&&"name"in a&&null!=a.name&&(c.name=a.name),c.args=`${("args"in a?a.args:"")??""}${b.args??""}`,c}default:return{...a,...b}}}(a,b.content):b.content;switch(b.delta.type){case"text-delta":if(a?.type==="text")return{...a,text:`${"text"in a?a.text:""}${b.delta.text}`};return iV(b.delta,a);case"reasoning-delta":if(a?.type==="reasoning")return{...a,reasoning:`${"reasoning"in a?a.reasoning:""}${b.delta.reasoning}`};return iV(b.delta,a);case"data-delta":{let c={...a??{}};return c.data=`${c.data??""}${b.delta.data}`,b.delta.encoding&&(c.encoding=b.delta.encoding),c}case"block-delta":return{...a??{},...b.delta.fields}}}function iX(a){if(a)return{...a,input_tokens:a.input_tokens??0,output_tokens:a.output_tokens??0,total_tokens:a.total_tokens??0}}a.s([],824018);let iY=Symbol("pushText"),iZ=Symbol("pushReasoning"),i$=Symbol("pushEvent"),i_=Symbol("updateContext"),i0=Symbol("finish"),i1=Symbol("error");var i2=class{id;namespace;node;metadata;assembled;#d=new z.MultiCursorBuffer;#e=[];#f=[];#g=[];#h=[];#i=!1;#j=!1;#k;#l;#m;#n;constructor(a){this.id=a.id,this.assembled=a,this.namespace=a.namespace,this.node=a.node,this.metadata=a.metadata,this.#m=new Promise(a=>{this.#k=a}),this.#n=new Promise(a=>{this.#l=a})}get text(){let a=this.#e,b=this.#g,c=()=>this.#i,d=0;return{[Symbol.asyncIterator]:()=>({async next(){for(;;){if(d<a.length)return{done:!1,value:a[d++]};if(c())return{done:!0,value:void 0};await new Promise(a=>{b.push(a)})}}}),then:this.#m.then.bind(this.#m),full:{async *[Symbol.asyncIterator](){let e="";for await(let f of{[Symbol.asyncIterator]:()=>({next:async()=>{for(;;){if(d<a.length)return{done:!1,value:a[d++]};if(c())return{done:!0,value:void 0};await new Promise(a=>{b.push(a)})}}})})e+=f,yield e}}}}get reasoning(){let a=this.#f,b=this.#h,c=()=>this.#j,d=0;return{[Symbol.asyncIterator]:()=>({async next(){for(;;){if(d<a.length)return{done:!1,value:a[d++]};if(c())return{done:!0,value:void 0};await new Promise(a=>{b.push(a)})}}}),then:this.#n.then.bind(this.#n),full:{async *[Symbol.asyncIterator](){let e="";for await(let f of{[Symbol.asyncIterator]:()=>({next:async()=>{for(;;){if(d<a.length)return{done:!1,value:a[d++]};if(c())return{done:!0,value:void 0};await new Promise(a=>{b.push(a)})}}})})e+=f,yield e}}}}get usage(){let a=(async()=>{let a;for await(let b of this.#o())a=b;return a})();return{[Symbol.asyncIterator]:()=>this.#o(),then:a.then.bind(a)}}get toolCalls(){let a=this.#d,b=async function*(){for await(let b of a)"content-block-finish"===b.event&&"tool_call"===b.content.type&&(yield b.content)};return{[Symbol.asyncIterator]:b,then:async(a,c)=>{try{let c=[];for await(let a of b())c.push(a);return a?a(c):c}catch(a){if(c)return c(a);throw a}},full:{async *[Symbol.asyncIterator](){let a=[];for await(let c of b())a.push(c),yield[...a]}}}}get output(){return{then:(a,b)=>this.#p().then(a,b)}}get blocks(){return this.assembled.blocks}[Symbol.asyncIterator](){return this.#d[Symbol.asyncIterator]()}then(a,b){return this.#p().then(a,b)}async *#o(){for await(let a of this.#d)"message-start"===a.event&&a.usage?yield iX(a.usage):"message-finish"===a.event&&a.usage&&(yield iX(a.usage))}async #p(){let a,b,c,d=[],e={};for await(let f of this.#d)switch(f.event){case"message-start":a=f.id??a,f.usage&&(b=iX(f.usage));break;case"content-block-start":case"content-block-finish":d[f.index]=f.content;break;case"content-block-delta":{let a=d[f.index];d[f.index]=iW(a,f);break}case"message-finish":c=f.reason,f.usage&&(b=iX(f.usage)),f.responseMetadata&&(e={...e,...f.responseMetadata})}return new a0({id:a,content:d.filter(a=>null!=a),usage_metadata:b,response_metadata:{...e,...c?{finish_reason:c}:{},output_version:"v1"}})}[i$](a){this.#d.push(a)}[i_](a){this.node=a.params.node??this.node}[iY](a){for(let b of(this.#e.push(a),this.#g.splice(0,this.#g.length)))b()}[iZ](a){for(let b of(this.#f.push(a),this.#h.splice(0,this.#h.length)))b()}[i0](){for(let a of(this.#i=!0,this.#j=!0,this.#k(this.#e.join("")),this.#l(this.#f.join("")),this.#g.splice(0,this.#g.length)))a();for(let a of this.#h.splice(0,this.#h.length))a();this.#d.close()}[i1](){this[i0]()}};function i3(a){return structuredClone(a)}function i4(a){return a.params.data}var i5=class{activeMessages=new Map;activeByNamespaceNode=new Map;blockIndexByProtocolIndexAndType=new Map;consume(a){let b=a.params.data,c=`${a.params.namespace.join("/")}::${a.params.node??""}`;if("message-start"===b.event){let d=function(a){let{namespace:b,node:c,data:d}=a.params,e=b.join("/"),f="message-start"===d.event?d.id??"":"";return`${e}::${c??""}::${f}`}(a);this.activeByNamespaceNode.set(c,d);let e={id:b.id,namespace:[...a.params.namespace],node:a.params.node,metadata:b.metadata,blocks:[]};return this.activeMessages.set(d,e),{kind:"message-start",key:d,message:e,event:a}}let d=this.activeByNamespaceNode.get(c);if(!d){let d=`${c}::`;this.activeByNamespaceNode.set(c,d);let e={id:b.id,namespace:[...a.params.namespace],node:a.params.node,blocks:[]};return this.activeMessages.set(d,e),this.consume(a)}let e=this.activeMessages.get(d);if(!e)throw Error(`No active message state found for key ${d}`);if("usage"===b.event)return e.usage=b.usage,{kind:"usage",key:d,message:e,event:a};switch(b.event){case"content-block-start":return e.blocks[b.index]=i3(b.content),this.blockIndexByProtocolIndexAndType.set(i6(d,b.index,b.content.type),b.index),{kind:"content-block-start",key:d,message:e,index:b.index,block:b.content,event:a};case"content-block-delta":{let c=b.content??(null!=b.delta?iV(b.delta,e.blocks[b.index]):void 0);if(null==c)throw Error("Received content-block-delta without content");let f=this.resolveBlockIndex(d,e.blocks,b.index,c.type),g=e.blocks[f];return e.blocks[f]=null!=b.content?null==g?i3(b.content):function(a,b){if(a.type!==b.type)return i3(b);switch(b.type){case"text":return{...a,...b,text:`${"text"in a?a.text:""}${b.text}`};case"reasoning":return{...a,...b,reasoning:`${"reasoning"in a?a.reasoning:""}${b.reasoning}`};case"tool_call_chunk":case"server_tool_call_chunk":{let c={...a,...b};return null==b.id&&"id"in a&&null!=a.id&&(c.id=a.id),null==b.name&&"name"in a&&null!=a.name&&(c.name=a.name),c.args=`${("args"in a?a.args:"")??""}${b.args??""}`,c}default:return{...a,...b}}}(g,b.content):iW(g,b),{kind:"content-block-delta",key:d,message:e,index:f,block:c,event:a}}case"content-block-finish":{let c=this.resolveFinishBlockIndex(d,b.index,b.content.type);return e.blocks[c]=i3(b.content),{kind:"content-block-finish",key:d,message:e,index:c,block:b.content,event:a}}case"message-finish":return e.usage=b.usage,e.finishMetadata=b.responseMetadata,this.activeMessages.delete(d),this.activeByNamespaceNode.delete(c),this.clearBlockIndexAliases(d),{kind:"message-finish",key:d,message:structuredClone(e),event:a};case"error":return e.error={message:b.message,code:b.code},this.activeMessages.delete(d),this.activeByNamespaceNode.delete(c),this.clearBlockIndexAliases(d),{kind:"message-error",key:d,message:structuredClone(e),event:a}}}resolveBlockIndex(a,b,c,d){var e,f;let g,h,i=b[c];if(null==i||i.type===d||(e=i.type,f=d,g=new Set(["tool_call","tool_call_chunk","tool_use","input_json_delta"]),h=new Set(["server_tool_call","server_tool_call_chunk"]),g.has(e)&&g.has(f)||h.has(e)&&h.has(f)))return this.blockIndexByProtocolIndexAndType.set(i6(a,c,d),c),c;let j=i6(a,c,d),k=this.blockIndexByProtocolIndexAndType.get(j);if(null!=k)return k;let l=b.length;return this.blockIndexByProtocolIndexAndType.set(j,l),l}resolveFinishBlockIndex(a,b,c){let d=i6(a,b,c),e=this.blockIndexByProtocolIndexAndType.get(d);return null!=e?e:(this.blockIndexByProtocolIndexAndType.set(d,b),b)}clearBlockIndexAliases(a){let b=`${a}::`;for(let a of this.blockIndexByProtocolIndexAndType.keys())a.startsWith(b)&&this.blockIndexByProtocolIndexAndType.delete(a)}};function i6(a,b,c){return`${a}::${b}::${c}`}var i7=class{#q=new i5;#r=new Map;consume(a){let b=this.#q.consume(a);if(null!=b)switch(b.kind){case"message-start":{let a=new i2(b.message);return a[i_](b.event),a[i$](i4(b.event)),this.#r.set(b.key,a),a}case"content-block-start":{let a=this.#r.get(b.key);a&&(a[i_](b.event),a[i$](i4(b.event))),a&&"text"===b.block.type&&"text"in b.block&&b.block.text&&a[iY](b.block.text),a&&"reasoning"===b.block.type&&"reasoning"in b.block&&b.block.reasoning&&a[iZ](b.block.reasoning);return}case"content-block-delta":{let a=this.#r.get(b.key);if(!a)return;a[i_](b.event),a[i$](i4(b.event)),"text"===b.block.type&&"text"in b.block&&a[iY](b.block.text),"reasoning"===b.block.type&&"reasoning"in b.block&&a[iZ](b.block.reasoning);return}case"content-block-finish":{let a=this.#r.get(b.key);a&&(a[i_](b.event),a[i$](i4(b.event)));return}case"usage":{let a=this.#r.get(b.key);a&&(a[i_](b.event),a[i$](i4(b.event)));return}case"message-finish":{let a=this.#r.get(b.key);a&&(a[i_](b.event),a[i$](i4(b.event)),a[i0](),this.#r.delete(b.key));return}case"message-error":{let a=this.#r.get(b.key);a&&(a[i_](b.event),a[i$](i4(b.event)),a[i1](),this.#r.delete(b.key));return}}}};a.s(["MessageAssembler",0,i5,"StreamingMessageAssembler",0,i7,"toStreamingMessageHandle",0,function(a){return new Proxy(a,{get(a,b){if("then"===b)return;let c=Reflect.get(a,b,a);return"function"==typeof c?c.bind(a):c},has:(a,b)=>"then"!==b&&b in a})}],750800);let i8=new Set(["audio","image","video","file"]);var i9=class extends Error{kind;messageId;partialBytes;cause;constructor(a,b,c,d,e){super(d??`media ${a} for message ${b}`),this.name="MediaAssemblyError",this.kind=a,this.messageId=b,this.partialBytes=c,this.cause=e?.cause}};function ja(a){let b=atob(a),c=new Uint8Array(b.length);for(let a=0;a<b.length;a++)c[a]=b.charCodeAt(a);return c}var jb=class{type;messageId;namespace;node;id;mimeType;url;width;height;filename;monotonic=!0;error;#s=[];#t=0;#u=new Uint8Array(0);#v;#w;#x;#y;#z;#A=[];#B;#C;#D;#E;#F=!1;#G;#H=-1;#I=!1;#J=!1;#K;constructor(a){this.type=a.type,this.messageId=a.messageId,this.namespace=a.namespace,this.node=a.node,this.id=a.id,this.mimeType=a.mimeType,this.url=a.url,this.#K=a.fetch,this.#z=new Promise((a,b)=>{this.#x=a,this.#y=b}),this.#z.catch(()=>void 0),this.#D=new Promise((a,b)=>{this.#B=a,this.#C=b}),this.#D.catch(()=>void 0)}observeIndex(a){a!==this.#H+1&&a!==this.#H&&(this.monotonic=!1),a>this.#H&&(this.#H=a)}absorbBlock(a){this.#F||("audio"===a.type?this.#L(a):"image"===a.type?this.#M(a):"video"===a.type?this.#N(a):"file"===a.type&&this.#O(a))}enterUrlMode(a){this.#F=!0,this.url=a}pushBytes(a){if(!this.#I&&!this.#J&&0!==a.byteLength&&(this.#s.push(a),this.#t+=a.byteLength,this.#u=function(a,b){let c=new Uint8Array(b),d=0;for(let b of a)c.set(b,d),d+=b.byteLength;return c}(this.#s,this.#t),null!=this.#w))try{this.#w.enqueue(a)}catch{}}pushTranscript(a){"audio"!==this.type||this.#I||this.#J||0!==a.length&&this.#A.push(a)}finish(){if(this.#I||this.#J)return;this.#I=!0,this.#J=!0;let a=new Blob([this.#u],{type:this.mimeType??""});this.#x(a),this.#B(0===this.#A.length?void 0:this.#A.join(""));try{this.#w?.close()}catch{}}fail(a,b,c){if(this.#J)return this.error??new i9(a,this.messageId,this.#u,b,{cause:c});this.#J=!0;let d=new i9(a,this.messageId,this.#u,b,{cause:c});this.error=d,this.#y(d),this.#C(d);try{this.#w?.error(d)}catch{}return d}get partialBytes(){return this.#u}get blob(){return this.#F?this.#P().then(a=>new Blob([a],{type:this.mimeType??""})):this.#z}get transcript(){return this.#D}get objectURL(){return null!=this.#E?Promise.resolve(this.#E):this.blob.then(a=>{if(null!=this.#E)return this.#E;let b=URL.createObjectURL(a);return this.#E=b,b})}revoke(){let a=this.#E;if(null!=a){this.#E=void 0;try{URL.revokeObjectURL(a)}catch{}}}get stream(){return null!=this.#v?this.#v:this.#F?this.#Q():this.#R()}#L(a){let b=a.mime_type??a.mimeType;null==this.mimeType&&null!=b&&(this.mimeType=b),null!=a.transcript&&a.transcript.length>0&&this.pushTranscript(a.transcript)}#M(a){let b=a.mime_type??a.mimeType;null==this.mimeType&&null!=b&&(this.mimeType=b),null==this.width&&null!=a.width&&(this.width=a.width),null==this.height&&null!=a.height&&(this.height=a.height)}#N(a){let b=a.mime_type??a.mimeType;null==this.mimeType&&null!=b&&(this.mimeType=b)}#O(a){let b=a.mime_type??a.mimeType;null==this.mimeType&&null!=b&&(this.mimeType=b),null==this.filename&&null!=a.filename&&(this.filename=a.filename)}#R(){let a=this.#u,b=this.#I,c=this.error;return this.#v=new ReadableStream({start:d=>{(this.#w=d,a.byteLength>0&&d.enqueue(a),null!=c)?d.error(c):b&&d.close()},cancel:()=>{this.#w=void 0}}),this.#v}#Q(){let a=this.#S();return this.#v=new ReadableStream({start:async b=>{try{let c=await a;if(null==c.body){let a=new Uint8Array(await c.arrayBuffer());a.byteLength>0&&b.enqueue(a),b.close();return}let d=c.body.getReader();for(;;){let{done:a,value:c}=await d.read();if(a)break;null!=c&&b.enqueue(c)}b.close()}catch(a){b.error(this.fail("fetch-failed",a?.message,a))}},cancel:()=>{this.#w=void 0}}),this.#v}#S(){let a=this.url;return this.#K(a).then(b=>{if(!b.ok)throw Error(`fetch(${a}) failed: ${b.status} ${b.statusText}`);return b})}#P(){return null!=this.#G||(this.#G=(async()=>{try{let a=await this.#S(),b=new Uint8Array(await a.arrayBuffer());return this.#s.length=0,this.#s.push(b),this.#t=b.byteLength,this.#u=b,this.#I=!0,this.#J=!0,b}catch(a){throw this.fail("fetch-failed",a?.message,a)}})()),this.#G}},jc=class{#T;#U;#V=new Map;#W=new Map;#X=0;constructor(a={}){this.#T=a,null!=a.fetch?this.#U=a.fetch:"function"==typeof fetch?this.#U=fetch:this.#U=()=>{throw Error("MediaAssembler: no fetch implementation available. Pass `fetch` in options.")}}consume(a){let b=a.params.data,c=a.params.namespace,d=a.params.node,e=`${c.join("/")}::${d??""}`;if("message-start"===b.event){this.#Y(e,"finish"),this.#W.set(e,{messageId:b.id??"",keys:new Set,indexKeys:new Map});return}if("message-finish"===b.event){this.#Y(e,"finish"),this.#W.delete(e);return}if("error"===b.event){this.#Y(e,"error",b.message),this.#W.delete(e);return}if("content-block-start"!==b.event&&"content-block-delta"!==b.event&&"content-block-finish"!==b.event)return;let f=b.content,g=b.index??0,h=this.#W.get(e);if(null==h&&(h={messageId:`__synthetic_${++this.#X}`,keys:new Set,indexKeys:new Map},this.#W.set(e,h)),null==f&&"content-block-delta"===b.event){let a=b.delta,e=h.indexKeys.get(g),f=null!=e?this.#V.get(e):void 0;if(null==a||"object"!=typeof a)return;if(null==f){if("block-delta"!==a.type||null==a.fields||"object"!=typeof a.fields)return;let e=a.fields;if(!i8.has(e.type))return;this.#Z({active:h,block:e,blockIndex:g,dataEvent:b.event,namespace:c,node:d,terminal:!1,createIfMissing:!0});return}if(f.observeIndex(g),"data-delta"===a.type&&"string"==typeof a.data){try{f.pushBytes(ja(a.data))}catch(a){f.fail("message-error","invalid base64 on delta",a)}return}if("block-delta"===a.type&&null!=a.fields&&"object"==typeof a.fields){let b=a.fields;if(f.absorbBlock(b),!f.error&&null!=b.data)try{f.pushBytes(ja(b.data))}catch(a){f.fail("message-error","invalid base64 on delta",a)}}return}if(null==f)return;let i=f.type;i8.has(i)&&this.#Z({active:h,block:f,blockIndex:g,dataEvent:b.event,namespace:c,node:d,terminal:"content-block-finish"===b.event,createIfMissing:"content-block-start"===b.event||"content-block-finish"===b.event})}#Z({active:a,block:b,blockIndex:c,dataEvent:d,namespace:e,node:f,terminal:g,createIfMissing:h}){let i=b.type;if(!i8.has(i))return;let j=`${a.messageId}::${i}::${c}`,k=this.#V.get(j);if(null==k){if("content-block-start"!==d&&!g&&!h)return;if(k=new jb({type:i,messageId:a.messageId,namespace:[...e],node:f,id:b.id,mimeType:b.mime_type??b.mimeType,url:null!=b.url&&null==b.data?b.url:void 0,fetch:this.#U}),null!=b.url&&null==b.data&&k.enterUrlMode(b.url),k.observeIndex(c),k.absorbBlock(b),null!=b.data)try{k.pushBytes(ja(b.data))}catch(a){k.fail("message-error","invalid base64 on initial block",a)}this.#V.set(j,k),a.keys.add(j),a.indexKeys.set(c,j),this.#$(k),g&&(k.finish(),this.#V.delete(j),a.keys.delete(j),a.indexKeys.delete(c));return}if(!g&&(k.observeIndex(c),k.absorbBlock(b),!k.error&&null!=b.data))try{k.pushBytes(ja(b.data))}catch(a){k.fail("message-error","invalid base64 on delta",a)}}#Y(a,b,c){let d=this.#W.get(a);if(null!=d){for(let a of d.keys){let d=this.#V.get(a);null!=d&&("finish"===b?d.finish():d.fail("message-error",c)),this.#V.delete(a)}d.keys.clear(),d.indexKeys.clear()}}close(){for(let a of this.#V.values())a.fail("stream-closed","upstream event stream closed");this.#V.clear(),this.#W.clear()}#$(a){switch(a.type){case"audio":this.#T.onAudio?.(a);break;case"image":this.#T.onImage?.(a);break;case"video":this.#T.onVideo?.(a);break;case"file":this.#T.onFile?.(a)}this.#T.onMedia?.(a)}};a.s(["MediaAssembler",0,jc,"MediaAssemblyError",0,i9],615472)},125747,a=>{"use strict";function b(a){if("string"!=typeof a)return a;let b=a.trim();if(!b.startsWith("{")&&!b.startsWith("["))return a;try{return JSON.parse(b)}catch{return a}}function c(a,b){if(!a||"object"!=typeof a||Array.isArray(a))return;if(b in a)return a[b];let c=a.kwargs;if(null!=c&&b in c)return c[b];let d=a.lc_kwargs;if(null!=d&&b in d)return d[b]}function d(a){return!!a&&"object"==typeof a&&("tool"===a.type||"tool"===c(a,"type")||"string"==typeof c(a,"tool_call_id")&&void 0!==c(a,"content"))}function e(a){if(null==a)return null;if("string"==typeof a)return 0===a.trim().length?null:b(a);if(Array.isArray(a)){let c=function(a){let b="";for(let c of a)c&&"object"==typeof c&&"text"===c.type&&"string"==typeof c.text&&(b+=c.text);return b}(a);return 0===c.length?null:b(c)}return"object"==typeof a?a:null}function f(a){return e(c(a,"content"))}function g(a,g){let h=b(a);if(h&&"object"==typeof h&&"Command"===h.lg_name){let a=function(a,b){let e=a.update;if(null==e||"object"!=typeof e||Array.isArray(e))return{found:!1};let g=e.messages;if(!Array.isArray(g))return{found:!1};let h=g.filter(a=>d(a));if(0===h.length)return{found:!1};if(null!=b){for(let a of h)if(c(a,"tool_call_id")===b)return{found:!0,value:f(a)};return{found:!1}}if(1===h.length)return{found:!0,value:f(h[0])};for(let a=h.length-1;a>=0;a-=1){let b=f(h[a]);if(null!=b)return{found:!0,value:b}}return{found:!0,value:null}}(h,g);return a.found?a.value:h}return d(h)?e(c(h,"content")):h??null}var h=class{active=new Map;consume(a){let b=a.params.data;return"tool-started"===b.event?this.handleStarted(a,b):"tool-finished"===b.event?this.handleFinished(b):"tool-error"===b.event?this.handleError(b):void 0}failAll(a){for(let b of this.active.values())b.rejectOutput(a),b.handle.status="error",b.handle.error=a.message;this.active.clear()}handleStarted(a,c){let d,e,f=new Promise((a,b)=>{d=a,e=b});f.catch(()=>void 0);let g=b(c.input),h=c.tool_name,i=c.tool_call_id,j={name:h,callId:i,id:i,namespace:[...a.params.namespace],input:g,args:g,output:null,status:"running",error:void 0,outputPromise:f};return this.active.set(i,{handle:j,resolveOutput:d,rejectOutput:e}),j}handleFinished(a){let b=this.active.get(a.tool_call_id);if(!b)return;this.active.delete(a.tool_call_id);let c=g(a.output,a.tool_call_id);return b.resolveOutput(c),b.handle.output=c,b.handle.status="finished",b.handle.error=void 0,b.handle}handleError(a){let b=this.active.get(a.tool_call_id);if(b)return this.active.delete(a.tool_call_id),b.rejectOutput(Error(a.message)),b.handle.output=null,b.handle.status="error",b.handle.error=a.message,b.handle}};a.s(["ToolCallAssembler",0,h,"parseToolOutput",0,g,"parseToolPayload",0,b,"shouldIgnoreScopedTaskToolEvent",0,function(a,b){let c=b.params.data;return a.length>0&&b.params.namespace.length===a.length&&b.params.namespace.every((b,c)=>b===a[c])&&"tool_name"in c&&"task"===c.tool_name},"toClientAssembledToolCall",0,function(a){return{name:a.name,callId:a.callId,id:a.id,namespace:a.namespace,input:a.input,args:a.args,output:a.outputPromise}}])},40362,944355,a=>{"use strict";var b=a.i(953807),c=a.i(125747),d=a.i(750800),e=a.i(615472),f=class{name;index;namespace;cause;graphName;toolStartedEvent;#_;#aa;#ab;#ac;#ad;#ae;#af;#ag=!1;#ah;#ai;#aj;#ak;constructor(a,b,c,d,e){this.name=a,this.index=b,this.namespace=c,this.cause=e?.cause,this.graphName=e?.graphName,this.toolStartedEvent=e?.toolStartedEvent,this.#_=d}get messages(){if(this.#aa)return this.#aa;let a=new b.MultiCursorBuffer;this.#aa=a;let c=new d.StreamingMessageAssembler;return this.#al(["messages"],b=>{if("messages"!==b.method)return;let d=c.consume(b);d&&a.push(d)},()=>a.close()),a}get values(){let a,c;if(this.#ab)return this.#ab;let d=new b.MultiCursorBuffer,e=new Promise(a=>{c=a});this.#af=e;let f=Object.assign(d,{then:(a,b)=>e.then(a,b)});return this.#ab=f,this.#al(["values"],b=>{if("values"!==b.method)return;let c=b.params.data;a=c,d.push(c)},()=>{c(a),d.close()}),f}get toolCalls(){if(this.#ac)return this.#ac;let a=new b.MultiCursorBuffer;this.#ac=a;let d=new c.ToolCallAssembler;return this.#al(["tools"],b=>{if("tools"!==b.method)return;let e=d.consume(b);e&&a.push((0,c.toClientAssembledToolCall)(e))},()=>a.close()),a}get subgraphs(){if(this.#ad)return this.#ad;let a=new b.MultiCursorBuffer;return this.#ad=a,(async()=>{for await(let b of new g(await this.#_.subscribe({channels:["lifecycle","tools"],namespaces:[this.namespace]}),this.#_,this.namespace))a.push(b);a.close()})(),a}get subagents(){if(this.#ae)return this.#ae;let c=new b.MultiCursorBuffer;return this.#ae=c,(async()=>{let b=await this.#_.subscribe({channels:["tools","lifecycle"],namespaces:[this.namespace]}),{SubagentDiscoveryHandle:d}=await a.A(641555);for await(let a of new d(b,this.#_))c.push(a);c.close()})(),c}get audio(){return this.#am(),this.#ah}get images(){return this.#am(),this.#ai}get video(){return this.#am(),this.#aj}get files(){return this.#am(),this.#ak}get output(){return this.values,this.#af}#am(){if(this.#ag)return;this.#ag=!0;let a=new b.MultiCursorBuffer,c=new b.MultiCursorBuffer,d=new b.MultiCursorBuffer,f=new b.MultiCursorBuffer;this.#ah=a,this.#ai=c,this.#aj=d,this.#ak=f;let g=new e.MediaAssembler({onAudio:b=>a.push(b),onImage:a=>c.push(a),onVideo:a=>d.push(a),onFile:a=>f.push(a)});this.#al(["messages"],a=>{"messages"===a.method&&g.consume(a)},()=>{g.close(),a.close(),c.close(),d.close(),f.close()})}subscribe(a,b={}){return"object"==typeof a&&!Array.isArray(a)&&"channels"in a?this.#_.subscribe({...a,namespaces:a.namespaces??[this.namespace]}):this.#_.subscribe(a,{...b,namespaces:b.namespaces??[this.namespace]})}async #al(a,b,c){try{for await(let c of(await this.#_.subscribe({channels:a,namespaces:[this.namespace]})))b(c)}finally{c()}}},g=class{#an;#_;#ao;#ap=new Set;#aq=new Map;#ar=new Map;#as=[];#at=[];#au;#c=!1;constructor(a,b,c=[]){this.#an=a,this.#_=b,this.#ao=c}#$(a){let b=this.#at.shift();b?b({done:!1,value:a}):this.#as.push(a)}#av(a){if("tools"!==a.method)return!1;let b=a.params.data;if("tool-started"!==b.event)return!0;let c=b.tool_call_id;if(!c)return!0;let d=this.#ar.get(c);return d?(d.toolStartedEvent=a,this.#ar.delete(c)):this.#aq.set(c,a),!0}#aw(a){let b,c,d;if(this.#av(a)||"lifecycle"!==a.method||"started"!==a.params.data.event)return;let e=a.params.namespace;if(e.length!==this.#ao.length+1||!this.#ao.every((a,b)=>e[b]===a))return;let g=e.join("/");if(this.#ap.has(g))return;this.#ap.add(g);let h=e[e.length-1]??"",i=h.lastIndexOf(":");if(i>=0){b=h.slice(0,i);let a=h.slice(i+1);c=/^\d+$/.test(a)?Number(a):0}else b=h,c=0;let j=a.params.data,k=j.cause&&"object"==typeof j.cause?j.cause:void 0;if(k?.type==="toolCall"){let a=k.tool_call_id;a&&(d=this.#aq.get(a),this.#aq.delete(a))}let l=new f(b,c,[...e],this.#_,{cause:k,graphName:j.graph_name,toolStartedEvent:d});if(k?.type==="toolCall"&&null==d){let a=k.tool_call_id;a&&this.#ar.set(a,l)}return l}#ax(){this.#au||(this.#au=(async()=>{for await(let a of this.#an){let b=this.#aw(a);b&&this.#$(b)}for(this.#aq.clear(),this.#ar.clear(),this.#c=!0;this.#at.length>0;)this.#at.shift()?.({done:!0,value:void 0})})())}async close(){this.#c=!0,await this.#an.unsubscribe()}[Symbol.asyncIterator](){return this.#ax(),{next:async()=>this.#as.length>0?{done:!1,value:this.#as.shift()}:this.#c?{done:!0,value:void 0}:await new Promise(a=>{this.#at.push(a)}),return:async()=>(await this.close(),{done:!0,value:void 0})}}};a.s(["SubgraphDiscoveryHandle",0,g],944355);var h=class{name;callId;taskInput;output;namespace;#_;#aa;#ac;#ad;#ag=!1;#ah;#ai;#aj;#ak;constructor(a,b,c,d,e,f){this.name=a,this.callId=b,this.namespace=c,this.taskInput=d,this.output=e,this.#_=f}get messages(){if(this.#aa)return this.#aa;let a=new b.MultiCursorBuffer;this.#aa=a;let c=new d.StreamingMessageAssembler;return this.#al(["messages"],b=>{if("messages"!==b.method)return;let d=c.consume(b);d&&a.push(d)},()=>a.close()),a}get toolCalls(){if(this.#ac)return this.#ac;let a=new b.MultiCursorBuffer;this.#ac=a;let d=new c.ToolCallAssembler;return this.#al(["tools"],b=>{if("tools"!==b.method||(0,c.shouldIgnoreScopedTaskToolEvent)(this.namespace,b))return;let e=d.consume(b);e&&a.push((0,c.toClientAssembledToolCall)(e))},()=>a.close()),a}get audio(){return this.#am(),this.#ah}get images(){return this.#am(),this.#ai}get video(){return this.#am(),this.#aj}get files(){return this.#am(),this.#ak}#am(){if(this.#ag)return;this.#ag=!0;let a=new b.MultiCursorBuffer,c=new b.MultiCursorBuffer,d=new b.MultiCursorBuffer,f=new b.MultiCursorBuffer;this.#ah=a,this.#ai=c,this.#aj=d,this.#ak=f;let g=new e.MediaAssembler({onAudio:b=>a.push(b),onImage:a=>c.push(a),onVideo:a=>d.push(a),onFile:a=>f.push(a)});this.#al(["messages"],a=>{"messages"===a.method&&g.consume(a)},()=>{g.close(),a.close(),c.close(),d.close(),f.close()})}get subgraphs(){if(this.#ad)return this.#ad;let a=new b.MultiCursorBuffer;return this.#ad=a,(async()=>{for await(let b of new g(await this.#_.subscribe({channels:["lifecycle"],namespaces:[this.namespace]}),this.#_,this.namespace))a.push(b);a.close()})(),a}subscribe(a,b={}){return"object"==typeof a&&!Array.isArray(a)&&"channels"in a?this.#_.subscribe({...a,namespaces:a.namespaces??[this.namespace]}):this.#_.subscribe(a,{...b,namespaces:b.namespaces??[this.namespace]})}async #al(a,b,c){try{for await(let c of(await this.#_.subscribe({channels:a,namespaces:[this.namespace]})))b(c)}finally{c()}}},i=class{#an;#_;#as=[];#at=[];#ay=new Map;#au;#c=!1;constructor(a,b){this.#an=a,this.#_=b}#aw(a){if("tools"!==a.method)return;let b=a.params.data,c=b.tool_call_id;if("task"===b.tool_name&&"tool-started"===b.event){let d,e,f,g=b.input,i="string"==typeof g?JSON.parse(g):g??{},j=i.subagent_type??"unknown",k=i.description??"",l=new Promise(a=>{d=a}),m=new Promise((a,b)=>{e=a,f=b});return d(k),this.#ay.set(c,{resolveOutput:e,rejectOutput:f}),new h(j,c,[...a.params.namespace],l,m,this.#_)}if(c){let a=this.#ay.get(c);if(a){if("tool-finished"===b.event)a.resolveOutput(b.output),this.#ay.delete(c);else if("tool-error"===b.event){let d=b.message??"unknown error";a.rejectOutput(Error(d)),this.#ay.delete(c)}}}}#ax(){this.#au||(this.#au=(async()=>{for await(let a of this.#an){let b=this.#aw(a);if(!b)continue;let c=this.#at.shift();c?c({done:!1,value:b}):this.#as.push(b)}for(let a of(this.#c=!0,this.#ay.values()))a.resolveOutput(void 0);for(this.#ay.clear();this.#at.length>0;)this.#at.shift()?.({done:!0,value:void 0})})())}async close(){this.#c=!0,await this.#an.unsubscribe()}[Symbol.asyncIterator](){return this.#ax(),{next:async()=>this.#as.length>0?{done:!1,value:this.#as.shift()}:this.#c?{done:!0,value:void 0}:await new Promise(a=>{this.#at.push(a)}),return:async()=>(await this.close(),{done:!0,value:void 0})}}};a.s(["SubagentDiscoveryHandle",0,i],40362)}];
152
+
153
+ //# sourceMappingURL=%5Broot-of-the-server%5D__031lpnq._.js.map